commit f1567f989bdff5c91ef32e2209fb3dd7d06f59b0 Author: rock64 Date: Mon Apr 29 16:09:00 2019 +0200 runff 1.0 commit diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100755 index 0000000..d16eec4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,118 @@ +# Contribution guidelines +**SimpleSAMLphp welcomes all contributions**. It is impossible to make a product like this without the efforts of many people, so please don't be shy and share your help with us. Even the tiniest contribution can make a difference! + +These guidelines briefly explain how to contribute to SimpleSAMLphp effectively and consistently, making sure to keep high quality standards and making it easier for you to contribute. + + + +## Team members +Currently, the core team members are: + +* Jaime Pérez Crespo, *main developer and release manager*, UNINETT +* Olav Morken, *main developer*, UNINETT +* Andreas Åkre Solberg, *architect and original developer*, UNINETT +* Hanne Moa, *developer*, UNINETT + +We have been lucky enough to have so many people help us through the years. SimpleSAMLphp wouldn't have reached so far without them. We want to thank them from here, but unfortunately they are so many it is nearly impossible to mention all of them. [Here is a Github page that summarizes everyone's contributions](https://github.com/simplesamlphp/simplesamlphp/graphs/contributors?from=2007-09-09&to=2015-09-06&type=c). + +***Big thanks to you all!*** + +## First things first +Before embarking yourself in a contribution, please make sure you are familiar with the way SimpleSAMLphp is written, the way it works, and what is required or not. + +* Make sure to read [the documentation](https://simplesamlphp.org/docs/stable/). If you use the search engine in the website, please verify that you are reading the latest stable version. If you want to make a change, check [the development branch of the documentation](https://simplesamlphp.org/docs/development/). +* If you have a question about **using SimpleSAMLphp**, please use [the mailing list](http://groups.google.com/group/simplesamlphp). +* If you have a question about **developing SimpleSAMLphp**, please ask in the [development mailing list](http://groups.google.com/group/simplesamlphp-dev). +* If you think you have discovered a bug, please check the [issue tracker](https://github.com/simplesamlphp/simplesamlphp/issues) and the [pull requests](https://github.com/simplesamlphp/simplesamlphp/pulls) to verify it hasn't been reported already. + +## Contributing code +New features are always welcome, provided they will be useful to someone apart from yourself. Please take a look at the [list of issues](https://github.com/simplesamlphp/simplesamlphp/issues) to see what people are asking for. Our [roadmap](https://simplesamlphp.org/releaseplan) might also be a good place to start if you do not know exactly how you can contribute. + +When submitting a pull request, please make sure to account for: + +### Coding standards +* Respect the coding standards. We try to comply with PHP's [PSR-2](http://www.php-fig.org/psr/psr-2/). Pay special attention to the rules below: + * Lines should not be longer than 80 characters. + * Use **4 spaces** instead of tabs. + * Keep the keywords in **lowercase**, including `true`, `false` and `null`. + * Make sure your classes work with *autoloading*. + * Never include a trailing `?>` in your files. + * The first line of every file must be ` +. + +*/ + +/*##########NOTE################ + + +*/ +############FINE NOTE########### +/** + * Description of r4fbApi + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ + +require '/sda1/www/test.mulas.me/run4football/lib/r4fb.php'; +require '/sda1/www/idp.runpolito.ml/vendor/autoload.php'; +//require '/sda1/www/test.mulas.me/run4football/lib/sns.php'; +require_once '/sda1/www/idp.runpolito.ml/lib/_autoload.php'; +//session_start(); +$auth = new \SimpleSAML\Auth\Simple('runpolito-sp'); +SimpleSAML_Session::getSessionFromRequest()->cleanup(); + +if (!$auth->isAuthenticated()) +{ + // SimpleSAML_Session::getSessionFromRequest()->cleanup(); + //401 e tu muto + http_response_code(401); +} +else +{ + + $guid = $auth->getAttributes()['guid'][0]; + +//inizio partita: +//inserire funzione recupero matchid da DB utilizzando id utente da Service Provider e DB +switch ($_GET['op']) +{ + case "start": + if(isset($_GET['mid'])) + { + if(!r4fb::startMatch($_GET['mid'], $guid)) http_response_code(500); + } + else + { + echo "
Parametri mancanti.
"; + http_response_code(400); + } + break; + case "instor": + //r4fb::insTorneo($tsinizio,$org,$loc,$man); + break; + case "insarb": + + break; + case "insamm": + if(isset($_GET['plid']) && isset($_GET['mid']) && isset($_GET['ta'])) + { + r4fb::insAmm($_GET['plid'],$_GET['mid'],$_GET['ta'], $guid); + } + else + { + echo "
Parametri mancanti.
"; + } + break; + case "insq": + + break; + case "inspl": + + break; + case "insma": + + break; + case "randma": + if(isset($_GET['mid']) && isset($_GET['uid'])) + { + r4fb::randStart($_GET['mid'], $_GET['uid']); + } + else + { + echo "
Parametri mancanti.
"; + } + break; + case "insgl": + if(isset($_GET['plid']) && isset($_GET['mid'])) + { + r4fb::insGoal($_GET['plid'], $_GET['mid'], $guid); + } + else + { + echo "
Parametri mancanti.
"; + } + break; + case "insfa": + if(isset($_GET['sid'])) + { + r4fb::insFallo($_GET['sid'], $guid); + } + else + { + echo "
Parametri mancanti.
"; + } + break; + case "getfa": + if(isset($_GET['sid'])) + { + r4fb::getFalli($_GET['sid']); + } + else + { + echo "
Parametri mancanti.
"; + } + break; + case "stop": + r4fb::stopMatch(r4fb::curMatch($guid), $guid); + break; + case "logout": + $auth->logout(); + break; + case "genguid": + echo r4fb::guidv4(); + break; + case "csms": + // snsrun::sendSMS($_GET['num'], $_GET['msg']); + break; + case "uniqid": + echo str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT); + break; + case "randstr": + echo bin2hex(openssl_random_pseudo_bytes(4)); + break; + case "updpt": + echo r4fb::getPoints($_GET['mid'],$_GET['sn']); + break; + case "updfl": + echo r4fb::getFalli($_GET['sid']); + break; + case "getpls": + $pls = r4fb::fetchPlayers($squadra); + + $output = array( + 'status' => 'ok', + 'content' => $pls, + ); + +print_r(json_decode(json_encode($output))); + break; + case "opvt": + if(!r4fb::toggleVote($_GET['trn'],1)) http_response_code(500); + break; + case "clvt": + if(!r4fb::toggleVote($_GET['trn'],2)) http_response_code(500); + break; + + case "rcmsg": + + $tipo = $_GET['tipo']; + $msgs = r4fb::TTrcvdMsgs($_GET['uid'], $tipo); + //0 tutti i messaggi + //1 da leggere + //2 letti + switch($tipo) + { + case 0: + $cat = "(tutti)"; + case 1: + $cat = "(non letti)"; + break; + case 2: + $cat = "(letti)"; + break; + } + $max = count($msgs); + echo " + + + + + + + + + + + + + + + + + + + + "; + + for($j=0; $j<$max; $j++) +// if($classf[$j]['pt_gir'] != 0) + // { + echo " + + + + + + "; + // } + echo " + + + + + + + + + + +
Lista messaggi ".$cat."
InviatoMittenteOggettoUrgenteLeggi
".$msgs[$j]['ts_sent']."".$msgs[$j]['sender']."".$msgs[$j]['subject']."".$msgs[$j]['prio']."Leggi
"; + break; + default: + //echo "
puppa
"; + http_response_code(408); + break; +} + +} + +?> diff --git a/ajax/v1/ajaxpb.php b/ajax/v1/ajaxpb.php new file mode 100644 index 0000000..b43f742 --- /dev/null +++ b/ajax/v1/ajaxpb.php @@ -0,0 +1,29 @@ + 'ok', + 'content' => $pls, + ); + +print_r(json_encode($pls)); + //print_r(json_decode(json_encode($pls))); + break; + default: + //echo "
puppa
"; + http_response_code(408); + break; + +} diff --git a/arbitro.php b/arbitro.php new file mode 100644 index 0000000..eaca45d --- /dev/null +++ b/arbitro.php @@ -0,0 +1,762 @@ + + +isAuthenticated()) { + SimpleSAML_Session::getSessionFromRequest()->cleanup(); + // Show login link. + print('Login'); +}*/ + +//Auth livello 1: +$auth->requireAuth(); +SimpleSAML_Session::getSessionFromRequest()->cleanup(); + +//print_r($auth->getAttributes()); + +$guid = $auth->getAttributes()['guid'][0]; +//print_r(r4fb::fetchUsers($guid)); +$nome = r4fb::fetchUsers($guid)[0]['nome']; +$cognome = r4fb::fetchUsers($guid)[0]['cognome']; +$matr = r4fb::fetchUsers($guid)[0]['matr']; +//Auth livello 2: +$tipo = trim(r4fb::fetchUsers($guid)[0]['tipo']); +//print $tipo; +if($tipo != 1 && $tipo != 3) +{ + $auth->logout(); + header("Location: index.php?error=Privilegi insufficienti."); + die("su cunnu e tzia rua bagassa"); +} + + +?> + + + + + + + + + + + + + + + + + +
+
+
+

Attendere aggiornamento prima di ripetere operazione

+ Falli 0  0-0  0 +  Falli +
+ + +
+
    + Array + ( + [id] => 31A97136-B893-4612-8E45-5DC9957302A3 + [t_prog] => 10 + [t_start] => + [t_stop] => 0 + [s1] => merda1s1 + [s2] => merda1s2 + [pt_s1] => 0 + [pt_s2] => 0 + [pt] => 0 + [falli] => 0 + [arb] => bastard1 + [torneo] => 0D3E9767-EDA6-447C-B925-145CDA2D75D1 + ) + + [1] => Array + ( + [id] => FCED463D-59A8-4D58-8D6B-BE37CCAF3593 + [t_prog] => 10 + [t_start] => + [t_stop] => 0 + [s1] => merda2s1 + [s2] => merda2s2 + [pt_s1] => 0 + [pt_s2] => 0 + [pt] => 0 + [falli] => 0 + [arb] => bastard2 + [torneo] => 0D3E9767-EDA6-447C-B925-145CDA2D75D1 + ) + +) + * + */ + //echo r4fb::curMatch($guid); + $partite = r4fb::fetchPartite($torneo,$guid); + //echo '
    '; print_r($partite); echo '
    '; + $max = sizeof($partite); //limitare res a prime 5 non disputate + for($i = 0; $i < $max;$i++) + { + $marray = $partite[$i]; + //servono id e ts_prog: il punteggio viene aggiornato dinamicamente via AJAX + + $id = $marray['id']; + $t_prog = $marray['t_prog']; + //0-0 + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + echo '
  • '.date('H:i', $t_prog).'' + .'
  • '; + } + + ?> +
+ + +
+ '; print_r($players); echo ''; + $max = sizeof($players); + // echo '0-0'; + echo "
    Squadra 1"; + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + if($parray['isActive']) + { + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + echo '
  • '.'
  • '; + } + } + echo '
  • '."
"; + + + $players = r4fb::fetchPlayers($s2); + //echo '
'; print_r($players); echo '
'; + $max = sizeof($players); + echo "
    Squadra 2"; + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + if($parray['isActive']) + { + echo '
  • '.'
  • '; + } + } + echo '
  • '."
"; + + + $players = r4fb::fetchPlayers($s1); + //echo '
'; print_r($players); echo '
'; + $max = sizeof($players); + echo "
    Squadra 1"; + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + if($parray['isActive']) + { + echo '
  • ' + . '' + . '
  • '; + } + } + echo "
"; + + $players = r4fb::fetchPlayers($s2); + //echo '
'; print_r($players); echo '
'; + $max = sizeof($players); + echo "
    Squadra 2"; + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + if($parray['isActive']) + { + echo '
  • ' + . '' + . '
  • '; + } + } + echo "
"; + ?> +
+ + + +
    + +
+ + + + + + +
+ +
Richiesta assistenza/soccorso
+ + + +
+
Utente
+
    +
  • +
  • +
  • +
+
+ +
Inizio/termine partita
+ +
+
+
+
    Squadra 1
  • "; + + $players = r4fb::fetchPlayers($s1); + //echo '
    '; print_r($players); echo '
    '; + $max = sizeof($players); + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + echo ''; + + } + echo "
  • "; + //echo '
  • '."
"; + + + $players = r4fb::fetchPlayers($s2); + //echo '
'; print_r($players); echo '
'; + $max = sizeof($players); + // echo "
"; + echo "
    Squadra 2
  • "; + for($i = 0; $i < $max;$i++) + { + $parray = $players[$i]; + + $id = $parray['id']; + + + //print pulsante di start con id, converti ts_prog in hh:mm, print campi risultato senza risultato (0 - 0) + + echo ''; + + } + echo '
  • '."
"; + + if(isset($_POST['selpl'])) + { + r4fb::togglePls($_POST['abpl1'],$s1,$s2); + print_r(count($_POST['abpl1'])); echo "
"; + //print_r($_POST['abpl2']); + } + ?> +
+
+ + +
+ + + + + + + diff --git a/auth.php b/auth.php new file mode 100644 index 0000000..64e67e5 --- /dev/null +++ b/auth.php @@ -0,0 +1,32 @@ +. + +*/ +/** + * Description of auth + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ diff --git a/giocatore.php b/giocatore.php new file mode 100644 index 0000000..7a01a67 --- /dev/null +++ b/giocatore.php @@ -0,0 +1,90 @@ + + + + + + + + + . + +*/ +/** + * Description of giocatore + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ +// put your code here + + //MAIN: + + +require '/sda1/www/idp.runpolito.ml/vendor/autoload.php'; +require_once '/sda1/www/idp.runpolito.ml/lib/_autoload.php'; +require 'lib/r4fb.php'; +//require 'lib/sns.php'; +//session_start(); +$auth = new \SimpleSAML\Auth\Simple('runpolito-sp'); + +/*if (!$auth->isAuthenticated()) { + SimpleSAML_Session::getSessionFromRequest()->cleanup(); + // Show login link. + print('Login'); +}*/ + +//Auth livello 1: +$auth->requireAuth(); +SimpleSAML_Session::getSessionFromRequest()->cleanup(); + +//print_r($auth->getAttributes()); + +$guid = $auth->getAttributes()['guid'][0]; +//print_r(r4fb::fetchUsers($guid)); +$nome = r4fb::fetchUsers($guid)[0]['nome']; +$cognome = r4fb::fetchUsers($guid)[0]['cognome']; +$matr = r4fb::fetchUsers($guid)[0]['matr']; +//Auth livello 2: +$tipo = trim(r4fb::fetchUsers($guid)[0]['tipo']); +//print $tipo; +if($tipo != 1 && $tipo != 4) +{ + $auth->logout(); + header("Location: index.php?error=Privilegi insufficienti."); + die("su cunnu e tzia rua bagassa"); +} +else +{ + echo "Ciao merda" + . "
" + . "" + . "
"; +} + if(isset($_POST['logout'])) + { + $auth->logout(); + } + ?> + + diff --git a/index.php b/index.php new file mode 100644 index 0000000..147c8c4 --- /dev/null +++ b/index.php @@ -0,0 +1,45 @@ + + + + + + + + + . + +*/ +/** + * Description of index + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ +// put your code here + + //MAIN: + + ?> + + diff --git a/js/jscolor.js b/js/jscolor.js new file mode 100644 index 0000000..5c77177 --- /dev/null +++ b/js/jscolor.js @@ -0,0 +1,1855 @@ +/** + * jscolor - JavaScript Color Picker + * + * @link http://jscolor.com + * @license For open source use: GPLv3 + * For commercial use: JSColor Commercial License + * @author Jan Odvarko + * @version 2.0.5 + * + * See usage examples at http://jscolor.com/examples/ + */ + + +"use strict"; + + +if (!window.jscolor) { window.jscolor = (function () { + + +var jsc = { + + + register : function () { + jsc.attachDOMReadyEvent(jsc.init); + jsc.attachEvent(document, 'mousedown', jsc.onDocumentMouseDown); + jsc.attachEvent(document, 'touchstart', jsc.onDocumentTouchStart); + jsc.attachEvent(window, 'resize', jsc.onWindowResize); + }, + + + init : function () { + if (jsc.jscolor.lookupClass) { + jsc.jscolor.installByClassName(jsc.jscolor.lookupClass); + } + }, + + + tryInstallOnElements : function (elms, className) { + var matchClass = new RegExp('(^|\\s)(' + className + ')(\\s*(\\{[^}]*\\})|\\s|$)', 'i'); + + for (var i = 0; i < elms.length; i += 1) { + if (elms[i].type !== undefined && elms[i].type.toLowerCase() == 'color') { + if (jsc.isColorAttrSupported) { + // skip inputs of type 'color' if supported by the browser + continue; + } + } + var m; + if (!elms[i].jscolor && elms[i].className && (m = elms[i].className.match(matchClass))) { + var targetElm = elms[i]; + var optsStr = null; + + var dataOptions = jsc.getDataAttr(targetElm, 'jscolor'); + if (dataOptions !== null) { + optsStr = dataOptions; + } else if (m[4]) { + optsStr = m[4]; + } + + var opts = {}; + if (optsStr) { + try { + opts = (new Function ('return (' + optsStr + ')'))(); + } catch(eParseError) { + jsc.warn('Error parsing jscolor options: ' + eParseError + ':\n' + optsStr); + } + } + targetElm.jscolor = new jsc.jscolor(targetElm, opts); + } + } + }, + + + isColorAttrSupported : (function () { + var elm = document.createElement('input'); + if (elm.setAttribute) { + elm.setAttribute('type', 'color'); + if (elm.type.toLowerCase() == 'color') { + return true; + } + } + return false; + })(), + + + isCanvasSupported : (function () { + var elm = document.createElement('canvas'); + return !!(elm.getContext && elm.getContext('2d')); + })(), + + + fetchElement : function (mixed) { + return typeof mixed === 'string' ? document.getElementById(mixed) : mixed; + }, + + + isElementType : function (elm, type) { + return elm.nodeName.toLowerCase() === type.toLowerCase(); + }, + + + getDataAttr : function (el, name) { + var attrName = 'data-' + name; + var attrValue = el.getAttribute(attrName); + if (attrValue !== null) { + return attrValue; + } + return null; + }, + + + attachEvent : function (el, evnt, func) { + if (el.addEventListener) { + el.addEventListener(evnt, func, false); + } else if (el.attachEvent) { + el.attachEvent('on' + evnt, func); + } + }, + + + detachEvent : function (el, evnt, func) { + if (el.removeEventListener) { + el.removeEventListener(evnt, func, false); + } else if (el.detachEvent) { + el.detachEvent('on' + evnt, func); + } + }, + + + _attachedGroupEvents : {}, + + + attachGroupEvent : function (groupName, el, evnt, func) { + if (!jsc._attachedGroupEvents.hasOwnProperty(groupName)) { + jsc._attachedGroupEvents[groupName] = []; + } + jsc._attachedGroupEvents[groupName].push([el, evnt, func]); + jsc.attachEvent(el, evnt, func); + }, + + + detachGroupEvents : function (groupName) { + if (jsc._attachedGroupEvents.hasOwnProperty(groupName)) { + for (var i = 0; i < jsc._attachedGroupEvents[groupName].length; i += 1) { + var evt = jsc._attachedGroupEvents[groupName][i]; + jsc.detachEvent(evt[0], evt[1], evt[2]); + } + delete jsc._attachedGroupEvents[groupName]; + } + }, + + + attachDOMReadyEvent : function (func) { + var fired = false; + var fireOnce = function () { + if (!fired) { + fired = true; + func(); + } + }; + + if (document.readyState === 'complete') { + setTimeout(fireOnce, 1); // async + return; + } + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', fireOnce, false); + + // Fallback + window.addEventListener('load', fireOnce, false); + + } else if (document.attachEvent) { + // IE + document.attachEvent('onreadystatechange', function () { + if (document.readyState === 'complete') { + document.detachEvent('onreadystatechange', arguments.callee); + fireOnce(); + } + }) + + // Fallback + window.attachEvent('onload', fireOnce); + + // IE7/8 + if (document.documentElement.doScroll && window == window.top) { + var tryScroll = function () { + if (!document.body) { return; } + try { + document.documentElement.doScroll('left'); + fireOnce(); + } catch (e) { + setTimeout(tryScroll, 1); + } + }; + tryScroll(); + } + } + }, + + + warn : function (msg) { + if (window.console && window.console.warn) { + window.console.warn(msg); + } + }, + + + preventDefault : function (e) { + if (e.preventDefault) { e.preventDefault(); } + e.returnValue = false; + }, + + + captureTarget : function (target) { + // IE + if (target.setCapture) { + jsc._capturedTarget = target; + jsc._capturedTarget.setCapture(); + } + }, + + + releaseTarget : function () { + // IE + if (jsc._capturedTarget) { + jsc._capturedTarget.releaseCapture(); + jsc._capturedTarget = null; + } + }, + + + fireEvent : function (el, evnt) { + if (!el) { + return; + } + if (document.createEvent) { + var ev = document.createEvent('HTMLEvents'); + ev.initEvent(evnt, true, true); + el.dispatchEvent(ev); + } else if (document.createEventObject) { + var ev = document.createEventObject(); + el.fireEvent('on' + evnt, ev); + } else if (el['on' + evnt]) { // alternatively use the traditional event model + el['on' + evnt](); + } + }, + + + classNameToList : function (className) { + return className.replace(/^\s+|\s+$/g, '').split(/\s+/); + }, + + + // The className parameter (str) can only contain a single class name + hasClass : function (elm, className) { + if (!className) { + return false; + } + return -1 != (' ' + elm.className.replace(/\s+/g, ' ') + ' ').indexOf(' ' + className + ' '); + }, + + + // The className parameter (str) can contain multiple class names separated by whitespace + setClass : function (elm, className) { + var classList = jsc.classNameToList(className); + for (var i = 0; i < classList.length; i += 1) { + if (!jsc.hasClass(elm, classList[i])) { + elm.className += (elm.className ? ' ' : '') + classList[i]; + } + } + }, + + + // The className parameter (str) can contain multiple class names separated by whitespace + unsetClass : function (elm, className) { + var classList = jsc.classNameToList(className); + for (var i = 0; i < classList.length; i += 1) { + var repl = new RegExp( + '^\\s*' + classList[i] + '\\s*|' + + '\\s*' + classList[i] + '\\s*$|' + + '\\s+' + classList[i] + '(\\s+)', + 'g' + ); + elm.className = elm.className.replace(repl, '$1'); + } + }, + + + getStyle : function (elm) { + return window.getComputedStyle ? window.getComputedStyle(elm) : elm.currentStyle; + }, + + + setStyle : (function () { + var helper = document.createElement('div'); + var getSupportedProp = function (names) { + for (var i = 0; i < names.length; i += 1) { + if (names[i] in helper.style) { + return names[i]; + } + } + }; + var props = { + borderRadius: getSupportedProp(['borderRadius', 'MozBorderRadius', 'webkitBorderRadius']), + boxShadow: getSupportedProp(['boxShadow', 'MozBoxShadow', 'webkitBoxShadow']) + }; + return function (elm, prop, value) { + switch (prop.toLowerCase()) { + case 'opacity': + var alphaOpacity = Math.round(parseFloat(value) * 100); + elm.style.opacity = value; + elm.style.filter = 'alpha(opacity=' + alphaOpacity + ')'; + break; + default: + elm.style[props[prop]] = value; + break; + } + }; + })(), + + + setBorderRadius : function (elm, value) { + jsc.setStyle(elm, 'borderRadius', value || '0'); + }, + + + setBoxShadow : function (elm, value) { + jsc.setStyle(elm, 'boxShadow', value || 'none'); + }, + + + getElementPos : function (e, relativeToViewport) { + var x=0, y=0; + var rect = e.getBoundingClientRect(); + x = rect.left; + y = rect.top; + if (!relativeToViewport) { + var viewPos = jsc.getViewPos(); + x += viewPos[0]; + y += viewPos[1]; + } + return [x, y]; + }, + + + getElementSize : function (e) { + return [e.offsetWidth, e.offsetHeight]; + }, + + + // get pointer's X/Y coordinates relative to viewport + getAbsPointerPos : function (e) { + if (!e) { e = window.event; } + var x = 0, y = 0; + if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) { + // touch devices + x = e.changedTouches[0].clientX; + y = e.changedTouches[0].clientY; + } else if (typeof e.clientX === 'number') { + x = e.clientX; + y = e.clientY; + } + return { x: x, y: y }; + }, + + + // get pointer's X/Y coordinates relative to target element + getRelPointerPos : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + var targetRect = target.getBoundingClientRect(); + + var x = 0, y = 0; + + var clientX = 0, clientY = 0; + if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) { + // touch devices + clientX = e.changedTouches[0].clientX; + clientY = e.changedTouches[0].clientY; + } else if (typeof e.clientX === 'number') { + clientX = e.clientX; + clientY = e.clientY; + } + + x = clientX - targetRect.left; + y = clientY - targetRect.top; + return { x: x, y: y }; + }, + + + getViewPos : function () { + var doc = document.documentElement; + return [ + (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0), + (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0) + ]; + }, + + + getViewSize : function () { + var doc = document.documentElement; + return [ + (window.innerWidth || doc.clientWidth), + (window.innerHeight || doc.clientHeight), + ]; + }, + + + redrawPosition : function () { + + if (jsc.picker && jsc.picker.owner) { + var thisObj = jsc.picker.owner; + + var tp, vp; + + if (thisObj.fixed) { + // Fixed elements are positioned relative to viewport, + // therefore we can ignore the scroll offset + tp = jsc.getElementPos(thisObj.targetElement, true); // target pos + vp = [0, 0]; // view pos + } else { + tp = jsc.getElementPos(thisObj.targetElement); // target pos + vp = jsc.getViewPos(); // view pos + } + + var ts = jsc.getElementSize(thisObj.targetElement); // target size + var vs = jsc.getViewSize(); // view size + var ps = jsc.getPickerOuterDims(thisObj); // picker size + var a, b, c; + switch (thisObj.position.toLowerCase()) { + case 'left': a=1; b=0; c=-1; break; + case 'right':a=1; b=0; c=1; break; + case 'top': a=0; b=1; c=-1; break; + default: a=0; b=1; c=1; break; + } + var l = (ts[b]+ps[b])/2; + + // compute picker position + if (!thisObj.smartPosition) { + var pp = [ + tp[a], + tp[b]+ts[b]-l+l*c + ]; + } else { + var pp = [ + -vp[a]+tp[a]+ps[a] > vs[a] ? + (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) : + tp[a], + -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ? + (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) : + (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c) + ]; + } + + var x = pp[a]; + var y = pp[b]; + var positionValue = thisObj.fixed ? 'fixed' : 'absolute'; + var contractShadow = + (pp[0] + ps[0] > tp[0] || pp[0] < tp[0] + ts[0]) && + (pp[1] + ps[1] < tp[1] + ts[1]); + + jsc._drawPosition(thisObj, x, y, positionValue, contractShadow); + } + }, + + + _drawPosition : function (thisObj, x, y, positionValue, contractShadow) { + var vShadow = contractShadow ? 0 : thisObj.shadowBlur; // px + + jsc.picker.wrap.style.position = positionValue; + jsc.picker.wrap.style.left = x + 'px'; + jsc.picker.wrap.style.top = y + 'px'; + + jsc.setBoxShadow( + jsc.picker.boxS, + thisObj.shadow ? + new jsc.BoxShadow(0, vShadow, thisObj.shadowBlur, 0, thisObj.shadowColor) : + null); + }, + + + getPickerDims : function (thisObj) { + var displaySlider = !!jsc.getSliderComponent(thisObj); + var dims = [ + 2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.width + + (displaySlider ? 2 * thisObj.insetWidth + jsc.getPadToSliderPadding(thisObj) + thisObj.sliderSize : 0), + 2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.height + + (thisObj.closable ? 2 * thisObj.insetWidth + thisObj.padding + thisObj.buttonHeight : 0) + ]; + return dims; + }, + + + getPickerOuterDims : function (thisObj) { + var dims = jsc.getPickerDims(thisObj); + return [ + dims[0] + 2 * thisObj.borderWidth, + dims[1] + 2 * thisObj.borderWidth + ]; + }, + + + getPadToSliderPadding : function (thisObj) { + return Math.max(thisObj.padding, 1.5 * (2 * thisObj.pointerBorderWidth + thisObj.pointerThickness)); + }, + + + getPadYComponent : function (thisObj) { + switch (thisObj.mode.charAt(1).toLowerCase()) { + case 'v': return 'v'; break; + } + return 's'; + }, + + + getSliderComponent : function (thisObj) { + if (thisObj.mode.length > 2) { + switch (thisObj.mode.charAt(2).toLowerCase()) { + case 's': return 's'; break; + case 'v': return 'v'; break; + } + } + return null; + }, + + + onDocumentMouseDown : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + + if (target._jscLinkedInstance) { + if (target._jscLinkedInstance.showOnClick) { + target._jscLinkedInstance.show(); + } + } else if (target._jscControlName) { + jsc.onControlPointerStart(e, target, target._jscControlName, 'mouse'); + } else { + // Mouse is outside the picker controls -> hide the color picker! + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + } + }, + + + onDocumentTouchStart : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + + if (target._jscLinkedInstance) { + if (target._jscLinkedInstance.showOnClick) { + target._jscLinkedInstance.show(); + } + } else if (target._jscControlName) { + jsc.onControlPointerStart(e, target, target._jscControlName, 'touch'); + } else { + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + } + }, + + + onWindowResize : function (e) { + jsc.redrawPosition(); + }, + + + onParentScroll : function (e) { + // hide the picker when one of the parent elements is scrolled + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + }, + + + _pointerMoveEvent : { + mouse: 'mousemove', + touch: 'touchmove' + }, + _pointerEndEvent : { + mouse: 'mouseup', + touch: 'touchend' + }, + + + _pointerOrigin : null, + _capturedTarget : null, + + + onControlPointerStart : function (e, target, controlName, pointerType) { + var thisObj = target._jscInstance; + + jsc.preventDefault(e); + jsc.captureTarget(target); + + var registerDragEvents = function (doc, offset) { + jsc.attachGroupEvent('drag', doc, jsc._pointerMoveEvent[pointerType], + jsc.onDocumentPointerMove(e, target, controlName, pointerType, offset)); + jsc.attachGroupEvent('drag', doc, jsc._pointerEndEvent[pointerType], + jsc.onDocumentPointerEnd(e, target, controlName, pointerType)); + }; + + registerDragEvents(document, [0, 0]); + + if (window.parent && window.frameElement) { + var rect = window.frameElement.getBoundingClientRect(); + var ofs = [-rect.left, -rect.top]; + registerDragEvents(window.parent.window.document, ofs); + } + + var abs = jsc.getAbsPointerPos(e); + var rel = jsc.getRelPointerPos(e); + jsc._pointerOrigin = { + x: abs.x - rel.x, + y: abs.y - rel.y + }; + + switch (controlName) { + case 'pad': + // if the slider is at the bottom, move it up + switch (jsc.getSliderComponent(thisObj)) { + case 's': if (thisObj.hsv[1] === 0) { thisObj.fromHSV(null, 100, null); }; break; + case 'v': if (thisObj.hsv[2] === 0) { thisObj.fromHSV(null, null, 100); }; break; + } + jsc.setPad(thisObj, e, 0, 0); + break; + + case 'sld': + jsc.setSld(thisObj, e, 0); + break; + } + + jsc.dispatchFineChange(thisObj); + }, + + + onDocumentPointerMove : function (e, target, controlName, pointerType, offset) { + return function (e) { + var thisObj = target._jscInstance; + switch (controlName) { + case 'pad': + if (!e) { e = window.event; } + jsc.setPad(thisObj, e, offset[0], offset[1]); + jsc.dispatchFineChange(thisObj); + break; + + case 'sld': + if (!e) { e = window.event; } + jsc.setSld(thisObj, e, offset[1]); + jsc.dispatchFineChange(thisObj); + break; + } + } + }, + + + onDocumentPointerEnd : function (e, target, controlName, pointerType) { + return function (e) { + var thisObj = target._jscInstance; + jsc.detachGroupEvents('drag'); + jsc.releaseTarget(); + // Always dispatch changes after detaching outstanding mouse handlers, + // in case some user interaction will occur in user's onchange callback + // that would intrude with current mouse events + jsc.dispatchChange(thisObj); + }; + }, + + + dispatchChange : function (thisObj) { + if (thisObj.valueElement) { + if (jsc.isElementType(thisObj.valueElement, 'input')) { + jsc.fireEvent(thisObj.valueElement, 'change'); + } + } + }, + + + dispatchFineChange : function (thisObj) { + if (thisObj.onFineChange) { + var callback; + if (typeof thisObj.onFineChange === 'string') { + callback = new Function (thisObj.onFineChange); + } else { + callback = thisObj.onFineChange; + } + callback.call(thisObj); + } + }, + + + setPad : function (thisObj, e, ofsX, ofsY) { + var pointerAbs = jsc.getAbsPointerPos(e); + var x = ofsX + pointerAbs.x - jsc._pointerOrigin.x - thisObj.padding - thisObj.insetWidth; + var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth; + + var xVal = x * (360 / (thisObj.width - 1)); + var yVal = 100 - (y * (100 / (thisObj.height - 1))); + + switch (jsc.getPadYComponent(thisObj)) { + case 's': thisObj.fromHSV(xVal, yVal, null, jsc.leaveSld); break; + case 'v': thisObj.fromHSV(xVal, null, yVal, jsc.leaveSld); break; + } + }, + + + setSld : function (thisObj, e, ofsY) { + var pointerAbs = jsc.getAbsPointerPos(e); + var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth; + + var yVal = 100 - (y * (100 / (thisObj.height - 1))); + + switch (jsc.getSliderComponent(thisObj)) { + case 's': thisObj.fromHSV(null, yVal, null, jsc.leavePad); break; + case 'v': thisObj.fromHSV(null, null, yVal, jsc.leavePad); break; + } + }, + + + _vmlNS : 'jsc_vml_', + _vmlCSS : 'jsc_vml_css_', + _vmlReady : false, + + + initVML : function () { + if (!jsc._vmlReady) { + // init VML namespace + var doc = document; + if (!doc.namespaces[jsc._vmlNS]) { + doc.namespaces.add(jsc._vmlNS, 'urn:schemas-microsoft-com:vml'); + } + if (!doc.styleSheets[jsc._vmlCSS]) { + var tags = ['shape', 'shapetype', 'group', 'background', 'path', 'formulas', 'handles', 'fill', 'stroke', 'shadow', 'textbox', 'textpath', 'imagedata', 'line', 'polyline', 'curve', 'rect', 'roundrect', 'oval', 'arc', 'image']; + var ss = doc.createStyleSheet(); + ss.owningElement.id = jsc._vmlCSS; + for (var i = 0; i < tags.length; i += 1) { + ss.addRule(jsc._vmlNS + '\\:' + tags[i], 'behavior:url(#default#VML);'); + } + } + jsc._vmlReady = true; + } + }, + + + createPalette : function () { + + var paletteObj = { + elm: null, + draw: null + }; + + if (jsc.isCanvasSupported) { + // Canvas implementation for modern browsers + + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + var drawFunc = function (width, height, type) { + canvas.width = width; + canvas.height = height; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + + var hGrad = ctx.createLinearGradient(0, 0, canvas.width, 0); + hGrad.addColorStop(0 / 6, '#F00'); + hGrad.addColorStop(1 / 6, '#FF0'); + hGrad.addColorStop(2 / 6, '#0F0'); + hGrad.addColorStop(3 / 6, '#0FF'); + hGrad.addColorStop(4 / 6, '#00F'); + hGrad.addColorStop(5 / 6, '#F0F'); + hGrad.addColorStop(6 / 6, '#F00'); + + ctx.fillStyle = hGrad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + + var vGrad = ctx.createLinearGradient(0, 0, 0, canvas.height); + switch (type.toLowerCase()) { + case 's': + vGrad.addColorStop(0, 'rgba(255,255,255,0)'); + vGrad.addColorStop(1, 'rgba(255,255,255,1)'); + break; + case 'v': + vGrad.addColorStop(0, 'rgba(0,0,0,0)'); + vGrad.addColorStop(1, 'rgba(0,0,0,1)'); + break; + } + ctx.fillStyle = vGrad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }; + + paletteObj.elm = canvas; + paletteObj.draw = drawFunc; + + } else { + // VML fallback for IE 7 and 8 + + jsc.initVML(); + + var vmlContainer = document.createElement('div'); + vmlContainer.style.position = 'relative'; + vmlContainer.style.overflow = 'hidden'; + + var hGrad = document.createElement(jsc._vmlNS + ':fill'); + hGrad.type = 'gradient'; + hGrad.method = 'linear'; + hGrad.angle = '90'; + hGrad.colors = '16.67% #F0F, 33.33% #00F, 50% #0FF, 66.67% #0F0, 83.33% #FF0' + + var hRect = document.createElement(jsc._vmlNS + ':rect'); + hRect.style.position = 'absolute'; + hRect.style.left = -1 + 'px'; + hRect.style.top = -1 + 'px'; + hRect.stroked = false; + hRect.appendChild(hGrad); + vmlContainer.appendChild(hRect); + + var vGrad = document.createElement(jsc._vmlNS + ':fill'); + vGrad.type = 'gradient'; + vGrad.method = 'linear'; + vGrad.angle = '180'; + vGrad.opacity = '0'; + + var vRect = document.createElement(jsc._vmlNS + ':rect'); + vRect.style.position = 'absolute'; + vRect.style.left = -1 + 'px'; + vRect.style.top = -1 + 'px'; + vRect.stroked = false; + vRect.appendChild(vGrad); + vmlContainer.appendChild(vRect); + + var drawFunc = function (width, height, type) { + vmlContainer.style.width = width + 'px'; + vmlContainer.style.height = height + 'px'; + + hRect.style.width = + vRect.style.width = + (width + 1) + 'px'; + hRect.style.height = + vRect.style.height = + (height + 1) + 'px'; + + // Colors must be specified during every redraw, otherwise IE won't display + // a full gradient during a subsequential redraw + hGrad.color = '#F00'; + hGrad.color2 = '#F00'; + + switch (type.toLowerCase()) { + case 's': + vGrad.color = vGrad.color2 = '#FFF'; + break; + case 'v': + vGrad.color = vGrad.color2 = '#000'; + break; + } + }; + + paletteObj.elm = vmlContainer; + paletteObj.draw = drawFunc; + } + + return paletteObj; + }, + + + createSliderGradient : function () { + + var sliderObj = { + elm: null, + draw: null + }; + + if (jsc.isCanvasSupported) { + // Canvas implementation for modern browsers + + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + var drawFunc = function (width, height, color1, color2) { + canvas.width = width; + canvas.height = height; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + + var grad = ctx.createLinearGradient(0, 0, 0, canvas.height); + grad.addColorStop(0, color1); + grad.addColorStop(1, color2); + + ctx.fillStyle = grad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }; + + sliderObj.elm = canvas; + sliderObj.draw = drawFunc; + + } else { + // VML fallback for IE 7 and 8 + + jsc.initVML(); + + var vmlContainer = document.createElement('div'); + vmlContainer.style.position = 'relative'; + vmlContainer.style.overflow = 'hidden'; + + var grad = document.createElement(jsc._vmlNS + ':fill'); + grad.type = 'gradient'; + grad.method = 'linear'; + grad.angle = '180'; + + var rect = document.createElement(jsc._vmlNS + ':rect'); + rect.style.position = 'absolute'; + rect.style.left = -1 + 'px'; + rect.style.top = -1 + 'px'; + rect.stroked = false; + rect.appendChild(grad); + vmlContainer.appendChild(rect); + + var drawFunc = function (width, height, color1, color2) { + vmlContainer.style.width = width + 'px'; + vmlContainer.style.height = height + 'px'; + + rect.style.width = (width + 1) + 'px'; + rect.style.height = (height + 1) + 'px'; + + grad.color = color1; + grad.color2 = color2; + }; + + sliderObj.elm = vmlContainer; + sliderObj.draw = drawFunc; + } + + return sliderObj; + }, + + + leaveValue : 1<<0, + leaveStyle : 1<<1, + leavePad : 1<<2, + leaveSld : 1<<3, + + + BoxShadow : (function () { + var BoxShadow = function (hShadow, vShadow, blur, spread, color, inset) { + this.hShadow = hShadow; + this.vShadow = vShadow; + this.blur = blur; + this.spread = spread; + this.color = color; + this.inset = !!inset; + }; + + BoxShadow.prototype.toString = function () { + var vals = [ + Math.round(this.hShadow) + 'px', + Math.round(this.vShadow) + 'px', + Math.round(this.blur) + 'px', + Math.round(this.spread) + 'px', + this.color + ]; + if (this.inset) { + vals.push('inset'); + } + return vals.join(' '); + }; + + return BoxShadow; + })(), + + + // + // Usage: + // var myColor = new jscolor( [, ]) + // + + jscolor : function (targetElement, options) { + + // General options + // + this.value = null; // initial HEX color. To change it later, use methods fromString(), fromHSV() and fromRGB() + this.valueElement = targetElement; // element that will be used to display and input the color code + this.styleElement = targetElement; // element that will preview the picked color using CSS backgroundColor + this.required = true; // whether the associated text can be left empty + this.refine = true; // whether to refine the entered color code (e.g. uppercase it and remove whitespace) + this.hash = false; // whether to prefix the HEX color code with # symbol + this.uppercase = true; // whether to show the color code in upper case + this.onFineChange = null; // called instantly every time the color changes (value can be either a function or a string with javascript code) + this.activeClass = 'jscolor-active'; // class to be set to the target element when a picker window is open on it + this.overwriteImportant = false; // whether to overwrite colors of styleElement using !important + this.minS = 0; // min allowed saturation (0 - 100) + this.maxS = 100; // max allowed saturation (0 - 100) + this.minV = 0; // min allowed value (brightness) (0 - 100) + this.maxV = 100; // max allowed value (brightness) (0 - 100) + + // Accessing the picked color + // + this.hsv = [0, 0, 100]; // read-only [0-360, 0-100, 0-100] + this.rgb = [255, 255, 255]; // read-only [0-255, 0-255, 0-255] + + // Color Picker options + // + this.width = 181; // width of color palette (in px) + this.height = 101; // height of color palette (in px) + this.showOnClick = true; // whether to display the color picker when user clicks on its target element + this.mode = 'HSV'; // HSV | HVS | HS | HV - layout of the color picker controls + this.position = 'bottom'; // left | right | top | bottom - position relative to the target element + this.smartPosition = true; // automatically change picker position when there is not enough space for it + this.sliderSize = 16; // px + this.crossSize = 8; // px + this.closable = false; // whether to display the Close button + this.closeText = 'Close'; + this.buttonColor = '#000000'; // CSS color + this.buttonHeight = 18; // px + this.padding = 12; // px + this.backgroundColor = '#FFFFFF'; // CSS color + this.borderWidth = 1; // px + this.borderColor = '#BBBBBB'; // CSS color + this.borderRadius = 8; // px + this.insetWidth = 1; // px + this.insetColor = '#BBBBBB'; // CSS color + this.shadow = true; // whether to display shadow + this.shadowBlur = 15; // px + this.shadowColor = 'rgba(0,0,0,0.2)'; // CSS color + this.pointerColor = '#4C4C4C'; // px + this.pointerBorderColor = '#FFFFFF'; // px + this.pointerBorderWidth = 1; // px + this.pointerThickness = 2; // px + this.zIndex = 1000; + this.container = null; // where to append the color picker (BODY element by default) + + + for (var opt in options) { + if (options.hasOwnProperty(opt)) { + this[opt] = options[opt]; + } + } + + + this.hide = function () { + if (isPickerOwner()) { + detachPicker(); + } + }; + + + this.show = function () { + drawPicker(); + }; + + + this.redraw = function () { + if (isPickerOwner()) { + drawPicker(); + } + }; + + + this.importColor = function () { + if (!this.valueElement) { + this.exportColor(); + } else { + if (jsc.isElementType(this.valueElement, 'input')) { + if (!this.refine) { + if (!this.fromString(this.valueElement.value, jsc.leaveValue)) { + if (this.styleElement) { + this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage; + this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor; + this.styleElement.style.color = this.styleElement._jscOrigStyle.color; + } + this.exportColor(jsc.leaveValue | jsc.leaveStyle); + } + } else if (!this.required && /^\s*$/.test(this.valueElement.value)) { + this.valueElement.value = ''; + if (this.styleElement) { + this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage; + this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor; + this.styleElement.style.color = this.styleElement._jscOrigStyle.color; + } + this.exportColor(jsc.leaveValue | jsc.leaveStyle); + + } else if (this.fromString(this.valueElement.value)) { + // managed to import color successfully from the value -> OK, don't do anything + } else { + this.exportColor(); + } + } else { + // not an input element -> doesn't have any value + this.exportColor(); + } + } + }; + + + this.exportColor = function (flags) { + if (!(flags & jsc.leaveValue) && this.valueElement) { + var value = this.toString(); + if (this.uppercase) { value = value.toUpperCase(); } + if (this.hash) { value = '#' + value; } + + if (jsc.isElementType(this.valueElement, 'input')) { + this.valueElement.value = value; + } else { + this.valueElement.innerHTML = value; + } + } + if (!(flags & jsc.leaveStyle)) { + if (this.styleElement) { + var bgColor = '#' + this.toString(); + var fgColor = this.isLight() ? '#000' : '#FFF'; + + this.styleElement.style.backgroundImage = 'none'; + this.styleElement.style.backgroundColor = bgColor; + this.styleElement.style.color = fgColor; + + if (this.overwriteImportant) { + this.styleElement.setAttribute('style', + 'background: ' + bgColor + ' !important; ' + + 'color: ' + fgColor + ' !important;' + ); + } + } + } + if (!(flags & jsc.leavePad) && isPickerOwner()) { + redrawPad(); + } + if (!(flags & jsc.leaveSld) && isPickerOwner()) { + redrawSld(); + } + }; + + + // h: 0-360 + // s: 0-100 + // v: 0-100 + // + this.fromHSV = function (h, s, v, flags) { // null = don't change + if (h !== null) { + if (isNaN(h)) { return false; } + h = Math.max(0, Math.min(360, h)); + } + if (s !== null) { + if (isNaN(s)) { return false; } + s = Math.max(0, Math.min(100, this.maxS, s), this.minS); + } + if (v !== null) { + if (isNaN(v)) { return false; } + v = Math.max(0, Math.min(100, this.maxV, v), this.minV); + } + + this.rgb = HSV_RGB( + h===null ? this.hsv[0] : (this.hsv[0]=h), + s===null ? this.hsv[1] : (this.hsv[1]=s), + v===null ? this.hsv[2] : (this.hsv[2]=v) + ); + + this.exportColor(flags); + }; + + + // r: 0-255 + // g: 0-255 + // b: 0-255 + // + this.fromRGB = function (r, g, b, flags) { // null = don't change + if (r !== null) { + if (isNaN(r)) { return false; } + r = Math.max(0, Math.min(255, r)); + } + if (g !== null) { + if (isNaN(g)) { return false; } + g = Math.max(0, Math.min(255, g)); + } + if (b !== null) { + if (isNaN(b)) { return false; } + b = Math.max(0, Math.min(255, b)); + } + + var hsv = RGB_HSV( + r===null ? this.rgb[0] : r, + g===null ? this.rgb[1] : g, + b===null ? this.rgb[2] : b + ); + if (hsv[0] !== null) { + this.hsv[0] = Math.max(0, Math.min(360, hsv[0])); + } + if (hsv[2] !== 0) { + this.hsv[1] = hsv[1]===null ? null : Math.max(0, this.minS, Math.min(100, this.maxS, hsv[1])); + } + this.hsv[2] = hsv[2]===null ? null : Math.max(0, this.minV, Math.min(100, this.maxV, hsv[2])); + + // update RGB according to final HSV, as some values might be trimmed + var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]); + this.rgb[0] = rgb[0]; + this.rgb[1] = rgb[1]; + this.rgb[2] = rgb[2]; + + this.exportColor(flags); + }; + + + this.fromString = function (str, flags) { + var m; + if (m = str.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)) { + // HEX notation + // + + if (m[1].length === 6) { + // 6-char notation + this.fromRGB( + parseInt(m[1].substr(0,2),16), + parseInt(m[1].substr(2,2),16), + parseInt(m[1].substr(4,2),16), + flags + ); + } else { + // 3-char notation + this.fromRGB( + parseInt(m[1].charAt(0) + m[1].charAt(0),16), + parseInt(m[1].charAt(1) + m[1].charAt(1),16), + parseInt(m[1].charAt(2) + m[1].charAt(2),16), + flags + ); + } + return true; + + } else if (m = str.match(/^\W*rgba?\(([^)]*)\)\W*$/i)) { + var params = m[1].split(','); + var re = /^\s*(\d*)(\.\d+)?\s*$/; + var mR, mG, mB; + if ( + params.length >= 3 && + (mR = params[0].match(re)) && + (mG = params[1].match(re)) && + (mB = params[2].match(re)) + ) { + var r = parseFloat((mR[1] || '0') + (mR[2] || '')); + var g = parseFloat((mG[1] || '0') + (mG[2] || '')); + var b = parseFloat((mB[1] || '0') + (mB[2] || '')); + this.fromRGB(r, g, b, flags); + return true; + } + } + return false; + }; + + + this.toString = function () { + return ( + (0x100 | Math.round(this.rgb[0])).toString(16).substr(1) + + (0x100 | Math.round(this.rgb[1])).toString(16).substr(1) + + (0x100 | Math.round(this.rgb[2])).toString(16).substr(1) + ); + }; + + + this.toHEXString = function () { + return '#' + this.toString().toUpperCase(); + }; + + + this.toRGBString = function () { + return ('rgb(' + + Math.round(this.rgb[0]) + ',' + + Math.round(this.rgb[1]) + ',' + + Math.round(this.rgb[2]) + ')' + ); + }; + + + this.isLight = function () { + return ( + 0.213 * this.rgb[0] + + 0.715 * this.rgb[1] + + 0.072 * this.rgb[2] > + 255 / 2 + ); + }; + + + this._processParentElementsInDOM = function () { + if (this._linkedElementsProcessed) { return; } + this._linkedElementsProcessed = true; + + var elm = this.targetElement; + do { + // If the target element or one of its parent nodes has fixed position, + // then use fixed positioning instead + // + // Note: In Firefox, getComputedStyle returns null in a hidden iframe, + // that's why we need to check if the returned style object is non-empty + var currStyle = jsc.getStyle(elm); + if (currStyle && currStyle.position.toLowerCase() === 'fixed') { + this.fixed = true; + } + + if (elm !== this.targetElement) { + // Ensure to attach onParentScroll only once to each parent element + // (multiple targetElements can share the same parent nodes) + // + // Note: It's not just offsetParents that can be scrollable, + // that's why we loop through all parent nodes + if (!elm._jscEventsAttached) { + jsc.attachEvent(elm, 'scroll', jsc.onParentScroll); + elm._jscEventsAttached = true; + } + } + } while ((elm = elm.parentNode) && !jsc.isElementType(elm, 'body')); + }; + + + // r: 0-255 + // g: 0-255 + // b: 0-255 + // + // returns: [ 0-360, 0-100, 0-100 ] + // + function RGB_HSV (r, g, b) { + r /= 255; + g /= 255; + b /= 255; + var n = Math.min(Math.min(r,g),b); + var v = Math.max(Math.max(r,g),b); + var m = v - n; + if (m === 0) { return [ null, 0, 100 * v ]; } + var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m); + return [ + 60 * (h===6?0:h), + 100 * (m/v), + 100 * v + ]; + } + + + // h: 0-360 + // s: 0-100 + // v: 0-100 + // + // returns: [ 0-255, 0-255, 0-255 ] + // + function HSV_RGB (h, s, v) { + var u = 255 * (v / 100); + + if (h === null) { + return [ u, u, u ]; + } + + h /= 60; + s /= 100; + + var i = Math.floor(h); + var f = i%2 ? h-i : 1-(h-i); + var m = u * (1 - s); + var n = u * (1 - s * f); + switch (i) { + case 6: + case 0: return [u,n,m]; + case 1: return [n,u,m]; + case 2: return [m,u,n]; + case 3: return [m,n,u]; + case 4: return [n,m,u]; + case 5: return [u,m,n]; + } + } + + + function detachPicker () { + jsc.unsetClass(THIS.targetElement, THIS.activeClass); + jsc.picker.wrap.parentNode.removeChild(jsc.picker.wrap); + delete jsc.picker.owner; + } + + + function drawPicker () { + + // At this point, when drawing the picker, we know what the parent elements are + // and we can do all related DOM operations, such as registering events on them + // or checking their positioning + THIS._processParentElementsInDOM(); + + if (!jsc.picker) { + jsc.picker = { + owner: null, + wrap : document.createElement('div'), + box : document.createElement('div'), + boxS : document.createElement('div'), // shadow area + boxB : document.createElement('div'), // border + pad : document.createElement('div'), + padB : document.createElement('div'), // border + padM : document.createElement('div'), // mouse/touch area + padPal : jsc.createPalette(), + cross : document.createElement('div'), + crossBY : document.createElement('div'), // border Y + crossBX : document.createElement('div'), // border X + crossLY : document.createElement('div'), // line Y + crossLX : document.createElement('div'), // line X + sld : document.createElement('div'), + sldB : document.createElement('div'), // border + sldM : document.createElement('div'), // mouse/touch area + sldGrad : jsc.createSliderGradient(), + sldPtrS : document.createElement('div'), // slider pointer spacer + sldPtrIB : document.createElement('div'), // slider pointer inner border + sldPtrMB : document.createElement('div'), // slider pointer middle border + sldPtrOB : document.createElement('div'), // slider pointer outer border + btn : document.createElement('div'), + btnT : document.createElement('span') // text + }; + + jsc.picker.pad.appendChild(jsc.picker.padPal.elm); + jsc.picker.padB.appendChild(jsc.picker.pad); + jsc.picker.cross.appendChild(jsc.picker.crossBY); + jsc.picker.cross.appendChild(jsc.picker.crossBX); + jsc.picker.cross.appendChild(jsc.picker.crossLY); + jsc.picker.cross.appendChild(jsc.picker.crossLX); + jsc.picker.padB.appendChild(jsc.picker.cross); + jsc.picker.box.appendChild(jsc.picker.padB); + jsc.picker.box.appendChild(jsc.picker.padM); + + jsc.picker.sld.appendChild(jsc.picker.sldGrad.elm); + jsc.picker.sldB.appendChild(jsc.picker.sld); + jsc.picker.sldB.appendChild(jsc.picker.sldPtrOB); + jsc.picker.sldPtrOB.appendChild(jsc.picker.sldPtrMB); + jsc.picker.sldPtrMB.appendChild(jsc.picker.sldPtrIB); + jsc.picker.sldPtrIB.appendChild(jsc.picker.sldPtrS); + jsc.picker.box.appendChild(jsc.picker.sldB); + jsc.picker.box.appendChild(jsc.picker.sldM); + + jsc.picker.btn.appendChild(jsc.picker.btnT); + jsc.picker.box.appendChild(jsc.picker.btn); + + jsc.picker.boxB.appendChild(jsc.picker.box); + jsc.picker.wrap.appendChild(jsc.picker.boxS); + jsc.picker.wrap.appendChild(jsc.picker.boxB); + } + + var p = jsc.picker; + + var displaySlider = !!jsc.getSliderComponent(THIS); + var dims = jsc.getPickerDims(THIS); + var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize); + var padToSliderPadding = jsc.getPadToSliderPadding(THIS); + var borderRadius = Math.min( + THIS.borderRadius, + Math.round(THIS.padding * Math.PI)); // px + var padCursor = 'crosshair'; + + // wrap + p.wrap.style.clear = 'both'; + p.wrap.style.width = (dims[0] + 2 * THIS.borderWidth) + 'px'; + p.wrap.style.height = (dims[1] + 2 * THIS.borderWidth) + 'px'; + p.wrap.style.zIndex = THIS.zIndex; + + // picker + p.box.style.width = dims[0] + 'px'; + p.box.style.height = dims[1] + 'px'; + + p.boxS.style.position = 'absolute'; + p.boxS.style.left = '0'; + p.boxS.style.top = '0'; + p.boxS.style.width = '100%'; + p.boxS.style.height = '100%'; + jsc.setBorderRadius(p.boxS, borderRadius + 'px'); + + // picker border + p.boxB.style.position = 'relative'; + p.boxB.style.border = THIS.borderWidth + 'px solid'; + p.boxB.style.borderColor = THIS.borderColor; + p.boxB.style.background = THIS.backgroundColor; + jsc.setBorderRadius(p.boxB, borderRadius + 'px'); + + // IE hack: + // If the element is transparent, IE will trigger the event on the elements under it, + // e.g. on Canvas or on elements with border + p.padM.style.background = + p.sldM.style.background = + '#FFF'; + jsc.setStyle(p.padM, 'opacity', '0'); + jsc.setStyle(p.sldM, 'opacity', '0'); + + // pad + p.pad.style.position = 'relative'; + p.pad.style.width = THIS.width + 'px'; + p.pad.style.height = THIS.height + 'px'; + + // pad palettes (HSV and HVS) + p.padPal.draw(THIS.width, THIS.height, jsc.getPadYComponent(THIS)); + + // pad border + p.padB.style.position = 'absolute'; + p.padB.style.left = THIS.padding + 'px'; + p.padB.style.top = THIS.padding + 'px'; + p.padB.style.border = THIS.insetWidth + 'px solid'; + p.padB.style.borderColor = THIS.insetColor; + + // pad mouse area + p.padM._jscInstance = THIS; + p.padM._jscControlName = 'pad'; + p.padM.style.position = 'absolute'; + p.padM.style.left = '0'; + p.padM.style.top = '0'; + p.padM.style.width = (THIS.padding + 2 * THIS.insetWidth + THIS.width + padToSliderPadding / 2) + 'px'; + p.padM.style.height = dims[1] + 'px'; + p.padM.style.cursor = padCursor; + + // pad cross + p.cross.style.position = 'absolute'; + p.cross.style.left = + p.cross.style.top = + '0'; + p.cross.style.width = + p.cross.style.height = + crossOuterSize + 'px'; + + // pad cross border Y and X + p.crossBY.style.position = + p.crossBX.style.position = + 'absolute'; + p.crossBY.style.background = + p.crossBX.style.background = + THIS.pointerBorderColor; + p.crossBY.style.width = + p.crossBX.style.height = + (2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px'; + p.crossBY.style.height = + p.crossBX.style.width = + crossOuterSize + 'px'; + p.crossBY.style.left = + p.crossBX.style.top = + (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2) - THIS.pointerBorderWidth) + 'px'; + p.crossBY.style.top = + p.crossBX.style.left = + '0'; + + // pad cross line Y and X + p.crossLY.style.position = + p.crossLX.style.position = + 'absolute'; + p.crossLY.style.background = + p.crossLX.style.background = + THIS.pointerColor; + p.crossLY.style.height = + p.crossLX.style.width = + (crossOuterSize - 2 * THIS.pointerBorderWidth) + 'px'; + p.crossLY.style.width = + p.crossLX.style.height = + THIS.pointerThickness + 'px'; + p.crossLY.style.left = + p.crossLX.style.top = + (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2)) + 'px'; + p.crossLY.style.top = + p.crossLX.style.left = + THIS.pointerBorderWidth + 'px'; + + // slider + p.sld.style.overflow = 'hidden'; + p.sld.style.width = THIS.sliderSize + 'px'; + p.sld.style.height = THIS.height + 'px'; + + // slider gradient + p.sldGrad.draw(THIS.sliderSize, THIS.height, '#000', '#000'); + + // slider border + p.sldB.style.display = displaySlider ? 'block' : 'none'; + p.sldB.style.position = 'absolute'; + p.sldB.style.right = THIS.padding + 'px'; + p.sldB.style.top = THIS.padding + 'px'; + p.sldB.style.border = THIS.insetWidth + 'px solid'; + p.sldB.style.borderColor = THIS.insetColor; + + // slider mouse area + p.sldM._jscInstance = THIS; + p.sldM._jscControlName = 'sld'; + p.sldM.style.display = displaySlider ? 'block' : 'none'; + p.sldM.style.position = 'absolute'; + p.sldM.style.right = '0'; + p.sldM.style.top = '0'; + p.sldM.style.width = (THIS.sliderSize + padToSliderPadding / 2 + THIS.padding + 2 * THIS.insetWidth) + 'px'; + p.sldM.style.height = dims[1] + 'px'; + p.sldM.style.cursor = 'default'; + + // slider pointer inner and outer border + p.sldPtrIB.style.border = + p.sldPtrOB.style.border = + THIS.pointerBorderWidth + 'px solid ' + THIS.pointerBorderColor; + + // slider pointer outer border + p.sldPtrOB.style.position = 'absolute'; + p.sldPtrOB.style.left = -(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px'; + p.sldPtrOB.style.top = '0'; + + // slider pointer middle border + p.sldPtrMB.style.border = THIS.pointerThickness + 'px solid ' + THIS.pointerColor; + + // slider pointer spacer + p.sldPtrS.style.width = THIS.sliderSize + 'px'; + p.sldPtrS.style.height = sliderPtrSpace + 'px'; + + // the Close button + function setBtnBorder () { + var insetColors = THIS.insetColor.split(/\s+/); + var outsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1]; + p.btn.style.borderColor = outsetColor; + } + p.btn.style.display = THIS.closable ? 'block' : 'none'; + p.btn.style.position = 'absolute'; + p.btn.style.left = THIS.padding + 'px'; + p.btn.style.bottom = THIS.padding + 'px'; + p.btn.style.padding = '0 15px'; + p.btn.style.height = THIS.buttonHeight + 'px'; + p.btn.style.border = THIS.insetWidth + 'px solid'; + setBtnBorder(); + p.btn.style.color = THIS.buttonColor; + p.btn.style.font = '12px sans-serif'; + p.btn.style.textAlign = 'center'; + try { + p.btn.style.cursor = 'pointer'; + } catch(eOldIE) { + p.btn.style.cursor = 'hand'; + } + p.btn.onmousedown = function () { + THIS.hide(); + }; + p.btnT.style.lineHeight = THIS.buttonHeight + 'px'; + p.btnT.innerHTML = ''; + p.btnT.appendChild(document.createTextNode(THIS.closeText)); + + // place pointers + redrawPad(); + redrawSld(); + + // If we are changing the owner without first closing the picker, + // make sure to first deal with the old owner + if (jsc.picker.owner && jsc.picker.owner !== THIS) { + jsc.unsetClass(jsc.picker.owner.targetElement, THIS.activeClass); + } + + // Set the new picker owner + jsc.picker.owner = THIS; + + // The redrawPosition() method needs picker.owner to be set, that's why we call it here, + // after setting the owner + if (jsc.isElementType(container, 'body')) { + jsc.redrawPosition(); + } else { + jsc._drawPosition(THIS, 0, 0, 'relative', false); + } + + if (p.wrap.parentNode != container) { + container.appendChild(p.wrap); + } + + jsc.setClass(THIS.targetElement, THIS.activeClass); + } + + + function redrawPad () { + // redraw the pad pointer + switch (jsc.getPadYComponent(THIS)) { + case 's': var yComponent = 1; break; + case 'v': var yComponent = 2; break; + } + var x = Math.round((THIS.hsv[0] / 360) * (THIS.width - 1)); + var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1)); + var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize); + var ofs = -Math.floor(crossOuterSize / 2); + jsc.picker.cross.style.left = (x + ofs) + 'px'; + jsc.picker.cross.style.top = (y + ofs) + 'px'; + + // redraw the slider + switch (jsc.getSliderComponent(THIS)) { + case 's': + var rgb1 = HSV_RGB(THIS.hsv[0], 100, THIS.hsv[2]); + var rgb2 = HSV_RGB(THIS.hsv[0], 0, THIS.hsv[2]); + var color1 = 'rgb(' + + Math.round(rgb1[0]) + ',' + + Math.round(rgb1[1]) + ',' + + Math.round(rgb1[2]) + ')'; + var color2 = 'rgb(' + + Math.round(rgb2[0]) + ',' + + Math.round(rgb2[1]) + ',' + + Math.round(rgb2[2]) + ')'; + jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2); + break; + case 'v': + var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 100); + var color1 = 'rgb(' + + Math.round(rgb[0]) + ',' + + Math.round(rgb[1]) + ',' + + Math.round(rgb[2]) + ')'; + var color2 = '#000'; + jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2); + break; + } + } + + + function redrawSld () { + var sldComponent = jsc.getSliderComponent(THIS); + if (sldComponent) { + // redraw the slider pointer + switch (sldComponent) { + case 's': var yComponent = 1; break; + case 'v': var yComponent = 2; break; + } + var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1)); + jsc.picker.sldPtrOB.style.top = (y - (2 * THIS.pointerBorderWidth + THIS.pointerThickness) - Math.floor(sliderPtrSpace / 2)) + 'px'; + } + } + + + function isPickerOwner () { + return jsc.picker && jsc.picker.owner === THIS; + } + + + function blurValue () { + THIS.importColor(); + } + + + // Find the target element + if (typeof targetElement === 'string') { + var id = targetElement; + var elm = document.getElementById(id); + if (elm) { + this.targetElement = elm; + } else { + jsc.warn('Could not find target element with ID \'' + id + '\''); + } + } else if (targetElement) { + this.targetElement = targetElement; + } else { + jsc.warn('Invalid target element: \'' + targetElement + '\''); + } + + if (this.targetElement._jscLinkedInstance) { + jsc.warn('Cannot link jscolor twice to the same element. Skipping.'); + return; + } + this.targetElement._jscLinkedInstance = this; + + // Find the value element + this.valueElement = jsc.fetchElement(this.valueElement); + // Find the style element + this.styleElement = jsc.fetchElement(this.styleElement); + + var THIS = this; + var container = + this.container ? + jsc.fetchElement(this.container) : + document.getElementsByTagName('body')[0]; + var sliderPtrSpace = 3; // px + + // For BUTTON elements it's important to stop them from sending the form when clicked + // (e.g. in Safari) + if (jsc.isElementType(this.targetElement, 'button')) { + if (this.targetElement.onclick) { + var origCallback = this.targetElement.onclick; + this.targetElement.onclick = function (evt) { + origCallback.call(this, evt); + return false; + }; + } else { + this.targetElement.onclick = function () { return false; }; + } + } + + /* + var elm = this.targetElement; + do { + // If the target element or one of its offsetParents has fixed position, + // then use fixed positioning instead + // + // Note: In Firefox, getComputedStyle returns null in a hidden iframe, + // that's why we need to check if the returned style object is non-empty + var currStyle = jsc.getStyle(elm); + if (currStyle && currStyle.position.toLowerCase() === 'fixed') { + this.fixed = true; + } + + if (elm !== this.targetElement) { + // attach onParentScroll so that we can recompute the picker position + // when one of the offsetParents is scrolled + if (!elm._jscEventsAttached) { + jsc.attachEvent(elm, 'scroll', jsc.onParentScroll); + elm._jscEventsAttached = true; + } + } + } while ((elm = elm.offsetParent) && !jsc.isElementType(elm, 'body')); + */ + + // valueElement + if (this.valueElement) { + if (jsc.isElementType(this.valueElement, 'input')) { + var updateField = function () { + THIS.fromString(THIS.valueElement.value, jsc.leaveValue); + jsc.dispatchFineChange(THIS); + }; + jsc.attachEvent(this.valueElement, 'keyup', updateField); + jsc.attachEvent(this.valueElement, 'input', updateField); + jsc.attachEvent(this.valueElement, 'blur', blurValue); + this.valueElement.setAttribute('autocomplete', 'off'); + } + } + + // styleElement + if (this.styleElement) { + this.styleElement._jscOrigStyle = { + backgroundImage : this.styleElement.style.backgroundImage, + backgroundColor : this.styleElement.style.backgroundColor, + color : this.styleElement.style.color + }; + } + + if (this.value) { + // Try to set the color from the .value option and if unsuccessful, + // export the current color + this.fromString(this.value) || this.exportColor(); + } else { + this.importColor(); + } + } + +}; + + +//================================ +// Public properties and methods +//================================ + + +// By default, search for all elements with class="jscolor" and install a color picker on them. +// +// You can change what class name will be looked for by setting the property jscolor.lookupClass +// anywhere in your HTML document. To completely disable the automatic lookup, set it to null. +// +jsc.jscolor.lookupClass = 'jscolor'; + + +jsc.jscolor.installByClassName = function (className) { + var inputElms = document.getElementsByTagName('input'); + var buttonElms = document.getElementsByTagName('button'); + + jsc.tryInstallOnElements(inputElms, className); + jsc.tryInstallOnElements(buttonElms, className); +}; + + +jsc.register(); + + +return jsc.jscolor; + + +})(); } diff --git a/lib/SimpleSAML/Auth/Default.php b/lib/SimpleSAML/Auth/Default.php new file mode 100755 index 0000000..17ad9c3 --- /dev/null +++ b/lib/SimpleSAML/Auth/Default.php @@ -0,0 +1,139 @@ +initLogin($return, $errorURL, $params); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use + * SimpleSAML_Auth_State::getPersistentAuthData() instead. + */ + public static function extractPersistentAuthState(array &$state) + { + + return SimpleSAML_Auth_State::getPersistentAuthData($state); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML_Auth_Source::loginCompleted() instead. + */ + public static function loginCompleted($state) + { + SimpleSAML_Auth_Source::loginCompleted($state); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + public static function initLogoutReturn($returnURL, $authority) + { + assert(is_string($returnURL)); + assert(is_string($authority)); + + $session = SimpleSAML_Session::getSessionFromRequest(); + + $state = $session->getAuthData($authority, 'LogoutState'); + $session->doLogout($authority); + + $state['SimpleSAML_Auth_Default.ReturnURL'] = $returnURL; + $state['LogoutCompletedHandler'] = array(get_class(), 'logoutCompleted'); + + $as = SimpleSAML_Auth_Source::getById($authority); + if ($as === null) { + // The authority wasn't an authentication source... + self::logoutCompleted($state); + } + + $as->logout($state); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + public static function initLogout($returnURL, $authority) + { + assert(is_string($returnURL)); + assert(is_string($authority)); + + self::initLogoutReturn($returnURL, $authority); + + \SimpleSAML\Utils\HTTP::redirectTrustedURL($returnURL); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + public static function logoutCompleted($state) + { + assert(is_array($state)); + assert(array_key_exists('SimpleSAML_Auth_Default.ReturnURL', $state)); + + \SimpleSAML\Utils\HTTP::redirectTrustedURL($state['SimpleSAML_Auth_Default.ReturnURL']); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML_Auth_Source::logoutCallback() instead. + */ + public static function logoutCallback($state) + { + SimpleSAML_Auth_Source::logoutCallback($state); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use + * sspmod_saml_Auth_Source_SP::handleUnsolicitedAuth() instead. + */ + public static function handleUnsolicitedAuth($authId, array $state, $redirectTo) + { + sspmod_saml_Auth_Source_SP::handleUnsolicitedAuth($authId, $state, $redirectTo); + } + + + /** + * Return an authentication source by ID. + * + * @param string $id The id of the authentication source. + * @return SimpleSAML_Auth_Source The authentication source. + * @throws Exception If the $id does not correspond with an authentication source. + */ + private static function getAuthSource($id) + { + $as = SimpleSAML_Auth_Source::getById($id); + if ($as === null) { + throw new Exception('Invalid authentication source: ' . $id); + } + return $as; + } +} diff --git a/lib/SimpleSAML/Auth/LDAP.php b/lib/SimpleSAML/Auth/LDAP.php new file mode 100755 index 0000000..f5d47f5 --- /dev/null +++ b/lib/SimpleSAML/Auth/LDAP.php @@ -0,0 +1,775 @@ + + * @author Anders Lund, UNINETT AS. + * @package SimpleSAMLphp + */ +class SimpleSAML_Auth_LDAP +{ + /** + * LDAP link identifier. + * + * @var resource + */ + protected $ldap = null; + + /** + * LDAP user: authz_id if SASL is in use, binding dn otherwise + */ + protected $authz_id = null; + + /** + * Timeout value, in seconds. + * + * @var int + */ + protected $timeout = 0; + + /** + * Private constructor restricts instantiation to getInstance(). + * + * @param string $hostname + * @param bool $enable_tls + * @param bool $debug + * @param int $timeout + * @param int $port + * @param bool $referrals + */ + public function __construct($hostname, $enable_tls = true, $debug = false, $timeout = 0, $port = 389, $referrals = true) + { + // Debug + SimpleSAML\Logger::debug('Library - LDAP __construct(): Setup LDAP with '. + 'host=\''.$hostname. + '\', tls='.var_export($enable_tls, true). + ', debug='.var_export($debug, true). + ', timeout='.var_export($timeout, true). + ', referrals='.var_export($referrals, true)); + + /* + * Set debug level before calling connect. Note that this passes + * NULL to ldap_set_option, which is an undocumented feature. + * + * OpenLDAP 2.x.x or Netscape Directory SDK x.x needed for this option. + */ + if ($debug && !ldap_set_option(null, LDAP_OPT_DEBUG_LEVEL, 7)) { + SimpleSAML\Logger::warning('Library - LDAP __construct(): Unable to set debug level (LDAP_OPT_DEBUG_LEVEL) to 7'); + } + + /* + * Prepare a connection for to this LDAP server. Note that this function + * doesn't actually connect to the server. + */ + $this->ldap = @ldap_connect($hostname, $port); + if ($this->ldap === false) { + throw $this->makeException('Library - LDAP __construct(): Unable to connect to \''.$hostname.'\'', ERR_INTERNAL); + } + + // Enable LDAP protocol version 3 + if (!@ldap_set_option($this->ldap, LDAP_OPT_PROTOCOL_VERSION, 3)) { + throw $this->makeException('Library - LDAP __construct(): Failed to set LDAP Protocol version (LDAP_OPT_PROTOCOL_VERSION) to 3', ERR_INTERNAL); + } + + // Set referral option + if (!@ldap_set_option($this->ldap, LDAP_OPT_REFERRALS, $referrals)) { + throw $this->makeException('Library - LDAP __construct(): Failed to set LDAP Referrals (LDAP_OPT_REFERRALS) to '.$referrals, ERR_INTERNAL); + } + + // Set timeouts, if supported + // (OpenLDAP 2.x.x or Netscape Directory SDK x.x needed) + $this->timeout = $timeout; + if ($timeout > 0) { + if (!@ldap_set_option($this->ldap, LDAP_OPT_NETWORK_TIMEOUT, $timeout)) { + SimpleSAML\Logger::warning('Library - LDAP __construct(): Unable to set timeouts (LDAP_OPT_NETWORK_TIMEOUT) to '.$timeout); + } + if (!@ldap_set_option($this->ldap, LDAP_OPT_TIMELIMIT, $timeout)) { + SimpleSAML\Logger::warning('Library - LDAP __construct(): Unable to set timeouts (LDAP_OPT_TIMELIMIT) to '.$timeout); + } + } + + // Enable TLS, if needed + if (stripos($hostname, "ldaps:") === false && $enable_tls) { + if (!@ldap_start_tls($this->ldap)) { + throw $this->makeException('Library - LDAP __construct(): Unable to force TLS', ERR_INTERNAL); + } + } + } + + + /** + * Convenience method to create an LDAPException as well as log the + * description. + * + * @param string $description + * The exception's description + * @return Exception + */ + private function makeException($description, $type = null) + { + $errNo = 0x00; + + // Log LDAP code and description, if possible + if (empty($this->ldap)) { + SimpleSAML\Logger::error($description); + } else { + $errNo = @ldap_errno($this->ldap); + } + + // Decide exception type and return + if ($type) { + if ($errNo !== 0) { + // Only log real LDAP errors; not success + SimpleSAML\Logger::error($description.'; cause: \''.ldap_error($this->ldap).'\' (0x'.dechex($errNo).')'); + } else { + SimpleSAML\Logger::error($description); + } + + switch ($type) { + case ERR_INTERNAL:// 1 - ExInternal + return new SimpleSAML_Error_Exception($description, $errNo); + case ERR_NO_USER:// 2 - ExUserNotFound + return new SimpleSAML_Error_UserNotFound($description, $errNo); + case ERR_WRONG_PW:// 3 - ExInvalidCredential + return new SimpleSAML_Error_InvalidCredential($description, $errNo); + case ERR_AS_DATA_INCONSIST:// 4 - ExAsDataInconsist + return new SimpleSAML_Error_AuthSource('ldap', $description); + case ERR_AS_INTERNAL:// 5 - ExAsInternal + return new SimpleSAML_Error_AuthSource('ldap', $description); + } + } else { + if ($errNo !== 0) { + $description .= '; cause: \''.ldap_error($this->ldap).'\' (0x'.dechex($errNo).')'; + if (@ldap_get_option($this->ldap, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extendedError) && !empty($extendedError)) { + $description .= '; additional: \''.$extendedError.'\''; + } + } + switch ($errNo) { + case 0x20://LDAP_NO_SUCH_OBJECT + SimpleSAML\Logger::warning($description); + return new SimpleSAML_Error_UserNotFound($description, $errNo); + case 0x31://LDAP_INVALID_CREDENTIALS + SimpleSAML\Logger::info($description); + return new SimpleSAML_Error_InvalidCredential($description, $errNo); + case -1://NO_SERVER_CONNECTION + SimpleSAML\Logger::error($description); + return new SimpleSAML_Error_AuthSource('ldap', $description); + default: + SimpleSAML\Logger::error($description); + return new SimpleSAML_Error_AuthSource('ldap', $description); + } + } + } + + + /** + * Search for DN from a single base. + * + * @param string $base + * Indication of root of subtree to search + * @param string|array $attribute + * The attribute name(s) to search for. + * @param string $value + * The attribute value to search for. + * Additional search filter + * @param string|null $searchFilter + * The scope of the search + * @param string $scope + * @return string + * The DN of the resulting found element. + * @throws SimpleSAML_Error_Exception if: + * - Attribute parameter is wrong type + * @throws SimpleSAML_Error_AuthSource if: + * - Not able to connect to LDAP server + * - False search result + * - Count return false + * - Searche found more than one result + * - Failed to get first entry from result + * - Failed to get DN for entry + * @throws SimpleSAML_Error_UserNotFound if: + * - Zero entries were found + */ + private function search($base, $attribute, $value, $searchFilter = null, $scope = "subtree") + { + // Create the search filter + $attribute = self::escape_filter_value($attribute, false); + $value = self::escape_filter_value($value, true); + $filter = ''; + foreach ($attribute as $attr) { + $filter .= '('.$attr.'='.$value.')'; + } + $filter = '(|'.$filter.')'; + + // Append LDAP filters if defined + if ($searchFilter != null) { + $filter = "(&".$filter."".$searchFilter.")"; + } + + // Search using generated filter + SimpleSAML\Logger::debug('Library - LDAP search(): Searching base ('.$scope.') \''.$base.'\' for \''.$filter.'\''); + if ($scope === 'base') { + $result = @ldap_read($this->ldap, $base, $filter, array(), 0, 0, $this->timeout, LDAP_DEREF_NEVER); + } else if ($scope === 'onelevel') { + $result = @ldap_list($this->ldap, $base, $filter, array(), 0, 0, $this->timeout, LDAP_DEREF_NEVER); + } else { + $result = @ldap_search($this->ldap, $base, $filter, array(), 0, 0, $this->timeout, LDAP_DEREF_NEVER); + } + + if ($result === false) { + throw $this->makeException('Library - LDAP search(): Failed search on base \''.$base.'\' for \''.$filter.'\''); + } + + // Sanity checks on search results + $count = @ldap_count_entries($this->ldap, $result); + if ($count === false) { + throw $this->makeException('Library - LDAP search(): Failed to get number of entries returned'); + } elseif ($count > 1) { + // More than one entry is found. External error + throw $this->makeException('Library - LDAP search(): Found '.$count.' entries searching base \''.$base.'\' for \''.$filter.'\'', ERR_AS_DATA_INCONSIST); + } elseif ($count === 0) { + // No entry is fond => wrong username is given (or not registered in the catalogue). User error + throw $this->makeException('Library - LDAP search(): Found no entries searching base \''.$base.'\' for \''.$filter.'\'', ERR_NO_USER); + } + + + // Resolve the DN from the search result + $entry = @ldap_first_entry($this->ldap, $result); + if ($entry === false) { + throw $this->makeException('Library - LDAP search(): Unable to retrieve result after searching base \''.$base.'\' for \''.$filter.'\''); + } + $dn = @ldap_get_dn($this->ldap, $entry); + if ($dn === false) { + throw $this->makeException('Library - LDAP search(): Unable to get DN after searching base \''.$base.'\' for \''.$filter.'\''); + } + return $dn; + } + + + /** + * Search for a DN. + * + * @param string|array $base + * The base, or bases, which to search from. + * @param string|array $attribute + * The attribute name(s) searched for. + * @param string $value + * The attribute value searched for. + * @param bool $allowZeroHits + * Determines if the method will throw an exception if no hits are found. + * Defaults to FALSE. + * @param string|null $searchFilter + * Additional searchFilter to be added to the (attribute=value) filter + * @param string $scope + * The scope of the search + * @return string + * The DN of the matching element, if found. If no element was found and + * $allowZeroHits is set to FALSE, an exception will be thrown; otherwise + * NULL will be returned. + * @throws SimpleSAML_Error_AuthSource if: + * - LDAP search encounter some problems when searching cataloge + * - Not able to connect to LDAP server + * @throws SimpleSAML_Error_UserNotFound if: + * - $allowZeroHits is FALSE and no result is found + * + */ + public function searchfordn($base, $attribute, $value, $allowZeroHits = false, $searchFilter = null, $scope = 'subtree') + { + // Traverse all search bases, returning DN if found + $bases = SimpleSAML\Utils\Arrays::arrayize($base); + foreach ($bases as $current) { + try { + // Single base search + $result = $this->search($current, $attribute, $value, $searchFilter, $scope); + + // We don't hawe to look any futher if user is found + if (!empty($result)) { + return $result; + } + // If search failed, attempt the other base DNs + } catch (SimpleSAML_Error_UserNotFound $e) { + // Just continue searching + } + } + // Decide what to do for zero entries + SimpleSAML\Logger::debug('Library - LDAP searchfordn(): No entries found'); + if ($allowZeroHits) { + // Zero hits allowed + return null; + } else { + // Zero hits not allowed + throw $this->makeException('Library - LDAP searchfordn(): LDAP search returned zero entries for filter \'('. + join(' | ', $attribute).' = '.$value.')\' on base(s) \'('.join(' & ', $bases).')\'', 2); + } + } + + + /** + * This method was created specifically for the ldap:AttributeAddUsersGroups->searchActiveDirectory() + * method, but could be used for other LDAP search needs. It will search LDAP and return all the entries. + * + * @throws Exception + * @param string|array $bases + * @param string|array $filters Array of 'attribute' => 'values' to be combined into the filter, or a raw filter string + * @param string|array $attributes Array of attributes requested from LDAP + * @param bool $and If multiple filters defined, then either bind them with & or | + * @param bool $escape Weather to escape the filter values or not + * @param string $scope The scope of the search + * @return array + */ + public function searchformultiple($bases, $filters, $attributes = array(), $and = true, $escape = true, $scope = 'subtree') + { + // Escape the filter values, if requested + if ($escape) { + $filters = $this->escape_filter_value($filters, false); + } + + // Build search filter + $filter = ''; + if (is_array($filters)) { + foreach ($filters as $attribute => $value) { + $filter .= "($attribute=$value)"; + } + if (count($filters) > 1) { + $filter = ($and ? '(&' : '(|').$filter.')'; + } + } elseif (is_string($filters)) { + $filter = $filters; + } + + // Verify filter was created + if ($filter == '' || $filter == '(=)') { + throw $this->makeException('ldap:LdapConnection->search_manual : No search filters defined', ERR_INTERNAL); + } + + // Verify at least one base was passed + $bases = (array) $bases; + if (empty($bases)) { + throw $this->makeException('ldap:LdapConnection->search_manual : No base DNs were passed', ERR_INTERNAL); + } + + // Search each base until result is found + $result = false; + foreach ($bases as $base) { + if ($scope === 'base') { + $result = @ldap_read($this->ldap, $base, $filter, $attributes, 0, 0, $this->timeout); + } else if ($scope === 'onelevel') { + $result = @ldap_list($this->ldap, $base, $filter, $attributes, 0, 0, $this->timeout); + } else { + $result = @ldap_search($this->ldap, $base, $filter, $attributes, 0, 0, $this->timeout); + } + + if ($result !== false && @ldap_count_entries($this->ldap, $result) > 0) { + break; + } + } + + // Verify that a result was found in one of the bases + if ($result === false) { + throw $this->makeException( + 'ldap:LdapConnection->search_manual : Failed to search LDAP using base(s) ['. + implode('; ', $bases).'] with filter ['.$filter.']. LDAP error ['. + ldap_error($this->ldap).']' + ); + } elseif (@ldap_count_entries($this->ldap, $result) < 1) { + throw $this->makeException( + 'ldap:LdapConnection->search_manual : No entries found in LDAP using base(s) ['. + implode('; ', $bases).'] with filter ['.$filter.']', + ERR_NO_USER + ); + } + + // Get all results + $results = ldap_get_entries($this->ldap, $result); + if ($results === false) { + throw $this->makeException( + 'ldap:LdapConnection->search_manual : Unable to retrieve entries from search results' + ); + } + + // parse each entry and process its attributes + for ($i = 0; $i < $results['count']; $i++) { + $entry = $results[$i]; + + // iterate over the attributes of the entry + for ($j = 0; $j < $entry['count']; $j++) { + $name = $entry[$j]; + $attribute = $entry[$name]; + + // decide whether to base64 encode or not + for ($k = 0; $k < $attribute['count']; $k++) { + // base64 encode binary attributes + if (strtolower($name) === 'jpegphoto' || strtolower($name) === 'objectguid') { + $results[$i][$name][$k] = base64_encode($attribute[$k]); + } + } + } + } + + // Remove the count and return + unset($results['count']); + return $results; + } + + + /** + * Bind to LDAP with a specific DN and password. Simple wrapper around + * ldap_bind() with some additional logging. + * + * @param string $dn + * The DN used. + * @param string $password + * The password used. + * @param array $sasl_args + * Array of SASL options for SASL bind + * @return bool + * Returns TRUE if successful, FALSE if + * LDAP_INVALID_CREDENTIALS, LDAP_X_PROXY_AUTHZ_FAILURE, + * LDAP_INAPPROPRIATE_AUTH, LDAP_INSUFFICIENT_ACCESS + * @throws SimpleSAML_Error_Exception on other errors + */ + public function bind($dn, $password, array $sasl_args = null) + { + if ($sasl_args != null) { + if (!function_exists('ldap_sasl_bind')) { + $ex_msg = 'Library - missing SASL support'; + throw $this->makeException($ex_msg); + } + + // SASL Bind, with error handling + $authz_id = $sasl_args['authz_id']; + $error = @ldap_sasl_bind( + $this->ldap, + $dn, + $password, + $sasl_args['mech'], + $sasl_args['realm'], + $sasl_args['authc_id'], + $sasl_args['authz_id'], + $sasl_args['props'] + ); + } else { + // Simple Bind, with error handling + $authz_id = $dn; + $error = @ldap_bind($this->ldap, $dn, $password); + } + + if ($error === true) { + // Good + $this->authz_id = $authz_id; + SimpleSAML\Logger::debug('Library - LDAP bind(): Bind successful with DN \''.$dn.'\''); + return true; + } + + /* Handle errors + * LDAP_INVALID_CREDENTIALS + * LDAP_INSUFFICIENT_ACCESS */ + switch (ldap_errno($this->ldap)) { + case 32: // LDAP_NO_SUCH_OBJECT + // no break + case 47: // LDAP_X_PROXY_AUTHZ_FAILURE + // no break + case 48: // LDAP_INAPPROPRIATE_AUTH + // no break + case 49: // LDAP_INVALID_CREDENTIALS + // no break + case 50: // LDAP_INSUFFICIENT_ACCESS + return false; + default: + break; + } + + // Bad + throw $this->makeException('Library - LDAP bind(): Bind failed with DN \''.$dn.'\''); + } + + + /** + * Applies an LDAP option to the current connection. + * + * @throws Exception + * @param $option + * @param $value + * @return void + */ + public function setOption($option, $value) + { + // Attempt to set the LDAP option + if (!@ldap_set_option($this->ldap, $option, $value)) { + throw $this->makeException( + 'ldap:LdapConnection->setOption : Failed to set LDAP option ['. + $option.'] with the value ['.$value.'] error: '.ldap_error($this->ldap), + ERR_INTERNAL + ); + } + + // Log debug message + SimpleSAML\Logger::debug( + 'ldap:LdapConnection->setOption : Set the LDAP option ['. + $option.'] with the value ['.$value.']' + ); + } + + + /** + * Search a given DN for attributes, and return the resulting associative + * array. + * + * @param string $dn + * The DN of an element. + * @param string|array $attributes + * The names of the attribute(s) to retrieve. Defaults to NULL; that is, + * all available attributes. Note that this is not very effective. + * @param int $maxsize + * The maximum size of any attribute's value(s). If exceeded, the attribute + * will not be returned. + * @return array + * The array of attributes and their values. + * @see http://no.php.net/manual/en/function.ldap-read.php + */ + public function getAttributes($dn, $attributes = null, $maxsize = null) + { + // Preparations, including a pretty debug message... + $description = 'all attributes'; + if (is_array($attributes)) { + $description = '\''.join(',', $attributes).'\''; + } else { + // Get all attributes... + // TODO: Verify that this originally was the intended behaviour. Could $attributes be a string? + $attributes = array(); + } + SimpleSAML\Logger::debug('Library - LDAP getAttributes(): Getting '.$description.' from DN \''.$dn.'\''); + + // Attempt to get attributes + // TODO: Should aliases be dereferenced? + $result = @ldap_read($this->ldap, $dn, 'objectClass=*', $attributes, 0, 0, $this->timeout); + if ($result === false) { + throw $this->makeException('Library - LDAP getAttributes(): Failed to get attributes from DN \''.$dn.'\''); + } + $entry = @ldap_first_entry($this->ldap, $result); + if ($entry === false) { + throw $this->makeException('Library - LDAP getAttributes(): Could not get first entry from DN \''.$dn.'\''); + } + $attributes = @ldap_get_attributes($this->ldap, $entry); // Recycling $attributes... Possibly bad practice. + if ($attributes === false) { + throw $this->makeException('Library - LDAP getAttributes(): Could not get attributes of first entry from DN \''.$dn.'\''); + } + + // Parsing each found attribute into our result set + $result = array(); // Recycling $result... Possibly bad practice. + for ($i = 0; $i < $attributes['count']; $i++) { + // Ignore attributes that exceed the maximum allowed size + $name = $attributes[$i]; + $attribute = $attributes[$name]; + + // Deciding whether to base64 encode + $values = array(); + for ($j = 0; $j < $attribute['count']; $j++) { + $value = $attribute[$j]; + + if (!empty($maxsize) && strlen($value) > $maxsize) { + // Ignoring and warning + SimpleSAML\Logger::warning('Library - LDAP getAttributes(): Attribute \''. + $name.'\' exceeded maximum allowed size by '.(strlen($value) - $maxsize)); + continue; + } + + // Base64 encode binary attributes + if (strtolower($name) === 'jpegphoto' || strtolower($name) === 'objectguid' || strtolower($name) === 'ms-ds-consistencyguid') { + $values[] = base64_encode($value); + } else { + $values[] = $value; + } + } + + // Adding + $result[$name] = $values; + } + + // We're done + SimpleSAML\Logger::debug('Library - LDAP getAttributes(): Found attributes \'('.join(',', array_keys($result)).')\''); + return $result; + } + + + /** + * Enter description here... + * + * @param array $config + * @param string $username + * @param string $password + * @return array|bool + */ + public function validate($config, $username, $password = null) + { + /* Escape any characters with a special meaning in LDAP. The following + * characters have a special meaning (according to RFC 2253): + * ',', '+', '"', '\', '<', '>', ';', '*' + * These characters are escaped by prefixing them with '\'. + */ + $username = addcslashes($username, ',+"\\<>;*'); + + if (isset($config['priv_user_dn'])) { + $this->bind($config['priv_user_dn'], $config['priv_user_pw']); + } + if (isset($config['dnpattern'])) { + $dn = str_replace('%username%', $username, $config['dnpattern']); + } else { + $dn = $this->searchfordn($config['searchbase'], $config['searchattributes'], $username); + } + + if ($password !== null) { // checking users credentials ... assuming below that she may read her own attributes ... + // escape characters with a special meaning, also in the password + $password = addcslashes($password, ',+"\\<>;*'); + if (!$this->bind($dn, $password)) { + SimpleSAML\Logger::info('Library - LDAP validate(): Failed to authenticate \''.$username.'\' using DN \''.$dn.'\''); + return false; + } + } + + /* + * Retrieve attributes from LDAP + */ + $attributes = $this->getAttributes($dn, $config['attributes']); + return $attributes; + } + + + /** + * Borrowed function from PEAR:LDAP. + * + * Escapes the given VALUES according to RFC 2254 so that they can be safely used in LDAP filters. + * + * Any control characters with an ACII code < 32 as well as the characters with special meaning in + * LDAP filters "*", "(", ")", and "\" (the backslash) are converted into the representation of a + * backslash followed by two hex digits representing the hexadecimal value of the character. + * + * @static + * @param string|array $values Array of values to escape + * @return array Array $values, but escaped + */ + public static function escape_filter_value($values = array(), $singleValue = true) + { + // Parameter validation + $values = \SimpleSAML\Utils\Arrays::arrayize($values); + + foreach ($values as $key => $val) { + // Escaping of filter meta characters + $val = str_replace('\\', '\5c', $val); + $val = str_replace('*', '\2a', $val); + $val = str_replace('(', '\28', $val); + $val = str_replace(')', '\29', $val); + + // ASCII < 32 escaping + $val = self::asc2hex32($val); + + if (null === $val) { + $val = '\0'; // apply escaped "null" if string is empty + } + + $values[$key] = $val; + } + if ($singleValue) { + return $values[0]; + } + return $values; + } + + + /** + * Borrowed function from PEAR:LDAP. + * + * Converts all ASCII chars < 32 to "\HEX" + * + * @param string $string String to convert + * + * @static + * @return string + */ + public static function asc2hex32($string) + { + for ($i = 0; $i < strlen($string); $i++) { + $char = substr($string, $i, 1); + if (ord($char) < 32) { + $hex = dechex(ord($char)); + if (strlen($hex) == 1) { + $hex = '0'.$hex; + } + $string = str_replace($char, '\\'.$hex, $string); + } + } + return $string; + } + + /** + * Convert SASL authz_id into a DN + */ + private function authzid_to_dn($searchBase, $searchAttributes, $authz_id) + { + if (preg_match("/^dn:/", $authz_id)) { + return preg_replace("/^dn:/", "", $authz_id); + } + + if (preg_match("/^u:/", $authz_id)) { + return $this->searchfordn( + $searchBase, + $searchAttributes, + preg_replace("/^u:/", "", $authz_id) + ); + } + return $authz_id; + } + + /** + * ldap_exop_whoami accessor, if available. Use requested authz_id + * otherwise. + * + * ldap_exop_whoami() has been provided as a third party patch that + * waited several years to get its way upstream: + * http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files + * + * When it was integrated into PHP repository, the function prototype + * was changed, The new prototype was used in third party patch for + * PHP 7.0 and 7.1, hence the version test below. + */ + public function whoami($searchBase, $searchAttributes) + { + $authz_id = ''; + if (function_exists('ldap_exop_whoami')) { + if (version_compare(phpversion(), '7', '<')) { + if (ldap_exop_whoami($this->ldap, $authz_id) !== true) { + throw $this->makeException('LDAP whoami exop failure'); + } + } else { + if (($authz_id = ldap_exop_whoami($this->ldap)) === false) { + throw $this->makeException('LDAP whoami exop failure'); + } + } + } else { + $authz_id = $this->authz_id; + } + + $dn = $this->authzid_to_dn($searchBase, $searchAttributes, $authz_id); + + if (!isset($dn) || ($dn == '')) { + throw $this->makeException('Cannot figure userID'); + } + + return $dn; + } +} diff --git a/lib/SimpleSAML/Auth/ProcessingChain.php b/lib/SimpleSAML/Auth/ProcessingChain.php new file mode 100755 index 0000000..d3aef12 --- /dev/null +++ b/lib/SimpleSAML/Auth/ProcessingChain.php @@ -0,0 +1,369 @@ +filters = array(); + + $config = SimpleSAML_Configuration::getInstance(); + $configauthproc = $config->getArray('authproc.' . $mode, null); + + if (!empty($configauthproc)) { + $configfilters = self::parseFilterList($configauthproc); + self::addFilters($this->filters, $configfilters); + } + + if (array_key_exists('authproc', $idpMetadata)) { + $idpFilters = self::parseFilterList($idpMetadata['authproc']); + self::addFilters($this->filters, $idpFilters); + } + + if (array_key_exists('authproc', $spMetadata)) { + $spFilters = self::parseFilterList($spMetadata['authproc']); + self::addFilters($this->filters, $spFilters); + } + + + SimpleSAML\Logger::debug('Filter config for ' . $idpMetadata['entityid'] . '->' . + $spMetadata['entityid'] . ': ' . str_replace("\n", '', var_export($this->filters, true))); + } + + + /** + * Sort & merge filter configuration + * + * Inserts unsorted filters into sorted filter list. This sort operation is stable. + * + * @param array &$target Target filter list. This list must be sorted. + * @param array $src Source filters. May be unsorted. + */ + private static function addFilters(&$target, $src) + { + assert(is_array($target)); + assert(is_array($src)); + + foreach ($src as $filter) { + $fp = $filter->priority; + + // Find insertion position for filter + for ($i = count($target)-1; $i >= 0; $i--) { + if ($target[$i]->priority <= $fp) { + // The new filter should be inserted after this one + break; + } + } + /* $i now points to the filter which should preceede the current filter. */ + array_splice($target, $i+1, 0, array($filter)); + } + } + + + /** + * Parse an array of authentication processing filters. + * + * @param array $filterSrc Array with filter configuration. + * @return array Array of SimpleSAML_Auth_ProcessingFilter objects. + */ + private static function parseFilterList($filterSrc) + { + assert(is_array($filterSrc)); + + $parsedFilters = array(); + + foreach ($filterSrc as $priority => $filter) { + if (is_string($filter)) { + $filter = array('class' => $filter); + } + + if (!is_array($filter)) { + throw new Exception('Invalid authentication processing filter configuration: ' . + 'One of the filters wasn\'t a string or an array.'); + } + + $parsedFilters[] = self::parseFilter($filter, $priority); + } + + return $parsedFilters; + } + + + /** + * Parse an authentication processing filter. + * + * @param array $config Array with the authentication processing filter configuration. + * @param int $priority The priority of the current filter, (not included in the filter + * definition.) + * @return SimpleSAML_Auth_ProcessingFilter The parsed filter. + */ + private static function parseFilter($config, $priority) + { + assert(is_array($config)); + + if (!array_key_exists('class', $config)) { + throw new Exception('Authentication processing filter without name given.'); + } + + $className = SimpleSAML\Module::resolveClass($config['class'], 'Auth_Process', 'SimpleSAML_Auth_ProcessingFilter'); + $config['%priority'] = $priority; + unset($config['class']); + return new $className($config, null); + } + + + /** + * Process the given state. + * + * This function will only return if processing completes. If processing requires showing + * a page to the user, we will not be able to return from this function. There are two ways + * this can be handled: + * - Redirect to a URL: We will redirect to the URL set in $state['ReturnURL']. + * - Call a function: We will call the function set in $state['ReturnCall']. + * + * If an exception is thrown during processing, it should be handled by the caller of + * this function. If the user has redirected to a different page, the exception will be + * returned through the exception handler defined on the state array. See + * SimpleSAML_Auth_State for more information. + * + * @see SimpleSAML_Auth_State + * @see SimpleSAML_Auth_State::EXCEPTION_HANDLER_URL + * @see SimpleSAML_Auth_State::EXCEPTION_HANDLER_FUNC + * + * @param array &$state The state we are processing. + */ + public function processState(&$state) + { + assert(is_array($state)); + assert(array_key_exists('ReturnURL', $state) || array_key_exists('ReturnCall', $state)); + assert(!array_key_exists('ReturnURL', $state) || !array_key_exists('ReturnCall', $state)); + + $state[self::FILTERS_INDEX] = $this->filters; + + try { + // TODO: remove this in SSP 2.0 + if (!array_key_exists('UserID', $state)) { + // No unique user ID present. Attempt to add one. + self::addUserID($state); + } + + while (count($state[self::FILTERS_INDEX]) > 0) { + $filter = array_shift($state[self::FILTERS_INDEX]); + $filter->process($state); + } + } catch (SimpleSAML_Error_Exception $e) { + // No need to convert the exception + throw $e; + } catch (Exception $e) { + /* + * To be consistent with the exception we return after an redirect, + * we convert this exception before returning it. + */ + throw new SimpleSAML_Error_UnserializableException($e); + } + + // Completed + } + + + /** + * Continues processing of the state. + * + * This function is used to resume processing by filters which for example needed to show + * a page to the user. + * + * This function will never return. Exceptions thrown during processing will be passed + * to whatever exception handler is defined in the state array. + * + * @param array $state The state we are processing. + */ + public static function resumeProcessing($state) + { + assert(is_array($state)); + + while (count($state[self::FILTERS_INDEX]) > 0) { + $filter = array_shift($state[self::FILTERS_INDEX]); + try { + $filter->process($state); + } catch (SimpleSAML_Error_Exception $e) { + SimpleSAML_Auth_State::throwException($state, $e); + } catch (Exception $e) { + $e = new SimpleSAML_Error_UnserializableException($e); + SimpleSAML_Auth_State::throwException($state, $e); + } + } + + // Completed + + assert(array_key_exists('ReturnURL', $state) || array_key_exists('ReturnCall', $state)); + assert(!array_key_exists('ReturnURL', $state) || !array_key_exists('ReturnCall', $state)); + + + if (array_key_exists('ReturnURL', $state)) { + /* + * Save state information, and redirect to the URL specified + * in $state['ReturnURL']. + */ + $id = SimpleSAML_Auth_State::saveState($state, self::COMPLETED_STAGE); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($state['ReturnURL'], array(self::AUTHPARAM => $id)); + } else { + /* Pass the state to the function defined in $state['ReturnCall']. */ + + // We are done with the state array in the session. Delete it. + SimpleSAML_Auth_State::deleteState($state); + + $func = $state['ReturnCall']; + assert(is_callable($func)); + + call_user_func($func, $state); + assert(false); + } + } + + + /** + * Process the given state passivly. + * + * Modules with user interaction are expected to throw an \SimpleSAML\Module\saml\Error\NoPassive exception + * which are silently ignored. Exceptions of other types are passed further up the call stack. + * + * This function will only return if processing completes. + * + * @param array &$state The state we are processing. + */ + public function processStatePassive(&$state) + { + assert(is_array($state)); + // Should not be set when calling this method + assert(!array_key_exists('ReturnURL', $state)); + + // Notify filters about passive request + $state['isPassive'] = true; + + $state[self::FILTERS_INDEX] = $this->filters; + + // TODO: remove this in SSP 2.0 + if (!array_key_exists('UserID', $state)) { + // No unique user ID present. Attempt to add one. + self::addUserID($state); + } + + while (count($state[self::FILTERS_INDEX]) > 0) { + $filter = array_shift($state[self::FILTERS_INDEX]); + try { + $filter->process($state); + // Ignore SimpleSAML_Error_NoPassive exceptions + } catch (SimpleSAML_Error_NoPassive $e) { + // @deprecated will be removed in 2.0 + // Ignore \SimpleSAML\Error\NoPassive exceptions + } catch (\SimpleSAML\Module\saml\Error\NoPassive $e) { + // Ignore \SimpleSAML\Module\saml\Error\NoPassive exceptions + } + } + } + + /** + * Retrieve a state which has finished processing. + * + * @param string $id The state identifier. + * @see SimpleSAML_Auth_State::parseStateID() + * @return Array The state referenced by the $id parameter. + */ + public static function fetchProcessedState($id) + { + assert(is_string($id)); + + return SimpleSAML_Auth_State::loadState($id, self::COMPLETED_STAGE); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + private static function addUserID(&$state) + { + assert(is_array($state)); + assert(array_key_exists('Attributes', $state)); + + if (isset($state['Destination']['userid.attribute'])) { + $attributeName = $state['Destination']['userid.attribute']; + SimpleSAML\Logger::warning("The 'userid.attribute' option has been deprecated."); + } elseif (isset($state['Source']['userid.attribute'])) { + $attributeName = $state['Source']['userid.attribute']; + SimpleSAML\Logger::warning("The 'userid.attribute' option has been deprecated."); + } else { + // Default attribute + $attributeName = 'eduPersonPrincipalName'; + } + + if (!array_key_exists($attributeName, $state['Attributes'])) { + return; + } + + $uid = $state['Attributes'][$attributeName]; + if (count($uid) === 0) { + SimpleSAML\Logger::warning('Empty user id attribute [' . $attributeName . '].'); + return; + } + + if (count($uid) > 1) { + SimpleSAML\Logger::warning('Multiple attribute values for user id attribute [' . $attributeName . '].'); + return; + } + + // TODO: the attribute value should be trimmed + $uid = $uid[0]; + + if (empty($uid)) { + SimpleSAML\Logger::warning('Empty value in attribute '.$attributeName.". on user. Cannot set UserID."); + return; + } + $state['UserID'] = $uid; + } +} diff --git a/lib/SimpleSAML/Auth/ProcessingFilter.php b/lib/SimpleSAML/Auth/ProcessingFilter.php new file mode 100755 index 0000000..e6126da --- /dev/null +++ b/lib/SimpleSAML/Auth/ProcessingFilter.php @@ -0,0 +1,67 @@ +priority = $config['%priority']; + if (!is_int($this->priority)) { + throw new Exception('Invalid priority: ' . var_export($this->priority, true)); + } + unset($config['%priority']); + } + } + + + /** + * Process a request. + * + * When a filter returns from this function, it is assumed to have completed its task. + * + * @param array &$request The request we are currently processing. + */ + abstract public function process(&$request); +} diff --git a/lib/SimpleSAML/Auth/Simple.php b/lib/SimpleSAML/Auth/Simple.php new file mode 100755 index 0000000..9ad8e86 --- /dev/null +++ b/lib/SimpleSAML/Auth/Simple.php @@ -0,0 +1,401 @@ +authSource = $authSource; + $this->app_config = Configuration::getInstance()->getConfigItem('application', null); + } + + + /** + * Retrieve the implementing authentication source. + * + * @return \SimpleSAML_Auth_Source The authentication source. + * + * @throws \SimpleSAML_Error_AuthSource If the requested auth source is unknown. + */ + public function getAuthSource() + { + $as = Source::getById($this->authSource); + if ($as === null) { + throw new AuthSourceError($this->authSource, 'Unknown authentication source.'); + } + return $as; + } + + + /** + * Check if the user is authenticated. + * + * This function checks if the user is authenticated with the default authentication source selected by the + * 'default-authsource' option in 'config.php'. + * + * @return bool True if the user is authenticated, false if not. + */ + public function isAuthenticated() + { + $session = Session::getSessionFromRequest(); + + return $session->isValid($this->authSource); + } + + + /** + * Require the user to be authenticated. + * + * If the user is authenticated, this function returns immediately. + * + * If the user isn't authenticated, this function will authenticate the user with the authentication source, and + * then return the user to the current page. + * + * This function accepts an array $params, which controls some parts of the authentication. See the login() + * method for a description. + * + * @param array $params Various options to the authentication request. See the documentation. + */ + public function requireAuth(array $params = array()) + { + + $session = Session::getSessionFromRequest(); + + if ($session->isValid($this->authSource)) { + // Already authenticated + return; + } + + $this->login($params); + } + + + /** + * Start an authentication process. + * + * This function accepts an array $params, which controls some parts of the authentication. The accepted parameters + * depends on the authentication source being used. Some parameters are generic: + * - 'ErrorURL': A URL that should receive errors from the authentication. + * - 'KeepPost': If the current request is a POST request, keep the POST data until after the authentication. + * - 'ReturnTo': The URL the user should be returned to after authentication. + * - 'ReturnCallback': The function we should call after the user has finished authentication. + * + * Please note: this function never returns. + * + * @param array $params Various options to the authentication request. + */ + public function login(array $params = array()) + { + + if (array_key_exists('KeepPost', $params)) { + $keepPost = (bool) $params['KeepPost']; + } else { + $keepPost = true; + } + + if (array_key_exists('ReturnTo', $params)) { + $returnTo = (string) $params['ReturnTo']; + } else { + if (array_key_exists('ReturnCallback', $params)) { + $returnTo = (array) $params['ReturnCallback']; + } else { + $returnTo = HTTP::getSelfURL(); + } + } + + if (is_string($returnTo) && $keepPost && $_SERVER['REQUEST_METHOD'] === 'POST') { + $returnTo = HTTP::getPOSTRedirectURL($returnTo, $_POST); + } + + if (array_key_exists('ErrorURL', $params)) { + $errorURL = (string) $params['ErrorURL']; + } else { + $errorURL = null; + } + + + if (!isset($params[State::RESTART]) && is_string($returnTo)) { + /* + * A URL to restart the authentication, in case the user bookmarks + * something, e.g. the discovery service page. + */ + $restartURL = $this->getLoginURL($returnTo); + $params[State::RESTART] = $restartURL; + } + + $as = $this->getAuthSource(); + $as->initLogin($returnTo, $errorURL, $params); + assert(false); + } + + + /** + * Log the user out. + * + * This function logs the user out. It will never return. By default, it will cause a redirect to the current page + * after logging the user out, but a different URL can be given with the $params parameter. + * + * Generic parameters are: + * - 'ReturnTo': The URL the user should be returned to after logout. + * - 'ReturnCallback': The function that should be called after logout. + * - 'ReturnStateParam': The parameter we should return the state in when redirecting. + * - 'ReturnStateStage': The stage the state array should be saved with. + * + * @param string|array|null $params Either the URL the user should be redirected to after logging out, or an array + * with parameters for the logout. If this parameter is null, we will return to the current page. + */ + public function logout($params = null) + { + assert(is_array($params) || is_string($params) || $params === null); + + if ($params === null) { + $params = HTTP::getSelfURL(); + } + + if (is_string($params)) { + $params = array( + 'ReturnTo' => $params, + ); + } + + assert(is_array($params)); + assert(isset($params['ReturnTo']) || isset($params['ReturnCallback'])); + + if (isset($params['ReturnStateParam']) || isset($params['ReturnStateStage'])) { + assert(isset($params['ReturnStateParam'], $params['ReturnStateStage'])); + } + + $session = Session::getSessionFromRequest(); + if ($session->isValid($this->authSource)) { + $state = $session->getAuthData($this->authSource, 'LogoutState'); + if ($state !== null) { + $params = array_merge($state, $params); + } + + $session->doLogout($this->authSource); + + $params['LogoutCompletedHandler'] = array(get_class(), 'logoutCompleted'); + + $as = Source::getById($this->authSource); + if ($as !== null) { + $as->logout($params); + } + } + + self::logoutCompleted($params); + } + + + /** + * Called when logout operation completes. + * + * This function never returns. + * + * @param array $state The state after the logout. + */ + public static function logoutCompleted($state) + { + assert(is_array($state)); + assert(isset($state['ReturnTo']) || isset($state['ReturnCallback'])); + + if (isset($state['ReturnCallback'])) { + call_user_func($state['ReturnCallback'], $state); + assert(false); + } else { + $params = array(); + if (isset($state['ReturnStateParam']) || isset($state['ReturnStateStage'])) { + assert(isset($state['ReturnStateParam'], $state['ReturnStateStage'])); + $stateID = State::saveState($state, $state['ReturnStateStage']); + $params[$state['ReturnStateParam']] = $stateID; + } + \SimpleSAML\Utils\HTTP::redirectTrustedURL($state['ReturnTo'], $params); + } + } + + + /** + * Retrieve attributes of the current user. + * + * This function will retrieve the attributes of the current user if the user is authenticated. If the user isn't + * authenticated, it will return an empty array. + * + * @return array The users attributes. + */ + public function getAttributes() + { + + if (!$this->isAuthenticated()) { + // Not authenticated + return array(); + } + + // Authenticated + $session = Session::getSessionFromRequest(); + return $session->getAuthData($this->authSource, 'Attributes'); + } + + + /** + * Retrieve authentication data. + * + * @param string $name The name of the parameter, e.g. 'Attributes', 'Expire' or 'saml:sp:IdP'. + * + * @return mixed|null The value of the parameter, or null if it isn't found or we are unauthenticated. + */ + public function getAuthData($name) + { + assert(is_string($name)); + + if (!$this->isAuthenticated()) { + return null; + } + + $session = Session::getSessionFromRequest(); + return $session->getAuthData($this->authSource, $name); + } + + + /** + * Retrieve all authentication data. + * + * @return array|null All persistent authentication data, or null if we aren't authenticated. + */ + public function getAuthDataArray() + { + + if (!$this->isAuthenticated()) { + return null; + } + + $session = Session::getSessionFromRequest(); + return $session->getAuthState($this->authSource); + } + + + /** + * Retrieve a URL that can be used to log the user in. + * + * @param string|null $returnTo The page the user should be returned to afterwards. If this parameter is null, the + * user will be returned to the current page. + * + * @return string A URL which is suitable for use in link-elements. + */ + public function getLoginURL($returnTo = null) + { + assert($returnTo === null || is_string($returnTo)); + + if ($returnTo === null) { + $returnTo = HTTP::getSelfURL(); + } + + $login = Module::getModuleURL('core/as_login.php', array( + 'AuthId' => $this->authSource, + 'ReturnTo' => $returnTo, + )); + + return $login; + } + + + /** + * Retrieve a URL that can be used to log the user out. + * + * @param string|null $returnTo The page the user should be returned to afterwards. If this parameter is null, the + * user will be returned to the current page. + * + * @return string A URL which is suitable for use in link-elements. + */ + public function getLogoutURL($returnTo = null) + { + assert($returnTo === null || is_string($returnTo)); + + if ($returnTo === null) { + $returnTo = HTTP::getSelfURL(); + } + + $logout = Module::getModuleURL('core/as_logout.php', array( + 'AuthId' => $this->authSource, + 'ReturnTo' => $returnTo, + )); + + return $logout; + } + + + /** + * Process a URL and modify it according to the application/baseURL configuration option, if present. + * + * @param string|null $url The URL to process, or null if we want to use the current URL. Both partial and full + * URLs can be used as a parameter. The maximum precedence is given to the application/baseURL configuration option, + * then the URL specified (if it specifies scheme, host and port) and finally the environment observed in the + * server. + * + * @return string The URL modified according to the precedence rules. + */ + protected function getProcessedURL($url = null) + { + if ($url === null) { + $url = HTTP::getSelfURL(); + } + + $scheme = parse_url($url, PHP_URL_SCHEME); + $host = parse_url($url, PHP_URL_HOST) ?: HTTP::getSelfHost(); + $port = parse_url($url, PHP_URL_PORT) ?: ( + $scheme ? '' : trim(HTTP::getServerPort(), ':') + ); + $scheme = $scheme ?: (HTTP::getServerHTTPS() ? 'https' : 'http'); + $path = parse_url($url, PHP_URL_PATH) ?: '/'; + $query = parse_url($url, PHP_URL_QUERY) ?: ''; + $fragment = parse_url($url, PHP_URL_FRAGMENT) ?: ''; + + $port = !empty($port) ? ':'.$port : ''; + if (($scheme === 'http' && $port === ':80') || ($scheme === 'https' && $port === ':443')) { + $port = ''; + } + + if (is_null($this->app_config)) { + // nothing more we can do here + return $scheme.'://'.$host.$port.$path.($query ? '?'.$query : '').($fragment ? '#'.$fragment : ''); + } + + $base = trim($this->app_config->getString( + 'baseURL', + $scheme.'://'.$host.$port + ), '/'); + return $base.$path.($query ? '?'.$query : '').($fragment ? '#'.$fragment : ''); + } +} diff --git a/lib/SimpleSAML/Auth/Source.php b/lib/SimpleSAML/Auth/Source.php new file mode 100755 index 0000000..44cd69a --- /dev/null +++ b/lib/SimpleSAML/Auth/Source.php @@ -0,0 +1,513 @@ +authId = $info['AuthId']; + } + + + /** + * Get sources of a specific type. + * + * @param string $type The type of the authentication source. + * + * @return SimpleSAML_Auth_Source[] Array of SimpleSAML_Auth_Source objects of the specified type. + * @throws Exception If the authentication source is invalid. + */ + public static function getSourcesOfType($type) + { + assert(is_string($type)); + + $config = SimpleSAML_Configuration::getConfig('authsources.php'); + + $ret = array(); + + $sources = $config->getOptions(); + foreach ($sources as $id) { + $source = $config->getArray($id); + + self::validateSource($source, $id); + + if ($source[0] !== $type) { + continue; + } + + $ret[] = self::parseAuthSource($id, $source); + } + + return $ret; + } + + + /** + * Retrieve the ID of this authentication source. + * + * @return string The ID of this authentication source. + */ + public function getAuthId() + { + return $this->authId; + } + + + /** + * Process a request. + * + * If an authentication source returns from this function, it is assumed to have + * authenticated the user, and should have set elements in $state with the attributes + * of the user. + * + * If the authentication process requires additional steps which make it impossible to + * complete before returning from this function, the authentication source should + * save the state, and at a later stage, load the state, update it with the authentication + * information about the user, and call completeAuth with the state array. + * + * @param array &$state Information about the current authentication. + */ + abstract public function authenticate(&$state); + + + /** + * Reauthenticate an user. + * + * This function is called by the IdP to give the authentication source a chance to + * interact with the user even in the case when the user is already authenticated. + * + * @param array &$state Information about the current authentication. + */ + public function reauthenticate(array &$state) + { + assert(isset($state['ReturnCallback'])); + + // the default implementation just copies over the previous authentication data + $session = SimpleSAML_Session::getSessionFromRequest(); + $data = $session->getAuthState($this->authId); + foreach ($data as $k => $v) { + $state[$k] = $v; + } + } + + + /** + * Complete authentication. + * + * This function should be called if authentication has completed. It will never return, + * except in the case of exceptions. Exceptions thrown from this page should not be caught, + * but should instead be passed to the top-level exception handler. + * + * @param array &$state Information about the current authentication. + */ + public static function completeAuth(&$state) + { + assert(is_array($state)); + assert(array_key_exists('LoginCompletedHandler', $state)); + + SimpleSAML_Auth_State::deleteState($state); + + $func = $state['LoginCompletedHandler']; + assert(is_callable($func)); + + call_user_func($func, $state); + assert(false); + } + + + /** + * Start authentication. + * + * This method never returns. + * + * @param string|array $return The URL or function we should direct the user to after authentication. If using a + * URL obtained from user input, please make sure to check it by calling \SimpleSAML\Utils\HTTP::checkURLAllowed(). + * @param string|null $errorURL The URL we should direct the user to after failed authentication. Can be null, in + * which case a standard error page will be shown. If using a URL obtained from user input, please make sure to + * check it by calling \SimpleSAML\Utils\HTTP::checkURLAllowed(). + * @param array $params Extra information about the login. Different authentication requestors may provide different + * information. Optional, will default to an empty array. + */ + public function initLogin($return, $errorURL = null, array $params = array()) + { + assert(is_string($return) || is_array($return)); + assert(is_string($errorURL) || $errorURL === null); + + $state = array_merge($params, array( + 'SimpleSAML_Auth_Default.id' => $this->authId, // TODO: remove in 2.0 + 'SimpleSAML_Auth_Source.id' => $this->authId, + 'SimpleSAML_Auth_Default.Return' => $return, // TODO: remove in 2.0 + 'SimpleSAML_Auth_Source.Return' => $return, + 'SimpleSAML_Auth_Default.ErrorURL' => $errorURL, // TODO: remove in 2.0 + 'SimpleSAML_Auth_Source.ErrorURL' => $errorURL, + 'LoginCompletedHandler' => array(get_class(), 'loginCompleted'), + 'LogoutCallback' => array(get_class(), 'logoutCallback'), + 'LogoutCallbackState' => array( + 'SimpleSAML_Auth_Default.logoutSource' => $this->authId, // TODO: remove in 2.0 + 'SimpleSAML_Auth_Source.logoutSource' => $this->authId, + ), + )); + + if (is_string($return)) { + $state['SimpleSAML_Auth_Default.ReturnURL'] = $return; // TODO: remove in 2.0 + $state['SimpleSAML_Auth_Source.ReturnURL'] = $return; + } + + if ($errorURL !== null) { + $state[SimpleSAML_Auth_State::EXCEPTION_HANDLER_URL] = $errorURL; + } + + try { + $this->authenticate($state); + } catch (SimpleSAML_Error_Exception $e) { + SimpleSAML_Auth_State::throwException($state, $e); + } catch (Exception $e) { + $e = new SimpleSAML_Error_UnserializableException($e); + SimpleSAML_Auth_State::throwException($state, $e); + } + self::loginCompleted($state); + } + + + /** + * Called when a login operation has finished. + * + * This method never returns. + * + * @param array $state The state after the login has completed. + */ + public static function loginCompleted($state) + { + assert(is_array($state)); + assert(array_key_exists('SimpleSAML_Auth_Source.Return', $state)); + assert(array_key_exists('SimpleSAML_Auth_Source.id', $state)); + assert(array_key_exists('Attributes', $state)); + assert(!array_key_exists('LogoutState', $state) || is_array($state['LogoutState'])); + + $return = $state['SimpleSAML_Auth_Source.Return']; + + // save session state + $session = SimpleSAML_Session::getSessionFromRequest(); + $authId = $state['SimpleSAML_Auth_Source.id']; + $session->doLogin($authId, SimpleSAML_Auth_State::getPersistentAuthData($state)); + + if (is_string($return)) { // redirect... + \SimpleSAML\Utils\HTTP::redirectTrustedURL($return); + } else { + call_user_func($return, $state); + } + assert(false); + } + + + /** + * Log out from this authentication source. + * + * This function should be overridden if the authentication source requires special + * steps to complete a logout operation. + * + * If the logout process requires a redirect, the state should be saved. Once the + * logout operation is completed, the state should be restored, and completeLogout + * should be called with the state. If this operation can be completed without + * showing the user a page, or redirecting, this function should return. + * + * @param array &$state Information about the current logout operation. + */ + public function logout(&$state) + { + assert(is_array($state)); + // default logout handler which doesn't do anything + } + + + /** + * Complete logout. + * + * This function should be called after logout has completed. It will never return, + * except in the case of exceptions. Exceptions thrown from this page should not be caught, + * but should instead be passed to the top-level exception handler. + * + * @param array &$state Information about the current authentication. + */ + public static function completeLogout(&$state) + { + assert(is_array($state)); + assert(array_key_exists('LogoutCompletedHandler', $state)); + + SimpleSAML_Auth_State::deleteState($state); + + $func = $state['LogoutCompletedHandler']; + assert(is_callable($func)); + + call_user_func($func, $state); + assert(false); + } + + + /** + * Create authentication source object from configuration array. + * + * This function takes an array with the configuration for an authentication source object, + * and returns the object. + * + * @param string $authId The authentication source identifier. + * @param array $config The configuration. + * + * @return SimpleSAML_Auth_Source The parsed authentication source. + * @throws Exception If the authentication source is invalid. + */ + private static function parseAuthSource($authId, $config) + { + assert(is_string($authId)); + assert(is_array($config)); + + self::validateSource($config, $authId); + + $id = $config[0]; + $info = array('AuthId' => $authId); + $authSource = null; + + unset($config[0]); + + try { + // Check whether or not there's a factory responsible for instantiating our Auth Source instance + $factoryClass = SimpleSAML\Module::resolveClass($id, 'Auth_Source_Factory', 'SimpleSAML\Auth\SourceFactory'); + + /** @var SourceFactory $factory */ + $factory = new $factoryClass; + $authSource = $factory->create($info, $config); + } catch (Exception $e) { + // If not, instantiate the Auth Source here + $className = SimpleSAML\Module::resolveClass($id, 'Auth_Source', 'SimpleSAML_Auth_Source'); + $authSource = new $className($info, $config); + } + + return $authSource; + } + + + /** + * Retrieve authentication source. + * + * This function takes an id of an authentication source, and returns the + * AuthSource object. If no authentication source with the given id can be found, + * NULL will be returned. + * + * If the $type parameter is specified, this function will return an + * authentication source of the given type. If no authentication source or if an + * authentication source of a different type is found, an exception will be thrown. + * + * @param string $authId The authentication source identifier. + * @param string|NULL $type The type of authentication source. If NULL, any type will be accepted. + * + * @return SimpleSAML_Auth_Source|NULL The AuthSource object, or NULL if no authentication + * source with the given identifier is found. + * @throws SimpleSAML_Error_Exception If no such authentication source is found or it is invalid. + */ + public static function getById($authId, $type = null) + { + assert(is_string($authId)); + assert($type === null || is_string($type)); + + // for now - load and parse config file + $config = SimpleSAML_Configuration::getConfig('authsources.php'); + + $authConfig = $config->getArray($authId, null); + if ($authConfig === null) { + if ($type !== null) { + throw new SimpleSAML_Error_Exception( + 'No authentication source with id '. + var_export($authId, true).' found.' + ); + } + return null; + } + + $ret = self::parseAuthSource($authId, $authConfig); + + if ($type === null || $ret instanceof $type) { + return $ret; + } + + // the authentication source doesn't have the correct type + throw new SimpleSAML_Error_Exception( + 'Invalid type of authentication source '. + var_export($authId, true).'. Was '.var_export(get_class($ret), true). + ', should be '.var_export($type, true).'.' + ); + } + + + /** + * Called when the authentication source receives an external logout request. + * + * @param array $state State array for the logout operation. + */ + public static function logoutCallback($state) + { + assert(is_array($state)); + assert(array_key_exists('SimpleSAML_Auth_Source.logoutSource', $state)); + + $source = $state['SimpleSAML_Auth_Source.logoutSource']; + + $session = SimpleSAML_Session::getSessionFromRequest(); + if (!$session->isValid($source)) { + SimpleSAML\Logger::warning( + 'Received logout from an invalid authentication source '. + var_export($source, true) + ); + + return; + } + $session->doLogout($source); + } + + + /** + * Add a logout callback association. + * + * This function adds a logout callback association, which allows us to initiate + * a logout later based on the $assoc-value. + * + * Note that logout-associations exists per authentication source. A logout association + * from one authentication source cannot be called from a different authentication source. + * + * @param string $assoc The identifier for this logout association. + * @param array $state The state array passed to the authenticate-function. + */ + protected function addLogoutCallback($assoc, $state) + { + assert(is_string($assoc)); + assert(is_array($state)); + + if (!array_key_exists('LogoutCallback', $state)) { + // the authentication requester doesn't have a logout callback + return; + } + $callback = $state['LogoutCallback']; + + if (array_key_exists('LogoutCallbackState', $state)) { + $callbackState = $state['LogoutCallbackState']; + } else { + $callbackState = array(); + } + + $id = strlen($this->authId).':'.$this->authId.$assoc; + + $data = array( + 'callback' => $callback, + 'state' => $callbackState, + ); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->setData( + 'SimpleSAML_Auth_Source.LogoutCallbacks', + $id, + $data, + SimpleSAML_Session::DATA_TIMEOUT_SESSION_END + ); + } + + + /** + * Call a logout callback based on association. + * + * This function calls a logout callback based on an association saved with + * addLogoutCallback(...). + * + * This function always returns. + * + * @param string $assoc The logout association which should be called. + */ + protected function callLogoutCallback($assoc) + { + assert(is_string($assoc)); + + $id = strlen($this->authId).':'.$this->authId.$assoc; + + $session = SimpleSAML_Session::getSessionFromRequest(); + + $data = $session->getData('SimpleSAML_Auth_Source.LogoutCallbacks', $id); + if ($data === null) { + // FIXME: fix for IdP-first flow (issue 397) -> reevaluate logout callback infrastructure + $session->doLogout($this->authId); + + return; + } + + assert(is_array($data)); + assert(array_key_exists('callback', $data)); + assert(array_key_exists('state', $data)); + + $callback = $data['callback']; + $callbackState = $data['state']; + + $session->deleteData('SimpleSAML_Auth_Source.LogoutCallbacks', $id); + call_user_func($callback, $callbackState); + } + + + /** + * Retrieve list of authentication sources. + * + * @return array The id of all authentication sources. + */ + public static function getSources() + { + $config = SimpleSAML_Configuration::getOptionalConfig('authsources.php'); + + return $config->getOptions(); + } + + + /** + * Make sure that the first element of an auth source is its identifier. + * + * @param array $source An array with the auth source configuration. + * @param string $id The auth source identifier. + * + * @throws Exception If the first element of $source is not an identifier for the auth source. + */ + protected static function validateSource($source, $id) + { + if (!array_key_exists(0, $source) || !is_string($source[0])) { + throw new Exception( + 'Invalid authentication source \''.$id. + '\': First element must be a string which identifies the authentication source.' + ); + } + } +} diff --git a/lib/SimpleSAML/Auth/SourceFactory.php b/lib/SimpleSAML/Auth/SourceFactory.php new file mode 100755 index 0000000..1cc6a6c --- /dev/null +++ b/lib/SimpleSAML/Auth/SourceFactory.php @@ -0,0 +1,15 @@ +." or ":". + * + * There is also support for passing exceptions through the state. + * By defining an exception handler when creating the state array, users of the state + * array can call throwException with the state and the exception. This exception will + * be passed to the handler defined by the EXCEPTION_HANDLER_URL or EXCEPTION_HANDLER_FUNC + * elements of the state array. + * + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ +class SimpleSAML_Auth_State +{ + + + /** + * The index in the state array which contains the identifier. + */ + const ID = 'SimpleSAML_Auth_State.id'; + + + /** + * The index in the cloned state array which contains the identifier of the + * original state. + */ + const CLONE_ORIGINAL_ID = 'SimpleSAML_Auth_State.cloneOriginalId'; + + + /** + * The index in the state array which contains the current stage. + */ + const STAGE = 'SimpleSAML_Auth_State.stage'; + + + /** + * The index in the state array which contains the restart URL. + */ + const RESTART = 'SimpleSAML_Auth_State.restartURL'; + + + /** + * The index in the state array which contains the exception handler URL. + */ + const EXCEPTION_HANDLER_URL = 'SimpleSAML_Auth_State.exceptionURL'; + + + /** + * The index in the state array which contains the exception handler function. + */ + const EXCEPTION_HANDLER_FUNC = 'SimpleSAML_Auth_State.exceptionFunc'; + + + /** + * The index in the state array which contains the exception data. + */ + const EXCEPTION_DATA = 'SimpleSAML_Auth_State.exceptionData'; + + + /** + * The stage of a state with an exception. + */ + const EXCEPTION_STAGE = 'SimpleSAML_Auth_State.exceptionStage'; + + + /** + * The URL parameter which contains the exception state id. + */ + const EXCEPTION_PARAM = 'SimpleSAML_Auth_State_exceptionId'; + + + /** + * State timeout. + */ + private static $stateTimeout = null; + + + /** + * Get the persistent authentication state from the state array. + * + * @param array $state The state array to analyze. + * + * @return array The persistent authentication state. + */ + public static function getPersistentAuthData(array $state) + { + // save persistent authentication data + $persistent = array(); + + if (array_key_exists('PersistentAuthData', $state)) { + foreach ($state['PersistentAuthData'] as $key) { + if (isset($state[$key])) { + $persistent[$key] = $state[$key]; + } + } + } + + // add those that should always be included + $mandatory = array( + 'Attributes', + 'Expire', + 'LogoutState', + 'AuthInstant', + 'RememberMe', + 'saml:sp:NameID' + ); + foreach ($mandatory as $key) { + if (isset($state[$key])) { + $persistent[$key] = $state[$key]; + } + } + + return $persistent; + } + + + /** + * Retrieve the ID of a state array. + * + * Note that this function will not save the state. + * + * @param array &$state The state array. + * @param bool $rawId Return a raw ID, without a restart URL. Defaults to FALSE. + * + * @return string Identifier which can be used to retrieve the state later. + */ + public static function getStateId(&$state, $rawId = false) + { + assert(is_array($state)); + assert(is_bool($rawId)); + + if (!array_key_exists(self::ID, $state)) { + $state[self::ID] = SimpleSAML\Utils\Random::generateID(); + } + + $id = $state[self::ID]; + + if ($rawId || !array_key_exists(self::RESTART, $state)) { + // Either raw ID or no restart URL. In any case, return the raw ID. + return $id; + } + + // We have a restart URL. Return the ID with that URL. + return $id.':'.$state[self::RESTART]; + } + + + /** + * Retrieve state timeout. + * + * @return integer State timeout. + */ + private static function getStateTimeout() + { + if (self::$stateTimeout === null) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + self::$stateTimeout = $globalConfig->getInteger('session.state.timeout', 60 * 60); + } + + return self::$stateTimeout; + } + + + /** + * Save the state. + * + * This function saves the state, and returns an id which can be used to + * retrieve it later. It will also update the $state array with the identifier. + * + * @param array &$state The login request state. + * @param string $stage The current stage in the login process. + * @param bool $rawId Return a raw ID, without a restart URL. + * + * @return string Identifier which can be used to retrieve the state later. + */ + public static function saveState(&$state, $stage, $rawId = false) + { + assert(is_array($state)); + assert(is_string($stage)); + assert(is_bool($rawId)); + + $return = self::getStateId($state, $rawId); + $id = $state[self::ID]; + + // Save stage + $state[self::STAGE] = $stage; + + // Save state + $serializedState = serialize($state); + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->setData('SimpleSAML_Auth_State', $id, $serializedState, self::getStateTimeout()); + + SimpleSAML\Logger::debug('Saved state: '.var_export($return, true)); + + return $return; + } + + + /** + * Clone the state. + * + * This function clones and returns the new cloned state. + * + * @param array $state The original request state. + * + * @return array Cloned state data. + */ + public static function cloneState(array $state) + { + $clonedState = $state; + + if (array_key_exists(self::ID, $state)) { + $clonedState[self::CLONE_ORIGINAL_ID] = $state[self::ID]; + unset($clonedState[self::ID]); + + SimpleSAML\Logger::debug('Cloned state: '.var_export($state[self::ID], true)); + } else { + SimpleSAML\Logger::debug('Cloned state with undefined id.'); + } + + return $clonedState; + } + + + /** + * Retrieve saved state. + * + * This function retrieves saved state information. If the state information has been lost, + * it will attempt to restart the request by calling the restart URL which is embedded in the + * state information. If there is no restart information available, an exception will be thrown. + * + * @param string $id State identifier (with embedded restart information). + * @param string $stage The stage the state should have been saved in. + * @param bool $allowMissing Whether to allow the state to be missing. + * + * @throws SimpleSAML_Error_NoState If we couldn't find the state and there's no URL defined to redirect to. + * @throws Exception If the stage of the state is invalid and there's no URL defined to redirect to. + * + * @return array|NULL State information, or null if the state is missing and $allowMissing is true. + */ + public static function loadState($id, $stage, $allowMissing = false) + { + assert(is_string($id)); + assert(is_string($stage)); + assert(is_bool($allowMissing)); + SimpleSAML\Logger::debug('Loading state: '.var_export($id, true)); + + $sid = self::parseStateID($id); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $state = $session->getData('SimpleSAML_Auth_State', $sid['id']); + + if ($state === null) { + // Could not find saved data + if ($allowMissing) { + return null; + } + + if ($sid['url'] === null) { + throw new SimpleSAML_Error_NoState(); + } + + \SimpleSAML\Utils\HTTP::redirectUntrustedURL($sid['url']); + } + + $state = unserialize($state); + assert(is_array($state)); + assert(array_key_exists(self::ID, $state)); + assert(array_key_exists(self::STAGE, $state)); + + // Verify stage + if ($state[self::STAGE] !== $stage) { + /* This could be a user trying to bypass security, but most likely it is just + * someone using the back-button in the browser. We try to restart the + * request if that is possible. If not, show an error. + */ + + $msg = 'Wrong stage in state. Was \''.$state[self::STAGE]. + '\', should be \''.$stage.'\'.'; + + SimpleSAML\Logger::warning($msg); + + if ($sid['url'] === null) { + throw new Exception($msg); + } + + \SimpleSAML\Utils\HTTP::redirectUntrustedURL($sid['url']); + } + + return $state; + } + + + /** + * Delete state. + * + * This function deletes the given state to prevent the user from reusing it later. + * + * @param array &$state The state which should be deleted. + */ + public static function deleteState(&$state) + { + assert(is_array($state)); + + if (!array_key_exists(self::ID, $state)) { + // This state hasn't been saved + return; + } + + SimpleSAML\Logger::debug('Deleting state: '.var_export($state[self::ID], true)); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->deleteData('SimpleSAML_Auth_State', $state[self::ID]); + } + + + /** + * Throw exception to the state exception handler. + * + * @param array $state The state array. + * @param SimpleSAML_Error_Exception $exception The exception. + * + * @throws SimpleSAML_Error_Exception If there is no exception handler defined, it will just throw the $exception. + */ + public static function throwException($state, SimpleSAML_Error_Exception $exception) + { + assert(is_array($state)); + + if (array_key_exists(self::EXCEPTION_HANDLER_URL, $state)) { + // Save the exception + $state[self::EXCEPTION_DATA] = $exception; + $id = self::saveState($state, self::EXCEPTION_STAGE); + + // Redirect to the exception handler + \SimpleSAML\Utils\HTTP::redirectTrustedURL( + $state[self::EXCEPTION_HANDLER_URL], + array(self::EXCEPTION_PARAM => $id) + ); + } elseif (array_key_exists(self::EXCEPTION_HANDLER_FUNC, $state)) { + // Call the exception handler + $func = $state[self::EXCEPTION_HANDLER_FUNC]; + assert(is_callable($func)); + + call_user_func($func, $exception, $state); + assert(false); + } else { + /* + * No exception handler is defined for the current state. + */ + throw $exception; + } + } + + + /** + * Retrieve an exception state. + * + * @param string|NULL $id The exception id. Can be NULL, in which case it will be retrieved from the request. + * + * @return array|NULL The state array with the exception, or NULL if no exception was thrown. + */ + public static function loadExceptionState($id = null) + { + assert(is_string($id) || $id === null); + + if ($id === null) { + if (!array_key_exists(self::EXCEPTION_PARAM, $_REQUEST)) { + // No exception + return null; + } + $id = $_REQUEST[self::EXCEPTION_PARAM]; + } + + $state = self::loadState($id, self::EXCEPTION_STAGE); + assert(array_key_exists(self::EXCEPTION_DATA, $state)); + + return $state; + } + + + /** + * Get the ID and (optionally) a URL embedded in a StateID, in the form 'id:url'. + * + * @param string $stateId The state ID to use. + * + * @return array A hashed array with the ID and the URL (if any), in the 'id' and 'url' keys, respectively. If + * there's no URL in the input parameter, NULL will be returned as the value for the 'url' key. + * + * @author Andreas Solberg, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function parseStateID($stateId) + { + $tmp = explode(':', $stateId, 2); + $id = $tmp[0]; + $url = null; + if (count($tmp) === 2) { + $url = $tmp[1]; + } + return array('id' => $id, 'url' => $url); + } +} diff --git a/lib/SimpleSAML/Auth/TimeLimitedToken.php b/lib/SimpleSAML/Auth/TimeLimitedToken.php new file mode 100755 index 0000000..920dd2d --- /dev/null +++ b/lib/SimpleSAML/Auth/TimeLimitedToken.php @@ -0,0 +1,147 @@ +secretSalt = $secretSalt; + $this->lifetime = $lifetime; + $this->skew = $skew; + $this->algo = $algo; + } + + + /** + * Add some given data to the current token. This data will be needed later too for token validation. + * + * This mechanism can be used to provide context for a token, such as a user identifier of the only subject + * authorised to use it. Note also that multiple data can be added to the token. This means that upon validation, + * not only the same data must be added, but also in the same order. + * + * @param string $data The data to incorporate into the current token. + */ + public function addVerificationData($data) + { + $this->secretSalt .= '|'.$data; + } + + + /** + * Calculates a token value for a given offset. + * + * @param int $offset The offset to use. + * @param int|null $time The time stamp to which the offset is relative to. Defaults to the current time. + * + * @return string The token for the given time and offset. + */ + private function calculateTokenValue($offset, $time = null) + { + if ($time === null) { + $time = time(); + } + // a secret salt that should be randomly generated for each installation + return hash( + $this->algo, + $offset.':'.floor(($time - $offset) / ($this->lifetime + $this->skew)).':'.$this->secretSalt + ); + } + + + /** + * Generates a token that contains an offset and a token value, using the current offset. + * + * @return string A time-limited token with the offset respect to the beginning of its time slot prepended. + */ + public function generate() + { + $time = time(); + $current_offset = ($time - $this->skew) % ($this->lifetime + $this->skew); + return dechex($current_offset).'-'.$this->calculateTokenValue($current_offset, $time); + } + + + /** + * @see generate + * @deprecated This method will be removed in SSP 2.0. Use generate() instead. + */ + public function generate_token() + { + return $this->generate(); + } + + + /** + * Validates a token by calculating the token value for the provided offset and comparing it. + * + * @param string $token The token to validate. + * + * @return boolean True if the given token is currently valid, false otherwise. + */ + public function validate($token) + { + $splittoken = explode('-', $token); + if (count($splittoken) !== 2) { + return false; + } + $offset = intval(hexdec($splittoken[0])); + $value = $splittoken[1]; + return ($this->calculateTokenValue($offset) === $value); + } + + + /** + * @see validate + * @deprecated This method will be removed in SSP 2.0. Use validate() instead. + */ + public function validate_token($token) + { + return $this->validate($token); + } +} diff --git a/lib/SimpleSAML/AuthMemCookie.php b/lib/SimpleSAML/AuthMemCookie.php new file mode 100755 index 0000000..21e3e44 --- /dev/null +++ b/lib/SimpleSAML/AuthMemCookie.php @@ -0,0 +1,166 @@ +amcConfig = SimpleSAML_Configuration::getConfig('authmemcookie.php'); + } + + + /** + * Retrieve the authentication source that should be used to authenticate the user. + * + * @return string The login type which should be used for Auth MemCookie. + */ + public function getAuthSource() + { + return $this->amcConfig->getString('authsource'); + } + + + /** + * This function retrieves the name of the cookie from the configuration. + * + * @return string The name of the cookie. + * @throws Exception If the value of the 'cookiename' configuration option is invalid. + */ + public function getCookieName() + { + $cookieName = $this->amcConfig->getString('cookiename', 'AuthMemCookie'); + if (!is_string($cookieName) || strlen($cookieName) === 0) { + throw new Exception( + "Configuration option 'cookiename' contains an invalid value. This option should be a string." + ); + } + + return $cookieName; + } + + + /** + * This function retrieves the name of the attribute which contains the username from the configuration. + * + * @return string The name of the attribute which contains the username. + */ + public function getUsernameAttr() + { + $usernameAttr = $this->amcConfig->getString('username', null); + + return $usernameAttr; + } + + + /** + * This function retrieves the name of the attribute which contains the groups from the configuration. + * + * @return string The name of the attribute which contains the groups. + */ + public function getGroupsAttr() + { + $groupsAttr = $this->amcConfig->getString('groups', null); + + return $groupsAttr; + } + + + /** + * This function creates and initializes a Memcache object from our configuration. + * + * @return Memcache A Memcache object initialized from our configuration. + * @throws Exception If the servers configuration is invalid. + */ + public function getMemcache() + { + $memcacheHost = $this->amcConfig->getString('memcache.host', '127.0.0.1'); + $memcachePort = $this->amcConfig->getInteger('memcache.port', 11211); + + $class = class_exists('Memcache') ? 'Memcache' : (class_exists('Memcached') ? 'Memcached' : false); + if (!$class) { + throw new Exception('Missing Memcached implementation. You must install either the Memcache or Memcached extension.'); + } + + // Create the Memcache(d) object. + $memcache = new $class(); + + foreach (explode(',', $memcacheHost) as $memcacheHost) { + $memcache->addServer($memcacheHost, $memcachePort); + } + + return $memcache; + } + + + /** + * This function logs the user out by deleting the session information from memcache. + */ + private function doLogout() + { + $cookieName = $this->getCookieName(); + + // check if we have a valid cookie + if (!array_key_exists($cookieName, $_COOKIE)) { + return; + } + + $sessionID = $_COOKIE[$cookieName]; + + // delete the session from memcache + $memcache = $this->getMemcache(); + $memcache->delete($sessionID); + + // delete the session cookie + \SimpleSAML\Utils\HTTP::setCookie($cookieName, null); + } + + + /** + * This function implements the logout handler. It deletes the information from Memcache. + */ + public static function logoutHandler() + { + self::getInstance()->doLogout(); + } +} diff --git a/lib/SimpleSAML/Bindings/Shib13/Artifact.php b/lib/SimpleSAML/Bindings/Shib13/Artifact.php new file mode 100755 index 0000000..726461a --- /dev/null +++ b/lib/SimpleSAML/Bindings/Shib13/Artifact.php @@ -0,0 +1,190 @@ +' . + '' . + ''; + + foreach ($artifacts as $a) { + $msg .= '' . htmlspecialchars($a) . ''; + } + + $msg .= '' . + '' . + ''; + + return $msg; + } + + + /** + * Extract the response element from the SOAP response. + * + * @param string $soapResponse The SOAP response. + * @return string The element, as a string. + * @throws \SimpleSAML_Error_Exception + */ + private static function extractResponse($soapResponse) + { + assert(is_string($soapResponse)); + + try { + $doc = DOMDocumentFactory::fromString($soapResponse); + } catch (\Exception $e) { + throw new \SimpleSAML_Error_Exception('Error parsing SAML 1 artifact response.'); + } + + $soapEnvelope = $doc->firstChild; + if (!XML::isDOMNodeOfType($soapEnvelope, 'Envelope', 'http://schemas.xmlsoap.org/soap/envelope/')) { + throw new \SimpleSAML_Error_Exception('Expected artifact response to contain a element.'); + } + + $soapBody = XML::getDOMChildren($soapEnvelope, 'Body', 'http://schemas.xmlsoap.org/soap/envelope/'); + if (count($soapBody) === 0) { + throw new \SimpleSAML_Error_Exception('Couldn\'t find in .'); + } + $soapBody = $soapBody[0]; + + + $responseElement = XML::getDOMChildren($soapBody, 'Response', 'urn:oasis:names:tc:SAML:1.0:protocol'); + if (count($responseElement) === 0) { + throw new \SimpleSAML_Error_Exception('Couldn\'t find in .'); + } + $responseElement = $responseElement[0]; + + /* + * Save the element. Note that we need to import it + * into a new document, in order to preserve namespace declarations. + */ + $newDoc = DOMDocumentFactory::create(); + $newDoc->appendChild($newDoc->importNode($responseElement, true)); + $responseXML = $newDoc->saveXML(); + + return $responseXML; + } + + + /** + * This function receives a SAML 1.1 artifact. + * + * @param \SimpleSAML_Configuration $spMetadata The metadata of the SP. + * @param \SimpleSAML_Configuration $idpMetadata The metadata of the IdP. + * @return string The element, as an XML string. + * @throws \SimpleSAML_Error_Exception + */ + public static function receive(\SimpleSAML_Configuration $spMetadata, \SimpleSAML_Configuration $idpMetadata) + { + $artifacts = self::getArtifacts(); + $request = self::buildRequest($artifacts); + + XML::debugSAMLMessage($request, 'out'); + + $url = $idpMetadata->getDefaultEndpoint('ArtifactResolutionService', array('urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding')); + $url = $url['Location']; + + $peerPublicKeys = $idpMetadata->getPublicKeys('signing', true); + $certData = ''; + foreach ($peerPublicKeys as $key) { + if ($key['type'] !== 'X509Certificate') { + continue; + } + $certData .= "-----BEGIN CERTIFICATE-----\n" . + chunk_split($key['X509Certificate'], 64) . + "-----END CERTIFICATE-----\n"; + } + + $file = System::getTempDir() . DIRECTORY_SEPARATOR . sha1($certData) . '.crt'; + if (!file_exists($file)) { + System::writeFile($file, $certData); + } + + $spKeyCertFile = Config::getCertPath($spMetadata->getString('privatekey')); + + $opts = array( + 'ssl' => array( + 'verify_peer' => true, + 'cafile' => $file, + 'local_cert' => $spKeyCertFile, + 'capture_peer_cert' => true, + 'capture_peer_chain' => true, + ), + 'http' => array( + 'method' => 'POST', + 'content' => $request, + 'header' => 'SOAPAction: http://www.oasis-open.org/committees/security' . "\r\n" . + 'Content-Type: text/xml', + ), + ); + + // Fetch the artifact + $response = HTTP::fetch($url, $opts); + /** @var string $response */ + XML::debugSAMLMessage($response, 'in'); + + // Find the response in the SOAP message + $response = self::extractResponse($response); + + return $response; + } +} diff --git a/lib/SimpleSAML/Bindings/Shib13/HTTPPost.php b/lib/SimpleSAML/Bindings/Shib13/HTTPPost.php new file mode 100755 index 0000000..5359c8f --- /dev/null +++ b/lib/SimpleSAML/Bindings/Shib13/HTTPPost.php @@ -0,0 +1,154 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Bindings\Shib13; + +use SAML2\DOMDocumentFactory; +use SimpleSAML\Utils\Crypto; +use SimpleSAML\Utils\HTTP; +use SimpleSAML\Utils\XML; +use SimpleSAML\XML\Shib13\AuthnResponse; +use SimpleSAML\XML\Signer; + +class HTTPPost +{ + + /** + * @var \SimpleSAML_Configuration + */ + private $configuration = null; + + /** + * @var \SimpleSAML_Metadata_MetaDataStorageHandler + */ + private $metadata = null; + + + /** + * Constructor for the \SimpleSAML\Bindings\Shib13\HTTPPost class. + * + * @param \SimpleSAML_Configuration $configuration The configuration to use. + * @param \SimpleSAML_Metadata_MetaDataStorageHandler $metadatastore A store where to find metadata. + */ + public function __construct( + \SimpleSAML_Configuration $configuration, + \SimpleSAML_Metadata_MetaDataStorageHandler $metadatastore + ) { + $this->configuration = $configuration; + $this->metadata = $metadatastore; + } + + + /** + * Send an authenticationResponse using HTTP-POST. + * + * @param string $response The response which should be sent. + * @param \SimpleSAML_Configuration $idpmd The metadata of the IdP which is sending the response. + * @param \SimpleSAML_Configuration $spmd The metadata of the SP which is receiving the response. + * @param string|null $relayState The relaystate for the SP. + * @param string $shire The shire which should receive the response. + */ + public function sendResponse( + $response, + \SimpleSAML_Configuration $idpmd, + \SimpleSAML_Configuration $spmd, + $relayState, + $shire + ) { + XML::checkSAMLMessage($response, 'saml11'); + + $privatekey = Crypto::loadPrivateKey($idpmd, true); + $publickey = Crypto::loadPublicKey($idpmd, true); + + $responsedom = DOMDocumentFactory::fromString(str_replace("\r", "", $response)); + + $responseroot = $responsedom->getElementsByTagName('Response')->item(0); + $firstassertionroot = $responsedom->getElementsByTagName('Assertion')->item(0); + + /* Determine what we should sign - either the Response element or the Assertion. The default is to sign the + * Assertion, but that can be overridden by the 'signresponse' option in the SP metadata or + * 'saml20.signresponse' in the global configuration. + * + * TODO: neither 'signresponse' nor 'shib13.signresponse' are valid options any longer. Remove! + */ + if ($spmd->hasValue('signresponse')) { + $signResponse = $spmd->getBoolean('signresponse'); + } else { + $signResponse = $this->configuration->getBoolean('shib13.signresponse', true); + } + + // check if we have an assertion to sign. Force to sign the response if not + if ($firstassertionroot === null) { + $signResponse = true; + } + + $signer = new Signer(array( + 'privatekey_array' => $privatekey, + 'publickey_array' => $publickey, + 'id' => ($signResponse ? 'ResponseID' : 'AssertionID'), + )); + + if ($idpmd->hasValue('certificatechain')) { + $signer->addCertificate($idpmd->getString('certificatechain')); + } + + if ($signResponse) { + // sign the response - this must be done after encrypting the assertion + // we insert the signature before the saml2p:Status element + $statusElements = XML::getDOMChildren($responseroot, 'Status', '@saml1p'); + assert(count($statusElements) === 1); + $signer->sign($responseroot, $responseroot, $statusElements[0]); + } else { + // Sign the assertion + $signer->sign($firstassertionroot, $firstassertionroot); + } + + $response = $responsedom->saveXML(); + + XML::debugSAMLMessage($response, 'out'); + + HTTP::submitPOSTData($shire, array( + 'TARGET' => $relayState, + 'SAMLResponse' => base64_encode($response), + )); + } + + + /** + * Decode a received response. + * + * @param array $post POST data received. + * @return \SimpleSAML\XML\Shib13\AuthnResponse The response decoded into an object. + * @throws \Exception If there is no SAMLResponse parameter. + */ + public function decodeResponse($post) + { + assert(is_array($post)); + + if (!array_key_exists('SAMLResponse', $post)) { + throw new \Exception('Missing required SAMLResponse parameter.'); + } + $rawResponse = $post['SAMLResponse']; + $samlResponseXML = base64_decode($rawResponse); + + XML::debugSAMLMessage($samlResponseXML, 'in'); + + XML::checkSAMLMessage($samlResponseXML, 'saml11'); + + $samlResponse = new AuthnResponse(); + $samlResponse->setXML($samlResponseXML); + + if (array_key_exists('TARGET', $post)) { + $samlResponse->setRelayState($post['TARGET']); + } + + return $samlResponse; + } +} diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php new file mode 100755 index 0000000..b9ed9a4 --- /dev/null +++ b/lib/SimpleSAML/Configuration.php @@ -0,0 +1,1392 @@ + + * @package SimpleSAMLphp + */ +class SimpleSAML_Configuration implements \SimpleSAML\Utils\ClearableState +{ + /** + * A default value which means that the given option is required. + * + * @var string + */ + const REQUIRED_OPTION = '___REQUIRED_OPTION___'; + + + /** + * Associative array with mappings from instance-names to configuration objects. + * + * @var array + */ + private static $instance = array(); + + + /** + * Configuration directories. + * + * This associative array contains the mappings from configuration sets to + * configuration directories. + * + * @var array + */ + private static $configDirs = array(); + + + /** + * Cache of loaded configuration files. + * + * The index in the array is the full path to the file. + * + * @var array + */ + private static $loadedConfigs = array(); + + + /** + * The configuration array. + * + * @var array + */ + private $configuration; + + + /** + * The location which will be given when an error occurs. + * + * @var string + */ + private $location; + + + /** + * The file this configuration was loaded from. + * + * @var string|null + */ + private $filename = null; + + + /** + * Temporary property that tells if the deprecated getBaseURL() method has been called or not. + * + * @var bool + */ + private $deprecated_base_url_used = false; + + + /** + * Initializes a configuration from the given array. + * + * @param array $config The configuration array. + * @param string $location The location which will be given when an error occurs. + */ + public function __construct($config, $location) + { + assert(is_array($config)); + assert(is_string($location)); + + $this->configuration = $config; + $this->location = $location; + } + + /** + * Load the given configuration file. + * + * @param string $filename The full path of the configuration file. + * @param bool $required Whether the file is required. + * + * @return SimpleSAML_Configuration The configuration file. An exception will be thrown if the + * configuration file is missing. + * + * @throws Exception If the configuration file is invalid or missing. + */ + private static function loadFromFile($filename, $required) + { + assert(is_string($filename)); + assert(is_bool($required)); + + if (array_key_exists($filename, self::$loadedConfigs)) { + return self::$loadedConfigs[$filename]; + } + + if (file_exists($filename)) { + $config = 'UNINITIALIZED'; + + // the file initializes a variable named '$config' + ob_start(); + if (interface_exists('Throwable', false)) { + try { + require($filename); + } catch (ParseError $e) { + self::$loadedConfigs[$filename] = self::loadFromArray(array(), '[ARRAY]', 'simplesaml'); + throw new SimpleSAML\Error\ConfigurationError($e->getMessage(), $filename, array()); + } + } else { + require($filename); + } + + $spurious_output = ob_get_length() > 0; + ob_end_clean(); + + // check that $config exists + if (!isset($config)) { + throw new \SimpleSAML\Error\ConfigurationError( + '$config is not defined in the configuration file.', + $filename + ); + } + + // check that $config is initialized to an array + if (!is_array($config)) { + throw new \SimpleSAML\Error\ConfigurationError( + '$config is not an array.', + $filename + ); + } + + // check that $config is not empty + if (empty($config)) { + throw new \SimpleSAML\Error\ConfigurationError( + '$config is empty.', + $filename + ); + } + } elseif ($required) { + // file does not exist, but is required + throw new \SimpleSAML\Error\ConfigurationError('Missing configuration file', $filename); + } else { + // file does not exist, but is optional, so return an empty configuration object without saving it + $cfg = new SimpleSAML_Configuration(array(), $filename); + $cfg->filename = $filename; + return $cfg; + } + + $cfg = new SimpleSAML_Configuration($config, $filename); + $cfg->filename = $filename; + + self::$loadedConfigs[$filename] = $cfg; + + if ($spurious_output) { + SimpleSAML\Logger::warning( + "The configuration file '$filename' generates output. Please review your configuration." + ); + } + + return $cfg; + } + + + /** + * Set the directory for configuration files for the given configuration set. + * + * @param string $path The directory which contains the configuration files. + * @param string $configSet The configuration set. Defaults to 'simplesaml'. + */ + public static function setConfigDir($path, $configSet = 'simplesaml') + { + assert(is_string($path)); + assert(is_string($configSet)); + + self::$configDirs[$configSet] = $path; + } + + /** + * Store a pre-initialized configuration. + * + * Allows consumers to create configuration objects without having them + * loaded from a file. + * + * @param SimpleSAML_Configuration $config The configuration object to store + * @param string $filename The name of the configuration file. + * @param string $configSet The configuration set. Optional, defaults to 'simplesaml'. + */ + public static function setPreLoadedConfig(SimpleSAML_Configuration $config, $filename = 'config.php', $configSet = 'simplesaml') + { + assert(is_string($filename)); + assert(is_string($configSet)); + + if (!array_key_exists($configSet, self::$configDirs)) { + if ($configSet !== 'simplesaml') { + throw new Exception('Configuration set \'' . $configSet . '\' not initialized.'); + } else { + self::$configDirs['simplesaml'] = dirname(dirname(dirname(__FILE__))) . '/config'; + } + } + + $dir = self::$configDirs[$configSet]; + $filePath = $dir . '/' . $filename; + + self::$loadedConfigs[$filePath] = $config; + } + + + /** + * Load a configuration file from a configuration set. + * + * @param string $filename The name of the configuration file. + * @param string $configSet The configuration set. Optional, defaults to 'simplesaml'. + * + * @return SimpleSAML_Configuration The SimpleSAML_Configuration object. + * @throws Exception If the configuration set is not initialized. + */ + public static function getConfig($filename = 'config.php', $configSet = 'simplesaml') + { + assert(is_string($filename)); + assert(is_string($configSet)); + + if (!array_key_exists($configSet, self::$configDirs)) { + if ($configSet !== 'simplesaml') { + throw new Exception('Configuration set \''.$configSet.'\' not initialized.'); + } else { + self::$configDirs['simplesaml'] = SimpleSAML\Utils\Config::getConfigDir(); + } + } + + $dir = self::$configDirs[$configSet]; + $filePath = $dir.'/'.$filename; + return self::loadFromFile($filePath, true); + } + + + /** + * Load a configuration file from a configuration set. + * + * This function will return a configuration object even if the file does not exist. + * + * @param string $filename The name of the configuration file. + * @param string $configSet The configuration set. Optional, defaults to 'simplesaml'. + * + * @return SimpleSAML_Configuration A configuration object. + * @throws Exception If the configuration set is not initialized. + */ + public static function getOptionalConfig($filename = 'config.php', $configSet = 'simplesaml') + { + assert(is_string($filename)); + assert(is_string($configSet)); + + if (!array_key_exists($configSet, self::$configDirs)) { + if ($configSet !== 'simplesaml') { + throw new Exception('Configuration set \''.$configSet.'\' not initialized.'); + } else { + self::$configDirs['simplesaml'] = SimpleSAML\Utils\Config::getConfigDir(); + } + } + + $dir = self::$configDirs[$configSet]; + $filePath = $dir.'/'.$filename; + return self::loadFromFile($filePath, false); + } + + + /** + * Loads a configuration from the given array. + * + * @param array $config The configuration array. + * @param string $location The location which will be given when an error occurs. Optional. + * @param string|null $instance The name of this instance. If specified, the configuration will be loaded and an + * instance with that name will be kept for it to be retrieved later with getInstance($instance). If null, the + * configuration will not be kept for later use. Defaults to null. + * + * @return SimpleSAML_Configuration The configuration object. + */ + public static function loadFromArray($config, $location = '[ARRAY]', $instance = null) + { + assert(is_array($config)); + assert(is_string($location)); + + $c = new SimpleSAML_Configuration($config, $location); + if ($instance !== null) { + self::$instance[$instance] = $c; + } + return $c; + } + + + /** + * Get a configuration file by its instance name. + * + * This function retrieves a configuration file by its instance name. The instance + * name is initialized by the init function, or by copyFromBase function. + * + * If no configuration file with the given instance name is found, an exception will + * be thrown. + * + * @param string $instancename The instance name of the configuration file. Deprecated. + * + * @return SimpleSAML_Configuration The configuration object. + * + * @throws Exception If the configuration with $instancename name is not initialized. + */ + public static function getInstance($instancename = 'simplesaml') + { + assert(is_string($instancename)); + + // check if the instance exists already + if (array_key_exists($instancename, self::$instance)) { + return self::$instance[$instancename]; + } + + if ($instancename === 'simplesaml') { + try { + return self::getConfig(); + } catch (SimpleSAML\Error\ConfigurationError $e) { + throw \SimpleSAML\Error\CriticalConfigurationError::fromException($e); + } + } + + throw new \SimpleSAML\Error\CriticalConfigurationError( + 'Configuration with name '.$instancename.' is not initialized.' + ); + } + + + /** + * Initialize a instance name with the given configuration file. + * + * TODO: remove. + * + * @param string $path + * @param string $instancename + * @param string $configfilename + * + * @see setConfigDir() + * @deprecated This function is superseeded by the setConfigDir function. + */ + public static function init($path, $instancename = 'simplesaml', $configfilename = 'config.php') + { + assert(is_string($path)); + assert(is_string($instancename)); + assert(is_string($configfilename)); + + if ($instancename === 'simplesaml') { + // for backwards compatibility + self::setConfigDir($path, 'simplesaml'); + } + + // check if we already have loaded the given config - return the existing instance if we have + if (array_key_exists($instancename, self::$instance)) { + return self::$instance[$instancename]; + } + + self::$instance[$instancename] = self::loadFromFile($path.'/'.$configfilename, true); + return self::$instance[$instancename]; + } + + + /** + * Load a configuration file which is located in the same directory as this configuration file. + * + * TODO: remove. + * + * @param string $instancename + * @param string $filename + * + * @see getConfig() + * @deprecated This function is superseeded by the getConfig() function. + */ + public function copyFromBase($instancename, $filename) + { + assert(is_string($instancename)); + assert(is_string($filename)); + assert($this->filename !== null); + + // check if we already have loaded the given config - return the existing instance if we have + if (array_key_exists($instancename, self::$instance)) { + return self::$instance[$instancename]; + } + + $dir = dirname($this->filename); + + self::$instance[$instancename] = self::loadFromFile($dir.'/'.$filename, true); + return self::$instance[$instancename]; + } + + + /** + * Retrieve the current version of SimpleSAMLphp. + * + * @return string + */ + public function getVersion() + { + return '1.16.1'; + } + + + /** + * Retrieve a configuration option set in config.php. + * + * @param string $name Name of the configuration option. + * @param mixed $default Default value of the configuration option. This parameter will default to null if not + * specified. This can be set to SimpleSAML_Configuration::REQUIRED_OPTION, which will + * cause an exception to be thrown if the option isn't found. + * + * @return mixed The configuration option with name $name, or $default if the option was not found. + * + * @throws Exception If the required option cannot be retrieved. + */ + public function getValue($name, $default = null) + { + // return the default value if the option is unset + if (!array_key_exists($name, $this->configuration)) { + if ($default === self::REQUIRED_OPTION) { + throw new Exception( + $this->location.': Could not retrieve the required option '. + var_export($name, true) + ); + } + return $default; + } + + return $this->configuration[$name]; + } + + + /** + * Check whether a key in the configuration exists or not. + * + * @param string $name The key in the configuration to look for. + * + * @return boolean If the value is set in this configuration. + */ + public function hasValue($name) + { + return array_key_exists($name, $this->configuration); + } + + + /** + * Check whether any key of the set given exists in the configuration. + * + * @param array $names An array of options to look for. + * + * @return boolean If any of the keys in $names exist in the configuration + */ + public function hasValueOneOf($names) + { + foreach ($names as $name) { + if ($this->hasValue($name)) { + return true; + } + } + return false; + } + + + /** + * Retrieve the absolute path of the SimpleSAMLphp installation, relative to the root of the website. + * + * For example: simplesaml/ + * + * The path will always end with a '/' and never have a leading slash. + * + * @return string The absolute path relative to the root of the website. + * + * @throws SimpleSAML\Error\CriticalConfigurationError If the format of 'baseurlpath' is incorrect. + * + * @deprecated This method will be removed in SimpleSAMLphp 2.0. Please use getBasePath() instead. + */ + public function getBaseURL() + { + if (!$this->deprecated_base_url_used) { + $this->deprecated_base_url_used = true; + SimpleSAML\Logger::warning( + "SimpleSAML_Configuration::getBaseURL() is deprecated, please use getBasePath() instead." + ); + } + if (preg_match('/^\*(.*)$/D', $this->getString('baseurlpath', 'simplesaml/'), $matches)) { + // deprecated behaviour, will be removed in the future + return \SimpleSAML\Utils\HTTP::getFirstPathElement(false).$matches[1]; + } + return ltrim($this->getBasePath(), '/'); + } + + + /** + * Retrieve the absolute path pointing to the SimpleSAMLphp installation. + * + * The path is guaranteed to start and end with a slash ('/'). E.g.: /simplesaml/ + * + * @return string The absolute path where SimpleSAMLphp can be reached in the web server. + * + * @throws SimpleSAML\Error\CriticalConfigurationError If the format of 'baseurlpath' is incorrect. + */ + public function getBasePath() + { + $baseURL = $this->getString('baseurlpath', 'simplesaml/'); + + if (preg_match('#^https?://[^/]*(?:/(.+/?)?)?$#', $baseURL, $matches)) { + // we have a full url, we need to strip the path + if (!array_key_exists(1, $matches)) { + // absolute URL without path + return '/'; + } + return '/'.rtrim($matches[1], '/')."/"; + } elseif ($baseURL === '' || $baseURL === '/') { + // root directory of site + return '/'; + } elseif (preg_match('#^/?((?:[^/\s]+/?)+)#', $baseURL, $matches)) { + // local path only + return '/'.rtrim($matches[1], '/').'/'; + } else { + /* + * Invalid 'baseurlpath'. We cannot recover from this, so throw a critical exception and try to be graceful + * with the configuration. Use a guessed base path instead of the one provided. + */ + $c = $this->toArray(); + $c['baseurlpath'] = SimpleSAML\Utils\HTTP::guessBasePath(); + throw new SimpleSAML\Error\CriticalConfigurationError( + 'Incorrect format for option \'baseurlpath\'. Value is: "'. + $this->getString('baseurlpath', 'simplesaml/').'". Valid format is in the form'. + ' [(http|https)://(hostname|fqdn)[:port]]/[path/to/simplesaml/].', + $this->filename, + $c + ); + } + } + + + /** + * This function resolves a path which may be relative to the SimpleSAMLphp base directory. + * + * The path will never end with a '/'. + * + * @param string|null $path The path we should resolve. This option may be null. + * + * @return string|null $path if $path is an absolute path, or $path prepended with the base directory of this + * SimpleSAMLphp installation. We will return NULL if $path is null. + */ + public function resolvePath($path) + { + if ($path === null) { + return null; + } + + assert(is_string($path)); + + return System::resolvePath($path, $this->getBaseDir()); + } + + + /** + * Retrieve a path configuration option set in config.php. + * + * The function will always return an absolute path unless the option is not set. It will then return the default + * value. + * + * It checks if the value starts with a slash, and prefixes it with the value from getBaseDir if it doesn't. + * + * @param string $name Name of the configuration option. + * @param string|null $default Default value of the configuration option. This parameter will default to null if + * not specified. + * + * @return string|null The path configuration option with name $name, or $default if the option was not found. + */ + public function getPathValue($name, $default = null) + { + // return the default value if the option is unset + if (!array_key_exists($name, $this->configuration)) { + $path = $default; + } else { + $path = $this->configuration[$name]; + } + + if ($path === null) { + return null; + } + + return $this->resolvePath($path).'/'; + } + + + /** + * Retrieve the base directory for this SimpleSAMLphp installation. + * + * This function first checks the 'basedir' configuration option. If this option is undefined or null, then we + * fall back to looking at the current filename. + * + * @return string The absolute path to the base directory for this SimpleSAMLphp installation. This path will + * always end with a slash. + */ + public function getBaseDir() + { + // check if a directory is configured in the configuration file + $dir = $this->getString('basedir', null); + if ($dir !== null) { + // add trailing slash if it is missing + if (substr($dir, -1) !== DIRECTORY_SEPARATOR) { + $dir .= DIRECTORY_SEPARATOR; + } + + return $dir; + } + + // the directory wasn't set in the configuration file, path is /lib/SimpleSAML/Configuration.php + $dir = __FILE__; + assert(basename($dir) === 'Configuration.php'); + + $dir = dirname($dir); + assert(basename($dir) === 'SimpleSAML'); + + $dir = dirname($dir); + assert(basename($dir) === 'lib'); + + $dir = dirname($dir); + + // Add trailing directory separator + $dir .= DIRECTORY_SEPARATOR; + + return $dir; + } + + + /** + * This function retrieves a boolean configuration option. + * + * An exception will be thrown if this option isn't a boolean, or if this option isn't found, and no default value + * is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return boolean|mixed The option with the given name, or $default if the option isn't found and $default is + * specified. + * + * @throws Exception If the option is not boolean. + */ + public function getBoolean($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_bool($ret)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' is not a valid boolean value.' + ); + } + + return $ret; + } + + + /** + * This function retrieves a string configuration option. + * + * An exception will be thrown if this option isn't a string, or if this option isn't found, and no default value + * is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return string|mixed The option with the given name, or $default if the option isn't found and $default is + * specified. + * + * @throws Exception If the option is not a string. + */ + public function getString($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_string($ret)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' is not a valid string value.' + ); + } + + return $ret; + } + + + /** + * This function retrieves an integer configuration option. + * + * An exception will be thrown if this option isn't an integer, or if this option isn't found, and no default value + * is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return int|mixed The option with the given name, or $default if the option isn't found and $default is + * specified. + * + * @throws Exception If the option is not an integer. + */ + public function getInteger($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_int($ret)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' is not a valid integer value.' + ); + } + + return $ret; + } + + + /** + * This function retrieves an integer configuration option where the value must be in the specified range. + * + * An exception will be thrown if: + * - the option isn't an integer + * - the option isn't found, and no default value is given + * - the value is outside of the allowed range + * + * @param string $name The name of the option. + * @param int $minimum The smallest value which is allowed. + * @param int $maximum The largest value which is allowed. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return int|mixed The option with the given name, or $default if the option isn't found and $default is + * specified. + * + * @throws Exception If the option is not in the range specified. + */ + public function getIntegerRange($name, $minimum, $maximum, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + assert(is_int($minimum)); + assert(is_int($maximum)); + + $ret = $this->getInteger($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if ($ret < $minimum || $ret > $maximum) { + throw new Exception( + $this->location.': Value of option '.var_export($name, true). + ' is out of range. Value is '.$ret.', allowed range is [' + .$minimum.' - '.$maximum.']' + ); + } + + return $ret; + } + + + /** + * Retrieve a configuration option with one of the given values. + * + * This will check that the configuration option matches one of the given values. The match will use + * strict comparison. An exception will be thrown if it does not match. + * + * The option can be mandatory or optional. If no default value is given, it will be considered to be + * mandatory, and an exception will be thrown if it isn't provided. If a default value is given, it + * is considered to be optional, and the default value is returned. The default value is automatically + * included in the list of allowed values. + * + * @param string $name The name of the option. + * @param array $allowedValues The values the option is allowed to take, as an array. + * @param mixed $default The default value which will be returned if the option isn't found. If this parameter + * isn't given, the option will be considered to be mandatory. The default value can be + * any value, including null. + * + * @return mixed The option with the given name, or $default if the option isn't found and $default is given. + * + * @throws Exception If the option does not have any of the allowed values. + */ + public function getValueValidate($name, $allowedValues, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + assert(is_array($allowedValues)); + + $ret = $this->getValue($name, $default); + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!in_array($ret, $allowedValues, true)) { + $strValues = array(); + foreach ($allowedValues as $av) { + $strValues[] = var_export($av, true); + } + $strValues = implode(', ', $strValues); + + throw new Exception( + $this->location.': Invalid value given for the option '. + var_export($name, true).'. It should have one of the following values: '. + $strValues.'; but it had the following value: '.var_export($ret, true) + ); + } + + return $ret; + } + + + /** + * This function retrieves an array configuration option. + * + * An exception will be thrown if this option isn't an array, or if this option isn't found, and no + * default value is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return array|mixed The option with the given name, or $default if the option isn't found and $default is + * specified. + * + * @throws Exception If the option is not an array. + */ + public function getArray($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_array($ret)) { + throw new Exception($this->location.': The option '.var_export($name, true).' is not an array.'); + } + + return $ret; + } + + + /** + * This function retrieves an array configuration option. + * + * If the configuration option isn't an array, it will be converted to an array. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return array The option with the given name, or $default if the option isn't found and $default is specified. + */ + public function getArrayize($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_array($ret)) { + $ret = array($ret); + } + + return $ret; + } + + + /** + * This function retrieves a configuration option with a string or an array of strings. + * + * If the configuration option is a string, it will be converted to an array with a single string + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return array The option with the given name, or $default if the option isn't found and $default is specified. + * + * @throws Exception If the option is not a string or an array of strings. + */ + public function getArrayizeString($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getArrayize($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + foreach ($ret as $value) { + if (!is_string($value)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' must be a string or an array of strings.' + ); + } + } + + return $ret; + } + + + /** + * Retrieve an array as a SimpleSAML_Configuration object. + * + * This function will load the value of an option into a SimpleSAML_Configuration object. The option must contain + * an array. + * + * An exception will be thrown if this option isn't an array, or if this option isn't found, and no default value + * is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return mixed The option with the given name, or $default if the option isn't found and $default is specified. + * + * @throws Exception If the option is not an array. + */ + public function getConfigItem($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_array($ret)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' is not an array.' + ); + } + + return self::loadFromArray($ret, $this->location.'['.var_export($name, true).']'); + } + + + /** + * Retrieve an array of arrays as an array of SimpleSAML_Configuration objects. + * + * This function will retrieve an option containing an array of arrays, and create an array of + * SimpleSAML_Configuration objects from that array. The indexes in the new array will be the same as the original + * indexes, but the values will be SimpleSAML_Configuration objects. + * + * An exception will be thrown if this option isn't an array of arrays, or if this option isn't found, and no + * default value is given. + * + * @param string $name The name of the option. + * @param mixed $default A default value which will be returned if the option isn't found. The option will be + * required if this parameter isn't given. The default value can be any value, including + * null. + * + * @return mixed The option with the given name, or $default if the option isn't found and $default is specified. + * + * @throws Exception If the value of this element is not an array. + */ + public function getConfigList($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + if (!is_array($ret)) { + throw new Exception( + $this->location.': The option '.var_export($name, true). + ' is not an array.' + ); + } + + $out = array(); + foreach ($ret as $index => $config) { + $newLoc = $this->location.'['.var_export($name, true).']['. + var_export($index, true).']'; + if (!is_array($config)) { + throw new Exception($newLoc.': The value of this element was expected to be an array.'); + } + $out[$index] = self::loadFromArray($config, $newLoc); + } + + return $out; + } + + + /** + * Retrieve list of options. + * + * This function returns the name of all options which are defined in this + * configuration file, as an array of strings. + * + * @return array Name of all options defined in this configuration file. + */ + public function getOptions() + { + return array_keys($this->configuration); + } + + + /** + * Convert this configuration object back to an array. + * + * @return array An associative array with all configuration options and values. + */ + public function toArray() + { + return $this->configuration; + } + + + /** + * Retrieve the default binding for the given endpoint type. + * + * This function combines the current metadata type (SAML 2 / SAML 1.1) + * with the endpoint type to determine which binding is the default. + * + * @param string $endpointType The endpoint type. + * + * @return string The default binding. + * + * @throws Exception If the default binding is missing for this endpoint type. + */ + private function getDefaultBinding($endpointType) + { + assert(is_string($endpointType)); + + $set = $this->getString('metadata-set'); + switch ($set.':'.$endpointType) { + case 'saml20-idp-remote:SingleSignOnService': + case 'saml20-idp-remote:SingleLogoutService': + case 'saml20-sp-remote:SingleLogoutService': + return \SAML2\Constants::BINDING_HTTP_REDIRECT; + case 'saml20-sp-remote:AssertionConsumerService': + return \SAML2\Constants::BINDING_HTTP_POST; + case 'saml20-idp-remote:ArtifactResolutionService': + return \SAML2\Constants::BINDING_SOAP; + case 'shib13-idp-remote:SingleSignOnService': + return 'urn:mace:shibboleth:1.0:profiles:AuthnRequest'; + case 'shib13-sp-remote:AssertionConsumerService': + return 'urn:oasis:names:tc:SAML:1.0:profiles:browser-post'; + default: + throw new Exception('Missing default binding for '.$endpointType.' in '.$set); + } + } + + + /** + * Helper function for dealing with metadata endpoints. + * + * @param string $endpointType The endpoint type. + * + * @return array Array of endpoints of the given type. + * + * @throws Exception If any element of the configuration options for this endpoint type is incorrect. + */ + public function getEndpoints($endpointType) + { + assert(is_string($endpointType)); + + $loc = $this->location.'['.var_export($endpointType, true).']:'; + + if (!array_key_exists($endpointType, $this->configuration)) { + // no endpoints of the given type + return array(); + } + + + $eps = $this->configuration[$endpointType]; + if (is_string($eps)) { + // for backwards-compatibility + $eps = array($eps); + } elseif (!is_array($eps)) { + throw new Exception($loc.': Expected array or string.'); + } + + + foreach ($eps as $i => &$ep) { + $iloc = $loc.'['.var_export($i, true).']'; + + if (is_string($ep)) { + // for backwards-compatibility + $ep = array( + 'Location' => $ep, + 'Binding' => $this->getDefaultBinding($endpointType), + ); + $responseLocation = $this->getString($endpointType.'Response', null); + if ($responseLocation !== null) { + $ep['ResponseLocation'] = $responseLocation; + } + } elseif (!is_array($ep)) { + throw new Exception($iloc.': Expected a string or an array.'); + } + + if (!array_key_exists('Location', $ep)) { + throw new Exception($iloc.': Missing Location.'); + } + if (!is_string($ep['Location'])) { + throw new Exception($iloc.': Location must be a string.'); + } + + if (!array_key_exists('Binding', $ep)) { + throw new Exception($iloc.': Missing Binding.'); + } + if (!is_string($ep['Binding'])) { + throw new Exception($iloc.': Binding must be a string.'); + } + + if (array_key_exists('ResponseLocation', $ep)) { + if (!is_string($ep['ResponseLocation'])) { + throw new Exception($iloc.': ResponseLocation must be a string.'); + } + } + + if (array_key_exists('index', $ep)) { + if (!is_int($ep['index'])) { + throw new Exception($iloc.': index must be an integer.'); + } + } + } + + return $eps; + } + + + /** + * Find an endpoint of the given type, using a list of supported bindings as a way to prioritize. + * + * @param string $endpointType The endpoint type. + * @param array $bindings Sorted array of acceptable bindings. + * @param mixed $default The default value to return if no matching endpoint is found. If no default is provided, + * an exception will be thrown. + * + * @return array|null The default endpoint, or null if no acceptable endpoints are used. + * + * @throws Exception If no supported endpoint is found. + */ + public function getEndpointPrioritizedByBinding($endpointType, array $bindings, $default = self::REQUIRED_OPTION) + { + assert(is_string($endpointType)); + + $endpoints = $this->getEndpoints($endpointType); + + foreach ($bindings as $binding) { + foreach ($endpoints as $ep) { + if ($ep['Binding'] === $binding) { + return $ep; + } + } + } + + if ($default === self::REQUIRED_OPTION) { + $loc = $this->location.'['.var_export($endpointType, true).']:'; + throw new Exception($loc.'Could not find a supported '.$endpointType.' endpoint.'); + } + + return $default; + } + + + /** + * Find the default endpoint of the given type. + * + * @param string $endpointType The endpoint type. + * @param array $bindings Array with acceptable bindings. Can be null if any binding is allowed. + * @param mixed $default The default value to return if no matching endpoint is found. If no default is provided, + * an exception will be thrown. + * + * @return array|null The default endpoint, or null if no acceptable endpoints are used. + * + * @throws Exception If no supported endpoint is found. + */ + public function getDefaultEndpoint($endpointType, array $bindings = null, $default = self::REQUIRED_OPTION) + { + assert(is_string($endpointType)); + + $endpoints = $this->getEndpoints($endpointType); + + $defaultEndpoint = \SimpleSAML\Utils\Config\Metadata::getDefaultEndpoint($endpoints, $bindings); + if ($defaultEndpoint !== null) { + return $defaultEndpoint; + } + + if ($default === self::REQUIRED_OPTION) { + $loc = $this->location.'['.var_export($endpointType, true).']:'; + throw new Exception($loc.'Could not find a supported '.$endpointType.' endpoint.'); + } + + return $default; + } + + + /** + * Retrieve a string which may be localized into many languages. + * + * The default language returned is always 'en'. + * + * @param string $name The name of the option. + * @param mixed $default The default value. If no default is given, and the option isn't found, an exception will + * be thrown. + * + * @return array Associative array with language => string pairs. + * + * @throws Exception If the translation is not an array or a string, or its index or value are not strings. + */ + public function getLocalizedString($name, $default = self::REQUIRED_OPTION) + { + assert(is_string($name)); + + $ret = $this->getValue($name, $default); + if ($ret === $default) { + // the option wasn't found, or it matches the default value. In any case, return this value + return $ret; + } + + $loc = $this->location.'['.var_export($name, true).']'; + + if (is_string($ret)) { + $ret = array('en' => $ret,); + } + + if (!is_array($ret)) { + throw new Exception($loc.': Must be an array or a string.'); + } + + foreach ($ret as $k => $v) { + if (!is_string($k)) { + throw new Exception($loc.': Invalid language code: '.var_export($k, true)); + } + if (!is_string($v)) { + throw new Exception($loc.'['.var_export($v, true).']: Must be a string.'); + } + } + + return $ret; + } + + + /** + * Get public key from metadata. + * + * @param string|null $use The purpose this key can be used for. (encryption or signing). + * @param bool $required Whether the public key is required. If this is true, a + * missing key will cause an exception. Default is false. + * @param string $prefix The prefix which should be used when reading from the metadata + * array. Defaults to ''. + * + * @return array Public key data, or empty array if no public key or was found. + * + * @throws Exception If the certificate or public key cannot be loaded from a file. + * @throws SimpleSAML_Error_Exception If the file does not contain a valid PEM-encoded certificate, or there is no + * certificate in the metadata. + */ + public function getPublicKeys($use = null, $required = false, $prefix = '') + { + assert(is_bool($required)); + assert(is_string($prefix)); + + if ($this->hasValue($prefix.'keys')) { + $ret = array(); + foreach ($this->getArray($prefix.'keys') as $key) { + if ($use !== null && isset($key[$use]) && !$key[$use]) { + continue; + } + if (isset($key['X509Certificate'])) { + // Strip whitespace from key + $key['X509Certificate'] = preg_replace('/\s+/', '', $key['X509Certificate']); + } + $ret[] = $key; + } + return $ret; + } elseif ($this->hasValue($prefix.'certData')) { + $certData = $this->getString($prefix.'certData'); + $certData = preg_replace('/\s+/', '', $certData); + return array( + array( + 'encryption' => true, + 'signing' => true, + 'type' => 'X509Certificate', + 'X509Certificate' => $certData, + ), + ); + } elseif ($this->hasValue($prefix.'certificate')) { + $file = $this->getString($prefix.'certificate'); + $file = \SimpleSAML\Utils\Config::getCertPath($file); + $data = @file_get_contents($file); + + if ($data === false) { + throw new Exception($this->location.': Unable to load certificate/public key from file "'.$file.'".'); + } + + // extract certificate data (if this is a certificate) + $pattern = '/^-----BEGIN CERTIFICATE-----([^-]*)^-----END CERTIFICATE-----/m'; + if (!preg_match($pattern, $data, $matches)) { + throw new SimpleSAML_Error_Exception( + $this->location.': Could not find PEM encoded certificate in "'.$file.'".' + ); + } + $certData = preg_replace('/\s+/', '', $matches[1]); + + return array( + array( + 'encryption' => true, + 'signing' => true, + 'type' => 'X509Certificate', + 'X509Certificate' => $certData, + ), + ); + } elseif ($required === true) { + throw new SimpleSAML_Error_Exception($this->location.': Missing certificate in metadata.'); + } else { + return array(); + } + } + + /** + * Clear any configuration information cached. + * Allows for configuration files to be changed and reloaded during a given request. Most useful + * when running phpunit tests and needing to alter config.php between test cases + */ + public static function clearInternalState() + { + self::$configDirs = array(); + self::$instance = array(); + self::$loadedConfigs = array(); + } +} diff --git a/lib/SimpleSAML/Database.php b/lib/SimpleSAML/Database.php new file mode 100755 index 0000000..8a18938 --- /dev/null +++ b/lib/SimpleSAML/Database.php @@ -0,0 +1,293 @@ + + * @package SimpleSAMLphp + */ + +class Database +{ + + /** + * This variable holds the instance of the session - Singleton approach. + */ + private static $instance = array(); + + /** + * PDO Object for the Master database server + */ + private $dbMaster; + + /** + * Array of PDO Objects for configured database slaves + */ + private $dbSlaves = array(); + + /** + * Prefix to apply to the tables + */ + private $tablePrefix; + + /** + * Array with information on the last error occurred. + */ + private $lastError; + + + /** + * Retrieves the current database instance. Will create a new one if there isn't an existing connection. + * + * @param \SimpleSAML_Configuration $altConfig Optional: Instance of a SimpleSAML_Configuration class + * + * @return \SimpleSAML\Database The shared database connection. + */ + public static function getInstance($altConfig = null) + { + $config = ($altConfig) ? $altConfig : \SimpleSAML_Configuration::getInstance(); + $instanceId = self::generateInstanceId($config); + + // check if we already have initialized the session + if (isset(self::$instance[$instanceId])) { + return self::$instance[$instanceId]; + } + + // create a new session + self::$instance[$instanceId] = new Database($config); + return self::$instance[$instanceId]; + } + + + /** + * Private constructor that restricts instantiation to getInstance(). + * + * @param \SimpleSAML_Configuration $config Instance of the SimpleSAML_Configuration class + */ + private function __construct($config) + { + $driverOptions = $config->getArray('database.driver_options', array()); + if ($config->getBoolean('database.persistent', true)) { + $driverOptions = array(\PDO::ATTR_PERSISTENT => true); + } + + // connect to the master + $this->dbMaster = $this->connect( + $config->getString('database.dsn'), + $config->getString('database.username', null), + $config->getString('database.password', null), + $driverOptions + ); + + // connect to any configured slaves + $slaves = $config->getArray('database.slaves', array()); + foreach ($slaves as $slave) { + array_push( + $this->dbSlaves, + $this->connect( + $slave['dsn'], + $slave['username'], + $slave['password'], + $driverOptions + ) + ); + } + + $this->tablePrefix = $config->getString('database.prefix', ''); + } + + + /** + * Generate an Instance ID based on the database configuration. + * + * @param \SimpleSAML_Configuration $config Configuration class + * + * @return string $instanceId + */ + private static function generateInstanceId($config) + { + $assembledConfig = array( + 'master' => array( + 'database.dsn' => $config->getString('database.dsn'), + 'database.username' => $config->getString('database.username', null), + 'database.password' => $config->getString('database.password', null), + 'database.prefix' => $config->getString('database.prefix', ''), + 'database.persistent' => $config->getBoolean('database.persistent', false), + ), + 'slaves' => $config->getArray('database.slaves', array()), + ); + + return sha1(serialize($assembledConfig)); + } + + + /** + * This function connects to a database. + * + * @param string $dsn Database connection string + * @param string $username SQL user + * @param string $password SQL password + * @param array $options PDO options + * + * @throws \Exception If an error happens while trying to connect to the database. + * @return \PDO object + */ + private function connect($dsn, $username, $password, $options) + { + try { + $db = new \PDO($dsn, $username, $password, $options); + $db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); + + return $db; + } catch (\PDOException $e) { + throw new \Exception("Database error: ".$e->getMessage()); + } + } + + + /** + * This function randomly selects a slave database server to query. In the event no slaves are configured, it will + * return the master. + * + * @return \PDO object + */ + private function getSlave() + { + if (count($this->dbSlaves) > 0) { + $slaveId = rand(0, count($this->dbSlaves) - 1); + return $this->dbSlaves[$slaveId]; + } else { + return $this->dbMaster; + } + } + + + /** + * This function simply applies the table prefix to a supplied table name. + * + * @param string $table Table to apply prefix to, if configured + * + * @return string Table with configured prefix + */ + public function applyPrefix($table) + { + return $this->tablePrefix.$table; + } + + + /** + * This function queries the database + * + * @param \PDO $db PDO object to use + * @param string $stmt Prepared SQL statement + * @param array $params Parameters + * + * @throws \Exception If an error happens while trying to execute the query. + * @return \PDOStatement object + */ + private function query($db, $stmt, $params) + { + assert(is_object($db)); + assert(is_string($stmt)); + assert(is_array($params)); + + try { + $query = $db->prepare($stmt); + + foreach ($params as $param => $value) { + if (is_array($value)) { + $query->bindValue(":$param", $value[0], ($value[1]) ? $value[1] : \PDO::PARAM_STR); + } else { + $query->bindValue(":$param", $value, \PDO::PARAM_STR); + } + } + + $query->execute(); + + return $query; + } catch (\PDOException $e) { + $this->lastError = $db->errorInfo(); + throw new \Exception("Database error: ".$e->getMessage()); + } + } + + + /** + * This function queries the database without using a prepared statement. + * + * @param \PDO $db PDO object to use + * @param string $stmt An SQL statement to execute, previously escaped. + * + * @throws \Exception If an error happens while trying to execute the query. + * @return int The number of rows affected. + */ + private function exec($db, $stmt) + { + assert(is_object($db)); + assert(is_string($stmt)); + + try { + return $db->exec($stmt); + } catch (\PDOException $e) { + $this->lastError = $db->errorInfo(); + throw new \Exception("Database error: ".$e->getMessage()); + } + } + + + /** + * This executes queries directly on the master. + * + * @param string $stmt Prepared SQL statement + * @param array $params Parameters + * + * @return int The number of rows affected by the query. + */ + public function write($stmt, $params = array()) + { + $db = $this->dbMaster; + + if (is_array($params)) { + $obj = $this->query($db, $stmt, $params); + return $obj->rowCount(); + } else { + return $this->exec($db, $stmt); + } + } + + + /** + * This executes queries on a database server that is determined by this::getSlave(). + * + * @param string $stmt Prepared SQL statement + * @param array $params Parameters + * + * @return \PDOStatement object + */ + public function read($stmt, $params = array()) + { + $db = $this->getSlave(); + + return $this->query($db, $stmt, $params); + } + + + /** + * Return an array with information about the last operation performed in the database. + * + * @return array The array with error information. + */ + public function getLastError() + { + return $this->lastError; + } +} diff --git a/lib/SimpleSAML/Error/Assertion.php b/lib/SimpleSAML/Error/Assertion.php new file mode 100755 index 0000000..d9a607a --- /dev/null +++ b/lib/SimpleSAML/Error/Assertion.php @@ -0,0 +1,85 @@ +assertion = $assertion; + } + + + /** + * Retrieve the assertion which failed. + * + * @return string|null The assertion which failed, or null if the assert-function was called with an expression. + */ + public function getAssertion() + { + return $this->assertion; + } + + + /** + * Install this assertion handler. + * + * This function will register this assertion handler. If will not enable assertions if they are + * disabled. + */ + public static function installHandler() + { + + assert_options(ASSERT_WARNING, 0); + assert_options(ASSERT_QUIET_EVAL, 0); + assert_options(ASSERT_CALLBACK, array('SimpleSAML_Error_Assertion', 'onAssertion')); + } + + + /** + * Handle assertion. + * + * This function handles an assertion. + * + * @param string $file The file assert was called from. + * @param int $line The line assert was called from. + * @param mixed $message The expression which was passed to the assert-function. + */ + public static function onAssertion($file, $line, $message) + { + + if (!empty($message)) { + $exception = new self($message); + } else { + $exception = new self(); + } + + $exception->logError(); + } +} diff --git a/lib/SimpleSAML/Error/AuthSource.php b/lib/SimpleSAML/Error/AuthSource.php new file mode 100755 index 0000000..107083e --- /dev/null +++ b/lib/SimpleSAML/Error/AuthSource.php @@ -0,0 +1,70 @@ +authsource = $authsource; + $this->reason = $reason; + parent::__construct( + array( + 'AUTHSOURCEERROR', + '%AUTHSOURCE%' => htmlspecialchars(var_export($this->authsource, true)), + '%REASON%' => htmlspecialchars(var_export($this->reason, true)) + ), + $cause + ); + + $this->message = "Error with authentication source '$authsource': $reason"; + } + + + /** + * Retrieve the authsource module name from where this error was thrown. + * + * @return string Authsource module name. + */ + public function getAuthSource() + { + return $this->authsource; + } + + + /** + * Retrieve the reason why the request was invalid. + * + * @return string The reason why the request was invalid. + */ + public function getReason() + { + return $this->reason; + } +} diff --git a/lib/SimpleSAML/Error/BadRequest.php b/lib/SimpleSAML/Error/BadRequest.php new file mode 100755 index 0000000..79710cc --- /dev/null +++ b/lib/SimpleSAML/Error/BadRequest.php @@ -0,0 +1,46 @@ +reason = $reason; + parent::__construct(array('BADREQUEST', '%REASON%' => $this->reason)); + $this->httpCode = 400; + } + + + /** + * Retrieve the reason why the request was invalid. + * + * @return string The reason why the request was invalid. + */ + public function getReason() + { + return $this->reason; + } +} diff --git a/lib/SimpleSAML/Error/BadUserInput.php b/lib/SimpleSAML/Error/BadUserInput.php new file mode 100755 index 0000000..0e4d721 --- /dev/null +++ b/lib/SimpleSAML/Error/BadUserInput.php @@ -0,0 +1,12 @@ + + * @package SimpleSAMLphp_base + * + */ +class SimpleSAML_Error_BadUserInput extends SimpleSAML_Error_User +{ + +} diff --git a/lib/SimpleSAML/Error/CannotSetCookie.php b/lib/SimpleSAML/Error/CannotSetCookie.php new file mode 100755 index 0000000..c4e7fee --- /dev/null +++ b/lib/SimpleSAML/Error/CannotSetCookie.php @@ -0,0 +1,35 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Error; + +class CannotSetCookie extends \SimpleSAML_Error_Exception +{ + + /** + * The exception was thrown for unknown reasons. + * + * @var int + */ + const UNKNOWN = 0; + + /** + * The exception was due to the HTTP headers being already sent, and therefore we cannot send additional headers to + * set the cookie. + * + * @var int + */ + const HEADERS_SENT = 1; + + /** + * The exception was due to trying to set a secure cookie over an insecure channel. + * + * @var int + */ + const SECURE_COOKIE = 2; +} diff --git a/lib/SimpleSAML/Error/ConfigurationError.php b/lib/SimpleSAML/Error/ConfigurationError.php new file mode 100755 index 0000000..574ef62 --- /dev/null +++ b/lib/SimpleSAML/Error/ConfigurationError.php @@ -0,0 +1,77 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Error; + +class ConfigurationError extends \SimpleSAML_Error_Error +{ + + /** + * The reason for this exception. + * + * @var null|string + */ + protected $reason; + + /** + * The configuration file that caused this exception. + * + * @var null|string + */ + protected $config_file; + + + /** + * ConfigurationError constructor. + * + * @param string|null $reason The reason for this exception. + * @param string|null $file The configuration file that originated this error. + * @param array|null $config The configuration array that led to this problem. + */ + public function __construct($reason = null, $file = null, array $config = null) + { + $file_str = ''; + $reason_str = '.'; + $params = array('CONFIG'); + if ($file !== null) { + $params['%FILE%'] = $file; + $basepath = dirname(dirname(dirname(dirname(__FILE__)))).'/'; + $file_str = '('.str_replace($basepath, '', $file).') '; + } + if ($reason !== null) { + $params['%REASON%'] = $reason; + $reason_str = ': '.$reason; + } + $this->reason = $reason; + $this->config_file = $file; + parent::__construct($params); + $this->message = 'The configuration '.$file_str.'is invalid'.$reason_str; + } + + + /** + * Get the reason for this exception. + * + * @return null|string The reason for this exception. + */ + public function getReason() + { + return $this->reason; + } + + + /** + * Get the configuration file that caused this exception. + * + * @return null|string The configuration file that caused this exception. + */ + public function getConfFile() + { + return $this->config_file; + } +} diff --git a/lib/SimpleSAML/Error/CriticalConfigurationError.php b/lib/SimpleSAML/Error/CriticalConfigurationError.php new file mode 100755 index 0000000..507fd2b --- /dev/null +++ b/lib/SimpleSAML/Error/CriticalConfigurationError.php @@ -0,0 +1,79 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Error; + +class CriticalConfigurationError extends ConfigurationError +{ + + /** + * This is the bare minimum configuration that we can use. + * + * @var array + */ + private static $minimum_config = array( + 'logging.handler' => 'errorlog', + 'logging.level' => \SimpleSAML\Logger::DEBUG, + 'errorreporting' => false, + 'debug' => true, + ); + + + /** + * CriticalConfigurationError constructor. + * + * @param string|null $reason The reason for this critical error. + * @param string|null $file The configuration file that originated this error. + * @param array|null The configuration array that led to this problem. + */ + public function __construct($reason = null, $file = null, $config = null) + { + if ($config === null) { + $config = self::$minimum_config; + $config['baseurlpath'] = \SimpleSAML\Utils\HTTP::guessBasePath(); + } + + \SimpleSAML_Configuration::loadFromArray( + $config, + '', + 'simplesaml' + ); + parent::__construct($reason, $file); + } + + + /** + * @param \Exception $exception + * + * @return CriticalConfigurationError + */ + public static function fromException(\Exception $exception) + { + $reason = null; + $file = null; + if ($exception instanceof ConfigurationError) { + $reason = $exception->getReason(); + $file = $exception->getConfFile(); + } else { + $reason = $exception->getMessage(); + } + return new CriticalConfigurationError($reason, $file); + } +} diff --git a/lib/SimpleSAML/Error/Error.php b/lib/SimpleSAML/Error/Error.php new file mode 100755 index 0000000..55b47a4 --- /dev/null +++ b/lib/SimpleSAML/Error/Error.php @@ -0,0 +1,296 @@ +parameters = $errorCode; + unset($this->parameters[0]); + $this->errorCode = $errorCode[0]; + } else { + $this->parameters = array(); + $this->errorCode = $errorCode; + } + + if (isset($httpCode)) { + $this->httpCode = $httpCode; + } + + $moduleCode = explode(':', $this->errorCode, 2); + if (count($moduleCode) === 2) { + $this->module = $moduleCode[0]; + $this->dictTitle = '{'.$this->module.':errors:title_'.$moduleCode[1].'}'; + $this->dictDescr = '{'.$this->module.':errors:descr_'.$moduleCode[1].'}'; + } else { + $this->dictTitle = SimpleSAML\Error\ErrorCodes::getErrorCodeTitle($this->errorCode); + $this->dictDescr = SimpleSAML\Error\ErrorCodes::getErrorCodeDescription($this->errorCode); + } + + if (!empty($this->parameters)) { + $msg = $this->errorCode.'('; + foreach ($this->parameters as $k => $v) { + if ($k === 0) { + continue; + } + + $msg .= var_export($k, true).' => '.var_export($v, true).', '; + } + $msg = substr($msg, 0, -2).')'; + } else { + $msg = $this->errorCode; + } + parent::__construct($msg, -1, $cause); + } + + + /** + * Retrieve the error code given when throwing this error. + * + * @return string The error code. + */ + public function getErrorCode() + { + return $this->errorCode; + } + + + /** + * Retrieve the error parameters given when throwing this error. + * + * @return array The parameters. + */ + public function getParameters() + { + return $this->parameters; + } + + + /** + * Retrieve the error title tag in dictionary. + * + * @return string The error title tag. + */ + public function getDictTitle() + { + return $this->dictTitle; + } + + + /** + * Retrieve the error description tag in dictionary. + * + * @return string The error description tag. + */ + public function getDictDescr() + { + return $this->dictDescr; + } + + + /** + * Set the HTTP return code for this error. + * + * This should be overridden by subclasses who want a different return code than 500 Internal Server Error. + */ + protected function setHTTPCode() + { + // Some mostly used HTTP codes + $httpCodesMap = array( + 400 => 'HTTP/1.0 400 Bad Request', + 403 => 'HTTP/1.0 403 Forbidden', + 404 => 'HTTP/1.0 404 Not Found', + 405 => 'HTTP/1.0 405 Method Not Allowed', + 500 => 'HTTP/1.0 500 Internal Server Error', + 501 => 'HTTP/1.0 501 Method Not Implemented', + 503 => 'HTTP/1.0 503 Service Temporarily Unavailable', + ); + + $httpCode = $this->httpCode; + + if (function_exists('http_response_code')) { + http_response_code($httpCode); + return; + } + + if (!array_key_exists($this->httpCode, $httpCodesMap)) { + $httpCode = 500; + SimpleSAML\Logger::warning('HTTP response code not defined: '.var_export($this->httpCode, true)); + } + + header($httpCodesMap[$httpCode]); + } + + + /** + * Save an error report. + * + * @return array The array with the error report data. + */ + protected function saveError() + { + $data = $this->format(true); + $emsg = array_shift($data); + $etrace = implode("\n", $data); + + $reportId = bin2hex(openssl_random_pseudo_bytes(4)); + SimpleSAML\Logger::error('Error report with id '.$reportId.' generated.'); + + $config = SimpleSAML_Configuration::getInstance(); + $session = SimpleSAML_Session::getSessionFromRequest(); + + if (isset($_SERVER['HTTP_REFERER'])) { + $referer = $_SERVER['HTTP_REFERER']; + // remove anything after the first '?' or ';', just in case it contains any sensitive data + $referer = explode('?', $referer, 2); + $referer = $referer[0]; + $referer = explode(';', $referer, 2); + $referer = $referer[0]; + } else { + $referer = 'unknown'; + } + $errorData = array( + 'exceptionMsg' => $emsg, + 'exceptionTrace' => $etrace, + 'reportId' => $reportId, + 'trackId' => $session->getTrackID(), + 'url' => \SimpleSAML\Utils\HTTP::getSelfURLNoQuery(), + 'version' => $config->getVersion(), + 'referer' => $referer, + ); + $session->setData('core:errorreport', $reportId, $errorData); + + return $errorData; + } + + + /** + * Display this error. + * + * This method displays a standard SimpleSAMLphp error page and exits. + */ + public function show() + { + $this->setHTTPCode(); + + // log the error message + $this->logError(); + + $errorData = $this->saveError(); + $config = SimpleSAML_Configuration::getInstance(); + + $data = array(); + $data['showerrors'] = $config->getBoolean('showerrors', true); + $data['error'] = $errorData; + $data['errorCode'] = $this->errorCode; + $data['parameters'] = $this->parameters; + $data['module'] = $this->module; + $data['dictTitle'] = $this->dictTitle; + $data['dictDescr'] = $this->dictDescr; + $data['includeTemplate'] = $this->includeTemplate; + $data['clipboard.js'] = true; + + // check if there is a valid technical contact email address + if ($config->getBoolean('errorreporting', true) && + $config->getString('technicalcontact_email', 'na@example.org') !== 'na@example.org' + ) { + // enable error reporting + $baseurl = \SimpleSAML\Utils\HTTP::getBaseURL(); + $data['errorReportAddress'] = $baseurl.'errorreport.php'; + } + + $data['email'] = ''; + $session = SimpleSAML_Session::getSessionFromRequest(); + $authorities = $session->getAuthorities(); + foreach ($authorities as $authority) { + $attributes = $session->getAuthData($authority, 'Attributes'); + if ($attributes !== null && array_key_exists('mail', $attributes) && count($attributes['mail']) > 0) { + $data['email'] = $attributes['mail'][0]; + break; // enough, don't need to get all available mails, if more than one + } + } + + $show_function = $config->getArray('errors.show_function', null); + if (isset($show_function)) { + assert(is_callable($show_function)); + call_user_func($show_function, $config, $data); + assert(false); + } else { + $t = new SimpleSAML_XHTML_Template($config, 'error.php', 'errors'); + $t->data = array_merge($t->data, $data); + $t->data['dictTitleTranslated'] = $t->getTranslator()->t($t->data['dictTitle']); + $t->data['dictDescrTranslated'] = $t->getTranslator()->t($t->data['dictDescr'], $t->data['parameters']); + $t->show(); + } + + exit; + } +} diff --git a/lib/SimpleSAML/Error/ErrorCodes.php b/lib/SimpleSAML/Error/ErrorCodes.php new file mode 100755 index 0000000..3563a2d --- /dev/null +++ b/lib/SimpleSAML/Error/ErrorCodes.php @@ -0,0 +1,188 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Error; + +class ErrorCodes +{ + /** + * Fetch all default translation strings for error code titles. + * + * @return array A map from error code to error code title + */ + final public static function defaultGetAllErrorCodeTitles() + { + return array( + 'ACSPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:title_ACSPARAMS}'), + 'ARSPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:title_ARSPARAMS}'), + 'AUTHSOURCEERROR' => \SimpleSAML\Locale\Translate::noop('{errors:title_AUTHSOURCEERROR}'), + 'BADREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:title_BADREQUEST}'), + 'CASERROR' => \SimpleSAML\Locale\Translate::noop('{errors:title_CASERROR}'), + 'CONFIG' => \SimpleSAML\Locale\Translate::noop('{errors:title_CONFIG}'), + 'CREATEREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:title_CREATEREQUEST}'), + 'DISCOPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:title_DISCOPARAMS}'), + 'GENERATEAUTHNRESPONSE' => \SimpleSAML\Locale\Translate::noop('{errors:title_GENERATEAUTHNRESPONSE}'), + 'INVALIDCERT' => \SimpleSAML\Locale\Translate::noop('{errors:title_INVALIDCERT}'), + 'LDAPERROR' => \SimpleSAML\Locale\Translate::noop('{errors:title_LDAPERROR}'), + 'LOGOUTINFOLOST' => \SimpleSAML\Locale\Translate::noop('{errors:title_LOGOUTINFOLOST}'), + 'LOGOUTREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:title_LOGOUTREQUEST}'), + 'MEMCACHEDOWN' => \SimpleSAML\Locale\Translate::noop('{errors:title_MEMCACHEDOWN}'), + 'METADATA' => \SimpleSAML\Locale\Translate::noop('{errors:title_METADATA}'), + 'METADATANOTFOUND' => \SimpleSAML\Locale\Translate::noop('{errors:title_METADATANOTFOUND}'), + 'NOACCESS' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOACCESS}'), + 'NOCERT' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOCERT}'), + 'NORELAYSTATE' => \SimpleSAML\Locale\Translate::noop('{errors:title_NORELAYSTATE}'), + 'NOSTATE' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOSTATE}'), + 'NOTFOUND' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOTFOUND}'), + 'NOTFOUNDREASON' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOTFOUNDREASON}'), + 'NOTSET' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOTSET}'), + 'NOTVALIDCERT' => \SimpleSAML\Locale\Translate::noop('{errors:title_NOTVALIDCERT}'), + 'PROCESSASSERTION' => \SimpleSAML\Locale\Translate::noop('{errors:title_PROCESSASSERTION}'), + 'PROCESSAUTHNREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:title_PROCESSAUTHNREQUEST}'), + 'RESPONSESTATUSNOSUCCESS' => \SimpleSAML\Locale\Translate::noop('{errors:title_RESPONSESTATUSNOSUCCESS}'), + 'SLOSERVICEPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:title_SLOSERVICEPARAMS}'), + 'SSOPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:title_SSOPARAMS}'), + 'UNHANDLEDEXCEPTION' => \SimpleSAML\Locale\Translate::noop('{errors:title_UNHANDLEDEXCEPTION}'), + 'UNKNOWNCERT' => \SimpleSAML\Locale\Translate::noop('{errors:title_UNKNOWNCERT}'), + 'USERABORTED' => \SimpleSAML\Locale\Translate::noop('{errors:title_USERABORTED}'), + 'WRONGUSERPASS' => \SimpleSAML\Locale\Translate::noop('{errors:title_WRONGUSERPASS}'), + ); + } + + + /** + * Fetch all translation strings for error code titles. + * + * Extend this to add error codes. + * + * @return array A map from error code to error code title + */ + public static function getAllErrorCodeTitles() + { + return self::defaultGetAllErrorCodeTitles(); + } + + + /** + * Fetch all default translation strings for error code descriptions. + * + * @return string A map from error code to error code description + */ + final public static function defaultGetAllErrorCodeDescriptions() + { + return array( + 'ACSPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_ACSPARAMS}'), + 'ARSPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_ARSPARAMS}'), + 'AUTHSOURCEERROR' => \SimpleSAML\Locale\Translate::noop('{errors:descr_AUTHSOURCEERROR}'), + 'BADREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:descr_BADREQUEST}'), + 'CASERROR' => \SimpleSAML\Locale\Translate::noop('{errors:descr_CASERROR}'), + 'CONFIG' => \SimpleSAML\Locale\Translate::noop('{errors:descr_CONFIG}'), + 'CREATEREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:descr_CREATEREQUEST}'), + 'DISCOPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_DISCOPARAMS}'), + 'GENERATEAUTHNRESPONSE' => \SimpleSAML\Locale\Translate::noop('{errors:descr_GENERATEAUTHNRESPONSE}'), + 'INVALIDCERT' => \SimpleSAML\Locale\Translate::noop('{errors:descr_INVALIDCERT}'), + 'LDAPERROR' => \SimpleSAML\Locale\Translate::noop('{errors:descr_LDAPERROR}'), + 'LOGOUTINFOLOST' => \SimpleSAML\Locale\Translate::noop('{errors:descr_LOGOUTINFOLOST}'), + 'LOGOUTREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:descr_LOGOUTREQUEST}'), + 'MEMCACHEDOWN' => \SimpleSAML\Locale\Translate::noop('{errors:descr_MEMCACHEDOWN}'), + 'METADATA' => \SimpleSAML\Locale\Translate::noop('{errors:descr_METADATA}'), + 'METADATANOTFOUND' => \SimpleSAML\Locale\Translate::noop('{errors:descr_METADATANOTFOUND}'), + 'NOACCESS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOACCESS}'), + 'NOCERT' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOCERT}'), + 'NORELAYSTATE' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NORELAYSTATE}'), + 'NOSTATE' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOSTATE}'), + 'NOTFOUND' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOTFOUND}'), + 'NOTFOUNDREASON' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOTFOUNDREASON}'), + 'NOTSET' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOTSET}'), + 'NOTVALIDCERT' => \SimpleSAML\Locale\Translate::noop('{errors:descr_NOTVALIDCERT}'), + 'PROCESSASSERTION' => \SimpleSAML\Locale\Translate::noop('{errors:descr_PROCESSASSERTION}'), + 'PROCESSAUTHNREQUEST' => \SimpleSAML\Locale\Translate::noop('{errors:descr_PROCESSAUTHNREQUEST}'), + 'RESPONSESTATUSNOSUCCESS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_RESPONSESTATUSNOSUCCESS}'), + 'SLOSERVICEPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_SLOSERVICEPARAMS}'), + 'SSOPARAMS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_SSOPARAMS}'), + 'UNHANDLEDEXCEPTION' => \SimpleSAML\Locale\Translate::noop('{errors:descr_UNHANDLEDEXCEPTION}'), + 'UNKNOWNCERT' => \SimpleSAML\Locale\Translate::noop('{errors:descr_UNKNOWNCERT}'), + 'USERABORTED' => \SimpleSAML\Locale\Translate::noop('{errors:descr_USERABORTED}'), + 'WRONGUSERPASS' => \SimpleSAML\Locale\Translate::noop('{errors:descr_WRONGUSERPASS}'), + ); + } + + /** + * Fetch all translation strings for error code descriptions. + * + * Extend this to add error codes. + * + * @return string A map from error code to error code description + */ + public static function getAllErrorCodeDescriptions() + { + return self::defaultGetAllErrorCodeDescriptions(); + } + + + /** + * Get a map of both errorcode titles and descriptions + * + * Convenience-method for template-callers + * + * @return array An array containing both errorcode maps. + */ + public static function getAllErrorCodeMessages() + { + return array( + 'title' => self::getAllErrorCodeTitles(), + 'descr' => self::getAllErrorCodeDescriptions(), + ); + } + + + /** + * Fetch a translation string for a title for a given error code. + * + * @param string $errorCode The error code to look up + * + * @return string A string to translate + */ + public static function getErrorCodeTitle($errorCode) + { + $errorCodeTitles = self::getAllErrorCodeTitles(); + return $errorCodeTitles[$errorCode]; + } + + + /** + * Fetch a translation string for a description for a given error code. + * + * @param string $errorCode The error code to look up + * + * @return string A string to translate + */ + public static function getErrorCodeDescription($errorCode) + { + $errorCodeDescriptions = self::getAllErrorCodeDescriptions(); + return $errorCodeDescriptions[$errorCode]; + } + + + /** + * Get both title and description for a specific error code + * + * Convenience-method for template-callers + * + * @param string $errorCode The error code to look up + * + * @return array An array containing both errorcode strings. + */ + public static function getErrorCodeMessage($errorCode) + { + return array( + 'title' => self::getErrorCodeTitle($errorCode), + 'descr' => self::getErrorCodeDescription($errorCode), + ); + } +} diff --git a/lib/SimpleSAML/Error/Exception.php b/lib/SimpleSAML/Error/Exception.php new file mode 100755 index 0000000..6d7efcc --- /dev/null +++ b/lib/SimpleSAML/Error/Exception.php @@ -0,0 +1,316 @@ + + * @package SimpleSAMLphp + */ +class SimpleSAML_Error_Exception extends Exception +{ + + /** + * The backtrace for this exception. + * + * We need to save the backtrace, since we cannot rely on + * serializing the Exception::trace-variable. + * + * @var array + */ + private $backtrace; + + + /** + * The cause of this exception. + * + * @var SimpleSAML_Error_Exception + */ + private $cause; + + + /** + * Constructor for this error. + * + * Note that the cause will be converted to a SimpleSAML_Error_UnserializableException unless it is a subclass of + * SimpleSAML_Error_Exception. + * + * @param string $message Exception message + * @param int $code Error code + * @param Exception|null $cause The cause of this exception. + */ + public function __construct($message, $code = 0, Exception $cause = null) + { + assert(is_string($message)); + assert(is_int($code)); + + parent::__construct($message, $code); + + $this->initBacktrace($this); + + if ($cause !== null) { + $this->cause = SimpleSAML_Error_Exception::fromException($cause); + } + } + + + /** + * Convert any exception into a SimpleSAML_Error_Exception. + * + * @param Exception $e The exception. + * + * @return SimpleSAML_Error_Exception The new exception. + */ + public static function fromException(Exception $e) + { + + if ($e instanceof SimpleSAML_Error_Exception) { + return $e; + } + return new SimpleSAML_Error_UnserializableException($e); + } + + + /** + * Load the backtrace from the given exception. + * + * @param Exception $exception The exception we should fetch the backtrace from. + */ + protected function initBacktrace(Exception $exception) + { + + $this->backtrace = array(); + + // position in the top function on the stack + $pos = $exception->getFile().':'.$exception->getLine(); + + foreach ($exception->getTrace() as $t) { + $function = $t['function']; + if (array_key_exists('class', $t)) { + $function = $t['class'].'::'.$function; + } + + $this->backtrace[] = $pos.' ('.$function.')'; + + if (array_key_exists('file', $t)) { + $pos = $t['file'].':'.$t['line']; + } else { + $pos = '[builtin]'; + } + } + + $this->backtrace[] = $pos.' (N/A)'; + } + + + /** + * Retrieve the backtrace. + * + * @return array An array where each function call is a single item. + */ + public function getBacktrace() + { + return $this->backtrace; + } + + + /** + * Retrieve the cause of this exception. + * + * @return SimpleSAML_Error_Exception|null The cause of this exception. + */ + public function getCause() + { + return $this->cause; + } + + + /** + * Retrieve the class of this exception. + * + * @return string The name of the class. + */ + public function getClass() + { + return get_class($this); + } + + + /** + * Format this exception for logging. + * + * Create an array of lines for logging. + * + * @param boolean $anonymize Whether the resulting messages should be anonymized or not. + * + * @return array Log lines that should be written out. + */ + public function format($anonymize = false) + { + $ret = array( + $this->getClass().': '.$this->getMessage(), + ); + return array_merge($ret, $this->formatBacktrace($anonymize)); + } + + + /** + * Format the backtrace for logging. + * + * Create an array of lines for logging from the backtrace. + * + * @param boolean $anonymize Whether the resulting messages should be anonymized or not. + * + * @return array All lines of the backtrace, properly formatted. + */ + public function formatBacktrace($anonymize = false) + { + $ret = array(); + $basedir = SimpleSAML_Configuration::getInstance()->getBaseDir(); + + $e = $this; + do { + if ($e !== $this) { + $ret[] = 'Caused by: '.$e->getClass().': '.$e->getMessage(); + } + $ret[] = 'Backtrace:'; + + $depth = count($e->backtrace); + foreach ($e->backtrace as $i => $trace) { + if ($anonymize) { + $trace = str_replace($basedir, '', $trace); + } + + $ret[] = ($depth - $i - 1).' '.$trace; + } + $e = $e->cause; + } while ($e !== null); + + return $ret; + } + + + /** + * Print the backtrace to the log if the 'debug' option is enabled in the configuration. + */ + protected function logBacktrace($level = \SimpleSAML\Logger::DEBUG) + { + // see if debugging is enabled for backtraces + $debug = SimpleSAML_Configuration::getInstance()->getArrayize('debug', array('backtraces' => false)); + + if (!(in_array('backtraces', $debug, true) // implicitly enabled + || (array_key_exists('backtraces', $debug) && $debug['backtraces'] === true) // explicitly set + // TODO: deprecate the old style and remove it in 2.0 + || (array_key_exists(0, $debug) && $debug[0] === true) // old style 'debug' configuration option + )) { + return; + } + + $backtrace = $this->formatBacktrace(); + + $callback = array('\SimpleSAML\Logger'); + $functions = array( + \SimpleSAML\Logger::ERR => 'error', + \SimpleSAML\Logger::WARNING => 'warning', + \SimpleSAML\Logger::INFO => 'info', + \SimpleSAML\Logger::DEBUG => 'debug', + ); + $callback[] = $functions[$level]; + + foreach ($backtrace as $line) { + call_user_func($callback, $line); + } + } + + + /** + * Print the exception to the log, by default with log level error. + * + * Override to allow errors extending this class to specify the log level themselves. + * + * @param int $default_level The log level to use if this method was not overridden. + */ + public function log($default_level) + { + $fn = array( + SimpleSAML\Logger::ERR => 'logError', + SimpleSAML\Logger::WARNING => 'logWarning', + SimpleSAML\Logger::INFO => 'logInfo', + SimpleSAML\Logger::DEBUG => 'logDebug', + ); + call_user_func(array($this, $fn[$default_level]), $default_level); + } + + + /** + * Print the exception to the log with log level error. + * + * This function will write this exception to the log, including a full backtrace. + */ + public function logError() + { + SimpleSAML\Logger::error($this->getClass().': '.$this->getMessage()); + $this->logBacktrace(\SimpleSAML\Logger::ERR); + } + + + /** + * Print the exception to the log with log level warning. + * + * This function will write this exception to the log, including a full backtrace. + */ + public function logWarning() + { + SimpleSAML\Logger::warning($this->getClass().': '.$this->getMessage()); + $this->logBacktrace(\SimpleSAML\Logger::WARNING); + } + + + /** + * Print the exception to the log with log level info. + * + * This function will write this exception to the log, including a full backtrace. + */ + public function logInfo() + { + SimpleSAML\Logger::info($this->getClass().': '.$this->getMessage()); + $this->logBacktrace(\SimpleSAML\Logger::INFO); + } + + + /** + * Print the exception to the log with log level debug. + * + * This function will write this exception to the log, including a full backtrace. + */ + public function logDebug() + { + SimpleSAML\Logger::debug($this->getClass().': '.$this->getMessage()); + $this->logBacktrace(\SimpleSAML\Logger::DEBUG); + } + + + /** + * Function for serialization. + * + * This function builds a list of all variables which should be serialized. It will serialize all variables except + * the Exception::trace variable. + * + * @return array Array with the variables that should be serialized. + */ + public function __sleep() + { + + $ret = array_keys((array) $this); + + foreach ($ret as $i => $e) { + if ($e === "\0Exception\0trace") { + unset($ret[$i]); + } + } + + return $ret; + } +} diff --git a/lib/SimpleSAML/Error/InvalidCredential.php b/lib/SimpleSAML/Error/InvalidCredential.php new file mode 100755 index 0000000..d0bbff1 --- /dev/null +++ b/lib/SimpleSAML/Error/InvalidCredential.php @@ -0,0 +1,12 @@ + + * @package SimpleSAMLphp_base + * + */ +class SimpleSAML_Error_InvalidCredential extends SimpleSAML_Error_User +{ + +} diff --git a/lib/SimpleSAML/Error/MetadataNotFound.php b/lib/SimpleSAML/Error/MetadataNotFound.php new file mode 100755 index 0000000..3aef365 --- /dev/null +++ b/lib/SimpleSAML/Error/MetadataNotFound.php @@ -0,0 +1,27 @@ +includeTemplate = 'core:no_metadata.tpl.php'; + parent::__construct(array( + 'METADATANOTFOUND', + '%ENTITYID%' => htmlspecialchars(var_export($entityId, true)) + )); + } +} diff --git a/lib/SimpleSAML/Error/NoPassive.php b/lib/SimpleSAML/Error/NoPassive.php new file mode 100755 index 0000000..2f53433 --- /dev/null +++ b/lib/SimpleSAML/Error/NoPassive.php @@ -0,0 +1,15 @@ +includeTemplate = 'core:no_state.tpl.php'; + parent::__construct('NOSTATE'); + } +} diff --git a/lib/SimpleSAML/Error/NotFound.php b/lib/SimpleSAML/Error/NotFound.php new file mode 100755 index 0000000..7a64ec3 --- /dev/null +++ b/lib/SimpleSAML/Error/NotFound.php @@ -0,0 +1,72 @@ + $url)); + $this->message = "The requested page '$url' could not be found."; + } else { + parent::__construct(array('NOTFOUNDREASON', '%URL%' => $url, '%REASON%' => $reason)); + $this->message = "The requested page '$url' could not be found. ".$reason; + } + + $this->reason = $reason; + $this->httpCode = 404; + } + + + /** + * Retrieve the reason why the given page could not be found. + * + * @return string|null The reason why the page could not be found. + */ + public function getReason() + { + return $this->reason; + } + + + /** + * NotFound exceptions don't need to display a backtrace, as they are very simple and the trace is usually trivial, + * so just log the message without any backtrace at all. + * + * @param bool $anonymize Whether to anonymize the trace or not. + * + * @return array + */ + public function format($anonymize = false) + { + return array( + $this->getClass().': '.$this->getMessage(), + ); + } +} diff --git a/lib/SimpleSAML/Error/ProxyCountExceeded.php b/lib/SimpleSAML/Error/ProxyCountExceeded.php new file mode 100755 index 0000000..1462d37 --- /dev/null +++ b/lib/SimpleSAML/Error/ProxyCountExceeded.php @@ -0,0 +1,15 @@ +class = get_class($original); + $msg = $original->getMessage(); + $code = $original->getCode(); + + if (!is_int($code)) { + // PDOException uses a string as the code. Filter it out here. + $code = -1; + } + + parent::__construct($msg, $code); + $this->initBacktrace($original); + } + + + /** + * Retrieve the class of this exception. + * + * @return string The classname. + */ + public function getClass() + { + return $this->class; + } +} diff --git a/lib/SimpleSAML/Error/User.php b/lib/SimpleSAML/Error/User.php new file mode 100755 index 0000000..4e70db0 --- /dev/null +++ b/lib/SimpleSAML/Error/User.php @@ -0,0 +1,14 @@ + + * @package SimpleSAMLphp_base + * + */ +class SimpleSAML_Error_User extends SimpleSAML_Error_Exception +{ + +} diff --git a/lib/SimpleSAML/Error/UserAborted.php b/lib/SimpleSAML/Error/UserAborted.php new file mode 100755 index 0000000..9ddcb0f --- /dev/null +++ b/lib/SimpleSAML/Error/UserAborted.php @@ -0,0 +1,20 @@ + + * @package SimpleSAMLphp_base + * + */ +class SimpleSAML_Error_UserNotFound extends SimpleSAML_Error_User +{ + +} diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php new file mode 100755 index 0000000..42a57ae --- /dev/null +++ b/lib/SimpleSAML/IdP.php @@ -0,0 +1,558 @@ +id = $id; + + $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $globalConfig = SimpleSAML_Configuration::getInstance(); + + if (substr($id, 0, 6) === 'saml2:') { + if (!$globalConfig->getBoolean('enable.saml20-idp', false)) { + throw new SimpleSAML_Error_Exception('enable.saml20-idp disabled in config.php.'); + } + $this->config = $metadata->getMetaDataConfig(substr($id, 6), 'saml20-idp-hosted'); + } elseif (substr($id, 0, 6) === 'saml1:') { + if (!$globalConfig->getBoolean('enable.shib13-idp', false)) { + throw new SimpleSAML_Error_Exception('enable.shib13-idp disabled in config.php.'); + } + $this->config = $metadata->getMetaDataConfig(substr($id, 6), 'shib13-idp-hosted'); + } elseif (substr($id, 0, 5) === 'adfs:') { + if (!$globalConfig->getBoolean('enable.adfs-idp', false)) { + throw new SimpleSAML_Error_Exception('enable.adfs-idp disabled in config.php.'); + } + $this->config = $metadata->getMetaDataConfig(substr($id, 5), 'adfs-idp-hosted'); + + try { + // this makes the ADFS IdP use the same SP associations as the SAML 2.0 IdP + $saml2EntityId = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted'); + $this->associationGroup = 'saml2:'.$saml2EntityId; + } catch (Exception $e) { + // probably no SAML 2 IdP configured for this host. Ignore the error + } + } else { + assert(false); + } + + if ($this->associationGroup === null) { + $this->associationGroup = $this->id; + } + + $auth = $this->config->getString('auth'); + if (SimpleSAML_Auth_Source::getById($auth) !== null) { + $this->authSource = new \SimpleSAML\Auth\Simple($auth); + } else { + throw new SimpleSAML_Error_Exception('No such "'.$auth.'" auth source found.'); + } + } + + + /** + * Retrieve the ID of this IdP. + * + * @return string The ID of this IdP. + */ + public function getId() + { + return $this->id; + } + + + /** + * Retrieve an IdP by ID. + * + * @param string $id The identifier of the IdP. + * + * @return SimpleSAML_IdP The IdP. + */ + public static function getById($id) + { + assert(is_string($id)); + + if (isset(self::$idpCache[$id])) { + return self::$idpCache[$id]; + } + + $idp = new self($id); + self::$idpCache[$id] = $idp; + return $idp; + } + + + /** + * Retrieve the IdP "owning" the state. + * + * @param array &$state The state array. + * + * @return SimpleSAML_IdP The IdP. + */ + public static function getByState(array &$state) + { + assert(isset($state['core:IdP'])); + + return self::getById($state['core:IdP']); + } + + + /** + * Retrieve the configuration for this IdP. + * + * @return SimpleSAML_Configuration The configuration object. + */ + public function getConfig() + { + return $this->config; + } + + + /** + * Get SP name. + * + * @param string $assocId The association identifier. + * + * @return array|null The name of the SP, as an associative array of language => text, or null if this isn't an SP. + */ + public function getSPName($assocId) + { + assert(is_string($assocId)); + + $prefix = substr($assocId, 0, 4); + $spEntityId = substr($assocId, strlen($prefix) + 1); + $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + + if ($prefix === 'saml') { + try { + $spMetadata = $metadata->getMetaDataConfig($spEntityId, 'saml20-sp-remote'); + } catch (Exception $e) { + try { + $spMetadata = $metadata->getMetaDataConfig($spEntityId, 'shib13-sp-remote'); + } catch (Exception $e) { + return null; + } + } + } else { + if ($prefix === 'adfs') { + $spMetadata = $metadata->getMetaDataConfig($spEntityId, 'adfs-sp-remote'); + } else { + return null; + } + } + + if ($spMetadata->hasValue('name')) { + return $spMetadata->getLocalizedString('name'); + } elseif ($spMetadata->hasValue('OrganizationDisplayName')) { + return $spMetadata->getLocalizedString('OrganizationDisplayName'); + } else { + return array('en' => $spEntityId); + } + } + + + /** + * Add an SP association. + * + * @param array $association The SP association. + */ + public function addAssociation(array $association) + { + assert(isset($association['id'])); + assert(isset($association['Handler'])); + + $association['core:IdP'] = $this->id; + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->addAssociation($this->associationGroup, $association); + } + + + /** + * Retrieve list of SP associations. + * + * @return array List of SP associations. + */ + public function getAssociations() + { + $session = SimpleSAML_Session::getSessionFromRequest(); + return $session->getAssociations($this->associationGroup); + } + + + /** + * Remove an SP association. + * + * @param string $assocId The association id. + */ + public function terminateAssociation($assocId) + { + assert(is_string($assocId)); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->terminateAssociation($this->associationGroup, $assocId); + } + + + /** + * Is the current user authenticated? + * + * @return boolean True if the user is authenticated, false otherwise. + */ + public function isAuthenticated() + { + return $this->authSource->isAuthenticated(); + } + + + /** + * Called after authproc has run. + * + * @param array $state The authentication request state array. + */ + public static function postAuthProc(array $state) + { + assert(is_callable($state['Responder'])); + + if (isset($state['core:SP'])) { + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->setData( + 'core:idp-ssotime', + $state['core:IdP'].';'.$state['core:SP'], + time(), + SimpleSAML_Session::DATA_TIMEOUT_SESSION_END + ); + } + + call_user_func($state['Responder'], $state); + assert(false); + } + + + /** + * The user is authenticated. + * + * @param array $state The authentication request state array. + * + * @throws SimpleSAML_Error_Exception If we are not authenticated. + */ + public static function postAuth(array $state) + { + $idp = SimpleSAML_IdP::getByState($state); + + if (!$idp->isAuthenticated()) { + throw new SimpleSAML_Error_Exception('Not authenticated.'); + } + + $state['Attributes'] = $idp->authSource->getAttributes(); + + if (isset($state['SPMetadata'])) { + $spMetadata = $state['SPMetadata']; + } else { + $spMetadata = array(); + } + + if (isset($state['core:SP'])) { + $session = SimpleSAML_Session::getSessionFromRequest(); + $previousSSOTime = $session->getData('core:idp-ssotime', $state['core:IdP'].';'.$state['core:SP']); + if ($previousSSOTime !== null) { + $state['PreviousSSOTimestamp'] = $previousSSOTime; + } + } + + $idpMetadata = $idp->getConfig()->toArray(); + + $pc = new SimpleSAML_Auth_ProcessingChain($idpMetadata, $spMetadata, 'idp'); + + $state['ReturnCall'] = array('SimpleSAML_IdP', 'postAuthProc'); + $state['Destination'] = $spMetadata; + $state['Source'] = $idpMetadata; + + $pc->processState($state); + + self::postAuthProc($state); + } + + + /** + * Authenticate the user. + * + * This function authenticates the user. + * + * @param array &$state The authentication request state. + * + * @throws \SimpleSAML\Module\saml\Error\NoPassive If we were asked to do passive authentication. + */ + private function authenticate(array &$state) + { + if (isset($state['isPassive']) && (bool) $state['isPassive']) { + throw new \SimpleSAML\Module\saml\Error\NoPassive('Passive authentication not supported.'); + } + + $this->authSource->login($state); + } + + + /** + * Re-authenticate the user. + * + * This function re-authenticates an user with an existing session. This gives the authentication source a chance + * to do additional work when re-authenticating for SSO. + * + * Note: This function is not used when ForceAuthn=true. + * + * @param array &$state The authentication request state. + * + * @throws SimpleSAML_Error_Exception If there is no auth source defined for this IdP. + */ + private function reauthenticate(array &$state) + { + $sourceImpl = $this->authSource->getAuthSource(); + if ($sourceImpl === null) { + throw new SimpleSAML_Error_Exception('No such auth source defined.'); + } + + $sourceImpl->reauthenticate($state); + } + + + /** + * Process authentication requests. + * + * @param array &$state The authentication request state. + */ + public function handleAuthenticationRequest(array &$state) + { + assert(isset($state['Responder'])); + + $state['core:IdP'] = $this->id; + + if (isset($state['SPMetadata']['entityid'])) { + $spEntityId = $state['SPMetadata']['entityid']; + } elseif (isset($state['SPMetadata']['entityID'])) { + $spEntityId = $state['SPMetadata']['entityID']; + } else { + $spEntityId = null; + } + $state['core:SP'] = $spEntityId; + + // first, check whether we need to authenticate the user + if (isset($state['ForceAuthn']) && (bool) $state['ForceAuthn']) { + // force authentication is in effect + $needAuth = true; + } else { + $needAuth = !$this->isAuthenticated(); + } + + $state['IdPMetadata'] = $this->getConfig()->toArray(); + $state['ReturnCallback'] = array('SimpleSAML_IdP', 'postAuth'); + + try { + if ($needAuth) { + $this->authenticate($state); + assert(false); + } else { + $this->reauthenticate($state); + } + $this->postAuth($state); + } catch (SimpleSAML_Error_Exception $e) { + SimpleSAML_Auth_State::throwException($state, $e); + } catch (Exception $e) { + $e = new SimpleSAML_Error_UnserializableException($e); + SimpleSAML_Auth_State::throwException($state, $e); + } + } + + + /** + * Find the logout handler of this IdP. + * + * @return \SimpleSAML\IdP\LogoutHandlerInterface The logout handler class. + * + * @throws SimpleSAML_Error_Exception If we cannot find a logout handler. + */ + public function getLogoutHandler() + { + // find the logout handler + $logouttype = $this->getConfig()->getString('logouttype', 'traditional'); + switch ($logouttype) { + case 'traditional': + $handler = 'SimpleSAML\IdP\TraditionalLogoutHandler'; + break; + case 'iframe': + $handler = 'SimpleSAML\IdP\IFrameLogoutHandler'; + break; + default: + throw new SimpleSAML_Error_Exception('Unknown logout handler: '.var_export($logouttype, true)); + } + + return new $handler($this); + } + + + /** + * Finish the logout operation. + * + * This function will never return. + * + * @param array &$state The logout request state. + */ + public function finishLogout(array &$state) + { + assert(isset($state['Responder'])); + + $idp = SimpleSAML_IdP::getByState($state); + call_user_func($state['Responder'], $idp, $state); + assert(false); + } + + + /** + * Process a logout request. + * + * This function will never return. + * + * @param array &$state The logout request state. + * @param string|null $assocId The association we received the logout request from, or null if there was no + * association. + */ + public function handleLogoutRequest(array &$state, $assocId) + { + assert(isset($state['Responder'])); + assert(is_string($assocId) || $assocId === null); + + $state['core:IdP'] = $this->id; + $state['core:TerminatedAssocId'] = $assocId; + + if ($assocId !== null) { + $this->terminateAssociation($assocId); + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->deleteData('core:idp-ssotime', $this->id.':'.$state['saml:SPEntityId']); + } + + // terminate the local session + $id = SimpleSAML_Auth_State::saveState($state, 'core:Logout:afterbridge'); + $returnTo = SimpleSAML\Module::getModuleURL('core/idp/resumelogout.php', array('id' => $id)); + + $this->authSource->logout($returnTo); + + $handler = $this->getLogoutHandler(); + $handler->startLogout($state, $assocId); + assert(false); + } + + + /** + * Process a logout response. + * + * This function will never return. + * + * @param string $assocId The association that is terminated. + * @param string|null $relayState The RelayState from the start of the logout. + * @param SimpleSAML_Error_Exception|null $error The error that occurred during session termination (if any). + */ + public function handleLogoutResponse($assocId, $relayState, SimpleSAML_Error_Exception $error = null) + { + assert(is_string($assocId)); + assert(is_string($relayState) || $relayState === null); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->deleteData('core:idp-ssotime', $this->id.';'.substr($assocId, strpos($assocId, ':') + 1)); + + $handler = $this->getLogoutHandler(); + $handler->onResponse($assocId, $relayState, $error); + + assert(false); + } + + + /** + * Log out, then redirect to a URL. + * + * This function never returns. + * + * @param string $url The URL the user should be returned to after logout. + */ + public function doLogoutRedirect($url) + { + assert(is_string($url)); + + $state = array( + 'Responder' => array('SimpleSAML_IdP', 'finishLogoutRedirect'), + 'core:Logout:URL' => $url, + ); + + $this->handleLogoutRequest($state, null); + assert(false); + } + + + /** + * Redirect to a URL after logout. + * + * This function never returns. + * + * @param SimpleSAML_IdP $idp Deprecated. Will be removed. + * @param array &$state The logout state from doLogoutRedirect(). + */ + public static function finishLogoutRedirect(SimpleSAML_IdP $idp, array $state) + { + assert(isset($state['core:Logout:URL'])); + + \SimpleSAML\Utils\HTTP::redirectTrustedURL($state['core:Logout:URL']); + assert(false); + } +} diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php new file mode 100755 index 0000000..b084403 --- /dev/null +++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php @@ -0,0 +1,119 @@ +idp = $idp; + } + + /** + * Start the logout operation. + * + * @param array &$state The logout state. + * @param string|null $assocId The SP we are logging out from. + */ + public function startLogout(array &$state, $assocId) + { + assert(is_string($assocId) || $assocId === null); + + $associations = $this->idp->getAssociations(); + + if (count($associations) === 0) { + $this->idp->finishLogout($state); + } + + foreach ($associations as $id => &$association) { + $idp = \SimpleSAML_IdP::getByState($association); + $association['core:Logout-IFrame:Name'] = $idp->getSPName($id); + $association['core:Logout-IFrame:State'] = 'onhold'; + } + $state['core:Logout-IFrame:Associations'] = $associations; + + if (!is_null($assocId)) { + $spName = $this->idp->getSPName($assocId); + if ($spName === null) { + $spName = array('en' => $assocId); + } + + $state['core:Logout-IFrame:From'] = $spName; + } else { + $state['core:Logout-IFrame:From'] = null; + } + + $params = array( + 'id' => \SimpleSAML_Auth_State::saveState($state, 'core:Logout-IFrame'), + ); + if (isset($state['core:Logout-IFrame:InitType'])) { + $params['type'] = $state['core:Logout-IFrame:InitType']; + } + + $url = Module::getModuleURL('core/idp/logout-iframe.php', $params); + HTTP::redirectTrustedURL($url); + } + + + /** + * Continue the logout operation. + * + * This function will never return. + * + * @param string $assocId The association that is terminated. + * @param string|null $relayState The RelayState from the start of the logout. + * @param \SimpleSAML_Error_Exception|null $error The error that occurred during session termination (if any). + */ + public function onResponse($assocId, $relayState, \SimpleSAML_Error_Exception $error = null) + { + assert(is_string($assocId)); + + $spId = sha1($assocId); + $this->idp->terminateAssociation($assocId); + + $header = <<
+ + + Logout response from %s + + + + + +FOOTER; + exit(0); + } +} diff --git a/lib/SimpleSAML/IdP/LogoutHandlerInterface.php b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php new file mode 100755 index 0000000..011dd63 --- /dev/null +++ b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php @@ -0,0 +1,43 @@ +idp = $idp; + } + + + /** + * Picks the next SP and issues a logout request. + * + * This function never returns. + * + * @param array &$state The logout state. + */ + private function logoutNextSP(array &$state) + { + $association = array_pop($state['core:LogoutTraditional:Remaining']); + if ($association === null) { + $this->idp->finishLogout($state); + } + + $relayState = \SimpleSAML_Auth_State::saveState($state, 'core:LogoutTraditional', true); + + $id = $association['id']; + Logger::info('Logging out of '.var_export($id, true).'.'); + + try { + $idp = \SimpleSAML_IdP::getByState($association); + $url = call_user_func(array($association['Handler'], 'getLogoutURL'), $idp, $association, $relayState); + HTTP::redirectTrustedURL($url); + } catch (\Exception $e) { + Logger::warning('Unable to initialize logout to '.var_export($id, true).'.'); + $this->idp->terminateAssociation($id); + $state['core:Failed'] = true; + + // Try the next SP + $this->logoutNextSP($state); + assert(false); + } + } + + + /** + * Start the logout operation. + * + * This function never returns. + * + * @param array &$state The logout state. + * @param string $assocId The association that started the logout. + */ + public function startLogout(array &$state, $assocId) + { + $state['core:LogoutTraditional:Remaining'] = $this->idp->getAssociations(); + + $this->logoutNextSP($state); + } + + + /** + * Continue the logout operation. + * + * This function will never return. + * + * @param string $assocId The association that is terminated. + * @param string|null $relayState The RelayState from the start of the logout. + * @param \SimpleSAML_Error_Exception|null $error The error that occurred during session termination (if any). + * + * @throws \SimpleSAML_Error_Exception If the RelayState was lost during logout. + */ + public function onResponse($assocId, $relayState, \SimpleSAML_Error_Exception $error = null) + { + assert(is_string($assocId)); + assert(is_string($relayState) || $relayState === null); + + if ($relayState === null) { + throw new \SimpleSAML_Error_Exception('RelayState lost during logout.'); + } + + $state = \SimpleSAML_Auth_State::loadState($relayState, 'core:LogoutTraditional'); + + if ($error === null) { + Logger::info('Logged out of '.var_export($assocId, true).'.'); + $this->idp->terminateAssociation($assocId); + } else { + Logger::warning('Error received from '.var_export($assocId, true).' during logout:'); + $error->logWarning(); + $state['core:Failed'] = true; + } + + $this->logoutNextSP($state); + } +} diff --git a/lib/SimpleSAML/Locale/Language.php b/lib/SimpleSAML/Locale/Language.php new file mode 100755 index 0000000..b8ab1ae --- /dev/null +++ b/lib/SimpleSAML/Locale/Language.php @@ -0,0 +1,424 @@ + + * @author Hanne Moa, UNINETT AS. + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Locale; + +use SimpleSAML\Utils\HTTP; + +class Language +{ + + /** + * This is the default language map. It is used to map languages codes from the user agent to other language codes. + */ + private static $defaultLanguageMap = array('nb' => 'no'); + + /** + * The configuration to use. + * + * @var \SimpleSAML_Configuration + */ + private $configuration; + + /** + * An array holding a list of languages available. + * + * @var array + */ + private $availableLanguages; + + /** + * The language currently in use. + * + * @var null|string + */ + private $language = null; + + /** + * The language to use by default. + * + * @var string + */ + private $defaultLanguage; + + /** + * An array holding a list of languages that are written from right to left. + * + * @var array + */ + private $rtlLanguages; + + /** + * HTTP GET language parameter name. + * + * @var string + */ + private $languageParameterName; + + /** + * A custom function to use in order to determine the language in use. + * + * @var callable|null + */ + private $customFunction; + + /** + * A list of languages supported with their names localized. + * Indexed by something that mostly resembles ISO 639-1 code, + * with some charming SimpleSAML-specific variants... + * that must remain before 2.0 due to backwards compatibility + * + * @var array + */ + private $language_names = array( + 'no' => 'Bokmål', // Norwegian Bokmål + 'nn' => 'Nynorsk', // Norwegian Nynorsk + 'se' => 'Sámegiella', // Northern Sami + 'sma' => 'Åarjelh-saemien giele', // Southern Sami + 'da' => 'Dansk', // Danish + 'en' => 'English', + 'de' => 'Deutsch', // German + 'sv' => 'Svenska', // Swedish + 'fi' => 'Suomeksi', // Finnish + 'es' => 'Español', // Spanish + 'ca' => 'Català', // Catalan + 'fr' => 'Français', // French + 'it' => 'Italiano', // Italian + 'nl' => 'Nederlands', // Dutch + 'lb' => 'Lëtzebuergesch', // Luxembourgish + 'cs' => 'Čeština', // Czech + 'sl' => 'Slovenščina', // Slovensk + 'lt' => 'Lietuvių kalba', // Lithuanian + 'hr' => 'Hrvatski', // Croatian + 'hu' => 'Magyar', // Hungarian + 'pl' => 'Język polski', // Polish + 'pt' => 'Português', // Portuguese + 'pt-br' => 'Português brasileiro', // Portuguese + 'ru' => 'русский язык', // Russian + 'et' => 'eesti keel', // Estonian + 'tr' => 'Türkçe', // Turkish + 'el' => 'ελληνικά', // Greek + 'ja' => '日本語', // Japanese + 'zh' => '简体中文', // Chinese (simplified) + 'zh-tw' => '繁體中文', // Chinese (traditional) + 'ar' => 'العربية', // Arabic + 'fa' => 'پارسی', // Persian + 'ur' => 'اردو', // Urdu + 'he' => 'עִבְרִית', // Hebrew + 'id' => 'Bahasa Indonesia', // Indonesian + 'sr' => 'Srpski', // Serbian + 'lv' => 'Latviešu', // Latvian + 'ro' => 'Românește', // Romanian + 'eu' => 'Euskara', // Basque + 'af' => 'Afrikaans', // Afrikaans + ); + + /** + * A mapping of SSP languages to locales + * + * @var array + */ + private $languagePosixMapping = array( + 'no' => 'nb_NO', + 'nn' => 'nn_NO', + ); + + + /** + * Constructor + * + * @param \SimpleSAML_Configuration $configuration Configuration object + */ + public function __construct(\SimpleSAML_Configuration $configuration) + { + $this->configuration = $configuration; + $this->availableLanguages = $this->getInstalledLanguages(); + $this->defaultLanguage = $this->configuration->getString('language.default', 'en'); + $this->languageParameterName = $this->configuration->getString('language.parameter.name', 'language'); + $this->customFunction = $this->configuration->getArray('language.get_language_function', null); + $this->rtlLanguages = $this->configuration->getArray('language.rtl', array()); + if (isset($_GET[$this->languageParameterName])) { + $this->setLanguage( + $_GET[$this->languageParameterName], + $this->configuration->getBoolean('language.parameter.setcookie', true) + ); + } + } + + + /** + * Filter configured (available) languages against installed languages. + * + * @return array The set of languages both in 'language.available' and $this->language_names. + */ + private function getInstalledLanguages() + { + $configuredAvailableLanguages = $this->configuration->getArray('language.available', array('en')); + $availableLanguages = array(); + foreach ($configuredAvailableLanguages as $code) { + if (array_key_exists($code, $this->language_names) && isset($this->language_names[$code])) { + $availableLanguages[] = $code; + } else { + \SimpleSAML\Logger::error("Language \"$code\" not installed. Check config."); + } + } + return $availableLanguages; + } + + + /** + * Rename to non-idiosyncratic language code. + * + * @param string $language Language code for the language to rename, if necessary. + * + * @return string The language code. + */ + public function getPosixLanguage($language) + { + if (isset($this->languagePosixMapping[$language])) { + return $this->languagePosixMapping[$language]; + } + return $language; + } + + + /** + * This method will set a cookie for the user's browser to remember what language was selected. + * + * @param string $language Language code for the language to set. + * @param boolean $setLanguageCookie Whether to set the language cookie or not. Defaults to true. + */ + public function setLanguage($language, $setLanguageCookie = true) + { + $language = strtolower($language); + if (in_array($language, $this->availableLanguages, true)) { + $this->language = $language; + if ($setLanguageCookie === true) { + self::setLanguageCookie($language); + } + } + } + + + /** + * This method will return the language selected by the user, or the default language. It looks first for a cached + * language code, then checks for a language cookie, then it tries to calculate the preferred language from HTTP + * headers. + * + * @return string The language selected by the user according to the processing rules specified, or the default + * language in any other case. + */ + public function getLanguage() + { + // language is set in object + if (isset($this->language)) { + return $this->language; + } + + // run custom getLanguage function if defined + if (isset($this->customFunction) && is_callable($this->customFunction)) { + $customLanguage = call_user_func($this->customFunction, $this); + if ($customLanguage !== null && $customLanguage !== false) { + return $customLanguage; + } + } + + // language is provided in a stored cookie + $languageCookie = Language::getLanguageCookie(); + if ($languageCookie !== null) { + $this->language = $languageCookie; + return $languageCookie; + } + + // check if we can find a good language from the Accept-Language HTTP header + $httpLanguage = $this->getHTTPLanguage(); + if ($httpLanguage !== null) { + return $httpLanguage; + } + + // language is not set, and we get the default language from the configuration + return $this->getDefaultLanguage(); + } + + + /** + * Get the localized name of a language, by ISO 639-2 code. + * + * @param string $code The ISO 639-2 code of the language. + * + * @return string The localized name of the language. + */ + public function getLanguageLocalizedName($code) + { + if (array_key_exists($code, $this->language_names) && isset($this->language_names[$code])) { + return $this->language_names[$code]; + } + \SimpleSAML\Logger::error("Name for language \"$code\" not found. Check config."); + return null; + } + + + /** + * Get the language parameter name. + * + * @return string The language parameter name. + */ + public function getLanguageParameterName() + { + return $this->languageParameterName; + } + + + /** + * This method returns the preferred language for the user based on the Accept-Language HTTP header. + * + * @return string The preferred language based on the Accept-Language HTTP header, or null if none of the languages + * in the header is available. + */ + private function getHTTPLanguage() + { + $languageScore = HTTP::getAcceptLanguage(); + + // for now we only use the default language map. We may use a configurable language map in the future + $languageMap = self::$defaultLanguageMap; + + // find the available language with the best score + $bestLanguage = null; + $bestScore = -1.0; + + foreach ($languageScore as $language => $score) { + // apply the language map to the language code + if (array_key_exists($language, $languageMap)) { + $language = $languageMap[$language]; + } + + if (!in_array($language, $this->availableLanguages, true)) { + // skip this language - we don't have it + continue; + } + + /* Some user agents use very limited precision of the quality value, but order the elements in descending + * order. Therefore we rely on the order of the output from getAcceptLanguage() matching the order of the + * languages in the header when two languages have the same quality. + */ + if ($score > $bestScore) { + $bestLanguage = $language; + $bestScore = $score; + } + } + + return $bestLanguage; + } + + + /** + * Return the default language according to configuration. + * + * @return string The default language that has been configured. Defaults to english if not configured. + */ + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + + + /** + * Return an alias for a language code, if any. + * + * @return string The alias, or null if the alias was not found. + */ + public function getLanguageCodeAlias($langcode) + { + if (isset(self::$defaultLanguageMap[$langcode])) { + return self::$defaultLanguageMap[$langcode]; + } + // No alias found, which is fine + return null; + } + + + /** + * Return an indexed list of all languages available. + * + * @return array An array holding all the languages available as the keys of the array. The value for each key is + * true in case that the language specified by that key is currently active, or false otherwise. + */ + public function getLanguageList() + { + $current = $this->getLanguage(); + $list = array_fill_keys($this->availableLanguages, false); + $list[$current] = true; + return $list; + } + + + /** + * Check whether a language is written from the right to the left or not. + * + * @return boolean True if the language is right-to-left, false otherwise. + */ + public function isLanguageRTL() + { + return in_array($this->getLanguage(), $this->rtlLanguages, true); + } + + + /** + * Retrieve the user-selected language from a cookie. + * + * @return string|null The selected language or null if unset. + */ + public static function getLanguageCookie() + { + $config = \SimpleSAML_Configuration::getInstance(); + $availableLanguages = $config->getArray('language.available', array('en')); + $name = $config->getString('language.cookie.name', 'language'); + + if (isset($_COOKIE[$name])) { + $language = strtolower((string) $_COOKIE[$name]); + if (in_array($language, $availableLanguages, true)) { + return $language; + } + } + + return null; + } + + + /** + * This method will attempt to set the user-selected language in a cookie. It will do nothing if the language + * specified is not in the list of available languages, or the headers have already been sent to the browser. + * + * @param string $language The language set by the user. + */ + public static function setLanguageCookie($language) + { + assert(is_string($language)); + + $language = strtolower($language); + $config = \SimpleSAML_Configuration::getInstance(); + $availableLanguages = $config->getArray('language.available', array('en')); + + if (!in_array($language, $availableLanguages, true) || headers_sent()) { + return; + } + + $name = $config->getString('language.cookie.name', 'language'); + $params = array( + 'lifetime' => ($config->getInteger('language.cookie.lifetime', 60 * 60 * 24 * 900)), + 'domain' => ($config->getString('language.cookie.domain', null)), + 'path' => ($config->getString('language.cookie.path', '/')), + 'secure' => ($config->getBoolean('language.cookie.secure', false)), + 'httponly' => ($config->getBoolean('language.cookie.httponly', false)), + ); + + HTTP::setCookie($name, $language, $params, false); + } +} diff --git a/lib/SimpleSAML/Locale/Localization.php b/lib/SimpleSAML/Locale/Localization.php new file mode 100755 index 0000000..9a023f9 --- /dev/null +++ b/lib/SimpleSAML/Locale/Localization.php @@ -0,0 +1,265 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Locale; + +use Gettext\Translations; +use Gettext\Translator; + +class Localization +{ + /** + * The configuration to use. + * + * @var \SimpleSAML_Configuration + */ + private $configuration; + + /** + * The default gettext domain. + */ + const DEFAULT_DOMAIN = 'messages'; + + /** + * Old internationalization backend included in SimpleSAMLphp. + */ + const SSP_I18N_BACKEND = 'SimpleSAMLphp'; + + /** + * An internationalization backend implemented purely in PHP. + */ + const GETTEXT_I18N_BACKEND = 'gettext/gettext'; + + /** + * The default locale directory + */ + private $localeDir; + + /** + * Where specific domains are stored + */ + private $localeDomainMap = array(); + + /** + * Pointer to currently active translator + */ + private $translator; + + /** + * Pointer to current Language + */ + private $language; + + /** + * Language code representing the current Language + */ + private $langcode; + + + /** + * The language backend to use + */ + public $i18nBackend; + + /** + * Constructor + * + * @param \SimpleSAML_Configuration $configuration Configuration object + */ + public function __construct(\SimpleSAML_Configuration $configuration) + { + $this->configuration = $configuration; + $this->localeDir = $this->configuration->resolvePath('locales'); + $this->language = new Language($configuration); + $this->langcode = $this->language->getPosixLanguage($this->language->getLanguage()); + $this->i18nBackend = $this->configuration->getString('language.i18n.backend', self::SSP_I18N_BACKEND); + $this->setupL10N(); + } + + + /** + * Dump the default locale directory + */ + public function getLocaleDir() + { + return $this->localeDir; + } + + + /** + * Get the default locale dir for a specific module aka. domain + * + * @param string $domain Name of module/domain + */ + public function getDomainLocaleDir($domain) + { + $localeDir = $this->configuration->resolvePath('modules') . '/' . $domain . '/locales'; + return $localeDir; + } + + + /* + * Add a new translation domain from a module + * (We're assuming that each domain only exists in one place) + * + * @param string $module Module name + * @param string $localeDir Absolute path if the module is housed elsewhere + */ + public function addModuleDomain($module, $localeDir = null) + { + if (!$localeDir) { + $localeDir = $this->getDomainLocaleDir($module); + } + $this->addDomain($localeDir, $module); + } + + + /* + * Add a new translation domain + * (We're assuming that each domain only exists in one place) + * + * @param string $localeDir Location of translations + * @param string $domain Domain at location + */ + public function addDomain($localeDir, $domain) + { + $this->localeDomainMap[$domain] = $localeDir; + \SimpleSAML\Logger::debug("Localization: load domain '$domain' at '$localeDir'"); + $this->loadGettextGettextFromPO($domain); + } + + /* + * Get and check path of localization file + * + * @param string $domain Name of localization domain + * @throws Exception If the path does not exist even for the default, fallback language + */ + public function getLangPath($domain = self::DEFAULT_DOMAIN) + { + $langcode = explode('_', $this->langcode); + $langcode = $langcode[0]; + $localeDir = $this->localeDomainMap[$domain]; + $langPath = $localeDir.'/'.$langcode.'/LC_MESSAGES/'; + \SimpleSAML\Logger::debug("Trying langpath for '$langcode' as '$langPath'"); + if (is_dir($langPath) && is_readable($langPath)) { + return $langPath; + } + + // Some langcodes have aliases.. + $alias = $this->language->getLanguageCodeAlias($langcode); + if (isset($alias)) { + $langPath = $localeDir.'/'.$alias.'/LC_MESSAGES/'; + \SimpleSAML\Logger::debug("Trying langpath for alternative '$alias' as '$langPath'"); + if (is_dir($langPath) && is_readable($langPath)) { + return $langPath; + } + } + + // Language not found, fall back to default + $defLangcode = $this->language->getDefaultLanguage(); + $langPath = $localeDir.'/'.$defLangcode.'/LC_MESSAGES/'; + if (is_dir($langPath) && is_readable($langPath)) { + // Report that the localization for the preferred language is missing + $error = "Localization not found for langcode '$langcode' at '$langPath', falling back to langcode '". + $defLangcode."'"; + \SimpleSAML\Logger::error($_SERVER['PHP_SELF'].' - '.$error); + return $langPath; + } + + // Locale for default language missing even, error out + $error = "Localization directory missing/broken for langcode '$langcode' and domain '$domain'"; + \SimpleSAML\Logger::critical($_SERVER['PHP_SELF'].' - '.$error); + throw new \Exception($error); + } + + + /** + * Setup the translator + */ + private function setupTranslator() + { + $this->translator = new Translator(); + $this->translator->register(); + } + + + /** + * Load translation domain from Gettext/Gettext using .po + * + * Note: Since Twig I18N does not support domains, all loaded files are + * merged. Use contexts if identical strings need to be disambiguated. + * + * @param string $domain Name of domain + * @param boolean $catchException Whether to catch an exception on error or return early + * + * @throws \Exception If something is wrong with the locale file for the domain and activated language + */ + private function loadGettextGettextFromPO($domain = self::DEFAULT_DOMAIN, $catchException = true) + { + try { + $langPath = $this->getLangPath($domain); + } catch (\Exception $e) { + $error = "Something went wrong when trying to get path to language file, cannot load domain '$domain'."; + \SimpleSAML\Logger::error($_SERVER['PHP_SELF'].' - '.$error); + if ($catchException) { + // bail out! + return; + } else { + throw $e; + } + } + $poFile = $domain.'.po'; + $poPath = $langPath.$poFile; + if (file_exists($poPath) && is_readable($poPath)) { + $translations = Translations::fromPoFile($poPath); + $this->translator->loadTranslations($translations); + } else { + $error = "Localization file '$poFile' not found in '$langPath', falling back to default"; + \SimpleSAML\Logger::error($_SERVER['PHP_SELF'].' - '.$error); + } + } + + + /** + * Test to check if backend is set to default + * + * (if false: backend unset/there's an error) + */ + public function isI18NBackendDefault() + { + if ($this->i18nBackend === $this::SSP_I18N_BACKEND) { + return true; + } + return false; + } + + + /** + * Set up L18N if configured or fallback to old system + */ + private function setupL10N() + { + if ($this->i18nBackend === self::SSP_I18N_BACKEND) { + \SimpleSAML\Logger::debug("Localization: using old system"); + return; + } + + $this->setupTranslator(); + // setup default domain + $this->addDomain($this->localeDir, self::DEFAULT_DOMAIN); + } + + /** + * Show which domains are registered + */ + public function getRegisteredDomains() + { + return $this->localeDomainMap; + } +} diff --git a/lib/SimpleSAML/Locale/Translate.php b/lib/SimpleSAML/Locale/Translate.php new file mode 100755 index 0000000..00ac6e5 --- /dev/null +++ b/lib/SimpleSAML/Locale/Translate.php @@ -0,0 +1,546 @@ + + * @author Hanne Moa, UNINETT AS. + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\Locale; + +class Translate +{ + + /** + * The configuration to be used for this translator. + * + * @var \SimpleSAML_Configuration + */ + private $configuration; + + private $langtext = array(); + + /** + * Associative array of dictionaries. + */ + private $dictionaries = array(); + + /** + * The default dictionary. + */ + private $defaultDictionary = null; + + /** + * The language object we'll use internally. + * + * @var \SimpleSAML\Locale\Language + */ + private $language; + + + /** + * Constructor + * + * @param \SimpleSAML_Configuration $configuration Configuration object + * @param string|null $defaultDictionary The default dictionary where tags will come from. + */ + public function __construct(\SimpleSAML_Configuration $configuration, $defaultDictionary = null) + { + $this->configuration = $configuration; + $this->language = new Language($configuration); + + if ($defaultDictionary !== null && substr($defaultDictionary, -4) === '.php') { + // TODO: drop this entire if clause for 2.0 + // for backwards compatibility - print warning + $backtrace = debug_backtrace(); + $where = $backtrace[0]['file'].':'.$backtrace[0]['line']; + \SimpleSAML\Logger::warning( + 'Deprecated use of new SimpleSAML\Locale\Translate(...) at '.$where. + '. The last parameter is now a dictionary name, which should not end in ".php".' + ); + + $this->defaultDictionary = substr($defaultDictionary, 0, -4); + } else { + $this->defaultDictionary = $defaultDictionary; + } + } + + + /** + * Return the internal language object used by this translator. + * + * @return \SimpleSAML\Locale\Language + */ + public function getLanguage() + { + return $this->language; + } + + + /** + * This method retrieves a dictionary with the name given. + * + * @param string $name The name of the dictionary, as the filename in the dictionary directory, without the + * '.php' ending. + * + * @return array An associative array with the dictionary. + */ + private function getDictionary($name) + { + assert(is_string($name)); + + if (!array_key_exists($name, $this->dictionaries)) { + $sepPos = strpos($name, ':'); + if ($sepPos !== false) { + $module = substr($name, 0, $sepPos); + $fileName = substr($name, $sepPos + 1); + $dictDir = \SimpleSAML\Module::getModuleDir($module).'/dictionaries/'; + } else { + $dictDir = $this->configuration->getPathValue('dictionarydir', 'dictionaries/'); + $fileName = $name; + } + + $this->dictionaries[$name] = $this->readDictionaryFile($dictDir.$fileName); + } + + return $this->dictionaries[$name]; + } + + + /** + * This method retrieves a tag as an array with language => string mappings. + * + * @param string $tag The tag name. The tag name can also be on the form '{:}', to retrieve a tag + * from the specific dictionary. + * + * @return array An associative array with language => string mappings, or null if the tag wasn't found. + */ + public function getTag($tag) + { + assert(is_string($tag)); + + // first check translations loaded by the includeInlineTranslation and includeLanguageFile methods + if (array_key_exists($tag, $this->langtext)) { + return $this->langtext[$tag]; + } + + // check whether we should use the default dictionary or a dictionary specified in the tag + if (substr($tag, 0, 1) === '{' && preg_match('/^{((?:\w+:)?\w+?):(.*)}$/D', $tag, $matches)) { + $dictionary = $matches[1]; + $tag = $matches[2]; + } else { + $dictionary = $this->defaultDictionary; + if ($dictionary === null) { + // we don't have any dictionary to load the tag from + return null; + } + } + + $dictionary = $this->getDictionary($dictionary); + if (!array_key_exists($tag, $dictionary)) { + return null; + } + + return $dictionary[$tag]; + } + + + /** + * Retrieve the preferred translation of a given text. + * + * @param array $translations The translations, as an associative array with language => text mappings. + * + * @return string The preferred translation. + * + * @throws \Exception If there's no suitable translation. + */ + public function getPreferredTranslation($translations) + { + assert(is_array($translations)); + + // look up translation of tag in the selected language + $selected_language = $this->language->getLanguage(); + if (array_key_exists($selected_language, $translations)) { + return $translations[$selected_language]; + } + + // look up translation of tag in the default language + $default_language = $this->language->getDefaultLanguage(); + if (array_key_exists($default_language, $translations)) { + return $translations[$default_language]; + } + + // check for english translation + if (array_key_exists('en', $translations)) { + return $translations['en']; + } + + // pick the first translation available + if (count($translations) > 0) { + $languages = array_keys($translations); + return $translations[$languages[0]]; + } + + // we don't have anything to return + throw new \Exception('Nothing to return from translation.'); + } + + + /** + * Translate the name of an attribute. + * + * @param string $name The attribute name. + * + * @return string The translated attribute name, or the original attribute name if no translation was found. + */ + public function getAttributeTranslation($name) + { + // normalize attribute name + $normName = strtolower($name); + $normName = str_replace(":", "_", $normName); + + // check for an extra dictionary + $extraDict = $this->configuration->getString('attributes.extradictionary', null); + if ($extraDict !== null) { + $dict = $this->getDictionary($extraDict); + if (array_key_exists($normName, $dict)) { + return $this->getPreferredTranslation($dict[$normName]); + } + } + + // search the default attribute dictionary + $dict = $this->getDictionary('attributes'); + if (array_key_exists('attribute_'.$normName, $dict)) { + return $this->getPreferredTranslation($dict['attribute_'.$normName]); + } + + // no translations found + return $name; + } + + + /** + * Mark a string for translation without translating it. + * + * @param string $tag A tag name to mark for translation. + * + * @return string The tag, unchanged. + */ + public static function noop($tag) + { + return $tag; + } + + + /** + * Translate a tag into the current language, with a fallback to english. + * + * This function is used to look up a translation tag in dictionaries, and return the translation into the current + * language. If no translation into the current language can be found, english will be tried, and if that fails, + * placeholder text will be returned. + * + * An array can be passed as the tag. In that case, the array will be assumed to be on the form (language => text), + * and will be used as the source of translations. + * + * This function can also do replacements into the translated tag. It will search the translated tag for the keys + * provided in $replacements, and replace any found occurrences with the value of the key. + * + * @param string|array $tag A tag name for the translation which should be looked up, or an array with + * (language => text) mappings. The array version will go away in 2.0 + * @param array $replacements An associative array of keys that should be replaced with values in the + * translated string. + * @param boolean $fallbackdefault Default translation to use as a fallback if no valid translation was found. + * @deprecated Not used in twig, gettext + * + * @return string The translated tag, or a placeholder value if the tag wasn't found. + */ + public function t( + $tag, + $replacements = array(), + // TODO: remove this for 2.0. Assume true + $fallbackdefault = true, + // TODO: remove this for 2.0 + $oldreplacements = array(), + // TODO: remove this for 2.0 + $striptags = false + ) { + $backtrace = debug_backtrace(); + $where = $backtrace[0]['file'].':'.$backtrace[0]['line']; + if (!$fallbackdefault) { + \SimpleSAML\Logger::warning( + 'Deprecated use of new SimpleSAML\Locale\Translate::t(...) at '.$where. + '. This parameter will go away, the fallback will become' . + ' identical to the $tag in 2.0.' + ); + } + if (!is_array($replacements)) { + // TODO: remove this entire if for 2.0 + + // old style call to t(...). Print warning to log + \SimpleSAML\Logger::warning( + 'Deprecated use of SimpleSAML\Locale\Translate::t(...) at '.$where. + '. Please update the code to use the new style of parameters.' + ); + + // for backwards compatibility + if (!$replacements && $this->getTag($tag) === null) { + \SimpleSAML\Logger::warning( + 'Code which uses $fallbackdefault === FALSE should be updated to use the getTag() method instead.' + ); + return null; + } + + $replacements = $oldreplacements; + } + + if (is_array($tag)) { + $tagData = $tag; + \SimpleSAML\Logger::warning( + 'Deprecated use of new SimpleSAML\Locale\Translate::t(...) at '.$where. + '. The $tag-parameter can only be a string in 2.0.' + ); + } else { + $tagData = $this->getTag($tag); + if ($tagData === null) { + // tag not found + \SimpleSAML\Logger::info('Template: Looking up ['.$tag.']: not translated at all.'); + return $this->getStringNotTranslated($tag, $fallbackdefault); + } + } + + $translated = $this->getPreferredTranslation($tagData); + + foreach ($replacements as $k => $v) { + // try to translate if no replacement is given + if ($v == null) { + $v = $this->t($k); + } + $translated = str_replace($k, $v, $translated); + } + return $translated; + } + + + /** + * Return the string that should be used when no translation was found. + * + * @param string $tag A name tag of the string that should be returned. + * @param boolean $fallbacktag If set to true and string was not found in any languages, return the tag itself. If + * false return null. + * + * @return string The string that should be used, or the tag name if $fallbacktag is set to false. + */ + private function getStringNotTranslated($tag, $fallbacktag) + { + if ($fallbacktag) { + return 'not translated ('.$tag.')'; + } else { + return $tag; + } + } + + + /** + * Include a translation inline instead of putting translations in dictionaries. This function is recommended to be + * used ONLU from variable data, or when the translation is already provided by an external source, as a database + * or in metadata. + * + * @param string $tag The tag that has a translation + * @param array|string $translation The translation array + * + * @throws \Exception If $translation is neither a string nor an array. + */ + public function includeInlineTranslation($tag, $translation) + { + if (is_string($translation)) { + $translation = array('en' => $translation); + } elseif (!is_array($translation)) { + throw new \Exception("Inline translation should be string or array. Is ".gettype($translation)." now!"); + } + + \SimpleSAML\Logger::debug('Template: Adding inline language translation for tag ['.$tag.']'); + $this->langtext[$tag] = $translation; + } + + + /** + * Include a language file from the dictionaries directory. + * + * @param string $file File name of dictionary to include + * @param \SimpleSAML_Configuration|null $otherConfig Optionally provide a different configuration object than the + * one provided in the constructor to be used to find the directory of the dictionary. This allows to combine + * dictionaries inside the SimpleSAMLphp main code distribution together with external dictionaries. Defaults to + * null. + */ + public function includeLanguageFile($file, $otherConfig = null) + { + if (!empty($otherConfig)) { + $filebase = $otherConfig->getPathValue('dictionarydir', 'dictionaries/'); + } else { + $filebase = $this->configuration->getPathValue('dictionarydir', 'dictionaries/'); + } + + $lang = $this->readDictionaryFile($filebase.$file); + \SimpleSAML\Logger::debug('Template: Merging language array. Loading ['.$file.']'); + $this->langtext = array_merge($this->langtext, $lang); + } + + + /** + * Read a dictionary file in JSON format. + * + * @param string $filename The absolute path to the dictionary file, minus the .definition.json ending. + * + * @return array An array holding all the translations in the file. + */ + private function readDictionaryJSON($filename) + { + $definitionFile = $filename.'.definition.json'; + assert(file_exists($definitionFile)); + + $fileContent = file_get_contents($definitionFile); + $lang = json_decode($fileContent, true); + + if (empty($lang)) { + \SimpleSAML\Logger::error('Invalid dictionary definition file ['.$definitionFile.']'); + return array(); + } + + $translationFile = $filename.'.translation.json'; + if (file_exists($translationFile)) { + $fileContent = file_get_contents($translationFile); + $moreTrans = json_decode($fileContent, true); + if (!empty($moreTrans)) { + $lang = array_merge_recursive($lang, $moreTrans); + } + } + + return $lang; + } + + + /** + * Read a dictionary file in PHP format. + * + * @param string $filename The absolute path to the dictionary file. + * + * @return array An array holding all the translations in the file. + */ + private function readDictionaryPHP($filename) + { + $phpFile = $filename.'.php'; + assert(file_exists($phpFile)); + + $lang = null; + include($phpFile); + if (isset($lang)) { + return $lang; + } + + return array(); + } + + + /** + * Read a dictionary file. + * + * @param string $filename The absolute path to the dictionary file. + * + * @return array An array holding all the translations in the file. + */ + private function readDictionaryFile($filename) + { + assert(is_string($filename)); + + \SimpleSAML\Logger::debug('Template: Reading ['.$filename.']'); + + $jsonFile = $filename.'.definition.json'; + if (file_exists($jsonFile)) { + return $this->readDictionaryJSON($filename); + } + + $phpFile = $filename.'.php'; + if (file_exists($phpFile)) { + return $this->readDictionaryPHP($filename); + } + + \SimpleSAML\Logger::error( + $_SERVER['PHP_SELF'].' - Template: Could not find dictionary file at ['.$filename.']' + ); + return array(); + } + + + public static function translateSingularGettext($original) + { + $text = \Gettext\BaseTranslator::$current->gettext($original); + + if (func_num_args() === 1) { + return $text; + } + + $args = array_slice(func_get_args(), 1); + + return strtr($text, is_array($args[0]) ? $args[0] : $args); + } + + + public static function translatePluralGettext($original, $plural, $value) + { + $text = \Gettext\BaseTranslator::$current->ngettext($original, $plural, $value); + + if (func_num_args() === 3) { + return $text; + } + + $args = array_slice(func_get_args(), 3); + + return strtr($text, is_array($args[0]) ? $args[0] : $args); + } + + + /** + * Pick a translation from a given array of translations for the current language. + * + * @param array $context An array of options. The current language must be specified as an ISO 639 code accessible + * with the key "currentLanguage" in the array. + * @param array $translations An array of translations. Each translation has an ISO 639 code as its key, identifying + * the language it corresponds to. + * + * @return null|string The translation appropriate for the current language, or null if none found. If the + * $context or $translations arrays are null, or $context['currentLanguage'] is not defined, null is also returned. + */ + public static function translateFromArray($context, $translations) + { + if (!is_array($translations) || $translations === null) { + return null; + } + + if (!is_array($context) || !isset($context['currentLanguage'])) { + return null; + } + + if (isset($translations[$context['currentLanguage']])) { + return $translations[$context['currentLanguage']]; + } + + // we don't have a translation for the current language, load alternative priorities + $sspcfg = \SimpleSAML_Configuration::getInstance(); + $langcfg = $sspcfg->getConfigItem('language', null); + $priorities = array(); + if ($langcfg instanceof \SimpleSAML_Configuration) { + $priorities = $langcfg->getArray('priorities', array()); + } + + foreach ($priorities[$context['currentLanguage']] as $lang) { + if (isset($translations[$lang])) { + return $translations[$lang]; + } + } + + // nothing we can use, return null so that we can set a default + return null; + } +} diff --git a/lib/SimpleSAML/Logger.php b/lib/SimpleSAML/Logger.php new file mode 100755 index 0000000..4f6b7a9 --- /dev/null +++ b/lib/SimpleSAML/Logger.php @@ -0,0 +1,457 @@ + + * @author Jaime Pérez Crespo, UNINETT AS + * @package SimpleSAMLphp + */ +class Logger +{ + + /** + * @var \SimpleSAML\Logger\LoggingHandlerInterface|false|null + */ + private static $loggingHandler = null; + + /** + * @var integer|null + */ + private static $logLevel = null; + + /** + * @var boolean + */ + private static $captureLog = false; + + /** + * @var array + */ + private static $capturedLog = array(); + + /** + * Array with messages logged before the logging handler was initialized. + * + * @var array + */ + private static $earlyLog = array(); + + /** + * List of log levels. + * + * This list is used to restore the log levels after some log levels have been disabled. + * + * @var array + */ + private static $logLevelStack = array(); + + /** + * The current mask of log levels disabled. + * + * Note: this mask is not directly related to the PHP error reporting level. + * + * @var int + */ + private static $logMask = 0; + + + /** + * This constant defines the string we set the track ID to while we are fetching the track ID from the session + * class. This is used to prevent infinite recursion. + */ + const NO_TRACKID = '_NOTRACKIDYET_'; + + /** + * This variable holds the track ID we have retrieved from the session class. It can also be NULL, in which case + * we haven't fetched the track ID yet, or self::NO_TRACKID, which means that we are fetching the track ID now. + */ + private static $trackid = self::NO_TRACKID; + + /** + * This variable holds the format used to log any message. Its use varies depending on the log handler used (for + * instance, you cannot control here how dates are displayed when using syslog or errorlog handlers), but in + * general the options are: + * + * - %date{}: the date and time, with its format specified inside the brackets. See the PHP documentation + * of the strftime() function for more information on the format. If the brackets are omitted, the standard + * format is applied. This can be useful if you just want to control the placement of the date, but don't care + * about the format. + * + * - %process: the name of the SimpleSAMLphp process. Remember you can configure this in the 'logging.processname' + * option. The SyslogLoggingHandler will just remove this. + * + * - %level: the log level (name or number depending on the handler used). Please note different logging handlers + * will print the log level differently. + * + * - %stat: if the log entry is intended for statistical purposes, it will print the string 'STAT ' (bear in mind + * the trailing space). + * + * - %trackid: the track ID, an identifier that allows you to track a single session. + * + * - %srcip: the IP address of the client. If you are behind a proxy, make sure to modify the + * $_SERVER['REMOTE_ADDR'] variable on your code accordingly to the X-Forwarded-For header. + * + * - %msg: the message to be logged. + * + * @var string The format of the log line. + */ + private static $format = '%date{%b %d %H:%M:%S} %process %level %stat[%trackid] %msg'; + + /** + * This variable tells if we have a shutdown function registered or not. + * + * @var bool + */ + private static $shutdownRegistered = false; + + /** + * This variable tells if we are shutting down. + * + * @var bool + */ + private static $shuttingDown = false; + + const EMERG = 0; + const ALERT = 1; + const CRIT = 2; + const ERR = 3; + const WARNING = 4; + const NOTICE = 5; + const INFO = 6; + const DEBUG = 7; + + + /** + * Log an emergency message. + * + * @var string $string The message to log. + */ + public static function emergency($string) + { + self::log(self::EMERG, $string); + } + + + /** + * Log a critical message. + * + * @var string $string The message to log. + */ + public static function critical($string) + { + self::log(self::CRIT, $string); + } + + + /** + * Log an alert. + * + * @var string $string The message to log. + */ + public static function alert($string) + { + self::log(self::ALERT, $string); + } + + + /** + * Log an error. + * + * @var string $string The message to log. + */ + public static function error($string) + { + self::log(self::ERR, $string); + } + + + /** + * Log a warning. + * + * @var string $string The message to log. + */ + public static function warning($string) + { + self::log(self::WARNING, $string); + } + + + /** + * We reserve the notice level for statistics, so do not use this level for other kind of log messages. + * + * @var string $string The message to log. + */ + public static function notice($string) + { + self::log(self::NOTICE, $string); + } + + + /** + * Info messages are a bit less verbose than debug messages. This is useful to trace a session. + * + * @var string $string The message to log. + */ + public static function info($string) + { + self::log(self::INFO, $string); + } + + + /** + * Debug messages are very verbose, and will contain more information than what is necessary for a production + * system. + * + * @var string $string The message to log. + */ + public static function debug($string) + { + self::log(self::DEBUG, $string); + } + + + /** + * Statistics. + * + * @var string $string The message to log. + */ + public static function stats($string) + { + self::log(self::NOTICE, $string, true); + } + + + /** + * Set the logger to capture logs. + * + * @var boolean $val Whether to capture logs or not. Defaults to TRUE. + */ + public static function setCaptureLog($val = true) + { + self::$captureLog = $val; + } + + + /** + * Get the captured log. + */ + public static function getCapturedLog() + { + return self::$capturedLog; + } + + + /** + * Set the track identifier to use in all logs. + * + * @param $trackId string The track identifier to use during this session. + */ + public static function setTrackId($trackId) + { + self::$trackid = $trackId; + } + + + /** + * Flush any pending log messages to the logging handler. + * + * This method is intended to be registered as a shutdown handler, so that any pending messages that weren't sent + * to the logging handler at that point, can still make it. It is therefore not intended to be called manually. + * + */ + public static function flush() + { + try { + $s = \SimpleSAML_Session::getSessionFromRequest(); + } catch (\Exception $e) { + // loading session failed. We don't care why, at this point we have a transient session, so we use that + self::error('Cannot load or create session: '.$e->getMessage()); + $s = \SimpleSAML_Session::getSessionFromRequest(); + } + self::$trackid = $s->getTrackID(); + + self::$shuttingDown = true; + foreach (self::$earlyLog as $msg) { + self::log($msg['level'], $msg['string'], $msg['statsLog']); + } + } + + + /** + * Evaluate whether errors of a certain error level are masked or not. + * + * @param int $errno The level of the error to check. + * + * @return bool True if the error is masked, false otherwise. + */ + public static function isErrorMasked($errno) + { + return ($errno & self::$logMask) || !($errno & error_reporting()); + } + + + /** + * Disable error reporting for the given log levels. + * + * Every call to this function must be followed by a call to popErrorMask(). + * + * @param int $mask The log levels that should be masked. + */ + public static function maskErrors($mask) + { + assert(is_int($mask)); + + $currentEnabled = error_reporting(); + self::$logLevelStack[] = array($currentEnabled, self::$logMask); + + $currentEnabled &= ~$mask; + error_reporting($currentEnabled); + self::$logMask |= $mask; + } + + + /** + * Pop an error mask. + * + * This function restores the previous error mask. + */ + public static function popErrorMask() + { + $lastMask = array_pop(self::$logLevelStack); + error_reporting($lastMask[0]); + self::$logMask = $lastMask[1]; + } + + + /** + * Defer a message for later logging. + * + * @param int $level The log level corresponding to this message. + * @param string $message The message itself to log. + * @param boolean $stats Whether this is a stats message or a regular one. + */ + private static function defer($level, $message, $stats) + { + // save the message for later + self::$earlyLog[] = array('level' => $level, 'string' => $message, 'statsLog' => $stats); + + // register a shutdown handler if needed + if (!self::$shutdownRegistered) { + register_shutdown_function(array('SimpleSAML\Logger', 'flush')); + self::$shutdownRegistered = true; + } + } + + + private static function createLoggingHandler($handler = null) + { + // set to false to indicate that it is being initialized + self::$loggingHandler = false; + + // a set of known logging handlers + $known_handlers = array( + 'syslog' => 'SimpleSAML\Logger\SyslogLoggingHandler', + 'file' => 'SimpleSAML\Logger\FileLoggingHandler', + 'errorlog' => 'SimpleSAML\Logger\ErrorLogLoggingHandler', + ); + + // get the configuration + $config = \SimpleSAML_Configuration::getInstance(); + assert($config instanceof \SimpleSAML_Configuration); + + // setting minimum log_level + self::$logLevel = $config->getInteger('logging.level', self::INFO); + + // get the metadata handler option from the configuration + if (is_null($handler)) { + $handler = $config->getString('logging.handler', 'syslog'); + } + + if (!array_key_exists($handler, $known_handlers) && class_exists($handler)) { + if (!in_array('SimpleSAML\Logger\LoggingHandlerInterface', class_implements($handler), true)) { + throw new \Exception("The logging handler '$handler' is invalid."); + } + } else { + $handler = strtolower($handler); + if (!array_key_exists($handler, $known_handlers)) { + throw new \Exception( + "Invalid value for the 'logging.handler' configuration option. Unknown handler '".$handler."''." + ); + } + $handler = $known_handlers[$handler]; + } + self::$loggingHandler = new $handler($config); + + self::$format = $config->getString('logging.format', self::$format); + self::$loggingHandler->setLogFormat(self::$format); + } + + + private static function log($level, $string, $statsLog = false) + { + if (self::$loggingHandler === false) { + // some error occurred while initializing logging + self::defer($level, $string, $statsLog); + return; + } elseif (php_sapi_name() === 'cli' || defined('STDIN')) { + // we are being executed from the CLI, nowhere to log + if (is_null(self::$loggingHandler)) { + self::createLoggingHandler('SimpleSAML\Logger\StandardErrorLoggingHandler'); + } + $_SERVER['REMOTE_ADDR'] = "CLI"; + if (self::$trackid === self::NO_TRACKID) { + self::$trackid = 'CL'.bin2hex(openssl_random_pseudo_bytes(4)); + } + } elseif (self::$loggingHandler === null) { + // Initialize logging + self::createLoggingHandler(); + + if (!empty(self::$earlyLog)) { + // output messages which were logged before we properly initialized logging + foreach (self::$earlyLog as $msg) { + self::log($msg['level'], $msg['string'], $msg['statsLog']); + } + } + } + + if (self::$captureLog) { + $ts = microtime(true); + $msecs = (int) (($ts - (int) $ts) * 1000); + $ts = gmdate('H:i:s', $ts).sprintf('.%03d', $msecs).'Z'; + self::$capturedLog[] = $ts.' '.$string; + } + + if (self::$logLevel >= $level || $statsLog) { + if (is_array($string)) { + $string = implode(",", $string); + } + + $formats = array('%trackid', '%msg', '%srcip', '%stat'); + $replacements = array(self::$trackid, $string, $_SERVER['REMOTE_ADDR']); + + $stat = ''; + if ($statsLog) { + $stat = 'STAT '; + } + array_push($replacements, $stat); + + if (self::$trackid === self::NO_TRACKID && !self::$shuttingDown) { + // we have a log without track ID and we are not still shutting down, so defer logging + self::defer($level, $string, $statsLog); + return; + } elseif (self::$trackid === self::NO_TRACKID) { + // shutting down without a track ID, prettify it + array_shift($replacements); + array_unshift($replacements, 'N/A'); + } + + // we either have a track ID or we are shutting down, so just log the message + $string = str_replace($formats, $replacements, self::$format); + self::$loggingHandler->log($level, $string); + } + } +} diff --git a/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php new file mode 100755 index 0000000..845103c --- /dev/null +++ b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php @@ -0,0 +1,84 @@ + + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ +class ErrorLogLoggingHandler implements LoggingHandlerInterface +{ + + /** + * This array contains the mappings from syslog log level to names. + */ + private static $levelNames = array( + Logger::EMERG => 'EMERG', + Logger::ALERT => 'ALERT', + Logger::CRIT => 'CRIT', + Logger::ERR => 'ERR', + Logger::WARNING => 'WARNING', + Logger::NOTICE => 'NOTICE', + Logger::INFO => 'INFO', + Logger::DEBUG => 'DEBUG', + ); + + /** + * The name of this process. + * + * @var string + */ + private $processname; + + + /** + * ErrorLogLoggingHandler constructor. + * + * @param \SimpleSAML_Configuration $config The configuration object for this handler. + */ + public function __construct(\SimpleSAML_Configuration $config) + { + $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + } + + + /** + * Set the format desired for the logs. + * + * @param string $format The format used for logs. + */ + public function setLogFormat($format) + { + // we don't need the format here + } + + + /** + * Log a message to syslog. + * + * @param int $level The log level. + * @param string $string The formatted message to log. + */ + public function log($level, $string) + { + if (array_key_exists($level, self::$levelNames)) { + $levelName = self::$levelNames[$level]; + } else { + $levelName = sprintf('UNKNOWN%d', $level); + } + + $formats = array('%process', '%level'); + $replacements = array($this->processname, $levelName); + $string = str_replace($formats, $replacements, $string); + $string = preg_replace('/%\w+(\{[^\}]+\})?/', '', $string); + $string = trim($string); + + error_log($string); + } +} diff --git a/lib/SimpleSAML/Logger/FileLoggingHandler.php b/lib/SimpleSAML/Logger/FileLoggingHandler.php new file mode 100755 index 0000000..475541f --- /dev/null +++ b/lib/SimpleSAML/Logger/FileLoggingHandler.php @@ -0,0 +1,113 @@ + + * @package SimpleSAMLphp + */ +class FileLoggingHandler implements LoggingHandlerInterface +{ + + /** + * A string with the path to the file where we should log our messages. + * + * @var null|string + */ + protected $logFile = null; + + /** + * This array contains the mappings from syslog log levels to names. Copied more or less directly from + * SimpleSAML\Logger\ErrorLogLoggingHandler. + */ + private static $levelNames = array( + Logger::EMERG => 'EMERGENCY', + Logger::ALERT => 'ALERT', + Logger::CRIT => 'CRITICAL', + Logger::ERR => 'ERROR', + Logger::WARNING => 'WARNING', + Logger::NOTICE => 'NOTICE', + Logger::INFO => 'INFO', + Logger::DEBUG => 'DEBUG', + ); + protected $processname = null; + protected $format; + + + /** + * Build a new logging handler based on files. + */ + public function __construct(\SimpleSAML_Configuration $config) + { + // get the metadata handler option from the configuration + $this->logFile = $config->getPathValue('loggingdir', 'log/'). + $config->getString('logging.logfile', 'simplesamlphp.log'); + $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + + if (@file_exists($this->logFile)) { + if (!@is_writeable($this->logFile)) { + throw new \Exception("Could not write to logfile: ".$this->logFile); + } + } else { + if (!@touch($this->logFile)) { + throw new \Exception( + "Could not create logfile: ".$this->logFile. + " The logging directory is not writable for the web server user." + ); + } + } + + \SimpleSAML\Utils\Time::initTimezone(); + } + + + /** + * Set the format desired for the logs. + * + * @param string $format The format used for logs. + */ + public function setLogFormat($format) + { + $this->format = $format; + } + + + /** + * Log a message to the log file. + * + * @param int $level The log level. + * @param string $string The formatted message to log. + */ + public function log($level, $string) + { + if (!is_null($this->logFile)) { + // set human-readable log level. Copied from SimpleSAML\Logger\ErrorLogLoggingHandler. + $levelName = sprintf('UNKNOWN%d', $level); + if (array_key_exists($level, self::$levelNames)) { + $levelName = self::$levelNames[$level]; + } + + $formats = array('%process', '%level'); + $replacements = array($this->processname, $levelName); + + $matches = array(); + if (preg_match('/%date(?:\{([^\}]+)\})?/', $this->format, $matches)) { + $format = "%b %d %H:%M:%S"; + if (isset($matches[1])) { + $format = $matches[1]; + } + + array_push($formats, $matches[0]); + array_push($replacements, strftime($format)); + } + + $string = str_replace($formats, $replacements, $string); + file_put_contents($this->logFile, $string.PHP_EOL, FILE_APPEND); + } + } +} diff --git a/lib/SimpleSAML/Logger/LoggingHandlerInterface.php b/lib/SimpleSAML/Logger/LoggingHandlerInterface.php new file mode 100755 index 0000000..c7b00eb --- /dev/null +++ b/lib/SimpleSAML/Logger/LoggingHandlerInterface.php @@ -0,0 +1,38 @@ + + * @package SimpleSAMLphp + */ +class StandardErrorLoggingHandler extends FileLoggingHandler +{ + + /** + * StandardError constructor. + * + * It runs the parent constructor and sets the log file to be the standard error descriptor. + */ + public function __construct(\SimpleSAML_Configuration $config) + { + $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + $this->logFile = 'php://stderr'; + } +} diff --git a/lib/SimpleSAML/Logger/SyslogLoggingHandler.php b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php new file mode 100755 index 0000000..ce27397 --- /dev/null +++ b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php @@ -0,0 +1,75 @@ + + * @package SimpleSAMLphp + */ +class SyslogLoggingHandler implements LoggingHandlerInterface +{ + private $isWindows = false; + private $format; + + + /** + * Build a new logging handler based on syslog. + */ + public function __construct(\SimpleSAML_Configuration $config) + { + $facility = $config->getInteger('logging.facility', defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER); + + $processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + + // Setting facility to LOG_USER (only valid in Windows), enable log level rewrite on windows systems + if (System::getOS() === System::WINDOWS) { + $this->isWindows = true; + $facility = LOG_USER; + } + + openlog($processname, LOG_PID, $facility); + } + + + /** + * Set the format desired for the logs. + * + * @param string $format The format used for logs. + */ + public function setLogFormat($format) + { + $this->format = $format; + } + + + /** + * Log a message to syslog. + * + * @param int $level The log level. + * @param string $string The formatted message to log. + */ + public function log($level, $string) + { + // changing log level to supported levels if OS is Windows + if ($this->isWindows) { + if ($level <= 4) { + $level = LOG_ERR; + } else { + $level = LOG_INFO; + } + } + + $formats = array('%process', '%level'); + $replacements = array('', $level); + $string = str_replace($formats, $replacements, $string); + $string = preg_replace('/%\w+(\{[^\}]+\})?/', '', $string); + $string = trim($string); + + syslog($level, $string); + } +} diff --git a/lib/SimpleSAML/Memcache.php b/lib/SimpleSAML/Memcache.php new file mode 100755 index 0000000..3f4bba0 --- /dev/null +++ b/lib/SimpleSAML/Memcache.php @@ -0,0 +1,492 @@ +get($key); + if ($serializedInfo === false) { + // either the server is down, or we don't have the value stored on that server + $mustUpdate = true; + $up = $server->getstats(); + if ($up !== false) { + $allDown = false; + } + continue; + } + $allDown = false; + + // unserialize the object + $info = unserialize($serializedInfo); + + /* + * Make sure that this is an array with two keys: + * - 'timestamp': The time the data was saved. + * - 'data': The data. + */ + if (!is_array($info)) { + SimpleSAML\Logger::warning( + 'Retrieved invalid data from a memcache server. Data was not an array.' + ); + continue; + } + if (!array_key_exists('timestamp', $info)) { + SimpleSAML\Logger::warning( + 'Retrieved invalid data from a memcache server. Missing timestamp.' + ); + continue; + } + if (!array_key_exists('data', $info)) { + SimpleSAML\Logger::warning( + 'Retrieved invalid data from a memcache server. Missing data.' + ); + continue; + } + + if ($latestInfo === null) { + // first info found + $latestInfo = $serializedInfo; + $latestTime = $info['timestamp']; + $latestData = $info['data']; + continue; + } + + if ($info['timestamp'] === $latestTime && $serializedInfo === $latestInfo) { + // this data matches the data from the other server(s) + continue; + } + + // different data from different servers. We need to update at least one of them to maintain sync + $mustUpdate = true; + + // update if data in $info is newer than $latestData + if ($latestTime < $info['timestamp']) { + $latestInfo = $serializedInfo; + $latestTime = $info['timestamp']; + $latestData = $info['data']; + } + } + + if ($latestData === null) { + if ($allDown) { + // all servers are down, panic! + $e = new SimpleSAML_Error_Error('MEMCACHEDOWN', null, 503); + throw new SimpleSAML_Error_Exception('All memcache servers are down', 503, $e); + } + // we didn't find any data matching the key + SimpleSAML\Logger::debug("key $key not found in memcache"); + return null; + } + + if ($mustUpdate) { + // we found data matching the key, but some of the servers need updating + SimpleSAML\Logger::debug("Memcache servers out of sync for $key, forcing sync"); + self::set($key, $latestData); + } + + return $latestData; + } + + + /** + * Save a key-value pair to the memcache servers. + * + * @param string $key The key of the data. + * @param mixed $value The value of the data. + * @param integer|null $expire The expiration timestamp of the data. + */ + public static function set($key, $value, $expire = null) + { + SimpleSAML\Logger::debug("saving key $key to memcache"); + $savedInfo = array( + 'timestamp' => microtime(true), + 'data' => $value + ); + + if ($expire === null) { + $expire = self::getExpireTime(); + } + + $savedInfoSerialized = serialize($savedInfo); + + // store this object to all groups of memcache servers + foreach (self::getMemcacheServers() as $server) { + if (self::$extension === 'memcached') { + $server->set($key, $savedInfoSerialized, $expire); + } else { + $server->set($key, $savedInfoSerialized, 0, $expire); + } + } + } + + + /** + * Delete a key-value pair from the memcache servers. + * + * @param string $key The key we should delete. + */ + public static function delete($key) + { + assert(is_string($key)); + SimpleSAML\Logger::debug("deleting key $key from memcache"); + + // store this object to all groups of memcache servers + foreach (self::getMemcacheServers() as $server) { + $server->delete($key); + } + } + + + /** + * This function adds a server from the 'memcache_store.servers' + * configuration option to a Memcache object. + * + * The server parameter is an array with the following keys: + * - hostname + * Hostname or ip address to the memcache server. + * - port (optional) + * port number the memcache server is running on. This + * defaults to memcache.default_port if no value is given. + * The default value of memcache.default_port is 11211. + * - weight (optional) + * The weight of this server in the load balancing + * cluster. + * - timeout (optional) + * The timeout for contacting this server, in seconds. + * The default value is 3 seconds. + * + * @param Memcache $memcache The Memcache object we should add this server to. + * @param array $server An associative array with the configuration options for the server to add. + * + * @throws Exception If any configuration option for the server is invalid. + */ + private static function addMemcacheServer($memcache, $server) + { + // the hostname option is required + if (!array_key_exists('hostname', $server)) { + throw new Exception( + "hostname setting missing from server in the 'memcache_store.servers' configuration option." + ); + } + + $hostname = $server['hostname']; + + // the hostname must be a valid string + if (!is_string($hostname)) { + throw new Exception( + "Invalid hostname for server in the 'memcache_store.servers' configuration option. The hostname is". + ' supposed to be a string.' + ); + } + + // check if we are told to use a socket + $socket = false; + if (strpos($hostname, 'unix:///') === 0) { + $socket = true; + } + + // check if the user has specified a port number + if ($socket) { + // force port to be 0 for sockets + $port = 0; + } elseif (array_key_exists('port', $server)) { + // get the port number from the array, and validate it + $port = (int) $server['port']; + if (($port <= 0) || ($port > 65535)) { + throw new Exception( + "Invalid port for server in the 'memcache_store.servers' configuration option. The port number". + ' is supposed to be an integer between 0 and 65535.' + ); + } + } else { + // use the default port number from the ini-file + $port = (int) ini_get('memcache.default_port'); + if ($port <= 0 || $port > 65535) { + // invalid port number from the ini-file. fall back to the default + $port = 11211; + } + } + + // check if the user has specified a weight for this server + if (array_key_exists('weight', $server)) { + // get the weight and validate it + $weight = (int) $server['weight']; + if ($weight <= 0) { + throw new Exception( + "Invalid weight for server in the 'memcache_store.servers' configuration option. The weight is". + ' supposed to be a positive integer.' + ); + } + } else { + // use a default weight of 1 + $weight = 1; + } + + // check if the user has specified a timeout for this server + if (array_key_exists('timeout', $server)) { + // get the timeout and validate it + $timeout = (int) $server['timeout']; + if ($timeout <= 0) { + throw new Exception( + "Invalid timeout for server in the 'memcache_store.servers' configuration option. The timeout is". + ' supposed to be a positive integer.' + ); + } + } else { + // use a default timeout of 3 seconds + $timeout = 3; + } + + // add this server to the Memcache object + if (self::$extension === 'memcached') { + $memcache->addServer($hostname, $port); + } else { + $memcache->addServer($hostname, $port, true, $weight, $timeout, $timeout, true); + } + } + + + /** + * This function takes in a list of servers belonging to a group and + * creates a Memcache object from the servers in the group. + * + * @param array $group Array of servers which should be created as a group. + * + * @return Memcache A Memcache object of the servers in the group + * + * @throws Exception If the servers configuration is invalid. + */ + private static function loadMemcacheServerGroup(array $group) + { + $class = class_exists('Memcache') ? 'Memcache' : (class_exists('Memcached') ? 'Memcached' : false); + if (!$class) { + throw new Exception('Missing Memcached implementation. You must install either the Memcache or Memcached extension.'); + } + self::$extension = strtolower($class); + + // create the Memcache object + $memcache = new $class(); + + // iterate over all the servers in the group and add them to the Memcache object + foreach ($group as $index => $server) { + // make sure that we don't have an index. An index would be a sign of invalid configuration + if (!is_int($index)) { + throw new Exception( + "Invalid index on element in the 'memcache_store.servers' configuration option. Perhaps you". + ' have forgotten to add an array(...) around one of the server groups? The invalid index was: '. + $index + ); + } + + // make sure that the server object is an array. Each server is an array with name-value pairs + if (!is_array($server)) { + throw new Exception( + 'Invalid value for the server with index '.$index. + '. Remeber that the \'memcache_store.servers\' configuration option'. + ' contains an array of arrays of arrays.' + ); + } + + self::addMemcacheServer($memcache, $server); + } + + return $memcache; + } + + + /** + * This function gets a list of all configured memcache servers. This list is initialized based + * on the content of 'memcache_store.servers' in the configuration. + * + * @return Memcache[] Array with Memcache objects. + * + * @throws Exception If the servers configuration is invalid. + */ + private static function getMemcacheServers() + { + // check if we have loaded the servers already + if (self::$serverGroups != null) { + return self::$serverGroups; + } + + // initialize the servers-array + self::$serverGroups = array(); + + // load the configuration + $config = SimpleSAML_Configuration::getInstance(); + + + $groups = $config->getArray('memcache_store.servers'); + + // iterate over all the groups in the 'memcache_store.servers' configuration option + foreach ($groups as $index => $group) { + // make sure that the group doesn't have an index. An index would be a sign of invalid configuration + if (!is_int($index)) { + throw new Exception( + "Invalid index on element in the 'memcache_store.servers'". + ' configuration option. Perhaps you have forgotten to add an array(...)'. + ' around one of the server groups? The invalid index was: '.$index + ); + } + + /* + * Make sure that the group is an array. Each group is an array of servers. Each server is + * an array of name => value pairs for that server. + */ + if (!is_array($group)) { + throw new Exception( + "Invalid value for the server with index ".$index. + ". Remeber that the 'memcache_store.servers' configuration option". + ' contains an array of arrays of arrays.' + ); + } + + // parse and add this group to the server group list + self::$serverGroups[] = self::loadMemcacheServerGroup($group); + } + + return self::$serverGroups; + } + + + /** + * This is a helper-function which returns the expire value of data + * we should store to the memcache servers. + * + * The value is set depending on the configuration. If no value is + * set in the configuration, then we will use a default value of 0. + * 0 means that the item will never expire. + * + * @return integer The value which should be passed in the set(...) calls to the memcache objects. + * + * @throws Exception If the option 'memcache_store.expires' has a negative value. + */ + private static function getExpireTime() + { + // get the configuration instance + $config = SimpleSAML_Configuration::getInstance(); + assert($config instanceof SimpleSAML_Configuration); + + // get the expire-value from the configuration + $expire = $config->getInteger('memcache_store.expires', 0); + + // it must be a positive integer + if ($expire < 0) { + throw new Exception( + "The value of 'memcache_store.expires' in the configuration can't be a negative integer." + ); + } + + /* If the configuration option is 0, then we should return 0. This allows the user to specify that the data + * shouldn't expire. + */ + if ($expire == 0) { + return 0; + } + + /* The expire option is given as the number of seconds into the future an item should expire. We convert this + * to an actual timestamp. + */ + $expireTime = time() + $expire; + + return $expireTime; + } + + + /** + * This function retrieves statistics about all memcache server groups. + * + * @return array Array with the names of each stat and an array with the value for each server group. + * + * @throws Exception If memcache server status couldn't be retrieved. + */ + public static function getStats() + { + $ret = array(); + + foreach (self::getMemcacheServers() as $sg) { + $stats = method_exists($sg, 'getExtendedStats') ? $sg->getExtendedStats() : $sg->getStats(); + foreach ($stats as $server => $data) { + if ($data === false) { + throw new Exception('Failed to get memcache server status.'); + } + } + + $stats = SimpleSAML\Utils\Arrays::transpose($stats); + + $ret = array_merge_recursive($ret, $stats); + } + + return $ret; + } + + + /** + * Retrieve statistics directly in the form returned by getExtendedStats, for + * all server groups. + * + * @return array An array with the extended stats output for each server group. + */ + public static function getRawStats() + { + $ret = array(); + + foreach (self::getMemcacheServers() as $sg) { + $stats = method_exists($sg, 'getExtendedStats') ? $sg->getExtendedStats() : $sg->getStats(); + $ret[] = $stats; + } + + return $ret; + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php new file mode 100755 index 0000000..6091470 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php @@ -0,0 +1,361 @@ + + * @package SimpleSAMLphp + */ +class SimpleSAML_Metadata_MetaDataStorageHandler +{ + + + /** + * This static variable contains a reference to the current + * instance of the metadata handler. This variable will be null if + * we haven't instantiated a metadata handler yet. + * + * @var SimpleSAML_Metadata_MetaDataStorageHandler + */ + private static $metadataHandler = null; + + + /** + * This is a list of all the metadata sources we have in our metadata + * chain. When we need metadata, we will look through this chain from start to end. + * + * @var SimpleSAML_Metadata_MetaDataStorageSource[] + */ + private $sources; + + + /** + * This function retrieves the current instance of the metadata handler. + * The metadata handler will be instantiated if this is the first call + * to this function. + * + * @return SimpleSAML_Metadata_MetaDataStorageHandler The current metadata handler instance. + */ + public static function getMetadataHandler() + { + if (self::$metadataHandler === null) { + self::$metadataHandler = new SimpleSAML_Metadata_MetaDataStorageHandler(); + } + + return self::$metadataHandler; + } + + + /** + * This constructor initializes this metadata storage handler. It will load and + * parse the configuration, and initialize the metadata source list. + */ + protected function __construct() + { + $config = SimpleSAML_Configuration::getInstance(); + + $sourcesConfig = $config->getArray('metadata.sources', null); + + // for backwards compatibility, and to provide a default configuration + if ($sourcesConfig === null) { + $type = $config->getString('metadata.handler', 'flatfile'); + $sourcesConfig = array(array('type' => $type)); + } + + try { + $this->sources = SimpleSAML_Metadata_MetaDataStorageSource::parseSources($sourcesConfig); + } catch (Exception $e) { + throw new Exception( + "Invalid configuration of the 'metadata.sources' configuration option: ".$e->getMessage() + ); + } + } + + + /** + * This function is used to generate some metadata elements automatically. + * + * @param string $property The metadata property which should be auto-generated. + * @param string $set The set we the property comes from. + * + * @return string The auto-generated metadata property. + * @throws Exception If the metadata cannot be generated automatically. + */ + public function getGenerated($property, $set) + { + // first we check if the user has overridden this property in the metadata + try { + $metadataSet = $this->getMetaDataCurrent($set); + if (array_key_exists($property, $metadataSet)) { + return $metadataSet[$property]; + } + } catch (Exception $e) { + // probably metadata wasn't found. In any case we continue by generating the metadata + } + + // get the configuration + $config = SimpleSAML_Configuration::getInstance(); + assert($config instanceof SimpleSAML_Configuration); + + $baseurl = \SimpleSAML\Utils\HTTP::getSelfURLHost().$config->getBasePath(); + + if ($set == 'saml20-sp-hosted') { + if ($property === 'SingleLogoutServiceBinding') { + return \SAML2\Constants::BINDING_HTTP_REDIRECT; + } + } elseif ($set == 'saml20-idp-hosted') { + switch ($property) { + case 'SingleSignOnService': + return $baseurl.'saml2/idp/SSOService.php'; + + case 'SingleSignOnServiceBinding': + return \SAML2\Constants::BINDING_HTTP_REDIRECT; + + case 'SingleLogoutService': + return $baseurl.'saml2/idp/SingleLogoutService.php'; + + case 'SingleLogoutServiceBinding': + return \SAML2\Constants::BINDING_HTTP_REDIRECT; + } + } elseif ($set == 'shib13-idp-hosted') { + if ($property === 'SingleSignOnService') { + return $baseurl.'shib13/idp/SSOService.php'; + } + } + + throw new Exception('Could not generate metadata property '.$property.' for set '.$set.'.'); + } + + + /** + * This function lists all known metadata in the given set. It is returned as an associative array + * where the key is the entity id. + * + * @param string $set The set we want to list metadata from. + * + * @return array An associative array with the metadata from from the given set. + */ + public function getList($set = 'saml20-idp-remote') + { + assert(is_string($set)); + + $result = array(); + + foreach ($this->sources as $source) { + $srcList = $source->getMetadataSet($set); + + foreach ($srcList as $key => $le) { + if (array_key_exists('expire', $le)) { + if ($le['expire'] < time()) { + unset($srcList[$key]); + SimpleSAML\Logger::warning( + "Dropping metadata entity ".var_export($key, true).", expired ". + SimpleSAML\Utils\Time::generateTimestamp($le['expire'])."." + ); + } + } + } + + /* $result is the last argument to array_merge because we want the content already + * in $result to have precedence. + */ + $result = array_merge($srcList, $result); + } + + return $result; + } + + + /** + * This function retrieves metadata for the current entity based on the hostname/path the request + * was directed to. It will throw an exception if it is unable to locate the metadata. + * + * @param string $set The set we want metadata from. + * + * @return array An associative array with the metadata. + */ + public function getMetaDataCurrent($set) + { + return $this->getMetaData(null, $set); + } + + + /** + * This function locates the current entity id based on the hostname/path combination the user accessed. + * It will throw an exception if it is unable to locate the entity id. + * + * @param string $set The set we look for the entity id in. + * @param string $type Do you want to return the metaindex or the entityID. [entityid|metaindex] + * + * @return string The entity id which is associated with the current hostname/path combination. + * @throws Exception If no default metadata can be found in the set for the current host. + */ + public function getMetaDataCurrentEntityID($set, $type = 'entityid') + { + assert(is_string($set)); + + // first we look for the hostname/path combination + $currenthostwithpath = \SimpleSAML\Utils\HTTP::getSelfHostWithPath(); // sp.example.org/university + + foreach ($this->sources as $source) { + $index = $source->getEntityIdFromHostPath($currenthostwithpath, $set, $type); + if ($index !== null) { + return $index; + } + } + + // then we look for the hostname + $currenthost = \SimpleSAML\Utils\HTTP::getSelfHost(); // sp.example.org + + foreach ($this->sources as $source) { + $index = $source->getEntityIdFromHostPath($currenthost, $set, $type); + if ($index !== null) { + return $index; + } + } + + // then we look for the DEFAULT entry + foreach ($this->sources as $source) { + $entityId = $source->getEntityIdFromHostPath('__DEFAULT__', $set, $type); + if ($entityId !== null) { + return $entityId; + } + } + + // we were unable to find the hostname/path in any metadata source + throw new Exception( + 'Could not find any default metadata entities in set ['.$set.'] for host ['.$currenthost.' : '. + $currenthostwithpath.']' + ); + } + + + /** + * This method will call getPreferredEntityIdFromCIDRhint() on all of the + * sources. + * + * @param string $set Which set of metadata we are looking it up in. + * @param string $ip IP address + * + * @return string The entity id of a entity which have a CIDR hint where the provided + * IP address match. + */ + public function getPreferredEntityIdFromCIDRhint($set, $ip) + { + foreach ($this->sources as $source) { + $entityId = $source->getPreferredEntityIdFromCIDRhint($set, $ip); + if ($entityId !== null) { + return $entityId; + } + } + + return null; + } + + + /** + * This function looks up the metadata for the given entity id in the given set. It will throw an + * exception if it is unable to locate the metadata. + * + * @param string $index The entity id we are looking up. This parameter may be NULL, in which case we look up + * the current entity id based on the current hostname/path. + * @param string $set The set of metadata we are looking up the entity id in. + * + * @return array The metadata array describing the specified entity. + * @throws Exception If metadata for the specified entity is expired. + * @throws SimpleSAML_Error_MetadataNotFound If no metadata for the entity specified can be found. + */ + public function getMetaData($index, $set) + { + assert(is_string($set)); + + if ($index === null) { + $index = $this->getMetaDataCurrentEntityID($set, 'metaindex'); + } + + assert(is_string($index)); + + foreach ($this->sources as $source) { + $metadata = $source->getMetaData($index, $set); + + if ($metadata !== null) { + if (array_key_exists('expire', $metadata)) { + if ($metadata['expire'] < time()) { + throw new Exception( + 'Metadata for the entity ['.$index.'] expired '. + (time() - $metadata['expire']).' seconds ago.' + ); + } + } + + $metadata['metadata-index'] = $index; + $metadata['metadata-set'] = $set; + assert(array_key_exists('entityid', $metadata)); + return $metadata; + } + } + + throw new SimpleSAML_Error_MetadataNotFound($index); + } + + + /** + * Retrieve the metadata as a configuration object. + * + * This function will throw an exception if it is unable to locate the metadata. + * + * @param string $entityId The entity ID we are looking up. + * @param string $set The metadata set we are searching. + * + * @return SimpleSAML_Configuration The configuration object representing the metadata. + * @throws SimpleSAML_Error_MetadataNotFound If no metadata for the entity specified can be found. + */ + public function getMetaDataConfig($entityId, $set) + { + assert(is_string($entityId)); + assert(is_string($set)); + + $metadata = $this->getMetaData($entityId, $set); + return SimpleSAML_Configuration::loadFromArray($metadata, $set.'/'.var_export($entityId, true)); + } + + + /** + * Search for an entity's metadata, given the SHA1 digest of its entity ID. + * + * @param string $sha1 The SHA1 digest of the entity ID. + * @param string $set The metadata set we are searching. + * + * @return null|SimpleSAML_Configuration The metadata corresponding to the entity, or null if the entity cannot be + * found. + */ + public function getMetaDataConfigForSha1($sha1, $set) + { + assert(is_string($sha1)); + assert(is_string($set)); + + $result = array(); + + foreach ($this->sources as $source) { + $srcList = $source->getMetadataSet($set); + + /* $result is the last argument to array_merge because we want the content already + * in $result to have precedence. + */ + $result = array_merge($srcList, $result); + } + foreach ($result as $remote_provider) { + if (sha1($remote_provider['entityid']) == $sha1) { + $remote_provider['metadata-set'] = $set; + + return SimpleSAML_Configuration::loadFromArray( + $remote_provider, + $set.'/'.var_export($remote_provider['entityid'], true) + ); + } + } + + return null; + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerFlatFile.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerFlatFile.php new file mode 100755 index 0000000..09ce8b2 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerFlatFile.php @@ -0,0 +1,144 @@ + + * @package SimpleSAMLphp + */ +class SimpleSAML_Metadata_MetaDataStorageHandlerFlatFile extends SimpleSAML_Metadata_MetaDataStorageSource +{ + + /** + * This is the directory we will load metadata files from. The path will always end + * with a '/'. + * + * @var string + */ + private $directory; + + + /** + * This is an associative array which stores the different metadata sets we have loaded. + * + * @var array + */ + private $cachedMetadata = array(); + + + /** + * This constructor initializes the flatfile metadata storage handler with the + * specified configuration. The configuration is an associative array with the following + * possible elements: + * - 'directory': The directory we should load metadata from. The default directory is + * set in the 'metadatadir' configuration option in 'config.php'. + * + * @param array $config An associative array with the configuration for this handler. + */ + protected function __construct($config) + { + assert(is_array($config)); + + // get the configuration + $globalConfig = SimpleSAML_Configuration::getInstance(); + + // find the path to the directory we should search for metadata in + if (array_key_exists('directory', $config)) { + $this->directory = $config['directory']; + } else { + $this->directory = $globalConfig->getString('metadatadir', 'metadata/'); + } + + /* Resolve this directory relative to the SimpleSAMLphp directory (unless it is + * an absolute path). + */ + $this->directory = $globalConfig->resolvePath($this->directory).'/'; + } + + + /** + * This function loads the given set of metadata from a file our metadata directory. + * This function returns null if it is unable to locate the given set in the metadata directory. + * + * @param string $set The set of metadata we are loading. + * + * @return array An associative array with the metadata, or null if we are unable to load metadata from the given + * file. + * @throws Exception If the metadata set cannot be loaded. + */ + private function load($set) + { + $metadatasetfile = $this->directory.$set.'.php'; + + if (!file_exists($metadatasetfile)) { + return null; + } + + $metadata = array(); + + include($metadatasetfile); + + if (!is_array($metadata)) { + throw new Exception('Could not load metadata set ['.$set.'] from file: '.$metadatasetfile); + } + + return $metadata; + } + + + /** + * This function retrieves the given set of metadata. It will return an empty array if it is + * unable to locate it. + * + * @param string $set The set of metadata we are retrieving. + * + * @return array An associative array with the metadata. Each element in the array is an entity, and the + * key is the entity id. + */ + public function getMetadataSet($set) + { + if (array_key_exists($set, $this->cachedMetadata)) { + return $this->cachedMetadata[$set]; + } + + $metadataSet = $this->load($set); + if ($metadataSet === null) { + $metadataSet = array(); + } + + // add the entity id of an entry to each entry in the metadata + foreach ($metadataSet as $entityId => &$entry) { + if (preg_match('/__DYNAMIC(:[0-9]+)?__/', $entityId)) { + $entry['entityid'] = $this->generateDynamicHostedEntityID($set); + } else { + $entry['entityid'] = $entityId; + } + } + + $this->cachedMetadata[$set] = $metadataSet; + + return $metadataSet; + } + + + private function generateDynamicHostedEntityID($set) + { + // get the configuration + $baseurl = \SimpleSAML\Utils\HTTP::getBaseURL(); + + if ($set === 'saml20-idp-hosted') { + return $baseurl.'saml2/idp/metadata.php'; + } elseif ($set === 'shib13-idp-hosted') { + return $baseurl.'shib13/idp/metadata.php'; + } elseif ($set === 'wsfed-sp-hosted') { + return 'urn:federation:'.\SimpleSAML\Utils\HTTP::getSelfHost(); + } elseif ($set === 'adfs-idp-hosted') { + return 'urn:federation:'.\SimpleSAML\Utils\HTTP::getSelfHost().':idp'; + } else { + throw new Exception('Can not generate dynamic EntityID for metadata of this type: ['.$set.']'); + } + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerPdo.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerPdo.php new file mode 100755 index 0000000..8fd0a07 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerPdo.php @@ -0,0 +1,306 @@ +db = SimpleSAML\Database::getInstance(); + } + + + /** + * This function loads the given set of metadata from a file to a configured database. + * This function returns NULL if it is unable to locate the given set in the metadata directory. + * + * @param string $set The set of metadata we are loading. + * + * @return array $metadata Associative array with the metadata, or NULL if we are unable to load metadata from the + * given file. + * + * @throws Exception If a database error occurs. + * @throws SimpleSAML_Error_Exception If the metadata can be retrieved from the database, but cannot be decoded. + */ + private function load($set) + { + assert(is_string($set)); + + $tableName = $this->getTableName($set); + + if (!in_array($set, $this->supportedSets, true)) { + return null; + } + + $stmt = $this->db->read("SELECT entity_id, entity_data FROM $tableName"); + if ($stmt->execute()) { + $metadata = array(); + + while ($d = $stmt->fetch()) { + $data = json_decode($d['entity_data'], true); + if ($data === null) { + throw new SimpleSAML_Error_Exception("Cannot decode metadata for entity '${d['entity_id']}'"); + } + if (!array_key_exists('entityid', $data)) { + $data['entityid'] = $d['entity_id']; + } + $metadata[$d['entity_id']] = $data; + } + + return $metadata; + } else { + throw new Exception('PDO metadata handler: Database error: '.var_export($this->db->getLastError(), true)); + } + } + + + /** + * Retrieve a list of all available metadata for a given set. + * + * @param string $set The set we are looking for metadata in. + * + * @return array $metadata An associative array with all the metadata for the given set. + */ + public function getMetadataSet($set) + { + assert(is_string($set)); + + if (array_key_exists($set, $this->cachedMetadata)) { + return $this->cachedMetadata[$set]; + } + + $metadataSet = $this->load($set); + if ($metadataSet === null) { + $metadataSet = array(); + } + + foreach ($metadataSet as $entityId => &$entry) { + if (preg_match('/__DYNAMIC(:[0-9]+)?__/', $entityId)) { + $entry['entityid'] = $this->generateDynamicHostedEntityID($set); + } else { + $entry['entityid'] = $entityId; + } + } + + $this->cachedMetadata[$set] = $metadataSet; + return $metadataSet; + } + + /** + * Retrieve a metadata entry. + * + * @param string $entityId The entityId we are looking up. + * @param string $set The set we are looking for metadata in. + * + * @return array An associative array with metadata for the given entity, or NULL if we are unable to + * locate the entity. + */ + public function getMetaData($entityId, $set) + { + assert(is_string($entityId)); + assert(is_string($set)); + + $tableName = $this->getTableName($set); + + if (!in_array($set, $this->supportedSets, true)) { + return null; + } + + $stmt = $this->db->read("SELECT entity_id, entity_data FROM $tableName WHERE entity_id=:entityId", array('entityId' => $entityId)); + if ($stmt->execute()) { + $rowCount = 0; + $data = null; + + while ($d = $stmt->fetch()) { + if (++$rowCount > 1) { + SimpleSAML\Logger::warning("Duplicate match for $entityId in set $set"); + break; + } + $data = json_decode($d['entity_data'], true); + if ($data === null) { + throw new SimpleSAML_Error_Exception("Cannot decode metadata for entity '${d['entity_id']}'"); + } + if (!array_key_exists('entityid', $data)) { + $data['entityid'] = $d['entity_id']; + } + } + return $data; + } else { + throw new Exception('PDO metadata handler: Database error: '.var_export($this->db->getLastError(), true)); + } + } + + private function generateDynamicHostedEntityID($set) + { + assert(is_string($set)); + + // get the configuration + $baseurl = \SimpleSAML\Utils\HTTP::getBaseURL(); + + if ($set === 'saml20-idp-hosted') { + return $baseurl.'saml2/idp/metadata.php'; + } elseif ($set === 'saml20-sp-hosted') { + return $baseurl.'saml2/sp/metadata.php'; + } elseif ($set === 'shib13-idp-hosted') { + return $baseurl.'shib13/idp/metadata.php'; + } elseif ($set === 'shib13-sp-hosted') { + return $baseurl.'shib13/sp/metadata.php'; + } elseif ($set === 'wsfed-sp-hosted') { + return 'urn:federation:'.\SimpleSAML\Utils\HTTP::getSelfHost(); + } elseif ($set === 'adfs-idp-hosted') { + return 'urn:federation:'.\SimpleSAML\Utils\HTTP::getSelfHost().':idp'; + } else { + throw new Exception('Can not generate dynamic EntityID for metadata of this type: ['.$set.']'); + } + } + + + /** + * Add metadata to the configured database + * + * @param string $index Entity ID + * @param string $set The set to add the metadata to + * @param array $entityData Metadata + * + * @return bool True/False if entry was successfully added + */ + public function addEntry($index, $set, $entityData) + { + assert(is_string($index)); + assert(is_string($set)); + assert(is_array($entityData)); + + if (!in_array($set, $this->supportedSets, true)) { + return false; + } + + $tableName = $this->getTableName($set); + + $metadata = $this->db->read( + "SELECT entity_id, entity_data FROM $tableName WHERE entity_id = :entity_id", + array( + 'entity_id' => $index, + ) + ); + + $retrivedEntityIDs = $metadata->fetch(); + + $params = array( + 'entity_id' => $index, + 'entity_data' => json_encode($entityData), + ); + + if ($retrivedEntityIDs !== false && count($retrivedEntityIDs) > 0) { + $rows = $this->db->write( + "UPDATE $tableName SET entity_data = :entity_data WHERE entity_id = :entity_id", + $params + ); + } else { + $rows = $this->db->write( + "INSERT INTO $tableName (entity_id, entity_data) VALUES (:entity_id, :entity_data)", + $params + ); + } + + return $rows === 1; + } + + + /** + * Replace the -'s to an _ in table names for Metadata sets + * since SQL does not allow a - in a table name. + * + * @param string $table Table + * + * @return string Replaced table name + */ + private function getTableName($table) + { + assert(is_string($table)); + + return $this->db->applyPrefix(str_replace("-", "_", $this->tablePrefix.$table)); + } + + + /** + * Initialize the configured database + * + * @return int|false The number of SQL statements successfully executed, false if some error occurred. + */ + public function initDatabase() + { + $stmt = 0; + $fine = true; + foreach ($this->supportedSets as $set) { + $tableName = $this->getTableName($set); + $rows = $this->db->write( + "CREATE TABLE IF NOT EXISTS $tableName (entity_id VARCHAR(255) PRIMARY KEY NOT NULL, entity_data ". + "TEXT NOT NULL)" + ); + if ($rows === 0) { + $fine = false; + } else { + $stmt += $rows; + } + } + if (!$fine) { + return false; + } + return $stmt; + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php new file mode 100755 index 0000000..6867911 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php @@ -0,0 +1,286 @@ +directory = $cfgHelp->getString('directory'); + + /* Resolve this directory relative to the SimpleSAMLphp directory (unless it is + * an absolute path). + */ + $this->directory = $globalConfig->resolvePath($this->directory); + } + + + /** + * Helper function for retrieving the path of a metadata file. + * + * @param string $entityId The entity ID. + * @param string $set The metadata set. + * + * @return string The path to the metadata file. + */ + private function getMetadataPath($entityId, $set) + { + assert(is_string($entityId)); + assert(is_string($set)); + + return $this->directory.'/'.rawurlencode($set).'/'.rawurlencode($entityId).self::EXTENSION; + } + + + /** + * Retrieve a list of all available metadata sets. + * + * @return array An array with the available sets. + */ + public function getMetadataSets() + { + $ret = array(); + + $dh = @opendir($this->directory); + if ($dh === false) { + SimpleSAML\Logger::warning( + 'Serialize metadata handler: Unable to open directory: '.var_export($this->directory, true) + ); + return $ret; + } + + while (($entry = readdir($dh)) !== false) { + if ($entry[0] === '.') { + // skip '..', '.' and hidden files + continue; + } + + $path = $this->directory.'/'.$entry; + + if (!is_dir($path)) { + SimpleSAML\Logger::warning( + 'Serialize metadata handler: Metadata directory contained a file where only directories should '. + 'exist: '.var_export($path, true) + ); + continue; + } + + $ret[] = rawurldecode($entry); + } + + closedir($dh); + + return $ret; + } + + + /** + * Retrieve a list of all available metadata for a given set. + * + * @param string $set The set we are looking for metadata in. + * + * @return array An associative array with all the metadata for the given set. + */ + public function getMetadataSet($set) + { + assert(is_string($set)); + + $ret = array(); + + $dir = $this->directory.'/'.rawurlencode($set); + if (!is_dir($dir)) { + // probably some code asked for a metadata set which wasn't available + return $ret; + } + + $dh = @opendir($dir); + if ($dh === false) { + SimpleSAML\Logger::warning('Serialize metadata handler: Unable to open directory: '.var_export($dir, true)); + return $ret; + } + + $extLen = strlen(self::EXTENSION); + + while (($file = readdir($dh)) !== false) { + if (strlen($file) <= $extLen) { + continue; + } + + if (substr($file, -$extLen) !== self::EXTENSION) { + continue; + } + + $entityId = substr($file, 0, -$extLen); + $entityId = rawurldecode($entityId); + + $md = $this->getMetaData($entityId, $set); + if ($md !== null) { + $ret[$entityId] = $md; + } + } + + closedir($dh); + + return $ret; + } + + + /** + * Retrieve a metadata entry. + * + * @param string $entityId The entityId we are looking up. + * @param string $set The set we are looking for metadata in. + * + * @return array An associative array with metadata for the given entity, or NULL if we are unable to + * locate the entity. + */ + public function getMetaData($entityId, $set) + { + assert(is_string($entityId)); + assert(is_string($set)); + + $filePath = $this->getMetadataPath($entityId, $set); + + if (!file_exists($filePath)) { + return null; + } + + $data = @file_get_contents($filePath); + if ($data === false) { + $error = error_get_last(); + SimpleSAML\Logger::warning( + 'Error reading file '.$filePath.': '.$error['message'] + ); + return null; + } + + $data = @unserialize($data); + if ($data === false) { + SimpleSAML\Logger::warning('Error unserializing file: '.$filePath); + return null; + } + + if (!array_key_exists('entityid', $data)) { + $data['entityid'] = $entityId; + } + + return $data; + } + + + /** + * Save a metadata entry. + * + * @param string $entityId The entityId of the metadata entry. + * @param string $set The metadata set this metadata entry belongs to. + * @param array $metadata The metadata. + * + * @return boolean True if successfully saved, false otherwise. + */ + public function saveMetadata($entityId, $set, $metadata) + { + assert(is_string($entityId)); + assert(is_string($set)); + assert(is_array($metadata)); + + $filePath = $this->getMetadataPath($entityId, $set); + $newPath = $filePath.'.new'; + + $dir = dirname($filePath); + if (!is_dir($dir)) { + SimpleSAML\Logger::info('Creating directory: '.$dir); + $res = @mkdir($dir, 0777, true); + if ($res === false) { + $error = error_get_last(); + SimpleSAML\Logger::error('Failed to create directory '.$dir.': '.$error['message']); + return false; + } + } + + $data = serialize($metadata); + + SimpleSAML\Logger::debug('Writing: '.$newPath); + + $res = file_put_contents($newPath, $data); + if ($res === false) { + $error = error_get_last(); + SimpleSAML\Logger::error('Error saving file '.$newPath.': '.$error['message']); + return false; + } + + $res = rename($newPath, $filePath); + if ($res === false) { + $error = error_get_last(); + SimpleSAML\Logger::error('Error renaming '.$newPath.' to '.$filePath.': '.$error['message']); + return false; + } + + return true; + } + + + /** + * Delete a metadata entry. + * + * @param string $entityId The entityId of the metadata entry. + * @param string $set The metadata set this metadata entry belongs to. + */ + public function deleteMetadata($entityId, $set) + { + assert(is_string($entityId)); + assert(is_string($set)); + + $filePath = $this->getMetadataPath($entityId, $set); + + if (!file_exists($filePath)) { + SimpleSAML\Logger::warning( + 'Attempted to erase nonexistent metadata entry '. + var_export($entityId, true).' in set '.var_export($set, true).'.' + ); + return; + } + + $res = unlink($filePath); + if ($res === false) { + $error = error_get_last(); + SimpleSAML\Logger::error( + 'Failed to delete file '.$filePath. + ': '.$error['message'] + ); + } + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerXML.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerXML.php new file mode 100755 index 0000000..7e2b505 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerXML.php @@ -0,0 +1,116 @@ +resolvePath($config['file']); + } elseif (array_key_exists('url', $config)) { + $src = $config['url']; + } elseif (array_key_exists('xml', $config)) { + $srcXml = $config['xml']; + } else { + throw new Exception("Missing one of 'file', 'url' and 'xml' in XML metadata source configuration."); + } + + + $SP1x = array(); + $IdP1x = array(); + $SP20 = array(); + $IdP20 = array(); + $AAD = array(); + + if(isset($src)) { + $entities = SimpleSAML_Metadata_SAMLParser::parseDescriptorsFile($src); + } elseif(isset($srcXml)) { + $entities = SimpleSAML_Metadata_SAMLParser::parseDescriptorsString($srcXml); + } else { + throw new Exception("Neither source file path/URI nor string data provided"); + } + foreach ($entities as $entityId => $entity) { + $md = $entity->getMetadata1xSP(); + if ($md !== null) { + $SP1x[$entityId] = $md; + } + + $md = $entity->getMetadata1xIdP(); + if ($md !== null) { + $IdP1x[$entityId] = $md; + } + + $md = $entity->getMetadata20SP(); + if ($md !== null) { + $SP20[$entityId] = $md; + } + + $md = $entity->getMetadata20IdP(); + if ($md !== null) { + $IdP20[$entityId] = $md; + } + + $md = $entity->getAttributeAuthorities(); + if (count($md) > 0) { + $AAD[$entityId] = $md[0]; + } + } + + $this->metadata = array( + 'shib13-sp-remote' => $SP1x, + 'shib13-idp-remote' => $IdP1x, + 'saml20-sp-remote' => $SP20, + 'saml20-idp-remote' => $IdP20, + 'attributeauthority-remote' => $AAD, + ); + } + + + /** + * This function returns an associative array with metadata for all entities in the given set. The + * key of the array is the entity id. + * + * @param string $set The set we want to list metadata for. + * + * @return array An associative array with all entities in the given set. + */ + public function getMetadataSet($set) + { + if (array_key_exists($set, $this->metadata)) { + return $this->metadata[$set]; + } + + // we don't have this metadata set + return array(); + } +} diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageSource.php b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php new file mode 100755 index 0000000..b4e39f2 --- /dev/null +++ b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php @@ -0,0 +1,275 @@ +getMetadataSet($set); + if ($metadataSet === null) { + // this metadata source does not have this metadata set + return null; + } + + foreach ($metadataSet as $index => $entry) { + if (!array_key_exists('host', $entry)) { + continue; + } + + if ($hostPath === $entry['host']) { + if ($type === 'entityid') { + return $entry['entityid']; + } else { + return $index; + } + } + } + + // no entries matched, we should return null + return null; + } + + + /** + * This function will go through all the metadata, and check the DiscoHints->IPHint + * parameter, which defines a network space (ip range) for each remote entry. + * This function returns the entityID for any of the entities that have an + * IP range which the IP falls within. + * + * @param string $set Which set of metadata we are looking it up in. + * @param string $ip IP address + * @param string $type Do you want to return the metaindex or the entityID. [entityid|metaindex] + * + * @return string The entity id of a entity which have a CIDR hint where the provided + * IP address match. + */ + public function getPreferredEntityIdFromCIDRhint($set, $ip, $type = 'entityid') + { + + $metadataSet = $this->getMetadataSet($set); + + foreach ($metadataSet as $index => $entry) { + $cidrHints = array(); + + // support hint.cidr for idp discovery + if (array_key_exists('hint.cidr', $entry) && is_array($entry['hint.cidr'])) { + $cidrHints = $entry['hint.cidr']; + } + + // support discohints in idp metadata for idp discovery + if (array_key_exists('DiscoHints', $entry) + && array_key_exists('IPHint', $entry['DiscoHints']) + && is_array($entry['DiscoHints']['IPHint'])) { + // merge with hints derived from discohints, but prioritize hint.cidr in case it is used + $cidrHints = array_merge($entry['DiscoHints']['IPHint'], $cidrHints); + } + + if (empty($cidrHints)) { + continue; + } + + foreach ($cidrHints as $hint_entry) { + if (SimpleSAML\Utils\Net::ipCIDRcheck($hint_entry, $ip)) { + if ($type === 'entityid') { + return $entry['entityid']; + } else { + return $index; + } + } + } + } + + // no entries matched, we should return null + return null; + } + + + /* + * + */ + private function lookupIndexFromEntityId($entityId, $set) + { + assert(is_string($entityId)); + assert(isset($set)); + + $metadataSet = $this->getMetadataSet($set); + + // check for hostname + $currenthost = \SimpleSAML\Utils\HTTP::getSelfHost(); // sp.example.org + + foreach ($metadataSet as $index => $entry) { + if ($index === $entityId) { + return $index; + } + if ($entry['entityid'] === $entityId) { + if ($entry['host'] === '__DEFAULT__' || $entry['host'] === $currenthost) { + return $index; + } + } + } + + return null; + } + + + /** + * This function retrieves metadata for the given entity id in the given set of metadata. + * It will return NULL if it is unable to locate the metadata. + * + * This class implements this function using the getMetadataSet-function. A subclass should + * override this function if it doesn't implement the getMetadataSet function, or if the + * implementation of getMetadataSet is slow. + * + * @param string $index The entityId or metaindex we are looking up. + * @param string $set The set we are looking for metadata in. + * + * @return array An associative array with metadata for the given entity, or NULL if we are unable to + * locate the entity. + */ + public function getMetaData($index, $set) + { + + assert(is_string($index)); + assert(isset($set)); + + $metadataSet = $this->getMetadataSet($set); + + if (array_key_exists($index, $metadataSet)) { + return $metadataSet[$index]; + } + + $indexlookup = $this->lookupIndexFromEntityId($index, $set); + if (isset($indexlookup) && array_key_exists($indexlookup, $metadataSet)) { + return $metadataSet[$indexlookup]; + } + + return null; + } +} diff --git a/lib/SimpleSAML/Metadata/SAMLBuilder.php b/lib/SimpleSAML/Metadata/SAMLBuilder.php new file mode 100755 index 0000000..ba584c5 --- /dev/null +++ b/lib/SimpleSAML/Metadata/SAMLBuilder.php @@ -0,0 +1,777 @@ +maxCache = $maxCache; + $this->maxDuration = $maxDuration; + + $this->entityDescriptor = new \SAML2\XML\md\EntityDescriptor(); + $this->entityDescriptor->entityID = $entityId; + } + + + private function setExpiration($metadata) + { + if (array_key_exists('expire', $metadata)) { + if ($metadata['expire'] - time() < $this->maxDuration) { + $this->maxDuration = $metadata['expire'] - time(); + } + } + + if ($this->maxCache !== null) { + $this->entityDescriptor->cacheDuration = 'PT'.$this->maxCache.'S'; + } + if ($this->maxDuration !== null) { + $this->entityDescriptor->validUntil = time() + $this->maxDuration; + } + } + + + /** + * Retrieve the EntityDescriptor element which is generated for this entity. + * + * @return DOMElement The EntityDescriptor element of this entity. + */ + public function getEntityDescriptor() + { + $xml = $this->entityDescriptor->toXML(); + $xml->ownerDocument->appendChild($xml); + + return $xml; + } + + + /** + * Retrieve the EntityDescriptor as text. + * + * This function serializes this EntityDescriptor, and returns it as text. + * + * @param bool $formatted Whether the returned EntityDescriptor should be formatted first. + * + * @return string The serialized EntityDescriptor. + */ + public function getEntityDescriptorText($formatted = true) + { + assert(is_bool($formatted)); + + $xml = $this->getEntityDescriptor(); + if ($formatted) { + SimpleSAML\Utils\XML::formatDOMElement($xml); + } + + return $xml->ownerDocument->saveXML(); + } + + + /** + * Add a SecurityTokenServiceType for ADFS metadata. + * + * @param array $metadata The metadata with the information about the SecurityTokenServiceType. + */ + public function addSecurityTokenServiceType($metadata) + { + assert(is_array($metadata)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + $defaultEndpoint = $metadata->getDefaultEndpoint('SingleSignOnService'); + $e = new sspmod_adfs_SAML2_XML_fed_SecurityTokenServiceType(); + $e->Location = $defaultEndpoint['Location']; + + $this->addCertificate($e, $metadata); + + $this->entityDescriptor->RoleDescriptor[] = $e; + } + + + /** + * Add extensions to the metadata. + * + * @param SimpleSAML_Configuration $metadata The metadata to get extensions from. + * @param \SAML2\XML\md\RoleDescriptor $e Reference to the element where the Extensions element should be included. + */ + private function addExtensions(SimpleSAML_Configuration $metadata, \SAML2\XML\md\RoleDescriptor $e) + { + if ($metadata->hasValue('tags')) { + $a = new \SAML2\XML\saml\Attribute(); + $a->Name = 'tags'; + foreach ($metadata->getArray('tags') as $tag) { + $a->AttributeValue[] = new \SAML2\XML\saml\AttributeValue($tag); + } + $e->Extensions[] = $a; + } + + if ($metadata->hasValue('hint.cidr')) { + $a = new \SAML2\XML\saml\Attribute(); + $a->Name = 'hint.cidr'; + foreach ($metadata->getArray('hint.cidr') as $hint) { + $a->AttributeValue[] = new \SAML2\XML\saml\AttributeValue($hint); + } + $e->Extensions[] = $a; + } + + if ($metadata->hasValue('scope')) { + foreach ($metadata->getArray('scope') as $scopetext) { + $s = new \SAML2\XML\shibmd\Scope(); + $s->scope = $scopetext; + // Check whether $ ^ ( ) * | \ are in a scope -> assume regex. + if (1 === preg_match('/[\$\^\)\(\*\|\\\\]/', $scopetext)) { + $s->regexp = true; + } else { + $s->regexp = false; + } + $e->Extensions[] = $s; + } + } + + if ($metadata->hasValue('EntityAttributes')) { + $ea = new \SAML2\XML\mdattr\EntityAttributes(); + foreach ($metadata->getArray('EntityAttributes') as $attributeName => $attributeValues) { + $a = new \SAML2\XML\saml\Attribute(); + $a->Name = $attributeName; + $a->NameFormat = 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri'; + + // Attribute names that is not URI is prefixed as this: '{nameformat}name' + if (preg_match('/^\{(.*?)\}(.*)$/', $attributeName, $matches)) { + $a->Name = $matches[2]; + $nameFormat = $matches[1]; + if ($nameFormat !== \SAML2\Constants::NAMEFORMAT_UNSPECIFIED) { + $a->NameFormat = $nameFormat; + } + } + foreach ($attributeValues as $attributeValue) { + $a->AttributeValue[] = new \SAML2\XML\saml\AttributeValue($attributeValue); + } + $ea->children[] = $a; + } + $this->entityDescriptor->Extensions[] = $ea; + } + + if ($metadata->hasValue('RegistrationInfo')) { + $ri = new \SAML2\XML\mdrpi\RegistrationInfo(); + foreach ($metadata->getArray('RegistrationInfo') as $riName => $riValues) { + switch ($riName) { + case 'authority': + $ri->registrationAuthority = $riValues; + break; + case 'instant': + $ri->registrationInstant = \SAML2\Utils::xsDateTimeToTimestamp($riValues); + break; + case 'policies': + $ri->RegistrationPolicy = $riValues; + break; + } + } + $this->entityDescriptor->Extensions[] = $ri; + } + + if ($metadata->hasValue('UIInfo')) { + $ui = new \SAML2\XML\mdui\UIInfo(); + foreach ($metadata->getArray('UIInfo') as $uiName => $uiValues) { + switch ($uiName) { + case 'DisplayName': + $ui->DisplayName = $uiValues; + break; + case 'Description': + $ui->Description = $uiValues; + break; + case 'InformationURL': + $ui->InformationURL = $uiValues; + break; + case 'PrivacyStatementURL': + $ui->PrivacyStatementURL = $uiValues; + break; + case 'Keywords': + foreach ($uiValues as $lang => $keywords) { + $uiItem = new \SAML2\XML\mdui\Keywords(); + $uiItem->lang = $lang; + $uiItem->Keywords = $keywords; + $ui->Keywords[] = $uiItem; + } + break; + case 'Logo': + foreach ($uiValues as $logo) { + $uiItem = new \SAML2\XML\mdui\Logo(); + $uiItem->url = $logo['url']; + $uiItem->width = $logo['width']; + $uiItem->height = $logo['height']; + if (isset($logo['lang'])) { + $uiItem->lang = $logo['lang']; + } + $ui->Logo[] = $uiItem; + } + break; + } + } + $e->Extensions[] = $ui; + } + + if ($metadata->hasValue('DiscoHints')) { + $dh = new \SAML2\XML\mdui\DiscoHints(); + foreach ($metadata->getArray('DiscoHints') as $dhName => $dhValues) { + switch ($dhName) { + case 'IPHint': + $dh->IPHint = $dhValues; + break; + case 'DomainHint': + $dh->DomainHint = $dhValues; + break; + case 'GeolocationHint': + $dh->GeolocationHint = $dhValues; + break; + } + } + $e->Extensions[] = $dh; + } + } + + + /** + * Add an Organization element based on data passed as parameters + * + * @param array $orgName An array with the localized OrganizationName. + * @param array $orgDisplayName An array with the localized OrganizationDisplayName. + * @param array $orgURL An array with the localized OrganizationURL. + */ + public function addOrganization(array $orgName, array $orgDisplayName, array $orgURL) + { + $org = new \SAML2\XML\md\Organization(); + + $org->OrganizationName = $orgName; + $org->OrganizationDisplayName = $orgDisplayName; + $org->OrganizationURL = $orgURL; + + $this->entityDescriptor->Organization = $org; + } + + + /** + * Add an Organization element based on metadata array. + * + * @param array $metadata The metadata we should extract the organization information from. + */ + public function addOrganizationInfo(array $metadata) + { + if (empty($metadata['OrganizationName']) || + empty($metadata['OrganizationDisplayName']) || + empty($metadata['OrganizationURL']) + ) { + // empty or incomplete organization information + return; + } + + $orgName = SimpleSAML\Utils\Arrays::arrayize($metadata['OrganizationName'], 'en'); + $orgDisplayName = SimpleSAML\Utils\Arrays::arrayize($metadata['OrganizationDisplayName'], 'en'); + $orgURL = SimpleSAML\Utils\Arrays::arrayize($metadata['OrganizationURL'], 'en'); + + $this->addOrganization($orgName, $orgDisplayName, $orgURL); + } + + + /** + * Add a list of endpoints to metadata. + * + * @param array $endpoints The endpoints. + * @param bool $indexed Whether the endpoints should be indexed. + * + * @return array An array of endpoint objects, either \SAML2\XML\md\EndpointType or \SAML2\XML\md\IndexedEndpointType. + */ + private static function createEndpoints(array $endpoints, $indexed) + { + assert(is_bool($indexed)); + + $ret = array(); + + foreach ($endpoints as &$ep) { + if ($indexed) { + $t = new \SAML2\XML\md\IndexedEndpointType(); + } else { + $t = new \SAML2\XML\md\EndpointType(); + } + + $t->Binding = $ep['Binding']; + $t->Location = $ep['Location']; + if (isset($ep['ResponseLocation'])) { + $t->ResponseLocation = $ep['ResponseLocation']; + } + if (isset($ep['hoksso:ProtocolBinding'])) { + $t->setAttributeNS( + \SAML2\Constants::NS_HOK, + 'hoksso:ProtocolBinding', + \SAML2\Constants::BINDING_HTTP_REDIRECT + ); + } + + if ($indexed) { + if (!isset($ep['index'])) { + // Find the maximum index + $maxIndex = -1; + foreach ($endpoints as $ep) { + if (!isset($ep['index'])) { + continue; + } + + if ($ep['index'] > $maxIndex) { + $maxIndex = $ep['index']; + } + } + + $ep['index'] = $maxIndex + 1; + } + + $t->index = $ep['index']; + } + + $ret[] = $t; + } + + return $ret; + } + + + /** + * Add an AttributeConsumingService element to the metadata. + * + * @param \SAML2\XML\md\SPSSODescriptor $spDesc The SPSSODescriptor element. + * @param SimpleSAML_Configuration $metadata The metadata. + */ + private function addAttributeConsumingService( + \SAML2\XML\md\SPSSODescriptor $spDesc, + SimpleSAML_Configuration $metadata + ) { + $attributes = $metadata->getArray('attributes', array()); + $name = $metadata->getLocalizedString('name', null); + + if ($name === null || count($attributes) == 0) { + // we cannot add an AttributeConsumingService without name and attributes + return; + } + + $attributesrequired = $metadata->getArray('attributes.required', array()); + + /* + * Add an AttributeConsumingService element with information as name and description and list + * of requested attributes + */ + $attributeconsumer = new \SAML2\XML\md\AttributeConsumingService(); + + $attributeconsumer->index = $metadata->getInteger('attributes.index', 0); + + if ($metadata->hasValue('attributes.isDefault')) { + $attributeconsumer->isDefault = $metadata->getBoolean('attributes.isDefault', false); + } + + $attributeconsumer->ServiceName = $name; + $attributeconsumer->ServiceDescription = $metadata->getLocalizedString('description', array()); + + $nameFormat = $metadata->getString('attributes.NameFormat', \SAML2\Constants::NAMEFORMAT_UNSPECIFIED); + foreach ($attributes as $friendlyName => $attribute) { + $t = new \SAML2\XML\md\RequestedAttribute(); + $t->Name = $attribute; + if (!is_int($friendlyName)) { + $t->FriendlyName = $friendlyName; + } + if ($nameFormat !== \SAML2\Constants::NAMEFORMAT_UNSPECIFIED) { + $t->NameFormat = $nameFormat; + } + if (in_array($attribute, $attributesrequired, true)) { + $t->isRequired = true; + } + $attributeconsumer->RequestedAttribute[] = $t; + } + + $spDesc->AttributeConsumingService[] = $attributeconsumer; + } + + + /** + * Add a specific type of metadata to an entity. + * + * @param string $set The metadata set this metadata comes from. + * @param array $metadata The metadata. + */ + public function addMetadata($set, $metadata) + { + assert(is_string($set)); + assert(is_array($metadata)); + + $this->setExpiration($metadata); + + switch ($set) { + case 'saml20-sp-remote': + $this->addMetadataSP20($metadata); + break; + case 'saml20-idp-remote': + $this->addMetadataIdP20($metadata); + break; + case 'shib13-sp-remote': + $this->addMetadataSP11($metadata); + break; + case 'shib13-idp-remote': + $this->addMetadataIdP11($metadata); + break; + case 'attributeauthority-remote': + $this->addAttributeAuthority($metadata); + break; + default: + SimpleSAML\Logger::warning('Unable to generate metadata for unknown type \''.$set.'\'.'); + } + } + + + /** + * Add SAML 2.0 SP metadata. + * + * @param array $metadata The metadata. + * @param array $protocols The protocols supported. Defaults to \SAML2\Constants::NS_SAMLP. + */ + public function addMetadataSP20($metadata, $protocols = array(\SAML2\Constants::NS_SAMLP)) + { + assert(is_array($metadata)); + assert(is_array($protocols)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + + $e = new \SAML2\XML\md\SPSSODescriptor(); + $e->protocolSupportEnumeration = $protocols; + + if ($metadata->hasValue('saml20.sign.assertion')) { + $e->WantAssertionsSigned = $metadata->getBoolean('saml20.sign.assertion'); + } + + if ($metadata->hasValue('redirect.validate')) { + $e->AuthnRequestsSigned = $metadata->getBoolean('redirect.validate'); + } elseif ($metadata->hasValue('validate.authnrequest')) { + $e->AuthnRequestsSigned = $metadata->getBoolean('validate.authnrequest'); + } + + $this->addExtensions($metadata, $e); + + $this->addCertificate($e, $metadata); + + $e->SingleLogoutService = self::createEndpoints($metadata->getEndpoints('SingleLogoutService'), false); + + $e->NameIDFormat = $metadata->getArrayizeString('NameIDFormat', array()); + + $endpoints = $metadata->getEndpoints('AssertionConsumerService'); + foreach ($metadata->getArrayizeString('AssertionConsumerService.artifact', array()) as $acs) { + $endpoints[] = array( + 'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact', + 'Location' => $acs, + ); + } + $e->AssertionConsumerService = self::createEndpoints($endpoints, true); + + $this->addAttributeConsumingService($e, $metadata); + + $this->entityDescriptor->RoleDescriptor[] = $e; + + foreach ($metadata->getArray('contacts', array()) as $contact) { + if (array_key_exists('contactType', $contact) && array_key_exists('emailAddress', $contact)) { + $this->addContact($contact['contactType'], \SimpleSAML\Utils\Config\Metadata::getContact($contact)); + } + } + } + + + /** + * Add metadata of a SAML 2.0 identity provider. + * + * @param array $metadata The metadata. + */ + public function addMetadataIdP20($metadata) + { + assert(is_array($metadata)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + + $e = new \SAML2\XML\md\IDPSSODescriptor(); + $e->protocolSupportEnumeration[] = 'urn:oasis:names:tc:SAML:2.0:protocol'; + + if ($metadata->hasValue('sign.authnrequest')) { + $e->WantAuthnRequestsSigned = $metadata->getBoolean('sign.authnrequest'); + } elseif ($metadata->hasValue('redirect.sign')) { + $e->WantAuthnRequestsSigned = $metadata->getBoolean('redirect.sign'); + } + + $this->addExtensions($metadata, $e); + + $this->addCertificate($e, $metadata); + + if ($metadata->hasValue('ArtifactResolutionService')) { + $e->ArtifactResolutionService = self::createEndpoints( + $metadata->getEndpoints('ArtifactResolutionService'), + true + ); + } + + $e->SingleLogoutService = self::createEndpoints($metadata->getEndpoints('SingleLogoutService'), false); + + $e->NameIDFormat = $metadata->getArrayizeString('NameIDFormat', array()); + + $e->SingleSignOnService = self::createEndpoints($metadata->getEndpoints('SingleSignOnService'), false); + + $this->entityDescriptor->RoleDescriptor[] = $e; + + foreach ($metadata->getArray('contacts', array()) as $contact) { + if (array_key_exists('contactType', $contact) && array_key_exists('emailAddress', $contact)) { + $this->addContact($contact['contactType'], \SimpleSAML\Utils\Config\Metadata::getContact($contact)); + } + } + } + + + /** + * Add metadata of a SAML 1.1 service provider. + * + * @param array $metadata The metadata. + */ + public function addMetadataSP11($metadata) + { + assert(is_array($metadata)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + + $e = new \SAML2\XML\md\SPSSODescriptor(); + $e->protocolSupportEnumeration[] = 'urn:oasis:names:tc:SAML:1.1:protocol'; + + $this->addCertificate($e, $metadata); + + $e->NameIDFormat = $metadata->getArrayizeString('NameIDFormat', array()); + + $endpoints = $metadata->getEndpoints('AssertionConsumerService'); + foreach ($metadata->getArrayizeString('AssertionConsumerService.artifact', array()) as $acs) { + $endpoints[] = array( + 'Binding' => 'urn:oasis:names:tc:SAML:1.0:profiles:artifact-01', + 'Location' => $acs, + ); + } + $e->AssertionConsumerService = self::createEndpoints($endpoints, true); + + $this->addAttributeConsumingService($e, $metadata); + + $this->entityDescriptor->RoleDescriptor[] = $e; + } + + + /** + * Add metadata of a SAML 1.1 identity provider. + * + * @param array $metadata The metadata. + */ + public function addMetadataIdP11($metadata) + { + assert(is_array($metadata)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + + $e = new \SAML2\XML\md\IDPSSODescriptor(); + $e->protocolSupportEnumeration[] = 'urn:oasis:names:tc:SAML:1.1:protocol'; + $e->protocolSupportEnumeration[] = 'urn:mace:shibboleth:1.0'; + + $this->addCertificate($e, $metadata); + + $e->NameIDFormat = $metadata->getArrayizeString('NameIDFormat', array()); + + $e->SingleSignOnService = self::createEndpoints($metadata->getEndpoints('SingleSignOnService'), false); + + $this->entityDescriptor->RoleDescriptor[] = $e; + } + + + /** + * Add metadata of a SAML attribute authority. + * + * @param array $metadata The AttributeAuthorityDescriptor, in the format returned by + * SimpleSAML_Metadata_SAMLParser. + */ + public function addAttributeAuthority(array $metadata) + { + assert(is_array($metadata)); + assert(isset($metadata['entityid'])); + assert(isset($metadata['metadata-set'])); + + $metadata = SimpleSAML_Configuration::loadFromArray($metadata, $metadata['entityid']); + + $e = new \SAML2\XML\md\AttributeAuthorityDescriptor(); + $e->protocolSupportEnumeration = $metadata->getArray('protocols', array(\SAML2\Constants::NS_SAMLP)); + + $this->addExtensions($metadata, $e); + $this->addCertificate($e, $metadata); + + $e->AttributeService = self::createEndpoints($metadata->getEndpoints('AttributeService'), false); + $e->AssertionIDRequestService = self::createEndpoints( + $metadata->getEndpoints('AssertionIDRequestService'), + false + ); + + $e->NameIDFormat = $metadata->getArrayizeString('NameIDFormat', array()); + + $this->entityDescriptor->RoleDescriptor[] = $e; + } + + + /** + * Add contact information. + * + * Accepts a contact type, and a contact array that must be previously sanitized. + * + * WARNING: This function will change its signature and no longer parse a 'name' element. + * + * @param string $type The type of contact. Deprecated. + * @param array $details The details about the contact. + * + * @todo Change the signature to remove $type. + * @todo Remove the capability to pass a name and parse it inside the method. + */ + public function addContact($type, $details) + { + assert(is_string($type)); + assert(is_array($details)); + assert(in_array($type, array('technical', 'support', 'administrative', 'billing', 'other'), true)); + + // TODO: remove this check as soon as getContact() is called always before calling this function + $details = \SimpleSAML\Utils\Config\Metadata::getContact($details); + + $e = new \SAML2\XML\md\ContactPerson(); + $e->contactType = $type; + + if (!empty($details['attributes'])) { + $e->ContactPersonAttributes = $details['attributes']; + } + + if (isset($details['company'])) { + $e->Company = $details['company']; + } + if (isset($details['givenName'])) { + $e->GivenName = $details['givenName']; + } + if (isset($details['surName'])) { + $e->SurName = $details['surName']; + } + + if (isset($details['emailAddress'])) { + $eas = $details['emailAddress']; + if (!is_array($eas)) { + $eas = array($eas); + } + foreach ($eas as $ea) { + $e->EmailAddress[] = $ea; + } + } + + if (isset($details['telephoneNumber'])) { + $tlfNrs = $details['telephoneNumber']; + if (!is_array($tlfNrs)) { + $tlfNrs = array($tlfNrs); + } + foreach ($tlfNrs as $tlfNr) { + $e->TelephoneNumber[] = $tlfNr; + } + } + + $this->entityDescriptor->ContactPerson[] = $e; + } + + + /** + * Add a KeyDescriptor with an X509 certificate. + * + * @param \SAML2\XML\md\RoleDescriptor $rd The RoleDescriptor the certificate should be added to. + * @param string $use The value of the 'use' attribute. + * @param string $x509data The certificate data. + */ + private function addX509KeyDescriptor(\SAML2\XML\md\RoleDescriptor $rd, $use, $x509data) + { + assert(in_array($use, array('encryption', 'signing'), true)); + assert(is_string($x509data)); + + $keyDescriptor = \SAML2\Utils::createKeyDescriptor($x509data); + $keyDescriptor->use = $use; + $rd->KeyDescriptor[] = $keyDescriptor; + } + + + /** + * Add a certificate. + * + * Helper function for adding a certificate to the metadata. + * + * @param \SAML2\XML\md\RoleDescriptor $rd The RoleDescriptor the certificate should be added to. + * @param SimpleSAML_Configuration $metadata The metadata of the entity. + */ + private function addCertificate(\SAML2\XML\md\RoleDescriptor $rd, SimpleSAML_Configuration $metadata) + { + $keys = $metadata->getPublicKeys(); + foreach ($keys as $key) { + if ($key['type'] !== 'X509Certificate') { + continue; + } + if (!isset($key['signing']) || $key['signing'] === true) { + $this->addX509KeyDescriptor($rd, 'signing', $key['X509Certificate']); + } + if (!isset($key['encryption']) || $key['encryption'] === true) { + $this->addX509KeyDescriptor($rd, 'encryption', $key['X509Certificate']); + } + } + + if ($metadata->hasValue('https.certData')) { + $this->addX509KeyDescriptor($rd, 'signing', $metadata->getString('https.certData')); + } + } +} diff --git a/lib/SimpleSAML/Metadata/SAMLParser.php b/lib/SimpleSAML/Metadata/SAMLParser.php new file mode 100755 index 0000000..28c7f78 --- /dev/null +++ b/lib/SimpleSAML/Metadata/SAMLParser.php @@ -0,0 +1,1478 @@ +spDescriptors = array(); + $this->idpDescriptors = array(); + + $e = $entityElement->toXML(); + $e = $e->ownerDocument->saveXML($e); + $this->entityDescriptor = base64_encode($e); + $this->entityId = $entityElement->entityID; + + $expireTime = self::getExpireTime($entityElement, $maxExpireTime); + + $this->validators = $validators; + $this->validators[] = $entityElement; + + // process Extensions element, if it exists + $ext = self::processExtensions($entityElement, $parentExtensions); + $this->scopes = $ext['scope']; + $this->tags = $ext['tags']; + $this->entityAttributes = $ext['EntityAttributes']; + $this->registrationInfo = $ext['RegistrationInfo']; + + // look over the RoleDescriptors + foreach ($entityElement->RoleDescriptor as $child) { + if ($child instanceof \SAML2\XML\md\SPSSODescriptor) { + $this->processSPSSODescriptor($child, $expireTime); + } elseif ($child instanceof \SAML2\XML\md\IDPSSODescriptor) { + $this->processIDPSSODescriptor($child, $expireTime); + } elseif ($child instanceof \SAML2\XML\md\AttributeAuthorityDescriptor) { + $this->processAttributeAuthorityDescriptor($child, $expireTime); + } + } + + if ($entityElement->Organization) { + $this->processOrganization($entityElement->Organization); + } + + if (!empty($entityElement->ContactPerson)) { + foreach ($entityElement->ContactPerson as $contact) { + $this->processContactPerson($contact); + } + } + } + + + /** + * This function parses a file which contains XML encoded metadata. + * + * @param string $file The path to the file which contains the metadata. + * + * @return SimpleSAML_Metadata_SAMLParser An instance of this class with the metadata loaded. + * @throws Exception If the file does not parse as XML. + */ + public static function parseFile($file) + { + $data = \SimpleSAML\Utils\HTTP::fetch($file); + + try { + $doc = \SAML2\DOMDocumentFactory::fromString($data); + } catch (\Exception $e) { + throw new Exception('Failed to read XML from file: '.$file); + } + + return self::parseDocument($doc); + } + + + /** + * This function parses a string which contains XML encoded metadata. + * + * @param string $metadata A string which contains XML encoded metadata. + * + * @return SimpleSAML_Metadata_SAMLParser An instance of this class with the metadata loaded. + * @throws Exception If the string does not parse as XML. + */ + public static function parseString($metadata) + { + try { + $doc = \SAML2\DOMDocumentFactory::fromString($metadata); + } catch (\Exception $e) { + throw new Exception('Failed to parse XML string.'); + } + + return self::parseDocument($doc); + } + + + /** + * This function parses a DOMDocument which is assumed to contain a single EntityDescriptor element. + * + * @param DOMDocument $document The DOMDocument which contains the EntityDescriptor element. + * + * @return SimpleSAML_Metadata_SAMLParser An instance of this class with the metadata loaded. + */ + public static function parseDocument($document) + { + assert($document instanceof DOMDocument); + + $entityElement = self::findEntityDescriptor($document); + + return self::parseElement($entityElement); + } + + + /** + * This function parses a \SAML2\XML\md\EntityDescriptor object which represents a EntityDescriptor element. + * + * @param \SAML2\XML\md\EntityDescriptor $entityElement A \SAML2\XML\md\EntityDescriptor object which represents a + * EntityDescriptor element. + * + * @return SimpleSAML_Metadata_SAMLParser An instance of this class with the metadata loaded. + */ + public static function parseElement($entityElement) + { + assert($entityElement instanceof \SAML2\XML\md\EntityDescriptor); + return new SimpleSAML_Metadata_SAMLParser($entityElement, null, array()); + } + + + /** + * This function parses a file where the root node is either an EntityDescriptor element or an + * EntitiesDescriptor element. In both cases it will return an associative array of SAMLParser instances. If + * the file contains a single EntityDescriptorElement, then the array will contain a single SAMLParser + * instance. + * + * @param string $file The path to the file which contains the EntityDescriptor or EntitiesDescriptor element. + * + * @return SimpleSAML_Metadata_SAMLParser[] An array of SAMLParser instances. + * @throws Exception If the file does not parse as XML. + */ + public static function parseDescriptorsFile($file) + { + if ($file === null) { + throw new Exception('Cannot open file NULL. File name not specified.'); + } + + $data = \SimpleSAML\Utils\HTTP::fetch($file); + + try { + $doc = \SAML2\DOMDocumentFactory::fromString($data); + } catch (\Exception $e) { + throw new Exception('Failed to read XML from file: '.$file); + } + + if ($doc->documentElement === null) { + throw new Exception('Opened file is not an XML document: '.$file); + } + + return self::parseDescriptorsElement($doc->documentElement); + } + + + /** + * This function parses a string with XML data. The root node of the XML data is expected to be either an + * EntityDescriptor element or an EntitiesDescriptor element. It will return an associative array of + * SAMLParser instances. + * + * @param string $string The string with XML data. + * + * @return SimpleSAML_Metadata_SAMLParser[] An associative array of SAMLParser instances. The key of the array will + * be the entity id. + * @throws Exception If the string does not parse as XML. + */ + public static function parseDescriptorsString($string) + { + try { + $doc = \SAML2\DOMDocumentFactory::fromString($string); + } catch (\Exception $e) { + throw new Exception('Failed to parse XML string.'); + } + + return self::parseDescriptorsElement($doc->documentElement); + } + + + /** + * This function parses a DOMElement which represents either an EntityDescriptor element or an + * EntitiesDescriptor element. It will return an associative array of SAMLParser instances in both cases. + * + * @param DOMElement|NULL $element The DOMElement which contains the EntityDescriptor element or the + * EntitiesDescriptor element. + * + * @return SimpleSAML_Metadata_SAMLParser[] An associative array of SAMLParser instances. The key of the array will + * be the entity id. + * @throws Exception if the document is empty or the root is an unexpected node. + */ + public static function parseDescriptorsElement(DOMElement $element = null) + { + if ($element === null) { + throw new Exception('Document was empty.'); + } + + if (SimpleSAML\Utils\XML::isDOMNodeOfType($element, 'EntityDescriptor', '@md') === true) { + return self::processDescriptorsElement(new \SAML2\XML\md\EntityDescriptor($element)); + } elseif (SimpleSAML\Utils\XML::isDOMNodeOfType($element, 'EntitiesDescriptor', '@md') === true) { + return self::processDescriptorsElement(new \SAML2\XML\md\EntitiesDescriptor($element)); + } else { + throw new Exception('Unexpected root node: ['.$element->namespaceURI.']:'.$element->localName); + } + } + + + /** + * + * @param \SAML2\XML\md\EntityDescriptor|\SAML2\XML\md\EntitiesDescriptor $element The element we should process. + * @param int|NULL $maxExpireTime The maximum expiration time + * of the entities. + * @param array $validators The parent-elements that may be + * signed. + * @param array $parentExtensions An optional array of + * extensions from the parent element. + * + * @return SimpleSAML_Metadata_SAMLParser[] Array of SAMLParser instances. + */ + private static function processDescriptorsElement( + $element, + $maxExpireTime = null, + array $validators = array(), + array $parentExtensions = array() + ) { + assert($maxExpireTime === null || is_int($maxExpireTime)); + + if ($element instanceof \SAML2\XML\md\EntityDescriptor) { + $ret = new SimpleSAML_Metadata_SAMLParser($element, $maxExpireTime, $validators, $parentExtensions); + $ret = array($ret->getEntityId() => $ret); + /** @var SimpleSAML_Metadata_SAMLParser[] $ret */ + return $ret; + } + + assert($element instanceof \SAML2\XML\md\EntitiesDescriptor); + + $extensions = self::processExtensions($element, $parentExtensions); + $expTime = self::getExpireTime($element, $maxExpireTime); + + $validators[] = $element; + + $ret = array(); + foreach ($element->children as $child) { + $ret += self::processDescriptorsElement($child, $expTime, $validators, $extensions); + } + + return $ret; + } + + + /** + * Determine how long a given element can be cached. + * + * This function looks for the 'validUntil' attribute to determine + * how long a given XML-element is valid. It returns this as a unix timestamp. + * + * @param mixed $element The element we should determine the expiry time of. + * @param int|NULL $maxExpireTime The maximum expiration time. + * + * @return int The unix timestamp for when the element should expire. Will be NULL if no + * limit is set for the element. + */ + private static function getExpireTime($element, $maxExpireTime) + { + // validUntil may be null + $expire = $element->validUntil; + + if ($maxExpireTime !== null && ($expire === null || $maxExpireTime < $expire)) { + $expire = $maxExpireTime; + } + + return $expire; + } + + + /** + * This function returns the entity id of this parsed entity. + * + * @return string The entity id of this parsed entity. + */ + public function getEntityId() + { + return $this->entityId; + } + + + private function getMetadataCommon() + { + $ret = array(); + $ret['entityid'] = $this->entityId; + $ret['entityDescriptor'] = $this->entityDescriptor; + + // add organizational metadata + if (!empty($this->organizationName)) { + $ret['description'] = $this->organizationName; + $ret['OrganizationName'] = $this->organizationName; + } + if (!empty($this->organizationDisplayName)) { + $ret['name'] = $this->organizationDisplayName; + $ret['OrganizationDisplayName'] = $this->organizationDisplayName; + } + if (!empty($this->organizationURL)) { + $ret['url'] = $this->organizationURL; + $ret['OrganizationURL'] = $this->organizationURL; + } + + //add contact metadata + $ret['contacts'] = $this->contacts; + + return $ret; + } + + + /** + * Add data parsed from extensions to metadata. + * + * @param array &$metadata The metadata that should be updated. + * @param array $roleDescriptor The parsed role descriptor. + */ + private function addExtensions(array &$metadata, array $roleDescriptor) + { + assert(array_key_exists('scope', $roleDescriptor)); + assert(array_key_exists('tags', $roleDescriptor)); + + $scopes = array_merge($this->scopes, array_diff($roleDescriptor['scope'], $this->scopes)); + if (!empty($scopes)) { + $metadata['scope'] = $scopes; + } + + $tags = array_merge($this->tags, array_diff($roleDescriptor['tags'], $this->tags)); + if (!empty($tags)) { + $metadata['tags'] = $tags; + } + + + if (!empty($this->registrationInfo)) { + $metadata['RegistrationInfo'] = $this->registrationInfo; + } + + if (!empty($this->entityAttributes)) { + $metadata['EntityAttributes'] = $this->entityAttributes; + + // check for entity categories + if (SimpleSAML\Utils\Config\Metadata::isHiddenFromDiscovery($metadata)) { + $metadata['hide.from.discovery'] = true; + } + } + + if (!empty($roleDescriptor['UIInfo'])) { + $metadata['UIInfo'] = $roleDescriptor['UIInfo']; + } + + if (!empty($roleDescriptor['DiscoHints'])) { + $metadata['DiscoHints'] = $roleDescriptor['DiscoHints']; + } + } + + + /** + * This function returns the metadata for SAML 1.x SPs in the format SimpleSAMLphp expects. + * This is an associative array with the following fields: + * - 'entityid': The entity id of the entity described in the metadata. + * - 'AssertionConsumerService': String with the URL of the assertion consumer service which supports + * the browser-post binding. + * - 'certData': X509Certificate for entity (if present). + * + * Metadata must be loaded with one of the parse functions before this function can be called. + * + * @return array An associative array with metadata or NULL if we are unable to generate metadata for a SAML 1.x SP. + */ + public function getMetadata1xSP() + { + $ret = $this->getMetadataCommon(); + $ret['metadata-set'] = 'shib13-sp-remote'; + + + // find SP information which supports one of the SAML 1.x protocols + $spd = $this->getSPDescriptors(self::$SAML1xProtocols); + if (count($spd) === 0) { + return null; + } + + // we currently only look at the first SPDescriptor which supports SAML 1.x + $spd = $spd[0]; + + // add expire time to metadata + if (array_key_exists('expire', $spd)) { + $ret['expire'] = $spd['expire']; + } + + // find the assertion consumer service endpoints + $ret['AssertionConsumerService'] = $spd['AssertionConsumerService']; + + // add the list of attributes the SP should receive + if (array_key_exists('attributes', $spd)) { + $ret['attributes'] = $spd['attributes']; + } + if (array_key_exists('attributes.required', $spd)) { + $ret['attributes.required'] = $spd['attributes.required']; + } + if (array_key_exists('attributes.NameFormat', $spd)) { + $ret['attributes.NameFormat'] = $spd['attributes.NameFormat']; + } + + // add name & description + if (array_key_exists('name', $spd)) { + $ret['name'] = $spd['name']; + } + if (array_key_exists('description', $spd)) { + $ret['description'] = $spd['description']; + } + + // add public keys + if (!empty($spd['keys'])) { + $ret['keys'] = $spd['keys']; + } + + // add extensions + $this->addExtensions($ret, $spd); + + // prioritize mdui:DisplayName as the name if available + if (!empty($ret['UIInfo']['DisplayName'])) { + $ret['name'] = $ret['UIInfo']['DisplayName']; + } + + return $ret; + } + + + /** + * This function returns the metadata for SAML 1.x IdPs in the format SimpleSAMLphp expects. + * This is an associative array with the following fields: + * - 'entityid': The entity id of the entity described in the metadata. + * - 'name': Auto generated name for this entity. Currently set to the entity id. + * - 'SingleSignOnService': String with the URL of the SSO service which supports the redirect binding. + * - 'SingleLogoutService': String with the URL where we should send logout requests/responses. + * - 'certData': X509Certificate for entity (if present). + * - 'certFingerprint': Fingerprint of the X509Certificate from the metadata. (deprecated) + * + * Metadata must be loaded with one of the parse functions before this function can be called. + * + * @return array An associative array with metadata or NULL if we are unable to generate metadata for a SAML 1.x + * IdP. + */ + public function getMetadata1xIdP() + { + $ret = $this->getMetadataCommon(); + $ret['metadata-set'] = 'shib13-idp-remote'; + + // find IdP information which supports the SAML 1.x protocol + $idp = $this->getIdPDescriptors(self::$SAML1xProtocols); + if (count($idp) === 0) { + return null; + } + + // we currently only look at the first IDP descriptor which supports SAML 1.x + $idp = $idp[0]; + + // fdd expire time to metadata + if (array_key_exists('expire', $idp)) { + $ret['expire'] = $idp['expire']; + } + + // find the SSO service endpoints + $ret['SingleSignOnService'] = $idp['SingleSignOnService']; + + // find the ArtifactResolutionService endpoint + $ret['ArtifactResolutionService'] = $idp['ArtifactResolutionService']; + + // add public keys + if (!empty($idp['keys'])) { + $ret['keys'] = $idp['keys']; + } + + // add extensions + $this->addExtensions($ret, $idp); + + // prioritize mdui:DisplayName as the name if available + if (!empty($ret['UIInfo']['DisplayName'])) { + $ret['name'] = $ret['UIInfo']['DisplayName']; + } + + return $ret; + } + + + /** + * This function returns the metadata for SAML 2.0 SPs in the format SimpleSAMLphp expects. + * This is an associative array with the following fields: + * - 'entityid': The entity id of the entity described in the metadata. + * - 'AssertionConsumerService': String with the URL of the assertion consumer service which supports + * the browser-post binding. + * - 'SingleLogoutService': String with the URL where we should send logout requests/responses. + * - 'NameIDFormat': The name ID format this SP expects. This may be unset. + * - 'certData': X509Certificate for entity (if present). + * + * Metadata must be loaded with one of the parse functions before this function can be called. + * + * @return array An associative array with metadata or NULL if we are unable to generate metadata for a SAML 2.x SP. + */ + public function getMetadata20SP() + { + $ret = $this->getMetadataCommon(); + $ret['metadata-set'] = 'saml20-sp-remote'; + + // find SP information which supports the SAML 2.0 protocol + $spd = $this->getSPDescriptors(self::$SAML20Protocols); + if (count($spd) === 0) { + return null; + } + + // we currently only look at the first SPDescriptor which supports SAML 2.0 + $spd = $spd[0]; + + // add expire time to metadata + if (array_key_exists('expire', $spd)) { + $ret['expire'] = $spd['expire']; + } + + // find the assertion consumer service endpoints + $ret['AssertionConsumerService'] = $spd['AssertionConsumerService']; + + + // find the single logout service endpoint + $ret['SingleLogoutService'] = $spd['SingleLogoutService']; + + + // find the NameIDFormat. This may not exist + if (count($spd['nameIDFormats']) > 0) { + // SimpleSAMLphp currently only supports a single NameIDFormat pr. SP. We use the first one + $ret['NameIDFormat'] = $spd['nameIDFormats'][0]; + } + + // add the list of attributes the SP should receive + if (array_key_exists('attributes', $spd)) { + $ret['attributes'] = $spd['attributes']; + } + if (array_key_exists('attributes.required', $spd)) { + $ret['attributes.required'] = $spd['attributes.required']; + } + if (array_key_exists('attributes.NameFormat', $spd)) { + $ret['attributes.NameFormat'] = $spd['attributes.NameFormat']; + } + if (array_key_exists('attributes.index', $spd)) { + $ret['attributes.index'] = $spd['attributes.index']; + } + if (array_key_exists('attributes.isDefault', $spd)) { + $ret['attributes.isDefault'] = $spd['attributes.isDefault']; + } + + // add name & description + if (array_key_exists('name', $spd)) { + $ret['name'] = $spd['name']; + } + if (array_key_exists('description', $spd)) { + $ret['description'] = $spd['description']; + } + + // add public keys + if (!empty($spd['keys'])) { + $ret['keys'] = $spd['keys']; + } + + // add validate.authnrequest + if (array_key_exists('AuthnRequestsSigned', $spd)) { + $ret['validate.authnrequest'] = $spd['AuthnRequestsSigned']; + } + + // add saml20.sign.assertion + if (array_key_exists('WantAssertionsSigned', $spd)) { + $ret['saml20.sign.assertion'] = $spd['WantAssertionsSigned']; + } + + // add extensions + $this->addExtensions($ret, $spd); + + // prioritize mdui:DisplayName as the name if available + if (!empty($ret['UIInfo']['DisplayName'])) { + $ret['name'] = $ret['UIInfo']['DisplayName']; + } + + return $ret; + } + + + /** + * This function returns the metadata for SAML 2.0 IdPs in the format SimpleSAMLphp expects. + * This is an associative array with the following fields: + * - 'entityid': The entity id of the entity described in the metadata. + * - 'name': Auto generated name for this entity. Currently set to the entity id. + * - 'SingleSignOnService': String with the URL of the SSO service which supports the redirect binding. + * - 'SingleLogoutService': String with the URL where we should send logout requests(/responses). + * - 'SingleLogoutServiceResponse': String where we should send logout responses (if this is different from + * the 'SingleLogoutService' endpoint. + * - 'NameIDFormats': The name ID formats this IdP supports. + * - 'certData': X509Certificate for entity (if present). + * - 'certFingerprint': Fingerprint of the X509Certificate from the metadata. (deprecated) + * + * Metadata must be loaded with one of the parse functions before this function can be called. + * + * @return array An associative array with metadata or NULL if we are unable to generate metadata for a SAML 2.0 + * IdP. + */ + public function getMetadata20IdP() + { + $ret = $this->getMetadataCommon(); + $ret['metadata-set'] = 'saml20-idp-remote'; + + // find IdP information which supports the SAML 2.0 protocol + $idp = $this->getIdPDescriptors(self::$SAML20Protocols); + if (count($idp) === 0) { + return null; + } + + // we currently only look at the first IDP descriptor which supports SAML 2.0 + $idp = $idp[0]; + + // add expire time to metadata + if (array_key_exists('expire', $idp)) { + $ret['expire'] = $idp['expire']; + } + + // enable redirect.sign if WantAuthnRequestsSigned is enabled + if ($idp['WantAuthnRequestsSigned']) { + $ret['sign.authnrequest'] = true; + } + + // find the SSO service endpoint + $ret['SingleSignOnService'] = $idp['SingleSignOnService']; + + // find the single logout service endpoint + $ret['SingleLogoutService'] = $idp['SingleLogoutService']; + + // find the ArtifactResolutionService endpoint + $ret['ArtifactResolutionService'] = $idp['ArtifactResolutionService']; + + // add supported nameIDFormats + $ret['NameIDFormats'] = $idp['nameIDFormats']; + + // add public keys + if (!empty($idp['keys'])) { + $ret['keys'] = $idp['keys']; + } + + // add extensions + $this->addExtensions($ret, $idp); + + // prioritize mdui:DisplayName as the name if available + if (!empty($ret['UIInfo']['DisplayName'])) { + $ret['name'] = $ret['UIInfo']['DisplayName']; + } + + return $ret; + } + + + /** + * Retrieve AttributeAuthorities from the metadata. + * + * @return array Array of AttributeAuthorityDescriptor entries. + */ + public function getAttributeAuthorities() + { + return $this->attributeAuthorityDescriptors; + } + + + /** + * Parse a RoleDescriptorType element. + * + * The returned associative array has the following elements: + * - 'protocols': Array with the protocols supported. + * - 'expire': Timestamp for when this descriptor expires. + * - 'keys': Array of associative arrays with the elements from parseKeyDescriptor. + * + * @param \SAML2\XML\md\RoleDescriptor $element The element we should extract metadata from. + * @param int|NULL $expireTime The unix timestamp for when this element should expire, or + * NULL if unknown. + * + * @return array An associative array with metadata we have extracted from this element. + */ + private static function parseRoleDescriptorType(\SAML2\XML\md\RoleDescriptor $element, $expireTime) + { + assert($expireTime === null || is_int($expireTime)); + + $ret = array(); + + $expireTime = self::getExpireTime($element, $expireTime); + + if ($expireTime !== null) { + // we got an expired timestamp, either from this element or one of the parent elements + $ret['expire'] = $expireTime; + } + + $ret['protocols'] = $element->protocolSupportEnumeration; + + // process KeyDescriptor elements + $ret['keys'] = array(); + foreach ($element->KeyDescriptor as $kd) { + $key = self::parseKeyDescriptor($kd); + if ($key !== null) { + $ret['keys'][] = $key; + } + } + + $ext = self::processExtensions($element); + $ret['scope'] = $ext['scope']; + $ret['tags'] = $ext['tags']; + $ret['EntityAttributes'] = $ext['EntityAttributes']; + $ret['UIInfo'] = $ext['UIInfo']; + $ret['DiscoHints'] = $ext['DiscoHints']; + + return $ret; + } + + + /** + * This function extracts metadata from a SSODescriptor element. + * + * The returned associative array has the following elements: + * - 'protocols': Array with the protocols this SSODescriptor supports. + * - 'SingleLogoutService': Array with the single logout service endpoints. Each endpoint is stored + * as an associative array with the elements that parseGenericEndpoint returns. + * - 'nameIDFormats': The NameIDFormats supported by this SSODescriptor. This may be an empty array. + * - 'keys': Array of associative arrays with the elements from parseKeyDescriptor: + * + * @param \SAML2\XML\md\SSODescriptorType $element The element we should extract metadata from. + * @param int|NULL $expireTime The unix timestamp for when this element should expire, or + * NULL if unknown. + * + * @return array An associative array with metadata we have extracted from this element. + */ + private static function parseSSODescriptor(\SAML2\XML\md\SSODescriptorType $element, $expireTime) + { + assert($expireTime === null || is_int($expireTime)); + + $sd = self::parseRoleDescriptorType($element, $expireTime); + + // find all SingleLogoutService elements + $sd['SingleLogoutService'] = self::extractEndpoints($element->SingleLogoutService); + + // find all ArtifactResolutionService elements + $sd['ArtifactResolutionService'] = self::extractEndpoints($element->ArtifactResolutionService); + + + // process NameIDFormat elements + $sd['nameIDFormats'] = $element->NameIDFormat; + + return $sd; + } + + + /** + * This function extracts metadata from a SPSSODescriptor element. + * + * @param \SAML2\XML\md\SPSSODescriptor $element The element which should be parsed. + * @param int|NULL $expireTime The unix timestamp for when this element should expire, or + * NULL if unknown. + */ + private function processSPSSODescriptor(\SAML2\XML\md\SPSSODescriptor $element, $expireTime) + { + assert($expireTime === null || is_int($expireTime)); + + $sp = self::parseSSODescriptor($element, $expireTime); + + // find all AssertionConsumerService elements + $sp['AssertionConsumerService'] = self::extractEndpoints($element->AssertionConsumerService); + + // find all the attributes and SP name... + $attcs = $element->AttributeConsumingService; + if (count($attcs) > 0) { + self::parseAttributeConsumerService($attcs[0], $sp); + } + + // check AuthnRequestsSigned + if ($element->AuthnRequestsSigned !== null) { + $sp['AuthnRequestsSigned'] = $element->AuthnRequestsSigned; + } + + // check WantAssertionsSigned + if ($element->WantAssertionsSigned !== null) { + $sp['WantAssertionsSigned'] = $element->WantAssertionsSigned; + } + + $this->spDescriptors[] = $sp; + } + + + /** + * This function extracts metadata from a IDPSSODescriptor element. + * + * @param \SAML2\XML\md\IDPSSODescriptor $element The element which should be parsed. + * @param int|NULL $expireTime The unix timestamp for when this element should expire, or + * NULL if unknown. + */ + private function processIDPSSODescriptor(\SAML2\XML\md\IDPSSODescriptor $element, $expireTime) + { + assert($expireTime === null || is_int($expireTime)); + + $idp = self::parseSSODescriptor($element, $expireTime); + + // find all SingleSignOnService elements + $idp['SingleSignOnService'] = self::extractEndpoints($element->SingleSignOnService); + + if ($element->WantAuthnRequestsSigned) { + $idp['WantAuthnRequestsSigned'] = true; + } else { + $idp['WantAuthnRequestsSigned'] = false; + } + + $this->idpDescriptors[] = $idp; + } + + + /** + * This function extracts metadata from a AttributeAuthorityDescriptor element. + * + * @param \SAML2\XML\md\AttributeAuthorityDescriptor $element The element which should be parsed. + * @param int|NULL $expireTime The unix timestamp for when this element should + * expire, or NULL if unknown. + */ + private function processAttributeAuthorityDescriptor( + \SAML2\XML\md\AttributeAuthorityDescriptor $element, + $expireTime + ) { + assert($expireTime === null || is_int($expireTime)); + + $aad = self::parseRoleDescriptorType($element, $expireTime); + $aad['entityid'] = $this->entityId; + $aad['metadata-set'] = 'attributeauthority-remote'; + + $aad['AttributeService'] = self::extractEndpoints($element->AttributeService); + $aad['AssertionIDRequestService'] = self::extractEndpoints($element->AssertionIDRequestService); + $aad['NameIDFormat'] = $element->NameIDFormat; + + $this->attributeAuthorityDescriptors[] = $aad; + } + + + /** + * Parse an Extensions element. Extensions may appear in multiple elements and certain extension may get inherited + * from a parent element. + * + * @param mixed $element The element which contains the Extensions element. + * @param array $parentExtensions An optional array of extensions from the parent element. + * + * @return array An associative array with the extensions parsed. + */ + private static function processExtensions($element, $parentExtensions = array()) + { + $ret = array( + 'scope' => array(), + 'tags' => array(), + 'EntityAttributes' => array(), + 'RegistrationInfo' => array(), + 'UIInfo' => array(), + 'DiscoHints' => array(), + ); + + // Some extensions may get inherited from a parent element + if (($element instanceof \SAML2\XML\md\EntityDescriptor || $element instanceof \SAML2\XML\md\EntitiesDescriptor) + && !empty($parentExtensions['RegistrationInfo'])) { + $ret['RegistrationInfo'] = $parentExtensions['RegistrationInfo']; + } + + foreach ($element->Extensions as $e) { + if ($e instanceof \SAML2\XML\shibmd\Scope) { + $ret['scope'][] = $e->scope; + continue; + } + + // Entity Attributes are only allowed at entity level extensions and not at RoleDescriptor level + if ($element instanceof \SAML2\XML\md\EntityDescriptor || + $element instanceof \SAML2\XML\md\EntitiesDescriptor) { + if ($e instanceof \SAML2\XML\mdrpi\RegistrationInfo) { + // Registration Authority cannot be overridden (warn only if override attempts to change the value) + if (isset($ret['RegistrationInfo']['registrationAuthority']) + && $ret['RegistrationInfo']['registrationAuthority'] !== $e->registrationAuthority) { + SimpleSAML\Logger::warning('Invalid attempt to override registrationAuthority \'' + . $ret['RegistrationInfo']['registrationAuthority'] . "' with '{$e->registrationAuthority}'"); + } else { + $ret['RegistrationInfo']['registrationAuthority'] = $e->registrationAuthority; + } + } + if ($e instanceof \SAML2\XML\mdattr\EntityAttributes && !empty($e->children)) { + foreach ($e->children as $attr) { + // only saml:Attribute are currently supported here. The specifications also allows + // saml:Assertions, which more complex processing + if ($attr instanceof \SAML2\XML\saml\Attribute) { + if (empty($attr->Name) || empty($attr->AttributeValue)) { + continue; + } + + // attribute names that is not URI is prefixed as this: '{nameformat}name' + $name = $attr->Name; + if (empty($attr->NameFormat)) { + $name = '{'.\SAML2\Constants::NAMEFORMAT_UNSPECIFIED.'}'.$attr->Name; + } elseif ($attr->NameFormat !== 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri') { + $name = '{'.$attr->NameFormat.'}'.$attr->Name; + } + + $values = array(); + foreach ($attr->AttributeValue as $attrvalue) { + $values[] = $attrvalue->getString(); + } + + $ret['EntityAttributes'][$name] = $values; + } + } + } + } + + // UIInfo elements are only allowed at RoleDescriptor level extensions + if ($element instanceof \SAML2\XML\md\RoleDescriptor) { + if ($e instanceof \SAML2\XML\mdui\UIInfo) { + $ret['UIInfo']['DisplayName'] = $e->DisplayName; + $ret['UIInfo']['Description'] = $e->Description; + $ret['UIInfo']['InformationURL'] = $e->InformationURL; + $ret['UIInfo']['PrivacyStatementURL'] = $e->PrivacyStatementURL; + + foreach ($e->Keywords as $uiItem) { + if (!($uiItem instanceof \SAML2\XML\mdui\Keywords) + || empty($uiItem->Keywords) + || empty($uiItem->lang) + ) { + continue; + } + $ret['UIInfo']['Keywords'][$uiItem->lang] = $uiItem->Keywords; + } + foreach ($e->Logo as $uiItem) { + if (!($uiItem instanceof \SAML2\XML\mdui\Logo) + || empty($uiItem->url) + || empty($uiItem->height) + || empty($uiItem->width) + ) { + continue; + } + $logo = array( + 'url' => $uiItem->url, + 'height' => $uiItem->height, + 'width' => $uiItem->width, + ); + if (!empty($uiItem->lang)) { + $logo['lang'] = $uiItem->lang; + } + $ret['UIInfo']['Logo'][] = $logo; + } + } + } + + // DiscoHints elements are only allowed at IDPSSODescriptor level extensions + if ($element instanceof \SAML2\XML\md\IDPSSODescriptor) { + if ($e instanceof \SAML2\XML\mdui\DiscoHints) { + $ret['DiscoHints']['IPHint'] = $e->IPHint; + $ret['DiscoHints']['DomainHint'] = $e->DomainHint; + $ret['DiscoHints']['GeolocationHint'] = $e->GeolocationHint; + } + } + + if (!($e instanceof \SAML2\XML\Chunk)) { + continue; + } + + if ($e->localName === 'Attribute' && $e->namespaceURI === \SAML2\Constants::NS_SAML) { + $attribute = $e->xml; + + $name = $attribute->getAttribute('Name'); + $values = array_map( + array('SimpleSAML\Utils\XML', 'getDOMText'), + SimpleSAML\Utils\XML::getDOMChildren($attribute, 'AttributeValue', '@saml2') + ); + + if ($name === 'tags') { + foreach ($values as $tagname) { + if (!empty($tagname)) { + $ret['tags'][] = $tagname; + } + } + } + } + } + return $ret; + } + + + /** + * Parse and process a Organization element. + * + * @param \SAML2\XML\md\Organization $element The Organization element. + */ + private function processOrganization(\SAML2\XML\md\Organization $element) + { + $this->organizationName = $element->OrganizationName; + $this->organizationDisplayName = $element->OrganizationDisplayName; + $this->organizationURL = $element->OrganizationURL; + } + + + /** + * Parse and process a ContactPerson element. + * + * @param \SAML2\XML\md\ContactPerson $element The ContactPerson element. + */ + + private function processContactPerson(\SAML2\XML\md\ContactPerson $element) + { + $contactPerson = array(); + if (!empty($element->contactType)) { + $contactPerson['contactType'] = $element->contactType; + } + if (!empty($element->Company)) { + $contactPerson['company'] = $element->Company; + } + if (!empty($element->GivenName)) { + $contactPerson['givenName'] = $element->GivenName; + } + if (!empty($element->SurName)) { + $contactPerson['surName'] = $element->SurName; + } + if (!empty($element->EmailAddress)) { + $contactPerson['emailAddress'] = $element->EmailAddress; + } + if (!empty($element->TelephoneNumber)) { + $contactPerson['telephoneNumber'] = $element->TelephoneNumber; + } + if (!empty($contactPerson)) { + $this->contacts[] = $contactPerson; + } + } + + + /** + * This function parses AttributeConsumerService elements. + * + * @param \SAML2\XML\md\AttributeConsumingService $element The AttributeConsumingService to parse. + * @param array $sp The array with the SP's metadata. + */ + private static function parseAttributeConsumerService(\SAML2\XML\md\AttributeConsumingService $element, &$sp) + { + assert(is_array($sp)); + + $sp['name'] = $element->ServiceName; + $sp['description'] = $element->ServiceDescription; + + $format = null; + $sp['attributes'] = array(); + $sp['attributes.required'] = array(); + foreach ($element->RequestedAttribute as $child) { + $attrname = $child->Name; + $sp['attributes'][] = $attrname; + + if ($child->isRequired !== null && $child->isRequired === true) { + $sp['attributes.required'][] = $attrname; + } + + if ($child->NameFormat !== null) { + $attrformat = $child->NameFormat; + } else { + $attrformat = \SAML2\Constants::NAMEFORMAT_UNSPECIFIED; + } + + if ($format === null) { + $format = $attrformat; + } elseif ($format !== $attrformat) { + $format = \SAML2\Constants::NAMEFORMAT_UNSPECIFIED; + } + } + + if (empty($sp['attributes'])) { + // a really invalid configuration: all AttributeConsumingServices should have one or more attributes + unset($sp['attributes']); + } + if (empty($sp['attributes.required'])) { + unset($sp['attributes.required']); + } + + if ($format !== \SAML2\Constants::NAMEFORMAT_UNSPECIFIED && $format !== null) { + $sp['attributes.NameFormat'] = $format; + } + } + + + /** + * This function is a generic endpoint element parser. + * + * The returned associative array has the following elements: + * - 'Binding': The binding this endpoint uses. + * - 'Location': The URL to this endpoint. + * - 'ResponseLocation': The URL where responses should be sent. This may not exist. + * - 'index': The index of this endpoint. This attribute is only for indexed endpoints. + * - 'isDefault': Whether this endpoint is the default endpoint for this type. This attribute may not exist. + * + * @param \SAML2\XML\md\EndpointType $element The element which should be parsed. + * + * @return array An associative array with the data we have extracted from the element. + */ + private static function parseGenericEndpoint(\SAML2\XML\md\EndpointType $element) + { + $ep = array(); + + $ep['Binding'] = $element->Binding; + $ep['Location'] = $element->Location; + + if ($element->ResponseLocation !== null) { + $ep['ResponseLocation'] = $element->ResponseLocation; + } + + if ($element instanceof \SAML2\XML\md\IndexedEndpointType) { + $ep['index'] = $element->index; + + if ($element->isDefault !== null) { + $ep['isDefault'] = $element->isDefault; + } + } + + return $ep; + } + + + /** + * Extract generic endpoints. + * + * @param array $endpoints The endpoints we should parse. + * + * @return array Array of parsed endpoints. + */ + private static function extractEndpoints(array $endpoints) + { + $ret = array(); + foreach ($endpoints as $ep) { + $ret[] = self::parseGenericEndpoint($ep); + } + + return $ret; + } + + + /** + * This function parses a KeyDescriptor element. It currently only supports keys with a single + * X509 certificate. + * + * The associative array for a key can contain: + * - 'encryption': Indicates whether this key can be used for encryption. + * - 'signing': Indicates whether this key can be used for signing. + * - 'type: The type of the key. 'X509Certificate' is the only key type we support. + * - 'X509Certificate': The contents of the first X509Certificate element (if the type is 'X509Certificate '). + * + * @param \SAML2\XML\md\KeyDescriptor $kd The KeyDescriptor element. + * + * @return array|null An associative array describing the key, or null if this is an unsupported key. + */ + private static function parseKeyDescriptor(\SAML2\XML\md\KeyDescriptor $kd) + { + $r = array(); + + if ($kd->use === 'encryption') { + $r['encryption'] = true; + $r['signing'] = false; + } elseif ($kd->use === 'signing') { + $r['encryption'] = false; + $r['signing'] = true; + } else { + $r['encryption'] = true; + $r['signing'] = true; + } + + $keyInfo = $kd->KeyInfo; + + foreach ($keyInfo->info as $i) { + if ($i instanceof \SAML2\XML\ds\X509Data) { + foreach ($i->data as $d) { + if ($d instanceof \SAML2\XML\ds\X509Certificate) { + $r['type'] = 'X509Certificate'; + $r['X509Certificate'] = $d->certificate; + return $r; + } + } + } + } + + return null; + } + + + /** + * This function finds SP descriptors which supports one of the given protocols. + * + * @param $protocols Array with the protocols we accept. + * + * @return Array with SP descriptors which supports one of the given protocols. + */ + private function getSPDescriptors($protocols) + { + assert(is_array($protocols)); + + $ret = array(); + + foreach ($this->spDescriptors as $spd) { + $sharedProtocols = array_intersect($protocols, $spd['protocols']); + if (count($sharedProtocols) > 0) { + $ret[] = $spd; + } + } + + return $ret; + } + + + /** + * This function finds IdP descriptors which supports one of the given protocols. + * + * @param $protocols Array with the protocols we accept. + * + * @return Array with IdP descriptors which supports one of the given protocols. + */ + private function getIdPDescriptors($protocols) + { + assert(is_array($protocols)); + + $ret = array(); + + foreach ($this->idpDescriptors as $idpd) { + $sharedProtocols = array_intersect($protocols, $idpd['protocols']); + if (count($sharedProtocols) > 0) { + $ret[] = $idpd; + } + } + + return $ret; + } + + + /** + * This function locates the EntityDescriptor node in a DOMDocument. This node should + * be the first (and only) node in the document. + * + * This function will throw an exception if it is unable to locate the node. + * + * @param DOMDocument $doc The DOMDocument where we should find the EntityDescriptor node. + * + * @return \SAML2\XML\md\EntityDescriptor The DOMEntity which represents the EntityDescriptor. + * @throws Exception If the document is empty or the first element is not an EntityDescriptor element. + */ + private static function findEntityDescriptor($doc) + { + assert($doc instanceof DOMDocument); + + // find the EntityDescriptor DOMElement. This should be the first (and only) child of the DOMDocument + $ed = $doc->documentElement; + + if ($ed === null) { + throw new Exception('Failed to load SAML metadata from empty XML document.'); + } + + if (SimpleSAML\Utils\XML::isDOMNodeOfType($ed, 'EntityDescriptor', '@md') === false) { + throw new Exception('Expected first element in the metadata document to be an EntityDescriptor element.'); + } + + return new \SAML2\XML\md\EntityDescriptor($ed); + } + + + /** + * If this EntityDescriptor was signed this function use the public key to check the signature. + * + * @param array $certificates One ore more certificates with the public key. This makes it possible + * to do a key rollover. + * + * @return boolean True if it is possible to check the signature with the certificate, false otherwise. + * @throws Exception If the certificate file cannot be found. + */ + public function validateSignature($certificates) + { + foreach ($certificates as $cert) { + assert(is_string($cert)); + $certFile = \SimpleSAML\Utils\Config::getCertPath($cert); + if (!file_exists($certFile)) { + throw new Exception( + 'Could not find certificate file ['.$certFile.'], which is needed to validate signature' + ); + } + $certData = file_get_contents($certFile); + + foreach ($this->validators as $validator) { + $key = new XMLSecurityKey(XMLSecurityKey::RSA_SHA256, array('type' => 'public')); + $key->loadKey($certData); + try { + if ($validator->validate($key)) { + return true; + } + } catch (Exception $e) { + // this certificate did not sign this element, skip + } + } + } + SimpleSAML\Logger::debug('Could not validate signature'); + return false; + } + + + /** + * This function checks if this EntityDescriptor was signed with a certificate with the + * given fingerprint. + * + * @param string $fingerprint Fingerprint of the certificate which should have been used to sign this + * EntityDescriptor. + * + * @return boolean True if it was signed with the certificate with the given fingerprint, false otherwise. + */ + public function validateFingerprint($fingerprint) + { + assert(is_string($fingerprint)); + + $fingerprint = strtolower(str_replace(":", "", $fingerprint)); + + $candidates = array(); + foreach ($this->validators as $validator) { + foreach ($validator->getValidatingCertificates() as $cert) { + $fp = strtolower(sha1(base64_decode($cert))); + $candidates[] = $fp; + if ($fp === $fingerprint) { + return true; + } + } + } + SimpleSAML\Logger::debug('Fingerprint was ['.$fingerprint.'] not one of ['.join(', ', $candidates).']'); + return false; + } +} diff --git a/lib/SimpleSAML/Metadata/Signer.php b/lib/SimpleSAML/Metadata/Signer.php new file mode 100755 index 0000000..98bfbbe --- /dev/null +++ b/lib/SimpleSAML/Metadata/Signer.php @@ -0,0 +1,283 @@ + $entityMetadata['metadata.sign.privatekey'], + 'certificate' => $entityMetadata['metadata.sign.certificate'] + ); + + if (array_key_exists('metadata.sign.privatekey_pass', $entityMetadata)) { + $ret['privatekey_pass'] = $entityMetadata['metadata.sign.privatekey_pass']; + } + + return $ret; + } + + // then we look for default values in the global configuration + $privatekey = $config->getString('metadata.sign.privatekey', null); + $certificate = $config->getString('metadata.sign.certificate', null); + if ($privatekey !== null || $certificate !== null) { + if ($privatekey === null || $certificate === null) { + throw new Exception( + 'Missing either the "metadata.sign.privatekey" or the'. + ' "metadata.sign.certificate" configuration option in the global'. + ' configuration. If one of these options is specified, then the other'. + ' must also be specified.' + ); + } + $ret = array('privatekey' => $privatekey, 'certificate' => $certificate); + + $privatekey_pass = $config->getString('metadata.sign.privatekey_pass', null); + if ($privatekey_pass !== null) { + $ret['privatekey_pass'] = $privatekey_pass; + } + + return $ret; + } + + // as a last resort we attempt to use the privatekey and certificate option from the metadata + if (array_key_exists('privatekey', $entityMetadata) + || array_key_exists('certificate', $entityMetadata) + ) { + if (!array_key_exists('privatekey', $entityMetadata) + || !array_key_exists('certificate', $entityMetadata) + ) { + throw new Exception( + 'Both the "privatekey" and the "certificate" option must'. + ' be set in the metadata for the '.$type.' "'. + $entityMetadata['entityid'].'" before it is possible to sign metadata'. + ' from this entity.' + ); + } + + $ret = array( + 'privatekey' => $entityMetadata['privatekey'], + 'certificate' => $entityMetadata['certificate'] + ); + + if (array_key_exists('privatekey_pass', $entityMetadata)) { + $ret['privatekey_pass'] = $entityMetadata['privatekey_pass']; + } + + return $ret; + } + + throw new Exception( + 'Could not find what key & certificate should be used to sign the metadata'. + ' for the '.$type.' "'.$entityMetadata['entityid'].'".' + ); + } + + + /** + * Determine whether metadata signing is enabled for the given metadata. + * + * @param SimpleSAML_Configuration $config Our SimpleSAML_Configuration instance. + * @param array $entityMetadata The metadata of the entity. + * @param string $type A string which describes the type entity this is, e.g. 'SAML 2 IdP' or + * 'Shib 1.3 SP'. + * + * @return boolean True if metadata signing is enabled, false otherwise. + * @throws Exception If the value of the 'metadata.sign.enable' option is not a boolean. + */ + private static function isMetadataSigningEnabled($config, $entityMetadata, $type) + { + // first check the metadata for the entity + if (array_key_exists('metadata.sign.enable', $entityMetadata)) { + if (!is_bool($entityMetadata['metadata.sign.enable'])) { + throw new Exception( + 'Invalid value for the "metadata.sign.enable" configuration option for'. + ' the '.$type.' "'.$entityMetadata['entityid'].'". This option'. + ' should be a boolean.' + ); + } + + return $entityMetadata['metadata.sign.enable']; + } + + $enabled = $config->getBoolean('metadata.sign.enable', false); + + return $enabled; + } + + + /** + * Determine the signature and digest algorithms to use when signing metadata. + * + * This method will look for the 'metadata.sign.algorithm' key in the $entityMetadata array, or look for such + * a configuration option in the $config object. + * + * @param SimpleSAML_Configuration $config The global configuration. + * @param array $entityMetadata An array containing the metadata related to this entity. + * @param string $type A string describing the type of entity. E.g. 'SAML 2 IdP' or 'Shib 1.3 SP'. + * + * @return array An array with two keys, 'algorithm' and 'digest', corresponding to the signature and digest + * algorithms to use, respectively. + * + * @throws \SimpleSAML\Error\CriticalConfigurationError + */ + private static function getMetadataSigningAlgorithm($config, $entityMetadata, $type) + { + // configure the algorithm to use + if (array_key_exists('metadata.sign.algorithm', $entityMetadata)) { + if (!is_string($entityMetadata['metadata.sign.algorithm'])) { + throw new \SimpleSAML\Error\CriticalConfigurationError( + "Invalid value for the 'metadata.sign.algorithm' configuration option for the ".$type. + "'".$entityMetadata['entityid']."'. This option has restricted values" + ); + } + $alg = $entityMetadata['metadata.sign.algorithm']; + } else { + $alg = $config->getString('metadata.sign.algorithm', XMLSecurityKey::RSA_SHA256); + } + + $supported_algs = array( + XMLSecurityKey::RSA_SHA1, + XMLSecurityKey::RSA_SHA256, + XMLSecurityKey::RSA_SHA384, + XMLSecurityKey::RSA_SHA512, + ); + + if (!in_array($alg, $supported_algs, true)) { + throw new \SimpleSAML\Error\CriticalConfigurationError("Unknown signature algorithm '$alg'"); + } + + switch ($alg) { + case XMLSecurityKey::RSA_SHA256: + $digest = XMLSecurityDSig::SHA256; + break; + case XMLSecurityKey::RSA_SHA384: + $digest = XMLSecurityDSig::SHA384; + break; + case XMLSecurityKey::RSA_SHA512: + $digest = XMLSecurityDSig::SHA512; + break; + default: + $digest = XMLSecurityDSig::SHA1; + } + + return array( + 'algorithm' => $alg, + 'digest' => $digest, + ); + } + + + /** + * Signs the given metadata if metadata signing is enabled. + * + * @param string $metadataString A string with the metadata. + * @param array $entityMetadata The metadata of the entity. + * @param string $type A string which describes the type entity this is, e.g. 'SAML 2 IdP' or 'Shib 1.3 SP'. + * + * @return string The $metadataString with the signature embedded. + * @throws Exception If the certificate or private key cannot be loaded, or the metadata doesn't parse properly. + */ + public static function sign($metadataString, $entityMetadata, $type) + { + $config = SimpleSAML_Configuration::getInstance(); + + // check if metadata signing is enabled + if (!self::isMetadataSigningEnabled($config, $entityMetadata, $type)) { + return $metadataString; + } + + // find the key & certificate which should be used to sign the metadata + $keyCertFiles = self::findKeyCert($config, $entityMetadata, $type); + + $keyFile = \SimpleSAML\Utils\Config::getCertPath($keyCertFiles['privatekey']); + if (!file_exists($keyFile)) { + throw new Exception('Could not find private key file ['.$keyFile.'], which is needed to sign the metadata'); + } + $keyData = file_get_contents($keyFile); + + $certFile = \SimpleSAML\Utils\Config::getCertPath($keyCertFiles['certificate']); + if (!file_exists($certFile)) { + throw new Exception( + 'Could not find certificate file ['.$certFile.'], which is needed to sign the metadata' + ); + } + $certData = file_get_contents($certFile); + + + // convert the metadata to a DOM tree + try { + $xml = \SAML2\DOMDocumentFactory::fromString($metadataString); + } catch (Exception $e) { + throw new Exception('Error parsing self-generated metadata.'); + } + + $signature_cf = self::getMetadataSigningAlgorithm($config, $entityMetadata, $type); + + // load the private key + $objKey = new XMLSecurityKey($signature_cf['algorithm'], array('type' => 'private')); + if (array_key_exists('privatekey_pass', $keyCertFiles)) { + $objKey->passphrase = $keyCertFiles['privatekey_pass']; + } + $objKey->loadKey($keyData, false); + + // get the EntityDescriptor node we should sign + $rootNode = $xml->firstChild; + + // sign the metadata with our private key + $objXMLSecDSig = new XMLSecurityDSig(); + + $objXMLSecDSig->setCanonicalMethod(XMLSecurityDSig::EXC_C14N); + + $objXMLSecDSig->addReferenceList( + array($rootNode), + $signature_cf['digest'], + array('http://www.w3.org/2000/09/xmldsig#enveloped-signature', XMLSecurityDSig::EXC_C14N), + array('id_name' => 'ID') + ); + + $objXMLSecDSig->sign($objKey); + + // add the certificate to the signature + $objXMLSecDSig->add509Cert($certData, true); + + // add the signature to the metadata + $objXMLSecDSig->insertSignature($rootNode, $rootNode->firstChild); + + // return the DOM tree as a string + return $xml->saveXML(); + } +} diff --git a/lib/SimpleSAML/Metadata/Sources/MDQ.php b/lib/SimpleSAML/Metadata/Sources/MDQ.php new file mode 100755 index 0000000..975f792 --- /dev/null +++ b/lib/SimpleSAML/Metadata/Sources/MDQ.php @@ -0,0 +1,337 @@ +server = $config['server']; + } + + if (array_key_exists('validateFingerprint', $config)) { + $this->validateFingerprint = $config['validateFingerprint']; + } else { + $this->validateFingerprint = null; + } + + if (array_key_exists('cachedir', $config)) { + $globalConfig = \SimpleSAML_Configuration::getInstance(); + $this->cacheDir = $globalConfig->resolvePath($config['cachedir']); + } else { + $this->cacheDir = null; + } + + if (array_key_exists('cachelength', $config)) { + $this->cacheLength = $config['cachelength']; + } else { + $this->cacheLength = 86400; + } + } + + + /** + * This function is not implemented. + * + * @param string $set The set we want to list metadata for. + * + * @return array An empty array. + */ + public function getMetadataSet($set) + { + // we don't have this metadata set + return array(); + } + + + /** + * Find the cache file name for an entity, + * + * @param string $set The metadata set this entity belongs to. + * @param string $entityId The entity id of this entity. + * + * @return string The full path to the cache file. + */ + private function getCacheFilename($set, $entityId) + { + assert(is_string($set)); + assert(is_string($entityId)); + + $cachekey = sha1($entityId); + return $this->cacheDir.'/'.$set.'-'.$cachekey.'.cached.xml'; + } + + + /** + * Load a entity from the cache. + * + * @param string $set The metadata set this entity belongs to. + * @param string $entityId The entity id of this entity. + * + * @return array|NULL The associative array with the metadata for this entity, or NULL + * if the entity could not be found. + * @throws \Exception If an error occurs while loading metadata from cache. + */ + private function getFromCache($set, $entityId) + { + assert(is_string($set)); + assert(is_string($entityId)); + + if (empty($this->cacheDir)) { + return null; + } + + $cachefilename = $this->getCacheFilename($set, $entityId); + if (!file_exists($cachefilename)) { + return null; + } + if (!is_readable($cachefilename)) { + throw new \Exception(__CLASS__.': could not read cache file for entity ['.$cachefilename.']'); + } + Logger::debug(__CLASS__.': reading cache ['.$entityId.'] => ['.$cachefilename.']'); + + /* Ensure that this metadata isn't older that the cachelength option allows. This + * must be verified based on the file, since this option may be changed after the + * file is written. + */ + $stat = stat($cachefilename); + if ($stat['mtime'] + $this->cacheLength <= time()) { + Logger::debug(__CLASS__.': cache file older that the cachelength option allows.'); + return null; + } + + $rawData = file_get_contents($cachefilename); + if (empty($rawData)) { + $error = error_get_last(); + throw new \Exception( + __CLASS__.': error reading metadata from cache file "'.$cachefilename.'": '.$error['message'] + ); + } + + $data = unserialize($rawData); + if ($data === false) { + throw new \Exception(__CLASS__.': error unserializing cached data from file "'.$cachefilename.'".'); + } + + if (!is_array($data)) { + throw new \Exception(__CLASS__.': Cached metadata from "'.$cachefilename.'" wasn\'t an array.'); + } + + return $data; + } + + + /** + * Save a entity to the cache. + * + * @param string $set The metadata set this entity belongs to. + * @param string $entityId The entity id of this entity. + * @param array $data The associative array with the metadata for this entity. + * + * @throws \Exception If metadata cannot be written to cache. + */ + private function writeToCache($set, $entityId, $data) + { + assert(is_string($set)); + assert(is_string($entityId)); + assert(is_array($data)); + + if (empty($this->cacheDir)) { + return; + } + + $cachefilename = $this->getCacheFilename($set, $entityId); + if (!is_writable(dirname($cachefilename))) { + throw new \Exception(__CLASS__.': could not write cache file for entity ['.$cachefilename.']'); + } + Logger::debug(__CLASS__.': Writing cache ['.$entityId.'] => ['.$cachefilename.']'); + file_put_contents($cachefilename, serialize($data)); + } + + + /** + * Retrieve metadata for the correct set from a SAML2Parser. + * + * @param \SimpleSAML_Metadata_SAMLParser $entity A SAML2Parser representing an entity. + * @param string $set The metadata set we are looking for. + * + * @return array|NULL The associative array with the metadata, or NULL if no metadata for + * the given set was found. + */ + private static function getParsedSet(\SimpleSAML_Metadata_SAMLParser $entity, $set) + { + assert(is_string($set)); + + switch ($set) { + case 'saml20-idp-remote': + return $entity->getMetadata20IdP(); + case 'saml20-sp-remote': + return $entity->getMetadata20SP(); + case 'shib13-idp-remote': + return $entity->getMetadata1xIdP(); + case 'shib13-sp-remote': + return $entity->getMetadata1xSP(); + case 'attributeauthority-remote': + $ret = $entity->getAttributeAuthorities(); + return $ret[0]; + + default: + Logger::warning(__CLASS__.': unknown metadata set: \''.$set.'\'.'); + } + + return null; + } + + + /** + * Overriding this function from the superclass SimpleSAML_Metadata_MetaDataStorageSource. + * + * This function retrieves metadata for the given entity id in the given set of metadata. + * It will return NULL if it is unable to locate the metadata. + * + * This class implements this function using the getMetadataSet-function. A subclass should + * override this function if it doesn't implement the getMetadataSet function, or if the + * implementation of getMetadataSet is slow. + * + * @param string $index The entityId or metaindex we are looking up. + * @param string $set The set we are looking for metadata in. + * + * @return array An associative array with metadata for the given entity, or NULL if we are unable to + * locate the entity. + * @throws \Exception If an error occurs while validating the signature or the metadata is in an + * incorrect set. + */ + public function getMetaData($index, $set) + { + assert(is_string($index)); + assert(is_string($set)); + + Logger::info(__CLASS__.': loading metadata entity ['.$index.'] from ['.$set.']'); + + // read from cache if possible + try { + $data = $this->getFromCache($set, $index); + } catch (\Exception $e) { + Logger::error($e->getMessage()); + // proceed with fetching metadata even if the cache is broken + $data = null; + } + + if ($data !== null && array_key_exists('expires', $data) && $data['expires'] < time()) { + // metadata has expired + $data = null; + } + + if (isset($data)) { + // metadata found in cache and not expired + Logger::debug(__CLASS__.': using cached metadata for: '.$index.'.'); + return $data; + } + + // look at Metadata Query Protocol: https://github.com/iay/md-query/blob/master/draft-young-md-query.txt + $mdq_url = $this->server.'/entities/'.urlencode($index); + + Logger::debug(__CLASS__.': downloading metadata for "'.$index.'" from ['.$mdq_url.']'); + try { + $xmldata = HTTP::fetch($mdq_url); + } catch (\Exception $e) { + // Avoid propagating the exception, make sure we can handle the error later + $xmldata = false; + } + + if (empty($xmldata)) { + $error = error_get_last(); + Logger::info('Unable to fetch metadata for "'.$index.'" from '.$mdq_url.': '. + (is_array($error) ? $error['message'] : 'no error available')); + return null; + } + + /** @var string $xmldata */ + $entity = \SimpleSAML_Metadata_SAMLParser::parseString($xmldata); + Logger::debug(__CLASS__.': completed parsing of ['.$mdq_url.']'); + + if ($this->validateFingerprint !== null) { + if (!$entity->validateFingerprint($this->validateFingerprint)) { + throw new \Exception(__CLASS__.': error, could not verify signature for entity: '.$index.'".'); + } + } + + $data = self::getParsedSet($entity, $set); + if ($data === null) { + throw new \Exception(__CLASS__.': no metadata for set "'.$set.'" available from "'.$index.'".'); + } + + try { + $this->writeToCache($set, $index, $data); + } catch (\Exception $e) { + // Proceed without writing to cache + Logger::error('Error writing MDQ result to cache: '.$e->getMessage()); + } + + return $data; + } +} diff --git a/lib/SimpleSAML/Module.php b/lib/SimpleSAML/Module.php new file mode 100755 index 0000000..6c9b3c6 --- /dev/null +++ b/lib/SimpleSAML/Module.php @@ -0,0 +1,311 @@ +, UNINETT AS. + * @author Boy Baukema, SURFnet. + * @author Jaime Perez , UNINETT AS. + * @package SimpleSAMLphp + */ +class Module +{ + + /** + * A list containing the modules currently installed. + * + * @var array + */ + public static $modules = array(); + + /** + * A cache containing specific information for modules, like whether they are enabled or not, or their hooks. + * + * @var array + */ + public static $module_info = array(); + + + /** + * Retrieve the base directory for a module. + * + * The returned path name will be an absolute path. + * + * @param string $module Name of the module + * + * @return string The base directory of a module. + */ + public static function getModuleDir($module) + { + $baseDir = dirname(dirname(dirname(__FILE__))).'/modules'; + $moduleDir = $baseDir.'/'.$module; + + return $moduleDir; + } + + + /** + * Determine whether a module is enabled. + * + * Will return false if the given module doesn't exist. + * + * @param string $module Name of the module + * + * @return bool True if the given module is enabled, false otherwise. + * + * @throws \Exception If module.enable is set and is not boolean. + */ + public static function isModuleEnabled($module) + { + $config = \SimpleSAML_Configuration::getOptionalConfig(); + return self::isModuleEnabledWithConf($module, $config->getArray('module.enable', array())); + } + + + private static function isModuleEnabledWithConf($module, $mod_config) + { + if (isset(self::$module_info[$module]['enabled'])) { + return self::$module_info[$module]['enabled']; + } + + if (!empty(self::$modules) && !in_array($module, self::$modules, true)) { + return false; + } + + $moduleDir = self::getModuleDir($module); + + if (!is_dir($moduleDir)) { + self::$module_info[$module]['enabled'] = false; + return false; + } + + if (isset($mod_config[$module])) { + if (is_bool($mod_config[$module])) { + self::$module_info[$module]['enabled'] = $mod_config[$module]; + return $mod_config[$module]; + } + + throw new \Exception("Invalid module.enable value for the '$module' module."); + } + + if (assert_options(ASSERT_ACTIVE) && + !file_exists($moduleDir.'/default-enable') && + !file_exists($moduleDir.'/default-disable') + ) { + \SimpleSAML\Logger::error("Missing default-enable or default-disable file for the module $module"); + } + + if (file_exists($moduleDir.'/enable')) { + self::$module_info[$module]['enabled'] = true; + return true; + } + + if (!file_exists($moduleDir.'/disable') && file_exists($moduleDir.'/default-enable')) { + self::$module_info[$module]['enabled'] = true; + return true; + } + + self::$module_info[$module]['enabled'] = false; + return false; + } + + + /** + * Get available modules. + * + * @return array One string for each module. + * + * @throws \Exception If we cannot open the module's directory. + */ + public static function getModules() + { + if (!empty(self::$modules)) { + return self::$modules; + } + + $path = self::getModuleDir('.'); + + $dh = scandir($path); + if ($dh === false) { + throw new \Exception('Unable to open module directory "'.$path.'".'); + } + + foreach ($dh as $f) { + if ($f[0] === '.') { + continue; + } + + if (!is_dir($path.'/'.$f)) { + continue; + } + + self::$modules[] = $f; + } + + return self::$modules; + } + + + /** + * Resolve module class. + * + * This function takes a string on the form ":" and converts it to a class + * name. It can also check that the given class is a subclass of a specific class. The + * resolved classname will be "sspmod__<$type>_. + * + * It is also possible to specify a full classname instead of :. + * + * An exception will be thrown if the class can't be resolved. + * + * @param string $id The string we should resolve. + * @param string $type The type of the class. + * @param string|null $subclass The class should be a subclass of this class. Optional. + * + * @return string The classname. + * + * @throws \Exception If the class cannot be resolved. + */ + public static function resolveClass($id, $type, $subclass = null) + { + assert(is_string($id)); + assert(is_string($type)); + assert(is_string($subclass) || $subclass === null); + + $tmp = explode(':', $id, 2); + if (count($tmp) === 1) { // no module involved + $className = $tmp[0]; + if (!class_exists($className)) { + throw new \Exception("Could not resolve '$id': no class named '$className'."); + } + } else { // should be a module + // make sure empty types are handled correctly + $type = (empty($type)) ? '_' : '_'.$type.'_'; + + // check for the old-style class names + $className = 'sspmod_'.$tmp[0].$type.$tmp[1]; + + if (!class_exists($className)) { + // check for the new-style class names, using namespaces + $type = str_replace('_', '\\', $type); + $newClassName = 'SimpleSAML\Module\\'.$tmp[0].$type.$tmp[1]; + + if (!class_exists($newClassName)) { + throw new \Exception("Could not resolve '$id': no class named '$className' or '$newClassName'."); + } + $className = $newClassName; + } + } + + if ($subclass !== null && !is_subclass_of($className, $subclass)) { + throw new \Exception( + 'Could not resolve \''.$id.'\': The class \''.$className.'\' isn\'t a subclass of \''.$subclass.'\'.' + ); + } + + return $className; + } + + + /** + * Get absolute URL to a specified module resource. + * + * This function creates an absolute URL to a resource stored under ".../modules//www/". + * + * @param string $resource Resource path, on the form "/" + * @param array $parameters Extra parameters which should be added to the URL. Optional. + * + * @return string The absolute URL to the given resource. + */ + public static function getModuleURL($resource, array $parameters = array()) + { + assert(is_string($resource)); + assert($resource[0] !== '/'); + + $url = Utils\HTTP::getBaseURL().'module.php/'.$resource; + if (!empty($parameters)) { + $url = Utils\HTTP::addURLParameters($url, $parameters); + } + return $url; + } + + + /** + * Get the available hooks for a given module. + * + * @param string $module The module where we should look for hooks. + * + * @return array An array with the hooks available for this module. Each element is an array with two keys: 'file' + * points to the file that contains the hook, and 'func' contains the name of the function implementing that hook. + * When there are no hooks defined, an empty array is returned. + */ + public static function getModuleHooks($module) + { + if (isset(self::$modules[$module]['hooks'])) { + return self::$modules[$module]['hooks']; + } + + $hook_dir = self::getModuleDir($module).'/hooks'; + if (!is_dir($hook_dir)) { + return array(); + } + + $hooks = array(); + $files = scandir($hook_dir); + foreach ($files as $file) { + if ($file[0] === '.') { + continue; + } + + if (!preg_match('/hook_(\w+)\.php/', $file, $matches)) { + continue; + } + $hook_name = $matches[1]; + $hook_func = $module.'_hook_'.$hook_name; + $hooks[$hook_name] = array('file' => $hook_dir.'/'.$file, 'func' => $hook_func); + } + return $hooks; + } + + + /** + * Call a hook in all enabled modules. + * + * This function iterates over all enabled modules and calls a hook in each module. + * + * @param string $hook The name of the hook. + * @param mixed &$data The data which should be passed to each hook. Will be passed as a reference. + * + * @throws \SimpleSAML_Error_Exception If an invalid hook is found in a module. + */ + public static function callHooks($hook, &$data = null) + { + assert(is_string($hook)); + + $modules = self::getModules(); + $config = \SimpleSAML_Configuration::getOptionalConfig()->getArray('module.enable', array()); + sort($modules); + foreach ($modules as $module) { + if (!self::isModuleEnabledWithConf($module, $config)) { + continue; + } + + if (!isset(self::$module_info[$module]['hooks'])) { + self::$module_info[$module]['hooks'] = self::getModuleHooks($module); + } + + if (!isset(self::$module_info[$module]['hooks'][$hook])) { + continue; + } + + require_once(self::$module_info[$module]['hooks'][$hook]['file']); + + if (!is_callable(self::$module_info[$module]['hooks'][$hook]['func'])) { + throw new \SimpleSAML_Error_Exception('Invalid hook \''.$hook.'\' for module \''.$module.'\'.'); + } + + $fn = self::$module_info[$module]['hooks'][$hook]['func']; + $fn($data); + } + } +} diff --git a/lib/SimpleSAML/Session.php b/lib/SimpleSAML/Session.php new file mode 100755 index 0000000..17e0357 --- /dev/null +++ b/lib/SimpleSAML/Session.php @@ -0,0 +1,1171 @@ + + * @author Jaime Pérez Crespo, UNINETT AS + * @package SimpleSAMLphp + */ +class SimpleSAML_Session implements Serializable +{ + + /** + * This is a timeout value for setData, which indicates that the data + * should never be deleted, i.e. lasts the whole session lifetime. + */ + const DATA_TIMEOUT_SESSION_END = 'sessionEndTimeout'; + + + /** + * The list of loaded session objects. + * + * This is an associative array indexed with the session id. + * + * @var array + */ + private static $sessions = array(); + + + /** + * This variable holds the instance of the session - Singleton approach. + * + * Warning: do not set the instance manually, call SimpleSAML_Session::load() instead. + */ + private static $instance = null; + + + /** + * The session ID of this session. + * + * @var string|null + */ + private $sessionId; + + + /** + * Transient session flag. + * + * @var boolean|false + */ + private $transient = false; + + + /** + * The track id is a new random unique identifier that is generated for each session. + * This is used in the debug logs and error messages to easily track more information + * about what went wrong. + * + * @var string|null + */ + private $trackid = null; + + + private $rememberMeExpire = null; + + + /** + * Marks a session as modified, and therefore needs to be saved before destroying + * this object. + * + * @var bool + */ + private $dirty = false; + + + /** + * Tells the session object that the save callback has been registered and there's no need to register it again. + * + * @var bool + */ + private $callback_registered = false; + + + /** + * This is an array of objects which will expire automatically after a set time. It is used + * where one needs to store some information - for example a logout request, but doesn't + * want it to be stored forever. + * + * The data store contains three levels of nested associative arrays. The first is the data type, the + * second is the identifier, and the third contains the expire time of the data and the data itself. + * + * @var array + */ + private $dataStore = null; + + + /** + * The list of IdP-SP associations. + * + * This is an associative array with the IdP id as the key, and the list of + * associations as the value. + * + * @var array + */ + private $associations = array(); + + + /** + * The authentication token. + * + * This token is used to prevent session fixation attacks. + * + * @var string|null + */ + private $authToken; + + + /** + * Authentication data. + * + * This is an array with authentication data for the various authsources. + * + * @var array Associative array of associative arrays. + */ + private $authData = array(); + + + /** + * Private constructor that restricts instantiation to either getSessionFromRequest() for the current session or + * getSession() for a specific one. + * + * @param boolean $transient Whether to create a transient session or not. + */ + private function __construct($transient = false) + { + if (php_sapi_name() === 'cli' || defined('STDIN')) { + $this->trackid = 'CL'.bin2hex(openssl_random_pseudo_bytes(4)); + SimpleSAML\Logger::setTrackId($this->trackid); + $this->transient = $transient; + return; + } + + if ($transient) { // transient session + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + $this->trackid = 'TR'.bin2hex(openssl_random_pseudo_bytes(4)); + SimpleSAML\Logger::setTrackId($this->trackid); + $this->transient = true; + + /* + * Initialize the session ID. It might be that we have a session cookie but we couldn't load the session. + * If that's the case, use that ID. If not, create a new ID. + */ + $this->sessionId = $sh->getCookieSessionId(); + if ($this->sessionId === null) { + $this->sessionId = $sh->newSessionId(); + } + } else { // regular session + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + $this->sessionId = $sh->newSessionId(); + $sh->setCookie($sh->getSessionCookieName(), $this->sessionId, $sh->getCookieParams()); + + + $this->trackid = bin2hex(openssl_random_pseudo_bytes(5)); + SimpleSAML\Logger::setTrackId($this->trackid); + + $this->markDirty(); + + // initialize data for session check function if defined + $globalConfig = SimpleSAML_Configuration::getInstance(); + $checkFunction = $globalConfig->getArray('session.check_function', null); + if (isset($checkFunction)) { + assert(is_callable($checkFunction)); + call_user_func($checkFunction, $this, true); + } + } + } + + + /** + * Serialize this session object. + * + * This method will be invoked by any calls to serialize(). + * + * @return string The serialized representation of this session object. + */ + public function serialize() + { + $serialized = serialize(get_object_vars($this)); + return $serialized; + } + + + /** + * Unserialize a session object and load it.. + * + * This method will be invoked by any calls to unserialize(), allowing us to restore any data that might not + * be serializable in its original form (e.g.: DOM objects). + * + * @param string $serialized The serialized representation of a session that we want to restore. + */ + public function unserialize($serialized) + { + $session = unserialize($serialized); + if (is_array($session)) { + foreach ($session as $k => $v) { + $this->$k = $v; + } + } + + // look for any raw attributes and load them in the 'Attributes' array + foreach ($this->authData as $authority => $parameters) { + if (!array_key_exists('RawAttributes', $parameters)) { + continue; + } + + foreach ($parameters['RawAttributes'] as $attribute => $values) { + foreach ($values as $idx => $value) { // this should be originally a DOMNodeList + /* @var \SAML2\XML\saml\AttributeValue $value */ + $this->authData[$authority]['Attributes'][$attribute][$idx] = $value->element->childNodes; + } + } + } + } + + + /** + * Retrieves the current session. Creates a new session if there's not one. + * + * @return SimpleSAML_Session The current session. + * @throws Exception When session couldn't be initialized and the session fallback is disabled by configuration. + */ + public static function getSessionFromRequest() + { + // check if we already have initialized the session + if (isset(self::$instance)) { + return self::$instance; + } + + // check if we have stored a session stored with the session handler + $session = null; + try { + $session = self::getSession(); + } catch (Exception $e) { + /* + * For some reason, we were unable to initialize this session. Note that this error might be temporary, and + * it's possible that we can recover from it in subsequent requests, so we should not try to create a new + * session here. Therefore, use just a transient session and throw the exception for someone else to handle + * it. + */ + SimpleSAML\Logger::error('Error loading session: '.$e->getMessage()); + self::useTransientSession(); + if ($e instanceof SimpleSAML_Error_Exception) { + $cause = $e->getCause(); + if ($cause instanceof Exception) { + throw $cause; + } + } + throw $e; + } + + // if getSession() found it, use it + if ($session instanceof SimpleSAML_Session) { + return self::load($session); + } + + /* + * We didn't have a session loaded when we started, but we have it now. At this point, getSession() failed but + * it must have triggered the creation of a session at some point during the process (e.g. while logging an + * error message). This means we don't need to create a new session again, we can use the one that's loaded now + * instead. + */ + if (self::$instance !== null) { + return self::$instance; + } + + // try to create a new session + try { + self::load(new SimpleSAML_Session()); + } catch (\SimpleSAML\Error\CannotSetCookie $e) { + // can't create a regular session because we can't set cookies. Use transient. + $c = SimpleSAML_Configuration::getInstance(); + self::useTransientSession(); + + if ($e->getCode() === \SimpleSAML\Error\CannotSetCookie::SECURE_COOKIE) { + throw new \SimpleSAML\Error\CriticalConfigurationError( + $e->getMessage(), + null, + $c->toArray() + ); + } + SimpleSAML\Logger::error('Error creating session: '.$e->getMessage()); + } + + // we must have a session now, either regular or transient + return self::$instance; + } + + /** + * Get a session from the session handler. + * + * @param string|null $sessionId The session we should get, or null to get the current session. + * + * @return SimpleSAML_Session|null The session that is stored in the session handler, or null if the session wasn't + * found. + */ + public static function getSession($sessionId = null) + { + assert(is_string($sessionId) || $sessionId === null); + + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + + if ($sessionId === null) { + $checkToken = true; + $sessionId = $sh->getCookieSessionId(); + if ($sessionId === null) { + return null; + } + } else { + $checkToken = false; + } + + if (array_key_exists($sessionId, self::$sessions)) { + return self::$sessions[$sessionId]; + } + + $session = $sh->loadSession($sessionId); + if ($session === null) { + return null; + } + + assert($session instanceof self); + + if ($checkToken) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + + if ($session->authToken !== null) { + $authTokenCookieName = $globalConfig->getString( + 'session.authtoken.cookiename', + 'SimpleSAMLAuthToken' + ); + if (!isset($_COOKIE[$authTokenCookieName])) { + SimpleSAML\Logger::warning('Missing AuthToken cookie.'); + return null; + } + if (!SimpleSAML\Utils\Crypto::secureCompare($session->authToken, $_COOKIE[$authTokenCookieName])) { + SimpleSAML\Logger::warning('Invalid AuthToken cookie.'); + return null; + } + } + + // run session check function if defined + $checkFunction = $globalConfig->getArray('session.check_function', null); + if (isset($checkFunction)) { + assert(is_callable($checkFunction)); + $check = call_user_func($checkFunction, $session); + if ($check !== true) { + SimpleSAML\Logger::warning('Session did not pass check function.'); + return null; + } + } + } + + self::$sessions[$sessionId] = $session; + + return $session; + } + + + /** + * Load a given session as the current one. + * + * This method will also set the track ID in the logger to the one in the given session. + * + * Warning: never set self::$instance yourself, call this method instead. + * + * @param SimpleSAML_Session $session The session to load. + * @return SimpleSAML_Session The session we just loaded, just for convenience. + */ + private static function load(SimpleSAML_Session $session) + { + SimpleSAML\Logger::setTrackId($session->getTrackID()); + self::$instance = $session; + return self::$instance; + } + + /** + * Use a transient session. + * + * Create a session that should not be saved at the end of the request. + * Subsequent calls to getInstance() will return this transient session. + */ + public static function useTransientSession() + { + if (isset(self::$instance)) { + // we already have a session, don't bother with a transient session + return; + } + + self::load(new SimpleSAML_Session(true)); + } + + /** + * Create a new session and cache it. + * + * @param string $sessionId The new session we should create. + */ + public static function createSession($sessionId) + { + assert(is_string($sessionId)); + self::$sessions[$sessionId] = null; + } + + /** + * Save the session to the store. + * + * This method saves the session to the session handler in case it has been marked as dirty. + * + * WARNING: please do not use this method directly unless you really need to and know what you are doing. Use + * markDirty() instead. + */ + public function save() + { + if (!$this->dirty) { + // session hasn't changed, don't bother saving it + return; + } + + $this->dirty = false; + $this->callback_registered = false; + + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + + try { + $sh->saveSession($this); + } catch (Exception $e) { + if (!($e instanceof SimpleSAML_Error_Exception)) { + $e = new SimpleSAML_Error_UnserializableException($e); + } + SimpleSAML\Logger::error('Unable to save session.'); + $e->logError(); + } + } + + + /** + * Save the current session and clean any left overs that could interfere with the normal application behaviour. + * + * Use this method if you are using PHP sessions in your application *and* in SimpleSAMLphp, *after* you are done + * using SimpleSAMLphp and before trying to access your application's session again. + */ + public function cleanup() + { + $this->save(); + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + if ($sh instanceof \SimpleSAML\SessionHandlerPHP) { + $sh->restorePrevious(); + } + } + + + /** + * Mark this session as dirty. + * + * This method will register a callback to save the session right before any output is sent to the browser. + */ + public function markDirty() + { + if ($this->isTransient()) { + return; + } + + $this->dirty = true; + + if ($this->callback_registered) { + // we already have a shutdown callback registered for this object, no need to add another one + return; + } + $this->callback_registered = header_register_callback(array($this, 'save')); + } + + + /** + * Destroy the session. + * + * Destructor for this class. It will save the session to the session handler + * in case the session has been marked as dirty. Do nothing otherwise. + */ + public function __destruct() + { + $this->save(); + } + + /** + * Retrieve the session ID of this session. + * + * @return string|null The session ID, or null if this is a transient session. + */ + public function getSessionId() + { + return $this->sessionId; + } + + /** + * Retrieve if session is transient. + * + * @return boolean The session transient flag. + */ + public function isTransient() + { + return $this->transient; + } + + /** + * Get a unique ID that will be permanent for this session. + * Used for debugging and tracing log files related to a session. + * + * @return string|null The unique ID. + */ + public function getTrackID() + { + return $this->trackid; + } + + /** + * Get remember me expire time. + * + * @return integer|null The remember me expire time. + */ + public function getRememberMeExpire() + { + return $this->rememberMeExpire; + } + + /** + * Set remember me expire time. + * + * @param int $expire Unix timestamp when remember me session cookies expire. + */ + public function setRememberMeExpire($expire = null) + { + assert(is_int($expire) || $expire === null); + + if ($expire === null) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + $expire = time() + $globalConfig->getInteger('session.rememberme.lifetime', 14 * 86400); + } + $this->rememberMeExpire = $expire; + + $cookieParams = array('expire' => $this->rememberMeExpire); + $this->updateSessionCookies($cookieParams); + } + + /** + * Marks the user as logged in with the specified authority. + * + * If the user already has logged in, the user will be logged out first. + * + * @param string $authority The authority the user logged in with. + * @param array|null $data The authentication data for this authority. + * + * @throws \SimpleSAML\Error\CannotSetCookie If the authentication token cannot be set for some reason. + */ + public function doLogin($authority, array $data = null) + { + assert(is_string($authority)); + assert(is_array($data) || $data === null); + + SimpleSAML\Logger::debug('Session: doLogin("'.$authority.'")'); + + $this->markDirty(); + + if (isset($this->authData[$authority])) { + // we are already logged in, log the user out first + $this->doLogout($authority); + } + + if ($data === null) { + $data = array(); + } + + $data['Authority'] = $authority; + + $globalConfig = SimpleSAML_Configuration::getInstance(); + if (!isset($data['AuthnInstant'])) { + $data['AuthnInstant'] = time(); + } + + $maxSessionExpire = time() + $globalConfig->getInteger('session.duration', 8 * 60 * 60); + if (!isset($data['Expire']) || $data['Expire'] > $maxSessionExpire) { + // unset, or beyond our session lifetime. Clamp it to our maximum session lifetime + $data['Expire'] = $maxSessionExpire; + } + + // check if we have non-serializable attribute values + foreach ($data['Attributes'] as $attribute => $values) { + foreach ($values as $idx => $value) { + if (is_string($value) || is_int($value)) { + continue; + } + + // at this point, this should be a DOMNodeList object... + if (!is_a($value, 'DOMNodeList')) { + continue; + } + + /* @var \DOMNodeList $value */ + if ($value->length === 0) { + continue; + } + + // create an AttributeValue object and save it to 'RawAttributes', using same attribute name and index + $attrval = new \SAML2\XML\saml\AttributeValue($value->item(0)->parentNode); + $data['RawAttributes'][$attribute][$idx] = $attrval; + } + } + + $this->authData[$authority] = $data; + + $this->authToken = SimpleSAML\Utils\Random::generateID(); + $sessionHandler = \SimpleSAML\SessionHandler::getSessionHandler(); + + if (!$this->transient && (!empty($data['RememberMe']) || $this->rememberMeExpire) && + $globalConfig->getBoolean('session.rememberme.enable', false) + ) { + $this->setRememberMeExpire(); + } else { + try { + SimpleSAML\Utils\HTTP::setCookie( + $globalConfig->getString('session.authtoken.cookiename', 'SimpleSAMLAuthToken'), + $this->authToken, + $sessionHandler->getCookieParams() + ); + } catch (SimpleSAML\Error\CannotSetCookie $e) { + /* + * Something went wrong when setting the auth token. We cannot recover from this, so we better log a + * message and throw an exception. The user is not properly logged in anyway, so clear all login + * information from the session. + */ + unset($this->authToken); + unset($this->authData[$authority]); + \SimpleSAML\Logger::error('Cannot set authentication token cookie: '.$e->getMessage()); + throw $e; + } + } + } + + /** + * Marks the user as logged out. + * + * This function will call any registered logout handlers before marking the user as logged out. + * + * @param string $authority The authentication source we are logging out of. + */ + public function doLogout($authority) + { + SimpleSAML\Logger::debug('Session: doLogout('.var_export($authority, true).')'); + + if (!isset($this->authData[$authority])) { + SimpleSAML\Logger::debug('Session: Already logged out of '.$authority.'.'); + return; + } + + $this->markDirty(); + + $this->callLogoutHandlers($authority); + unset($this->authData[$authority]); + + if (!$this->isValid($authority) && $this->rememberMeExpire) { + $this->rememberMeExpire = null; + $this->updateSessionCookies(); + } + } + + /** + * This function calls all registered logout handlers. + * + * @param string $authority The authentication source we are logging out from. + * + * @throws Exception If the handler is not a valid function or method. + */ + private function callLogoutHandlers($authority) + { + assert(is_string($authority)); + assert(isset($this->authData[$authority])); + + if (empty($this->authData[$authority]['LogoutHandlers'])) { + return; + } + foreach ($this->authData[$authority]['LogoutHandlers'] as $handler) { + // verify that the logout handler is a valid function + if (!is_callable($handler)) { + $classname = $handler[0]; + $functionname = $handler[1]; + + throw new Exception( + 'Logout handler is not a valid function: '.$classname.'::'. + $functionname + ); + } + + // call the logout handler + call_user_func($handler); + } + + // we require the logout handlers to register themselves again if they want to be called later + unset($this->authData[$authority]['LogoutHandlers']); + } + + /** + * Is the session representing an authenticated user, and is the session still alive. + * This function will return false after the user has timed out. + * + * @param string $authority The authentication source that the user should be authenticated with. + * + * @return true if the user has a valid session, false if not. + */ + public function isValid($authority) + { + assert(is_string($authority)); + + if (!isset($this->authData[$authority])) { + SimpleSAML\Logger::debug( + 'Session: '.var_export($authority, true). + ' not valid because we are not authenticated.' + ); + return false; + } + + if ($this->authData[$authority]['Expire'] <= time()) { + SimpleSAML\Logger::debug('Session: '.var_export($authority, true).' not valid because it is expired.'); + return false; + } + + SimpleSAML\Logger::debug('Session: Valid session found with '.var_export($authority, true).'.'); + + return true; + } + + /** + * Update session cookies. + * + * @param array $params The parameters for the cookies. + */ + public function updateSessionCookies($params = null) + { + assert(is_null($params) || is_array($params)); + + $sessionHandler = \SimpleSAML\SessionHandler::getSessionHandler(); + + if ($this->sessionId !== null) { + $sessionHandler->setCookie($sessionHandler->getSessionCookieName(), $this->sessionId, $params); + } + + $params = array_merge($sessionHandler->getCookieParams(), is_array($params) ? $params : array()); + + if ($this->authToken !== null) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + \SimpleSAML\Utils\HTTP::setCookie( + $globalConfig->getString('session.authtoken.cookiename', 'SimpleSAMLAuthToken'), + $this->authToken, + $params + ); + } + } + + /** + * Set the lifetime for authentication source. + * + * @param string $authority The authentication source we are setting expire time for. + * @param int $expire The number of seconds authentication source is valid. + */ + public function setAuthorityExpire($authority, $expire = null) + { + assert(isset($this->authData[$authority])); + assert(is_int($expire) || $expire === null); + + $this->markDirty(); + + if ($expire === null) { + $globalConfig = SimpleSAML_Configuration::getInstance(); + $expire = time() + $globalConfig->getInteger('session.duration', 8 * 60 * 60); + } + + $this->authData[$authority]['Expire'] = $expire; + } + + /** + * This function registers a logout handler. + * + * @param string $authority The authority for which register the handler. + * @param string $classname The class which contains the logout handler. + * @param string $functionname The logout handler function. + * + * @throws Exception If the handler is not a valid function or method. + */ + public function registerLogoutHandler($authority, $classname, $functionname) + { + assert(isset($this->authData[$authority])); + + $logout_handler = array($classname, $functionname); + + if (!is_callable($logout_handler)) { + throw new Exception( + 'Logout handler is not a vaild function: '.$classname.'::'. + $functionname + ); + } + + $this->authData[$authority]['LogoutHandlers'][] = $logout_handler; + $this->markDirty(); + } + + /** + * Delete data from the data store. + * + * This function immediately deletes the data with the given type and id from the data store. + * + * @param string $type The type of the data. + * @param string $id The identifier of the data. + */ + public function deleteData($type, $id) + { + assert(is_string($type)); + assert(is_string($id)); + + if (!is_array($this->dataStore)) { + return; + } + + if (!array_key_exists($type, $this->dataStore)) { + return; + } + + unset($this->dataStore[$type][$id]); + $this->markDirty(); + } + + /** + * This function stores data in the data store. + * + * The timeout value can be SimpleSAML_Session::DATA_TIMEOUT_SESSION_END, which indicates + * that the data should never be deleted. + * + * @param string $type The type of the data. This is checked when retrieving data from the store. + * @param string $id The identifier of the data. + * @param mixed $data The data. + * @param int|null $timeout The number of seconds this data should be stored after its last access. + * This parameter is optional. The default value is set in 'session.datastore.timeout', + * and the default is 4 hours. + * + * @throws Exception If the data couldn't be stored. + * + */ + public function setData($type, $id, $data, $timeout = null) + { + assert(is_string($type)); + assert(is_string($id)); + assert(is_int($timeout) || $timeout === null || $timeout === self::DATA_TIMEOUT_SESSION_END); + + // clean out old data + $this->expireData(); + + if ($timeout === null) { + // use the default timeout + $configuration = SimpleSAML_Configuration::getInstance(); + + $timeout = $configuration->getInteger('session.datastore.timeout', null); + if ($timeout !== null) { + if ($timeout <= 0) { + throw new Exception( + 'The value of the session.datastore.timeout'. + ' configuration option should be a positive integer.' + ); + } + } + } + + if ($timeout === self::DATA_TIMEOUT_SESSION_END) { + $expires = self::DATA_TIMEOUT_SESSION_END; + } else { + $expires = time() + $timeout; + } + + $dataInfo = array( + 'expires' => $expires, + 'timeout' => $timeout, + 'data' => $data + ); + + if (!is_array($this->dataStore)) { + $this->dataStore = array(); + } + + if (!array_key_exists($type, $this->dataStore)) { + $this->dataStore[$type] = array(); + } + + $this->dataStore[$type][$id] = $dataInfo; + + $this->markDirty(); + } + + /** + * This function removes expired data from the data store. + * + * Note that this function doesn't mark the session object as dirty. This means that + * if the only change to the session object is that some data has expired, it will not be + * written back to the session store. + */ + private function expireData() + { + if (!is_array($this->dataStore)) { + return; + } + + $ct = time(); + + foreach ($this->dataStore as &$typedData) { + foreach ($typedData as $id => $info) { + if ($info['expires'] === self::DATA_TIMEOUT_SESSION_END) { + // this data never expires + continue; + } + + if ($ct > $info['expires']) { + unset($typedData[$id]); + } + } + } + } + + /** + * This function retrieves data from the data store. + * + * Note that this will not change when the data stored in the data store will expire. If that is required, + * the data should be written back with setData. + * + * @param string $type The type of the data. This must match the type used when adding the data. + * @param string|null $id The identifier of the data. Can be null, in which case null will be returned. + * + * @return mixed The data of the given type with the given id or null if the data doesn't exist in the data store. + */ + public function getData($type, $id) + { + assert(is_string($type)); + assert($id === null || is_string($id)); + + if ($id === null) { + return null; + } + + $this->expireData(); + + if (!is_array($this->dataStore)) { + return null; + } + + if (!array_key_exists($type, $this->dataStore)) { + return null; + } + + if (!array_key_exists($id, $this->dataStore[$type])) { + return null; + } + + return $this->dataStore[$type][$id]['data']; + } + + /** + * This function retrieves all data of the specified type from the data store. + * + * The data will be returned as an associative array with the id of the data as the key, and the data + * as the value of each key. The value will be stored as a copy of the original data. setData must be + * used to update the data. + * + * An empty array will be returned if no data of the given type is found. + * + * @param string $type The type of the data. + * + * @return array An associative array with all data of the given type. + */ + public function getDataOfType($type) + { + assert(is_string($type)); + + if (!is_array($this->dataStore)) { + return array(); + } + + if (!array_key_exists($type, $this->dataStore)) { + return array(); + } + + $ret = array(); + foreach ($this->dataStore[$type] as $id => $info) { + $ret[$id] = $info['data']; + } + + return $ret; + } + + /** + * Get the current persistent authentication state. + * + * @param string $authority The authority to retrieve the data from. + * + * @return array The current persistent authentication state, or null if not authenticated. + */ + public function getAuthState($authority) + { + assert(is_string($authority)); + + if (!isset($this->authData[$authority])) { + return null; + } + + return $this->authData[$authority]; + } + + + /** + * Check whether the session cookie is set. + * + * This function will only return false if is is certain that the cookie isn't set. + * + * @return bool true if it was set, false if not. + */ + public function hasSessionCookie() + { + $sh = \SimpleSAML\SessionHandler::getSessionHandler(); + return $sh->hasSessionCookie(); + } + + + /** + * Add an SP association for an IdP. + * + * This function is only for use by the SimpleSAML_IdP class. + * + * @param string $idp The IdP id. + * @param array $association The association we should add. + */ + public function addAssociation($idp, array $association) + { + assert(is_string($idp)); + assert(isset($association['id'])); + assert(isset($association['Handler'])); + + if (!isset($this->associations)) { + $this->associations = array(); + } + + if (!isset($this->associations[$idp])) { + $this->associations[$idp] = array(); + } + + $this->associations[$idp][$association['id']] = $association; + + $this->markDirty(); + } + + + /** + * Retrieve the associations for an IdP. + * + * This function is only for use by the SimpleSAML_IdP class. + * + * @param string $idp The IdP id. + * + * @return array The IdP associations. + */ + public function getAssociations($idp) + { + assert(is_string($idp)); + + if (!isset($this->associations)) { + $this->associations = array(); + } + + if (!isset($this->associations[$idp])) { + return array(); + } + + foreach ($this->associations[$idp] as $id => $assoc) { + if (!isset($assoc['Expires'])) { + continue; + } + if ($assoc['Expires'] >= time()) { + continue; + } + + unset($this->associations[$idp][$id]); + } + + return $this->associations[$idp]; + } + + + /** + * Remove an SP association for an IdP. + * + * This function is only for use by the SimpleSAML_IdP class. + * + * @param string $idp The IdP id. + * @param string $associationId The id of the association. + */ + public function terminateAssociation($idp, $associationId) + { + assert(is_string($idp)); + assert(is_string($associationId)); + + if (!isset($this->associations)) { + return; + } + + if (!isset($this->associations[$idp])) { + return; + } + + unset($this->associations[$idp][$associationId]); + + $this->markDirty(); + } + + + /** + * Retrieve authentication data. + * + * @param string $authority The authentication source we should retrieve data from. + * @param string $name The name of the data we should retrieve. + * + * @return mixed The value, or null if the value wasn't found. + */ + public function getAuthData($authority, $name) + { + assert(is_string($authority)); + assert(is_string($name)); + + if (!isset($this->authData[$authority][$name])) { + return null; + } + return $this->authData[$authority][$name]; + } + + + /** + * Retrieve a list of authorities (authentication sources) that are currently valid within + * this session. + * + * @return mixed An array containing every authority currently valid. Empty if none available. + */ + public function getAuthorities() + { + $authorities = array(); + foreach (array_keys($this->authData) as $authority) { + if ($this->isValid($authority)) { + $authorities[] = $authority; + } + } + return $authorities; + } +} diff --git a/lib/SimpleSAML/SessionHandler.php b/lib/SimpleSAML/SessionHandler.php new file mode 100755 index 0000000..a8d4ad0 --- /dev/null +++ b/lib/SimpleSAML/SessionHandler.php @@ -0,0 +1,160 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML; + +abstract class SessionHandler +{ + + + /** + * This static variable contains a reference to the current + * instance of the session handler. This variable will be NULL if + * we haven't instantiated a session handler yet. + * + * @var \SimpleSAML\SessionHandler + */ + protected static $sessionHandler = null; + + + /** + * This function retrieves the current instance of the session handler. + * The session handler will be instantiated if this is the first call + * to this function. + * + * @return \SimpleSAML\SessionHandler The current session handler. + */ + public static function getSessionHandler() + { + if (self::$sessionHandler === null) { + self::createSessionHandler(); + } + + return self::$sessionHandler; + } + + + /** + * This constructor is included in case it is needed in the + * future. Including it now allows us to write parent::__construct() in + * the subclasses of this class. + */ + protected function __construct() + { + } + + + /** + * Create a new session id. + * + * @return string The new session id. + */ + abstract public function newSessionId(); + + + /** + * Retrieve the session ID saved in the session cookie, if there's one. + * + * @return string|null The session id saved in the cookie or null if no session cookie was set. + */ + abstract public function getCookieSessionId(); + + + /** + * Retrieve the session cookie name. + * + * @return string The session cookie name. + */ + abstract public function getSessionCookieName(); + + + /** + * Save the session. + * + * @param \SimpleSAML_Session $session The session object we should save. + */ + abstract public function saveSession(\SimpleSAML_Session $session); + + + /** + * Load the session. + * + * @param string|null $sessionId The ID of the session we should load, or null to use the default. + * + * @return \SimpleSAML_Session|null The session object, or null if it doesn't exist. + */ + abstract public function loadSession($sessionId = null); + + + /** + * Check whether the session cookie is set. + * + * This function will only return false if is is certain that the cookie isn't set. + * + * @return bool True if it was set, false if not. + */ + abstract public function hasSessionCookie(); + + + /** + * Set a session cookie. + * + * @param string $sessionName The name of the session. + * @param string|null $sessionID The session ID to use. Set to null to delete the cookie. + * @param array|null $cookieParams Additional parameters to use for the session cookie. + * + * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie. + */ + abstract public function setCookie($sessionName, $sessionID, array $cookieParams = null); + + + /** + * Initialize the session handler. + * + * This function creates an instance of the session handler which is + * selected in the 'session.handler' configuration directive. If no + * session handler is selected, then we will fall back to the default + * PHP session handler. + */ + private static function createSessionHandler() + { + $store = \SimpleSAML\Store::getInstance(); + if ($store === false) { + self::$sessionHandler = new SessionHandlerPHP(); + } else { + /** @var \SimpleSAML\Store $store At this point, $store can only be an object */ + self::$sessionHandler = new SessionHandlerStore($store); + } + } + + + /** + * Get the cookie parameters that should be used for session cookies. + * + * @return array An array with the cookie parameters. + * @link http://www.php.net/manual/en/function.session-get-cookie-params.php + */ + public function getCookieParams() + { + $config = \SimpleSAML_Configuration::getInstance(); + + return array( + 'lifetime' => $config->getInteger('session.cookie.lifetime', 0), + 'path' => $config->getString('session.cookie.path', '/'), + 'domain' => $config->getString('session.cookie.domain', null), + 'secure' => $config->getBoolean('session.cookie.secure', false), + 'httponly' => true, + ); + } +} diff --git a/lib/SimpleSAML/SessionHandlerCookie.php b/lib/SimpleSAML/SessionHandlerCookie.php new file mode 100755 index 0000000..b94e8f7 --- /dev/null +++ b/lib/SimpleSAML/SessionHandlerCookie.php @@ -0,0 +1,173 @@ + + * @package SimpleSAMLphp + * @abstract + */ + +namespace SimpleSAML; + +use SimpleSAML\Utils\HTTP; + +abstract class SessionHandlerCookie extends SessionHandler +{ + + /** + * This variable contains the current session id. + * + * @var string|null + */ + private $session_id = null; + + + /** + * This variable contains the session cookie name. + * + * @var string + */ + protected $cookie_name; + + + /** + * This constructor initializes the session id based on what we receive in a cookie. We create a new session id and + * set a cookie with this id if we don't have a session id. + */ + protected function __construct() + { + // call the constructor in the base class in case it should become necessary in the future + parent::__construct(); + + $config = \SimpleSAML_Configuration::getInstance(); + $this->cookie_name = $config->getString('session.cookie.name', 'SimpleSAMLSessionID'); + } + + + /** + * Create a new session id. + * + * @return string The new session id. + */ + public function newSessionId() + { + $this->session_id = self::createSessionID(); + \SimpleSAML_Session::createSession($this->session_id); + + return $this->session_id; + } + + + /** + * Retrieve the session ID saved in the session cookie, if there's one. + * + * @return string|null The session id saved in the cookie or null if no session cookie was set. + */ + public function getCookieSessionId() + { + if ($this->session_id === null) { + if (self::hasSessionCookie()) { + // attempt to retrieve the session id from the cookie + $this->session_id = $_COOKIE[$this->cookie_name]; + } + + // check if we have a valid session id + if (!self::isValidSessionID($this->session_id)) { + // invalid, disregard this session + return null; + } + } + + return $this->session_id; + } + + + /** + * Retrieve the session cookie name. + * + * @return string The session cookie name. + */ + public function getSessionCookieName() + { + return $this->cookie_name; + } + + + /** + * This static function creates a session id. A session id consists of 32 random hexadecimal characters. + * + * @return string A random session id. + */ + private static function createSessionID() + { + return bin2hex(openssl_random_pseudo_bytes(16)); + } + + + /** + * This static function validates a session id. A session id is valid if it only consists of characters which are + * allowed in a session id and it is the correct length. + * + * @param string $session_id The session ID we should validate. + * + * @return boolean True if this session ID is valid, false otherwise. + */ + private static function isValidSessionID($session_id) + { + if (!is_string($session_id)) { + return false; + } + + if (strlen($session_id) != 32) { + return false; + } + + if (preg_match('/[^0-9a-f]/', $session_id)) { + return false; + } + + return true; + } + + + /** + * Check whether the session cookie is set. + * + * This function will only return false if is is certain that the cookie isn't set. + * + * @return boolean True if it was set, false otherwise. + */ + public function hasSessionCookie() + { + return array_key_exists($this->cookie_name, $_COOKIE); + } + + + /** + * Set a session cookie. + * + * @param string $sessionName The name of the session. + * @param string|null $sessionID The session ID to use. Set to null to delete the cookie. + * @param array|null $cookieParams Additional parameters to use for the session cookie. + * + * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie. + */ + public function setCookie($sessionName, $sessionID, array $cookieParams = null) + { + assert(is_string($sessionName)); + assert(is_string($sessionID) || $sessionID === null); + + if ($cookieParams !== null) { + $params = array_merge($this->getCookieParams(), $cookieParams); + } else { + $params = $this->getCookieParams(); + } + + HTTP::setCookie($sessionName, $sessionID, $params, true); + } +} diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php new file mode 100755 index 0000000..30f3d90 --- /dev/null +++ b/lib/SimpleSAML/SessionHandlerPHP.php @@ -0,0 +1,362 @@ + + * @package SimpleSAMLphp + */ + +namespace SimpleSAML; + +use SimpleSAML\Error\CannotSetCookie; +use SimpleSAML\Utils\HTTP; + +class SessionHandlerPHP extends SessionHandler +{ + + /** + * This variable contains the session cookie name. + * + * @var string + */ + protected $cookie_name; + + /** + * An associative array containing the details of a session existing previously to creating or loading one with this + * session handler. The keys of the array will be: + * + * - id: the ID of the session, as returned by session_id(). + * - name: the name of the session, as returned by session_name(). + * - cookie_params: the parameters of the session cookie, as returned by session_get_cookie_params(). + * + * @var array + */ + private $previous_session = array(); + + + /** + * Initialize the PHP session handling. This constructor is protected because it should only be called from + * \SimpleSAML\SessionHandler::createSessionHandler(...). + */ + protected function __construct() + { + // call the parent constructor in case it should become necessary in the future + parent::__construct(); + + $config = \SimpleSAML_Configuration::getInstance(); + $this->cookie_name = $config->getString('session.phpsession.cookiename', null); + + if (session_status() === PHP_SESSION_ACTIVE) { + if (session_name() === $this->cookie_name || $this->cookie_name === null) { + Logger::warning( + 'There is already a PHP session with the same name as SimpleSAMLphp\'s session, or the '. + "'session.phpsession.cookiename' configuration option is not set. Make sure to set ". + "SimpleSAMLphp's cookie name with a value not used by any other applications." + ); + } + + /* + * We shouldn't have a session at this point, so it might be an application session. Save the details to + * retrieve it later and commit. + */ + $this->previous_session['cookie_params'] = session_get_cookie_params(); + $this->previous_session['id'] = session_id(); + $this->previous_session['name'] = session_name(); + session_write_close(); + } + + if (!empty($this->cookie_name)) { + session_name($this->cookie_name); + } else { + $this->cookie_name = session_name(); + } + + $params = $this->getCookieParams(); + + if (!headers_sent()) { + session_set_cookie_params( + $params['lifetime'], + $params['path'], + $params['domain'], + $params['secure'], + $params['httponly'] + ); + } + + $savepath = $config->getString('session.phpsession.savepath', null); + if (!empty($savepath)) { + session_save_path($savepath); + } + } + + + /** + * This method starts a session, making sure no warnings are generated due to headers being already sent. + */ + private function sessionStart() + { + $cacheLimiter = session_cache_limiter(); + if (headers_sent()) { + /* + * session_start() tries to send HTTP headers depending on the configuration, according to the + * documentation: + * + * http://php.net/manual/en/function.session-start.php + * + * If headers have been already sent, it will then trigger an error since no more headers can be sent. + * Being unable to send headers does not mean we cannot recover the session by calling session_start(), + * so we still want to call it. In this case, though, we want to avoid session_start() to send any + * headers at all so that no error is generated, so we clear the cache limiter temporarily (no headers + * sent then) and restore it after successfully starting the session. + */ + session_cache_limiter(''); + } + session_cache_limiter($cacheLimiter); + @session_start(); + } + + + /** + * Restore a previously-existing session. + * + * Use this method to restore a previous PHP session existing before SimpleSAMLphp initialized its own session. + * + * WARNING: do not use this method directly, unless you know what you are doing. Calling this method directly, + * outside of SimpleSAML_Session, could cause SimpleSAMLphp's session to be lost or mess the application's one. The + * session must always be saved properly before calling this method. If you don't understand what this is about, + * don't use this method. + */ + public function restorePrevious() + { + if (empty($this->previous_session)) { + return; // nothing to do here + } + + // close our own session + session_write_close(); + + session_name($this->previous_session['name']); + session_set_cookie_params( + $this->previous_session['cookie_params']['lifetime'], + $this->previous_session['cookie_params']['path'], + $this->previous_session['cookie_params']['domain'], + $this->previous_session['cookie_params']['secure'], + $this->previous_session['cookie_params']['httponly'] + ); + session_id($this->previous_session['id']); + $this->previous_session = array(); + $this->sessionStart(); + + /* + * At this point, we have restored a previously-existing session, so we can't continue to use our session here. + * Therefore, we need to load our session again in case we need it. We remove this handler from the parent + * class so that the handler is initialized again if we ever need to do something with the session. + */ + parent::$sessionHandler = null; + } + + + /** + * Create a new session id. + * + * @return string The new session id. + */ + public function newSessionId() + { + // generate new (secure) session id + $sessionId = bin2hex(openssl_random_pseudo_bytes(16)); + \SimpleSAML_Session::createSession($sessionId); + + return $sessionId; + } + + + /** + * Retrieve the session ID saved in the session cookie, if there's one. + * + * @return string|null The session id saved in the cookie or null if no session cookie was set. + * + * @throws \SimpleSAML_Error_Exception If the cookie is marked as secure but we are not using HTTPS. + */ + public function getCookieSessionId() + { + if (!self::hasSessionCookie()) { + return null; // there's no session cookie, can't return ID + } + + // do not rely on session_id() as it can return the ID of a previous session. Get it from the cookie instead. + session_id($_COOKIE[$this->cookie_name]); + + $session_cookie_params = session_get_cookie_params(); + + if ($session_cookie_params['secure'] && !HTTP::isHTTPS()) { + throw new \SimpleSAML_Error_Exception('Session start with secure cookie not allowed on http.'); + } + + $this->sessionStart(); + return session_id(); + } + + + /** + * Retrieve the session cookie name. + * + * @return string The session cookie name. + */ + public function getSessionCookieName() + { + return $this->cookie_name; + } + + + /** + * Save the current session to the PHP session array. + * + * @param \SimpleSAML_Session $session The session object we should save. + */ + public function saveSession(\SimpleSAML_Session $session) + { + $_SESSION['SimpleSAMLphp_SESSION'] = serialize($session); + } + + + /** + * Load the session from the PHP session array. + * + * @param string|null $sessionId The ID of the session we should load, or null to use the default. + * + * @return \SimpleSAML_Session|null The session object, or null if it doesn't exist. + * + * @throws \SimpleSAML_Error_Exception If it wasn't possible to disable session cookies or we are trying to load a + * PHP session with a specific identifier and it doesn't match with the current session identifier. + */ + public function loadSession($sessionId = null) + { + assert(is_string($sessionId) || $sessionId === null); + + if ($sessionId !== null) { + if (session_id() === '') { + // session not initiated with getCookieSessionId(), start session without setting cookie + $ret = ini_set('session.use_cookies', '0'); + if ($ret === false) { + throw new \SimpleSAML_Error_Exception('Disabling PHP option session.use_cookies failed.'); + } + + session_id($sessionId); + $this->sessionStart(); + } elseif ($sessionId !== session_id()) { + throw new \SimpleSAML_Error_Exception('Cannot load PHP session with a specific ID.'); + } + } elseif (session_id() === '') { + self::getCookieSessionId(); + } + + if (!isset($_SESSION['SimpleSAMLphp_SESSION'])) { + return null; + } + + $session = $_SESSION['SimpleSAMLphp_SESSION']; + assert(is_string($session)); + + $session = unserialize($session); + + return ($session !== false) ? $session : null; + } + + + /** + * Check whether the session cookie is set. + * + * This function will only return false if is is certain that the cookie isn't set. + * + * @return boolean True if it was set, false otherwise. + */ + public function hasSessionCookie() + { + return array_key_exists($this->cookie_name, $_COOKIE); + } + + + /** + * Get the cookie parameters that should be used for session cookies. + * + * This function contains some adjustments from the default to provide backwards-compatibility. + * + * @return array The cookie parameters for our sessions. + * @link http://www.php.net/manual/en/function.session-get-cookie-params.php + * + * @throws \SimpleSAML_Error_Exception If both 'session.phpsession.limitedpath' and 'session.cookie.path' options + * are set at the same time in the configuration. + */ + public function getCookieParams() + { + $config = \SimpleSAML_Configuration::getInstance(); + + $ret = parent::getCookieParams(); + + if ($config->hasValue('session.phpsession.limitedpath') && $config->hasValue('session.cookie.path')) { + throw new \SimpleSAML_Error_Exception( + 'You cannot set both the session.phpsession.limitedpath and session.cookie.path options.' + ); + } elseif ($config->hasValue('session.phpsession.limitedpath')) { + $ret['path'] = $config->getBoolean( + 'session.phpsession.limitedpath', + false + ) ? $config->getBasePath() : '/'; + } + + $ret['httponly'] = $config->getBoolean('session.phpsession.httponly', true); + + return $ret; + } + + + /** + * Set a session cookie. + * + * @param string $sessionName The name of the session. + * @param string|null $sessionID The session ID to use. Set to null to delete the cookie. + * @param array|null $cookieParams Additional parameters to use for the session cookie. + * + * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie. + */ + public function setCookie($sessionName, $sessionID, array $cookieParams = null) + { + if ($cookieParams === null) { + $cookieParams = session_get_cookie_params(); + } + + if ($cookieParams['secure'] && !HTTP::isHTTPS()) { + throw new CannotSetCookie( + 'Setting secure cookie on plain HTTP is not allowed.', + CannotSetCookie::SECURE_COOKIE + ); + } + + if (headers_sent()) { + throw new CannotSetCookie( + 'Headers already sent.', + CannotSetCookie::HEADERS_SENT + ); + } + + session_set_cookie_params( + $cookieParams['lifetime'], + $cookieParams['path'], + $cookieParams['domain'], + $cookieParams['secure'], + $cookieParams['httponly'] + ); + + if (session_id() !== '') { + // session already started, close it + session_write_close(); + } + + session_id($sessionID); + $this->sessionStart(); + } +} diff --git a/lib/SimpleSAML/SessionHandlerStore.php b/lib/SimpleSAML/SessionHandlerStore.php new file mode 100755 index 0000000..3286542 --- /dev/null +++ b/lib/SimpleSAML/SessionHandlerStore.php @@ -0,0 +1,80 @@ +store = $store; + } + + + /** + * Load a session from the data store. + * + * @param string|null $sessionId The ID of the session we should load, or null to use the default. + * + * @return \SimpleSAML_Session|null The session object, or null if it doesn't exist. + */ + public function loadSession($sessionId = null) + { + assert(is_string($sessionId) || $sessionId === null); + + if ($sessionId === null) { + $sessionId = $this->getCookieSessionId(); + if ($sessionId === null) { + // no session cookie, nothing to load + return null; + } + } + + $session = $this->store->get('session', $sessionId); + if ($session !== null) { + assert($session instanceof \SimpleSAML_Session); + return $session; + } + + return null; + } + + + /** + * Save a session to the data store. + * + * @param \SimpleSAML_Session $session The session object we should save. + */ + public function saveSession(\SimpleSAML_Session $session) + { + $sessionId = $session->getSessionId(); + + $config = \SimpleSAML_Configuration::getInstance(); + $sessionDuration = $config->getInteger('session.duration', 8 * 60 * 60); + $expire = time() + $sessionDuration; + + $this->store->set('session', $sessionId, $session, $expire); + } +} diff --git a/lib/SimpleSAML/Stats.php b/lib/SimpleSAML/Stats.php new file mode 100755 index 0000000..36b6f66 --- /dev/null +++ b/lib/SimpleSAML/Stats.php @@ -0,0 +1,100 @@ +getString('class'); + $cls = SimpleSAML\Module::resolveClass($cls, 'Stats_Output', 'SimpleSAML_Stats_Output'); + + $output = new $cls($config); + return $output; + } + + + /** + * Initialize the outputs. + */ + private static function initOutputs() + { + + $config = SimpleSAML_Configuration::getInstance(); + $outputCfgs = $config->getConfigList('statistics.out', array()); + + self::$outputs = array(); + foreach ($outputCfgs as $cfg) { + self::$outputs[] = self::createOutput($cfg); + } + } + + + /** + * Notify about an event. + * + * @param string $event The event. + * @param array $data Event data. Optional. + * + * @return void|boolean False if output is not enabled, void otherwise. + */ + public static function log($event, array $data = array()) + { + assert(is_string($event)); + assert(!isset($data['op'])); + assert(!isset($data['time'])); + assert(!isset($data['_id'])); + + if (!self::$initialized) { + self::initOutputs(); + self::$initialized = true; + } + + if (empty(self::$outputs)) { + // not enabled + return; + } + + $data['op'] = $event; + $data['time'] = microtime(true); + + // the ID generation is designed to cluster IDs related in time close together + $int_t = (int) $data['time']; + $hd = openssl_random_pseudo_bytes(16); + $data['_id'] = sprintf('%016x%s', $int_t, bin2hex($hd)); + + foreach (self::$outputs as $out) { + $out->emit($data); + } + } +} diff --git a/lib/SimpleSAML/Stats/Output.php b/lib/SimpleSAML/Stats/Output.php new file mode 100755 index 0000000..8b019c8 --- /dev/null +++ b/lib/SimpleSAML/Stats/Output.php @@ -0,0 +1,29 @@ +getString('store.type', null); + if ($storeType === null) { + $storeType = $config->getString('session.handler', 'phpsession'); + } + + switch ($storeType) { + case 'phpsession': + // we cannot support advanced features with the PHP session store + self::$instance = false; + break; + case 'memcache': + self::$instance = new Store\Memcache(); + break; + case 'sql': + self::$instance = new Store\SQL(); + break; + case 'redis': + self::$instance = new Store\Redis(); + break; + default: + // datastore from module + try { + $className = Module::resolveClass($storeType, 'Store', '\SimpleSAML\Store'); + } catch (\Exception $e) { + $c = $config->toArray(); + $c['store.type'] = 'phpsession'; + throw new CriticalConfigurationError( + "Invalid 'store.type' configuration option. Cannot find store '$storeType'.", + null, + $c + ); + } + self::$instance = new $className(); + } + + return self::$instance; + } + + + /** + * Retrieve a value from the data store. + * + * @param string $type The data type. + * @param string $key The key. + * + * @return mixed|null The value. + */ + abstract public function get($type, $key); + + + /** + * Save a value to the data store. + * + * @param string $type The data type. + * @param string $key The key. + * @param mixed $value The value. + * @param int|null $expire The expiration time (unix timestamp), or null if it never expires. + */ + abstract public function set($type, $key, $value, $expire = null); + + + /** + * Delete a value from the data store. + * + * @param string $type The data type. + * @param string $key The key. + */ + abstract public function delete($type, $key); +} diff --git a/lib/SimpleSAML/Store/Memcache.php b/lib/SimpleSAML/Store/Memcache.php new file mode 100755 index 0000000..8f9fcfb --- /dev/null +++ b/lib/SimpleSAML/Store/Memcache.php @@ -0,0 +1,84 @@ +prefix = $config->getString('memcache_store.prefix', 'simpleSAMLphp'); + } + + + /** + * Retrieve a value from the data store. + * + * @param string $type The data type. + * @param string $key The key. + * @return mixed|null The value. + */ + public function get($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + return \SimpleSAML_Memcache::get($this->prefix . '.' . $type . '.' . $key); + } + + + /** + * Save a value to the data store. + * + * @param string $type The data type. + * @param string $key The key. + * @param mixed $value The value. + * @param int|NULL $expire The expiration time (unix timestamp), or NULL if it never expires. + */ + public function set($type, $key, $value, $expire = null) + { + assert(is_string($type)); + assert(is_string($key)); + assert($expire === null || (is_int($expire) && $expire > 2592000)); + + if ($expire === null) { + $expire = 0; + } + + \SimpleSAML_Memcache::set($this->prefix . '.' . $type . '.' . $key, $value, $expire); + } + + + /** + * Delete a value from the data store. + * + * @param string $type The data type. + * @param string $key The key. + */ + public function delete($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + \SimpleSAML_Memcache::delete($this->prefix . '.' . $type . '.' . $key); + } +} diff --git a/lib/SimpleSAML/Store/Redis.php b/lib/SimpleSAML/Store/Redis.php new file mode 100755 index 0000000..d102b01 --- /dev/null +++ b/lib/SimpleSAML/Store/Redis.php @@ -0,0 +1,119 @@ +getString('store.redis.host', 'localhost'); + $port = $config->getInteger('store.redis.port', 6379); + $prefix = $config->getString('store.redis.prefix', 'SimpleSAMLphp'); + + $redis = new \Predis\Client( + array( + 'scheme' => 'tcp', + 'host' => $host, + 'port' => $port, + ), + array( + 'prefix' => $prefix, + ) + ); + } + + $this->redis = $redis; + } + + /** + * Deconstruct the Redis data store. + */ + public function __destruct() + { + if (method_exists($this->redis, 'disconnect')) { + $this->redis->disconnect(); + } + } + + /** + * Retrieve a value from the data store. + * + * @param string $type The type of the data. + * @param string $key The key to retrieve. + * + * @return mixed|null The value associated with that key, or null if there's no such key. + */ + public function get($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + $result = $this->redis->get("{$type}.{$key}"); + + if ($result === false || $result === null) { + return null; + } + + return unserialize($result); + } + + /** + * Save a value in the data store. + * + * @param string $type The type of the data. + * @param string $key The key to insert. + * @param mixed $value The value itself. + * @param int|null $expire The expiration time (unix timestamp), or null if it never expires. + */ + public function set($type, $key, $value, $expire = null) + { + assert(is_string($type)); + assert(is_string($key)); + assert($expire === null || (is_int($expire) && $expire > 2592000)); + + $serialized = serialize($value); + + if ($expire === null) { + $this->redis->set("{$type}.{$key}", $serialized); + } else { + // setex expire time is in seconds (not unix timestamp) + $this->redis->setex("{$type}.{$key}", $expire - time(), $serialized); + } + } + + /** + * Delete an entry from the data store. + * + * @param string $type The type of the data + * @param string $key The key to delete. + */ + public function delete($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + $this->redis->del("{$type}.{$key}"); + } +} diff --git a/lib/SimpleSAML/Store/SQL.php b/lib/SimpleSAML/Store/SQL.php new file mode 100755 index 0000000..c4f2e2c --- /dev/null +++ b/lib/SimpleSAML/Store/SQL.php @@ -0,0 +1,389 @@ +getString('store.sql.dsn'); + $username = $config->getString('store.sql.username', null); + $password = $config->getString('store.sql.password', null); + $options = $config->getArray('store.sql.options', null); + $this->prefix = $config->getString('store.sql.prefix', 'simpleSAMLphp'); + try { + $this->pdo = new \PDO($dsn, $username, $password, $options); + } catch (\PDOException $e) { + throw new \Exception("Database error: " . $e->getMessage()); + } + $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); + + $this->driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME); + + if ($this->driver === 'mysql') { + $this->pdo->exec('SET time_zone = "+00:00"'); + } + + $this->initTableVersionTable(); + $this->initKVTable(); + } + + + /** + * Initialize the table-version table. + */ + private function initTableVersionTable() + { + $this->tableVersions = array(); + + try { + $fetchTableVersion = $this->pdo->query('SELECT _name, _version FROM '.$this->prefix.'_tableVersion'); + } catch (\PDOException $e) { + $this->pdo->exec( + 'CREATE TABLE '.$this->prefix. + '_tableVersion (_name VARCHAR(30) NOT NULL UNIQUE, _version INTEGER NOT NULL)' + ); + return; + } + + while (($row = $fetchTableVersion->fetch(\PDO::FETCH_ASSOC)) !== false) { + $this->tableVersions[$row['_name']] = (int) $row['_version']; + } + } + + + /** + * Initialize key-value table. + */ + private function initKVTable() + { + $current_version = $this->getTableVersion('kvstore'); + + $text_t = 'TEXT'; + if ($this->driver === 'mysql') { + // TEXT data type has size constraints that can be hit at some point, so we use LONGTEXT instead + $text_t = 'LONGTEXT'; + } + + /** + * Queries for updates, grouped by version. + * New updates can be added as a new array in this array + */ + $table_updates = array( + array( + 'CREATE TABLE '.$this->prefix. + '_kvstore (_type VARCHAR(30) NOT NULL, _key VARCHAR(50) NOT NULL, _value '.$text_t. + ' NOT NULL, _expire TIMESTAMP, PRIMARY KEY (_key, _type))', + 'CREATE INDEX '.$this->prefix.'_kvstore_expire ON '.$this->prefix.'_kvstore (_expire)' + ), + /** + * This upgrade removes the default NOT NULL constraint on the _expire field in MySQL. + * Because SQLite does not support field alterations, the approach is to: + * Create a new table without the NOT NULL constraint + * Copy the current data to the new table + * Drop the old table + * Rename the new table correctly + * Readd the index + */ + array( + 'CREATE TABLE '.$this->prefix. + '_kvstore_new (_type VARCHAR(30) NOT NULL, _key VARCHAR(50) NOT NULL, _value '.$text_t. + ' NOT NULL, _expire TIMESTAMP NULL, PRIMARY KEY (_key, _type))', + 'INSERT INTO '.$this->prefix.'_kvstore_new SELECT * FROM ' . $this->prefix.'_kvstore', + 'DROP TABLE '.$this->prefix.'_kvstore', + 'ALTER TABLE '.$this->prefix.'_kvstore_new RENAME TO ' . $this->prefix . '_kvstore', + 'CREATE INDEX '.$this->prefix.'_kvstore_expire ON '.$this->prefix.'_kvstore (_expire)' + ) + ); + + $latest_version = count($table_updates); + + if ($current_version == $latest_version) { + return; + } + + // Only run queries for after the current version + $updates_to_run = array_slice($table_updates, $current_version); + + foreach ($updates_to_run as $version_updates) { + foreach ($version_updates as $query) { + $this->pdo->exec($query); + } + } + + $this->setTableVersion('kvstore', $latest_version); + } + + + /** + * Get table version. + * + * @param string $name Table name. + * + * @return int The table version, or 0 if the table doesn't exist. + */ + public function getTableVersion($name) + { + assert(is_string($name)); + + if (!isset($this->tableVersions[$name])) { + return 0; + } + + return $this->tableVersions[$name]; + } + + + /** + * Set table version. + * + * @param string $name Table name. + * @param int $version Table version. + */ + public function setTableVersion($name, $version) + { + assert(is_string($name)); + assert(is_int($version)); + + $this->insertOrUpdate( + $this->prefix.'_tableVersion', + array('_name'), + array('_name' => $name, '_version' => $version) + ); + $this->tableVersions[$name] = $version; + } + + + /** + * Insert or update a key-value in the store. + * + * Since various databases implement different methods for doing this, we abstract it away here. + * + * @param string $table The table we should update. + * @param array $keys The key columns. + * @param array $data Associative array with columns. + */ + public function insertOrUpdate($table, array $keys, array $data) + { + assert(is_string($table)); + + $colNames = '('.implode(', ', array_keys($data)).')'; + $values = 'VALUES(:'.implode(', :', array_keys($data)).')'; + + switch ($this->driver) { + case 'mysql': + $query = 'REPLACE INTO '.$table.' '.$colNames.' '.$values; + $query = $this->pdo->prepare($query); + $query->execute($data); + return; + case 'sqlite': + $query = 'INSERT OR REPLACE INTO '.$table.' '.$colNames.' '.$values; + $query = $this->pdo->prepare($query); + $query->execute($data); + return; + } + + // default implementation, try INSERT, and UPDATE if that fails. + $insertQuery = 'INSERT INTO '.$table.' '.$colNames.' '.$values; + $insertQuery = $this->pdo->prepare($insertQuery); + try { + $insertQuery->execute($data); + return; + } catch (\PDOException $e) { + $ecode = (string) $e->getCode(); + switch ($ecode) { + case '23505': // PostgreSQL + break; + default: + Logger::error('Error while saving data: '.$e->getMessage()); + throw $e; + } + } + + $updateCols = array(); + $condCols = array(); + foreach ($data as $col => $value) { + $tmp = $col.' = :'.$col; + + if (in_array($col, $keys, true)) { + $condCols[] = $tmp; + } else { + $updateCols[] = $tmp; + } + } + + $updateQuery = 'UPDATE '.$table.' SET '.implode(',', $updateCols).' WHERE '.implode(' AND ', $condCols); + $updateQuery = $this->pdo->prepare($updateQuery); + $updateQuery->execute($data); + } + + + /** + * Clean the key-value table of expired entries. + */ + private function cleanKVStore() + { + Logger::debug('store.sql: Cleaning key-value store.'); + + $query = 'DELETE FROM '.$this->prefix.'_kvstore WHERE _expire < :now'; + $params = array('now' => gmdate('Y-m-d H:i:s')); + + $query = $this->pdo->prepare($query); + $query->execute($params); + } + + + /** + * Retrieve a value from the data store. + * + * @param string $type The type of the data. + * @param string $key The key to retrieve. + * + * @return mixed|null The value associated with that key, or null if there's no such key. + */ + public function get($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + if (strlen($key) > 50) { + $key = sha1($key); + } + + $query = 'SELECT _value FROM '.$this->prefix. + '_kvstore WHERE _type = :type AND _key = :key AND (_expire IS NULL OR _expire > :now)'; + $params = array('type' => $type, 'key' => $key, 'now' => gmdate('Y-m-d H:i:s')); + + $query = $this->pdo->prepare($query); + $query->execute($params); + + $row = $query->fetch(\PDO::FETCH_ASSOC); + if ($row === false) { + return null; + } + + $value = $row['_value']; + if (is_resource($value)) { + $value = stream_get_contents($value); + } + $value = urldecode($value); + $value = unserialize($value); + + if ($value === false) { + return null; + } + return $value; + } + + + /** + * Save a value in the data store. + * + * @param string $type The type of the data. + * @param string $key The key to insert. + * @param mixed $value The value itself. + * @param int|null $expire The expiration time (unix timestamp), or null if it never expires. + */ + public function set($type, $key, $value, $expire = null) + { + assert(is_string($type)); + assert(is_string($key)); + assert($expire === null || (is_int($expire) && $expire > 2592000)); + + if (rand(0, 1000) < 10) { + $this->cleanKVStore(); + } + + if (strlen($key) > 50) { + $key = sha1($key); + } + + if ($expire !== null) { + $expire = gmdate('Y-m-d H:i:s', $expire); + } + + $value = serialize($value); + $value = rawurlencode($value); + + $data = array( + '_type' => $type, + '_key' => $key, + '_value' => $value, + '_expire' => $expire, + ); + + $this->insertOrUpdate($this->prefix.'_kvstore', array('_type', '_key'), $data); + } + + + /** + * Delete an entry from the data store. + * + * @param string $type The type of the data + * @param string $key The key to delete. + */ + public function delete($type, $key) + { + assert(is_string($type)); + assert(is_string($key)); + + if (strlen($key) > 50) { + $key = sha1($key); + } + + $data = array( + '_type' => $type, + '_key' => $key, + ); + + $query = 'DELETE FROM '.$this->prefix.'_kvstore WHERE _type=:_type AND _key=:_key'; + $query = $this->pdo->prepare($query); + $query->execute($data); + } +} diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php new file mode 100755 index 0000000..68cd10b --- /dev/null +++ b/lib/SimpleSAML/Utilities.php @@ -0,0 +1,707 @@ + + * @package SimpleSAMLphp + * + * @deprecated This entire class will be removed in SimpleSAMLphp 2.0. + */ +class SimpleSAML_Utilities +{ + + /** + * @deprecated This property will be removed in SSP 2.0. Please use SimpleSAML\Logger::isErrorMasked() instead. + */ + public static $logMask = 0; + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfHost() instead. + */ + public static function getSelfHost() + { + return \SimpleSAML\Utils\HTTP::getSelfHost(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfURLHost() instead. + */ + public static function selfURLhost() + { + return \SimpleSAML\Utils\HTTP::getSelfURLHost(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::isHTTPS() instead. + */ + public static function isHTTPS() + { + return \SimpleSAML\Utils\HTTP::isHTTPS(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfURLNoQuery() + * instead. + */ + public static function selfURLNoQuery() + { + return \SimpleSAML\Utils\HTTP::getSelfURLNoQuery(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfHostWithPath() + * instead. + */ + public static function getSelfHostWithPath() + { + return \SimpleSAML\Utils\HTTP::getSelfHostWithPath(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getFirstPathElement() + * instead. + */ + public static function getFirstPathElement($trailingslash = true) + { + return \SimpleSAML\Utils\HTTP::getFirstPathElement($trailingslash); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getSelfURL() instead. + */ + public static function selfURL() + { + return \SimpleSAML\Utils\HTTP::getSelfURL(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getBaseURL() instead. + */ + public static function getBaseURL() + { + return \SimpleSAML\Utils\HTTP::getBaseURL(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::addURLParameters() instead. + */ + public static function addURLparameter($url, $parameters) + { + return \SimpleSAML\Utils\HTTP::addURLParameters($url, $parameters); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Utils\HTTP::checkURLAllowed() instead. + */ + public static function checkURLAllowed($url, array $trustedSites = null) + { + return \SimpleSAML\Utils\HTTP::checkURLAllowed($url, $trustedSites); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML_Auth_State::parseStateID() instead. + */ + public static function parseStateID($stateId) + { + return SimpleSAML_Auth_State::parseStateID($stateId); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + public static function checkDateConditions($start = null, $end = null) + { + $currentTime = time(); + + if (!empty($start)) { + $startTime = \SAML2\Utils::xsDateTimeToTimestamp($start); + // Allow for a 10 minute difference in Time + if (($startTime < 0) || (($startTime - 600) > $currentTime)) { + return false; + } + } + if (!empty($end)) { + $endTime = \SAML2\Utils::xsDateTimeToTimestamp($end); + if (($endTime < 0) || ($endTime <= $currentTime)) { + return false; + } + } + return true; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Random::generateID() instead. + */ + public static function generateID() + { + return SimpleSAML\Utils\Random::generateID(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Utils\Time::generateTimestamp() + * instead. + */ + public static function generateTimestamp($instant = null) + { + return SimpleSAML\Utils\Time::generateTimestamp($instant); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Utils\Time::parseDuration() instead. + */ + public static function parseDuration($duration, $timestamp = null) + { + return SimpleSAML\Utils\Time::parseDuration($duration, $timestamp); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please raise a SimpleSAML_Error_Error exception instead. + */ + public static function fatalError($trackId = 'na', $errorCode = null, Exception $e = null) + { + throw new SimpleSAML_Error_Error($errorCode, $e); + } + + + /** + * @deprecated This method will be removed in version 2.0. Use SimpleSAML\Utils\Net::ipCIDRcheck() instead. + */ + public static function ipCIDRcheck($cidr, $ip = null) + { + return SimpleSAML\Utils\Net::ipCIDRcheck($cidr, $ip); + } + + + private static function _doRedirect($url, $parameters = array()) + { + assert(is_string($url)); + assert(!empty($url)); + assert(is_array($parameters)); + + if (!empty($parameters)) { + $url = self::addURLparameter($url, $parameters); + } + + /* Set the HTTP result code. This is either 303 See Other or + * 302 Found. HTTP 303 See Other is sent if the HTTP version + * is HTTP/1.1 and the request type was a POST request. + */ + if ($_SERVER['SERVER_PROTOCOL'] === 'HTTP/1.1' && + $_SERVER['REQUEST_METHOD'] === 'POST' + ) { + $code = 303; + } else { + $code = 302; + } + + if (strlen($url) > 2048) { + SimpleSAML\Logger::warning('Redirecting to a URL longer than 2048 bytes.'); + } + + // Set the location header + header('Location: '.$url, true, $code); + + // Disable caching of this response + header('Pragma: no-cache'); + header('Cache-Control: no-cache, must-revalidate'); + + // Show a minimal web page with a clickable link to the URL + echo ''."\n"; + echo ''."\n"; + echo ''; + echo ' + + Redirect + '; + echo ''; + echo '

Redirect

'; + echo '

'; + echo 'You were redirected to: '; + echo ''.htmlspecialchars($url).''; + echo ''; + echo '

'; + echo ''; + echo ''; + + // End script execution + exit; + } + + + /** + * @deprecated 1.12.0 This method will be removed from the API. Instead, use the redirectTrustedURL() or + * redirectUntrustedURL() functions accordingly. + */ + public static function redirect($url, $parameters = array(), $allowed_redirect_hosts = null) + { + assert(is_string($url)); + assert(strlen($url) > 0); + assert(is_array($parameters)); + + if ($allowed_redirect_hosts !== null) { + $url = self::checkURLAllowed($url, $allowed_redirect_hosts); + } else { + $url = self::normalizeURL($url); + } + self::_doRedirect($url, $parameters); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::redirectTrustedURL() + * instead. + */ + public static function redirectTrustedURL($url, $parameters = array()) + { + \SimpleSAML\Utils\HTTP::redirectTrustedURL($url, $parameters); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::redirectUntrustedURL() + * instead. + */ + public static function redirectUntrustedURL($url, $parameters = array()) + { + \SimpleSAML\Utils\HTTP::redirectUntrustedURL($url, $parameters); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Arrays::transpose() instead. + */ + public static function transposeArray($in) + { + return SimpleSAML\Utils\Arrays::transpose($in); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::isDOMNodeOfType() + * instead. + */ + public static function isDOMElementOfType(DOMNode $element, $name, $nsURI) + { + return SimpleSAML\Utils\XML::isDOMNodeOfType($element, $name, $nsURI); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::getDOMChildren() instead. + */ + public static function getDOMChildren(DOMElement $element, $localName, $namespaceURI) + { + return SimpleSAML\Utils\XML::getDOMChildren($element, $localName, $namespaceURI); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::getDOMText() instead. + */ + public static function getDOMText($element) + { + return SimpleSAML\Utils\XML::getDOMText($element); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getAcceptLanguage() + * instead. + */ + public static function getAcceptLanguage() + { + return \SimpleSAML\Utils\HTTP::getAcceptLanguage(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::isValid() instead. + */ + public static function validateXML($xml, $schema) + { + $result = \SimpleSAML\Utils\XML::isValid($xml, $schema); + return ($result === true) ? '' : $result; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::checkSAMLMessage() instead. + */ + public static function validateXMLDocument($message, $type) + { + \SimpleSAML\Utils\XML::checkSAMLMessage($message, $type); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use openssl_random_pseudo_bytes() instead. + */ + public static function generateRandomBytes($length) + { + assert(is_int($length)); + + return openssl_random_pseudo_bytes($length); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use bin2hex() instead. + */ + public static function stringToHex($bytes) + { + $ret = ''; + for ($i = 0; $i < strlen($bytes); $i++) { + $ret .= sprintf('%02x', ord($bytes[$i])); + } + return $ret; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\System::resolvePath() instead. + */ + public static function resolvePath($path, $base = null) + { + return \SimpleSAML\Utils\System::resolvePath($path, $base); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::resolveURL() instead. + */ + public static function resolveURL($url, $base = null) + { + return \SimpleSAML\Utils\HTTP::resolveURL($url, $base); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::normalizeURL() instead. + */ + public static function normalizeURL($url) + { + return \SimpleSAML\Utils\HTTP::normalizeURL($url); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::parseQueryString() instead. + */ + public static function parseQueryString($query_string) + { + return \SimpleSAML\Utils\HTTP::parseQueryString($query_string); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use + * SimpleSAML\Utils\Attributes::normalizeAttributesArray() instead. + */ + public static function parseAttributes($attributes) + { + return SimpleSAML\Utils\Attributes::normalizeAttributesArray($attributes); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Config::getSecretSalt() instead. + */ + public static function getSecretSalt() + { + return SimpleSAML\Utils\Config::getSecretSalt(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please call error_get_last() directly. + */ + public static function getLastError() + { + + if (!function_exists('error_get_last')) { + return '[Cannot get error message]'; + } + + $error = error_get_last(); + if ($error === null) { + return '[No error message found]'; + } + + return $error['message']; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Config::getCertPath() instead. + */ + public static function resolveCert($path) + { + return \SimpleSAML\Utils\Config::getCertPath($path); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Crypto::loadPublicKey() instead. + */ + public static function loadPublicKey(SimpleSAML_Configuration $metadata, $required = false, $prefix = '') + { + return SimpleSAML\Utils\Crypto::loadPublicKey($metadata, $required, $prefix); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Crypto::loadPrivateKey() instead. + */ + public static function loadPrivateKey(SimpleSAML_Configuration $metadata, $required = false, $prefix = '') + { + return SimpleSAML\Utils\Crypto::loadPrivateKey($metadata, $required, $prefix); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::formatDOMElement() instead. + */ + public static function formatDOMElement(DOMElement $root, $indentBase = '') + { + SimpleSAML\Utils\XML::formatDOMElement($root, $indentBase); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::formatXMLString() instead. + */ + public static function formatXMLString($xml, $indentBase = '') + { + return SimpleSAML\Utils\XML::formatXMLString($xml, $indentBase); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Arrays::arrayize() instead. + */ + public static function arrayize($data, $index = 0) + { + return SimpleSAML\Utils\Arrays::arrayize($data, $index); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Auth::isAdmin() instead. + */ + public static function isAdmin() + { + return SimpleSAML\Utils\Auth::isAdmin(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Auth::getAdminLoginURL instead(); + */ + public static function getAdminLoginURL($returnTo = null) + { + return SimpleSAML\Utils\Auth::getAdminLoginURL($returnTo); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Auth::requireAdmin() instead. + */ + public static function requireAdmin() + { + \SimpleSAML\Utils\Auth::requireAdmin(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::submitPOSTData() instead. + */ + public static function postRedirect($destination, $post) + { + \SimpleSAML\Utils\HTTP::submitPOSTData($destination, $post); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. PLease use SimpleSAML\Utils\HTTP::getPOSTRedirectURL() + * instead. + */ + public static function createPostRedirectLink($destination, $post) + { + return \SimpleSAML\Utils\HTTP::getPOSTRedirectURL($destination, $post); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::getPOSTRedirectURL() + * instead. + */ + public static function createHttpPostRedirectLink($destination, $post) + { + assert(is_string($destination)); + assert(is_array($post)); + + $postId = SimpleSAML\Utils\Random::generateID(); + $postData = array( + 'post' => $post, + 'url' => $destination, + ); + + $session = SimpleSAML_Session::getSessionFromRequest(); + $session->setData('core_postdatalink', $postId, $postData); + + $redirInfo = base64_encode(SimpleSAML\Utils\Crypto::aesEncrypt($session->getSessionId().':'.$postId)); + + $url = SimpleSAML\Module::getModuleURL('core/postredirect.php', array('RedirInfo' => $redirInfo)); + $url = preg_replace("#^https:#", "http:", $url); + + return $url; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. + */ + public static function validateCA($certificate, $caFile) + { + \SimpleSAML\XML\Validator::validateCertificate($certificate, $caFile); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Time::initTimezone() instead. + */ + public static function initTimezone() + { + \SimpleSAML\Utils\Time::initTimezone(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\System::writeFile() instead. + */ + public static function writeFile($filename, $data, $mode = 0600) + { + \SimpleSAML\Utils\System::writeFile($filename, $data, $mode); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\System::getTempDir instead. + */ + public static function getTempDir() + { + return SimpleSAML\Utils\System::getTempDir(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Logger::maskErrors() instead. + */ + public static function maskErrors($mask) + { + SimpleSAML\Logger::maskErrors($mask); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Logger::popErrorMask() instead. + */ + public static function popErrorMask() + { + SimpleSAML\Logger::popErrorMask(); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use + * SimpleSAML\Utils\Config\Metadata::getDefaultEndpoint() instead. + */ + public static function getDefaultEndpoint(array $endpoints, array $bindings = null) + { + return \SimpleSAML\Utils\Config\Metadata::getDefaultEndpoint($endpoints, $bindings); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::checkSessionCookie() + * instead. + */ + public static function checkCookie($retryURL = null) + { + \SimpleSAML\Utils\HTTP::checkSessionCookie($retryURL); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::debugSAMLMessage() instead. + */ + public static function debugMessage($message, $type) + { + \SimpleSAML\Utils\XML::debugSAMLMessage($message, $type); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::fetch() instead. + */ + public static function fetch($path, $context = array(), $getHeaders = false) + { + return \SimpleSAML\Utils\HTTP::fetch($path, $context, $getHeaders); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Crypto::aesEncrypt() instead. + */ + public static function aesEncrypt($clear) + { + return SimpleSAML\Utils\Crypto::aesEncrypt($clear); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\Crypto::aesDecrypt() instead. + */ + public static function aesDecrypt($encData) + { + return SimpleSAML\Utils\Crypto::aesDecrypt($encData); + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\System::getOS() instead. + */ + public static function isWindowsOS() + { + return SimpleSAML\Utils\System::getOS() === SimpleSAML\Utils\System::WINDOWS; + } + + + /** + * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::setCookie() instead. + */ + public static function setCookie($name, $value, array $params = null, $throw = true) + { + \SimpleSAML\Utils\HTTP::setCookie($name, $value, $params, $throw); + } +} diff --git a/lib/SimpleSAML/Utils/Arrays.php b/lib/SimpleSAML/Utils/Arrays.php new file mode 100755 index 0000000..0a51292 --- /dev/null +++ b/lib/SimpleSAML/Utils/Arrays.php @@ -0,0 +1,60 @@ + + * @author Jaime Perez, UNINETT AS + */ + public static function arrayize($data, $index = 0) + { + return (is_array($data)) ? $data : array($index => $data); + } + + + /** + * This function transposes a two-dimensional array, so that $a['k1']['k2'] becomes $a['k2']['k1']. + * + * @param array $array The two-dimensional array to transpose. + * + * @return mixed The transposed array, or false if $array is not a valid two-dimensional array. + * + * @author Andreas Solberg, UNINETT AS + */ + public static function transpose($array) + { + if (!is_array($array)) { + return false; + } + + $ret = array(); + foreach ($array as $k1 => $a2) { + if (!is_array($a2)) { + return false; + } + + foreach ($a2 as $k2 => $v) { + if (!array_key_exists($k2, $ret)) { + $ret[$k2] = array(); + } + $ret[$k2][$k1] = $v; + } + } + return $ret; + } +} diff --git a/lib/SimpleSAML/Utils/Attributes.php b/lib/SimpleSAML/Utils/Attributes.php new file mode 100755 index 0000000..1f49413 --- /dev/null +++ b/lib/SimpleSAML/Utils/Attributes.php @@ -0,0 +1,131 @@ + + * @package SimpleSAML + */ +class Attributes +{ + + /** + * Look for an attribute in a normalized attributes array, failing if it's not there. + * + * @param array $attributes The normalized array containing attributes. + * @param string $expected The name of the attribute we are looking for. + * @param bool $allow_multiple Whether to allow multiple values in the attribute or not. + * + * @return mixed The value of the attribute we are expecting. If the attribute has multiple values and + * $allow_multiple is set to true, the first value will be returned. + * + * @throws \InvalidArgumentException If $attributes is not an array or $expected is not a string. + * @throws \SimpleSAML_Error_Exception If the expected attribute was not found in the attributes array. + */ + public static function getExpectedAttribute($attributes, $expected, $allow_multiple = false) + { + if (!is_array($attributes)) { + throw new \InvalidArgumentException( + 'The attributes array is not an array, it is: '.print_r($attributes, true).'.' + ); + } + + if (!is_string($expected)) { + throw new \InvalidArgumentException( + 'The expected attribute is not a string, it is: '.print_r($expected, true).'.' + ); + } + + if (!array_key_exists($expected, $attributes)) { + throw new \SimpleSAML_Error_Exception("No such attribute '".$expected."' found."); + } + $attribute = $attributes[$expected]; + + if (!is_array($attribute)) { + throw new \InvalidArgumentException('The attributes array is not normalized, values should be arrays.'); + } + + if (count($attribute) === 0) { + throw new \SimpleSAML_Error_Exception("Empty attribute '".$expected."'.'"); + } elseif (count($attribute) > 1) { + if ($allow_multiple === false) { + throw new \SimpleSAML_Error_Exception( + 'More than one value found for the attribute, multiple values not allowed.' + ); + } + } + return reset($attribute); + } + + + /** + * Validate and normalize an array with attributes. + * + * This function takes in an associative array with attributes, and parses and validates + * this array. On success, it will return a normalized array, where each attribute name + * is an index to an array of one or more strings. On failure an exception will be thrown. + * This exception will contain an message describing what is wrong. + * + * @param array $attributes The array containing attributes that we should validate and normalize. + * + * @return array The normalized attributes array. + * @throws \InvalidArgumentException If input is not an array, array keys are not strings or attribute values are + * not strings. + * + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function normalizeAttributesArray($attributes) + { + if (!is_array($attributes)) { + throw new \InvalidArgumentException( + 'The attributes array is not an array, it is: '.print_r($attributes, true).'".' + ); + } + + $newAttrs = array(); + foreach ($attributes as $name => $values) { + if (!is_string($name)) { + throw new \InvalidArgumentException('Invalid attribute name: "'.print_r($name, true).'".'); + } + + $values = Arrays::arrayize($values); + + foreach ($values as $value) { + if (!is_string($value)) { + throw new \InvalidArgumentException( + 'Invalid attribute value for attribute '.$name.': "'.print_r($value, true).'".' + ); + } + } + + $newAttrs[$name] = $values; + } + + return $newAttrs; + } + + + /** + * Extract an attribute's namespace, or revert to default. + * + * This function takes in a namespaced attribute name and splits it in a namespace/attribute name tuple. + * When no namespace is found in the attribute name, it will be namespaced with the default namespace. + * This default namespace can be overriden by supplying a second parameter to this function. + * + * @param string $name The namespaced attribute name. + * @param string $defaultns The default namespace that should be used when no namespace is found. + * + * @return array The attribute name, split to the namespace and the actual attribute name. + */ + public static function getAttributeNamespace($name, $defaultns) + { + $slash = strrpos($name, '/'); + if ($slash !== false) { + $defaultns = substr($name, 0, $slash); + $name = substr($name, $slash + 1); + } + return array(htmlspecialchars($defaultns), htmlspecialchars($name)); + } +} diff --git a/lib/SimpleSAML/Utils/Auth.php b/lib/SimpleSAML/Utils/Auth.php new file mode 100755 index 0000000..cd2dbc2 --- /dev/null +++ b/lib/SimpleSAML/Utils/Auth.php @@ -0,0 +1,76 @@ + $returnTo)); + } + + /** + * Check whether the current user is admin. + * + * @return boolean True if the current user is an admin user, false otherwise. + * + * @author Olav Morken, UNINETT AS + */ + public static function isAdmin() + { + $session = \SimpleSAML_Session::getSessionFromRequest(); + return $session->isValid('admin') || $session->isValid('login-admin'); + } + + /** + * Require admin access to the current page. + * + * This is a helper function for limiting a page to those with administrative access. It will redirect the user to + * a login page if the current user doesn't have admin access. + * + * @return void This function will only return if the user is admin. + * @throws \SimpleSAML_Error_Exception If no "admin" authentication source was configured. + * + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function requireAdmin() + { + if (self::isAdmin()) { + return; + } + + // not authenticated as admin user, start authentication + if (\SimpleSAML_Auth_Source::getById('admin') !== null) { + $as = new \SimpleSAML\Auth\Simple('admin'); + $as->login(); + } else { + throw new \SimpleSAML_Error_Exception( + 'Cannot find "admin" auth source, and admin privileges are required.' + ); + } + } +} diff --git a/lib/SimpleSAML/Utils/ClearableState.php b/lib/SimpleSAML/Utils/ClearableState.php new file mode 100755 index 0000000..b28554c --- /dev/null +++ b/lib/SimpleSAML/Utils/ClearableState.php @@ -0,0 +1,17 @@ + + */ + public static function getCertPath($path) + { + if (!is_string($path)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $globalConfig = \SimpleSAML_Configuration::getInstance(); + $base = $globalConfig->getPathValue('certdir', 'cert/'); + return System::resolvePath($path, $base); + } + + + /** + * Retrieve the secret salt. + * + * This function retrieves the value which is configured as the secret salt. It will check that the value exists + * and is set to a non-default value. If it isn't, an exception will be thrown. + * + * The secret salt can be used as a component in hash functions, to make it difficult to test all possible values + * in order to retrieve the original value. It can also be used as a simple method for signing data, by hashing the + * data together with the salt. + * + * @return string The secret salt. + * @throws \InvalidArgumentException If the secret salt hasn't been configured. + * + * @author Olav Morken, UNINETT AS + */ + public static function getSecretSalt() + { + $secretSalt = \SimpleSAML_Configuration::getInstance()->getString('secretsalt'); + if ($secretSalt === 'defaultsecretsalt') { + throw new \InvalidArgumentException('The "secretsalt" configuration option must be set to a secret value.'); + } + + return $secretSalt; + } + + /** + * Returns the path to the config dir + * + * If the SIMPLESAMLPHP_CONFIG_DIR environment variable has been set, it takes precedence over the default + * $simplesamldir/config directory. + * + * @return string The path to the configuration directory. + */ + public static function getConfigDir() + { + $configDir = dirname(dirname(dirname(__DIR__))) . '/config'; + /** @var string|false $configDirEnv */ + $configDirEnv = getenv('SIMPLESAMLPHP_CONFIG_DIR'); + + if($configDirEnv === false) { + $configDirEnv = getenv('REDIRECT_SIMPLESAMLPHP_CONFIG_DIR'); + } + + if ($configDirEnv !== false) { + if (!is_dir($configDirEnv)) { + throw new \InvalidArgumentException( + sprintf( + 'Config directory specified by environment variable SIMPLESAMLPHP_CONFIG_DIR is not a ' . + 'directory. Given: "%s"', + $configDirEnv + ) + ); + } + $configDir = $configDirEnv; + } + + return $configDir; + } +} diff --git a/lib/SimpleSAML/Utils/Config/Metadata.php b/lib/SimpleSAML/Utils/Config/Metadata.php new file mode 100755 index 0000000..d197430 --- /dev/null +++ b/lib/SimpleSAML/Utils/Config/Metadata.php @@ -0,0 +1,282 @@ + + */ +class Metadata +{ + + /** + * The string that identities Entity Categories. + * + * @var string + */ + public static $ENTITY_CATEGORY = 'http://macedir.org/entity-category'; + + + /** + * The string the identifies the REFEDS "Hide From Discovery" Entity Category. + * + * @var string + */ + public static $HIDE_FROM_DISCOVERY = 'http://refeds.org/category/hide-from-discovery'; + + + /** + * Valid options for the ContactPerson element + * + * The 'attributes' option isn't defined in section 2.3.2.2 of the OASIS document, but + * it is required to allow additons to the main contact person element for trust + * frameworks. + * + * @var array The valid configuration options for a contact configuration array. + * @see "Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0", section 2.3.2.2. + */ + public static $VALID_CONTACT_OPTIONS = array( + 'contactType', + 'emailAddress', + 'givenName', + 'surName', + 'telephoneNumber', + 'company', + 'attributes', + ); + + + /** + * @var array The valid types of contact for a contact configuration array. + * @see "Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0", section 2.3.2.2. + */ + public static $VALID_CONTACT_TYPES = array( + 'technical', + 'support', + 'administrative', + 'billing', + 'other', + ); + + + /** + * Parse and sanitize a contact from an array. + * + * Accepts an array with the following elements: + * - contactType The type of the contact (as string). Mandatory. + * - emailAddress Email address (as string), or array of email addresses. Optional. + * - telephoneNumber Telephone number of contact (as string), or array of telephone numbers. Optional. + * - name Full name of contact, either as , or as , . Optional. + * - surName Surname of contact (as string). Optional. + * - givenName Given name of contact (as string). Optional. + * - company Company name of contact (as string). Optional. + * + * The following values are allowed as "contactType": + * - technical + * - support + * - administrative + * - billing + * - other + * + * If given a "name" it will try to decompose it into its given name and surname, only if neither givenName nor + * surName are present. It works as follows: + * - "surname1 surname2, given_name1 given_name2" + * givenName: "given_name1 given_name2" + * surname: "surname1 surname2" + * - "given_name surname" + * givenName: "given_name" + * surname: "surname" + * + * otherwise it will just return the name as "givenName" in the resulting array. + * + * @param array $contact The contact to parse and sanitize. + * + * @return array An array holding valid contact configuration options. If a key 'name' was part of the input array, + * it will try to decompose the name into its parts, and place the parts into givenName and surName, if those are + * missing. + * @throws \InvalidArgumentException If $contact is neither an array nor null, or the contact does not conform to + * valid configuration rules for contacts. + */ + public static function getContact($contact) + { + if (!(is_array($contact) || is_null($contact))) { + throw new \InvalidArgumentException('Invalid input parameters'); + } + + // check the type + if (!isset($contact['contactType']) || !in_array($contact['contactType'], self::$VALID_CONTACT_TYPES, true)) { + $types = join(', ', array_map( + function ($t) { + return '"'.$t.'"'; + }, + self::$VALID_CONTACT_TYPES + )); + throw new \InvalidArgumentException('"contactType" is mandatory and must be one of '.$types."."); + } + + // check attributes is an associative array + if (isset($contact['attributes'])) { + if (empty($contact['attributes']) + || !is_array($contact['attributes']) + || count(array_filter(array_keys($contact['attributes']), 'is_string')) === 0 + ) { + throw new \InvalidArgumentException('"attributes" must be an array and cannot be empty.'); + } + } + + // try to fill in givenName and surName from name + if (isset($contact['name']) && !isset($contact['givenName']) && !isset($contact['surName'])) { + // first check if it's comma separated + $names = explode(',', $contact['name'], 2); + if (count($names) === 2) { + $contact['surName'] = preg_replace('/\s+/', ' ', trim($names[0])); + $contact['givenName'] = preg_replace('/\s+/', ' ', trim($names[1])); + } else { + // check if it's in "given name surname" format + $names = explode(' ', preg_replace('/\s+/', ' ', trim($contact['name']))); + if (count($names) === 2) { + $contact['givenName'] = preg_replace('/\s+/', ' ', trim($names[0])); + $contact['surName'] = preg_replace('/\s+/', ' ', trim($names[1])); + } else { + // nothing works, return it as given name + $contact['givenName'] = preg_replace('/\s+/', ' ', trim($contact['name'])); + } + } + } + + // check givenName + if (isset($contact['givenName']) && ( + empty($contact['givenName']) || !is_string($contact['givenName']) + ) + ) { + throw new \InvalidArgumentException('"givenName" must be a string and cannot be empty.'); + } + + // check surName + if (isset($contact['surName']) && ( + empty($contact['surName']) || !is_string($contact['surName']) + ) + ) { + throw new \InvalidArgumentException('"surName" must be a string and cannot be empty.'); + } + + // check company + if (isset($contact['company']) && ( + empty($contact['company']) || !is_string($contact['company']) + ) + ) { + throw new \InvalidArgumentException('"company" must be a string and cannot be empty.'); + } + + // check emailAddress + if (isset($contact['emailAddress'])) { + if (empty($contact['emailAddress']) || + !(is_string($contact['emailAddress']) || is_array($contact['emailAddress'])) + ) { + throw new \InvalidArgumentException('"emailAddress" must be a string or an array and cannot be empty.'); + } + if (is_array($contact['emailAddress'])) { + foreach ($contact['emailAddress'] as $address) { + if (!is_string($address) || empty($address)) { + throw new \InvalidArgumentException('Email addresses must be a string and cannot be empty.'); + } + } + } + } + + // check telephoneNumber + if (isset($contact['telephoneNumber'])) { + if (empty($contact['telephoneNumber']) || + !(is_string($contact['telephoneNumber']) || is_array($contact['telephoneNumber'])) + ) { + throw new \InvalidArgumentException( + '"telephoneNumber" must be a string or an array and cannot be empty.' + ); + } + if (is_array($contact['telephoneNumber'])) { + foreach ($contact['telephoneNumber'] as $address) { + if (!is_string($address) || empty($address)) { + throw new \InvalidArgumentException('Telephone numbers must be a string and cannot be empty.'); + } + } + } + } + + // make sure only valid options are outputted + return array_intersect_key($contact, array_flip(self::$VALID_CONTACT_OPTIONS)); + } + + + /** + * Find the default endpoint in an endpoint array. + * + * @param array $endpoints An array with endpoints. + * @param array $bindings An array with acceptable bindings. Can be null if any binding is allowed. + * + * @return array|NULL The default endpoint, or null if no acceptable endpoints are used. + * + * @author Olav Morken, UNINETT AS + */ + public static function getDefaultEndpoint(array $endpoints, array $bindings = null) + { + $firstNotFalse = null; + $firstAllowed = null; + + // look through the endpoint list for acceptable endpoints + foreach ($endpoints as $ep) { + if ($bindings !== null && !in_array($ep['Binding'], $bindings, true)) { + // unsupported binding, skip it + continue; + } + + if (isset($ep['isDefault'])) { + if ($ep['isDefault'] === true) { + // this is the first endpoint with isDefault set to true + return $ep; + } + // isDefault is set to false, but the endpoint is still usable as a last resort + if ($firstAllowed === null) { + // this is the first endpoint that we can use + $firstAllowed = $ep; + } + } else { + if ($firstNotFalse === null) { + // this is the first endpoint without isDefault set + $firstNotFalse = $ep; + } + } + } + + if ($firstNotFalse !== null) { + // we have an endpoint without isDefault set to false + return $firstNotFalse; + } + + /* $firstAllowed either contains the first endpoint we can use, or it contains null if we cannot use any of the + * endpoints. Either way we return its value. + */ + return $firstAllowed; + } + + + /** + * Determine if an entity should be hidden in the discovery service. + * + * This method searches for the "Hide From Discovery" REFEDS Entity Category, and tells if the entity should be + * hidden or not depending on it. + * + * @see https://refeds.org/category/hide-from-discovery + * + * @param array $metadata An associative array with the metadata representing an entity. + * + * @return boolean True if the entity should be hidden, false otherwise. + */ + public static function isHiddenFromDiscovery(array $metadata) + { + \SimpleSAML\Logger::maskErrors(E_ALL); + $hidden = in_array(self::$HIDE_FROM_DISCOVERY, $metadata['EntityAttributes'][self::$ENTITY_CATEGORY], true); + \SimpleSAML\Logger::popErrorMask(); + return $hidden === true; + } +} diff --git a/lib/SimpleSAML/Utils/Crypto.php b/lib/SimpleSAML/Utils/Crypto.php new file mode 100755 index 0000000..749d9d2 --- /dev/null +++ b/lib/SimpleSAML/Utils/Crypto.php @@ -0,0 +1,471 @@ + + * @author Jaime Perez, UNINETT AS + */ + public static function aesDecrypt($ciphertext) + { + return self::_aesDecrypt($ciphertext, Config::getSecretSalt()); + } + + + /** + * Encrypt data using AES-256-CBC and the key provided as a parameter. + * + * @param string $data The data to encrypt. + * @param string $secret The secret to use to encrypt the data. + * + * @return string An HMAC of the encrypted data, the IV and the encrypted data, concatenated. + * @throws \InvalidArgumentException If $data is not a string. + * @throws \SimpleSAML_Error_Exception If the openssl module is not loaded. + * + * @see \SimpleSAML\Utils\Crypto::aesEncrypt() + */ + private static function _aesEncrypt($data, $secret) + { + if (!is_string($data)) { + throw new \InvalidArgumentException('Input parameter "$data" must be a string.'); + } + + if (!function_exists("openssl_encrypt")) { + throw new \SimpleSAML_Error_Exception('The openssl PHP module is not loaded.'); + } + + // derive encryption and authentication keys from the secret + $key = openssl_digest($secret, 'sha512'); + + // generate a random IV + $iv = openssl_random_pseudo_bytes(16); + + // encrypt the message + /** @var string|false $ciphertext */ + $ciphertext = openssl_encrypt( + $data, + 'AES-256-CBC', + substr($key, 0, 64), + defined('OPENSSL_RAW_DATA') ? OPENSSL_RAW_DATA : 1, + $iv + ); + + if ($ciphertext === false) { + throw new \SimpleSAML_Error_Exception("Failed to encrypt plaintext."); + } + + // return the ciphertext with proper authentication + return hash_hmac('sha256', $iv.$ciphertext, substr($key, 64, 64), true).$iv.$ciphertext; + } + + + /** + * Encrypt data using AES-256-CBC and the system-wide secret salt as key. + * + * @param string $data The data to encrypt. + * + * @return string An HMAC of the encrypted data, the IV and the encrypted data, concatenated. + * @throws \InvalidArgumentException If $data is not a string. + * @throws \SimpleSAML_Error_Exception If the openssl module is not loaded. + * + * @author Andreas Solberg, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function aesEncrypt($data) + { + return self::_aesEncrypt($data, Config::getSecretSalt()); + } + + + /** + * Convert data from DER to PEM encoding. + * + * @param string $der Data encoded in DER format. + * @param string $type The type of data we are encoding, as expressed by the PEM header. Defaults to "CERTIFICATE". + * @return string The same data encoded in PEM format. + * @see RFC7648 for known types and PEM format specifics. + */ + public static function der2pem($der, $type = 'CERTIFICATE') + { + return "-----BEGIN ".$type."-----\n". + chunk_split(base64_encode($der), 64, "\n"). + "-----END ".$type."-----\n"; + } + + + /** + * Load a private key from metadata. + * + * This function loads a private key from a metadata array. It looks for the following elements: + * - 'privatekey': Name of a private key file in the cert-directory. + * - 'privatekey_pass': Password for the private key. + * + * It returns and array with the following elements: + * - 'PEM': Data for the private key, in PEM-format. + * - 'password': Password for the private key. + * + * @param \SimpleSAML_Configuration $metadata The metadata array the private key should be loaded from. + * @param bool $required Whether the private key is required. If this is true, a + * missing key will cause an exception. Defaults to false. + * @param string $prefix The prefix which should be used when reading from the metadata + * array. Defaults to ''. + * @param bool $full_path Whether the filename found in the configuration contains the + * full path to the private key or not. Default to false. + * + * @return array|NULL Extracted private key, or NULL if no private key is present. + * @throws \InvalidArgumentException If $required is not boolean or $prefix is not a string. + * @throws \SimpleSAML_Error_Exception If no private key is found in the metadata, or it was not possible to load + * it. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function loadPrivateKey(\SimpleSAML_Configuration $metadata, $required = false, $prefix = '', $full_path = false) + { + if (!is_bool($required) || !is_string($prefix) || !is_bool($full_path)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $file = $metadata->getString($prefix.'privatekey', null); + if ($file === null) { + // no private key found + if ($required) { + throw new \SimpleSAML_Error_Exception('No private key found in metadata.'); + } else { + return null; + } + } + + if (!$full_path) { + $file = Config::getCertPath($file); + } + + $data = @file_get_contents($file); + if ($data === false) { + throw new \SimpleSAML_Error_Exception('Unable to load private key from file "'.$file.'"'); + } + + $ret = array( + 'PEM' => $data, + ); + + if ($metadata->hasValue($prefix.'privatekey_pass')) { + $ret['password'] = $metadata->getString($prefix.'privatekey_pass'); + } + + return $ret; + } + + + /** + * Get public key or certificate from metadata. + * + * This function implements a function to retrieve the public key or certificate from a metadata array. + * + * It will search for the following elements in the metadata: + * - 'certData': The certificate as a base64-encoded string. + * - 'certificate': A file with a certificate or public key in PEM-format. + * - 'certFingerprint': The fingerprint of the certificate. Can be a single fingerprint, or an array of multiple + * valid fingerprints. (deprecated) + * + * This function will return an array with these elements: + * - 'PEM': The public key/certificate in PEM-encoding. + * - 'certData': The certificate data, base64 encoded, on a single line. (Only present if this is a certificate.) + * - 'certFingerprint': Array of valid certificate fingerprints. (Deprecated. Only present if this is a + * certificate.) + * + * @param \SimpleSAML_Configuration $metadata The metadata. + * @param bool $required Whether the private key is required. If this is TRUE, a missing key + * will cause an exception. Default is FALSE. + * @param string $prefix The prefix which should be used when reading from the metadata array. + * Defaults to ''. + * + * @return array|NULL Public key or certificate data, or NULL if no public key or certificate was found. + * @throws \InvalidArgumentException If $metadata is not an instance of \SimpleSAML_Configuration, $required is not + * boolean or $prefix is not a string. + * @throws \SimpleSAML_Error_Exception If no private key is found in the metadata, or it was not possible to load + * it. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + * @author Lasse Birnbaum Jensen + */ + public static function loadPublicKey(\SimpleSAML_Configuration $metadata, $required = false, $prefix = '') + { + if (!is_bool($required) || !is_string($prefix)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $keys = $metadata->getPublicKeys(null, false, $prefix); + if (!empty($keys)) { + foreach ($keys as $key) { + if ($key['type'] !== 'X509Certificate') { + continue; + } + if ($key['signing'] !== true) { + continue; + } + $certData = $key['X509Certificate']; + $pem = "-----BEGIN CERTIFICATE-----\n". + chunk_split($certData, 64). + "-----END CERTIFICATE-----\n"; + $certFingerprint = strtolower(sha1(base64_decode($certData))); + + return array( + 'certData' => $certData, + 'PEM' => $pem, + 'certFingerprint' => array($certFingerprint), + ); + } + // no valid key found + } elseif ($metadata->hasValue($prefix.'certFingerprint')) { + // we only have a fingerprint available + $fps = $metadata->getArrayizeString($prefix.'certFingerprint'); + + // normalize fingerprint(s) - lowercase and no colons + foreach ($fps as &$fp) { + assert(is_string($fp)); + $fp = strtolower(str_replace(':', '', $fp)); + } + + /* + * We can't build a full certificate from a fingerprint, and may as well return an array with only the + * fingerprint(s) immediately. + */ + return array('certFingerprint' => $fps); + } + + // no public key/certificate available + if ($required) { + throw new \SimpleSAML_Error_Exception('No public key / certificate found in metadata.'); + } else { + return null; + } + } + + + /** + * Convert from PEM to DER encoding. + * + * @param string $pem Data encoded in PEM format. + * @return string The same data encoded in DER format. + * @throws \InvalidArgumentException If $pem is not encoded in PEM format. + * @see RFC7648 for PEM format specifics. + */ + public static function pem2der($pem) + { + $pem = trim($pem); + $begin = "-----BEGIN "; + $end = "-----END "; + $lines = explode("\n", $pem); + $last = count($lines) - 1; + + if (strpos($lines[0], $begin) !== 0) { + throw new \InvalidArgumentException("pem2der: input is not encoded in PEM format."); + } + unset($lines[0]); + if (strpos($lines[$last], $end) !== 0) { + throw new \InvalidArgumentException("pem2der: input is not encoded in PEM format."); + } + unset($lines[$last]); + + return base64_decode(implode($lines)); + } + + + /** + * This function hashes a password with a given algorithm. + * + * @param string $password The password to hash. + * @param string $algorithm The hashing algorithm, uppercase, optionally prepended with 'S' (salted). See + * hash_algos() for a complete list of hashing algorithms. + * @param string $salt An optional salt to use. + * + * @return string The hashed password. + * @throws \InvalidArgumentException If the input parameters are not strings. + * @throws \SimpleSAML_Error_Exception If the algorithm specified is not supported. + * + * @see hash_algos() + * + * @author Dyonisius Visser, TERENA + * @author Jaime Perez, UNINETT AS + */ + public static function pwHash($password, $algorithm, $salt = null) + { + if (!is_string($algorithm) || !is_string($password)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + // hash w/o salt + if (in_array(strtolower($algorithm), hash_algos(), true)) { + $alg_str = '{'.str_replace('SHA1', 'SHA', $algorithm).'}'; // LDAP compatibility + $hash = hash(strtolower($algorithm), $password, true); + return $alg_str.base64_encode($hash); + } + + // hash w/ salt + if ($salt === null) { // no salt provided, generate one + // default 8 byte salt, but 4 byte for LDAP SHA1 hashes + $bytes = ($algorithm == 'SSHA1') ? 4 : 8; + $salt = openssl_random_pseudo_bytes($bytes); + } + + if ($algorithm[0] == 'S' && in_array(substr(strtolower($algorithm), 1), hash_algos(), true)) { + $alg = substr(strtolower($algorithm), 1); // 'sha256' etc + $alg_str = '{'.str_replace('SSHA1', 'SSHA', $algorithm).'}'; // LDAP compatibility + $hash = hash($alg, $password.$salt, true); + return $alg_str.base64_encode($hash.$salt); + } + + throw new \SimpleSAML_Error_Exception('Hashing algorithm \''.strtolower($algorithm).'\' is not supported'); + } + + + /** + * Compare two strings securely. + * + * This method checks if two strings are equal in constant time, avoiding timing attacks. Use it every time we need + * to compare a string with a secret that shouldn't be leaked, i.e. when verifying passwords, one-time codes, etc. + * + * @param string $known A known string. + * @param string $user A user-provided string to compare with the known string. + * + * @return bool True if both strings are equal, false otherwise. + */ + public static function secureCompare($known, $user) + { + if (function_exists('hash_equals')) { + // use hash_equals() if available (PHP >= 5.6) + return hash_equals($known, $user); + } + + // compare manually in constant time + $len = mb_strlen($known, '8bit'); // see mbstring.func_overload + if ($len !== mb_strlen($user, '8bit')) { + return false; // length differs + } + $diff = 0; + for ($i = 0; $i < $len; $i++) { + $diff |= ord($known[$i]) ^ ord($user[$i]); + } + // if all the bytes in $a and $b are identical, $diff should be equal to 0 + return $diff === 0; + } + + + /** + * This function checks if a password is valid + * + * @param string $hash The password as it appears in password file, optionally prepended with algorithm. + * @param string $password The password to check in clear. + * + * @return boolean True if the hash corresponds with the given password, false otherwise. + * @throws \InvalidArgumentException If the input parameters are not strings. + * @throws \SimpleSAML_Error_Exception If the algorithm specified is not supported. + * + * @author Dyonisius Visser, TERENA + */ + public static function pwValid($hash, $password) + { + if (!is_string($hash) || !is_string($password)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + // match algorithm string (e.g. '{SSHA256}', '{MD5}') + if (preg_match('/^{(.*?)}(.*)$/', $hash, $matches)) { + // LDAP compatibility + $alg = preg_replace('/^(S?SHA)$/', '${1}1', $matches[1]); + + // hash w/o salt + if (in_array(strtolower($alg), hash_algos(), true)) { + return self::secureCompare($hash, self::pwHash($password, $alg)); + } + + // hash w/ salt + if ($alg[0] === 'S' && in_array(substr(strtolower($alg), 1), hash_algos(), true)) { + $php_alg = substr(strtolower($alg), 1); + + // get hash length of this algorithm to learn how long the salt is + $hash_length = strlen(hash($php_alg, '', true)); + $salt = substr(base64_decode($matches[2]), $hash_length); + return self::secureCompare($hash, self::pwHash($password, $alg, $salt)); + } + } else { + return $hash === $password; + } + + throw new \SimpleSAML_Error_Exception('Hashing algorithm \''.strtolower($alg).'\' is not supported'); + } +} diff --git a/lib/SimpleSAML/Utils/HTTP.php b/lib/SimpleSAML/Utils/HTTP.php new file mode 100755 index 0000000..d33b85a --- /dev/null +++ b/lib/SimpleSAML/Utils/HTTP.php @@ -0,0 +1,1222 @@ + + */ + private static function getSecurePOSTRedirectURL($destination, $data) + { + $session = \SimpleSAML_Session::getSessionFromRequest(); + $id = self::savePOSTData($session, $destination, $data); + + // get the session ID + $session_id = $session->getSessionId(); + if (is_null($session_id)) { + // this is a transient session, it is pointless to continue + throw new \SimpleSAML_Error_Exception('Cannot save POST data to a transient session.'); + } + + // encrypt the session ID and the random ID + $info = base64_encode(Crypto::aesEncrypt($session_id.':'.$id)); + + $url = Module::getModuleURL('core/postredirect.php', array('RedirInfo' => $info)); + return preg_replace('#^https:#', 'http:', $url); + } + + + /** + * Retrieve Host value from $_SERVER environment variables. + * + * @return string The current host name, including the port if needed. It will use localhost when unable to + * determine the current host. + * + * @author Olav Morken, UNINETT AS + */ + private static function getServerHost() + { + if (array_key_exists('HTTP_HOST', $_SERVER)) { + $current = $_SERVER['HTTP_HOST']; + } elseif (array_key_exists('SERVER_NAME', $_SERVER)) { + $current = $_SERVER['SERVER_NAME']; + } else { + // almost certainly not what you want, but... + $current = 'localhost'; + } + + if (strstr($current, ":")) { + $decomposed = explode(":", $current); + $port = array_pop($decomposed); + if (!is_numeric($port)) { + array_push($decomposed, $port); + } + $current = implode(":", $decomposed); + } + return $current; + } + + + /** + * Retrieve HTTPS status from $_SERVER environment variables. + * + * @return boolean True if the request was performed through HTTPS, false otherwise. + * + * @author Olav Morken, UNINETT AS + */ + public static function getServerHTTPS() + { + if (!array_key_exists('HTTPS', $_SERVER)) { + // not an https-request + return false; + } + + if ($_SERVER['HTTPS'] === 'off') { + // IIS with HTTPS off + return false; + } + + // otherwise, HTTPS will be non-empty + return !empty($_SERVER['HTTPS']); + } + + + /** + * Retrieve the port number from $_SERVER environment variables. + * + * @return string The port number prepended by a colon, if it is different than the default port for the protocol + * (80 for HTTP, 443 for HTTPS), or an empty string otherwise. + * + * @author Olav Morken, UNINETT AS + */ + public static function getServerPort() + { + $default_port = self::getServerHTTPS() ? '443' : '80'; + $port = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : $default_port; + + // Take care of edge-case where SERVER_PORT is an integer + $port = strval($port); + + if ($port !== $default_port) { + return ':'.$port; + } + return ''; + } + + + /** + * This function redirects the user to the specified address. + * + * This function will use the "HTTP 303 See Other" redirection if the current request used the POST method and the + * HTTP version is 1.1. Otherwise, a "HTTP 302 Found" redirection will be used. + * + * The function will also generate a simple web page with a clickable link to the target page. + * + * @param string $url The URL we should redirect to. This URL may include query parameters. If this URL is a + * relative URL (starting with '/'), then it will be turned into an absolute URL by prefixing it with the + * absolute URL to the root of the website. + * @param string[] $parameters An array with extra query string parameters which should be appended to the URL. The + * name of the parameter is the array index. The value of the parameter is the value stored in the index. Both + * the name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just + * the name, without a value. + * + * @return void This function never returns. + * @throws \InvalidArgumentException If $url is not a string or is empty, or $parameters is not an array. + * + * @author Olav Morken, UNINETT AS + * @author Mads Freek Petersen + * @author Jaime Perez, UNINETT AS + */ + private static function redirect($url, $parameters = array()) + { + if (!is_string($url) || empty($url) || !is_array($parameters)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + if (!empty($parameters)) { + $url = self::addURLParameters($url, $parameters); + } + + /* Set the HTTP result code. This is either 303 See Other or + * 302 Found. HTTP 303 See Other is sent if the HTTP version + * is HTTP/1.1 and the request type was a POST request. + */ + if ($_SERVER['SERVER_PROTOCOL'] === 'HTTP/1.1' && + $_SERVER['REQUEST_METHOD'] === 'POST' + ) { + $code = 303; + } else { + $code = 302; + } + + if (strlen($url) > 2048) { + Logger::warning('Redirecting to a URL longer than 2048 bytes.'); + } + + if (!headers_sent()) { + // set the location header + header('Location: '.$url, true, $code); + + // disable caching of this response + header('Pragma: no-cache'); + header('Cache-Control: no-cache, no-store, must-revalidate'); + } + + // show a minimal web page with a clickable link to the URL + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo " \n"; + echo ' '."\n"; + echo ' '."\n"; + echo " Redirect\n"; + echo " \n"; + echo " \n"; + echo "

Redirect

\n"; + echo '

You were redirected to: '; + echo htmlspecialchars($url)."\n"; + echo ' '."\n"; + echo "

\n"; + echo " \n"; + echo ''; + + // end script execution + exit; + } + + + /** + * Save the given HTTP POST data and the destination where it should be posted to a given session. + * + * @param \SimpleSAML_Session $session The session where to temporarily store the data. + * @param string $destination The destination URL where the form should be posted. + * @param array $data An associative array with the data to be posted to $destination. + * + * @return string A random identifier that can be used to retrieve the data from the current session. + * + * @author Andjelko Horvat + * @author Jaime Perez, UNINETT AS + */ + private static function savePOSTData(\SimpleSAML_Session $session, $destination, $data) + { + // generate a random ID to avoid replay attacks + $id = Random::generateID(); + $postData = array( + 'post' => $data, + 'url' => $destination, + ); + + // save the post data to the session, tied to the random ID + $session->setData('core_postdatalink', $id, $postData); + + return $id; + } + + + /** + * Add one or more query parameters to the given URL. + * + * @param string $url The URL the query parameters should be added to. + * @param array $parameters The query parameters which should be added to the url. This should be an associative + * array. + * + * @return string The URL with the new query parameters. + * @throws \InvalidArgumentException If $url is not a string or $parameters is not an array. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function addURLParameters($url, $parameters) + { + if (!is_string($url) || !is_array($parameters)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $queryStart = strpos($url, '?'); + if ($queryStart === false) { + $oldQuery = array(); + $url .= '?'; + } else { + /** @var string|false $oldQuery */ + $oldQuery = substr($url, $queryStart + 1); + if ($oldQuery === false) { + $oldQuery = array(); + } else { + $oldQuery = self::parseQueryString($oldQuery); + } + $url = substr($url, 0, $queryStart + 1); + } + + /** @var array $oldQuery */ + $query = array_merge($oldQuery, $parameters); + $url .= http_build_query($query, '', '&'); + + return $url; + } + + + /** + * Check for session cookie, and show missing-cookie page if it is missing. + * + * @param string|null $retryURL The URL the user should access to retry the operation. Defaults to null. + * + * @return void If there is a session cookie, nothing will be returned. Otherwise, the user will be redirected to a + * page telling about the missing cookie. + * @throws \InvalidArgumentException If $retryURL is neither a string nor null. + * + * @author Olav Morken, UNINETT AS + */ + public static function checkSessionCookie($retryURL = null) + { + if (!is_null($retryURL) && !is_string($retryURL)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $session = \SimpleSAML_Session::getSessionFromRequest(); + if ($session->hasSessionCookie()) { + return; + } + + // we didn't have a session cookie. Redirect to the no-cookie page + + $url = Module::getModuleURL('core/no_cookie.php'); + if ($retryURL !== null) { + $url = self::addURLParameters($url, array('retryURL' => $retryURL)); + } + self::redirectTrustedURL($url); + } + + + /** + * Check if a URL is valid and is in our list of allowed URLs. + * + * @param string $url The URL to check. + * @param array $trustedSites An optional white list of domains. If none specified, the 'trusted.url.domains' + * configuration directive will be used. + * + * @return string The normalized URL itself if it is allowed. An empty string if the $url parameter is empty as + * defined by the empty() function. + * @throws \InvalidArgumentException If the URL is malformed. + * @throws \SimpleSAML_Error_Exception If the URL is not allowed by configuration. + * + * @author Jaime Perez, UNINETT AS + */ + public static function checkURLAllowed($url, array $trustedSites = null) + { + if (empty($url)) { + return ''; + } + $url = self::normalizeURL($url); + + if (filter_var($url, FILTER_VALIDATE_URL) === false) { + throw new \SimpleSAML_Error_Exception('Invalid URL: '.$url); + } + + // get the white list of domains + if ($trustedSites === null) { + $trustedSites = \SimpleSAML_Configuration::getInstance()->getValue('trusted.url.domains', array()); + } + + // validates the URL's host is among those allowed + if (is_array($trustedSites)) { + assert(is_array($trustedSites)); + $components = parse_url($url); + $hostname = $components['host']; + + // check for userinfo + if ((isset($components['user']) && strpos($components['user'], '\\') !== false) || + (isset($components['pass']) && strpos($components['pass'], '\\') !== false) + ) { + throw new \SimpleSAML_Error_Exception('Invalid URL: '.$url); + } + + // allow URLs with standard ports specified (non-standard ports must then be allowed explicitly) + if (isset($components['port']) && + (($components['scheme'] === 'http' && $components['port'] !== 80) || + ($components['scheme'] === 'https' && $components['port'] !== 443)) + ) { + $hostname = $hostname.':'.$components['port']; + } + + $self_host = self::getSelfHostWithNonStandardPort(); + + $trustedRegex = \SimpleSAML_Configuration::getInstance()->getValue('trusted.url.regex', false); + + $trusted = false; + if ($trustedRegex) { + // add self host to the white list + $trustedSites[] = preg_quote($self_host); + foreach ($trustedSites as $regex) { + // Add start and end delimiters. + $regex = "@^{$regex}$@"; + if (preg_match($regex, $hostname)) { + $trusted = true; + break; + } + } + } else { + // add self host to the white list + $trustedSites[] = $self_host; + $trusted = in_array($hostname, $trustedSites, true); + } + + // throw exception due to redirection to untrusted site + if (!$trusted) { + throw new \SimpleSAML_Error_Exception('URL not allowed: '.$url); + } + } + return $url; + } + + + /** + * Helper function to retrieve a file or URL with proxy support, also + * supporting proxy basic authorization.. + * + * An exception will be thrown if we are unable to retrieve the data. + * + * @param string $url The path or URL we should fetch. + * @param array $context Extra context options. This parameter is optional. + * @param boolean $getHeaders Whether to also return response headers. Optional. + * + * @return string|array An array if $getHeaders is set, containing the data and the headers respectively; string + * otherwise. + * @throws \InvalidArgumentException If the input parameters are invalid. + * @throws \SimpleSAML_Error_Exception If the file or URL cannot be retrieved. + * + * @author Andjelko Horvat + * @author Olav Morken, UNINETT AS + * @author Marco Ferrante, University of Genova + */ + public static function fetch($url, $context = array(), $getHeaders = false) + { + if (!is_string($url)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $config = \SimpleSAML_Configuration::getInstance(); + + $proxy = $config->getString('proxy', null); + if ($proxy !== null) { + if (!isset($context['http']['proxy'])) { + $context['http']['proxy'] = $proxy; + } + $proxy_auth = $config->getString('proxy.auth', false); + if ($proxy_auth !== false) { + $context['http']['header'] = "Proxy-Authorization: Basic ".base64_encode($proxy_auth); + } + if (!isset($context['http']['request_fulluri'])) { + $context['http']['request_fulluri'] = true; + } + /* + * If the remote endpoint over HTTPS uses the SNI extension (Server Name Indication RFC 4366), the proxy + * could introduce a mismatch between the names in the Host: HTTP header and the SNI_server_name in TLS + * negotiation (thanks to Cristiano Valli @ GARR-IDEM to have pointed this problem). + * See: https://bugs.php.net/bug.php?id=63519 + * These controls will force the same value for both fields. + * Marco Ferrante (marco@csita.unige.it), Nov 2012 + */ + if (preg_match('#^https#i', $url) + && defined('OPENSSL_TLSEXT_SERVER_NAME') + && OPENSSL_TLSEXT_SERVER_NAME + ) { + // extract the hostname + $hostname = parse_url($url, PHP_URL_HOST); + if (!empty($hostname)) { + $context['ssl'] = array( + 'SNI_server_name' => $hostname, + 'SNI_enabled' => true, + ); + } else { + Logger::warning('Invalid URL format or local URL used through a proxy'); + } + } + } + + $context = stream_context_create($context); + $data = @file_get_contents($url, false, $context); + if ($data === false) { + $error = error_get_last(); + throw new \SimpleSAML_Error_Exception('Error fetching '.var_export($url, true).':'. + (is_array($error) ? $error['message'] : 'no error available')); + } + + // data and headers + if ($getHeaders) { + if (isset($http_response_header)) { + $headers = array(); + foreach ($http_response_header as $h) { + if (preg_match('@^HTTP/1\.[01]\s+\d{3}\s+@', $h)) { + $headers = array(); // reset + $headers[0] = $h; + continue; + } + $bits = explode(':', $h, 2); + if (count($bits) === 2) { + $headers[strtolower($bits[0])] = trim($bits[1]); + } + } + } else { + // no HTTP headers, probably a different protocol, e.g. file + $headers = null; + } + return array($data, $headers); + } + + return $data; + } + + + /** + * This function parses the Accept-Language HTTP header and returns an associative array with each language and the + * score for that language. If a language includes a region, then the result will include both the language with + * the region and the language without the region. + * + * The returned array will be in the same order as the input. + * + * @return array An associative array with each language and the score for that language. + * + * @author Olav Morken, UNINETT AS + */ + public static function getAcceptLanguage() + { + if (!array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) { + // no Accept-Language header, return an empty set + return array(); + } + + $languages = explode(',', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE'])); + + $ret = array(); + + foreach ($languages as $l) { + $opts = explode(';', $l); + + $l = trim(array_shift($opts)); // the language is the first element + + $q = 1.0; + + // iterate over all options, and check for the quality option + foreach ($opts as $o) { + $o = explode('=', $o); + if (count($o) < 2) { + // skip option with no value + continue; + } + + $name = trim($o[0]); + $value = trim($o[1]); + + if ($name === 'q') { + $q = (float) $value; + } + } + + // remove the old key to ensure that the element is added to the end + unset($ret[$l]); + + // set the quality in the result + $ret[$l] = $q; + + if (strpos($l, '-')) { + // the language includes a region part + + // extract the language without the region + $l = explode('-', $l); + $l = $l[0]; + + // add this language to the result (unless it is defined already) + if (!array_key_exists($l, $ret)) { + $ret[$l] = $q; + } + } + } + return $ret; + } + + + /** + * Try to guess the base SimpleSAMLphp path from the current request. + * + * This method offers just a guess, so don't rely on it. + * + * @return string The guessed base path that should correspond to the root installation of SimpleSAMLphp. + */ + public static function guessBasePath() + { + if (!array_key_exists('REQUEST_URI', $_SERVER) || !array_key_exists('SCRIPT_FILENAME', $_SERVER)) { + return '/'; + } + // get the name of the current script + $path = explode('/', $_SERVER['SCRIPT_FILENAME']); + $script = array_pop($path); + + // get the portion of the URI up to the script, i.e.: /simplesaml/some/directory/script.php + if (!preg_match('#^/(?:[^/]+/)*'.$script.'#', $_SERVER['REQUEST_URI'], $matches)) { + return '/'; + } + $uri_s = explode('/', $matches[0]); + $file_s = explode('/', $_SERVER['SCRIPT_FILENAME']); + + // compare both arrays from the end, popping elements matching out of them + while ($uri_s[count($uri_s) - 1] === $file_s[count($file_s) - 1]) { + array_pop($uri_s); + array_pop($file_s); + } + // we are now left with the minimum part of the URI that does not match anything in the file system, use it + return join('/', $uri_s).'/'; + } + + + /** + * Retrieve the base URL of the SimpleSAMLphp installation. The URL will always end with a '/'. For example: + * https://idp.example.org/simplesaml/ + * + * @return string The absolute base URL for the SimpleSAMLphp installation. + * @throws \SimpleSAML\Error\CriticalConfigurationError If 'baseurlpath' has an invalid format. + * + * @author Olav Morken, UNINETT AS + */ + public static function getBaseURL() + { + $globalConfig = \SimpleSAML_Configuration::getInstance(); + $baseURL = $globalConfig->getString('baseurlpath', 'simplesaml/'); + + if (preg_match('#^https?://.*/?$#D', $baseURL, $matches)) { + // full URL in baseurlpath, override local server values + return rtrim($baseURL, '/').'/'; + } elseif ((preg_match('#^/?([^/]?.*/)$#D', $baseURL, $matches)) || + (preg_match('#^\*(.*)/$#D', $baseURL, $matches)) || + ($baseURL === '') + ) { + // get server values + $protocol = 'http'; + $protocol .= (self::getServerHTTPS()) ? 's' : ''; + $protocol .= '://'; + + $hostname = self::getServerHost(); + $port = self::getServerPort(); + $path = $globalConfig->getBasePath(); + + return $protocol.$hostname.$port.$path; + } else { + /* + * Invalid 'baseurlpath'. We cannot recover from this, so throw a critical exception and try to be graceful + * with the configuration. Use a guessed base path instead of the one provided. + */ + $c = $globalConfig->toArray(); + $c['baseurlpath'] = self::guessBasePath(); + throw new \SimpleSAML\Error\CriticalConfigurationError( + 'Invalid value for \'baseurlpath\' in config.php. Valid format is in the form: '. + '[(http|https)://(hostname|fqdn)[:port]]/[path/to/simplesaml/]. It must end with a \'/\'.', + null, + $c + ); + } + } + + + /** + * Retrieve the first element of the URL path. + * + * @param boolean $trailingslash Whether to add a trailing slash to the element or not. Defaults to true. + * + * @return string The first element of the URL path, with an optional, trailing slash. + * + * @author Andreas Solberg, UNINETT AS + */ + public static function getFirstPathElement($trailingslash = true) + { + if (preg_match('|^/(.*?)/|', $_SERVER['SCRIPT_NAME'], $matches)) { + return ($trailingslash ? '/' : '').$matches[1]; + } + return ''; + } + + + /** + * Create a link which will POST data. + * + * @param string $destination The destination URL. + * @param array $data The name-value pairs which will be posted to the destination. + * + * @return string A URL which can be accessed to post the data. + * @throws \InvalidArgumentException If $destination is not a string or $data is not an array. + * + * @author Andjelko Horvat + * @author Jaime Perez, UNINETT AS + */ + public static function getPOSTRedirectURL($destination, $data) + { + if (!is_string($destination) || !is_array($data)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $config = \SimpleSAML_Configuration::getInstance(); + $allowed = $config->getBoolean('enable.http_post', false); + + if ($allowed && preg_match("#^http:#", $destination) && self::isHTTPS()) { + // we need to post the data to HTTP + $url = self::getSecurePOSTRedirectURL($destination, $data); + } else { // post the data directly + $session = \SimpleSAML_Session::getSessionFromRequest(); + $id = self::savePOSTData($session, $destination, $data); + $url = Module::getModuleURL('core/postredirect.php', array('RedirId' => $id)); + } + + return $url; + } + + + /** + * Retrieve our own host. + * + * E.g. www.example.com + * + * @return string The current host. + * + * @author Jaime Perez, UNINETT AS + */ + public static function getSelfHost() + { + $decomposed = explode(':', self::getSelfHostWithNonStandardPort()); + return array_shift($decomposed); + } + + /** + * Retrieve our own host, including the port in case the it is not standard for the protocol in use. That is port + * 80 for HTTP and port 443 for HTTPS. + * + * E.g. www.example.com:8080 + * + * @return string The current host, followed by a colon and the port number, in case the port is not standard for + * the protocol. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function getSelfHostWithNonStandardPort() + { + $url = self::getBaseURL(); + + /** @var int $colon getBaseURL() will allways return a valid URL */ + $colon = strpos($url, '://'); + $start = $colon + 3; + $length = strcspn($url, '/', $start); + + return substr($url, $start, $length); + } + + /** + * Retrieve our own host together with the URL path. Please note this function will return the base URL for the + * current SP, as defined in the global configuration. + * + * @return string The current host (with non-default ports included) plus the URL path. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function getSelfHostWithPath() + { + $baseurl = explode("/", self::getBaseURL()); + $elements = array_slice($baseurl, 3 - count($baseurl), count($baseurl) - 4); + $path = implode("/", $elements); + return self::getSelfHostWithNonStandardPort()."/".$path; + } + + + /** + * Retrieve the current URL using the base URL in the configuration, if possible. + * + * This method will try to see if the current script is part of SimpleSAMLphp. In that case, it will use the + * 'baseurlpath' configuration option to rebuild the current URL based on that. If the current script is NOT + * part of SimpleSAMLphp, it will just return the current URL. + * + * Note that this method does NOT make use of the HTTP X-Forwarded-* set of headers. + * + * @return string The current URL, including query parameters. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function getSelfURL() + { + $cfg = \SimpleSAML_Configuration::getInstance(); + $baseDir = $cfg->getBaseDir(); + $cur_path = realpath($_SERVER['SCRIPT_FILENAME']); + // make sure we got a string from realpath() + $cur_path = is_string($cur_path) ? $cur_path : ''; + // find the path to the current script relative to the www/ directory of SimpleSAMLphp + $rel_path = str_replace($baseDir.'www'.DIRECTORY_SEPARATOR, '', $cur_path); + // convert that relative path to an HTTP query + $url_path = str_replace(DIRECTORY_SEPARATOR, '/', $rel_path); + // find where the relative path starts in the current request URI + $uri_pos = (!empty($url_path)) ? strpos($_SERVER['REQUEST_URI'], $url_path) : false; + + if ($cur_path == $rel_path || $uri_pos === false) { + /* + * We were accessed from an external script. This can happen in the following cases: + * + * - $_SERVER['SCRIPT_FILENAME'] points to a script that doesn't exist. E.g. functional testing. In this + * case, realpath() returns false and str_replace an empty string, so we compare them loosely. + * + * - The URI requested does not belong to a script in the www/ directory of SimpleSAMLphp. In that case, + * removing SimpleSAMLphp's base dir from the current path yields the same path, so $cur_path and + * $rel_path are equal. + * + * - The request URI does not match the current script. Even if the current script is located in the www/ + * directory of SimpleSAMLphp, the URI does not contain its relative path, and $uri_pos is false. + * + * It doesn't matter which one of those cases we have. We just know we can't apply our base URL to the + * current URI, so we need to build it back from the PHP environment, unless we have a base URL specified + * for this case in the configuration. First, check if that's the case. + */ + + /** @var \SimpleSAML_Configuration $appcfg */ + $appcfg = $cfg->getConfigItem('application', null); + $appurl = ($appcfg instanceof \SimpleSAML_Configuration) ? $appcfg->getString('baseURL', '') : ''; + if (!empty($appurl)) { + $protocol = parse_url($appurl, PHP_URL_SCHEME); + $hostname = parse_url($appurl, PHP_URL_HOST); + $port = parse_url($appurl, PHP_URL_PORT); + $port = !empty($port) ? ':'.$port : ''; + } else { // no base URL specified for app, just use the current URL + $protocol = 'http'; + $protocol .= (self::getServerHTTPS()) ? 's' : ''; + $hostname = self::getServerHost(); + $port = self::getServerPort(); + } + return $protocol.'://'.$hostname.$port.$_SERVER['REQUEST_URI']; + } + + return self::getBaseURL().$url_path.substr($_SERVER['REQUEST_URI'], $uri_pos + strlen($url_path)); + } + + + /** + * Retrieve the current URL using the base URL in the configuration, containing the protocol, the host and + * optionally, the port number. + * + * @return string The current URL without path or query parameters. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function getSelfURLHost() + { + $url = self::getSelfURL(); + + /** @var int $colon getBaseURL() will allways return a valid URL */ + $colon = strpos($url, '://'); + $start = $colon + 3; + $length = strcspn($url, '/', $start) + $start; + return substr($url, 0, $length); + } + + + /** + * Retrieve the current URL using the base URL in the configuration, without the query parameters. + * + * @return string The current URL, not including query parameters. + * + * @author Andreas Solberg, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function getSelfURLNoQuery() + { + $url = self::getSelfURL(); + $pos = strpos($url, '?'); + if (!$pos) { + return $url; + } + return substr($url, 0, $pos); + } + + + /** + * This function checks if we are using HTTPS as protocol. + * + * @return boolean True if the HTTPS is used, false otherwise. + * + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function isHTTPS() + { + return strpos(self::getSelfURL(), 'https://') === 0; + } + + + /** + * Normalizes a URL to an absolute URL and validate it. In addition to resolving the URL, this function makes sure + * that it is a link to an http or https site. + * + * @param string $url The relative URL. + * + * @return string An absolute URL for the given relative URL. + * @throws \InvalidArgumentException If $url is not a string or a valid URL. + * + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function normalizeURL($url) + { + if (!is_string($url)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $url = self::resolveURL($url, self::getSelfURL()); + + // verify that the URL is to a http or https site + if (!preg_match('@^https?://@i', $url)) { + throw new \InvalidArgumentException('Invalid URL: '.$url); + } + + return $url; + } + + + /** + * Parse a query string into an array. + * + * This function parses a query string into an array, similar to the way the builtin 'parse_str' works, except it + * doesn't handle arrays, and it doesn't do "magic quotes". + * + * Query parameters without values will be set to an empty string. + * + * @param string $query_string The query string which should be parsed. + * + * @return array The query string as an associative array. + * @throws \InvalidArgumentException If $query_string is not a string. + * + * @author Olav Morken, UNINETT AS + */ + public static function parseQueryString($query_string) + { + if (!is_string($query_string)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $res = array(); + if (empty($query_string)) { + return $res; + } + + foreach (explode('&', $query_string) as $param) { + $param = explode('=', $param); + $name = urldecode($param[0]); + if (count($param) === 1) { + $value = ''; + } else { + $value = urldecode($param[1]); + } + $res[$name] = $value; + } + return $res; + } + + + /** + * This function redirects to the specified URL without performing any security checks. Please, do NOT use this + * function with user supplied URLs. + * + * This function will use the "HTTP 303 See Other" redirection if the current request used the POST method and the + * HTTP version is 1.1. Otherwise, a "HTTP 302 Found" redirection will be used. + * + * The function will also generate a simple web page with a clickable link to the target URL. + * + * @param string $url The URL we should redirect to. This URL may include query parameters. If this URL is a + * relative URL (starting with '/'), then it will be turned into an absolute URL by prefixing it with the absolute + * URL to the root of the website. + * @param string[] $parameters An array with extra query string parameters which should be appended to the URL. The + * name of the parameter is the array index. The value of the parameter is the value stored in the index. Both the + * name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just the + * name, without a value. + * + * @return void This function never returns. + * @throws \InvalidArgumentException If $url is not a string or $parameters is not an array. + * + * @author Jaime Perez, UNINETT AS + */ + public static function redirectTrustedURL($url, $parameters = array()) + { + if (!is_string($url) || !is_array($parameters)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $url = self::normalizeURL($url); + self::redirect($url, $parameters); + } + + + /** + * This function redirects to the specified URL after performing the appropriate security checks on it. + * Particularly, it will make sure that the provided URL is allowed by the 'trusted.url.domains' directive in the + * configuration. + * + * If the aforementioned option is not set or the URL does correspond to a trusted site, it performs a redirection + * to it. If the site is not trusted, an exception will be thrown. + * + * @param string $url The URL we should redirect to. This URL may include query parameters. If this URL is a + * relative URL (starting with '/'), then it will be turned into an absolute URL by prefixing it with the absolute + * URL to the root of the website. + * @param string[] $parameters An array with extra query string parameters which should be appended to the URL. The + * name of the parameter is the array index. The value of the parameter is the value stored in the index. Both the + * name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just the + * name, without a value. + * + * @return void This function never returns. + * @throws \InvalidArgumentException If $url is not a string or $parameters is not an array. + * + * @author Jaime Perez, UNINETT AS + */ + public static function redirectUntrustedURL($url, $parameters = array()) + { + if (!is_string($url) || !is_array($parameters)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $url = self::checkURLAllowed($url); + self::redirect($url, $parameters); + } + + + /** + * Resolve a (possibly relative) URL relative to a given base URL. + * + * This function supports these forms of relative URLs: + * - ^\w+: Absolute URL. E.g. "http://www.example.com:port/path?query#fragment". + * - ^// Same protocol. E.g. "//www.example.com:port/path?query#fragment" + * - ^/ Same protocol and host. E.g. "/path?query#fragment". + * - ^? Same protocol, host and path, replace query string & fragment. E.g. "?query#fragment". + * - ^# Same protocol, host, path and query, replace fragment. E.g. "#fragment". + * - The rest: Relative to the base path. + * + * @param string $url The relative URL. + * @param string $base The base URL. Defaults to the base URL of this installation of SimpleSAMLphp. + * + * @return string An absolute URL for the given relative URL. + * @throws \InvalidArgumentException If the base URL cannot be parsed into a valid URL, or the given parameters + * are not strings. + * + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function resolveURL($url, $base = null) + { + if ($base === null) { + $base = self::getBaseURL(); + } + + if (!is_string($url) || !is_string($base)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + if (!preg_match('/^((((\w+:)\/\/[^\/]+)(\/[^?#]*))(?:\?[^#]*)?)(?:#.*)?/', $base, $baseParsed)) { + throw new \InvalidArgumentException('Unable to parse base url: '.$base); + } + + $baseDir = dirname($baseParsed[5].'filename'); + $baseScheme = $baseParsed[4]; + $baseHost = $baseParsed[3]; + $basePath = $baseParsed[2]; + $baseQuery = $baseParsed[1]; + + if (preg_match('$^\w+:$', $url)) { + return $url; + } + + if (substr($url, 0, 2) === '//') { + return $baseScheme.$url; + } + + if ($url[0] === '/') { + return $baseHost.$url; + } + if ($url[0] === '?') { + return $basePath.$url; + } + if ($url[0] === '#') { + return $baseQuery.$url; + } + + // we have a relative path. Remove query string/fragment and save it as $tail + $queryPos = strpos($url, '?'); + $fragmentPos = strpos($url, '#'); + if ($queryPos !== false || $fragmentPos !== false) { + if ($queryPos === false) { + $tailPos = $fragmentPos; + } elseif ($fragmentPos === false) { + $tailPos = $queryPos; + } elseif ($queryPos < $fragmentPos) { + $tailPos = $queryPos; + } else { + $tailPos = $fragmentPos; + } + + $tail = substr($url, $tailPos); + $dir = substr($url, 0, $tailPos); + } else { + $dir = $url; + $tail = ''; + } + + $dir = System::resolvePath($dir, $baseDir); + + return $baseHost.$dir.$tail; + } + + + /** + * Set a cookie. + * + * @param string $name The name of the cookie. + * @param string|NULL $value The value of the cookie. Set to NULL to delete the cookie. + * @param array|NULL $params Cookie parameters. + * @param bool $throw Whether to throw exception if setcookie() fails. + * + * @throws \InvalidArgumentException If any parameter has an incorrect type. + * @throws \SimpleSAML\Error\CannotSetCookie If the headers were already sent and the cookie cannot be set. + * + * @return void + * + * @author Andjelko Horvat + * @author Jaime Perez, UNINETT AS + */ + public static function setCookie($name, $value, $params = null, $throw = true) + { + if (!(is_string($name) && // $name must be a string + (is_string($value) || is_null($value)) && // $value can be a string or null + (is_array($params) || is_null($params)) && // $params can be an array or null + is_bool($throw)) // $throw must be boolean + ) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $default_params = array( + 'lifetime' => 0, + 'expire' => null, + 'path' => '/', + 'domain' => null, + 'secure' => false, + 'httponly' => true, + 'raw' => false, + ); + + if ($params !== null) { + $params = array_merge($default_params, $params); + } else { + $params = $default_params; + } + + // Do not set secure cookie if not on HTTPS + if ($params['secure'] && !self::isHTTPS()) { + if ($throw) { + throw new \SimpleSAML\Error\CannotSetCookie( + 'Setting secure cookie on plain HTTP is not allowed.', + \SimpleSAML\Error\CannotSetCookie::SECURE_COOKIE + ); + } + Logger::warning('Error setting cookie: setting secure cookie on plain HTTP is not allowed.'); + return; + } + + if ($value === null) { + $expire = time() - 365 * 24 * 60 * 60; + } elseif (isset($params['expire'])) { + $expire = $params['expire']; + } elseif ($params['lifetime'] === 0) { + $expire = 0; + } else { + $expire = time() + $params['lifetime']; + } + + if ($params['raw']) { + $success = @setrawcookie( + $name, + $value, + $expire, + $params['path'], + $params['domain'], + $params['secure'], + $params['httponly'] + ); + } else { + $success = @setcookie( + $name, + $value, + $expire, + $params['path'], + $params['domain'], + $params['secure'], + $params['httponly'] + ); + } + + if (!$success) { + if ($throw) { + throw new \SimpleSAML\Error\CannotSetCookie( + 'Headers already sent.', + \SimpleSAML\Error\CannotSetCookie::HEADERS_SENT + ); + } + Logger::warning('Error setting cookie: headers already sent.'); + } + } + + + /** + * Submit a POST form to a specific destination. + * + * This function never returns. + * + * @param string $destination The destination URL. + * @param array $data An associative array with the data to be posted to $destination. + * + * @throws \InvalidArgumentException If $destination is not a string or $data is not an array. + * + * @return void + * + * @author Olav Morken, UNINETT AS + * @author Andjelko Horvat + * @author Jaime Perez, UNINETT AS + */ + public static function submitPOSTData($destination, $data) + { + if (!is_string($destination) || !is_array($data)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $config = \SimpleSAML_Configuration::getInstance(); + $allowed = $config->getBoolean('enable.http_post', false); + + if ($allowed && preg_match("#^http:#", $destination) && self::isHTTPS()) { + // we need to post the data to HTTP + self::redirect(self::getSecurePOSTRedirectURL($destination, $data)); + } + + $p = new \SimpleSAML_XHTML_Template($config, 'post.php'); + $p->data['destination'] = $destination; + $p->data['post'] = $data; + $p->show(); + exit(0); + } +} diff --git a/lib/SimpleSAML/Utils/HttpAdapter.php b/lib/SimpleSAML/Utils/HttpAdapter.php new file mode 100755 index 0000000..71c6115 --- /dev/null +++ b/lib/SimpleSAML/Utils/HttpAdapter.php @@ -0,0 +1,211 @@ + + * @author Olav Morken, UNINETT AS + * @author Brook Schofield, GÉANT + * @author Jaime Perez, UNINETT AS + */ + public static function ipCIDRcheck($cidr, $ip = null) + { + if ($ip === null) { + $ip = $_SERVER['REMOTE_ADDR']; + } + if (strpos($cidr, '/') === false) { + return false; + } + + list ($net, $mask) = explode('/', $cidr); + $mask = intval($mask); + + $ip_ip = array(); + $ip_net = array(); + if (strstr($ip, ':') || strstr($net, ':')) { + // Validate IPv6 with inet_pton, convert to hex with bin2hex + // then store as a long with hexdec + + $ip_pack = @inet_pton($ip); + $net_pack = @inet_pton($net); + + if ($ip_pack === false || $net_pack === false) { + // not valid IPv6 address (warning silenced) + return false; + } + + $ip_ip = str_split(bin2hex($ip_pack), 8); + foreach ($ip_ip as &$value) { + $value = hexdec($value); + } + + $ip_net = str_split(bin2hex($net_pack), 8); + foreach ($ip_net as &$value) { + $value = hexdec($value); + } + } else { + $ip_ip[0] = ip2long($ip); + $ip_net[0] = ip2long($net); + } + + for ($i = 0; $mask > 0 && $i < sizeof($ip_ip); $i++) { + if ($mask > 32) { + $iteration_mask = 32; + } else { + $iteration_mask = $mask; + } + $mask -= 32; + + $ip_mask = ~((1 << (32 - $iteration_mask)) - 1); + + $ip_net_mask = $ip_net[$i] & $ip_mask; + $ip_ip_mask = $ip_ip[$i] & $ip_mask; + + if ($ip_ip_mask != $ip_net_mask) { + return false; + } + } + return true; + } +} diff --git a/lib/SimpleSAML/Utils/Random.php b/lib/SimpleSAML/Utils/Random.php new file mode 100755 index 0000000..8693729 --- /dev/null +++ b/lib/SimpleSAML/Utils/Random.php @@ -0,0 +1,30 @@ + + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function generateID() + { + return '_'.bin2hex(openssl_random_pseudo_bytes((int)((self::ID_LENGTH - 1)/2))); + } +} diff --git a/lib/SimpleSAML/Utils/System.php b/lib/SimpleSAML/Utils/System.php new file mode 100755 index 0000000..f9d71f0 --- /dev/null +++ b/lib/SimpleSAML/Utils/System.php @@ -0,0 +1,239 @@ + + */ + public static function getOS() + { + if (stristr(PHP_OS, 'LINUX')) { + return self::LINUX; + } + if (stristr(PHP_OS, 'DARWIN')) { + return self::OSX; + } + if (stristr(PHP_OS, 'WIN')) { + return self::WINDOWS; + } + if (stristr(PHP_OS, 'BSD')) { + return self::BSD; + } + if (stristr(PHP_OS, 'UNIX')) { + return self::UNIX; + } + if (stristr(PHP_OS, 'HP-UX')) { + return self::HPUX; + } + if (stristr(PHP_OS, 'IRIX')) { + return self::IRIX; + } + if (stristr(PHP_OS, 'SUNOS')) { + return self::SUNOS; + } + return false; + } + + + /** + * This function retrieves the path to a directory where temporary files can be saved. + * + * @return string Path to a temporary directory, without a trailing directory separator. + * @throws \SimpleSAML_Error_Exception If the temporary directory cannot be created or it exists and does not belong + * to the current user. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + * @author Jaime Perez, UNINETT AS + */ + public static function getTempDir() + { + $globalConfig = \SimpleSAML_Configuration::getInstance(); + + $tempDir = rtrim( + $globalConfig->getString( + 'tempdir', + sys_get_temp_dir().DIRECTORY_SEPARATOR.'simplesaml' + ), + DIRECTORY_SEPARATOR + ); + + if (!is_dir($tempDir)) { + if (!mkdir($tempDir, 0700, true)) { + $error = error_get_last(); + throw new \SimpleSAML_Error_Exception( + 'Error creating temporary directory "'.$tempDir.'": '. + (is_array($error) ? $error['message'] : 'no error available') + ); + } + } elseif (function_exists('posix_getuid')) { + // check that the owner of the temp directory is the current user + $stat = lstat($tempDir); + if ($stat['uid'] !== posix_getuid()) { + throw new \SimpleSAML_Error_Exception( + 'Temporary directory "'.$tempDir.'" does not belong to the current user.' + ); + } + } + + return $tempDir; + } + + + /** + * Resolve a (possibly) relative path from the given base path. + * + * A path which starts with a '/' is assumed to be absolute, all others are assumed to be + * relative. The default base path is the root of the SimpleSAMLphp installation. + * + * @param string $path The path we should resolve. + * @param string|null $base The base path, where we should search for $path from. Default value is the root of the + * SimpleSAMLphp installation. + * + * @return string An absolute path referring to $path. + * + * @author Olav Morken, UNINETT AS + */ + public static function resolvePath($path, $base = null) + { + if ($base === null) { + $config = \SimpleSAML_Configuration::getInstance(); + $base = $config->getBaseDir(); + } + + // normalise directory separator + $base = str_replace('\\', '/', $base); + $path = str_replace('\\', '/', $path); + + // remove trailing slashes + $base = rtrim($base, '/'); + $path = rtrim($path, '/'); + + // check for absolute path + if (substr($path, 0, 1) === '/') { + // absolute path. */ + $ret = '/'; + } elseif (static::pathContainsDriveLetter($path)) { + $ret = ''; + } else { + // path relative to base + $ret = $base; + } + + $path = explode('/', $path); + foreach ($path as $d) { + if ($d === '.') { + continue; + } elseif ($d === '..') { + $ret = dirname($ret); + } else { + if ($ret && substr($ret, -1) !== '/') { + $ret .= '/'; + } + $ret .= $d; + } + } + + return $ret; + } + + + /** + * Atomically write a file. + * + * This is a helper function for writing data atomically to a file. It does this by writing the file data to a + * temporary file, then renaming it to the required file name. + * + * @param string $filename The path to the file we want to write to. + * @param string $data The data we should write to the file. + * @param int $mode The permissions to apply to the file. Defaults to 0600. + * + * @throws \InvalidArgumentException If any of the input parameters doesn't have the proper types. + * @throws \SimpleSAML_Error_Exception If the file cannot be saved, permissions cannot be changed or it is not + * possible to write to the target file. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + * @author Andjelko Horvat + * @author Jaime Perez, UNINETT AS + * + * @return void + */ + public static function writeFile($filename, $data, $mode = 0600) + { + if (!is_string($filename) || !is_string($data) || !is_numeric($mode)) { + throw new \InvalidArgumentException('Invalid input parameters'); + } + + $tmpFile = self::getTempDir().DIRECTORY_SEPARATOR.rand(); + + $res = @file_put_contents($tmpFile, $data); + if ($res === false) { + $error = error_get_last(); + throw new \SimpleSAML_Error_Exception( + 'Error saving file "'.$tmpFile.'": '. + (is_array($error) ? $error['message'] : 'no error available') + ); + } + + if (self::getOS() !== self::WINDOWS) { + if (!chmod($tmpFile, $mode)) { + unlink($tmpFile); + $error = error_get_last(); + //$error = (is_array($error) ? $error['message'] : 'no error available'); + throw new \SimpleSAML_Error_Exception( + 'Error changing file mode of "'.$tmpFile.'": '. + (is_array($error) ? $error['message'] : 'no error available') + ); + } + } + + if (!rename($tmpFile, $filename)) { + unlink($tmpFile); + $error = error_get_last(); + throw new \SimpleSAML_Error_Exception( + 'Error moving "'.$tmpFile.'" to "'.$filename.'": '. + (is_array($error) ? $error['message'] : 'no error available') + ); + } + + if (function_exists('opcache_invalidate')) { + opcache_invalidate($filename); + } + } + + /** + * Check if the supplied path contains a Windows-style drive letter. + * + * @param string $path + * + * @return bool + */ + private static function pathContainsDriveLetter($path) + { + $letterAsciiValue = ord(strtoupper(substr($path, 0, 1))); + return substr($path, 1, 1) === ':' + && $letterAsciiValue >= 65 && $letterAsciiValue <= 90; + } +} diff --git a/lib/SimpleSAML/Utils/Time.php b/lib/SimpleSAML/Utils/Time.php new file mode 100755 index 0000000..21c005e --- /dev/null +++ b/lib/SimpleSAML/Utils/Time.php @@ -0,0 +1,167 @@ + + */ + public static function generateTimestamp($instant = null) + { + if ($instant === null) { + $instant = time(); + } + return gmdate('Y-m-d\TH:i:s\Z', $instant); + } + + + /** + * Initialize the timezone. + * + * This function should be called before any calls to date(). + * + * @author Olav Morken, UNINETT AS + * + * @throws \SimpleSAML_Error_Exception If the timezone set in the configuration is invalid. + * + * @return void + */ + public static function initTimezone() + { + if (self::$tz_initialized) { + return; + } + + $globalConfig = \SimpleSAML_Configuration::getInstance(); + + $timezone = $globalConfig->getString('timezone', null); + if ($timezone !== null) { + if (!date_default_timezone_set($timezone)) { + throw new \SimpleSAML_Error_Exception('Invalid timezone set in the "timezone" option in config.php.'); + } + self::$tz_initialized = true; + return; + } + // we don't have a timezone configured + + Logger::maskErrors(E_ALL); + $serverTimezone = date_default_timezone_get(); + Logger::popErrorMask(); + + // set the timezone to the default + date_default_timezone_set($serverTimezone); + self::$tz_initialized = true; + } + + + /** + * Interpret a ISO8601 duration value relative to a given timestamp. Please note no fractions are allowed, neither + * durations specified in the formats PYYYYMMDDThhmmss nor P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]. + * + * @param string $duration The duration, as a string. + * @param int $timestamp The unix timestamp we should apply the duration to. Optional, default to the current + * time. + * + * @return int The new timestamp, after the duration is applied. + * @throws \InvalidArgumentException If $duration is not a valid ISO 8601 duration or if the input parameters do + * not have the right data types. + */ + public static function parseDuration($duration, $timestamp = null) + { + if (!(is_string($duration) && (is_int($timestamp) || is_null($timestamp)))) { + throw new \InvalidArgumentException('Invalid input parameters'); + } + + // parse the duration. We use a very strict pattern + $durationRegEx = '#^(-?)P(?:(?:(?:(\\d+)Y)?(?:(\\d+)M)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)'. + '(?:[.,]\d+)?S)?)?)|(?:(\\d+)W))$#D'; + if (!preg_match($durationRegEx, $duration, $matches)) { + throw new \InvalidArgumentException('Invalid ISO 8601 duration: '.$duration); + } + + $durYears = (empty($matches[2]) ? 0 : (int) $matches[2]); + $durMonths = (empty($matches[3]) ? 0 : (int) $matches[3]); + $durDays = (empty($matches[4]) ? 0 : (int) $matches[4]); + $durHours = (empty($matches[5]) ? 0 : (int) $matches[5]); + $durMinutes = (empty($matches[6]) ? 0 : (int) $matches[6]); + $durSeconds = (empty($matches[7]) ? 0 : (int) $matches[7]); + $durWeeks = (empty($matches[8]) ? 0 : (int) $matches[8]); + + if (!empty($matches[1])) { + // negative + $durYears = -$durYears; + $durMonths = -$durMonths; + $durDays = -$durDays; + $durHours = -$durHours; + $durMinutes = -$durMinutes; + $durSeconds = -$durSeconds; + $durWeeks = -$durWeeks; + } + + if ($timestamp === null) { + $timestamp = time(); + } + + if ($durYears !== 0 || $durMonths !== 0) { + /* Special handling of months and years, since they aren't a specific interval, but + * instead depend on the current time. + */ + + /* We need the year and month from the timestamp. Unfortunately, PHP doesn't have the + * gmtime function. Instead we use the gmdate function, and split the result. + */ + $yearmonth = explode(':', gmdate('Y:n', $timestamp)); + $year = (int) ($yearmonth[0]); + $month = (int) ($yearmonth[1]); + + // remove the year and month from the timestamp + $timestamp -= gmmktime(0, 0, 0, $month, 1, $year); + + // add years and months, and normalize the numbers afterwards + $year += $durYears; + $month += $durMonths; + while ($month > 12) { + $year += 1; + $month -= 12; + } + while ($month < 1) { + $year -= 1; + $month += 12; + } + + // add year and month back into timestamp + $timestamp += gmmktime(0, 0, 0, $month, 1, $year); + } + + // add the other elements + $timestamp += $durWeeks * 7 * 24 * 60 * 60; + $timestamp += $durDays * 24 * 60 * 60; + $timestamp += $durHours * 60 * 60; + $timestamp += $durMinutes * 60; + $timestamp += $durSeconds; + + return $timestamp; + } +} diff --git a/lib/SimpleSAML/Utils/XML.php b/lib/SimpleSAML/Utils/XML.php new file mode 100755 index 0000000..93a3b89 --- /dev/null +++ b/lib/SimpleSAML/Utils/XML.php @@ -0,0 +1,453 @@ + + * @author Jaime Perez, UNINETT AS + */ + public static function checkSAMLMessage($message, $type) + { + $allowed_types = array('saml20', 'saml11', 'saml-meta'); + if (!(is_string($message) && in_array($type, $allowed_types, true))) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + // a SAML message should not contain a doctype-declaration + if (strpos($message, 'getArrayize('debug', array('validatexml' => false)); + $enabled = \SimpleSAML_Configuration::getInstance()->getBoolean('debug.validatexml', false); + + if (!(in_array('validatexml', $debug, true) // implicitly enabled + || (array_key_exists('validatexml', $debug) && $debug['validatexml'] === true) // explicitly enabled + // TODO: deprecate this option and remove it in 2.0 + || $enabled // old 'debug.validatexml' configuration option + )) { + // XML validation is disabled + return; + } + + $result = true; + switch ($type) { + case 'saml11': + $result = self::isValid($message, 'oasis-sstc-saml-schema-protocol-1.1.xsd'); + break; + case 'saml20': + $result = self::isValid($message, 'saml-schema-protocol-2.0.xsd'); + break; + case 'saml-meta': + $result = self::isValid($message, 'saml-schema-metadata-2.0.xsd'); + } + if ($result !== true) { + Logger::warning($result); + } + } + + + /** + * Helper function to log SAML messages that we send or receive. + * + * @param string|\DOMElement $message The message, as an string containing the XML or an XML element. + * @param string $type Whether this message is sent or received, encrypted or decrypted. The following + * values are supported: + * - 'in': for messages received. + * - 'out': for outgoing messages. + * - 'decrypt': for decrypted messages. + * - 'encrypt': for encrypted messages. + * + * @throws \InvalidArgumentException If $type is not a string or $message is neither a string nor a \DOMElement. + * + * @return void + * + * @author Olav Morken, UNINETT AS + */ + public static function debugSAMLMessage($message, $type) + { + if (!(is_string($type) && (is_string($message) || $message instanceof \DOMElement))) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + // see if debugging is enabled for SAML messages + $debug = \SimpleSAML_Configuration::getInstance()->getArrayize('debug', array('saml' => false)); + + if (!(in_array('saml', $debug, true) // implicitly enabled + || (array_key_exists('saml', $debug) && $debug['saml'] === true) // explicitly enabled + // TODO: deprecate the old style and remove it in 2.0 + || (array_key_exists(0, $debug) && $debug[0] === true) // old style 'debug' + )) { + // debugging messages is disabled + return; + } + + if ($message instanceof \DOMElement) { + $message = $message->ownerDocument->saveXML($message); + } + + switch ($type) { + case 'in': + Logger::debug('Received message:'); + break; + case 'out': + Logger::debug('Sending message:'); + break; + case 'decrypt': + Logger::debug('Decrypted message:'); + break; + case 'encrypt': + Logger::debug('Encrypted message:'); + break; + default: + assert(false); + } + + $str = self::formatXMLString($message); + foreach (explode("\n", $str) as $line) { + Logger::debug($line); + } + } + + + /** + * Format a DOM element. + * + * This function takes in a DOM element, and inserts whitespace to make it more readable. Note that whitespace + * added previously will be removed. + * + * @param \DOMNode $root The root element which should be formatted. + * @param string $indentBase The indentation this element should be assumed to have. Defaults to an empty + * string. + * + * @throws \InvalidArgumentException If $root is not a DOMElement or $indentBase is not a string. + * + * @return void + * + * @author Olav Morken, UNINETT AS + */ + public static function formatDOMElement(\DOMNode $root, $indentBase = '') + { + if (!is_string($indentBase)) { + throw new \InvalidArgumentException('Invalid input parameters'); + } + + // check what this element contains + $fullText = ''; // all text in this element + $textNodes = array(); // text nodes which should be deleted + $childNodes = array(); // other child nodes + for ($i = 0; $i < $root->childNodes->length; $i++) { + /** @var \DOMElement $child */ + $child = $root->childNodes->item($i); + + if ($child instanceof \DOMText) { + $textNodes[] = $child; + $fullText .= $child->wholeText; + } elseif ($child instanceof \DOMComment || $child instanceof \DOMElement) { + $childNodes[] = $child; + } else { + // unknown node type. We don't know how to format this + return; + } + } + + $fullText = trim($fullText); + if (strlen($fullText) > 0) { + // we contain textelf + $hasText = true; + } else { + $hasText = false; + } + + $hasChildNode = (count($childNodes) > 0); + + if ($hasText && $hasChildNode) { + // element contains both text and child nodes - we don't know how to format this one + return; + } + + // remove text nodes + foreach ($textNodes as $node) { + $root->removeChild($node); + } + + if ($hasText) { + // only text - add a single text node to the element with the full text + $root->appendChild(new \DOMText($fullText)); + return; + } + + if (!$hasChildNode) { + // empty node. Nothing to do + return; + } + + /* Element contains only child nodes - add indentation before each one, and + * format child elements. + */ + $childIndentation = $indentBase.' '; + foreach ($childNodes as $node) { + // add indentation before node + $root->insertBefore(new \DOMText("\n".$childIndentation), $node); + + // format child elements + if ($node instanceof \DOMElement) { + self::formatDOMElement($node, $childIndentation); + } + } + + // add indentation before closing tag + $root->appendChild(new \DOMText("\n".$indentBase)); + } + + + /** + * Format an XML string. + * + * This function formats an XML string using the formatDOMElement() function. + * + * @param string $xml An XML string which should be formatted. + * @param string $indentBase Optional indentation which should be applied to all the output. Optional, defaults + * to ''. + * + * @return string The formatted string. + * @throws \InvalidArgumentException If the parameters are not strings. + * @throws \DOMException If the input does not parse correctly as an XML string. + * + * @author Olav Morken, UNINETT AS + */ + public static function formatXMLString($xml, $indentBase = '') + { + if (!is_string($xml) || !is_string($indentBase)) { + throw new \InvalidArgumentException('Invalid input parameters'); + } + + try { + $doc = \SAML2\DOMDocumentFactory::fromString($xml); + } catch (\Exception $e) { + throw new \DOMException('Error parsing XML string.'); + } + + $root = $doc->firstChild; + self::formatDOMElement($root, $indentBase); + + return $doc->saveXML($root); + } + + + /** + * This function finds direct descendants of a DOM element with the specified + * localName and namespace. They are returned in an array. + * + * This function accepts the same shortcuts for namespaces as the isDOMNodeOfType function. + * + * @param \DOMNode $element The element we should look in. + * @param string $localName The name the element should have. + * @param string $namespaceURI The namespace the element should have. + * + * @return array Array with the matching elements in the order they are found. An empty array is + * returned if no elements match. + * @throws \InvalidArgumentException If $element is not an instance of DOMElement, $localName is not a string or + * $namespaceURI is not a string. + */ + public static function getDOMChildren(\DOMNode $element, $localName, $namespaceURI) + { + if (!is_string($localName) || !is_string($namespaceURI)) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + $ret = array(); + + for ($i = 0; $i < $element->childNodes->length; $i++) { + /** @var \DOMElement $child */ + $child = $element->childNodes->item($i); + + // skip text nodes and comment elements + if ($child instanceof \DOMText || $child instanceof \DOMComment) { + continue; + } + + if (self::isDOMNodeOfType($child, $localName, $namespaceURI) === true) { + $ret[] = $child; + } + } + + return $ret; + } + + + /** + * This function extracts the text from DOMElements which should contain only text content. + * + * @param \DOMElement $element The element we should extract text from. + * + * @return string The text content of the element. + * @throws \SimpleSAML_Error_Exception If the element contains a non-text child node. + * + * @author Olav Morken, UNINETT AS + */ + public static function getDOMText(\DOMElement $element) + { + $txt = ''; + + for ($i = 0; $i < $element->childNodes->length; $i++) { + /** @var \DOMElement $child */ + $child = $element->childNodes->item($i); + if (!($child instanceof \DOMText)) { + throw new \SimpleSAML_Error_Exception($element->localName.' contained a non-text child node.'); + } + + $txt .= $child->wholeText; + } + + $txt = trim($txt); + return $txt; + } + + + /** + * This function checks if the DOMElement has the correct localName and namespaceURI. + * + * We also define the following shortcuts for namespaces: + * - '@ds': 'http://www.w3.org/2000/09/xmldsig#' + * - '@md': 'urn:oasis:names:tc:SAML:2.0:metadata' + * - '@saml1': 'urn:oasis:names:tc:SAML:1.0:assertion' + * - '@saml1md': 'urn:oasis:names:tc:SAML:profiles:v1metadata' + * - '@saml1p': 'urn:oasis:names:tc:SAML:1.0:protocol' + * - '@saml2': 'urn:oasis:names:tc:SAML:2.0:assertion' + * - '@saml2p': 'urn:oasis:names:tc:SAML:2.0:protocol' + * + * @param \DOMNode $element The element we should check. + * @param string $name The local name the element should have. + * @param string $nsURI The namespaceURI the element should have. + * + * @return boolean True if both namespace and local name matches, false otherwise. + * @throws \InvalidArgumentException If the namespace shortcut is unknown. + * + * @author Andreas Solberg, UNINETT AS + * @author Olav Morken, UNINETT AS + */ + public static function isDOMNodeOfType(\DOMNode $element, $name, $nsURI) + { + if (!is_string($name) || !is_string($nsURI) || strlen($nsURI) === 0) { + // most likely a comment-node + return false; + } + + // check if the namespace is a shortcut, and expand it if it is + if ($nsURI[0] === '@') { + // the defined shortcuts + $shortcuts = array( + '@ds' => 'http://www.w3.org/2000/09/xmldsig#', + '@md' => 'urn:oasis:names:tc:SAML:2.0:metadata', + '@saml1' => 'urn:oasis:names:tc:SAML:1.0:assertion', + '@saml1md' => 'urn:oasis:names:tc:SAML:profiles:v1metadata', + '@saml1p' => 'urn:oasis:names:tc:SAML:1.0:protocol', + '@saml2' => 'urn:oasis:names:tc:SAML:2.0:assertion', + '@saml2p' => 'urn:oasis:names:tc:SAML:2.0:protocol', + '@shibmd' => 'urn:mace:shibboleth:metadata:1.0', + ); + + // check if it is a valid shortcut + if (!array_key_exists($nsURI, $shortcuts)) { + throw new \InvalidArgumentException('Unknown namespace shortcut: '.$nsURI); + } + + // expand the shortcut + $nsURI = $shortcuts[$nsURI]; + } + if ($element->localName !== $name) { + return false; + } + if ($element->namespaceURI !== $nsURI) { + return false; + } + return true; + } + + + /** + * This function attempts to validate an XML string against the specified schema. It will parse the string into a + * DOM document and validate this document against the schema. + * + * Note that this function returns values that are evaluated as a logical true, both when validation works and when + * it doesn't. Please use strict comparisons to check the values returned. + * + * @param string|\DOMDocument $xml The XML string or document which should be validated. + * @param string $schema The filename of the schema that should be used to validate the document. + * + * @return boolean|string Returns a string with errors found if validation fails. True if validation passes ok. + * @throws \InvalidArgumentException If $schema is not a string, or $xml is neither a string nor a \DOMDocument. + * + * @author Olav Morken, UNINETT AS + */ + public static function isValid($xml, $schema) + { + if (!(is_string($schema) && (is_string($xml) || $xml instanceof \DOMDocument))) { + throw new \InvalidArgumentException('Invalid input parameters.'); + } + + Errors::begin(); + + if ($xml instanceof \DOMDocument) { + $dom = $xml; + $res = true; + } else { + try { + $dom = \SAML2\DOMDocumentFactory::fromString($xml); + $res = true; + } catch (\Exception $e) { + $res = false; + } + } + + if ($res) { + $config = \SimpleSAML_Configuration::getInstance(); + /** @var string $schemaPath */ + $schemaPath = $config->resolvePath('schemas'); + $schemaFile = $schemaPath.'/'.$schema; + + $res = $dom->schemaValidate($schemaFile); + if ($res) { + Errors::end(); + return true; + } + + $errorText = "Schema validation failed on XML string:\n"; + } else { + $errorText = "Failed to parse XML string for schema validation:\n"; + } + + $errors = Errors::end(); + $errorText .= Errors::formatErrors($errors); + + return $errorText; + } +} diff --git a/lib/SimpleSAML/XHTML/EMail.php b/lib/SimpleSAML/XHTML/EMail.php new file mode 100755 index 0000000..5796ec1 --- /dev/null +++ b/lib/SimpleSAML/XHTML/EMail.php @@ -0,0 +1,122 @@ + + * @package SimpleSAMLphp + */ +class SimpleSAML_XHTML_EMail +{ + private $to = null; + private $cc = null; + private $body = null; + private $from = null; + private $replyto = null; + private $subject = null; + private $headers = array(); + + + /** + * Constructor + */ + public function __construct($to, $subject, $from = null, $cc = null, $replyto = null) + { + $this->to = $to; + $this->cc = $cc; + $this->from = $from; + $this->replyto = $replyto; + $this->subject = $subject; + } + + /* + * @param string $body + * @return void + */ + public function setBody($body) + { + $this->body = $body; + } + + + /* + * @param string $body + * @return void + */ + private function getHTML($body) + { + return ' + + + + SimpleSAMLphp Email report + + + +
+' . $body . ' +
+ +'; + } + + + /* + * @return void + */ + public function send() + { + if ($this->to === null) { + throw new Exception('EMail field [to] is required and not set.'); + } elseif ($this->subject === null) { + throw new Exception('EMail field [subject] is required and not set.'); + } elseif ($this->body === null) { + throw new Exception('EMail field [body] is required and not set.'); + } + + $random_hash = bin2hex(openssl_random_pseudo_bytes(16)); + + if (isset($this->from)) { + $this->headers[]= 'From: ' . $this->from; + } + if (isset($this->replyto)) { + $this->headers[]= 'Reply-To: ' . $this->replyto; + } + + $this->headers[] = 'Content-Type: multipart/alternative; boundary="simplesamlphp-' . $random_hash . '"'; + + $message = ' +--simplesamlphp-' . $random_hash . ' +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +' . strip_tags(html_entity_decode($this->body)) . ' + +--simplesamlphp-' . $random_hash . ' +Content-Type: text/html; charset="utf-8" +Content-Transfer-Encoding: 8bit + +' . $this->getHTML($this->body) . ' + +--simplesamlphp-' . $random_hash . '-- +'; + $headers = implode("\n", $this->headers); + + $mail_sent = @mail($this->to, $this->subject, $message, $headers); + SimpleSAML\Logger::debug('Email: Sending e-mail to [' . $this->to . '] : ' . ($mail_sent ? 'OK' : 'Failed')); + if (!$mail_sent) { + throw new Exception('Error when sending e-mail'); + } + } +} diff --git a/lib/SimpleSAML/XHTML/IdPDisco.php b/lib/SimpleSAML/XHTML/IdPDisco.php new file mode 100755 index 0000000..70b06d7 --- /dev/null +++ b/lib/SimpleSAML/XHTML/IdPDisco.php @@ -0,0 +1,598 @@ +, UNINETT AS. + * @author Olav Morken, UNINETT AS. + * @author Andreas Åkre Solberg , UNINETT AS. + * @package SimpleSAMLphp + */ +class SimpleSAML_XHTML_IdPDisco +{ + + /** + * An instance of the configuration class. + * + * @var SimpleSAML_Configuration + */ + protected $config; + + /** + * The identifier of this discovery service. + * + * @var string + */ + protected $instance; + + + /** + * An instance of the metadata handler, which will allow us to fetch metadata about IdPs. + * + * @var SimpleSAML_Metadata_MetaDataStorageHandler + */ + protected $metadata; + + + /** + * The users session. + * + * @var SimpleSAML_Session + */ + protected $session; + + + /** + * The metadata sets we find allowed entities in, in prioritized order. + * + * @var array + */ + protected $metadataSets; + + + /** + * The entity id of the SP which accesses this IdP discovery service. + * + * @var string + */ + protected $spEntityId; + + /** + * HTTP parameter from the request, indicating whether the discovery service + * can interact with the user or not. + * + * @var boolean + */ + protected $isPassive; + + /** + * The SP request to set the IdPentityID... + * + * @var string|null + */ + protected $setIdPentityID = null; + + + /** + * The name of the query parameter which should contain the users choice of IdP. + * This option default to 'entityID' for Shibboleth compatibility. + * + * @var string + */ + protected $returnIdParam; + + /** + * The list of scoped idp's. The intersection between the metadata idpList + * and scopedIDPList (given as a $_GET IDPList[] parameter) is presented to + * the user. If the intersection is empty the metadata idpList is used. + * + * @var array + */ + protected $scopedIDPList = array(); + + /** + * The URL the user should be redirected to after choosing an IdP. + * + * @var string + */ + protected $returnURL; + + + /** + * Initializes this discovery service. + * + * The constructor does the parsing of the request. If this is an invalid request, it will throw an exception. + * + * @param array $metadataSets Array with metadata sets we find remote entities in. + * @param string $instance The name of this instance of the discovery service. + * + * @throws Exception If the request is invalid. + */ + public function __construct(array $metadataSets, $instance) + { + assert(is_string($instance)); + + // initialize standard classes + $this->config = SimpleSAML_Configuration::getInstance(); + $this->metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $this->session = SimpleSAML_Session::getSessionFromRequest(); + $this->instance = $instance; + $this->metadataSets = $metadataSets; + + $this->log('Accessing discovery service.'); + + // standard discovery service parameters + if (!array_key_exists('entityID', $_GET)) { + throw new Exception('Missing parameter: entityID'); + } else { + $this->spEntityId = $_GET['entityID']; + } + + if (!array_key_exists('returnIDParam', $_GET)) { + $this->returnIdParam = 'entityID'; + } else { + $this->returnIdParam = $_GET['returnIDParam']; + } + + $this->log('returnIdParam initially set to ['.$this->returnIdParam.']'); + + if (!array_key_exists('return', $_GET)) { + throw new Exception('Missing parameter: return'); + } else { + $this->returnURL = \SimpleSAML\Utils\HTTP::checkURLAllowed($_GET['return']); + } + + $this->isPassive = false; + if (array_key_exists('isPassive', $_GET)) { + if ($_GET['isPassive'] === 'true') { + $this->isPassive = true; + } + } + $this->log('isPassive initially set to ['.($this->isPassive ? 'TRUE' : 'FALSE').']'); + + if (array_key_exists('IdPentityID', $_GET)) { + $this->setIdPentityID = $_GET['IdPentityID']; + } + + if (array_key_exists('IDPList', $_REQUEST)) { + $this->scopedIDPList = $_REQUEST['IDPList']; + } + } + + + /** + * Log a message. + * + * This is an helper function for logging messages. It will prefix the messages with our + * discovery service type. + * + * @param string $message The message which should be logged. + */ + protected function log($message) + { + SimpleSAML\Logger::info('idpDisco.'.$this->instance.': '.$message); + } + + + /** + * Retrieve cookie with the given name. + * + * This function will retrieve a cookie with the given name for the current discovery + * service type. + * + * @param string $name The name of the cookie. + * + * @return string The value of the cookie with the given name, or null if no cookie with that name exists. + */ + protected function getCookie($name) + { + $prefixedName = 'idpdisco_'.$this->instance.'_'.$name; + if (array_key_exists($prefixedName, $_COOKIE)) { + return $_COOKIE[$prefixedName]; + } else { + return null; + } + } + + + /** + * Save cookie with the given name and value. + * + * This function will save a cookie with the given name and value for the current discovery + * service type. + * + * @param string $name The name of the cookie. + * @param string $value The value of the cookie. + */ + protected function setCookie($name, $value) + { + $prefixedName = 'idpdisco_'.$this->instance.'_'.$name; + + $params = array( + // we save the cookies for 90 days + 'lifetime' => (60 * 60 * 24 * 90), + // the base path for cookies. This should be the installation directory for SimpleSAMLphp + 'path' => $this->config->getBasePath(), + 'httponly' => false, + ); + + \SimpleSAML\Utils\HTTP::setCookie($prefixedName, $value, $params, false); + } + + + /** + * Validates the given IdP entity id. + * + * Takes a string with the IdP entity id, and returns the entity id if it is valid, or + * null if not. + * + * @param string|null $idp The entity id we want to validate. This can be null, in which case we will return null. + * + * @return string|null The entity id if it is valid, null if not. + */ + protected function validateIdP($idp) + { + if ($idp === null) { + return null; + } + + if (!$this->config->getBoolean('idpdisco.validate', true)) { + return $idp; + } + + foreach ($this->metadataSets as $metadataSet) { + try { + $this->metadata->getMetaData($idp, $metadataSet); + return $idp; + } catch (Exception $e) { + // continue + } + } + + $this->log('Unable to validate IdP entity id ['.$idp.'].'); + + // the entity id wasn't valid + return null; + } + + + /** + * Retrieve the users choice of IdP. + * + * This function finds out which IdP the user has manually chosen, if any. + * + * @return string The entity id of the IdP the user has chosen, or null if the user has made no choice. + */ + protected function getSelectedIdP() + { + /* Parameter set from the Extended IdP Metadata Discovery Service Protocol, indicating that the user prefers + * this IdP. + */ + if (!empty($this->setIdPentityID)) { + return $this->validateIdP($this->setIdPentityID); + } + + // user has clicked on a link, or selected the IdP from a drop-down list + if (array_key_exists('idpentityid', $_GET)) { + return $this->validateIdP($_GET['idpentityid']); + } + + /* Search for the IdP selection from the form used by the links view. This form uses a name which equals + * idp_, so we search for that. + * + * Unfortunately, php replaces periods in the name with underscores, and there is no reliable way to get them + * back. Therefore we do some quick and dirty parsing of the query string. + */ + $qstr = $_SERVER['QUERY_STRING']; + $matches = array(); + if (preg_match('/(?:^|&)idp_([^=]+)=/', $qstr, $matches)) { + return $this->validateIdP(urldecode($matches[1])); + } + + // no IdP chosen + return null; + } + + + /** + * Retrieve the users saved choice of IdP. + * + * @return string The entity id of the IdP the user has saved, or null if the user hasn't saved any choice. + */ + protected function getSavedIdP() + { + if (!$this->config->getBoolean('idpdisco.enableremember', false)) { + // saving of IdP choices is disabled + return null; + } + + if ($this->getCookie('remember') === '1') { + $this->log('Return previously saved IdP because of remember cookie set to 1'); + return $this->getPreviousIdP(); + } + + if ($this->isPassive) { + $this->log('Return previously saved IdP because of isPassive'); + return $this->getPreviousIdP(); + } + + return null; + } + + + /** + * Retrieve the previous IdP the user used. + * + * @return string The entity id of the previous IdP the user used, or null if this is the first time. + */ + protected function getPreviousIdP() + { + return $this->validateIdP($this->getCookie('lastidp')); + } + + + /** + * Retrieve a recommended IdP based on the IP address of the client. + * + * @return string|null The entity ID of the IdP if one is found, or null if not. + */ + protected function getFromCIDRhint() + { + foreach ($this->metadataSets as $metadataSet) { + $idp = $this->metadata->getPreferredEntityIdFromCIDRhint($metadataSet, $_SERVER['REMOTE_ADDR']); + if (!empty($idp)) { + return $idp; + } + } + + return null; + } + + + /** + * Try to determine which IdP the user should most likely use. + * + * This function will first look at the previous IdP the user has chosen. If the user + * hasn't chosen an IdP before, it will look at the IP address. + * + * @return string The entity id of the IdP the user should most likely use. + */ + protected function getRecommendedIdP() + { + $idp = $this->getPreviousIdP(); + if ($idp !== null) { + $this->log('Preferred IdP from previous use ['.$idp.'].'); + return $idp; + } + + $idp = $this->getFromCIDRhint(); + + if (!empty($idp)) { + $this->log('Preferred IdP from CIDR hint ['.$idp.'].'); + return $idp; + } + + return null; + } + + + /** + * Save the current IdP choice to a cookie. + * + * @param string $idp The entityID of the IdP. + */ + protected function setPreviousIdP($idp) + { + assert(is_string($idp)); + + $this->log('Choice made ['.$idp.'] Setting cookie.'); + $this->setCookie('lastidp', $idp); + } + + + /** + * Determine whether the choice of IdP should be saved. + * + * @return boolean True if the choice should be saved, false otherwise. + */ + protected function saveIdP() + { + if (!$this->config->getBoolean('idpdisco.enableremember', false)) { + // saving of IdP choices is disabled + return false; + } + + if (array_key_exists('remember', $_GET)) { + return true; + } + + return false; + } + + + /** + * Determine which IdP the user should go to, if any. + * + * @return string The entity id of the IdP the user should be sent to, or null if the user should choose. + */ + protected function getTargetIdP() + { + // first, check if the user has chosen an IdP + $idp = $this->getSelectedIdP(); + if ($idp !== null) { + // the user selected this IdP. Save the choice in a cookie + $this->setPreviousIdP($idp); + + if ($this->saveIdP()) { + $this->setCookie('remember', '1'); + } else { + $this->setCookie('remember', '0'); + } + + return $idp; + } + + $this->log('getSelectedIdP() returned null'); + + // check if the user has saved an choice earlier + $idp = $this->getSavedIdP(); + if ($idp !== null) { + $this->log('Using saved choice ['.$idp.'].'); + return $idp; + } + + // the user has made no choice + return null; + } + + + /** + * Retrieve the list of IdPs which are stored in the metadata. + * + * @return array An array with entityid => metadata mappings. + */ + protected function getIdPList() + { + $idpList = array(); + foreach ($this->metadataSets as $metadataSet) { + $newList = $this->metadata->getList($metadataSet); + /* + * Note that we merge the entities in reverse order. This ensures that it is the entity in the first + * metadata set that "wins" if two metadata sets have the same entity. + */ + $idpList = array_merge($newList, $idpList); + } + + return $idpList; + } + + + /** + * Return the list of scoped idp + * + * @return array An array of IdP entities + */ + protected function getScopedIDPList() + { + return $this->scopedIDPList; + } + + + /** + * Filter the list of IdPs. + * + * This method returns the IdPs that comply with the following conditions: + * - The IdP does not have the 'hide.from.discovery' configuration option. + * + * @param array $list An associative array containing metadata for the IdPs to apply the filtering to. + * + * @return array An associative array containing metadata for the IdPs that were not filtered out. + */ + protected function filterList($list) + { + foreach ($list as $entity => $metadata) { + if (array_key_exists('hide.from.discovery', $metadata) && $metadata['hide.from.discovery'] === true) { + unset($list[$entity]); + } + } + return $list; + } + + + /** + * Check if an IdP is set or if the request is passive, and redirect accordingly. + * + * @return void If there is no IdP targeted and this is not a passive request. + */ + protected function start() + { + $idp = $this->getTargetIdp(); + if ($idp !== null) { + $extDiscoveryStorage = $this->config->getString('idpdisco.extDiscoveryStorage', null); + if ($extDiscoveryStorage !== null) { + $this->log('Choice made ['.$idp.'] (Forwarding to external discovery storage)'); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($extDiscoveryStorage, array( + 'entityID' => $this->spEntityId, + 'IdPentityID' => $idp, + 'returnIDParam' => $this->returnIdParam, + 'isPassive' => 'true', + 'return' => $this->returnURL + )); + } else { + $this->log( + 'Choice made ['.$idp.'] (Redirecting the user back. returnIDParam='.$this->returnIdParam.')' + ); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($this->returnURL, array($this->returnIdParam => $idp)); + } + } + + if ($this->isPassive) { + $this->log('Choice not made. (Redirecting the user back without answer)'); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($this->returnURL); + } + } + + + /** + * Handles a request to this discovery service. + * + * The IdP disco parameters should be set before calling this function. + */ + public function handleRequest() + { + $this->start(); + + // no choice made. Show discovery service page + $idpList = $this->getIdPList(); + $idpList = $this->filterList($idpList); + $preferredIdP = $this->getRecommendedIdP(); + + $idpintersection = array_intersect(array_keys($idpList), $this->getScopedIDPList()); + if (sizeof($idpintersection) > 0) { + $idpList = array_intersect_key($idpList, array_fill_keys($idpintersection, null)); + } + + $idpintersection = array_values($idpintersection); + + if (sizeof($idpintersection) == 1) { + $this->log( + 'Choice made ['.$idpintersection[0].'] (Redirecting the user back. returnIDParam='. + $this->returnIdParam.')' + ); + \SimpleSAML\Utils\HTTP::redirectTrustedURL( + $this->returnURL, + array($this->returnIdParam => $idpintersection[0]) + ); + } + + /* + * Make use of an XHTML template to present the select IdP choice to the user. Currently the supported options + * is either a drop down menu or a list view. + */ + switch ($this->config->getString('idpdisco.layout', 'links')) { + case 'dropdown': + $templateFile = 'selectidp-dropdown.php'; + break; + case 'links': + $templateFile = 'selectidp-links.php'; + break; + default: + throw new Exception('Invalid value for the \'idpdisco.layout\' option.'); + } + + $t = new SimpleSAML_XHTML_Template($this->config, $templateFile, 'disco'); + $t->data['idplist'] = $idpList; + $t->data['preferredidp'] = $preferredIdP; + $t->data['return'] = $this->returnURL; + $t->data['returnIDParam'] = $this->returnIdParam; + $t->data['entityID'] = $this->spEntityId; + $t->data['urlpattern'] = htmlspecialchars(\SimpleSAML\Utils\HTTP::getSelfURLNoQuery()); + $t->data['rememberenabled'] = $this->config->getBoolean('idpdisco.enableremember', false); + $t->show(); + } +} diff --git a/lib/SimpleSAML/XHTML/Template.php b/lib/SimpleSAML/XHTML/Template.php new file mode 100755 index 0000000..d23c95f --- /dev/null +++ b/lib/SimpleSAML/XHTML/Template.php @@ -0,0 +1,724 @@ + + * @package SimpleSAMLphp + */ + +use JaimePerez\TwigConfigurableI18n\Twig\Environment as Twig_Environment; +use JaimePerez\TwigConfigurableI18n\Twig\Extensions\Extension\I18n as Twig_Extensions_Extension_I18n; + +class SimpleSAML_XHTML_Template +{ + /** + * The data associated with this template, accessible within the template itself. + * + * @var array + */ + public $data = array(); + + /** + * A translator instance configured to work with this template. + * + * @var \SimpleSAML\Locale\Translate + */ + private $translator; + + /** + * The localization backend + * + * @var \SimpleSAML\Locale\Localization + */ + private $localization; + + /** + * The configuration to use in this template. + * + * @var SimpleSAML_Configuration + */ + private $configuration; + + /** + * The file to load in this template. + * + * @var string + */ + private $template = 'default.php'; + + /** + * The twig environment. + * + * @var false|Twig_Environment + */ + private $twig; + + /** + * The template name. + * + * @var string + */ + private $twig_template; + + /** + * Current module, if any. + */ + private $module; + + /** + * A template controller, if any. + * + * Used to intercept certain parts of the template handling, while keeping away unwanted/unexpected hooks. Set + * the 'theme.controller' configuration option to a class that implements the + * SimpleSAML\XHTML\TemplateControllerInterface interface to use it. + * + * @var SimpleSAML\XHTML\TemplateControllerInterface + */ + private $controller; + + + /** + * Whether we are using a non-default theme or not. + * + * If we are using a theme, this variable holds an array with two keys: "module" and "name", those being the name + * of the module and the name of the theme, respectively. If we are using the default theme, the variable defaults + * to false. + * + * @var bool|array + */ + private $theme; + + /** + * Constructor + * + * @param SimpleSAML_Configuration $configuration Configuration object + * @param string $template Which template file to load + * @param string|null $defaultDictionary The default dictionary where tags will come from. + */ + public function __construct(\SimpleSAML_Configuration $configuration, $template, $defaultDictionary = null) + { + $this->configuration = $configuration; + $this->template = $template; + // TODO: do not remove the slash from the beginning, change the templates instead! + $this->data['baseurlpath'] = ltrim($this->configuration->getBasePath(), '/'); + + // parse module and template name + list($this->module) = $this->findModuleAndTemplateName($template); + + // parse config to find theme and module theme is in, if any + list($this->theme['module'], $this->theme['name']) = self::findModuleAndTemplateName( + $this->configuration->getString('theme.use', 'default') + ); + + // initialize internationalization system + $this->translator = new SimpleSAML\Locale\Translate($configuration, $defaultDictionary); + $this->localization = new \SimpleSAML\Locale\Localization($configuration); + + // check if we need to attach a theme controller + $controller = $this->configuration->getString('theme.controller', false); + if ($controller && class_exists($controller) && + class_implements($controller, '\SimpleSAML\XHTML\TemplateControllerInterface') + ) { + $this->controller = new $controller(); + } + + $this->twig = $this->setupTwig(); + } + + + /** + * Normalize the name of the template to one of the possible alternatives. + * + * @param string $templateName The template name to normalize. + * @return string The filename we need to look for. + */ + private function normalizeTemplateName($templateName) + { + if (strripos($templateName, '.twig')) { + return $templateName; + } + $phppos = strripos($templateName, '.php'); + if ($phppos) { + $templateName = substr($templateName, 0, $phppos); + } + $tplpos = strripos($templateName, '.tpl'); + if ($tplpos) { + $templateName = substr($templateName, 0, $tplpos); + } + return $templateName.'.twig'; + } + + + /** + * Set up the places where twig can look for templates. + * + * @return Twig_Loader_Filesystem The twig template loader or false if the template does not exist. + * @throws Twig_Error_Loader In case a failure occurs. + */ + private function setupTwigTemplatepaths() + { + $filename = $this->normalizeTemplateName($this->template); + + // get namespace if any + list($namespace, $filename) = self::findModuleAndTemplateName($filename); + $this->twig_template = ($namespace !== null) ? '@'.$namespace.'/'.$filename : $filename; + $loader = new \Twig_Loader_Filesystem(); + $templateDirs = $this->findThemeTemplateDirs(); + if ($this->module) { + $templateDirs[] = array($this->module => $this->getModuleTemplateDir($this->module)); + } + if ($this->theme['module']) { + try { + $templateDirs[] = array($this->theme['module'] => $this->getModuleTemplateDir($this->theme['module'])); + } catch (\InvalidArgumentException $e) { + // either the module is not enabled or it has no "templates" directory, ignore + } + } + + // default, themeless templates are checked last + $templateDirs[] = array( + \Twig_Loader_Filesystem::MAIN_NAMESPACE => $this->configuration->resolvePath('templates') + ); + foreach ($templateDirs as $entry) { + $loader->addPath($entry[key($entry)], key($entry)); + } + return $loader; + } + + + /** + * Setup twig. + */ + private function setupTwig() + { + $auto_reload = $this->configuration->getBoolean('template.auto_reload', true); + $cache = $this->configuration->getString('template.cache', false); + // set up template paths + $loader = $this->setupTwigTemplatepaths(); + // abort if twig template does not exist + if (!$loader->exists($this->twig_template)) { + return false; + } + + // load extra i18n domains + if ($this->module) { + $this->localization->addModuleDomain($this->module); + } + if ($this->theme['module'] !== null && $this->theme['module'] !== $this->module) { + $this->localization->addModuleDomain($this->theme['module']); + } + + $options = array( + 'cache' => $cache, + 'auto_reload' => $auto_reload, + 'translation_function' => array('\SimpleSAML\Locale\Translate', 'translateSingularNativeGettext'), + 'translation_function_plural' => array('\SimpleSAML\Locale\Translate', 'translatePluralNativeGettext'), + ); + + // set up translation + if ($this->localization->i18nBackend === \SimpleSAML\Locale\Localization::GETTEXT_I18N_BACKEND) { + $options['translation_function'] = array('\SimpleSAML\Locale\Translate', 'translateSingularGettext'); + $options['translation_function_plural'] = array( + '\SimpleSAML\Locale\Translate', + 'translatePluralGettext' + ); + } // TODO: add a branch for the old SimpleSAMLphp backend + + $twig = new Twig_Environment($loader, $options); + $twig->addExtension(new Twig_Extensions_Extension_I18n()); + + // initialize some basic context + $langParam = $this->configuration->getString('language.parameter.name', 'language'); + $twig->addGlobal('languageParameterName', $langParam); + $twig->addGlobal('localeBackend', $this->configuration->getString('language.i18n.backend', 'SimpleSAMLphp')); + $twig->addGlobal('currentLanguage', $this->translator->getLanguage()->getLanguage()); + $twig->addGlobal('isRTL', false); // language RTL configuration + if ($this->translator->getLanguage()->isLanguageRTL()) { + $twig->addGlobal('isRTL', true); + } + $queryParams = $_GET; // add query parameters, in case we need them in the template + if (isset($queryParams[$langParam])) { + unset($queryParams[$langParam]); + } + $twig->addGlobal('queryParams', $queryParams); + $twig->addGlobal('templateId', str_replace('.twig', '', $this->normalizeTemplateName($this->template))); + $twig->addGlobal('isProduction', $this->configuration->getBoolean('production', true)); + + // add a filter for translations out of arrays + $twig->addFilter( + new \Twig_SimpleFilter( + 'translateFromArray', + array('\SimpleSAML\Locale\Translate', 'translateFromArray'), + array('needs_context' => true) + ) + ); + + if ($this->controller) { + $this->controller->setUpTwig($twig); + } + + return $twig; + } + + /** + * Add overriding templates from the configured theme. + * + * @return array An array of module => templatedir lookups. + */ + private function findThemeTemplateDirs() + { + if ($this->theme['module'] === null) { // no module involved + return array(); + } + + // setup directories & namespaces + $themeDir = \SimpleSAML\Module::getModuleDir($this->theme['module']).'/themes/'.$this->theme['name']; + $subdirs = scandir($themeDir); + if (empty($subdirs)) { // no subdirectories in the theme directory, nothing to do here + // this is probably wrong, log a message + \SimpleSAML\Logger::warning('Empty theme directory for theme "'.$this->theme['name'].'".'); + return array(); + } + + $themeTemplateDirs = array(); + foreach ($subdirs as $entry) { + // discard anything that's not a directory. Expression is negated to profit from lazy evaluation + if (!($entry !== '.' && $entry !== '..' && is_dir($themeDir.'/'.$entry))) { + continue; + } + + // set correct name for the default namespace + $ns = ($entry === 'default') ? \Twig_Loader_Filesystem::MAIN_NAMESPACE : $entry; + $themeTemplateDirs[] = array($ns => $themeDir.'/'.$entry); + } + return $themeTemplateDirs; + } + + /** + * Get the template directory of a module, if it exists. + * + * @return string The templates directory of a module. + * + * @throws InvalidArgumentException If the module is not enabled or it has no templates directory. + */ + private function getModuleTemplateDir($module) + { + if (!\SimpleSAML\Module::isModuleEnabled($module)) { + throw new InvalidArgumentException('The module \''.$module.'\' is not enabled.'); + } + $moduledir = \SimpleSAML\Module::getModuleDir($module); + // check if module has a /templates dir, if so, append + $templatedir = $moduledir.'/templates'; + if (!is_dir($templatedir)) { + throw new InvalidArgumentException('The module \''.$module.'\' has no templates directory.'); + } + return $templatedir; + } + + + /** + * Add the templates from a given module. + * + * Note that the module must be installed, enabled, and contain a "templates" directory. + * + * @param string $module The module where we need to search for templates. + * + * @throws InvalidArgumentException If the module is not enabled or it has no templates directory. + */ + public function addTemplatesFromModule($module) + { + $dir = $this->getModuleTemplateDir($module); + /** @var Twig_Loader_Filesystem $loader */ + $loader = $this->twig->getLoader(); + $loader->addPath($dir, $module); + } + + + /** + * Generate an array for its use in the language bar, indexed by the ISO 639-2 codes of the languages available, + * containing their localized names and the URL that should be used in order to change to that language. + * + * @return array The array containing information of all available languages. + */ + private function generateLanguageBar() + { + $languages = $this->translator->getLanguage()->getLanguageList(); + $langmap = null; + if (count($languages) > 1) { + $parameterName = $this->getTranslator()->getLanguage()->getLanguageParameterName(); + $langmap = array(); + foreach ($languages as $lang => $current) { + $lang = strtolower($lang); + $langname = $this->translator->getLanguage()->getLanguageLocalizedName($lang); + $url = false; + if (!$current) { + $url = htmlspecialchars(\SimpleSAML\Utils\HTTP::addURLParameters( + '', + array($parameterName => $lang) + )); + } + $langmap[$lang] = array( + 'name' => $langname, + 'url' => $url, + ); + } + } + return $langmap; + } + + + /** + * Set some default context + */ + private function twigDefaultContext() + { + // show language bar by default + if (!isset($this->data['hideLanguageBar'])) { + $this->data['hideLanguageBar'] = false; + } + // get languagebar + $this->data['languageBar'] = null; + if ($this->data['hideLanguageBar'] === false) { + $languageBar = $this->generateLanguageBar(); + if (is_null($languageBar)) { + $this->data['hideLanguageBar'] = true; + } else { + $this->data['languageBar'] = $languageBar; + } + } + + // assure that there is a and <h1> + if (isset($this->data['header']) && !isset($this->data['pagetitle'])) { + $this->data['pagetitle'] = $this->data['header']; + } + if (!isset($this->data['pagetitle'])) { + $this->data['pagetitle'] = 'SimpleSAMLphp'; + } + } + + + /** + * Show the template to the user. + */ + public function show() + { + if ($this->twig !== false) { + $this->twigDefaultContext(); + if ($this->controller) { + $this->controller->display($this->data); + } + echo $this->twig->render($this->twig_template, $this->data); + } else { + $filename = $this->findTemplatePath($this->template); + require($filename); + } + } + + + /** + * Find module the template is in, if any + * + * @param string $template The relative path from the theme directory to the template file. + * + * @return array An array with the name of the module and template + */ + private function findModuleAndTemplateName($template) + { + $tmp = explode(':', $template, 2); + return (count($tmp) === 2) ? array($tmp[0], $tmp[1]) : array(null, $tmp[0]); + } + + + /** + * Find template path. + * + * This function locates the given template based on the template name. It will first search for the template in + * the current theme directory, and then the default theme. + * + * The template name may be on the form <module name>:<template path>, in which case it will search for the + * template file in the given module. + * + * @param string $template The relative path from the theme directory to the template file. + * + * @return string The absolute path to the template file. + * + * @throws Exception If the template file couldn't be found. + */ + private function findTemplatePath($template, $throw_exception = true) + { + assert(is_string($template)); + + list($templateModule, $templateName) = $this->findModuleAndTemplateName($template); + $templateModule = ($templateModule !== null) ? $templateModule : 'default'; + + // first check the current theme + if ($this->theme['module'] !== null) { + // .../module/<themeModule>/themes/<themeName>/<templateModule>/<templateName> + + $filename = \SimpleSAML\Module::getModuleDir($this->theme['module']). + '/themes/'.$this->theme['name'].'/'.$templateModule.'/'.$templateName; + } elseif ($templateModule !== 'default') { + // .../module/<templateModule>/templates/<templateName> + $filename = \SimpleSAML\Module::getModuleDir($templateModule).'/templates/'.$templateName; + } else { + // .../templates/<theme>/<templateName> + $filename = $this->configuration->getPathValue('templatedir', 'templates/').$templateName; + } + + if (file_exists($filename)) { + return $filename; + } + + // not found in current theme + \SimpleSAML\Logger::debug( + $_SERVER['PHP_SELF'].' - Template: Could not find template file ['.$template.'] at ['. + $filename.'] - now trying the base template' + ); + + // try default theme + if ($templateModule !== 'default') { + // .../module/<templateModule>/templates/<templateName> + $filename = \SimpleSAML\Module::getModuleDir($templateModule).'/templates/'.$templateName; + } else { + // .../templates/<templateName> + $filename = $this->configuration->getPathValue('templatedir', 'templates/').'/'.$templateName; + } + + if (file_exists($filename)) { + return $filename; + } + + // not found in default template + if ($throw_exception) { + // log error and throw exception + $error = 'Template: Could not find template file ['.$template.'] at ['.$filename.']'; + \SimpleSAML\Logger::critical($_SERVER['PHP_SELF'].' - '.$error); + + throw new Exception($error); + } else { + // missing template expected, return NULL + return null; + } + } + + + /** + * Return the internal translator object used by this template. + * + * @return \SimpleSAML\Locale\Translate The translator that will be used with this template. + */ + public function getTranslator() + { + return $this->translator; + } + + + /** + * Get the current instance of Twig in use. + * + * @return false|Twig_Environment The Twig instance in use, or false if Twig is not used. + */ + public function getTwig() + { + return $this->twig; + } + + + /* + * Deprecated methods of this interface, all of them should go away. + */ + + + /** + * @param $name + * + * @return string + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Language::getLanguage() + * instead. + */ + public function getAttributeTranslation($name) + { + return $this->translator->getAttributeTranslation($name); + } + + + /** + * @return string + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Language::getLanguage() + * instead. + */ + public function getLanguage() + { + return $this->translator->getLanguage()->getLanguage(); + } + + + /** + * @param $language + * @param bool $setLanguageCookie + * + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Language::setLanguage() + * instead. + */ + public function setLanguage($language, $setLanguageCookie = true) + { + $this->translator->getLanguage()->setLanguage($language, $setLanguageCookie); + } + + + /** + * @return null|string + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Language::getLanguageCookie() + * instead. + */ + public static function getLanguageCookie() + { + return \SimpleSAML\Locale\Language::getLanguageCookie(); + } + + + /** + * @param $language + * + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Language::setLanguageCookie() + * instead. + */ + public static function setLanguageCookie($language) + { + \SimpleSAML\Locale\Language::setLanguageCookie($language); + } + + + /** + * Wraps Language->getLanguageList + */ + private function getLanguageList() + { + return $this->translator->getLanguage()->getLanguageList(); + } + + + /** + * @param $tag + * + * @return array + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Translate::getTag() instead. + */ + public function getTag($tag) + { + return $this->translator->getTag($tag); + } + + + /** + * Temporary wrapper for \SimpleSAML\Locale\Translate::getPreferredTranslation(). + * + * @deprecated This method will be removed in SSP 2.0. Please use + * \SimpleSAML\Locale\Translate::getPreferredTranslation() instead. + */ + public function getTranslation($translations) + { + return $this->translator->getPreferredTranslation($translations); + } + + + /** + * Includes a file relative to the template base directory. + * This function can be used to include headers and footers etc. + * + */ + private function includeAtTemplateBase($file) + { + $data = $this->data; + + $filename = $this->findTemplatePath($file); + + include($filename); + } + + + /** + * Wraps Translate->includeInlineTranslation() + * + * @see \SimpleSAML\Locale\Translate::includeInlineTranslation() + * @deprecated This method will be removed in SSP 2.0. Please use + * \SimpleSAML\Locale\Translate::includeInlineTranslation() instead. + */ + public function includeInlineTranslation($tag, $translation) + { + $this->translator->includeInlineTranslation($tag, $translation); + } + + + /** + * @param $file + * @param null $otherConfig + * + * @deprecated This method will be removed in SSP 2.0. Please use + * \SimpleSAML\Locale\Translate::includeLanguageFile() instead. + */ + public function includeLanguageFile($file, $otherConfig = null) + { + $this->translator->includeLanguageFile($file, $otherConfig); + } + + + /** + * Wrap Language->isLanguageRTL + */ + private function isLanguageRTL() + { + return $this->translator->getLanguage()->isLanguageRTL(); + } + + + /** + * Merge two translation arrays. + * + * @param array $def The array holding string definitions. + * @param array $lang The array holding translations for every string. + * + * @return array The recursive merge of both arrays. + * @deprecated This method will be removed in SimpleSAMLphp 2.0. Please use array_merge_recursive() instead. + */ + public static function lang_merge($def, $lang) + { + foreach ($def as $key => $value) { + if (array_key_exists($key, $lang)) { + $def[$key] = array_merge($value, $lang[$key]); + } + } + return $def; + } + + + /** + * Behave like Language->noop to mark a tag for translation but actually do it later. + * + * @see \SimpleSAML\Locale\Translate::noop() + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Translate::noop() instead. + */ + public static function noop($tag) + { + return $tag; + } + + + /** + * Wrap Language->t to translate tag into the current language, with a fallback to english. + * + * @see \SimpleSAML\Locale\Translate::t() + * @deprecated This method will be removed in SSP 2.0. Please use \SimpleSAML\Locale\Translate::t() instead. + */ + public function t( + $tag, + $replacements = array(), + $fallbackdefault = true, + $oldreplacements = array(), + $striptags = false + ) { + return $this->translator->t($tag, $replacements, $fallbackdefault, $oldreplacements, $striptags); + } +} diff --git a/lib/SimpleSAML/XHTML/TemplateControllerInterface.php b/lib/SimpleSAML/XHTML/TemplateControllerInterface.php new file mode 100755 index 0000000..8d6f4e7 --- /dev/null +++ b/lib/SimpleSAML/XHTML/TemplateControllerInterface.php @@ -0,0 +1,33 @@ +<?php + +namespace SimpleSAML\XHTML; + +/** + * Interface that allows modules to run several hooks for templates. + * + * @package SimpleSAMLphp + */ +interface TemplateControllerInterface +{ + + /** + * Implement to modify the twig environment after its initialization (e.g. add filters or extensions). + * + * @param \Twig_Environment $twig The current twig environment. + * + * @return void + */ + public function setUpTwig(\Twig_Environment &$twig); + + + /** + * Implement to add, delete or modify the data passed to the template. + * + * This method will be called right before displaying the template. + * + * @param array $data The current data used by the template. + * + * @return void + */ + public function display(&$data); +} diff --git a/lib/SimpleSAML/XML/Errors.php b/lib/SimpleSAML/XML/Errors.php new file mode 100755 index 0000000..4b4f167 --- /dev/null +++ b/lib/SimpleSAML/XML/Errors.php @@ -0,0 +1,140 @@ +<?php + +/** + * This class defines an interface for accessing errors from the XML library. + * + * In PHP versions which doesn't support accessing error information, this class + * will hide that, and pretend that no errors were logged. + * + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML; + +use LibXMLError; + +class Errors +{ + + /** + * @var array This is an stack of error logs. The topmost element is the one we are currently working on. + */ + private static $errorStack = array(); + + /** + * @var bool This is the xml error state we had before we began logging. + */ + private static $xmlErrorState; + + + /** + * Append current XML errors to the current stack level. + */ + private static function addErrors() + { + $currentErrors = libxml_get_errors(); + libxml_clear_errors(); + + $level = count(self::$errorStack) - 1; + self::$errorStack[$level] = array_merge(self::$errorStack[$level], $currentErrors); + } + + + /** + * Start error logging. + * + * A call to this function will begin a new error logging context. Every call must have + * a corresponding call to end(). + */ + public static function begin() + { + + // Check whether the error access functions are present + if (!function_exists('libxml_use_internal_errors')) { + return; + } + + if (count(self::$errorStack) === 0) { + // No error logging is currently in progress. Initialize it. + self::$xmlErrorState = libxml_use_internal_errors(true); + libxml_clear_errors(); + } else { + /* We have already started error logging. Append the current errors to the + * list of errors in this level. + */ + self::addErrors(); + } + + // Add a new level to the error stack + self::$errorStack[] = array(); + } + + + /** + * End error logging. + * + * @return array An array with the LibXMLErrors which has occurred since begin() was called. + */ + public static function end() + { + + // Check whether the error access functions are present + if (!function_exists('libxml_use_internal_errors')) { + // Pretend that no errors occurred + return array(); + } + + // Add any errors which may have occurred + self::addErrors(); + + + $ret = array_pop(self::$errorStack); + + if (count(self::$errorStack) === 0) { + // Disable our error logging and restore the previous state + libxml_use_internal_errors(self::$xmlErrorState); + } + + return $ret; + } + + + /** + * Format an error as a string. + * + * This function formats the given LibXMLError object as a string. + * + * @param \LibXMLError $error The LibXMLError which should be formatted. + * @return string A string representing the given LibXMLError. + */ + public static function formatError($error) + { + assert($error instanceof LibXMLError); + return 'level=' . $error->level . ',code=' . $error->code . ',line=' . $error->line . ',col=' . $error->column . + ',msg=' . trim($error->message); + } + + + /** + * Format a list of errors as a string. + * + * This fucntion takes an array of LibXMLError objects and creates a string with all the errors. + * Each error will be separated by a newline, and the string will end with a newline-character. + * + * @param array $errors An array of errors. + * @return string A string representing the errors. An empty string will be returned if there were no + * errors in the array. + */ + public static function formatErrors($errors) + { + assert(is_array($errors)); + + $ret = ''; + foreach ($errors as $error) { + $ret .= self::formatError($error) . "\n"; + } + + return $ret; + } +} diff --git a/lib/SimpleSAML/XML/Parser.php b/lib/SimpleSAML/XML/Parser.php new file mode 100755 index 0000000..b8dda85 --- /dev/null +++ b/lib/SimpleSAML/XML/Parser.php @@ -0,0 +1,77 @@ +<?php + +/** + * This file will help doing XPath queries in SAML 2 XML documents. + * + * @author Andreas Åkre Solberg, UNINETT AS. <andreas.solberg@uninett.no> + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML; + +class Parser +{ + public $simplexml = null; + + public function __construct($xml) + { + ; + $this->simplexml = new \SimpleXMLElement($xml); + $this->simplexml->registerXPathNamespace('saml2', 'urn:oasis:names:tc:SAML:2.0:assertion'); + $this->simplexml->registerXPathNamespace('saml2meta', 'urn:oasis:names:tc:SAML:2.0:metadata'); + $this->simplexml->registerXPathNamespace('ds', 'http://www.w3.org/2000/09/xmldsig#'); + } + + public static function fromSimpleXMLElement(\SimpleXMLElement $element) + { + + // Traverse all existing namespaces in element + $namespaces = $element->getNamespaces(); + foreach ($namespaces as $prefix => $ns) { + $element[(($prefix === '') ? 'xmlns' : 'xmlns:' . $prefix)] = $ns; + } + + /* Create a new parser with the xml document where the namespace definitions + * are added. + */ + $parser = new Parser($element->asXML()); + return $parser; + } + + public function getValueDefault($xpath, $defvalue) + { + try { + return $this->getValue($xpath, true); + } catch (\Exception $e) { + return $defvalue; + } + } + + public function getValue($xpath, $required = false) + { + $result = $this->simplexml->xpath($xpath); + if (!is_array($result) || empty($result)) { + if ($required) { + throw new \Exception('Could not get value from XML document using the following XPath expression: ' . $xpath); + } else { + return null; + } + } + return (string) $result[0]; + } + + public function getValueAlternatives(array $xpath, $required = false) + { + foreach ($xpath as $x) { + $seek = $this->getValue($x); + if ($seek) { + return $seek; + } + } + if ($required) { + throw new \Exception('Could not get value from XML document using multiple alternative XPath expressions.'); + } else { + return null; + } + } +} diff --git a/lib/SimpleSAML/XML/Shib13/AuthnRequest.php b/lib/SimpleSAML/XML/Shib13/AuthnRequest.php new file mode 100755 index 0000000..f52fea2 --- /dev/null +++ b/lib/SimpleSAML/XML/Shib13/AuthnRequest.php @@ -0,0 +1,53 @@ +<?php + +/** + * The Shibboleth 1.3 Authentication Request. Not part of SAML 1.1, + * but an extension using query paramters no XML. + * + * @author Andreas Åkre Solberg, UNINETT AS. <andreas.solberg@uninett.no> + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML\Shib13; + +class AuthnRequest +{ + private $issuer = null; + private $relayState = null; + + public function setRelayState($relayState) + { + $this->relayState = $relayState; + } + + public function getRelayState() + { + return $this->relayState; + } + + public function setIssuer($issuer) + { + $this->issuer = $issuer; + } + public function getIssuer() + { + return $this->issuer; + } + + public function createRedirect($destination, $shire) + { + $metadata = \SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $idpmetadata = $metadata->getMetaDataConfig($destination, 'shib13-idp-remote'); + + $desturl = $idpmetadata->getDefaultEndpoint('SingleSignOnService', array('urn:mace:shibboleth:1.0:profiles:AuthnRequest')); + $desturl = $desturl['Location']; + + $target = $this->getRelayState(); + + $url = $desturl . '?' . + 'providerId=' . urlencode($this->getIssuer()) . + '&shire=' . urlencode($shire) . + (isset($target) ? '&target=' . urlencode($target) : ''); + return $url; + } +} diff --git a/lib/SimpleSAML/XML/Shib13/AuthnResponse.php b/lib/SimpleSAML/XML/Shib13/AuthnResponse.php new file mode 100755 index 0000000..61a8f32 --- /dev/null +++ b/lib/SimpleSAML/XML/Shib13/AuthnResponse.php @@ -0,0 +1,480 @@ +<?php + +/** + * A Shibboleth 1.3 authentication response. + * + * @author Andreas Åkre Solberg, UNINETT AS. <andreas.solberg@uninett.no> + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML\Shib13; + +use DOMDocument; +use DOMNode; +use SAML2\DOMDocumentFactory; +use SAML2\Utils; +use SimpleSAML\Utils\Config; +use SimpleSAML\Utils\Random; +use SimpleSAML\Utils\Time; +use SimpleSAML\XML\Validator; + +class AuthnResponse +{ + + /** + * @var \SimpleSAML\XML\Validator This variable contains an XML validator for this message. + */ + private $validator = null; + + + /** + * @var bool Whether this response was validated by some external means (e.g. SSL). + */ + private $messageValidated = false; + + + const SHIB_PROTOCOL_NS = 'urn:oasis:names:tc:SAML:1.0:protocol'; + const SHIB_ASSERT_NS = 'urn:oasis:names:tc:SAML:1.0:assertion'; + + + /** + * @var \DOMDocument The DOMDocument which represents this message. + */ + private $dom; + + /** + * @var string|null The relaystate which is associated with this response. + */ + private $relayState = null; + + + /** + * Set whether this message was validated externally. + * + * @param bool $messageValidated TRUE if the message is already validated, FALSE if not. + */ + public function setMessageValidated($messageValidated) + { + assert(is_bool($messageValidated)); + + $this->messageValidated = $messageValidated; + } + + + public function setXML($xml) + { + assert(is_string($xml)); + + try { + $this->dom = DOMDocumentFactory::fromString(str_replace("\r", "", $xml)); + } catch (\Exception $e) { + throw new \Exception('Unable to parse AuthnResponse XML.'); + } + } + + public function setRelayState($relayState) + { + $this->relayState = $relayState; + } + + public function getRelayState() + { + return $this->relayState; + } + + public function validate() + { + assert($this->dom instanceof DOMDocument); + + if ($this->messageValidated) { + // This message was validated externally + return true; + } + + // Validate the signature + $this->validator = new Validator($this->dom, array('ResponseID', 'AssertionID')); + + // Get the issuer of the response + $issuer = $this->getIssuer(); + + // Get the metadata of the issuer + $metadata = \SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $md = $metadata->getMetaDataConfig($issuer, 'shib13-idp-remote'); + + $publicKeys = $md->getPublicKeys('signing'); + if (!empty($publicKeys)) { + $certFingerprints = array(); + foreach ($publicKeys as $key) { + if ($key['type'] !== 'X509Certificate') { + continue; + } + $certFingerprints[] = sha1(base64_decode($key['X509Certificate'])); + } + $this->validator->validateFingerprint($certFingerprints); + } elseif ($md->hasValue('certFingerprint')) { + $certFingerprints = $md->getArrayizeString('certFingerprint'); + + // Validate the fingerprint + $this->validator->validateFingerprint($certFingerprints); + } elseif ($md->hasValue('caFile')) { + // Validate against CA + $this->validator->validateCA(Config::getCertPath($md->getString('caFile'))); + } else { + throw new \SimpleSAML_Error_Exception('Missing certificate in Shibboleth 1.3 IdP Remote metadata for identity provider [' . $issuer . '].'); + } + + return true; + } + + + /** + * Checks if the given node is validated by the signature on this response. + * + * @param \DOMElement $node Node to be validated. + * @return bool TRUE if the node is validated or FALSE if not. + */ + private function isNodeValidated($node) + { + if ($this->messageValidated) { + // This message was validated externally + return true; + } + + if ($this->validator === null) { + return false; + } + + // Convert the node to a DOM node if it is an element from SimpleXML + if ($node instanceof \SimpleXMLElement) { + $node = dom_import_simplexml($node); + } + + assert($node instanceof DOMNode); + + return $this->validator->isNodeValidated($node); + } + + + /** + * This function runs an xPath query on this authentication response. + * + * @param string $query The query which should be run. + * @param \DOMNode $node The node which this query is relative to. If this node is NULL (the default) + * then the query will be relative to the root of the response. + * @return \DOMNodeList + */ + private function doXPathQuery($query, $node = null) + { + assert(is_string($query)); + assert($this->dom instanceof DOMDocument); + + if ($node === null) { + $node = $this->dom->documentElement; + } + + assert($node instanceof DOMNode); + + $xPath = new \DOMXpath($this->dom); + $xPath->registerNamespace('shibp', self::SHIB_PROTOCOL_NS); + $xPath->registerNamespace('shib', self::SHIB_ASSERT_NS); + + return $xPath->query($query, $node); + } + + /** + * Retrieve the session index of this response. + * + * @return string|null The session index of this response. + */ + public function getSessionIndex() + { + assert($this->dom instanceof DOMDocument); + + $query = '/shibp:Response/shib:Assertion/shib:AuthnStatement'; + $nodelist = $this->doXPathQuery($query); + if ($node = $nodelist->item(0)) { + return $node->getAttribute('SessionIndex'); + } + + return null; + } + + + public function getAttributes() + { + $metadata = \SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $md = $metadata->getMetadata($this->getIssuer(), 'shib13-idp-remote'); + $base64 = isset($md['base64attributes']) ? $md['base64attributes'] : false; + + if (! ($this->dom instanceof \DOMDocument)) { + return array(); + } + + $attributes = array(); + + $assertions = $this->doXPathQuery('/shibp:Response/shib:Assertion'); + + foreach ($assertions as $assertion) { + if (!$this->isNodeValidated($assertion)) { + throw new \Exception('Shib13 AuthnResponse contained an unsigned assertion.'); + } + + $conditions = $this->doXPathQuery('shib:Conditions', $assertion); + if ($conditions && $conditions->length > 0) { + $condition = $conditions->item(0); + + $start = $condition->getAttribute('NotBefore'); + $end = $condition->getAttribute('NotOnOrAfter'); + + if ($start && $end) { + if (!self::checkDateConditions($start, $end)) { + error_log('Date check failed ... (from ' . $start . ' to ' . $end . ')'); + continue; + } + } + } + + $attribute_nodes = $this->doXPathQuery('shib:AttributeStatement/shib:Attribute/shib:AttributeValue', $assertion); + /** @var \DOMElement $attribute */ + foreach ($attribute_nodes as $attribute) { + $value = $attribute->textContent; + $name = $attribute->parentNode->getAttribute('AttributeName'); + + if ($attribute->hasAttribute('Scope')) { + $scopePart = '@' . $attribute->getAttribute('Scope'); + } else { + $scopePart = ''; + } + + if (!is_string($name)) { + throw new \Exception('Shib13 Attribute node without an AttributeName.'); + } + + if (!array_key_exists($name, $attributes)) { + $attributes[$name] = array(); + } + + if ($base64) { + $encodedvalues = explode('_', $value); + foreach ($encodedvalues as $v) { + $attributes[$name][] = base64_decode($v) . $scopePart; + } + } else { + $attributes[$name][] = $value . $scopePart; + } + } + } + + return $attributes; + } + + + public function getIssuer() + { + $query = '/shibp:Response/shib:Assertion/@Issuer'; + $nodelist = $this->doXPathQuery($query); + + if ($attr = $nodelist->item(0)) { + return $attr->value; + } else { + throw new \Exception('Could not find Issuer field in Authentication response'); + } + } + + public function getNameID() + { + $nameID = array(); + + $query = '/shibp:Response/shib:Assertion/shib:AuthenticationStatement/shib:Subject/shib:NameIdentifier'; + $nodelist = $this->doXPathQuery($query); + + if ($node = $nodelist->item(0)) { + $nameID["Value"] = $node->nodeValue; + $nameID["Format"] = $node->getAttribute('Format'); + } + + return $nameID; + } + + + /** + * Build a authentication response. + * + * @param \SimpleSAML_Configuration $idp Metadata for the IdP the response is sent from. + * @param \SimpleSAML_Configuration $sp Metadata for the SP the response is sent to. + * @param string $shire The endpoint on the SP the response is sent to. + * @param array|null $attributes The attributes which should be included in the response. + * @return string The response. + */ + public function generate(\SimpleSAML_Configuration $idp, \SimpleSAML_Configuration $sp, $shire, $attributes) + { + assert(is_string($shire)); + assert($attributes === null || is_array($attributes)); + + if ($sp->hasValue('scopedattributes')) { + $scopedAttributes = $sp->getArray('scopedattributes'); + } elseif ($idp->hasValue('scopedattributes')) { + $scopedAttributes = $idp->getArray('scopedattributes'); + } else { + $scopedAttributes = array(); + } + + $id = Random::generateID(); + + $issueInstant = Time::generateTimestamp(); + + // 30 seconds timeskew back in time to allow differing clocks + $notBefore = Time::generateTimestamp(time() - 30); + + + $assertionExpire = Time::generateTimestamp(time() + 60 * 5);# 5 minutes + $assertionid = Random::generateID(); + + $spEntityId = $sp->getString('entityid'); + + $audience = $sp->getString('audience', $spEntityId); + $base64 = $sp->getBoolean('base64attributes', false); + + $namequalifier = $sp->getString('NameQualifier', $spEntityId); + $nameid = Random::generateID(); + $subjectNode = + '<Subject>' . + '<NameIdentifier' . + ' Format="urn:mace:shibboleth:1.0:nameIdentifier"' . + ' NameQualifier="' . htmlspecialchars($namequalifier) . '"' . + '>' . + htmlspecialchars($nameid) . + '</NameIdentifier>' . + '<SubjectConfirmation>' . + '<ConfirmationMethod>' . + 'urn:oasis:names:tc:SAML:1.0:cm:bearer' . + '</ConfirmationMethod>' . + '</SubjectConfirmation>' . + '</Subject>'; + + $encodedattributes = ''; + + if (is_array($attributes)) { + $encodedattributes .= '<AttributeStatement>'; + $encodedattributes .= $subjectNode; + + foreach ($attributes as $name => $value) { + $encodedattributes .= $this->enc_attribute($name, $value, $base64, $scopedAttributes); + } + + $encodedattributes .= '</AttributeStatement>'; + } + + /* + * The SAML 1.1 response message + */ + $response = '<Response xmlns="urn:oasis:names:tc:SAML:1.0:protocol" + xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" + xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" IssueInstant="' . $issueInstant. '" + MajorVersion="1" MinorVersion="1" + Recipient="' . htmlspecialchars($shire) . '" ResponseID="' . $id . '"> + <Status> + <StatusCode Value="samlp:Success" /> + </Status> + <Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" + AssertionID="' . $assertionid . '" IssueInstant="' . $issueInstant. '" + Issuer="' . htmlspecialchars($idp->getString('entityid')) . '" MajorVersion="1" MinorVersion="1"> + <Conditions NotBefore="' . $notBefore. '" NotOnOrAfter="'. $assertionExpire . '"> + <AudienceRestrictionCondition> + <Audience>' . htmlspecialchars($audience) . '</Audience> + </AudienceRestrictionCondition> + </Conditions> + <AuthenticationStatement AuthenticationInstant="' . $issueInstant. '" + AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:unspecified">' . + $subjectNode . ' + </AuthenticationStatement> + ' . $encodedattributes . ' + </Assertion> +</Response>'; + + return $response; + } + + + /** + * Format a shib13 attribute. + * + * @param string $name Name of the attribute. + * @param array $values Values of the attribute (as an array of strings). + * @param bool $base64 Whether the attriubte values should be base64-encoded. + * @param array $scopedAttributes Array of attributes names which are scoped. + * @return string The attribute encoded as an XML-string. + */ + private function enc_attribute($name, $values, $base64, $scopedAttributes) + { + assert(is_string($name)); + assert(is_array($values)); + assert(is_bool($base64)); + assert(is_array($scopedAttributes)); + + if (in_array($name, $scopedAttributes, true)) { + $scoped = true; + } else { + $scoped = false; + } + + $attr = '<Attribute AttributeName="' . htmlspecialchars($name) . '" AttributeNamespace="urn:mace:shibboleth:1.0:attributeNamespace:uri">'; + foreach ($values as $value) { + $scopePart = ''; + if ($scoped) { + $tmp = explode('@', $value, 2); + if (count($tmp) === 2) { + $value = $tmp[0]; + $scopePart = ' Scope="' . htmlspecialchars($tmp[1]) . '"'; + } + } + + if ($base64) { + $value = base64_encode($value); + } + + $attr .= '<AttributeValue' . $scopePart . '>' . htmlspecialchars($value) . '</AttributeValue>'; + } + $attr .= '</Attribute>'; + + return $attr; + } + + /** + * Check if we are currently between the given date & time conditions. + * + * Note that this function allows a 10-minute leap from the initial time as marked by $start. + * + * @param string|null $start A SAML2 timestamp marking the start of the period to check. Defaults to null, in which + * case there's no limitations in the past. + * @param string|null $end A SAML2 timestamp marking the end of the period to check. Defaults to null, in which + * case there's no limitations in the future. + * + * @return bool True if the current time belongs to the period specified by $start and $end. False otherwise. + * + * @see \SAML2\Utils::xsDateTimeToTimestamp. + * + * @author Andreas Solberg, UNINETT AS <andreas.solberg@uninett.no> + * @author Olav Morken, UNINETT AS <olav.morken@uninett.no> + */ + protected static function checkDateConditions($start = null, $end = null) + { + $currentTime = time(); + + if (!empty($start)) { + $startTime = Utils::xsDateTimeToTimestamp($start); + // allow for a 10 minute difference in time + if (($startTime < 0) || (($startTime - 600) > $currentTime)) { + return false; + } + } + if (!empty($end)) { + $endTime = Utils::xsDateTimeToTimestamp($end); + if (($endTime < 0) || ($endTime <= $currentTime)) { + return false; + } + } + return true; + } +} diff --git a/lib/SimpleSAML/XML/Signer.php b/lib/SimpleSAML/XML/Signer.php new file mode 100755 index 0000000..0aeb8ba --- /dev/null +++ b/lib/SimpleSAML/XML/Signer.php @@ -0,0 +1,313 @@ +<?php + +/** + * A helper class for signing XML. + * + * This is a helper class for signing XML documents. + * + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML; + +use DOMComment; +use DOMElement; +use DOMText; +use RobRichards\XMLSecLibs\XMLSecurityDSig; +use RobRichards\XMLSecLibs\XMLSecurityKey; +use SimpleSAML\Utils\Config; + +class Signer +{ + /** + * @var string The name of the ID attribute. + */ + private $idAttrName = ''; + + /** + * @var XMLSecurityKey|bool The private key (as an XMLSecurityKey). + */ + private $privateKey = false; + + /** + * @var string The certificate (as text). + */ + private $certificate = ''; + + + /** + * @var array Extra certificates which should be included in the response. + */ + private $extraCertificates = array(); + + + /** + * Constructor for the metadata signer. + * + * You can pass an list of options as key-value pairs in the array. This allows you to initialize + * a metadata signer in one call. + * + * The following keys are recognized: + * - privatekey The file with the private key, relative to the cert-directory. + * - privatekey_pass The passphrase for the private key. + * - certificate The file with the certificate, relative to the cert-directory. + * - privatekey_array The private key, as an array returned from SimpleSAML_Utilities::loadPrivateKey. + * - publickey_array The public key, as an array returned from SimpleSAML_Utilities::loadPublicKey. + * - id The name of the ID attribute. + * + * @param array $options Associative array with options for the constructor. Defaults to an empty array. + */ + public function __construct($options = array()) + { + assert(is_array($options)); + + if (array_key_exists('privatekey', $options)) { + $pass = null; + if (array_key_exists('privatekey_pass', $options)) { + $pass = $options['privatekey_pass']; + } + + $this->loadPrivateKey($options['privatekey'], $pass); + } + + if (array_key_exists('certificate', $options)) { + $this->loadCertificate($options['certificate']); + } + + if (array_key_exists('privatekey_array', $options)) { + $this->loadPrivateKeyArray($options['privatekey_array']); + } + + if (array_key_exists('publickey_array', $options)) { + $this->loadPublicKeyArray($options['publickey_array']); + } + + if (array_key_exists('id', $options)) { + $this->setIdAttribute($options['id']); + } + } + + + /** + * Set the private key from an array. + * + * This function loads the private key from an array matching what is returned + * by SimpleSAML_Utilities::loadPrivateKey(...). + * + * @param array $privatekey The private key. + */ + public function loadPrivateKeyArray($privatekey) + { + assert(is_array($privatekey)); + assert(array_key_exists('PEM', $privatekey)); + + $this->privateKey = new XMLSecurityKey(XMLSecurityKey::RSA_SHA256, array('type' => 'private')); + if (array_key_exists('password', $privatekey)) { + $this->privateKey->passphrase = $privatekey['password']; + } + $this->privateKey->loadKey($privatekey['PEM'], false); + } + + + /** + * Set the private key. + * + * Will throw an exception if unable to load the private key. + * + * @param string $file The file which contains the private key. The path is assumed to be relative + * to the cert-directory. + * @param string|null $pass The passphrase on the private key. Pass no value or NULL if the private + * key is unencrypted. + * @param bool $full_path Whether the filename found in the configuration contains the + * full path to the private key or not. Default to false. + * @throws \Exception + */ + public function loadPrivateKey($file, $pass = null, $full_path = false) + { + assert(is_string($file)); + assert(is_string($pass) || $pass === null); + assert(is_bool($full_path)); + + if (!$full_path) { + $keyFile = Config::getCertPath($file); + } else { + $keyFile = $file; + } + + if (!file_exists($keyFile)) { + throw new \Exception('Could not find private key file "' . $keyFile . '".'); + } + $keyData = file_get_contents($keyFile); + if ($keyData === false) { + throw new \Exception('Unable to read private key file "' . $keyFile . '".'); + } + + $privatekey = array('PEM' => $keyData); + if ($pass !== null) { + $privatekey['password'] = $pass; + } + $this->loadPrivateKeyArray($privatekey); + } + + + /** + * Set the public key / certificate we should include in the signature. + * + * This function loads the public key from an array matching what is returned + * by SimpleSAML_Utilities::loadPublicKey(...). + * + * @param array $publickey The public key. + * @throws \Exception + */ + public function loadPublicKeyArray($publickey) + { + assert(is_array($publickey)); + + if (!array_key_exists('PEM', $publickey)) { + // We have a public key with only a fingerprint + throw new \Exception('Tried to add a certificate fingerprint in a signature.'); + } + + // For now, we only assume that the public key is an X509 certificate + $this->certificate = $publickey['PEM']; + } + + + /** + * Set the certificate we should include in the signature. + * + * If this function isn't called, no certificate will be included. + * Will throw an exception if unable to load the certificate. + * + * @param string $file The file which contains the certificate. The path is assumed to be relative to + * the cert-directory. + * @param bool $full_path Whether the filename found in the configuration contains the + * full path to the private key or not. Default to false. + * @throws \Exception + */ + public function loadCertificate($file, $full_path = false) + { + assert(is_string($file)); + assert(is_bool($full_path)); + + if (!$full_path) { + $certFile = Config::getCertPath($file); + } else { + $certFile = $file; + } + + if (!file_exists($certFile)) { + throw new \Exception('Could not find certificate file "' . $certFile . '".'); + } + + $cert = file_get_contents($certFile); + if ($cert === false) { + throw new \Exception('Unable to read certificate file "' . $certFile . '".'); + } + $this->certificate = $cert; + } + + + /** + * Set the attribute name for the ID value. + * + * @param string $idAttrName The name of the attribute which contains the id. + */ + public function setIDAttribute($idAttrName) + { + assert(is_string($idAttrName)); + + $this->idAttrName = $idAttrName; + } + + + /** + * Add an extra certificate to the certificate chain in the signature. + * + * Extra certificates will be added to the certificate chain in the order they + * are added. + * + * @param string $file The file which contains the certificate, relative to the cert-directory. + * @param bool $full_path Whether the filename found in the configuration contains the + * full path to the private key or not. Default to false. + * @throws \Exception + */ + public function addCertificate($file, $full_path = false) + { + assert(is_string($file)); + assert(is_bool($full_path)); + + if (!$full_path) { + $certFile = Config::getCertPath($file); + } else { + $certFile = $file; + } + + if (!file_exists($certFile)) { + throw new \Exception('Could not find extra certificate file "' . $certFile . '".'); + } + + $certificate = file_get_contents($certFile); + if ($certificate === false) { + throw new \Exception('Unable to read extra certificate file "' . $certFile . '".'); + } + + $this->extraCertificates[] = $certificate; + } + + + /** + * Signs the given DOMElement and inserts the signature at the given position. + * + * The private key must be set before calling this function. + * + * @param \DOMElement $node The DOMElement we should generate a signature for. + * @param \DOMElement $insertInto The DOMElement we should insert the signature element into. + * @param \DOMElement $insertBefore The element we should insert the signature element before. Defaults to NULL, + * in which case the signature will be appended to the element spesified in + * $insertInto. + * @throws \Exception + */ + public function sign($node, $insertInto, $insertBefore = null) + { + assert($node instanceof DOMElement); + assert($insertInto instanceof DOMElement); + assert($insertBefore === null || $insertBefore instanceof DOMElement || + $insertBefore instanceof DOMComment || $insertBefore instanceof DOMText); + + if ($this->privateKey === false) { + throw new \Exception('Private key not set.'); + } + + + $objXMLSecDSig = new XMLSecurityDSig(); + $objXMLSecDSig->setCanonicalMethod(XMLSecurityDSig::EXC_C14N); + + $options = array(); + if (!empty($this->idAttrName)) { + $options['id_name'] = $this->idAttrName; + } + + $objXMLSecDSig->addReferenceList( + array($node), + XMLSecurityDSig::SHA256, + array('http://www.w3.org/2000/09/xmldsig#enveloped-signature', XMLSecurityDSig::EXC_C14N), + $options + ); + + /** @var \RobRichards\XMLSecLibs\XMLSecurityKey $this->privateKey */ + $objXMLSecDSig->sign($this->privateKey); + + + // Add the certificate to the signature + $objXMLSecDSig->add509Cert($this->certificate, true); + + // Add extra certificates + foreach ($this->extraCertificates as $certificate) { + $objXMLSecDSig->add509Cert($certificate, true); + } + + $objXMLSecDSig->insertSignature($insertInto, $insertBefore); + } +} diff --git a/lib/SimpleSAML/XML/Validator.php b/lib/SimpleSAML/XML/Validator.php new file mode 100755 index 0000000..6d8a4f3 --- /dev/null +++ b/lib/SimpleSAML/XML/Validator.php @@ -0,0 +1,445 @@ +<?php + +/** + * This class implements helper functions for XML validation. + * + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ + +namespace SimpleSAML\XML; + +use RobRichards\XMLSecLibs\XMLSecEnc; +use RobRichards\XMLSecLibs\XMLSecurityDSig; +use SimpleSAML\Logger; + +class Validator +{ + + /** + * @var string This variable contains the X509 certificate the XML document + * was signed with, or NULL if it wasn't signed with an X509 certificate. + */ + private $x509Certificate; + + /** + * @var array|null This variable contains the nodes which are signed. + */ + private $validNodes = null; + + + /** + * This function initializes the validator. + * + * This function accepts an optional parameter $publickey, which is the public key + * or certificate which should be used to validate the signature. This parameter can + * take the following values: + * - NULL/FALSE: No validation will be performed. This is the default. + * - A string: Assumed to be a PEM-encoded certificate / public key. + * - An array: Assumed to be an array returned by SimpleSAML_Utilities::loadPublicKey. + * + * @param \DOMNode $xmlNode The XML node which contains the Signature element. + * @param string|array $idAttribute The ID attribute which is used in node references. If + * this attribute is NULL (the default), then we will use whatever is the default + * ID. Can be eigther a string with one value, or an array with multiple ID + * attrbute names. + * @param array|bool $publickey The public key / certificate which should be used to validate the XML node. + * @throws \Exception + */ + public function __construct($xmlNode, $idAttribute = null, $publickey = false) + { + assert($xmlNode instanceof \DOMNode); + + if ($publickey === null) { + $publickey = false; + } elseif (is_string($publickey)) { + $publickey = array( + 'PEM' => $publickey, + ); + } else { + assert($publickey === false || is_array($publickey)); + } + + // Create an XML security object + $objXMLSecDSig = new XMLSecurityDSig(); + + // Add the id attribute if the user passed in an id attribute + if ($idAttribute !== null) { + if (is_string($idAttribute)) { + $objXMLSecDSig->idKeys[] = $idAttribute; + } elseif (is_array($idAttribute)) { + foreach ($idAttribute as $ida) { + $objXMLSecDSig->idKeys[] = $ida; + } + } + } + + // Locate the XMLDSig Signature element to be used + $signatureElement = $objXMLSecDSig->locateSignature($xmlNode); + if (!$signatureElement) { + throw new \Exception('Could not locate XML Signature element.'); + } + + // Canonicalize the XMLDSig SignedInfo element in the message + $objXMLSecDSig->canonicalizeSignedInfo(); + + // Validate referenced xml nodes + if (!$objXMLSecDSig->validateReference()) { + throw new \Exception('XMLsec: digest validation failed'); + } + + + // Find the key used to sign the document + $objKey = $objXMLSecDSig->locateKey(); + if (empty($objKey)) { + throw new \Exception('Error loading key to handle XML signature'); + } + + // Load the key data + if ($publickey !== false && array_key_exists('PEM', $publickey)) { + // We have PEM data for the public key / certificate + $objKey->loadKey($publickey['PEM']); + } else { + // No PEM data. Search for key in signature + + if (!XMLSecEnc::staticLocateKeyInfo($objKey, $signatureElement)) { + throw new \Exception('Error finding key data for XML signature validation.'); + } + + if ($publickey !== false) { + /* $publickey is set, and should therefore contain one or more fingerprints. + * Check that the response contains a certificate with a matching + * fingerprint. + */ + assert(is_array($publickey['certFingerprint'])); + + $certificate = $objKey->getX509Certificate(); + if ($certificate === null) { + // Wasn't signed with an X509 certificate + throw new \Exception('Message wasn\'t signed with an X509 certificate,' . + ' and no public key was provided in the metadata.'); + } + + self::validateCertificateFingerprint($certificate, $publickey['certFingerprint']); + // Key OK + } + } + + // Check the signature + if ($objXMLSecDSig->verify($objKey) !== 1) { + throw new \Exception("Unable to validate Signature"); + } + + // Extract the certificate + $this->x509Certificate = $objKey->getX509Certificate(); + + // Find the list of validated nodes + $this->validNodes = $objXMLSecDSig->getValidatedNodes(); + } + + + /** + * Retrieve the X509 certificate which was used to sign the XML. + * + * This function will return the certificate as a PEM-encoded string. If the XML + * wasn't signed by an X509 certificate, NULL will be returned. + * + * @return string The certificate as a PEM-encoded string, or NULL if not signed with an X509 certificate. + */ + public function getX509Certificate() + { + return $this->x509Certificate; + } + + + /** + * Calculates the fingerprint of an X509 certificate. + * + * @param string $x509cert The certificate as a base64-encoded string. The string may optionally + * be framed with '-----BEGIN CERTIFICATE-----' and '-----END CERTIFICATE-----'. + * @return string The fingerprint as a 40-character lowercase hexadecimal number. NULL is returned if the + * argument isn't an X509 certificate. + */ + private static function calculateX509Fingerprint($x509cert) + { + assert(is_string($x509cert)); + + $lines = explode("\n", $x509cert); + + $data = ''; + + foreach ($lines as $line) { + // Remove '\r' from end of line if present + $line = rtrim($line); + if ($line === '-----BEGIN CERTIFICATE-----') { + // Delete junk from before the certificate + $data = ''; + } elseif ($line === '-----END CERTIFICATE-----') { + // Ignore data after the certificate + break; + } elseif ($line === '-----BEGIN PUBLIC KEY-----') { + // This isn't an X509 certificate + return null; + } else { + // Append the current line to the certificate data + $data .= $line; + } + } + + /* $data now contains the certificate as a base64-encoded string. The fingerprint + * of the certificate is the sha1-hash of the certificate. + */ + return strtolower(sha1(base64_decode($data))); + } + + + /** + * Helper function for validating the fingerprint. + * + * Checks the fingerprint of a certificate against an array of valid fingerprints. + * Will throw an exception if none of the fingerprints matches. + * + * @param string $certificate The X509 certificate we should validate. + * @param array $fingerprints The valid fingerprints. + * @throws \Exception + */ + private static function validateCertificateFingerprint($certificate, $fingerprints) + { + assert(is_string($certificate)); + assert(is_array($fingerprints)); + + $certFingerprint = self::calculateX509Fingerprint($certificate); + if ($certFingerprint === null) { + // Couldn't calculate fingerprint from X509 certificate. Should not happen. + throw new \Exception('Unable to calculate fingerprint from X509' . + ' certificate. Maybe it isn\'t an X509 certificate?'); + } + + foreach ($fingerprints as $fp) { + assert(is_string($fp)); + + if ($fp === $certFingerprint) { + // The fingerprints matched + return; + } + } + + // None of the fingerprints matched. Throw an exception describing the error. + throw new \Exception('Invalid fingerprint of certificate. Expected one of [' . + implode('], [', $fingerprints) . '], but got [' . $certFingerprint . ']'); + } + + + /** + * Validate the fingerprint of the certificate which was used to sign this document. + * + * This function accepts either a string, or an array of strings as a parameter. If this + * is an array, then any string (certificate) in the array can match. If this is a string, + * then that string must match, + * + * @param string|array $fingerprints The fingerprints which should match. This can be a single string, + * or an array of fingerprints. + * @throws \Exception + */ + public function validateFingerprint($fingerprints) + { + assert(is_string($fingerprints) || is_array($fingerprints)); + + if ($this->x509Certificate === null) { + throw new \Exception('Key used to sign the message was not an X509 certificate.'); + } + + if (!is_array($fingerprints)) { + $fingerprints = array($fingerprints); + } + + // Normalize the fingerprints + foreach ($fingerprints as &$fp) { + assert(is_string($fp)); + + // Make sure that the fingerprint is in the correct format + $fp = strtolower(str_replace(":", "", $fp)); + } + + self::validateCertificateFingerprint($this->x509Certificate, $fingerprints); + } + + + /** + * This function checks if the given XML node was signed. + * + * @param \DOMNode $node The XML node which we should verify that was signed. + * + * @return bool TRUE if this node (or a parent node) was signed. FALSE if not. + */ + public function isNodeValidated($node) + { + assert($node instanceof \DOMNode); + + while ($node !== null) { + if (in_array($node, $this->validNodes, true)) { + return true; + } + + $node = $node->parentNode; + } + + /* Neither this node nor any of the parent nodes could be found in the list of + * signed nodes. + */ + return false; + } + + + /** + * Validate the certificate used to sign the XML against a CA file. + * + * This function throws an exception if unable to validate against the given CA file. + * + * @param string $caFile File with trusted certificates, in PEM-format. + * @throws \Exception + */ + public function validateCA($caFile) + { + assert(is_string($caFile)); + + if ($this->x509Certificate === null) { + throw new \Exception('Key used to sign the message was not an X509 certificate.'); + } + + self::validateCertificate($this->x509Certificate, $caFile); + } + + /** + * Validate a certificate against a CA file, by using the builtin + * openssl_x509_checkpurpose function + * + * @param string $certificate The certificate, in PEM format. + * @param string $caFile File with trusted certificates, in PEM-format. + * @return boolean|string TRUE on success, or a string with error messages if it failed. + * @deprecated + */ + private static function validateCABuiltIn($certificate, $caFile) + { + assert(is_string($certificate)); + assert(is_string($caFile)); + + // Clear openssl errors + while (openssl_error_string() !== false) { + } + + $res = openssl_x509_checkpurpose($certificate, X509_PURPOSE_ANY, array($caFile)); + + $errors = ''; + // Log errors + while (($error = openssl_error_string()) !== false) { + $errors .= ' [' . $error . ']'; + } + + if ($res !== true) { + return $errors; + } + + return true; + } + + + /** + * Validate the certificate used to sign the XML against a CA file, by using the "openssl verify" command. + * + * This function uses the openssl verify command to verify a certificate, to work around limitations + * on the openssl_x509_checkpurpose function. That function will not work on certificates without a purpose + * set. + * + * @param string $certificate The certificate, in PEM format. + * @param string $caFile File with trusted certificates, in PEM-format. + * @return bool|string TRUE on success, a string with error messages on failure. + * @throws \Exception + * @deprecated + */ + private static function validateCAExec($certificate, $caFile) + { + assert(is_string($certificate)); + assert(is_string($caFile)); + + $command = array( + 'openssl', 'verify', + '-CAfile', $caFile, + '-purpose', 'any', + ); + + $cmdline = ''; + foreach ($command as $c) { + $cmdline .= escapeshellarg($c) . ' '; + } + + $cmdline .= '2>&1'; + $descSpec = array( + 0 => array('pipe', 'r'), + 1 => array('pipe', 'w'), + ); + $process = proc_open($cmdline, $descSpec, $pipes); + if (!is_resource($process)) { + throw new \Exception('Failed to execute verification command: ' . $cmdline); + } + + if (fwrite($pipes[0], $certificate) === false) { + throw new \Exception('Failed to write certificate for verification.'); + } + fclose($pipes[0]); + + $out = ''; + while (!feof($pipes[1])) { + $line = trim(fgets($pipes[1])); + if (strlen($line) > 0) { + $out .= ' [' . $line . ']'; + } + } + fclose($pipes[1]); + + $status = proc_close($process); + if ($status !== 0 || $out !== ' [stdin: OK]') { + return $out; + } + + return true; + } + + + /** + * Validate the certificate used to sign the XML against a CA file. + * + * This function throws an exception if unable to validate against the given CA file. + * + * @param string $certificate The certificate, in PEM format. + * @param string $caFile File with trusted certificates, in PEM-format. + * @throws \Exception + * @deprecated + */ + public static function validateCertificate($certificate, $caFile) + { + assert(is_string($certificate)); + assert(is_string($caFile)); + + if (!file_exists($caFile)) { + throw new \Exception('Could not load CA file: ' . $caFile); + } + + Logger::debug('Validating certificate against CA file: ' . var_export($caFile, true)); + + $resBuiltin = self::validateCABuiltIn($certificate, $caFile); + if ($resBuiltin !== true) { + Logger::debug('Failed to validate with internal function: ' . var_export($resBuiltin, true)); + + $resExternal = self::validateCAExec($certificate, $caFile); + if ($resExternal !== true) { + Logger::debug('Failed to validate with external function: ' . var_export($resExternal, true)); + throw new \Exception('Could not verify certificate against CA file "' + . $caFile . '". Internal result:' . $resBuiltin . + ' External result:' . $resExternal); + } + } + + Logger::debug('Successfully validated certificate.'); + } +} diff --git a/lib/_autoload.php b/lib/_autoload.php new file mode 100755 index 0000000..018468b --- /dev/null +++ b/lib/_autoload.php @@ -0,0 +1,20 @@ +<?php + +/** + * This file is a backwards compatible autoloader for SimpleSAMLphp. + * Loads the Composer autoloader. + * + * @author Olav Morken, UNINETT AS. + * @package SimpleSAMLphp + */ + +// SSP is loaded as a separate project +if (file_exists(dirname(dirname(__FILE__)).'/vendor/autoload.php')) { + require_once dirname(dirname(__FILE__)).'/vendor/autoload.php'; +} else { // SSP is loaded as a library + if (file_exists(dirname(dirname(__FILE__)).'/../../autoload.php')) { + require_once dirname(dirname(__FILE__)).'/../../autoload.php'; + } else { + throw new Exception('Unable to load Composer autoloader'); + } +} diff --git a/lib/_autoload_modules.php b/lib/_autoload_modules.php new file mode 100755 index 0000000..9a2c753 --- /dev/null +++ b/lib/_autoload_modules.php @@ -0,0 +1,157 @@ +<?php + +/** + * This file registers an autoloader for SimpleSAMLphp modules. + * + * @author Boy Baukema, SURFnet + * @author Jaime Perez <jaime.perez@uninett.no>, UNINETT + * @package SimpleSAMLphp + */ + +/** + * This temporary autoloader allows loading classes with their old-style names (SimpleSAML_Path_Something) even if they + * have been migrated to namespaces, by registering an alias for the new class. If the class has not yet been migrated, + * the autoloader will then try to load it. + * + * @param string $class The full name of the class using underscores to separate the elements of the path, and starting + * with 'SimpleSAML_'. + * @deprecated This function will be removed in SSP 2.0. + */ +function temporaryLoader($class) +{ + // handle the upgrade to the latest version of XMLSecLibs using namespaces + if (strstr($class, 'XMLSec')) { + if (class_exists('\\RobRichards\\XMLSecLibs\\'.$class, true)) { + class_alias('\\RobRichards\\XMLSecLibs\\'.$class, $class); + return; + } + } + + if (!strstr($class, 'SimpleSAML_')) { + return; // not a valid class name for old classes + } + $original = $class; + + // list of classes that have been renamed or moved + $renamed = array( + 'SimpleSAML_Metadata_MetaDataStorageHandlerMDX' => 'SimpleSAML_Metadata_Sources_MDQ', + 'SimpleSAML_Logger_LoggingHandlerSyslog' => 'SimpleSAML_Logger_SyslogLoggingHandler', + 'SimpleSAML_Logger_LoggingHandlerErrorLog' => 'SimpleSAML_Logger_ErrorLogLoggingHandler', + 'SimpleSAML_Logger_LoggingHandlerFile' => 'SimpleSAML_Logger_FileLoggingHandler', + 'SimpleSAML_Logger_LoggingHandler' => 'SimpleSAML_Logger_LoggingHandlerInterface', + 'SimpleSAML_IdP_LogoutHandler' => 'SimpleSAML_IdP_LogoutHandlerInterface', + 'SimpleSAML_IdP_LogoutIFrame' => 'SimpleSAML_IdP_IFrameLogoutHandler', + 'SimpleSAML_IdP_LogoutTraditional' => 'SimpleSAML_IdP_TraditionalLogoutHandler', + ); + if (array_key_exists($class, $renamed)) { + // the class has been renamed, try to load it and create an alias + $class = $renamed[$class]; + } + + // try to load it from the corresponding file + $path = explode('_', $class); + $file = dirname(__FILE__).DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, $path).'.php'; + if (file_exists($file)) { + require_once $file; + } + + // it exists, so it's not yet migrated to namespaces + if (class_exists($class, false) || interface_exists($class, false)) { + return; + } + + // it didn't exist, try to see if it was migrated to namespaces + $new = join('\\', $path); + if (class_exists($new, false) || interface_exists($new, false)) { + // do not try to autoload it if it doesn't exist! It should! + class_alias($new, $original); + SimpleSAML\Logger::warning("The class or interface '$original' is now using namespaces, please use '$new'."); + } +} + + +/** + * Autoload function for SimpleSAMLphp modules following PSR-0. + * + * @param string $className Name of the class. + * + * @deprecated This method will be removed in SSP 2.0. + * + * TODO: this autoloader should be removed once everything has been migrated to namespaces. + */ +function sspmodAutoloadPSR0($className) +{ + $modulePrefixLength = strlen('sspmod_'); + $classPrefix = substr($className, 0, $modulePrefixLength); + if ($classPrefix !== 'sspmod_') { + return; + } + + $modNameEnd = strpos($className, '_', $modulePrefixLength); + $module = substr($className, $modulePrefixLength, $modNameEnd - $modulePrefixLength); + $path = explode('_', substr($className, $modNameEnd + 1)); + + if (!\SimpleSAML\Module::isModuleEnabled($module)) { + return; + } + + $file = \SimpleSAML\Module::getModuleDir($module).'/lib/'.join('/', $path).'.php'; + if (!file_exists($file)) { + return; + } + require_once($file); + + if (!class_exists($className, false) && !interface_exists($className, false)) { + // the file exists, but the class is not defined. Is it using namespaces? + $nspath = join('\\', $path); + if (class_exists('SimpleSAML\Module\\'.$module.'\\'.$nspath) || + interface_exists('SimpleSAML\Module\\'.$module.'\\'.$nspath) + ) { + // the class has been migrated, create an alias and warn about it + \SimpleSAML\Logger::warning( + "The class or interface '$className' is now using namespaces, please use 'SimpleSAML\\Module\\". + $module."\\".$nspath."' instead." + ); + class_alias("SimpleSAML\\Module\\$module\\$nspath", $className); + } + } +} + + +/** + * Autoload function for SimpleSAMLphp modules following PSR-4. + * + * @param string $className Name of the class. + */ +function sspmodAutoloadPSR4($className) +{ + $elements = explode('\\', $className); + if ($elements[0] === '') { // class name starting with /, ignore + array_shift($elements); + } + if (count($elements) < 4) { + return; // it can't be a module + } + if (array_shift($elements) !== 'SimpleSAML') { + return; // the first element is not "SimpleSAML" + } + if (array_shift($elements) !== 'Module') { + return; // the second element is not "module" + } + + // this is a SimpleSAMLphp module following PSR-4 + $module = array_shift($elements); + if (!\SimpleSAML\Module::isModuleEnabled($module)) { + return; // module not enabled, avoid giving out any information at all + } + + $file = \SimpleSAML\Module::getModuleDir($module).'/lib/'.implode('/', $elements).'.php'; + + if (file_exists($file)) { + require_once($file); + } +} + +spl_autoload_register("temporaryLoader"); +spl_autoload_register('sspmodAutoloadPSR0'); +spl_autoload_register('sspmodAutoloadPSR4'); diff --git a/lib/aws/Aws/ACMPCA/ACMPCAClient.php b/lib/aws/Aws/ACMPCA/ACMPCAClient.php new file mode 100644 index 0000000..373ecde --- /dev/null +++ b/lib/aws/Aws/ACMPCA/ACMPCAClient.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\ACMPCA; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Certificate Manager Private Certificate Authority** service. + * @method \Aws\Result createCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result createCertificateAuthorityAuditReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAuditReportAsync(array $args = []) + * @method \Aws\Result createPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPermissionAsync(array $args = []) + * @method \Aws\Result deleteCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result deletePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePermissionAsync(array $args = []) + * @method \Aws\Result describeCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result describeCertificateAuthorityAuditReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAuditReportAsync(array $args = []) + * @method \Aws\Result getCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = []) + * @method \Aws\Result getCertificateAuthorityCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCertificateAsync(array $args = []) + * @method \Aws\Result getCertificateAuthorityCsr(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCsrAsync(array $args = []) + * @method \Aws\Result importCertificateAuthorityCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise importCertificateAuthorityCertificateAsync(array $args = []) + * @method \Aws\Result issueCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise issueCertificateAsync(array $args = []) + * @method \Aws\Result listCertificateAuthorities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCertificateAuthoritiesAsync(array $args = []) + * @method \Aws\Result listPermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPermissionsAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result restoreCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result revokeCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeCertificateAsync(array $args = []) + * @method \Aws\Result tagCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result untagCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result updateCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCertificateAuthorityAsync(array $args = []) + */ +class ACMPCAClient extends AwsClient {} diff --git a/lib/aws/Aws/ACMPCA/Exception/ACMPCAException.php b/lib/aws/Aws/ACMPCA/Exception/ACMPCAException.php new file mode 100644 index 0000000..96f64c2 --- /dev/null +++ b/lib/aws/Aws/ACMPCA/Exception/ACMPCAException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ACMPCA\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Certificate Manager Private Certificate Authority** service. + */ +class ACMPCAException extends AwsException {} diff --git a/lib/aws/Aws/Acm/AcmClient.php b/lib/aws/Aws/Acm/AcmClient.php new file mode 100644 index 0000000..440643c --- /dev/null +++ b/lib/aws/Aws/Acm/AcmClient.php @@ -0,0 +1,36 @@ +<?php +namespace Aws\Acm; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Certificate Manager** service. + * + * @method \Aws\Result addTagsToCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToCertificateAsync(array $args = []) + * @method \Aws\Result deleteCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = []) + * @method \Aws\Result describeCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = []) + * @method \Aws\Result exportCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportCertificateAsync(array $args = []) + * @method \Aws\Result getCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = []) + * @method \Aws\Result importCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise importCertificateAsync(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 removeTagsFromCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromCertificateAsync(array $args = []) + * @method \Aws\Result renewCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise renewCertificateAsync(array $args = []) + * @method \Aws\Result requestCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestCertificateAsync(array $args = []) + * @method \Aws\Result resendValidationEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise resendValidationEmailAsync(array $args = []) + * @method \Aws\Result updateCertificateOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCertificateOptionsAsync(array $args = []) + */ +class AcmClient extends AwsClient {} diff --git a/lib/aws/Aws/Acm/Exception/AcmException.php b/lib/aws/Aws/Acm/Exception/AcmException.php new file mode 100644 index 0000000..db3d9f6 --- /dev/null +++ b/lib/aws/Aws/Acm/Exception/AcmException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Acm\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Certificate Manager** service. + */ +class AcmException extends AwsException {} diff --git a/lib/aws/Aws/AlexaForBusiness/AlexaForBusinessClient.php b/lib/aws/Aws/AlexaForBusiness/AlexaForBusinessClient.php new file mode 100644 index 0000000..2ccbb57 --- /dev/null +++ b/lib/aws/Aws/AlexaForBusiness/AlexaForBusinessClient.php @@ -0,0 +1,163 @@ +<?php +namespace Aws\AlexaForBusiness; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Alexa For Business** service. + * @method \Aws\Result approveSkill(array $args = []) + * @method \GuzzleHttp\Promise\Promise approveSkillAsync(array $args = []) + * @method \Aws\Result associateContactWithAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateContactWithAddressBookAsync(array $args = []) + * @method \Aws\Result associateDeviceWithRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDeviceWithRoomAsync(array $args = []) + * @method \Aws\Result associateSkillGroupWithRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateSkillGroupWithRoomAsync(array $args = []) + * @method \Aws\Result associateSkillWithSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateSkillWithSkillGroupAsync(array $args = []) + * @method \Aws\Result associateSkillWithUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateSkillWithUsersAsync(array $args = []) + * @method \Aws\Result createAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAddressBookAsync(array $args = []) + * @method \Aws\Result createBusinessReportSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBusinessReportScheduleAsync(array $args = []) + * @method \Aws\Result createConferenceProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConferenceProviderAsync(array $args = []) + * @method \Aws\Result createContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise createContactAsync(array $args = []) + * @method \Aws\Result createProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProfileAsync(array $args = []) + * @method \Aws\Result createRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRoomAsync(array $args = []) + * @method \Aws\Result createSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSkillGroupAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAddressBookAsync(array $args = []) + * @method \Aws\Result deleteBusinessReportSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBusinessReportScheduleAsync(array $args = []) + * @method \Aws\Result deleteConferenceProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConferenceProviderAsync(array $args = []) + * @method \Aws\Result deleteContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteContactAsync(array $args = []) + * @method \Aws\Result deleteDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeviceAsync(array $args = []) + * @method \Aws\Result deleteProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProfileAsync(array $args = []) + * @method \Aws\Result deleteRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRoomAsync(array $args = []) + * @method \Aws\Result deleteRoomSkillParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRoomSkillParameterAsync(array $args = []) + * @method \Aws\Result deleteSkillAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSkillAuthorizationAsync(array $args = []) + * @method \Aws\Result deleteSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSkillGroupAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result disassociateContactFromAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateContactFromAddressBookAsync(array $args = []) + * @method \Aws\Result disassociateDeviceFromRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDeviceFromRoomAsync(array $args = []) + * @method \Aws\Result disassociateSkillFromSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateSkillFromSkillGroupAsync(array $args = []) + * @method \Aws\Result disassociateSkillFromUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateSkillFromUsersAsync(array $args = []) + * @method \Aws\Result disassociateSkillGroupFromRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateSkillGroupFromRoomAsync(array $args = []) + * @method \Aws\Result forgetSmartHomeAppliances(array $args = []) + * @method \GuzzleHttp\Promise\Promise forgetSmartHomeAppliancesAsync(array $args = []) + * @method \Aws\Result getAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAddressBookAsync(array $args = []) + * @method \Aws\Result getConferencePreference(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConferencePreferenceAsync(array $args = []) + * @method \Aws\Result getConferenceProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConferenceProviderAsync(array $args = []) + * @method \Aws\Result getContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContactAsync(array $args = []) + * @method \Aws\Result getDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = []) + * @method \Aws\Result getInvitationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInvitationConfigurationAsync(array $args = []) + * @method \Aws\Result getProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getProfileAsync(array $args = []) + * @method \Aws\Result getRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRoomAsync(array $args = []) + * @method \Aws\Result getRoomSkillParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRoomSkillParameterAsync(array $args = []) + * @method \Aws\Result getSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSkillGroupAsync(array $args = []) + * @method \Aws\Result listBusinessReportSchedules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBusinessReportSchedulesAsync(array $args = []) + * @method \Aws\Result listConferenceProviders(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConferenceProvidersAsync(array $args = []) + * @method \Aws\Result listDeviceEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeviceEventsAsync(array $args = []) + * @method \Aws\Result listSkills(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSkillsAsync(array $args = []) + * @method \Aws\Result listSkillsStoreCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSkillsStoreCategoriesAsync(array $args = []) + * @method \Aws\Result listSkillsStoreSkillsByCategory(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSkillsStoreSkillsByCategoryAsync(array $args = []) + * @method \Aws\Result listSmartHomeAppliances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSmartHomeAppliancesAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result putConferencePreference(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConferencePreferenceAsync(array $args = []) + * @method \Aws\Result putInvitationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putInvitationConfigurationAsync(array $args = []) + * @method \Aws\Result putRoomSkillParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRoomSkillParameterAsync(array $args = []) + * @method \Aws\Result putSkillAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSkillAuthorizationAsync(array $args = []) + * @method \Aws\Result registerAVSDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerAVSDeviceAsync(array $args = []) + * @method \Aws\Result rejectSkill(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectSkillAsync(array $args = []) + * @method \Aws\Result resolveRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise resolveRoomAsync(array $args = []) + * @method \Aws\Result revokeInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeInvitationAsync(array $args = []) + * @method \Aws\Result searchAddressBooks(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchAddressBooksAsync(array $args = []) + * @method \Aws\Result searchContacts(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchContactsAsync(array $args = []) + * @method \Aws\Result searchDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchDevicesAsync(array $args = []) + * @method \Aws\Result searchProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchProfilesAsync(array $args = []) + * @method \Aws\Result searchRooms(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchRoomsAsync(array $args = []) + * @method \Aws\Result searchSkillGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchSkillGroupsAsync(array $args = []) + * @method \Aws\Result searchUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchUsersAsync(array $args = []) + * @method \Aws\Result sendInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendInvitationAsync(array $args = []) + * @method \Aws\Result startDeviceSync(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDeviceSyncAsync(array $args = []) + * @method \Aws\Result startSmartHomeApplianceDiscovery(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSmartHomeApplianceDiscoveryAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateAddressBook(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAddressBookAsync(array $args = []) + * @method \Aws\Result updateBusinessReportSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBusinessReportScheduleAsync(array $args = []) + * @method \Aws\Result updateConferenceProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConferenceProviderAsync(array $args = []) + * @method \Aws\Result updateContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateContactAsync(array $args = []) + * @method \Aws\Result updateDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeviceAsync(array $args = []) + * @method \Aws\Result updateProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProfileAsync(array $args = []) + * @method \Aws\Result updateRoom(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRoomAsync(array $args = []) + * @method \Aws\Result updateSkillGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSkillGroupAsync(array $args = []) + */ +class AlexaForBusinessClient extends AwsClient {} diff --git a/lib/aws/Aws/AlexaForBusiness/Exception/AlexaForBusinessException.php b/lib/aws/Aws/AlexaForBusiness/Exception/AlexaForBusinessException.php new file mode 100644 index 0000000..602699e --- /dev/null +++ b/lib/aws/Aws/AlexaForBusiness/Exception/AlexaForBusinessException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\AlexaForBusiness\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Alexa For Business** service. + */ +class AlexaForBusinessException extends AwsException {} diff --git a/lib/aws/Aws/Amplify/AmplifyClient.php b/lib/aws/Aws/Amplify/AmplifyClient.php new file mode 100644 index 0000000..c1f0eae --- /dev/null +++ b/lib/aws/Aws/Amplify/AmplifyClient.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\Amplify; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Amplify** service. + * @method \Aws\Result createApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = []) + * @method \Aws\Result createBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBranchAsync(array $args = []) + * @method \Aws\Result createDomainAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainAssociationAsync(array $args = []) + * @method \Aws\Result deleteApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = []) + * @method \Aws\Result deleteBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBranchAsync(array $args = []) + * @method \Aws\Result deleteDomainAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainAssociationAsync(array $args = []) + * @method \Aws\Result deleteJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = []) + * @method \Aws\Result getApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppAsync(array $args = []) + * @method \Aws\Result getBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = []) + * @method \Aws\Result getDomainAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainAssociationAsync(array $args = []) + * @method \Aws\Result getJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = []) + * @method \Aws\Result listApps(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAppsAsync(array $args = []) + * @method \Aws\Result listBranches(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBranchesAsync(array $args = []) + * @method \Aws\Result listDomainAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDomainAssociationsAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result startJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startJobAsync(array $args = []) + * @method \Aws\Result stopJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopJobAsync(array $args = []) + * @method \Aws\Result updateApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAppAsync(array $args = []) + * @method \Aws\Result updateBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBranchAsync(array $args = []) + * @method \Aws\Result updateDomainAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainAssociationAsync(array $args = []) + */ +class AmplifyClient extends AwsClient {} diff --git a/lib/aws/Aws/Amplify/Exception/AmplifyException.php b/lib/aws/Aws/Amplify/Exception/AmplifyException.php new file mode 100644 index 0000000..f085679 --- /dev/null +++ b/lib/aws/Aws/Amplify/Exception/AmplifyException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Amplify\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Amplify** service. + */ +class AmplifyException extends AwsException {} diff --git a/lib/aws/Aws/Api/AbstractModel.php b/lib/aws/Aws/Api/AbstractModel.php new file mode 100644 index 0000000..f110e6b --- /dev/null +++ b/lib/aws/Aws/Api/AbstractModel.php @@ -0,0 +1,67 @@ +<?php +namespace Aws\Api; + +/** + * Base class that is used by most API shapes + */ +abstract class AbstractModel implements \ArrayAccess +{ + /** @var array */ + protected $definition; + + /** @var ShapeMap */ + protected $shapeMap; + + /** + * @param array $definition Service description + * @param ShapeMap $shapeMap Shapemap used for creating shapes + */ + public function __construct(array $definition, ShapeMap $shapeMap) + { + $this->definition = $definition; + $this->shapeMap = $shapeMap; + } + + public function toArray() + { + return $this->definition; + } + + public function offsetGet($offset) + { + return isset($this->definition[$offset]) + ? $this->definition[$offset] : null; + } + + public function offsetSet($offset, $value) + { + $this->definition[$offset] = $value; + } + + public function offsetExists($offset) + { + return isset($this->definition[$offset]); + } + + public function offsetUnset($offset) + { + unset($this->definition[$offset]); + } + + protected function shapeAt($key) + { + if (!isset($this->definition[$key])) { + throw new \InvalidArgumentException('Expected shape definition at ' + . $key); + } + + return $this->shapeFor($this->definition[$key]); + } + + protected function shapeFor(array $definition) + { + return isset($definition['shape']) + ? $this->shapeMap->resolve($definition) + : Shape::create($definition, $this->shapeMap); + } +} diff --git a/lib/aws/Aws/Api/ApiProvider.php b/lib/aws/Aws/Api/ApiProvider.php new file mode 100644 index 0000000..6df53ea --- /dev/null +++ b/lib/aws/Aws/Api/ApiProvider.php @@ -0,0 +1,244 @@ +<?php +namespace Aws\Api; + +use Aws\Exception\UnresolvedApiException; + +/** + * API providers. + * + * An API provider is a function that accepts a type, service, and version and + * returns an array of API data on success or NULL if no API data can be created + * for the provided arguments. + * + * You can wrap your calls to an API provider with the + * {@see ApiProvider::resolve} method to ensure that API data is created. If the + * API data is not created, then the resolve() method will throw a + * {@see Aws\Exception\UnresolvedApiException}. + * + * use Aws\Api\ApiProvider; + * $provider = ApiProvider::defaultProvider(); + * // Returns an array or NULL. + * $data = $provider('api', 's3', '2006-03-01'); + * // Returns an array or throws. + * $data = ApiProvider::resolve($provider, 'api', 'elasticfood', '2020-01-01'); + * + * You can compose multiple providers into a single provider using + * {@see Aws\or_chain}. This method accepts providers as arguments and + * returns a new function that will invoke each provider until a non-null value + * is returned. + * + * $a = ApiProvider::filesystem(sys_get_temp_dir() . '/aws-beta-models'); + * $b = ApiProvider::manifest(); + * + * $c = \Aws\or_chain($a, $b); + * $data = $c('api', 'betaservice', '2015-08-08'); // $a handles this. + * $data = $c('api', 's3', '2006-03-01'); // $b handles this. + * $data = $c('api', 'invalid', '2014-12-15'); // Neither handles this. + */ +class ApiProvider +{ + /** @var array A map of public API type names to their file suffix. */ + private static $typeMap = [ + 'api' => 'api-2', + 'paginator' => 'paginators-1', + 'waiter' => 'waiters-2', + 'docs' => 'docs-2', + ]; + + /** @var array API manifest */ + private $manifest; + + /** @var string The directory containing service models. */ + private $modelsDir; + + /** + * Resolves an API provider and ensures a non-null return value. + * + * @param callable $provider Provider function to invoke. + * @param string $type Type of data ('api', 'waiter', 'paginator'). + * @param string $service Service name. + * @param string $version API version. + * + * @return array + * @throws UnresolvedApiException + */ + public static function resolve(callable $provider, $type, $service, $version) + { + // Execute the provider and return the result, if there is one. + $result = $provider($type, $service, $version); + if (is_array($result)) { + if (!isset($result['metadata']['serviceIdentifier'])) { + $result['metadata']['serviceIdentifier'] = $service; + } + return $result; + } + + // Throw an exception with a message depending on the inputs. + if (!isset(self::$typeMap[$type])) { + $msg = "The type must be one of: " . implode(', ', self::$typeMap); + } elseif ($service) { + $msg = "The {$service} service does not have version: {$version}."; + } else { + $msg = "You must specify a service name to retrieve its API data."; + } + + throw new UnresolvedApiException($msg); + } + + /** + * Default SDK API provider. + * + * This provider loads pre-built manifest data from the `data` directory. + * + * @return self + */ + public static function defaultProvider() + { + return new self(__DIR__ . '/../data', \Aws\manifest()); + } + + /** + * Loads API data after resolving the version to the latest, compatible, + * available version based on the provided manifest data. + * + * Manifest data is essentially an associative array of service names to + * associative arrays of API version aliases. + * + * [ + * ... + * 'ec2' => [ + * 'latest' => '2014-10-01', + * '2014-10-01' => '2014-10-01', + * '2014-09-01' => '2014-10-01', + * '2014-06-15' => '2014-10-01', + * ... + * ], + * 'ecs' => [...], + * 'elasticache' => [...], + * ... + * ] + * + * @param string $dir Directory containing service models. + * @param array $manifest The API version manifest data. + * + * @return self + */ + public static function manifest($dir, array $manifest) + { + return new self($dir, $manifest); + } + + /** + * Loads API data from the specified directory. + * + * If "latest" is specified as the version, this provider must glob the + * directory to find which is the latest available version. + * + * @param string $dir Directory containing service models. + * + * @return self + * @throws \InvalidArgumentException if the provided `$dir` is invalid. + */ + public static function filesystem($dir) + { + return new self($dir); + } + + /** + * Retrieves a list of valid versions for the specified service. + * + * @param string $service Service name + * + * @return array + */ + public function getVersions($service) + { + if (!isset($this->manifest)) { + $this->buildVersionsList($service); + } + + if (!isset($this->manifest[$service]['versions'])) { + return []; + } + + return array_values(array_unique($this->manifest[$service]['versions'])); + } + + /** + * Execute the the provider. + * + * @param string $type Type of data ('api', 'waiter', 'paginator'). + * @param string $service Service name. + * @param string $version API version. + * + * @return array|null + */ + public function __invoke($type, $service, $version) + { + // Resolve the type or return null. + if (isset(self::$typeMap[$type])) { + $type = self::$typeMap[$type]; + } else { + return null; + } + + // Resolve the version or return null. + if (!isset($this->manifest)) { + $this->buildVersionsList($service); + } + + if (!isset($this->manifest[$service]['versions'][$version])) { + return null; + } + + $version = $this->manifest[$service]['versions'][$version]; + $path = "{$this->modelsDir}/{$service}/{$version}/{$type}.json"; + + try { + return \Aws\load_compiled_json($path); + } catch (\InvalidArgumentException $e) { + return null; + } + } + + /** + * @param string $modelsDir Directory containing service models. + * @param array $manifest The API version manifest data. + */ + private function __construct($modelsDir, array $manifest = null) + { + $this->manifest = $manifest; + $this->modelsDir = rtrim($modelsDir, '/'); + if (!is_dir($this->modelsDir)) { + throw new \InvalidArgumentException( + "The specified models directory, {$modelsDir}, was not found." + ); + } + } + + /** + * Build the versions list for the specified service by globbing the dir. + */ + private function buildVersionsList($service) + { + $dir = "{$this->modelsDir}/{$service}/"; + + if (!is_dir($dir)) { + return; + } + + // Get versions, remove . and .., and sort in descending order. + $results = array_diff(scandir($dir, SCANDIR_SORT_DESCENDING), ['..', '.']); + + if (!$results) { + $this->manifest[$service] = ['versions' => []]; + } else { + $this->manifest[$service] = [ + 'versions' => [ + 'latest' => $results[0] + ] + ]; + $this->manifest[$service]['versions'] += array_combine($results, $results); + } + } +} diff --git a/lib/aws/Aws/Api/DateTimeResult.php b/lib/aws/Aws/Api/DateTimeResult.php new file mode 100644 index 0000000..aa3cf7e --- /dev/null +++ b/lib/aws/Aws/Api/DateTimeResult.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\Api; + +/** + * DateTime overrides that make DateTime work more seamlessly as a string, + * with JSON documents, and with JMESPath. + */ +class DateTimeResult extends \DateTime implements \JsonSerializable +{ + /** + * Create a new DateTimeResult from a unix timestamp. + * + * @param $unixTimestamp + * + * @return DateTimeResult + */ + public static function fromEpoch($unixTimestamp) + { + return new self(gmdate('c', $unixTimestamp)); + } + + /** + * Serialize the DateTimeResult as an ISO 8601 date string. + * + * @return string + */ + public function __toString() + { + return $this->format('c'); + } + + /** + * Serialize the date as an ISO 8601 date when serializing as JSON. + * + * @return mixed|string + */ + public function jsonSerialize() + { + return (string) $this; + } +} diff --git a/lib/aws/Aws/Api/DocModel.php b/lib/aws/Aws/Api/DocModel.php new file mode 100644 index 0000000..4bba4e5 --- /dev/null +++ b/lib/aws/Aws/Api/DocModel.php @@ -0,0 +1,128 @@ +<?php +namespace Aws\Api; + +/** + * Encapsulates the documentation strings for a given service-version and + * provides methods for extracting the desired parts related to a service, + * operation, error, or shape (i.e., parameter). + */ +class DocModel +{ + /** @var array */ + private $docs; + + /** + * @param array $docs + * + * @throws \RuntimeException + */ + public function __construct(array $docs) + { + if (!extension_loaded('tidy')) { + throw new \RuntimeException('The "tidy" PHP extension is required.'); + } + + $this->docs = $docs; + } + + /** + * Convert the doc model to an array. + * + * @return array + */ + public function toArray() + { + return $this->docs; + } + + /** + * Retrieves documentation about the service. + * + * @return null|string + */ + public function getServiceDocs() + { + return isset($this->docs['service']) ? $this->docs['service'] : null; + } + + /** + * Retrieves documentation about an operation. + * + * @param string $operation Name of the operation + * + * @return null|string + */ + public function getOperationDocs($operation) + { + return isset($this->docs['operations'][$operation]) + ? $this->docs['operations'][$operation] + : null; + } + + /** + * Retrieves documentation about an error. + * + * @param string $error Name of the error + * + * @return null|string + */ + public function getErrorDocs($error) + { + return isset($this->docs['shapes'][$error]['base']) + ? $this->docs['shapes'][$error]['base'] + : null; + } + + /** + * Retrieves documentation about a shape, specific to the context. + * + * @param string $shapeName Name of the shape. + * @param string $parentName Name of the parent/context shape. + * @param string $ref Name used by the context to reference the shape. + * + * @return null|string + */ + public function getShapeDocs($shapeName, $parentName, $ref) + { + if (!isset($this->docs['shapes'][$shapeName])) { + return ''; + } + + $result = ''; + $d = $this->docs['shapes'][$shapeName]; + if (isset($d['refs']["{$parentName}\$${ref}"])) { + $result = $d['refs']["{$parentName}\$${ref}"]; + } elseif (isset($d['base'])) { + $result = $d['base']; + } + + if (isset($d['append'])) { + $result .= $d['append']; + } + + return $this->clean($result); + } + + private function clean($content) + { + if (!$content) { + return ''; + } + + $tidy = new \Tidy(); + $tidy->parseString($content, [ + 'indent' => true, + 'doctype' => 'omit', + 'output-html' => true, + 'show-body-only' => true, + 'drop-empty-paras' => true, + 'drop-font-tags' => true, + 'drop-proprietary-attributes' => true, + 'hide-comments' => true, + 'logical-emphasis' => true + ]); + $tidy->cleanRepair(); + + return (string) $content; + } +} diff --git a/lib/aws/Aws/Api/ErrorParser/JsonParserTrait.php b/lib/aws/Aws/Api/ErrorParser/JsonParserTrait.php new file mode 100644 index 0000000..9415f25 --- /dev/null +++ b/lib/aws/Aws/Api/ErrorParser/JsonParserTrait.php @@ -0,0 +1,26 @@ +<?php +namespace Aws\Api\ErrorParser; + +use Aws\Api\Parser\PayloadParserTrait; +use Psr\Http\Message\ResponseInterface; + +/** + * Provides basic JSON error parsing functionality. + */ +trait JsonParserTrait +{ + use PayloadParserTrait; + + private function genericHandler(ResponseInterface $response) + { + $code = (string) $response->getStatusCode(); + + return [ + 'request_id' => (string) $response->getHeaderLine('x-amzn-requestid'), + 'code' => null, + 'message' => null, + 'type' => $code[0] == '4' ? 'client' : 'server', + 'parsed' => $this->parseJson($response->getBody(), $response) + ]; + } +} diff --git a/lib/aws/Aws/Api/ErrorParser/JsonRpcErrorParser.php b/lib/aws/Aws/Api/ErrorParser/JsonRpcErrorParser.php new file mode 100644 index 0000000..cb4d3d6 --- /dev/null +++ b/lib/aws/Aws/Api/ErrorParser/JsonRpcErrorParser.php @@ -0,0 +1,31 @@ +<?php +namespace Aws\Api\ErrorParser; + +use Psr\Http\Message\ResponseInterface; + +/** + * Parsers JSON-RPC errors. + */ +class JsonRpcErrorParser +{ + use JsonParserTrait; + + public function __invoke(ResponseInterface $response) + { + $data = $this->genericHandler($response); + // Make the casing consistent across services. + if ($data['parsed']) { + $data['parsed'] = array_change_key_case($data['parsed']); + } + + if (isset($data['parsed']['__type'])) { + $parts = explode('#', $data['parsed']['__type']); + $data['code'] = isset($parts[1]) ? $parts[1] : $parts[0]; + $data['message'] = isset($data['parsed']['message']) + ? $data['parsed']['message'] + : null; + } + + return $data; + } +} diff --git a/lib/aws/Aws/Api/ErrorParser/RestJsonErrorParser.php b/lib/aws/Aws/Api/ErrorParser/RestJsonErrorParser.php new file mode 100644 index 0000000..5d8eb89 --- /dev/null +++ b/lib/aws/Aws/Api/ErrorParser/RestJsonErrorParser.php @@ -0,0 +1,35 @@ +<?php +namespace Aws\Api\ErrorParser; + +use Psr\Http\Message\ResponseInterface; + +/** + * Parses JSON-REST errors. + */ +class RestJsonErrorParser +{ + use JsonParserTrait; + + public function __invoke(ResponseInterface $response) + { + $data = $this->genericHandler($response); + + // Merge in error data from the JSON body + if ($json = $data['parsed']) { + $data = array_replace($data, $json); + } + + // Correct error type from services like Amazon Glacier + if (!empty($data['type'])) { + $data['type'] = strtolower($data['type']); + } + + // Retrieve the error code from services like Amazon Elastic Transcoder + if ($code = $response->getHeaderLine('x-amzn-errortype')) { + $colon = strpos($code, ':'); + $data['code'] = $colon ? substr($code, 0, $colon) : $code; + } + + return $data; + } +} diff --git a/lib/aws/Aws/Api/ErrorParser/XmlErrorParser.php b/lib/aws/Aws/Api/ErrorParser/XmlErrorParser.php new file mode 100644 index 0000000..aa3a71b --- /dev/null +++ b/lib/aws/Aws/Api/ErrorParser/XmlErrorParser.php @@ -0,0 +1,82 @@ +<?php +namespace Aws\Api\ErrorParser; + +use Aws\Api\Parser\PayloadParserTrait; +use Psr\Http\Message\ResponseInterface; + +/** + * Parses XML errors. + */ +class XmlErrorParser +{ + use PayloadParserTrait; + + public function __invoke(ResponseInterface $response) + { + $code = (string) $response->getStatusCode(); + + $data = [ + 'type' => $code[0] == '4' ? 'client' : 'server', + 'request_id' => null, + 'code' => null, + 'message' => null, + 'parsed' => null + ]; + + $body = $response->getBody(); + if ($body->getSize() > 0) { + $this->parseBody($this->parseXml($body, $response), $data); + } else { + $this->parseHeaders($response, $data); + } + + return $data; + } + + private function parseHeaders(ResponseInterface $response, array &$data) + { + if ($response->getStatusCode() == '404') { + $data['code'] = 'NotFound'; + } + + $data['message'] = $response->getStatusCode() . ' ' + . $response->getReasonPhrase(); + + if ($requestId = $response->getHeaderLine('x-amz-request-id')) { + $data['request_id'] = $requestId; + $data['message'] .= " (Request-ID: $requestId)"; + } + } + + private function parseBody(\SimpleXMLElement $body, array &$data) + { + $data['parsed'] = $body; + + $namespaces = $body->getDocNamespaces(); + if (!isset($namespaces[''])) { + $prefix = ''; + } else { + // Account for the default namespace being defined and PHP not + // being able to handle it :(. + $body->registerXPathNamespace('ns', $namespaces['']); + $prefix = 'ns:'; + } + + if ($tempXml = $body->xpath("//{$prefix}Code[1]")) { + $data['code'] = (string) $tempXml[0]; + } + + if ($tempXml = $body->xpath("//{$prefix}Message[1]")) { + $data['message'] = (string) $tempXml[0]; + } + + $tempXml = $body->xpath("//{$prefix}RequestId[1]"); + if (empty($tempXml)) { + $tempXml = $body->xpath("//{$prefix}RequestID[1]"); + } + + if (isset($tempXml[0])) { + $data['request_id'] = (string) $tempXml[0]; + } + } +} diff --git a/lib/aws/Aws/Api/ListShape.php b/lib/aws/Aws/Api/ListShape.php new file mode 100644 index 0000000..a425efa --- /dev/null +++ b/lib/aws/Aws/Api/ListShape.php @@ -0,0 +1,35 @@ +<?php +namespace Aws\Api; + +/** + * Represents a list shape. + */ +class ListShape extends Shape +{ + private $member; + + public function __construct(array $definition, ShapeMap $shapeMap) + { + $definition['type'] = 'list'; + parent::__construct($definition, $shapeMap); + } + + /** + * @return Shape + * @throws \RuntimeException if no member is specified + */ + public function getMember() + { + if (!$this->member) { + if (!isset($this->definition['member'])) { + throw new \RuntimeException('No member attribute specified'); + } + $this->member = Shape::create( + $this->definition['member'], + $this->shapeMap + ); + } + + return $this->member; + } +} diff --git a/lib/aws/Aws/Api/MapShape.php b/lib/aws/Aws/Api/MapShape.php new file mode 100644 index 0000000..f180f9a --- /dev/null +++ b/lib/aws/Aws/Api/MapShape.php @@ -0,0 +1,54 @@ +<?php +namespace Aws\Api; + +/** + * Represents a map shape. + */ +class MapShape extends Shape +{ + /** @var Shape */ + private $value; + + /** @var Shape */ + private $key; + + public function __construct(array $definition, ShapeMap $shapeMap) + { + $definition['type'] = 'map'; + parent::__construct($definition, $shapeMap); + } + + /** + * @return Shape + * @throws \RuntimeException if no value is specified + */ + public function getValue() + { + if (!$this->value) { + if (!isset($this->definition['value'])) { + throw new \RuntimeException('No value specified'); + } + + $this->value = Shape::create( + $this->definition['value'], + $this->shapeMap + ); + } + + return $this->value; + } + + /** + * @return Shape + */ + public function getKey() + { + if (!$this->key) { + $this->key = isset($this->definition['key']) + ? Shape::create($this->definition['key'], $this->shapeMap) + : new Shape(['type' => 'string'], $this->shapeMap); + } + + return $this->key; + } +} diff --git a/lib/aws/Aws/Api/Operation.php b/lib/aws/Aws/Api/Operation.php new file mode 100644 index 0000000..85261af --- /dev/null +++ b/lib/aws/Aws/Api/Operation.php @@ -0,0 +1,97 @@ +<?php +namespace Aws\Api; + +/** + * Represents an API operation. + */ +class Operation extends AbstractModel +{ + private $input; + private $output; + private $errors; + + public function __construct(array $definition, ShapeMap $shapeMap) + { + $definition['type'] = 'structure'; + + if (!isset($definition['http']['method'])) { + $definition['http']['method'] = 'POST'; + } + + if (!isset($definition['http']['requestUri'])) { + $definition['http']['requestUri'] = '/'; + } + + parent::__construct($definition, $shapeMap); + } + + /** + * Returns an associative array of the HTTP attribute of the operation: + * + * - method: HTTP method of the operation + * - requestUri: URI of the request (can include URI template placeholders) + * + * @return array + */ + public function getHttp() + { + return $this->definition['http']; + } + + /** + * Get the input shape of the operation. + * + * @return StructureShape + */ + public function getInput() + { + if (!$this->input) { + if ($input = $this['input']) { + $this->input = $this->shapeFor($input); + } else { + $this->input = new StructureShape([], $this->shapeMap); + } + } + + return $this->input; + } + + /** + * Get the output shape of the operation. + * + * @return StructureShape + */ + public function getOutput() + { + if (!$this->output) { + if ($output = $this['output']) { + $this->output = $this->shapeFor($output); + } else { + $this->output = new StructureShape([], $this->shapeMap); + } + } + + return $this->output; + } + + /** + * Get an array of operation error shapes. + * + * @return Shape[] + */ + public function getErrors() + { + if ($this->errors === null) { + if ($errors = $this['errors']) { + foreach ($errors as $key => $error) { + $errors[$key] = $this->shapeFor($error); + } + $this->errors = $errors; + } else { + $this->errors = []; + } + } + + return $this->errors; + } +} diff --git a/lib/aws/Aws/Api/Parser/AbstractParser.php b/lib/aws/Aws/Api/Parser/AbstractParser.php new file mode 100644 index 0000000..2d515d2 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/AbstractParser.php @@ -0,0 +1,46 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\Service; +use Aws\Api\StructureShape; +use Aws\CommandInterface; +use Aws\ResultInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal + */ +abstract class AbstractParser +{ + /** @var \Aws\Api\Service Representation of the service API*/ + protected $api; + + /** @var callable */ + protected $parser; + + /** + * @param Service $api Service description. + */ + public function __construct(Service $api) + { + $this->api = $api; + } + + /** + * @param CommandInterface $command Command that was executed. + * @param ResponseInterface $response Response that was received. + * + * @return ResultInterface + */ + abstract public function __invoke( + CommandInterface $command, + ResponseInterface $response + ); + + abstract public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ); +} diff --git a/lib/aws/Aws/Api/Parser/AbstractRestParser.php b/lib/aws/Aws/Api/Parser/AbstractRestParser.php new file mode 100644 index 0000000..1e7fa94 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/AbstractRestParser.php @@ -0,0 +1,173 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\DateTimeResult; +use Aws\Api\Shape; +use Aws\Api\StructureShape; +use Aws\Result; +use Aws\CommandInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * @internal + */ +abstract class AbstractRestParser extends AbstractParser +{ + use PayloadParserTrait; + /** + * Parses a payload from a response. + * + * @param ResponseInterface $response Response to parse. + * @param StructureShape $member Member to parse + * @param array $result Result value + * + * @return mixed + */ + abstract protected function payload( + ResponseInterface $response, + StructureShape $member, + array &$result + ); + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + $output = $this->api->getOperation($command->getName())->getOutput(); + $result = []; + + if ($payload = $output['payload']) { + $this->extractPayload($payload, $output, $response, $result); + } + + foreach ($output->getMembers() as $name => $member) { + switch ($member['location']) { + case 'header': + $this->extractHeader($name, $member, $response, $result); + break; + case 'headers': + $this->extractHeaders($name, $member, $response, $result); + break; + case 'statusCode': + $this->extractStatus($name, $response, $result); + break; + } + } + + if (!$payload + && $response->getBody()->getSize() > 0 + && count($output->getMembers()) > 0 + ) { + // if no payload was found, then parse the contents of the body + $this->payload($response, $output, $result); + } + + return new Result($result); + } + + private function extractPayload( + $payload, + StructureShape $output, + ResponseInterface $response, + array &$result + ) { + $member = $output->getMember($payload); + + if (!empty($member['eventstream'])) { + $result[$payload] = new EventParsingIterator( + $response->getBody(), + $member, + $this + ); + } else if ($member instanceof StructureShape) { + // Structure members parse top-level data into a specific key. + $result[$payload] = []; + $this->payload($response, $member, $result[$payload]); + } else { + // Streaming data is just the stream from the response body. + $result[$payload] = $response->getBody(); + } + } + + /** + * Extract a single header from the response into the result. + */ + private function extractHeader( + $name, + Shape $shape, + ResponseInterface $response, + &$result + ) { + $value = $response->getHeaderLine($shape['locationName'] ?: $name); + + switch ($shape->getType()) { + case 'float': + case 'double': + $value = (float) $value; + break; + case 'long': + $value = (int) $value; + break; + case 'boolean': + $value = filter_var($value, FILTER_VALIDATE_BOOLEAN); + break; + case 'blob': + $value = base64_decode($value); + break; + case 'timestamp': + try { + if (!empty($shape['timestampFormat']) + && $shape['timestampFormat'] === 'unixTimestamp') { + $value = DateTimeResult::fromEpoch($value); + } + $value = new DateTimeResult($value); + break; + } catch (\Exception $e) { + // If the value cannot be parsed, then do not add it to the + // output structure. + return; + } + case 'string': + if ($shape['jsonvalue']) { + $value = $this->parseJson(base64_decode($value), $response); + } + break; + } + + $result[$name] = $value; + } + + /** + * Extract a map of headers with an optional prefix from the response. + */ + private function extractHeaders( + $name, + Shape $shape, + ResponseInterface $response, + &$result + ) { + // Check if the headers are prefixed by a location name + $result[$name] = []; + $prefix = $shape['locationName']; + $prefixLen = strlen($prefix); + + foreach ($response->getHeaders() as $k => $values) { + if (!$prefixLen) { + $result[$name][$k] = implode(', ', $values); + } elseif (stripos($k, $prefix) === 0) { + $result[$name][substr($k, $prefixLen)] = implode(', ', $values); + } + } + } + + /** + * Places the status code of the response into the result array. + */ + private function extractStatus( + $name, + ResponseInterface $response, + array &$result + ) { + $result[$name] = (int) $response->getStatusCode(); + } +} diff --git a/lib/aws/Aws/Api/Parser/Crc32ValidatingParser.php b/lib/aws/Aws/Api/Parser/Crc32ValidatingParser.php new file mode 100644 index 0000000..be082ea --- /dev/null +++ b/lib/aws/Aws/Api/Parser/Crc32ValidatingParser.php @@ -0,0 +1,54 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\StructureShape; +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; +use GuzzleHttp\Psr7; + +/** + * @internal Decorates a parser and validates the x-amz-crc32 header. + */ +class Crc32ValidatingParser extends AbstractParser +{ + /** + * @param callable $parser Parser to wrap. + */ + public function __construct(callable $parser) + { + $this->parser = $parser; + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + if ($expected = $response->getHeaderLine('x-amz-crc32')) { + $hash = hexdec(Psr7\hash($response->getBody(), 'crc32b')); + if ($expected != $hash) { + throw new AwsException( + "crc32 mismatch. Expected {$expected}, found {$hash}.", + $command, + [ + 'code' => 'ClientChecksumMismatch', + 'connection_error' => true, + 'response' => $response + ] + ); + } + } + + $fn = $this->parser; + return $fn($command, $response); + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + return $this->parser->parseMemberFromStream($stream, $member, $response); + } +} diff --git a/lib/aws/Aws/Api/Parser/DecodingEventStreamIterator.php b/lib/aws/Aws/Api/Parser/DecodingEventStreamIterator.php new file mode 100644 index 0000000..df0f96a --- /dev/null +++ b/lib/aws/Aws/Api/Parser/DecodingEventStreamIterator.php @@ -0,0 +1,335 @@ +<?php + +namespace Aws\Api\Parser; + +use \Iterator; +use Aws\Api\DateTimeResult; +use GuzzleHttp\Psr7; +use Psr\Http\Message\StreamInterface; +use Aws\Api\Parser\Exception\ParserException; + +/** + * @internal Implements a decoder for a binary encoded event stream that will + * decode, validate, and provide individual events from the stream. + */ +class DecodingEventStreamIterator implements Iterator +{ + const HEADERS = 'headers'; + const PAYLOAD = 'payload'; + + const LENGTH_TOTAL = 'total_length'; + const LENGTH_HEADERS = 'headers_length'; + + const CRC_PRELUDE = 'prelude_crc'; + + const BYTES_PRELUDE = 12; + const BYTES_TRAILING = 4; + + private static $preludeFormat = [ + self::LENGTH_TOTAL => 'decodeUint32', + self::LENGTH_HEADERS => 'decodeUint32', + self::CRC_PRELUDE => 'decodeUint32', + ]; + + private static $lengthFormatMap = [ + 1 => 'decodeUint8', + 2 => 'decodeUint16', + 4 => 'decodeUint32', + 8 => 'decodeUint64', + ]; + + private static $headerTypeMap = [ + 0 => 'decodeBooleanTrue', + 1 => 'decodeBooleanFalse', + 2 => 'decodeInt8', + 3 => 'decodeInt16', + 4 => 'decodeInt32', + 5 => 'decodeInt64', + 6 => 'decodeBytes', + 7 => 'decodeString', + 8 => 'decodeTimestamp', + 9 => 'decodeUuid', + ]; + + /** @var StreamInterface Stream of eventstream shape to parse. */ + private $stream; + + /** @var array Currently parsed event. */ + private $currentEvent; + + /** @var int Current in-order event key. */ + private $key; + + /** @var resource|HashContext CRC32 hash context for event validation */ + private $hashContext; + + /** @var int $currentPosition */ + private $currentPosition; + + /** + * DecodingEventStreamIterator constructor. + * + * @param StreamInterface $stream + */ + public function __construct(StreamInterface $stream) + { + $this->stream = $stream; + $this->rewind(); + } + + private function parseHeaders($headerBytes) + { + $headers = []; + $bytesRead = 0; + + while ($bytesRead < $headerBytes) { + list($key, $numBytes) = $this->decodeString(1); + $bytesRead += $numBytes; + + list($type, $numBytes) = $this->decodeUint8(); + $bytesRead += $numBytes; + + $f = self::$headerTypeMap[$type]; + list($value, $numBytes) = $this->{$f}(); + $bytesRead += $numBytes; + + if (isset($headers[$key])) { + throw new ParserException('Duplicate key in event headers.'); + } + $headers[$key] = $value; + } + + return [$headers, $bytesRead]; + } + + private function parsePrelude() + { + $prelude = []; + $bytesRead = 0; + + $calculatedCrc = null; + foreach (self::$preludeFormat as $key => $decodeFunction) { + if ($key === self::CRC_PRELUDE) { + $hashCopy = hash_copy($this->hashContext); + $calculatedCrc = hash_final($this->hashContext, true); + $this->hashContext = $hashCopy; + } + list($value, $numBytes) = $this->{$decodeFunction}(); + $bytesRead += $numBytes; + + $prelude[$key] = $value; + } + + if (unpack('N', $calculatedCrc)[1] !== $prelude[self::CRC_PRELUDE]) { + throw new ParserException('Prelude checksum mismatch.'); + } + + return [$prelude, $bytesRead]; + } + + private function parseEvent() + { + $event = []; + + if ($this->stream->tell() < $this->stream->getSize()) { + $this->hashContext = hash_init('crc32b'); + + $bytesLeft = $this->stream->getSize() - $this->stream->tell(); + list($prelude, $numBytes) = $this->parsePrelude(); + if ($prelude[self::LENGTH_TOTAL] > $bytesLeft) { + throw new ParserException('Message length too long.'); + } + $bytesLeft -= $numBytes; + + if ($prelude[self::LENGTH_HEADERS] > $bytesLeft) { + throw new ParserException('Headers length too long.'); + } + + list( + $event[self::HEADERS], + $numBytes + ) = $this->parseHeaders($prelude[self::LENGTH_HEADERS]); + + $event[self::PAYLOAD] = Psr7\stream_for( + $this->readAndHashBytes( + $prelude[self::LENGTH_TOTAL] - self::BYTES_PRELUDE + - $numBytes - self::BYTES_TRAILING + ) + ); + + $calculatedCrc = hash_final($this->hashContext, true); + $messageCrc = $this->stream->read(4); + if ($calculatedCrc !== $messageCrc) { + throw new ParserException('Message checksum mismatch.'); + } + } + + return $event; + } + + // Iterator Functionality + + /** + * @return array + */ + public function current() + { + return $this->currentEvent; + } + + /** + * @return int + */ + public function key() + { + return $this->key; + } + + public function next() + { + $this->currentPosition = $this->stream->tell(); + if ($this->valid()) { + $this->key++; + $this->currentEvent = $this->parseEvent(); + } + } + + public function rewind() + { + $this->stream->rewind(); + $this->key = 0; + $this->currentPosition = 0; + $this->currentEvent = $this->parseEvent(); + } + + /** + * @return bool + */ + public function valid() + { + return $this->currentPosition < $this->stream->getSize(); + } + + // Decoding Utilities + + private function readAndHashBytes($num) + { + $bytes = $this->stream->read($num); + hash_update($this->hashContext, $bytes); + return $bytes; + } + + private function decodeBooleanTrue() + { + return [true, 0]; + } + + private function decodeBooleanFalse() + { + return [false, 0]; + } + + private function uintToInt($val, $size) + { + $signedCap = pow(2, $size - 1); + if ($val > $signedCap) { + $val -= (2 * $signedCap); + } + return $val; + } + + private function decodeInt8() + { + $val = (int)unpack('C', $this->readAndHashBytes(1))[1]; + return [$this->uintToInt($val, 8), 1]; + } + + private function decodeUint8() + { + return [unpack('C', $this->readAndHashBytes(1))[1], 1]; + } + + private function decodeInt16() + { + $val = (int)unpack('n', $this->readAndHashBytes(2))[1]; + return [$this->uintToInt($val, 16), 2]; + } + + private function decodeUint16() + { + return [unpack('n', $this->readAndHashBytes(2))[1], 2]; + } + + private function decodeInt32() + { + $val = (int)unpack('N', $this->readAndHashBytes(4))[1]; + return [$this->uintToInt($val, 32), 4]; + } + + private function decodeUint32() + { + return [unpack('N', $this->readAndHashBytes(4))[1], 4]; + } + + private function decodeInt64() + { + $val = $this->unpackInt64($this->readAndHashBytes(8))[1]; + return [$this->uintToInt($val, 64), 8]; + } + + private function decodeUint64() + { + return [$this->unpackInt64($this->readAndHashBytes(8))[1], 8]; + } + + private function unpackInt64($bytes) + { + if (version_compare(PHP_VERSION, '5.6.3', '<')) { + $d = unpack('N2', $bytes); + return [1 => $d[1] << 32 | $d[2]]; + } + return unpack('J', $bytes); + } + + private function decodeBytes($lengthBytes=2) + { + if (!isset(self::$lengthFormatMap[$lengthBytes])) { + throw new ParserException('Undefined variable length format.'); + } + $f = self::$lengthFormatMap[$lengthBytes]; + list($len, $bytes) = $this->{$f}(); + return [$this->readAndHashBytes($len), $len + $bytes]; + } + + private function decodeString($lengthBytes=2) + { + if (!isset(self::$lengthFormatMap[$lengthBytes])) { + throw new ParserException('Undefined variable length format.'); + } + $f = self::$lengthFormatMap[$lengthBytes]; + list($len, $bytes) = $this->{$f}(); + return [$this->readAndHashBytes($len), $len + $bytes]; + } + + private function decodeTimestamp() + { + list($val, $bytes) = $this->decodeInt64(); + return [ + DateTimeResult::createFromFormat('U.u', $val / 1000), + $bytes + ]; + } + + private function decodeUuid() + { + $val = unpack('H32', $this->readAndHashBytes(16))[1]; + return [ + substr($val, 0, 8) . '-' + . substr($val, 8, 4) . '-' + . substr($val, 12, 4) . '-' + . substr($val, 16, 4) . '-' + . substr($val, 20, 12), + 16 + ]; + } +} diff --git a/lib/aws/Aws/Api/Parser/EventParsingIterator.php b/lib/aws/Aws/Api/Parser/EventParsingIterator.php new file mode 100644 index 0000000..8a6ef47 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/EventParsingIterator.php @@ -0,0 +1,107 @@ +<?php + +namespace Aws\Api\Parser; + +use \Iterator; +use Aws\Exception\EventStreamDataException; +use Aws\Api\Parser\Exception\ParserException; +use Aws\Api\StructureShape; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Implements a decoder for a binary encoded event stream that will + * decode, validate, and provide individual events from the stream. + */ +class EventParsingIterator implements Iterator +{ + /** @var StreamInterface */ + private $decodingIterator; + + /** @var StructureShape */ + private $shape; + + /** @var AbstractParser */ + private $parser; + + public function __construct( + StreamInterface $stream, + StructureShape $shape, + AbstractParser $parser + ) { + $this->decodingIterator = new DecodingEventStreamIterator($stream); + $this->shape = $shape; + $this->parser = $parser; + } + + public function current() + { + return $this->parseEvent($this->decodingIterator->current()); + } + + public function key() + { + return $this->decodingIterator->key(); + } + + public function next() + { + $this->decodingIterator->next(); + } + + public function rewind() + { + $this->decodingIterator->rewind(); + } + + public function valid() + { + return $this->decodingIterator->valid(); + } + + private function parseEvent(array $event) + { + if (!empty($event['headers'][':message-type'])) { + if ($event['headers'][':message-type'] === 'error') { + return $this->parseError($event); + } + if ($event['headers'][':message-type'] !== 'event') { + throw new ParserException('Failed to parse unknown message type.'); + } + } + + if (empty($event['headers'][':event-type'])) { + throw new ParserException('Failed to parse without event type.'); + } + $eventShape = $this->shape->getMember($event['headers'][':event-type']); + + $parsedEvent = []; + foreach ($eventShape['members'] as $shape => $details) { + if (!empty($details['eventpayload'])) { + $payloadShape = $eventShape->getMember($shape); + if ($payloadShape['type'] === 'blob') { + $parsedEvent[$shape] = $event['payload']; + } else { + $parsedEvent[$shape] = $this->parser->parseMemberFromStream( + $event['payload'], + $payloadShape, + null + ); + } + } else { + $parsedEvent[$shape] = $event['headers'][$shape]; + } + } + + return [ + $event['headers'][':event-type'] => $parsedEvent + ]; + } + + private function parseError(array $event) + { + throw new EventStreamDataException( + $event['headers'][':error-code'], + $event['headers'][':error-message'] + ); + } +} \ No newline at end of file diff --git a/lib/aws/Aws/Api/Parser/Exception/ParserException.php b/lib/aws/Aws/Api/Parser/Exception/ParserException.php new file mode 100644 index 0000000..4fbe779 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/Exception/ParserException.php @@ -0,0 +1,31 @@ +<?php +namespace Aws\Api\Parser\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; +use Aws\ResponseContainerInterface; + +class ParserException extends \RuntimeException implements + MonitoringEventsInterface, + ResponseContainerInterface +{ + use HasMonitoringEventsTrait; + + private $response; + + public function __construct($message = '', $code = 0, $previous = null, array $context = []) + { + $this->response = isset($context['response']) ? $context['response'] : null; + parent::__construct($message, $code, $previous); + } + + /** + * Get the received HTTP response if any. + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } +} diff --git a/lib/aws/Aws/Api/Parser/JsonParser.php b/lib/aws/Aws/Api/Parser/JsonParser.php new file mode 100644 index 0000000..07d360a --- /dev/null +++ b/lib/aws/Aws/Api/Parser/JsonParser.php @@ -0,0 +1,62 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\DateTimeResult; +use Aws\Api\Shape; + +/** + * @internal Implements standard JSON parsing. + */ +class JsonParser +{ + public function parse(Shape $shape, $value) + { + if ($value === null) { + return $value; + } + + switch ($shape['type']) { + case 'structure': + $target = []; + foreach ($shape->getMembers() as $name => $member) { + $locationName = $member['locationName'] ?: $name; + if (isset($value[$locationName])) { + $target[$name] = $this->parse($member, $value[$locationName]); + } + } + return $target; + + case 'list': + $member = $shape->getMember(); + $target = []; + foreach ($value as $v) { + $target[] = $this->parse($member, $v); + } + return $target; + + case 'map': + $values = $shape->getValue(); + $target = []; + foreach ($value as $k => $v) { + $target[$k] = $this->parse($values, $v); + } + return $target; + + case 'timestamp': + if (!empty($shape['timestampFormat']) + && $shape['timestampFormat'] !== 'unixTimestamp') { + return new DateTimeResult($value); + } + // The Unix epoch (or Unix time or POSIX time or Unix + // timestamp) is the number of seconds that have elapsed since + // January 1, 1970 (midnight UTC/GMT). + return DateTimeResult::fromEpoch($value); + + case 'blob': + return base64_decode($value); + + default: + return $value; + } + } +} diff --git a/lib/aws/Aws/Api/Parser/JsonRpcParser.php b/lib/aws/Aws/Api/Parser/JsonRpcParser.php new file mode 100644 index 0000000..75e8715 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/JsonRpcParser.php @@ -0,0 +1,51 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\StructureShape; +use Aws\Api\Service; +use Aws\Result; +use Aws\CommandInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Implements JSON-RPC parsing (e.g., DynamoDB) + */ +class JsonRpcParser extends AbstractParser +{ + use PayloadParserTrait; + + /** + * @param Service $api Service description + * @param JsonParser $parser JSON body builder + */ + public function __construct(Service $api, JsonParser $parser = null) + { + parent::__construct($api); + $this->parser = $parser ?: new JsonParser(); + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + $operation = $this->api->getOperation($command->getName()); + $result = null === $operation['output'] + ? null + : $this->parseMemberFromStream( + $response->getBody(), + $operation->getOutput(), + $response + ); + + return new Result($result ?: []); + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + return $this->parser->parse($member, $this->parseJson($stream, $response)); + } +} diff --git a/lib/aws/Aws/Api/Parser/PayloadParserTrait.php b/lib/aws/Aws/Api/Parser/PayloadParserTrait.php new file mode 100644 index 0000000..f8083d8 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/PayloadParserTrait.php @@ -0,0 +1,61 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\Parser\Exception\ParserException; +use Psr\Http\Message\ResponseInterface; + +trait PayloadParserTrait +{ + /** + * @param string $json + * + * @throws ParserException + * + * @return array + */ + private function parseJson($json, $response) + { + $jsonPayload = json_decode($json, true); + + if (JSON_ERROR_NONE !== json_last_error()) { + throw new ParserException( + 'Error parsing JSON: ' . json_last_error_msg(), + 0, + null, + ['response' => $response] + ); + } + + return $jsonPayload; + } + + /** + * @param string $xml + * + * @throws ParserException + * + * @return \SimpleXMLElement + */ + private function parseXml($xml, $response) + { + $priorSetting = libxml_use_internal_errors(true); + try { + libxml_clear_errors(); + $xmlPayload = new \SimpleXMLElement($xml); + if ($error = libxml_get_last_error()) { + throw new \RuntimeException($error->message); + } + } catch (\Exception $e) { + throw new ParserException( + "Error parsing XML: {$e->getMessage()}", + 0, + $e, + ['response' => $response] + ); + } finally { + libxml_use_internal_errors($priorSetting); + } + + return $xmlPayload; + } +} diff --git a/lib/aws/Aws/Api/Parser/QueryParser.php b/lib/aws/Aws/Api/Parser/QueryParser.php new file mode 100644 index 0000000..50e4e3a --- /dev/null +++ b/lib/aws/Aws/Api/Parser/QueryParser.php @@ -0,0 +1,60 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\Service; +use Aws\Api\StructureShape; +use Aws\Result; +use Aws\CommandInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Parses query (XML) responses (e.g., EC2, SQS, and many others) + */ +class QueryParser extends AbstractParser +{ + use PayloadParserTrait; + + /** @var bool */ + private $honorResultWrapper; + + /** + * @param Service $api Service description + * @param XmlParser $xmlParser Optional XML parser + * @param bool $honorResultWrapper Set to false to disable the peeling + * back of result wrappers from the + * output structure. + */ + public function __construct( + Service $api, + XmlParser $xmlParser = null, + $honorResultWrapper = true + ) { + parent::__construct($api); + $this->parser = $xmlParser ?: new XmlParser(); + $this->honorResultWrapper = $honorResultWrapper; + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + $output = $this->api->getOperation($command->getName())->getOutput(); + $xml = $this->parseXml($response->getBody(), $response); + + if ($this->honorResultWrapper && $output['resultWrapper']) { + $xml = $xml->{$output['resultWrapper']}; + } + + return new Result($this->parser->parse($output, $xml)); + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + $xml = $this->parseXml($stream, $response); + return $this->parser->parse($member, $xml); + } +} diff --git a/lib/aws/Aws/Api/Parser/RestJsonParser.php b/lib/aws/Aws/Api/Parser/RestJsonParser.php new file mode 100644 index 0000000..76d8098 --- /dev/null +++ b/lib/aws/Aws/Api/Parser/RestJsonParser.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\Service; +use Aws\Api\StructureShape; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Implements REST-JSON parsing (e.g., Glacier, Elastic Transcoder) + */ +class RestJsonParser extends AbstractRestParser +{ + use PayloadParserTrait; + + /** + * @param Service $api Service description + * @param JsonParser $parser JSON body builder + */ + public function __construct(Service $api, JsonParser $parser = null) + { + parent::__construct($api); + $this->parser = $parser ?: new JsonParser(); + } + + protected function payload( + ResponseInterface $response, + StructureShape $member, + array &$result + ) { + $jsonBody = $this->parseJson($response->getBody(), $response); + + if ($jsonBody) { + $result += $this->parser->parse($member, $jsonBody); + } + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + $jsonBody = $this->parseJson($stream, $response); + if ($jsonBody) { + return $this->parser->parse($member, $jsonBody); + } + return []; + } +} diff --git a/lib/aws/Aws/Api/Parser/RestXmlParser.php b/lib/aws/Aws/Api/Parser/RestXmlParser.php new file mode 100644 index 0000000..d04429f --- /dev/null +++ b/lib/aws/Aws/Api/Parser/RestXmlParser.php @@ -0,0 +1,42 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\StructureShape; +use Aws\Api\Service; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Implements REST-XML parsing (e.g., S3, CloudFront, etc...) + */ +class RestXmlParser extends AbstractRestParser +{ + use PayloadParserTrait; + + /** + * @param Service $api Service description + * @param XmlParser $parser XML body parser + */ + public function __construct(Service $api, XmlParser $parser = null) + { + parent::__construct($api); + $this->parser = $parser ?: new XmlParser(); + } + + protected function payload( + ResponseInterface $response, + StructureShape $member, + array &$result + ) { + $result += $this->parseMemberFromStream($response->getBody(), $member, $response); + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + $xml = $this->parseXml($stream, $response); + return $this->parser->parse($member, $xml); + } +} diff --git a/lib/aws/Aws/Api/Parser/XmlParser.php b/lib/aws/Aws/Api/Parser/XmlParser.php new file mode 100644 index 0000000..079f3aa --- /dev/null +++ b/lib/aws/Aws/Api/Parser/XmlParser.php @@ -0,0 +1,138 @@ +<?php +namespace Aws\Api\Parser; + +use Aws\Api\DateTimeResult; +use Aws\Api\ListShape; +use Aws\Api\MapShape; +use Aws\Api\Shape; +use Aws\Api\StructureShape; + +/** + * @internal Implements standard XML parsing for REST-XML and Query protocols. + */ +class XmlParser +{ + public function parse(StructureShape $shape, \SimpleXMLElement $value) + { + return $this->dispatch($shape, $value); + } + + private function dispatch($shape, \SimpleXMLElement $value) + { + static $methods = [ + 'structure' => 'parse_structure', + 'list' => 'parse_list', + 'map' => 'parse_map', + 'blob' => 'parse_blob', + 'boolean' => 'parse_boolean', + 'integer' => 'parse_integer', + 'float' => 'parse_float', + 'double' => 'parse_float', + 'timestamp' => 'parse_timestamp', + ]; + + $type = $shape['type']; + if (isset($methods[$type])) { + return $this->{$methods[$type]}($shape, $value); + } + + return (string) $value; + } + + private function parse_structure( + StructureShape $shape, + \SimpleXMLElement $value + ) { + $target = []; + + foreach ($shape->getMembers() as $name => $member) { + // Extract the name of the XML node + $node = $this->memberKey($member, $name); + if (isset($value->{$node})) { + $target[$name] = $this->dispatch($member, $value->{$node}); + } + } + + return $target; + } + + private function memberKey(Shape $shape, $name) + { + if (null !== $shape['locationName']) { + return $shape['locationName']; + } + + if ($shape instanceof ListShape && $shape['flattened']) { + return $shape->getMember()['locationName'] ?: $name; + } + + return $name; + } + + private function parse_list(ListShape $shape, \SimpleXMLElement $value) + { + $target = []; + $member = $shape->getMember(); + + if (!$shape['flattened']) { + $value = $value->{$member['locationName'] ?: 'member'}; + } + + foreach ($value as $v) { + $target[] = $this->dispatch($member, $v); + } + + return $target; + } + + private function parse_map(MapShape $shape, \SimpleXMLElement $value) + { + $target = []; + + if (!$shape['flattened']) { + $value = $value->entry; + } + + $mapKey = $shape->getKey(); + $mapValue = $shape->getValue(); + $keyName = $shape->getKey()['locationName'] ?: 'key'; + $valueName = $shape->getValue()['locationName'] ?: 'value'; + + foreach ($value as $node) { + $key = $this->dispatch($mapKey, $node->{$keyName}); + $value = $this->dispatch($mapValue, $node->{$valueName}); + $target[$key] = $value; + } + + return $target; + } + + private function parse_blob(Shape $shape, $value) + { + return base64_decode((string) $value); + } + + private function parse_float(Shape $shape, $value) + { + return (float) (string) $value; + } + + private function parse_integer(Shape $shape, $value) + { + return (int) (string) $value; + } + + private function parse_boolean(Shape $shape, $value) + { + return $value == 'true'; + } + + private function parse_timestamp(Shape $shape, $value) + { + if (!empty($shape['timestampFormat']) + && $shape['timestampFormat'] === 'unixTimestamp') { + return DateTimeResult::fromEpoch((string) $value); + } + return new DateTimeResult($value); + } +} diff --git a/lib/aws/Aws/Api/Serializer/Ec2ParamBuilder.php b/lib/aws/Aws/Api/Serializer/Ec2ParamBuilder.php new file mode 100644 index 0000000..6dd728d --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/Ec2ParamBuilder.php @@ -0,0 +1,40 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\Shape; +use Aws\Api\ListShape; + +/** + * @internal + */ +class Ec2ParamBuilder extends QueryParamBuilder +{ + protected function queryName(Shape $shape, $default = null) + { + return ($shape['queryName'] + ?: ucfirst($shape['locationName'])) + ?: $default; + } + + protected function isFlat(Shape $shape) + { + return false; + } + + protected function format_list( + ListShape $shape, + array $value, + $prefix, + &$query + ) { + // Handle empty list serialization + if (!$value) { + $query[$prefix] = false; + } else { + $items = $shape->getMember(); + foreach ($value as $k => $v) { + $this->format($items, $v, $prefix . '.' . ($k + 1), $query); + } + } + } +} diff --git a/lib/aws/Aws/Api/Serializer/JsonBody.php b/lib/aws/Aws/Api/Serializer/JsonBody.php new file mode 100644 index 0000000..e6aafb9 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/JsonBody.php @@ -0,0 +1,96 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\Service; +use Aws\Api\Shape; +use Aws\Api\TimestampShape; + +/** + * Formats the JSON body of a JSON-REST or JSON-RPC operation. + * @internal + */ +class JsonBody +{ + private $api; + + public function __construct(Service $api) + { + $this->api = $api; + } + + /** + * Gets the JSON Content-Type header for a service API + * + * @param Service $service + * + * @return string + */ + public static function getContentType(Service $service) + { + return 'application/x-amz-json-' + . number_format($service->getMetadata('jsonVersion'), 1); + } + + /** + * Builds the JSON body based on an array of arguments. + * + * @param Shape $shape Operation being constructed + * @param array $args Associative array of arguments + * + * @return string + */ + public function build(Shape $shape, array $args) + { + $result = json_encode($this->format($shape, $args)); + + return $result == '[]' ? '{}' : $result; + } + + private function format(Shape $shape, $value) + { + switch ($shape['type']) { + case 'structure': + $data = []; + foreach ($value as $k => $v) { + if ($v !== null && $shape->hasMember($k)) { + $valueShape = $shape->getMember($k); + $data[$valueShape['locationName'] ?: $k] + = $this->format($valueShape, $v); + } + } + if (empty($data)) { + return new \stdClass; + } + return $data; + + case 'list': + $items = $shape->getMember(); + foreach ($value as $k => $v) { + $value[$k] = $this->format($items, $v); + } + return $value; + + case 'map': + if (empty($value)) { + return new \stdClass; + } + $values = $shape->getValue(); + foreach ($value as $k => $v) { + $value[$k] = $this->format($values, $v); + } + return $value; + + case 'blob': + return base64_encode($value); + + case 'timestamp': + $timestampFormat = !empty($shape['timestampFormat']) + ? $shape['timestampFormat'] + : 'unixTimestamp'; + return TimestampShape::format($value, $timestampFormat); + + default: + return $value; + } + } +} diff --git a/lib/aws/Aws/Api/Serializer/JsonRpcSerializer.php b/lib/aws/Aws/Api/Serializer/JsonRpcSerializer.php new file mode 100644 index 0000000..7f6f5ab --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/JsonRpcSerializer.php @@ -0,0 +1,69 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\Service; +use Aws\CommandInterface; +use GuzzleHttp\Psr7\Request; +use Psr\Http\Message\RequestInterface; + +/** + * Prepares a JSON-RPC request for transfer. + * @internal + */ +class JsonRpcSerializer +{ + /** @var JsonBody */ + private $jsonFormatter; + + /** @var string */ + private $endpoint; + + /** @var Service */ + private $api; + + /** @var string */ + private $contentType; + + /** + * @param Service $api Service description + * @param string $endpoint Endpoint to connect to + * @param JsonBody $jsonFormatter Optional JSON formatter to use + */ + public function __construct( + Service $api, + $endpoint, + JsonBody $jsonFormatter = null + ) { + $this->endpoint = $endpoint; + $this->api = $api; + $this->jsonFormatter = $jsonFormatter ?: new JsonBody($this->api); + $this->contentType = JsonBody::getContentType($api); + } + + /** + * When invoked with an AWS command, returns a serialization array + * containing "method", "uri", "headers", and "body" key value pairs. + * + * @param CommandInterface $command + * + * @return RequestInterface + */ + public function __invoke(CommandInterface $command) + { + $name = $command->getName(); + $operation = $this->api->getOperation($name); + + return new Request( + $operation['http']['method'], + $this->endpoint, + [ + 'X-Amz-Target' => $this->api->getMetadata('targetPrefix') . '.' . $name, + 'Content-Type' => $this->contentType + ], + $this->jsonFormatter->build( + $operation->getInput(), + $command->toArray() + ) + ); + } +} diff --git a/lib/aws/Aws/Api/Serializer/QueryParamBuilder.php b/lib/aws/Aws/Api/Serializer/QueryParamBuilder.php new file mode 100644 index 0000000..3d96334 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/QueryParamBuilder.php @@ -0,0 +1,157 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\StructureShape; +use Aws\Api\ListShape; +use Aws\Api\MapShape; +use Aws\Api\Shape; +use Aws\Api\TimestampShape; + +/** + * @internal + */ +class QueryParamBuilder +{ + private $methods; + + protected function queryName(Shape $shape, $default = null) + { + if (null !== $shape['queryName']) { + return $shape['queryName']; + } + + if (null !== $shape['locationName']) { + return $shape['locationName']; + } + + if ($this->isFlat($shape) && !empty($shape['member']['locationName'])) { + return $shape['member']['locationName']; + } + + return $default; + } + + protected function isFlat(Shape $shape) + { + return $shape['flattened'] === true; + } + + public function __invoke(StructureShape $shape, array $params) + { + if (!$this->methods) { + $this->methods = array_fill_keys(get_class_methods($this), true); + } + + $query = []; + $this->format_structure($shape, $params, '', $query); + + return $query; + } + + protected function format(Shape $shape, $value, $prefix, array &$query) + { + $type = 'format_' . $shape['type']; + if (isset($this->methods[$type])) { + $this->{$type}($shape, $value, $prefix, $query); + } else { + $query[$prefix] = (string) $value; + } + } + + protected function format_structure( + StructureShape $shape, + array $value, + $prefix, + &$query + ) { + if ($prefix) { + $prefix .= '.'; + } + + foreach ($value as $k => $v) { + if ($shape->hasMember($k)) { + $member = $shape->getMember($k); + $this->format( + $member, + $v, + $prefix . $this->queryName($member, $k), + $query + ); + } + } + } + + protected function format_list( + ListShape $shape, + array $value, + $prefix, + &$query + ) { + // Handle empty list serialization + if (!$value) { + $query[$prefix] = ''; + return; + } + + $items = $shape->getMember(); + + if (!$this->isFlat($shape)) { + $locationName = $shape->getMember()['locationName'] ?: 'member'; + $prefix .= ".$locationName"; + } elseif ($name = $this->queryName($items)) { + $parts = explode('.', $prefix); + $parts[count($parts) - 1] = $name; + $prefix = implode('.', $parts); + } + + foreach ($value as $k => $v) { + $this->format($items, $v, $prefix . '.' . ($k + 1), $query); + } + } + + protected function format_map( + MapShape $shape, + array $value, + $prefix, + array &$query + ) { + $vals = $shape->getValue(); + $keys = $shape->getKey(); + + if (!$this->isFlat($shape)) { + $prefix .= '.entry'; + } + + $i = 0; + $keyName = '%s.%d.' . $this->queryName($keys, 'key'); + $valueName = '%s.%s.' . $this->queryName($vals, 'value'); + + foreach ($value as $k => $v) { + $i++; + $this->format($keys, $k, sprintf($keyName, $prefix, $i), $query); + $this->format($vals, $v, sprintf($valueName, $prefix, $i), $query); + } + } + + protected function format_blob(Shape $shape, $value, $prefix, array &$query) + { + $query[$prefix] = base64_encode($value); + } + + protected function format_timestamp( + TimestampShape $shape, + $value, + $prefix, + array &$query + ) { + $timestampFormat = !empty($shape['timestampFormat']) + ? $shape['timestampFormat'] + : 'iso8601'; + $query[$prefix] = TimestampShape::format($value, $timestampFormat); + } + + protected function format_boolean(Shape $shape, $value, $prefix, array &$query) + { + $query[$prefix] = ($value) ? 'true' : 'false'; + } +} diff --git a/lib/aws/Aws/Api/Serializer/QuerySerializer.php b/lib/aws/Aws/Api/Serializer/QuerySerializer.php new file mode 100644 index 0000000..107e68f --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/QuerySerializer.php @@ -0,0 +1,69 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\Service; +use Aws\CommandInterface; +use GuzzleHttp\Psr7\Request; +use Psr\Http\Message\RequestInterface; + +/** + * Serializes a query protocol request. + * @internal + */ +class QuerySerializer +{ + private $endpoint; + private $api; + private $paramBuilder; + + public function __construct( + Service $api, + $endpoint, + callable $paramBuilder = null + ) { + $this->api = $api; + $this->endpoint = $endpoint; + $this->paramBuilder = $paramBuilder ?: new QueryParamBuilder(); + } + + /** + * When invoked with an AWS command, returns a serialization array + * containing "method", "uri", "headers", and "body" key value pairs. + * + * @param CommandInterface $command + * + * @return RequestInterface + */ + public function __invoke(CommandInterface $command) + { + $operation = $this->api->getOperation($command->getName()); + + $body = [ + 'Action' => $command->getName(), + 'Version' => $this->api->getMetadata('apiVersion') + ]; + + $params = $command->toArray(); + + // Only build up the parameters when there are parameters to build + if ($params) { + $body += call_user_func( + $this->paramBuilder, + $operation->getInput(), + $params + ); + } + + $body = http_build_query($body, null, '&', PHP_QUERY_RFC3986); + + return new Request( + 'POST', + $this->endpoint, + [ + 'Content-Length' => strlen($body), + 'Content-Type' => 'application/x-www-form-urlencoded' + ], + $body + ); + } +} diff --git a/lib/aws/Aws/Api/Serializer/RestJsonSerializer.php b/lib/aws/Aws/Api/Serializer/RestJsonSerializer.php new file mode 100644 index 0000000..b59daa3 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/RestJsonSerializer.php @@ -0,0 +1,39 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\Service; +use Aws\Api\StructureShape; + +/** + * Serializes requests for the REST-JSON protocol. + * @internal + */ +class RestJsonSerializer extends RestSerializer +{ + /** @var JsonBody */ + private $jsonFormatter; + + /** @var string */ + private $contentType; + + /** + * @param Service $api Service API description + * @param string $endpoint Endpoint to connect to + * @param JsonBody $jsonFormatter Optional JSON formatter to use + */ + public function __construct( + Service $api, + $endpoint, + JsonBody $jsonFormatter = null + ) { + parent::__construct($api, $endpoint); + $this->contentType = JsonBody::getContentType($api); + $this->jsonFormatter = $jsonFormatter ?: new JsonBody($api); + } + + protected function payload(StructureShape $member, array $value, array &$opts) + { + $opts['headers']['Content-Type'] = $this->contentType; + $opts['body'] = (string) $this->jsonFormatter->build($member, $value); + } +} diff --git a/lib/aws/Aws/Api/Serializer/RestSerializer.php b/lib/aws/Aws/Api/Serializer/RestSerializer.php new file mode 100644 index 0000000..3dbb266 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/RestSerializer.php @@ -0,0 +1,219 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\MapShape; +use Aws\Api\Service; +use Aws\Api\Operation; +use Aws\Api\Shape; +use Aws\Api\StructureShape; +use Aws\Api\TimestampShape; +use Aws\CommandInterface; +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\Uri; +use GuzzleHttp\Psr7\UriResolver; +use Psr\Http\Message\RequestInterface; + +/** + * Serializes HTTP locations like header, uri, payload, etc... + * @internal + */ +abstract class RestSerializer +{ + /** @var Service */ + private $api; + + /** @var Psr7\Uri */ + private $endpoint; + + /** + * @param Service $api Service API description + * @param string $endpoint Endpoint to connect to + */ + public function __construct(Service $api, $endpoint) + { + $this->api = $api; + $this->endpoint = Psr7\uri_for($endpoint); + } + + /** + * @param CommandInterface $command Command to serialized + * + * @return RequestInterface + */ + public function __invoke(CommandInterface $command) + { + $operation = $this->api->getOperation($command->getName()); + $args = $command->toArray(); + $opts = $this->serialize($operation, $args); + $uri = $this->buildEndpoint($operation, $args, $opts); + + return new Psr7\Request( + $operation['http']['method'], + $uri, + isset($opts['headers']) ? $opts['headers'] : [], + isset($opts['body']) ? $opts['body'] : null + ); + } + + /** + * Modifies a hash of request options for a payload body. + * + * @param StructureShape $member Member to serialize + * @param array $value Value to serialize + * @param array $opts Request options to modify. + */ + abstract protected function payload( + StructureShape $member, + array $value, + array &$opts + ); + + private function serialize(Operation $operation, array $args) + { + $opts = []; + $input = $operation->getInput(); + + // Apply the payload trait if present + if ($payload = $input['payload']) { + $this->applyPayload($input, $payload, $args, $opts); + } + + foreach ($args as $name => $value) { + if ($input->hasMember($name)) { + $member = $input->getMember($name); + $location = $member['location']; + if (!$payload && !$location) { + $bodyMembers[$name] = $value; + } elseif ($location == 'header') { + $this->applyHeader($name, $member, $value, $opts); + } elseif ($location == 'querystring') { + $this->applyQuery($name, $member, $value, $opts); + } elseif ($location == 'headers') { + $this->applyHeaderMap($name, $member, $value, $opts); + } + } + } + + if (isset($bodyMembers)) { + $this->payload($operation->getInput(), $bodyMembers, $opts); + } + + return $opts; + } + + private function applyPayload(StructureShape $input, $name, array $args, array &$opts) + { + if (!isset($args[$name])) { + return; + } + + $m = $input->getMember($name); + + if ($m['streaming'] || + ($m['type'] == 'string' || $m['type'] == 'blob') + ) { + // Streaming bodies or payloads that are strings are + // always just a stream of data. + $opts['body'] = Psr7\stream_for($args[$name]); + return; + } + + $this->payload($m, $args[$name], $opts); + } + + private function applyHeader($name, Shape $member, $value, array &$opts) + { + if ($member->getType() === 'timestamp') { + $timestampFormat = !empty($member['timestampFormat']) + ? $member['timestampFormat'] + : 'rfc822'; + $value = TimestampShape::format($value, $timestampFormat); + } + if ($member['jsonvalue']) { + $value = json_encode($value); + if (empty($value) && JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException('Unable to encode the provided value' + . ' with \'json_encode\'. ' . json_last_error_msg()); + } + + $value = base64_encode($value); + } + + $opts['headers'][$member['locationName'] ?: $name] = $value; + } + + /** + * Note: This is currently only present in the Amazon S3 model. + */ + private function applyHeaderMap($name, Shape $member, array $value, array &$opts) + { + $prefix = $member['locationName']; + foreach ($value as $k => $v) { + $opts['headers'][$prefix . $k] = $v; + } + } + + private function applyQuery($name, Shape $member, $value, array &$opts) + { + if ($member instanceof MapShape) { + $opts['query'] = isset($opts['query']) && is_array($opts['query']) + ? $opts['query'] + $value + : $value; + } elseif ($value !== null) { + $type = $member->getType(); + if ($type === 'boolean') { + $value = $value ? 'true' : 'false'; + } elseif ($type === 'timestamp') { + $timestampFormat = !empty($member['timestampFormat']) + ? $member['timestampFormat'] + : 'iso8601'; + $value = TimestampShape::format($value, $timestampFormat); + } + + $opts['query'][$member['locationName'] ?: $name] = $value; + } + } + + private function buildEndpoint(Operation $operation, array $args, array $opts) + { + $varspecs = []; + + // Create an associative array of varspecs used in expansions + foreach ($operation->getInput()->getMembers() as $name => $member) { + if ($member['location'] == 'uri') { + $varspecs[$member['locationName'] ?: $name] = + isset($args[$name]) + ? $args[$name] + : null; + } + } + + $relative = preg_replace_callback( + '/\{([^\}]+)\}/', + function (array $matches) use ($varspecs) { + $isGreedy = substr($matches[1], -1, 1) == '+'; + $k = $isGreedy ? substr($matches[1], 0, -1) : $matches[1]; + if (!isset($varspecs[$k])) { + return ''; + } + + if ($isGreedy) { + return str_replace('%2F', '/', rawurlencode($varspecs[$k])); + } + + return rawurlencode($varspecs[$k]); + }, + $operation['http']['requestUri'] + ); + + // Add the query string variables or appending to one if needed. + if (!empty($opts['query'])) { + $append = Psr7\build_query($opts['query']); + $relative .= strpos($relative, '?') ? "&{$append}" : "?$append"; + } + + // Expand path place holders using Amazon's slightly different URI + // template syntax. + return UriResolver::resolve($this->endpoint, new Uri($relative)); + } +} diff --git a/lib/aws/Aws/Api/Serializer/RestXmlSerializer.php b/lib/aws/Aws/Api/Serializer/RestXmlSerializer.php new file mode 100644 index 0000000..b0d6a29 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/RestXmlSerializer.php @@ -0,0 +1,34 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\StructureShape; +use Aws\Api\Service; + +/** + * @internal + */ +class RestXmlSerializer extends RestSerializer +{ + /** @var XmlBody */ + private $xmlBody; + + /** + * @param Service $api Service API description + * @param string $endpoint Endpoint to connect to + * @param XmlBody $xmlBody Optional XML formatter to use + */ + public function __construct( + Service $api, + $endpoint, + XmlBody $xmlBody = null + ) { + parent::__construct($api, $endpoint); + $this->xmlBody = $xmlBody ?: new XmlBody($api); + } + + protected function payload(StructureShape $member, array $value, array &$opts) + { + $opts['headers']['Content-Type'] = 'application/xml'; + $opts['body'] = (string) $this->xmlBody->build($member, $value); + } +} diff --git a/lib/aws/Aws/Api/Serializer/XmlBody.php b/lib/aws/Aws/Api/Serializer/XmlBody.php new file mode 100644 index 0000000..a7d7659 --- /dev/null +++ b/lib/aws/Aws/Api/Serializer/XmlBody.php @@ -0,0 +1,220 @@ +<?php +namespace Aws\Api\Serializer; + +use Aws\Api\MapShape; +use Aws\Api\Service; +use Aws\Api\Shape; +use Aws\Api\StructureShape; +use Aws\Api\ListShape; +use Aws\Api\TimestampShape; +use XMLWriter; + +/** + * @internal Formats the XML body of a REST-XML services. + */ +class XmlBody +{ + /** @var \Aws\Api\Service */ + private $api; + + /** + * @param Service $api API being used to create the XML body. + */ + public function __construct(Service $api) + { + $this->api = $api; + } + + /** + * Builds the XML body based on an array of arguments. + * + * @param Shape $shape Operation being constructed + * @param array $args Associative array of arguments + * + * @return string + */ + public function build(Shape $shape, array $args) + { + $xml = new XMLWriter(); + $xml->openMemory(); + $xml->startDocument('1.0', 'UTF-8'); + $this->format($shape, $shape['locationName'] ?: $shape['name'], $args, $xml); + $xml->endDocument(); + + return $xml->outputMemory(); + } + + private function startElement(Shape $shape, $name, XMLWriter $xml) + { + $xml->startElement($name); + + if ($ns = $shape['xmlNamespace']) { + $xml->writeAttribute( + isset($ns['prefix']) ? "xmlns:{$ns['prefix']}" : 'xmlns', + $shape['xmlNamespace']['uri'] + ); + } + } + + private function format(Shape $shape, $name, $value, XMLWriter $xml) + { + // Any method mentioned here has a custom serialization handler. + static $methods = [ + 'add_structure' => true, + 'add_list' => true, + 'add_blob' => true, + 'add_timestamp' => true, + 'add_boolean' => true, + 'add_map' => true, + 'add_string' => true + ]; + + $type = 'add_' . $shape['type']; + if (isset($methods[$type])) { + $this->{$type}($shape, $name, $value, $xml); + } else { + $this->defaultShape($shape, $name, $value, $xml); + } + } + + private function defaultShape(Shape $shape, $name, $value, XMLWriter $xml) + { + $this->startElement($shape, $name, $xml); + $xml->writeRaw($value); + $xml->endElement(); + } + + private function add_structure( + StructureShape $shape, + $name, + array $value, + \XMLWriter $xml + ) { + $this->startElement($shape, $name, $xml); + + foreach ($this->getStructureMembers($shape, $value) as $k => $definition) { + $this->format( + $definition['member'], + $definition['member']['locationName'] ?: $k, + $definition['value'], + $xml + ); + } + + $xml->endElement(); + } + + private function getStructureMembers(StructureShape $shape, array $value) + { + $members = []; + + foreach ($value as $k => $v) { + if ($v !== null && $shape->hasMember($k)) { + $definition = [ + 'member' => $shape->getMember($k), + 'value' => $v, + ]; + + if ($definition['member']['xmlAttribute']) { + // array_unshift_associative + $members = [$k => $definition] + $members; + } else { + $members[$k] = $definition; + } + } + } + + return $members; + } + + private function add_list( + ListShape $shape, + $name, + array $value, + XMLWriter $xml + ) { + $items = $shape->getMember(); + + if ($shape['flattened']) { + $elementName = $name; + } else { + $this->startElement($shape, $name, $xml); + $elementName = $items['locationName'] ?: 'member'; + } + + foreach ($value as $v) { + $this->format($items, $elementName, $v, $xml); + } + + if (!$shape['flattened']) { + $xml->endElement(); + } + } + + private function add_map( + MapShape $shape, + $name, + array $value, + XMLWriter $xml + ) { + $xmlEntry = $shape['flattened'] ? $shape['locationName'] : 'entry'; + $xmlKey = $shape->getKey()['locationName'] ?: 'key'; + $xmlValue = $shape->getValue()['locationName'] ?: 'value'; + + $this->startElement($shape, $name, $xml); + + foreach ($value as $key => $v) { + $this->startElement($shape, $xmlEntry, $xml); + $this->format($shape->getKey(), $xmlKey, $key, $xml); + $this->format($shape->getValue(), $xmlValue, $v, $xml); + $xml->endElement(); + } + + $xml->endElement(); + } + + private function add_blob(Shape $shape, $name, $value, XMLWriter $xml) + { + $this->startElement($shape, $name, $xml); + $xml->writeRaw(base64_encode($value)); + $xml->endElement(); + } + + private function add_timestamp( + TimestampShape $shape, + $name, + $value, + XMLWriter $xml + ) { + $this->startElement($shape, $name, $xml); + $timestampFormat = !empty($shape['timestampFormat']) + ? $shape['timestampFormat'] + : 'iso8601'; + $xml->writeRaw(TimestampShape::format($value, $timestampFormat)); + $xml->endElement(); + } + + private function add_boolean( + Shape $shape, + $name, + $value, + XMLWriter $xml + ) { + $this->startElement($shape, $name, $xml); + $xml->writeRaw($value ? 'true' : 'false'); + $xml->endElement(); + } + + private function add_string( + Shape $shape, + $name, + $value, + XMLWriter $xml + ) { + if ($shape['xmlAttribute']) { + $xml->writeAttribute($shape['locationName'] ?: $name, $value); + } else { + $this->defaultShape($shape, $name, $value, $xml); + } + } +} diff --git a/lib/aws/Aws/Api/Service.php b/lib/aws/Aws/Api/Service.php new file mode 100644 index 0000000..d6281a9 --- /dev/null +++ b/lib/aws/Aws/Api/Service.php @@ -0,0 +1,448 @@ +<?php +namespace Aws\Api; + +use Aws\Api\Serializer\QuerySerializer; +use Aws\Api\Serializer\Ec2ParamBuilder; +use Aws\Api\Parser\QueryParser; + +/** + * Represents a web service API model. + */ +class Service extends AbstractModel +{ + /** @var callable */ + private $apiProvider; + + /** @var string */ + private $serviceName; + + /** @var string */ + private $apiVersion; + + /** @var Operation[] */ + private $operations = []; + + /** @var array */ + private $paginators = null; + + /** @var array */ + private $waiters = null; + + /** + * @param array $definition + * @param callable $provider + * + * @internal param array $definition Service description + */ + public function __construct(array $definition, callable $provider) + { + static $defaults = [ + 'operations' => [], + 'shapes' => [], + 'metadata' => [] + ], $defaultMeta = [ + 'apiVersion' => null, + 'serviceFullName' => null, + 'serviceId' => null, + 'endpointPrefix' => null, + 'signingName' => null, + 'signatureVersion' => null, + 'protocol' => null, + 'uid' => null + ]; + + $definition += $defaults; + $definition['metadata'] += $defaultMeta; + $this->definition = $definition; + $this->apiProvider = $provider; + parent::__construct($definition, new ShapeMap($definition['shapes'])); + + if (isset($definition['metadata']['serviceIdentifier'])) { + $this->serviceName = $this->getServiceName(); + } else { + $this->serviceName = $this->getEndpointPrefix(); + } + + $this->apiVersion = $this->getApiVersion(); + } + + /** + * Creates a request serializer for the provided API object. + * + * @param Service $api API that contains a protocol. + * @param string $endpoint Endpoint to send requests to. + * + * @return callable + * @throws \UnexpectedValueException + */ + public static function createSerializer(Service $api, $endpoint) + { + static $mapping = [ + 'json' => 'Aws\Api\Serializer\JsonRpcSerializer', + 'query' => 'Aws\Api\Serializer\QuerySerializer', + 'rest-json' => 'Aws\Api\Serializer\RestJsonSerializer', + 'rest-xml' => 'Aws\Api\Serializer\RestXmlSerializer' + ]; + + $proto = $api->getProtocol(); + + if (isset($mapping[$proto])) { + return new $mapping[$proto]($api, $endpoint); + } + + if ($proto == 'ec2') { + return new QuerySerializer($api, $endpoint, new Ec2ParamBuilder()); + } + + throw new \UnexpectedValueException( + 'Unknown protocol: ' . $api->getProtocol() + ); + } + + /** + * Creates an error parser for the given protocol. + * + * @param string $protocol Protocol to parse (e.g., query, json, etc.) + * + * @return callable + * @throws \UnexpectedValueException + */ + public static function createErrorParser($protocol) + { + static $mapping = [ + 'json' => 'Aws\Api\ErrorParser\JsonRpcErrorParser', + 'query' => 'Aws\Api\ErrorParser\XmlErrorParser', + 'rest-json' => 'Aws\Api\ErrorParser\RestJsonErrorParser', + 'rest-xml' => 'Aws\Api\ErrorParser\XmlErrorParser', + 'ec2' => 'Aws\Api\ErrorParser\XmlErrorParser' + ]; + + if (isset($mapping[$protocol])) { + return new $mapping[$protocol](); + } + + throw new \UnexpectedValueException("Unknown protocol: $protocol"); + } + + /** + * Applies the listeners needed to parse client models. + * + * @param Service $api API to create a parser for + * @return callable + * @throws \UnexpectedValueException + */ + public static function createParser(Service $api) + { + static $mapping = [ + 'json' => 'Aws\Api\Parser\JsonRpcParser', + 'query' => 'Aws\Api\Parser\QueryParser', + 'rest-json' => 'Aws\Api\Parser\RestJsonParser', + 'rest-xml' => 'Aws\Api\Parser\RestXmlParser' + ]; + + $proto = $api->getProtocol(); + if (isset($mapping[$proto])) { + return new $mapping[$proto]($api); + } + + if ($proto == 'ec2') { + return new QueryParser($api, null, false); + } + + throw new \UnexpectedValueException( + 'Unknown protocol: ' . $api->getProtocol() + ); + } + + /** + * Get the full name of the service + * + * @return string + */ + public function getServiceFullName() + { + return $this->definition['metadata']['serviceFullName']; + } + + /** + * Get the service id + * + * @return string + */ + public function getServiceId() + { + return $this->definition['metadata']['serviceId']; + } + + /** + * Get the API version of the service + * + * @return string + */ + public function getApiVersion() + { + return $this->definition['metadata']['apiVersion']; + } + + /** + * Get the API version of the service + * + * @return string + */ + public function getEndpointPrefix() + { + return $this->definition['metadata']['endpointPrefix']; + } + + /** + * Get the signing name used by the service. + * + * @return string + */ + public function getSigningName() + { + return $this->definition['metadata']['signingName'] + ?: $this->definition['metadata']['endpointPrefix']; + } + + /** + * Get the service name. + * + * @return string + */ + public function getServiceName() + { + return $this->definition['metadata']['serviceIdentifier']; + } + + /** + * Get the default signature version of the service. + * + * Note: this method assumes "v4" when not specified in the model. + * + * @return string + */ + public function getSignatureVersion() + { + return $this->definition['metadata']['signatureVersion'] ?: 'v4'; + } + + /** + * Get the protocol used by the service. + * + * @return string + */ + public function getProtocol() + { + return $this->definition['metadata']['protocol']; + } + + /** + * Get the uid string used by the service + * + * @return string + */ + public function getUid() + { + return $this->definition['metadata']['uid']; + } + + /** + * Check if the description has a specific operation by name. + * + * @param string $name Operation to check by name + * + * @return bool + */ + public function hasOperation($name) + { + return isset($this['operations'][$name]); + } + + /** + * Get an operation by name. + * + * @param string $name Operation to retrieve by name + * + * @return Operation + * @throws \InvalidArgumentException If the operation is not found + */ + public function getOperation($name) + { + if (!isset($this->operations[$name])) { + if (!isset($this->definition['operations'][$name])) { + throw new \InvalidArgumentException("Unknown operation: $name"); + } + $this->operations[$name] = new Operation( + $this->definition['operations'][$name], + $this->shapeMap + ); + } + + return $this->operations[$name]; + } + + /** + * Get all of the operations of the description. + * + * @return Operation[] + */ + public function getOperations() + { + $result = []; + foreach ($this->definition['operations'] as $name => $definition) { + $result[$name] = $this->getOperation($name); + } + + return $result; + } + + /** + * Get all of the service metadata or a specific metadata key value. + * + * @param string|null $key Key to retrieve or null to retrieve all metadata + * + * @return mixed Returns the result or null if the key is not found + */ + public function getMetadata($key = null) + { + if (!$key) { + return $this['metadata']; + } + + if (isset($this->definition['metadata'][$key])) { + return $this->definition['metadata'][$key]; + } + + return null; + } + + /** + * Gets an associative array of available paginator configurations where + * the key is the name of the paginator, and the value is the paginator + * configuration. + * + * @return array + * @unstable The configuration format of paginators may change in the future + */ + public function getPaginators() + { + if (!isset($this->paginators)) { + $res = call_user_func( + $this->apiProvider, + 'paginator', + $this->serviceName, + $this->apiVersion + ); + $this->paginators = isset($res['pagination']) + ? $res['pagination'] + : []; + } + + return $this->paginators; + } + + /** + * Determines if the service has a paginator by name. + * + * @param string $name Name of the paginator. + * + * @return bool + */ + public function hasPaginator($name) + { + return isset($this->getPaginators()[$name]); + } + + /** + * Retrieve a paginator by name. + * + * @param string $name Paginator to retrieve by name. This argument is + * typically the operation name. + * @return array + * @throws \UnexpectedValueException if the paginator does not exist. + * @unstable The configuration format of paginators may change in the future + */ + public function getPaginatorConfig($name) + { + static $defaults = [ + 'input_token' => null, + 'output_token' => null, + 'limit_key' => null, + 'result_key' => null, + 'more_results' => null, + ]; + + if ($this->hasPaginator($name)) { + return $this->paginators[$name] + $defaults; + } + + throw new \UnexpectedValueException("There is no {$name} " + . "paginator defined for the {$this->serviceName} service."); + } + + /** + * Gets an associative array of available waiter configurations where the + * key is the name of the waiter, and the value is the waiter + * configuration. + * + * @return array + */ + public function getWaiters() + { + if (!isset($this->waiters)) { + $res = call_user_func( + $this->apiProvider, + 'waiter', + $this->serviceName, + $this->apiVersion + ); + $this->waiters = isset($res['waiters']) + ? $res['waiters'] + : []; + } + + return $this->waiters; + } + + /** + * Determines if the service has a waiter by name. + * + * @param string $name Name of the waiter. + * + * @return bool + */ + public function hasWaiter($name) + { + return isset($this->getWaiters()[$name]); + } + + /** + * Get a waiter configuration by name. + * + * @param string $name Name of the waiter by name. + * + * @return array + * @throws \UnexpectedValueException if the waiter does not exist. + */ + public function getWaiterConfig($name) + { + // Error if the waiter is not defined + if ($this->hasWaiter($name)) { + return $this->waiters[$name]; + } + + throw new \UnexpectedValueException("There is no {$name} waiter " + . "defined for the {$this->serviceName} service."); + } + + /** + * Get the shape map used by the API. + * + * @return ShapeMap + */ + public function getShapeMap() + { + return $this->shapeMap; + } +} diff --git a/lib/aws/Aws/Api/Shape.php b/lib/aws/Aws/Api/Shape.php new file mode 100644 index 0000000..7734180 --- /dev/null +++ b/lib/aws/Aws/Api/Shape.php @@ -0,0 +1,69 @@ +<?php +namespace Aws\Api; + +/** + * Base class representing a modeled shape. + */ +class Shape extends AbstractModel +{ + /** + * Get a concrete shape for the given definition. + * + * @param array $definition + * @param ShapeMap $shapeMap + * + * @return mixed + * @throws \RuntimeException if the type is invalid + */ + public static function create(array $definition, ShapeMap $shapeMap) + { + static $map = [ + 'structure' => 'Aws\Api\StructureShape', + 'map' => 'Aws\Api\MapShape', + 'list' => 'Aws\Api\ListShape', + 'timestamp' => 'Aws\Api\TimestampShape', + 'integer' => 'Aws\Api\Shape', + 'double' => 'Aws\Api\Shape', + 'float' => 'Aws\Api\Shape', + 'long' => 'Aws\Api\Shape', + 'string' => 'Aws\Api\Shape', + 'byte' => 'Aws\Api\Shape', + 'character' => 'Aws\Api\Shape', + 'blob' => 'Aws\Api\Shape', + 'boolean' => 'Aws\Api\Shape' + ]; + + if (isset($definition['shape'])) { + return $shapeMap->resolve($definition); + } + + if (!isset($map[$definition['type']])) { + throw new \RuntimeException('Invalid type: ' + . print_r($definition, true)); + } + + $type = $map[$definition['type']]; + + return new $type($definition, $shapeMap); + } + + /** + * Get the type of the shape + * + * @return string + */ + public function getType() + { + return $this->definition['type']; + } + + /** + * Get the name of the shape + * + * @return string + */ + public function getName() + { + return $this->definition['name']; + } +} diff --git a/lib/aws/Aws/Api/ShapeMap.php b/lib/aws/Aws/Api/ShapeMap.php new file mode 100644 index 0000000..18ef23a --- /dev/null +++ b/lib/aws/Aws/Api/ShapeMap.php @@ -0,0 +1,66 @@ +<?php +namespace Aws\Api; + +/** + * Builds shape based on shape references. + */ +class ShapeMap +{ + /** @var array */ + private $definitions; + + /** @var Shape[] */ + private $simple; + + /** + * @param array $shapeModels Associative array of shape definitions. + */ + public function __construct(array $shapeModels) + { + $this->definitions = $shapeModels; + } + + /** + * Get an array of shape names. + * + * @return array + */ + public function getShapeNames() + { + return array_keys($this->definitions); + } + + /** + * Resolve a shape reference + * + * @param array $shapeRef Shape reference shape + * + * @return Shape + * @throws \InvalidArgumentException + */ + public function resolve(array $shapeRef) + { + $shape = $shapeRef['shape']; + + if (!isset($this->definitions[$shape])) { + throw new \InvalidArgumentException('Shape not found: ' . $shape); + } + + $isSimple = count($shapeRef) == 1; + if ($isSimple && isset($this->simple[$shape])) { + return $this->simple[$shape]; + } + + $definition = $shapeRef + $this->definitions[$shape]; + $definition['name'] = $definition['shape']; + unset($definition['shape']); + + $result = Shape::create($definition, $this); + + if ($isSimple) { + $this->simple[$shape] = $result; + } + + return $result; + } +} diff --git a/lib/aws/Aws/Api/StructureShape.php b/lib/aws/Aws/Api/StructureShape.php new file mode 100644 index 0000000..a287935 --- /dev/null +++ b/lib/aws/Aws/Api/StructureShape.php @@ -0,0 +1,79 @@ +<?php +namespace Aws\Api; + +/** + * Represents a structure shape and resolve member shape references. + */ +class StructureShape extends Shape +{ + /** + * @var Shape[] + */ + private $members; + + public function __construct(array $definition, ShapeMap $shapeMap) + { + $definition['type'] = 'structure'; + + if (!isset($definition['members'])) { + $definition['members'] = []; + } + + parent::__construct($definition, $shapeMap); + } + + /** + * Gets a list of all members + * + * @return Shape[] + */ + public function getMembers() + { + if (empty($this->members)) { + $this->generateMembersHash(); + } + + return $this->members; + } + + /** + * Check if a specific member exists by name. + * + * @param string $name Name of the member to check + * + * @return bool + */ + public function hasMember($name) + { + return isset($this->definition['members'][$name]); + } + + /** + * Retrieve a member by name. + * + * @param string $name Name of the member to retrieve + * + * @return Shape + * @throws \InvalidArgumentException if the member is not found. + */ + public function getMember($name) + { + $members = $this->getMembers(); + + if (!isset($members[$name])) { + throw new \InvalidArgumentException('Unknown member ' . $name); + } + + return $members[$name]; + } + + + private function generateMembersHash() + { + $this->members = []; + + foreach ($this->definition['members'] as $name => $definition) { + $this->members[$name] = $this->shapeFor($definition); + } + } +} diff --git a/lib/aws/Aws/Api/TimestampShape.php b/lib/aws/Aws/Api/TimestampShape.php new file mode 100644 index 0000000..7ef2646 --- /dev/null +++ b/lib/aws/Aws/Api/TimestampShape.php @@ -0,0 +1,48 @@ +<?php +namespace Aws\Api; + +/** + * Represents a timestamp shape. + */ +class TimestampShape extends Shape +{ + public function __construct(array $definition, ShapeMap $shapeMap) + { + $definition['type'] = 'timestamp'; + parent::__construct($definition, $shapeMap); + } + + /** + * Formats a timestamp value for a service. + * + * @param mixed $value Value to format + * @param string $format Format used to serialize the value + * + * @return int|string + * @throws \UnexpectedValueException if the format is unknown. + * @throws \InvalidArgumentException if the value is an unsupported type. + */ + public static function format($value, $format) + { + if ($value instanceof \DateTime) { + $value = $value->getTimestamp(); + } elseif (is_string($value)) { + $value = strtotime($value); + } elseif (!is_int($value)) { + throw new \InvalidArgumentException('Unable to handle the provided' + . ' timestamp type: ' . gettype($value)); + } + + switch ($format) { + case 'iso8601': + return gmdate('Y-m-d\TH:i:s\Z', $value); + case 'rfc822': + return gmdate('D, d M Y H:i:s \G\M\T', $value); + case 'unixTimestamp': + return $value; + default: + throw new \UnexpectedValueException('Unknown timestamp format: ' + . $format); + } + } +} diff --git a/lib/aws/Aws/Api/Validator.php b/lib/aws/Aws/Api/Validator.php new file mode 100644 index 0000000..a137a6c --- /dev/null +++ b/lib/aws/Aws/Api/Validator.php @@ -0,0 +1,286 @@ +<?php +namespace Aws\Api; + +use Aws; + +/** + * Validates a schema against a hash of input. + */ +class Validator +{ + private $path = []; + private $errors = []; + private $constraints = []; + + private static $defaultConstraints = [ + 'required' => true, + 'min' => true, + 'max' => false, + 'pattern' => false + ]; + + /** + * @param array $constraints Associative array of constraints to enforce. + * Accepts the following keys: "required", "min", + * "max", and "pattern". If a key is not + * provided, the constraint will assume false. + */ + public function __construct(array $constraints = null) + { + static $assumedFalseValues = [ + 'required' => false, + 'min' => false, + 'max' => false, + 'pattern' => false + ]; + $this->constraints = empty($constraints) + ? self::$defaultConstraints + : $constraints + $assumedFalseValues; + } + + /** + * Validates the given input against the schema. + * + * @param string $name Operation name + * @param Shape $shape Shape to validate + * @param array $input Input to validate + * + * @throws \InvalidArgumentException if the input is invalid. + */ + public function validate($name, Shape $shape, array $input) + { + $this->dispatch($shape, $input); + + if ($this->errors) { + $message = sprintf( + "Found %d error%s while validating the input provided for the " + . "%s operation:\n%s", + count($this->errors), + count($this->errors) > 1 ? 's' : '', + $name, + implode("\n", $this->errors) + ); + $this->errors = []; + + throw new \InvalidArgumentException($message); + } + } + + private function dispatch(Shape $shape, $value) + { + static $methods = [ + 'structure' => 'check_structure', + 'list' => 'check_list', + 'map' => 'check_map', + 'blob' => 'check_blob', + 'boolean' => 'check_boolean', + 'integer' => 'check_numeric', + 'float' => 'check_numeric', + 'long' => 'check_numeric', + 'string' => 'check_string', + 'byte' => 'check_string', + 'char' => 'check_string' + ]; + + $type = $shape->getType(); + if (isset($methods[$type])) { + $this->{$methods[$type]}($shape, $value); + } + } + + private function check_structure(StructureShape $shape, $value) + { + if (!$this->checkAssociativeArray($value)) { + return; + } + + if ($this->constraints['required'] && $shape['required']) { + foreach ($shape['required'] as $req) { + if (!isset($value[$req])) { + $this->path[] = $req; + $this->addError('is missing and is a required parameter'); + array_pop($this->path); + } + } + } + + foreach ($value as $name => $v) { + if ($shape->hasMember($name)) { + $this->path[] = $name; + $this->dispatch( + $shape->getMember($name), + isset($value[$name]) ? $value[$name] : null + ); + array_pop($this->path); + } + } + } + + private function check_list(ListShape $shape, $value) + { + if (!is_array($value)) { + $this->addError('must be an array. Found ' + . Aws\describe_type($value)); + return; + } + + $this->validateRange($shape, count($value), "list element count"); + + $items = $shape->getMember(); + foreach ($value as $index => $v) { + $this->path[] = $index; + $this->dispatch($items, $v); + array_pop($this->path); + } + } + + private function check_map(MapShape $shape, $value) + { + if (!$this->checkAssociativeArray($value)) { + return; + } + + $values = $shape->getValue(); + foreach ($value as $key => $v) { + $this->path[] = $key; + $this->dispatch($values, $v); + array_pop($this->path); + } + } + + private function check_blob(Shape $shape, $value) + { + static $valid = [ + 'string' => true, + 'integer' => true, + 'double' => true, + 'resource' => true + ]; + + $type = gettype($value); + if (!isset($valid[$type])) { + if ($type != 'object' || !method_exists($value, '__toString')) { + $this->addError('must be an fopen resource, a ' + . 'GuzzleHttp\Stream\StreamInterface object, or something ' + . 'that can be cast to a string. Found ' + . Aws\describe_type($value)); + } + } + } + + private function check_numeric(Shape $shape, $value) + { + if (!is_numeric($value)) { + $this->addError('must be numeric. Found ' + . Aws\describe_type($value)); + return; + } + + $this->validateRange($shape, $value, "numeric value"); + } + + private function check_boolean(Shape $shape, $value) + { + if (!is_bool($value)) { + $this->addError('must be a boolean. Found ' + . Aws\describe_type($value)); + } + } + + private function check_string(Shape $shape, $value) + { + if ($shape['jsonvalue']) { + if (!self::canJsonEncode($value)) { + $this->addError('must be a value encodable with \'json_encode\'.' + . ' Found ' . Aws\describe_type($value)); + } + return; + } + + if (!$this->checkCanString($value)) { + $this->addError('must be a string or an object that implements ' + . '__toString(). Found ' . Aws\describe_type($value)); + return; + } + + $this->validateRange($shape, strlen($value), "string length"); + + if ($this->constraints['pattern']) { + $pattern = $shape['pattern']; + if ($pattern && !preg_match("/$pattern/", $value)) { + $this->addError("Pattern /$pattern/ failed to match '$value'"); + } + } + } + + private function validateRange(Shape $shape, $length, $descriptor) + { + if ($this->constraints['min']) { + $min = $shape['min']; + if ($min && $length < $min) { + $this->addError("expected $descriptor to be >= $min, but " + . "found $descriptor of $length"); + } + } + + if ($this->constraints['max']) { + $max = $shape['max']; + if ($max && $length > $max) { + $this->addError("expected $descriptor to be <= $max, but " + . "found $descriptor of $length"); + } + } + } + + private function checkCanString($value) + { + static $valid = [ + 'string' => true, + 'integer' => true, + 'double' => true, + 'NULL' => true, + ]; + + $type = gettype($value); + + return isset($valid[$type]) || + ($type == 'object' && method_exists($value, '__toString')); + } + + private function checkAssociativeArray($value) + { + $isAssociative = false; + + if (is_array($value)) { + $expectedIndex = 0; + $key = key($value); + + do { + $isAssociative = $key !== $expectedIndex++; + next($value); + $key = key($value); + } while (!$isAssociative && null !== $key); + } + + if (!$isAssociative) { + $this->addError('must be an associative array. Found ' + . Aws\describe_type($value)); + return false; + } + + return true; + } + + private function addError($message) + { + $this->errors[] = + implode('', array_map(function ($s) { return "[{$s}]"; }, $this->path)) + . ' ' + . $message; + } + + private function canJsonEncode($data) + { + return !is_resource($data); + } +} diff --git a/lib/aws/Aws/ApiGateway/ApiGatewayClient.php b/lib/aws/Aws/ApiGateway/ApiGatewayClient.php new file mode 100644 index 0000000..6162b6b --- /dev/null +++ b/lib/aws/Aws/ApiGateway/ApiGatewayClient.php @@ -0,0 +1,272 @@ +<?php +namespace Aws\ApiGateway; + +use Aws\AwsClient; +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * This client is used to interact with the **AWS API Gateway** service. + * + * @method \Aws\Result createApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApiKeyAsync(array $args = []) + * @method \Aws\Result createAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAuthorizerAsync(array $args = []) + * @method \Aws\Result createBasePathMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBasePathMappingAsync(array $args = []) + * @method \Aws\Result createDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = []) + * @method \Aws\Result createDocumentationPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDocumentationPartAsync(array $args = []) + * @method \Aws\Result createDocumentationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDocumentationVersionAsync(array $args = []) + * @method \Aws\Result createDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = []) + * @method \Aws\Result createModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = []) + * @method \Aws\Result createRequestValidator(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRequestValidatorAsync(array $args = []) + * @method \Aws\Result createResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceAsync(array $args = []) + * @method \Aws\Result createRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRestApiAsync(array $args = []) + * @method \Aws\Result createStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStageAsync(array $args = []) + * @method \Aws\Result createUsagePlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUsagePlanAsync(array $args = []) + * @method \Aws\Result createUsagePlanKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUsagePlanKeyAsync(array $args = []) + * @method \Aws\Result createVpcLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcLinkAsync(array $args = []) + * @method \Aws\Result deleteApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApiKeyAsync(array $args = []) + * @method \Aws\Result deleteAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAuthorizerAsync(array $args = []) + * @method \Aws\Result deleteBasePathMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBasePathMappingAsync(array $args = []) + * @method \Aws\Result deleteClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClientCertificateAsync(array $args = []) + * @method \Aws\Result deleteDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeploymentAsync(array $args = []) + * @method \Aws\Result deleteDocumentationPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDocumentationPartAsync(array $args = []) + * @method \Aws\Result deleteDocumentationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDocumentationVersionAsync(array $args = []) + * @method \Aws\Result deleteDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = []) + * @method \Aws\Result deleteGatewayResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGatewayResponseAsync(array $args = []) + * @method \Aws\Result deleteIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = []) + * @method \Aws\Result deleteIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntegrationResponseAsync(array $args = []) + * @method \Aws\Result deleteMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMethodAsync(array $args = []) + * @method \Aws\Result deleteMethodResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMethodResponseAsync(array $args = []) + * @method \Aws\Result deleteModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = []) + * @method \Aws\Result deleteRequestValidator(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRequestValidatorAsync(array $args = []) + * @method \Aws\Result deleteResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceAsync(array $args = []) + * @method \Aws\Result deleteRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRestApiAsync(array $args = []) + * @method \Aws\Result deleteStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStageAsync(array $args = []) + * @method \Aws\Result deleteUsagePlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUsagePlanAsync(array $args = []) + * @method \Aws\Result deleteUsagePlanKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUsagePlanKeyAsync(array $args = []) + * @method \Aws\Result deleteVpcLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcLinkAsync(array $args = []) + * @method \Aws\Result flushStageAuthorizersCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise flushStageAuthorizersCacheAsync(array $args = []) + * @method \Aws\Result flushStageCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise flushStageCacheAsync(array $args = []) + * @method \Aws\Result generateClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateClientCertificateAsync(array $args = []) + * @method \Aws\Result getAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountAsync(array $args = []) + * @method \Aws\Result getApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApiKeyAsync(array $args = []) + * @method \Aws\Result getApiKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApiKeysAsync(array $args = []) + * @method \Aws\Result getAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAuthorizerAsync(array $args = []) + * @method \Aws\Result getAuthorizers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAuthorizersAsync(array $args = []) + * @method \Aws\Result getBasePathMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBasePathMappingAsync(array $args = []) + * @method \Aws\Result getBasePathMappings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBasePathMappingsAsync(array $args = []) + * @method \Aws\Result getClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getClientCertificateAsync(array $args = []) + * @method \Aws\Result getClientCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise getClientCertificatesAsync(array $args = []) + * @method \Aws\Result getDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = []) + * @method \Aws\Result getDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentsAsync(array $args = []) + * @method \Aws\Result getDocumentationPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentationPartAsync(array $args = []) + * @method \Aws\Result getDocumentationParts(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentationPartsAsync(array $args = []) + * @method \Aws\Result getDocumentationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentationVersionAsync(array $args = []) + * @method \Aws\Result getDocumentationVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentationVersionsAsync(array $args = []) + * @method \Aws\Result getDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainNameAsync(array $args = []) + * @method \Aws\Result getDomainNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainNamesAsync(array $args = []) + * @method \Aws\Result getExport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExportAsync(array $args = []) + * @method \Aws\Result getGatewayResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGatewayResponseAsync(array $args = []) + * @method \Aws\Result getGatewayResponses(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGatewayResponsesAsync(array $args = []) + * @method \Aws\Result getIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationAsync(array $args = []) + * @method \Aws\Result getIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationResponseAsync(array $args = []) + * @method \Aws\Result getMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMethodAsync(array $args = []) + * @method \Aws\Result getMethodResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMethodResponseAsync(array $args = []) + * @method \Aws\Result getModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelAsync(array $args = []) + * @method \Aws\Result getModelTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelTemplateAsync(array $args = []) + * @method \Aws\Result getModels(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelsAsync(array $args = []) + * @method \Aws\Result getRequestValidator(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRequestValidatorAsync(array $args = []) + * @method \Aws\Result getRequestValidators(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRequestValidatorsAsync(array $args = []) + * @method \Aws\Result getResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceAsync(array $args = []) + * @method \Aws\Result getResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcesAsync(array $args = []) + * @method \Aws\Result getRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRestApiAsync(array $args = []) + * @method \Aws\Result getRestApis(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRestApisAsync(array $args = []) + * @method \Aws\Result getSdk(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSdkAsync(array $args = []) + * @method \Aws\Result getSdkType(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSdkTypeAsync(array $args = []) + * @method \Aws\Result getSdkTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSdkTypesAsync(array $args = []) + * @method \Aws\Result getStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStageAsync(array $args = []) + * @method \Aws\Result getStages(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStagesAsync(array $args = []) + * @method \Aws\Result getTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = []) + * @method \Aws\Result getUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUsageAsync(array $args = []) + * @method \Aws\Result getUsagePlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUsagePlanAsync(array $args = []) + * @method \Aws\Result getUsagePlanKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUsagePlanKeyAsync(array $args = []) + * @method \Aws\Result getUsagePlanKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUsagePlanKeysAsync(array $args = []) + * @method \Aws\Result getUsagePlans(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUsagePlansAsync(array $args = []) + * @method \Aws\Result getVpcLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVpcLinkAsync(array $args = []) + * @method \Aws\Result getVpcLinks(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVpcLinksAsync(array $args = []) + * @method \Aws\Result importApiKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise importApiKeysAsync(array $args = []) + * @method \Aws\Result importDocumentationParts(array $args = []) + * @method \GuzzleHttp\Promise\Promise importDocumentationPartsAsync(array $args = []) + * @method \Aws\Result importRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise importRestApiAsync(array $args = []) + * @method \Aws\Result putGatewayResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise putGatewayResponseAsync(array $args = []) + * @method \Aws\Result putIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putIntegrationAsync(array $args = []) + * @method \Aws\Result putIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise putIntegrationResponseAsync(array $args = []) + * @method \Aws\Result putMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMethodAsync(array $args = []) + * @method \Aws\Result putMethodResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMethodResponseAsync(array $args = []) + * @method \Aws\Result putRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRestApiAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result testInvokeAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise testInvokeAuthorizerAsync(array $args = []) + * @method \Aws\Result testInvokeMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise testInvokeMethodAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountAsync(array $args = []) + * @method \Aws\Result updateApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApiKeyAsync(array $args = []) + * @method \Aws\Result updateAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAuthorizerAsync(array $args = []) + * @method \Aws\Result updateBasePathMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBasePathMappingAsync(array $args = []) + * @method \Aws\Result updateClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClientCertificateAsync(array $args = []) + * @method \Aws\Result updateDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeploymentAsync(array $args = []) + * @method \Aws\Result updateDocumentationPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentationPartAsync(array $args = []) + * @method \Aws\Result updateDocumentationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentationVersionAsync(array $args = []) + * @method \Aws\Result updateDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = []) + * @method \Aws\Result updateGatewayResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGatewayResponseAsync(array $args = []) + * @method \Aws\Result updateIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIntegrationAsync(array $args = []) + * @method \Aws\Result updateIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIntegrationResponseAsync(array $args = []) + * @method \Aws\Result updateMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMethodAsync(array $args = []) + * @method \Aws\Result updateMethodResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMethodResponseAsync(array $args = []) + * @method \Aws\Result updateModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateModelAsync(array $args = []) + * @method \Aws\Result updateRequestValidator(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRequestValidatorAsync(array $args = []) + * @method \Aws\Result updateResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResourceAsync(array $args = []) + * @method \Aws\Result updateRestApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRestApiAsync(array $args = []) + * @method \Aws\Result updateStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStageAsync(array $args = []) + * @method \Aws\Result updateUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUsageAsync(array $args = []) + * @method \Aws\Result updateUsagePlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUsagePlanAsync(array $args = []) + * @method \Aws\Result updateVpcLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVpcLinkAsync(array $args = []) + */ +class ApiGatewayClient extends AwsClient +{ + public function __construct(array $args) + { + parent::__construct($args); + $stack = $this->getHandlerList(); + $stack->appendBuild([__CLASS__, '_add_accept_header']); + } + + public static function _add_accept_header(callable $handler) + { + return function ( + CommandInterface $command, + RequestInterface $request + ) use ($handler) { + $request = $request->withHeader('Accept', 'application/json'); + + return $handler($command, $request); + }; + } +} diff --git a/lib/aws/Aws/ApiGateway/Exception/ApiGatewayException.php b/lib/aws/Aws/ApiGateway/Exception/ApiGatewayException.php new file mode 100644 index 0000000..9842c00 --- /dev/null +++ b/lib/aws/Aws/ApiGateway/Exception/ApiGatewayException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ApiGateway\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS API Gateway** service. + */ +class ApiGatewayException extends AwsException {} diff --git a/lib/aws/Aws/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php b/lib/aws/Aws/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php new file mode 100644 index 0000000..a28a3a5 --- /dev/null +++ b/lib/aws/Aws/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\ApiGatewayManagementApi; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AmazonApiGatewayManagementApi** service. + * @method \Aws\Result postToConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise postToConnectionAsync(array $args = []) + */ +class ApiGatewayManagementApiClient extends AwsClient {} diff --git a/lib/aws/Aws/ApiGatewayManagementApi/Exception/ApiGatewayManagementApiException.php b/lib/aws/Aws/ApiGatewayManagementApi/Exception/ApiGatewayManagementApiException.php new file mode 100644 index 0000000..b7ffc3f --- /dev/null +++ b/lib/aws/Aws/ApiGatewayManagementApi/Exception/ApiGatewayManagementApiException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ApiGatewayManagementApi\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AmazonApiGatewayManagementApi** service. + */ +class ApiGatewayManagementApiException extends AwsException {} diff --git a/lib/aws/Aws/ApiGatewayV2/ApiGatewayV2Client.php b/lib/aws/Aws/ApiGatewayV2/ApiGatewayV2Client.php new file mode 100644 index 0000000..53de5a6 --- /dev/null +++ b/lib/aws/Aws/ApiGatewayV2/ApiGatewayV2Client.php @@ -0,0 +1,121 @@ +<?php +namespace Aws\ApiGatewayV2; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AmazonApiGatewayV2** service. + * @method \Aws\Result createApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApiAsync(array $args = []) + * @method \Aws\Result createApiMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApiMappingAsync(array $args = []) + * @method \Aws\Result createAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAuthorizerAsync(array $args = []) + * @method \Aws\Result createDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = []) + * @method \Aws\Result createDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = []) + * @method \Aws\Result createIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIntegrationAsync(array $args = []) + * @method \Aws\Result createIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIntegrationResponseAsync(array $args = []) + * @method \Aws\Result createModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = []) + * @method \Aws\Result createRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRouteAsync(array $args = []) + * @method \Aws\Result createRouteResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRouteResponseAsync(array $args = []) + * @method \Aws\Result createStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStageAsync(array $args = []) + * @method \Aws\Result deleteApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApiAsync(array $args = []) + * @method \Aws\Result deleteApiMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApiMappingAsync(array $args = []) + * @method \Aws\Result deleteAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAuthorizerAsync(array $args = []) + * @method \Aws\Result deleteDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeploymentAsync(array $args = []) + * @method \Aws\Result deleteDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = []) + * @method \Aws\Result deleteIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = []) + * @method \Aws\Result deleteIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntegrationResponseAsync(array $args = []) + * @method \Aws\Result deleteModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = []) + * @method \Aws\Result deleteRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRouteAsync(array $args = []) + * @method \Aws\Result deleteRouteResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRouteResponseAsync(array $args = []) + * @method \Aws\Result deleteStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStageAsync(array $args = []) + * @method \Aws\Result getApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApiAsync(array $args = []) + * @method \Aws\Result getApiMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApiMappingAsync(array $args = []) + * @method \Aws\Result getApiMappings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApiMappingsAsync(array $args = []) + * @method \Aws\Result getApis(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApisAsync(array $args = []) + * @method \Aws\Result getAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAuthorizerAsync(array $args = []) + * @method \Aws\Result getAuthorizers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAuthorizersAsync(array $args = []) + * @method \Aws\Result getDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = []) + * @method \Aws\Result getDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentsAsync(array $args = []) + * @method \Aws\Result getDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainNameAsync(array $args = []) + * @method \Aws\Result getDomainNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainNamesAsync(array $args = []) + * @method \Aws\Result getIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationAsync(array $args = []) + * @method \Aws\Result getIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationResponseAsync(array $args = []) + * @method \Aws\Result getIntegrationResponses(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationResponsesAsync(array $args = []) + * @method \Aws\Result getIntegrations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntegrationsAsync(array $args = []) + * @method \Aws\Result getModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelAsync(array $args = []) + * @method \Aws\Result getModelTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelTemplateAsync(array $args = []) + * @method \Aws\Result getModels(array $args = []) + * @method \GuzzleHttp\Promise\Promise getModelsAsync(array $args = []) + * @method \Aws\Result getRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRouteAsync(array $args = []) + * @method \Aws\Result getRouteResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRouteResponseAsync(array $args = []) + * @method \Aws\Result getRouteResponses(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRouteResponsesAsync(array $args = []) + * @method \Aws\Result getRoutes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRoutesAsync(array $args = []) + * @method \Aws\Result getStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStageAsync(array $args = []) + * @method \Aws\Result getStages(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStagesAsync(array $args = []) + * @method \Aws\Result updateApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApiAsync(array $args = []) + * @method \Aws\Result updateApiMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApiMappingAsync(array $args = []) + * @method \Aws\Result updateAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAuthorizerAsync(array $args = []) + * @method \Aws\Result updateDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeploymentAsync(array $args = []) + * @method \Aws\Result updateDomainName(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = []) + * @method \Aws\Result updateIntegration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIntegrationAsync(array $args = []) + * @method \Aws\Result updateIntegrationResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIntegrationResponseAsync(array $args = []) + * @method \Aws\Result updateModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateModelAsync(array $args = []) + * @method \Aws\Result updateRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRouteAsync(array $args = []) + * @method \Aws\Result updateRouteResponse(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRouteResponseAsync(array $args = []) + * @method \Aws\Result updateStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStageAsync(array $args = []) + */ +class ApiGatewayV2Client extends AwsClient {} diff --git a/lib/aws/Aws/ApiGatewayV2/Exception/ApiGatewayV2Exception.php b/lib/aws/Aws/ApiGatewayV2/Exception/ApiGatewayV2Exception.php new file mode 100644 index 0000000..b2243d9 --- /dev/null +++ b/lib/aws/Aws/ApiGatewayV2/Exception/ApiGatewayV2Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ApiGatewayV2\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AmazonApiGatewayV2** service. + */ +class ApiGatewayV2Exception extends AwsException {} diff --git a/lib/aws/Aws/AppMesh/AppMeshClient.php b/lib/aws/Aws/AppMesh/AppMeshClient.php new file mode 100644 index 0000000..cd8122d --- /dev/null +++ b/lib/aws/Aws/AppMesh/AppMeshClient.php @@ -0,0 +1,65 @@ +<?php +namespace Aws\AppMesh; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS App Mesh** service. + * @method \Aws\Result createMesh(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMeshAsync(array $args = []) + * @method \Aws\Result createRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRouteAsync(array $args = []) + * @method \Aws\Result createVirtualNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVirtualNodeAsync(array $args = []) + * @method \Aws\Result createVirtualRouter(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVirtualRouterAsync(array $args = []) + * @method \Aws\Result deleteMesh(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMeshAsync(array $args = []) + * @method \Aws\Result deleteRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRouteAsync(array $args = []) + * @method \Aws\Result deleteVirtualNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVirtualNodeAsync(array $args = []) + * @method \Aws\Result deleteVirtualRouter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVirtualRouterAsync(array $args = []) + * @method \Aws\Result describeMesh(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMeshAsync(array $args = []) + * @method \Aws\Result describeRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRouteAsync(array $args = []) + * @method \Aws\Result describeVirtualNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVirtualNodeAsync(array $args = []) + * @method \Aws\Result describeVirtualRouter(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVirtualRouterAsync(array $args = []) + * @method \Aws\Result listMeshes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMeshesAsync(array $args = []) + * @method \Aws\Result listRoutes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRoutesAsync(array $args = []) + * @method \Aws\Result listVirtualNodes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVirtualNodesAsync(array $args = []) + * @method \Aws\Result listVirtualRouters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVirtualRoutersAsync(array $args = []) + * @method \Aws\Result updateRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRouteAsync(array $args = []) + * @method \Aws\Result updateVirtualNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVirtualNodeAsync(array $args = []) + * @method \Aws\Result updateVirtualRouter(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVirtualRouterAsync(array $args = []) + * @method \Aws\Result createVirtualService(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise createVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result deleteVirtualService(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise deleteVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result describeVirtualService(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise describeVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result listTagsForResource(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result listVirtualServices(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise listVirtualServicesAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result tagResource(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result untagResource(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result updateMesh(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise updateMeshAsync(array $args = []) (supported in versions 2019-01-25) + * @method \Aws\Result updateVirtualService(array $args = []) (supported in versions 2019-01-25) + * @method \GuzzleHttp\Promise\Promise updateVirtualServiceAsync(array $args = []) (supported in versions 2019-01-25) + */ +class AppMeshClient extends AwsClient {} diff --git a/lib/aws/Aws/AppMesh/Exception/AppMeshException.php b/lib/aws/Aws/AppMesh/Exception/AppMeshException.php new file mode 100644 index 0000000..96c5795 --- /dev/null +++ b/lib/aws/Aws/AppMesh/Exception/AppMeshException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\AppMesh\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS App Mesh** service. + */ +class AppMeshException extends AwsException {} diff --git a/lib/aws/Aws/AppSync/AppSyncClient.php b/lib/aws/Aws/AppSync/AppSyncClient.php new file mode 100644 index 0000000..a5808c0 --- /dev/null +++ b/lib/aws/Aws/AppSync/AppSyncClient.php @@ -0,0 +1,75 @@ +<?php +namespace Aws\AppSync; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS AppSync** service. + * @method \Aws\Result createApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApiKeyAsync(array $args = []) + * @method \Aws\Result createDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDataSourceAsync(array $args = []) + * @method \Aws\Result createFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFunctionAsync(array $args = []) + * @method \Aws\Result createGraphqlApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGraphqlApiAsync(array $args = []) + * @method \Aws\Result createResolver(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResolverAsync(array $args = []) + * @method \Aws\Result createType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTypeAsync(array $args = []) + * @method \Aws\Result deleteApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApiKeyAsync(array $args = []) + * @method \Aws\Result deleteDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDataSourceAsync(array $args = []) + * @method \Aws\Result deleteFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFunctionAsync(array $args = []) + * @method \Aws\Result deleteGraphqlApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGraphqlApiAsync(array $args = []) + * @method \Aws\Result deleteResolver(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResolverAsync(array $args = []) + * @method \Aws\Result deleteType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTypeAsync(array $args = []) + * @method \Aws\Result getDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataSourceAsync(array $args = []) + * @method \Aws\Result getFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFunctionAsync(array $args = []) + * @method \Aws\Result getGraphqlApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGraphqlApiAsync(array $args = []) + * @method \Aws\Result getIntrospectionSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntrospectionSchemaAsync(array $args = []) + * @method \Aws\Result getResolver(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResolverAsync(array $args = []) + * @method \Aws\Result getSchemaCreationStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSchemaCreationStatusAsync(array $args = []) + * @method \Aws\Result getType(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTypeAsync(array $args = []) + * @method \Aws\Result listApiKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApiKeysAsync(array $args = []) + * @method \Aws\Result listDataSources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDataSourcesAsync(array $args = []) + * @method \Aws\Result listFunctions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFunctionsAsync(array $args = []) + * @method \Aws\Result listGraphqlApis(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGraphqlApisAsync(array $args = []) + * @method \Aws\Result listResolvers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolversAsync(array $args = []) + * @method \Aws\Result listResolversByFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolversByFunctionAsync(array $args = []) + * @method \Aws\Result listTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTypesAsync(array $args = []) + * @method \Aws\Result startSchemaCreation(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSchemaCreationAsync(array $args = []) + * @method \Aws\Result updateApiKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApiKeyAsync(array $args = []) + * @method \Aws\Result updateDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDataSourceAsync(array $args = []) + * @method \Aws\Result updateFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFunctionAsync(array $args = []) + * @method \Aws\Result updateGraphqlApi(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGraphqlApiAsync(array $args = []) + * @method \Aws\Result updateResolver(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResolverAsync(array $args = []) + * @method \Aws\Result updateType(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTypeAsync(array $args = []) + */ +class AppSyncClient extends AwsClient {} diff --git a/lib/aws/Aws/AppSync/Exception/AppSyncException.php b/lib/aws/Aws/AppSync/Exception/AppSyncException.php new file mode 100644 index 0000000..1447421 --- /dev/null +++ b/lib/aws/Aws/AppSync/Exception/AppSyncException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\AppSync\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS AppSync** service. + */ +class AppSyncException extends AwsException {} diff --git a/lib/aws/Aws/ApplicationAutoScaling/ApplicationAutoScalingClient.php b/lib/aws/Aws/ApplicationAutoScaling/ApplicationAutoScalingClient.php new file mode 100644 index 0000000..446f767 --- /dev/null +++ b/lib/aws/Aws/ApplicationAutoScaling/ApplicationAutoScalingClient.php @@ -0,0 +1,29 @@ +<?php +namespace Aws\ApplicationAutoScaling; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Application Auto Scaling** service. + * @method \Aws\Result deleteScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScalingPolicyAsync(array $args = []) + * @method \Aws\Result deleteScheduledAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScheduledActionAsync(array $args = []) + * @method \Aws\Result deregisterScalableTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterScalableTargetAsync(array $args = []) + * @method \Aws\Result describeScalableTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalableTargetsAsync(array $args = []) + * @method \Aws\Result describeScalingActivities(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingActivitiesAsync(array $args = []) + * @method \Aws\Result describeScalingPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingPoliciesAsync(array $args = []) + * @method \Aws\Result describeScheduledActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduledActionsAsync(array $args = []) + * @method \Aws\Result putScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = []) + * @method \Aws\Result putScheduledAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise putScheduledActionAsync(array $args = []) + * @method \Aws\Result registerScalableTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerScalableTargetAsync(array $args = []) + */ +class ApplicationAutoScalingClient extends AwsClient {} diff --git a/lib/aws/Aws/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php b/lib/aws/Aws/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php new file mode 100644 index 0000000..39b61b0 --- /dev/null +++ b/lib/aws/Aws/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ApplicationAutoScaling\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Application Auto Scaling** service. + */ +class ApplicationAutoScalingException extends AwsException {} diff --git a/lib/aws/Aws/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php b/lib/aws/Aws/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php new file mode 100644 index 0000000..c031862 --- /dev/null +++ b/lib/aws/Aws/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php @@ -0,0 +1,59 @@ +<?php +namespace Aws\ApplicationDiscoveryService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Application Discovery Service** service. + * @method \Aws\Result associateConfigurationItemsToApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateConfigurationItemsToApplicationAsync(array $args = []) + * @method \Aws\Result batchDeleteImportData(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteImportDataAsync(array $args = []) + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result deleteApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationsAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeAgents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAgentsAsync(array $args = []) + * @method \Aws\Result describeConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationsAsync(array $args = []) + * @method \Aws\Result describeContinuousExports(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeContinuousExportsAsync(array $args = []) + * @method \Aws\Result describeExportConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExportConfigurationsAsync(array $args = []) + * @method \Aws\Result describeExportTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = []) + * @method \Aws\Result describeImportTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImportTasksAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result disassociateConfigurationItemsFromApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateConfigurationItemsFromApplicationAsync(array $args = []) + * @method \Aws\Result exportConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportConfigurationsAsync(array $args = []) + * @method \Aws\Result getDiscoverySummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDiscoverySummaryAsync(array $args = []) + * @method \Aws\Result listConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationsAsync(array $args = []) + * @method \Aws\Result listServerNeighbors(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServerNeighborsAsync(array $args = []) + * @method \Aws\Result startContinuousExport(array $args = []) + * @method \GuzzleHttp\Promise\Promise startContinuousExportAsync(array $args = []) + * @method \Aws\Result startDataCollectionByAgentIds(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDataCollectionByAgentIdsAsync(array $args = []) + * @method \Aws\Result startExportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startExportTaskAsync(array $args = []) + * @method \Aws\Result startImportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startImportTaskAsync(array $args = []) + * @method \Aws\Result stopContinuousExport(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopContinuousExportAsync(array $args = []) + * @method \Aws\Result stopDataCollectionByAgentIds(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopDataCollectionByAgentIdsAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + */ +class ApplicationDiscoveryServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php b/lib/aws/Aws/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php new file mode 100644 index 0000000..975e5eb --- /dev/null +++ b/lib/aws/Aws/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ApplicationDiscoveryService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Application Discovery Service** service. + */ +class ApplicationDiscoveryServiceException extends AwsException {} diff --git a/lib/aws/Aws/Appstream/AppstreamClient.php b/lib/aws/Aws/Appstream/AppstreamClient.php new file mode 100644 index 0000000..4ec4c08 --- /dev/null +++ b/lib/aws/Aws/Appstream/AppstreamClient.php @@ -0,0 +1,97 @@ +<?php +namespace Aws\Appstream; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon AppStream** service. + * @method \Aws\Result associateFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateFleetAsync(array $args = []) + * @method \Aws\Result batchAssociateUserStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchAssociateUserStackAsync(array $args = []) + * @method \Aws\Result batchDisassociateUserStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDisassociateUserStackAsync(array $args = []) + * @method \Aws\Result copyImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyImageAsync(array $args = []) + * @method \Aws\Result createDirectoryConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectoryConfigAsync(array $args = []) + * @method \Aws\Result createFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) + * @method \Aws\Result createImageBuilder(array $args = []) + * @method \GuzzleHttp\Promise\Promise createImageBuilderAsync(array $args = []) + * @method \Aws\Result createImageBuilderStreamingURL(array $args = []) + * @method \GuzzleHttp\Promise\Promise createImageBuilderStreamingURLAsync(array $args = []) + * @method \Aws\Result createStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = []) + * @method \Aws\Result createStreamingURL(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamingURLAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteDirectoryConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectoryConfigAsync(array $args = []) + * @method \Aws\Result deleteFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = []) + * @method \Aws\Result deleteImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteImageAsync(array $args = []) + * @method \Aws\Result deleteImageBuilder(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteImageBuilderAsync(array $args = []) + * @method \Aws\Result deleteImagePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteImagePermissionsAsync(array $args = []) + * @method \Aws\Result deleteStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result describeDirectoryConfigs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectoryConfigsAsync(array $args = []) + * @method \Aws\Result describeFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetsAsync(array $args = []) + * @method \Aws\Result describeImageBuilders(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImageBuildersAsync(array $args = []) + * @method \Aws\Result describeImagePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImagePermissionsAsync(array $args = []) + * @method \Aws\Result describeImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImagesAsync(array $args = []) + * @method \Aws\Result describeSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSessionsAsync(array $args = []) + * @method \Aws\Result describeStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = []) + * @method \Aws\Result describeUserStackAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserStackAssociationsAsync(array $args = []) + * @method \Aws\Result describeUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUsersAsync(array $args = []) + * @method \Aws\Result disableUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableUserAsync(array $args = []) + * @method \Aws\Result disassociateFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateFleetAsync(array $args = []) + * @method \Aws\Result enableUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableUserAsync(array $args = []) + * @method \Aws\Result expireSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise expireSessionAsync(array $args = []) + * @method \Aws\Result listAssociatedFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssociatedFleetsAsync(array $args = []) + * @method \Aws\Result listAssociatedStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssociatedStacksAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result startFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise startFleetAsync(array $args = []) + * @method \Aws\Result startImageBuilder(array $args = []) + * @method \GuzzleHttp\Promise\Promise startImageBuilderAsync(array $args = []) + * @method \Aws\Result stopFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopFleetAsync(array $args = []) + * @method \Aws\Result stopImageBuilder(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopImageBuilderAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateDirectoryConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDirectoryConfigAsync(array $args = []) + * @method \Aws\Result updateFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFleetAsync(array $args = []) + * @method \Aws\Result updateImagePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateImagePermissionsAsync(array $args = []) + * @method \Aws\Result updateStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = []) + */ +class AppstreamClient extends AwsClient {} diff --git a/lib/aws/Aws/Appstream/Exception/AppstreamException.php b/lib/aws/Aws/Appstream/Exception/AppstreamException.php new file mode 100644 index 0000000..669a86d --- /dev/null +++ b/lib/aws/Aws/Appstream/Exception/AppstreamException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Appstream\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon AppStream** service. + */ +class AppstreamException extends AwsException {} diff --git a/lib/aws/Aws/Athena/AthenaClient.php b/lib/aws/Aws/Athena/AthenaClient.php new file mode 100644 index 0000000..4c1ec1b --- /dev/null +++ b/lib/aws/Aws/Athena/AthenaClient.php @@ -0,0 +1,47 @@ +<?php +namespace Aws\Athena; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Athena** service. + * @method \Aws\Result batchGetNamedQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetNamedQueryAsync(array $args = []) + * @method \Aws\Result batchGetQueryExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetQueryExecutionAsync(array $args = []) + * @method \Aws\Result createNamedQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNamedQueryAsync(array $args = []) + * @method \Aws\Result createWorkGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWorkGroupAsync(array $args = []) + * @method \Aws\Result deleteNamedQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNamedQueryAsync(array $args = []) + * @method \Aws\Result deleteWorkGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWorkGroupAsync(array $args = []) + * @method \Aws\Result getNamedQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise getNamedQueryAsync(array $args = []) + * @method \Aws\Result getQueryExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueryExecutionAsync(array $args = []) + * @method \Aws\Result getQueryResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueryResultsAsync(array $args = []) + * @method \Aws\Result getWorkGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getWorkGroupAsync(array $args = []) + * @method \Aws\Result listNamedQueries(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNamedQueriesAsync(array $args = []) + * @method \Aws\Result listQueryExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQueryExecutionsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listWorkGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWorkGroupsAsync(array $args = []) + * @method \Aws\Result startQueryExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startQueryExecutionAsync(array $args = []) + * @method \Aws\Result stopQueryExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopQueryExecutionAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateWorkGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateWorkGroupAsync(array $args = []) + */ +class AthenaClient extends AwsClient {} diff --git a/lib/aws/Aws/Athena/Exception/AthenaException.php b/lib/aws/Aws/Athena/Exception/AthenaException.php new file mode 100644 index 0000000..e5ffcef --- /dev/null +++ b/lib/aws/Aws/Athena/Exception/AthenaException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Athena\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Athena** service. + */ +class AthenaException extends AwsException {} diff --git a/lib/aws/Aws/AutoScaling/AutoScalingClient.php b/lib/aws/Aws/AutoScaling/AutoScalingClient.php new file mode 100644 index 0000000..f2ba0b5 --- /dev/null +++ b/lib/aws/Aws/AutoScaling/AutoScalingClient.php @@ -0,0 +1,118 @@ +<?php +namespace Aws\AutoScaling; + +use Aws\AwsClient; + +/** + * Auto Scaling client. + * + * @method \Aws\Result attachInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachInstancesAsync(array $args = []) + * @method \Aws\Result attachLoadBalancerTargetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachLoadBalancerTargetGroupsAsync(array $args = []) + * @method \Aws\Result attachLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachLoadBalancersAsync(array $args = []) + * @method \Aws\Result batchDeleteScheduledAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteScheduledActionAsync(array $args = []) + * @method \Aws\Result batchPutScheduledUpdateGroupAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchPutScheduledUpdateGroupActionAsync(array $args = []) + * @method \Aws\Result completeLifecycleAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeLifecycleActionAsync(array $args = []) + * @method \Aws\Result createAutoScalingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAutoScalingGroupAsync(array $args = []) + * @method \Aws\Result createLaunchConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLaunchConfigurationAsync(array $args = []) + * @method \Aws\Result createOrUpdateTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOrUpdateTagsAsync(array $args = []) + * @method \Aws\Result deleteAutoScalingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAutoScalingGroupAsync(array $args = []) + * @method \Aws\Result deleteLaunchConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLaunchConfigurationAsync(array $args = []) + * @method \Aws\Result deleteLifecycleHook(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLifecycleHookAsync(array $args = []) + * @method \Aws\Result deleteNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result deletePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = []) + * @method \Aws\Result deleteScheduledAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScheduledActionAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeAccountLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = []) + * @method \Aws\Result describeAdjustmentTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAdjustmentTypesAsync(array $args = []) + * @method \Aws\Result describeAutoScalingGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAutoScalingGroupsAsync(array $args = []) + * @method \Aws\Result describeAutoScalingInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAutoScalingInstancesAsync(array $args = []) + * @method \Aws\Result describeAutoScalingNotificationTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAutoScalingNotificationTypesAsync(array $args = []) + * @method \Aws\Result describeLaunchConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLaunchConfigurationsAsync(array $args = []) + * @method \Aws\Result describeLifecycleHookTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLifecycleHookTypesAsync(array $args = []) + * @method \Aws\Result describeLifecycleHooks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLifecycleHooksAsync(array $args = []) + * @method \Aws\Result describeLoadBalancerTargetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancerTargetGroupsAsync(array $args = []) + * @method \Aws\Result describeLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancersAsync(array $args = []) + * @method \Aws\Result describeMetricCollectionTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMetricCollectionTypesAsync(array $args = []) + * @method \Aws\Result describeNotificationConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNotificationConfigurationsAsync(array $args = []) + * @method \Aws\Result describePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePoliciesAsync(array $args = []) + * @method \Aws\Result describeScalingActivities(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingActivitiesAsync(array $args = []) + * @method \Aws\Result describeScalingProcessTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingProcessTypesAsync(array $args = []) + * @method \Aws\Result describeScheduledActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduledActionsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result describeTerminationPolicyTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTerminationPolicyTypesAsync(array $args = []) + * @method \Aws\Result detachInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachInstancesAsync(array $args = []) + * @method \Aws\Result detachLoadBalancerTargetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachLoadBalancerTargetGroupsAsync(array $args = []) + * @method \Aws\Result detachLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachLoadBalancersAsync(array $args = []) + * @method \Aws\Result disableMetricsCollection(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableMetricsCollectionAsync(array $args = []) + * @method \Aws\Result enableMetricsCollection(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableMetricsCollectionAsync(array $args = []) + * @method \Aws\Result enterStandby(array $args = []) + * @method \GuzzleHttp\Promise\Promise enterStandbyAsync(array $args = []) + * @method \Aws\Result executePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise executePolicyAsync(array $args = []) + * @method \Aws\Result exitStandby(array $args = []) + * @method \GuzzleHttp\Promise\Promise exitStandbyAsync(array $args = []) + * @method \Aws\Result putLifecycleHook(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLifecycleHookAsync(array $args = []) + * @method \Aws\Result putNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result putScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = []) + * @method \Aws\Result putScheduledUpdateGroupAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise putScheduledUpdateGroupActionAsync(array $args = []) + * @method \Aws\Result recordLifecycleActionHeartbeat(array $args = []) + * @method \GuzzleHttp\Promise\Promise recordLifecycleActionHeartbeatAsync(array $args = []) + * @method \Aws\Result resumeProcesses(array $args = []) + * @method \GuzzleHttp\Promise\Promise resumeProcessesAsync(array $args = []) + * @method \Aws\Result setDesiredCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise setDesiredCapacityAsync(array $args = []) + * @method \Aws\Result setInstanceHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise setInstanceHealthAsync(array $args = []) + * @method \Aws\Result setInstanceProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise setInstanceProtectionAsync(array $args = []) + * @method \Aws\Result suspendProcesses(array $args = []) + * @method \GuzzleHttp\Promise\Promise suspendProcessesAsync(array $args = []) + * @method \Aws\Result terminateInstanceInAutoScalingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateInstanceInAutoScalingGroupAsync(array $args = []) + * @method \Aws\Result updateAutoScalingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAutoScalingGroupAsync(array $args = []) + */ +class AutoScalingClient extends AwsClient {} diff --git a/lib/aws/Aws/AutoScaling/Exception/AutoScalingException.php b/lib/aws/Aws/AutoScaling/Exception/AutoScalingException.php new file mode 100644 index 0000000..0fa4bfc --- /dev/null +++ b/lib/aws/Aws/AutoScaling/Exception/AutoScalingException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\AutoScaling\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error while interacting with the Auto Scaling service. + */ +class AutoScalingException extends AwsException {} diff --git a/lib/aws/Aws/AutoScalingPlans/AutoScalingPlansClient.php b/lib/aws/Aws/AutoScalingPlans/AutoScalingPlansClient.php new file mode 100644 index 0000000..8431cd3 --- /dev/null +++ b/lib/aws/Aws/AutoScalingPlans/AutoScalingPlansClient.php @@ -0,0 +1,21 @@ +<?php +namespace Aws\AutoScalingPlans; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Auto Scaling Plans** service. + * @method \Aws\Result createScalingPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise createScalingPlanAsync(array $args = []) + * @method \Aws\Result deleteScalingPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScalingPlanAsync(array $args = []) + * @method \Aws\Result describeScalingPlanResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingPlanResourcesAsync(array $args = []) + * @method \Aws\Result describeScalingPlans(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingPlansAsync(array $args = []) + * @method \Aws\Result getScalingPlanResourceForecastData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getScalingPlanResourceForecastDataAsync(array $args = []) + * @method \Aws\Result updateScalingPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateScalingPlanAsync(array $args = []) + */ +class AutoScalingPlansClient extends AwsClient {} diff --git a/lib/aws/Aws/AutoScalingPlans/Exception/AutoScalingPlansException.php b/lib/aws/Aws/AutoScalingPlans/Exception/AutoScalingPlansException.php new file mode 100644 index 0000000..831e505 --- /dev/null +++ b/lib/aws/Aws/AutoScalingPlans/Exception/AutoScalingPlansException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\AutoScalingPlans\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Auto Scaling Plans** service. + */ +class AutoScalingPlansException extends AwsException {} diff --git a/lib/aws/Aws/AwsClient.php b/lib/aws/Aws/AwsClient.php new file mode 100644 index 0000000..206b036 --- /dev/null +++ b/lib/aws/Aws/AwsClient.php @@ -0,0 +1,402 @@ +<?php +namespace Aws; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\ClientSideMonitoring\ApiCallAttemptMonitoringMiddleware; +use Aws\ClientSideMonitoring\ApiCallMonitoringMiddleware; +use Aws\ClientSideMonitoring\ConfigurationProvider; +use Aws\EndpointDiscovery\EndpointDiscoveryMiddleware; +use Aws\Signature\SignatureProvider; +use GuzzleHttp\Psr7\Uri; + +/** + * Default AWS client implementation + */ +class AwsClient implements AwsClientInterface +{ + use AwsClientTrait; + + /** @var array */ + private $config; + + /** @var string */ + private $region; + + /** @var string */ + private $endpoint; + + /** @var Service */ + private $api; + + /** @var callable */ + private $signatureProvider; + + /** @var callable */ + private $credentialProvider; + + /** @var HandlerList */ + private $handlerList; + + /** @var array*/ + private $defaultRequestOptions; + + /** + * Get an array of client constructor arguments used by the client. + * + * @return array + */ + public static function getArguments() + { + return ClientResolver::getDefaultArguments(); + } + + /** + * The client constructor accepts the following options: + * + * - api_provider: (callable) An optional PHP callable that accepts a + * type, service, and version argument, and returns an array of + * corresponding configuration data. The type value can be one of api, + * waiter, or paginator. + * - credentials: + * (Aws\Credentials\CredentialsInterface|array|bool|callable) Specifies + * the credentials used to sign requests. Provide an + * Aws\Credentials\CredentialsInterface object, an associative array of + * "key", "secret", and an optional "token" key, `false` to use null + * credentials, or a callable credentials provider used to create + * credentials or return null. See Aws\Credentials\CredentialProvider for + * a list of built-in credentials providers. If no credentials are + * provided, the SDK will attempt to load them from the environment. + * - debug: (bool|array) Set to true to display debug information when + * sending requests. Alternatively, you can provide an associative array + * with the following keys: logfn: (callable) Function that is invoked + * with log messages; stream_size: (int) When the size of a stream is + * greater than this number, the stream data will not be logged (set to + * "0" to not log any stream data); scrub_auth: (bool) Set to false to + * disable the scrubbing of auth data from the logged messages; http: + * (bool) Set to false to disable the "debug" feature of lower level HTTP + * adapters (e.g., verbose curl output). + * - stats: (bool|array) Set to true to gather transfer statistics on + * requests sent. Alternatively, you can provide an associative array with + * the following keys: retries: (bool) Set to false to disable reporting + * on retries attempted; http: (bool) Set to true to enable collecting + * statistics from lower level HTTP adapters (e.g., values returned in + * GuzzleHttp\TransferStats). HTTP handlers must support an + * `http_stats_receiver` option for this to have an effect; timer: (bool) + * Set to true to enable a command timer that reports the total wall clock + * time spent on an operation in seconds. + * - disable_host_prefix_injection: (bool) Set to true to disable host prefix + * injection logic for services that use it. This disables the entire + * prefix injection, including the portions supplied by user-defined + * parameters. Setting this flag will have no effect on services that do + * not use host prefix injection. + * - endpoint: (string) The full URI of the webservice. This is only + * required when connecting to a custom endpoint (e.g., a local version + * of S3). + * - endpoint_discovery: (Aws\EndpointDiscovery\ConfigurationInterface, + * Aws\CacheInterface, array, callable) Settings for endpoint discovery. + * Provide an instance of Aws\EndpointDiscovery\ConfigurationInterface, + * an instance Aws\CacheInterface, a callable that provides a promise for + * a Configuration object, or an associative array with the following + * keys: enabled: (bool) Set to true to enable endpoint discovery, + * defaults to false; cache_limit: (int) The maximum number of keys in the + * endpoints cache, defaults to 1000. + * - endpoint_provider: (callable) An optional PHP callable that + * accepts a hash of options including a "service" and "region" key and + * returns NULL or a hash of endpoint data, of which the "endpoint" key + * is required. See Aws\Endpoint\EndpointProvider for a list of built-in + * providers. + * - handler: (callable) A handler that accepts a command object, + * request object and returns a promise that is fulfilled with an + * Aws\ResultInterface object or rejected with an + * Aws\Exception\AwsException. A handler does not accept a next handler + * as it is terminal and expected to fulfill a command. If no handler is + * provided, a default Guzzle handler will be utilized. + * - http: (array, default=array(0)) Set to an array of SDK request + * options to apply to each request (e.g., proxy, verify, etc.). + * - http_handler: (callable) An HTTP handler is a function that + * accepts a PSR-7 request object and returns a promise that is fulfilled + * with a PSR-7 response object or rejected with an array of exception + * data. NOTE: This option supersedes any provided "handler" option. + * - idempotency_auto_fill: (bool|callable) Set to false to disable SDK to + * populate parameters that enabled 'idempotencyToken' trait with a random + * UUID v4 value on your behalf. Using default value 'true' still allows + * parameter value to be overwritten when provided. Note: auto-fill only + * works when cryptographically secure random bytes generator functions + * (random_bytes, openssl_random_pseudo_bytes or mcrypt_create_iv) can be + * found. You may also provide a callable source of random bytes. + * - profile: (string) Allows you to specify which profile to use when + * credentials are created from the AWS credentials file in your HOME + * directory. This setting overrides the AWS_PROFILE environment + * variable. Note: Specifying "profile" will cause the "credentials" key + * to be ignored. + * - region: (string, required) Region to connect to. See + * http://docs.aws.amazon.com/general/latest/gr/rande.html for a list of + * available regions. + * - retries: (int, default=int(3)) Configures the maximum number of + * allowed retries for a client (pass 0 to disable retries). + * - scheme: (string, default=string(5) "https") URI scheme to use when + * connecting connect. The SDK will utilize "https" endpoints (i.e., + * utilize SSL/TLS connections) by default. You can attempt to connect to + * a service over an unencrypted "http" endpoint by setting ``scheme`` to + * "http". + * - signature_provider: (callable) A callable that accepts a signature + * version name (e.g., "v4"), a service name, and region, and + * returns a SignatureInterface object or null. This provider is used to + * create signers utilized by the client. See + * Aws\Signature\SignatureProvider for a list of built-in providers + * - signature_version: (string) A string representing a custom + * signature version to use with a service (e.g., v4). Note that + * per/operation signature version MAY override this requested signature + * version. + * - validate: (bool, default=bool(true)) Set to false to disable + * client-side parameter validation. + * - version: (string, required) The version of the webservice to + * utilize (e.g., 2006-03-01). + * + * @param array $args Client configuration arguments. + * + * @throws \InvalidArgumentException if any required options are missing or + * the service is not supported. + */ + public function __construct(array $args) + { + list($service, $exceptionClass) = $this->parseClass(); + if (!isset($args['service'])) { + $args['service'] = manifest($service)['endpoint']; + } + if (!isset($args['exception_class'])) { + $args['exception_class'] = $exceptionClass; + } + $this->handlerList = new HandlerList(); + $resolver = new ClientResolver(static::getArguments()); + $config = $resolver->resolve($args, $this->handlerList); + $this->api = $config['api']; + $this->signatureProvider = $config['signature_provider']; + $this->endpoint = new Uri($config['endpoint']); + $this->credentialProvider = $config['credentials']; + $this->region = isset($config['region']) ? $config['region'] : null; + $this->config = $config['config']; + $this->defaultRequestOptions = $config['http']; + $this->addSignatureMiddleware(); + $this->addInvocationId(); + $this->addClientSideMonitoring($args); + $this->addEndpointParameterMiddleware($args); + $this->addEndpointDiscoveryMiddleware($config, $args); + + if (isset($args['with_resolved'])) { + $args['with_resolved']($config); + } + } + + public function getHandlerList() + { + return $this->handlerList; + } + + public function getConfig($option = null) + { + return $option === null + ? $this->config + : (isset($this->config[$option]) + ? $this->config[$option] + : null); + } + + public function getCredentials() + { + $fn = $this->credentialProvider; + return $fn(); + } + + public function getEndpoint() + { + return $this->endpoint; + } + + public function getRegion() + { + return $this->region; + } + + public function getApi() + { + return $this->api; + } + + public function getCommand($name, array $args = []) + { + // Fail fast if the command cannot be found in the description. + if (!isset($this->getApi()['operations'][$name])) { + $name = ucfirst($name); + if (!isset($this->getApi()['operations'][$name])) { + throw new \InvalidArgumentException("Operation not found: $name"); + } + } + + if (!isset($args['@http'])) { + $args['@http'] = $this->defaultRequestOptions; + } else { + $args['@http'] += $this->defaultRequestOptions; + } + + return new Command($name, $args, clone $this->getHandlerList()); + } + + public function __sleep() + { + throw new \RuntimeException('Instances of ' . static::class + . ' cannot be serialized'); + } + + /** + * Get the signature_provider function of the client. + * + * @return callable + */ + final protected function getSignatureProvider() + { + return $this->signatureProvider; + } + + /** + * Parse the class name and setup the custom exception class of the client + * and return the "service" name of the client and "exception_class". + * + * @return array + */ + private function parseClass() + { + $klass = get_class($this); + + if ($klass === __CLASS__) { + return ['', 'Aws\Exception\AwsException']; + } + + $service = substr($klass, strrpos($klass, '\\') + 1, -6); + + return [ + strtolower($service), + "Aws\\{$service}\\Exception\\{$service}Exception" + ]; + } + + private function addEndpointParameterMiddleware($args) + { + if (empty($args['disable_host_prefix_injection'])) { + $list = $this->getHandlerList(); + $list->appendBuild( + EndpointParameterMiddleware::wrap( + $this->api + ), + 'endpoint_parameter' + ); + } + } + + private function addEndpointDiscoveryMiddleware($config, $args) + { + $list = $this->getHandlerList(); + + if (!isset($args['endpoint'])) { + $list->appendBuild( + EndpointDiscoveryMiddleware::wrap( + $this, + $args, + $config['endpoint_discovery'] + ), + 'EndpointDiscoveryMiddleware' + ); + } + } + + private function addSignatureMiddleware() + { + $api = $this->getApi(); + $provider = $this->signatureProvider; + $version = $this->config['signature_version']; + $name = $this->config['signing_name']; + $region = $this->config['signing_region']; + + $resolver = static function ( + CommandInterface $c + ) use ($api, $provider, $name, $region, $version) { + $authType = $api->getOperation($c->getName())['authtype']; + switch ($authType){ + case 'none': + $version = 'anonymous'; + break; + case 'v4-unsigned-body': + $version = 'v4-unsigned-body'; + break; + } + return SignatureProvider::resolve($provider, $version, $name, $region); + }; + $this->handlerList->appendSign( + Middleware::signer($this->credentialProvider, $resolver), + 'signer' + ); + } + + private function addInvocationId() + { + // Add invocation id to each request + $this->handlerList->prependSign(Middleware::invocationId(), 'invocation-id'); + } + + private function addClientSideMonitoring($args) + { + $options = ConfigurationProvider::defaultProvider($args); + + $this->handlerList->appendBuild( + ApiCallMonitoringMiddleware::wrap( + $this->credentialProvider, + $options, + $this->region, + $this->getApi()->getServiceId() + ), + 'ApiCallMonitoringMiddleware' + ); + + $callAttemptMiddleware = ApiCallAttemptMonitoringMiddleware::wrap( + $this->credentialProvider, + $options, + $this->region, + $this->getApi()->getServiceId() + ); + $this->handlerList->appendAttempt ( + $callAttemptMiddleware, + 'ApiCallAttemptMonitoringMiddleware' + ); + } + + /** + * Returns a service model and doc model with any necessary changes + * applied. + * + * @param array $api Array of service data being documented. + * @param array $docs Array of doc model data. + * + * @return array Tuple containing a [Service, DocModel] + * + * @internal This should only used to document the service API. + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } + + /** + * @deprecated + * @return static + */ + public static function factory(array $config = []) + { + return new static($config); + } +} diff --git a/lib/aws/Aws/AwsClientInterface.php b/lib/aws/Aws/AwsClientInterface.php new file mode 100644 index 0000000..12a5701 --- /dev/null +++ b/lib/aws/Aws/AwsClientInterface.php @@ -0,0 +1,169 @@ +<?php +namespace Aws; + +use Psr\Http\Message\UriInterface; +use GuzzleHttp\Promise\PromiseInterface; + +/** + * Represents an AWS client. + */ +interface AwsClientInterface +{ + /** + * Creates and executes a command for an operation by name. + * + * Suffixing an operation name with "Async" will return a + * promise that can be used to execute commands asynchronously. + * + * @param string $name Name of the command to execute. + * @param array $arguments Arguments to pass to the getCommand method. + * + * @return ResultInterface + * @throws \Exception + */ + public function __call($name, array $arguments); + + /** + * Create a command for an operation name. + * + * Special keys may be set on the command to control how it behaves, + * including: + * + * - @http: Associative array of transfer specific options to apply to the + * request that is serialized for this command. Available keys include + * "proxy", "verify", "timeout", "connect_timeout", "debug", "delay", and + * "headers". + * + * @param string $name Name of the operation to use in the command + * @param array $args Arguments to pass to the command + * + * @return CommandInterface + * @throws \InvalidArgumentException if no command can be found by name + */ + public function getCommand($name, array $args = []); + + /** + * Execute a single command. + * + * @param CommandInterface $command Command to execute + * + * @return ResultInterface + * @throws \Exception + */ + public function execute(CommandInterface $command); + + /** + * Execute a command asynchronously. + * + * @param CommandInterface $command Command to execute + * + * @return \GuzzleHttp\Promise\PromiseInterface + */ + public function executeAsync(CommandInterface $command); + + /** + * Returns a promise that is fulfilled with an + * {@see \Aws\Credentials\CredentialsInterface} object. + * + * If you need the credentials synchronously, then call the wait() method + * on the returned promise. + * + * @return PromiseInterface + */ + public function getCredentials(); + + /** + * Get the region to which the client is configured to send requests. + * + * @return string + */ + public function getRegion(); + + /** + * Gets the default endpoint, or base URL, used by the client. + * + * @return UriInterface + */ + public function getEndpoint(); + + /** + * Get the service description associated with the client. + * + * @return \Aws\Api\Service + */ + public function getApi(); + + /** + * Get a client configuration value. + * + * @param string|null $option The option to retrieve. Pass null to retrieve + * all options. + * @return mixed|null + */ + public function getConfig($option = null); + + /** + * Get the handler list used to transfer commands. + * + * This list can be modified to add middleware or to change the underlying + * handler used to send HTTP requests. + * + * @return HandlerList + */ + public function getHandlerList(); + + /** + * Get a resource iterator for the specified operation. + * + * @param string $name Name of the iterator to retrieve. + * @param array $args Command arguments to use with each command. + * + * @return \Iterator + * @throws \UnexpectedValueException if the iterator config is invalid. + */ + public function getIterator($name, array $args = []); + + /** + * Get a result paginator for the specified operation. + * + * @param string $name Name of the operation used for iterator + * @param array $args Command args to be used with each command + * + * @return \Aws\ResultPaginator + * @throws \UnexpectedValueException if the iterator config is invalid. + */ + public function getPaginator($name, array $args = []); + + /** + * Wait until a resource is in a particular state. + * + * @param string|callable $name Name of the waiter that defines the wait + * configuration and conditions. + * @param array $args Args to be used with each command executed + * by the waiter. Waiter configuration options + * can be provided in an associative array in + * the @waiter key. + * @return void + * @throws \UnexpectedValueException if the waiter is invalid. + */ + public function waitUntil($name, array $args = []); + + /** + * Get a waiter that waits until a resource is in a particular state. + * + * Retrieving a waiter can be useful when you wish to wait asynchronously: + * + * $waiter = $client->getWaiter('foo', ['bar' => 'baz']); + * $waiter->promise()->then(function () { echo 'Done!'; }); + * + * @param string|callable $name Name of the waiter that defines the wait + * configuration and conditions. + * @param array $args Args to be used with each command executed + * by the waiter. Waiter configuration options + * can be provided in an associative array in + * the @waiter key. + * @return \Aws\Waiter + * @throws \UnexpectedValueException if the waiter is invalid. + */ + public function getWaiter($name, array $args = []); +} diff --git a/lib/aws/Aws/AwsClientTrait.php b/lib/aws/Aws/AwsClientTrait.php new file mode 100644 index 0000000..c2174d1 --- /dev/null +++ b/lib/aws/Aws/AwsClientTrait.php @@ -0,0 +1,92 @@ +<?php +namespace Aws; + +use Aws\Api\Service; + +/** + * A trait providing generic functionality for interacting with Amazon Web + * Services. This is meant to be used in classes implementing + * \Aws\AwsClientInterface + */ +trait AwsClientTrait +{ + public function getPaginator($name, array $args = []) + { + $config = $this->getApi()->getPaginatorConfig($name); + + return new ResultPaginator($this, $name, $args, $config); + } + + public function getIterator($name, array $args = []) + { + $config = $this->getApi()->getPaginatorConfig($name); + if (!$config['result_key']) { + throw new \UnexpectedValueException(sprintf( + 'There are no resources to iterate for the %s operation of %s', + $name, $this->getApi()['serviceFullName'] + )); + } + + $key = is_array($config['result_key']) + ? $config['result_key'][0] + : $config['result_key']; + + if ($config['output_token'] && $config['input_token']) { + return $this->getPaginator($name, $args)->search($key); + } + + $result = $this->execute($this->getCommand($name, $args))->search($key); + + return new \ArrayIterator((array) $result); + } + + public function waitUntil($name, array $args = []) + { + return $this->getWaiter($name, $args)->promise()->wait(); + } + + public function getWaiter($name, array $args = []) + { + $config = isset($args['@waiter']) ? $args['@waiter'] : []; + $config += $this->getApi()->getWaiterConfig($name); + + return new Waiter($this, $name, $args, $config); + } + + public function execute(CommandInterface $command) + { + return $this->executeAsync($command)->wait(); + } + + public function executeAsync(CommandInterface $command) + { + $handler = $command->getHandlerList()->resolve(); + return $handler($command); + } + + public function __call($name, array $args) + { + $params = isset($args[0]) ? $args[0] : []; + + if (substr($name, -5) === 'Async') { + return $this->executeAsync( + $this->getCommand(substr($name, 0, -5), $params) + ); + } + + return $this->execute($this->getCommand($name, $params)); + } + + /** + * @param string $name + * @param array $args + * + * @return CommandInterface + */ + abstract public function getCommand($name, array $args = []); + + /** + * @return Service + */ + abstract public function getApi(); +} diff --git a/lib/aws/Aws/Backup/BackupClient.php b/lib/aws/Aws/Backup/BackupClient.php new file mode 100644 index 0000000..71a6d1c --- /dev/null +++ b/lib/aws/Aws/Backup/BackupClient.php @@ -0,0 +1,95 @@ +<?php +namespace Aws\Backup; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Backup** service. + * @method \Aws\Result createBackupPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBackupPlanAsync(array $args = []) + * @method \Aws\Result createBackupSelection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBackupSelectionAsync(array $args = []) + * @method \Aws\Result createBackupVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBackupVaultAsync(array $args = []) + * @method \Aws\Result deleteBackupPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupPlanAsync(array $args = []) + * @method \Aws\Result deleteBackupSelection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupSelectionAsync(array $args = []) + * @method \Aws\Result deleteBackupVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupVaultAsync(array $args = []) + * @method \Aws\Result deleteBackupVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result deleteBackupVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupVaultNotificationsAsync(array $args = []) + * @method \Aws\Result deleteRecoveryPoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRecoveryPointAsync(array $args = []) + * @method \Aws\Result describeBackupJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBackupJobAsync(array $args = []) + * @method \Aws\Result describeBackupVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBackupVaultAsync(array $args = []) + * @method \Aws\Result describeProtectedResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProtectedResourceAsync(array $args = []) + * @method \Aws\Result describeRecoveryPoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRecoveryPointAsync(array $args = []) + * @method \Aws\Result describeRestoreJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRestoreJobAsync(array $args = []) + * @method \Aws\Result exportBackupPlanTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportBackupPlanTemplateAsync(array $args = []) + * @method \Aws\Result getBackupPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupPlanAsync(array $args = []) + * @method \Aws\Result getBackupPlanFromJSON(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupPlanFromJSONAsync(array $args = []) + * @method \Aws\Result getBackupPlanFromTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupPlanFromTemplateAsync(array $args = []) + * @method \Aws\Result getBackupSelection(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupSelectionAsync(array $args = []) + * @method \Aws\Result getBackupVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result getBackupVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBackupVaultNotificationsAsync(array $args = []) + * @method \Aws\Result getRecoveryPointRestoreMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRecoveryPointRestoreMetadataAsync(array $args = []) + * @method \Aws\Result getSupportedResourceTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSupportedResourceTypesAsync(array $args = []) + * @method \Aws\Result listBackupJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupJobsAsync(array $args = []) + * @method \Aws\Result listBackupPlanTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupPlanTemplatesAsync(array $args = []) + * @method \Aws\Result listBackupPlanVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupPlanVersionsAsync(array $args = []) + * @method \Aws\Result listBackupPlans(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupPlansAsync(array $args = []) + * @method \Aws\Result listBackupSelections(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupSelectionsAsync(array $args = []) + * @method \Aws\Result listBackupVaults(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBackupVaultsAsync(array $args = []) + * @method \Aws\Result listProtectedResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProtectedResourcesAsync(array $args = []) + * @method \Aws\Result listRecoveryPointsByBackupVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRecoveryPointsByBackupVaultAsync(array $args = []) + * @method \Aws\Result listRecoveryPointsByResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRecoveryPointsByResourceAsync(array $args = []) + * @method \Aws\Result listRestoreJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRestoreJobsAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result putBackupVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBackupVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result putBackupVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBackupVaultNotificationsAsync(array $args = []) + * @method \Aws\Result startBackupJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startBackupJobAsync(array $args = []) + * @method \Aws\Result startRestoreJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startRestoreJobAsync(array $args = []) + * @method \Aws\Result stopBackupJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopBackupJobAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateBackupPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBackupPlanAsync(array $args = []) + * @method \Aws\Result updateRecoveryPointLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRecoveryPointLifecycleAsync(array $args = []) + */ +class BackupClient extends AwsClient {} diff --git a/lib/aws/Aws/Backup/Exception/BackupException.php b/lib/aws/Aws/Backup/Exception/BackupException.php new file mode 100644 index 0000000..e3cdb25 --- /dev/null +++ b/lib/aws/Aws/Backup/Exception/BackupException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Backup\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Backup** service. + */ +class BackupException extends AwsException {} diff --git a/lib/aws/Aws/Batch/BatchClient.php b/lib/aws/Aws/Batch/BatchClient.php new file mode 100644 index 0000000..e447370 --- /dev/null +++ b/lib/aws/Aws/Batch/BatchClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\Batch; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Batch** service. + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result createComputeEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createComputeEnvironmentAsync(array $args = []) + * @method \Aws\Result createJobQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobQueueAsync(array $args = []) + * @method \Aws\Result deleteComputeEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteComputeEnvironmentAsync(array $args = []) + * @method \Aws\Result deleteJobQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobQueueAsync(array $args = []) + * @method \Aws\Result deregisterJobDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterJobDefinitionAsync(array $args = []) + * @method \Aws\Result describeComputeEnvironments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeComputeEnvironmentsAsync(array $args = []) + * @method \Aws\Result describeJobDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobDefinitionsAsync(array $args = []) + * @method \Aws\Result describeJobQueues(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobQueuesAsync(array $args = []) + * @method \Aws\Result describeJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobsAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result registerJobDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerJobDefinitionAsync(array $args = []) + * @method \Aws\Result submitJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise submitJobAsync(array $args = []) + * @method \Aws\Result terminateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateJobAsync(array $args = []) + * @method \Aws\Result updateComputeEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateComputeEnvironmentAsync(array $args = []) + * @method \Aws\Result updateJobQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobQueueAsync(array $args = []) + */ +class BatchClient extends AwsClient {} diff --git a/lib/aws/Aws/Batch/Exception/BatchException.php b/lib/aws/Aws/Batch/Exception/BatchException.php new file mode 100644 index 0000000..badca34 --- /dev/null +++ b/lib/aws/Aws/Batch/Exception/BatchException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Batch\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Batch** service. + */ +class BatchException extends AwsException {} diff --git a/lib/aws/Aws/Budgets/BudgetsClient.php b/lib/aws/Aws/Budgets/BudgetsClient.php new file mode 100644 index 0000000..5a3b534 --- /dev/null +++ b/lib/aws/Aws/Budgets/BudgetsClient.php @@ -0,0 +1,37 @@ +<?php +namespace Aws\Budgets; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Budgets** service. + * @method \Aws\Result createBudget(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBudgetAsync(array $args = []) + * @method \Aws\Result createNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNotificationAsync(array $args = []) + * @method \Aws\Result createSubscriber(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubscriberAsync(array $args = []) + * @method \Aws\Result deleteBudget(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBudgetAsync(array $args = []) + * @method \Aws\Result deleteNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotificationAsync(array $args = []) + * @method \Aws\Result deleteSubscriber(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubscriberAsync(array $args = []) + * @method \Aws\Result describeBudget(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBudgetAsync(array $args = []) + * @method \Aws\Result describeBudgetPerformanceHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBudgetPerformanceHistoryAsync(array $args = []) + * @method \Aws\Result describeBudgets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBudgetsAsync(array $args = []) + * @method \Aws\Result describeNotificationsForBudget(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNotificationsForBudgetAsync(array $args = []) + * @method \Aws\Result describeSubscribersForNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubscribersForNotificationAsync(array $args = []) + * @method \Aws\Result updateBudget(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBudgetAsync(array $args = []) + * @method \Aws\Result updateNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNotificationAsync(array $args = []) + * @method \Aws\Result updateSubscriber(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSubscriberAsync(array $args = []) + */ +class BudgetsClient extends AwsClient {} diff --git a/lib/aws/Aws/Budgets/Exception/BudgetsException.php b/lib/aws/Aws/Budgets/Exception/BudgetsException.php new file mode 100644 index 0000000..f6f5f45 --- /dev/null +++ b/lib/aws/Aws/Budgets/Exception/BudgetsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Budgets\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Budgets** service. + */ +class BudgetsException extends AwsException {} diff --git a/lib/aws/Aws/CacheInterface.php b/lib/aws/Aws/CacheInterface.php new file mode 100644 index 0000000..e77f18b --- /dev/null +++ b/lib/aws/Aws/CacheInterface.php @@ -0,0 +1,34 @@ +<?php +namespace Aws; + +/** + * Represents a simple cache interface. + */ +interface CacheInterface +{ + /** + * Get a cache item by key. + * + * @param string $key Key to retrieve. + * + * @return mixed|null Returns the value or null if not found. + */ + public function get($key); + + /** + * Set a cache key value. + * + * @param string $key Key to set + * @param mixed $value Value to set. + * @param int $ttl Number of seconds the item is allowed to live. Set + * to 0 to allow an unlimited lifetime. + */ + public function set($key, $value, $ttl = 0); + + /** + * Remove a cache key. + * + * @param string $key Key to remove. + */ + public function remove($key); +} diff --git a/lib/aws/Aws/Chime/ChimeClient.php b/lib/aws/Aws/Chime/ChimeClient.php new file mode 100644 index 0000000..28d6855 --- /dev/null +++ b/lib/aws/Aws/Chime/ChimeClient.php @@ -0,0 +1,109 @@ +<?php +namespace Aws\Chime; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Chime** service. + * @method \Aws\Result associatePhoneNumberWithUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise associatePhoneNumberWithUserAsync(array $args = []) + * @method \Aws\Result associatePhoneNumbersWithVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise associatePhoneNumbersWithVoiceConnectorAsync(array $args = []) + * @method \Aws\Result batchDeletePhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeletePhoneNumberAsync(array $args = []) + * @method \Aws\Result batchSuspendUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchSuspendUserAsync(array $args = []) + * @method \Aws\Result batchUnsuspendUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchUnsuspendUserAsync(array $args = []) + * @method \Aws\Result batchUpdatePhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchUpdatePhoneNumberAsync(array $args = []) + * @method \Aws\Result batchUpdateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchUpdateUserAsync(array $args = []) + * @method \Aws\Result createAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAccountAsync(array $args = []) + * @method \Aws\Result createPhoneNumberOrder(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPhoneNumberOrderAsync(array $args = []) + * @method \Aws\Result createVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVoiceConnectorAsync(array $args = []) + * @method \Aws\Result deleteAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccountAsync(array $args = []) + * @method \Aws\Result deletePhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePhoneNumberAsync(array $args = []) + * @method \Aws\Result deleteVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVoiceConnectorAsync(array $args = []) + * @method \Aws\Result deleteVoiceConnectorOrigination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVoiceConnectorOriginationAsync(array $args = []) + * @method \Aws\Result deleteVoiceConnectorTermination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVoiceConnectorTerminationAsync(array $args = []) + * @method \Aws\Result deleteVoiceConnectorTerminationCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVoiceConnectorTerminationCredentialsAsync(array $args = []) + * @method \Aws\Result disassociatePhoneNumberFromUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociatePhoneNumberFromUserAsync(array $args = []) + * @method \Aws\Result disassociatePhoneNumbersFromVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociatePhoneNumbersFromVoiceConnectorAsync(array $args = []) + * @method \Aws\Result getAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountAsync(array $args = []) + * @method \Aws\Result getAccountSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = []) + * @method \Aws\Result getGlobalSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGlobalSettingsAsync(array $args = []) + * @method \Aws\Result getPhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPhoneNumberAsync(array $args = []) + * @method \Aws\Result getPhoneNumberOrder(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPhoneNumberOrderAsync(array $args = []) + * @method \Aws\Result getUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserAsync(array $args = []) + * @method \Aws\Result getUserSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserSettingsAsync(array $args = []) + * @method \Aws\Result getVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVoiceConnectorAsync(array $args = []) + * @method \Aws\Result getVoiceConnectorOrigination(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVoiceConnectorOriginationAsync(array $args = []) + * @method \Aws\Result getVoiceConnectorTermination(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVoiceConnectorTerminationAsync(array $args = []) + * @method \Aws\Result getVoiceConnectorTerminationHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVoiceConnectorTerminationHealthAsync(array $args = []) + * @method \Aws\Result inviteUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise inviteUsersAsync(array $args = []) + * @method \Aws\Result listAccounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccountsAsync(array $args = []) + * @method \Aws\Result listPhoneNumberOrders(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPhoneNumberOrdersAsync(array $args = []) + * @method \Aws\Result listPhoneNumbers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPhoneNumbersAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result listVoiceConnectorTerminationCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVoiceConnectorTerminationCredentialsAsync(array $args = []) + * @method \Aws\Result listVoiceConnectors(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVoiceConnectorsAsync(array $args = []) + * @method \Aws\Result logoutUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise logoutUserAsync(array $args = []) + * @method \Aws\Result putVoiceConnectorOrigination(array $args = []) + * @method \GuzzleHttp\Promise\Promise putVoiceConnectorOriginationAsync(array $args = []) + * @method \Aws\Result putVoiceConnectorTermination(array $args = []) + * @method \GuzzleHttp\Promise\Promise putVoiceConnectorTerminationAsync(array $args = []) + * @method \Aws\Result putVoiceConnectorTerminationCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise putVoiceConnectorTerminationCredentialsAsync(array $args = []) + * @method \Aws\Result resetPersonalPIN(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetPersonalPINAsync(array $args = []) + * @method \Aws\Result restorePhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise restorePhoneNumberAsync(array $args = []) + * @method \Aws\Result searchAvailablePhoneNumbers(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchAvailablePhoneNumbersAsync(array $args = []) + * @method \Aws\Result updateAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountAsync(array $args = []) + * @method \Aws\Result updateAccountSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountSettingsAsync(array $args = []) + * @method \Aws\Result updateGlobalSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGlobalSettingsAsync(array $args = []) + * @method \Aws\Result updatePhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePhoneNumberAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + * @method \Aws\Result updateUserSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserSettingsAsync(array $args = []) + * @method \Aws\Result updateVoiceConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVoiceConnectorAsync(array $args = []) + */ +class ChimeClient extends AwsClient {} diff --git a/lib/aws/Aws/Chime/Exception/ChimeException.php b/lib/aws/Aws/Chime/Exception/ChimeException.php new file mode 100644 index 0000000..b8d0140 --- /dev/null +++ b/lib/aws/Aws/Chime/Exception/ChimeException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Chime\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Chime** service. + */ +class ChimeException extends AwsException {} diff --git a/lib/aws/Aws/ClientResolver.php b/lib/aws/Aws/ClientResolver.php new file mode 100644 index 0000000..5ca3df7 --- /dev/null +++ b/lib/aws/Aws/ClientResolver.php @@ -0,0 +1,768 @@ +<?php +namespace Aws; + +use Aws\Api\Validator; +use Aws\Api\ApiProvider; +use Aws\Api\Service; +use Aws\Credentials\Credentials; +use Aws\Credentials\CredentialsInterface; +use Aws\Endpoint\PartitionEndpointProvider; +use Aws\EndpointDiscovery\ConfigurationInterface; +use Aws\EndpointDiscovery\ConfigurationProvider; +use Aws\EndpointDiscovery\EndpointDiscoveryMiddleware; +use Aws\Signature\SignatureProvider; +use Aws\Endpoint\EndpointProvider; +use Aws\Credentials\CredentialProvider; +use InvalidArgumentException as IAE; +use Psr\Http\Message\RequestInterface; + +/** + * @internal Resolves a hash of client arguments to construct a client. + */ +class ClientResolver +{ + /** @var array */ + private $argDefinitions; + + /** @var array Map of types to a corresponding function */ + private static $typeMap = [ + 'resource' => 'is_resource', + 'callable' => 'is_callable', + 'int' => 'is_int', + 'bool' => 'is_bool', + 'string' => 'is_string', + 'object' => 'is_object', + 'array' => 'is_array', + ]; + + private static $defaultArgs = [ + 'service' => [ + 'type' => 'value', + 'valid' => ['string'], + 'doc' => 'Name of the service to utilize. This value will be supplied by default when using one of the SDK clients (e.g., Aws\\S3\\S3Client).', + 'required' => true, + 'internal' => true + ], + 'exception_class' => [ + 'type' => 'value', + 'valid' => ['string'], + 'doc' => 'Exception class to create when an error occurs.', + 'default' => 'Aws\Exception\AwsException', + 'internal' => true + ], + 'scheme' => [ + 'type' => 'value', + 'valid' => ['string'], + 'default' => 'https', + 'doc' => 'URI scheme to use when connecting connect. The SDK will utilize "https" endpoints (i.e., utilize SSL/TLS connections) by default. You can attempt to connect to a service over an unencrypted "http" endpoint by setting ``scheme`` to "http".', + ], + 'disable_host_prefix_injection' => [ + 'type' => 'value', + 'valid' => ['bool'], + 'doc' => 'Set to true to disable host prefix injection logic for services that use it. This disables the entire prefix injection, including the portions supplied by user-defined parameters. Setting this flag will have no effect on services that do not use host prefix injection.', + 'default' => false, + ], + 'endpoint' => [ + 'type' => 'value', + 'valid' => ['string'], + 'doc' => 'The full URI of the webservice. This is only required when connecting to a custom endpoint (e.g., a local version of S3).', + 'fn' => [__CLASS__, '_apply_endpoint'], + ], + 'region' => [ + 'type' => 'value', + 'valid' => ['string'], + 'required' => [__CLASS__, '_missing_region'], + 'doc' => 'Region to connect to. See http://docs.aws.amazon.com/general/latest/gr/rande.html for a list of available regions.', + ], + 'version' => [ + 'type' => 'value', + 'valid' => ['string'], + 'required' => [__CLASS__, '_missing_version'], + 'doc' => 'The version of the webservice to utilize (e.g., 2006-03-01).', + ], + 'signature_provider' => [ + 'type' => 'value', + 'valid' => ['callable'], + 'doc' => 'A callable that accepts a signature version name (e.g., "v4"), a service name, and region, and returns a SignatureInterface object or null. This provider is used to create signers utilized by the client. See Aws\\Signature\\SignatureProvider for a list of built-in providers', + 'default' => [__CLASS__, '_default_signature_provider'], + ], + 'api_provider' => [ + 'type' => 'value', + 'valid' => ['callable'], + 'doc' => 'An optional PHP callable that accepts a type, service, and version argument, and returns an array of corresponding configuration data. The type value can be one of api, waiter, or paginator.', + 'fn' => [__CLASS__, '_apply_api_provider'], + 'default' => [ApiProvider::class, 'defaultProvider'], + ], + 'endpoint_provider' => [ + 'type' => 'value', + 'valid' => ['callable'], + 'fn' => [__CLASS__, '_apply_endpoint_provider'], + 'doc' => 'An optional PHP callable that accepts a hash of options including a "service" and "region" key and returns NULL or a hash of endpoint data, of which the "endpoint" key is required. See Aws\\Endpoint\\EndpointProvider for a list of built-in providers.', + 'default' => [__CLASS__, '_default_endpoint_provider'], + ], + 'serializer' => [ + 'default' => [__CLASS__, '_default_serializer'], + 'fn' => [__CLASS__, '_apply_serializer'], + 'internal' => true, + 'type' => 'value', + 'valid' => ['callable'], + ], + 'signature_version' => [ + 'type' => 'config', + 'valid' => ['string'], + 'doc' => 'A string representing a custom signature version to use with a service (e.g., v4). Note that per/operation signature version MAY override this requested signature version.', + 'default' => [__CLASS__, '_default_signature_version'], + ], + 'signing_name' => [ + 'type' => 'config', + 'valid' => ['string'], + 'doc' => 'A string representing a custom service name to be used when calculating a request signature.', + 'default' => [__CLASS__, '_default_signing_name'], + ], + 'signing_region' => [ + 'type' => 'config', + 'valid' => ['string'], + 'doc' => 'A string representing a custom region name to be used when calculating a request signature.', + 'default' => [__CLASS__, '_default_signing_region'], + ], + 'profile' => [ + 'type' => 'config', + 'valid' => ['string'], + 'doc' => 'Allows you to specify which profile to use when credentials are created from the AWS credentials file in your HOME directory. This setting overrides the AWS_PROFILE environment variable. Note: Specifying "profile" will cause the "credentials" key to be ignored.', + 'fn' => [__CLASS__, '_apply_profile'], + ], + 'credentials' => [ + 'type' => 'value', + 'valid' => [CredentialsInterface::class, CacheInterface::class, 'array', 'bool', 'callable'], + 'doc' => 'Specifies the credentials used to sign requests. Provide an Aws\Credentials\CredentialsInterface object, an associative array of "key", "secret", and an optional "token" key, `false` to use null credentials, or a callable credentials provider used to create credentials or return null. See Aws\\Credentials\\CredentialProvider for a list of built-in credentials providers. If no credentials are provided, the SDK will attempt to load them from the environment.', + 'fn' => [__CLASS__, '_apply_credentials'], + 'default' => [CredentialProvider::class, 'defaultProvider'], + ], + 'endpoint_discovery' => [ + 'type' => 'value', + 'valid' => [ConfigurationInterface::class, CacheInterface::class, 'array', 'callable'], + 'doc' => 'Specifies settings for endpoint discovery. Provide an instance of Aws\EndpointDiscovery\ConfigurationInterface, an instance Aws\CacheInterface, a callable that provides a promise for a Configuration object, or an associative array with the following keys: enabled: (bool) Set to true to enable endpoint discovery. Defaults to false; cache_limit: (int) The maximum number of keys in the endpoints cache. Defaults to 1000.', + 'fn' => [__CLASS__, '_apply_endpoint_discovery'], + 'default' => [__CLASS__, '_default_endpoint_discovery_provider'] + ], + 'stats' => [ + 'type' => 'value', + 'valid' => ['bool', 'array'], + 'default' => false, + 'doc' => 'Set to true to gather transfer statistics on requests sent. Alternatively, you can provide an associative array with the following keys: retries: (bool) Set to false to disable reporting on retries attempted; http: (bool) Set to true to enable collecting statistics from lower level HTTP adapters (e.g., values returned in GuzzleHttp\TransferStats). HTTP handlers must support an http_stats_receiver option for this to have an effect; timer: (bool) Set to true to enable a command timer that reports the total wall clock time spent on an operation in seconds.', + 'fn' => [__CLASS__, '_apply_stats'], + ], + 'retries' => [ + 'type' => 'value', + 'valid' => ['int'], + 'doc' => 'Configures the maximum number of allowed retries for a client (pass 0 to disable retries). ', + 'fn' => [__CLASS__, '_apply_retries'], + 'default' => 3, + ], + 'validate' => [ + 'type' => 'value', + 'valid' => ['bool', 'array'], + 'default' => true, + 'doc' => 'Set to false to disable client-side parameter validation. Set to true to utilize default validation constraints. Set to an associative array of validation options to enable specific validation constraints.', + 'fn' => [__CLASS__, '_apply_validate'], + ], + 'debug' => [ + 'type' => 'value', + 'valid' => ['bool', 'array'], + 'doc' => 'Set to true to display debug information when sending requests. Alternatively, you can provide an associative array with the following keys: logfn: (callable) Function that is invoked with log messages; stream_size: (int) When the size of a stream is greater than this number, the stream data will not be logged (set to "0" to not log any stream data); scrub_auth: (bool) Set to false to disable the scrubbing of auth data from the logged messages; http: (bool) Set to false to disable the "debug" feature of lower level HTTP adapters (e.g., verbose curl output).', + 'fn' => [__CLASS__, '_apply_debug'], + ], + 'http' => [ + 'type' => 'value', + 'valid' => ['array'], + 'default' => [], + 'doc' => 'Set to an array of SDK request options to apply to each request (e.g., proxy, verify, etc.).', + ], + 'http_handler' => [ + 'type' => 'value', + 'valid' => ['callable'], + 'doc' => 'An HTTP handler is a function that accepts a PSR-7 request object and returns a promise that is fulfilled with a PSR-7 response object or rejected with an array of exception data. NOTE: This option supersedes any provided "handler" option.', + 'fn' => [__CLASS__, '_apply_http_handler'] + ], + 'handler' => [ + 'type' => 'value', + 'valid' => ['callable'], + 'doc' => 'A handler that accepts a command object, request object and returns a promise that is fulfilled with an Aws\ResultInterface object or rejected with an Aws\Exception\AwsException. A handler does not accept a next handler as it is terminal and expected to fulfill a command. If no handler is provided, a default Guzzle handler will be utilized.', + 'fn' => [__CLASS__, '_apply_handler'], + 'default' => [__CLASS__, '_default_handler'] + ], + 'ua_append' => [ + 'type' => 'value', + 'valid' => ['string', 'array'], + 'doc' => 'Provide a string or array of strings to send in the User-Agent header.', + 'fn' => [__CLASS__, '_apply_user_agent'], + 'default' => [], + ], + 'idempotency_auto_fill' => [ + 'type' => 'value', + 'valid' => ['bool', 'callable'], + 'doc' => 'Set to false to disable SDK to populate parameters that enabled \'idempotencyToken\' trait with a random UUID v4 value on your behalf. Using default value \'true\' still allows parameter value to be overwritten when provided. Note: auto-fill only works when cryptographically secure random bytes generator functions(random_bytes, openssl_random_pseudo_bytes or mcrypt_create_iv) can be found. You may also provide a callable source of random bytes.', + 'default' => true, + 'fn' => [__CLASS__, '_apply_idempotency_auto_fill'] + ], + ]; + + /** + * Gets an array of default client arguments, each argument containing a + * hash of the following: + * + * - type: (string, required) option type described as follows: + * - value: The default option type. + * - config: The provided value is made available in the client's + * getConfig() method. + * - valid: (array, required) Valid PHP types or class names. Note: null + * is not an allowed type. + * - required: (bool, callable) Whether or not the argument is required. + * Provide a function that accepts an array of arguments and returns a + * string to provide a custom error message. + * - default: (mixed) The default value of the argument if not provided. If + * a function is provided, then it will be invoked to provide a default + * value. The function is provided the array of options and is expected + * to return the default value of the option. The default value can be a + * closure and can not be a callable string that is not part of the + * defaultArgs array. + * - doc: (string) The argument documentation string. + * - fn: (callable) Function used to apply the argument. The function + * accepts the provided value, array of arguments by reference, and an + * event emitter. + * + * Note: Order is honored and important when applying arguments. + * + * @return array + */ + public static function getDefaultArguments() + { + return self::$defaultArgs; + } + + /** + * @param array $argDefinitions Client arguments. + */ + public function __construct(array $argDefinitions) + { + $this->argDefinitions = $argDefinitions; + } + + /** + * Resolves client configuration options and attached event listeners. + * Check for missing keys in passed arguments + * + * @param array $args Provided constructor arguments. + * @param HandlerList $list Handler list to augment. + * + * @return array Returns the array of provided options. + * @throws \InvalidArgumentException + * @see Aws\AwsClient::__construct for a list of available options. + */ + public function resolve(array $args, HandlerList $list) + { + $args['config'] = []; + foreach ($this->argDefinitions as $key => $a) { + // Add defaults, validate required values, and skip if not set. + if (!isset($args[$key])) { + if (isset($a['default'])) { + // Merge defaults in when not present. + if (is_callable($a['default']) + && ( + is_array($a['default']) + || $a['default'] instanceof \Closure + ) + ) { + $args[$key] = $a['default']($args); + } else { + $args[$key] = $a['default']; + } + } elseif (empty($a['required'])) { + continue; + } else { + $this->throwRequired($args); + } + } + + // Validate the types against the provided value. + foreach ($a['valid'] as $check) { + if (isset(self::$typeMap[$check])) { + $fn = self::$typeMap[$check]; + if ($fn($args[$key])) { + goto is_valid; + } + } elseif ($args[$key] instanceof $check) { + goto is_valid; + } + } + + $this->invalidType($key, $args[$key]); + + // Apply the value + is_valid: + if (isset($a['fn'])) { + $a['fn']($args[$key], $args, $list); + } + + if ($a['type'] === 'config') { + $args['config'][$key] = $args[$key]; + } + } + + return $args; + } + + /** + * Creates a verbose error message for an invalid argument. + * + * @param string $name Name of the argument that is missing. + * @param array $args Provided arguments + * @param bool $useRequired Set to true to show the required fn text if + * available instead of the documentation. + * @return string + */ + private function getArgMessage($name, $args = [], $useRequired = false) + { + $arg = $this->argDefinitions[$name]; + $msg = ''; + $modifiers = []; + if (isset($arg['valid'])) { + $modifiers[] = implode('|', $arg['valid']); + } + if (isset($arg['choice'])) { + $modifiers[] = 'One of ' . implode(', ', $arg['choice']); + } + if ($modifiers) { + $msg .= '(' . implode('; ', $modifiers) . ')'; + } + $msg = wordwrap("{$name}: {$msg}", 75, "\n "); + + if ($useRequired && is_callable($arg['required'])) { + $msg .= "\n\n "; + $msg .= str_replace("\n", "\n ", call_user_func($arg['required'], $args)); + } elseif (isset($arg['doc'])) { + $msg .= wordwrap("\n\n {$arg['doc']}", 75, "\n "); + } + + return $msg; + } + + /** + * Throw when an invalid type is encountered. + * + * @param string $name Name of the value being validated. + * @param mixed $provided The provided value. + * @throws \InvalidArgumentException + */ + private function invalidType($name, $provided) + { + $expected = implode('|', $this->argDefinitions[$name]['valid']); + $msg = "Invalid configuration value " + . "provided for \"{$name}\". Expected {$expected}, but got " + . describe_type($provided) . "\n\n" + . $this->getArgMessage($name); + throw new IAE($msg); + } + + /** + * Throws an exception for missing required arguments. + * + * @param array $args Passed in arguments. + * @throws \InvalidArgumentException + */ + private function throwRequired(array $args) + { + $missing = []; + foreach ($this->argDefinitions as $k => $a) { + if (empty($a['required']) + || isset($a['default']) + || isset($args[$k]) + ) { + continue; + } + $missing[] = $this->getArgMessage($k, $args, true); + } + $msg = "Missing required client configuration options: \n\n"; + $msg .= implode("\n\n", $missing); + throw new IAE($msg); + } + + public static function _apply_retries($value, array &$args, HandlerList $list) + { + if ($value) { + $decider = RetryMiddleware::createDefaultDecider($value); + $list->appendSign( + Middleware::retry($decider, null, $args['stats']['retries']), + 'retry' + ); + } + } + + public static function _apply_credentials($value, array &$args) + { + if (is_callable($value)) { + return; + } + + if ($value instanceof CredentialsInterface) { + $args['credentials'] = CredentialProvider::fromCredentials($value); + } elseif (is_array($value) + && isset($value['key']) + && isset($value['secret']) + ) { + $args['credentials'] = CredentialProvider::fromCredentials( + new Credentials( + $value['key'], + $value['secret'], + isset($value['token']) ? $value['token'] : null, + isset($value['expires']) ? $value['expires'] : null + ) + ); + } elseif ($value === false) { + $args['credentials'] = CredentialProvider::fromCredentials( + new Credentials('', '') + ); + $args['config']['signature_version'] = 'anonymous'; + } elseif ($value instanceof CacheInterface) { + $args['credentials'] = CredentialProvider::defaultProvider($args); + } else { + throw new IAE('Credentials must be an instance of ' + . 'Aws\Credentials\CredentialsInterface, an associative ' + . 'array that contains "key", "secret", and an optional "token" ' + . 'key-value pairs, a credentials provider function, or false.'); + } + } + + public static function _apply_api_provider(callable $value, array &$args) + { + $api = new Service( + ApiProvider::resolve( + $value, + 'api', + $args['service'], + $args['version'] + ), + $value + ); + + if ( + empty($args['config']['signing_name']) + && isset($api['metadata']['signingName']) + ) { + $args['config']['signing_name'] = $api['metadata']['signingName']; + } + + $args['api'] = $api; + $args['parser'] = Service::createParser($api); + $args['error_parser'] = Service::createErrorParser($api->getProtocol()); + } + + public static function _apply_endpoint_provider(callable $value, array &$args) + { + if (!isset($args['endpoint'])) { + $endpointPrefix = isset($args['api']['metadata']['endpointPrefix']) + ? $args['api']['metadata']['endpointPrefix'] + : $args['service']; + + // Invoke the endpoint provider and throw if it does not resolve. + $result = EndpointProvider::resolve($value, [ + 'service' => $endpointPrefix, + 'region' => $args['region'], + 'scheme' => $args['scheme'] + ]); + + $args['endpoint'] = $result['endpoint']; + + if ( + empty($args['config']['signature_version']) + && isset($result['signatureVersion']) + ) { + $args['config']['signature_version'] + = $result['signatureVersion']; + } + + if ( + empty($args['config']['signing_region']) + && isset($result['signingRegion']) + ) { + $args['config']['signing_region'] = $result['signingRegion']; + } + + if ( + empty($args['config']['signing_name']) + && isset($result['signingName']) + ) { + $args['config']['signing_name'] = $result['signingName']; + } + } + } + + public static function _apply_endpoint_discovery($value, array &$args) { + $args['endpoint_discovery'] = $value; + } + + public static function _default_endpoint_discovery_provider(array $args) + { + return ConfigurationProvider::defaultProvider($args); + } + + public static function _apply_serializer($value, array &$args, HandlerList $list) + { + $list->prependBuild(Middleware::requestBuilder($value), 'builder'); + } + + public static function _apply_debug($value, array &$args, HandlerList $list) + { + if ($value !== false) { + $list->interpose(new TraceMiddleware($value === true ? [] : $value)); + } + } + + public static function _apply_stats($value, array &$args, HandlerList $list) + { + // Create an array of stat collectors that are disabled (set to false) + // by default. If the user has passed in true, enable all stat + // collectors. + $defaults = array_fill_keys( + ['http', 'retries', 'timer'], + $value === true + ); + $args['stats'] = is_array($value) + ? array_replace($defaults, $value) + : $defaults; + + if ($args['stats']['timer']) { + $list->prependInit(Middleware::timer(), 'timer'); + } + } + + public static function _apply_profile($_, array &$args) + { + $args['credentials'] = CredentialProvider::ini($args['profile']); + } + + public static function _apply_validate($value, array &$args, HandlerList $list) + { + if ($value === false) { + return; + } + + $validator = $value === true + ? new Validator() + : new Validator($value); + $list->appendValidate( + Middleware::validation($args['api'], $validator), + 'validation' + ); + } + + public static function _apply_handler($value, array &$args, HandlerList $list) + { + $list->setHandler($value); + } + + public static function _default_handler(array &$args) + { + return new WrappedHttpHandler( + default_http_handler(), + $args['parser'], + $args['error_parser'], + $args['exception_class'], + $args['stats']['http'] + ); + } + + public static function _apply_http_handler($value, array &$args, HandlerList $list) + { + $args['handler'] = new WrappedHttpHandler( + $value, + $args['parser'], + $args['error_parser'], + $args['exception_class'], + $args['stats']['http'] + ); + } + + public static function _apply_user_agent($value, array &$args, HandlerList $list) + { + if (!is_array($value)) { + $value = [$value]; + } + + $value = array_map('strval', $value); + + if (defined('HHVM_VERSION')) { + array_unshift($value, 'HHVM/' . HHVM_VERSION); + } + array_unshift($value, 'aws-sdk-php/' . Sdk::VERSION); + $args['ua_append'] = $value; + + $list->appendBuild(static function (callable $handler) use ($value) { + return function ( + CommandInterface $command, + RequestInterface $request + ) use ($handler, $value) { + return $handler($command, $request->withHeader( + 'User-Agent', + implode(' ', array_merge( + $value, + $request->getHeader('User-Agent') + )) + )); + }; + }); + } + + public static function _apply_endpoint($value, array &$args, HandlerList $list) + { + $parts = parse_url($value); + if (empty($parts['scheme']) || empty($parts['host'])) { + throw new IAE( + 'Endpoints must be full URIs and include a scheme and host' + ); + } + + $args['endpoint'] = $value; + } + + public static function _apply_idempotency_auto_fill( + $value, + array &$args, + HandlerList $list + ) { + $enabled = false; + $generator = null; + + + if (is_bool($value)) { + $enabled = $value; + } elseif (is_callable($value)) { + $enabled = true; + $generator = $value; + } + + if ($enabled) { + $list->prependInit( + IdempotencyTokenMiddleware::wrap($args['api'], $generator), + 'idempotency_auto_fill' + ); + } + } + + public static function _default_endpoint_provider(array $args) + { + return PartitionEndpointProvider::defaultProvider() + ->getPartition($args['region'], $args['service']); + } + + public static function _default_serializer(array $args) + { + return Service::createSerializer( + $args['api'], + $args['endpoint'] + ); + } + + public static function _default_signature_provider() + { + return SignatureProvider::defaultProvider(); + } + + public static function _default_signature_version(array &$args) + { + if (isset($args['config']['signature_version'])) { + return $args['config']['signature_version']; + } + + $args['__partition_result'] = isset($args['__partition_result']) + ? isset($args['__partition_result']) + : call_user_func(PartitionEndpointProvider::defaultProvider(), [ + 'service' => $args['service'], + 'region' => $args['region'], + ]); + + return isset($args['__partition_result']['signatureVersion']) + ? $args['__partition_result']['signatureVersion'] + : $args['api']->getSignatureVersion(); + } + + public static function _default_signing_name(array &$args) + { + if (isset($args['config']['signing_name'])) { + return $args['config']['signing_name']; + } + + $args['__partition_result'] = isset($args['__partition_result']) + ? isset($args['__partition_result']) + : call_user_func(PartitionEndpointProvider::defaultProvider(), [ + 'service' => $args['service'], + 'region' => $args['region'], + ]); + + if (isset($args['__partition_result']['signingName'])) { + return $args['__partition_result']['signingName']; + } + + if ($signingName = $args['api']->getSigningName()) { + return $signingName; + } + + return $args['service']; + } + + public static function _default_signing_region(array &$args) + { + if (isset($args['config']['signing_region'])) { + return $args['config']['signing_region']; + } + + $args['__partition_result'] = isset($args['__partition_result']) + ? isset($args['__partition_result']) + : call_user_func(PartitionEndpointProvider::defaultProvider(), [ + 'service' => $args['service'], + 'region' => $args['region'], + ]); + + return isset($args['__partition_result']['signingRegion']) + ? $args['__partition_result']['signingRegion'] + : $args['region']; + } + + public static function _missing_version(array $args) + { + $service = isset($args['service']) ? $args['service'] : ''; + $versions = ApiProvider::defaultProvider()->getVersions($service); + $versions = implode("\n", array_map(function ($v) { + return "* \"$v\""; + }, $versions)) ?: '* (none found)'; + + return <<<EOT +A "version" configuration value is required. Specifying a version constraint +ensures that your code will not be affected by a breaking change made to the +service. For example, when using Amazon S3, you can lock your API version to +"2006-03-01". + +Your build of the SDK has the following version(s) of "{$service}": {$versions} + +You may provide "latest" to the "version" configuration value to utilize the +most recent available API version that your client's API provider can find. +Note: Using 'latest' in a production application is not recommended. + +A list of available API versions can be found on each client's API documentation +page: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html. If you are +unable to load a specific API version, then you may need to update your copy of +the SDK. +EOT; + } + + public static function _missing_region(array $args) + { + $service = isset($args['service']) ? $args['service'] : ''; + + return <<<EOT +A "region" configuration value is required for the "{$service}" service +(e.g., "us-west-2"). A list of available public regions and endpoints can be +found at http://docs.aws.amazon.com/general/latest/gr/rande.html. +EOT; + } +} diff --git a/lib/aws/Aws/ClientSideMonitoring/AbstractMonitoringMiddleware.php b/lib/aws/Aws/ClientSideMonitoring/AbstractMonitoringMiddleware.php new file mode 100644 index 0000000..db6f1c9 --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/AbstractMonitoringMiddleware.php @@ -0,0 +1,275 @@ +<?php + +namespace Aws\ClientSideMonitoring; + +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Aws\MonitoringEventsInterface; +use Aws\ResponseContainerInterface; +use Aws\ResultInterface; +use GuzzleHttp\Promise; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * @internal + */ +abstract class AbstractMonitoringMiddleware + implements MonitoringMiddlewareInterface +{ + private static $socket; + + private $nextHandler; + private $options; + protected $credentialProvider; + protected $region; + protected $service; + + protected static function getAwsExceptionHeader(AwsException $e, $headerName) + { + $response = $e->getResponse(); + if ($response !== null) { + $header = $response->getHeader($headerName); + if (!empty($header[0])) { + return $header[0]; + } + } + return null; + } + + protected static function getResultHeader(ResultInterface $result, $headerName) + { + if (isset($result['@metadata']['headers'][$headerName])) { + return $result['@metadata']['headers'][$headerName]; + } + return null; + } + + protected static function getExceptionHeader(\Exception $e, $headerName) + { + if ($e instanceof ResponseContainerInterface) { + $response = $e->getResponse(); + if ($response instanceof ResponseInterface) { + $header = $response->getHeader($headerName); + if (!empty($header[0])) { + return $header[0]; + } + } + } + return null; + } + + /** + * Constructor stores the passed in handler and options. + * + * @param callable $handler + * @param callable $credentialProvider + * @param array $options + * @param $region + * @param $service + */ + public function __construct( + callable $handler, + callable $credentialProvider, + $options, + $region, + $service + ) { + $this->nextHandler = $handler; + $this->credentialProvider = $credentialProvider; + $this->options = $options; + $this->region = $region; + $this->service = $service; + } + + /** + * Standard invoke pattern for middleware execution to be implemented by + * child classes. + * + * @param CommandInterface $cmd + * @param RequestInterface $request + * @return Promise\PromiseInterface + */ + public function __invoke(CommandInterface $cmd, RequestInterface $request) + { + $handler = $this->nextHandler; + $eventData = null; + $enabled = $this->isEnabled(); + + if ($enabled) { + $cmd['@http']['collect_stats'] = true; + $eventData = $this->populateRequestEventData( + $cmd, + $request, + $this->getNewEvent($cmd, $request) + ); + } + + $g = function ($value) use ($eventData, $enabled) { + if ($enabled) { + $eventData = $this->populateResultEventData( + $value, + $eventData + ); + $this->sendEventData($eventData); + + if ($value instanceof MonitoringEventsInterface) { + $value->appendMonitoringEvent($eventData); + } + } + if ($value instanceof \Exception || $value instanceof \Throwable) { + return Promise\rejection_for($value); + } + return $value; + }; + + return Promise\promise_for($handler($cmd, $request))->then($g, $g); + } + + private function getClientId() + { + return $this->unwrappedOptions()->getClientId(); + } + + private function getNewEvent( + CommandInterface $cmd, + RequestInterface $request + ) { + $event = [ + 'Api' => $cmd->getName(), + 'ClientId' => $this->getClientId(), + 'Region' => $this->getRegion(), + 'Service' => $this->getService(), + 'Timestamp' => (int) floor(microtime(true) * 1000), + 'UserAgent' => substr( + $request->getHeaderLine('User-Agent') . ' ' . \Aws\default_user_agent(), + 0, + 256 + ), + 'Version' => 1 + ]; + return $event; + } + + private function getPort() + { + return $this->unwrappedOptions()->getPort(); + } + + private function getRegion() + { + return $this->region; + } + + private function getService() + { + return $this->service; + } + + /** + * Returns enabled flag from options, unwrapping options if necessary. + * + * @return bool + */ + private function isEnabled() + { + return $this->unwrappedOptions()->isEnabled(); + } + + /** + * Returns $eventData array with information from the request and command. + * + * @param CommandInterface $cmd + * @param RequestInterface $request + * @param array $event + * @return array + */ + protected function populateRequestEventData( + CommandInterface $cmd, + RequestInterface $request, + array $event + ) { + $dataFormat = static::getRequestData($request); + foreach ($dataFormat as $eventKey => $value) { + if ($value !== null) { + $event[$eventKey] = $value; + } + } + return $event; + } + + /** + * Returns $eventData array with information from the response, including + * the calculation for attempt latency. + * + * @param ResultInterface|\Exception $result + * @param array $event + * @return array + */ + protected function populateResultEventData( + $result, + array $event + ) { + $dataFormat = static::getResponseData($result); + foreach ($dataFormat as $eventKey => $value) { + if ($value !== null) { + $event[$eventKey] = $value; + } + } + return $event; + } + + /** + * Creates a UDP socket resource and stores it with the class, or retrieves + * it if already instantiated and connected. Handles error-checking and + * re-connecting if necessary. If $forceNewConnection is set to true, a new + * socket will be created. + * + * @param bool $forceNewConnection + * @return Resource + */ + private function prepareSocket($forceNewConnection = false) + { + if (!is_resource(self::$socket) + || $forceNewConnection + || socket_last_error(self::$socket) + ) { + self::$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); + socket_clear_error(self::$socket); + socket_connect(self::$socket, '127.0.0.1', $this->getPort()); + } + + return self::$socket; + } + + /** + * Sends formatted monitoring event data via the UDP socket connection to + * the CSM agent endpoint. + * + * @param array $eventData + * @return int + */ + private function sendEventData(array $eventData) + { + $socket = $this->prepareSocket(); + $datagram = json_encode($eventData); + $result = socket_write($socket, $datagram, strlen($datagram)); + if ($result === false) { + $this->prepareSocket(true); + } + return $result; + } + + /** + * Unwraps options, if needed, and returns them. + * + * @return ConfigurationInterface + */ + private function unwrappedOptions() + { + if (!($this->options instanceof ConfigurationInterface)) { + $this->options = ConfigurationProvider::unwrap($this->options); + } + return $this->options; + } +} \ No newline at end of file diff --git a/lib/aws/Aws/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php b/lib/aws/Aws/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php new file mode 100644 index 0000000..91810bb --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php @@ -0,0 +1,262 @@ +<?php + +namespace Aws\ClientSideMonitoring; + +use Aws\CommandInterface; +use Aws\Credentials\CredentialsInterface; +use Aws\Exception\AwsException; +use Aws\ResponseContainerInterface; +use Aws\ResultInterface; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * @internal + */ +class ApiCallAttemptMonitoringMiddleware extends AbstractMonitoringMiddleware +{ + + /** + * Standard middleware wrapper function with CSM options passed in. + * + * @param callable $credentialProvider + * @param mixed $options + * @param string $region + * @param string $service + * @return callable + */ + public static function wrap( + callable $credentialProvider, + $options, + $region, + $service + ) { + return function (callable $handler) use ( + $credentialProvider, + $options, + $region, + $service + ) { + return new static( + $handler, + $credentialProvider, + $options, + $region, + $service + ); + }; + } + + /** + * {@inheritdoc} + */ + public static function getRequestData(RequestInterface $request) + { + return [ + 'Fqdn' => $request->getUri()->getHost(), + ]; + } + + /** + * {@inheritdoc} + */ + public static function getResponseData($klass) + { + if ($klass instanceof ResultInterface) { + return [ + 'AttemptLatency' => self::getResultAttemptLatency($klass), + 'DestinationIp' => self::getResultDestinationIp($klass), + 'DnsLatency' => self::getResultDnsLatency($klass), + 'HttpStatusCode' => self::getResultHttpStatusCode($klass), + 'XAmzId2' => self::getResultHeader($klass, 'x-amz-id-2'), + 'XAmzRequestId' => self::getResultHeader($klass, 'x-amz-request-id'), + 'XAmznRequestId' => self::getResultHeader($klass, 'x-amzn-RequestId'), + ]; + } + if ($klass instanceof AwsException) { + return [ + 'AttemptLatency' => self::getAwsExceptionAttemptLatency($klass), + 'AwsException' => substr( + self::getAwsExceptionErrorCode($klass), + 0, + 128 + ), + 'AwsExceptionMessage' => substr( + self::getAwsExceptionMessage($klass), + 0, + 512 + ), + 'DestinationIp' => self::getAwsExceptionDestinationIp($klass), + 'DnsLatency' => self::getAwsExceptionDnsLatency($klass), + 'HttpStatusCode' => self::getAwsExceptionHttpStatusCode($klass), + 'XAmzId2' => self::getAwsExceptionHeader($klass, 'x-amz-id-2'), + 'XAmzRequestId' => self::getAwsExceptionHeader( + $klass, + 'x-amz-request-id' + ), + 'XAmznRequestId' => self::getAwsExceptionHeader( + $klass, + 'x-amzn-RequestId' + ), + ]; + } + if ($klass instanceof \Exception) { + return [ + 'HttpStatusCode' => self::getExceptionHttpStatusCode($klass), + 'SdkException' => substr( + self::getExceptionCode($klass), + 0, + 128 + ), + 'SdkExceptionMessage' => substr( + self::getExceptionMessage($klass), + 0, + 512 + ), + 'XAmzId2' => self::getExceptionHeader($klass, 'x-amz-id-2'), + 'XAmzRequestId' => self::getExceptionHeader($klass, 'x-amz-request-id'), + 'XAmznRequestId' => self::getExceptionHeader($klass, 'x-amzn-RequestId'), + ]; + } + + throw new \InvalidArgumentException('Parameter must be an instance of ResultInterface, AwsException or Exception.'); + } + + private static function getResultAttemptLatency(ResultInterface $result) + { + if (isset($result['@metadata']['transferStats']['http'])) { + $attempt = end($result['@metadata']['transferStats']['http']); + if (isset($attempt['total_time'])) { + return (int) floor($attempt['total_time'] * 1000); + } + } + return null; + } + + private static function getResultDestinationIp(ResultInterface $result) + { + if (isset($result['@metadata']['transferStats']['http'])) { + $attempt = end($result['@metadata']['transferStats']['http']); + if (isset($attempt['primary_ip'])) { + return $attempt['primary_ip']; + } + } + return null; + } + + private static function getResultDnsLatency(ResultInterface $result) + { + if (isset($result['@metadata']['transferStats']['http'])) { + $attempt = end($result['@metadata']['transferStats']['http']); + if (isset($attempt['namelookup_time'])) { + return (int) floor($attempt['namelookup_time'] * 1000); + } + } + return null; + } + + private static function getResultHttpStatusCode(ResultInterface $result) + { + return $result['@metadata']['statusCode']; + } + + private static function getAwsExceptionAttemptLatency(AwsException $e) { + $attempt = $e->getTransferInfo(); + if (isset($attempt['total_time'])) { + return (int) floor($attempt['total_time'] * 1000); + } + return null; + } + + private static function getAwsExceptionErrorCode(AwsException $e) { + return $e->getAwsErrorCode(); + } + + private static function getAwsExceptionMessage(AwsException $e) { + return $e->getAwsErrorMessage(); + } + + private static function getAwsExceptionDestinationIp(AwsException $e) { + $attempt = $e->getTransferInfo(); + if (isset($attempt['primary_ip'])) { + return $attempt['primary_ip']; + } + return null; + } + + private static function getAwsExceptionDnsLatency(AwsException $e) { + $attempt = $e->getTransferInfo(); + if (isset($attempt['namelookup_time'])) { + return (int) floor($attempt['namelookup_time'] * 1000); + } + return null; + } + + private static function getAwsExceptionHttpStatusCode(AwsException $e) { + $response = $e->getResponse(); + if ($response !== null) { + return $response->getStatusCode(); + } + return null; + } + + private static function getExceptionHttpStatusCode(\Exception $e) { + if ($e instanceof ResponseContainerInterface) { + $response = $e->getResponse(); + if ($response instanceof ResponseInterface) { + return $response->getStatusCode(); + } + } + return null; + } + + private static function getExceptionCode(\Exception $e) { + if (!($e instanceof AwsException)) { + return get_class($e); + } + return null; + } + + private static function getExceptionMessage(\Exception $e) { + if (!($e instanceof AwsException)) { + return $e->getMessage(); + } + return null; + } + + /** + * {@inheritdoc} + */ + protected function populateRequestEventData( + CommandInterface $cmd, + RequestInterface $request, + array $event + ) { + $event = parent::populateRequestEventData($cmd, $request, $event); + $event['Type'] = 'ApiCallAttempt'; + return $event; + } + + /** + * {@inheritdoc} + */ + protected function populateResultEventData( + $result, + array $event + ) { + $event = parent::populateResultEventData($result, $event); + + $provider = $this->credentialProvider; + /** @var CredentialsInterface $credentials */ + $credentials = $provider()->wait(); + $event['AccessKey'] = $credentials->getAccessKeyId(); + $sessionToken = $credentials->getSecurityToken(); + if ($sessionToken !== null) { + $event['SessionToken'] = $sessionToken; + } + if (empty($event['AttemptLatency'])) { + $event['AttemptLatency'] = (int) (floor(microtime(true) * 1000) - $event['Timestamp']); + } + return $event; + } +} diff --git a/lib/aws/Aws/ClientSideMonitoring/ApiCallMonitoringMiddleware.php b/lib/aws/Aws/ClientSideMonitoring/ApiCallMonitoringMiddleware.php new file mode 100644 index 0000000..0a5abda --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/ApiCallMonitoringMiddleware.php @@ -0,0 +1,176 @@ +<?php + +namespace Aws\ClientSideMonitoring; + +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Aws\MonitoringEventsInterface; +use Aws\ResultInterface; +use Psr\Http\Message\RequestInterface; + +/** + * @internal + */ +class ApiCallMonitoringMiddleware extends AbstractMonitoringMiddleware +{ + + /** + * Api Call Attempt event keys for each Api Call event key + * + * @var array + */ + private static $eventKeys = [ + 'FinalAwsException' => 'AwsException', + 'FinalAwsExceptionMessage' => 'AwsExceptionMessage', + 'FinalSdkException' => 'SdkException', + 'FinalSdkExceptionMessage' => 'SdkExceptionMessage', + 'FinalHttpStatusCode' => 'HttpStatusCode', + ]; + + /** + * Standard middleware wrapper function with CSM options passed in. + * + * @param callable $credentialProvider + * @param mixed $options + * @param string $region + * @param string $service + * @return callable + */ + public static function wrap( + callable $credentialProvider, + $options, + $region, + $service + ) { + return function (callable $handler) use ( + $credentialProvider, + $options, + $region, + $service + ) { + return new static( + $handler, + $credentialProvider, + $options, + $region, + $service + ); + }; + } + + /** + * {@inheritdoc} + */ + public static function getRequestData(RequestInterface $request) + { + return []; + } + + /** + * {@inheritdoc} + */ + public static function getResponseData($klass) + { + if ($klass instanceof ResultInterface) { + $data = [ + 'AttemptCount' => self::getResultAttemptCount($klass), + 'MaxRetriesExceeded' => 0, + ]; + } elseif ($klass instanceof \Exception) { + $data = [ + 'AttemptCount' => self::getExceptionAttemptCount($klass), + 'MaxRetriesExceeded' => self::getMaxRetriesExceeded($klass), + ]; + } else { + throw new \InvalidArgumentException('Parameter must be an instance of ResultInterface or Exception.'); + } + + return $data + self::getFinalAttemptData($klass); + } + + private static function getResultAttemptCount(ResultInterface $result) { + if (isset($result['@metadata']['transferStats']['http'])) { + return count($result['@metadata']['transferStats']['http']); + } + return 1; + } + + private static function getExceptionAttemptCount(\Exception $e) { + $attemptCount = 0; + if ($e instanceof MonitoringEventsInterface) { + foreach ($e->getMonitoringEvents() as $event) { + if (isset($event['Type']) && + $event['Type'] === 'ApiCallAttempt') { + $attemptCount++; + } + } + + } + return $attemptCount; + } + + private static function getFinalAttemptData($klass) + { + $data = []; + if ($klass instanceof MonitoringEventsInterface) { + $finalAttempt = self::getFinalAttempt($klass->getMonitoringEvents()); + + if (!empty($finalAttempt)) { + foreach (self::$eventKeys as $callKey => $attemptKey) { + if (isset($finalAttempt[$attemptKey])) { + $data[$callKey] = $finalAttempt[$attemptKey]; + } + } + } + } + + return $data; + } + + private static function getFinalAttempt(array $events) + { + for (end($events); key($events) !== null; prev($events)) { + $current = current($events); + if (isset($current['Type']) + && $current['Type'] === 'ApiCallAttempt' + ) { + return $current; + } + } + + return null; + } + + private static function getMaxRetriesExceeded($klass) + { + if ($klass instanceof AwsException && $klass->isMaxRetriesExceeded()) { + return 1; + } + return 0; + } + + /** + * {@inheritdoc} + */ + protected function populateRequestEventData( + CommandInterface $cmd, + RequestInterface $request, + array $event + ) { + $event = parent::populateRequestEventData($cmd, $request, $event); + $event['Type'] = 'ApiCall'; + return $event; + } + + /** + * {@inheritdoc} + */ + protected function populateResultEventData( + $result, + array $event + ) { + $event = parent::populateResultEventData($result, $event); + $event['Latency'] = (int) (floor(microtime(true) * 1000) - $event['Timestamp']); + return $event; + } +} diff --git a/lib/aws/Aws/ClientSideMonitoring/Configuration.php b/lib/aws/Aws/ClientSideMonitoring/Configuration.php new file mode 100644 index 0000000..0cb82e0 --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/Configuration.php @@ -0,0 +1,65 @@ +<?php +namespace Aws\ClientSideMonitoring; + +class Configuration implements ConfigurationInterface +{ + private $clientId; + private $enabled; + private $port; + + /** + * Constructs a new Configuration object with the specified CSM options set. + * + * @param mixed $enabled + * @param string|int $port + * @param string $clientId + */ + public function __construct($enabled, $port, $clientId = '') + { + $this->port = filter_var($port, FILTER_VALIDATE_INT); + if ($this->port === false) { + throw new \InvalidArgumentException( + "CSM 'port' value must be an integer!"); + } + + // Unparsable $enabled flag errors on the side of disabling CSM + $this->enabled = filter_var($enabled, FILTER_VALIDATE_BOOLEAN); + $this->clientId = trim($clientId); + } + + /** + * {@inheritdoc} + */ + public function isEnabled() + { + return $this->enabled; + } + + /** + * {@inheritdoc} + */ + public function getClientId() + { + return $this->clientId; + } + + /** + * {@inheritdoc} + */ + public function getPort() + { + return $this->port; + } + + /** + * {@inheritdoc} + */ + public function toArray() + { + return [ + 'client_id' => $this->getClientId(), + 'enabled' => $this->isEnabled(), + 'port' => $this->getPort() + ]; + } +} \ No newline at end of file diff --git a/lib/aws/Aws/ClientSideMonitoring/ConfigurationInterface.php b/lib/aws/Aws/ClientSideMonitoring/ConfigurationInterface.php new file mode 100644 index 0000000..f6f71dd --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/ConfigurationInterface.php @@ -0,0 +1,37 @@ +<?php +namespace Aws\ClientSideMonitoring; + +/** + * Provides access to client-side monitoring configuration options: + * 'client_id', 'enabled', 'port' + */ +interface ConfigurationInterface +{ + /** + * Checks whether or not client-side monitoring is enabled. + * + * @return bool + */ + public function isEnabled(); + + /** + * Returns the Client ID, if available. + * + * @return string|null + */ + public function getClientId(); + + /** + * Returns the configured port. + * + * @return int|null + */ + public function getPort(); + + /** + * Returns the configuration as an associative array. + * + * @return array + */ + public function toArray(); +} diff --git a/lib/aws/Aws/ClientSideMonitoring/ConfigurationProvider.php b/lib/aws/Aws/ClientSideMonitoring/ConfigurationProvider.php new file mode 100644 index 0000000..f463465 --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/ConfigurationProvider.php @@ -0,0 +1,342 @@ +<?php +namespace Aws\ClientSideMonitoring; + +use Aws\CacheInterface; +use Aws\ClientSideMonitoring\Exception\ConfigurationException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromiseInterface; + +/** + * A configuration provider is a function that accepts no arguments and returns + * a promise that is fulfilled with a {@see \Aws\ClientSideMonitoring\ConfigurationInterface} + * or rejected with an {@see \Aws\ClientSideMonitoring\Exception\ConfigurationException}. + * + * <code> + * use Aws\ClientSideMonitoring\ConfigurationProvider; + * $provider = ConfigurationProvider::defaultProvider(); + * // Returns a ConfigurationInterface or throws. + * $config = $provider()->wait(); + * </code> + * + * Configuration providers can be composed to create configuration using + * conditional logic that can create different configurations in different + * environments. You can compose multiple providers into a single provider using + * {@see Aws\ClientSideMonitoring\ConfigurationProvider::chain}. This function + * accepts providers as variadic arguments and returns a new function that will + * invoke each provider until a successful configuration is returned. + * + * <code> + * // First try an INI file at this location. + * $a = ConfigurationProvider::ini(null, '/path/to/file.ini'); + * // Then try an INI file at this location. + * $b = ConfigurationProvider::ini(null, '/path/to/other-file.ini'); + * // Then try loading from environment variables. + * $c = ConfigurationProvider::env(); + * // Combine the three providers together. + * $composed = ConfigurationProvider::chain($a, $b, $c); + * // Returns a promise that is fulfilled with a configuration or throws. + * $promise = $composed(); + * // Wait on the configuration to resolve. + * $config = $promise->wait(); + * </code> + */ +class ConfigurationProvider +{ + + const CACHE_KEY = 'aws_cached_csm_config'; + const DEFAULT_CLIENT_ID = ''; + const DEFAULT_ENABLED = false; + const DEFAULT_PORT = 31000; + const ENV_CLIENT_ID = 'AWS_CSM_CLIENT_ID'; + const ENV_ENABLED = 'AWS_CSM_ENABLED'; + const ENV_PORT = 'AWS_CSM_PORT'; + const ENV_PROFILE = 'AWS_PROFILE'; + + /** + * Wraps a credential provider and saves provided credentials in an + * instance of Aws\CacheInterface. Forwards calls when no credentials found + * in cache and updates cache with the results. + * + * @param callable $provider Credentials provider function to wrap + * @param CacheInterface $cache Cache to store credentials + * @param string|null $cacheKey (optional) Cache key to use + * + * @return callable + */ + public static function cache( + callable $provider, + CacheInterface $cache, + $cacheKey = null + ) { + $cacheKey = $cacheKey ?: self::CACHE_KEY; + + return function () use ($provider, $cache, $cacheKey) { + $found = $cache->get($cacheKey); + if ($found instanceof ConfigurationInterface) { + return Promise\promise_for($found); + } + + return $provider() + ->then(function (ConfigurationInterface $config) use ( + $cache, + $cacheKey + ) { + $cache->set( + $cacheKey, + $config + ); + + return $config; + }); + }; + } + + /** + * Creates an aggregate credentials provider that invokes the provided + * variadic providers one after the other until a provider returns + * credentials. + * + * @return callable + */ + public static function chain() + { + $links = func_get_args(); + if (empty($links)) { + throw new \InvalidArgumentException('No providers in chain'); + } + + return function () use ($links) { + /** @var callable $parent */ + $parent = array_shift($links); + $promise = $parent(); + while ($next = array_shift($links)) { + $promise = $promise->otherwise($next); + } + return $promise; + }; + } + + /** + * Create a default CSM config provider that first checks for environment + * variables, then checks for a specified profile in ~/.aws/config, then + * checks for the "aws_csm" profile in ~/.aws/config, and failing those uses + * a default fallback set of configuration options. + * + * This provider is automatically wrapped in a memoize function that caches + * previously provided config options. + * + * @param array $config Optional array of ecs/instance profile credentials + * provider options. + * + * @return callable + */ + public static function defaultProvider(array $config = []) + { + $configProviders = [ + self::env(), + self::ini(), + self::fallback() + ]; + + $memo = self::memoize( + call_user_func_array('self::chain', $configProviders) + ); + + if (isset($config['csm']) && $config['csm'] instanceof CacheInterface) { + return self::cache($memo, $config['csm'], self::CACHE_KEY); + } + + return $memo; + } + + /** + * Provider that creates CSM config from environment variables. + * + * @return callable + */ + public static function env() + { + return function () { + // Use credentials from environment variables, if available + $enabled = getenv(self::ENV_ENABLED); + if ($enabled !== false) { + return Promise\promise_for( + new Configuration( + $enabled, + getenv(self::ENV_PORT) ?: self::DEFAULT_PORT, + getenv(self:: ENV_CLIENT_ID) ?: self::DEFAULT_CLIENT_ID + ) + ); + } + + return self::reject('Could not find environment variable CSM config' + . ' in ' . self::ENV_ENABLED. '/' . self::ENV_PORT . '/' + . self::ENV_CLIENT_ID); + }; + } + + /** + * Fallback config options when other sources are not set. + * + * @return callable + */ + public static function fallback() + { + return function() { + return Promise\promise_for( + new Configuration( + self::DEFAULT_ENABLED, + self::DEFAULT_PORT, + self::DEFAULT_CLIENT_ID + ) + ); + }; + } + + /** + * Gets the environment's HOME directory if available. + * + * @return null|string + */ + private static function getHomeDir() + { + // On Linux/Unix-like systems, use the HOME environment variable + if ($homeDir = getenv('HOME')) { + return $homeDir; + } + + // Get the HOMEDRIVE and HOMEPATH values for Windows hosts + $homeDrive = getenv('HOMEDRIVE'); + $homePath = getenv('HOMEPATH'); + + return ($homeDrive && $homePath) ? $homeDrive . $homePath : null; + } + + /** + * CSM config provider that creates CSM config using an ini file stored + * in the current user's home directory. + * + * @param string|null $profile Profile to use. If not specified will use + * the "aws_csm" profile in "~/.aws/config". + * @param string|null $filename If provided, uses a custom filename rather + * than looking in the home directory. + * + * @return callable + */ + public static function ini($profile = null, $filename = null) + { + $filename = $filename ?: (self::getHomeDir() . '/.aws/config'); + $profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'aws_csm'); + + return function () use ($profile, $filename) { + if (!is_readable($filename)) { + return self::reject("Cannot read CSM config from $filename"); + } + $data = \Aws\parse_ini_file($filename, true); + if ($data === false) { + return self::reject("Invalid config file: $filename"); + } + if (!isset($data[$profile])) { + return self::reject("'$profile' not found in config file"); + } + if (!isset($data[$profile]['csm_enabled'])) { + return self::reject("Required CSM config values not present in + INI profile '{$profile}' ({$filename})"); + } + + // port is optional + if (empty($data[$profile]['csm_port'])) { + $data[$profile]['csm_port'] = self::DEFAULT_PORT; + } + + // client_id is optional + if (empty($data[$profile]['csm_client_id'])) { + $data[$profile]['csm_client_id'] = self::DEFAULT_CLIENT_ID; + } + + return Promise\promise_for( + new Configuration( + $data[$profile]['csm_enabled'], + $data[$profile]['csm_port'], + $data[$profile]['csm_client_id'] + ) + ); + }; + } + + /** + * Wraps a CSM config provider and caches previously provided configuration. + * + * Ensures that cached configuration is refreshed when it expires. + * + * @param callable $provider CSM config provider function to wrap. + * + * @return callable + */ + public static function memoize(callable $provider) + { + return function () use ($provider) { + static $result; + static $isConstant; + + // Constant config will be returned constantly. + if ($isConstant) { + return $result; + } + + // Create the initial promise that will be used as the cached value + // until it expires. + if (null === $result) { + $result = $provider(); + } + + // Return config and set flag that provider is already set + return $result + ->then(function (ConfigurationInterface $config) use (&$isConstant) { + $isConstant = true; + return $config; + }); + }; + } + + /** + * Reject promise with standardized exception. + * + * @param $msg + * @return Promise\RejectedPromise + */ + private static function reject($msg) + { + return new Promise\RejectedPromise(new ConfigurationException($msg)); + } + + /** + * Unwraps a configuration object in whatever valid form it is in, + * always returning a ConfigurationInterface object. + * + * @param mixed $config + * @return ConfigurationInterface + * @throws \InvalidArgumentException + */ + public static function unwrap($config) + { + if (is_callable($config)) { + $config = $config(); + } + if ($config instanceof PromiseInterface) { + $config = $config->wait(); + } + if ($config instanceof ConfigurationInterface) { + return $config; + } elseif (is_array($config) && isset($config['enabled'])) { + $client_id = isset($config['client_id']) ? $config['client_id'] + : self::DEFAULT_CLIENT_ID; + $port = isset($config['port']) ? $config['port'] + : self::DEFAULT_PORT; + return new Configuration($config['enabled'], $port, $client_id); + } + + throw new \InvalidArgumentException('Not a valid CSM configuration ' + . 'argument.'); + } +} \ No newline at end of file diff --git a/lib/aws/Aws/ClientSideMonitoring/Exception/ConfigurationException.php b/lib/aws/Aws/ClientSideMonitoring/Exception/ConfigurationException.php new file mode 100644 index 0000000..827743e --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/Exception/ConfigurationException.php @@ -0,0 +1,15 @@ +<?php +namespace Aws\ClientSideMonitoring\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + + +/** + * Represents an error interacting with configuration for client-side monitoring. + */ +class ConfigurationException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/ClientSideMonitoring/MonitoringMiddlewareInterface.php b/lib/aws/Aws/ClientSideMonitoring/MonitoringMiddlewareInterface.php new file mode 100644 index 0000000..e3abd12 --- /dev/null +++ b/lib/aws/Aws/ClientSideMonitoring/MonitoringMiddlewareInterface.php @@ -0,0 +1,35 @@ +<?php + +namespace Aws\ClientSideMonitoring; + +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Aws\ResultInterface; +use GuzzleHttp\Psr7\Request; +use Psr\Http\Message\RequestInterface; + +/** + * @internal + */ +interface MonitoringMiddlewareInterface +{ + + /** + * Data for event properties to be sent to the monitoring agent. + * + * @param RequestInterface $request + * @return array + */ + public static function getRequestData(RequestInterface $request); + + + /** + * Data for event properties to be sent to the monitoring agent. + * + * @param ResultInterface|AwsException|\Exception $klass + * @return array + */ + public static function getResponseData($klass); + + public function __invoke(CommandInterface $cmd, RequestInterface $request); +} \ No newline at end of file diff --git a/lib/aws/Aws/Cloud9/Cloud9Client.php b/lib/aws/Aws/Cloud9/Cloud9Client.php new file mode 100644 index 0000000..74925d3 --- /dev/null +++ b/lib/aws/Aws/Cloud9/Cloud9Client.php @@ -0,0 +1,29 @@ +<?php +namespace Aws\Cloud9; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Cloud9** service. + * @method \Aws\Result createEnvironmentEC2(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEnvironmentEC2Async(array $args = []) + * @method \Aws\Result createEnvironmentMembership(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEnvironmentMembershipAsync(array $args = []) + * @method \Aws\Result deleteEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEnvironmentAsync(array $args = []) + * @method \Aws\Result deleteEnvironmentMembership(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEnvironmentMembershipAsync(array $args = []) + * @method \Aws\Result describeEnvironmentMemberships(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentMembershipsAsync(array $args = []) + * @method \Aws\Result describeEnvironmentStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentStatusAsync(array $args = []) + * @method \Aws\Result describeEnvironments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentsAsync(array $args = []) + * @method \Aws\Result listEnvironments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEnvironmentsAsync(array $args = []) + * @method \Aws\Result updateEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = []) + * @method \Aws\Result updateEnvironmentMembership(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEnvironmentMembershipAsync(array $args = []) + */ +class Cloud9Client extends AwsClient {} diff --git a/lib/aws/Aws/Cloud9/Exception/Cloud9Exception.php b/lib/aws/Aws/Cloud9/Exception/Cloud9Exception.php new file mode 100644 index 0000000..a7b3381 --- /dev/null +++ b/lib/aws/Aws/Cloud9/Exception/Cloud9Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Cloud9\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Cloud9** service. + */ +class Cloud9Exception extends AwsException {} diff --git a/lib/aws/Aws/CloudDirectory/CloudDirectoryClient.php b/lib/aws/Aws/CloudDirectory/CloudDirectoryClient.php new file mode 100644 index 0000000..20f49c9 --- /dev/null +++ b/lib/aws/Aws/CloudDirectory/CloudDirectoryClient.php @@ -0,0 +1,141 @@ +<?php +namespace Aws\CloudDirectory; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudDirectory** service. + * @method \Aws\Result addFacetToObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise addFacetToObjectAsync(array $args = []) + * @method \Aws\Result applySchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise applySchemaAsync(array $args = []) + * @method \Aws\Result attachObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachObjectAsync(array $args = []) + * @method \Aws\Result attachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachPolicyAsync(array $args = []) + * @method \Aws\Result attachToIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachToIndexAsync(array $args = []) + * @method \Aws\Result attachTypedLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachTypedLinkAsync(array $args = []) + * @method \Aws\Result batchRead(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchReadAsync(array $args = []) + * @method \Aws\Result batchWrite(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchWriteAsync(array $args = []) + * @method \Aws\Result createDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectoryAsync(array $args = []) + * @method \Aws\Result createFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFacetAsync(array $args = []) + * @method \Aws\Result createIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIndexAsync(array $args = []) + * @method \Aws\Result createObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createObjectAsync(array $args = []) + * @method \Aws\Result createSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSchemaAsync(array $args = []) + * @method \Aws\Result createTypedLinkFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTypedLinkFacetAsync(array $args = []) + * @method \Aws\Result deleteDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectoryAsync(array $args = []) + * @method \Aws\Result deleteFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFacetAsync(array $args = []) + * @method \Aws\Result deleteObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = []) + * @method \Aws\Result deleteSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSchemaAsync(array $args = []) + * @method \Aws\Result deleteTypedLinkFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTypedLinkFacetAsync(array $args = []) + * @method \Aws\Result detachFromIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachFromIndexAsync(array $args = []) + * @method \Aws\Result detachObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachObjectAsync(array $args = []) + * @method \Aws\Result detachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachPolicyAsync(array $args = []) + * @method \Aws\Result detachTypedLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachTypedLinkAsync(array $args = []) + * @method \Aws\Result disableDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableDirectoryAsync(array $args = []) + * @method \Aws\Result enableDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableDirectoryAsync(array $args = []) + * @method \Aws\Result getAppliedSchemaVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppliedSchemaVersionAsync(array $args = []) + * @method \Aws\Result getDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDirectoryAsync(array $args = []) + * @method \Aws\Result getFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFacetAsync(array $args = []) + * @method \Aws\Result getLinkAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLinkAttributesAsync(array $args = []) + * @method \Aws\Result getObjectAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAttributesAsync(array $args = []) + * @method \Aws\Result getObjectInformation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectInformationAsync(array $args = []) + * @method \Aws\Result getSchemaAsJson(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSchemaAsJsonAsync(array $args = []) + * @method \Aws\Result getTypedLinkFacetInformation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTypedLinkFacetInformationAsync(array $args = []) + * @method \Aws\Result listAppliedSchemaArns(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAppliedSchemaArnsAsync(array $args = []) + * @method \Aws\Result listAttachedIndices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttachedIndicesAsync(array $args = []) + * @method \Aws\Result listDevelopmentSchemaArns(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevelopmentSchemaArnsAsync(array $args = []) + * @method \Aws\Result listDirectories(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDirectoriesAsync(array $args = []) + * @method \Aws\Result listFacetAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFacetAttributesAsync(array $args = []) + * @method \Aws\Result listFacetNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFacetNamesAsync(array $args = []) + * @method \Aws\Result listIncomingTypedLinks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIncomingTypedLinksAsync(array $args = []) + * @method \Aws\Result listIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIndexAsync(array $args = []) + * @method \Aws\Result listObjectAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectAttributesAsync(array $args = []) + * @method \Aws\Result listObjectChildren(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectChildrenAsync(array $args = []) + * @method \Aws\Result listObjectParentPaths(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectParentPathsAsync(array $args = []) + * @method \Aws\Result listObjectParents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectParentsAsync(array $args = []) + * @method \Aws\Result listObjectPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectPoliciesAsync(array $args = []) + * @method \Aws\Result listOutgoingTypedLinks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOutgoingTypedLinksAsync(array $args = []) + * @method \Aws\Result listPolicyAttachments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPolicyAttachmentsAsync(array $args = []) + * @method \Aws\Result listPublishedSchemaArns(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPublishedSchemaArnsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTypedLinkFacetAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTypedLinkFacetAttributesAsync(array $args = []) + * @method \Aws\Result listTypedLinkFacetNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTypedLinkFacetNamesAsync(array $args = []) + * @method \Aws\Result lookupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise lookupPolicyAsync(array $args = []) + * @method \Aws\Result publishSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise publishSchemaAsync(array $args = []) + * @method \Aws\Result putSchemaFromJson(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSchemaFromJsonAsync(array $args = []) + * @method \Aws\Result removeFacetFromObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeFacetFromObjectAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFacetAsync(array $args = []) + * @method \Aws\Result updateLinkAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLinkAttributesAsync(array $args = []) + * @method \Aws\Result updateObjectAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateObjectAttributesAsync(array $args = []) + * @method \Aws\Result updateSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSchemaAsync(array $args = []) + * @method \Aws\Result updateTypedLinkFacet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTypedLinkFacetAsync(array $args = []) + * @method \Aws\Result upgradeAppliedSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise upgradeAppliedSchemaAsync(array $args = []) + * @method \Aws\Result upgradePublishedSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise upgradePublishedSchemaAsync(array $args = []) + * @method \Aws\Result listManagedSchemaArns(array $args = []) (supported in versions 2017-01-11) + * @method \GuzzleHttp\Promise\Promise listManagedSchemaArnsAsync(array $args = []) (supported in versions 2017-01-11) + */ +class CloudDirectoryClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudDirectory/Exception/CloudDirectoryException.php b/lib/aws/Aws/CloudDirectory/Exception/CloudDirectoryException.php new file mode 100644 index 0000000..39d2898 --- /dev/null +++ b/lib/aws/Aws/CloudDirectory/Exception/CloudDirectoryException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudDirectory\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon CloudDirectory** service. + */ +class CloudDirectoryException extends AwsException {} diff --git a/lib/aws/Aws/CloudFormation/CloudFormationClient.php b/lib/aws/Aws/CloudFormation/CloudFormationClient.php new file mode 100644 index 0000000..af213e0 --- /dev/null +++ b/lib/aws/Aws/CloudFormation/CloudFormationClient.php @@ -0,0 +1,100 @@ +<?php +namespace Aws\CloudFormation; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CloudFormation** service. + * + * @method \Aws\Result cancelUpdateStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelUpdateStackAsync(array $args = []) + * @method \Aws\Result continueUpdateRollback(array $args = []) + * @method \GuzzleHttp\Promise\Promise continueUpdateRollbackAsync(array $args = []) + * @method \Aws\Result createChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createChangeSetAsync(array $args = []) + * @method \Aws\Result createStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = []) + * @method \Aws\Result createStackInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStackInstancesAsync(array $args = []) + * @method \Aws\Result createStackSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStackSetAsync(array $args = []) + * @method \Aws\Result deleteChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteChangeSetAsync(array $args = []) + * @method \Aws\Result deleteStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = []) + * @method \Aws\Result deleteStackInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStackInstancesAsync(array $args = []) + * @method \Aws\Result deleteStackSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStackSetAsync(array $args = []) + * @method \Aws\Result describeAccountLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = []) + * @method \Aws\Result describeChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeChangeSetAsync(array $args = []) + * @method \Aws\Result describeStackDriftDetectionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackDriftDetectionStatusAsync(array $args = []) + * @method \Aws\Result describeStackEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackEventsAsync(array $args = []) + * @method \Aws\Result describeStackInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackInstanceAsync(array $args = []) + * @method \Aws\Result describeStackResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackResourceAsync(array $args = []) + * @method \Aws\Result describeStackResourceDrifts(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackResourceDriftsAsync(array $args = []) + * @method \Aws\Result describeStackResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackResourcesAsync(array $args = []) + * @method \Aws\Result describeStackSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackSetAsync(array $args = []) + * @method \Aws\Result describeStackSetOperation(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackSetOperationAsync(array $args = []) + * @method \Aws\Result describeStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = []) + * @method \Aws\Result detectStackDrift(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectStackDriftAsync(array $args = []) + * @method \Aws\Result detectStackResourceDrift(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectStackResourceDriftAsync(array $args = []) + * @method \Aws\Result estimateTemplateCost(array $args = []) + * @method \GuzzleHttp\Promise\Promise estimateTemplateCostAsync(array $args = []) + * @method \Aws\Result executeChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise executeChangeSetAsync(array $args = []) + * @method \Aws\Result getStackPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStackPolicyAsync(array $args = []) + * @method \Aws\Result getTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTemplateAsync(array $args = []) + * @method \Aws\Result getTemplateSummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTemplateSummaryAsync(array $args = []) + * @method \Aws\Result listChangeSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listChangeSetsAsync(array $args = []) + * @method \Aws\Result listExports(array $args = []) + * @method \GuzzleHttp\Promise\Promise listExportsAsync(array $args = []) + * @method \Aws\Result listImports(array $args = []) + * @method \GuzzleHttp\Promise\Promise listImportsAsync(array $args = []) + * @method \Aws\Result listStackInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStackInstancesAsync(array $args = []) + * @method \Aws\Result listStackResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStackResourcesAsync(array $args = []) + * @method \Aws\Result listStackSetOperationResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStackSetOperationResultsAsync(array $args = []) + * @method \Aws\Result listStackSetOperations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStackSetOperationsAsync(array $args = []) + * @method \Aws\Result listStackSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStackSetsAsync(array $args = []) + * @method \Aws\Result listStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStacksAsync(array $args = []) + * @method \Aws\Result setStackPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise setStackPolicyAsync(array $args = []) + * @method \Aws\Result signalResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise signalResourceAsync(array $args = []) + * @method \Aws\Result stopStackSetOperation(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopStackSetOperationAsync(array $args = []) + * @method \Aws\Result updateStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = []) + * @method \Aws\Result updateStackInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStackInstancesAsync(array $args = []) + * @method \Aws\Result updateStackSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStackSetAsync(array $args = []) + * @method \Aws\Result updateTerminationProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTerminationProtectionAsync(array $args = []) + * @method \Aws\Result validateTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise validateTemplateAsync(array $args = []) + */ +class CloudFormationClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudFormation/Exception/CloudFormationException.php b/lib/aws/Aws/CloudFormation/Exception/CloudFormationException.php new file mode 100644 index 0000000..306188f --- /dev/null +++ b/lib/aws/Aws/CloudFormation/Exception/CloudFormationException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudFormation\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS CloudFormation service. + */ +class CloudFormationException extends AwsException {} diff --git a/lib/aws/Aws/CloudFront/CloudFrontClient.php b/lib/aws/Aws/CloudFront/CloudFrontClient.php new file mode 100644 index 0000000..7f7231c --- /dev/null +++ b/lib/aws/Aws/CloudFront/CloudFrontClient.php @@ -0,0 +1,190 @@ +<?php +namespace Aws\CloudFront; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudFront** service. + * + * @method \Aws\Result createCloudFrontOriginAccessIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCloudFrontOriginAccessIdentityAsync(array $args = []) + * @method \Aws\Result createDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDistributionAsync(array $args = []) + * @method \Aws\Result createInvalidation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInvalidationAsync(array $args = []) + * @method \Aws\Result createStreamingDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamingDistributionAsync(array $args = []) + * @method \Aws\Result deleteCloudFrontOriginAccessIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCloudFrontOriginAccessIdentityAsync(array $args = []) + * @method \Aws\Result deleteDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDistributionAsync(array $args = []) + * @method \Aws\Result deleteStreamingDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStreamingDistributionAsync(array $args = []) + * @method \Aws\Result getCloudFrontOriginAccessIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityAsync(array $args = []) + * @method \Aws\Result getCloudFrontOriginAccessIdentityConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityConfigAsync(array $args = []) + * @method \Aws\Result getDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDistributionAsync(array $args = []) + * @method \Aws\Result getDistributionConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDistributionConfigAsync(array $args = []) + * @method \Aws\Result getInvalidation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInvalidationAsync(array $args = []) + * @method \Aws\Result getStreamingDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStreamingDistributionAsync(array $args = []) + * @method \Aws\Result getStreamingDistributionConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStreamingDistributionConfigAsync(array $args = []) + * @method \Aws\Result listCloudFrontOriginAccessIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCloudFrontOriginAccessIdentitiesAsync(array $args = []) + * @method \Aws\Result listDistributions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDistributionsAsync(array $args = []) + * @method \Aws\Result listDistributionsByWebACLId(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDistributionsByWebACLIdAsync(array $args = []) + * @method \Aws\Result listInvalidations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInvalidationsAsync(array $args = []) + * @method \Aws\Result listStreamingDistributions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamingDistributionsAsync(array $args = []) + * @method \Aws\Result updateCloudFrontOriginAccessIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCloudFrontOriginAccessIdentityAsync(array $args = []) + * @method \Aws\Result updateDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDistributionAsync(array $args = []) + * @method \Aws\Result updateStreamingDistribution(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStreamingDistributionAsync(array $args = []) + * @method \Aws\Result createDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise createDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result createStreamingDistributionWithTags(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise createStreamingDistributionWithTagsAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result listTagsForResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result tagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result untagResource(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2016-08-01, 2016-08-20, 2016-09-07, 2016-09-29, 2016-11-25, 2017-03-25, 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result deleteServiceLinkedRole(array $args = []) (supported in versions 2017-03-25) + * @method \GuzzleHttp\Promise\Promise deleteServiceLinkedRoleAsync(array $args = []) (supported in versions 2017-03-25) + * @method \Aws\Result createFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise createFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result createFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise createFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result createPublicKey(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise createPublicKeyAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result deleteFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise deleteFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result deleteFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise deleteFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result deletePublicKey(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise deletePublicKeyAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getFieldLevelEncryption(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getFieldLevelEncryptionProfileConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getFieldLevelEncryptionProfileConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getPublicKey(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getPublicKeyAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result getPublicKeyConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise getPublicKeyConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result listFieldLevelEncryptionConfigs(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise listFieldLevelEncryptionConfigsAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result listFieldLevelEncryptionProfiles(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise listFieldLevelEncryptionProfilesAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result listPublicKeys(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise listPublicKeysAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result updateFieldLevelEncryptionConfig(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise updateFieldLevelEncryptionConfigAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result updateFieldLevelEncryptionProfile(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise updateFieldLevelEncryptionProfileAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \Aws\Result updatePublicKey(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + * @method \GuzzleHttp\Promise\Promise updatePublicKeyAsync(array $args = []) (supported in versions 2017-10-30, 2018-06-18, 2018-11-05) + */ +class CloudFrontClient extends AwsClient +{ + /** + * Create a signed Amazon CloudFront URL. + * + * This method accepts an array of configuration options: + * + * - url: (string) URL of the resource being signed (can include query + * string and wildcards). For example: rtmp://s5c39gqb8ow64r.cloudfront.net/videos/mp3_name.mp3 + * http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes + * - policy: (string) JSON policy. Use this option when creating a signed + * URL for a custom policy. + * - expires: (int) UTC Unix timestamp used when signing with a canned + * policy. Not required when passing a custom 'policy' option. + * - key_pair_id: (string) The ID of the key pair used to sign CloudFront + * URLs for private distributions. + * - private_key: (string) The filepath ot the private key used to sign + * CloudFront URLs for private distributions. + * + * @param array $options Array of configuration options used when signing + * + * @return string Signed URL with authentication parameters + * @throws \InvalidArgumentException if url, key_pair_id, or private_key + * were not specified. + * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html + */ + public function getSignedUrl(array $options) + { + foreach (['url', 'key_pair_id', 'private_key'] as $required) { + if (!isset($options[$required])) { + throw new \InvalidArgumentException("$required is required"); + } + } + + $urlSigner = new UrlSigner( + $options['key_pair_id'], + $options['private_key'] + ); + + return $urlSigner->getSignedUrl( + $options['url'], + isset($options['expires']) ? $options['expires'] : null, + isset($options['policy']) ? $options['policy'] : null + ); + } + + /** + * Create a signed Amazon CloudFront cookie. + * + * This method accepts an array of configuration options: + * + * - url: (string) URL of the resource being signed (can include query + * string and wildcards). For example: http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes + * - policy: (string) JSON policy. Use this option when creating a signed + * URL for a custom policy. + * - expires: (int) UTC Unix timestamp used when signing with a canned + * policy. Not required when passing a custom 'policy' option. + * - key_pair_id: (string) The ID of the key pair used to sign CloudFront + * URLs for private distributions. + * - private_key: (string) The filepath ot the private key used to sign + * CloudFront URLs for private distributions. + * + * @param array $options Array of configuration options used when signing + * + * @return array Key => value pairs of signed cookies to set + * @throws \InvalidArgumentException if url, key_pair_id, or private_key + * were not specified. + * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html + */ + public function getSignedCookie(array $options) + { + foreach (['key_pair_id', 'private_key'] as $required) { + if (!isset($options[$required])) { + throw new \InvalidArgumentException("$required is required"); + } + } + + $cookieSigner = new CookieSigner( + $options['key_pair_id'], + $options['private_key'] + ); + + return $cookieSigner->getSignedCookie( + isset($options['url']) ? $options['url'] : null, + isset($options['expires']) ? $options['expires'] : null, + isset($options['policy']) ? $options['policy'] : null + ); + } +} diff --git a/lib/aws/Aws/CloudFront/CookieSigner.php b/lib/aws/Aws/CloudFront/CookieSigner.php new file mode 100644 index 0000000..048c098 --- /dev/null +++ b/lib/aws/Aws/CloudFront/CookieSigner.php @@ -0,0 +1,65 @@ +<?php +namespace Aws\CloudFront; + +class CookieSigner +{ + /** @var Signer */ + private $signer; + + private static $schemes = [ + 'http' => true, + 'https' => true, + ]; + + /** + * @param $keyPairId string ID of the key pair + * @param $privateKey string Path to the private key used for signing + * + * @throws \RuntimeException if the openssl extension is missing + * @throws \InvalidArgumentException if the private key cannot be found. + */ + public function __construct($keyPairId, $privateKey) + { + $this->signer = new Signer($keyPairId, $privateKey); + } + + /** + * Create a signed Amazon CloudFront Cookie. + * + * @param string $url URL to sign (can include query string + * and wildcards). Not required + * when passing a custom $policy. + * @param string|integer|null $expires UTC Unix timestamp used when signing + * with a canned policy. Not required + * when passing a custom $policy. + * @param string $policy JSON policy. Use this option when + * creating a signed cookie for a custom + * policy. + * + * @return array The authenticated cookie parameters + * @throws \InvalidArgumentException if the URL provided is invalid + * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-cookies.html + */ + public function getSignedCookie($url = null, $expires = null, $policy = null) + { + if ($url) { + $this->validateUrl($url); + } + + $cookieParameters = []; + $signature = $this->signer->getSignature($url, $expires, $policy); + foreach ($signature as $key => $value) { + $cookieParameters["CloudFront-$key"] = $value; + } + + return $cookieParameters; + } + + private function validateUrl($url) + { + $scheme = str_replace('*', '', explode('://', $url)[0]); + if (empty(self::$schemes[strtolower($scheme)])) { + throw new \InvalidArgumentException('Invalid or missing URI scheme'); + } + } +} diff --git a/lib/aws/Aws/CloudFront/Exception/CloudFrontException.php b/lib/aws/Aws/CloudFront/Exception/CloudFrontException.php new file mode 100644 index 0000000..1acdf2c --- /dev/null +++ b/lib/aws/Aws/CloudFront/Exception/CloudFrontException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudFront\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon CloudFront service. + */ +class CloudFrontException extends AwsException {} diff --git a/lib/aws/Aws/CloudFront/Signer.php b/lib/aws/Aws/CloudFront/Signer.php new file mode 100644 index 0000000..d8e14be --- /dev/null +++ b/lib/aws/Aws/CloudFront/Signer.php @@ -0,0 +1,117 @@ +<?php +namespace Aws\CloudFront; + +/** + * @internal + */ +class Signer +{ + private $keyPairId; + private $pkHandle; + + /** + * 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 + * + * @throws \RuntimeException if the openssl extension is missing + * @throws \InvalidArgumentException if the private key cannot be found. + */ + public function __construct($keyPairId, $privateKey) + { + if (!extension_loaded('openssl')) { + //@codeCoverageIgnoreStart + throw new \RuntimeException('The openssl extension is required to ' + . 'sign CloudFront urls.'); + //@codeCoverageIgnoreEnd + } + + $this->keyPairId = $keyPairId; + + if (!file_exists($privateKey)) { + throw new \InvalidArgumentException("PK file not found: $privateKey"); + } + + $this->pkHandle = openssl_pkey_get_private("file://$privateKey"); + + if (!$this->pkHandle) { + throw new \InvalidArgumentException(openssl_error_string()); + } + } + + public function __destruct() + { + $this->pkHandle && openssl_pkey_free($this->pkHandle); + } + + /** + * Create the values used to construct signed URLs and cookies. + * + * @param string $resource The CloudFront resource to which + * this signature will grant access. + * Not used when a custom policy is + * provided. + * @param string|integer|null $expires UTC Unix timestamp used when + * signing with a canned policy. + * Not required when passing a + * custom $policy. + * @param string $policy JSON policy. Use this option when + * creating a signature for a custom + * policy. + * + * @return array The values needed to construct a signed URL or cookie + * @throws \InvalidArgumentException when not provided either a policy or a + * resource and a expires + * + * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-cookies.html + */ + public function getSignature($resource = null, $expires = null, $policy = null) + { + $signatureHash = []; + if ($policy) { + $policy = preg_replace('/\s/s', '', $policy); + $signatureHash['Policy'] = $this->encode($policy); + } elseif ($resource && $expires) { + $expires = (int) $expires; // Handle epoch passed as string + $policy = $this->createCannedPolicy($resource, $expires); + $signatureHash['Expires'] = $expires; + } else { + throw new \InvalidArgumentException('Either a policy or a resource' + . ' and an expiration time must be provided.'); + } + + $signatureHash['Signature'] = $this->encode($this->sign($policy)); + $signatureHash['Key-Pair-Id'] = $this->keyPairId; + + return $signatureHash; + } + + private function createCannedPolicy($resource, $expiration) + { + return json_encode([ + 'Statement' => [ + [ + 'Resource' => $resource, + 'Condition' => [ + 'DateLessThan' => ['AWS:EpochTime' => $expiration], + ], + ], + ], + ], JSON_UNESCAPED_SLASHES); + } + + private function sign($policy) + { + $signature = ''; + openssl_sign($policy, $signature, $this->pkHandle); + + return $signature; + } + + private function encode($policy) + { + return strtr(base64_encode($policy), '+=/', '-_~'); + } +} diff --git a/lib/aws/Aws/CloudFront/UrlSigner.php b/lib/aws/Aws/CloudFront/UrlSigner.php new file mode 100644 index 0000000..4a89f37 --- /dev/null +++ b/lib/aws/Aws/CloudFront/UrlSigner.php @@ -0,0 +1,119 @@ +<?php +namespace Aws\CloudFront; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\Uri; +use Psr\Http\Message\UriInterface; + +/** + * Creates signed URLs for Amazon CloudFront resources. + */ +class UrlSigner +{ + private $signer; + + /** + * @param $keyPairId string ID of the key pair + * @param $privateKey string Path to the private key used for signing + * + * @throws \RuntimeException if the openssl extension is missing + * @throws \InvalidArgumentException if the private key cannot be found. + */ + public function __construct($keyPairId, $privateKey) + { + $this->signer = new Signer($keyPairId, $privateKey); + } + + /** + * Create a signed Amazon CloudFront URL. + * + * Keep in mind that URLs meant for use in media/flash players may have + * different requirements for URL formats (e.g. some require that the + * extension be removed, some require the file name to be prefixed + * - mp4:<path>, some require you to add "/cfx/st" into your URL). + * + * @param string $url URL to sign (can include query + * string string and wildcards) + * @param string|integer|null $expires UTC Unix timestamp used when signing + * with a canned policy. Not required + * when passing a custom $policy. + * @param string $policy JSON policy. Use this option when + * creating a signed URL for a custom + * policy. + * + * @return string The file URL with authentication parameters + * @throws \InvalidArgumentException if the URL provided is invalid + * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html + */ + public function getSignedUrl($url, $expires = null, $policy = null) + { + // Determine the scheme of the url + $urlSections = explode('://', $url); + + if (count($urlSections) < 2) { + throw new \InvalidArgumentException("Invalid URL: {$url}"); + } + + // Get the real scheme by removing wildcards from the scheme + $scheme = str_replace('*', '', $urlSections[0]); + $uri = new Uri($scheme . '://' . $urlSections[1]); + $query = Psr7\parse_query($uri->getQuery(), PHP_QUERY_RFC3986); + $signature = $this->signer->getSignature( + $this->createResource($scheme, (string) $uri), + $expires, + $policy + ); + $uri = $uri->withQuery( + http_build_query($query + $signature, null, '&', PHP_QUERY_RFC3986) + ); + + return $scheme === 'rtmp' + ? $this->createRtmpUrl($uri) + : (string) $uri; + } + + private function createRtmpUrl(UriInterface $uri) + { + // Use a relative URL when creating Flash player URLs + $result = ltrim($uri->getPath(), '/'); + + if ($query = $uri->getQuery()) { + $result .= '?' . $query; + } + + return $result; + } + + /** + * @param $scheme + * @param $url + * + * @return string + */ + private function createResource($scheme, $url) + { + switch ($scheme) { + case 'http': + case 'http*': + case 'https': + return $url; + case 'rtmp': + $parts = parse_url($url); + $pathParts = pathinfo($parts['path']); + $resource = ltrim( + $pathParts['dirname'] . '/' . $pathParts['basename'], + '/' + ); + + // Add a query string if present. + if (isset($parts['query'])) { + $resource .= "?{$parts['query']}"; + } + + return $resource; + } + + throw new \InvalidArgumentException("Invalid URI scheme: {$scheme}. " + . "Scheme must be one of: http, https, or rtmp"); + } +} diff --git a/lib/aws/Aws/CloudHSMV2/CloudHSMV2Client.php b/lib/aws/Aws/CloudHSMV2/CloudHSMV2Client.php new file mode 100644 index 0000000..bcdadff --- /dev/null +++ b/lib/aws/Aws/CloudHSMV2/CloudHSMV2Client.php @@ -0,0 +1,35 @@ +<?php +namespace Aws\CloudHSMV2; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CloudHSM V2** service. + * @method \Aws\Result copyBackupToRegion(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyBackupToRegionAsync(array $args = []) + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result createHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHsmAsync(array $args = []) + * @method \Aws\Result deleteBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result deleteHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHsmAsync(array $args = []) + * @method \Aws\Result describeBackups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBackupsAsync(array $args = []) + * @method \Aws\Result describeClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = []) + * @method \Aws\Result initializeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise initializeClusterAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result restoreBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreBackupAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + */ +class CloudHSMV2Client extends AwsClient {} diff --git a/lib/aws/Aws/CloudHSMV2/Exception/CloudHSMV2Exception.php b/lib/aws/Aws/CloudHSMV2/Exception/CloudHSMV2Exception.php new file mode 100644 index 0000000..4c1459d --- /dev/null +++ b/lib/aws/Aws/CloudHSMV2/Exception/CloudHSMV2Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudHSMV2\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS CloudHSM V2** service. + */ +class CloudHSMV2Exception extends AwsException {} diff --git a/lib/aws/Aws/CloudHsm/CloudHsmClient.php b/lib/aws/Aws/CloudHsm/CloudHsmClient.php new file mode 100644 index 0000000..78a6cfa --- /dev/null +++ b/lib/aws/Aws/CloudHsm/CloudHsmClient.php @@ -0,0 +1,84 @@ +<?php +namespace Aws\CloudHsm; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\AwsClient; + +/** + * This client is used to interact with **AWS CloudHSM**. + * + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result createHapg(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHapgAsync(array $args = []) + * @method \Aws\Result createHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHsmAsync(array $args = []) + * @method \Aws\Result createLunaClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLunaClientAsync(array $args = []) + * @method \Aws\Result deleteHapg(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHapgAsync(array $args = []) + * @method \Aws\Result deleteHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHsmAsync(array $args = []) + * @method \Aws\Result deleteLunaClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLunaClientAsync(array $args = []) + * @method \Aws\Result describeHapg(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHapgAsync(array $args = []) + * @method \Aws\Result describeHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHsmAsync(array $args = []) + * @method \Aws\Result describeLunaClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLunaClientAsync(array $args = []) + * @method \Aws\Result getConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConfigAsync(array $args = []) + * @method \Aws\Result listAvailableZones(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAvailableZonesAsync(array $args = []) + * @method \Aws\Result listHapgs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHapgsAsync(array $args = []) + * @method \Aws\Result listHsms(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHsmsAsync(array $args = []) + * @method \Aws\Result listLunaClients(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLunaClientsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyHapg(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyHapgAsync(array $args = []) + * @method \Aws\Result modifyHsm(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyHsmAsync(array $args = []) + * @method \Aws\Result modifyLunaClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyLunaClientAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + */ +class CloudHsmClient extends AwsClient +{ + public function __call($name, array $args) + { + // Overcomes a naming collision with `AwsClient::getConfig`. + if (lcfirst($name) === 'getConfigFiles') { + $name = 'GetConfig'; + } elseif (lcfirst($name) === 'getConfigFilesAsync') { + $name = 'GetConfigAsync'; + } + + return parent::__call($name, $args); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + // Overcomes a naming collision with `AwsClient::getConfig`. + $api['operations']['GetConfigFiles'] = $api['operations']['GetConfig']; + $docs['operations']['GetConfigFiles'] = $docs['operations']['GetConfig']; + unset($api['operations']['GetConfig'], $docs['operations']['GetConfig']); + ksort($api['operations']); + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/CloudHsm/Exception/CloudHsmException.php b/lib/aws/Aws/CloudHsm/Exception/CloudHsmException.php new file mode 100644 index 0000000..e54c649 --- /dev/null +++ b/lib/aws/Aws/CloudHsm/Exception/CloudHsmException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudHsm\Exception; + +use Aws\Exception\AwsException; + +/** + * AWS CloudHSM exception. + */ +class CloudHsmException extends AwsException {} diff --git a/lib/aws/Aws/CloudSearch/CloudSearchClient.php b/lib/aws/Aws/CloudSearch/CloudSearchClient.php new file mode 100644 index 0000000..f0aad1a --- /dev/null +++ b/lib/aws/Aws/CloudSearch/CloudSearchClient.php @@ -0,0 +1,58 @@ +<?php +namespace Aws\CloudSearch; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudSearch** service. + * + * @method \Aws\Result buildSuggesters(array $args = []) + * @method \GuzzleHttp\Promise\Promise buildSuggestersAsync(array $args = []) + * @method \Aws\Result createDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainAsync(array $args = []) + * @method \Aws\Result defineAnalysisScheme(array $args = []) + * @method \GuzzleHttp\Promise\Promise defineAnalysisSchemeAsync(array $args = []) + * @method \Aws\Result defineExpression(array $args = []) + * @method \GuzzleHttp\Promise\Promise defineExpressionAsync(array $args = []) + * @method \Aws\Result defineIndexField(array $args = []) + * @method \GuzzleHttp\Promise\Promise defineIndexFieldAsync(array $args = []) + * @method \Aws\Result defineSuggester(array $args = []) + * @method \GuzzleHttp\Promise\Promise defineSuggesterAsync(array $args = []) + * @method \Aws\Result deleteAnalysisScheme(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAnalysisSchemeAsync(array $args = []) + * @method \Aws\Result deleteDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainAsync(array $args = []) + * @method \Aws\Result deleteExpression(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteExpressionAsync(array $args = []) + * @method \Aws\Result deleteIndexField(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIndexFieldAsync(array $args = []) + * @method \Aws\Result deleteSuggester(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSuggesterAsync(array $args = []) + * @method \Aws\Result describeAnalysisSchemes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAnalysisSchemesAsync(array $args = []) + * @method \Aws\Result describeAvailabilityOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAvailabilityOptionsAsync(array $args = []) + * @method \Aws\Result describeDomains(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDomainsAsync(array $args = []) + * @method \Aws\Result describeExpressions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExpressionsAsync(array $args = []) + * @method \Aws\Result describeIndexFields(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIndexFieldsAsync(array $args = []) + * @method \Aws\Result describeScalingParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingParametersAsync(array $args = []) + * @method \Aws\Result describeServiceAccessPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServiceAccessPoliciesAsync(array $args = []) + * @method \Aws\Result describeSuggesters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSuggestersAsync(array $args = []) + * @method \Aws\Result indexDocuments(array $args = []) + * @method \GuzzleHttp\Promise\Promise indexDocumentsAsync(array $args = []) + * @method \Aws\Result listDomainNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDomainNamesAsync(array $args = []) + * @method \Aws\Result updateAvailabilityOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAvailabilityOptionsAsync(array $args = []) + * @method \Aws\Result updateScalingParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateScalingParametersAsync(array $args = []) + * @method \Aws\Result updateServiceAccessPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceAccessPoliciesAsync(array $args = []) + */ +class CloudSearchClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudSearch/Exception/CloudSearchException.php b/lib/aws/Aws/CloudSearch/Exception/CloudSearchException.php new file mode 100644 index 0000000..d0f51c5 --- /dev/null +++ b/lib/aws/Aws/CloudSearch/Exception/CloudSearchException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudSearch\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon CloudSearch service. + */ +class CloudSearchException extends AwsException {} diff --git a/lib/aws/Aws/CloudSearchDomain/CloudSearchDomainClient.php b/lib/aws/Aws/CloudSearchDomain/CloudSearchDomainClient.php new file mode 100644 index 0000000..6851ce0 --- /dev/null +++ b/lib/aws/Aws/CloudSearchDomain/CloudSearchDomainClient.php @@ -0,0 +1,84 @@ +<?php +namespace Aws\CloudSearchDomain; + +use Aws\AwsClient; +use Aws\CommandInterface; +use GuzzleHttp\Psr7\Uri; +use Psr\Http\Message\RequestInterface; +use GuzzleHttp\Psr7; + +/** + * This client is used to search and upload documents to an **Amazon CloudSearch** Domain. + * + * @method \Aws\Result search(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchAsync(array $args = []) + * @method \Aws\Result suggest(array $args = []) + * @method \GuzzleHttp\Promise\Promise suggestAsync(array $args = []) + * @method \Aws\Result uploadDocuments(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadDocumentsAsync(array $args = []) + */ +class CloudSearchDomainClient extends AwsClient +{ + public function __construct(array $args) + { + parent::__construct($args); + $list = $this->getHandlerList(); + $list->appendBuild($this->searchByPost(), 'cloudsearchdomain.search_by_POST'); + } + + public static function getArguments() + { + $args = parent::getArguments(); + $args['endpoint']['required'] = true; + $args['region']['default'] = function (array $args) { + // Determine the region from the provided endpoint. + // (e.g. http://search-blah.{region}.cloudsearch.amazonaws.com) + return explode('.', new Uri($args['endpoint']))[1]; + }; + + return $args; + } + + /** + * Use POST for search command + * + * Useful when query string is too long + */ + private function searchByPost() + { + return static function (callable $handler) { + return function ( + CommandInterface $c, + RequestInterface $r = null + ) use ($handler) { + if ($c->getName() !== 'Search') { + return $handler($c, $r); + } + return $handler($c, self::convertGetToPost($r)); + }; + }; + } + + /** + * Converts default GET request to a POST request + * + * Avoiding length restriction in query + * + * @param RequestInterface $r GET request to be converted + * @return RequestInterface $req converted POST request + */ + public static function convertGetToPost(RequestInterface $r) + { + if ($r->getMethod() === 'POST') { + return $r; + } + + $query = $r->getUri()->getQuery(); + $req = $r->withMethod('POST') + ->withBody(Psr7\stream_for($query)) + ->withHeader('Content-Length', strlen($query)) + ->withHeader('Content-Type', 'application/x-www-form-urlencoded') + ->withUri($r->getUri()->withQuery('')); + return $req; + } +} diff --git a/lib/aws/Aws/CloudSearchDomain/Exception/CloudSearchDomainException.php b/lib/aws/Aws/CloudSearchDomain/Exception/CloudSearchDomainException.php new file mode 100644 index 0000000..2272971 --- /dev/null +++ b/lib/aws/Aws/CloudSearchDomain/Exception/CloudSearchDomainException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudSearchDomain\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with an Amazon CloudSearch Domain. + */ +class CloudSearchDomainException extends AwsException {} diff --git a/lib/aws/Aws/CloudTrail/CloudTrailClient.php b/lib/aws/Aws/CloudTrail/CloudTrailClient.php new file mode 100644 index 0000000..440ebe7 --- /dev/null +++ b/lib/aws/Aws/CloudTrail/CloudTrailClient.php @@ -0,0 +1,38 @@ +<?php +namespace Aws\CloudTrail; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CloudTrail** service. + * + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result createTrail(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrailAsync(array $args = []) + * @method \Aws\Result deleteTrail(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTrailAsync(array $args = []) + * @method \Aws\Result describeTrails(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrailsAsync(array $args = []) + * @method \Aws\Result getEventSelectors(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEventSelectorsAsync(array $args = []) + * @method \Aws\Result getTrailStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTrailStatusAsync(array $args = []) + * @method \Aws\Result listPublicKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPublicKeysAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result lookupEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise lookupEventsAsync(array $args = []) + * @method \Aws\Result putEventSelectors(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEventSelectorsAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result startLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise startLoggingAsync(array $args = []) + * @method \Aws\Result stopLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopLoggingAsync(array $args = []) + * @method \Aws\Result updateTrail(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTrailAsync(array $args = []) + */ +class CloudTrailClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudTrail/Exception/CloudTrailException.php b/lib/aws/Aws/CloudTrail/Exception/CloudTrailException.php new file mode 100644 index 0000000..b3eb9f3 --- /dev/null +++ b/lib/aws/Aws/CloudTrail/Exception/CloudTrailException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudTrail\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS CloudTrail service. + */ +class CloudTrailException extends AwsException {} diff --git a/lib/aws/Aws/CloudTrail/LogFileIterator.php b/lib/aws/Aws/CloudTrail/LogFileIterator.php new file mode 100644 index 0000000..4064663 --- /dev/null +++ b/lib/aws/Aws/CloudTrail/LogFileIterator.php @@ -0,0 +1,324 @@ +<?php +namespace Aws\CloudTrail; + +use Aws\S3\S3Client; +use Aws\CloudTrail\Exception\CloudTrailException; + +/** + * The `Aws\CloudTrail\LogFileIterator` provides an easy way to iterate over + * log file generated by AWS CloudTrail. + * + * CloudTrail log files contain data about your AWS API calls and are stored in + * Amazon S3 at a predictable path based on a bucket name, a key prefix, an + * account ID, a region, and date information. This class allows you to specify + * options, including a date range, and emits each log file that match the + * provided options. + * + * Yields an array containing the Amazon S3 bucket and key of the log file. + */ +class LogFileIterator extends \IteratorIterator +{ + // For internal use + const DEFAULT_TRAIL_NAME = 'Default'; + const PREFIX_TEMPLATE = 'prefix/AWSLogs/account/CloudTrail/region/date/'; + const PREFIX_WILDCARD = '*'; + + // Option names used internally or externally + const TRAIL_NAME = 'trail_name'; + const KEY_PREFIX = 'key_prefix'; + const START_DATE = 'start_date'; + const END_DATE = 'end_date'; + const ACCOUNT_ID = 'account_id'; + const LOG_REGION = 'log_region'; + + /** @var S3Client S3 client used to perform ListObjects operations */ + private $s3Client; + + /** @var string S3 bucket that contains the log files */ + private $s3BucketName; + + /** + * Constructs a LogRecordIterator. This factory method is used if the name + * of the S3 bucket containing your logs is not known. This factory method + * uses a CloudTrail client and the trail name (or "Default") to find the + * information about the trail necessary for constructing the + * LogRecordIterator. + * + * @param S3Client $s3Client + * @param CloudTrailClient $cloudTrailClient + * @param array $options + * + * @return LogRecordIterator + * @throws \InvalidArgumentException + * @see LogRecordIterator::__contruct + */ + public static function forTrail( + S3Client $s3Client, + CloudTrailClient $cloudTrailClient, + array $options = [] + ) { + $trailName = isset($options[self::TRAIL_NAME]) + ? $options[self::TRAIL_NAME] + : self::DEFAULT_TRAIL_NAME; + + $s3BucketName = null; + + // Use the CloudTrail client to get information about the trail, + // including the bucket name. + try { + $result = $cloudTrailClient->describeTrails([ + 'trailNameList' => [$trailName] + ]); + $s3BucketName = $result->search('trailList[0].S3BucketName'); + $options[self::KEY_PREFIX] = $result->search( + 'trailList[0].S3KeyPrefix' + ); + } catch (CloudTrailException $e) { + // There was an error describing the trail + } + + // If the bucket name is still unknown, then throw an exception + if (!$s3BucketName) { + $prev = isset($e) ? $e : null; + throw new \InvalidArgumentException('The bucket name could not ' + . 'be determined from the trail.', 0, $prev); + } + + return new self($s3Client, $s3BucketName, $options); + } + + /** + * Constructs a LogFileIterator using the specified options: + * + * - trail_name: The name of the trail that is generating our logs. If + * none is provided, then "Default" will be used, since that is the name + * of the trail created in the AWS Management Console. + * - key_prefix: The S3 key prefix of your log files. This value will be + * overwritten when using the `fromTrail()` method. However, if you are + * using the constructor, then this value will be used. + * - start_date: The timestamp of the beginning of date range of the log + * records you want to read. You can pass this in as a `DateTime` object, + * integer (unix timestamp), or a string compatible with `strtotime()`. + * - end_date: The timestamp of the end of date range of the log records + * you want to read. You can pass this in as a `DateTime` object, integer + * (unix timestamp), or a string compatible with `strtotime()`. + * - account_id: This is your AWS account ID, which is the 12-digit number + * found on the *Account Identifiers* section of the *AWS Security + * Credentials* page. See https://console.aws.amazon.com/iam/home?#security_credential + * - log_region: Region of the services of the log records you want to read. + * + * @param S3Client $s3Client + * @param string $s3BucketName + * @param array $options + */ + public function __construct( + S3Client $s3Client, + $s3BucketName, + array $options = [] + ) { + $this->s3Client = $s3Client; + $this->s3BucketName = $s3BucketName; + parent::__construct($this->buildListObjectsIterator($options)); + } + + /** + * An override of the typical current behavior of \IteratorIterator to + * format the output such that the bucket and key are returned in an array + * + * @return array|bool + */ + public function current() + { + if ($object = parent::current()) { + return [ + 'Bucket' => $this->s3BucketName, + 'Key' => $object['Key'] + ]; + } + + return false; + } + + /** + * Constructs an S3 ListObjects iterator, optionally decorated with + * FilterIterators, based on the provided options. + * + * @param array $options + * + * @return \Iterator + */ + private function buildListObjectsIterator(array $options) + { + // Extract and normalize the date values from the options + $startDate = isset($options[self::START_DATE]) + ? $this->normalizeDateValue($options[self::START_DATE]) + : null; + $endDate = isset($options[self::END_DATE]) + ? $this->normalizeDateValue($options[self::END_DATE]) + : null; + + // Determine the parts of the key prefix of the log files being read + $parts = [ + 'prefix' => isset($options[self::KEY_PREFIX]) + ? $options[self::KEY_PREFIX] + : null, + 'account' => isset($options[self::ACCOUNT_ID]) + ? $options[self::ACCOUNT_ID] + : self::PREFIX_WILDCARD, + 'region' => isset($options[self::LOG_REGION]) + ? $options[self::LOG_REGION] + : self::PREFIX_WILDCARD, + 'date' => $this->determineDateForPrefix($startDate, $endDate), + ]; + + // Determine the longest key prefix that can be used to retrieve all + // of the relevant log files. + $candidatePrefix = ltrim(strtr(self::PREFIX_TEMPLATE, $parts), '/'); + $logKeyPrefix = $candidatePrefix; + $index = strpos($candidatePrefix, self::PREFIX_WILDCARD); + + if ($index !== false) { + $logKeyPrefix = substr($candidatePrefix, 0, $index); + } + + // Create an iterator that will emit all of the objects matching the + // key prefix. + $objectsIterator = $this->s3Client->getIterator('ListObjects', [ + 'Bucket' => $this->s3BucketName, + 'Prefix' => $logKeyPrefix, + ]); + + // Apply regex and/or date filters to the objects iterator to emit only + // log files matching the options. + $objectsIterator = $this->applyRegexFilter( + $objectsIterator, + $logKeyPrefix, + $candidatePrefix + ); + + $objectsIterator = $this->applyDateFilter( + $objectsIterator, + $startDate, + $endDate + ); + + return $objectsIterator; + } + + /** + * Normalizes a date value to a unix timestamp + * + * @param string|\DateTime|int $date + * + * @return int + * @throws \InvalidArgumentException if the value cannot be converted to + * a timestamp + */ + private function normalizeDateValue($date) + { + if (is_string($date)) { + $date = strtotime($date); + } elseif ($date instanceof \DateTime) { + $date = $date->format('U'); + } elseif (!is_int($date)) { + throw new \InvalidArgumentException('Date values must be a ' + . 'string, an int, or a DateTime object.'); + } + + return $date; + } + + /** + * Uses the provided date values to determine the date portion of the prefix + */ + private function determineDateForPrefix($startDate, $endDate) + { + // The default date value should look like "*/*/*" after joining + $dateParts = array_fill_keys(['Y', 'm', 'd'], self::PREFIX_WILDCARD); + + // Narrow down the date by replacing the WILDCARDs with values if they + // are the same for the start and end date. + if ($startDate && $endDate) { + foreach ($dateParts as $key => &$value) { + $candidateValue = date($key, $startDate); + if ($candidateValue === date($key, $endDate)) { + $value = $candidateValue; + } else { + break; + } + } + } + + return join('/', $dateParts); + } + + /** + * Applies a regex iterator filter that limits the ListObjects result set + * based on the provided options. + * + * @param \Iterator $objectsIterator + * @param string $logKeyPrefix + * @param string $candidatePrefix + * + * @return \Iterator + */ + private function applyRegexFilter( + $objectsIterator, + $logKeyPrefix, + $candidatePrefix + ) { + // If the prefix and candidate prefix are not the same, then there were + // WILDCARDs. + if ($logKeyPrefix !== $candidatePrefix) { + // Turn the candidate prefix into a regex by trimming and + // converting WILDCARDs to regex notation. + $regex = rtrim($candidatePrefix, '/' . self::PREFIX_WILDCARD) . '/'; + $regex = strtr($regex, [self::PREFIX_WILDCARD => '[^/]+']); + + // After trimming WILDCARDs or the end, if the regex is the same as + // the prefix, then no regex is needed. + if ($logKeyPrefix !== $regex) { + // Apply a regex filter iterator to remove files that don't + // match the provided options. + $objectsIterator = new \CallbackFilterIterator( + $objectsIterator, + function ($object) use ($regex) { + return preg_match("#{$regex}#", $object['Key']); + } + ); + } + } + + return $objectsIterator; + } + + /** + * Applies an iterator filter to restrict the ListObjects result set to the + * specified date range. + * + * @param \Iterator $objectsIterator + * @param int $startDate + * @param int $endDate + * + * @return \Iterator + */ + private function applyDateFilter($objectsIterator, $startDate, $endDate) + { + // If either a start or end date was provided, filter out dates that + // don't match the date range. + if ($startDate || $endDate) { + $fn = function ($object) use ($startDate, $endDate) { + if (!preg_match('/[0-9]{8}T[0-9]{4}Z/', $object['Key'], $m)) { + return false; + } + $date = strtotime($m[0]); + + return (!$startDate || $date >= $startDate) + && (!$endDate || $date <= $endDate); + }; + $objectsIterator = new \CallbackFilterIterator($objectsIterator, $fn); + } + + return $objectsIterator; + } +} diff --git a/lib/aws/Aws/CloudTrail/LogFileReader.php b/lib/aws/Aws/CloudTrail/LogFileReader.php new file mode 100644 index 0000000..e61c10a --- /dev/null +++ b/lib/aws/Aws/CloudTrail/LogFileReader.php @@ -0,0 +1,55 @@ +<?php +namespace Aws\CloudTrail; + +use Aws\S3\S3Client; + +/** + * This class provides an easy way to read log files generated by AWS + * CloudTrail. + * + * CloudTrail log files contain data about your AWS API calls and are stored in + * Amazon S3. The log files are gzipped and contain structured data in JSON + * format. This class will automatically ungzip and decode the data, and return + * the data as a array of log records + */ +class LogFileReader +{ + /** @var S3Client S3 client used to perform GetObject operations */ + private $s3Client; + + /** + * @param S3Client $s3Client S3 client used to retrieve objects + */ + public function __construct(S3Client $s3Client) + { + $this->s3Client = $s3Client; + } + + /** + * Downloads, unzips, and reads a CloudTrail log file from Amazon S3 + * + * @param string $s3BucketName The bucket name of the log file in Amazon S3 + * @param string $logFileKey The key of the log file in Amazon S3 + * + * @return array + */ + public function read($s3BucketName, $logFileKey) + { + // Create a command for getting the log file object + $command = $this->s3Client->getCommand('GetObject', [ + 'Bucket' => (string) $s3BucketName, + 'Key' => (string) $logFileKey, + 'ResponseContentEncoding' => 'x-gzip' + ]); + + // Make sure gzip encoding header is sent and accepted in order to + // inflate the response data. + $command['@http']['headers']['Accept-Encoding'] = 'gzip'; + + // Get the JSON response data and extract the log records + $result = $this->s3Client->execute($command); + $logData = json_decode($result['Body'], true); + + return isset($logData['Records']) ? $logData['Records'] : []; + } +} diff --git a/lib/aws/Aws/CloudTrail/LogRecordIterator.php b/lib/aws/Aws/CloudTrail/LogRecordIterator.php new file mode 100644 index 0000000..40d5d8c --- /dev/null +++ b/lib/aws/Aws/CloudTrail/LogRecordIterator.php @@ -0,0 +1,187 @@ +<?php +namespace Aws\CloudTrail; + +use Aws\S3\S3Client; + +/** + * The `Aws\CloudTrail\LogRecordIterator` provides an easy way to iterate over + * log records from log files generated by AWS CloudTrail. + * + * CloudTrail log files contain data about your AWS API calls and are stored in + * Amazon S3 at a predictable path based on a bucket name, a key prefix, an + * account ID, a region, and date information. The files are gzipped and + * contain structured data in JSON format. This class allows you to specify + * options via its factory methods, including a date range, and emits each log + * record from any log files that match the provided options. + * + * A log record containing data about an AWS API call is yielded for each + * iteration on this object. + */ +class LogRecordIterator implements \OuterIterator +{ + /** @var LogFileReader */ + private $logFileReader; + + /** @var \Iterator */ + private $logFileIterator; + + /** @var array */ + private $records; + + /** @var int */ + private $recordIndex; + + /** + * @param S3Client $s3Client + * @param CloudTrailClient $cloudTrailClient + * @param array $options + * + * @return LogRecordIterator + */ + public static function forTrail( + S3Client $s3Client, + CloudTrailClient $cloudTrailClient, + array $options = [] + ) { + $logFileIterator = LogFileIterator::forTrail( + $s3Client, + $cloudTrailClient, + $options + ); + + return new self(new LogFileReader($s3Client), $logFileIterator); + } + + /** + * @param S3Client $s3Client + * @param string $s3BucketName + * @param array $options + * + * @return LogRecordIterator + */ + public static function forBucket( + S3Client $s3Client, + $s3BucketName, + array $options = [] + ) { + $logFileReader = new LogFileReader($s3Client); + $iter = new LogFileIterator($s3Client, $s3BucketName, $options); + + return new self($logFileReader, $iter); + } + + /** + * @param S3Client $s3Client + * @param string $s3BucketName + * @param string $s3ObjectKey + * + * @return LogRecordIterator + */ + public static function forFile( + S3Client $s3Client, + $s3BucketName, + $s3ObjectKey + ) { + $logFileReader = new LogFileReader($s3Client); + $logFileIterator = new \ArrayIterator([[ + 'Bucket' => $s3BucketName, + 'Key' => $s3ObjectKey, + ]]); + + return new self($logFileReader, $logFileIterator); + } + + /** + * @param LogFileReader $logFileReader + * @param \Iterator $logFileIterator + */ + public function __construct( + LogFileReader $logFileReader, + \Iterator $logFileIterator + ) { + $this->logFileReader = $logFileReader; + $this->logFileIterator = $logFileIterator; + $this->records = array(); + $this->recordIndex = 0; + } + + /** + * Returns the current log record as an array. + * + * @return array|false + */ + public function current() + { + return $this->valid() ? $this->records[$this->recordIndex] : false; + } + + public function next() + { + $this->recordIndex++; + + // If all the records have been exhausted, get more records from the + // next log file. + while (!$this->valid()) { + $this->logFileIterator->next(); + $success = $this->loadRecordsFromCurrentLogFile(); + if (!$success) { + // The objects iterator is exhausted as well, so stop trying + break; + } + } + } + + public function key() + { + if ($logFile = $this->logFileIterator->current()) { + return $logFile['Key'] . '.' . $this->recordIndex; + } + + return null; + } + + public function valid() + { + return isset($this->records[$this->recordIndex]); + } + + public function rewind() + { + $this->logFileIterator->rewind(); + $this->loadRecordsFromCurrentLogFile(); + } + + public function getInnerIterator() + { + return $this->logFileIterator; + } + + /** + * Examines the current file in the `logFileIterator` and attempts to read + * it and load log records from it using the `logFileReader`. This method + * expects that items pulled from the iterator will take the form: + * + * [ + * 'Bucket' => '...', + * 'Key' => '...', + * ] + * + * @return bool Returns `true` if records were loaded and `false` if no + * records were found + */ + private function loadRecordsFromCurrentLogFile() + { + $this->recordIndex = 0; + $this->records = array(); + + $logFile = $this->logFileIterator->current(); + if ($logFile && isset($logFile['Bucket']) && isset($logFile['Key'])) { + $this->records = $this->logFileReader->read( + $logFile['Bucket'], + $logFile['Key'] + ); + } + + return (bool) $logFile; + } +} diff --git a/lib/aws/Aws/CloudWatch/CloudWatchClient.php b/lib/aws/Aws/CloudWatch/CloudWatchClient.php new file mode 100644 index 0000000..4d189b9 --- /dev/null +++ b/lib/aws/Aws/CloudWatch/CloudWatchClient.php @@ -0,0 +1,50 @@ +<?php +namespace Aws\CloudWatch; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudWatch** service. + * + * @method \Aws\Result deleteAlarms(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAlarmsAsync(array $args = []) + * @method \Aws\Result deleteDashboards(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDashboardsAsync(array $args = []) + * @method \Aws\Result describeAlarmHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAlarmHistoryAsync(array $args = []) + * @method \Aws\Result describeAlarms(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAlarmsAsync(array $args = []) + * @method \Aws\Result describeAlarmsForMetric(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAlarmsForMetricAsync(array $args = []) + * @method \Aws\Result disableAlarmActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableAlarmActionsAsync(array $args = []) + * @method \Aws\Result enableAlarmActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableAlarmActionsAsync(array $args = []) + * @method \Aws\Result getDashboard(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDashboardAsync(array $args = []) + * @method \Aws\Result getMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMetricDataAsync(array $args = []) + * @method \Aws\Result getMetricStatistics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMetricStatisticsAsync(array $args = []) + * @method \Aws\Result getMetricWidgetImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMetricWidgetImageAsync(array $args = []) + * @method \Aws\Result listDashboards(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDashboardsAsync(array $args = []) + * @method \Aws\Result listMetrics(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMetricsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putDashboard(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDashboardAsync(array $args = []) + * @method \Aws\Result putMetricAlarm(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMetricAlarmAsync(array $args = []) + * @method \Aws\Result putMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMetricDataAsync(array $args = []) + * @method \Aws\Result setAlarmState(array $args = []) + * @method \GuzzleHttp\Promise\Promise setAlarmStateAsync(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 CloudWatchClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudWatch/Exception/CloudWatchException.php b/lib/aws/Aws/CloudWatch/Exception/CloudWatchException.php new file mode 100644 index 0000000..b412932 --- /dev/null +++ b/lib/aws/Aws/CloudWatch/Exception/CloudWatchException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudWatch\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon CloudWatch service. + */ +class CloudWatchException extends AwsException {} diff --git a/lib/aws/Aws/CloudWatchEvents/CloudWatchEventsClient.php b/lib/aws/Aws/CloudWatchEvents/CloudWatchEventsClient.php new file mode 100644 index 0000000..8be42ed --- /dev/null +++ b/lib/aws/Aws/CloudWatchEvents/CloudWatchEventsClient.php @@ -0,0 +1,46 @@ +<?php +namespace Aws\CloudWatchEvents; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudWatch Events** service. + * + * @method \Aws\Result deleteRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = []) + * @method \Aws\Result describeEventBus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventBusAsync(array $args = []) + * @method \Aws\Result describeRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRuleAsync(array $args = []) + * @method \Aws\Result disableRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableRuleAsync(array $args = []) + * @method \Aws\Result enableRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableRuleAsync(array $args = []) + * @method \Aws\Result listRuleNamesByTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRuleNamesByTargetAsync(array $args = []) + * @method \Aws\Result listRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRulesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTargetsByRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTargetsByRuleAsync(array $args = []) + * @method \Aws\Result putEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEventsAsync(array $args = []) + * @method \Aws\Result putPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPermissionAsync(array $args = []) + * @method \Aws\Result putRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRuleAsync(array $args = []) + * @method \Aws\Result putTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise putTargetsAsync(array $args = []) + * @method \Aws\Result removePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removePermissionAsync(array $args = []) + * @method \Aws\Result removeTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTargetsAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result testEventPattern(array $args = []) + * @method \GuzzleHttp\Promise\Promise testEventPatternAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + */ +class CloudWatchEventsClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudWatchEvents/Exception/CloudWatchEventsException.php b/lib/aws/Aws/CloudWatchEvents/Exception/CloudWatchEventsException.php new file mode 100644 index 0000000..c8b4d52 --- /dev/null +++ b/lib/aws/Aws/CloudWatchEvents/Exception/CloudWatchEventsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudWatchEvents\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon CloudWatch Events** service. + */ +class CloudWatchEventsException extends AwsException {} diff --git a/lib/aws/Aws/CloudWatchLogs/CloudWatchLogsClient.php b/lib/aws/Aws/CloudWatchLogs/CloudWatchLogsClient.php new file mode 100644 index 0000000..d06b201 --- /dev/null +++ b/lib/aws/Aws/CloudWatchLogs/CloudWatchLogsClient.php @@ -0,0 +1,88 @@ +<?php +namespace Aws\CloudWatchLogs; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CloudWatch Logs** service. + * + * @method \Aws\Result associateKmsKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateKmsKeyAsync(array $args = []) + * @method \Aws\Result cancelExportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelExportTaskAsync(array $args = []) + * @method \Aws\Result createExportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise createExportTaskAsync(array $args = []) + * @method \Aws\Result createLogGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLogGroupAsync(array $args = []) + * @method \Aws\Result createLogStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLogStreamAsync(array $args = []) + * @method \Aws\Result deleteDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDestinationAsync(array $args = []) + * @method \Aws\Result deleteLogGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLogGroupAsync(array $args = []) + * @method \Aws\Result deleteLogStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLogStreamAsync(array $args = []) + * @method \Aws\Result deleteMetricFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMetricFilterAsync(array $args = []) + * @method \Aws\Result deleteResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourcePolicyAsync(array $args = []) + * @method \Aws\Result deleteRetentionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRetentionPolicyAsync(array $args = []) + * @method \Aws\Result deleteSubscriptionFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubscriptionFilterAsync(array $args = []) + * @method \Aws\Result describeDestinations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDestinationsAsync(array $args = []) + * @method \Aws\Result describeExportTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = []) + * @method \Aws\Result describeLogGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLogGroupsAsync(array $args = []) + * @method \Aws\Result describeLogStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLogStreamsAsync(array $args = []) + * @method \Aws\Result describeMetricFilters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMetricFiltersAsync(array $args = []) + * @method \Aws\Result describeQueries(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeQueriesAsync(array $args = []) + * @method \Aws\Result describeResourcePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResourcePoliciesAsync(array $args = []) + * @method \Aws\Result describeSubscriptionFilters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubscriptionFiltersAsync(array $args = []) + * @method \Aws\Result disassociateKmsKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateKmsKeyAsync(array $args = []) + * @method \Aws\Result filterLogEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise filterLogEventsAsync(array $args = []) + * @method \Aws\Result getLogEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLogEventsAsync(array $args = []) + * @method \Aws\Result getLogGroupFields(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLogGroupFieldsAsync(array $args = []) + * @method \Aws\Result getLogRecord(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLogRecordAsync(array $args = []) + * @method \Aws\Result getQueryResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueryResultsAsync(array $args = []) + * @method \Aws\Result listTagsLogGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsLogGroupAsync(array $args = []) + * @method \Aws\Result putDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDestinationAsync(array $args = []) + * @method \Aws\Result putDestinationPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDestinationPolicyAsync(array $args = []) + * @method \Aws\Result putLogEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLogEventsAsync(array $args = []) + * @method \Aws\Result putMetricFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMetricFilterAsync(array $args = []) + * @method \Aws\Result putResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = []) + * @method \Aws\Result putRetentionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRetentionPolicyAsync(array $args = []) + * @method \Aws\Result putSubscriptionFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSubscriptionFilterAsync(array $args = []) + * @method \Aws\Result startQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise startQueryAsync(array $args = []) + * @method \Aws\Result stopQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopQueryAsync(array $args = []) + * @method \Aws\Result tagLogGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagLogGroupAsync(array $args = []) + * @method \Aws\Result testMetricFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise testMetricFilterAsync(array $args = []) + * @method \Aws\Result untagLogGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagLogGroupAsync(array $args = []) + */ +class CloudWatchLogsClient extends AwsClient {} diff --git a/lib/aws/Aws/CloudWatchLogs/Exception/CloudWatchLogsException.php b/lib/aws/Aws/CloudWatchLogs/Exception/CloudWatchLogsException.php new file mode 100644 index 0000000..46f87b4 --- /dev/null +++ b/lib/aws/Aws/CloudWatchLogs/Exception/CloudWatchLogsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CloudWatchLogs\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon CloudWatch Logs service. + */ +class CloudWatchLogsException extends AwsException {} diff --git a/lib/aws/Aws/CodeBuild/CodeBuildClient.php b/lib/aws/Aws/CodeBuild/CodeBuildClient.php new file mode 100644 index 0000000..f69c4a8 --- /dev/null +++ b/lib/aws/Aws/CodeBuild/CodeBuildClient.php @@ -0,0 +1,47 @@ +<?php +namespace Aws\CodeBuild; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CodeBuild** service. + * @method \Aws\Result batchDeleteBuilds(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteBuildsAsync(array $args = []) + * @method \Aws\Result batchGetBuilds(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetBuildsAsync(array $args = []) + * @method \Aws\Result batchGetProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetProjectsAsync(array $args = []) + * @method \Aws\Result createProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = []) + * @method \Aws\Result createWebhook(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWebhookAsync(array $args = []) + * @method \Aws\Result deleteProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = []) + * @method \Aws\Result deleteSourceCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSourceCredentialsAsync(array $args = []) + * @method \Aws\Result deleteWebhook(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = []) + * @method \Aws\Result importSourceCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise importSourceCredentialsAsync(array $args = []) + * @method \Aws\Result invalidateProjectCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise invalidateProjectCacheAsync(array $args = []) + * @method \Aws\Result listBuilds(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBuildsAsync(array $args = []) + * @method \Aws\Result listBuildsForProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBuildsForProjectAsync(array $args = []) + * @method \Aws\Result listCuratedEnvironmentImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCuratedEnvironmentImagesAsync(array $args = []) + * @method \Aws\Result listProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = []) + * @method \Aws\Result listSourceCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSourceCredentialsAsync(array $args = []) + * @method \Aws\Result startBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise startBuildAsync(array $args = []) + * @method \Aws\Result stopBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopBuildAsync(array $args = []) + * @method \Aws\Result updateProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = []) + * @method \Aws\Result updateWebhook(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateWebhookAsync(array $args = []) + */ +class CodeBuildClient extends AwsClient {} diff --git a/lib/aws/Aws/CodeBuild/Exception/CodeBuildException.php b/lib/aws/Aws/CodeBuild/Exception/CodeBuildException.php new file mode 100644 index 0000000..deb1d03 --- /dev/null +++ b/lib/aws/Aws/CodeBuild/Exception/CodeBuildException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CodeBuild\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS CodeBuild** service. + */ +class CodeBuildException extends AwsException {} diff --git a/lib/aws/Aws/CodeCommit/CodeCommitClient.php b/lib/aws/Aws/CodeCommit/CodeCommitClient.php new file mode 100644 index 0000000..e687b00 --- /dev/null +++ b/lib/aws/Aws/CodeCommit/CodeCommitClient.php @@ -0,0 +1,90 @@ +<?php +namespace Aws\CodeCommit; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CodeCommit** service. + * + * @method \Aws\Result batchGetRepositories(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetRepositoriesAsync(array $args = []) + * @method \Aws\Result createBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBranchAsync(array $args = []) + * @method \Aws\Result createCommit(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCommitAsync(array $args = []) + * @method \Aws\Result createPullRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPullRequestAsync(array $args = []) + * @method \Aws\Result createRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRepositoryAsync(array $args = []) + * @method \Aws\Result deleteBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBranchAsync(array $args = []) + * @method \Aws\Result deleteCommentContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCommentContentAsync(array $args = []) + * @method \Aws\Result deleteFile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFileAsync(array $args = []) + * @method \Aws\Result deleteRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRepositoryAsync(array $args = []) + * @method \Aws\Result describePullRequestEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePullRequestEventsAsync(array $args = []) + * @method \Aws\Result getBlob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBlobAsync(array $args = []) + * @method \Aws\Result getBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = []) + * @method \Aws\Result getComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCommentAsync(array $args = []) + * @method \Aws\Result getCommentsForComparedCommit(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCommentsForComparedCommitAsync(array $args = []) + * @method \Aws\Result getCommentsForPullRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCommentsForPullRequestAsync(array $args = []) + * @method \Aws\Result getCommit(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCommitAsync(array $args = []) + * @method \Aws\Result getDifferences(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDifferencesAsync(array $args = []) + * @method \Aws\Result getFile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFileAsync(array $args = []) + * @method \Aws\Result getFolder(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFolderAsync(array $args = []) + * @method \Aws\Result getMergeConflicts(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMergeConflictsAsync(array $args = []) + * @method \Aws\Result getPullRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPullRequestAsync(array $args = []) + * @method \Aws\Result getRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRepositoryAsync(array $args = []) + * @method \Aws\Result getRepositoryTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRepositoryTriggersAsync(array $args = []) + * @method \Aws\Result listBranches(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBranchesAsync(array $args = []) + * @method \Aws\Result listPullRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPullRequestsAsync(array $args = []) + * @method \Aws\Result listRepositories(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRepositoriesAsync(array $args = []) + * @method \Aws\Result mergePullRequestByFastForward(array $args = []) + * @method \GuzzleHttp\Promise\Promise mergePullRequestByFastForwardAsync(array $args = []) + * @method \Aws\Result postCommentForComparedCommit(array $args = []) + * @method \GuzzleHttp\Promise\Promise postCommentForComparedCommitAsync(array $args = []) + * @method \Aws\Result postCommentForPullRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise postCommentForPullRequestAsync(array $args = []) + * @method \Aws\Result postCommentReply(array $args = []) + * @method \GuzzleHttp\Promise\Promise postCommentReplyAsync(array $args = []) + * @method \Aws\Result putFile(array $args = []) + * @method \GuzzleHttp\Promise\Promise putFileAsync(array $args = []) + * @method \Aws\Result putRepositoryTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRepositoryTriggersAsync(array $args = []) + * @method \Aws\Result testRepositoryTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise testRepositoryTriggersAsync(array $args = []) + * @method \Aws\Result updateComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCommentAsync(array $args = []) + * @method \Aws\Result updateDefaultBranch(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDefaultBranchAsync(array $args = []) + * @method \Aws\Result updatePullRequestDescription(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePullRequestDescriptionAsync(array $args = []) + * @method \Aws\Result updatePullRequestStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePullRequestStatusAsync(array $args = []) + * @method \Aws\Result updatePullRequestTitle(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePullRequestTitleAsync(array $args = []) + * @method \Aws\Result updateRepositoryDescription(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRepositoryDescriptionAsync(array $args = []) + * @method \Aws\Result updateRepositoryName(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRepositoryNameAsync(array $args = []) + */ +class CodeCommitClient extends AwsClient {} diff --git a/lib/aws/Aws/CodeCommit/Exception/CodeCommitException.php b/lib/aws/Aws/CodeCommit/Exception/CodeCommitException.php new file mode 100644 index 0000000..d74770f --- /dev/null +++ b/lib/aws/Aws/CodeCommit/Exception/CodeCommitException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CodeCommit\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS CodeCommit** service. + */ +class CodeCommitException extends AwsException {} diff --git a/lib/aws/Aws/CodeDeploy/CodeDeployClient.php b/lib/aws/Aws/CodeDeploy/CodeDeployClient.php new file mode 100644 index 0000000..be2348d --- /dev/null +++ b/lib/aws/Aws/CodeDeploy/CodeDeployClient.php @@ -0,0 +1,96 @@ +<?php +namespace Aws\CodeDeploy; + +use Aws\AwsClient; + +/** + * This client is used to interact with AWS CodeDeploy + * + * @method \Aws\Result addTagsToOnPremisesInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToOnPremisesInstancesAsync(array $args = []) + * @method \Aws\Result batchGetApplicationRevisions(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetApplicationRevisionsAsync(array $args = []) + * @method \Aws\Result batchGetApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetApplicationsAsync(array $args = []) + * @method \Aws\Result batchGetDeploymentGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetDeploymentGroupsAsync(array $args = []) + * @method \Aws\Result batchGetDeploymentInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetDeploymentInstancesAsync(array $args = []) + * @method \Aws\Result batchGetDeploymentTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetDeploymentTargetsAsync(array $args = []) + * @method \Aws\Result batchGetDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetDeploymentsAsync(array $args = []) + * @method \Aws\Result batchGetOnPremisesInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetOnPremisesInstancesAsync(array $args = []) + * @method \Aws\Result continueDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise continueDeploymentAsync(array $args = []) + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result createDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = []) + * @method \Aws\Result createDeploymentConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentConfigAsync(array $args = []) + * @method \Aws\Result createDeploymentGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentGroupAsync(array $args = []) + * @method \Aws\Result deleteApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = []) + * @method \Aws\Result deleteDeploymentConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeploymentConfigAsync(array $args = []) + * @method \Aws\Result deleteDeploymentGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeploymentGroupAsync(array $args = []) + * @method \Aws\Result deleteGitHubAccountToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGitHubAccountTokenAsync(array $args = []) + * @method \Aws\Result deregisterOnPremisesInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterOnPremisesInstanceAsync(array $args = []) + * @method \Aws\Result getApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApplicationAsync(array $args = []) + * @method \Aws\Result getApplicationRevision(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApplicationRevisionAsync(array $args = []) + * @method \Aws\Result getDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = []) + * @method \Aws\Result getDeploymentConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentConfigAsync(array $args = []) + * @method \Aws\Result getDeploymentGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentGroupAsync(array $args = []) + * @method \Aws\Result getDeploymentInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentInstanceAsync(array $args = []) + * @method \Aws\Result getDeploymentTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentTargetAsync(array $args = []) + * @method \Aws\Result getOnPremisesInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOnPremisesInstanceAsync(array $args = []) + * @method \Aws\Result listApplicationRevisions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationRevisionsAsync(array $args = []) + * @method \Aws\Result listApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = []) + * @method \Aws\Result listDeploymentConfigs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentConfigsAsync(array $args = []) + * @method \Aws\Result listDeploymentGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentGroupsAsync(array $args = []) + * @method \Aws\Result listDeploymentInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentInstancesAsync(array $args = []) + * @method \Aws\Result listDeploymentTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentTargetsAsync(array $args = []) + * @method \Aws\Result listDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentsAsync(array $args = []) + * @method \Aws\Result listGitHubAccountTokenNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGitHubAccountTokenNamesAsync(array $args = []) + * @method \Aws\Result listOnPremisesInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOnPremisesInstancesAsync(array $args = []) + * @method \Aws\Result putLifecycleEventHookExecutionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLifecycleEventHookExecutionStatusAsync(array $args = []) + * @method \Aws\Result registerApplicationRevision(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerApplicationRevisionAsync(array $args = []) + * @method \Aws\Result registerOnPremisesInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerOnPremisesInstanceAsync(array $args = []) + * @method \Aws\Result removeTagsFromOnPremisesInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromOnPremisesInstancesAsync(array $args = []) + * @method \Aws\Result skipWaitTimeForInstanceTermination(array $args = []) + * @method \GuzzleHttp\Promise\Promise skipWaitTimeForInstanceTerminationAsync(array $args = []) + * @method \Aws\Result stopDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopDeploymentAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + * @method \Aws\Result updateDeploymentGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeploymentGroupAsync(array $args = []) + */ +class CodeDeployClient extends AwsClient {} diff --git a/lib/aws/Aws/CodeDeploy/Exception/CodeDeployException.php b/lib/aws/Aws/CodeDeploy/Exception/CodeDeployException.php new file mode 100644 index 0000000..2fb9672 --- /dev/null +++ b/lib/aws/Aws/CodeDeploy/Exception/CodeDeployException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CodeDeploy\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with AWS CodeDeploy. + */ +class CodeDeployException extends AwsException {} diff --git a/lib/aws/Aws/CodePipeline/CodePipelineClient.php b/lib/aws/Aws/CodePipeline/CodePipelineClient.php new file mode 100644 index 0000000..02e3996 --- /dev/null +++ b/lib/aws/Aws/CodePipeline/CodePipelineClient.php @@ -0,0 +1,76 @@ +<?php +namespace Aws\CodePipeline; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon CodePipeline** service. + * + * @method \Aws\Result acknowledgeJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise acknowledgeJobAsync(array $args = []) + * @method \Aws\Result acknowledgeThirdPartyJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise acknowledgeThirdPartyJobAsync(array $args = []) + * @method \Aws\Result createCustomActionType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCustomActionTypeAsync(array $args = []) + * @method \Aws\Result createPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = []) + * @method \Aws\Result deleteCustomActionType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCustomActionTypeAsync(array $args = []) + * @method \Aws\Result deletePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = []) + * @method \Aws\Result deleteWebhook(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = []) + * @method \Aws\Result deregisterWebhookWithThirdParty(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterWebhookWithThirdPartyAsync(array $args = []) + * @method \Aws\Result disableStageTransition(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableStageTransitionAsync(array $args = []) + * @method \Aws\Result enableStageTransition(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableStageTransitionAsync(array $args = []) + * @method \Aws\Result getJobDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobDetailsAsync(array $args = []) + * @method \Aws\Result getPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPipelineAsync(array $args = []) + * @method \Aws\Result getPipelineExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPipelineExecutionAsync(array $args = []) + * @method \Aws\Result getPipelineState(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPipelineStateAsync(array $args = []) + * @method \Aws\Result getThirdPartyJobDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getThirdPartyJobDetailsAsync(array $args = []) + * @method \Aws\Result listActionExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActionExecutionsAsync(array $args = []) + * @method \Aws\Result listActionTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActionTypesAsync(array $args = []) + * @method \Aws\Result listPipelineExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPipelineExecutionsAsync(array $args = []) + * @method \Aws\Result listPipelines(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPipelinesAsync(array $args = []) + * @method \Aws\Result listWebhooks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWebhooksAsync(array $args = []) + * @method \Aws\Result pollForJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise pollForJobsAsync(array $args = []) + * @method \Aws\Result pollForThirdPartyJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise pollForThirdPartyJobsAsync(array $args = []) + * @method \Aws\Result putActionRevision(array $args = []) + * @method \GuzzleHttp\Promise\Promise putActionRevisionAsync(array $args = []) + * @method \Aws\Result putApprovalResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise putApprovalResultAsync(array $args = []) + * @method \Aws\Result putJobFailureResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise putJobFailureResultAsync(array $args = []) + * @method \Aws\Result putJobSuccessResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise putJobSuccessResultAsync(array $args = []) + * @method \Aws\Result putThirdPartyJobFailureResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise putThirdPartyJobFailureResultAsync(array $args = []) + * @method \Aws\Result putThirdPartyJobSuccessResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise putThirdPartyJobSuccessResultAsync(array $args = []) + * @method \Aws\Result putWebhook(array $args = []) + * @method \GuzzleHttp\Promise\Promise putWebhookAsync(array $args = []) + * @method \Aws\Result registerWebhookWithThirdParty(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerWebhookWithThirdPartyAsync(array $args = []) + * @method \Aws\Result retryStageExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise retryStageExecutionAsync(array $args = []) + * @method \Aws\Result startPipelineExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startPipelineExecutionAsync(array $args = []) + * @method \Aws\Result updatePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePipelineAsync(array $args = []) + */ +class CodePipelineClient extends AwsClient {} \ No newline at end of file diff --git a/lib/aws/Aws/CodePipeline/Exception/CodePipelineException.php b/lib/aws/Aws/CodePipeline/Exception/CodePipelineException.php new file mode 100644 index 0000000..20f95c3 --- /dev/null +++ b/lib/aws/Aws/CodePipeline/Exception/CodePipelineException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CodePipeline\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon CodePipeline service. + */ +class CodePipelineException extends AwsException {} \ No newline at end of file diff --git a/lib/aws/Aws/CodeStar/CodeStarClient.php b/lib/aws/Aws/CodeStar/CodeStarClient.php new file mode 100644 index 0000000..2d39827 --- /dev/null +++ b/lib/aws/Aws/CodeStar/CodeStarClient.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\CodeStar; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS CodeStar** service. + * @method \Aws\Result associateTeamMember(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateTeamMemberAsync(array $args = []) + * @method \Aws\Result createProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = []) + * @method \Aws\Result createUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserProfileAsync(array $args = []) + * @method \Aws\Result deleteProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = []) + * @method \Aws\Result deleteUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserProfileAsync(array $args = []) + * @method \Aws\Result describeProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProjectAsync(array $args = []) + * @method \Aws\Result describeUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserProfileAsync(array $args = []) + * @method \Aws\Result disassociateTeamMember(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateTeamMemberAsync(array $args = []) + * @method \Aws\Result listProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = []) + * @method \Aws\Result listResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourcesAsync(array $args = []) + * @method \Aws\Result listTagsForProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForProjectAsync(array $args = []) + * @method \Aws\Result listTeamMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTeamMembersAsync(array $args = []) + * @method \Aws\Result listUserProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserProfilesAsync(array $args = []) + * @method \Aws\Result tagProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagProjectAsync(array $args = []) + * @method \Aws\Result untagProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagProjectAsync(array $args = []) + * @method \Aws\Result updateProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = []) + * @method \Aws\Result updateTeamMember(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTeamMemberAsync(array $args = []) + * @method \Aws\Result updateUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserProfileAsync(array $args = []) + */ +class CodeStarClient extends AwsClient {} diff --git a/lib/aws/Aws/CodeStar/Exception/CodeStarException.php b/lib/aws/Aws/CodeStar/Exception/CodeStarException.php new file mode 100644 index 0000000..3eda6d5 --- /dev/null +++ b/lib/aws/Aws/CodeStar/Exception/CodeStarException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CodeStar\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS CodeStar** service. + */ +class CodeStarException extends AwsException {} diff --git a/lib/aws/Aws/CognitoIdentity/CognitoIdentityClient.php b/lib/aws/Aws/CognitoIdentity/CognitoIdentityClient.php new file mode 100644 index 0000000..b24a3e7 --- /dev/null +++ b/lib/aws/Aws/CognitoIdentity/CognitoIdentityClient.php @@ -0,0 +1,52 @@ +<?php +namespace Aws\CognitoIdentity; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Cognito Identity** service. + * + * @method \Aws\Result createIdentityPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIdentityPoolAsync(array $args = []) + * @method \Aws\Result deleteIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIdentitiesAsync(array $args = []) + * @method \Aws\Result deleteIdentityPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIdentityPoolAsync(array $args = []) + * @method \Aws\Result describeIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityAsync(array $args = []) + * @method \Aws\Result describeIdentityPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityPoolAsync(array $args = []) + * @method \Aws\Result getCredentialsForIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCredentialsForIdentityAsync(array $args = []) + * @method \Aws\Result getId(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdAsync(array $args = []) + * @method \Aws\Result getIdentityPoolRoles(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityPoolRolesAsync(array $args = []) + * @method \Aws\Result getOpenIdToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOpenIdTokenAsync(array $args = []) + * @method \Aws\Result getOpenIdTokenForDeveloperIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOpenIdTokenForDeveloperIdentityAsync(array $args = []) + * @method \Aws\Result listIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentitiesAsync(array $args = []) + * @method \Aws\Result listIdentityPools(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentityPoolsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result lookupDeveloperIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise lookupDeveloperIdentityAsync(array $args = []) + * @method \Aws\Result mergeDeveloperIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise mergeDeveloperIdentitiesAsync(array $args = []) + * @method \Aws\Result setIdentityPoolRoles(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityPoolRolesAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result unlinkDeveloperIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise unlinkDeveloperIdentityAsync(array $args = []) + * @method \Aws\Result unlinkIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise unlinkIdentityAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateIdentityPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIdentityPoolAsync(array $args = []) + */ +class CognitoIdentityClient extends AwsClient {} diff --git a/lib/aws/Aws/CognitoIdentity/CognitoIdentityProvider.php b/lib/aws/Aws/CognitoIdentity/CognitoIdentityProvider.php new file mode 100644 index 0000000..9127425 --- /dev/null +++ b/lib/aws/Aws/CognitoIdentity/CognitoIdentityProvider.php @@ -0,0 +1,61 @@ +<?php +namespace Aws\CognitoIdentity; + +use Aws\Credentials\Credentials; +use GuzzleHttp\Promise; + +class CognitoIdentityProvider +{ + /** @var CognitoIdentityClient */ + private $client; + /** @var string */ + private $identityPoolId; + /** @var string|null */ + private $accountId; + /** @var array */ + private $logins; + + public function __construct( + $poolId, + array $clientOptions, + array $logins = [], + $accountId = null + ) { + $this->identityPoolId = $poolId; + $this->logins = $logins; + $this->accountId = $accountId; + $this->client = new CognitoIdentityClient($clientOptions + [ + 'credentials' => false, + ]); + } + + public function __invoke() + { + return Promise\coroutine(function () { + $params = $this->logins ? ['Logins' => $this->logins] : []; + $getIdParams = $params + ['IdentityPoolId' => $this->identityPoolId]; + if ($this->accountId) { + $getIdParams['AccountId'] = $this->accountId; + } + + $id = (yield $this->client->getId($getIdParams)); + $result = (yield $this->client->getCredentialsForIdentity([ + 'IdentityId' => $id['IdentityId'], + ] + $params)); + + yield new Credentials( + $result['Credentials']['AccessKeyId'], + $result['Credentials']['SecretKey'], + $result['Credentials']['SessionToken'], + (int) $result['Credentials']['Expiration']->format('U') + ); + }); + } + + public function updateLogin($key, $value) + { + $this->logins[$key] = $value; + + return $this; + } +} diff --git a/lib/aws/Aws/CognitoIdentity/Exception/CognitoIdentityException.php b/lib/aws/Aws/CognitoIdentity/Exception/CognitoIdentityException.php new file mode 100644 index 0000000..4d58f72 --- /dev/null +++ b/lib/aws/Aws/CognitoIdentity/Exception/CognitoIdentityException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CognitoIdentity\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Cognito Identity Logs service. + */ +class CognitoIdentityException extends AwsException {} diff --git a/lib/aws/Aws/CognitoIdentityProvider/CognitoIdentityProviderClient.php b/lib/aws/Aws/CognitoIdentityProvider/CognitoIdentityProviderClient.php new file mode 100644 index 0000000..a6bde28 --- /dev/null +++ b/lib/aws/Aws/CognitoIdentityProvider/CognitoIdentityProviderClient.php @@ -0,0 +1,208 @@ +<?php +namespace Aws\CognitoIdentityProvider; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Cognito Identity Provider** service. + * + * @method \Aws\Result addCustomAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise addCustomAttributesAsync(array $args = []) + * @method \Aws\Result adminAddUserToGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminAddUserToGroupAsync(array $args = []) + * @method \Aws\Result adminConfirmSignUp(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminConfirmSignUpAsync(array $args = []) + * @method \Aws\Result adminCreateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminCreateUserAsync(array $args = []) + * @method \Aws\Result adminDeleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminDeleteUserAsync(array $args = []) + * @method \Aws\Result adminDeleteUserAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminDeleteUserAttributesAsync(array $args = []) + * @method \Aws\Result adminDisableProviderForUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminDisableProviderForUserAsync(array $args = []) + * @method \Aws\Result adminDisableUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminDisableUserAsync(array $args = []) + * @method \Aws\Result adminEnableUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminEnableUserAsync(array $args = []) + * @method \Aws\Result adminForgetDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminForgetDeviceAsync(array $args = []) + * @method \Aws\Result adminGetDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminGetDeviceAsync(array $args = []) + * @method \Aws\Result adminGetUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminGetUserAsync(array $args = []) + * @method \Aws\Result adminInitiateAuth(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminInitiateAuthAsync(array $args = []) + * @method \Aws\Result adminLinkProviderForUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminLinkProviderForUserAsync(array $args = []) + * @method \Aws\Result adminListDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminListDevicesAsync(array $args = []) + * @method \Aws\Result adminListGroupsForUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminListGroupsForUserAsync(array $args = []) + * @method \Aws\Result adminListUserAuthEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminListUserAuthEventsAsync(array $args = []) + * @method \Aws\Result adminRemoveUserFromGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminRemoveUserFromGroupAsync(array $args = []) + * @method \Aws\Result adminResetUserPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminResetUserPasswordAsync(array $args = []) + * @method \Aws\Result adminRespondToAuthChallenge(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminRespondToAuthChallengeAsync(array $args = []) + * @method \Aws\Result adminSetUserMFAPreference(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminSetUserMFAPreferenceAsync(array $args = []) + * @method \Aws\Result adminSetUserSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminSetUserSettingsAsync(array $args = []) + * @method \Aws\Result adminUpdateAuthEventFeedback(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminUpdateAuthEventFeedbackAsync(array $args = []) + * @method \Aws\Result adminUpdateDeviceStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminUpdateDeviceStatusAsync(array $args = []) + * @method \Aws\Result adminUpdateUserAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminUpdateUserAttributesAsync(array $args = []) + * @method \Aws\Result adminUserGlobalSignOut(array $args = []) + * @method \GuzzleHttp\Promise\Promise adminUserGlobalSignOutAsync(array $args = []) + * @method \Aws\Result associateSoftwareToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateSoftwareTokenAsync(array $args = []) + * @method \Aws\Result changePassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise changePasswordAsync(array $args = []) + * @method \Aws\Result confirmDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmDeviceAsync(array $args = []) + * @method \Aws\Result confirmForgotPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmForgotPasswordAsync(array $args = []) + * @method \Aws\Result confirmSignUp(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmSignUpAsync(array $args = []) + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createIdentityProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIdentityProviderAsync(array $args = []) + * @method \Aws\Result createResourceServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceServerAsync(array $args = []) + * @method \Aws\Result createUserImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserImportJobAsync(array $args = []) + * @method \Aws\Result createUserPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserPoolAsync(array $args = []) + * @method \Aws\Result createUserPoolClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserPoolClientAsync(array $args = []) + * @method \Aws\Result createUserPoolDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserPoolDomainAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteIdentityProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIdentityProviderAsync(array $args = []) + * @method \Aws\Result deleteResourceServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceServerAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result deleteUserAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAttributesAsync(array $args = []) + * @method \Aws\Result deleteUserPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserPoolAsync(array $args = []) + * @method \Aws\Result deleteUserPoolClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserPoolClientAsync(array $args = []) + * @method \Aws\Result deleteUserPoolDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserPoolDomainAsync(array $args = []) + * @method \Aws\Result describeIdentityProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityProviderAsync(array $args = []) + * @method \Aws\Result describeResourceServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResourceServerAsync(array $args = []) + * @method \Aws\Result describeRiskConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRiskConfigurationAsync(array $args = []) + * @method \Aws\Result describeUserImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserImportJobAsync(array $args = []) + * @method \Aws\Result describeUserPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserPoolAsync(array $args = []) + * @method \Aws\Result describeUserPoolClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserPoolClientAsync(array $args = []) + * @method \Aws\Result describeUserPoolDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserPoolDomainAsync(array $args = []) + * @method \Aws\Result forgetDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise forgetDeviceAsync(array $args = []) + * @method \Aws\Result forgotPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise forgotPasswordAsync(array $args = []) + * @method \Aws\Result getCSVHeader(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCSVHeaderAsync(array $args = []) + * @method \Aws\Result getDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = []) + * @method \Aws\Result getGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = []) + * @method \Aws\Result getIdentityProviderByIdentifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityProviderByIdentifierAsync(array $args = []) + * @method \Aws\Result getSigningCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSigningCertificateAsync(array $args = []) + * @method \Aws\Result getUICustomization(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUICustomizationAsync(array $args = []) + * @method \Aws\Result getUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserAsync(array $args = []) + * @method \Aws\Result getUserAttributeVerificationCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserAttributeVerificationCodeAsync(array $args = []) + * @method \Aws\Result getUserPoolMfaConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserPoolMfaConfigAsync(array $args = []) + * @method \Aws\Result globalSignOut(array $args = []) + * @method \GuzzleHttp\Promise\Promise globalSignOutAsync(array $args = []) + * @method \Aws\Result initiateAuth(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateAuthAsync(array $args = []) + * @method \Aws\Result listDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result listIdentityProviders(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentityProvidersAsync(array $args = []) + * @method \Aws\Result listResourceServers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceServersAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listUserImportJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserImportJobsAsync(array $args = []) + * @method \Aws\Result listUserPoolClients(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserPoolClientsAsync(array $args = []) + * @method \Aws\Result listUserPools(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserPoolsAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result listUsersInGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersInGroupAsync(array $args = []) + * @method \Aws\Result resendConfirmationCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise resendConfirmationCodeAsync(array $args = []) + * @method \Aws\Result respondToAuthChallenge(array $args = []) + * @method \GuzzleHttp\Promise\Promise respondToAuthChallengeAsync(array $args = []) + * @method \Aws\Result setRiskConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise setRiskConfigurationAsync(array $args = []) + * @method \Aws\Result setUICustomization(array $args = []) + * @method \GuzzleHttp\Promise\Promise setUICustomizationAsync(array $args = []) + * @method \Aws\Result setUserMFAPreference(array $args = []) + * @method \GuzzleHttp\Promise\Promise setUserMFAPreferenceAsync(array $args = []) + * @method \Aws\Result setUserPoolMfaConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise setUserPoolMfaConfigAsync(array $args = []) + * @method \Aws\Result setUserSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise setUserSettingsAsync(array $args = []) + * @method \Aws\Result signUp(array $args = []) + * @method \GuzzleHttp\Promise\Promise signUpAsync(array $args = []) + * @method \Aws\Result startUserImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startUserImportJobAsync(array $args = []) + * @method \Aws\Result stopUserImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopUserImportJobAsync(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 updateAuthEventFeedback(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAuthEventFeedbackAsync(array $args = []) + * @method \Aws\Result updateDeviceStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeviceStatusAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateIdentityProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIdentityProviderAsync(array $args = []) + * @method \Aws\Result updateResourceServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResourceServerAsync(array $args = []) + * @method \Aws\Result updateUserAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAttributesAsync(array $args = []) + * @method \Aws\Result updateUserPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserPoolAsync(array $args = []) + * @method \Aws\Result updateUserPoolClient(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserPoolClientAsync(array $args = []) + * @method \Aws\Result updateUserPoolDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserPoolDomainAsync(array $args = []) + * @method \Aws\Result verifySoftwareToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifySoftwareTokenAsync(array $args = []) + * @method \Aws\Result verifyUserAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyUserAttributeAsync(array $args = []) + */ +class CognitoIdentityProviderClient extends AwsClient {} diff --git a/lib/aws/Aws/CognitoIdentityProvider/Exception/CognitoIdentityProviderException.php b/lib/aws/Aws/CognitoIdentityProvider/Exception/CognitoIdentityProviderException.php new file mode 100644 index 0000000..20cad82 --- /dev/null +++ b/lib/aws/Aws/CognitoIdentityProvider/Exception/CognitoIdentityProviderException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CognitoIdentityProvider\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Cognito Identity Provider** service. + */ +class CognitoIdentityProviderException extends AwsException {} diff --git a/lib/aws/Aws/CognitoSync/CognitoSyncClient.php b/lib/aws/Aws/CognitoSync/CognitoSyncClient.php new file mode 100644 index 0000000..631cc56 --- /dev/null +++ b/lib/aws/Aws/CognitoSync/CognitoSyncClient.php @@ -0,0 +1,44 @@ +<?php +namespace Aws\CognitoSync; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Cognito Sync** service. + * + * @method \Aws\Result bulkPublish(array $args = []) + * @method \GuzzleHttp\Promise\Promise bulkPublishAsync(array $args = []) + * @method \Aws\Result deleteDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDatasetAsync(array $args = []) + * @method \Aws\Result describeDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDatasetAsync(array $args = []) + * @method \Aws\Result describeIdentityPoolUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityPoolUsageAsync(array $args = []) + * @method \Aws\Result describeIdentityUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityUsageAsync(array $args = []) + * @method \Aws\Result getBulkPublishDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBulkPublishDetailsAsync(array $args = []) + * @method \Aws\Result getCognitoEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCognitoEventsAsync(array $args = []) + * @method \Aws\Result getIdentityPoolConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityPoolConfigurationAsync(array $args = []) + * @method \Aws\Result listDatasets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDatasetsAsync(array $args = []) + * @method \Aws\Result listIdentityPoolUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentityPoolUsageAsync(array $args = []) + * @method \Aws\Result listRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRecordsAsync(array $args = []) + * @method \Aws\Result registerDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerDeviceAsync(array $args = []) + * @method \Aws\Result setCognitoEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise setCognitoEventsAsync(array $args = []) + * @method \Aws\Result setIdentityPoolConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityPoolConfigurationAsync(array $args = []) + * @method \Aws\Result subscribeToDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise subscribeToDatasetAsync(array $args = []) + * @method \Aws\Result unsubscribeFromDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise unsubscribeFromDatasetAsync(array $args = []) + * @method \Aws\Result updateRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRecordsAsync(array $args = []) + */ +class CognitoSyncClient extends AwsClient {} diff --git a/lib/aws/Aws/CognitoSync/Exception/CognitoSyncException.php b/lib/aws/Aws/CognitoSync/Exception/CognitoSyncException.php new file mode 100644 index 0000000..8ecf0a0 --- /dev/null +++ b/lib/aws/Aws/CognitoSync/Exception/CognitoSyncException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CognitoSync\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Cognito Sync service. + */ +class CognitoSyncException extends AwsException {} diff --git a/lib/aws/Aws/Command.php b/lib/aws/Aws/Command.php new file mode 100644 index 0000000..7bcdc13 --- /dev/null +++ b/lib/aws/Aws/Command.php @@ -0,0 +1,62 @@ +<?php +namespace Aws; + +/** + * AWS command object. + */ +class Command implements CommandInterface +{ + use HasDataTrait; + + /** @var string */ + private $name; + + /** @var HandlerList */ + private $handlerList; + + /** + * Accepts an associative array of command options, including: + * + * - @http: (array) Associative array of transfer options. + * + * @param string $name Name of the command + * @param array $args Arguments to pass to the command + * @param HandlerList $list Handler list + */ + public function __construct($name, array $args = [], HandlerList $list = null) + { + $this->name = $name; + $this->data = $args; + $this->handlerList = $list ?: new HandlerList(); + + if (!isset($this->data['@http'])) { + $this->data['@http'] = []; + } + } + + public function __clone() + { + $this->handlerList = clone $this->handlerList; + } + + public function getName() + { + return $this->name; + } + + public function hasParam($name) + { + return array_key_exists($name, $this->data); + } + + public function getHandlerList() + { + return $this->handlerList; + } + + /** @deprecated */ + public function get($name) + { + return $this[$name]; + } +} diff --git a/lib/aws/Aws/CommandInterface.php b/lib/aws/Aws/CommandInterface.php new file mode 100644 index 0000000..b35c75d --- /dev/null +++ b/lib/aws/Aws/CommandInterface.php @@ -0,0 +1,42 @@ +<?php +namespace Aws; + +/** + * A command object encapsulates the input parameters used to control the + * creation of a HTTP request and processing of a HTTP response. + * + * Using the toArray() method will return the input parameters of the command + * as an associative array. + */ +interface CommandInterface extends \ArrayAccess, \Countable, \IteratorAggregate +{ + /** + * Converts the command parameters to an array + * + * @return array + */ + public function toArray(); + + /** + * Get the name of the command + * + * @return string + */ + public function getName(); + + /** + * Check if the command has a parameter by name. + * + * @param string $name Name of the parameter to check + * + * @return bool + */ + public function hasParam($name); + + /** + * Get the handler list used to transfer the command. + * + * @return HandlerList + */ + public function getHandlerList(); +} diff --git a/lib/aws/Aws/CommandPool.php b/lib/aws/Aws/CommandPool.php new file mode 100644 index 0000000..2a101ee --- /dev/null +++ b/lib/aws/Aws/CommandPool.php @@ -0,0 +1,150 @@ +<?php +namespace Aws; + +use GuzzleHttp\Promise\PromisorInterface; +use GuzzleHttp\Promise\EachPromise; + +/** + * Sends and iterator of commands concurrently using a capped pool size. + * + * The pool will read command objects from an iterator until it is cancelled or + * until the iterator is consumed. + */ +class CommandPool implements PromisorInterface +{ + /** @var EachPromise */ + private $each; + + /** + * The CommandPool constructor accepts a hash of configuration options: + * + * - concurrency: (callable|int) Maximum number of commands to execute + * concurrently. Provide a function to resize the pool dynamically. The + * function will be provided the current number of pending requests and + * is expected to return an integer representing the new pool size limit. + * - before: (callable) function to invoke before sending each command. The + * before function accepts the command and the key of the iterator of the + * command. You can mutate the command as needed in the before function + * before sending the command. + * - fulfilled: (callable) Function to invoke when a promise is fulfilled. + * The function is provided the result object, id of the iterator that the + * result came from, and the aggregate promise that can be resolved/rejected + * if you need to short-circuit the pool. + * - rejected: (callable) Function to invoke when a promise is rejected. + * The function is provided an AwsException object, id of the iterator that + * the exception came from, and the aggregate promise that can be + * resolved/rejected if you need to short-circuit the pool. + * - preserve_iterator_keys: (bool) Retain the iterator key when generating + * the commands. + * + * @param AwsClientInterface $client Client used to execute commands. + * @param array|\Iterator $commands Iterable that yields commands. + * @param array $config Associative array of options. + */ + public function __construct( + AwsClientInterface $client, + $commands, + array $config = [] + ) { + if (!isset($config['concurrency'])) { + $config['concurrency'] = 25; + } + + $before = $this->getBefore($config); + $mapFn = function ($commands) use ($client, $before, $config) { + foreach ($commands as $key => $command) { + if (!($command instanceof CommandInterface)) { + throw new \InvalidArgumentException('Each value yielded by ' + . 'the iterator must be an Aws\CommandInterface.'); + } + if ($before) { + $before($command, $key); + } + if (!empty($config['preserve_iterator_keys'])) { + yield $key => $client->executeAsync($command); + } else { + yield $client->executeAsync($command); + } + } + }; + + $this->each = new EachPromise($mapFn($commands), $config); + } + + /** + * @return \GuzzleHttp\Promise\PromiseInterface + */ + public function promise() + { + return $this->each->promise(); + } + + /** + * Executes a pool synchronously and aggregates the results of the pool + * into an indexed array in the same order as the passed in array. + * + * @param AwsClientInterface $client Client used to execute commands. + * @param mixed $commands Iterable that yields commands. + * @param array $config Configuration options. + * + * @return array + * @see \Aws\CommandPool::__construct for available configuration options. + */ + public static function batch( + AwsClientInterface $client, + $commands, + array $config = [] + ) { + $results = []; + self::cmpCallback($config, 'fulfilled', $results); + self::cmpCallback($config, 'rejected', $results); + + return (new self($client, $commands, $config)) + ->promise() + ->then(static function () use (&$results) { + ksort($results); + return $results; + }) + ->wait(); + } + + /** + * @return callable + */ + private function getBefore(array $config) + { + if (!isset($config['before'])) { + return null; + } + + if (is_callable($config['before'])) { + return $config['before']; + } + + throw new \InvalidArgumentException('before must be callable'); + } + + /** + * Adds an onFulfilled or onRejected callback that aggregates results into + * an array. If a callback is already present, it is replaced with the + * composed function. + * + * @param array $config + * @param $name + * @param array $results + */ + private static function cmpCallback(array &$config, $name, array &$results) + { + if (!isset($config[$name])) { + $config[$name] = function ($v, $k) use (&$results) { + $results[$k] = $v; + }; + } else { + $currentFn = $config[$name]; + $config[$name] = function ($v, $k) use (&$results, $currentFn) { + $currentFn($v, $k); + $results[$k] = $v; + }; + } + } +} diff --git a/lib/aws/Aws/Comprehend/ComprehendClient.php b/lib/aws/Aws/Comprehend/ComprehendClient.php new file mode 100644 index 0000000..432d062 --- /dev/null +++ b/lib/aws/Aws/Comprehend/ComprehendClient.php @@ -0,0 +1,99 @@ +<?php +namespace Aws\Comprehend; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Comprehend** service. + * @method \Aws\Result batchDetectDominantLanguage(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDetectDominantLanguageAsync(array $args = []) + * @method \Aws\Result batchDetectEntities(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDetectEntitiesAsync(array $args = []) + * @method \Aws\Result batchDetectKeyPhrases(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDetectKeyPhrasesAsync(array $args = []) + * @method \Aws\Result batchDetectSentiment(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDetectSentimentAsync(array $args = []) + * @method \Aws\Result batchDetectSyntax(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDetectSyntaxAsync(array $args = []) + * @method \Aws\Result createDocumentClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDocumentClassifierAsync(array $args = []) + * @method \Aws\Result createEntityRecognizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEntityRecognizerAsync(array $args = []) + * @method \Aws\Result deleteDocumentClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDocumentClassifierAsync(array $args = []) + * @method \Aws\Result deleteEntityRecognizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEntityRecognizerAsync(array $args = []) + * @method \Aws\Result describeDocumentClassificationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDocumentClassificationJobAsync(array $args = []) + * @method \Aws\Result describeDocumentClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDocumentClassifierAsync(array $args = []) + * @method \Aws\Result describeDominantLanguageDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDominantLanguageDetectionJobAsync(array $args = []) + * @method \Aws\Result describeEntitiesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEntitiesDetectionJobAsync(array $args = []) + * @method \Aws\Result describeEntityRecognizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEntityRecognizerAsync(array $args = []) + * @method \Aws\Result describeKeyPhrasesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeKeyPhrasesDetectionJobAsync(array $args = []) + * @method \Aws\Result describeSentimentDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSentimentDetectionJobAsync(array $args = []) + * @method \Aws\Result describeTopicsDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTopicsDetectionJobAsync(array $args = []) + * @method \Aws\Result detectDominantLanguage(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectDominantLanguageAsync(array $args = []) + * @method \Aws\Result detectEntities(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectEntitiesAsync(array $args = []) + * @method \Aws\Result detectKeyPhrases(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectKeyPhrasesAsync(array $args = []) + * @method \Aws\Result detectSentiment(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectSentimentAsync(array $args = []) + * @method \Aws\Result detectSyntax(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectSyntaxAsync(array $args = []) + * @method \Aws\Result listDocumentClassificationJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDocumentClassificationJobsAsync(array $args = []) + * @method \Aws\Result listDocumentClassifiers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDocumentClassifiersAsync(array $args = []) + * @method \Aws\Result listDominantLanguageDetectionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDominantLanguageDetectionJobsAsync(array $args = []) + * @method \Aws\Result listEntitiesDetectionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEntitiesDetectionJobsAsync(array $args = []) + * @method \Aws\Result listEntityRecognizers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEntityRecognizersAsync(array $args = []) + * @method \Aws\Result listKeyPhrasesDetectionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listKeyPhrasesDetectionJobsAsync(array $args = []) + * @method \Aws\Result listSentimentDetectionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSentimentDetectionJobsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTopicsDetectionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTopicsDetectionJobsAsync(array $args = []) + * @method \Aws\Result startDocumentClassificationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDocumentClassificationJobAsync(array $args = []) + * @method \Aws\Result startDominantLanguageDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDominantLanguageDetectionJobAsync(array $args = []) + * @method \Aws\Result startEntitiesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startEntitiesDetectionJobAsync(array $args = []) + * @method \Aws\Result startKeyPhrasesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startKeyPhrasesDetectionJobAsync(array $args = []) + * @method \Aws\Result startSentimentDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSentimentDetectionJobAsync(array $args = []) + * @method \Aws\Result startTopicsDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startTopicsDetectionJobAsync(array $args = []) + * @method \Aws\Result stopDominantLanguageDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopDominantLanguageDetectionJobAsync(array $args = []) + * @method \Aws\Result stopEntitiesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopEntitiesDetectionJobAsync(array $args = []) + * @method \Aws\Result stopKeyPhrasesDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopKeyPhrasesDetectionJobAsync(array $args = []) + * @method \Aws\Result stopSentimentDetectionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopSentimentDetectionJobAsync(array $args = []) + * @method \Aws\Result stopTrainingDocumentClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTrainingDocumentClassifierAsync(array $args = []) + * @method \Aws\Result stopTrainingEntityRecognizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTrainingEntityRecognizerAsync(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 ComprehendClient extends AwsClient {} diff --git a/lib/aws/Aws/Comprehend/Exception/ComprehendException.php b/lib/aws/Aws/Comprehend/Exception/ComprehendException.php new file mode 100644 index 0000000..cf6145f --- /dev/null +++ b/lib/aws/Aws/Comprehend/Exception/ComprehendException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Comprehend\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Comprehend** service. + */ +class ComprehendException extends AwsException {} diff --git a/lib/aws/Aws/ComprehendMedical/ComprehendMedicalClient.php b/lib/aws/Aws/ComprehendMedical/ComprehendMedicalClient.php new file mode 100644 index 0000000..3e20bc9 --- /dev/null +++ b/lib/aws/Aws/ComprehendMedical/ComprehendMedicalClient.php @@ -0,0 +1,13 @@ +<?php +namespace Aws\ComprehendMedical; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Comprehend Medical** service. + * @method \Aws\Result detectEntities(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectEntitiesAsync(array $args = []) + * @method \Aws\Result detectPHI(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectPHIAsync(array $args = []) + */ +class ComprehendMedicalClient extends AwsClient {} diff --git a/lib/aws/Aws/ComprehendMedical/Exception/ComprehendMedicalException.php b/lib/aws/Aws/ComprehendMedical/Exception/ComprehendMedicalException.php new file mode 100644 index 0000000..091db6c --- /dev/null +++ b/lib/aws/Aws/ComprehendMedical/Exception/ComprehendMedicalException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ComprehendMedical\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Comprehend Medical** service. + */ +class ComprehendMedicalException extends AwsException {} diff --git a/lib/aws/Aws/ConfigService/ConfigServiceClient.php b/lib/aws/Aws/ConfigService/ConfigServiceClient.php new file mode 100644 index 0000000..42b1322 --- /dev/null +++ b/lib/aws/Aws/ConfigService/ConfigServiceClient.php @@ -0,0 +1,122 @@ +<?php +namespace Aws\ConfigService; + +use Aws\AwsClient; + +/** + * This client is used to interact with AWS Config. + * + * @method \Aws\Result batchGetAggregateResourceConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetAggregateResourceConfigAsync(array $args = []) + * @method \Aws\Result batchGetResourceConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetResourceConfigAsync(array $args = []) + * @method \Aws\Result deleteAggregationAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAggregationAuthorizationAsync(array $args = []) + * @method \Aws\Result deleteConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigRuleAsync(array $args = []) + * @method \Aws\Result deleteConfigurationAggregator(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationAggregatorAsync(array $args = []) + * @method \Aws\Result deleteConfigurationRecorder(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationRecorderAsync(array $args = []) + * @method \Aws\Result deleteDeliveryChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeliveryChannelAsync(array $args = []) + * @method \Aws\Result deleteEvaluationResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEvaluationResultsAsync(array $args = []) + * @method \Aws\Result deletePendingAggregationRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePendingAggregationRequestAsync(array $args = []) + * @method \Aws\Result deleteRemediationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRemediationConfigurationAsync(array $args = []) + * @method \Aws\Result deleteRetentionConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRetentionConfigurationAsync(array $args = []) + * @method \Aws\Result deliverConfigSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deliverConfigSnapshotAsync(array $args = []) + * @method \Aws\Result describeAggregateComplianceByConfigRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAggregateComplianceByConfigRulesAsync(array $args = []) + * @method \Aws\Result describeAggregationAuthorizations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAggregationAuthorizationsAsync(array $args = []) + * @method \Aws\Result describeComplianceByConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeComplianceByConfigRuleAsync(array $args = []) + * @method \Aws\Result describeComplianceByResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeComplianceByResourceAsync(array $args = []) + * @method \Aws\Result describeConfigRuleEvaluationStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigRuleEvaluationStatusAsync(array $args = []) + * @method \Aws\Result describeConfigRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigRulesAsync(array $args = []) + * @method \Aws\Result describeConfigurationAggregatorSourcesStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationAggregatorSourcesStatusAsync(array $args = []) + * @method \Aws\Result describeConfigurationAggregators(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationAggregatorsAsync(array $args = []) + * @method \Aws\Result describeConfigurationRecorderStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationRecorderStatusAsync(array $args = []) + * @method \Aws\Result describeConfigurationRecorders(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationRecordersAsync(array $args = []) + * @method \Aws\Result describeDeliveryChannelStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeliveryChannelStatusAsync(array $args = []) + * @method \Aws\Result describeDeliveryChannels(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeliveryChannelsAsync(array $args = []) + * @method \Aws\Result describePendingAggregationRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePendingAggregationRequestsAsync(array $args = []) + * @method \Aws\Result describeRemediationConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRemediationConfigurationsAsync(array $args = []) + * @method \Aws\Result describeRemediationExecutionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRemediationExecutionStatusAsync(array $args = []) + * @method \Aws\Result describeRetentionConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRetentionConfigurationsAsync(array $args = []) + * @method \Aws\Result getAggregateComplianceDetailsByConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAggregateComplianceDetailsByConfigRuleAsync(array $args = []) + * @method \Aws\Result getAggregateConfigRuleComplianceSummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAggregateConfigRuleComplianceSummaryAsync(array $args = []) + * @method \Aws\Result getAggregateDiscoveredResourceCounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAggregateDiscoveredResourceCountsAsync(array $args = []) + * @method \Aws\Result getAggregateResourceConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAggregateResourceConfigAsync(array $args = []) + * @method \Aws\Result getComplianceDetailsByConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getComplianceDetailsByConfigRuleAsync(array $args = []) + * @method \Aws\Result getComplianceDetailsByResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getComplianceDetailsByResourceAsync(array $args = []) + * @method \Aws\Result getComplianceSummaryByConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getComplianceSummaryByConfigRuleAsync(array $args = []) + * @method \Aws\Result getComplianceSummaryByResourceType(array $args = []) + * @method \GuzzleHttp\Promise\Promise getComplianceSummaryByResourceTypeAsync(array $args = []) + * @method \Aws\Result getDiscoveredResourceCounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDiscoveredResourceCountsAsync(array $args = []) + * @method \Aws\Result getResourceConfigHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceConfigHistoryAsync(array $args = []) + * @method \Aws\Result listAggregateDiscoveredResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAggregateDiscoveredResourcesAsync(array $args = []) + * @method \Aws\Result listDiscoveredResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDiscoveredResourcesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putAggregationAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAggregationAuthorizationAsync(array $args = []) + * @method \Aws\Result putConfigRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigRuleAsync(array $args = []) + * @method \Aws\Result putConfigurationAggregator(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationAggregatorAsync(array $args = []) + * @method \Aws\Result putConfigurationRecorder(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationRecorderAsync(array $args = []) + * @method \Aws\Result putDeliveryChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDeliveryChannelAsync(array $args = []) + * @method \Aws\Result putEvaluations(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEvaluationsAsync(array $args = []) + * @method \Aws\Result putRemediationConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRemediationConfigurationsAsync(array $args = []) + * @method \Aws\Result putRetentionConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRetentionConfigurationAsync(array $args = []) + * @method \Aws\Result selectResourceConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise selectResourceConfigAsync(array $args = []) + * @method \Aws\Result startConfigRulesEvaluation(array $args = []) + * @method \GuzzleHttp\Promise\Promise startConfigRulesEvaluationAsync(array $args = []) + * @method \Aws\Result startConfigurationRecorder(array $args = []) + * @method \GuzzleHttp\Promise\Promise startConfigurationRecorderAsync(array $args = []) + * @method \Aws\Result startRemediationExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startRemediationExecutionAsync(array $args = []) + * @method \Aws\Result stopConfigurationRecorder(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopConfigurationRecorderAsync(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 ConfigServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/ConfigService/Exception/ConfigServiceException.php b/lib/aws/Aws/ConfigService/Exception/ConfigServiceException.php new file mode 100644 index 0000000..56dc44d --- /dev/null +++ b/lib/aws/Aws/ConfigService/Exception/ConfigServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ConfigService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Config service. + */ +class ConfigServiceException extends AwsException {} diff --git a/lib/aws/Aws/Connect/ConnectClient.php b/lib/aws/Aws/Connect/ConnectClient.php new file mode 100644 index 0000000..8c3c4ec --- /dev/null +++ b/lib/aws/Aws/Connect/ConnectClient.php @@ -0,0 +1,51 @@ +<?php +namespace Aws\Connect; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Connect Service** service. + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result describeUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = []) + * @method \Aws\Result describeUserHierarchyGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserHierarchyGroupAsync(array $args = []) + * @method \Aws\Result describeUserHierarchyStructure(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserHierarchyStructureAsync(array $args = []) + * @method \Aws\Result getContactAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContactAttributesAsync(array $args = []) + * @method \Aws\Result getCurrentMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCurrentMetricDataAsync(array $args = []) + * @method \Aws\Result getFederationToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFederationTokenAsync(array $args = []) + * @method \Aws\Result getMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMetricDataAsync(array $args = []) + * @method \Aws\Result listRoutingProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRoutingProfilesAsync(array $args = []) + * @method \Aws\Result listSecurityProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecurityProfilesAsync(array $args = []) + * @method \Aws\Result listUserHierarchyGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserHierarchyGroupsAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result startOutboundVoiceContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise startOutboundVoiceContactAsync(array $args = []) + * @method \Aws\Result stopContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopContactAsync(array $args = []) + * @method \Aws\Result updateContactAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateContactAttributesAsync(array $args = []) + * @method \Aws\Result updateUserHierarchy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserHierarchyAsync(array $args = []) + * @method \Aws\Result updateUserIdentityInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserIdentityInfoAsync(array $args = []) + * @method \Aws\Result updateUserPhoneConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserPhoneConfigAsync(array $args = []) + * @method \Aws\Result updateUserRoutingProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserRoutingProfileAsync(array $args = []) + * @method \Aws\Result updateUserSecurityProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserSecurityProfilesAsync(array $args = []) + */ +class ConnectClient extends AwsClient {} diff --git a/lib/aws/Aws/Connect/Exception/ConnectException.php b/lib/aws/Aws/Connect/Exception/ConnectException.php new file mode 100644 index 0000000..d790f50 --- /dev/null +++ b/lib/aws/Aws/Connect/Exception/ConnectException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Connect\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Connect Service** service. + */ +class ConnectException extends AwsException {} diff --git a/lib/aws/Aws/CostExplorer/CostExplorerClient.php b/lib/aws/Aws/CostExplorer/CostExplorerClient.php new file mode 100644 index 0000000..4287ca0 --- /dev/null +++ b/lib/aws/Aws/CostExplorer/CostExplorerClient.php @@ -0,0 +1,23 @@ +<?php +namespace Aws\CostExplorer; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Cost Explorer Service** service. + * @method \Aws\Result getCostAndUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCostAndUsageAsync(array $args = []) + * @method \Aws\Result getCostForecast(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCostForecastAsync(array $args = []) + * @method \Aws\Result getDimensionValues(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDimensionValuesAsync(array $args = []) + * @method \Aws\Result getReservationCoverage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReservationCoverageAsync(array $args = []) + * @method \Aws\Result getReservationPurchaseRecommendation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReservationPurchaseRecommendationAsync(array $args = []) + * @method \Aws\Result getReservationUtilization(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReservationUtilizationAsync(array $args = []) + * @method \Aws\Result getTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = []) + */ +class CostExplorerClient extends AwsClient {} diff --git a/lib/aws/Aws/CostExplorer/Exception/CostExplorerException.php b/lib/aws/Aws/CostExplorer/Exception/CostExplorerException.php new file mode 100644 index 0000000..f366b18 --- /dev/null +++ b/lib/aws/Aws/CostExplorer/Exception/CostExplorerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CostExplorer\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Cost Explorer Service** service. + */ +class CostExplorerException extends AwsException {} diff --git a/lib/aws/Aws/CostandUsageReportService/CostandUsageReportServiceClient.php b/lib/aws/Aws/CostandUsageReportService/CostandUsageReportServiceClient.php new file mode 100644 index 0000000..536b867 --- /dev/null +++ b/lib/aws/Aws/CostandUsageReportService/CostandUsageReportServiceClient.php @@ -0,0 +1,15 @@ +<?php +namespace Aws\CostandUsageReportService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Cost and Usage Report Service** service. + * @method \Aws\Result deleteReportDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReportDefinitionAsync(array $args = []) + * @method \Aws\Result describeReportDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReportDefinitionsAsync(array $args = []) + * @method \Aws\Result putReportDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise putReportDefinitionAsync(array $args = []) + */ +class CostandUsageReportServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/CostandUsageReportService/Exception/CostandUsageReportServiceException.php b/lib/aws/Aws/CostandUsageReportService/Exception/CostandUsageReportServiceException.php new file mode 100644 index 0000000..012dc00 --- /dev/null +++ b/lib/aws/Aws/CostandUsageReportService/Exception/CostandUsageReportServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\CostandUsageReportService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Cost and Usage Report Service** service. + */ +class CostandUsageReportServiceException extends AwsException {} diff --git a/lib/aws/Aws/Credentials/AssumeRoleCredentialProvider.php b/lib/aws/Aws/Credentials/AssumeRoleCredentialProvider.php new file mode 100644 index 0000000..416d795 --- /dev/null +++ b/lib/aws/Aws/Credentials/AssumeRoleCredentialProvider.php @@ -0,0 +1,64 @@ +<?php +namespace Aws\Credentials; + +use Aws\Exception\CredentialsException; +use Aws\Result; +use Aws\Sts\StsClient; +use GuzzleHttp\Promise\PromiseInterface; + +/** + * Credential provider that provides credentials via assuming a role + * More Information, see: http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sts-2011-06-15.html#assumerole + */ +class AssumeRoleCredentialProvider +{ + const ERROR_MSG = "Missing required 'AssumeRoleCredentialProvider' configuration option: "; + + /** @var StsClient */ + private $client; + + /** @var array */ + private $assumeRoleParams; + + /** + * The constructor requires following configure parameters: + * - client: a StsClient + * - assume_role_params: Parameters used to make assumeRole call + * + * @param array $config Configuration options + * @throws \InvalidArgumentException + */ + public function __construct(array $config = []) + { + if (!isset($config['assume_role_params'])) { + throw new \InvalidArgumentException(self::ERROR_MSG . "'assume_role_params'."); + } + + if (!isset($config['client'])) { + throw new \InvalidArgumentException(self::ERROR_MSG . "'client'."); + } + + $this->client = $config['client']; + $this->assumeRoleParams = $config['assume_role_params']; + } + + /** + * Loads assume role credentials. + * + * @return PromiseInterface + */ + public function __invoke() + { + $client = $this->client; + return $client->assumeRoleAsync($this->assumeRoleParams) + ->then(function (Result $result) { + return $this->client->createCredentials($result); + })->otherwise(function (\RuntimeException $exception) { + throw new CredentialsException( + "Error in retrieving assume role credentials.", + 0, + $exception + ); + }); + } +} diff --git a/lib/aws/Aws/Credentials/CredentialProvider.php b/lib/aws/Aws/Credentials/CredentialProvider.php new file mode 100644 index 0000000..8e17f14 --- /dev/null +++ b/lib/aws/Aws/Credentials/CredentialProvider.php @@ -0,0 +1,401 @@ +<?php +namespace Aws\Credentials; + +use Aws; +use Aws\CacheInterface; +use Aws\Exception\CredentialsException; +use GuzzleHttp\Promise; + +/** + * Credential providers are functions that accept no arguments and return a + * promise that is fulfilled with an {@see \Aws\Credentials\CredentialsInterface} + * or rejected with an {@see \Aws\Exception\CredentialsException}. + * + * <code> + * use Aws\Credentials\CredentialProvider; + * $provider = CredentialProvider::defaultProvider(); + * // Returns a CredentialsInterface or throws. + * $creds = $provider()->wait(); + * </code> + * + * Credential providers can be composed to create credentials using conditional + * logic that can create different credentials in different environments. You + * can compose multiple providers into a single provider using + * {@see Aws\Credentials\CredentialProvider::chain}. This function accepts + * providers as variadic arguments and returns a new function that will invoke + * each provider until a successful set of credentials is returned. + * + * <code> + * // First try an INI file at this location. + * $a = CredentialProvider::ini(null, '/path/to/file.ini'); + * // Then try an INI file at this location. + * $b = CredentialProvider::ini(null, '/path/to/other-file.ini'); + * // Then try loading from environment variables. + * $c = CredentialProvider::env(); + * // Combine the three providers together. + * $composed = CredentialProvider::chain($a, $b, $c); + * // Returns a promise that is fulfilled with credentials or throws. + * $promise = $composed(); + * // Wait on the credentials to resolve. + * $creds = $promise->wait(); + * </code> + */ +class CredentialProvider +{ + const ENV_KEY = 'AWS_ACCESS_KEY_ID'; + const ENV_SECRET = 'AWS_SECRET_ACCESS_KEY'; + const ENV_SESSION = 'AWS_SESSION_TOKEN'; + const ENV_PROFILE = 'AWS_PROFILE'; + + /** + * Create a default credential provider that first checks for environment + * variables, then checks for the "default" profile in ~/.aws/credentials, + * then checks for "profile default" profile in ~/.aws/config (which is + * the default profile of AWS CLI), then tries to make a GET Request to + * fetch credentials if Ecs environment variable is presented, and finally + * checks for EC2 instance profile credentials. + * + * This provider is automatically wrapped in a memoize function that caches + * previously provided credentials. + * + * @param array $config Optional array of ecs/instance profile credentials + * provider options. + * + * @return callable + */ + public static function defaultProvider(array $config = []) + { + $localCredentialProviders = self::localCredentialProviders(); + $remoteCredentialProviders = self::remoteCredentialProviders($config); + + return self::memoize( + call_user_func_array( + 'self::chain', + array_merge($localCredentialProviders, $remoteCredentialProviders) + ) + ); + } + + /** + * Create a credential provider function from a set of static credentials. + * + * @param CredentialsInterface $creds + * + * @return callable + */ + public static function fromCredentials(CredentialsInterface $creds) + { + $promise = Promise\promise_for($creds); + + return function () use ($promise) { + return $promise; + }; + } + + /** + * Creates an aggregate credentials provider that invokes the provided + * variadic providers one after the other until a provider returns + * credentials. + * + * @return callable + */ + public static function chain() + { + $links = func_get_args(); + if (empty($links)) { + throw new \InvalidArgumentException('No providers in chain'); + } + + return function () use ($links) { + /** @var callable $parent */ + $parent = array_shift($links); + $promise = $parent(); + while ($next = array_shift($links)) { + $promise = $promise->otherwise($next); + } + return $promise; + }; + } + + /** + * Wraps a credential provider and caches previously provided credentials. + * + * Ensures that cached credentials are refreshed when they expire. + * + * @param callable $provider Credentials provider function to wrap. + * + * @return callable + */ + public static function memoize(callable $provider) + { + return function () use ($provider) { + static $result; + static $isConstant; + + // Constant credentials will be returned constantly. + if ($isConstant) { + return $result; + } + + // Create the initial promise that will be used as the cached value + // until it expires. + if (null === $result) { + $result = $provider(); + } + + // Return credentials that could expire and refresh when needed. + return $result + ->then(function (CredentialsInterface $creds) use ($provider, &$isConstant, &$result) { + // Determine if these are constant credentials. + if (!$creds->getExpiration()) { + $isConstant = true; + return $creds; + } + + // Refresh expired credentials. + if (!$creds->isExpired()) { + return $creds; + } + // Refresh the result and forward the promise. + return $result = $provider(); + }) + ->otherwise(function($reason) use (&$result) { + // Cleanup rejected promise. + $result = null; + return new Promise\RejectedPromise($reason); + }); + }; + } + + /** + * Wraps a credential provider and saves provided credentials in an + * instance of Aws\CacheInterface. Forwards calls when no credentials found + * in cache and updates cache with the results. + * + * Defaults to using a simple file-based cache when none provided. + * + * @param callable $provider Credentials provider function to wrap + * @param CacheInterface $cache Cache to store credentials + * @param string|null $cacheKey (optional) Cache key to use + * + * @return callable + */ + public static function cache( + callable $provider, + CacheInterface $cache, + $cacheKey = null + ) { + $cacheKey = $cacheKey ?: 'aws_cached_credentials'; + + return function () use ($provider, $cache, $cacheKey) { + $found = $cache->get($cacheKey); + if ($found instanceof CredentialsInterface && !$found->isExpired()) { + return Promise\promise_for($found); + } + + return $provider() + ->then(function (CredentialsInterface $creds) use ( + $cache, + $cacheKey + ) { + $cache->set( + $cacheKey, + $creds, + null === $creds->getExpiration() ? + 0 : $creds->getExpiration() - time() + ); + + return $creds; + }); + }; + } + + /** + * Provider that creates credentials from environment variables + * AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN. + * + * @return callable + */ + public static function env() + { + return function () { + // Use credentials from environment variables, if available + $key = getenv(self::ENV_KEY); + $secret = getenv(self::ENV_SECRET); + if ($key && $secret) { + return Promise\promise_for( + new Credentials($key, $secret, getenv(self::ENV_SESSION) ?: NULL) + ); + } + + return self::reject('Could not find environment variable ' + . 'credentials in ' . self::ENV_KEY . '/' . self::ENV_SECRET); + }; + } + + /** + * Credential provider that creates credentials using instance profile + * credentials. + * + * @param array $config Array of configuration data. + * + * @return InstanceProfileProvider + * @see Aws\Credentials\InstanceProfileProvider for $config details. + */ + public static function instanceProfile(array $config = []) + { + return new InstanceProfileProvider($config); + } + + /** + * Credential provider that creates credentials using + * ecs credentials by a GET request, whose uri is specified + * by environment variable + * + * @param array $config Array of configuration data. + * + * @return EcsCredentialProvider + * @see Aws\Credentials\EcsCredentialProvider for $config details. + */ + public static function ecsCredentials(array $config = []) + { + return new EcsCredentialProvider($config); + } + + /** + * Credential provider that creates credentials using assume role + * + * @param array $config Array of configuration data + * @return callable + * @see Aws\Credentials\AssumeRoleCredentialProvider for $config details. + */ + public static function assumeRole(array $config=[]) + { + return new AssumeRoleCredentialProvider($config); + } + + /** + * Credentials provider that creates credentials using an ini file stored + * in the current user's home directory. + * + * @param string|null $profile Profile to use. If not specified will use + * the "default" profile in "~/.aws/credentials". + * @param string|null $filename If provided, uses a custom filename rather + * than looking in the home directory. + * + * @return callable + */ + public static function ini($profile = null, $filename = null) + { + $filename = $filename ?: (self::getHomeDir() . '/.aws/credentials'); + $profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'default'); + + return function () use ($profile, $filename) { + if (!is_readable($filename)) { + return self::reject("Cannot read credentials from $filename"); + } + $data = \Aws\parse_ini_file($filename, true, INI_SCANNER_RAW); + if ($data === false) { + return self::reject("Invalid credentials file: $filename"); + } + if (!isset($data[$profile])) { + return self::reject("'$profile' not found in credentials file"); + } + if (!isset($data[$profile]['aws_access_key_id']) + || !isset($data[$profile]['aws_secret_access_key']) + ) { + return self::reject("No credentials present in INI profile " + . "'$profile' ($filename)"); + } + + if (empty($data[$profile]['aws_session_token'])) { + $data[$profile]['aws_session_token'] + = isset($data[$profile]['aws_security_token']) + ? $data[$profile]['aws_security_token'] + : null; + } + + return Promise\promise_for( + new Credentials( + $data[$profile]['aws_access_key_id'], + $data[$profile]['aws_secret_access_key'], + $data[$profile]['aws_session_token'] + ) + ); + }; + } + + /** + * Local credential providers returns a list of local credential providers + * in following order: + * - credentials from environment variables + * - 'default' profile in '.aws/credentials' file + * - 'profile default' profile in '.aws/config' file + * + * @return array + */ + private static function localCredentialProviders() + { + return [ + self::env(), + self::ini(), + self::ini('profile default', self::getHomeDir() . '/.aws/config') + ]; + } + + /** + * Remote credential providers returns a list of credentials providers + * for the remote endpoints such as EC2 or ECS Roles. + * + * @param array $config Array of configuration data. + * + * @return array + * @see Aws\Credentials\InstanceProfileProvider for $config details. + * @see Aws\Credentials\EcsCredentialProvider for $config details. + */ + private static function remoteCredentialProviders(array $config = []) + { + if (!empty(getenv(EcsCredentialProvider::ENV_URI))) { + $providers['ecs'] = self::ecsCredentials($config); + } + $providers['instance'] = self::instanceProfile($config); + + if (isset($config['credentials']) + && $config['credentials'] instanceof CacheInterface + ) { + foreach ($providers as $key => $provider) { + $providers[$key] = self::cache( + $provider, + $config['credentials'], + 'aws_cached_' . $key . '_credentials' + ); + } + } + + return $providers; + } + + /** + * Gets the environment's HOME directory if available. + * + * @return null|string + */ + private static function getHomeDir() + { + // On Linux/Unix-like systems, use the HOME environment variable + if ($homeDir = getenv('HOME')) { + return $homeDir; + } + + // Get the HOMEDRIVE and HOMEPATH values for Windows hosts + $homeDrive = getenv('HOMEDRIVE'); + $homePath = getenv('HOMEPATH'); + + return ($homeDrive && $homePath) ? $homeDrive . $homePath : null; + } + + private static function reject($msg) + { + return new Promise\RejectedPromise(new CredentialsException($msg)); + } +} diff --git a/lib/aws/Aws/Credentials/Credentials.php b/lib/aws/Aws/Credentials/Credentials.php new file mode 100644 index 0000000..bd2bdc9 --- /dev/null +++ b/lib/aws/Aws/Credentials/Credentials.php @@ -0,0 +1,91 @@ +<?php +namespace Aws\Credentials; + +/** + * Basic implementation of the AWS Credentials interface that allows callers to + * pass in the AWS Access Key and AWS Secret Access Key in the constructor. + */ +class Credentials implements CredentialsInterface, \Serializable +{ + private $key; + private $secret; + private $token; + private $expires; + + /** + * Constructs a new BasicAWSCredentials object, with the specified AWS + * access key and AWS secret key + * + * @param string $key AWS access key ID + * @param string $secret AWS secret access key + * @param string $token Security token to use + * @param int $expires UNIX timestamp for when credentials expire + */ + public function __construct($key, $secret, $token = null, $expires = null) + { + $this->key = trim($key); + $this->secret = trim($secret); + $this->token = $token; + $this->expires = $expires; + } + + public static function __set_state(array $state) + { + return new self( + $state['key'], + $state['secret'], + $state['token'], + $state['expires'] + ); + } + + public function getAccessKeyId() + { + return $this->key; + } + + public function getSecretKey() + { + return $this->secret; + } + + public function getSecurityToken() + { + return $this->token; + } + + public function getExpiration() + { + return $this->expires; + } + + public function isExpired() + { + return $this->expires !== null && time() >= $this->expires; + } + + public function toArray() + { + return [ + 'key' => $this->key, + 'secret' => $this->secret, + 'token' => $this->token, + 'expires' => $this->expires + ]; + } + + public function serialize() + { + return json_encode($this->toArray()); + } + + public function unserialize($serialized) + { + $data = json_decode($serialized, true); + + $this->key = $data['key']; + $this->secret = $data['secret']; + $this->token = $data['token']; + $this->expires = $data['expires']; + } +} diff --git a/lib/aws/Aws/Credentials/CredentialsInterface.php b/lib/aws/Aws/Credentials/CredentialsInterface.php new file mode 100644 index 0000000..86fac9d --- /dev/null +++ b/lib/aws/Aws/Credentials/CredentialsInterface.php @@ -0,0 +1,52 @@ +<?php +namespace Aws\Credentials; + +/** + * Provides access to the AWS credentials used for accessing AWS services: AWS + * access key ID, secret access key, and security token. These credentials are + * used to securely sign requests to AWS services. + */ +interface CredentialsInterface +{ + /** + * Returns the AWS access key ID for this credentials object. + * + * @return string + */ + public function getAccessKeyId(); + + /** + * Returns the AWS secret access key for this credentials object. + * + * @return string + */ + public function getSecretKey(); + + /** + * Get the associated security token if available + * + * @return string|null + */ + public function getSecurityToken(); + + /** + * Get the UNIX timestamp in which the credentials will expire + * + * @return int|null + */ + public function getExpiration(); + + /** + * Check if the credentials are expired + * + * @return bool + */ + public function isExpired(); + + /** + * Converts the credentials to an associative array. + * + * @return array + */ + public function toArray(); +} diff --git a/lib/aws/Aws/Credentials/EcsCredentialProvider.php b/lib/aws/Aws/Credentials/EcsCredentialProvider.php new file mode 100644 index 0000000..8a503e4 --- /dev/null +++ b/lib/aws/Aws/Credentials/EcsCredentialProvider.php @@ -0,0 +1,88 @@ +<?php +namespace Aws\Credentials; + +use Aws\Exception\CredentialsException; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Promise\PromiseInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Credential provider that fetches credentials with GET request. + * ECS environment variable is used in constructing request URI. + */ +class EcsCredentialProvider +{ + const SERVER_URI = 'http://169.254.170.2'; + const ENV_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + + /** @var callable */ + private $client; + + /** + * The constructor accepts following options: + * - timeout: (optional) Connection timeout, in seconds, default 1.0 + * - client: An EcsClient to make request from + * + * @param array $config Configuration options + */ + public function __construct(array $config = []) + { + $this->timeout = isset($config['timeout']) ? $config['timeout'] : 1.0; + $this->client = isset($config['client']) + ? $config['client'] + : \Aws\default_http_handler(); + } + + /** + * Load ECS credentials + * + * @return PromiseInterface + */ + public function __invoke() + { + $client = $this->client; + $request = new Request('GET', self::getEcsUri()); + return $client( + $request, + [ + 'timeout' => $this->timeout, + 'proxy' => '', + ] + )->then(function (ResponseInterface $response) { + $result = $this->decodeResult((string) $response->getBody()); + return new Credentials( + $result['AccessKeyId'], + $result['SecretAccessKey'], + $result['Token'], + strtotime($result['Expiration']) + ); + })->otherwise(function ($reason) { + $reason = is_array($reason) ? $reason['exception'] : $reason; + $msg = $reason->getMessage(); + throw new CredentialsException( + "Error retrieving credential from ECS ($msg)" + ); + }); + } + + /** + * Fetch credential URI from ECS environment variable + * + * @return string Returns ECS URI + */ + private function getEcsUri() + { + $creds_uri = getenv(self::ENV_URI); + return self::SERVER_URI . $creds_uri; + } + + private function decodeResult($response) + { + $result = json_decode($response, true); + + if (!isset($result['AccessKeyId'])) { + throw new CredentialsException('Unexpected ECS credential value'); + } + return $result; + } +} diff --git a/lib/aws/Aws/Credentials/InstanceProfileProvider.php b/lib/aws/Aws/Credentials/InstanceProfileProvider.php new file mode 100644 index 0000000..033b5ca --- /dev/null +++ b/lib/aws/Aws/Credentials/InstanceProfileProvider.php @@ -0,0 +1,118 @@ +<?php +namespace Aws\Credentials; + +use Aws\Exception\CredentialsException; +use Aws\Sdk; +use GuzzleHttp\Promise; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Promise\PromiseInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Credential provider that provides credentials from the EC2 metadata server. + */ +class InstanceProfileProvider +{ + const SERVER_URI = 'http://169.254.169.254/latest/'; + const CRED_PATH = 'meta-data/iam/security-credentials/'; + + const ENV_DISABLE = 'AWS_EC2_METADATA_DISABLED'; + + /** @var string */ + private $profile; + + /** @var callable */ + private $client; + + /** + * The constructor accepts the following options: + * + * - timeout: Connection timeout, in seconds. + * - profile: Optional EC2 profile name, if known. + * + * @param array $config Configuration options. + */ + public function __construct(array $config = []) + { + $this->timeout = isset($config['timeout']) ? $config['timeout'] : 1.0; + $this->profile = isset($config['profile']) ? $config['profile'] : null; + $this->client = isset($config['client']) + ? $config['client'] // internal use only + : \Aws\default_http_handler(); + } + + /** + * Loads instance profile credentials. + * + * @return PromiseInterface + */ + public function __invoke() + { + return Promise\coroutine(function () { + if (!$this->profile) { + $this->profile = (yield $this->request(self::CRED_PATH)); + } + $json = (yield $this->request(self::CRED_PATH . $this->profile)); + $result = $this->decodeResult($json); + yield new Credentials( + $result['AccessKeyId'], + $result['SecretAccessKey'], + $result['Token'], + strtotime($result['Expiration']) + ); + }); + } + + /** + * @param string $url + * @return PromiseInterface Returns a promise that is fulfilled with the + * body of the response as a string. + */ + private function request($url) + { + $disabled = getenv(self::ENV_DISABLE) ?: false; + if (strcasecmp($disabled, 'true') === 0) { + throw new CredentialsException( + $this->createErrorMessage('EC2 metadata server access disabled') + ); + } + + $fn = $this->client; + $request = new Request('GET', self::SERVER_URI . $url); + $userAgent = 'aws-sdk-php/' . Sdk::VERSION; + if (defined('HHVM_VERSION')) { + $userAgent .= ' HHVM/' . HHVM_VERSION; + } + $userAgent .= ' ' . \Aws\default_user_agent(); + $request = $request->withHeader('User-Agent', $userAgent); + + return $fn($request, ['timeout' => $this->timeout]) + ->then(function (ResponseInterface $response) { + return (string) $response->getBody(); + })->otherwise(function (array $reason) { + $reason = $reason['exception']; + $msg = $reason->getMessage(); + throw new CredentialsException( + $this->createErrorMessage($msg) + ); + }); + } + + private function createErrorMessage($previous) + { + return "Error retrieving credentials from the instance profile " + . "metadata server. ({$previous})"; + } + + private function decodeResult($response) + { + $result = json_decode($response, true); + + if ($result['Code'] !== 'Success') { + throw new CredentialsException('Unexpected instance profile ' + . 'response code: ' . $result['Code']); + } + + return $result; + } +} diff --git a/lib/aws/Aws/Crypto/AbstractCryptoClient.php b/lib/aws/Aws/Crypto/AbstractCryptoClient.php new file mode 100644 index 0000000..17a9e9f --- /dev/null +++ b/lib/aws/Aws/Crypto/AbstractCryptoClient.php @@ -0,0 +1,113 @@ +<?php +namespace Aws\Crypto; + +use Aws\Crypto\Cipher\CipherMethod; +use Aws\Crypto\Cipher\Cbc; +use GuzzleHttp\Psr7\Stream; + +/** + * @internal + */ +abstract class AbstractCryptoClient +{ + public static $supportedCiphers = ['cbc', 'gcm']; + + /** + * Returns if the passed cipher name is supported for encryption by the SDK. + * + * @param string $cipherName The name of a cipher to verify is registered. + * + * @return bool If the cipher passed is in our supported list. + */ + public static function isSupportedCipher($cipherName) + { + return in_array($cipherName, self::$supportedCiphers); + } + + /** + * Returns an identifier recognizable by `openssl_*` functions, such as + * `aes-256-cbc` or `aes-128-ctr`. + * + * @param string $cipherName Name of the cipher being used for encrypting + * or decrypting. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return string + */ + abstract protected function getCipherOpenSslName($cipherName, $keySize); + + /** + * Constructs a CipherMethod for the given name, initialized with the other + * data passed for use in encrypting or decrypting. + * + * @param string $cipherName Name of the cipher to generate for encrypting. + * @param string $iv Base Initialization Vector for the cipher. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return CipherMethod + * + * @internal + */ + abstract protected function buildCipherMethod($cipherName, $iv, $keySize); + + /** + * Performs a reverse lookup to get the openssl_* cipher name from the + * AESName passed in from the MetadataEnvelope. + * + * @param $aesName + * + * @return string + * + * @internal + */ + abstract protected function getCipherFromAesName($aesName); + + /** + * Dependency to provide an interface for building an encryption stream for + * data given cipher details, metadata, and materials to do so. + * + * @param Stream $plaintext Plain-text data to be encrypted using the + * materials, algorithm, and data provided. + * @param array $cipherOptions Options for use in determining the cipher to + * be used for encrypting data. + * @param MaterialsProvider $provider A provider to supply and encrypt + * materials used in encryption. + * @param MetadataEnvelope $envelope A storage envelope for encryption + * metadata to be added to. + * + * @return AesStreamInterface + * + * @internal + */ + abstract public function encrypt( + Stream $plaintext, + array $cipherOptions, + MaterialsProvider $provider, + MetadataEnvelope $envelope + ); + + /** + * Dependency to provide an interface for building a decryption stream for + * cipher text given metadata and materials to do so. + * + * @param string $cipherText Plain-text data to be decrypted using the + * materials, algorithm, and data provided. + * @param MaterialsProvider $provider A provider to supply and encrypt + * materials used in encryption. + * @param MetadataEnvelope $envelope A storage envelope for encryption + * metadata to be read from. + * @param array $cipherOptions Additional verification options. + * + * @return AesStreamInterface + * + * @internal + */ + abstract public function decrypt( + $cipherText, + MaterialsProvider $provider, + MetadataEnvelope $envelope, + array $cipherOptions = [] + ); +} diff --git a/lib/aws/Aws/Crypto/AesDecryptingStream.php b/lib/aws/Aws/Crypto/AesDecryptingStream.php new file mode 100644 index 0000000..d6096c3 --- /dev/null +++ b/lib/aws/Aws/Crypto/AesDecryptingStream.php @@ -0,0 +1,144 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7\StreamDecoratorTrait; +use \LogicException; +use Psr\Http\Message\StreamInterface; +use Aws\Crypto\Cipher\CipherMethod; + +/** + * @internal Represents a stream of data to be decrypted with passed cipher. + */ +class AesDecryptingStream implements AesStreamInterface +{ + const BLOCK_SIZE = 16; // 128 bits + + use StreamDecoratorTrait; + + /** + * @var string + */ + private $buffer = ''; + + /** + * @var CipherMethod + */ + private $cipherMethod; + + /** + * @var string + */ + private $key; + + /** + * @var StreamInterface + */ + private $stream; + + /** + * @param StreamInterface $cipherText + * @param string $key + * @param CipherMethod $cipherMethod + */ + public function __construct( + StreamInterface $cipherText, + $key, + CipherMethod $cipherMethod + ) { + $this->stream = $cipherText; + $this->key = $key; + $this->cipherMethod = clone $cipherMethod; + } + + public function getOpenSslName() + { + return $this->cipherMethod->getOpenSslName(); + } + + public function getAesName() + { + return $this->cipherMethod->getAesName(); + } + + public function getCurrentIv() + { + return $this->cipherMethod->getCurrentIv(); + } + + public function getSize() + { + $plainTextSize = $this->stream->getSize(); + + if ($this->cipherMethod->requiresPadding()) { + // PKCS7 padding requires that between 1 and self::BLOCK_SIZE be + // added to the plaintext to make it an even number of blocks. The + // plaintext is between strlen($cipherText) - self::BLOCK_SIZE and + // strlen($cipherText) - 1 + return null; + } + + return $plainTextSize; + } + + public function isWritable() + { + return false; + } + + public function read($length) + { + if ($length > strlen($this->buffer)) { + $this->buffer .= $this->decryptBlock( + self::BLOCK_SIZE * ceil(($length - strlen($this->buffer)) / self::BLOCK_SIZE) + ); + } + + $data = substr($this->buffer, 0, $length); + $this->buffer = substr($this->buffer, $length); + + return $data ? $data : ''; + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($offset === 0 && $whence === SEEK_SET) { + $this->buffer = ''; + $this->cipherMethod->seek(0, SEEK_SET); + $this->stream->seek(0, SEEK_SET); + } else { + throw new LogicException('AES encryption streams only support being' + . ' rewound, not arbitrary seeking.'); + } + } + + private function decryptBlock($length) + { + if ($this->stream->eof()) { + return ''; + } + + $cipherText = ''; + do { + $cipherText .= $this->stream->read($length - strlen($cipherText)); + } while (strlen($cipherText) < $length && !$this->stream->eof()); + + $options = OPENSSL_RAW_DATA; + if (!$this->stream->eof() + && $this->stream->getSize() !== $this->stream->tell() + ) { + $options |= OPENSSL_ZERO_PADDING; + } + + $plaintext = openssl_decrypt( + $cipherText, + $this->cipherMethod->getOpenSslName(), + $this->key, + $options, + $this->cipherMethod->getCurrentIv() + ); + + $this->cipherMethod->update($cipherText); + + return $plaintext; + } +} diff --git a/lib/aws/Aws/Crypto/AesEncryptingStream.php b/lib/aws/Aws/Crypto/AesEncryptingStream.php new file mode 100644 index 0000000..390a74c --- /dev/null +++ b/lib/aws/Aws/Crypto/AesEncryptingStream.php @@ -0,0 +1,150 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7\StreamDecoratorTrait; +use \LogicException; +use Psr\Http\Message\StreamInterface; +use Aws\Crypto\Cipher\CipherMethod; + +/** + * @internal Represents a stream of data to be encrypted with a passed cipher. + */ +class AesEncryptingStream implements AesStreamInterface +{ + const BLOCK_SIZE = 16; // 128 bits + + use StreamDecoratorTrait; + + /** + * @var string + */ + private $buffer = ''; + + /** + * @var CipherMethod + */ + private $cipherMethod; + + /** + * @var string + */ + private $key; + + /** + * @var StreamInterface + */ + private $stream; + + /** + * @param StreamInterface $plainText + * @param string $key + * @param CipherMethod $cipherMethod + */ + public function __construct( + StreamInterface $plainText, + $key, + CipherMethod $cipherMethod + ) { + $this->stream = $plainText; + $this->key = $key; + $this->cipherMethod = clone $cipherMethod; + } + + public function getOpenSslName() + { + return $this->cipherMethod->getOpenSslName(); + } + + public function getAesName() + { + return $this->cipherMethod->getAesName(); + } + + public function getCurrentIv() + { + return $this->cipherMethod->getCurrentIv(); + } + + public function getSize() + { + $plainTextSize = $this->stream->getSize(); + + if ($this->cipherMethod->requiresPadding() && $plainTextSize !== null) { + // PKCS7 padding requires that between 1 and self::BLOCK_SIZE be + // added to the plaintext to make it an even number of blocks. + $padding = self::BLOCK_SIZE - $plainTextSize % self::BLOCK_SIZE; + return $plainTextSize + $padding; + } + + return $plainTextSize; + } + + public function isWritable() + { + return false; + } + + public function read($length) + { + if ($length > strlen($this->buffer)) { + $this->buffer .= $this->encryptBlock( + self::BLOCK_SIZE * ceil(($length - strlen($this->buffer)) / self::BLOCK_SIZE) + ); + } + + $data = substr($this->buffer, 0, $length); + $this->buffer = substr($this->buffer, $length); + + return $data ? $data : ''; + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($whence === SEEK_CUR) { + $offset = $this->tell() + $offset; + $whence = SEEK_SET; + } + + if ($whence === SEEK_SET) { + $this->buffer = ''; + $wholeBlockOffset + = (int) ($offset / self::BLOCK_SIZE) * self::BLOCK_SIZE; + $this->stream->seek($wholeBlockOffset); + $this->cipherMethod->seek($wholeBlockOffset); + $this->read($offset - $wholeBlockOffset); + } else { + throw new LogicException('Unrecognized whence.'); + } + } + + private function encryptBlock($length) + { + if ($this->stream->eof()) { + return ''; + } + + $plainText = ''; + do { + $plainText .= $this->stream->read($length - strlen($plainText)); + } while (strlen($plainText) < $length && !$this->stream->eof()); + + $options = OPENSSL_RAW_DATA; + if (!$this->stream->eof() + || $this->stream->getSize() !== $this->stream->tell() + ) { + $options |= OPENSSL_ZERO_PADDING; + } + + $cipherText = openssl_encrypt( + $plainText, + $this->cipherMethod->getOpenSslName(), + $this->key, + $options, + $this->cipherMethod->getCurrentIv() + ); + + $this->cipherMethod->update($cipherText); + + return $cipherText; + } +} diff --git a/lib/aws/Aws/Crypto/AesGcmDecryptingStream.php b/lib/aws/Aws/Crypto/AesGcmDecryptingStream.php new file mode 100644 index 0000000..40b4ba0 --- /dev/null +++ b/lib/aws/Aws/Crypto/AesGcmDecryptingStream.php @@ -0,0 +1,95 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\StreamDecoratorTrait; +use Psr\Http\Message\StreamInterface; +use \RuntimeException; + +/** + * @internal Represents a stream of data to be gcm decrypted. + */ +class AesGcmDecryptingStream implements AesStreamInterface +{ + use StreamDecoratorTrait; + + private $aad; + + private $initializationVector; + + private $key; + + private $keySize; + + private $cipherText; + + private $tag; + + private $tagLength; + + /** + * @param StreamInterface $cipherText + * @param string $key + * @param string $initializationVector + * @param string $tag + * @param string $aad + * @param int $tagLength + * @param int $keySize + */ + public function __construct( + StreamInterface $cipherText, + $key, + $initializationVector, + $tag, + $aad = '', + $tagLength = 128, + $keySize = 256 + ) { + if (version_compare(PHP_VERSION, '7.1', '<')) { + throw new RuntimeException( + 'AES-GCM decryption is only supported in PHP 7.1 or greater' + ); + } + + $this->cipherText = $cipherText; + $this->key = $key; + $this->initializationVector = $initializationVector; + $this->tag = $tag; + $this->aad = $aad; + $this->tagLength = $tagLength; + $this->keySize = $keySize; + } + + public function getOpenSslName() + { + return "aes-{$this->keySize}-gcm"; + } + + public function getAesName() + { + return 'AES/GCM/NoPadding'; + } + + public function getCurrentIv() + { + return $this->initializationVector; + } + + public function createStream() + { + return Psr7\stream_for(openssl_decrypt( + (string) $this->cipherText, + $this->getOpenSslName(), + $this->key, + OPENSSL_RAW_DATA, + $this->initializationVector, + $this->tag, + $this->aad + )); + } + + public function isWritable() + { + return false; + } +} diff --git a/lib/aws/Aws/Crypto/AesGcmEncryptingStream.php b/lib/aws/Aws/Crypto/AesGcmEncryptingStream.php new file mode 100644 index 0000000..41d1e3f --- /dev/null +++ b/lib/aws/Aws/Crypto/AesGcmEncryptingStream.php @@ -0,0 +1,101 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\StreamDecoratorTrait; +use Psr\Http\Message\StreamInterface; +use \RuntimeException; + +/** + * @internal Represents a stream of data to be gcm encrypted. + */ +class AesGcmEncryptingStream implements AesStreamInterface +{ + use StreamDecoratorTrait; + + private $aad; + + private $initializationVector; + + private $key; + + private $keySize; + + private $plaintext; + + private $tag = ''; + + private $tagLength; + + /** + * @param StreamInterface $plaintext + * @param string $key + * @param string $initializationVector + * @param string $aad + * @param int $tagLength + * @param int $keySize + */ + public function __construct( + StreamInterface $plaintext, + $key, + $initializationVector, + $aad = '', + $tagLength = 16, + $keySize = 256 + ) { + if (version_compare(PHP_VERSION, '7.1', '<')) { + throw new RuntimeException( + 'AES-GCM decryption is only supported in PHP 7.1 or greater' + ); + } + + $this->plaintext = $plaintext; + $this->key = $key; + $this->initializationVector = $initializationVector; + $this->aad = $aad; + $this->tagLength = $tagLength; + $this->keySize = $keySize; + } + + public function getOpenSslName() + { + return "aes-{$this->keySize}-gcm"; + } + + public function getAesName() + { + return 'AES/GCM/NoPadding'; + } + + public function getCurrentIv() + { + return $this->initializationVector; + } + + public function createStream() + { + return Psr7\stream_for(openssl_encrypt( + (string) $this->plaintext, + $this->getOpenSslName(), + $this->key, + OPENSSL_RAW_DATA, + $this->initializationVector, + $this->tag, + $this->aad, + $this->tagLength + )); + } + + /** + * @return string + */ + public function getTag() + { + return $this->tag; + } + + public function isWritable() + { + return false; + } +} diff --git a/lib/aws/Aws/Crypto/AesStreamInterface.php b/lib/aws/Aws/Crypto/AesStreamInterface.php new file mode 100644 index 0000000..ce7b85d --- /dev/null +++ b/lib/aws/Aws/Crypto/AesStreamInterface.php @@ -0,0 +1,30 @@ +<?php +namespace Aws\Crypto; + +use Psr\Http\Message\StreamInterface; + +interface AesStreamInterface extends StreamInterface +{ + /** + * Returns an identifier recognizable by `openssl_*` functions, such as + * `aes-256-cbc` or `aes-128-ctr`. + * + * @return string + */ + public function getOpenSslName(); + + /** + * Returns an AES recognizable name, such as 'AES/GCM/NoPadding'. + * + * @return string + */ + public function getAesName(); + + /** + * Returns the IV that should be used to initialize the next block in + * encrypt or decrypt. + * + * @return string + */ + public function getCurrentIv(); +} diff --git a/lib/aws/Aws/Crypto/Cipher/Cbc.php b/lib/aws/Aws/Crypto/Cipher/Cbc.php new file mode 100644 index 0000000..8ce6068 --- /dev/null +++ b/lib/aws/Aws/Crypto/Cipher/Cbc.php @@ -0,0 +1,82 @@ +<?php +namespace Aws\Crypto\Cipher; + +use \InvalidArgumentException; +use \LogicException; + +/** + * An implementation of the CBC cipher for use with an AesEncryptingStream or + * AesDecrypting stream. + */ +class Cbc implements CipherMethod +{ + const BLOCK_SIZE = 16; + + /** + * @var string + */ + private $baseIv; + + /** + * @var string + */ + private $iv; + + /** + * @var int + */ + private $keySize; + + /** + * @param string $iv Base Initialization Vector for the cipher. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @throws InvalidArgumentException Thrown if the passed iv does not match + * the iv length required by the cipher. + */ + public function __construct($iv, $keySize = 256) + { + $this->baseIv = $this->iv = $iv; + $this->keySize = $keySize; + + if (strlen($iv) !== openssl_cipher_iv_length($this->getOpenSslName())) { + throw new InvalidArgumentException('Invalid initialization vector'); + } + } + + public function getOpenSslName() + { + return "aes-{$this->keySize}-cbc"; + } + + public function getAesName() + { + return 'AES/CBC/PKCS5Padding'; + } + + public function getCurrentIv() + { + return $this->iv; + } + + public function requiresPadding() + { + return true; + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($offset === 0 && $whence === SEEK_SET) { + $this->iv = $this->baseIv; + } else { + throw new LogicException('CBC initialization only support being' + . ' rewound, not arbitrary seeking.'); + } + } + + public function update($cipherTextBlock) + { + $this->iv = substr($cipherTextBlock, self::BLOCK_SIZE * -1); + } +} diff --git a/lib/aws/Aws/Crypto/Cipher/CipherBuilderTrait.php b/lib/aws/Aws/Crypto/Cipher/CipherBuilderTrait.php new file mode 100644 index 0000000..5647a0e --- /dev/null +++ b/lib/aws/Aws/Crypto/Cipher/CipherBuilderTrait.php @@ -0,0 +1,70 @@ +<?php +namespace Aws\Crypto\Cipher; + +trait CipherBuilderTrait +{ + /** + * Returns an identifier recognizable by `openssl_*` functions, such as + * `aes-256-cbc` or `aes-128-ctr`. + * + * @param string $cipherName Name of the cipher being used for encrypting + * or decrypting. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return string + */ + protected function getCipherOpenSslName($cipherName, $keySize) + { + return "aes-{$keySize}-{$cipherName}"; + } + + /** + * Constructs a CipherMethod for the given name, initialized with the other + * data passed for use in encrypting or decrypting. + * + * @param string $cipherName Name of the cipher to generate for encrypting. + * @param string $iv Base Initialization Vector for the cipher. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return CipherMethod + * + * @internal + */ + protected function buildCipherMethod($cipherName, $iv, $keySize) + { + switch ($cipherName) { + case 'cbc': + return new Cbc( + $iv, + $keySize + ); + default: + return null; + } + } + + /** + * Performs a reverse lookup to get the openssl_* cipher name from the + * AESName passed in from the MetadataEnvelope. + * + * @param $aesName + * + * @return string + * + * @internal + */ + protected function getCipherFromAesName($aesName) + { + switch ($aesName) { + case 'AES/GCM/NoPadding': + return 'gcm'; + case 'AES/CBC/PKCS5Padding': + return 'cbc'; + default: + throw new \RuntimeException('Unrecognized or unsupported' + . ' AESName for reverse lookup.'); + } + } +} \ No newline at end of file diff --git a/lib/aws/Aws/Crypto/Cipher/CipherMethod.php b/lib/aws/Aws/Crypto/Cipher/CipherMethod.php new file mode 100644 index 0000000..a99aaa7 --- /dev/null +++ b/lib/aws/Aws/Crypto/Cipher/CipherMethod.php @@ -0,0 +1,59 @@ +<?php +namespace Aws\Crypto\Cipher; + +interface CipherMethod +{ + /** + * Returns an identifier recognizable by `openssl_*` functions, such as + * `aes-256-cbc` or `aes-128-ctr`. + * + * @return string + */ + public function getOpenSslName(); + + /** + * Returns an AES recognizable name, such as 'AES/GCM/NoPadding'. + * + * @return string + */ + public function getAesName(); + + /** + * Returns the IV that should be used to initialize the next block in + * encrypt or decrypt. + * + * @return string + */ + public function getCurrentIv(); + + /** + * Indicates whether the cipher method used with this IV requires padding + * the final block to make sure the plaintext is evenly divisible by the + * block size. + * + * @return boolean + */ + public function requiresPadding(); + + /** + * Adjust the return of this::getCurrentIv to reflect a seek performed on + * the encryption stream using this IV object. + * + * @param int $offset + * @param int $whence + * + * @throws LogicException Thrown if the requested seek is not supported by + * this IV implementation. For example, a CBC IV + * only supports a full rewind ($offset === 0 && + * $whence === SEEK_SET) + */ + public function seek($offset, $whence = SEEK_SET); + + /** + * Take account of the last cipher text block to adjust the return of + * this::getCurrentIv + * + * @param string $cipherTextBlock + */ + public function update($cipherTextBlock); +} diff --git a/lib/aws/Aws/Crypto/DecryptionTrait.php b/lib/aws/Aws/Crypto/DecryptionTrait.php new file mode 100644 index 0000000..79a2798 --- /dev/null +++ b/lib/aws/Aws/Crypto/DecryptionTrait.php @@ -0,0 +1,179 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\LimitStream; + +trait DecryptionTrait +{ + /** + * Dependency to reverse lookup the openssl_* cipher name from the AESName + * in the MetadataEnvelope. + * + * @param $aesName + * + * @return string + * + * @internal + */ + abstract protected function getCipherFromAesName($aesName); + + /** + * Dependency to generate a CipherMethod from a set of inputs for loading + * in to an AesDecryptingStream. + * + * @param string $cipherName Name of the cipher to generate for decrypting. + * @param string $iv Base Initialization Vector for the cipher. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return Cipher\CipherMethod + * + * @internal + */ + abstract protected function buildCipherMethod($cipherName, $iv, $keySize); + + /** + * Builds an AesStreamInterface using cipher options loaded from the + * MetadataEnvelope and MaterialsProvider. + * + * @param string $cipherText Plain-text data to be encrypted using the + * materials, algorithm, and data provided. + * @param MaterialsProvider $provider A provider to supply and encrypt + * materials used in encryption. + * @param MetadataEnvelope $envelope A storage envelope for encryption + * metadata to be read from. + * @param array $cipherOptions Additional verification options. + * + * @return AesStreamInterface + * + * @throws \InvalidArgumentException Thrown when a value in $cipherOptions + * is not valid. + * + * @internal + */ + protected function decrypt( + $cipherText, + MaterialsProvider $provider, + MetadataEnvelope $envelope, + array $cipherOptions = [] + ) { + $cipherOptions['Iv'] = base64_decode( + $envelope[MetadataEnvelope::IV_HEADER] + ); + + $cipherOptions['TagLength'] = + $envelope[MetadataEnvelope::CRYPTO_TAG_LENGTH_HEADER] / 8; + + $cek = $provider->decryptCek( + base64_decode( + $envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER] + ), + json_decode( + $envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER], + true + ) + ); + $cipherOptions['KeySize'] = strlen($cek) * 8; + $cipherOptions['Cipher'] = $this->getCipherFromAesName( + $envelope[MetadataEnvelope::CONTENT_CRYPTO_SCHEME_HEADER] + ); + + $decryptionSteam = $this->getDecryptingStream( + $cipherText, + $cek, + $cipherOptions + ); + unset($cek); + + return $decryptionSteam; + } + + private function getTagFromCiphertextStream( + Psr7\Stream $cipherText, + $tagLength + ) { + $cipherTextSize = $cipherText->getSize(); + if ($cipherTextSize == null || $cipherTextSize <= 0) { + throw new \RuntimeException('Cannot decrypt a stream of unknown' + . ' size.'); + } + return (string) new LimitStream( + $cipherText, + $tagLength, + $cipherTextSize - $tagLength + ); + } + + private function getStrippedCiphertextStream( + Psr7\Stream $cipherText, + $tagLength + ) { + $cipherTextSize = $cipherText->getSize(); + if ($cipherTextSize == null || $cipherTextSize <= 0) { + throw new \RuntimeException('Cannot decrypt a stream of unknown' + . ' size.'); + } + return new LimitStream( + $cipherText, + $cipherTextSize - $tagLength, + 0 + ); + } + + /** + * Generates a stream that wraps the cipher text with the proper cipher and + * uses the content encryption key (CEK) to decrypt the data when read. + * + * @param string $cipherText Plain-text data to be encrypted using the + * materials, algorithm, and data provided. + * @param string $cek A content encryption key for use by the stream for + * encrypting the plaintext data. + * @param array $cipherOptions Options for use in determining the cipher to + * be used for encrypting data. + * + * @return AesStreamInterface + * + * @internal + */ + protected function getDecryptingStream( + $cipherText, + $cek, + $cipherOptions + ) { + $cipherTextStream = Psr7\stream_for($cipherText); + switch ($cipherOptions['Cipher']) { + case 'gcm': + $cipherOptions['Tag'] = $this->getTagFromCiphertextStream( + $cipherTextStream, + $cipherOptions['TagLength'] + ); + + return new AesGcmDecryptingStream( + $this->getStrippedCiphertextStream( + $cipherTextStream, + $cipherOptions['TagLength'] + ), + $cek, + $cipherOptions['Iv'], + $cipherOptions['Tag'], + $cipherOptions['Aad'] = isset($cipherOptions['Aad']) + ? $cipherOptions['Aad'] + : null, + $cipherOptions['TagLength'] ?: null, + $cipherOptions['KeySize'] + ); + default: + $cipherMethod = $this->buildCipherMethod( + $cipherOptions['Cipher'], + $cipherOptions['Iv'], + $cipherOptions['KeySize'] + ); + return new AesDecryptingStream( + $cipherTextStream, + $cek, + $cipherMethod + ); + } + } +} diff --git a/lib/aws/Aws/Crypto/EncryptionTrait.php b/lib/aws/Aws/Crypto/EncryptionTrait.php new file mode 100644 index 0000000..b92b340 --- /dev/null +++ b/lib/aws/Aws/Crypto/EncryptionTrait.php @@ -0,0 +1,186 @@ +<?php +namespace Aws\Crypto; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\AppendStream; +use GuzzleHttp\Psr7\Stream; + +trait EncryptionTrait +{ + private static $allowedOptions = [ + 'Cipher' => true, + 'KeySize' => true, + 'Aad' => true, + ]; + + /** + * Dependency to generate a CipherMethod from a set of inputs for loading + * in to an AesEncryptingStream. + * + * @param string $cipherName Name of the cipher to generate for encrypting. + * @param string $iv Base Initialization Vector for the cipher. + * @param int $keySize Size of the encryption key, in bits, that will be + * used. + * + * @return Cipher\CipherMethod + * + * @internal + */ + abstract protected function buildCipherMethod($cipherName, $iv, $keySize); + + /** + * Builds an AesStreamInterface and populates encryption metadata into the + * supplied envelope. + * + * @param Stream $plaintext Plain-text data to be encrypted using the + * materials, algorithm, and data provided. + * @param array $cipherOptions Options for use in determining the cipher to + * be used for encrypting data. + * @param MaterialsProvider $provider A provider to supply and encrypt + * materials used in encryption. + * @param MetadataEnvelope $envelope A storage envelope for encryption + * metadata to be added to. + * + * @return AesStreamInterface + * + * @throws \InvalidArgumentException Thrown when a value in $cipherOptions + * is not valid. + * + * @internal + */ + protected function encrypt( + Stream $plaintext, + array $cipherOptions, + MaterialsProvider $provider, + MetadataEnvelope $envelope + ) { + $materialsDescription = $provider->getMaterialsDescription(); + + $cipherOptions = array_intersect_key( + $cipherOptions, + self::$allowedOptions + ); + + if (empty($cipherOptions['Cipher'])) { + throw new \InvalidArgumentException('An encryption cipher must be' + . ' specified in the "cipher_options".'); + } + + if (!self::isSupportedCipher($cipherOptions['Cipher'])) { + throw new \InvalidArgumentException('The cipher requested is not' + . ' supported by the SDK.'); + } + + if (empty($cipherOptions['KeySize'])) { + $cipherOptions['KeySize'] = 256; + } + if (!is_int($cipherOptions['KeySize'])) { + throw new \InvalidArgumentException('The cipher "KeySize" must be' + . ' an integer.'); + } + + if (!MaterialsProvider::isSupportedKeySize( + $cipherOptions['KeySize'] + )) { + throw new \InvalidArgumentException('The cipher "KeySize" requested' + . ' is not supported by AES (128, 192, or 256).'); + } + + $cipherOptions['Iv'] = $provider->generateIv( + $this->getCipherOpenSslName( + $cipherOptions['Cipher'], + $cipherOptions['KeySize'] + ) + ); + + $cek = $provider->generateCek($cipherOptions['KeySize']); + + list($encryptingStream, $aesName) = $this->getEncryptingStream( + $plaintext, + $cek, + $cipherOptions + ); + + // Populate envelope data + $envelope[MetadataEnvelope::CONTENT_KEY_V2_HEADER] = + $provider->encryptCek( + $cek, + $materialsDescription + ); + unset($cek); + + $envelope[MetadataEnvelope::IV_HEADER] = + base64_encode($cipherOptions['Iv']); + $envelope[MetadataEnvelope::KEY_WRAP_ALGORITHM_HEADER] = + $provider->getWrapAlgorithmName(); + $envelope[MetadataEnvelope::CONTENT_CRYPTO_SCHEME_HEADER] = $aesName; + $envelope[MetadataEnvelope::UNENCRYPTED_CONTENT_LENGTH_HEADER] = + strlen($plaintext); + $envelope[MetadataEnvelope::UNENCRYPTED_CONTENT_MD5_HEADER] = + base64_encode(md5($plaintext)); + $envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER] = + json_encode($materialsDescription); + if (!empty($cipherOptions['Tag'])) { + $envelope[MetadataEnvelope::CRYPTO_TAG_LENGTH_HEADER] = + strlen($cipherOptions['Tag']) * 8; + } + + return $encryptingStream; + } + + /** + * Generates a stream that wraps the plaintext with the proper cipher and + * uses the content encryption key (CEK) to encrypt the data when read. + * + * @param Stream $plaintext Plain-text data to be encrypted using the + * materials, algorithm, and data provided. + * @param string $cek A content encryption key for use by the stream for + * encrypting the plaintext data. + * @param array $cipherOptions Options for use in determining the cipher to + * be used for encrypting data. + * + * @return [AesStreamInterface, string] + * + * @internal + */ + protected function getEncryptingStream( + Stream $plaintext, + $cek, + &$cipherOptions + ) { + switch ($cipherOptions['Cipher']) { + case 'gcm': + $cipherOptions['TagLength'] = 16; + + $cipherTextStream = new AesGcmEncryptingStream( + $plaintext, + $cek, + $cipherOptions['Iv'], + $cipherOptions['Aad'] = isset($cipherOptions['Aad']) + ? $cipherOptions['Aad'] + : null, + $cipherOptions['TagLength'], + $cipherOptions['KeySize'] + ); + + $appendStream = new AppendStream([ + $cipherTextStream->createStream() + ]); + $cipherOptions['Tag'] = $cipherTextStream->getTag(); + $appendStream->addStream(Psr7\stream_for($cipherOptions['Tag'])); + return [$appendStream, $cipherTextStream->getAesName()]; + default: + $cipherMethod = $this->buildCipherMethod( + $cipherOptions['Cipher'], + $cipherOptions['Iv'], + $cipherOptions['KeySize'] + ); + $cipherTextStream = new AesEncryptingStream( + $plaintext, + $cek, + $cipherMethod + ); + return [$cipherTextStream, $cipherTextStream->getAesName()]; + } + } +} diff --git a/lib/aws/Aws/Crypto/KmsMaterialsProvider.php b/lib/aws/Aws/Crypto/KmsMaterialsProvider.php new file mode 100644 index 0000000..355191c --- /dev/null +++ b/lib/aws/Aws/Crypto/KmsMaterialsProvider.php @@ -0,0 +1,108 @@ +<?php +namespace Aws\Crypto; + +use Aws\Kms\KmsClient; + +/** + * Uses KMS to supply materials for encrypting and decrypting data. + */ +class KmsMaterialsProvider extends MaterialsProvider +{ + private $kmsClient; + private $kmsKeyId; + + /** + * @param KmsClient $kmsClient A KMS Client for use encrypting and + * decrypting keys. + * @param string $kmsKeyId The private KMS key id to be used for encrypting + * and decrypting keys. + */ + public function __construct( + KmsClient $kmsClient, + $kmsKeyId = null + ) { + $this->kmsClient = $kmsClient; + $this->kmsKeyId = $kmsKeyId; + } + + public function fromDecryptionEnvelope(MetadataEnvelope $envelope) + { + if (empty($envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER])) { + throw new \RuntimeException('Not able to detect kms_cmk_id from an' + . ' empty materials description.'); + } + + $materialsDescription = json_decode( + $envelope[MetadataEnvelope::MATERIALS_DESCRIPTION_HEADER], + true + ); + if (empty($materialsDescription['kms_cmk_id'])) { + throw new \RuntimeException('Not able to detect kms_cmk_id from kms' + . ' materials description.'); + } + + return new KmsMaterialsProvider( + $this->kmsClient, + $materialsDescription['kms_cmk_id'] + ); + } + + /** + * The KMS key id for use in matching this Provider to its keys, + * consistently with other SDKs as 'kms_cmk_id'. + * + * @return array + */ + public function getMaterialsDescription() + { + return ['kms_cmk_id' => $this->kmsKeyId]; + } + + public function getWrapAlgorithmName() + { + return 'kms'; + } + + /** + * Takes a content encryption key (CEK) and description to return an encrypted + * key by using KMS' Encrypt API. + * + * @param string $unencryptedCek Key for use in encrypting other data + * that itself needs to be encrypted by the + * Provider. + * @param string $materialDescription Material Description for use in + * encrypting the $cek. + * + * @return string + */ + public function encryptCek($unencryptedCek, $materialDescription) + { + $encryptedDataKey = $this->kmsClient->encrypt([ + 'Plaintext' => $unencryptedCek, + 'KeyId' => $this->kmsKeyId, + 'EncryptionContext' => $materialDescription + ]); + return base64_encode($encryptedDataKey['CiphertextBlob']); + } + + /** + * Takes an encrypted content encryption key (CEK) and material description + * for use decrypting the key by using KMS' Decrypt API. + * + * @param string $encryptedCek Encrypted key to be decrypted by the Provider + * for use decrypting other data. + * @param string $materialDescription Material Description for use in + * encrypting the $cek. + * + * @return string + */ + public function decryptCek($encryptedCek, $materialDescription) + { + $result = $this->kmsClient->decrypt([ + 'CiphertextBlob' => $encryptedCek, + 'EncryptionContext' => $materialDescription + ]); + + return $result['Plaintext']; + } +} diff --git a/lib/aws/Aws/Crypto/MaterialsProvider.php b/lib/aws/Aws/Crypto/MaterialsProvider.php new file mode 100644 index 0000000..c1131b6 --- /dev/null +++ b/lib/aws/Aws/Crypto/MaterialsProvider.php @@ -0,0 +1,105 @@ +<?php +namespace Aws\Crypto; + +abstract class MaterialsProvider +{ + private static $supportedKeySizes = [ + 128 => true, + 192 => true, + 256 => true, + ]; + + /** + * Returns if the requested size is supported by AES. + * + * @param int $keySize Size of the requested key in bits. + * + * @return bool + */ + public static function isSupportedKeySize($keySize) + { + return isset(self::$supportedKeySizes[$keySize]); + } + + /** + * Performs further initialization of the MaterialsProvider based on the + * data inside the MetadataEnvelope. + * + * @param MetadataEnvelope $envelope A storage envelope for encryption + * metadata to be read from. + * + * @return MaterialsProvider + * + * @throws \RuntimeException Thrown when there is an empty or improperly + * formed materials description in the envelope. + * + * @internal + */ + abstract public function fromDecryptionEnvelope(MetadataEnvelope $envelope); + + /** + * Returns the material description for this Provider so it can be verified + * by encryption mechanisms. + * + * @return string + */ + abstract public function getMaterialsDescription(); + + /** + * Returns the wrap algorithm name for this Provider. + * + * @return string + */ + abstract public function getWrapAlgorithmName(); + + /** + * Takes a content encryption key (CEK) and description to return an + * encrypted key according to the Provider's specifications. + * + * @param string $unencryptedCek Key for use in encrypting other data + * that itself needs to be encrypted by the + * Provider. + * @param string $materialDescription Material Description for use in + * encrypting the $cek. + * + * @return string + */ + abstract public function encryptCek($unencryptedCek, $materialDescription); + + /** + * Takes an encrypted content encryption key (CEK) and material description + * for use decrypting the key according to the Provider's specifications. + * + * @param string $encryptedCek Encrypted key to be decrypted by the Provider + * for use decrypting other data. + * @param string $materialDescription Material Description for use in + * encrypting the $cek. + * + * @return string + */ + abstract public function decryptCek($encryptedCek, $materialDescription); + + /** + * @param string $keySize Length of a cipher key in bits for generating a + * random content encryption key (CEK). + * + * @return string + */ + public function generateCek($keySize) + { + return openssl_random_pseudo_bytes($keySize / 8); + } + + /** + * @param string $openSslName Cipher OpenSSL name to use for generating + * an initialization vector. + * + * @return string + */ + public function generateIv($openSslName) + { + return openssl_random_pseudo_bytes( + openssl_cipher_iv_length($openSslName) + ); + } +} diff --git a/lib/aws/Aws/Crypto/MetadataEnvelope.php b/lib/aws/Aws/Crypto/MetadataEnvelope.php new file mode 100644 index 0000000..8f6baf8 --- /dev/null +++ b/lib/aws/Aws/Crypto/MetadataEnvelope.php @@ -0,0 +1,57 @@ +<?php +namespace Aws\Crypto; + +use Aws\HasDataTrait; +use \ArrayAccess; +use \IteratorAggregate; +use \InvalidArgumentException; +use \JsonSerializable; + +/** + * Stores encryption metadata for reading and writing. + * + * @internal + */ +class MetadataEnvelope implements ArrayAccess, IteratorAggregate, JsonSerializable +{ + use HasDataTrait; + + const CONTENT_KEY_V2_HEADER = 'x-amz-key-v2'; + const IV_HEADER = 'x-amz-iv'; + const MATERIALS_DESCRIPTION_HEADER = 'x-amz-matdesc'; + const KEY_WRAP_ALGORITHM_HEADER = 'x-amz-wrap-alg'; + const CONTENT_CRYPTO_SCHEME_HEADER = 'x-amz-cek-alg'; + const CRYPTO_TAG_LENGTH_HEADER = 'x-amz-tag-len'; + const UNENCRYPTED_CONTENT_MD5_HEADER = 'x-amz-unencrypted-content-md5'; + const UNENCRYPTED_CONTENT_LENGTH_HEADER = 'x-amz-unencrypted-content-length'; + + private static $constants = []; + + public static function getConstantValues() + { + if (empty(self::$constants)) { + $reflection = new \ReflectionClass(static::class); + foreach (array_values($reflection->getConstants()) as $constant) { + self::$constants[$constant] = true; + } + } + + return array_keys(self::$constants); + } + + public function offsetSet($name, $value) + { + $constants = self::getConstantValues(); + if (is_null($name) || !in_array($name, $constants)) { + throw new InvalidArgumentException('MetadataEnvelope fields must' + . ' must match a predefined offset; use the header constants.'); + } + + $this->data[$name] = $value; + } + + public function jsonSerialize() + { + return $this->data; + } +} diff --git a/lib/aws/Aws/Crypto/MetadataStrategyInterface.php b/lib/aws/Aws/Crypto/MetadataStrategyInterface.php new file mode 100644 index 0000000..5270c7e --- /dev/null +++ b/lib/aws/Aws/Crypto/MetadataStrategyInterface.php @@ -0,0 +1,30 @@ +<?php +namespace Aws\Crypto; + +interface MetadataStrategyInterface +{ + /** + * Places the information in the MetadataEnvelope to the strategy specific + * location. Populates the PutObject arguments with any information + * necessary for loading. + * + * @param MetadataEnvelope $envelope Encryption data to save according to + * the strategy. + * @param array $args Starting arguments for PutObject. + * + * @return array Updated arguments for PutObject. + */ + public function save(MetadataEnvelope $envelope, array $args); + + /** + * Generates a MetadataEnvelope according to the specific strategy using the + * passed arguments. + * + * @param array $args Arguments from Command and Result that contains + * S3 Object information, relevant headers, and command + * configuration. + * + * @return MetadataEnvelope + */ + public function load(array $args); +} diff --git a/lib/aws/Aws/DAX/DAXClient.php b/lib/aws/Aws/DAX/DAXClient.php new file mode 100644 index 0000000..4dc67dd --- /dev/null +++ b/lib/aws/Aws/DAX/DAXClient.php @@ -0,0 +1,51 @@ +<?php +namespace Aws\DAX; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon DynamoDB Accelerator (DAX)** service. + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result createParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createParameterGroupAsync(array $args = []) + * @method \Aws\Result createSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubnetGroupAsync(array $args = []) + * @method \Aws\Result decreaseReplicationFactor(array $args = []) + * @method \GuzzleHttp\Promise\Promise decreaseReplicationFactorAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result deleteParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubnetGroupAsync(array $args = []) + * @method \Aws\Result describeClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = []) + * @method \Aws\Result describeDefaultParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDefaultParametersAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeParametersAsync(array $args = []) + * @method \Aws\Result describeSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubnetGroupsAsync(array $args = []) + * @method \Aws\Result increaseReplicationFactor(array $args = []) + * @method \GuzzleHttp\Promise\Promise increaseReplicationFactorAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result rebootNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootNodeAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClusterAsync(array $args = []) + * @method \Aws\Result updateParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateParameterGroupAsync(array $args = []) + * @method \Aws\Result updateSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSubnetGroupAsync(array $args = []) + */ +class DAXClient extends AwsClient {} diff --git a/lib/aws/Aws/DAX/Exception/DAXException.php b/lib/aws/Aws/DAX/Exception/DAXException.php new file mode 100644 index 0000000..21fa12d --- /dev/null +++ b/lib/aws/Aws/DAX/Exception/DAXException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DAX\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon DynamoDB Accelerator (DAX)** service. + */ +class DAXException extends AwsException {} diff --git a/lib/aws/Aws/DLM/DLMClient.php b/lib/aws/Aws/DLM/DLMClient.php new file mode 100644 index 0000000..8036dce --- /dev/null +++ b/lib/aws/Aws/DLM/DLMClient.php @@ -0,0 +1,19 @@ +<?php +namespace Aws\DLM; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Data Lifecycle Manager** service. + * @method \Aws\Result createLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result deleteLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result getLifecyclePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLifecyclePoliciesAsync(array $args = []) + * @method \Aws\Result getLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result updateLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLifecyclePolicyAsync(array $args = []) + */ +class DLMClient extends AwsClient {} diff --git a/lib/aws/Aws/DLM/Exception/DLMException.php b/lib/aws/Aws/DLM/Exception/DLMException.php new file mode 100644 index 0000000..7789d91 --- /dev/null +++ b/lib/aws/Aws/DLM/Exception/DLMException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DLM\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Data Lifecycle Manager** service. + */ +class DLMException extends AwsException {} diff --git a/lib/aws/Aws/DataPipeline/DataPipelineClient.php b/lib/aws/Aws/DataPipeline/DataPipelineClient.php new file mode 100644 index 0000000..c778b3a --- /dev/null +++ b/lib/aws/Aws/DataPipeline/DataPipelineClient.php @@ -0,0 +1,48 @@ +<?php +namespace Aws\DataPipeline; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Data Pipeline** service. + * + * @method \Aws\Result activatePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise activatePipelineAsync(array $args = []) + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result createPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = []) + * @method \Aws\Result deactivatePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deactivatePipelineAsync(array $args = []) + * @method \Aws\Result deletePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = []) + * @method \Aws\Result describeObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeObjectsAsync(array $args = []) + * @method \Aws\Result describePipelines(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePipelinesAsync(array $args = []) + * @method \Aws\Result evaluateExpression(array $args = []) + * @method \GuzzleHttp\Promise\Promise evaluateExpressionAsync(array $args = []) + * @method \Aws\Result getPipelineDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPipelineDefinitionAsync(array $args = []) + * @method \Aws\Result listPipelines(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPipelinesAsync(array $args = []) + * @method \Aws\Result pollForTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise pollForTaskAsync(array $args = []) + * @method \Aws\Result putPipelineDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPipelineDefinitionAsync(array $args = []) + * @method \Aws\Result queryObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise queryObjectsAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result reportTaskProgress(array $args = []) + * @method \GuzzleHttp\Promise\Promise reportTaskProgressAsync(array $args = []) + * @method \Aws\Result reportTaskRunnerHeartbeat(array $args = []) + * @method \GuzzleHttp\Promise\Promise reportTaskRunnerHeartbeatAsync(array $args = []) + * @method \Aws\Result setStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise setStatusAsync(array $args = []) + * @method \Aws\Result setTaskStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise setTaskStatusAsync(array $args = []) + * @method \Aws\Result validatePipelineDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise validatePipelineDefinitionAsync(array $args = []) + */ +class DataPipelineClient extends AwsClient {} diff --git a/lib/aws/Aws/DataPipeline/Exception/DataPipelineException.php b/lib/aws/Aws/DataPipeline/Exception/DataPipelineException.php new file mode 100644 index 0000000..a590e7c --- /dev/null +++ b/lib/aws/Aws/DataPipeline/Exception/DataPipelineException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DataPipeline\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Data Pipeline service. + */ +class DataPipelineException extends AwsException {} diff --git a/lib/aws/Aws/DataSync/DataSyncClient.php b/lib/aws/Aws/DataSync/DataSyncClient.php new file mode 100644 index 0000000..2d6bb01 --- /dev/null +++ b/lib/aws/Aws/DataSync/DataSyncClient.php @@ -0,0 +1,59 @@ +<?php +namespace Aws\DataSync; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS DataSync** service. + * @method \Aws\Result cancelTaskExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelTaskExecutionAsync(array $args = []) + * @method \Aws\Result createAgent(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAgentAsync(array $args = []) + * @method \Aws\Result createLocationEfs(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLocationEfsAsync(array $args = []) + * @method \Aws\Result createLocationNfs(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLocationNfsAsync(array $args = []) + * @method \Aws\Result createLocationS3(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLocationS3Async(array $args = []) + * @method \Aws\Result createTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTaskAsync(array $args = []) + * @method \Aws\Result deleteAgent(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAgentAsync(array $args = []) + * @method \Aws\Result deleteLocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLocationAsync(array $args = []) + * @method \Aws\Result deleteTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTaskAsync(array $args = []) + * @method \Aws\Result describeAgent(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAgentAsync(array $args = []) + * @method \Aws\Result describeLocationEfs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLocationEfsAsync(array $args = []) + * @method \Aws\Result describeLocationNfs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLocationNfsAsync(array $args = []) + * @method \Aws\Result describeLocationS3(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLocationS3Async(array $args = []) + * @method \Aws\Result describeTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTaskAsync(array $args = []) + * @method \Aws\Result describeTaskExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTaskExecutionAsync(array $args = []) + * @method \Aws\Result listAgents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAgentsAsync(array $args = []) + * @method \Aws\Result listLocations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLocationsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTaskExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTaskExecutionsAsync(array $args = []) + * @method \Aws\Result listTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTasksAsync(array $args = []) + * @method \Aws\Result startTaskExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startTaskExecutionAsync(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 updateAgent(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAgentAsync(array $args = []) + * @method \Aws\Result updateTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTaskAsync(array $args = []) + */ +class DataSyncClient extends AwsClient {} diff --git a/lib/aws/Aws/DataSync/Exception/DataSyncException.php b/lib/aws/Aws/DataSync/Exception/DataSyncException.php new file mode 100644 index 0000000..4954bba --- /dev/null +++ b/lib/aws/Aws/DataSync/Exception/DataSyncException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DataSync\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS DataSync** service. + */ +class DataSyncException extends AwsException {} diff --git a/lib/aws/Aws/DatabaseMigrationService/DatabaseMigrationServiceClient.php b/lib/aws/Aws/DatabaseMigrationService/DatabaseMigrationServiceClient.php new file mode 100644 index 0000000..7c570d0 --- /dev/null +++ b/lib/aws/Aws/DatabaseMigrationService/DatabaseMigrationServiceClient.php @@ -0,0 +1,101 @@ +<?php +namespace Aws\DatabaseMigrationService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Database Migration Service** service. + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result applyPendingMaintenanceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = []) + * @method \Aws\Result createEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEndpointAsync(array $args = []) + * @method \Aws\Result createEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = []) + * @method \Aws\Result createReplicationInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReplicationInstanceAsync(array $args = []) + * @method \Aws\Result createReplicationSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReplicationSubnetGroupAsync(array $args = []) + * @method \Aws\Result createReplicationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReplicationTaskAsync(array $args = []) + * @method \Aws\Result deleteCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = []) + * @method \Aws\Result deleteEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = []) + * @method \Aws\Result deleteEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteReplicationInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReplicationInstanceAsync(array $args = []) + * @method \Aws\Result deleteReplicationSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReplicationSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteReplicationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReplicationTaskAsync(array $args = []) + * @method \Aws\Result describeAccountAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) + * @method \Aws\Result describeCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCertificatesAsync(array $args = []) + * @method \Aws\Result describeConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = []) + * @method \Aws\Result describeEndpointTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointTypesAsync(array $args = []) + * @method \Aws\Result describeEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = []) + * @method \Aws\Result describeEventCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = []) + * @method \Aws\Result describeEventSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeOrderableReplicationInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrderableReplicationInstancesAsync(array $args = []) + * @method \Aws\Result describePendingMaintenanceActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = []) + * @method \Aws\Result describeRefreshSchemasStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRefreshSchemasStatusAsync(array $args = []) + * @method \Aws\Result describeReplicationInstanceTaskLogs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationInstanceTaskLogsAsync(array $args = []) + * @method \Aws\Result describeReplicationInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationInstancesAsync(array $args = []) + * @method \Aws\Result describeReplicationSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeReplicationTaskAssessmentResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationTaskAssessmentResultsAsync(array $args = []) + * @method \Aws\Result describeReplicationTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationTasksAsync(array $args = []) + * @method \Aws\Result describeSchemas(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSchemasAsync(array $args = []) + * @method \Aws\Result describeTableStatistics(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTableStatisticsAsync(array $args = []) + * @method \Aws\Result importCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise importCertificateAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyEndpointAsync(array $args = []) + * @method \Aws\Result modifyEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = []) + * @method \Aws\Result modifyReplicationInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReplicationInstanceAsync(array $args = []) + * @method \Aws\Result modifyReplicationSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReplicationSubnetGroupAsync(array $args = []) + * @method \Aws\Result modifyReplicationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReplicationTaskAsync(array $args = []) + * @method \Aws\Result rebootReplicationInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootReplicationInstanceAsync(array $args = []) + * @method \Aws\Result refreshSchemas(array $args = []) + * @method \GuzzleHttp\Promise\Promise refreshSchemasAsync(array $args = []) + * @method \Aws\Result reloadTables(array $args = []) + * @method \GuzzleHttp\Promise\Promise reloadTablesAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result startReplicationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startReplicationTaskAsync(array $args = []) + * @method \Aws\Result startReplicationTaskAssessment(array $args = []) + * @method \GuzzleHttp\Promise\Promise startReplicationTaskAssessmentAsync(array $args = []) + * @method \Aws\Result stopReplicationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopReplicationTaskAsync(array $args = []) + * @method \Aws\Result testConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise testConnectionAsync(array $args = []) + */ +class DatabaseMigrationServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php b/lib/aws/Aws/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php new file mode 100644 index 0000000..854088d --- /dev/null +++ b/lib/aws/Aws/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DatabaseMigrationService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Database Migration Service** service. + */ +class DatabaseMigrationServiceException extends AwsException {} diff --git a/lib/aws/Aws/DeviceFarm/DeviceFarmClient.php b/lib/aws/Aws/DeviceFarm/DeviceFarmClient.php new file mode 100644 index 0000000..8c22b8c --- /dev/null +++ b/lib/aws/Aws/DeviceFarm/DeviceFarmClient.php @@ -0,0 +1,138 @@ +<?php +namespace Aws\DeviceFarm; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon DeviceFarm** service. + * + * @method \Aws\Result createDevicePool(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDevicePoolAsync(array $args = []) + * @method \Aws\Result createInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstanceProfileAsync(array $args = []) + * @method \Aws\Result createNetworkProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNetworkProfileAsync(array $args = []) + * @method \Aws\Result createProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = []) + * @method \Aws\Result createRemoteAccessSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRemoteAccessSessionAsync(array $args = []) + * @method \Aws\Result createUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUploadAsync(array $args = []) + * @method \Aws\Result createVPCEConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVPCEConfigurationAsync(array $args = []) + * @method \Aws\Result deleteDevicePool(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDevicePoolAsync(array $args = []) + * @method \Aws\Result deleteInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInstanceProfileAsync(array $args = []) + * @method \Aws\Result deleteNetworkProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNetworkProfileAsync(array $args = []) + * @method \Aws\Result deleteProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = []) + * @method \Aws\Result deleteRemoteAccessSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRemoteAccessSessionAsync(array $args = []) + * @method \Aws\Result deleteRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRunAsync(array $args = []) + * @method \Aws\Result deleteUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUploadAsync(array $args = []) + * @method \Aws\Result deleteVPCEConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVPCEConfigurationAsync(array $args = []) + * @method \Aws\Result getAccountSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = []) + * @method \Aws\Result getDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = []) + * @method \Aws\Result getDeviceInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceInstanceAsync(array $args = []) + * @method \Aws\Result getDevicePool(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDevicePoolAsync(array $args = []) + * @method \Aws\Result getDevicePoolCompatibility(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDevicePoolCompatibilityAsync(array $args = []) + * @method \Aws\Result getInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceProfileAsync(array $args = []) + * @method \Aws\Result getJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = []) + * @method \Aws\Result getNetworkProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getNetworkProfileAsync(array $args = []) + * @method \Aws\Result getOfferingStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOfferingStatusAsync(array $args = []) + * @method \Aws\Result getProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise getProjectAsync(array $args = []) + * @method \Aws\Result getRemoteAccessSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRemoteAccessSessionAsync(array $args = []) + * @method \Aws\Result getRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRunAsync(array $args = []) + * @method \Aws\Result getSuite(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSuiteAsync(array $args = []) + * @method \Aws\Result getTest(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTestAsync(array $args = []) + * @method \Aws\Result getUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUploadAsync(array $args = []) + * @method \Aws\Result getVPCEConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVPCEConfigurationAsync(array $args = []) + * @method \Aws\Result installToRemoteAccessSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise installToRemoteAccessSessionAsync(array $args = []) + * @method \Aws\Result listArtifacts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listArtifactsAsync(array $args = []) + * @method \Aws\Result listDeviceInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeviceInstancesAsync(array $args = []) + * @method \Aws\Result listDevicePools(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevicePoolsAsync(array $args = []) + * @method \Aws\Result listDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = []) + * @method \Aws\Result listInstanceProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstanceProfilesAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result listNetworkProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNetworkProfilesAsync(array $args = []) + * @method \Aws\Result listOfferingPromotions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOfferingPromotionsAsync(array $args = []) + * @method \Aws\Result listOfferingTransactions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOfferingTransactionsAsync(array $args = []) + * @method \Aws\Result listOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOfferingsAsync(array $args = []) + * @method \Aws\Result listProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = []) + * @method \Aws\Result listRemoteAccessSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRemoteAccessSessionsAsync(array $args = []) + * @method \Aws\Result listRuns(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRunsAsync(array $args = []) + * @method \Aws\Result listSamples(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSamplesAsync(array $args = []) + * @method \Aws\Result listSuites(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSuitesAsync(array $args = []) + * @method \Aws\Result listTests(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTestsAsync(array $args = []) + * @method \Aws\Result listUniqueProblems(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUniqueProblemsAsync(array $args = []) + * @method \Aws\Result listUploads(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUploadsAsync(array $args = []) + * @method \Aws\Result listVPCEConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVPCEConfigurationsAsync(array $args = []) + * @method \Aws\Result purchaseOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseOfferingAsync(array $args = []) + * @method \Aws\Result renewOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise renewOfferingAsync(array $args = []) + * @method \Aws\Result scheduleRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise scheduleRunAsync(array $args = []) + * @method \Aws\Result stopJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopJobAsync(array $args = []) + * @method \Aws\Result stopRemoteAccessSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopRemoteAccessSessionAsync(array $args = []) + * @method \Aws\Result stopRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopRunAsync(array $args = []) + * @method \Aws\Result updateDeviceInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeviceInstanceAsync(array $args = []) + * @method \Aws\Result updateDevicePool(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDevicePoolAsync(array $args = []) + * @method \Aws\Result updateInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInstanceProfileAsync(array $args = []) + * @method \Aws\Result updateNetworkProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNetworkProfileAsync(array $args = []) + * @method \Aws\Result updateProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = []) + * @method \Aws\Result updateUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUploadAsync(array $args = []) + * @method \Aws\Result updateVPCEConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVPCEConfigurationAsync(array $args = []) + */ +class DeviceFarmClient extends AwsClient {} \ No newline at end of file diff --git a/lib/aws/Aws/DeviceFarm/Exception/DeviceFarmException.php b/lib/aws/Aws/DeviceFarm/Exception/DeviceFarmException.php new file mode 100644 index 0000000..9e2fbbd --- /dev/null +++ b/lib/aws/Aws/DeviceFarm/Exception/DeviceFarmException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DeviceFarm\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon DeviceFarm service. + */ +class DeviceFarmException extends AwsException {} \ No newline at end of file diff --git a/lib/aws/Aws/DirectConnect/DirectConnectClient.php b/lib/aws/Aws/DirectConnect/DirectConnectClient.php new file mode 100644 index 0000000..96422e6 --- /dev/null +++ b/lib/aws/Aws/DirectConnect/DirectConnectClient.php @@ -0,0 +1,110 @@ +<?php +namespace Aws\DirectConnect; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Direct Connect** service. + * + * @method \Aws\Result acceptDirectConnectGatewayAssociationProposal(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptDirectConnectGatewayAssociationProposalAsync(array $args = []) + * @method \Aws\Result allocateConnectionOnInterconnect(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocateConnectionOnInterconnectAsync(array $args = []) + * @method \Aws\Result allocateHostedConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocateHostedConnectionAsync(array $args = []) + * @method \Aws\Result allocatePrivateVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocatePrivateVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result allocatePublicVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocatePublicVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result associateConnectionWithLag(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateConnectionWithLagAsync(array $args = []) + * @method \Aws\Result associateHostedConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateHostedConnectionAsync(array $args = []) + * @method \Aws\Result associateVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result confirmConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmConnectionAsync(array $args = []) + * @method \Aws\Result confirmPrivateVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmPrivateVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result confirmPublicVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmPublicVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result createBGPPeer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBGPPeerAsync(array $args = []) + * @method \Aws\Result createConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = []) + * @method \Aws\Result createDirectConnectGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAsync(array $args = []) + * @method \Aws\Result createDirectConnectGatewayAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAssociationAsync(array $args = []) + * @method \Aws\Result createDirectConnectGatewayAssociationProposal(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectConnectGatewayAssociationProposalAsync(array $args = []) + * @method \Aws\Result createInterconnect(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInterconnectAsync(array $args = []) + * @method \Aws\Result createLag(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLagAsync(array $args = []) + * @method \Aws\Result createPrivateVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPrivateVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result createPublicVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPublicVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result deleteBGPPeer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBGPPeerAsync(array $args = []) + * @method \Aws\Result deleteConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = []) + * @method \Aws\Result deleteDirectConnectGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAsync(array $args = []) + * @method \Aws\Result deleteDirectConnectGatewayAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAssociationAsync(array $args = []) + * @method \Aws\Result deleteDirectConnectGatewayAssociationProposal(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectConnectGatewayAssociationProposalAsync(array $args = []) + * @method \Aws\Result deleteInterconnect(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInterconnectAsync(array $args = []) + * @method \Aws\Result deleteLag(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLagAsync(array $args = []) + * @method \Aws\Result deleteVirtualInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVirtualInterfaceAsync(array $args = []) + * @method \Aws\Result describeConnectionLoa(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConnectionLoaAsync(array $args = []) + * @method \Aws\Result describeConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConnectionsAsync(array $args = []) + * @method \Aws\Result describeConnectionsOnInterconnect(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConnectionsOnInterconnectAsync(array $args = []) + * @method \Aws\Result describeDirectConnectGatewayAssociationProposals(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAssociationProposalsAsync(array $args = []) + * @method \Aws\Result describeDirectConnectGatewayAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAssociationsAsync(array $args = []) + * @method \Aws\Result describeDirectConnectGatewayAttachments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewayAttachmentsAsync(array $args = []) + * @method \Aws\Result describeDirectConnectGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectConnectGatewaysAsync(array $args = []) + * @method \Aws\Result describeHostedConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHostedConnectionsAsync(array $args = []) + * @method \Aws\Result describeInterconnectLoa(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInterconnectLoaAsync(array $args = []) + * @method \Aws\Result describeInterconnects(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInterconnectsAsync(array $args = []) + * @method \Aws\Result describeLags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLagsAsync(array $args = []) + * @method \Aws\Result describeLoa(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoaAsync(array $args = []) + * @method \Aws\Result describeLocations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLocationsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result describeVirtualGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVirtualGatewaysAsync(array $args = []) + * @method \Aws\Result describeVirtualInterfaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVirtualInterfacesAsync(array $args = []) + * @method \Aws\Result disassociateConnectionFromLag(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateConnectionFromLagAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateDirectConnectGatewayAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDirectConnectGatewayAssociationAsync(array $args = []) + * @method \Aws\Result updateLag(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLagAsync(array $args = []) + * @method \Aws\Result updateVirtualInterfaceAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVirtualInterfaceAttributesAsync(array $args = []) + */ +class DirectConnectClient extends AwsClient {} diff --git a/lib/aws/Aws/DirectConnect/Exception/DirectConnectException.php b/lib/aws/Aws/DirectConnect/Exception/DirectConnectException.php new file mode 100644 index 0000000..7bc2f7a --- /dev/null +++ b/lib/aws/Aws/DirectConnect/Exception/DirectConnectException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DirectConnect\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Direct Connect service. + */ +class DirectConnectException extends AwsException {} diff --git a/lib/aws/Aws/DirectoryService/DirectoryServiceClient.php b/lib/aws/Aws/DirectoryService/DirectoryServiceClient.php new file mode 100644 index 0000000..a31e674 --- /dev/null +++ b/lib/aws/Aws/DirectoryService/DirectoryServiceClient.php @@ -0,0 +1,110 @@ +<?php +namespace Aws\DirectoryService; + +use Aws\AwsClient; + +/** + * AWS Directory Service client + * + * @method \Aws\Result acceptSharedDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptSharedDirectoryAsync(array $args = []) + * @method \Aws\Result addIpRoutes(array $args = []) + * @method \GuzzleHttp\Promise\Promise addIpRoutesAsync(array $args = []) + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result cancelSchemaExtension(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelSchemaExtensionAsync(array $args = []) + * @method \Aws\Result connectDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise connectDirectoryAsync(array $args = []) + * @method \Aws\Result createAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = []) + * @method \Aws\Result createComputer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createComputerAsync(array $args = []) + * @method \Aws\Result createConditionalForwarder(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConditionalForwarderAsync(array $args = []) + * @method \Aws\Result createDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDirectoryAsync(array $args = []) + * @method \Aws\Result createLogSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLogSubscriptionAsync(array $args = []) + * @method \Aws\Result createMicrosoftAD(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMicrosoftADAsync(array $args = []) + * @method \Aws\Result createSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = []) + * @method \Aws\Result createTrust(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrustAsync(array $args = []) + * @method \Aws\Result deleteConditionalForwarder(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConditionalForwarderAsync(array $args = []) + * @method \Aws\Result deleteDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDirectoryAsync(array $args = []) + * @method \Aws\Result deleteLogSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLogSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotAsync(array $args = []) + * @method \Aws\Result deleteTrust(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTrustAsync(array $args = []) + * @method \Aws\Result deregisterEventTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterEventTopicAsync(array $args = []) + * @method \Aws\Result describeConditionalForwarders(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConditionalForwardersAsync(array $args = []) + * @method \Aws\Result describeDirectories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDirectoriesAsync(array $args = []) + * @method \Aws\Result describeDomainControllers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDomainControllersAsync(array $args = []) + * @method \Aws\Result describeEventTopics(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventTopicsAsync(array $args = []) + * @method \Aws\Result describeSharedDirectories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSharedDirectoriesAsync(array $args = []) + * @method \Aws\Result describeSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotsAsync(array $args = []) + * @method \Aws\Result describeTrusts(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrustsAsync(array $args = []) + * @method \Aws\Result disableRadius(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableRadiusAsync(array $args = []) + * @method \Aws\Result disableSso(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableSsoAsync(array $args = []) + * @method \Aws\Result enableRadius(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableRadiusAsync(array $args = []) + * @method \Aws\Result enableSso(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableSsoAsync(array $args = []) + * @method \Aws\Result getDirectoryLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDirectoryLimitsAsync(array $args = []) + * @method \Aws\Result getSnapshotLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSnapshotLimitsAsync(array $args = []) + * @method \Aws\Result listIpRoutes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIpRoutesAsync(array $args = []) + * @method \Aws\Result listLogSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLogSubscriptionsAsync(array $args = []) + * @method \Aws\Result listSchemaExtensions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSchemaExtensionsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result registerEventTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerEventTopicAsync(array $args = []) + * @method \Aws\Result rejectSharedDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectSharedDirectoryAsync(array $args = []) + * @method \Aws\Result removeIpRoutes(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeIpRoutesAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetUserPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetUserPasswordAsync(array $args = []) + * @method \Aws\Result restoreFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreFromSnapshotAsync(array $args = []) + * @method \Aws\Result shareDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise shareDirectoryAsync(array $args = []) + * @method \Aws\Result startSchemaExtension(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSchemaExtensionAsync(array $args = []) + * @method \Aws\Result unshareDirectory(array $args = []) + * @method \GuzzleHttp\Promise\Promise unshareDirectoryAsync(array $args = []) + * @method \Aws\Result updateConditionalForwarder(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConditionalForwarderAsync(array $args = []) + * @method \Aws\Result updateNumberOfDomainControllers(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNumberOfDomainControllersAsync(array $args = []) + * @method \Aws\Result updateRadius(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRadiusAsync(array $args = []) + * @method \Aws\Result updateTrust(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTrustAsync(array $args = []) + * @method \Aws\Result verifyTrust(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyTrustAsync(array $args = []) + */ +class DirectoryServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/DirectoryService/Exception/DirectoryServiceException.php b/lib/aws/Aws/DirectoryService/Exception/DirectoryServiceException.php new file mode 100644 index 0000000..e6b72f5 --- /dev/null +++ b/lib/aws/Aws/DirectoryService/Exception/DirectoryServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DirectoryService\Exception; + +use Aws\Exception\AwsException; + +/** + * AWS Directory Service Exception + */ +class DirectoryServiceException extends AwsException {} diff --git a/lib/aws/Aws/DocDB/DocDBClient.php b/lib/aws/Aws/DocDB/DocDBClient.php new file mode 100644 index 0000000..b7da344 --- /dev/null +++ b/lib/aws/Aws/DocDB/DocDBClient.php @@ -0,0 +1,87 @@ +<?php +namespace Aws\DocDB; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon DocumentDB with MongoDB compatibility** service. + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result applyPendingMaintenanceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = []) + * @method \Aws\Result copyDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result copyDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result createDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterAsync(array $args = []) + * @method \Aws\Result createDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result createDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result createDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBInstanceAsync(array $args = []) + * @method \Aws\Result createDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterAsync(array $args = []) + * @method \Aws\Result deleteDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result deleteDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAsync(array $args = []) + * @method \Aws\Result deleteDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result describeDBClusterParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeDBClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParametersAsync(array $args = []) + * @method \Aws\Result describeDBClusterSnapshotAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotAttributesAsync(array $args = []) + * @method \Aws\Result describeDBClusterSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotsAsync(array $args = []) + * @method \Aws\Result describeDBClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClustersAsync(array $args = []) + * @method \Aws\Result describeDBEngineVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBEngineVersionsAsync(array $args = []) + * @method \Aws\Result describeDBInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBInstancesAsync(array $args = []) + * @method \Aws\Result describeDBSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeEngineDefaultClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultClusterParametersAsync(array $args = []) + * @method \Aws\Result describeEventCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeOrderableDBInstanceOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrderableDBInstanceOptionsAsync(array $args = []) + * @method \Aws\Result describePendingMaintenanceActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = []) + * @method \Aws\Result failoverDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise failoverDBClusterAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterAsync(array $args = []) + * @method \Aws\Result modifyDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyDBClusterSnapshotAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterSnapshotAttributeAsync(array $args = []) + * @method \Aws\Result modifyDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBInstanceAsync(array $args = []) + * @method \Aws\Result modifyDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result rebootDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootDBInstanceAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result restoreDBClusterFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromSnapshotAsync(array $args = []) + * @method \Aws\Result restoreDBClusterToPointInTime(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterToPointInTimeAsync(array $args = []) + */ +class DocDBClient extends AwsClient {} diff --git a/lib/aws/Aws/DocDB/Exception/DocDBException.php b/lib/aws/Aws/DocDB/Exception/DocDBException.php new file mode 100644 index 0000000..046b0cf --- /dev/null +++ b/lib/aws/Aws/DocDB/Exception/DocDBException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DocDB\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon DocumentDB with MongoDB compatibility** service. + */ +class DocDBException extends AwsException {} diff --git a/lib/aws/Aws/DoctrineCacheAdapter.php b/lib/aws/Aws/DoctrineCacheAdapter.php new file mode 100644 index 0000000..132a347 --- /dev/null +++ b/lib/aws/Aws/DoctrineCacheAdapter.php @@ -0,0 +1,55 @@ +<?php +namespace Aws; + +use Doctrine\Common\Cache\Cache; + +class DoctrineCacheAdapter implements CacheInterface, Cache +{ + /** @var Cache */ + private $cache; + + public function __construct(Cache $cache) + { + $this->cache = $cache; + } + + public function get($key) + { + return $this->cache->fetch($key); + } + + public function fetch($key) + { + return $this->get($key); + } + + public function set($key, $value, $ttl = 0) + { + return $this->cache->save($key, $value, $ttl); + } + + public function save($key, $value, $ttl = 0) + { + return $this->set($key, $value, $ttl); + } + + public function remove($key) + { + return $this->cache->delete($key); + } + + public function delete($key) + { + return $this->remove($key); + } + + public function contains($key) + { + return $this->cache->contains($key); + } + + public function getStats() + { + return $this->cache->getStats(); + } +} diff --git a/lib/aws/Aws/DynamoDb/BinaryValue.php b/lib/aws/Aws/DynamoDb/BinaryValue.php new file mode 100644 index 0000000..1b2965d --- /dev/null +++ b/lib/aws/Aws/DynamoDb/BinaryValue.php @@ -0,0 +1,36 @@ +<?php +namespace Aws\DynamoDb; + +use GuzzleHttp\Psr7; + +/** + * Special object to represent a DynamoDB binary (B) value. + */ +class BinaryValue implements \JsonSerializable +{ + /** @var string Binary value. */ + private $value; + + /** + * @param mixed $value A binary value compatible with Guzzle streams. + * + * @see GuzzleHttp\Stream\Stream::factory + */ + public function __construct($value) + { + if (!is_string($value)) { + $value = Psr7\stream_for($value); + } + $this->value = (string) $value; + } + + public function jsonSerialize() + { + return $this->value; + } + + public function __toString() + { + return $this->value; + } +} diff --git a/lib/aws/Aws/DynamoDb/DynamoDbClient.php b/lib/aws/Aws/DynamoDb/DynamoDbClient.php new file mode 100644 index 0000000..5d1b37a --- /dev/null +++ b/lib/aws/Aws/DynamoDb/DynamoDbClient.php @@ -0,0 +1,148 @@ +<?php +namespace Aws\DynamoDb; + +use Aws\Api\Parser\Crc32ValidatingParser; +use Aws\AwsClient; +use Aws\ClientResolver; +use Aws\Exception\AwsException; +use Aws\HandlerList; +use Aws\Middleware; +use Aws\RetryMiddleware; + +/** + * This client is used to interact with the **Amazon DynamoDB** service. + * + * @method \Aws\Result batchGetItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetItemAsync(array $args = []) + * @method \Aws\Result batchWriteItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchWriteItemAsync(array $args = []) + * @method \Aws\Result createTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTableAsync(array $args = []) + * @method \Aws\Result deleteItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteItemAsync(array $args = []) + * @method \Aws\Result deleteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTableAsync(array $args = []) + * @method \Aws\Result describeTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTableAsync(array $args = []) + * @method \Aws\Result getItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise getItemAsync(array $args = []) + * @method \Aws\Result listTables(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTablesAsync(array $args = []) + * @method \Aws\Result putItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise putItemAsync(array $args = []) + * @method \Aws\Result query(array $args = []) + * @method \GuzzleHttp\Promise\Promise queryAsync(array $args = []) + * @method \Aws\Result scan(array $args = []) + * @method \GuzzleHttp\Promise\Promise scanAsync(array $args = []) + * @method \Aws\Result updateItem(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateItemAsync(array $args = []) + * @method \Aws\Result updateTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTableAsync(array $args = []) + * @method \Aws\Result createBackup(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise createBackupAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result createGlobalTable(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise createGlobalTableAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result deleteBackup(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeBackup(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeBackupAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeContinuousBackups(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeContinuousBackupsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeEndpoints(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeGlobalTable(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeGlobalTableAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeGlobalTableSettings(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeGlobalTableSettingsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeLimits(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeLimitsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result describeTimeToLive(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise describeTimeToLiveAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result listBackups(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise listBackupsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result listGlobalTables(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise listGlobalTablesAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result listTagsOfResource(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise listTagsOfResourceAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result restoreTableFromBackup(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise restoreTableFromBackupAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result restoreTableToPointInTime(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise restoreTableToPointInTimeAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result tagResource(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result transactGetItems(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise transactGetItemsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result transactWriteItems(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise transactWriteItemsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result untagResource(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result updateContinuousBackups(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise updateContinuousBackupsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result updateGlobalTable(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise updateGlobalTableAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result updateGlobalTableSettings(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise updateGlobalTableSettingsAsync(array $args = []) (supported in versions 2012-08-10) + * @method \Aws\Result updateTimeToLive(array $args = []) (supported in versions 2012-08-10) + * @method \GuzzleHttp\Promise\Promise updateTimeToLiveAsync(array $args = []) (supported in versions 2012-08-10) + */ +class DynamoDbClient extends AwsClient +{ + public static function getArguments() + { + $args = parent::getArguments(); + $args['retries']['default'] = 10; + $args['retries']['fn'] = [__CLASS__, '_applyRetryConfig']; + $args['api_provider']['fn'] = [__CLASS__, '_applyApiProvider']; + + return $args; + } + + /** + * Convenience method for instantiating and registering the DynamoDB + * Session handler with this DynamoDB client object. + * + * @param array $config Array of options for the session handler factory + * + * @return SessionHandler + */ + public function registerSessionHandler(array $config = []) + { + $handler = SessionHandler::fromClient($this, $config); + $handler->register(); + + return $handler; + } + + /** @internal */ + public static function _applyRetryConfig($value, array &$args, HandlerList $list) + { + if (!$value) { + return; + } + + $list->appendSign( + Middleware::retry( + RetryMiddleware::createDefaultDecider( + $value, + ['errorCodes' => ['TransactionInProgressException']] + ), + function ($retries) { + return $retries + ? RetryMiddleware::exponentialDelay($retries) / 2 + : 0; + }, + isset($args['stats']['retries']) + ? (bool) $args['stats']['retries'] + : false + ), + 'retry' + ); + } + + /** @internal */ + public static function _applyApiProvider($value, array &$args, HandlerList $list) + { + ClientResolver::_apply_api_provider($value, $args, $list); + $args['parser'] = new Crc32ValidatingParser($args['parser']); + } +} diff --git a/lib/aws/Aws/DynamoDb/Exception/DynamoDbException.php b/lib/aws/Aws/DynamoDb/Exception/DynamoDbException.php new file mode 100644 index 0000000..0360388 --- /dev/null +++ b/lib/aws/Aws/DynamoDb/Exception/DynamoDbException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DynamoDb\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon DynamoDB service. + */ +class DynamoDbException extends AwsException {} diff --git a/lib/aws/Aws/DynamoDb/LockingSessionConnection.php b/lib/aws/Aws/DynamoDb/LockingSessionConnection.php new file mode 100644 index 0000000..5bd9abc --- /dev/null +++ b/lib/aws/Aws/DynamoDb/LockingSessionConnection.php @@ -0,0 +1,62 @@ +<?php +namespace Aws\DynamoDb; + +use Aws\DynamoDb\Exception\DynamoDbException; + +/** + * The locking connection adds locking logic to the read operation. + */ +class LockingSessionConnection extends StandardSessionConnection +{ + public function __construct(DynamoDbClient $client, array $config = []) + { + parent::__construct($client, $config + [ + 'max_lock_wait_time' => 10, + 'min_lock_retry_microtime' => 10000, + 'max_lock_retry_microtime' => 50000, + ]); + } + + /** + * {@inheritdoc} + * Retries the request until the lock can be acquired + */ + public function read($id) + { + // Create the params for the UpdateItem operation so that a lock can be + // set and item returned (via ReturnValues) in a one, atomic operation. + $params = [ + 'TableName' => $this->config['table_name'], + 'Key' => $this->formatKey($id), + 'Expected' => ['lock' => ['Exists' => false]], + 'AttributeUpdates' => ['lock' => ['Value' => ['N' => '1']]], + 'ReturnValues' => 'ALL_NEW', + ]; + + // Acquire the lock and fetch the item data. + $timeout = time() + $this->config['max_lock_wait_time']; + while (true) { + try { + $item = []; + $result = $this->client->updateItem($params); + if (isset($result['Attributes'])) { + foreach ($result['Attributes'] as $key => $value) { + $item[$key] = current($value); + } + } + return $item; + } catch (DynamoDbException $e) { + if ($e->getAwsErrorCode() === 'ConditionalCheckFailedException' + && time() < $timeout + ) { + usleep(rand( + $this->config['min_lock_retry_microtime'], + $this->config['max_lock_retry_microtime'] + )); + } else { + break; + } + } + } + } +} diff --git a/lib/aws/Aws/DynamoDb/Marshaler.php b/lib/aws/Aws/DynamoDb/Marshaler.php new file mode 100644 index 0000000..397504f --- /dev/null +++ b/lib/aws/Aws/DynamoDb/Marshaler.php @@ -0,0 +1,324 @@ +<?php +namespace Aws\DynamoDb; + +use Psr\Http\Message\StreamInterface; + +/** + * Marshals and unmarshals JSON documents and PHP arrays into DynamoDB items. + */ +class Marshaler +{ + /** @var array Default options to merge into provided options. */ + private static $defaultOptions = [ + 'ignore_invalid' => false, + 'nullify_invalid' => false, + 'wrap_numbers' => false, + ]; + + /** @var array Marshaler options. */ + private $options; + + /** + * Instantiates a DynamoDB Marshaler. + * + * The following options are valid. + * + * - ignore_invalid: (bool) Set to `true` if invalid values should be + * ignored (i.e., not included) during marshaling. + * - nullify_invalid: (bool) Set to `true` if invalid values should be set + * to null. + * - wrap_numbers: (bool) Set to `true` to wrap numbers with `NumberValue` + * objects during unmarshaling to preserve the precision. + * + * @param array $options Marshaler options + */ + public function __construct(array $options = []) + { + $this->options = $options + self::$defaultOptions; + } + + /** + * Creates a special object to represent a DynamoDB binary (B) value. + * + * This helps disambiguate binary values from string (S) values. + * + * @param mixed $value A binary value compatible with Guzzle streams. + * + * @return BinaryValue + * @see GuzzleHttp\Stream\Stream::factory + */ + public function binary($value) + { + return new BinaryValue($value); + } + + /** + * Creates a special object to represent a DynamoDB number (N) value. + * + * This helps maintain the precision of large integer/float in PHP. + * + * @param string|int|float $value A number value. + * + * @return NumberValue + */ + public function number($value) + { + return new NumberValue($value); + } + + /** + * Creates a special object to represent a DynamoDB set (SS/NS/BS) value. + * + * This helps disambiguate set values from list (L) values. + * + * @param array $values The values of the set. + * + * @return SetValue + * + */ + public function set(array $values) + { + return new SetValue($values); + } + + /** + * Marshal a JSON document from a string to a DynamoDB item. + * + * The result is an array formatted in the proper parameter structure + * required by the DynamoDB API for items. + * + * @param string $json A valid JSON document. + * + * @return array Item formatted for DynamoDB. + * @throws \InvalidArgumentException if the JSON is invalid. + */ + public function marshalJson($json) + { + $data = json_decode($json); + if (!($data instanceof \stdClass)) { + throw new \InvalidArgumentException( + 'The JSON document must be valid and be an object at its root.' + ); + } + + return current($this->marshalValue($data)); + } + + /** + * Marshal a native PHP array of data to a DynamoDB item. + * + * The result is an array formatted in the proper parameter structure + * required by the DynamoDB API for items. + * + * @param array|\stdClass $item An associative array of data. + * + * @return array Item formatted for DynamoDB. + */ + public function marshalItem($item) + { + return current($this->marshalValue($item)); + } + + /** + * Marshal a native PHP value into a DynamoDB attribute value. + * + * The result is an associative array that is formatted in the proper + * `[TYPE => VALUE]` parameter structure required by the DynamoDB API. + * + * @param mixed $value A scalar, array, or `stdClass` value. + * + * @return array Attribute formatted for DynamoDB. + * @throws \UnexpectedValueException if the value cannot be marshaled. + */ + public function marshalValue($value) + { + $type = gettype($value); + + // Handle string values. + if ($type === 'string') { + if ($value === '') { + return $this->handleInvalid('empty strings are invalid'); + } + + return ['S' => $value]; + } + + // Handle number values. + if ($type === 'integer' + || $type === 'double' + || $value instanceof NumberValue + ) { + return ['N' => (string) $value]; + } + + // Handle boolean values. + if ($type === 'boolean') { + return ['BOOL' => $value]; + } + + // Handle null values. + if ($type === 'NULL') { + return ['NULL' => true]; + } + + // Handle set values. + if ($value instanceof SetValue) { + if (count($value) === 0) { + return $this->handleInvalid('empty sets are invalid'); + } + $previousType = null; + $data = []; + foreach ($value as $v) { + $marshaled = $this->marshalValue($v); + $setType = key($marshaled); + if (!$previousType) { + $previousType = $setType; + } elseif ($setType !== $previousType) { + return $this->handleInvalid('sets must be uniform in type'); + } + $data[] = current($marshaled); + } + + return [$previousType . 'S' => array_values(array_unique($data))]; + } + + // Handle list and map values. + $dbType = 'L'; + if ($value instanceof \stdClass) { + $type = 'array'; + $dbType = 'M'; + } + if ($type === 'array' || $value instanceof \Traversable) { + $data = []; + $index = 0; + foreach ($value as $k => $v) { + if ($v = $this->marshalValue($v)) { + $data[$k] = $v; + if ($dbType === 'L' && (!is_int($k) || $k != $index++)) { + $dbType = 'M'; + } + } + } + return [$dbType => $data]; + } + + // Handle binary values. + if (is_resource($value) || $value instanceof StreamInterface) { + $value = $this->binary($value); + } + if ($value instanceof BinaryValue) { + return ['B' => (string) $value]; + } + + // Handle invalid values. + return $this->handleInvalid('encountered unexpected value'); + } + + /** + * Unmarshal a document (item) from a DynamoDB operation result into a JSON + * document string. + * + * @param array $data Item/document from a DynamoDB result. + * @param int $jsonEncodeFlags Flags to use with `json_encode()`. + * + * @return string + */ + public function unmarshalJson(array $data, $jsonEncodeFlags = 0) + { + return json_encode( + $this->unmarshalValue(['M' => $data], true), + $jsonEncodeFlags + ); + } + + /** + * Unmarshal an item from a DynamoDB operation result into a native PHP + * array. If you set $mapAsObject to true, then a stdClass value will be + * returned instead. + * + * @param array $data Item from a DynamoDB result. + * @param bool $mapAsObject Whether maps should be represented as stdClass. + * + * @return array|\stdClass + */ + public function unmarshalItem(array $data, $mapAsObject = false) + { + return $this->unmarshalValue(['M' => $data], $mapAsObject); + } + + /** + * Unmarshal a value from a DynamoDB operation result into a native PHP + * value. Will return a scalar, array, or (if you set $mapAsObject to true) + * stdClass value. + * + * @param array $value Value from a DynamoDB result. + * @param bool $mapAsObject Whether maps should be represented as stdClass. + * + * @return mixed + * @throws \UnexpectedValueException + */ + public function unmarshalValue(array $value, $mapAsObject = false) + { + $type = key($value); + $value = $value[$type]; + switch ($type) { + case 'S': + case 'BOOL': + return $value; + case 'NULL': + return null; + case 'N': + if ($this->options['wrap_numbers']) { + return new NumberValue($value); + } + + // Use type coercion to unmarshal numbers to int/float. + return $value + 0; + case 'M': + if ($mapAsObject) { + $data = new \stdClass; + foreach ($value as $k => $v) { + $data->$k = $this->unmarshalValue($v, $mapAsObject); + } + return $data; + } + // NOBREAK: Unmarshal M the same way as L, for arrays. + case 'L': + foreach ($value as $k => $v) { + $value[$k] = $this->unmarshalValue($v, $mapAsObject); + } + return $value; + case 'B': + return new BinaryValue($value); + case 'SS': + case 'NS': + case 'BS': + foreach ($value as $k => $v) { + $value[$k] = $this->unmarshalValue([$type[0] => $v]); + } + return new SetValue($value); + } + + throw new \UnexpectedValueException("Unexpected type: {$type}."); + } + + /** + * Handle invalid value based on marshaler configuration. + * + * @param string $message Error message + * + * @return array|null + */ + private function handleInvalid($message) + { + if ($this->options['ignore_invalid']) { + return null; + } + + if ($this->options['nullify_invalid']) { + return ['NULL' => true]; + } + + throw new \UnexpectedValueException("Marshaling error: {$message}."); + } +} diff --git a/lib/aws/Aws/DynamoDb/NumberValue.php b/lib/aws/Aws/DynamoDb/NumberValue.php new file mode 100644 index 0000000..093143b --- /dev/null +++ b/lib/aws/Aws/DynamoDb/NumberValue.php @@ -0,0 +1,29 @@ +<?php +namespace Aws\DynamoDb; + +/** + * Special object to represent a DynamoDB Number (N) value. + */ +class NumberValue implements \JsonSerializable +{ + /** @var string Number value. */ + private $value; + + /** + * @param string|int|float $value A number value. + */ + public function __construct($value) + { + $this->value = (string) $value; + } + + public function jsonSerialize() + { + return $this->value; + } + + public function __toString() + { + return $this->value; + } +} diff --git a/lib/aws/Aws/DynamoDb/SessionConnectionInterface.php b/lib/aws/Aws/DynamoDb/SessionConnectionInterface.php new file mode 100644 index 0000000..0c46a7d --- /dev/null +++ b/lib/aws/Aws/DynamoDb/SessionConnectionInterface.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\DynamoDb; + +/** + * The session connection provides the underlying logic for interacting with + * Amazon DynamoDB and performs all of the reading and writing operations. + */ +interface SessionConnectionInterface +{ + /** + * Reads session data from DynamoDB + * + * @param string $id Session ID + * + * @return array + */ + public function read($id); + + /** + * Writes session data to DynamoDB + * + * @param string $id Session ID + * @param string $data Serialized session data + * @param bool $isChanged Whether or not the data has changed + * + * @return bool + */ + public function write($id, $data, $isChanged); + + /** + * Deletes session record from DynamoDB + * + * @param string $id Session ID + * + * @return bool + */ + public function delete($id); + + /** + * Performs garbage collection on the sessions stored in the DynamoDB + * + * @return bool + */ + public function deleteExpired(); +} diff --git a/lib/aws/Aws/DynamoDb/SessionHandler.php b/lib/aws/Aws/DynamoDb/SessionHandler.php new file mode 100644 index 0000000..3382682 --- /dev/null +++ b/lib/aws/Aws/DynamoDb/SessionHandler.php @@ -0,0 +1,227 @@ +<?php +namespace Aws\DynamoDb; + +/** + * Provides an interface for using Amazon DynamoDB as a session store by hooking + * into PHP's session handler hooks. Once registered, You may use the native + * `$_SESSION` superglobal and session functions, and the sessions will be + * stored automatically in DynamoDB. DynamoDB is a great session storage + * solution due to its speed, scalability, and fault tolerance. + * + * For maximum performance, we recommend that you keep the size of your sessions + * small. Locking is disabled by default, since it can drive up latencies and + * costs under high traffic. Only turn it on if you need it. + * + * By far, the most expensive operation is garbage collection. Therefore, we + * encourage you to carefully consider your session garbage collection strategy. + * Note: the DynamoDB Session Handler does not allow garbage collection to be + * triggered randomly. You must run garbage collection manually or through other + * automated means using a cron job or similar scheduling technique. + */ +class SessionHandler implements \SessionHandlerInterface +{ + /** @var SessionConnectionInterface Session save logic.*/ + private $connection; + + /** @var string Session save path. */ + private $savePath; + + /** @var string Session name. */ + private $sessionName; + + /** @var string The last known session ID */ + private $openSessionId = ''; + + /** @var string Stores serialized data for tracking changes. */ + private $dataRead = ''; + + /** @var bool Keeps track of whether the session has been written. */ + private $sessionWritten = false; + + /** + * Creates a new DynamoDB Session Handler. + * + * The configuration array accepts the following array keys and values: + * - table_name: Name of table to store the sessions. + * - hash_key: Name of hash key in table. Default: "id". + * - session_lifetime: Lifetime of inactive sessions expiration. + * - consistent_read: Whether or not to use consistent reads. + * - batch_config: Batch options used for garbage collection. + * - locking: Whether or not to use session locking. + * - max_lock_wait_time: Max time (s) to wait for lock acquisition. + * - min_lock_retry_microtime: Min time (µs) to wait between lock attempts. + * - max_lock_retry_microtime: Max time (µs) to wait between lock attempts. + * + * @param DynamoDbClient $client Client for doing DynamoDB operations + * @param array $config Configuration for the Session Handler + * + * @return SessionHandler + */ + public static function fromClient(DynamoDbClient $client, array $config = []) + { + $config += ['locking' => false]; + if ($config['locking']) { + $connection = new LockingSessionConnection($client, $config); + } else { + $connection = new StandardSessionConnection($client, $config); + } + + return new static($connection); + } + + /** + * @param SessionConnectionInterface $connection + */ + public function __construct(SessionConnectionInterface $connection) + { + $this->connection = $connection; + } + + /** + * Register the DynamoDB session handler. + * + * @return bool Whether or not the handler was registered. + * @codeCoverageIgnore + */ + public function register() + { + return session_set_save_handler($this, true); + } + + /** + * Open a session for writing. Triggered by session_start(). + * + * @param string $savePath Session save path. + * @param string $sessionName Session name. + * + * @return bool Whether or not the operation succeeded. + */ + public function open($savePath, $sessionName) + { + $this->savePath = $savePath; + $this->sessionName = $sessionName; + + return true; + } + + /** + * Close a session from writing. + * + * @return bool Success + */ + public function close() + { + $id = session_id(); + // Make sure the session is unlocked and the expiration time is updated, + // even if the write did not occur + if ($this->openSessionId !== $id || !$this->sessionWritten) { + $result = $this->connection->write($this->formatId($id), '', false); + $this->sessionWritten = (bool) $result; + } + + return $this->sessionWritten; + } + + /** + * Read a session stored in DynamoDB. + * + * @param string $id Session ID. + * + * @return string Session data. + */ + public function read($id) + { + $this->openSessionId = $id; + // PHP expects an empty string to be returned from this method if no + // data is retrieved + $this->dataRead = ''; + + // Get session data using the selected locking strategy + $item = $this->connection->read($this->formatId($id)); + + // Return the data if it is not expired. If it is expired, remove it + if (isset($item['expires']) && isset($item['data'])) { + $this->dataRead = $item['data']; + if ($item['expires'] <= time()) { + $this->dataRead = ''; + $this->destroy($id); + } + } + + return $this->dataRead; + } + + /** + * Write a session to DynamoDB. + * + * @param string $id Session ID. + * @param string $data Serialized session data to write. + * + * @return bool Whether or not the operation succeeded. + */ + public function write($id, $data) + { + $changed = $id !== $this->openSessionId + || $data !== $this->dataRead; + $this->openSessionId = $id; + + // Write the session data using the selected locking strategy + $this->sessionWritten = $this->connection + ->write($this->formatId($id), $data, $changed); + + return $this->sessionWritten; + } + + /** + * Delete a session stored in DynamoDB. + * + * @param string $id Session ID. + * + * @return bool Whether or not the operation succeeded. + */ + public function destroy($id) + { + $this->openSessionId = $id; + // Delete the session data using the selected locking strategy + $this->sessionWritten + = $this->connection->delete($this->formatId($id)); + + return $this->sessionWritten; + } + + /** + * Satisfies the session handler interface, but does nothing. To do garbage + * collection, you must manually call the garbageCollect() method. + * + * @param int $maxLifetime Ignored. + * + * @return bool Whether or not the operation succeeded. + * @codeCoverageIgnore + */ + public function gc($maxLifetime) + { + // Garbage collection for a DynamoDB table must be triggered manually. + return true; + } + + /** + * Triggers garbage collection on expired sessions. + * @codeCoverageIgnore + */ + public function garbageCollect() + { + $this->connection->deleteExpired(); + } + + /** + * Prepend the session ID with the session name. + * + * @param string $id The session ID. + * + * @return string Prepared session ID. + */ + private function formatId($id) + { + return trim($this->sessionName . '_' . $id, '_'); + } +} diff --git a/lib/aws/Aws/DynamoDb/SetValue.php b/lib/aws/Aws/DynamoDb/SetValue.php new file mode 100644 index 0000000..5bee62b --- /dev/null +++ b/lib/aws/Aws/DynamoDb/SetValue.php @@ -0,0 +1,44 @@ +<?php +namespace Aws\DynamoDb; + +/** + * Special object to represent a DynamoDB set (SS/NS/BS) value. + */ +class SetValue implements \JsonSerializable, \Countable, \IteratorAggregate +{ + /** @var array Values in the set as provided. */ + private $values; + + /** + * @param array $values Values in the set. + */ + public function __construct(array $values) + { + $this->values = $values; + } + + /** + * Get the values formatted for PHP and JSON. + * + * @return array + */ + public function toArray() + { + return $this->values; + } + + public function count() + { + return count($this->values); + } + + public function getIterator() + { + return new \ArrayIterator($this->values); + } + + public function jsonSerialize() + { + return $this->toArray(); + } +} diff --git a/lib/aws/Aws/DynamoDb/StandardSessionConnection.php b/lib/aws/Aws/DynamoDb/StandardSessionConnection.php new file mode 100644 index 0000000..4abff59 --- /dev/null +++ b/lib/aws/Aws/DynamoDb/StandardSessionConnection.php @@ -0,0 +1,149 @@ +<?php +namespace Aws\DynamoDb; + +use Aws\DynamoDb\Exception\DynamoDbException; + +/** + * The standard connection performs the read and write operations to DynamoDB. + */ +class StandardSessionConnection implements SessionConnectionInterface +{ + /** @var DynamoDbClient The DynamoDB client */ + protected $client; + + /** @var array The session handler config options */ + protected $config; + + /** + * @param DynamoDbClient $client DynamoDB client + * @param array $config Session handler config + */ + public function __construct(DynamoDbClient $client, array $config = []) + { + $this->client = $client; + $this->config = $config + [ + 'table_name' => 'sessions', + 'hash_key' => 'id', + 'session_lifetime' => (int) ini_get('session.gc_maxlifetime'), + 'consistent_read' => true, + 'batch_config' => [], + ]; + } + + public function read($id) + { + $item = []; + try { + // Execute a GetItem command to retrieve the item. + $result = $this->client->getItem([ + 'TableName' => $this->config['table_name'], + 'Key' => $this->formatKey($id), + 'ConsistentRead' => (bool) $this->config['consistent_read'], + ]); + + // Get the item values + $result = isset($result['Item']) ? $result['Item'] : []; + foreach ($result as $key => $value) { + $item[$key] = current($value); + } + } catch (DynamoDbException $e) { + // Could not retrieve item, so return nothing. + } + + return $item; + } + + public function write($id, $data, $isChanged) + { + // Prepare the attributes + $expires = time() + $this->config['session_lifetime']; + $attributes = [ + 'expires' => ['Value' => ['N' => (string) $expires]], + 'lock' => ['Action' => 'DELETE'], + ]; + if ($isChanged) { + if ($data != '') { + $attributes['data'] = ['Value' => ['S' => $data]]; + } else { + $attributes['data'] = ['Action' => 'DELETE']; + } + } + + // Perform the UpdateItem command + try { + return (bool) $this->client->updateItem([ + 'TableName' => $this->config['table_name'], + 'Key' => $this->formatKey($id), + 'AttributeUpdates' => $attributes, + ]); + } catch (DynamoDbException $e) { + return $this->triggerError("Error writing session $id: {$e->getMessage()}"); + } + } + + public function delete($id) + { + try { + return (bool) $this->client->deleteItem([ + 'TableName' => $this->config['table_name'], + 'Key' => $this->formatKey($id), + ]); + } catch (DynamoDbException $e) { + return $this->triggerError("Error deleting session $id: {$e->getMessage()}"); + } + } + + public function deleteExpired() + { + // Create a Scan iterator for finding expired session items + $scan = $this->client->getPaginator('Scan', [ + 'TableName' => $this->config['table_name'], + 'AttributesToGet' => [$this->config['hash_key']], + 'ScanFilter' => [ + 'expires' => [ + 'ComparisonOperator' => 'LT', + 'AttributeValueList' => [['N' => (string) time()]], + ], + 'lock' => [ + 'ComparisonOperator' => 'NULL', + ] + ], + ]); + + // Create a WriteRequestBatch for deleting the expired items + $batch = new WriteRequestBatch($this->client, $this->config['batch_config']); + + // Perform Scan and BatchWriteItem (delete) operations as needed + foreach ($scan->search('Items') as $item) { + $batch->delete( + [$this->config['hash_key'] => $item[$this->config['hash_key']]], + $this->config['table_name'] + ); + } + + // Delete any remaining items that were not auto-flushed + $batch->flush(); + } + + /** + * @param string $key + * + * @return array + */ + protected function formatKey($key) + { + return [$this->config['hash_key'] => ['S' => $key]]; + } + + /** + * @param string $error + * + * @return bool + */ + protected function triggerError($error) + { + trigger_error($error, E_USER_WARNING); + + return false; + } +} diff --git a/lib/aws/Aws/DynamoDb/WriteRequestBatch.php b/lib/aws/Aws/DynamoDb/WriteRequestBatch.php new file mode 100644 index 0000000..c5e5eaf --- /dev/null +++ b/lib/aws/Aws/DynamoDb/WriteRequestBatch.php @@ -0,0 +1,266 @@ +<?php +namespace Aws\DynamoDb; + +use Aws\CommandInterface; +use Aws\CommandPool; +use Aws\Exception\AwsException; +use Aws\ResultInterface; + +/** + * The WriteRequestBatch is an object that is capable of efficiently sending + * DynamoDB BatchWriteItem requests from queued up put and delete item requests. + * requests. The batch attempts to send the requests with the fewest requests + * to DynamoDB as possible and also re-queues any unprocessed items to ensure + * that all items are sent. + */ +class WriteRequestBatch +{ + /** @var DynamoDbClient DynamoDB client used to perform write operations. */ + private $client; + + /** @var array Configuration options for the batch. */ + private $config; + + /** @var array Queue of pending put/delete requests in the batch. */ + private $queue; + + /** + * Creates a WriteRequestBatch object that is capable of efficiently sending + * DynamoDB BatchWriteItem requests from queued up Put and Delete requests. + * + * @param DynamoDbClient $client DynamoDB client used to send batches. + * @param array $config Batch configuration options. + * - table: (string) DynamoDB table used by the batch, this can be + * overridden for each individual put() or delete() call. + * - batch_size: (int) The size of each batch (default: 25). The batch + * size must be between 2 and 25. If you are sending batches of large + * items, you may consider lowering the batch size, otherwise, you + * should use 25. + * - pool_size: (int) This number dictates how many BatchWriteItem + * requests you would like to do in parallel. For example, if the + * "batch_size" is 25, and "pool_size" is 3, then you would send 3 + * BatchWriteItem requests at a time, each with 25 items. Please keep + * your throughput in mind when choosing the "pool_size" option. + * - autoflush: (bool) This option allows the batch to automatically + * flush once there are enough items (i.e., "batch_size" * "pool_size") + * in the queue. This defaults to true, so you must set this to false + * to stop autoflush. + * - before: (callable) Executed before every BatchWriteItem operation. + * It should accept an \Aws\CommandInterface object as its argument. + * - error: Executed if an error was encountered executing a, + * BatchWriteItem operation, otherwise errors are ignored. It should + * accept an \Aws\Exception\AwsException as its argument. + * + * @throws \InvalidArgumentException if the batch size is not between 2 and 25. + */ + public function __construct(DynamoDbClient $client, array $config = []) + { + // Apply defaults + $config += [ + 'table' => null, + 'batch_size' => 25, + 'pool_size' => 1, + 'autoflush' => true, + 'before' => null, + 'error' => null + ]; + + // Ensure the batch size is valid + if ($config['batch_size'] > 25 || $config['batch_size'] < 2) { + throw new \InvalidArgumentException('"batch_size" must be between 2 and 25.'); + } + + // Ensure the callbacks are valid + if ($config['before'] && !is_callable($config['before'])) { + throw new \InvalidArgumentException('"before" must be callable.'); + } + if ($config['error'] && !is_callable($config['error'])) { + throw new \InvalidArgumentException('"error" must be callable.'); + } + + // If autoflush is enabled, set the threshold + if ($config['autoflush']) { + $config['threshold'] = $config['batch_size'] * $config['pool_size']; + } + + $this->client = $client; + $this->config = $config; + $this->queue = []; + } + + /** + * Adds a put item request to the batch. + * + * @param array $item Data for an item to put. Format: + * [ + * 'attribute1' => ['type' => 'value'], + * 'attribute2' => ['type' => 'value'], + * ... + * ] + * @param string|null $table The name of the table. This must be specified + * unless the "table" option was provided in the + * config of the WriteRequestBatch. + * + * @return $this + */ + public function put(array $item, $table = null) + { + $this->queue[] = [ + 'table' => $this->determineTable($table), + 'data' => ['PutRequest' => ['Item' => $item]], + ]; + + $this->autoFlush(); + + return $this; + } + + /** + * Adds a delete item request to the batch. + * + * @param array $key Key of an item to delete. Format: + * [ + * 'key1' => ['type' => 'value'], + * ... + * ] + * @param string|null $table The name of the table. This must be specified + * unless the "table" option was provided in the + * config of the WriteRequestBatch. + * + * @return $this + */ + public function delete(array $key, $table = null) + { + $this->queue[] = [ + 'table' => $this->determineTable($table), + 'data' => ['DeleteRequest' => ['Key' => $key]], + ]; + + $this->autoFlush(); + + return $this; + } + + /** + * Flushes the batch by combining all the queued put and delete requests + * into BatchWriteItem commands and executing them. Unprocessed items are + * automatically re-queued. + * + * @param bool $untilEmpty If true, flushing will continue until the queue + * is completely empty. This will make sure that + * unprocessed items are all eventually sent. + * + * @return $this + */ + public function flush($untilEmpty = true) + { + // Send BatchWriteItem requests until the queue is empty + $keepFlushing = true; + while ($this->queue && $keepFlushing) { + $commands = $this->prepareCommands(); + $pool = new CommandPool($this->client, $commands, [ + 'before' => $this->config['before'], + 'concurrency' => $this->config['pool_size'], + 'fulfilled' => function (ResultInterface $result) { + // Re-queue any unprocessed items + if ($result->hasKey('UnprocessedItems')) { + $this->retryUnprocessed($result['UnprocessedItems']); + } + }, + 'rejected' => function ($reason) { + if ($reason instanceof AwsException) { + $code = $reason->getAwsErrorCode(); + if ($code === 'ProvisionedThroughputExceededException') { + $this->retryUnprocessed($reason->getCommand()['RequestItems']); + } elseif (is_callable($this->config['error'])) { + $this->config['error']($reason); + } + } + } + ]); + $pool->promise()->wait(); + $keepFlushing = (bool) $untilEmpty; + } + + return $this; + } + + /** + * Creates BatchWriteItem commands from the items in the queue. + * + * @return CommandInterface[] + */ + private function prepareCommands() + { + // Chunk the queue into batches + $batches = array_chunk($this->queue, $this->config['batch_size']); + $this->queue = []; + + // Create BatchWriteItem commands for each batch + $commands = []; + foreach ($batches as $batch) { + $requests = []; + foreach ($batch as $item) { + if (!isset($requests[$item['table']])) { + $requests[$item['table']] = []; + } + $requests[$item['table']][] = $item['data']; + } + $commands[] = $this->client->getCommand( + 'BatchWriteItem', + ['RequestItems' => $requests] + ); + } + + return $commands; + } + + /** + * Re-queues unprocessed results with the correct data. + * + * @param array $unprocessed Unprocessed items from a result. + */ + private function retryUnprocessed(array $unprocessed) + { + foreach ($unprocessed as $table => $requests) { + foreach ($requests as $request) { + $this->queue[] = [ + 'table' => $table, + 'data' => $request, + ]; + } + } + } + + /** + * If autoflush is enabled and the threshold is met, flush the batch + */ + private function autoFlush() + { + if ($this->config['autoflush'] + && count($this->queue) >= $this->config['threshold'] + ) { + // Flush only once. Unprocessed items are handled in a later flush. + $this->flush(false); + } + } + + /** + * Determine the table name by looking at what was provided and what the + * WriteRequestBatch was originally configured with. + * + * @param string|null $table The table name. + * + * @return string + * @throws \RuntimeException if there was no table specified. + */ + private function determineTable($table) + { + $table = $table ?: $this->config['table']; + if (!$table) { + throw new \RuntimeException('There was no table specified.'); + } + + return $table; + } +} diff --git a/lib/aws/Aws/DynamoDbStreams/DynamoDbStreamsClient.php b/lib/aws/Aws/DynamoDbStreams/DynamoDbStreamsClient.php new file mode 100644 index 0000000..7c2cb42 --- /dev/null +++ b/lib/aws/Aws/DynamoDbStreams/DynamoDbStreamsClient.php @@ -0,0 +1,29 @@ +<?php +namespace Aws\DynamoDbStreams; + +use Aws\AwsClient; +use Aws\DynamoDb\DynamoDbClient; + +/** + * This client is used to interact with the **Amazon DynamoDb Streams** service. + * + * @method \Aws\Result describeStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamAsync(array $args = []) + * @method \Aws\Result getRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRecordsAsync(array $args = []) + * @method \Aws\Result getShardIterator(array $args = []) + * @method \GuzzleHttp\Promise\Promise getShardIteratorAsync(array $args = []) + * @method \Aws\Result listStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamsAsync(array $args = []) + */ +class DynamoDbStreamsClient extends AwsClient +{ + public static function getArguments() + { + $args = parent::getArguments(); + $args['retries']['default'] = 11; + $args['retries']['fn'] = [DynamoDbClient::class, '_applyRetryConfig']; + + return $args; + } +} \ No newline at end of file diff --git a/lib/aws/Aws/DynamoDbStreams/Exception/DynamoDbStreamsException.php b/lib/aws/Aws/DynamoDbStreams/Exception/DynamoDbStreamsException.php new file mode 100644 index 0000000..ff73615 --- /dev/null +++ b/lib/aws/Aws/DynamoDbStreams/Exception/DynamoDbStreamsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\DynamoDbStreams\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon DynamoDB Streams service. + */ +class DynamoDbStreamsException extends AwsException {} diff --git a/lib/aws/Aws/EKS/EKSClient.php b/lib/aws/Aws/EKS/EKSClient.php new file mode 100644 index 0000000..6accf98 --- /dev/null +++ b/lib/aws/Aws/EKS/EKSClient.php @@ -0,0 +1,25 @@ +<?php +namespace Aws\EKS; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Elastic Container Service for Kubernetes** service. + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result describeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterAsync(array $args = []) + * @method \Aws\Result describeUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUpdateAsync(array $args = []) + * @method \Aws\Result listClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = []) + * @method \Aws\Result listUpdates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUpdatesAsync(array $args = []) + * @method \Aws\Result updateClusterConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClusterConfigAsync(array $args = []) + * @method \Aws\Result updateClusterVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClusterVersionAsync(array $args = []) + */ +class EKSClient extends AwsClient {} diff --git a/lib/aws/Aws/EKS/Exception/EKSException.php b/lib/aws/Aws/EKS/Exception/EKSException.php new file mode 100644 index 0000000..dd60d79 --- /dev/null +++ b/lib/aws/Aws/EKS/Exception/EKSException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\EKS\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Elastic Container Service for Kubernetes** service. + */ +class EKSException extends AwsException {} diff --git a/lib/aws/Aws/Ec2/Ec2Client.php b/lib/aws/Aws/Ec2/Ec2Client.php new file mode 100644 index 0000000..9a42c7f --- /dev/null +++ b/lib/aws/Aws/Ec2/Ec2Client.php @@ -0,0 +1,718 @@ +<?php +namespace Aws\Ec2; + +use Aws\AwsClient; +use Aws\Api\Service; +use Aws\Api\DocModel; +use Aws\Api\ApiProvider; +use Aws\PresignUrlMiddleware; + +/** + * Client used to interact with Amazon EC2. + * + * @method \Aws\Result acceptVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result allocateAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocateAddressAsync(array $args = []) + * @method \Aws\Result allocateHosts(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocateHostsAsync(array $args = []) + * @method \Aws\Result assignPrivateIpAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise assignPrivateIpAddressesAsync(array $args = []) + * @method \Aws\Result associateAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateAddressAsync(array $args = []) + * @method \Aws\Result associateDhcpOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDhcpOptionsAsync(array $args = []) + * @method \Aws\Result associateRouteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateRouteTableAsync(array $args = []) + * @method \Aws\Result attachClassicLinkVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachClassicLinkVpcAsync(array $args = []) + * @method \Aws\Result attachInternetGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachInternetGatewayAsync(array $args = []) + * @method \Aws\Result attachNetworkInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachNetworkInterfaceAsync(array $args = []) + * @method \Aws\Result attachVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachVolumeAsync(array $args = []) + * @method \Aws\Result attachVpnGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachVpnGatewayAsync(array $args = []) + * @method \Aws\Result authorizeSecurityGroupEgress(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeSecurityGroupEgressAsync(array $args = []) + * @method \Aws\Result authorizeSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result bundleInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise bundleInstanceAsync(array $args = []) + * @method \Aws\Result cancelBundleTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelBundleTaskAsync(array $args = []) + * @method \Aws\Result cancelConversionTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelConversionTaskAsync(array $args = []) + * @method \Aws\Result cancelExportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelExportTaskAsync(array $args = []) + * @method \Aws\Result cancelImportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelImportTaskAsync(array $args = []) + * @method \Aws\Result cancelReservedInstancesListing(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelReservedInstancesListingAsync(array $args = []) + * @method \Aws\Result cancelSpotFleetRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelSpotFleetRequestsAsync(array $args = []) + * @method \Aws\Result cancelSpotInstanceRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelSpotInstanceRequestsAsync(array $args = []) + * @method \Aws\Result confirmProductInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmProductInstanceAsync(array $args = []) + * @method \Aws\Result copyImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyImageAsync(array $args = []) + * @method \Aws\Result copySnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copySnapshotAsync(array $args = []) + * @method \Aws\Result createCustomerGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCustomerGatewayAsync(array $args = []) + * @method \Aws\Result createDhcpOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDhcpOptionsAsync(array $args = []) + * @method \Aws\Result createFlowLogs(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFlowLogsAsync(array $args = []) + * @method \Aws\Result createImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise createImageAsync(array $args = []) + * @method \Aws\Result createInstanceExportTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstanceExportTaskAsync(array $args = []) + * @method \Aws\Result createInternetGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInternetGatewayAsync(array $args = []) + * @method \Aws\Result createKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise createKeyPairAsync(array $args = []) + * @method \Aws\Result createNatGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNatGatewayAsync(array $args = []) + * @method \Aws\Result createNetworkAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNetworkAclAsync(array $args = []) + * @method \Aws\Result createNetworkAclEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNetworkAclEntryAsync(array $args = []) + * @method \Aws\Result createNetworkInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNetworkInterfaceAsync(array $args = []) + * @method \Aws\Result createPlacementGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlacementGroupAsync(array $args = []) + * @method \Aws\Result createReservedInstancesListing(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReservedInstancesListingAsync(array $args = []) + * @method \Aws\Result createRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRouteAsync(array $args = []) + * @method \Aws\Result createRouteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRouteTableAsync(array $args = []) + * @method \Aws\Result createSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSecurityGroupAsync(array $args = []) + * @method \Aws\Result createSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = []) + * @method \Aws\Result createSpotDatafeedSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSpotDatafeedSubscriptionAsync(array $args = []) + * @method \Aws\Result createSubnet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubnetAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result createVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVolumeAsync(array $args = []) + * @method \Aws\Result createVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcAsync(array $args = []) + * @method \Aws\Result createVpcEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcEndpointAsync(array $args = []) + * @method \Aws\Result createVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result createVpnConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpnConnectionAsync(array $args = []) + * @method \Aws\Result createVpnConnectionRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpnConnectionRouteAsync(array $args = []) + * @method \Aws\Result createVpnGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpnGatewayAsync(array $args = []) + * @method \Aws\Result deleteCustomerGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCustomerGatewayAsync(array $args = []) + * @method \Aws\Result deleteDhcpOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDhcpOptionsAsync(array $args = []) + * @method \Aws\Result deleteFlowLogs(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFlowLogsAsync(array $args = []) + * @method \Aws\Result deleteInternetGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInternetGatewayAsync(array $args = []) + * @method \Aws\Result deleteKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteKeyPairAsync(array $args = []) + * @method \Aws\Result deleteNatGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNatGatewayAsync(array $args = []) + * @method \Aws\Result deleteNetworkAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNetworkAclAsync(array $args = []) + * @method \Aws\Result deleteNetworkAclEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNetworkAclEntryAsync(array $args = []) + * @method \Aws\Result deleteNetworkInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNetworkInterfaceAsync(array $args = []) + * @method \Aws\Result deletePlacementGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePlacementGroupAsync(array $args = []) + * @method \Aws\Result deleteRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRouteAsync(array $args = []) + * @method \Aws\Result deleteRouteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRouteTableAsync(array $args = []) + * @method \Aws\Result deleteSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSecurityGroupAsync(array $args = []) + * @method \Aws\Result deleteSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotAsync(array $args = []) + * @method \Aws\Result deleteSpotDatafeedSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSpotDatafeedSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteSubnet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubnetAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result deleteVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVolumeAsync(array $args = []) + * @method \Aws\Result deleteVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcAsync(array $args = []) + * @method \Aws\Result deleteVpcEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcEndpointsAsync(array $args = []) + * @method \Aws\Result deleteVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result deleteVpnConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpnConnectionAsync(array $args = []) + * @method \Aws\Result deleteVpnConnectionRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpnConnectionRouteAsync(array $args = []) + * @method \Aws\Result deleteVpnGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpnGatewayAsync(array $args = []) + * @method \Aws\Result deregisterImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterImageAsync(array $args = []) + * @method \Aws\Result describeAccountAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) + * @method \Aws\Result describeAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAddressesAsync(array $args = []) + * @method \Aws\Result describeAvailabilityZones(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAvailabilityZonesAsync(array $args = []) + * @method \Aws\Result describeBundleTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBundleTasksAsync(array $args = []) + * @method \Aws\Result describeClassicLinkInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClassicLinkInstancesAsync(array $args = []) + * @method \Aws\Result describeConversionTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConversionTasksAsync(array $args = []) + * @method \Aws\Result describeCustomerGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCustomerGatewaysAsync(array $args = []) + * @method \Aws\Result describeDhcpOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDhcpOptionsAsync(array $args = []) + * @method \Aws\Result describeExportTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExportTasksAsync(array $args = []) + * @method \Aws\Result describeFlowLogs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFlowLogsAsync(array $args = []) + * @method \Aws\Result describeHosts(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHostsAsync(array $args = []) + * @method \Aws\Result describeIdFormat(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdFormatAsync(array $args = []) + * @method \Aws\Result describeImageAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImageAttributeAsync(array $args = []) + * @method \Aws\Result describeImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImagesAsync(array $args = []) + * @method \Aws\Result describeImportImageTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImportImageTasksAsync(array $args = []) + * @method \Aws\Result describeImportSnapshotTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImportSnapshotTasksAsync(array $args = []) + * @method \Aws\Result describeInstanceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstanceAttributeAsync(array $args = []) + * @method \Aws\Result describeInstanceStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstanceStatusAsync(array $args = []) + * @method \Aws\Result describeInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancesAsync(array $args = []) + * @method \Aws\Result describeInternetGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInternetGatewaysAsync(array $args = []) + * @method \Aws\Result describeKeyPairs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeKeyPairsAsync(array $args = []) + * @method \Aws\Result describeMovingAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMovingAddressesAsync(array $args = []) + * @method \Aws\Result describeNatGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNatGatewaysAsync(array $args = []) + * @method \Aws\Result describeNetworkAcls(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNetworkAclsAsync(array $args = []) + * @method \Aws\Result describeNetworkInterfaceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNetworkInterfaceAttributeAsync(array $args = []) + * @method \Aws\Result describeNetworkInterfaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNetworkInterfacesAsync(array $args = []) + * @method \Aws\Result describePlacementGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePlacementGroupsAsync(array $args = []) + * @method \Aws\Result describePrefixLists(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePrefixListsAsync(array $args = []) + * @method \Aws\Result describeRegions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRegionsAsync(array $args = []) + * @method \Aws\Result describeReservedInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedInstancesAsync(array $args = []) + * @method \Aws\Result describeReservedInstancesListings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedInstancesListingsAsync(array $args = []) + * @method \Aws\Result describeReservedInstancesModifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedInstancesModificationsAsync(array $args = []) + * @method \Aws\Result describeReservedInstancesOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedInstancesOfferingsAsync(array $args = []) + * @method \Aws\Result describeRouteTables(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRouteTablesAsync(array $args = []) + * @method \Aws\Result describeScheduledInstanceAvailability(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduledInstanceAvailabilityAsync(array $args = []) + * @method \Aws\Result describeScheduledInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduledInstancesAsync(array $args = []) + * @method \Aws\Result describeSecurityGroupReferences(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSecurityGroupReferencesAsync(array $args = []) + * @method \Aws\Result describeSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeSnapshotAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotAttributeAsync(array $args = []) + * @method \Aws\Result describeSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotsAsync(array $args = []) + * @method \Aws\Result describeSpotDatafeedSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotDatafeedSubscriptionAsync(array $args = []) + * @method \Aws\Result describeSpotFleetInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotFleetInstancesAsync(array $args = []) + * @method \Aws\Result describeSpotFleetRequestHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotFleetRequestHistoryAsync(array $args = []) + * @method \Aws\Result describeSpotFleetRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotFleetRequestsAsync(array $args = []) + * @method \Aws\Result describeSpotInstanceRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotInstanceRequestsAsync(array $args = []) + * @method \Aws\Result describeSpotPriceHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSpotPriceHistoryAsync(array $args = []) + * @method \Aws\Result describeStaleSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStaleSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeSubnets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubnetsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result describeVolumeAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVolumeAttributeAsync(array $args = []) + * @method \Aws\Result describeVolumeStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVolumeStatusAsync(array $args = []) + * @method \Aws\Result describeVolumes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVolumesAsync(array $args = []) + * @method \Aws\Result describeVpcAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcAttributeAsync(array $args = []) + * @method \Aws\Result describeVpcClassicLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcClassicLinkAsync(array $args = []) + * @method \Aws\Result describeVpcClassicLinkDnsSupport(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcClassicLinkDnsSupportAsync(array $args = []) + * @method \Aws\Result describeVpcEndpointServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointServicesAsync(array $args = []) + * @method \Aws\Result describeVpcEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointsAsync(array $args = []) + * @method \Aws\Result describeVpcPeeringConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcPeeringConnectionsAsync(array $args = []) + * @method \Aws\Result describeVpcs(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcsAsync(array $args = []) + * @method \Aws\Result describeVpnConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpnConnectionsAsync(array $args = []) + * @method \Aws\Result describeVpnGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpnGatewaysAsync(array $args = []) + * @method \Aws\Result detachClassicLinkVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachClassicLinkVpcAsync(array $args = []) + * @method \Aws\Result detachInternetGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachInternetGatewayAsync(array $args = []) + * @method \Aws\Result detachNetworkInterface(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachNetworkInterfaceAsync(array $args = []) + * @method \Aws\Result detachVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachVolumeAsync(array $args = []) + * @method \Aws\Result detachVpnGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachVpnGatewayAsync(array $args = []) + * @method \Aws\Result disableVgwRoutePropagation(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableVgwRoutePropagationAsync(array $args = []) + * @method \Aws\Result disableVpcClassicLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableVpcClassicLinkAsync(array $args = []) + * @method \Aws\Result disableVpcClassicLinkDnsSupport(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableVpcClassicLinkDnsSupportAsync(array $args = []) + * @method \Aws\Result disassociateAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateAddressAsync(array $args = []) + * @method \Aws\Result disassociateRouteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateRouteTableAsync(array $args = []) + * @method \Aws\Result enableVgwRoutePropagation(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableVgwRoutePropagationAsync(array $args = []) + * @method \Aws\Result enableVolumeIO(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableVolumeIOAsync(array $args = []) + * @method \Aws\Result enableVpcClassicLink(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableVpcClassicLinkAsync(array $args = []) + * @method \Aws\Result enableVpcClassicLinkDnsSupport(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableVpcClassicLinkDnsSupportAsync(array $args = []) + * @method \Aws\Result getConsoleOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConsoleOutputAsync(array $args = []) + * @method \Aws\Result getConsoleScreenshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConsoleScreenshotAsync(array $args = []) + * @method \Aws\Result getPasswordData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPasswordDataAsync(array $args = []) + * @method \Aws\Result importImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise importImageAsync(array $args = []) + * @method \Aws\Result importInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise importInstanceAsync(array $args = []) + * @method \Aws\Result importKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise importKeyPairAsync(array $args = []) + * @method \Aws\Result importSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise importSnapshotAsync(array $args = []) + * @method \Aws\Result importVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise importVolumeAsync(array $args = []) + * @method \Aws\Result modifyHosts(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyHostsAsync(array $args = []) + * @method \Aws\Result modifyIdFormat(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyIdFormatAsync(array $args = []) + * @method \Aws\Result modifyImageAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyImageAttributeAsync(array $args = []) + * @method \Aws\Result modifyInstanceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyInstanceAttributeAsync(array $args = []) + * @method \Aws\Result modifyInstancePlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyInstancePlacementAsync(array $args = []) + * @method \Aws\Result modifyNetworkInterfaceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyNetworkInterfaceAttributeAsync(array $args = []) + * @method \Aws\Result modifyReservedInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReservedInstancesAsync(array $args = []) + * @method \Aws\Result modifySnapshotAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifySnapshotAttributeAsync(array $args = []) + * @method \Aws\Result modifySpotFleetRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifySpotFleetRequestAsync(array $args = []) + * @method \Aws\Result modifySubnetAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifySubnetAttributeAsync(array $args = []) + * @method \Aws\Result modifyVolumeAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyVolumeAttributeAsync(array $args = []) + * @method \Aws\Result modifyVpcAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyVpcAttributeAsync(array $args = []) + * @method \Aws\Result modifyVpcEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyVpcEndpointAsync(array $args = []) + * @method \Aws\Result modifyVpcPeeringConnectionOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyVpcPeeringConnectionOptionsAsync(array $args = []) + * @method \Aws\Result monitorInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise monitorInstancesAsync(array $args = []) + * @method \Aws\Result moveAddressToVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise moveAddressToVpcAsync(array $args = []) + * @method \Aws\Result purchaseReservedInstancesOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseReservedInstancesOfferingAsync(array $args = []) + * @method \Aws\Result purchaseScheduledInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseScheduledInstancesAsync(array $args = []) + * @method \Aws\Result rebootInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootInstancesAsync(array $args = []) + * @method \Aws\Result registerImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerImageAsync(array $args = []) + * @method \Aws\Result rejectVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result releaseAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise releaseAddressAsync(array $args = []) + * @method \Aws\Result releaseHosts(array $args = []) + * @method \GuzzleHttp\Promise\Promise releaseHostsAsync(array $args = []) + * @method \Aws\Result replaceNetworkAclAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise replaceNetworkAclAssociationAsync(array $args = []) + * @method \Aws\Result replaceNetworkAclEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise replaceNetworkAclEntryAsync(array $args = []) + * @method \Aws\Result replaceRoute(array $args = []) + * @method \GuzzleHttp\Promise\Promise replaceRouteAsync(array $args = []) + * @method \Aws\Result replaceRouteTableAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise replaceRouteTableAssociationAsync(array $args = []) + * @method \Aws\Result reportInstanceStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise reportInstanceStatusAsync(array $args = []) + * @method \Aws\Result requestSpotFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestSpotFleetAsync(array $args = []) + * @method \Aws\Result requestSpotInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestSpotInstancesAsync(array $args = []) + * @method \Aws\Result resetImageAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetImageAttributeAsync(array $args = []) + * @method \Aws\Result resetInstanceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetInstanceAttributeAsync(array $args = []) + * @method \Aws\Result resetNetworkInterfaceAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetNetworkInterfaceAttributeAsync(array $args = []) + * @method \Aws\Result resetSnapshotAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetSnapshotAttributeAsync(array $args = []) + * @method \Aws\Result restoreAddressToClassic(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreAddressToClassicAsync(array $args = []) + * @method \Aws\Result revokeSecurityGroupEgress(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeSecurityGroupEgressAsync(array $args = []) + * @method \Aws\Result revokeSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result runInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise runInstancesAsync(array $args = []) + * @method \Aws\Result runScheduledInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise runScheduledInstancesAsync(array $args = []) + * @method \Aws\Result startInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise startInstancesAsync(array $args = []) + * @method \Aws\Result stopInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopInstancesAsync(array $args = []) + * @method \Aws\Result terminateInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateInstancesAsync(array $args = []) + * @method \Aws\Result unassignPrivateIpAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise unassignPrivateIpAddressesAsync(array $args = []) + * @method \Aws\Result unmonitorInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise unmonitorInstancesAsync(array $args = []) + * @method \Aws\Result describeHostReservationOfferings(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeHostReservationOfferingsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result describeHostReservations(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeHostReservationsAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result describeIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result getHostReservationPurchasePreview(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise getHostReservationPurchasePreviewAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result modifyIdentityIdFormat(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyIdentityIdFormatAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result purchaseHostReservation(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise purchaseHostReservationAsync(array $args = []) (supported in versions 2016-04-01, 2016-09-15, 2016-11-15) + * @method \Aws\Result acceptReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise acceptReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15, 2016-11-15) + * @method \Aws\Result getReservedInstancesExchangeQuote(array $args = []) (supported in versions 2016-09-15, 2016-11-15) + * @method \GuzzleHttp\Promise\Promise getReservedInstancesExchangeQuoteAsync(array $args = []) (supported in versions 2016-09-15, 2016-11-15) + * @method \Aws\Result acceptTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise acceptTransitGatewayVpcAttachmentAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result acceptVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise acceptVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result advertiseByoipCidr(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise advertiseByoipCidrAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result applySecurityGroupsToClientVpnTargetNetwork(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise applySecurityGroupsToClientVpnTargetNetworkAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result assignIpv6Addresses(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise assignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result associateClientVpnTargetNetwork(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise associateClientVpnTargetNetworkAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result associateIamInstanceProfile(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise associateIamInstanceProfileAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result associateSubnetCidrBlock(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise associateSubnetCidrBlockAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result associateTransitGatewayRouteTable(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise associateTransitGatewayRouteTableAsync(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 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 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 copyFpgaImage(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise copyFpgaImageAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createCapacityReservation(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createCapacityReservationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createClientVpnEndpoint(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createClientVpnEndpointAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createClientVpnRoute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createClientVpnRouteAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createDefaultSubnet(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createDefaultSubnetAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createDefaultVpc(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createDefaultVpcAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createEgressOnlyInternetGateway(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createEgressOnlyInternetGatewayAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createFleet(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createFpgaImage(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createFpgaImageAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createLaunchTemplate(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createLaunchTemplateVersion(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createLaunchTemplateVersionAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createNetworkInterfacePermission(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createNetworkInterfacePermissionAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createTransitGateway(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createTransitGatewayAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createTransitGatewayRoute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createTransitGatewayRouteAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createTransitGatewayRouteTable(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createTransitGatewayRouteTableAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createTransitGatewayVpcAttachmentAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createVpcEndpointConnectionNotification(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createVpcEndpointConnectionNotificationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result createVpcEndpointServiceConfiguration(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise createVpcEndpointServiceConfigurationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteClientVpnEndpoint(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteClientVpnEndpointAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteClientVpnRoute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteClientVpnRouteAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteEgressOnlyInternetGateway(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteEgressOnlyInternetGatewayAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteFleets(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteFleetsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteFpgaImage(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteFpgaImageAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteLaunchTemplate(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteLaunchTemplateVersions(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteLaunchTemplateVersionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteNetworkInterfacePermission(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteNetworkInterfacePermissionAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteTransitGateway(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteTransitGatewayAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteTransitGatewayRoute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteTransitGatewayRouteAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteTransitGatewayRouteTable(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteTransitGatewayRouteTableAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteTransitGatewayVpcAttachmentAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteVpcEndpointConnectionNotifications(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteVpcEndpointConnectionNotificationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deleteVpcEndpointServiceConfigurations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deleteVpcEndpointServiceConfigurationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result deprovisionByoipCidr(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise deprovisionByoipCidrAsync(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 describeByoipCidrs(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeByoipCidrsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeCapacityReservations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeCapacityReservationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeClientVpnAuthorizationRules(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeClientVpnAuthorizationRulesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeClientVpnConnections(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeClientVpnConnectionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeClientVpnEndpoints(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeClientVpnEndpointsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeClientVpnRoutes(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeClientVpnRoutesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeClientVpnTargetNetworks(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeClientVpnTargetNetworksAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeEgressOnlyInternetGateways(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeEgressOnlyInternetGatewaysAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeElasticGpus(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeElasticGpusAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeFleetHistory(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeFleetHistoryAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeFleetInstances(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeFleetInstancesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeFleets(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeFleetsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeFpgaImages(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeFpgaImagesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeIamInstanceProfileAssociations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeIamInstanceProfileAssociationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeInstanceCreditSpecifications(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeInstanceCreditSpecificationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeLaunchTemplateVersions(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeLaunchTemplateVersionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeLaunchTemplates(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeLaunchTemplatesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeNetworkInterfacePermissions(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeNetworkInterfacePermissionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describePrincipalIdFormat(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describePrincipalIdFormatAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describePublicIpv4Pools(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describePublicIpv4PoolsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeTransitGatewayAttachments(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeTransitGatewayAttachmentsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeTransitGatewayRouteTables(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeTransitGatewayRouteTablesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeTransitGatewayVpcAttachments(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeTransitGatewayVpcAttachmentsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeTransitGateways(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeTransitGatewaysAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeVolumesModifications(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeVolumesModificationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeVpcEndpointConnectionNotifications(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointConnectionNotificationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeVpcEndpointServiceConfigurations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointServiceConfigurationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result describeVpcEndpointServicePermissions(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise describeVpcEndpointServicePermissionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result 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 disassociateClientVpnTargetNetwork(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise disassociateClientVpnTargetNetworkAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result disassociateIamInstanceProfile(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise disassociateIamInstanceProfileAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result disassociateSubnetCidrBlock(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise disassociateSubnetCidrBlockAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result disassociateTransitGatewayRouteTable(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise disassociateTransitGatewayRouteTableAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result disassociateVpcCidrBlock(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise disassociateVpcCidrBlockAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result enableTransitGatewayRouteTablePropagation(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise enableTransitGatewayRouteTablePropagationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result exportClientVpnClientCertificateRevocationList(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise exportClientVpnClientCertificateRevocationListAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result exportClientVpnClientConfiguration(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise exportClientVpnClientConfigurationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result exportTransitGatewayRoutes(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise exportTransitGatewayRoutesAsync(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 getTransitGatewayAttachmentPropagations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise getTransitGatewayAttachmentPropagationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result getTransitGatewayRouteTableAssociations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise getTransitGatewayRouteTableAssociationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result getTransitGatewayRouteTablePropagations(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise getTransitGatewayRouteTablePropagationsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result importClientVpnClientCertificateRevocationList(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise importClientVpnClientCertificateRevocationListAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyCapacityReservation(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyCapacityReservationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyClientVpnEndpoint(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyClientVpnEndpointAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyFleet(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyFleetAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyInstanceCapacityReservationAttributes(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyInstanceCapacityReservationAttributesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyInstanceCreditSpecification(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyInstanceCreditSpecificationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyInstanceEventStartTime(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyInstanceEventStartTimeAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyLaunchTemplate(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyLaunchTemplateAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyTransitGatewayVpcAttachmentAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyVolume(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyVolumeAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyVpcEndpointConnectionNotification(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyVpcEndpointConnectionNotificationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyVpcEndpointServiceConfiguration(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyVpcEndpointServiceConfigurationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyVpcEndpointServicePermissions(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyVpcEndpointServicePermissionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result modifyVpcTenancy(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise modifyVpcTenancyAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result provisionByoipCidr(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise provisionByoipCidrAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result rejectTransitGatewayVpcAttachment(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise rejectTransitGatewayVpcAttachmentAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result rejectVpcEndpointConnections(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise rejectVpcEndpointConnectionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result replaceIamInstanceProfileAssociation(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise replaceIamInstanceProfileAssociationAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result replaceTransitGatewayRoute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise replaceTransitGatewayRouteAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result resetFpgaImageAttribute(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise resetFpgaImageAttributeAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result revokeClientVpnIngress(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise revokeClientVpnIngressAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result searchTransitGatewayRoutes(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise searchTransitGatewayRoutesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result terminateClientVpnConnections(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise terminateClientVpnConnectionsAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result unassignIpv6Addresses(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise unassignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result updateSecurityGroupRuleDescriptionsEgress(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise updateSecurityGroupRuleDescriptionsEgressAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result updateSecurityGroupRuleDescriptionsIngress(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise updateSecurityGroupRuleDescriptionsIngressAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result withdrawByoipCidr(array $args = []) (supported in versions 2016-11-15) + * @method \GuzzleHttp\Promise\Promise withdrawByoipCidrAsync(array $args = []) (supported in versions 2016-11-15) + */ +class Ec2Client extends AwsClient +{ + public function __construct(array $args) + { + $args['with_resolved'] = function (array $args) { + $this->getHandlerList()->appendInit( + PresignUrlMiddleware::wrap( + $this, + $args['endpoint_provider'], + [ + 'operations' => [ + 'CopySnapshot', + ], + 'service' => 'ec2', + 'presign_param' => 'PresignedUrl', + ] + ), + 'ec2.copy_snapshot' + ); + }; + + parent::__construct($args); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + // Several copy snapshot parameters are optional. + $docs['shapes']['String']['refs']['CopySnapshotRequest$PresignedUrl'] + = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf.</div>'; + $docs['shapes']['String']['refs']['CopySnapshotRequest$DestinationRegion'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/Ec2/Exception/Ec2Exception.php b/lib/aws/Aws/Ec2/Exception/Ec2Exception.php new file mode 100644 index 0000000..5932d19 --- /dev/null +++ b/lib/aws/Aws/Ec2/Exception/Ec2Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Ec2\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Elastic Compute Cloud service. + */ +class Ec2Exception extends AwsException {} diff --git a/lib/aws/Aws/Ecr/EcrClient.php b/lib/aws/Aws/Ecr/EcrClient.php new file mode 100644 index 0000000..e2bd283 --- /dev/null +++ b/lib/aws/Aws/Ecr/EcrClient.php @@ -0,0 +1,60 @@ +<?php +namespace Aws\Ecr; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon EC2 Container Registry** service. + * + * @method \Aws\Result batchCheckLayerAvailability(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchCheckLayerAvailabilityAsync(array $args = []) + * @method \Aws\Result batchDeleteImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteImageAsync(array $args = []) + * @method \Aws\Result batchGetImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetImageAsync(array $args = []) + * @method \Aws\Result completeLayerUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeLayerUploadAsync(array $args = []) + * @method \Aws\Result createRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRepositoryAsync(array $args = []) + * @method \Aws\Result deleteLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result deleteRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRepositoryAsync(array $args = []) + * @method \Aws\Result deleteRepositoryPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRepositoryPolicyAsync(array $args = []) + * @method \Aws\Result describeImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeImagesAsync(array $args = []) + * @method \Aws\Result describeRepositories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRepositoriesAsync(array $args = []) + * @method \Aws\Result getAuthorizationToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAuthorizationTokenAsync(array $args = []) + * @method \Aws\Result getDownloadUrlForLayer(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDownloadUrlForLayerAsync(array $args = []) + * @method \Aws\Result getLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result getLifecyclePolicyPreview(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLifecyclePolicyPreviewAsync(array $args = []) + * @method \Aws\Result getRepositoryPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRepositoryPolicyAsync(array $args = []) + * @method \Aws\Result initiateLayerUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateLayerUploadAsync(array $args = []) + * @method \Aws\Result listImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise listImagesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise putImageAsync(array $args = []) + * @method \Aws\Result putLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result setRepositoryPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise setRepositoryPolicyAsync(array $args = []) + * @method \Aws\Result startLifecyclePolicyPreview(array $args = []) + * @method \GuzzleHttp\Promise\Promise startLifecyclePolicyPreviewAsync(array $args = []) + * @method \Aws\Result 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 uploadLayerPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadLayerPartAsync(array $args = []) + */ +class EcrClient extends AwsClient {} diff --git a/lib/aws/Aws/Ecr/Exception/EcrException.php b/lib/aws/Aws/Ecr/Exception/EcrException.php new file mode 100644 index 0000000..6241c50 --- /dev/null +++ b/lib/aws/Aws/Ecr/Exception/EcrException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Ecr\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon EC2 Container Registry** service. + */ +class EcrException extends AwsException {} diff --git a/lib/aws/Aws/Ecs/EcsClient.php b/lib/aws/Aws/Ecs/EcsClient.php new file mode 100644 index 0000000..ec64677 --- /dev/null +++ b/lib/aws/Aws/Ecs/EcsClient.php @@ -0,0 +1,96 @@ +<?php +namespace Aws\Ecs; + +use Aws\AwsClient; + +/** + * This client is used to interact with **Amazon ECS**. + * + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result createService(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = []) + * @method \Aws\Result createTaskSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTaskSetAsync(array $args = []) + * @method \Aws\Result deleteAccountSetting(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccountSettingAsync(array $args = []) + * @method \Aws\Result deleteAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAttributesAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result deleteService(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServiceAsync(array $args = []) + * @method \Aws\Result deleteTaskSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTaskSetAsync(array $args = []) + * @method \Aws\Result deregisterContainerInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterContainerInstanceAsync(array $args = []) + * @method \Aws\Result deregisterTaskDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterTaskDefinitionAsync(array $args = []) + * @method \Aws\Result describeClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = []) + * @method \Aws\Result describeContainerInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeContainerInstancesAsync(array $args = []) + * @method \Aws\Result describeServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServicesAsync(array $args = []) + * @method \Aws\Result describeTaskDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTaskDefinitionAsync(array $args = []) + * @method \Aws\Result describeTaskSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTaskSetsAsync(array $args = []) + * @method \Aws\Result describeTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTasksAsync(array $args = []) + * @method \Aws\Result discoverPollEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise discoverPollEndpointAsync(array $args = []) + * @method \Aws\Result listAccountSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccountSettingsAsync(array $args = []) + * @method \Aws\Result listAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttributesAsync(array $args = []) + * @method \Aws\Result listClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = []) + * @method \Aws\Result listContainerInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listContainerInstancesAsync(array $args = []) + * @method \Aws\Result listServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServicesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTaskDefinitionFamilies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTaskDefinitionFamiliesAsync(array $args = []) + * @method \Aws\Result listTaskDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTaskDefinitionsAsync(array $args = []) + * @method \Aws\Result listTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTasksAsync(array $args = []) + * @method \Aws\Result putAccountSetting(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAccountSettingAsync(array $args = []) + * @method \Aws\Result putAccountSettingDefault(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAccountSettingDefaultAsync(array $args = []) + * @method \Aws\Result putAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAttributesAsync(array $args = []) + * @method \Aws\Result registerContainerInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerContainerInstanceAsync(array $args = []) + * @method \Aws\Result registerTaskDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerTaskDefinitionAsync(array $args = []) + * @method \Aws\Result runTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise runTaskAsync(array $args = []) + * @method \Aws\Result startTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startTaskAsync(array $args = []) + * @method \Aws\Result stopTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTaskAsync(array $args = []) + * @method \Aws\Result submitContainerStateChange(array $args = []) + * @method \GuzzleHttp\Promise\Promise submitContainerStateChangeAsync(array $args = []) + * @method \Aws\Result submitTaskStateChange(array $args = []) + * @method \GuzzleHttp\Promise\Promise submitTaskStateChangeAsync(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 updateContainerAgent(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateContainerAgentAsync(array $args = []) + * @method \Aws\Result updateContainerInstancesState(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateContainerInstancesStateAsync(array $args = []) + * @method \Aws\Result updateService(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceAsync(array $args = []) + * @method \Aws\Result updateServicePrimaryTaskSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServicePrimaryTaskSetAsync(array $args = []) + * @method \Aws\Result updateTaskSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTaskSetAsync(array $args = []) + */ +class EcsClient extends AwsClient {} diff --git a/lib/aws/Aws/Ecs/Exception/EcsException.php b/lib/aws/Aws/Ecs/Exception/EcsException.php new file mode 100644 index 0000000..db2c822 --- /dev/null +++ b/lib/aws/Aws/Ecs/Exception/EcsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Ecs\Exception; + +use Aws\Exception\AwsException; + +/** + * Amazon ECS exception. + */ +class EcsException extends AwsException {} diff --git a/lib/aws/Aws/Efs/EfsClient.php b/lib/aws/Aws/Efs/EfsClient.php new file mode 100644 index 0000000..bed92ae --- /dev/null +++ b/lib/aws/Aws/Efs/EfsClient.php @@ -0,0 +1,38 @@ +<?php +namespace Aws\Efs; + +use Aws\AwsClient; + +/** + * This client is used to interact with **Amazon EFS**. + * + * @method \Aws\Result createFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFileSystemAsync(array $args = []) + * @method \Aws\Result createMountTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMountTargetAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result deleteFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFileSystemAsync(array $args = []) + * @method \Aws\Result deleteMountTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMountTargetAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeFileSystems(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFileSystemsAsync(array $args = []) + * @method \Aws\Result describeLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result describeMountTargetSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMountTargetSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeMountTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMountTargetsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result modifyMountTargetSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyMountTargetSecurityGroupsAsync(array $args = []) + * @method \Aws\Result putLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result updateFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFileSystemAsync(array $args = []) + */ +class EfsClient extends AwsClient {} diff --git a/lib/aws/Aws/Efs/Exception/EfsException.php b/lib/aws/Aws/Efs/Exception/EfsException.php new file mode 100644 index 0000000..8880652 --- /dev/null +++ b/lib/aws/Aws/Efs/Exception/EfsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Efs\Exception; + +use Aws\Exception\AwsException; + +/** + * Amazon EFS exception. + */ +class EfsException extends AwsException {} diff --git a/lib/aws/Aws/ElastiCache/ElastiCacheClient.php b/lib/aws/Aws/ElastiCache/ElastiCacheClient.php new file mode 100644 index 0000000..2a59fff --- /dev/null +++ b/lib/aws/Aws/ElastiCache/ElastiCacheClient.php @@ -0,0 +1,94 @@ +<?php +namespace Aws\ElastiCache; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon ElastiCache** service. + * + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result authorizeCacheSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeCacheSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result copySnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copySnapshotAsync(array $args = []) + * @method \Aws\Result createCacheCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCacheClusterAsync(array $args = []) + * @method \Aws\Result createCacheParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCacheParameterGroupAsync(array $args = []) + * @method \Aws\Result createCacheSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCacheSecurityGroupAsync(array $args = []) + * @method \Aws\Result createCacheSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCacheSubnetGroupAsync(array $args = []) + * @method \Aws\Result createReplicationGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReplicationGroupAsync(array $args = []) + * @method \Aws\Result createSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = []) + * @method \Aws\Result decreaseReplicaCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise decreaseReplicaCountAsync(array $args = []) + * @method \Aws\Result deleteCacheCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCacheClusterAsync(array $args = []) + * @method \Aws\Result deleteCacheParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCacheParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteCacheSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCacheSecurityGroupAsync(array $args = []) + * @method \Aws\Result deleteCacheSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCacheSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteReplicationGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReplicationGroupAsync(array $args = []) + * @method \Aws\Result deleteSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotAsync(array $args = []) + * @method \Aws\Result describeCacheClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheClustersAsync(array $args = []) + * @method \Aws\Result describeCacheEngineVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheEngineVersionsAsync(array $args = []) + * @method \Aws\Result describeCacheParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeCacheParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheParametersAsync(array $args = []) + * @method \Aws\Result describeCacheSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeCacheSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeEngineDefaultParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultParametersAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeReplicationGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReplicationGroupsAsync(array $args = []) + * @method \Aws\Result describeReservedCacheNodes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedCacheNodesAsync(array $args = []) + * @method \Aws\Result describeReservedCacheNodesOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedCacheNodesOfferingsAsync(array $args = []) + * @method \Aws\Result describeSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotsAsync(array $args = []) + * @method \Aws\Result increaseReplicaCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise increaseReplicaCountAsync(array $args = []) + * @method \Aws\Result listAllowedNodeTypeModifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAllowedNodeTypeModificationsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyCacheCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyCacheClusterAsync(array $args = []) + * @method \Aws\Result modifyCacheParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyCacheParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyCacheSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyCacheSubnetGroupAsync(array $args = []) + * @method \Aws\Result modifyReplicationGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReplicationGroupAsync(array $args = []) + * @method \Aws\Result modifyReplicationGroupShardConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyReplicationGroupShardConfigurationAsync(array $args = []) + * @method \Aws\Result purchaseReservedCacheNodesOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseReservedCacheNodesOfferingAsync(array $args = []) + * @method \Aws\Result rebootCacheCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootCacheClusterAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetCacheParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetCacheParameterGroupAsync(array $args = []) + * @method \Aws\Result revokeCacheSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeCacheSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result testFailover(array $args = []) + * @method \GuzzleHttp\Promise\Promise testFailoverAsync(array $args = []) + */ +class ElastiCacheClient extends AwsClient {} diff --git a/lib/aws/Aws/ElastiCache/Exception/ElastiCacheException.php b/lib/aws/Aws/ElastiCache/Exception/ElastiCacheException.php new file mode 100644 index 0000000..148b8ca --- /dev/null +++ b/lib/aws/Aws/ElastiCache/Exception/ElastiCacheException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElastiCache\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon ElastiCache service. + */ +class ElastiCacheException extends AwsException {} diff --git a/lib/aws/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php b/lib/aws/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php new file mode 100644 index 0000000..4748f89 --- /dev/null +++ b/lib/aws/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php @@ -0,0 +1,98 @@ +<?php +namespace Aws\ElasticBeanstalk; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elastic Beanstalk** service. + * + * @method \Aws\Result abortEnvironmentUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortEnvironmentUpdateAsync(array $args = []) + * @method \Aws\Result applyEnvironmentManagedAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise applyEnvironmentManagedActionAsync(array $args = []) + * @method \Aws\Result checkDNSAvailability(array $args = []) + * @method \GuzzleHttp\Promise\Promise checkDNSAvailabilityAsync(array $args = []) + * @method \Aws\Result composeEnvironments(array $args = []) + * @method \GuzzleHttp\Promise\Promise composeEnvironmentsAsync(array $args = []) + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result createApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationVersionAsync(array $args = []) + * @method \Aws\Result createConfigurationTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationTemplateAsync(array $args = []) + * @method \Aws\Result createEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEnvironmentAsync(array $args = []) + * @method \Aws\Result createPlatformVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlatformVersionAsync(array $args = []) + * @method \Aws\Result createStorageLocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStorageLocationAsync(array $args = []) + * @method \Aws\Result deleteApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = []) + * @method \Aws\Result deleteApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationVersionAsync(array $args = []) + * @method \Aws\Result deleteConfigurationTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationTemplateAsync(array $args = []) + * @method \Aws\Result deleteEnvironmentConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEnvironmentConfigurationAsync(array $args = []) + * @method \Aws\Result deletePlatformVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePlatformVersionAsync(array $args = []) + * @method \Aws\Result describeAccountAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) + * @method \Aws\Result describeApplicationVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationVersionsAsync(array $args = []) + * @method \Aws\Result describeApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationsAsync(array $args = []) + * @method \Aws\Result describeConfigurationOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationOptionsAsync(array $args = []) + * @method \Aws\Result describeConfigurationSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationSettingsAsync(array $args = []) + * @method \Aws\Result describeEnvironmentHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentHealthAsync(array $args = []) + * @method \Aws\Result describeEnvironmentManagedActionHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentManagedActionHistoryAsync(array $args = []) + * @method \Aws\Result describeEnvironmentManagedActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentManagedActionsAsync(array $args = []) + * @method \Aws\Result describeEnvironmentResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentResourcesAsync(array $args = []) + * @method \Aws\Result describeEnvironments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEnvironmentsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeInstancesHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancesHealthAsync(array $args = []) + * @method \Aws\Result describePlatformVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePlatformVersionAsync(array $args = []) + * @method \Aws\Result listAvailableSolutionStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAvailableSolutionStacksAsync(array $args = []) + * @method \Aws\Result listPlatformVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPlatformVersionsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result rebuildEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebuildEnvironmentAsync(array $args = []) + * @method \Aws\Result requestEnvironmentInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestEnvironmentInfoAsync(array $args = []) + * @method \Aws\Result restartAppServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise restartAppServerAsync(array $args = []) + * @method \Aws\Result retrieveEnvironmentInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise retrieveEnvironmentInfoAsync(array $args = []) + * @method \Aws\Result swapEnvironmentCNAMEs(array $args = []) + * @method \GuzzleHttp\Promise\Promise swapEnvironmentCNAMEsAsync(array $args = []) + * @method \Aws\Result terminateEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateEnvironmentAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + * @method \Aws\Result updateApplicationResourceLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationResourceLifecycleAsync(array $args = []) + * @method \Aws\Result updateApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationVersionAsync(array $args = []) + * @method \Aws\Result updateConfigurationTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationTemplateAsync(array $args = []) + * @method \Aws\Result updateEnvironment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEnvironmentAsync(array $args = []) + * @method \Aws\Result updateTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTagsForResourceAsync(array $args = []) + * @method \Aws\Result validateConfigurationSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise validateConfigurationSettingsAsync(array $args = []) + */ +class ElasticBeanstalkClient extends AwsClient {} diff --git a/lib/aws/Aws/ElasticBeanstalk/Exception/ElasticBeanstalkException.php b/lib/aws/Aws/ElasticBeanstalk/Exception/ElasticBeanstalkException.php new file mode 100644 index 0000000..4d595ad --- /dev/null +++ b/lib/aws/Aws/ElasticBeanstalk/Exception/ElasticBeanstalkException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElasticBeanstalk\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Elastic Beanstalk service. + */ +class ElasticBeanstalkException extends AwsException {} diff --git a/lib/aws/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php b/lib/aws/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php new file mode 100644 index 0000000..bfad0d5 --- /dev/null +++ b/lib/aws/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php @@ -0,0 +1,68 @@ +<?php +namespace Aws\ElasticLoadBalancing; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Elastic Load Balancing** service. + * + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result applySecurityGroupsToLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise applySecurityGroupsToLoadBalancerAsync(array $args = []) + * @method \Aws\Result attachLoadBalancerToSubnets(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachLoadBalancerToSubnetsAsync(array $args = []) + * @method \Aws\Result configureHealthCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise configureHealthCheckAsync(array $args = []) + * @method \Aws\Result createAppCookieStickinessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAppCookieStickinessPolicyAsync(array $args = []) + * @method \Aws\Result createLBCookieStickinessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLBCookieStickinessPolicyAsync(array $args = []) + * @method \Aws\Result createLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerAsync(array $args = []) + * @method \Aws\Result createLoadBalancerListeners(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerListenersAsync(array $args = []) + * @method \Aws\Result createLoadBalancerPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerPolicyAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancerListeners(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerListenersAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancerPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerPolicyAsync(array $args = []) + * @method \Aws\Result deregisterInstancesFromLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterInstancesFromLoadBalancerAsync(array $args = []) + * @method \Aws\Result describeAccountLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = []) + * @method \Aws\Result describeInstanceHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstanceHealthAsync(array $args = []) + * @method \Aws\Result describeLoadBalancerAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancerAttributesAsync(array $args = []) + * @method \Aws\Result describeLoadBalancerPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancerPoliciesAsync(array $args = []) + * @method \Aws\Result describeLoadBalancerPolicyTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancerPolicyTypesAsync(array $args = []) + * @method \Aws\Result describeLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancersAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result detachLoadBalancerFromSubnets(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachLoadBalancerFromSubnetsAsync(array $args = []) + * @method \Aws\Result disableAvailabilityZonesForLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableAvailabilityZonesForLoadBalancerAsync(array $args = []) + * @method \Aws\Result enableAvailabilityZonesForLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableAvailabilityZonesForLoadBalancerAsync(array $args = []) + * @method \Aws\Result modifyLoadBalancerAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyLoadBalancerAttributesAsync(array $args = []) + * @method \Aws\Result registerInstancesWithLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerInstancesWithLoadBalancerAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result setLoadBalancerListenerSSLCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLoadBalancerListenerSSLCertificateAsync(array $args = []) + * @method \Aws\Result setLoadBalancerPoliciesForBackendServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLoadBalancerPoliciesForBackendServerAsync(array $args = []) + * @method \Aws\Result setLoadBalancerPoliciesOfListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLoadBalancerPoliciesOfListenerAsync(array $args = []) + */ +class ElasticLoadBalancingClient extends AwsClient {} diff --git a/lib/aws/Aws/ElasticLoadBalancing/Exception/ElasticLoadBalancingException.php b/lib/aws/Aws/ElasticLoadBalancing/Exception/ElasticLoadBalancingException.php new file mode 100644 index 0000000..f651431 --- /dev/null +++ b/lib/aws/Aws/ElasticLoadBalancing/Exception/ElasticLoadBalancingException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElasticLoadBalancing\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Elastic Load Balancing service. + */ +class ElasticLoadBalancingException extends AwsException {} diff --git a/lib/aws/Aws/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php b/lib/aws/Aws/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php new file mode 100644 index 0000000..bb252fb --- /dev/null +++ b/lib/aws/Aws/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php @@ -0,0 +1,77 @@ +<?php +namespace Aws\ElasticLoadBalancingV2; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Elastic Load Balancing** service. + * @method \Aws\Result addListenerCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise addListenerCertificatesAsync(array $args = []) + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result createListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise createListenerAsync(array $args = []) + * @method \Aws\Result createLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerAsync(array $args = []) + * @method \Aws\Result createRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRuleAsync(array $args = []) + * @method \Aws\Result createTargetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTargetGroupAsync(array $args = []) + * @method \Aws\Result deleteListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteListenerAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerAsync(array $args = []) + * @method \Aws\Result deleteRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = []) + * @method \Aws\Result deleteTargetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTargetGroupAsync(array $args = []) + * @method \Aws\Result deregisterTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterTargetsAsync(array $args = []) + * @method \Aws\Result describeAccountLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = []) + * @method \Aws\Result describeListenerCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeListenerCertificatesAsync(array $args = []) + * @method \Aws\Result describeListeners(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeListenersAsync(array $args = []) + * @method \Aws\Result describeLoadBalancerAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancerAttributesAsync(array $args = []) + * @method \Aws\Result describeLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBalancersAsync(array $args = []) + * @method \Aws\Result describeRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRulesAsync(array $args = []) + * @method \Aws\Result describeSSLPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSSLPoliciesAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result describeTargetGroupAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTargetGroupAttributesAsync(array $args = []) + * @method \Aws\Result describeTargetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTargetGroupsAsync(array $args = []) + * @method \Aws\Result describeTargetHealth(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTargetHealthAsync(array $args = []) + * @method \Aws\Result modifyListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyListenerAsync(array $args = []) + * @method \Aws\Result modifyLoadBalancerAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyLoadBalancerAttributesAsync(array $args = []) + * @method \Aws\Result modifyRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyRuleAsync(array $args = []) + * @method \Aws\Result modifyTargetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyTargetGroupAsync(array $args = []) + * @method \Aws\Result modifyTargetGroupAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyTargetGroupAttributesAsync(array $args = []) + * @method \Aws\Result registerTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerTargetsAsync(array $args = []) + * @method \Aws\Result removeListenerCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeListenerCertificatesAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result setIpAddressType(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIpAddressTypeAsync(array $args = []) + * @method \Aws\Result setRulePriorities(array $args = []) + * @method \GuzzleHttp\Promise\Promise setRulePrioritiesAsync(array $args = []) + * @method \Aws\Result setSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise setSecurityGroupsAsync(array $args = []) + * @method \Aws\Result setSubnets(array $args = []) + * @method \GuzzleHttp\Promise\Promise setSubnetsAsync(array $args = []) + */ +class ElasticLoadBalancingV2Client extends AwsClient {} diff --git a/lib/aws/Aws/ElasticLoadBalancingV2/Exception/ElasticLoadBalancingV2Exception.php b/lib/aws/Aws/ElasticLoadBalancingV2/Exception/ElasticLoadBalancingV2Exception.php new file mode 100644 index 0000000..592cb51 --- /dev/null +++ b/lib/aws/Aws/ElasticLoadBalancingV2/Exception/ElasticLoadBalancingV2Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElasticLoadBalancingV2\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Elastic Load Balancing** service. + */ +class ElasticLoadBalancingV2Exception extends AwsException {} diff --git a/lib/aws/Aws/ElasticTranscoder/ElasticTranscoderClient.php b/lib/aws/Aws/ElasticTranscoder/ElasticTranscoderClient.php new file mode 100644 index 0000000..c34662c --- /dev/null +++ b/lib/aws/Aws/ElasticTranscoder/ElasticTranscoderClient.php @@ -0,0 +1,44 @@ +<?php +namespace Aws\ElasticTranscoder; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Elastic Transcoder** service. + * + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result createPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = []) + * @method \Aws\Result createPreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPresetAsync(array $args = []) + * @method \Aws\Result deletePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = []) + * @method \Aws\Result deletePreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePresetAsync(array $args = []) + * @method \Aws\Result listJobsByPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsByPipelineAsync(array $args = []) + * @method \Aws\Result listJobsByStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsByStatusAsync(array $args = []) + * @method \Aws\Result listPipelines(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPipelinesAsync(array $args = []) + * @method \Aws\Result listPresets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPresetsAsync(array $args = []) + * @method \Aws\Result readJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise readJobAsync(array $args = []) + * @method \Aws\Result readPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise readPipelineAsync(array $args = []) + * @method \Aws\Result readPreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise readPresetAsync(array $args = []) + * @method \Aws\Result testRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise testRoleAsync(array $args = []) + * @method \Aws\Result updatePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePipelineAsync(array $args = []) + * @method \Aws\Result updatePipelineNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePipelineNotificationsAsync(array $args = []) + * @method \Aws\Result updatePipelineStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePipelineStatusAsync(array $args = []) + */ +class ElasticTranscoderClient extends AwsClient {} diff --git a/lib/aws/Aws/ElasticTranscoder/Exception/ElasticTranscoderException.php b/lib/aws/Aws/ElasticTranscoder/Exception/ElasticTranscoderException.php new file mode 100644 index 0000000..29a122f --- /dev/null +++ b/lib/aws/Aws/ElasticTranscoder/Exception/ElasticTranscoderException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElasticTranscoder\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Elastic Transcoder service. + */ +class ElasticTranscoderException extends AwsException {} diff --git a/lib/aws/Aws/ElasticsearchService/ElasticsearchServiceClient.php b/lib/aws/Aws/ElasticsearchService/ElasticsearchServiceClient.php new file mode 100644 index 0000000..82f64b2 --- /dev/null +++ b/lib/aws/Aws/ElasticsearchService/ElasticsearchServiceClient.php @@ -0,0 +1,56 @@ +<?php +namespace Aws\ElasticsearchService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Elasticsearch Service** service. + * + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result cancelElasticsearchServiceSoftwareUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelElasticsearchServiceSoftwareUpdateAsync(array $args = []) + * @method \Aws\Result createElasticsearchDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise createElasticsearchDomainAsync(array $args = []) + * @method \Aws\Result deleteElasticsearchDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteElasticsearchDomainAsync(array $args = []) + * @method \Aws\Result deleteElasticsearchServiceRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteElasticsearchServiceRoleAsync(array $args = []) + * @method \Aws\Result describeElasticsearchDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticsearchDomainAsync(array $args = []) + * @method \Aws\Result describeElasticsearchDomainConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticsearchDomainConfigAsync(array $args = []) + * @method \Aws\Result describeElasticsearchDomains(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticsearchDomainsAsync(array $args = []) + * @method \Aws\Result describeElasticsearchInstanceTypeLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticsearchInstanceTypeLimitsAsync(array $args = []) + * @method \Aws\Result describeReservedElasticsearchInstanceOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedElasticsearchInstanceOfferingsAsync(array $args = []) + * @method \Aws\Result describeReservedElasticsearchInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedElasticsearchInstancesAsync(array $args = []) + * @method \Aws\Result getCompatibleElasticsearchVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCompatibleElasticsearchVersionsAsync(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 listDomainNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDomainNamesAsync(array $args = []) + * @method \Aws\Result listElasticsearchInstanceTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listElasticsearchInstanceTypesAsync(array $args = []) + * @method \Aws\Result listElasticsearchVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listElasticsearchVersionsAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result purchaseReservedElasticsearchInstanceOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseReservedElasticsearchInstanceOfferingAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result startElasticsearchServiceSoftwareUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise startElasticsearchServiceSoftwareUpdateAsync(array $args = []) + * @method \Aws\Result updateElasticsearchDomainConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateElasticsearchDomainConfigAsync(array $args = []) + * @method \Aws\Result upgradeElasticsearchDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise upgradeElasticsearchDomainAsync(array $args = []) + */ +class ElasticsearchServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/ElasticsearchService/Exception/ElasticsearchServiceException.php b/lib/aws/Aws/ElasticsearchService/Exception/ElasticsearchServiceException.php new file mode 100644 index 0000000..fc3d6a5 --- /dev/null +++ b/lib/aws/Aws/ElasticsearchService/Exception/ElasticsearchServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ElasticsearchService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Elasticsearch Service** service. + */ +class ElasticsearchServiceException extends AwsException {} diff --git a/lib/aws/Aws/Emr/EmrClient.php b/lib/aws/Aws/Emr/EmrClient.php new file mode 100644 index 0000000..0d33c8f --- /dev/null +++ b/lib/aws/Aws/Emr/EmrClient.php @@ -0,0 +1,64 @@ +<?php +namespace Aws\Emr; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Elastic MapReduce (Amazon EMR)** service. + * + * @method \Aws\Result addInstanceFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise addInstanceFleetAsync(array $args = []) + * @method \Aws\Result addInstanceGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise addInstanceGroupsAsync(array $args = []) + * @method \Aws\Result addJobFlowSteps(array $args = []) + * @method \GuzzleHttp\Promise\Promise addJobFlowStepsAsync(array $args = []) + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result cancelSteps(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelStepsAsync(array $args = []) + * @method \Aws\Result createSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result deleteSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result describeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterAsync(array $args = []) + * @method \Aws\Result describeJobFlows(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobFlowsAsync(array $args = []) + * @method \Aws\Result describeSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result describeStep(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStepAsync(array $args = []) + * @method \Aws\Result listBootstrapActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBootstrapActionsAsync(array $args = []) + * @method \Aws\Result listClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = []) + * @method \Aws\Result listInstanceFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstanceFleetsAsync(array $args = []) + * @method \Aws\Result listInstanceGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstanceGroupsAsync(array $args = []) + * @method \Aws\Result listInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstancesAsync(array $args = []) + * @method \Aws\Result listSecurityConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecurityConfigurationsAsync(array $args = []) + * @method \Aws\Result listSteps(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStepsAsync(array $args = []) + * @method \Aws\Result modifyInstanceFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyInstanceFleetAsync(array $args = []) + * @method \Aws\Result modifyInstanceGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyInstanceGroupsAsync(array $args = []) + * @method \Aws\Result putAutoScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAutoScalingPolicyAsync(array $args = []) + * @method \Aws\Result removeAutoScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeAutoScalingPolicyAsync(array $args = []) + * @method \Aws\Result removeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsAsync(array $args = []) + * @method \Aws\Result runJobFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise runJobFlowAsync(array $args = []) + * @method \Aws\Result setTerminationProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise setTerminationProtectionAsync(array $args = []) + * @method \Aws\Result setVisibleToAllUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise setVisibleToAllUsersAsync(array $args = []) + * @method \Aws\Result terminateJobFlows(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateJobFlowsAsync(array $args = []) + */ +class EmrClient extends AwsClient {} diff --git a/lib/aws/Aws/Emr/Exception/EmrException.php b/lib/aws/Aws/Emr/Exception/EmrException.php new file mode 100644 index 0000000..7a45dc7 --- /dev/null +++ b/lib/aws/Aws/Emr/Exception/EmrException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Emr\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Elastic MapReduce service. + */ +class EmrException extends AwsException {} diff --git a/lib/aws/Aws/Endpoint/EndpointProvider.php b/lib/aws/Aws/Endpoint/EndpointProvider.php new file mode 100644 index 0000000..ba53574 --- /dev/null +++ b/lib/aws/Aws/Endpoint/EndpointProvider.php @@ -0,0 +1,96 @@ +<?php +namespace Aws\Endpoint; + +use Aws\Exception\UnresolvedEndpointException; + +/** + * Endpoint providers. + * + * An endpoint provider is a function that accepts a hash of endpoint options, + * including but not limited to "service" and "region" key value pairs. The + * endpoint provider function returns a hash of endpoint data, which MUST + * include an "endpoint" key value pair that represents the resolved endpoint + * or NULL if an endpoint cannot be determined. + * + * You can wrap your calls to an endpoint provider with the + * {@see EndpointProvider::resolve} function to ensure that an endpoint hash is + * created. If an endpoint hash is not created, then the resolve() function + * will throw an {@see Aws\Exception\UnresolvedEndpointException}. + * + * use Aws\Endpoint\EndpointProvider; + * $provider = EndpointProvider::defaultProvider(); + * // Returns an array or NULL. + * $endpoint = $provider(['service' => 'ec2', 'region' => 'us-west-2']); + * // Returns an endpoint array or throws. + * $endpoint = EndpointProvider::resolve($provider, [ + * 'service' => 'ec2', + * 'region' => 'us-west-2' + * ]); + * + * You can compose multiple providers into a single provider using + * {@see Aws\or_chain}. This function accepts providers as arguments and + * returns a new function that will invoke each provider until a non-null value + * is returned. + * + * $a = function (array $args) { + * if ($args['region'] === 'my-test-region') { + * return ['endpoint' => 'http://localhost:123/api']; + * } + * }; + * $b = EndpointProvider::defaultProvider(); + * $c = \Aws\or_chain($a, $b); + * $config = ['service' => 'ec2', 'region' => 'my-test-region']; + * $res = $c($config); // $a handles this. + * $config['region'] = 'us-west-2'; + * $res = $c($config); // $b handles this. + */ +class EndpointProvider +{ + /** + * Resolves and endpoint provider and ensures a non-null return value. + * + * @param callable $provider Provider function to invoke. + * @param array $args Endpoint arguments to pass to the provider. + * + * @return array + * @throws UnresolvedEndpointException + */ + public static function resolve(callable $provider, array $args = []) + { + $result = $provider($args); + if (is_array($result)) { + return $result; + } + + throw new UnresolvedEndpointException( + 'Unable to resolve an endpoint using the provider arguments: ' + . json_encode($args) . '. Note: you can provide an "endpoint" ' + . 'option to a client constructor to bypass invoking an endpoint ' + . 'provider.'); + } + + /** + * Creates and returns the default SDK endpoint provider. + * + * @deprecated Use an instance of \Aws\Endpoint\Partition instead. + * + * @return callable + */ + public static function defaultProvider() + { + return PartitionEndpointProvider::defaultProvider(); + } + + /** + * Creates and returns an endpoint provider that uses patterns from an + * array. + * + * @param array $patterns Endpoint patterns + * + * @return callable + */ + public static function patterns(array $patterns) + { + return new PatternEndpointProvider($patterns); + } +} diff --git a/lib/aws/Aws/Endpoint/Partition.php b/lib/aws/Aws/Endpoint/Partition.php new file mode 100644 index 0000000..47b9950 --- /dev/null +++ b/lib/aws/Aws/Endpoint/Partition.php @@ -0,0 +1,183 @@ +<?php +namespace Aws\Endpoint; + +use ArrayAccess; +use Aws\HasDataTrait; +use InvalidArgumentException as Iae; + +/** + * Default implementation of an AWS partition. + */ +final class Partition implements ArrayAccess, PartitionInterface +{ + use HasDataTrait; + + /** + * The partition constructor accepts the following options: + * + * - `partition`: (string, required) The partition name as specified in an + * ARN (e.g., `aws`) + * - `partitionName`: (string) The human readable name of the partition + * (e.g., "AWS Standard") + * - `dnsSuffix`: (string, required) The DNS suffix of the partition. This + * value is used to determine how endpoints in the partition are resolved. + * - `regionRegex`: (string) A PCRE regular expression that specifies the + * pattern that region names in the endpoint adhere to. + * - `regions`: (array, required) A map of the regions in the partition. + * Each key is the region as present in a hostname (e.g., `us-east-1`), + * and each value is a structure containing region information. + * - `defaults`: (array) A map of default key value pairs to apply to each + * endpoint of the partition. Any value in an `endpoint` definition will + * supersede any values specified in `defaults`. + * - `services`: (array, required) A map of service endpoint prefix name + * (the value found in a hostname) to information about the service. + * + * @param array $definition + * + * @throws Iae if any required options are missing + */ + public function __construct(array $definition) + { + foreach (['partition', 'regions', 'services', 'dnsSuffix'] as $key) { + if (!isset($definition[$key])) { + throw new Iae("Partition missing required $key field"); + } + } + + $this->data = $definition; + } + + public function getName() + { + return $this->data['partition']; + } + + public function isRegionMatch($region, $service) + { + if (isset($this->data['regions'][$region]) + || isset($this->data['services'][$service]['endpoints'][$region]) + ) { + return true; + } + + if (isset($this->data['regionRegex'])) { + return (bool) preg_match( + "@{$this->data['regionRegex']}@", + $region + ); + } + + return false; + } + + public function getAvailableEndpoints( + $service, + $allowNonRegionalEndpoints = false + ) { + if ($this->isServicePartitionGlobal($service)) { + return [$this->getPartitionEndpoint($service)]; + } + + if (isset($this->data['services'][$service]['endpoints'])) { + $serviceRegions = array_keys( + $this->data['services'][$service]['endpoints'] + ); + + return $allowNonRegionalEndpoints + ? $serviceRegions + : array_intersect($serviceRegions, array_keys( + $this->data['regions'] + )); + } + + return []; + } + + public function __invoke(array $args = []) + { + $service = isset($args['service']) ? $args['service'] : ''; + $region = isset($args['region']) ? $args['region'] : ''; + $scheme = isset($args['scheme']) ? $args['scheme'] : 'https'; + $data = $this->getEndpointData($service, $region); + + return [ + 'endpoint' => "{$scheme}://" . $this->formatEndpoint( + isset($data['hostname']) ? $data['hostname'] : '', + $service, + $region + ), + 'signatureVersion' => $this->getSignatureVersion($data), + 'signingRegion' => isset($data['credentialScope']['region']) + ? $data['credentialScope']['region'] + : $region, + 'signingName' => isset($data['credentialScope']['service']) + ? $data['credentialScope']['service'] + : $service, + ]; + } + + private function getEndpointData($service, $region) + { + + $resolved = $this->resolveRegion($service, $region); + $data = isset($this->data['services'][$service]['endpoints'][$resolved]) + ? $this->data['services'][$service]['endpoints'][$resolved] + : []; + $data += isset($this->data['services'][$service]['defaults']) + ? $this->data['services'][$service]['defaults'] + : []; + $data += isset($this->data['defaults']) + ? $this->data['defaults'] + : []; + + return $data; + } + + private function getSignatureVersion(array $data) + { + static $supportedBySdk = [ + 's3v4', + 'v4', + 'anonymous', + ]; + + $possibilities = array_intersect( + $supportedBySdk, + isset($data['signatureVersions']) + ? $data['signatureVersions'] + : ['v4'] + ); + + return array_shift($possibilities); + } + + private function resolveRegion($service, $region) + { + if ($this->isServicePartitionGlobal($service)) { + return $this->getPartitionEndpoint($service); + } + + return $region; + } + + private function isServicePartitionGlobal($service) + { + return isset($this->data['services'][$service]['isRegionalized']) + && false === $this->data['services'][$service]['isRegionalized'] + && isset($this->data['services'][$service]['partitionEndpoint']); + } + + private function getPartitionEndpoint($service) + { + return $this->data['services'][$service]['partitionEndpoint']; + } + + private function formatEndpoint($template, $service, $region) + { + return strtr($template, [ + '{service}' => $service, + '{region}' => $region, + '{dnsSuffix}' => $this->data['dnsSuffix'], + ]); + } +} diff --git a/lib/aws/Aws/Endpoint/PartitionEndpointProvider.php b/lib/aws/Aws/Endpoint/PartitionEndpointProvider.php new file mode 100644 index 0000000..3a6cbbc --- /dev/null +++ b/lib/aws/Aws/Endpoint/PartitionEndpointProvider.php @@ -0,0 +1,108 @@ +<?php +namespace Aws\Endpoint; + +use JmesPath\Env; + +class PartitionEndpointProvider +{ + /** @var Partition[] */ + private $partitions; + /** @var string */ + private $defaultPartition; + + public function __construct(array $partitions, $defaultPartition = 'aws') + { + $this->partitions = array_map(function (array $definition) { + return new Partition($definition); + }, array_values($partitions)); + $this->defaultPartition = $defaultPartition; + } + + public function __invoke(array $args = []) + { + $partition = $this->getPartition( + isset($args['region']) ? $args['region'] : '', + isset($args['service']) ? $args['service'] : '' + ); + + return $partition($args); + } + + /** + * Returns the partition containing the provided region or the default + * partition if no match is found. + * + * @param string $region + * @param string $service + * + * @return Partition + */ + public function getPartition($region, $service) + { + foreach ($this->partitions as $partition) { + if ($partition->isRegionMatch($region, $service)) { + return $partition; + } + } + + return $this->getPartitionByName($this->defaultPartition); + } + + /** + * Returns the partition with the provided name or null if no partition with + * the provided name can be found. + * + * @param string $name + * + * @return Partition|null + */ + public function getPartitionByName($name) + { + foreach ($this->partitions as $partition) { + if ($name === $partition->getName()) { + return $partition; + } + } + } + + /** + * Creates and returns the default SDK partition provider. + * + * @return PartitionEndpointProvider + */ + public static function defaultProvider() + { + $data = \Aws\load_compiled_json(__DIR__ . '/../data/endpoints.json'); + $prefixData = \Aws\load_compiled_json(__DIR__ . '/../data/endpoints_prefix_history.json'); + $mergedData = self::mergePrefixData($data, $prefixData); + + return new self($mergedData['partitions']); + } + + /** + * Copy endpoint data for other prefixes used by a given service + * + * @param $data + * @param $prefixData + * @return array + */ + public static function mergePrefixData($data, $prefixData) + { + $prefixGroups = $prefixData['prefix-groups']; + + foreach ($data["partitions"] as $index => $partition) { + foreach ($prefixGroups as $current => $old) { + $serviceData = Env::search("services.{$current}", $partition); + if (!empty($serviceData)) { + foreach ($old as $prefix) { + if (empty(Env::search("services.{$prefix}", $partition))) { + $data["partitions"][$index]["services"][$prefix] = $serviceData; + } + } + } + } + } + + return $data; + } +} diff --git a/lib/aws/Aws/Endpoint/PartitionInterface.php b/lib/aws/Aws/Endpoint/PartitionInterface.php new file mode 100644 index 0000000..0f2572d --- /dev/null +++ b/lib/aws/Aws/Endpoint/PartitionInterface.php @@ -0,0 +1,56 @@ +<?php +namespace Aws\Endpoint; + +/** + * Represents a section of the AWS cloud. + */ +interface PartitionInterface +{ + /** + * Returns the partition's short name, e.g., 'aws,' 'aws-cn,' or + * 'aws-us-gov.' + * + * @return string + */ + public function getName(); + + /** + * Determine if this partition contains the provided region. Include the + * name of the service to inspect non-regional endpoints + * + * @param string $region + * @param string $service + * + * @return bool + */ + public function isRegionMatch($region, $service); + + /** + * Return the endpoints supported by a given service. + * + * @param string $service Identifier of the service + * whose endpoints should be + * listed (e.g., 's3' or 'ses') + * @param bool $allowNonRegionalEndpoints Set to `true` to include + * endpoints that are not AWS + * regions (e.g., 'local' for + * DynamoDB or + * 'fips-us-gov-west-1' for S3) + * + * @return string[] + */ + public function getAvailableEndpoints( + $service, + $allowNonRegionalEndpoints = false + ); + + /** + * A partition must be invokable as an endpoint provider. + * + * @see EndpointProvider + * + * @param array $args + * @return array + */ + public function __invoke(array $args = []); +} diff --git a/lib/aws/Aws/Endpoint/PatternEndpointProvider.php b/lib/aws/Aws/Endpoint/PatternEndpointProvider.php new file mode 100644 index 0000000..c8867ee --- /dev/null +++ b/lib/aws/Aws/Endpoint/PatternEndpointProvider.php @@ -0,0 +1,51 @@ +<?php +namespace Aws\Endpoint; + +/** + * Provides endpoints based on an endpoint pattern configuration array. + */ +class PatternEndpointProvider +{ + /** @var array */ + private $patterns; + + /** + * @param array $patterns Hash of endpoint patterns mapping to endpoint + * configurations. + */ + public function __construct(array $patterns) + { + $this->patterns = $patterns; + } + + public function __invoke(array $args = []) + { + $service = isset($args['service']) ? $args['service'] : ''; + $region = isset($args['region']) ? $args['region'] : ''; + $keys = ["{$region}/{$service}", "{$region}/*", "*/{$service}", "*/*"]; + + foreach ($keys as $key) { + if (isset($this->patterns[$key])) { + return $this->expand( + $this->patterns[$key], + isset($args['scheme']) ? $args['scheme'] : 'https', + $service, + $region + ); + } + } + + return null; + } + + private function expand(array $config, $scheme, $service, $region) + { + $config['endpoint'] = $scheme . '://' + . strtr($config['endpoint'], [ + '{service}' => $service, + '{region}' => $region + ]); + + return $config; + } +} diff --git a/lib/aws/Aws/EndpointDiscovery/Configuration.php b/lib/aws/Aws/EndpointDiscovery/Configuration.php new file mode 100644 index 0000000..dd7d8fb --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/Configuration.php @@ -0,0 +1,48 @@ +<?php +namespace Aws\EndpointDiscovery; + +class Configuration implements ConfigurationInterface +{ + private $cacheLimit; + private $enabled; + + public function __construct($enabled, $cacheLimit = 1000) + { + $this->cacheLimit = filter_var($cacheLimit, FILTER_VALIDATE_INT); + if ($this->cacheLimit == false || $this->cacheLimit < 1) { + throw new \InvalidArgumentException( + "'cache_limit' value must be a positive integer." + ); + } + + // Unparsable $enabled flag errs on the side of disabling endpoint discovery + $this->enabled = filter_var($enabled, FILTER_VALIDATE_BOOLEAN); + } + + /** + * {@inheritdoc} + */ + public function isEnabled() + { + return $this->enabled; + } + + /** + * {@inheritdoc} + */ + public function getCacheLimit() + { + return $this->cacheLimit; + } + + /** + * {@inheritdoc} + */ + public function toArray() + { + return [ + 'enabled' => $this->isEnabled(), + 'cache_limit' => $this->getCacheLimit() + ]; + } +} diff --git a/lib/aws/Aws/EndpointDiscovery/ConfigurationInterface.php b/lib/aws/Aws/EndpointDiscovery/ConfigurationInterface.php new file mode 100644 index 0000000..3228d1d --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/ConfigurationInterface.php @@ -0,0 +1,30 @@ +<?php +namespace Aws\EndpointDiscovery; + +/** + * Provides access to endpoint discovery configuration options: + * 'enabled', 'cache_limit' + */ +interface ConfigurationInterface +{ + /** + * Checks whether or not endpoint discovery is enabled. + * + * @return bool + */ + public function isEnabled(); + + /** + * Returns the cache limit, if available. + * + * @return string|null + */ + public function getCacheLimit(); + + /** + * Returns the configuration as an associative array + * + * @return array + */ + public function toArray(); +} diff --git a/lib/aws/Aws/EndpointDiscovery/ConfigurationProvider.php b/lib/aws/Aws/EndpointDiscovery/ConfigurationProvider.php new file mode 100644 index 0000000..8df802c --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/ConfigurationProvider.php @@ -0,0 +1,333 @@ +<?php +namespace Aws\EndpointDiscovery; + +use Aws\CacheInterface; +use Aws\EndpointDiscovery\Exception\ConfigurationException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromiseInterface; + +/** + * A configuration provider is a function that returns a promise that is + * fulfilled with a {@see \Aws\EndpointDiscovery\ConfigurationInterface} + * or rejected with an {@see \Aws\EndpointDiscovery\Exception\ConfigurationException}. + * + * <code> + * use Aws\EndpointDiscovery\ConfigurationProvider; + * $provider = ConfigurationProvider::defaultProvider(); + * // Returns a ConfigurationInterface or throws. + * $config = $provider()->wait(); + * </code> + * + * Configuration providers can be composed to create configuration using + * conditional logic that can create different configurations in different + * environments. You can compose multiple providers into a single provider using + * {@see Aws\EndpointDiscovery\ConfigurationProvider::chain}. This function + * accepts providers as variadic arguments and returns a new function that will + * invoke each provider until a successful configuration is returned. + * + * <code> + * // First try an INI file at this location. + * $a = ConfigurationProvider::ini(null, '/path/to/file.ini'); + * // Then try an INI file at this location. + * $b = ConfigurationProvider::ini(null, '/path/to/other-file.ini'); + * // Then try loading from environment variables. + * $c = ConfigurationProvider::env(); + * // Combine the three providers together. + * $composed = ConfigurationProvider::chain($a, $b, $c); + * // Returns a promise that is fulfilled with a configuration or throws. + * $promise = $composed(); + * // Wait on the configuration to resolve. + * $config = $promise->wait(); + * </code> + */ +class ConfigurationProvider +{ + const CACHE_KEY = 'aws_cached_endpoint_discovery_config'; + const DEFAULT_ENABLED = false; + const DEFAULT_CACHE_LIMIT = 1000; + const ENV_ENABLED = 'AWS_ENDPOINT_DISCOVERY_ENABLED'; + const ENV_ENABLED_ALT = 'AWS_ENABLE_ENDPOINT_DISCOVERY'; + const ENV_PROFILE = 'AWS_PROFILE'; + + /** + * Wraps a config provider and saves provided configuration in an + * instance of Aws\CacheInterface. Forwards calls when no config found + * in cache and updates cache with the results. + * + * @param callable $provider Configuration provider function to wrap + * @param CacheInterface $cache Cache to store credentials + * @param string|null $cacheKey (optional) Cache key to use + * + * @return callable + */ + public static function cache( + callable $provider, + CacheInterface $cache, + $cacheKey = null + ) { + $cacheKey = $cacheKey ?: self::CACHE_KEY; + + return function () use ($provider, $cache, $cacheKey) { + $found = $cache->get($cacheKey); + if ($found instanceof ConfigurationInterface) { + return Promise\promise_for($found); + } + + return $provider() + ->then(function (ConfigurationInterface $config) use ( + $cache, + $cacheKey + ) { + $cache->set($cacheKey, $config); + return $config; + }); + }; + } + + /** + * Creates an aggregate credentials provider that invokes the provided + * variadic providers one after the other until a provider returns + * credentials. + * + * @return callable + */ + public static function chain() + { + $links = func_get_args(); + if (empty($links)) { + throw new \InvalidArgumentException('No providers in chain'); + } + + return function () use ($links) { + /** @var callable $parent */ + $parent = array_shift($links); + $promise = $parent(); + while ($next = array_shift($links)) { + $promise = $promise->otherwise($next); + } + return $promise; + }; + } + + /** + * Create a default config provider that first checks for environment + * variables, then checks for a specified profile in ~/.aws/config, then + * checks for the "default" profile in ~/.aws/config, and failing those uses + * a default fallback set of configuration options. + * + * This provider is automatically wrapped in a memoize function that caches + * previously provided config options. + * + * @param array $config Optional array of ecs/instance profile credentials + * provider options. + * + * @return callable + */ + public static function defaultProvider(array $config = []) + { + $configProviders = [ + self::env(), + self::ini(), + self::fallback() + ]; + + $memo = self::memoize( + call_user_func_array('self::chain', $configProviders) + ); + + if (isset($config['endpoint_discovery']) + && $config['endpoint_discovery'] instanceof CacheInterface + ) { + return self::cache($memo, $config['endpoint_discovery'], self::CACHE_KEY); + } + + return $memo; + } + + /** + * Provider that creates config from environment variables. + * + * @param $cacheLimit + * @return callable + */ + public static function env($cacheLimit = self::DEFAULT_CACHE_LIMIT) + { + return function () use ($cacheLimit) { + // Use config from environment variables, if available + $enabled = getenv(self::ENV_ENABLED); + if ($enabled === false || $enabled === '') { + $enabled = getenv(self::ENV_ENABLED_ALT); + } + if ($enabled !== false && $enabled !== '') { + return Promise\promise_for( + new Configuration($enabled, $cacheLimit) + ); + } + + return self::reject('Could not find environment variable config' + . ' in ' . self::ENV_ENABLED); + }; + } + + /** + * Fallback config options when other sources are not set. + * + * @return callable + */ + public static function fallback() + { + return function () { + return Promise\promise_for( + new Configuration( + self::DEFAULT_ENABLED, + self::DEFAULT_CACHE_LIMIT + ) + ); + }; + } + + /** + * Gets the environment's HOME directory if available. + * + * @return null|string + */ + private static function getHomeDir() + { + // On Linux/Unix-like systems, use the HOME environment variable + if ($homeDir = getenv('HOME')) { + return $homeDir; + } + + // Get the HOMEDRIVE and HOMEPATH values for Windows hosts + $homeDrive = getenv('HOMEDRIVE'); + $homePath = getenv('HOMEPATH'); + + return ($homeDrive && $homePath) ? $homeDrive . $homePath : null; + } + + /** + * Config provider that creates config using an ini file stored + * in the current user's home directory. + * + * @param string|null $profile Profile to use. If not specified will use + * the "default" profile in "~/.aws/config". + * @param string|null $filename If provided, uses a custom filename rather + * than looking in the home directory. + * @param int $cacheLimit + * + * @return callable + */ + public static function ini( + $profile = null, + $filename = null, + $cacheLimit = self::DEFAULT_CACHE_LIMIT + ) { + $filename = $filename ?: (self::getHomeDir() . '/.aws/config'); + $profile = $profile ?: (getenv(self::ENV_PROFILE) ?: 'default'); + + return function () use ($profile, $filename, $cacheLimit) { + if (!is_readable($filename)) { + return self::reject("Cannot read configuration from $filename"); + } + $data = \Aws\parse_ini_file($filename, true); + if ($data === false) { + return self::reject("Invalid config file: $filename"); + } + if (!isset($data[$profile])) { + return self::reject("'$profile' not found in config file"); + } + if (!isset($data[$profile]['endpoint_discovery_enabled'])) { + return self::reject("Required endpoint discovery config values + not present in INI profile '{$profile}' ({$filename})"); + } + + return Promise\promise_for( + new Configuration( + $data[$profile]['endpoint_discovery_enabled'], + $cacheLimit + ) + ); + }; + } + + /** + * Wraps a config provider and caches previously provided configuration. + * + * Ensures that cached configuration is refreshed when it expires. + * + * @param callable $provider Config provider function to wrap. + * + * @return callable + */ + public static function memoize(callable $provider) + { + return function () use ($provider) { + static $result; + static $isConstant; + + // Constant config will be returned constantly. + if ($isConstant) { + return $result; + } + + // Create the initial promise that will be used as the cached value + // until it expires. + if (null === $result) { + $result = $provider(); + } + + // Return config and set flag that provider is already set + return $result + ->then(function (ConfigurationInterface $config) use (&$isConstant) { + $isConstant = true; + return $config; + }); + }; + } + + /** + * Reject promise with standardized exception. + * + * @param $msg + * @return Promise\RejectedPromise + */ + private static function reject($msg) + { + return new Promise\RejectedPromise(new ConfigurationException($msg)); + } + + /** + * Unwraps a configuration object in whatever valid form it is in, + * always returning a ConfigurationInterface object. + * + * @param mixed $config + * @return ConfigurationInterface + * @throws \InvalidArgumentException + */ + public static function unwrap($config) + { + if (is_callable($config)) { + $config = $config(); + } + if ($config instanceof PromiseInterface) { + $config = $config->wait(); + } + if ($config instanceof ConfigurationInterface) { + return $config; + } elseif (is_array($config) && isset($config['enabled'])) { + if (isset($config['cache_limit'])) { + return new Configuration( + $config['enabled'], + $config['cache_limit'] + ); + } + return new Configuration( + $config['enabled'], + self::DEFAULT_CACHE_LIMIT + ); + } + + throw new \InvalidArgumentException('Not a valid endpoint_discovery ' + . 'configuration argument.'); + } +} diff --git a/lib/aws/Aws/EndpointDiscovery/EndpointDiscoveryMiddleware.php b/lib/aws/Aws/EndpointDiscovery/EndpointDiscoveryMiddleware.php new file mode 100644 index 0000000..0b2d3a4 --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/EndpointDiscoveryMiddleware.php @@ -0,0 +1,414 @@ +<?php +namespace Aws\EndpointDiscovery; + +use Aws\AwsClient; +use Aws\CacheInterface; +use Aws\CommandInterface; +use Aws\Credentials\CredentialsInterface; +use Aws\Exception\AwsException; +use Aws\Exception\UnresolvedEndpointException; +use Aws\LruArrayCache; +use Aws\Middleware; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\UriInterface; + +class EndpointDiscoveryMiddleware +{ + /** + * @var CacheInterface + */ + private static $cache; + private static $discoveryCooldown = 60; + + private $args; + private $client; + private $config; + private $discoveryTimes = []; + private $nextHandler; + private $service; + + public static function wrap( + $client, + $args, + $config + ) { + return function (callable $handler) use ( + $client, + $args, + $config + ) { + return new static( + $handler, + $client, + $args, + $config + ); + }; + } + + public function __construct( + callable $handler, + AwsClient $client, + array $args, + $config + ) { + $this->nextHandler = $handler; + $this->client = $client; + $this->args = $args; + $this->service = $client->getApi(); + $this->config = $config; + } + + public function __invoke(CommandInterface $cmd, RequestInterface $request) + { + $nextHandler = $this->nextHandler; + $op = $this->service->getOperation($cmd->getName())->toArray(); + + // Continue only if endpointdiscovery trait is set + if (isset($op['endpointdiscovery'])) { + $config = ConfigurationProvider::unwrap($this->config); + $isRequired = !empty($op['endpointdiscovery']['required']); + + // Continue only if required by operation or enabled by config + if ($isRequired || $config->isEnabled()) { + if (isset($op['endpointoperation'])) { + throw new UnresolvedEndpointException('This operation is ' + . 'contradictorily marked both as using endpoint discovery ' + . 'and being the endpoint discovery operation. Please ' + . 'verify the accuracy of your model files.'); + } + + // Original endpoint may be used if discovery optional + $originalUri = $request->getUri(); + + $identifiers = $this->getIdentifiers($op); + + $cacheKey = $this->getCacheKey( + $this->client->getCredentials()->wait(), + $cmd, + $identifiers + ); + + // Check/create cache + if (!isset(self::$cache)) { + self::$cache = new LruArrayCache($config->getCacheLimit()); + } + + if (empty($endpointList = self::$cache->get($cacheKey))) { + $endpointList = new EndpointList([]); + } + $endpoint = $endpointList->getActive(); + + // Retrieve endpoints if there is no active endpoint + if (empty($endpoint)) { + try { + $endpoint = $this->discoverEndpoint( + $cacheKey, + $cmd, + $identifiers + ); + } catch (\Exception $e) { + // Use cached endpoint, expired or active, if any remain + $endpoint = $endpointList->getEndpoint(); + + if (empty($endpoint)) { + return $this->handleDiscoveryException( + $isRequired, + $originalUri, + $e, + $cmd, + $request + ); + } + } + } + + $request = $this->modifyRequest($request, $endpoint); + + $g = function ($value) use ( + $cacheKey, + $cmd, + $identifiers, + $isRequired, + $nextHandler, + $originalUri, + $request, + &$endpoint, + &$g + ) { + if ($value instanceof AwsException + && ( + $value->getAwsErrorCode() == 'InvalidEndpointException' + || $value->getStatusCode() == 421 + ) + ) { + return $this->handleInvalidEndpoint( + $cacheKey, + $cmd, + $identifiers, + $isRequired, + $originalUri, + $request, + $value, + $endpoint, + $g + ); + } + + return $value; + }; + + return $nextHandler($cmd, $request)->otherwise($g); + } + } + + return $nextHandler($cmd, $request); + } + + private function discoverEndpoint( + $cacheKey, + CommandInterface $cmd, + array $identifiers + ) { + $discCmd = $this->getDiscoveryCommand($cmd, $identifiers); + $this->discoveryTimes[$cacheKey] = time(); + $result = $this->client->execute($discCmd); + + if (isset($result['Endpoints'])) { + $endpointData = []; + foreach ($result['Endpoints'] as $datum) { + $endpointData[$datum['Address']] = time() + + ($datum['CachePeriodInMinutes'] * 60); + } + $endpointList = new EndpointList($endpointData); + self::$cache->set($cacheKey, $endpointList); + return $endpointList->getEndpoint(); + } + + throw new UnresolvedEndpointException('The endpoint discovery operation ' + . 'yielded a response that did not contain properly formatted ' + . 'endpoint data.'); + } + + private function getCacheKey( + CredentialsInterface $creds, + CommandInterface $cmd, + array $identifiers + ) { + $key = $this->service->getServiceName() . '_' . $creds->getAccessKeyId(); + if (!empty($identifiers)) { + $key .= '_' . $cmd->getName(); + foreach ($identifiers as $identifier) { + $key .= "_{$cmd[$identifier]}"; + } + } + + return $key; + } + + private function getDiscoveryCommand( + CommandInterface $cmd, + array $identifiers + ) { + foreach ($this->service->getOperations() as $op) { + if (isset($op['endpointoperation'])) { + $endpointOperation = $op->toArray()['name']; + break; + } + } + + if (!isset($endpointOperation)) { + throw new UnresolvedEndpointException('This command is set to use ' + . 'endpoint discovery, but no endpoint discovery operation was ' + . 'found. Please verify the accuracy of your model files.'); + } + + $params = []; + if (!empty($identifiers)) { + $params['Operation'] = $cmd->getName(); + $params['Identifiers'] = []; + foreach ($identifiers as $identifier) { + $params['Identifiers'][$identifier] = $cmd[$identifier]; + } + } + $command = $this->client->getCommand($endpointOperation, $params); + $command->getHandlerList()->appendBuild( + Middleware::mapRequest(function (RequestInterface $r) { + return $r->withHeader( + 'x-amz-api-version', + $this->service->getApiVersion() + ); + }), + 'x-amz-api-version-header' + ); + + return $command; + } + + private function getIdentifiers(array $operation) + { + $inputShape = $this->service->getShapeMap() + ->resolve($operation['input']) + ->toArray(); + $identifiers = []; + foreach ($inputShape['members'] as $key => $member) { + if (!empty($member['endpointdiscoveryid'])) { + $identifiers[] = $key; + } + } + return $identifiers; + } + + private function handleDiscoveryException( + $isRequired, + $originalUri, + \Exception $e, + CommandInterface $cmd, + RequestInterface $request + ) { + // If no cached endpoints and discovery required, + // throw exception + if ($isRequired) { + $message = 'The endpoint required for this service is currently ' + . 'unable to be retrieved, and your request can not be fulfilled ' + . 'unless you manually specify an endpoint.'; + throw new AwsException( + $message, + $cmd, + [ + 'code' => 'EndpointDiscoveryException', + 'message' => $message + ], + $e + ); + } + + // If discovery isn't required, use original endpoint + return $this->useOriginalUri( + $originalUri, + $cmd, + $request + ); + } + + private function handleInvalidEndpoint( + $cacheKey, + $cmd, + $identifiers, + $isRequired, + $originalUri, + $request, + $value, + &$endpoint, + &$g + ) { + $nextHandler = $this->nextHandler; + $endpointList = self::$cache->get($cacheKey); + if ($endpointList instanceof EndpointList) { + + // Remove invalid endpoint from cached list + $endpointList->remove($endpoint); + + // If possible, get another cached endpoint + $newEndpoint = $endpointList->getEndpoint(); + } + if (empty($newEndpoint)) { + + // If no more cached endpoints, make discovery call + // if none made within cooldown for given key + if (time() - $this->discoveryTimes[$cacheKey] + < self::$discoveryCooldown + ) { + + // If no more cached endpoints and it's required, + // fail with original exception + if ($isRequired) { + return $value; + } + + // Use original endpoint if not required + return $this->useOriginalUri( + $originalUri, + $cmd, + $request + ); + } + + $newEndpoint = $this->discoverEndpoint( + $cacheKey, + $cmd, + $identifiers + ); + } + $endpoint = $newEndpoint; + $request = $this->modifyRequest($request, $endpoint); + return $nextHandler($cmd, $request)->otherwise($g); + } + + private function modifyRequest(RequestInterface $request, $endpoint) + { + $parsed = $this->parseEndpoint($endpoint); + if (!empty($request->getHeader('User-Agent'))) { + $userAgent = $request->getHeader('User-Agent')[0]; + if (strpos($userAgent, 'endpoint-discovery') === false) { + $userAgent = $userAgent . ' endpoint-discovery'; + } + } else { + $userAgent = 'endpoint-discovery'; + } + + return $request + ->withUri( + $request->getUri() + ->withHost($parsed['host']) + ->withPath($parsed['path']) + ) + ->withHeader('User-Agent', $userAgent); + } + + /** + * Parses an endpoint returned from the discovery API into an array with + * 'host' and 'path' keys. + * + * @param $endpoint + * @return array + */ + private function parseEndpoint($endpoint) + { + $parsed = parse_url($endpoint); + + // parse_url() will correctly parse full URIs with schemes + if (isset($parsed['host'])) { + return $parsed; + } + + // parse_url() will put host & path in 'path' if scheme is not provided + if (isset($parsed['path'])) { + $split = explode('/', $parsed['path'], 2); + $parsed['host'] = $split[0]; + if (isset($split[1])) { + $parsed['path'] = $split[1]; + } else { + $parsed['path'] = ''; + } + return $parsed; + } + + throw new UnresolvedEndpointException("The supplied endpoint '" + . "{$endpoint}' is invalid."); + } + + private function useOriginalUri( + UriInterface $uri, + CommandInterface $cmd, + RequestInterface $request + ) { + $nextHandler = $this->nextHandler; + $endpoint = $uri->getHost() . $uri->getPath(); + $request = $this->modifyRequest( + $request, + $endpoint + ); + return $nextHandler($cmd, $request); + } +} diff --git a/lib/aws/Aws/EndpointDiscovery/EndpointList.php b/lib/aws/Aws/EndpointDiscovery/EndpointList.php new file mode 100644 index 0000000..80ccc47 --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/EndpointList.php @@ -0,0 +1,85 @@ +<?php +namespace Aws\EndpointDiscovery; + +class EndpointList +{ + private $active; + private $expired = []; + + public function __construct(array $endpoints) + { + $this->active = $endpoints; + reset($this->active); + } + + /** + * Gets an active (unexpired) endpoint. Returns null if none found. + * + * @return null|string + */ + public function getActive() + { + if (count($this->active) < 1) { + return null; + } + while (time() > current($this->active)) { + $key = key($this->active); + $this->expired[$key] = current($this->active); + $this->increment($this->active); + unset($this->active[$key]); + if (count($this->active) < 1) { + return null; + } + } + $active = key($this->active); + $this->increment($this->active); + return $active; + } + + /** + * Gets an active endpoint if possible, then an expired endpoint if possible. + * Returns null if no endpoints found. + * + * @return null|string + */ + public function getEndpoint() + { + if (!empty($active = $this->getActive())) { + return $active; + } + return $this->getExpired(); + } + + /** + * Removes an endpoint from both lists. + * + * @param string $key + */ + public function remove($key) + { + unset($this->active[$key]); + unset($this->expired[$key]); + } + + /** + * Get an expired endpoint. Returns null if none found. + * + * @return null|string + */ + private function getExpired() + { + if (count($this->expired) < 1) { + return null; + } + $expired = key($this->expired); + $this->increment($this->expired); + return $expired; + } + + private function increment(&$array) + { + if (next($array) === false) { + reset($array); + } + } +} diff --git a/lib/aws/Aws/EndpointDiscovery/Exception/ConfigurationException.php b/lib/aws/Aws/EndpointDiscovery/Exception/ConfigurationException.php new file mode 100644 index 0000000..f87cdbf --- /dev/null +++ b/lib/aws/Aws/EndpointDiscovery/Exception/ConfigurationException.php @@ -0,0 +1,14 @@ +<?php +namespace Aws\EndpointDiscovery\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +/** + * Represents an error interacting with configuration for endpoint discovery + */ +class ConfigurationException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/EndpointParameterMiddleware.php b/lib/aws/Aws/EndpointParameterMiddleware.php new file mode 100644 index 0000000..b9d822a --- /dev/null +++ b/lib/aws/Aws/EndpointParameterMiddleware.php @@ -0,0 +1,84 @@ +<?php +namespace Aws; + +use Aws\Api\Service; +use Psr\Http\Message\RequestInterface; +use Psr\Log\InvalidArgumentException; + +/** + * Used to update the host based on a modeled endpoint trait + * + * IMPORTANT: this middleware must be added after the "build" step. + * + * @internal + */ +class EndpointParameterMiddleware +{ + + /** + * Create a middleware wrapper function + * + * @param Service $service + * @param array $args + * @return \Closure + */ + public static function wrap(Service $service) + { + return function (callable $handler) use ($service) { + return new self($handler, $service); + }; + } + + public function __construct(callable $nextHandler, Service $service) + { + $this->nextHandler = $nextHandler; + $this->service = $service; + } + + public function __invoke(CommandInterface $command, RequestInterface $request) + { + $nextHandler = $this->nextHandler; + + $operation = $this->service->getOperation($command->getName()); + + if (!empty($operation['endpoint']['hostPrefix'])) { + $prefix = $operation['endpoint']['hostPrefix']; + + // Captures endpoint parameters stored in the modeled host. + // These are denoted by enclosure in braces, i.e. '{param}' + preg_match_all("/\{([a-zA-Z0-9]+)}/", $prefix, $parameters); + + if (!empty($parameters[1])) { + + // Captured parameters without braces stored in $parameters[1], + // which should correspond to members in the Command object + foreach ($parameters[1] as $index => $parameter) { + if (empty($command[$parameter])) { + throw new \InvalidArgumentException( + "The parameter '{$parameter}' must be set and not empty." + ); + } + + // Captured parameters with braces stored in $parameters[0], + // which are replaced by their corresponding Command value + $prefix = str_replace( + $parameters[0][$index], + $command[$parameter], + $prefix + ); + } + } + + $uri = $request->getUri(); + $host = $prefix . $uri->getHost(); + if (!\Aws\is_valid_hostname($host)) { + throw new \InvalidArgumentException( + "The supplied parameters result in an invalid hostname: '{$host}'." + ); + } + $request = $request->withUri($uri->withHost($host)); + } + + return $nextHandler($command, $request); + } +} diff --git a/lib/aws/Aws/Exception/AwsException.php b/lib/aws/Aws/Exception/AwsException.php new file mode 100644 index 0000000..66900c6 --- /dev/null +++ b/lib/aws/Aws/Exception/AwsException.php @@ -0,0 +1,237 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; +use Aws\ResponseContainerInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\RequestInterface; +use Aws\CommandInterface; +use Aws\ResultInterface; + +/** + * Represents an AWS exception that is thrown when a command fails. + */ +class AwsException extends \RuntimeException implements + MonitoringEventsInterface, + ResponseContainerInterface +{ + use HasMonitoringEventsTrait; + + /** @var ResponseInterface */ + private $response; + private $request; + private $result; + private $command; + private $requestId; + private $errorType; + private $errorCode; + private $connectionError; + private $transferInfo; + private $errorMessage; + private $maxRetriesExceeded; + + + /** + * @param string $message Exception message + * @param CommandInterface $command + * @param array $context Exception context + * @param \Exception $previous Previous exception (if any) + */ + public function __construct( + $message, + CommandInterface $command, + array $context = [], + \Exception $previous = null + ) { + $this->command = $command; + $this->response = isset($context['response']) ? $context['response'] : null; + $this->request = isset($context['request']) ? $context['request'] : null; + $this->requestId = isset($context['request_id']) + ? $context['request_id'] + : null; + $this->errorType = isset($context['type']) ? $context['type'] : null; + $this->errorCode = isset($context['code']) ? $context['code'] : null; + $this->connectionError = !empty($context['connection_error']); + $this->result = isset($context['result']) ? $context['result'] : null; + $this->transferInfo = isset($context['transfer_stats']) + ? $context['transfer_stats'] + : []; + $this->errorMessage = isset($context['message']) + ? $context['message'] + : null; + $this->monitoringEvents = []; + $this->maxRetriesExceeded = false; + parent::__construct($message, 0, $previous); + } + + public function __toString() + { + if (!$this->getPrevious()) { + return parent::__toString(); + } + + // PHP strangely shows the innermost exception first before the outer + // exception message. It also has a default character limit for + // exception message strings such that the "next" exception (this one) + // might not even get shown, causing developers to attempt to catch + // the inner exception instead of the actual exception because they + // can't see the outer exception's __toString output. + return sprintf( + "exception '%s' with message '%s'\n\n%s", + get_class($this), + $this->getMessage(), + parent::__toString() + ); + } + + /** + * Get the command that was executed. + * + * @return CommandInterface + */ + public function getCommand() + { + return $this->command; + } + + /** + * Get the concise error message if any. + * + * @return string|null + */ + public function getAwsErrorMessage() + { + return $this->errorMessage; + } + + /** + * Get the sent HTTP request if any. + * + * @return RequestInterface|null + */ + public function getRequest() + { + return $this->request; + } + + /** + * Get the received HTTP response if any. + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } + + /** + * Get the result of the exception if available + * + * @return ResultInterface|null + */ + public function getResult() + { + return $this->result; + } + + /** + * Returns true if this is a connection error. + * + * @return bool + */ + public function isConnectionError() + { + return $this->connectionError; + } + + /** + * If available, gets the HTTP status code of the corresponding response + * + * @return int|null + */ + public function getStatusCode() + { + return $this->response ? $this->response->getStatusCode() : null; + } + + /** + * Get the request ID of the error. This value is only present if a + * response was received and is not present in the event of a networking + * error. + * + * @return string|null Returns null if no response was received + */ + public function getAwsRequestId() + { + return $this->requestId; + } + + /** + * Get the AWS error type. + * + * @return string|null Returns null if no response was received + */ + public function getAwsErrorType() + { + return $this->errorType; + } + + /** + * Get the AWS error code. + * + * @return string|null Returns null if no response was received + */ + public function getAwsErrorCode() + { + return $this->errorCode; + } + + /** + * Get all transfer information as an associative array if no $name + * argument is supplied, or gets a specific transfer statistic if + * a $name attribute is supplied (e.g., 'retries_attempted'). + * + * @param string $name Name of the transfer stat to retrieve + * + * @return mixed|null|array + */ + public function getTransferInfo($name = null) + { + if (!$name) { + return $this->transferInfo; + } + + return isset($this->transferInfo[$name]) + ? $this->transferInfo[$name] + : null; + } + + /** + * Replace the transfer information associated with an exception. + * + * @param array $info + */ + public function setTransferInfo(array $info) + { + $this->transferInfo = $info; + } + + /** + * Returns whether the max number of retries is exceeded. + * + * @return bool + */ + public function isMaxRetriesExceeded() + { + return $this->maxRetriesExceeded; + } + + /** + * Sets the flag for max number of retries exceeded. + */ + public function setMaxRetriesExceeded() + { + $this->maxRetriesExceeded = true; + } +} diff --git a/lib/aws/Aws/Exception/CouldNotCreateChecksumException.php b/lib/aws/Aws/Exception/CouldNotCreateChecksumException.php new file mode 100644 index 0000000..5c5f80e --- /dev/null +++ b/lib/aws/Aws/Exception/CouldNotCreateChecksumException.php @@ -0,0 +1,25 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +class CouldNotCreateChecksumException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; + + public function __construct($algorithm, \Exception $previous = null) + { + $prefix = $algorithm === 'md5' ? "An" : "A"; + parent::__construct("{$prefix} {$algorithm} checksum could not be " + . "calculated for the provided upload body, because it was not " + . "seekable. To prevent this error you can either 1) include the " + . "ContentMD5 or ContentSHA256 parameters with your request, 2) " + . "use a seekable stream for the body, or 3) wrap the non-seekable " + . "stream in a GuzzleHttp\\Psr7\\CachingStream object. You " + . "should be careful though and remember that the CachingStream " + . "utilizes PHP temp streams. This means that the stream will be " + . "temporarily stored on the local disk.", 0, $previous); + } +} diff --git a/lib/aws/Aws/Exception/CredentialsException.php b/lib/aws/Aws/Exception/CredentialsException.php new file mode 100644 index 0000000..0801b62 --- /dev/null +++ b/lib/aws/Aws/Exception/CredentialsException.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +class CredentialsException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/Exception/EventStreamDataException.php b/lib/aws/Aws/Exception/EventStreamDataException.php new file mode 100644 index 0000000..4078595 --- /dev/null +++ b/lib/aws/Aws/Exception/EventStreamDataException.php @@ -0,0 +1,38 @@ +<?php +namespace Aws\Exception; + +/** + * Represents an exception that was supplied via an EventStream. + */ +class EventStreamDataException extends \RuntimeException +{ + private $errorCode; + private $errorMessage; + + public function __construct($code, $message) + { + $this->errorCode = $code; + $this->errorMessage = $message; + parent::__construct($message); + } + + /** + * Get the AWS error code. + * + * @return string|null Returns null if no response was received + */ + public function getAwsErrorCode() + { + return $this->errorCode; + } + + /** + * Get the concise error message if any. + * + * @return string|null + */ + public function getAwsErrorMessage() + { + return $this->errorMessage; + } +} diff --git a/lib/aws/Aws/Exception/MultipartUploadException.php b/lib/aws/Aws/Exception/MultipartUploadException.php new file mode 100644 index 0000000..74e4ea2 --- /dev/null +++ b/lib/aws/Aws/Exception/MultipartUploadException.php @@ -0,0 +1,63 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; +use Aws\Multipart\UploadState; + +class MultipartUploadException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; + + /** @var UploadState State of the erroneous transfer */ + private $state; + + /** + * @param UploadState $state Upload state at time of the exception. + * @param \Exception|array $prev Exception being thrown. + */ + public function __construct(UploadState $state, $prev = null) { + $msg = 'An exception occurred while performing a multipart upload'; + + if (is_array($prev)) { + $msg = strtr($msg, ['performing' => 'uploading parts to']); + $msg .= ". The following parts had errors:\n"; + /** @var $error AwsException */ + foreach ($prev as $part => $error) { + $msg .= "- Part {$part}: " . $error->getMessage(). "\n"; + } + } elseif ($prev instanceof AwsException) { + switch ($prev->getCommand()->getName()) { + case 'CreateMultipartUpload': + case 'InitiateMultipartUpload': + $action = 'initiating'; + break; + case 'CompleteMultipartUpload': + $action = 'completing'; + break; + } + if (isset($action)) { + $msg = strtr($msg, ['performing' => $action]); + } + $msg .= ": {$prev->getMessage()}"; + } + + if (!$prev instanceof \Exception) { + $prev = null; + } + + parent::__construct($msg, 0, $prev); + $this->state = $state; + } + + /** + * Get the state of the transfer + * + * @return UploadState + */ + public function getState() + { + return $this->state; + } +} diff --git a/lib/aws/Aws/Exception/UnresolvedApiException.php b/lib/aws/Aws/Exception/UnresolvedApiException.php new file mode 100644 index 0000000..e204571 --- /dev/null +++ b/lib/aws/Aws/Exception/UnresolvedApiException.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +class UnresolvedApiException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/Exception/UnresolvedEndpointException.php b/lib/aws/Aws/Exception/UnresolvedEndpointException.php new file mode 100644 index 0000000..77d7419 --- /dev/null +++ b/lib/aws/Aws/Exception/UnresolvedEndpointException.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +class UnresolvedEndpointException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/Exception/UnresolvedSignatureException.php b/lib/aws/Aws/Exception/UnresolvedSignatureException.php new file mode 100644 index 0000000..a04674c --- /dev/null +++ b/lib/aws/Aws/Exception/UnresolvedSignatureException.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +class UnresolvedSignatureException extends \RuntimeException implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; +} diff --git a/lib/aws/Aws/FMS/Exception/FMSException.php b/lib/aws/Aws/FMS/Exception/FMSException.php new file mode 100644 index 0000000..4b9f5af --- /dev/null +++ b/lib/aws/Aws/FMS/Exception/FMSException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\FMS\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Firewall Management Service** service. + */ +class FMSException extends AwsException {} diff --git a/lib/aws/Aws/FMS/FMSClient.php b/lib/aws/Aws/FMS/FMSClient.php new file mode 100644 index 0000000..e63089b --- /dev/null +++ b/lib/aws/Aws/FMS/FMSClient.php @@ -0,0 +1,37 @@ +<?php +namespace Aws\FMS; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Firewall Management Service** service. + * @method \Aws\Result associateAdminAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateAdminAccountAsync(array $args = []) + * @method \Aws\Result deleteNotificationChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotificationChannelAsync(array $args = []) + * @method \Aws\Result deletePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = []) + * @method \Aws\Result disassociateAdminAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateAdminAccountAsync(array $args = []) + * @method \Aws\Result getAdminAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAdminAccountAsync(array $args = []) + * @method \Aws\Result getComplianceDetail(array $args = []) + * @method \GuzzleHttp\Promise\Promise getComplianceDetailAsync(array $args = []) + * @method \Aws\Result getNotificationChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getNotificationChannelAsync(array $args = []) + * @method \Aws\Result getPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = []) + * @method \Aws\Result getProtectionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getProtectionStatusAsync(array $args = []) + * @method \Aws\Result listComplianceStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise listComplianceStatusAsync(array $args = []) + * @method \Aws\Result listMemberAccounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMemberAccountsAsync(array $args = []) + * @method \Aws\Result listPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = []) + * @method \Aws\Result putNotificationChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise putNotificationChannelAsync(array $args = []) + * @method \Aws\Result putPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPolicyAsync(array $args = []) + */ +class FMSClient extends AwsClient {} diff --git a/lib/aws/Aws/FSx/Exception/FSxException.php b/lib/aws/Aws/FSx/Exception/FSxException.php new file mode 100644 index 0000000..f659d1f --- /dev/null +++ b/lib/aws/Aws/FSx/Exception/FSxException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\FSx\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon FSx** service. + */ +class FSxException extends AwsException {} diff --git a/lib/aws/Aws/FSx/FSxClient.php b/lib/aws/Aws/FSx/FSxClient.php new file mode 100644 index 0000000..fa28ee6 --- /dev/null +++ b/lib/aws/Aws/FSx/FSxClient.php @@ -0,0 +1,31 @@ +<?php +namespace Aws\FSx; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon FSx** service. + * @method \Aws\Result createBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBackupAsync(array $args = []) + * @method \Aws\Result createFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFileSystemAsync(array $args = []) + * @method \Aws\Result createFileSystemFromBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFileSystemFromBackupAsync(array $args = []) + * @method \Aws\Result deleteBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = []) + * @method \Aws\Result deleteFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFileSystemAsync(array $args = []) + * @method \Aws\Result describeBackups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBackupsAsync(array $args = []) + * @method \Aws\Result describeFileSystems(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFileSystemsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateFileSystem(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFileSystemAsync(array $args = []) + */ +class FSxClient extends AwsClient {} diff --git a/lib/aws/Aws/Firehose/Exception/FirehoseException.php b/lib/aws/Aws/Firehose/Exception/FirehoseException.php new file mode 100644 index 0000000..bfab3da --- /dev/null +++ b/lib/aws/Aws/Firehose/Exception/FirehoseException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Firehose\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Firehose** service. + */ +class FirehoseException extends AwsException {} diff --git a/lib/aws/Aws/Firehose/FirehoseClient.php b/lib/aws/Aws/Firehose/FirehoseClient.php new file mode 100644 index 0000000..a918be4 --- /dev/null +++ b/lib/aws/Aws/Firehose/FirehoseClient.php @@ -0,0 +1,34 @@ +<?php +namespace Aws\Firehose; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Firehose** service. + * + * @method \Aws\Result createDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeliveryStreamAsync(array $args = []) + * @method \Aws\Result deleteDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeliveryStreamAsync(array $args = []) + * @method \Aws\Result describeDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeliveryStreamAsync(array $args = []) + * @method \Aws\Result listDeliveryStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeliveryStreamsAsync(array $args = []) + * @method \Aws\Result listTagsForDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForDeliveryStreamAsync(array $args = []) + * @method \Aws\Result putRecord(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRecordAsync(array $args = []) + * @method \Aws\Result putRecordBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRecordBatchAsync(array $args = []) + * @method \Aws\Result startDeliveryStreamEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDeliveryStreamEncryptionAsync(array $args = []) + * @method \Aws\Result stopDeliveryStreamEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopDeliveryStreamEncryptionAsync(array $args = []) + * @method \Aws\Result tagDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagDeliveryStreamAsync(array $args = []) + * @method \Aws\Result untagDeliveryStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagDeliveryStreamAsync(array $args = []) + * @method \Aws\Result updateDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDestinationAsync(array $args = []) + */ +class FirehoseClient extends AwsClient {} diff --git a/lib/aws/Aws/GameLift/Exception/GameLiftException.php b/lib/aws/Aws/GameLift/Exception/GameLiftException.php new file mode 100644 index 0000000..8f6fcbc --- /dev/null +++ b/lib/aws/Aws/GameLift/Exception/GameLiftException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\GameLift\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon GameLift** service. + */ +class GameLiftException extends AwsException {} diff --git a/lib/aws/Aws/GameLift/GameLiftClient.php b/lib/aws/Aws/GameLift/GameLiftClient.php new file mode 100644 index 0000000..b377966 --- /dev/null +++ b/lib/aws/Aws/GameLift/GameLiftClient.php @@ -0,0 +1,146 @@ +<?php +namespace Aws\GameLift; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon GameLift** service. + * + * @method \Aws\Result acceptMatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptMatchAsync(array $args = []) + * @method \Aws\Result createAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = []) + * @method \Aws\Result createBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBuildAsync(array $args = []) + * @method \Aws\Result createFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) + * @method \Aws\Result createGameSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGameSessionAsync(array $args = []) + * @method \Aws\Result createGameSessionQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGameSessionQueueAsync(array $args = []) + * @method \Aws\Result createMatchmakingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMatchmakingConfigurationAsync(array $args = []) + * @method \Aws\Result createMatchmakingRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMatchmakingRuleSetAsync(array $args = []) + * @method \Aws\Result createPlayerSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlayerSessionAsync(array $args = []) + * @method \Aws\Result createPlayerSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlayerSessionsAsync(array $args = []) + * @method \Aws\Result createVpcPeeringAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcPeeringAuthorizationAsync(array $args = []) + * @method \Aws\Result createVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result deleteAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAliasAsync(array $args = []) + * @method \Aws\Result deleteBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBuildAsync(array $args = []) + * @method \Aws\Result deleteFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = []) + * @method \Aws\Result deleteGameSessionQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGameSessionQueueAsync(array $args = []) + * @method \Aws\Result deleteMatchmakingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMatchmakingConfigurationAsync(array $args = []) + * @method \Aws\Result deleteMatchmakingRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMatchmakingRuleSetAsync(array $args = []) + * @method \Aws\Result deleteScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScalingPolicyAsync(array $args = []) + * @method \Aws\Result deleteVpcPeeringAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcPeeringAuthorizationAsync(array $args = []) + * @method \Aws\Result deleteVpcPeeringConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVpcPeeringConnectionAsync(array $args = []) + * @method \Aws\Result describeAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAliasAsync(array $args = []) + * @method \Aws\Result describeBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBuildAsync(array $args = []) + * @method \Aws\Result describeEC2InstanceLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEC2InstanceLimitsAsync(array $args = []) + * @method \Aws\Result describeFleetAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetAttributesAsync(array $args = []) + * @method \Aws\Result describeFleetCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetCapacityAsync(array $args = []) + * @method \Aws\Result describeFleetEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetEventsAsync(array $args = []) + * @method \Aws\Result describeFleetPortSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetPortSettingsAsync(array $args = []) + * @method \Aws\Result describeFleetUtilization(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetUtilizationAsync(array $args = []) + * @method \Aws\Result describeGameSessionDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGameSessionDetailsAsync(array $args = []) + * @method \Aws\Result describeGameSessionPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGameSessionPlacementAsync(array $args = []) + * @method \Aws\Result describeGameSessionQueues(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGameSessionQueuesAsync(array $args = []) + * @method \Aws\Result describeGameSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGameSessionsAsync(array $args = []) + * @method \Aws\Result describeInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancesAsync(array $args = []) + * @method \Aws\Result describeMatchmaking(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMatchmakingAsync(array $args = []) + * @method \Aws\Result describeMatchmakingConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMatchmakingConfigurationsAsync(array $args = []) + * @method \Aws\Result describeMatchmakingRuleSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMatchmakingRuleSetsAsync(array $args = []) + * @method \Aws\Result describePlayerSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePlayerSessionsAsync(array $args = []) + * @method \Aws\Result describeRuntimeConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRuntimeConfigurationAsync(array $args = []) + * @method \Aws\Result describeScalingPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScalingPoliciesAsync(array $args = []) + * @method \Aws\Result describeVpcPeeringAuthorizations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcPeeringAuthorizationsAsync(array $args = []) + * @method \Aws\Result describeVpcPeeringConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVpcPeeringConnectionsAsync(array $args = []) + * @method \Aws\Result getGameSessionLogUrl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGameSessionLogUrlAsync(array $args = []) + * @method \Aws\Result getInstanceAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceAccessAsync(array $args = []) + * @method \Aws\Result listAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAliasesAsync(array $args = []) + * @method \Aws\Result listBuilds(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBuildsAsync(array $args = []) + * @method \Aws\Result listFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFleetsAsync(array $args = []) + * @method \Aws\Result putScalingPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = []) + * @method \Aws\Result requestUploadCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestUploadCredentialsAsync(array $args = []) + * @method \Aws\Result resolveAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise resolveAliasAsync(array $args = []) + * @method \Aws\Result searchGameSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchGameSessionsAsync(array $args = []) + * @method \Aws\Result startFleetActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise startFleetActionsAsync(array $args = []) + * @method \Aws\Result startGameSessionPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise startGameSessionPlacementAsync(array $args = []) + * @method \Aws\Result startMatchBackfill(array $args = []) + * @method \GuzzleHttp\Promise\Promise startMatchBackfillAsync(array $args = []) + * @method \Aws\Result startMatchmaking(array $args = []) + * @method \GuzzleHttp\Promise\Promise startMatchmakingAsync(array $args = []) + * @method \Aws\Result stopFleetActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopFleetActionsAsync(array $args = []) + * @method \Aws\Result stopGameSessionPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopGameSessionPlacementAsync(array $args = []) + * @method \Aws\Result stopMatchmaking(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopMatchmakingAsync(array $args = []) + * @method \Aws\Result updateAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAliasAsync(array $args = []) + * @method \Aws\Result updateBuild(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBuildAsync(array $args = []) + * @method \Aws\Result updateFleetAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFleetAttributesAsync(array $args = []) + * @method \Aws\Result updateFleetCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFleetCapacityAsync(array $args = []) + * @method \Aws\Result updateFleetPortSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFleetPortSettingsAsync(array $args = []) + * @method \Aws\Result updateGameSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGameSessionAsync(array $args = []) + * @method \Aws\Result updateGameSessionQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGameSessionQueueAsync(array $args = []) + * @method \Aws\Result updateMatchmakingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMatchmakingConfigurationAsync(array $args = []) + * @method \Aws\Result updateRuntimeConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRuntimeConfigurationAsync(array $args = []) + * @method \Aws\Result validateMatchmakingRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise validateMatchmakingRuleSetAsync(array $args = []) + */ +class GameLiftClient extends AwsClient {} diff --git a/lib/aws/Aws/Glacier/Exception/GlacierException.php b/lib/aws/Aws/Glacier/Exception/GlacierException.php new file mode 100644 index 0000000..ff78c0b --- /dev/null +++ b/lib/aws/Aws/Glacier/Exception/GlacierException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Glacier\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Glacier service. + */ +class GlacierException extends AwsException {} diff --git a/lib/aws/Aws/Glacier/GlacierClient.php b/lib/aws/Aws/Glacier/GlacierClient.php new file mode 100644 index 0000000..d282313 --- /dev/null +++ b/lib/aws/Aws/Glacier/GlacierClient.php @@ -0,0 +1,251 @@ +<?php +namespace Aws\Glacier; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\AwsClient; +use Aws\CommandInterface; +use Aws\Exception\CouldNotCreateChecksumException; +use Aws\HashingStream; +use Aws\Middleware; +use Aws\PhpHash; +use Psr\Http\Message\RequestInterface; + +/** + * This client is used to interact with the **Amazon Glacier** service. + * + * @method \Aws\Result abortMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortMultipartUploadAsync(array $args = []) + * @method \Aws\Result abortVaultLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortVaultLockAsync(array $args = []) + * @method \Aws\Result addTagsToVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToVaultAsync(array $args = []) + * @method \Aws\Result completeMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeMultipartUploadAsync(array $args = []) + * @method \Aws\Result completeVaultLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeVaultLockAsync(array $args = []) + * @method \Aws\Result createVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVaultAsync(array $args = []) + * @method \Aws\Result deleteArchive(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteArchiveAsync(array $args = []) + * @method \Aws\Result deleteVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVaultAsync(array $args = []) + * @method \Aws\Result deleteVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result deleteVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVaultNotificationsAsync(array $args = []) + * @method \Aws\Result describeJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobAsync(array $args = []) + * @method \Aws\Result describeVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVaultAsync(array $args = []) + * @method \Aws\Result getDataRetrievalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataRetrievalPolicyAsync(array $args = []) + * @method \Aws\Result getJobOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobOutputAsync(array $args = []) + * @method \Aws\Result getVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result getVaultLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVaultLockAsync(array $args = []) + * @method \Aws\Result getVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVaultNotificationsAsync(array $args = []) + * @method \Aws\Result initiateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateJobAsync(array $args = []) + * @method \Aws\Result initiateMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateMultipartUploadAsync(array $args = []) + * @method \Aws\Result initiateVaultLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateVaultLockAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result listMultipartUploads(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMultipartUploadsAsync(array $args = []) + * @method \Aws\Result listParts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPartsAsync(array $args = []) + * @method \Aws\Result listProvisionedCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProvisionedCapacityAsync(array $args = []) + * @method \Aws\Result listTagsForVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForVaultAsync(array $args = []) + * @method \Aws\Result listVaults(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVaultsAsync(array $args = []) + * @method \Aws\Result purchaseProvisionedCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseProvisionedCapacityAsync(array $args = []) + * @method \Aws\Result removeTagsFromVault(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromVaultAsync(array $args = []) + * @method \Aws\Result setDataRetrievalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise setDataRetrievalPolicyAsync(array $args = []) + * @method \Aws\Result setVaultAccessPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise setVaultAccessPolicyAsync(array $args = []) + * @method \Aws\Result setVaultNotifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise setVaultNotificationsAsync(array $args = []) + * @method \Aws\Result uploadArchive(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadArchiveAsync(array $args = []) + * @method \Aws\Result uploadMultipartPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadMultipartPartAsync(array $args = []) + */ +class GlacierClient extends AwsClient +{ + public function __construct(array $args) + { + parent::__construct($args); + + // Setup middleware. + $stack = $this->getHandlerList(); + $stack->appendBuild($this->getApiVersionMiddleware(), 'glacier.api_version'); + $stack->appendBuild($this->getChecksumsMiddleware(), 'glacier.checksum'); + $stack->appendBuild( + Middleware::contentType(['UploadArchive', 'UploadPart']), + 'glacier.content_type' + ); + $stack->appendInit( + Middleware::sourceFile($this->getApi(), 'body', 'sourceFile'), + 'glacier.source_file' + ); + } + + /** + * {@inheritdoc} + * + * Sets the default accountId to "-" for all operations. + */ + public function getCommand($name, array $args = []) + { + return parent::getCommand($name, $args + ['accountId' => '-']); + } + + /** + * Creates a middleware that updates a command with the content and tree + * hash headers for upload operations. + * + * @return callable + * @throws CouldNotCreateChecksumException if the body is not seekable. + */ + private function getChecksumsMiddleware() + { + return function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler) { + // Accept "ContentSHA256" with a lowercase "c" to match other Glacier params. + if (!$command['ContentSHA256'] && $command['contentSHA256']) { + $command['ContentSHA256'] = $command['contentSHA256']; + unset($command['contentSHA256']); + } + + // If uploading, then make sure checksums are added. + $name = $command->getName(); + if (($name === 'UploadArchive' || $name === 'UploadMultipartPart') + && (!$command['checksum'] || !$command['ContentSHA256']) + ) { + $body = $request->getBody(); + if (!$body->isSeekable()) { + throw new CouldNotCreateChecksumException('sha256'); + } + + // Add a tree hash if not provided. + if (!$command['checksum']) { + $body = new HashingStream( + $body, new TreeHash(), + function ($result) use ($command, &$request) { + $request = $request->withHeader( + 'x-amz-sha256-tree-hash', + bin2hex($result) + ); + } + ); + } + + // Add a linear content hash if not provided. + if (!$command['ContentSHA256']) { + $body = new HashingStream( + $body, new PhpHash('sha256'), + function ($result) use ($command) { + $command['ContentSHA256'] = bin2hex($result); + } + ); + } + + // Read the stream in order to calculate the hashes. + while (!$body->eof()) { + $body->read(1048576); + } + $body->seek(0); + } + + // Set the content hash header if a value is in the command. + if ($command['ContentSHA256']) { + $request = $request->withHeader( + 'x-amz-content-sha256', + $command['ContentSHA256'] + ); + } + + return $handler($command, $request); + }; + }; + } + + /** + * Creates a middleware that adds the API version header for all requests. + * + * @return callable + */ + private function getApiVersionMiddleware() + { + return function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler) { + return $handler($command, $request->withHeader( + 'x-amz-glacier-version', + $this->getApi()->getMetadata('apiVersion') + )); + }; + }; + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + // Add the SourceFile parameter. + $docs['shapes']['SourceFile']['base'] = 'The path to a file on disk to use instead of the body parameter.'; + $api['shapes']['SourceFile'] = ['type' => 'string']; + $api['shapes']['UploadArchiveInput']['members']['sourceFile'] = ['shape' => 'SourceFile']; + $api['shapes']['UploadMultipartPartInput']['members']['sourceFile'] = ['shape' => 'SourceFile']; + + // Add the ContentSHA256 parameter. + $docs['shapes']['ContentSHA256']['base'] = 'A SHA256 hash of the content of the request body'; + $api['shapes']['ContentSHA256'] = ['type' => 'string']; + $api['shapes']['UploadArchiveInput']['members']['contentSHA256'] = ['shape' => 'ContentSHA256']; + $api['shapes']['UploadMultipartPartInput']['members']['contentSHA256'] = ['shape' => 'ContentSHA256']; + + // Add information about "checksum" and "ContentSHA256" being optional. + $optional = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf if it is not supplied.</div>'; + $docs['shapes']['checksum']['append'] = $optional; + $docs['shapes']['ContentSHA256']['append'] = $optional; + + // Make "accountId" optional for all operations. + foreach ($api['operations'] as $operation) { + $inputShape =& $api['shapes'][$operation['input']['shape']]; + $accountIdIndex = array_search('accountId', $inputShape['required']); + unset($inputShape['required'][$accountIdIndex]); + } + // Add information about the default value for "accountId". + $optional = '<div class="alert alert-info">The SDK will set this value to "-" by default.</div>'; + foreach ($docs['shapes']['string']['refs'] as $name => &$ref) { + if (strpos($name, 'accountId')) { + $ref .= $optional; + } + } + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/Glacier/MultipartUploader.php b/lib/aws/Aws/Glacier/MultipartUploader.php new file mode 100644 index 0000000..46710cd --- /dev/null +++ b/lib/aws/Aws/Glacier/MultipartUploader.php @@ -0,0 +1,284 @@ +<?php +namespace Aws\Glacier; + +use Aws\CommandInterface; +use Aws\HashingStream; +use Aws\Multipart\AbstractUploader; +use Aws\Multipart\UploadState; +use Aws\PhpHash; +use Aws\ResultInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\StreamInterface as Stream; + +/** + * Encapsulates the execution of a multipart upload to Glacier. + */ +class MultipartUploader extends AbstractUploader +{ + const PART_MIN_SIZE = 1048576; + + private static $validPartSizes = [ + 1048576, // 1 MB + 2097152, // 2 MB + 4194304, // 4 MB + 8388608, // 8 MB + 16777216, // 16 MB + 33554432, // 32 MB + 67108864, // 64 MB + 134217728, // 128 MB + 268435456, // 256 MB + 536870912, // 512 MB + 1073741824, // 1 GB + 2147483648, // 2 GB + 4294967296, // 4 GB + ]; + + /** + * Creates an UploadState object for a multipart upload by querying the + * service for the specified upload's information. + * + * @param GlacierClient $client GlacierClient object to use. + * @param string $vaultName Vault name for the multipart upload. + * @param string $uploadId Upload ID for the multipart upload. + * @param string $accountId Account ID for the multipart upload. + * + * @return UploadState + */ + public static function getStateFromService( + GlacierClient $client, + $vaultName, + $uploadId, + $accountId = '-' + ) { + $state = new UploadState([ + 'accountId' => $accountId, + 'vaultName' => $vaultName, + 'uploadId' => $uploadId, + ]); + + foreach ($client->getPaginator('ListParts', $state->getId()) as $result) { + // Get the part size from the first part in the first result. + if (!$state->getPartSize()) { + $state->setPartSize($result['PartSizeInBytes']); + } + // Mark all the parts returned by ListParts as uploaded. + foreach ($result['Parts'] as $part) { + list($rangeIndex, $rangeSize) = self::parseRange( + $part['RangeInBytes'], + $state->getPartSize() + ); + $state->markPartAsUploaded($rangeIndex, [ + 'size' => $rangeSize, + 'checksum' => $part['SHA256TreeHash'], + ]); + } + } + + $state->setStatus(UploadState::INITIATED); + + return $state; + } + + /** + * Creates a multipart upload for a Glacier archive. + * + * The valid configuration options are as follows: + * + * - account_id: (string, default=string('-')) Account ID for the archive + * being uploaded, if different from the account making the request. + * - archive_description: (string) Description of the archive. + * - before_complete: (callable) Callback to invoke before the + * `CompleteMultipartUpload` operation. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - before_initiate: (callable) Callback to invoke before the + * `InitiateMultipartUpload` operation. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - before_upload: (callable) Callback to invoke before any + * `UploadMultipartPart` operations. The callback should have a function + * signature like `function (Aws\Command $command) {...}`. + * - concurrency: (int, default=int(3)) Maximum number of concurrent + * `UploadMultipartPart` operations allowed during the multipart upload. + * - part_size: (int, default=int(1048576)) Part size, in bytes, to use when + * doing a multipart upload. This must between 1 MB and 4 GB, and must be + * a power of 2 (in megabytes). + * - prepare_data_source: (callable) Callback to invoke before starting the + * multipart upload workflow. The callback should have a function + * signature like `function () {...}`. + * - state: (Aws\Multipart\UploadState) An object that represents the state + * of the multipart upload and that is used to resume a previous upload. + * When this options is provided, the `account_id`, `key`, and `part_size` + * options are ignored. + * - vault_name: (string, required) Vault name to use for the archive being + * uploaded. + * + * @param GlacierClient $client Client used for the upload. + * @param mixed $source Source of the data to upload. + * @param array $config Configuration used to perform the upload. + */ + public function __construct(GlacierClient $client, $source, array $config = []) + { + parent::__construct($client, $source, $config + [ + 'account_id' => '-', + 'vault_name' => null, + ]); + } + + protected function loadUploadWorkflowInfo() + { + return [ + 'command' => [ + 'initiate' => 'InitiateMultipartUpload', + 'upload' => 'UploadMultipartPart', + 'complete' => 'CompleteMultipartUpload', + ], + 'id' => [ + 'account_id' => 'accountId', + 'vault_name' => 'vaultName', + 'upload_id' => 'uploadId', + ], + 'part_num' => 'range', + ]; + } + + protected function determinePartSize() + { + // Make sure the part size is set. + $partSize = $this->config['part_size'] ?: self::PART_MIN_SIZE; + + // Ensure that the part size is valid. + if (!in_array($partSize, self::$validPartSizes)) { + throw new \InvalidArgumentException('The part_size must be a power ' + . 'of 2, in megabytes, such that 1 MB <= PART_SIZE <= 4 GB.'); + } + + return $partSize; + } + + protected function createPart($seekable, $number) + { + $data = []; + $firstByte = $this->source->tell(); + + // Read from the source to create the body stream. This also + // calculates the linear and tree hashes as the data is read. + if ($seekable) { + // Case 1: Stream is seekable, can make stream from new handle. + $body = Psr7\try_fopen($this->source->getMetadata('uri'), 'r'); + $body = $this->limitPartStream(Psr7\stream_for($body)); + // Create another stream decorated with hashing streams and read + // through it, so we can get the hash values for the part. + $decoratedBody = $this->decorateWithHashes($body, $data); + while (!$decoratedBody->eof()) $decoratedBody->read(1048576); + // Seek the original source forward to the end of the range. + $this->source->seek($this->source->tell() + $body->getSize()); + } else { + // Case 2: Stream is not seekable, must store part in temp stream. + $source = $this->limitPartStream($this->source); + $source = $this->decorateWithHashes($source, $data); + $body = Psr7\stream_for(); + Psr7\copy_to_stream($source, $body); + } + + // Do not create a part if the body size is zero. + if ($body->getSize() === 0) { + return false; + } + + $body->seek(0); + $data['body'] = $body; + $lastByte = $this->source->tell() - 1; + $data['range'] = "bytes {$firstByte}-{$lastByte}/*"; + + return $data; + } + + protected function handleResult(CommandInterface $command, ResultInterface $result) + { + list($rangeIndex, $rangeSize) = $this->parseRange( + $command['range'], + $this->state->getPartSize() + ); + + $this->state->markPartAsUploaded($rangeIndex, [ + 'size' => $rangeSize, + 'checksum' => $command['checksum'] + ]); + } + + protected function getInitiateParams() + { + $params = ['partSize' => $this->state->getPartSize()]; + if (isset($this->config['archive_description'])) { + $params['archiveDescription'] = $this->config['archive_description']; + } + + return $params; + } + + protected function getCompleteParams() + { + $treeHash = new TreeHash(); + $archiveSize = 0; + foreach ($this->state->getUploadedParts() as $part) { + $archiveSize += $part['size']; + $treeHash->addChecksum($part['checksum']); + } + + return [ + 'archiveSize' => $archiveSize, + 'checksum' => bin2hex($treeHash->complete()), + ]; + } + + /** + * Decorates a stream with a tree AND linear sha256 hashing stream. + * + * @param Stream $stream Stream to decorate. + * @param array $data Data bag that results are injected into. + * + * @return Stream + */ + private function decorateWithHashes(Stream $stream, array &$data) + { + // Make sure that a tree hash is calculated. + $stream = new HashingStream($stream, new TreeHash(), + function ($result) use (&$data) { + $data['checksum'] = bin2hex($result); + } + ); + + // Make sure that a linear SHA256 hash is calculated. + $stream = new HashingStream($stream, new PhpHash('sha256'), + function ($result) use (&$data) { + $data['ContentSHA256'] = bin2hex($result); + } + ); + + return $stream; + } + + /** + * Parses a Glacier range string into a size and part number. + * + * @param string $range Glacier range string (e.g., "bytes 5-5000/*") + * @param int $partSize The chosen part size + * + * @return array + */ + private static function parseRange($range, $partSize) + { + // Strip away the prefix and suffix. + if (strpos($range, 'bytes') !== false) { + $range = substr($range, 6, -2); + } + + // Split that range into it's parts. + list($firstByte, $lastByte) = explode('-', $range); + + // Calculate and return range index and range size + return [ + intval($firstByte / $partSize) + 1, + $lastByte - $firstByte + 1, + ]; + } +} diff --git a/lib/aws/Aws/Glacier/TreeHash.php b/lib/aws/Aws/Glacier/TreeHash.php new file mode 100644 index 0000000..9289725 --- /dev/null +++ b/lib/aws/Aws/Glacier/TreeHash.php @@ -0,0 +1,118 @@ +<?php +namespace Aws\Glacier; + +use Aws\HashInterface; + +/** + * Encapsulates the creation of a tree hash from streamed data + */ +class TreeHash implements HashInterface +{ + const MB = 1048576; + const EMPTY_HASH = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'; + + /** @var string Algorithm used for hashing. */ + private $algorithm; + + /** @var string Buffered data that has not yet been hashed. */ + private $buffer; + + /** @var array Binary checksums from which the tree hash is derived. */ + private $checksums = []; + + /** @var string Resulting hash in binary form. */ + private $hash; + + public function __construct($algorithm = 'sha256') + { + $this->algorithm = $algorithm; + $this->reset(); + } + + /** + * {@inheritdoc} + * @throws \LogicException if the root tree hash is already calculated + */ + public function update($data) + { + // Error if hash is already calculated. + if ($this->hash) { + throw new \LogicException('You may not add more data to a ' + . 'complete tree hash.'); + } + + // Buffer incoming data. + $this->buffer .= $data; + + // When there is more than a MB of data, create a checksum. + while (strlen($this->buffer) >= self::MB) { + $data = substr($this->buffer, 0, self::MB); + $this->buffer = substr($this->buffer, self::MB) ?: ''; + $this->checksums[] = hash($this->algorithm, $data, true); + } + + return $this; + } + + /** + * Add a checksum to the tree hash directly + * + * @param string $checksum The checksum to add + * @param bool $inBinaryForm TRUE if checksum is in binary form + * + * @return self + * @throws \LogicException if the root tree hash is already calculated + */ + public function addChecksum($checksum, $inBinaryForm = false) + { + // Error if hash is already calculated + if ($this->hash) { + throw new \LogicException('You may not add more checksums to a ' + . 'complete tree hash.'); + } + + // Convert the checksum to binary form if necessary + $this->checksums[] = $inBinaryForm ? $checksum : hex2bin($checksum); + + return $this; + } + + public function complete() + { + if (!$this->hash) { + // Clear out the remaining buffer. + if (strlen($this->buffer) > 0) { + $this->checksums[] = hash($this->algorithm, $this->buffer, true); + $this->buffer = ''; + } + + // If no hashes, add the EMPTY_HASH. + if (!$this->checksums) { + $this->checksums[] = hex2bin(self::EMPTY_HASH); + } + + // Perform hashes up the tree to arrive at the root checksum. + $hashes = $this->checksums; + while (count($hashes) > 1) { + $sets = array_chunk($hashes, 2); + $hashes = array(); + foreach ($sets as $set) { + $hashes[] = (count($set) === 1) + ? $set[0] + : hash($this->algorithm, $set[0] . $set[1], true); + } + } + + $this->hash = $hashes[0]; + } + + return $this->hash; + } + + public function reset() + { + $this->hash = null; + $this->checksums = []; + $this->buffer = ''; + } +} diff --git a/lib/aws/Aws/GlobalAccelerator/Exception/GlobalAcceleratorException.php b/lib/aws/Aws/GlobalAccelerator/Exception/GlobalAcceleratorException.php new file mode 100644 index 0000000..efff6de --- /dev/null +++ b/lib/aws/Aws/GlobalAccelerator/Exception/GlobalAcceleratorException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\GlobalAccelerator\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Global Accelerator** service. + */ +class GlobalAcceleratorException extends AwsException {} diff --git a/lib/aws/Aws/GlobalAccelerator/GlobalAcceleratorClient.php b/lib/aws/Aws/GlobalAccelerator/GlobalAcceleratorClient.php new file mode 100644 index 0000000..71ffc9d --- /dev/null +++ b/lib/aws/Aws/GlobalAccelerator/GlobalAcceleratorClient.php @@ -0,0 +1,43 @@ +<?php +namespace Aws\GlobalAccelerator; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Global Accelerator** service. + * @method \Aws\Result createAccelerator(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAcceleratorAsync(array $args = []) + * @method \Aws\Result createEndpointGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEndpointGroupAsync(array $args = []) + * @method \Aws\Result createListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise createListenerAsync(array $args = []) + * @method \Aws\Result deleteAccelerator(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAcceleratorAsync(array $args = []) + * @method \Aws\Result deleteEndpointGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointGroupAsync(array $args = []) + * @method \Aws\Result deleteListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteListenerAsync(array $args = []) + * @method \Aws\Result describeAccelerator(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAcceleratorAsync(array $args = []) + * @method \Aws\Result describeAcceleratorAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAcceleratorAttributesAsync(array $args = []) + * @method \Aws\Result describeEndpointGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointGroupAsync(array $args = []) + * @method \Aws\Result describeListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeListenerAsync(array $args = []) + * @method \Aws\Result listAccelerators(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAcceleratorsAsync(array $args = []) + * @method \Aws\Result listEndpointGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEndpointGroupsAsync(array $args = []) + * @method \Aws\Result listListeners(array $args = []) + * @method \GuzzleHttp\Promise\Promise listListenersAsync(array $args = []) + * @method \Aws\Result updateAccelerator(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAcceleratorAsync(array $args = []) + * @method \Aws\Result updateAcceleratorAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAcceleratorAttributesAsync(array $args = []) + * @method \Aws\Result updateEndpointGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEndpointGroupAsync(array $args = []) + * @method \Aws\Result updateListener(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateListenerAsync(array $args = []) + */ +class GlobalAcceleratorClient extends AwsClient {} diff --git a/lib/aws/Aws/Glue/Exception/GlueException.php b/lib/aws/Aws/Glue/Exception/GlueException.php new file mode 100644 index 0000000..92aa32d --- /dev/null +++ b/lib/aws/Aws/Glue/Exception/GlueException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Glue\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Glue** service. + */ +class GlueException extends AwsException {} diff --git a/lib/aws/Aws/Glue/GlueClient.php b/lib/aws/Aws/Glue/GlueClient.php new file mode 100644 index 0000000..e5884e0 --- /dev/null +++ b/lib/aws/Aws/Glue/GlueClient.php @@ -0,0 +1,205 @@ +<?php +namespace Aws\Glue; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Glue** service. + * @method \Aws\Result batchCreatePartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchCreatePartitionAsync(array $args = []) + * @method \Aws\Result batchDeleteConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteConnectionAsync(array $args = []) + * @method \Aws\Result batchDeletePartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeletePartitionAsync(array $args = []) + * @method \Aws\Result batchDeleteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteTableAsync(array $args = []) + * @method \Aws\Result batchDeleteTableVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteTableVersionAsync(array $args = []) + * @method \Aws\Result batchGetCrawlers(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetCrawlersAsync(array $args = []) + * @method \Aws\Result batchGetDevEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetDevEndpointsAsync(array $args = []) + * @method \Aws\Result batchGetJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetJobsAsync(array $args = []) + * @method \Aws\Result batchGetPartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetPartitionAsync(array $args = []) + * @method \Aws\Result batchGetTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetTriggersAsync(array $args = []) + * @method \Aws\Result batchStopJobRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchStopJobRunAsync(array $args = []) + * @method \Aws\Result createClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClassifierAsync(array $args = []) + * @method \Aws\Result createConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConnectionAsync(array $args = []) + * @method \Aws\Result createCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCrawlerAsync(array $args = []) + * @method \Aws\Result createDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDatabaseAsync(array $args = []) + * @method \Aws\Result createDevEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDevEndpointAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result createPartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPartitionAsync(array $args = []) + * @method \Aws\Result createScript(array $args = []) + * @method \GuzzleHttp\Promise\Promise createScriptAsync(array $args = []) + * @method \Aws\Result createSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result createTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTableAsync(array $args = []) + * @method \Aws\Result createTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTriggerAsync(array $args = []) + * @method \Aws\Result createUserDefinedFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserDefinedFunctionAsync(array $args = []) + * @method \Aws\Result deleteClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClassifierAsync(array $args = []) + * @method \Aws\Result deleteConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConnectionAsync(array $args = []) + * @method \Aws\Result deleteCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCrawlerAsync(array $args = []) + * @method \Aws\Result deleteDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDatabaseAsync(array $args = []) + * @method \Aws\Result deleteDevEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDevEndpointAsync(array $args = []) + * @method \Aws\Result deleteJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = []) + * @method \Aws\Result deletePartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePartitionAsync(array $args = []) + * @method \Aws\Result deleteResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourcePolicyAsync(array $args = []) + * @method \Aws\Result deleteSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result deleteTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTableAsync(array $args = []) + * @method \Aws\Result deleteTableVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTableVersionAsync(array $args = []) + * @method \Aws\Result deleteTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTriggerAsync(array $args = []) + * @method \Aws\Result deleteUserDefinedFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserDefinedFunctionAsync(array $args = []) + * @method \Aws\Result getCatalogImportStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCatalogImportStatusAsync(array $args = []) + * @method \Aws\Result getClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise getClassifierAsync(array $args = []) + * @method \Aws\Result getClassifiers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getClassifiersAsync(array $args = []) + * @method \Aws\Result getConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectionAsync(array $args = []) + * @method \Aws\Result getConnections(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectionsAsync(array $args = []) + * @method \Aws\Result getCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCrawlerAsync(array $args = []) + * @method \Aws\Result getCrawlerMetrics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCrawlerMetricsAsync(array $args = []) + * @method \Aws\Result getCrawlers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCrawlersAsync(array $args = []) + * @method \Aws\Result getDataCatalogEncryptionSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataCatalogEncryptionSettingsAsync(array $args = []) + * @method \Aws\Result getDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDatabaseAsync(array $args = []) + * @method \Aws\Result getDatabases(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDatabasesAsync(array $args = []) + * @method \Aws\Result getDataflowGraph(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataflowGraphAsync(array $args = []) + * @method \Aws\Result getDevEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDevEndpointAsync(array $args = []) + * @method \Aws\Result getDevEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDevEndpointsAsync(array $args = []) + * @method \Aws\Result getJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = []) + * @method \Aws\Result getJobRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobRunAsync(array $args = []) + * @method \Aws\Result getJobRuns(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobRunsAsync(array $args = []) + * @method \Aws\Result getJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobsAsync(array $args = []) + * @method \Aws\Result getMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMappingAsync(array $args = []) + * @method \Aws\Result getPartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPartitionAsync(array $args = []) + * @method \Aws\Result getPartitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPartitionsAsync(array $args = []) + * @method \Aws\Result getPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPlanAsync(array $args = []) + * @method \Aws\Result getResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcePolicyAsync(array $args = []) + * @method \Aws\Result getSecurityConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSecurityConfigurationAsync(array $args = []) + * @method \Aws\Result getSecurityConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSecurityConfigurationsAsync(array $args = []) + * @method \Aws\Result getTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTableAsync(array $args = []) + * @method \Aws\Result getTableVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTableVersionAsync(array $args = []) + * @method \Aws\Result getTableVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTableVersionsAsync(array $args = []) + * @method \Aws\Result getTables(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTablesAsync(array $args = []) + * @method \Aws\Result getTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = []) + * @method \Aws\Result getTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTriggerAsync(array $args = []) + * @method \Aws\Result getTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTriggersAsync(array $args = []) + * @method \Aws\Result getUserDefinedFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserDefinedFunctionAsync(array $args = []) + * @method \Aws\Result getUserDefinedFunctions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserDefinedFunctionsAsync(array $args = []) + * @method \Aws\Result importCatalogToGlue(array $args = []) + * @method \GuzzleHttp\Promise\Promise importCatalogToGlueAsync(array $args = []) + * @method \Aws\Result listCrawlers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCrawlersAsync(array $args = []) + * @method \Aws\Result listDevEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevEndpointsAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result listTriggers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTriggersAsync(array $args = []) + * @method \Aws\Result putDataCatalogEncryptionSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDataCatalogEncryptionSettingsAsync(array $args = []) + * @method \Aws\Result putResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = []) + * @method \Aws\Result resetJobBookmark(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetJobBookmarkAsync(array $args = []) + * @method \Aws\Result startCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise startCrawlerAsync(array $args = []) + * @method \Aws\Result startCrawlerSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise startCrawlerScheduleAsync(array $args = []) + * @method \Aws\Result startJobRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise startJobRunAsync(array $args = []) + * @method \Aws\Result startTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise startTriggerAsync(array $args = []) + * @method \Aws\Result stopCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopCrawlerAsync(array $args = []) + * @method \Aws\Result stopCrawlerSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopCrawlerScheduleAsync(array $args = []) + * @method \Aws\Result stopTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTriggerAsync(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 updateClassifier(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClassifierAsync(array $args = []) + * @method \Aws\Result updateConnection(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConnectionAsync(array $args = []) + * @method \Aws\Result updateCrawler(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCrawlerAsync(array $args = []) + * @method \Aws\Result updateCrawlerSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCrawlerScheduleAsync(array $args = []) + * @method \Aws\Result updateDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDatabaseAsync(array $args = []) + * @method \Aws\Result updateDevEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDevEndpointAsync(array $args = []) + * @method \Aws\Result updateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobAsync(array $args = []) + * @method \Aws\Result updatePartition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePartitionAsync(array $args = []) + * @method \Aws\Result updateTable(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTableAsync(array $args = []) + * @method \Aws\Result updateTrigger(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTriggerAsync(array $args = []) + * @method \Aws\Result updateUserDefinedFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserDefinedFunctionAsync(array $args = []) + */ +class GlueClient extends AwsClient {} diff --git a/lib/aws/Aws/Greengrass/Exception/GreengrassException.php b/lib/aws/Aws/Greengrass/Exception/GreengrassException.php new file mode 100644 index 0000000..78c57aa --- /dev/null +++ b/lib/aws/Aws/Greengrass/Exception/GreengrassException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Greengrass\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Greengrass** service. + */ +class GreengrassException extends AwsException {} diff --git a/lib/aws/Aws/Greengrass/GreengrassClient.php b/lib/aws/Aws/Greengrass/GreengrassClient.php new file mode 100644 index 0000000..3096154 --- /dev/null +++ b/lib/aws/Aws/Greengrass/GreengrassClient.php @@ -0,0 +1,189 @@ +<?php +namespace Aws\Greengrass; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Greengrass** service. + * @method \Aws\Result associateRoleToGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateRoleToGroupAsync(array $args = []) + * @method \Aws\Result associateServiceRoleToAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateServiceRoleToAccountAsync(array $args = []) + * @method \Aws\Result createConnectorDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConnectorDefinitionAsync(array $args = []) + * @method \Aws\Result createConnectorDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConnectorDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createCoreDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCoreDefinitionAsync(array $args = []) + * @method \Aws\Result createCoreDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCoreDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = []) + * @method \Aws\Result createDeviceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeviceDefinitionAsync(array $args = []) + * @method \Aws\Result createDeviceDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeviceDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createFunctionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFunctionDefinitionAsync(array $args = []) + * @method \Aws\Result createFunctionDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFunctionDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createGroupCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result createGroupVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupVersionAsync(array $args = []) + * @method \Aws\Result createLoggerDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoggerDefinitionAsync(array $args = []) + * @method \Aws\Result createLoggerDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoggerDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createResourceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceDefinitionAsync(array $args = []) + * @method \Aws\Result createResourceDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceDefinitionVersionAsync(array $args = []) + * @method \Aws\Result createSoftwareUpdateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSoftwareUpdateJobAsync(array $args = []) + * @method \Aws\Result createSubscriptionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubscriptionDefinitionAsync(array $args = []) + * @method \Aws\Result createSubscriptionDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubscriptionDefinitionVersionAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result deleteConnectorDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConnectorDefinitionAsync(array $args = []) + * @method \Aws\Result deleteCoreDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCoreDefinitionAsync(array $args = []) + * @method \Aws\Result deleteDeviceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDeviceDefinitionAsync(array $args = []) + * @method \Aws\Result deleteFunctionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFunctionDefinitionAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteLoggerDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoggerDefinitionAsync(array $args = []) + * @method \Aws\Result deleteResourceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceDefinitionAsync(array $args = []) + * @method \Aws\Result deleteSubscriptionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubscriptionDefinitionAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result disassociateRoleFromGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateRoleFromGroupAsync(array $args = []) + * @method \Aws\Result disassociateServiceRoleFromAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateServiceRoleFromAccountAsync(array $args = []) + * @method \Aws\Result getAssociatedRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAssociatedRoleAsync(array $args = []) + * @method \Aws\Result getBulkDeploymentStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBulkDeploymentStatusAsync(array $args = []) + * @method \Aws\Result getConnectivityInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectivityInfoAsync(array $args = []) + * @method \Aws\Result getConnectorDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectorDefinitionAsync(array $args = []) + * @method \Aws\Result getConnectorDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectorDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getCoreDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCoreDefinitionAsync(array $args = []) + * @method \Aws\Result getCoreDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCoreDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getDeploymentStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeploymentStatusAsync(array $args = []) + * @method \Aws\Result getDeviceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceDefinitionAsync(array $args = []) + * @method \Aws\Result getDeviceDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getFunctionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFunctionDefinitionAsync(array $args = []) + * @method \Aws\Result getFunctionDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFunctionDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = []) + * @method \Aws\Result getGroupCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result getGroupCertificateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupCertificateConfigurationAsync(array $args = []) + * @method \Aws\Result getGroupVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupVersionAsync(array $args = []) + * @method \Aws\Result getLoggerDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoggerDefinitionAsync(array $args = []) + * @method \Aws\Result getLoggerDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoggerDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getResourceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceDefinitionAsync(array $args = []) + * @method \Aws\Result getResourceDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceDefinitionVersionAsync(array $args = []) + * @method \Aws\Result getServiceRoleForAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceRoleForAccountAsync(array $args = []) + * @method \Aws\Result getSubscriptionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSubscriptionDefinitionAsync(array $args = []) + * @method \Aws\Result getSubscriptionDefinitionVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSubscriptionDefinitionVersionAsync(array $args = []) + * @method \Aws\Result listBulkDeploymentDetailedReports(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBulkDeploymentDetailedReportsAsync(array $args = []) + * @method \Aws\Result listBulkDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBulkDeploymentsAsync(array $args = []) + * @method \Aws\Result listConnectorDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConnectorDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listConnectorDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConnectorDefinitionsAsync(array $args = []) + * @method \Aws\Result listCoreDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCoreDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listCoreDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCoreDefinitionsAsync(array $args = []) + * @method \Aws\Result listDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentsAsync(array $args = []) + * @method \Aws\Result listDeviceDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeviceDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listDeviceDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeviceDefinitionsAsync(array $args = []) + * @method \Aws\Result listFunctionDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFunctionDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listFunctionDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFunctionDefinitionsAsync(array $args = []) + * @method \Aws\Result listGroupCertificateAuthorities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupCertificateAuthoritiesAsync(array $args = []) + * @method \Aws\Result listGroupVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupVersionsAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result listLoggerDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLoggerDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listLoggerDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLoggerDefinitionsAsync(array $args = []) + * @method \Aws\Result listResourceDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listResourceDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceDefinitionsAsync(array $args = []) + * @method \Aws\Result listSubscriptionDefinitionVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscriptionDefinitionVersionsAsync(array $args = []) + * @method \Aws\Result listSubscriptionDefinitions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscriptionDefinitionsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result resetDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetDeploymentsAsync(array $args = []) + * @method \Aws\Result startBulkDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise startBulkDeploymentAsync(array $args = []) + * @method \Aws\Result stopBulkDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopBulkDeploymentAsync(array $args = []) + * @method \Aws\Result updateConnectivityInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConnectivityInfoAsync(array $args = []) + * @method \Aws\Result updateConnectorDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConnectorDefinitionAsync(array $args = []) + * @method \Aws\Result updateCoreDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCoreDefinitionAsync(array $args = []) + * @method \Aws\Result updateDeviceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeviceDefinitionAsync(array $args = []) + * @method \Aws\Result updateFunctionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFunctionDefinitionAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateGroupCertificateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupCertificateConfigurationAsync(array $args = []) + * @method \Aws\Result updateLoggerDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLoggerDefinitionAsync(array $args = []) + * @method \Aws\Result updateResourceDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResourceDefinitionAsync(array $args = []) + * @method \Aws\Result updateSubscriptionDefinition(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSubscriptionDefinitionAsync(array $args = []) + */ +class GreengrassClient extends AwsClient {} diff --git a/lib/aws/Aws/GuardDuty/Exception/GuardDutyException.php b/lib/aws/Aws/GuardDuty/Exception/GuardDutyException.php new file mode 100644 index 0000000..a680ab9 --- /dev/null +++ b/lib/aws/Aws/GuardDuty/Exception/GuardDutyException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\GuardDuty\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon GuardDuty** service. + */ +class GuardDutyException extends AwsException {} diff --git a/lib/aws/Aws/GuardDuty/GuardDutyClient.php b/lib/aws/Aws/GuardDuty/GuardDutyClient.php new file mode 100644 index 0000000..fe7d7f5 --- /dev/null +++ b/lib/aws/Aws/GuardDuty/GuardDutyClient.php @@ -0,0 +1,93 @@ +<?php +namespace Aws\GuardDuty; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon GuardDuty** service. + * @method \Aws\Result acceptInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptInvitationAsync(array $args = []) + * @method \Aws\Result archiveFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise archiveFindingsAsync(array $args = []) + * @method \Aws\Result createDetector(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDetectorAsync(array $args = []) + * @method \Aws\Result createFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFilterAsync(array $args = []) + * @method \Aws\Result createIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIPSetAsync(array $args = []) + * @method \Aws\Result createMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMembersAsync(array $args = []) + * @method \Aws\Result createSampleFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSampleFindingsAsync(array $args = []) + * @method \Aws\Result createThreatIntelSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createThreatIntelSetAsync(array $args = []) + * @method \Aws\Result declineInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise declineInvitationsAsync(array $args = []) + * @method \Aws\Result deleteDetector(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDetectorAsync(array $args = []) + * @method \Aws\Result deleteFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFilterAsync(array $args = []) + * @method \Aws\Result deleteIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIPSetAsync(array $args = []) + * @method \Aws\Result deleteInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInvitationsAsync(array $args = []) + * @method \Aws\Result deleteMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMembersAsync(array $args = []) + * @method \Aws\Result deleteThreatIntelSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteThreatIntelSetAsync(array $args = []) + * @method \Aws\Result disassociateFromMasterAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateFromMasterAccountAsync(array $args = []) + * @method \Aws\Result disassociateMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateMembersAsync(array $args = []) + * @method \Aws\Result getDetector(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDetectorAsync(array $args = []) + * @method \Aws\Result getFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFilterAsync(array $args = []) + * @method \Aws\Result getFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFindingsAsync(array $args = []) + * @method \Aws\Result getFindingsStatistics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFindingsStatisticsAsync(array $args = []) + * @method \Aws\Result getIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = []) + * @method \Aws\Result getInvitationsCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInvitationsCountAsync(array $args = []) + * @method \Aws\Result getMasterAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMasterAccountAsync(array $args = []) + * @method \Aws\Result getMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMembersAsync(array $args = []) + * @method \Aws\Result getThreatIntelSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getThreatIntelSetAsync(array $args = []) + * @method \Aws\Result inviteMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise inviteMembersAsync(array $args = []) + * @method \Aws\Result listDetectors(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDetectorsAsync(array $args = []) + * @method \Aws\Result listFilters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFiltersAsync(array $args = []) + * @method \Aws\Result listFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = []) + * @method \Aws\Result listIPSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = []) + * @method \Aws\Result listInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInvitationsAsync(array $args = []) + * @method \Aws\Result listMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMembersAsync(array $args = []) + * @method \Aws\Result listThreatIntelSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThreatIntelSetsAsync(array $args = []) + * @method \Aws\Result startMonitoringMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise startMonitoringMembersAsync(array $args = []) + * @method \Aws\Result stopMonitoringMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopMonitoringMembersAsync(array $args = []) + * @method \Aws\Result unarchiveFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise unarchiveFindingsAsync(array $args = []) + * @method \Aws\Result updateDetector(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDetectorAsync(array $args = []) + * @method \Aws\Result updateFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFilterAsync(array $args = []) + * @method \Aws\Result updateFindingsFeedback(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFindingsFeedbackAsync(array $args = []) + * @method \Aws\Result updateIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIPSetAsync(array $args = []) + * @method \Aws\Result updateThreatIntelSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateThreatIntelSetAsync(array $args = []) + */ +class GuardDutyClient extends AwsClient {} diff --git a/lib/aws/Aws/Handler/GuzzleV5/GuzzleHandler.php b/lib/aws/Aws/Handler/GuzzleV5/GuzzleHandler.php new file mode 100644 index 0000000..7ab8756 --- /dev/null +++ b/lib/aws/Aws/Handler/GuzzleV5/GuzzleHandler.php @@ -0,0 +1,210 @@ +<?php +namespace Aws\Handler\GuzzleV5; + +use Exception; +use GuzzleHttp\Client; +use GuzzleHttp\ClientInterface; +use GuzzleHttp\Event\EndEvent; +use GuzzleHttp\Exception\ConnectException; +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Message\ResponseInterface as GuzzleResponse; +use GuzzleHttp\Promise; +use GuzzleHttp\Psr7\Response as Psr7Response; +use GuzzleHttp\Stream\Stream; +use Psr\Http\Message\RequestInterface as Psr7Request; +use Psr\Http\Message\StreamInterface as Psr7StreamInterface; + +/** + * A request handler that sends PSR-7-compatible requests with Guzzle 5. + * + * The handler accepts a PSR-7 Request object and an array of transfer options + * and returns a Guzzle 6 Promise. The promise is either resolved with a + * PSR-7 Response object or rejected with an array of error data. + * + * @codeCoverageIgnore + */ +class GuzzleHandler +{ + private static $validOptions = [ + 'proxy' => true, + 'expect' => true, + 'verify' => true, + 'timeout' => true, + 'debug' => true, + 'connect_timeout' => true, + 'stream' => true, + 'delay' => true, + 'sink' => true, + ]; + + /** @var ClientInterface */ + private $client; + + /** + * @param ClientInterface $client + */ + public function __construct(ClientInterface $client = null) + { + $this->client = $client ?: new Client(); + } + + /** + * @param Psr7Request $request + * @param array $options + * + * @return Promise\Promise + */ + public function __invoke(Psr7Request $request, array $options = []) + { + // Create and send a Guzzle 5 request + $guzzlePromise = $this->client->send( + $this->createGuzzleRequest($request, $options) + ); + + $promise = new Promise\Promise( + function () use ($guzzlePromise) { + try { + $guzzlePromise->wait(); + } catch (\Exception $e) { + // The promise is already delivered when the exception is + // thrown, so don't rethrow it. + } + }, + [$guzzlePromise, 'cancel'] + ); + + $guzzlePromise->then([$promise, 'resolve'], [$promise, 'reject']); + + return $promise->then( + function (GuzzleResponse $response) { + // Adapt the Guzzle 5 Future to a Guzzle 6 ResponsePromise. + return $this->createPsr7Response($response); + }, + function (Exception $exception) use ($options) { + // If we got a 'sink' that's a path, set the response body to + // the contents of the file. This will build the resulting + // exception with more information. + if ($exception instanceof RequestException) { + if (isset($options['sink'])) { + if (!($options['sink'] instanceof Psr7StreamInterface)) { + $exception->getResponse()->setBody( + Stream::factory( + file_get_contents($options['sink']) + ) + ); + } + } + } + // Reject with information about the error. + return new Promise\RejectedPromise($this->prepareErrorData($exception)); + } + ); + } + + private function createGuzzleRequest(Psr7Request $psrRequest, array $options) + { + $ringConfig = []; + $statsCallback = isset($options['http_stats_receiver']) + ? $options['http_stats_receiver'] + : null; + unset($options['http_stats_receiver']); + + // Remove unsupported options. + foreach (array_keys($options) as $key) { + if (!isset(self::$validOptions[$key])) { + unset($options[$key]); + } + } + + // Handle delay option. + if (isset($options['delay'])) { + $ringConfig['delay'] = $options['delay']; + unset($options['delay']); + } + + // Prepare sink option. + if (isset($options['sink'])) { + $ringConfig['save_to'] = ($options['sink'] instanceof Psr7StreamInterface) + ? new GuzzleStream($options['sink']) + : $options['sink']; + unset($options['sink']); + } + + // Ensure that all requests are async and lazy like Guzzle 6. + $options['future'] = 'lazy'; + + // Create the Guzzle 5 request from the provided PSR7 request. + $request = $this->client->createRequest( + $psrRequest->getMethod(), + $psrRequest->getUri(), + $options + ); + + if (is_callable($statsCallback)) { + $request->getEmitter()->on( + 'end', + function (EndEvent $event) use ($statsCallback) { + $statsCallback($event->getTransferInfo()); + } + ); + } + + // For the request body, adapt the PSR stream to a Guzzle stream. + $body = $psrRequest->getBody(); + if ($body->getSize() === 0) { + $request->setBody(null); + } else { + $request->setBody(new GuzzleStream($body)); + } + + $request->setHeaders($psrRequest->getHeaders()); + + $request->setHeader( + 'User-Agent', + $request->getHeader('User-Agent') + . ' ' . Client::getDefaultUserAgent() + ); + + // Make sure the delay is configured, if provided. + if ($ringConfig) { + foreach ($ringConfig as $k => $v) { + $request->getConfig()->set($k, $v); + } + } + + return $request; + } + + private function createPsr7Response(GuzzleResponse $response) + { + if ($body = $response->getBody()) { + $body = new PsrStream($body); + } + + return new Psr7Response( + $response->getStatusCode(), + $response->getHeaders(), + $body, + $response->getReasonPhrase() + ); + } + + private function prepareErrorData(Exception $e) + { + $error = [ + 'exception' => $e, + 'connection_error' => false, + 'response' => null, + ]; + + if ($e instanceof ConnectException) { + $error['connection_error'] = true; + } + + if ($e instanceof RequestException && $e->getResponse()) { + $error['response'] = $this->createPsr7Response($e->getResponse()); + } + + return $error; + } +} diff --git a/lib/aws/Aws/Handler/GuzzleV5/GuzzleStream.php b/lib/aws/Aws/Handler/GuzzleV5/GuzzleStream.php new file mode 100644 index 0000000..5de00b5 --- /dev/null +++ b/lib/aws/Aws/Handler/GuzzleV5/GuzzleStream.php @@ -0,0 +1,24 @@ +<?php +namespace Aws\Handler\GuzzleV5; + +use GuzzleHttp\Stream\StreamDecoratorTrait; +use GuzzleHttp\Stream\StreamInterface as GuzzleStreamInterface; +use Psr\Http\Message\StreamInterface as Psr7StreamInterface; + +/** + * Adapts a PSR-7 Stream to a Guzzle 5 Stream. + * + * @codeCoverageIgnore + */ +class GuzzleStream implements GuzzleStreamInterface +{ + use StreamDecoratorTrait; + + /** @var Psr7StreamInterface */ + private $stream; + + public function __construct(Psr7StreamInterface $stream) + { + $this->stream = $stream; + } +} diff --git a/lib/aws/Aws/Handler/GuzzleV5/PsrStream.php b/lib/aws/Aws/Handler/GuzzleV5/PsrStream.php new file mode 100644 index 0000000..cc07613 --- /dev/null +++ b/lib/aws/Aws/Handler/GuzzleV5/PsrStream.php @@ -0,0 +1,34 @@ +<?php +namespace Aws\Handler\GuzzleV5; + +use GuzzleHttp\Stream\StreamDecoratorTrait; +use GuzzleHttp\Stream\StreamInterface as GuzzleStreamInterface; +use Psr\Http\Message\StreamInterface as Psr7StreamInterface; + +/** + * Adapts a Guzzle 5 Stream to a PSR-7 Stream. + * + * @codeCoverageIgnore + */ +class PsrStream implements Psr7StreamInterface +{ + use StreamDecoratorTrait; + + /** @var GuzzleStreamInterface */ + private $stream; + + public function __construct(GuzzleStreamInterface $stream) + { + $this->stream = $stream; + } + + public function rewind() + { + $this->stream->seek(0); + } + + public function getContents() + { + return $this->stream->getContents(); + } +} diff --git a/lib/aws/Aws/Handler/GuzzleV6/GuzzleHandler.php b/lib/aws/Aws/Handler/GuzzleV6/GuzzleHandler.php new file mode 100644 index 0000000..6f1239c --- /dev/null +++ b/lib/aws/Aws/Handler/GuzzleV6/GuzzleHandler.php @@ -0,0 +1,85 @@ +<?php +namespace Aws\Handler\GuzzleV6; + +use Exception; +use GuzzleHttp\Exception\ConnectException; +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Promise; +use GuzzleHttp\Client; +use GuzzleHttp\ClientInterface; +use GuzzleHttp\TransferStats; +use Psr\Http\Message\RequestInterface as Psr7Request; + +/** + * A request handler that sends PSR-7-compatible requests with Guzzle 6. + */ +class GuzzleHandler +{ + /** @var ClientInterface */ + private $client; + + /** + * @param ClientInterface $client + */ + public function __construct(ClientInterface $client = null) + { + $this->client = $client ?: new Client(); + } + + /** + * @param Psr7Request $request + * @param array $options + * + * @return Promise\Promise + */ + public function __invoke(Psr7Request $request, array $options = []) + { + $request = $request->withHeader( + 'User-Agent', + $request->getHeaderLine('User-Agent') + . ' ' . \GuzzleHttp\default_user_agent() + ); + + return $this->client->sendAsync($request, $this->parseOptions($options)) + ->otherwise( + static function (\Exception $e) { + $error = [ + 'exception' => $e, + 'connection_error' => $e instanceof ConnectException, + 'response' => null, + ]; + + if ($e instanceof RequestException && $e->getResponse()) { + $error['response'] = $e->getResponse(); + } + + return new Promise\RejectedPromise($error); + } + ); + } + + private function parseOptions(array $options) + { + if (isset($options['http_stats_receiver'])) { + $fn = $options['http_stats_receiver']; + unset($options['http_stats_receiver']); + + $prev = isset($options['on_stats']) + ? $options['on_stats'] + : null; + + $options['on_stats'] = static function ( + TransferStats $stats + ) use ($fn, $prev) { + if (is_callable($prev)) { + $prev($stats); + } + $transferStats = ['total_time' => $stats->getTransferTime()]; + $transferStats += $stats->getHandlerStats(); + $fn($transferStats); + }; + } + + return $options; + } +} diff --git a/lib/aws/Aws/HandlerList.php b/lib/aws/Aws/HandlerList.php new file mode 100644 index 0000000..a875fb5 --- /dev/null +++ b/lib/aws/Aws/HandlerList.php @@ -0,0 +1,451 @@ +<?php +namespace Aws; + +/** + * Builds a single handler function from zero or more middleware functions and + * a handler. The handler function is then used to send command objects and + * return a promise that is resolved with an AWS result object. + * + * The "front" of the list is invoked before the "end" of the list. You can add + * middleware to the front of the list using one of the "prepend" method, and + * the end of the list using one of the "append" method. The last function + * invoked in a handler list is the handler (a function that does not accept a + * next handler but rather is responsible for returning a promise that is + * fulfilled with an Aws\ResultInterface object). + * + * Handlers are ordered using a "step" that describes the step at which the + * SDK is when sending a command. The available steps are: + * + * - init: The command is being initialized, allowing you to do things like add + * default options. + * - validate: The command is being validated before it is serialized + * - build: The command is being serialized into an HTTP request. A middleware + * in this step MUST serialize an HTTP request and populate the "@request" + * parameter of a command with the request such that it is available to + * subsequent middleware. + * - sign: The request is being signed and prepared to be sent over the wire. + * + * Middleware can be registered with a name to allow you to easily add a + * middleware before or after another middleware by name. This also allows you + * to remove a middleware by name (in addition to removing by instance). + */ +class HandlerList implements \Countable +{ + const INIT = 'init'; + const VALIDATE = 'validate'; + const BUILD = 'build'; + const SIGN = 'sign'; + const ATTEMPT = 'attempt'; + + /** @var callable */ + private $handler; + + /** @var array */ + private $named = []; + + /** @var array */ + private $sorted; + + /** @var callable|null */ + private $interposeFn; + + /** @var array Steps (in reverse order) */ + private $steps = [ + self::ATTEMPT => [], + self::SIGN => [], + self::BUILD => [], + self::VALIDATE => [], + self::INIT => [], + ]; + + /** + * @param callable $handler HTTP handler. + */ + public function __construct(callable $handler = null) + { + $this->handler = $handler; + } + + /** + * Dumps a string representation of the list. + * + * @return string + */ + public function __toString() + { + $str = ''; + $i = 0; + + foreach (array_reverse($this->steps) as $k => $step) { + foreach (array_reverse($step) as $j => $tuple) { + $str .= "{$i}) Step: {$k}, "; + if ($tuple[1]) { + $str .= "Name: {$tuple[1]}, "; + } + $str .= "Function: " . $this->debugCallable($tuple[0]) . "\n"; + $i++; + } + } + + if ($this->handler) { + $str .= "{$i}) Handler: " . $this->debugCallable($this->handler) . "\n"; + } + + return $str; + } + + /** + * Set the HTTP handler that actually returns a response. + * + * @param callable $handler Function that accepts a request and array of + * options and returns a Promise. + */ + public function setHandler(callable $handler) + { + $this->handler = $handler; + } + + /** + * Returns true if the builder has a handler. + * + * @return bool + */ + public function hasHandler() + { + return (bool) $this->handler; + } + + /** + * Append a middleware to the init step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function appendInit(callable $middleware, $name = null) + { + $this->add(self::INIT, $name, $middleware); + } + + /** + * Prepend a middleware to the init step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function prependInit(callable $middleware, $name = null) + { + $this->add(self::INIT, $name, $middleware, true); + } + + /** + * Append a middleware to the validate step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function appendValidate(callable $middleware, $name = null) + { + $this->add(self::VALIDATE, $name, $middleware); + } + + /** + * Prepend a middleware to the validate step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function prependValidate(callable $middleware, $name = null) + { + $this->add(self::VALIDATE, $name, $middleware, true); + } + + /** + * Append a middleware to the build step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function appendBuild(callable $middleware, $name = null) + { + $this->add(self::BUILD, $name, $middleware); + } + + /** + * Prepend a middleware to the build step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function prependBuild(callable $middleware, $name = null) + { + $this->add(self::BUILD, $name, $middleware, true); + } + + /** + * Append a middleware to the sign step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function appendSign(callable $middleware, $name = null) + { + $this->add(self::SIGN, $name, $middleware); + } + + /** + * Prepend a middleware to the sign step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function prependSign(callable $middleware, $name = null) + { + $this->add(self::SIGN, $name, $middleware, true); + } + + /** + * Append a middleware to the attempt step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function appendAttempt(callable $middleware, $name = null) + { + $this->add(self::ATTEMPT, $name, $middleware); + } + + /** + * Prepend a middleware to the attempt step. + * + * @param callable $middleware Middleware function to add. + * @param string $name Name of the middleware. + */ + public function prependAttempt(callable $middleware, $name = null) + { + $this->add(self::ATTEMPT, $name, $middleware, true); + } + + /** + * Add a middleware before the given middleware by name. + * + * @param string|callable $findName Add before this + * @param string $withName Optional name to give the middleware + * @param callable $middleware Middleware to add. + */ + public function before($findName, $withName, callable $middleware) + { + $this->splice($findName, $withName, $middleware, true); + } + + /** + * Add a middleware after the given middleware by name. + * + * @param string|callable $findName Add after this + * @param string $withName Optional name to give the middleware + * @param callable $middleware Middleware to add. + */ + public function after($findName, $withName, callable $middleware) + { + $this->splice($findName, $withName, $middleware, false); + } + + /** + * Remove a middleware by name or by instance from the list. + * + * @param string|callable $nameOrInstance Middleware to remove. + */ + public function remove($nameOrInstance) + { + if (is_callable($nameOrInstance)) { + $this->removeByInstance($nameOrInstance); + } elseif (is_string($nameOrInstance)) { + $this->removeByName($nameOrInstance); + } + } + + /** + * Interpose a function between each middleware (e.g., allowing for a trace + * through the middleware layers). + * + * The interpose function is a function that accepts a "step" argument as a + * string and a "name" argument string. This function must then return a + * function that accepts the next handler in the list. This function must + * then return a function that accepts a CommandInterface and optional + * RequestInterface and returns a promise that is fulfilled with an + * Aws\ResultInterface or rejected with an Aws\Exception\AwsException + * object. + * + * @param callable|null $fn Pass null to remove any previously set function + */ + public function interpose(callable $fn = null) + { + $this->sorted = null; + $this->interposeFn = $fn; + } + + /** + * Compose the middleware and handler into a single callable function. + * + * @return callable + */ + public function resolve() + { + if (!($prev = $this->handler)) { + throw new \LogicException('No handler has been specified'); + } + + if ($this->sorted === null) { + $this->sortMiddleware(); + } + + foreach ($this->sorted as $fn) { + $prev = $fn($prev); + } + + return $prev; + } + + public function count() + { + return count($this->steps[self::INIT]) + + count($this->steps[self::VALIDATE]) + + count($this->steps[self::BUILD]) + + count($this->steps[self::SIGN]) + + count($this->steps[self::ATTEMPT]); + } + + /** + * Splices a function into the middleware list at a specific position. + * + * @param $findName + * @param $withName + * @param callable $middleware + * @param $before + */ + private function splice($findName, $withName, callable $middleware, $before) + { + if (!isset($this->named[$findName])) { + throw new \InvalidArgumentException("$findName not found"); + } + + $idx = $this->sorted = null; + $step = $this->named[$findName]; + + if ($withName) { + $this->named[$withName] = $step; + } + + foreach ($this->steps[$step] as $i => $tuple) { + if ($tuple[1] === $findName) { + $idx = $i; + break; + } + } + + $replacement = $before + ? [$this->steps[$step][$idx], [$middleware, $withName]] + : [[$middleware, $withName], $this->steps[$step][$idx]]; + array_splice($this->steps[$step], $idx, 1, $replacement); + } + + /** + * Provides a debug string for a given callable. + * + * @param array|callable $fn Function to write as a string. + * + * @return string + */ + private function debugCallable($fn) + { + if (is_string($fn)) { + return "callable({$fn})"; + } + + if (is_array($fn)) { + $ele = is_string($fn[0]) ? $fn[0] : get_class($fn[0]); + return "callable(['{$ele}', '{$fn[1]}'])"; + } + + return 'callable(' . spl_object_hash($fn) . ')'; + } + + /** + * Sort the middleware, and interpose if needed in the sorted list. + */ + private function sortMiddleware() + { + $this->sorted = []; + + if (!$this->interposeFn) { + foreach ($this->steps as $step) { + foreach ($step as $fn) { + $this->sorted[] = $fn[0]; + } + } + return; + } + + $ifn = $this->interposeFn; + // Interpose the interposeFn into the handler stack. + foreach ($this->steps as $stepName => $step) { + foreach ($step as $fn) { + $this->sorted[] = $ifn($stepName, $fn[1]); + $this->sorted[] = $fn[0]; + } + } + } + + private function removeByName($name) + { + if (!isset($this->named[$name])) { + return; + } + + $this->sorted = null; + $step = $this->named[$name]; + $this->steps[$step] = array_values( + array_filter( + $this->steps[$step], + function ($tuple) use ($name) { + return $tuple[1] !== $name; + } + ) + ); + } + + private function removeByInstance(callable $fn) + { + foreach ($this->steps as $k => $step) { + foreach ($step as $j => $tuple) { + if ($tuple[0] === $fn) { + $this->sorted = null; + unset($this->named[$this->steps[$k][$j][1]]); + unset($this->steps[$k][$j]); + } + } + } + } + + /** + * Add a middleware to a step. + * + * @param string $step Middleware step. + * @param string $name Middleware name. + * @param callable $middleware Middleware function to add. + * @param bool $prepend Prepend instead of append. + */ + private function add($step, $name, callable $middleware, $prepend = false) + { + $this->sorted = null; + + if ($prepend) { + $this->steps[$step][] = [$middleware, $name]; + } else { + array_unshift($this->steps[$step], [$middleware, $name]); + } + + if ($name) { + $this->named[$name] = $step; + } + } +} diff --git a/lib/aws/Aws/HasDataTrait.php b/lib/aws/Aws/HasDataTrait.php new file mode 100644 index 0000000..a2ff2df --- /dev/null +++ b/lib/aws/Aws/HasDataTrait.php @@ -0,0 +1,60 @@ +<?php +namespace Aws; + +/** + * Trait implementing ToArrayInterface, \ArrayAccess, \Countable, and + * \IteratorAggregate + */ +trait HasDataTrait +{ + /** @var array */ + private $data = []; + + public function getIterator() + { + return new \ArrayIterator($this->data); + } + + /** + * This method returns a reference to the variable to allow for indirect + * array modification (e.g., $foo['bar']['baz'] = 'qux'). + * + * @param $offset + * + * @return mixed|null + */ + public function & offsetGet($offset) + { + if (isset($this->data[$offset])) { + return $this->data[$offset]; + } + + $value = null; + return $value; + } + + public function offsetSet($offset, $value) + { + $this->data[$offset] = $value; + } + + public function offsetExists($offset) + { + return isset($this->data[$offset]); + } + + public function offsetUnset($offset) + { + unset($this->data[$offset]); + } + + public function toArray() + { + return $this->data; + } + + public function count() + { + return count($this->data); + } +} diff --git a/lib/aws/Aws/HasMonitoringEventsTrait.php b/lib/aws/Aws/HasMonitoringEventsTrait.php new file mode 100644 index 0000000..b28f0a4 --- /dev/null +++ b/lib/aws/Aws/HasMonitoringEventsTrait.php @@ -0,0 +1,39 @@ +<?php +namespace Aws; + + +trait HasMonitoringEventsTrait +{ + private $monitoringEvents = []; + + /** + * Get client-side monitoring events attached to this object. Each event is + * represented as an associative array within the returned array. + * + * @return array + */ + public function getMonitoringEvents() + { + return $this->monitoringEvents; + } + + /** + * Prepend a client-side monitoring event to this object's event list + * + * @param array $event + */ + public function prependMonitoringEvent(array $event) + { + array_unshift($this->monitoringEvents, $event); + } + + /** + * Append a client-side monitoring event to this object's event list + * + * @param array $event + */ + public function appendMonitoringEvent(array $event) + { + $this->monitoringEvents []= $event; + } +} diff --git a/lib/aws/Aws/HashInterface.php b/lib/aws/Aws/HashInterface.php new file mode 100644 index 0000000..6304e4d --- /dev/null +++ b/lib/aws/Aws/HashInterface.php @@ -0,0 +1,27 @@ +<?php +namespace Aws; + +/** + * Interface that allows implementing various incremental hashes. + */ +interface HashInterface +{ + /** + * Adds data to the hash. + * + * @param string $data Data to add to the hash + */ + public function update($data); + + /** + * Finalizes the incremental hash and returns the resulting digest. + * + * @return string + */ + public function complete(); + + /** + * Removes all data from the hash, effectively starting a new hash. + */ + public function reset(); +} diff --git a/lib/aws/Aws/HashingStream.php b/lib/aws/Aws/HashingStream.php new file mode 100644 index 0000000..779f3ac --- /dev/null +++ b/lib/aws/Aws/HashingStream.php @@ -0,0 +1,60 @@ +<?php +namespace Aws; + +use GuzzleHttp\Psr7\StreamDecoratorTrait; +use Psr\Http\Message\StreamInterface; + +/** + * Stream decorator that calculates a rolling hash of the stream as it is read. + */ +class HashingStream implements StreamInterface +{ + use StreamDecoratorTrait; + + /** @var HashInterface */ + private $hash; + + /** @var callable|null */ + private $callback; + + /** + * @param StreamInterface $stream Stream that is being read. + * @param HashInterface $hash Hash used to calculate checksum. + * @param callable $onComplete Optional function invoked when the + * hash calculation is completed. + */ + public function __construct( + StreamInterface $stream, + HashInterface $hash, + callable $onComplete = null + ) { + $this->stream = $stream; + $this->hash = $hash; + $this->callback = $onComplete; + } + + public function read($length) + { + $data = $this->stream->read($length); + $this->hash->update($data); + if ($this->eof()) { + $result = $this->hash->complete(); + if ($this->callback) { + call_user_func($this->callback, $result); + } + } + + return $data; + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($offset === 0) { + $this->hash->reset(); + return $this->stream->seek($offset); + } + + // Seeking arbitrarily is not supported. + return false; + } +} diff --git a/lib/aws/Aws/Health/Exception/HealthException.php b/lib/aws/Aws/Health/Exception/HealthException.php new file mode 100644 index 0000000..b6983a6 --- /dev/null +++ b/lib/aws/Aws/Health/Exception/HealthException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Health\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Health APIs and Notifications** service. + */ +class HealthException extends AwsException {} diff --git a/lib/aws/Aws/Health/HealthClient.php b/lib/aws/Aws/Health/HealthClient.php new file mode 100644 index 0000000..5a17e93 --- /dev/null +++ b/lib/aws/Aws/Health/HealthClient.php @@ -0,0 +1,21 @@ +<?php +namespace Aws\Health; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Health APIs and Notifications** service. + * @method \Aws\Result describeAffectedEntities(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAffectedEntitiesAsync(array $args = []) + * @method \Aws\Result describeEntityAggregates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEntityAggregatesAsync(array $args = []) + * @method \Aws\Result describeEventAggregates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventAggregatesAsync(array $args = []) + * @method \Aws\Result describeEventDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventDetailsAsync(array $args = []) + * @method \Aws\Result describeEventTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventTypesAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + */ +class HealthClient extends AwsClient {} diff --git a/lib/aws/Aws/History.php b/lib/aws/Aws/History.php new file mode 100644 index 0000000..e594332 --- /dev/null +++ b/lib/aws/Aws/History.php @@ -0,0 +1,156 @@ +<?php +namespace Aws; + +use Psr\Http\Message\RequestInterface; +use Aws\Exception\AwsException; + +/** + * Represents a history container that is required when using the history + * middleware. + */ +class History implements \Countable, \IteratorAggregate +{ + private $maxEntries; + private $entries = array(); + + /** + * @param int $maxEntries Maximum number of entries to store. + */ + public function __construct($maxEntries = 10) + { + $this->maxEntries = $maxEntries; + } + + public function count() + { + return count($this->entries); + } + + public function getIterator() + { + return new \ArrayIterator(array_values($this->entries)); + } + + /** + * Get the last finished command seen by the history container. + * + * @return CommandInterface + * @throws \LogicException if no commands have been seen. + */ + public function getLastCommand() + { + if (!$this->entries) { + throw new \LogicException('No commands received'); + } + + return end($this->entries)['command']; + } + + /** + * Get the last finished request seen by the history container. + * + * @return RequestInterface + * @throws \LogicException if no requests have been seen. + */ + public function getLastRequest() + { + if (!$this->entries) { + throw new \LogicException('No requests received'); + } + + return end($this->entries)['request']; + } + + /** + * Get the last received result or exception. + * + * @return ResultInterface|AwsException + * @throws \LogicException if no return values have been received. + */ + public function getLastReturn() + { + if (!$this->entries) { + throw new \LogicException('No entries'); + } + + $last = end($this->entries); + + if (isset($last['result'])) { + return $last['result']; + } + + if (isset($last['exception'])) { + return $last['exception']; + } + + throw new \LogicException('No return value for last entry.'); + } + + /** + * Initiate an entry being added to the history. + * + * @param CommandInterface $cmd Command be executed. + * @param RequestInterface $req Request being sent. + * + * @return string Returns the ticket used to finish the entry. + */ + public function start(CommandInterface $cmd, RequestInterface $req) + { + $ticket = uniqid(); + $this->entries[$ticket] = [ + 'command' => $cmd, + 'request' => $req, + 'result' => null, + 'exception' => null, + ]; + + return $ticket; + } + + /** + * Finish adding an entry to the history container. + * + * @param string $ticket Ticket returned from the start call. + * @param mixed $result The result (an exception or AwsResult). + */ + public function finish($ticket, $result) + { + if (!isset($this->entries[$ticket])) { + throw new \InvalidArgumentException('Invalid history ticket'); + } + + if (isset($this->entries[$ticket]['result']) + || isset($this->entries[$ticket]['exception']) + ) { + throw new \LogicException('History entry is already finished'); + } + + if ($result instanceof \Exception) { + $this->entries[$ticket]['exception'] = $result; + } else { + $this->entries[$ticket]['result'] = $result; + } + + if (count($this->entries) >= $this->maxEntries) { + $this->entries = array_slice($this->entries, -$this->maxEntries, null, true); + } + } + + /** + * Flush the history + */ + public function clear() + { + $this->entries = []; + } + + /** + * Converts the history to an array. + * + * @return array + */ + public function toArray() + { + return array_values($this->entries); + } +} diff --git a/lib/aws/Aws/Iam/Exception/IamException.php b/lib/aws/Aws/Iam/Exception/IamException.php new file mode 100644 index 0000000..911a494 --- /dev/null +++ b/lib/aws/Aws/Iam/Exception/IamException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Iam\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Identity and Access Management service. + */ +class IamException extends AwsException {} diff --git a/lib/aws/Aws/Iam/IamClient.php b/lib/aws/Aws/Iam/IamClient.php new file mode 100644 index 0000000..00fe523 --- /dev/null +++ b/lib/aws/Aws/Iam/IamClient.php @@ -0,0 +1,284 @@ +<?php +namespace Aws\Iam; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Identity and Access Management (AWS IAM)** service. + * + * @method \Aws\Result addClientIDToOpenIDConnectProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise addClientIDToOpenIDConnectProviderAsync(array $args = []) + * @method \Aws\Result addRoleToInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise addRoleToInstanceProfileAsync(array $args = []) + * @method \Aws\Result addUserToGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise addUserToGroupAsync(array $args = []) + * @method \Aws\Result attachGroupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachGroupPolicyAsync(array $args = []) + * @method \Aws\Result attachRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachRolePolicyAsync(array $args = []) + * @method \Aws\Result attachUserPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachUserPolicyAsync(array $args = []) + * @method \Aws\Result changePassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise changePasswordAsync(array $args = []) + * @method \Aws\Result createAccessKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAccessKeyAsync(array $args = []) + * @method \Aws\Result createAccountAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAccountAliasAsync(array $args = []) + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstanceProfileAsync(array $args = []) + * @method \Aws\Result createLoginProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoginProfileAsync(array $args = []) + * @method \Aws\Result createOpenIDConnectProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOpenIDConnectProviderAsync(array $args = []) + * @method \Aws\Result createPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPolicyAsync(array $args = []) + * @method \Aws\Result createPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPolicyVersionAsync(array $args = []) + * @method \Aws\Result createRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRoleAsync(array $args = []) + * @method \Aws\Result createSAMLProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSAMLProviderAsync(array $args = []) + * @method \Aws\Result createServiceLinkedRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServiceLinkedRoleAsync(array $args = []) + * @method \Aws\Result createServiceSpecificCredential(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServiceSpecificCredentialAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result createVirtualMFADevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVirtualMFADeviceAsync(array $args = []) + * @method \Aws\Result deactivateMFADevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise deactivateMFADeviceAsync(array $args = []) + * @method \Aws\Result deleteAccessKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccessKeyAsync(array $args = []) + * @method \Aws\Result deleteAccountAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccountAliasAsync(array $args = []) + * @method \Aws\Result deleteAccountPasswordPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccountPasswordPolicyAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteGroupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupPolicyAsync(array $args = []) + * @method \Aws\Result deleteInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInstanceProfileAsync(array $args = []) + * @method \Aws\Result deleteLoginProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoginProfileAsync(array $args = []) + * @method \Aws\Result deleteOpenIDConnectProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOpenIDConnectProviderAsync(array $args = []) + * @method \Aws\Result deletePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = []) + * @method \Aws\Result deletePolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyVersionAsync(array $args = []) + * @method \Aws\Result deleteRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRoleAsync(array $args = []) + * @method \Aws\Result deleteRolePermissionsBoundary(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRolePermissionsBoundaryAsync(array $args = []) + * @method \Aws\Result deleteRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRolePolicyAsync(array $args = []) + * @method \Aws\Result deleteSAMLProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSAMLProviderAsync(array $args = []) + * @method \Aws\Result deleteSSHPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSSHPublicKeyAsync(array $args = []) + * @method \Aws\Result deleteServerCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServerCertificateAsync(array $args = []) + * @method \Aws\Result deleteServiceLinkedRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServiceLinkedRoleAsync(array $args = []) + * @method \Aws\Result deleteServiceSpecificCredential(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServiceSpecificCredentialAsync(array $args = []) + * @method \Aws\Result deleteSigningCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSigningCertificateAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result deleteUserPermissionsBoundary(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserPermissionsBoundaryAsync(array $args = []) + * @method \Aws\Result deleteUserPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserPolicyAsync(array $args = []) + * @method \Aws\Result deleteVirtualMFADevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVirtualMFADeviceAsync(array $args = []) + * @method \Aws\Result detachGroupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachGroupPolicyAsync(array $args = []) + * @method \Aws\Result detachRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachRolePolicyAsync(array $args = []) + * @method \Aws\Result detachUserPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachUserPolicyAsync(array $args = []) + * @method \Aws\Result enableMFADevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableMFADeviceAsync(array $args = []) + * @method \Aws\Result generateCredentialReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateCredentialReportAsync(array $args = []) + * @method \Aws\Result generateServiceLastAccessedDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateServiceLastAccessedDetailsAsync(array $args = []) + * @method \Aws\Result getAccessKeyLastUsed(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccessKeyLastUsedAsync(array $args = []) + * @method \Aws\Result getAccountAuthorizationDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountAuthorizationDetailsAsync(array $args = []) + * @method \Aws\Result getAccountPasswordPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountPasswordPolicyAsync(array $args = []) + * @method \Aws\Result getAccountSummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountSummaryAsync(array $args = []) + * @method \Aws\Result getContextKeysForCustomPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContextKeysForCustomPolicyAsync(array $args = []) + * @method \Aws\Result getContextKeysForPrincipalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContextKeysForPrincipalPolicyAsync(array $args = []) + * @method \Aws\Result getCredentialReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCredentialReportAsync(array $args = []) + * @method \Aws\Result getGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = []) + * @method \Aws\Result getGroupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupPolicyAsync(array $args = []) + * @method \Aws\Result getInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceProfileAsync(array $args = []) + * @method \Aws\Result getLoginProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoginProfileAsync(array $args = []) + * @method \Aws\Result getOpenIDConnectProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOpenIDConnectProviderAsync(array $args = []) + * @method \Aws\Result getPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = []) + * @method \Aws\Result getPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyVersionAsync(array $args = []) + * @method \Aws\Result getRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRoleAsync(array $args = []) + * @method \Aws\Result getRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRolePolicyAsync(array $args = []) + * @method \Aws\Result getSAMLProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSAMLProviderAsync(array $args = []) + * @method \Aws\Result getSSHPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSSHPublicKeyAsync(array $args = []) + * @method \Aws\Result getServerCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServerCertificateAsync(array $args = []) + * @method \Aws\Result getServiceLastAccessedDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceLastAccessedDetailsAsync(array $args = []) + * @method \Aws\Result getServiceLastAccessedDetailsWithEntities(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceLastAccessedDetailsWithEntitiesAsync(array $args = []) + * @method \Aws\Result getServiceLinkedRoleDeletionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceLinkedRoleDeletionStatusAsync(array $args = []) + * @method \Aws\Result getUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserAsync(array $args = []) + * @method \Aws\Result getUserPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserPolicyAsync(array $args = []) + * @method \Aws\Result listAccessKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccessKeysAsync(array $args = []) + * @method \Aws\Result listAccountAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccountAliasesAsync(array $args = []) + * @method \Aws\Result listAttachedGroupPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttachedGroupPoliciesAsync(array $args = []) + * @method \Aws\Result listAttachedRolePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttachedRolePoliciesAsync(array $args = []) + * @method \Aws\Result listAttachedUserPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttachedUserPoliciesAsync(array $args = []) + * @method \Aws\Result listEntitiesForPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEntitiesForPolicyAsync(array $args = []) + * @method \Aws\Result listGroupPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupPoliciesAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result listGroupsForUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsForUserAsync(array $args = []) + * @method \Aws\Result listInstanceProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstanceProfilesAsync(array $args = []) + * @method \Aws\Result listInstanceProfilesForRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstanceProfilesForRoleAsync(array $args = []) + * @method \Aws\Result listMFADevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMFADevicesAsync(array $args = []) + * @method \Aws\Result listOpenIDConnectProviders(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOpenIDConnectProvidersAsync(array $args = []) + * @method \Aws\Result listPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = []) + * @method \Aws\Result listPoliciesGrantingServiceAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesGrantingServiceAccessAsync(array $args = []) + * @method \Aws\Result listPolicyVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPolicyVersionsAsync(array $args = []) + * @method \Aws\Result listRolePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRolePoliciesAsync(array $args = []) + * @method \Aws\Result listRoleTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRoleTagsAsync(array $args = []) + * @method \Aws\Result listRoles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRolesAsync(array $args = []) + * @method \Aws\Result listSAMLProviders(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSAMLProvidersAsync(array $args = []) + * @method \Aws\Result listSSHPublicKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSSHPublicKeysAsync(array $args = []) + * @method \Aws\Result listServerCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServerCertificatesAsync(array $args = []) + * @method \Aws\Result listServiceSpecificCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServiceSpecificCredentialsAsync(array $args = []) + * @method \Aws\Result listSigningCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSigningCertificatesAsync(array $args = []) + * @method \Aws\Result listUserPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserPoliciesAsync(array $args = []) + * @method \Aws\Result listUserTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserTagsAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result listVirtualMFADevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVirtualMFADevicesAsync(array $args = []) + * @method \Aws\Result putGroupPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putGroupPolicyAsync(array $args = []) + * @method \Aws\Result putRolePermissionsBoundary(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRolePermissionsBoundaryAsync(array $args = []) + * @method \Aws\Result putRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRolePolicyAsync(array $args = []) + * @method \Aws\Result putUserPermissionsBoundary(array $args = []) + * @method \GuzzleHttp\Promise\Promise putUserPermissionsBoundaryAsync(array $args = []) + * @method \Aws\Result putUserPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putUserPolicyAsync(array $args = []) + * @method \Aws\Result removeClientIDFromOpenIDConnectProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeClientIDFromOpenIDConnectProviderAsync(array $args = []) + * @method \Aws\Result removeRoleFromInstanceProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeRoleFromInstanceProfileAsync(array $args = []) + * @method \Aws\Result removeUserFromGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeUserFromGroupAsync(array $args = []) + * @method \Aws\Result resetServiceSpecificCredential(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetServiceSpecificCredentialAsync(array $args = []) + * @method \Aws\Result resyncMFADevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise resyncMFADeviceAsync(array $args = []) + * @method \Aws\Result setDefaultPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise setDefaultPolicyVersionAsync(array $args = []) + * @method \Aws\Result simulateCustomPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise simulateCustomPolicyAsync(array $args = []) + * @method \Aws\Result simulatePrincipalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise simulatePrincipalPolicyAsync(array $args = []) + * @method \Aws\Result tagRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagRoleAsync(array $args = []) + * @method \Aws\Result tagUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagUserAsync(array $args = []) + * @method \Aws\Result untagRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagRoleAsync(array $args = []) + * @method \Aws\Result untagUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagUserAsync(array $args = []) + * @method \Aws\Result updateAccessKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccessKeyAsync(array $args = []) + * @method \Aws\Result updateAccountPasswordPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountPasswordPolicyAsync(array $args = []) + * @method \Aws\Result updateAssumeRolePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAssumeRolePolicyAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateLoginProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLoginProfileAsync(array $args = []) + * @method \Aws\Result updateOpenIDConnectProviderThumbprint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateOpenIDConnectProviderThumbprintAsync(array $args = []) + * @method \Aws\Result updateRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRoleAsync(array $args = []) + * @method \Aws\Result updateRoleDescription(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRoleDescriptionAsync(array $args = []) + * @method \Aws\Result updateSAMLProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSAMLProviderAsync(array $args = []) + * @method \Aws\Result updateSSHPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSSHPublicKeyAsync(array $args = []) + * @method \Aws\Result updateServerCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServerCertificateAsync(array $args = []) + * @method \Aws\Result updateServiceSpecificCredential(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceSpecificCredentialAsync(array $args = []) + * @method \Aws\Result updateSigningCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSigningCertificateAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + * @method \Aws\Result uploadSSHPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadSSHPublicKeyAsync(array $args = []) + * @method \Aws\Result uploadServerCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadServerCertificateAsync(array $args = []) + * @method \Aws\Result uploadSigningCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadSigningCertificateAsync(array $args = []) + */ +class IamClient extends AwsClient {} diff --git a/lib/aws/Aws/IdempotencyTokenMiddleware.php b/lib/aws/Aws/IdempotencyTokenMiddleware.php new file mode 100644 index 0000000..dd0de42 --- /dev/null +++ b/lib/aws/Aws/IdempotencyTokenMiddleware.php @@ -0,0 +1,118 @@ +<?php +namespace Aws; + +use Aws\Api\Service; +use Psr\Http\Message\RequestInterface; + +/** + * @internal Middleware that auto fills parameters with `idempotencyToken` trait + */ +class IdempotencyTokenMiddleware +{ + /** @var Service */ + private $service; + /** @var string */ + private $bytesGenerator; + /** @var callable */ + private $nextHandler; + + /** + * Creates a middleware that populates operation parameter + * with trait 'idempotencyToken' enabled with a random UUIDv4 + * + * One of following functions needs to be available + * in order to generate random bytes used for UUID + * (SDK will attempt to utilize function in following order): + * - random_bytes (requires PHP 7.0 or above) + * - openssl_random_pseudo_bytes (requires 'openssl' module enabled) + * - mcrypt_create_iv (requires 'mcrypt' module enabled) + * + * You may also supply a custom bytes generator as an optional second + * parameter. + * + * @param \Aws\Api\Service $service + * @param callable|null $bytesGenerator + * + * @return callable + */ + public static function wrap( + Service $service, + callable $bytesGenerator = null + ) { + return function (callable $handler) use ($service, $bytesGenerator) { + return new self($handler, $service, $bytesGenerator); + }; + } + + public function __construct( + callable $nextHandler, + Service $service, + callable $bytesGenerator = null + ) { + $this->bytesGenerator = $bytesGenerator + ?: $this->findCompatibleRandomSource(); + $this->service = $service; + $this->nextHandler = $nextHandler; + } + + public function __invoke( + CommandInterface $command, + RequestInterface $request = null + ) { + $handler = $this->nextHandler; + if ($this->bytesGenerator) { + $operation = $this->service->getOperation($command->getName()); + $members = $operation->getInput()->getMembers(); + foreach ($members as $member => $value) { + if ($value['idempotencyToken']) { + $bytes = call_user_func($this->bytesGenerator, 16); + // populating UUIDv4 only when the parameter is not set + $command[$member] = $command[$member] + ?: $this->getUuidV4($bytes); + // only one member could have the trait enabled + break; + } + } + } + return $handler($command, $request); + } + + /** + * This function generates a random UUID v4 string, + * which is used as auto filled token value. + * + * @param string $bytes 16 bytes of pseudo-random bytes + * @return string + * More information about UUID v4, see: + * https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29 + * https://tools.ietf.org/html/rfc4122#page-14 + */ + private static function getUuidV4($bytes) + { + // set version to 0100 + $bytes[6] = chr(ord($bytes[6]) & 0x0f | 0x40); + // set bits 6-7 to 10 + $bytes[8] = chr(ord($bytes[8]) & 0x3f | 0x80); + return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($bytes), 4)); + } + + /** + * This function decides the PHP function used in generating random bytes. + * + * @return callable|null + */ + private function findCompatibleRandomSource() + { + if (function_exists('random_bytes')) { + return 'random_bytes'; + } + + if (function_exists('openssl_random_pseudo_bytes')) { + return 'openssl_random_pseudo_bytes'; + } + + if (function_exists('mcrypt_create_iv')) { + return 'mcrypt_create_iv'; + } + } +} diff --git a/lib/aws/Aws/ImportExport/Exception/ImportExportException.php b/lib/aws/Aws/ImportExport/Exception/ImportExportException.php new file mode 100644 index 0000000..8b172d4 --- /dev/null +++ b/lib/aws/Aws/ImportExport/Exception/ImportExportException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ImportExport\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Import/Export** service. + */ +class ImportExportException extends AwsException {} diff --git a/lib/aws/Aws/ImportExport/ImportExportClient.php b/lib/aws/Aws/ImportExport/ImportExportClient.php new file mode 100644 index 0000000..fadfd4c --- /dev/null +++ b/lib/aws/Aws/ImportExport/ImportExportClient.php @@ -0,0 +1,21 @@ +<?php +namespace Aws\ImportExport; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Import/Export** service. + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result getShippingLabel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getShippingLabelAsync(array $args = []) + * @method \Aws\Result getStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStatusAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result updateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobAsync(array $args = []) + */ +class ImportExportClient extends AwsClient {} diff --git a/lib/aws/Aws/Inspector/Exception/InspectorException.php b/lib/aws/Aws/Inspector/Exception/InspectorException.php new file mode 100644 index 0000000..4a17feb --- /dev/null +++ b/lib/aws/Aws/Inspector/Exception/InspectorException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Inspector\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Inspector** service. + */ +class InspectorException extends AwsException {} diff --git a/lib/aws/Aws/Inspector/InspectorClient.php b/lib/aws/Aws/Inspector/InspectorClient.php new file mode 100644 index 0000000..f266c5c --- /dev/null +++ b/lib/aws/Aws/Inspector/InspectorClient.php @@ -0,0 +1,84 @@ +<?php +namespace Aws\Inspector; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Inspector** service. + * + * @method \Aws\Result addAttributesToFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise addAttributesToFindingsAsync(array $args = []) + * @method \Aws\Result createAssessmentTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAssessmentTargetAsync(array $args = []) + * @method \Aws\Result createAssessmentTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAssessmentTemplateAsync(array $args = []) + * @method \Aws\Result createExclusionsPreview(array $args = []) + * @method \GuzzleHttp\Promise\Promise createExclusionsPreviewAsync(array $args = []) + * @method \Aws\Result createResourceGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceGroupAsync(array $args = []) + * @method \Aws\Result deleteAssessmentRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAssessmentRunAsync(array $args = []) + * @method \Aws\Result deleteAssessmentTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAssessmentTargetAsync(array $args = []) + * @method \Aws\Result deleteAssessmentTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAssessmentTemplateAsync(array $args = []) + * @method \Aws\Result describeAssessmentRuns(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssessmentRunsAsync(array $args = []) + * @method \Aws\Result describeAssessmentTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssessmentTargetsAsync(array $args = []) + * @method \Aws\Result describeAssessmentTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssessmentTemplatesAsync(array $args = []) + * @method \Aws\Result describeCrossAccountAccessRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCrossAccountAccessRoleAsync(array $args = []) + * @method \Aws\Result describeExclusions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExclusionsAsync(array $args = []) + * @method \Aws\Result describeFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFindingsAsync(array $args = []) + * @method \Aws\Result describeResourceGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResourceGroupsAsync(array $args = []) + * @method \Aws\Result describeRulesPackages(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRulesPackagesAsync(array $args = []) + * @method \Aws\Result getAssessmentReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAssessmentReportAsync(array $args = []) + * @method \Aws\Result getExclusionsPreview(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExclusionsPreviewAsync(array $args = []) + * @method \Aws\Result getTelemetryMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTelemetryMetadataAsync(array $args = []) + * @method \Aws\Result listAssessmentRunAgents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssessmentRunAgentsAsync(array $args = []) + * @method \Aws\Result listAssessmentRuns(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssessmentRunsAsync(array $args = []) + * @method \Aws\Result listAssessmentTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssessmentTargetsAsync(array $args = []) + * @method \Aws\Result listAssessmentTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssessmentTemplatesAsync(array $args = []) + * @method \Aws\Result listEventSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEventSubscriptionsAsync(array $args = []) + * @method \Aws\Result listExclusions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listExclusionsAsync(array $args = []) + * @method \Aws\Result listFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = []) + * @method \Aws\Result listRulesPackages(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRulesPackagesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result previewAgents(array $args = []) + * @method \GuzzleHttp\Promise\Promise previewAgentsAsync(array $args = []) + * @method \Aws\Result registerCrossAccountAccessRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerCrossAccountAccessRoleAsync(array $args = []) + * @method \Aws\Result removeAttributesFromFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeAttributesFromFindingsAsync(array $args = []) + * @method \Aws\Result setTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise setTagsForResourceAsync(array $args = []) + * @method \Aws\Result startAssessmentRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise startAssessmentRunAsync(array $args = []) + * @method \Aws\Result stopAssessmentRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopAssessmentRunAsync(array $args = []) + * @method \Aws\Result subscribeToEvent(array $args = []) + * @method \GuzzleHttp\Promise\Promise subscribeToEventAsync(array $args = []) + * @method \Aws\Result unsubscribeFromEvent(array $args = []) + * @method \GuzzleHttp\Promise\Promise unsubscribeFromEventAsync(array $args = []) + * @method \Aws\Result updateAssessmentTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAssessmentTargetAsync(array $args = []) + */ +class InspectorClient extends AwsClient {} diff --git a/lib/aws/Aws/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php b/lib/aws/Aws/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php new file mode 100644 index 0000000..83ced61 --- /dev/null +++ b/lib/aws/Aws/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\IoT1ClickDevicesService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT 1-Click Devices Service** service. + */ +class IoT1ClickDevicesServiceException extends AwsException {} diff --git a/lib/aws/Aws/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php b/lib/aws/Aws/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php new file mode 100644 index 0000000..10a08a9 --- /dev/null +++ b/lib/aws/Aws/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php @@ -0,0 +1,35 @@ +<?php +namespace Aws\IoT1ClickDevicesService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT 1-Click Devices Service** service. + * @method \Aws\Result claimDevicesByClaimCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise claimDevicesByClaimCodeAsync(array $args = []) + * @method \Aws\Result describeDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeviceAsync(array $args = []) + * @method \Aws\Result finalizeDeviceClaim(array $args = []) + * @method \GuzzleHttp\Promise\Promise finalizeDeviceClaimAsync(array $args = []) + * @method \Aws\Result getDeviceMethods(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeviceMethodsAsync(array $args = []) + * @method \Aws\Result initiateDeviceClaim(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateDeviceClaimAsync(array $args = []) + * @method \Aws\Result invokeDeviceMethod(array $args = []) + * @method \GuzzleHttp\Promise\Promise invokeDeviceMethodAsync(array $args = []) + * @method \Aws\Result listDeviceEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeviceEventsAsync(array $args = []) + * @method \Aws\Result listDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevicesAsync(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 unclaimDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise unclaimDeviceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateDeviceState(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDeviceStateAsync(array $args = []) + */ +class IoT1ClickDevicesServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php b/lib/aws/Aws/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php new file mode 100644 index 0000000..afe87ae --- /dev/null +++ b/lib/aws/Aws/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\IoT1ClickProjects\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT 1-Click Projects Service** service. + */ +class IoT1ClickProjectsException extends AwsException {} diff --git a/lib/aws/Aws/IoT1ClickProjects/IoT1ClickProjectsClient.php b/lib/aws/Aws/IoT1ClickProjects/IoT1ClickProjectsClient.php new file mode 100644 index 0000000..448b337 --- /dev/null +++ b/lib/aws/Aws/IoT1ClickProjects/IoT1ClickProjectsClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\IoT1ClickProjects; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT 1-Click Projects Service** service. + * @method \Aws\Result associateDeviceWithPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDeviceWithPlacementAsync(array $args = []) + * @method \Aws\Result createPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlacementAsync(array $args = []) + * @method \Aws\Result createProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = []) + * @method \Aws\Result deletePlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePlacementAsync(array $args = []) + * @method \Aws\Result deleteProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = []) + * @method \Aws\Result describePlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePlacementAsync(array $args = []) + * @method \Aws\Result describeProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProjectAsync(array $args = []) + * @method \Aws\Result disassociateDeviceFromPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDeviceFromPlacementAsync(array $args = []) + * @method \Aws\Result getDevicesInPlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDevicesInPlacementAsync(array $args = []) + * @method \Aws\Result listPlacements(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPlacementsAsync(array $args = []) + * @method \Aws\Result listProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updatePlacement(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePlacementAsync(array $args = []) + * @method \Aws\Result updateProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = []) + */ +class IoT1ClickProjectsClient extends AwsClient {} diff --git a/lib/aws/Aws/IoTAnalytics/Exception/IoTAnalyticsException.php b/lib/aws/Aws/IoTAnalytics/Exception/IoTAnalyticsException.php new file mode 100644 index 0000000..1464295 --- /dev/null +++ b/lib/aws/Aws/IoTAnalytics/Exception/IoTAnalyticsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\IoTAnalytics\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT Analytics** service. + */ +class IoTAnalyticsException extends AwsException {} diff --git a/lib/aws/Aws/IoTAnalytics/IoTAnalyticsClient.php b/lib/aws/Aws/IoTAnalytics/IoTAnalyticsClient.php new file mode 100644 index 0000000..c9f1266 --- /dev/null +++ b/lib/aws/Aws/IoTAnalytics/IoTAnalyticsClient.php @@ -0,0 +1,77 @@ +<?php +namespace Aws\IoTAnalytics; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT Analytics** service. + * @method \Aws\Result batchPutMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchPutMessageAsync(array $args = []) + * @method \Aws\Result cancelPipelineReprocessing(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelPipelineReprocessingAsync(array $args = []) + * @method \Aws\Result createChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createChannelAsync(array $args = []) + * @method \Aws\Result createDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDatasetAsync(array $args = []) + * @method \Aws\Result createDatasetContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDatasetContentAsync(array $args = []) + * @method \Aws\Result createDatastore(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDatastoreAsync(array $args = []) + * @method \Aws\Result createPipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPipelineAsync(array $args = []) + * @method \Aws\Result deleteChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteChannelAsync(array $args = []) + * @method \Aws\Result deleteDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDatasetAsync(array $args = []) + * @method \Aws\Result deleteDatasetContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDatasetContentAsync(array $args = []) + * @method \Aws\Result deleteDatastore(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDatastoreAsync(array $args = []) + * @method \Aws\Result deletePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePipelineAsync(array $args = []) + * @method \Aws\Result describeChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeChannelAsync(array $args = []) + * @method \Aws\Result describeDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDatasetAsync(array $args = []) + * @method \Aws\Result describeDatastore(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDatastoreAsync(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 getDatasetContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDatasetContentAsync(array $args = []) + * @method \Aws\Result listChannels(array $args = []) + * @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = []) + * @method \Aws\Result listDatasetContents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDatasetContentsAsync(array $args = []) + * @method \Aws\Result listDatasets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDatasetsAsync(array $args = []) + * @method \Aws\Result listDatastores(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDatastoresAsync(array $args = []) + * @method \Aws\Result listPipelines(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPipelinesAsync(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 runPipelineActivity(array $args = []) + * @method \GuzzleHttp\Promise\Promise runPipelineActivityAsync(array $args = []) + * @method \Aws\Result sampleChannelData(array $args = []) + * @method \GuzzleHttp\Promise\Promise sampleChannelDataAsync(array $args = []) + * @method \Aws\Result startPipelineReprocessing(array $args = []) + * @method \GuzzleHttp\Promise\Promise startPipelineReprocessingAsync(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 updateChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateChannelAsync(array $args = []) + * @method \Aws\Result updateDataset(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDatasetAsync(array $args = []) + * @method \Aws\Result updateDatastore(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDatastoreAsync(array $args = []) + * @method \Aws\Result updatePipeline(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePipelineAsync(array $args = []) + */ +class IoTAnalyticsClient extends AwsClient {} diff --git a/lib/aws/Aws/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php b/lib/aws/Aws/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php new file mode 100644 index 0000000..08e13df --- /dev/null +++ b/lib/aws/Aws/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\IoTJobsDataPlane\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT Jobs Data Plane** service. + */ +class IoTJobsDataPlaneException extends AwsException {} diff --git a/lib/aws/Aws/IoTJobsDataPlane/IoTJobsDataPlaneClient.php b/lib/aws/Aws/IoTJobsDataPlane/IoTJobsDataPlaneClient.php new file mode 100644 index 0000000..037d0ef --- /dev/null +++ b/lib/aws/Aws/IoTJobsDataPlane/IoTJobsDataPlaneClient.php @@ -0,0 +1,17 @@ +<?php +namespace Aws\IoTJobsDataPlane; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT Jobs Data Plane** service. + * @method \Aws\Result describeJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobExecutionAsync(array $args = []) + * @method \Aws\Result getPendingJobExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPendingJobExecutionsAsync(array $args = []) + * @method \Aws\Result startNextPendingJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startNextPendingJobExecutionAsync(array $args = []) + * @method \Aws\Result updateJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobExecutionAsync(array $args = []) + */ +class IoTJobsDataPlaneClient extends AwsClient {} diff --git a/lib/aws/Aws/Iot/Exception/IotException.php b/lib/aws/Aws/Iot/Exception/IotException.php new file mode 100644 index 0000000..8fff3e4 --- /dev/null +++ b/lib/aws/Aws/Iot/Exception/IotException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Iot\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT** service. + */ +class IotException extends AwsException {} diff --git a/lib/aws/Aws/Iot/IotClient.php b/lib/aws/Aws/Iot/IotClient.php new file mode 100644 index 0000000..4c0a3da --- /dev/null +++ b/lib/aws/Aws/Iot/IotClient.php @@ -0,0 +1,344 @@ +<?php +namespace Aws\Iot; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT** service. + * + * @method \Aws\Result acceptCertificateTransfer(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptCertificateTransferAsync(array $args = []) + * @method \Aws\Result addThingToBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise addThingToBillingGroupAsync(array $args = []) + * @method \Aws\Result addThingToThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise addThingToThingGroupAsync(array $args = []) + * @method \Aws\Result associateTargetsWithJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateTargetsWithJobAsync(array $args = []) + * @method \Aws\Result attachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachPolicyAsync(array $args = []) + * @method \Aws\Result attachPrincipalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachPrincipalPolicyAsync(array $args = []) + * @method \Aws\Result attachSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachSecurityProfileAsync(array $args = []) + * @method \Aws\Result attachThingPrincipal(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachThingPrincipalAsync(array $args = []) + * @method \Aws\Result cancelAuditTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelAuditTaskAsync(array $args = []) + * @method \Aws\Result cancelCertificateTransfer(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelCertificateTransferAsync(array $args = []) + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result cancelJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobExecutionAsync(array $args = []) + * @method \Aws\Result clearDefaultAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise clearDefaultAuthorizerAsync(array $args = []) + * @method \Aws\Result createAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAuthorizerAsync(array $args = []) + * @method \Aws\Result createBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBillingGroupAsync(array $args = []) + * @method \Aws\Result createCertificateFromCsr(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCertificateFromCsrAsync(array $args = []) + * @method \Aws\Result createDynamicThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDynamicThingGroupAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result createKeysAndCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createKeysAndCertificateAsync(array $args = []) + * @method \Aws\Result createOTAUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOTAUpdateAsync(array $args = []) + * @method \Aws\Result createPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPolicyAsync(array $args = []) + * @method \Aws\Result createPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPolicyVersionAsync(array $args = []) + * @method \Aws\Result createRoleAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRoleAliasAsync(array $args = []) + * @method \Aws\Result createScheduledAudit(array $args = []) + * @method \GuzzleHttp\Promise\Promise createScheduledAuditAsync(array $args = []) + * @method \Aws\Result createSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSecurityProfileAsync(array $args = []) + * @method \Aws\Result createStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamAsync(array $args = []) + * @method \Aws\Result createThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise createThingAsync(array $args = []) + * @method \Aws\Result createThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createThingGroupAsync(array $args = []) + * @method \Aws\Result createThingType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createThingTypeAsync(array $args = []) + * @method \Aws\Result createTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTopicRuleAsync(array $args = []) + * @method \Aws\Result deleteAccountAuditConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAccountAuditConfigurationAsync(array $args = []) + * @method \Aws\Result deleteAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAuthorizerAsync(array $args = []) + * @method \Aws\Result deleteBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBillingGroupAsync(array $args = []) + * @method \Aws\Result deleteCACertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCACertificateAsync(array $args = []) + * @method \Aws\Result deleteCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = []) + * @method \Aws\Result deleteDynamicThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDynamicThingGroupAsync(array $args = []) + * @method \Aws\Result deleteJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = []) + * @method \Aws\Result deleteJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobExecutionAsync(array $args = []) + * @method \Aws\Result deleteOTAUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOTAUpdateAsync(array $args = []) + * @method \Aws\Result deletePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = []) + * @method \Aws\Result deletePolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyVersionAsync(array $args = []) + * @method \Aws\Result deleteRegistrationCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRegistrationCodeAsync(array $args = []) + * @method \Aws\Result deleteRoleAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRoleAliasAsync(array $args = []) + * @method \Aws\Result deleteScheduledAudit(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteScheduledAuditAsync(array $args = []) + * @method \Aws\Result deleteSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSecurityProfileAsync(array $args = []) + * @method \Aws\Result deleteStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStreamAsync(array $args = []) + * @method \Aws\Result deleteThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteThingAsync(array $args = []) + * @method \Aws\Result deleteThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteThingGroupAsync(array $args = []) + * @method \Aws\Result deleteThingType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteThingTypeAsync(array $args = []) + * @method \Aws\Result deleteTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTopicRuleAsync(array $args = []) + * @method \Aws\Result deleteV2LoggingLevel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteV2LoggingLevelAsync(array $args = []) + * @method \Aws\Result deprecateThingType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deprecateThingTypeAsync(array $args = []) + * @method \Aws\Result describeAccountAuditConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAuditConfigurationAsync(array $args = []) + * @method \Aws\Result describeAuditTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAuditTaskAsync(array $args = []) + * @method \Aws\Result describeAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAuthorizerAsync(array $args = []) + * @method \Aws\Result describeBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBillingGroupAsync(array $args = []) + * @method \Aws\Result describeCACertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCACertificateAsync(array $args = []) + * @method \Aws\Result describeCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = []) + * @method \Aws\Result describeDefaultAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDefaultAuthorizerAsync(array $args = []) + * @method \Aws\Result describeEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointAsync(array $args = []) + * @method \Aws\Result describeEventConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventConfigurationsAsync(array $args = []) + * @method \Aws\Result describeIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIndexAsync(array $args = []) + * @method \Aws\Result describeJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobAsync(array $args = []) + * @method \Aws\Result describeJobExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobExecutionAsync(array $args = []) + * @method \Aws\Result describeRoleAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRoleAliasAsync(array $args = []) + * @method \Aws\Result describeScheduledAudit(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduledAuditAsync(array $args = []) + * @method \Aws\Result describeSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSecurityProfileAsync(array $args = []) + * @method \Aws\Result describeStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamAsync(array $args = []) + * @method \Aws\Result describeThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeThingAsync(array $args = []) + * @method \Aws\Result describeThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeThingGroupAsync(array $args = []) + * @method \Aws\Result describeThingRegistrationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeThingRegistrationTaskAsync(array $args = []) + * @method \Aws\Result describeThingType(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeThingTypeAsync(array $args = []) + * @method \Aws\Result detachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachPolicyAsync(array $args = []) + * @method \Aws\Result detachPrincipalPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachPrincipalPolicyAsync(array $args = []) + * @method \Aws\Result detachSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachSecurityProfileAsync(array $args = []) + * @method \Aws\Result detachThingPrincipal(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachThingPrincipalAsync(array $args = []) + * @method \Aws\Result disableTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableTopicRuleAsync(array $args = []) + * @method \Aws\Result enableTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableTopicRuleAsync(array $args = []) + * @method \Aws\Result getEffectivePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEffectivePoliciesAsync(array $args = []) + * @method \Aws\Result getIndexingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIndexingConfigurationAsync(array $args = []) + * @method \Aws\Result getJobDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobDocumentAsync(array $args = []) + * @method \Aws\Result getLoggingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoggingOptionsAsync(array $args = []) + * @method \Aws\Result getOTAUpdate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOTAUpdateAsync(array $args = []) + * @method \Aws\Result getPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = []) + * @method \Aws\Result getPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyVersionAsync(array $args = []) + * @method \Aws\Result getRegistrationCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegistrationCodeAsync(array $args = []) + * @method \Aws\Result getStatistics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStatisticsAsync(array $args = []) + * @method \Aws\Result getTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTopicRuleAsync(array $args = []) + * @method \Aws\Result getV2LoggingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getV2LoggingOptionsAsync(array $args = []) + * @method \Aws\Result listActiveViolations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActiveViolationsAsync(array $args = []) + * @method \Aws\Result listAttachedPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttachedPoliciesAsync(array $args = []) + * @method \Aws\Result listAuditFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAuditFindingsAsync(array $args = []) + * @method \Aws\Result listAuditTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAuditTasksAsync(array $args = []) + * @method \Aws\Result listAuthorizers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAuthorizersAsync(array $args = []) + * @method \Aws\Result listBillingGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBillingGroupsAsync(array $args = []) + * @method \Aws\Result listCACertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCACertificatesAsync(array $args = []) + * @method \Aws\Result listCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = []) + * @method \Aws\Result listCertificatesByCA(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCertificatesByCAAsync(array $args = []) + * @method \Aws\Result listIndices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIndicesAsync(array $args = []) + * @method \Aws\Result listJobExecutionsForJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobExecutionsForJobAsync(array $args = []) + * @method \Aws\Result listJobExecutionsForThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobExecutionsForThingAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result listOTAUpdates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOTAUpdatesAsync(array $args = []) + * @method \Aws\Result listOutgoingCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOutgoingCertificatesAsync(array $args = []) + * @method \Aws\Result listPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = []) + * @method \Aws\Result listPolicyPrincipals(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPolicyPrincipalsAsync(array $args = []) + * @method \Aws\Result listPolicyVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPolicyVersionsAsync(array $args = []) + * @method \Aws\Result listPrincipalPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPrincipalPoliciesAsync(array $args = []) + * @method \Aws\Result listPrincipalThings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPrincipalThingsAsync(array $args = []) + * @method \Aws\Result listRoleAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRoleAliasesAsync(array $args = []) + * @method \Aws\Result listScheduledAudits(array $args = []) + * @method \GuzzleHttp\Promise\Promise listScheduledAuditsAsync(array $args = []) + * @method \Aws\Result listSecurityProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecurityProfilesAsync(array $args = []) + * @method \Aws\Result listSecurityProfilesForTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecurityProfilesForTargetAsync(array $args = []) + * @method \Aws\Result listStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTargetsForPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTargetsForPolicyAsync(array $args = []) + * @method \Aws\Result listTargetsForSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTargetsForSecurityProfileAsync(array $args = []) + * @method \Aws\Result listThingGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingGroupsAsync(array $args = []) + * @method \Aws\Result listThingGroupsForThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingGroupsForThingAsync(array $args = []) + * @method \Aws\Result listThingPrincipals(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingPrincipalsAsync(array $args = []) + * @method \Aws\Result listThingRegistrationTaskReports(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingRegistrationTaskReportsAsync(array $args = []) + * @method \Aws\Result listThingRegistrationTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingRegistrationTasksAsync(array $args = []) + * @method \Aws\Result listThingTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingTypesAsync(array $args = []) + * @method \Aws\Result listThings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingsAsync(array $args = []) + * @method \Aws\Result listThingsInBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingsInBillingGroupAsync(array $args = []) + * @method \Aws\Result listThingsInThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listThingsInThingGroupAsync(array $args = []) + * @method \Aws\Result listTopicRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTopicRulesAsync(array $args = []) + * @method \Aws\Result listV2LoggingLevels(array $args = []) + * @method \GuzzleHttp\Promise\Promise listV2LoggingLevelsAsync(array $args = []) + * @method \Aws\Result listViolationEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listViolationEventsAsync(array $args = []) + * @method \Aws\Result registerCACertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerCACertificateAsync(array $args = []) + * @method \Aws\Result registerCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerCertificateAsync(array $args = []) + * @method \Aws\Result registerThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerThingAsync(array $args = []) + * @method \Aws\Result rejectCertificateTransfer(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectCertificateTransferAsync(array $args = []) + * @method \Aws\Result removeThingFromBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeThingFromBillingGroupAsync(array $args = []) + * @method \Aws\Result removeThingFromThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeThingFromThingGroupAsync(array $args = []) + * @method \Aws\Result replaceTopicRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise replaceTopicRuleAsync(array $args = []) + * @method \Aws\Result searchIndex(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchIndexAsync(array $args = []) + * @method \Aws\Result setDefaultAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise setDefaultAuthorizerAsync(array $args = []) + * @method \Aws\Result setDefaultPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise setDefaultPolicyVersionAsync(array $args = []) + * @method \Aws\Result setLoggingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLoggingOptionsAsync(array $args = []) + * @method \Aws\Result setV2LoggingLevel(array $args = []) + * @method \GuzzleHttp\Promise\Promise setV2LoggingLevelAsync(array $args = []) + * @method \Aws\Result setV2LoggingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise setV2LoggingOptionsAsync(array $args = []) + * @method \Aws\Result startOnDemandAuditTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startOnDemandAuditTaskAsync(array $args = []) + * @method \Aws\Result startThingRegistrationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startThingRegistrationTaskAsync(array $args = []) + * @method \Aws\Result stopThingRegistrationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopThingRegistrationTaskAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result testAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise testAuthorizationAsync(array $args = []) + * @method \Aws\Result testInvokeAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise testInvokeAuthorizerAsync(array $args = []) + * @method \Aws\Result transferCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise transferCertificateAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateAccountAuditConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountAuditConfigurationAsync(array $args = []) + * @method \Aws\Result updateAuthorizer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAuthorizerAsync(array $args = []) + * @method \Aws\Result updateBillingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBillingGroupAsync(array $args = []) + * @method \Aws\Result updateCACertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCACertificateAsync(array $args = []) + * @method \Aws\Result updateCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCertificateAsync(array $args = []) + * @method \Aws\Result updateDynamicThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDynamicThingGroupAsync(array $args = []) + * @method \Aws\Result updateEventConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEventConfigurationsAsync(array $args = []) + * @method \Aws\Result updateIndexingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIndexingConfigurationAsync(array $args = []) + * @method \Aws\Result updateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobAsync(array $args = []) + * @method \Aws\Result updateRoleAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRoleAliasAsync(array $args = []) + * @method \Aws\Result updateScheduledAudit(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateScheduledAuditAsync(array $args = []) + * @method \Aws\Result updateSecurityProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSecurityProfileAsync(array $args = []) + * @method \Aws\Result updateStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStreamAsync(array $args = []) + * @method \Aws\Result updateThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateThingAsync(array $args = []) + * @method \Aws\Result updateThingGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateThingGroupAsync(array $args = []) + * @method \Aws\Result updateThingGroupsForThing(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateThingGroupsForThingAsync(array $args = []) + * @method \Aws\Result validateSecurityProfileBehaviors(array $args = []) + * @method \GuzzleHttp\Promise\Promise validateSecurityProfileBehaviorsAsync(array $args = []) + */ +class IotClient extends AwsClient {} diff --git a/lib/aws/Aws/IotDataPlane/Exception/IotDataPlaneException.php b/lib/aws/Aws/IotDataPlane/Exception/IotDataPlaneException.php new file mode 100644 index 0000000..18fee1f --- /dev/null +++ b/lib/aws/Aws/IotDataPlane/Exception/IotDataPlaneException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\IotDataPlane\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS IoT Data Plane** service. + */ +class IotDataPlaneException extends AwsException {} diff --git a/lib/aws/Aws/IotDataPlane/IotDataPlaneClient.php b/lib/aws/Aws/IotDataPlane/IotDataPlaneClient.php new file mode 100644 index 0000000..e391c93 --- /dev/null +++ b/lib/aws/Aws/IotDataPlane/IotDataPlaneClient.php @@ -0,0 +1,18 @@ +<?php +namespace Aws\IotDataPlane; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS IoT Data Plane** service. + * + * @method \Aws\Result deleteThingShadow(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteThingShadowAsync(array $args = []) + * @method \Aws\Result getThingShadow(array $args = []) + * @method \GuzzleHttp\Promise\Promise getThingShadowAsync(array $args = []) + * @method \Aws\Result publish(array $args = []) + * @method \GuzzleHttp\Promise\Promise publishAsync(array $args = []) + * @method \Aws\Result updateThingShadow(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateThingShadowAsync(array $args = []) + */ +class IotDataPlaneClient extends AwsClient {} diff --git a/lib/aws/Aws/JsonCompiler.php b/lib/aws/Aws/JsonCompiler.php new file mode 100644 index 0000000..5358b31 --- /dev/null +++ b/lib/aws/Aws/JsonCompiler.php @@ -0,0 +1,25 @@ +<?php +namespace Aws; + +/** + * Loads JSON files and compiles them into PHP arrays. + * + * @internal Please use json_decode instead. + * @deprecated + */ +class JsonCompiler +{ + const CACHE_ENV = 'AWS_PHP_CACHE_DIR'; + + /** + * Loads a JSON file from cache or from the JSON file directly. + * + * @param string $path Path to the JSON file to load. + * + * @return mixed + */ + public function load($path) + { + return load_compiled_json($path); + } +} diff --git a/lib/aws/Aws/Kafka/Exception/KafkaException.php b/lib/aws/Aws/Kafka/Exception/KafkaException.php new file mode 100644 index 0000000..d32afec --- /dev/null +++ b/lib/aws/Aws/Kafka/Exception/KafkaException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Kafka\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Managed Streaming for Kafka** service. + */ +class KafkaException extends AwsException {} diff --git a/lib/aws/Aws/Kafka/KafkaClient.php b/lib/aws/Aws/Kafka/KafkaClient.php new file mode 100644 index 0000000..c536179 --- /dev/null +++ b/lib/aws/Aws/Kafka/KafkaClient.php @@ -0,0 +1,21 @@ +<?php +namespace Aws\Kafka; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Managed Streaming for Kafka** service. + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result describeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterAsync(array $args = []) + * @method \Aws\Result getBootstrapBrokers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBootstrapBrokersAsync(array $args = []) + * @method \Aws\Result listClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = []) + * @method \Aws\Result listNodes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNodesAsync(array $args = []) + */ +class KafkaClient extends AwsClient {} diff --git a/lib/aws/Aws/Kinesis/Exception/KinesisException.php b/lib/aws/Aws/Kinesis/Exception/KinesisException.php new file mode 100644 index 0000000..ab11d7a --- /dev/null +++ b/lib/aws/Aws/Kinesis/Exception/KinesisException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Kinesis\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Kinesis service. + */ +class KinesisException extends AwsException {} diff --git a/lib/aws/Aws/Kinesis/KinesisClient.php b/lib/aws/Aws/Kinesis/KinesisClient.php new file mode 100644 index 0000000..0666f66 --- /dev/null +++ b/lib/aws/Aws/Kinesis/KinesisClient.php @@ -0,0 +1,64 @@ +<?php +namespace Aws\Kinesis; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis** service. + * + * @method \Aws\Result addTagsToStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToStreamAsync(array $args = []) + * @method \Aws\Result createStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamAsync(array $args = []) + * @method \Aws\Result decreaseStreamRetentionPeriod(array $args = []) + * @method \GuzzleHttp\Promise\Promise decreaseStreamRetentionPeriodAsync(array $args = []) + * @method \Aws\Result deleteStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStreamAsync(array $args = []) + * @method \Aws\Result deregisterStreamConsumer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterStreamConsumerAsync(array $args = []) + * @method \Aws\Result describeLimits(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLimitsAsync(array $args = []) + * @method \Aws\Result describeStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamAsync(array $args = []) + * @method \Aws\Result describeStreamConsumer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamConsumerAsync(array $args = []) + * @method \Aws\Result describeStreamSummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamSummaryAsync(array $args = []) + * @method \Aws\Result disableEnhancedMonitoring(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableEnhancedMonitoringAsync(array $args = []) + * @method \Aws\Result enableEnhancedMonitoring(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableEnhancedMonitoringAsync(array $args = []) + * @method \Aws\Result getRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRecordsAsync(array $args = []) + * @method \Aws\Result getShardIterator(array $args = []) + * @method \GuzzleHttp\Promise\Promise getShardIteratorAsync(array $args = []) + * @method \Aws\Result increaseStreamRetentionPeriod(array $args = []) + * @method \GuzzleHttp\Promise\Promise increaseStreamRetentionPeriodAsync(array $args = []) + * @method \Aws\Result listShards(array $args = []) + * @method \GuzzleHttp\Promise\Promise listShardsAsync(array $args = []) + * @method \Aws\Result listStreamConsumers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamConsumersAsync(array $args = []) + * @method \Aws\Result listStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamsAsync(array $args = []) + * @method \Aws\Result listTagsForStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForStreamAsync(array $args = []) + * @method \Aws\Result mergeShards(array $args = []) + * @method \GuzzleHttp\Promise\Promise mergeShardsAsync(array $args = []) + * @method \Aws\Result putRecord(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRecordAsync(array $args = []) + * @method \Aws\Result putRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise putRecordsAsync(array $args = []) + * @method \Aws\Result registerStreamConsumer(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerStreamConsumerAsync(array $args = []) + * @method \Aws\Result removeTagsFromStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromStreamAsync(array $args = []) + * @method \Aws\Result splitShard(array $args = []) + * @method \GuzzleHttp\Promise\Promise splitShardAsync(array $args = []) + * @method \Aws\Result startStreamEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise startStreamEncryptionAsync(array $args = []) + * @method \Aws\Result stopStreamEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopStreamEncryptionAsync(array $args = []) + * @method \Aws\Result updateShardCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateShardCountAsync(array $args = []) + */ +class KinesisClient extends AwsClient {} diff --git a/lib/aws/Aws/KinesisAnalytics/Exception/KinesisAnalyticsException.php b/lib/aws/Aws/KinesisAnalytics/Exception/KinesisAnalyticsException.php new file mode 100644 index 0000000..2f29552 --- /dev/null +++ b/lib/aws/Aws/KinesisAnalytics/Exception/KinesisAnalyticsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\KinesisAnalytics\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Analytics** service. + */ +class KinesisAnalyticsException extends AwsException {} diff --git a/lib/aws/Aws/KinesisAnalytics/KinesisAnalyticsClient.php b/lib/aws/Aws/KinesisAnalytics/KinesisAnalyticsClient.php new file mode 100644 index 0000000..b8c0d54 --- /dev/null +++ b/lib/aws/Aws/KinesisAnalytics/KinesisAnalyticsClient.php @@ -0,0 +1,43 @@ +<?php +namespace Aws\KinesisAnalytics; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Analytics** service. + * @method \Aws\Result addApplicationCloudWatchLoggingOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationCloudWatchLoggingOptionAsync(array $args = []) + * @method \Aws\Result addApplicationInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationInputAsync(array $args = []) + * @method \Aws\Result addApplicationInputProcessingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationInputProcessingConfigurationAsync(array $args = []) + * @method \Aws\Result addApplicationOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationOutputAsync(array $args = []) + * @method \Aws\Result addApplicationReferenceDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationReferenceDataSourceAsync(array $args = []) + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result deleteApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = []) + * @method \Aws\Result deleteApplicationCloudWatchLoggingOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationCloudWatchLoggingOptionAsync(array $args = []) + * @method \Aws\Result deleteApplicationInputProcessingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationInputProcessingConfigurationAsync(array $args = []) + * @method \Aws\Result deleteApplicationOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationOutputAsync(array $args = []) + * @method \Aws\Result deleteApplicationReferenceDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationReferenceDataSourceAsync(array $args = []) + * @method \Aws\Result describeApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationAsync(array $args = []) + * @method \Aws\Result discoverInputSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise discoverInputSchemaAsync(array $args = []) + * @method \Aws\Result listApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = []) + * @method \Aws\Result startApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise startApplicationAsync(array $args = []) + * @method \Aws\Result stopApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopApplicationAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + */ +class KinesisAnalyticsClient extends AwsClient {} diff --git a/lib/aws/Aws/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php b/lib/aws/Aws/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php new file mode 100644 index 0000000..affcc42 --- /dev/null +++ b/lib/aws/Aws/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\KinesisAnalyticsV2\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Analytics** service. + */ +class KinesisAnalyticsV2Exception extends AwsException {} diff --git a/lib/aws/Aws/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php b/lib/aws/Aws/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php new file mode 100644 index 0000000..f73fe5d --- /dev/null +++ b/lib/aws/Aws/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php @@ -0,0 +1,51 @@ +<?php +namespace Aws\KinesisAnalyticsV2; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Analytics** service. + * @method \Aws\Result addApplicationCloudWatchLoggingOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationCloudWatchLoggingOptionAsync(array $args = []) + * @method \Aws\Result addApplicationInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationInputAsync(array $args = []) + * @method \Aws\Result addApplicationInputProcessingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationInputProcessingConfigurationAsync(array $args = []) + * @method \Aws\Result addApplicationOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationOutputAsync(array $args = []) + * @method \Aws\Result addApplicationReferenceDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addApplicationReferenceDataSourceAsync(array $args = []) + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result createApplicationSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationSnapshotAsync(array $args = []) + * @method \Aws\Result deleteApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = []) + * @method \Aws\Result deleteApplicationCloudWatchLoggingOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationCloudWatchLoggingOptionAsync(array $args = []) + * @method \Aws\Result deleteApplicationInputProcessingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationInputProcessingConfigurationAsync(array $args = []) + * @method \Aws\Result deleteApplicationOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationOutputAsync(array $args = []) + * @method \Aws\Result deleteApplicationReferenceDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationReferenceDataSourceAsync(array $args = []) + * @method \Aws\Result deleteApplicationSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationSnapshotAsync(array $args = []) + * @method \Aws\Result describeApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationAsync(array $args = []) + * @method \Aws\Result describeApplicationSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationSnapshotAsync(array $args = []) + * @method \Aws\Result discoverInputSchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise discoverInputSchemaAsync(array $args = []) + * @method \Aws\Result listApplicationSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationSnapshotsAsync(array $args = []) + * @method \Aws\Result listApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = []) + * @method \Aws\Result startApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise startApplicationAsync(array $args = []) + * @method \Aws\Result stopApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopApplicationAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + */ +class KinesisAnalyticsV2Client extends AwsClient {} diff --git a/lib/aws/Aws/KinesisVideo/Exception/KinesisVideoException.php b/lib/aws/Aws/KinesisVideo/Exception/KinesisVideoException.php new file mode 100644 index 0000000..500ae7f --- /dev/null +++ b/lib/aws/Aws/KinesisVideo/Exception/KinesisVideoException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\KinesisVideo\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Video Streams** service. + */ +class KinesisVideoException extends AwsException {} diff --git a/lib/aws/Aws/KinesisVideo/KinesisVideoClient.php b/lib/aws/Aws/KinesisVideo/KinesisVideoClient.php new file mode 100644 index 0000000..1effe95 --- /dev/null +++ b/lib/aws/Aws/KinesisVideo/KinesisVideoClient.php @@ -0,0 +1,29 @@ +<?php +namespace Aws\KinesisVideo; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Video Streams** service. + * @method \Aws\Result createStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamAsync(array $args = []) + * @method \Aws\Result deleteStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStreamAsync(array $args = []) + * @method \Aws\Result describeStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamAsync(array $args = []) + * @method \Aws\Result getDataEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataEndpointAsync(array $args = []) + * @method \Aws\Result listStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamsAsync(array $args = []) + * @method \Aws\Result listTagsForStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForStreamAsync(array $args = []) + * @method \Aws\Result tagStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagStreamAsync(array $args = []) + * @method \Aws\Result untagStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagStreamAsync(array $args = []) + * @method \Aws\Result updateDataRetention(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDataRetentionAsync(array $args = []) + * @method \Aws\Result updateStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStreamAsync(array $args = []) + */ +class KinesisVideoClient extends AwsClient {} diff --git a/lib/aws/Aws/KinesisVideoArchivedMedia/Exception/KinesisVideoArchivedMediaException.php b/lib/aws/Aws/KinesisVideoArchivedMedia/Exception/KinesisVideoArchivedMediaException.php new file mode 100644 index 0000000..c6b624f --- /dev/null +++ b/lib/aws/Aws/KinesisVideoArchivedMedia/Exception/KinesisVideoArchivedMediaException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\KinesisVideoArchivedMedia\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Video Streams Archived Media** service. + */ +class KinesisVideoArchivedMediaException extends AwsException {} diff --git a/lib/aws/Aws/KinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.php b/lib/aws/Aws/KinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.php new file mode 100644 index 0000000..cc12df2 --- /dev/null +++ b/lib/aws/Aws/KinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.php @@ -0,0 +1,15 @@ +<?php +namespace Aws\KinesisVideoArchivedMedia; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Video Streams Archived Media** service. + * @method \Aws\Result getHLSStreamingSessionURL(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHLSStreamingSessionURLAsync(array $args = []) + * @method \Aws\Result getMediaForFragmentList(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMediaForFragmentListAsync(array $args = []) + * @method \Aws\Result listFragments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFragmentsAsync(array $args = []) + */ +class KinesisVideoArchivedMediaClient extends AwsClient {} diff --git a/lib/aws/Aws/KinesisVideoMedia/Exception/KinesisVideoMediaException.php b/lib/aws/Aws/KinesisVideoMedia/Exception/KinesisVideoMediaException.php new file mode 100644 index 0000000..56aeddd --- /dev/null +++ b/lib/aws/Aws/KinesisVideoMedia/Exception/KinesisVideoMediaException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\KinesisVideoMedia\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Kinesis Video Streams Media** service. + */ +class KinesisVideoMediaException extends AwsException {} diff --git a/lib/aws/Aws/KinesisVideoMedia/KinesisVideoMediaClient.php b/lib/aws/Aws/KinesisVideoMedia/KinesisVideoMediaClient.php new file mode 100644 index 0000000..0c7fece --- /dev/null +++ b/lib/aws/Aws/KinesisVideoMedia/KinesisVideoMediaClient.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\KinesisVideoMedia; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Kinesis Video Streams Media** service. + * @method \Aws\Result getMedia(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMediaAsync(array $args = []) + */ +class KinesisVideoMediaClient extends AwsClient {} diff --git a/lib/aws/Aws/Kms/Exception/KmsException.php b/lib/aws/Aws/Kms/Exception/KmsException.php new file mode 100644 index 0000000..c70aa1b --- /dev/null +++ b/lib/aws/Aws/Kms/Exception/KmsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Kms\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Key Management Service. + */ +class KmsException extends AwsException {} diff --git a/lib/aws/Aws/Kms/KmsClient.php b/lib/aws/Aws/Kms/KmsClient.php new file mode 100644 index 0000000..57a4388 --- /dev/null +++ b/lib/aws/Aws/Kms/KmsClient.php @@ -0,0 +1,92 @@ +<?php +namespace Aws\Kms; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Key Management Service**. + * + * @method \Aws\Result cancelKeyDeletion(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelKeyDeletionAsync(array $args = []) + * @method \Aws\Result connectCustomKeyStore(array $args = []) + * @method \GuzzleHttp\Promise\Promise connectCustomKeyStoreAsync(array $args = []) + * @method \Aws\Result createAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = []) + * @method \Aws\Result createCustomKeyStore(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCustomKeyStoreAsync(array $args = []) + * @method \Aws\Result createGrant(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGrantAsync(array $args = []) + * @method \Aws\Result createKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise createKeyAsync(array $args = []) + * @method \Aws\Result decrypt(array $args = []) + * @method \GuzzleHttp\Promise\Promise decryptAsync(array $args = []) + * @method \Aws\Result deleteAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAliasAsync(array $args = []) + * @method \Aws\Result deleteCustomKeyStore(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCustomKeyStoreAsync(array $args = []) + * @method \Aws\Result deleteImportedKeyMaterial(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteImportedKeyMaterialAsync(array $args = []) + * @method \Aws\Result describeCustomKeyStores(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCustomKeyStoresAsync(array $args = []) + * @method \Aws\Result describeKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeKeyAsync(array $args = []) + * @method \Aws\Result disableKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableKeyAsync(array $args = []) + * @method \Aws\Result disableKeyRotation(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableKeyRotationAsync(array $args = []) + * @method \Aws\Result disconnectCustomKeyStore(array $args = []) + * @method \GuzzleHttp\Promise\Promise disconnectCustomKeyStoreAsync(array $args = []) + * @method \Aws\Result enableKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableKeyAsync(array $args = []) + * @method \Aws\Result enableKeyRotation(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableKeyRotationAsync(array $args = []) + * @method \Aws\Result encrypt(array $args = []) + * @method \GuzzleHttp\Promise\Promise encryptAsync(array $args = []) + * @method \Aws\Result generateDataKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateDataKeyAsync(array $args = []) + * @method \Aws\Result generateDataKeyWithoutPlaintext(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateDataKeyWithoutPlaintextAsync(array $args = []) + * @method \Aws\Result generateRandom(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateRandomAsync(array $args = []) + * @method \Aws\Result getKeyPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getKeyPolicyAsync(array $args = []) + * @method \Aws\Result getKeyRotationStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getKeyRotationStatusAsync(array $args = []) + * @method \Aws\Result getParametersForImport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getParametersForImportAsync(array $args = []) + * @method \Aws\Result importKeyMaterial(array $args = []) + * @method \GuzzleHttp\Promise\Promise importKeyMaterialAsync(array $args = []) + * @method \Aws\Result listAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAliasesAsync(array $args = []) + * @method \Aws\Result listGrants(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGrantsAsync(array $args = []) + * @method \Aws\Result listKeyPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listKeyPoliciesAsync(array $args = []) + * @method \Aws\Result listKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise listKeysAsync(array $args = []) + * @method \Aws\Result listResourceTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceTagsAsync(array $args = []) + * @method \Aws\Result listRetirableGrants(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRetirableGrantsAsync(array $args = []) + * @method \Aws\Result putKeyPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putKeyPolicyAsync(array $args = []) + * @method \Aws\Result reEncrypt(array $args = []) + * @method \GuzzleHttp\Promise\Promise reEncryptAsync(array $args = []) + * @method \Aws\Result retireGrant(array $args = []) + * @method \GuzzleHttp\Promise\Promise retireGrantAsync(array $args = []) + * @method \Aws\Result revokeGrant(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeGrantAsync(array $args = []) + * @method \Aws\Result scheduleKeyDeletion(array $args = []) + * @method \GuzzleHttp\Promise\Promise scheduleKeyDeletionAsync(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 updateAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAliasAsync(array $args = []) + * @method \Aws\Result updateCustomKeyStore(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCustomKeyStoreAsync(array $args = []) + * @method \Aws\Result updateKeyDescription(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateKeyDescriptionAsync(array $args = []) + */ +class KmsClient extends AwsClient {} diff --git a/lib/aws/Aws/Lambda/Exception/LambdaException.php b/lib/aws/Aws/Lambda/Exception/LambdaException.php new file mode 100644 index 0000000..13ff495 --- /dev/null +++ b/lib/aws/Aws/Lambda/Exception/LambdaException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Lambda\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with AWS Lambda + */ +class LambdaException extends AwsException {} diff --git a/lib/aws/Aws/Lambda/LambdaClient.php b/lib/aws/Aws/Lambda/LambdaClient.php new file mode 100644 index 0000000..57486d2 --- /dev/null +++ b/lib/aws/Aws/Lambda/LambdaClient.php @@ -0,0 +1,121 @@ +<?php +namespace Aws\Lambda; + +use Aws\AwsClient; +use Aws\CommandInterface; +use Aws\Middleware; + +/** + * This client is used to interact with AWS Lambda + * + * @method \Aws\Result addLayerVersionPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise addLayerVersionPermissionAsync(array $args = []) + * @method \Aws\Result addPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise addPermissionAsync(array $args = []) + * @method \Aws\Result createAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = []) + * @method \Aws\Result createEventSourceMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEventSourceMappingAsync(array $args = []) + * @method \Aws\Result createFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFunctionAsync(array $args = []) + * @method \Aws\Result deleteAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAliasAsync(array $args = []) + * @method \Aws\Result deleteEventSourceMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventSourceMappingAsync(array $args = []) + * @method \Aws\Result deleteFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFunctionAsync(array $args = []) + * @method \Aws\Result deleteFunctionConcurrency(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFunctionConcurrencyAsync(array $args = []) + * @method \Aws\Result deleteLayerVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLayerVersionAsync(array $args = []) + * @method \Aws\Result getAccountSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountSettingsAsync(array $args = []) + * @method \Aws\Result getAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAliasAsync(array $args = []) + * @method \Aws\Result getEventSourceMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEventSourceMappingAsync(array $args = []) + * @method \Aws\Result getFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFunctionAsync(array $args = []) + * @method \Aws\Result getFunctionConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFunctionConfigurationAsync(array $args = []) + * @method \Aws\Result getLayerVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLayerVersionAsync(array $args = []) + * @method \Aws\Result getLayerVersionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLayerVersionPolicyAsync(array $args = []) + * @method \Aws\Result getPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPolicyAsync(array $args = []) + * @method \Aws\Result invoke(array $args = []) + * @method \GuzzleHttp\Promise\Promise invokeAsync(array $args = []) + * @method \Aws\Result invokeAsync(array $args = []) + * @method \GuzzleHttp\Promise\Promise invokeAsyncAsync(array $args = []) + * @method \Aws\Result listAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAliasesAsync(array $args = []) + * @method \Aws\Result listEventSourceMappings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEventSourceMappingsAsync(array $args = []) + * @method \Aws\Result listFunctions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFunctionsAsync(array $args = []) + * @method \Aws\Result listLayerVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLayerVersionsAsync(array $args = []) + * @method \Aws\Result listLayers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLayersAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result listVersionsByFunction(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVersionsByFunctionAsync(array $args = []) + * @method \Aws\Result publishLayerVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise publishLayerVersionAsync(array $args = []) + * @method \Aws\Result publishVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise publishVersionAsync(array $args = []) + * @method \Aws\Result putFunctionConcurrency(array $args = []) + * @method \GuzzleHttp\Promise\Promise putFunctionConcurrencyAsync(array $args = []) + * @method \Aws\Result removeLayerVersionPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeLayerVersionPermissionAsync(array $args = []) + * @method \Aws\Result removePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removePermissionAsync(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 updateAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAliasAsync(array $args = []) + * @method \Aws\Result updateEventSourceMapping(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEventSourceMappingAsync(array $args = []) + * @method \Aws\Result updateFunctionCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFunctionCodeAsync(array $args = []) + * @method \Aws\Result updateFunctionConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFunctionConfigurationAsync(array $args = []) + */ +class LambdaClient extends AwsClient +{ + /** + * {@inheritdoc} + */ + public function __construct(array $args) + { + parent::__construct($args); + $list = $this->getHandlerList(); + if (extension_loaded('curl')) { + $list->appendInit($this->getDefaultCurlOptionsMiddleware()); + } + } + + /** + * Provides a middleware that sets default Curl options for the command + * + * @return callable + */ + public function getDefaultCurlOptionsMiddleware() + { + return Middleware::mapCommand(function (CommandInterface $cmd) { + $defaultCurlOptions = [ + CURLOPT_TCP_KEEPALIVE => 1, + ]; + if (!isset($cmd['@http']['curl'])) { + $cmd['@http']['curl'] = $defaultCurlOptions; + } else { + $cmd['@http']['curl'] += $defaultCurlOptions; + } + return $cmd; + }); + } +} diff --git a/lib/aws/Aws/LexModelBuildingService/Exception/LexModelBuildingServiceException.php b/lib/aws/Aws/LexModelBuildingService/Exception/LexModelBuildingServiceException.php new file mode 100644 index 0000000..c9e4109 --- /dev/null +++ b/lib/aws/Aws/LexModelBuildingService/Exception/LexModelBuildingServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\LexModelBuildingService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Lex Model Building Service** service. + */ +class LexModelBuildingServiceException extends AwsException {} diff --git a/lib/aws/Aws/LexModelBuildingService/LexModelBuildingServiceClient.php b/lib/aws/Aws/LexModelBuildingService/LexModelBuildingServiceClient.php new file mode 100644 index 0000000..0de45c4 --- /dev/null +++ b/lib/aws/Aws/LexModelBuildingService/LexModelBuildingServiceClient.php @@ -0,0 +1,81 @@ +<?php +namespace Aws\LexModelBuildingService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Lex Model Building Service** service. + * @method \Aws\Result createBotVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBotVersionAsync(array $args = []) + * @method \Aws\Result createIntentVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIntentVersionAsync(array $args = []) + * @method \Aws\Result createSlotTypeVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSlotTypeVersionAsync(array $args = []) + * @method \Aws\Result deleteBot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBotAsync(array $args = []) + * @method \Aws\Result deleteBotAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBotAliasAsync(array $args = []) + * @method \Aws\Result deleteBotChannelAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBotChannelAssociationAsync(array $args = []) + * @method \Aws\Result deleteBotVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBotVersionAsync(array $args = []) + * @method \Aws\Result deleteIntent(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntentAsync(array $args = []) + * @method \Aws\Result deleteIntentVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIntentVersionAsync(array $args = []) + * @method \Aws\Result deleteSlotType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSlotTypeAsync(array $args = []) + * @method \Aws\Result deleteSlotTypeVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSlotTypeVersionAsync(array $args = []) + * @method \Aws\Result deleteUtterances(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUtterancesAsync(array $args = []) + * @method \Aws\Result getBot(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotAsync(array $args = []) + * @method \Aws\Result getBotAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotAliasAsync(array $args = []) + * @method \Aws\Result getBotAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotAliasesAsync(array $args = []) + * @method \Aws\Result getBotChannelAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotChannelAssociationAsync(array $args = []) + * @method \Aws\Result getBotChannelAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotChannelAssociationsAsync(array $args = []) + * @method \Aws\Result getBotVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotVersionsAsync(array $args = []) + * @method \Aws\Result getBots(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBotsAsync(array $args = []) + * @method \Aws\Result getBuiltinIntent(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBuiltinIntentAsync(array $args = []) + * @method \Aws\Result getBuiltinIntents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBuiltinIntentsAsync(array $args = []) + * @method \Aws\Result getBuiltinSlotTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBuiltinSlotTypesAsync(array $args = []) + * @method \Aws\Result getExport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExportAsync(array $args = []) + * @method \Aws\Result getImport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getImportAsync(array $args = []) + * @method \Aws\Result getIntent(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntentAsync(array $args = []) + * @method \Aws\Result getIntentVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntentVersionsAsync(array $args = []) + * @method \Aws\Result getIntents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIntentsAsync(array $args = []) + * @method \Aws\Result getSlotType(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSlotTypeAsync(array $args = []) + * @method \Aws\Result getSlotTypeVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSlotTypeVersionsAsync(array $args = []) + * @method \Aws\Result getSlotTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSlotTypesAsync(array $args = []) + * @method \Aws\Result getUtterancesView(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUtterancesViewAsync(array $args = []) + * @method \Aws\Result putBot(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBotAsync(array $args = []) + * @method \Aws\Result putBotAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBotAliasAsync(array $args = []) + * @method \Aws\Result putIntent(array $args = []) + * @method \GuzzleHttp\Promise\Promise putIntentAsync(array $args = []) + * @method \Aws\Result putSlotType(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSlotTypeAsync(array $args = []) + * @method \Aws\Result startImport(array $args = []) + * @method \GuzzleHttp\Promise\Promise startImportAsync(array $args = []) + */ +class LexModelBuildingServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/LexRuntimeService/Exception/LexRuntimeServiceException.php b/lib/aws/Aws/LexRuntimeService/Exception/LexRuntimeServiceException.php new file mode 100644 index 0000000..13f0482 --- /dev/null +++ b/lib/aws/Aws/LexRuntimeService/Exception/LexRuntimeServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\LexRuntimeService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Lex Runtime Service** service. + */ +class LexRuntimeServiceException extends AwsException {} diff --git a/lib/aws/Aws/LexRuntimeService/LexRuntimeServiceClient.php b/lib/aws/Aws/LexRuntimeService/LexRuntimeServiceClient.php new file mode 100644 index 0000000..1a374d4 --- /dev/null +++ b/lib/aws/Aws/LexRuntimeService/LexRuntimeServiceClient.php @@ -0,0 +1,13 @@ +<?php +namespace Aws\LexRuntimeService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Lex Runtime Service** service. + * @method \Aws\Result postContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise postContentAsync(array $args = []) + * @method \Aws\Result postText(array $args = []) + * @method \GuzzleHttp\Promise\Promise postTextAsync(array $args = []) + */ +class LexRuntimeServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/LicenseManager/Exception/LicenseManagerException.php b/lib/aws/Aws/LicenseManager/Exception/LicenseManagerException.php new file mode 100644 index 0000000..4c86529 --- /dev/null +++ b/lib/aws/Aws/LicenseManager/Exception/LicenseManagerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\LicenseManager\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS License Manager** service. + */ +class LicenseManagerException extends AwsException {} diff --git a/lib/aws/Aws/LicenseManager/LicenseManagerClient.php b/lib/aws/Aws/LicenseManager/LicenseManagerClient.php new file mode 100644 index 0000000..1eedfcb --- /dev/null +++ b/lib/aws/Aws/LicenseManager/LicenseManagerClient.php @@ -0,0 +1,39 @@ +<?php +namespace Aws\LicenseManager; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS License Manager** service. + * @method \Aws\Result createLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLicenseConfigurationAsync(array $args = []) + * @method \Aws\Result deleteLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLicenseConfigurationAsync(array $args = []) + * @method \Aws\Result getLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLicenseConfigurationAsync(array $args = []) + * @method \Aws\Result getServiceSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceSettingsAsync(array $args = []) + * @method \Aws\Result listAssociationsForLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssociationsForLicenseConfigurationAsync(array $args = []) + * @method \Aws\Result listLicenseConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLicenseConfigurationsAsync(array $args = []) + * @method \Aws\Result listLicenseSpecificationsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLicenseSpecificationsForResourceAsync(array $args = []) + * @method \Aws\Result listResourceInventory(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceInventoryAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listUsageForLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsageForLicenseConfigurationAsync(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 updateLicenseConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLicenseConfigurationAsync(array $args = []) + * @method \Aws\Result updateLicenseSpecificationsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLicenseSpecificationsForResourceAsync(array $args = []) + * @method \Aws\Result updateServiceSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceSettingsAsync(array $args = []) + */ +class LicenseManagerClient extends AwsClient {} diff --git a/lib/aws/Aws/Lightsail/Exception/LightsailException.php b/lib/aws/Aws/Lightsail/Exception/LightsailException.php new file mode 100644 index 0000000..2ed980e --- /dev/null +++ b/lib/aws/Aws/Lightsail/Exception/LightsailException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Lightsail\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Lightsail** service. + */ +class LightsailException extends AwsException {} diff --git a/lib/aws/Aws/Lightsail/LightsailClient.php b/lib/aws/Aws/Lightsail/LightsailClient.php new file mode 100644 index 0000000..27d20df --- /dev/null +++ b/lib/aws/Aws/Lightsail/LightsailClient.php @@ -0,0 +1,211 @@ +<?php +namespace Aws\Lightsail; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Lightsail** service. + * @method \Aws\Result allocateStaticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise allocateStaticIpAsync(array $args = []) + * @method \Aws\Result attachDisk(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachDiskAsync(array $args = []) + * @method \Aws\Result attachInstancesToLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachInstancesToLoadBalancerAsync(array $args = []) + * @method \Aws\Result attachLoadBalancerTlsCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachLoadBalancerTlsCertificateAsync(array $args = []) + * @method \Aws\Result attachStaticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachStaticIpAsync(array $args = []) + * @method \Aws\Result closeInstancePublicPorts(array $args = []) + * @method \GuzzleHttp\Promise\Promise closeInstancePublicPortsAsync(array $args = []) + * @method \Aws\Result copySnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copySnapshotAsync(array $args = []) + * @method \Aws\Result createCloudFormationStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCloudFormationStackAsync(array $args = []) + * @method \Aws\Result createDisk(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDiskAsync(array $args = []) + * @method \Aws\Result createDiskFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDiskFromSnapshotAsync(array $args = []) + * @method \Aws\Result createDiskSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDiskSnapshotAsync(array $args = []) + * @method \Aws\Result createDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainAsync(array $args = []) + * @method \Aws\Result createDomainEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDomainEntryAsync(array $args = []) + * @method \Aws\Result createInstanceSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstanceSnapshotAsync(array $args = []) + * @method \Aws\Result createInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstancesAsync(array $args = []) + * @method \Aws\Result createInstancesFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstancesFromSnapshotAsync(array $args = []) + * @method \Aws\Result createKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise createKeyPairAsync(array $args = []) + * @method \Aws\Result createLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerAsync(array $args = []) + * @method \Aws\Result createLoadBalancerTlsCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLoadBalancerTlsCertificateAsync(array $args = []) + * @method \Aws\Result createRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result createRelationalDatabaseFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRelationalDatabaseFromSnapshotAsync(array $args = []) + * @method \Aws\Result createRelationalDatabaseSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRelationalDatabaseSnapshotAsync(array $args = []) + * @method \Aws\Result deleteDisk(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDiskAsync(array $args = []) + * @method \Aws\Result deleteDiskSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDiskSnapshotAsync(array $args = []) + * @method \Aws\Result deleteDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainAsync(array $args = []) + * @method \Aws\Result deleteDomainEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDomainEntryAsync(array $args = []) + * @method \Aws\Result deleteInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInstanceAsync(array $args = []) + * @method \Aws\Result deleteInstanceSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInstanceSnapshotAsync(array $args = []) + * @method \Aws\Result deleteKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteKeyPairAsync(array $args = []) + * @method \Aws\Result deleteKnownHostKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteKnownHostKeysAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerAsync(array $args = []) + * @method \Aws\Result deleteLoadBalancerTlsCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoadBalancerTlsCertificateAsync(array $args = []) + * @method \Aws\Result deleteRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result deleteRelationalDatabaseSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRelationalDatabaseSnapshotAsync(array $args = []) + * @method \Aws\Result detachDisk(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachDiskAsync(array $args = []) + * @method \Aws\Result detachInstancesFromLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachInstancesFromLoadBalancerAsync(array $args = []) + * @method \Aws\Result detachStaticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachStaticIpAsync(array $args = []) + * @method \Aws\Result downloadDefaultKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise downloadDefaultKeyPairAsync(array $args = []) + * @method \Aws\Result exportSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportSnapshotAsync(array $args = []) + * @method \Aws\Result getActiveNames(array $args = []) + * @method \GuzzleHttp\Promise\Promise getActiveNamesAsync(array $args = []) + * @method \Aws\Result getBlueprints(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBlueprintsAsync(array $args = []) + * @method \Aws\Result getBundles(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBundlesAsync(array $args = []) + * @method \Aws\Result getCloudFormationStackRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCloudFormationStackRecordsAsync(array $args = []) + * @method \Aws\Result getDisk(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDiskAsync(array $args = []) + * @method \Aws\Result getDiskSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDiskSnapshotAsync(array $args = []) + * @method \Aws\Result getDiskSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDiskSnapshotsAsync(array $args = []) + * @method \Aws\Result getDisks(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDisksAsync(array $args = []) + * @method \Aws\Result getDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainAsync(array $args = []) + * @method \Aws\Result getDomains(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainsAsync(array $args = []) + * @method \Aws\Result getExportSnapshotRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExportSnapshotRecordsAsync(array $args = []) + * @method \Aws\Result getInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceAsync(array $args = []) + * @method \Aws\Result getInstanceAccessDetails(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceAccessDetailsAsync(array $args = []) + * @method \Aws\Result getInstanceMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceMetricDataAsync(array $args = []) + * @method \Aws\Result getInstancePortStates(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstancePortStatesAsync(array $args = []) + * @method \Aws\Result getInstanceSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceSnapshotAsync(array $args = []) + * @method \Aws\Result getInstanceSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceSnapshotsAsync(array $args = []) + * @method \Aws\Result getInstanceState(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceStateAsync(array $args = []) + * @method \Aws\Result getInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstancesAsync(array $args = []) + * @method \Aws\Result getKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise getKeyPairAsync(array $args = []) + * @method \Aws\Result getKeyPairs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getKeyPairsAsync(array $args = []) + * @method \Aws\Result getLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoadBalancerAsync(array $args = []) + * @method \Aws\Result getLoadBalancerMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoadBalancerMetricDataAsync(array $args = []) + * @method \Aws\Result getLoadBalancerTlsCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoadBalancerTlsCertificatesAsync(array $args = []) + * @method \Aws\Result getLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoadBalancersAsync(array $args = []) + * @method \Aws\Result getOperation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOperationAsync(array $args = []) + * @method \Aws\Result getOperations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOperationsAsync(array $args = []) + * @method \Aws\Result getOperationsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOperationsForResourceAsync(array $args = []) + * @method \Aws\Result getRegions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegionsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseBlueprints(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseBlueprintsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseBundles(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseBundlesAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseEventsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseLogEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseLogEventsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseLogStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseLogStreamsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseMasterUserPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseMasterUserPasswordAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseMetricData(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseMetricDataAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseParametersAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseSnapshotAsync(array $args = []) + * @method \Aws\Result getRelationalDatabaseSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabaseSnapshotsAsync(array $args = []) + * @method \Aws\Result getRelationalDatabases(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRelationalDatabasesAsync(array $args = []) + * @method \Aws\Result getStaticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStaticIpAsync(array $args = []) + * @method \Aws\Result getStaticIps(array $args = []) + * @method \GuzzleHttp\Promise\Promise getStaticIpsAsync(array $args = []) + * @method \Aws\Result importKeyPair(array $args = []) + * @method \GuzzleHttp\Promise\Promise importKeyPairAsync(array $args = []) + * @method \Aws\Result isVpcPeered(array $args = []) + * @method \GuzzleHttp\Promise\Promise isVpcPeeredAsync(array $args = []) + * @method \Aws\Result openInstancePublicPorts(array $args = []) + * @method \GuzzleHttp\Promise\Promise openInstancePublicPortsAsync(array $args = []) + * @method \Aws\Result peerVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise peerVpcAsync(array $args = []) + * @method \Aws\Result putInstancePublicPorts(array $args = []) + * @method \GuzzleHttp\Promise\Promise putInstancePublicPortsAsync(array $args = []) + * @method \Aws\Result rebootInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootInstanceAsync(array $args = []) + * @method \Aws\Result rebootRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result releaseStaticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise releaseStaticIpAsync(array $args = []) + * @method \Aws\Result startInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise startInstanceAsync(array $args = []) + * @method \Aws\Result startRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise startRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result stopInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopInstanceAsync(array $args = []) + * @method \Aws\Result stopRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result unpeerVpc(array $args = []) + * @method \GuzzleHttp\Promise\Promise unpeerVpcAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateDomainEntry(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainEntryAsync(array $args = []) + * @method \Aws\Result updateLoadBalancerAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLoadBalancerAttributeAsync(array $args = []) + * @method \Aws\Result updateRelationalDatabase(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRelationalDatabaseAsync(array $args = []) + * @method \Aws\Result updateRelationalDatabaseParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRelationalDatabaseParametersAsync(array $args = []) + */ +class LightsailClient extends AwsClient {} diff --git a/lib/aws/Aws/LruArrayCache.php b/lib/aws/Aws/LruArrayCache.php new file mode 100644 index 0000000..aef2dd5 --- /dev/null +++ b/lib/aws/Aws/LruArrayCache.php @@ -0,0 +1,79 @@ +<?php +namespace Aws; + +/** + * Simple in-memory LRU cache that limits the number of cached entries. + * + * The LRU cache is implemented using PHP's ordered associative array. When + * accessing an element, the element is removed from the hash and re-added to + * ensure that recently used items are always at the end of the list while + * least recently used are at the beginning. When a value is added to the + * cache, if the number of cached items exceeds the allowed number, the first + * N number of items are removed from the array. + */ +class LruArrayCache implements CacheInterface, \Countable +{ + /** @var int */ + private $maxItems; + + /** @var array */ + private $items = array(); + + /** + * @param int $maxItems Maximum number of allowed cache items. + */ + public function __construct($maxItems = 1000) + { + $this->maxItems = $maxItems; + } + + public function get($key) + { + if (!isset($this->items[$key])) { + return null; + } + + $entry = $this->items[$key]; + + // Ensure the item is not expired. + if (!$entry[1] || time() < $entry[1]) { + // LRU: remove the item and push it to the end of the array. + unset($this->items[$key]); + $this->items[$key] = $entry; + return $entry[0]; + } + + unset($this->items[$key]); + return null; + } + + public function set($key, $value, $ttl = 0) + { + // Only call time() if the TTL is not 0/false/null + $ttl = $ttl ? time() + $ttl : 0; + $this->items[$key] = [$value, $ttl]; + + // Determine if there are more items in the cache than allowed. + $diff = count($this->items) - $this->maxItems; + + // Clear out least recently used items. + if ($diff > 0) { + // Reset to the beginning of the array and begin unsetting. + reset($this->items); + for ($i = 0; $i < $diff; $i++) { + unset($this->items[key($this->items)]); + next($this->items); + } + } + } + + public function remove($key) + { + unset($this->items[$key]); + } + + public function count() + { + return count($this->items); + } +} diff --git a/lib/aws/Aws/MQ/Exception/MQException.php b/lib/aws/Aws/MQ/Exception/MQException.php new file mode 100644 index 0000000..ee3e64f --- /dev/null +++ b/lib/aws/Aws/MQ/Exception/MQException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MQ\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AmazonMQ** service. + */ +class MQException extends AwsException {} diff --git a/lib/aws/Aws/MQ/MQClient.php b/lib/aws/Aws/MQ/MQClient.php new file mode 100644 index 0000000..9dfb3d5 --- /dev/null +++ b/lib/aws/Aws/MQ/MQClient.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\MQ; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AmazonMQ** service. + * @method \Aws\Result createBroker(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBrokerAsync(array $args = []) + * @method \Aws\Result createConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteBroker(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBrokerAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result describeBroker(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBrokerAsync(array $args = []) + * @method \Aws\Result describeConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationAsync(array $args = []) + * @method \Aws\Result describeConfigurationRevision(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationRevisionAsync(array $args = []) + * @method \Aws\Result describeUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = []) + * @method \Aws\Result listBrokers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBrokersAsync(array $args = []) + * @method \Aws\Result listConfigurationRevisions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationRevisionsAsync(array $args = []) + * @method \Aws\Result listConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationsAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result rebootBroker(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootBrokerAsync(array $args = []) + * @method \Aws\Result updateBroker(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBrokerAsync(array $args = []) + * @method \Aws\Result updateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + */ +class MQClient extends AwsClient {} diff --git a/lib/aws/Aws/MTurk/Exception/MTurkException.php b/lib/aws/Aws/MTurk/Exception/MTurkException.php new file mode 100644 index 0000000..1eb6fdf --- /dev/null +++ b/lib/aws/Aws/MTurk/Exception/MTurkException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MTurk\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Mechanical Turk Requester Service** service. + */ +class MTurkException extends AwsException {} diff --git a/lib/aws/Aws/MTurk/MTurkClient.php b/lib/aws/Aws/MTurk/MTurkClient.php new file mode 100644 index 0000000..0ba074a --- /dev/null +++ b/lib/aws/Aws/MTurk/MTurkClient.php @@ -0,0 +1,87 @@ +<?php +namespace Aws\MTurk; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Mechanical Turk Requester Service** service. + * @method \Aws\Result acceptQualificationRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptQualificationRequestAsync(array $args = []) + * @method \Aws\Result approveAssignment(array $args = []) + * @method \GuzzleHttp\Promise\Promise approveAssignmentAsync(array $args = []) + * @method \Aws\Result associateQualificationWithWorker(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateQualificationWithWorkerAsync(array $args = []) + * @method \Aws\Result createAdditionalAssignmentsForHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAdditionalAssignmentsForHITAsync(array $args = []) + * @method \Aws\Result createHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHITAsync(array $args = []) + * @method \Aws\Result createHITType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHITTypeAsync(array $args = []) + * @method \Aws\Result createHITWithHITType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHITWithHITTypeAsync(array $args = []) + * @method \Aws\Result createQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise createQualificationTypeAsync(array $args = []) + * @method \Aws\Result createWorkerBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWorkerBlockAsync(array $args = []) + * @method \Aws\Result deleteHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHITAsync(array $args = []) + * @method \Aws\Result deleteQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteQualificationTypeAsync(array $args = []) + * @method \Aws\Result deleteWorkerBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWorkerBlockAsync(array $args = []) + * @method \Aws\Result disassociateQualificationFromWorker(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateQualificationFromWorkerAsync(array $args = []) + * @method \Aws\Result getAccountBalance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountBalanceAsync(array $args = []) + * @method \Aws\Result getAssignment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAssignmentAsync(array $args = []) + * @method \Aws\Result getFileUploadURL(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFileUploadURLAsync(array $args = []) + * @method \Aws\Result getHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHITAsync(array $args = []) + * @method \Aws\Result getQualificationScore(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQualificationScoreAsync(array $args = []) + * @method \Aws\Result getQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQualificationTypeAsync(array $args = []) + * @method \Aws\Result listAssignmentsForHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssignmentsForHITAsync(array $args = []) + * @method \Aws\Result listBonusPayments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBonusPaymentsAsync(array $args = []) + * @method \Aws\Result listHITs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHITsAsync(array $args = []) + * @method \Aws\Result listHITsForQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHITsForQualificationTypeAsync(array $args = []) + * @method \Aws\Result listQualificationRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQualificationRequestsAsync(array $args = []) + * @method \Aws\Result listQualificationTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQualificationTypesAsync(array $args = []) + * @method \Aws\Result listReviewPolicyResultsForHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReviewPolicyResultsForHITAsync(array $args = []) + * @method \Aws\Result listReviewableHITs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReviewableHITsAsync(array $args = []) + * @method \Aws\Result listWorkerBlocks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWorkerBlocksAsync(array $args = []) + * @method \Aws\Result listWorkersWithQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWorkersWithQualificationTypeAsync(array $args = []) + * @method \Aws\Result notifyWorkers(array $args = []) + * @method \GuzzleHttp\Promise\Promise notifyWorkersAsync(array $args = []) + * @method \Aws\Result rejectAssignment(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectAssignmentAsync(array $args = []) + * @method \Aws\Result rejectQualificationRequest(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectQualificationRequestAsync(array $args = []) + * @method \Aws\Result sendBonus(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendBonusAsync(array $args = []) + * @method \Aws\Result sendTestEventNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendTestEventNotificationAsync(array $args = []) + * @method \Aws\Result updateExpirationForHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateExpirationForHITAsync(array $args = []) + * @method \Aws\Result updateHITReviewStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateHITReviewStatusAsync(array $args = []) + * @method \Aws\Result updateHITTypeOfHIT(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateHITTypeOfHITAsync(array $args = []) + * @method \Aws\Result updateNotificationSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNotificationSettingsAsync(array $args = []) + * @method \Aws\Result updateQualificationType(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateQualificationTypeAsync(array $args = []) + */ +class MTurkClient extends AwsClient {} diff --git a/lib/aws/Aws/MachineLearning/Exception/MachineLearningException.php b/lib/aws/Aws/MachineLearning/Exception/MachineLearningException.php new file mode 100644 index 0000000..6421ca8 --- /dev/null +++ b/lib/aws/Aws/MachineLearning/Exception/MachineLearningException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MachineLearning\Exception; + +use Aws\Exception\AwsException; + +/** + * Amazon Machine Learning exception. + */ +class MachineLearningException extends AwsException {} diff --git a/lib/aws/Aws/MachineLearning/MachineLearningClient.php b/lib/aws/Aws/MachineLearning/MachineLearningClient.php new file mode 100644 index 0000000..72e5ae6 --- /dev/null +++ b/lib/aws/Aws/MachineLearning/MachineLearningClient.php @@ -0,0 +1,97 @@ +<?php +namespace Aws\MachineLearning; + +use Aws\AwsClient; +use Aws\CommandInterface; +use GuzzleHttp\Psr7\Uri; +use Psr\Http\Message\RequestInterface; + +/** + * Amazon Machine Learning client. + * + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result createBatchPrediction(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBatchPredictionAsync(array $args = []) + * @method \Aws\Result createDataSourceFromRDS(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDataSourceFromRDSAsync(array $args = []) + * @method \Aws\Result createDataSourceFromRedshift(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDataSourceFromRedshiftAsync(array $args = []) + * @method \Aws\Result createDataSourceFromS3(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDataSourceFromS3Async(array $args = []) + * @method \Aws\Result createEvaluation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEvaluationAsync(array $args = []) + * @method \Aws\Result createMLModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMLModelAsync(array $args = []) + * @method \Aws\Result createRealtimeEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRealtimeEndpointAsync(array $args = []) + * @method \Aws\Result deleteBatchPrediction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBatchPredictionAsync(array $args = []) + * @method \Aws\Result deleteDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDataSourceAsync(array $args = []) + * @method \Aws\Result deleteEvaluation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEvaluationAsync(array $args = []) + * @method \Aws\Result deleteMLModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMLModelAsync(array $args = []) + * @method \Aws\Result deleteRealtimeEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRealtimeEndpointAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeBatchPredictions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBatchPredictionsAsync(array $args = []) + * @method \Aws\Result describeDataSources(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDataSourcesAsync(array $args = []) + * @method \Aws\Result describeEvaluations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEvaluationsAsync(array $args = []) + * @method \Aws\Result describeMLModels(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMLModelsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result getBatchPrediction(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBatchPredictionAsync(array $args = []) + * @method \Aws\Result getDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDataSourceAsync(array $args = []) + * @method \Aws\Result getEvaluation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEvaluationAsync(array $args = []) + * @method \Aws\Result getMLModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMLModelAsync(array $args = []) + * @method \Aws\Result predict(array $args = []) + * @method \GuzzleHttp\Promise\Promise predictAsync(array $args = []) + * @method \Aws\Result updateBatchPrediction(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBatchPredictionAsync(array $args = []) + * @method \Aws\Result updateDataSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDataSourceAsync(array $args = []) + * @method \Aws\Result updateEvaluation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEvaluationAsync(array $args = []) + * @method \Aws\Result updateMLModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMLModelAsync(array $args = []) + */ +class MachineLearningClient extends AwsClient +{ + public function __construct(array $config) + { + parent::__construct($config); + $list = $this->getHandlerList(); + $list->appendBuild($this->predictEndpoint(), 'ml.predict_endpoint'); + } + + /** + * Changes the endpoint of the Predict operation to the provided endpoint. + * + * @return callable + */ + private function predictEndpoint() + { + return static function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler) { + if ($command->getName() === 'Predict') { + $request = $request->withUri(new Uri($command['PredictEndpoint'])); + } + return $handler($command, $request); + }; + }; + } +} diff --git a/lib/aws/Aws/Macie/Exception/MacieException.php b/lib/aws/Aws/Macie/Exception/MacieException.php new file mode 100644 index 0000000..825d802 --- /dev/null +++ b/lib/aws/Aws/Macie/Exception/MacieException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Macie\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Macie** service. + */ +class MacieException extends AwsException {} diff --git a/lib/aws/Aws/Macie/MacieClient.php b/lib/aws/Aws/Macie/MacieClient.php new file mode 100644 index 0000000..57d1888 --- /dev/null +++ b/lib/aws/Aws/Macie/MacieClient.php @@ -0,0 +1,23 @@ +<?php +namespace Aws\Macie; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Macie** service. + * @method \Aws\Result associateMemberAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateMemberAccountAsync(array $args = []) + * @method \Aws\Result associateS3Resources(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateS3ResourcesAsync(array $args = []) + * @method \Aws\Result disassociateMemberAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateMemberAccountAsync(array $args = []) + * @method \Aws\Result disassociateS3Resources(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateS3ResourcesAsync(array $args = []) + * @method \Aws\Result listMemberAccounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMemberAccountsAsync(array $args = []) + * @method \Aws\Result listS3Resources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listS3ResourcesAsync(array $args = []) + * @method \Aws\Result updateS3Resources(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateS3ResourcesAsync(array $args = []) + */ +class MacieClient extends AwsClient {} diff --git a/lib/aws/Aws/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php b/lib/aws/Aws/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php new file mode 100644 index 0000000..62e8926 --- /dev/null +++ b/lib/aws/Aws/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MarketplaceCommerceAnalytics\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Marketplace Commerce Analytics** service. + */ +class MarketplaceCommerceAnalyticsException extends AwsException {} diff --git a/lib/aws/Aws/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php b/lib/aws/Aws/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php new file mode 100644 index 0000000..1ef3bb1 --- /dev/null +++ b/lib/aws/Aws/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php @@ -0,0 +1,14 @@ +<?php +namespace Aws\MarketplaceCommerceAnalytics; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Marketplace Commerce Analytics** service. + * + * @method \Aws\Result generateDataSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateDataSetAsync(array $args = []) + * @method \Aws\Result startSupportDataExport(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSupportDataExportAsync(array $args = []) + */ +class MarketplaceCommerceAnalyticsClient extends AwsClient {} diff --git a/lib/aws/Aws/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php b/lib/aws/Aws/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php new file mode 100644 index 0000000..c419033 --- /dev/null +++ b/lib/aws/Aws/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MarketplaceEntitlementService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Marketplace Entitlement Service** service. + */ +class MarketplaceEntitlementServiceException extends AwsException {} diff --git a/lib/aws/Aws/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php b/lib/aws/Aws/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php new file mode 100644 index 0000000..6fee0b3 --- /dev/null +++ b/lib/aws/Aws/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\MarketplaceEntitlementService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Marketplace Entitlement Service** service. + * @method \Aws\Result getEntitlements(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEntitlementsAsync(array $args = []) + */ +class MarketplaceEntitlementServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/MarketplaceMetering/Exception/MarketplaceMeteringException.php b/lib/aws/Aws/MarketplaceMetering/Exception/MarketplaceMeteringException.php new file mode 100644 index 0000000..f90580b --- /dev/null +++ b/lib/aws/Aws/MarketplaceMetering/Exception/MarketplaceMeteringException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MarketplaceMetering\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWSMarketplace Metering** service. + */ +class MarketplaceMeteringException extends AwsException {} diff --git a/lib/aws/Aws/MarketplaceMetering/MarketplaceMeteringClient.php b/lib/aws/Aws/MarketplaceMetering/MarketplaceMeteringClient.php new file mode 100644 index 0000000..1f45ea6 --- /dev/null +++ b/lib/aws/Aws/MarketplaceMetering/MarketplaceMeteringClient.php @@ -0,0 +1,17 @@ +<?php +namespace Aws\MarketplaceMetering; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWSMarketplace Metering** service. + * @method \Aws\Result batchMeterUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchMeterUsageAsync(array $args = []) + * @method \Aws\Result meterUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise meterUsageAsync(array $args = []) + * @method \Aws\Result registerUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerUsageAsync(array $args = []) + * @method \Aws\Result resolveCustomer(array $args = []) + * @method \GuzzleHttp\Promise\Promise resolveCustomerAsync(array $args = []) + */ +class MarketplaceMeteringClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaConnect/Exception/MediaConnectException.php b/lib/aws/Aws/MediaConnect/Exception/MediaConnectException.php new file mode 100644 index 0000000..5f1389f --- /dev/null +++ b/lib/aws/Aws/MediaConnect/Exception/MediaConnectException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaConnect\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS MediaConnect** service. + */ +class MediaConnectException extends AwsException {} diff --git a/lib/aws/Aws/MediaConnect/MediaConnectClient.php b/lib/aws/Aws/MediaConnect/MediaConnectClient.php new file mode 100644 index 0000000..0520a43 --- /dev/null +++ b/lib/aws/Aws/MediaConnect/MediaConnectClient.php @@ -0,0 +1,43 @@ +<?php +namespace Aws\MediaConnect; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS MediaConnect** service. + * @method \Aws\Result addFlowOutputs(array $args = []) + * @method \GuzzleHttp\Promise\Promise addFlowOutputsAsync(array $args = []) + * @method \Aws\Result createFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFlowAsync(array $args = []) + * @method \Aws\Result deleteFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFlowAsync(array $args = []) + * @method \Aws\Result describeFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFlowAsync(array $args = []) + * @method \Aws\Result grantFlowEntitlements(array $args = []) + * @method \GuzzleHttp\Promise\Promise grantFlowEntitlementsAsync(array $args = []) + * @method \Aws\Result listEntitlements(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEntitlementsAsync(array $args = []) + * @method \Aws\Result listFlows(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFlowsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result removeFlowOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeFlowOutputAsync(array $args = []) + * @method \Aws\Result revokeFlowEntitlement(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeFlowEntitlementAsync(array $args = []) + * @method \Aws\Result startFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise startFlowAsync(array $args = []) + * @method \Aws\Result stopFlow(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopFlowAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateFlowEntitlement(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFlowEntitlementAsync(array $args = []) + * @method \Aws\Result updateFlowOutput(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFlowOutputAsync(array $args = []) + * @method \Aws\Result updateFlowSource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFlowSourceAsync(array $args = []) + */ +class MediaConnectClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaConvert/Exception/MediaConvertException.php b/lib/aws/Aws/MediaConvert/Exception/MediaConvertException.php new file mode 100644 index 0000000..50d3c42 --- /dev/null +++ b/lib/aws/Aws/MediaConvert/Exception/MediaConvertException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaConvert\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Elemental MediaConvert** service. + */ +class MediaConvertException extends AwsException {} diff --git a/lib/aws/Aws/MediaConvert/MediaConvertClient.php b/lib/aws/Aws/MediaConvert/MediaConvertClient.php new file mode 100644 index 0000000..00beddb --- /dev/null +++ b/lib/aws/Aws/MediaConvert/MediaConvertClient.php @@ -0,0 +1,59 @@ +<?php +namespace Aws\MediaConvert; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elemental MediaConvert** service. + * @method \Aws\Result associateCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateCertificateAsync(array $args = []) + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result createJobTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobTemplateAsync(array $args = []) + * @method \Aws\Result createPreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPresetAsync(array $args = []) + * @method \Aws\Result createQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise createQueueAsync(array $args = []) + * @method \Aws\Result deleteJobTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteJobTemplateAsync(array $args = []) + * @method \Aws\Result deletePreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePresetAsync(array $args = []) + * @method \Aws\Result deleteQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteQueueAsync(array $args = []) + * @method \Aws\Result describeEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointsAsync(array $args = []) + * @method \Aws\Result disassociateCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateCertificateAsync(array $args = []) + * @method \Aws\Result getJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = []) + * @method \Aws\Result getJobTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobTemplateAsync(array $args = []) + * @method \Aws\Result getPreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPresetAsync(array $args = []) + * @method \Aws\Result getQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueueAsync(array $args = []) + * @method \Aws\Result listJobTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobTemplatesAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result listPresets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPresetsAsync(array $args = []) + * @method \Aws\Result listQueues(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQueuesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateJobTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobTemplateAsync(array $args = []) + * @method \Aws\Result updatePreset(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePresetAsync(array $args = []) + * @method \Aws\Result updateQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateQueueAsync(array $args = []) + */ +class MediaConvertClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaLive/Exception/MediaLiveException.php b/lib/aws/Aws/MediaLive/Exception/MediaLiveException.php new file mode 100644 index 0000000..1a95186 --- /dev/null +++ b/lib/aws/Aws/MediaLive/Exception/MediaLiveException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaLive\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Elemental MediaLive** service. + */ +class MediaLiveException extends AwsException {} diff --git a/lib/aws/Aws/MediaLive/MediaLiveClient.php b/lib/aws/Aws/MediaLive/MediaLiveClient.php new file mode 100644 index 0000000..c8be69a --- /dev/null +++ b/lib/aws/Aws/MediaLive/MediaLiveClient.php @@ -0,0 +1,67 @@ +<?php +namespace Aws\MediaLive; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elemental MediaLive** service. + * @method \Aws\Result batchUpdateSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchUpdateScheduleAsync(array $args = []) + * @method \Aws\Result createChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createChannelAsync(array $args = []) + * @method \Aws\Result createInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInputAsync(array $args = []) + * @method \Aws\Result createInputSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInputSecurityGroupAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result deleteChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteChannelAsync(array $args = []) + * @method \Aws\Result deleteInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInputAsync(array $args = []) + * @method \Aws\Result deleteInputSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInputSecurityGroupAsync(array $args = []) + * @method \Aws\Result deleteReservation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReservationAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeChannelAsync(array $args = []) + * @method \Aws\Result describeInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInputAsync(array $args = []) + * @method \Aws\Result describeInputSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInputSecurityGroupAsync(array $args = []) + * @method \Aws\Result describeOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOfferingAsync(array $args = []) + * @method \Aws\Result describeReservation(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservationAsync(array $args = []) + * @method \Aws\Result describeSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeScheduleAsync(array $args = []) + * @method \Aws\Result listChannels(array $args = []) + * @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = []) + * @method \Aws\Result listInputSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInputSecurityGroupsAsync(array $args = []) + * @method \Aws\Result listInputs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInputsAsync(array $args = []) + * @method \Aws\Result listOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOfferingsAsync(array $args = []) + * @method \Aws\Result listReservations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReservationsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result purchaseOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseOfferingAsync(array $args = []) + * @method \Aws\Result startChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise startChannelAsync(array $args = []) + * @method \Aws\Result stopChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopChannelAsync(array $args = []) + * @method \Aws\Result updateChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateChannelAsync(array $args = []) + * @method \Aws\Result updateInput(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInputAsync(array $args = []) + * @method \Aws\Result updateInputSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInputSecurityGroupAsync(array $args = []) + * @method \Aws\Result updateReservation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateReservationAsync(array $args = []) + */ +class MediaLiveClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaPackage/Exception/MediaPackageException.php b/lib/aws/Aws/MediaPackage/Exception/MediaPackageException.php new file mode 100644 index 0000000..042ba3d --- /dev/null +++ b/lib/aws/Aws/MediaPackage/Exception/MediaPackageException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaPackage\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Elemental MediaPackage** service. + */ +class MediaPackageException extends AwsException {} diff --git a/lib/aws/Aws/MediaPackage/MediaPackageClient.php b/lib/aws/Aws/MediaPackage/MediaPackageClient.php new file mode 100644 index 0000000..a98844b --- /dev/null +++ b/lib/aws/Aws/MediaPackage/MediaPackageClient.php @@ -0,0 +1,39 @@ +<?php +namespace Aws\MediaPackage; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elemental MediaPackage** service. + * @method \Aws\Result createChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createChannelAsync(array $args = []) + * @method \Aws\Result createOriginEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOriginEndpointAsync(array $args = []) + * @method \Aws\Result deleteChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteChannelAsync(array $args = []) + * @method \Aws\Result deleteOriginEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOriginEndpointAsync(array $args = []) + * @method \Aws\Result describeChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeChannelAsync(array $args = []) + * @method \Aws\Result describeOriginEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOriginEndpointAsync(array $args = []) + * @method \Aws\Result listChannels(array $args = []) + * @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = []) + * @method \Aws\Result listOriginEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOriginEndpointsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result rotateChannelCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise rotateChannelCredentialsAsync(array $args = []) + * @method \Aws\Result rotateIngestEndpointCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise rotateIngestEndpointCredentialsAsync(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 updateChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateChannelAsync(array $args = []) + * @method \Aws\Result updateOriginEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateOriginEndpointAsync(array $args = []) + */ +class MediaPackageClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaStore/Exception/MediaStoreException.php b/lib/aws/Aws/MediaStore/Exception/MediaStoreException.php new file mode 100644 index 0000000..16939e3 --- /dev/null +++ b/lib/aws/Aws/MediaStore/Exception/MediaStoreException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaStore\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Elemental MediaStore** service. + */ +class MediaStoreException extends AwsException {} diff --git a/lib/aws/Aws/MediaStore/MediaStoreClient.php b/lib/aws/Aws/MediaStore/MediaStoreClient.php new file mode 100644 index 0000000..8acb274 --- /dev/null +++ b/lib/aws/Aws/MediaStore/MediaStoreClient.php @@ -0,0 +1,39 @@ +<?php +namespace Aws\MediaStore; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elemental MediaStore** service. + * @method \Aws\Result createContainer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createContainerAsync(array $args = []) + * @method \Aws\Result deleteContainer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteContainerAsync(array $args = []) + * @method \Aws\Result deleteContainerPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteContainerPolicyAsync(array $args = []) + * @method \Aws\Result deleteCorsPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCorsPolicyAsync(array $args = []) + * @method \Aws\Result deleteLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result describeContainer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeContainerAsync(array $args = []) + * @method \Aws\Result getContainerPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContainerPolicyAsync(array $args = []) + * @method \Aws\Result getCorsPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCorsPolicyAsync(array $args = []) + * @method \Aws\Result getLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result listContainers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listContainersAsync(array $args = []) + * @method \Aws\Result putContainerPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putContainerPolicyAsync(array $args = []) + * @method \Aws\Result putCorsPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putCorsPolicyAsync(array $args = []) + * @method \Aws\Result putLifecyclePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLifecyclePolicyAsync(array $args = []) + * @method \Aws\Result startAccessLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise startAccessLoggingAsync(array $args = []) + * @method \Aws\Result stopAccessLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopAccessLoggingAsync(array $args = []) + */ +class MediaStoreClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaStoreData/Exception/MediaStoreDataException.php b/lib/aws/Aws/MediaStoreData/Exception/MediaStoreDataException.php new file mode 100644 index 0000000..62e5b9a --- /dev/null +++ b/lib/aws/Aws/MediaStoreData/Exception/MediaStoreDataException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaStoreData\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Elemental MediaStore Data Plane** service. + */ +class MediaStoreDataException extends AwsException {} diff --git a/lib/aws/Aws/MediaStoreData/MediaStoreDataClient.php b/lib/aws/Aws/MediaStoreData/MediaStoreDataClient.php new file mode 100644 index 0000000..5651cae --- /dev/null +++ b/lib/aws/Aws/MediaStoreData/MediaStoreDataClient.php @@ -0,0 +1,19 @@ +<?php +namespace Aws\MediaStoreData; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Elemental MediaStore Data Plane** service. + * @method \Aws\Result deleteObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = []) + * @method \Aws\Result describeObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeObjectAsync(array $args = []) + * @method \Aws\Result getObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAsync(array $args = []) + * @method \Aws\Result listItems(array $args = []) + * @method \GuzzleHttp\Promise\Promise listItemsAsync(array $args = []) + * @method \Aws\Result putObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectAsync(array $args = []) + */ +class MediaStoreDataClient extends AwsClient {} diff --git a/lib/aws/Aws/MediaTailor/Exception/MediaTailorException.php b/lib/aws/Aws/MediaTailor/Exception/MediaTailorException.php new file mode 100644 index 0000000..0598928 --- /dev/null +++ b/lib/aws/Aws/MediaTailor/Exception/MediaTailorException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MediaTailor\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS MediaTailor** service. + */ +class MediaTailorException extends AwsException {} diff --git a/lib/aws/Aws/MediaTailor/MediaTailorClient.php b/lib/aws/Aws/MediaTailor/MediaTailorClient.php new file mode 100644 index 0000000..c36eeec --- /dev/null +++ b/lib/aws/Aws/MediaTailor/MediaTailorClient.php @@ -0,0 +1,23 @@ +<?php +namespace Aws\MediaTailor; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS MediaTailor** service. + * @method \Aws\Result deletePlaybackConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePlaybackConfigurationAsync(array $args = []) + * @method \Aws\Result getPlaybackConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPlaybackConfigurationAsync(array $args = []) + * @method \Aws\Result listPlaybackConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPlaybackConfigurationsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putPlaybackConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPlaybackConfigurationAsync(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 MediaTailorClient extends AwsClient {} diff --git a/lib/aws/Aws/Middleware.php b/lib/aws/Aws/Middleware.php new file mode 100644 index 0000000..fd64a42 --- /dev/null +++ b/lib/aws/Aws/Middleware.php @@ -0,0 +1,372 @@ +<?php +namespace Aws; + +use Aws\Api\Service; +use Aws\Api\Validator; +use Aws\Credentials\CredentialsInterface; +use Aws\Exception\AwsException; +use GuzzleHttp\Promise; +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\LazyOpenStream; +use Psr\Http\Message\RequestInterface; + +final class Middleware +{ + /** + * Middleware used to allow a command parameter (e.g., "SourceFile") to + * be used to specify the source of data for an upload operation. + * + * @param Service $api + * @param string $bodyParameter + * @param string $sourceParameter + * + * @return callable + */ + public static function sourceFile( + Service $api, + $bodyParameter = 'Body', + $sourceParameter = 'SourceFile' + ) { + return function (callable $handler) use ( + $api, + $bodyParameter, + $sourceParameter + ) { + return function ( + CommandInterface $command, + RequestInterface $request = null) + use ( + $handler, + $api, + $bodyParameter, + $sourceParameter + ) { + $operation = $api->getOperation($command->getName()); + $source = $command[$sourceParameter]; + + if ($source !== null + && $operation->getInput()->hasMember($bodyParameter) + ) { + $command[$bodyParameter] = new LazyOpenStream($source, 'r'); + unset($command[$sourceParameter]); + } + + return $handler($command, $request); + }; + }; + } + + /** + * Adds a middleware that uses client-side validation. + * + * @param Service $api API being accessed. + * + * @return callable + */ + public static function validation(Service $api, Validator $validator = null) + { + $validator = $validator ?: new Validator(); + return function (callable $handler) use ($api, $validator) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($api, $validator, $handler) { + $operation = $api->getOperation($command->getName()); + $validator->validate( + $command->getName(), + $operation->getInput(), + $command->toArray() + ); + return $handler($command, $request); + }; + }; + } + + /** + * Builds an HTTP request for a command. + * + * @param callable $serializer Function used to serialize a request for a + * command. + * @return callable + */ + public static function requestBuilder(callable $serializer) + { + return function (callable $handler) use ($serializer) { + return function (CommandInterface $command) use ($serializer, $handler) { + return $handler($command, $serializer($command)); + }; + }; + } + + /** + * Creates a middleware that signs requests for a command. + * + * @param callable $credProvider Credentials provider function that + * returns a promise that is resolved + * with a CredentialsInterface object. + * @param callable $signatureFunction Function that accepts a Command + * object and returns a + * SignatureInterface. + * + * @return callable + */ + public static function signer(callable $credProvider, callable $signatureFunction) + { + return function (callable $handler) use ($signatureFunction, $credProvider) { + return function ( + CommandInterface $command, + RequestInterface $request + ) use ($handler, $signatureFunction, $credProvider) { + $signer = $signatureFunction($command); + return $credProvider()->then( + function (CredentialsInterface $creds) + use ($handler, $command, $signer, $request) { + return $handler( + $command, + $signer->signRequest($request, $creds) + ); + } + ); + }; + }; + } + + /** + * Creates a middleware that invokes a callback at a given step. + * + * The tap callback accepts a CommandInterface and RequestInterface as + * arguments but is not expected to return a new value or proxy to + * downstream middleware. It's simply a way to "tap" into the handler chain + * to debug or get an intermediate value. + * + * @param callable $fn Tap function + * + * @return callable + */ + public static function tap(callable $fn) + { + return function (callable $handler) use ($fn) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $fn) { + $fn($command, $request); + return $handler($command, $request); + }; + }; + } + + /** + * Middleware wrapper function that retries requests based on the boolean + * result of invoking the provided "decider" function. + * + * If no delay function is provided, a simple implementation of exponential + * backoff will be utilized. + * + * @param callable $decider Function that accepts the number of retries, + * a request, [result], and [exception] and + * returns true if the command is to be retried. + * @param callable $delay Function that accepts the number of retries and + * returns the number of milliseconds to delay. + * @param bool $stats Whether to collect statistics on retries and the + * associated delay. + * + * @return callable + */ + public static function retry( + callable $decider = null, + callable $delay = null, + $stats = false + ) { + $decider = $decider ?: RetryMiddleware::createDefaultDecider(); + $delay = $delay ?: [RetryMiddleware::class, 'exponentialDelay']; + + return function (callable $handler) use ($decider, $delay, $stats) { + return new RetryMiddleware($decider, $delay, $handler, $stats); + }; + } + /** + * Middleware wrapper function that adds an invocation id header to + * requests, which is only applied after the build step. + * + * This is a uniquely generated UUID to identify initial and subsequent + * retries as part of a complete request lifecycle. + * + * @return callable + */ + public static function invocationId() + { + return function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request + ) use ($handler){ + return $handler($command, $request->withHeader( + 'aws-sdk-invocation-id', + md5(uniqid(gethostname(), true)) + )); + }; + }; + } + /** + * Middleware wrapper function that adds a Content-Type header to requests. + * This is only done when the Content-Type has not already been set, and the + * request body's URI is available. It then checks the file extension of the + * URI to determine the mime-type. + * + * @param array $operations Operations that Content-Type should be added to. + * + * @return callable + */ + public static function contentType(array $operations) + { + return function (callable $handler) use ($operations) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $operations) { + if (!$request->hasHeader('Content-Type') + && in_array($command->getName(), $operations, true) + && ($uri = $request->getBody()->getMetadata('uri')) + ) { + $request = $request->withHeader( + 'Content-Type', + Psr7\mimetype_from_filename($uri) ?: 'application/octet-stream' + ); + } + + return $handler($command, $request); + }; + }; + } + + /** + * Tracks command and request history using a history container. + * + * This is useful for testing. + * + * @param History $history History container to store entries. + * + * @return callable + */ + public static function history(History $history) + { + return function (callable $handler) use ($history) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $history) { + $ticket = $history->start($command, $request); + return $handler($command, $request) + ->then( + function ($result) use ($history, $ticket) { + $history->finish($ticket, $result); + return $result; + }, + function ($reason) use ($history, $ticket) { + $history->finish($ticket, $reason); + return Promise\rejection_for($reason); + } + ); + }; + }; + } + + /** + * Creates a middleware that applies a map function to requests as they + * pass through the middleware. + * + * @param callable $f Map function that accepts a RequestInterface and + * returns a RequestInterface. + * + * @return callable + */ + public static function mapRequest(callable $f) + { + return function (callable $handler) use ($f) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $f) { + return $handler($command, $f($request)); + }; + }; + } + + /** + * Creates a middleware that applies a map function to commands as they + * pass through the middleware. + * + * @param callable $f Map function that accepts a command and returns a + * command. + * + * @return callable + */ + public static function mapCommand(callable $f) + { + return function (callable $handler) use ($f) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $f) { + return $handler($f($command), $request); + }; + }; + } + + /** + * Creates a middleware that applies a map function to results. + * + * @param callable $f Map function that accepts an Aws\ResultInterface and + * returns an Aws\ResultInterface. + * + * @return callable + */ + public static function mapResult(callable $f) + { + return function (callable $handler) use ($f) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, $f) { + return $handler($command, $request)->then($f); + }; + }; + } + + public static function timer() + { + return function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler) { + $start = microtime(true); + return $handler($command, $request) + ->then( + function (ResultInterface $res) use ($start) { + if (!isset($res['@metadata'])) { + $res['@metadata'] = []; + } + if (!isset($res['@metadata']['transferStats'])) { + $res['@metadata']['transferStats'] = []; + } + + $res['@metadata']['transferStats']['total_time'] + = microtime(true) - $start; + + return $res; + }, + function ($err) use ($start) { + if ($err instanceof AwsException) { + $err->setTransferInfo([ + 'total_time' => microtime(true) - $start, + ] + $err->getTransferInfo()); + } + return Promise\rejection_for($err); + } + ); + }; + }; + } +} diff --git a/lib/aws/Aws/MigrationHub/Exception/MigrationHubException.php b/lib/aws/Aws/MigrationHub/Exception/MigrationHubException.php new file mode 100644 index 0000000..4fc3c5d --- /dev/null +++ b/lib/aws/Aws/MigrationHub/Exception/MigrationHubException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\MigrationHub\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Migration Hub** service. + */ +class MigrationHubException extends AwsException {} diff --git a/lib/aws/Aws/MigrationHub/MigrationHubClient.php b/lib/aws/Aws/MigrationHub/MigrationHubClient.php new file mode 100644 index 0000000..954721b --- /dev/null +++ b/lib/aws/Aws/MigrationHub/MigrationHubClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\MigrationHub; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Migration Hub** service. + * @method \Aws\Result associateCreatedArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateCreatedArtifactAsync(array $args = []) + * @method \Aws\Result associateDiscoveredResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDiscoveredResourceAsync(array $args = []) + * @method \Aws\Result createProgressUpdateStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProgressUpdateStreamAsync(array $args = []) + * @method \Aws\Result deleteProgressUpdateStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProgressUpdateStreamAsync(array $args = []) + * @method \Aws\Result describeApplicationState(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeApplicationStateAsync(array $args = []) + * @method \Aws\Result describeMigrationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMigrationTaskAsync(array $args = []) + * @method \Aws\Result disassociateCreatedArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateCreatedArtifactAsync(array $args = []) + * @method \Aws\Result disassociateDiscoveredResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDiscoveredResourceAsync(array $args = []) + * @method \Aws\Result importMigrationTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise importMigrationTaskAsync(array $args = []) + * @method \Aws\Result listCreatedArtifacts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCreatedArtifactsAsync(array $args = []) + * @method \Aws\Result listDiscoveredResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDiscoveredResourcesAsync(array $args = []) + * @method \Aws\Result listMigrationTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMigrationTasksAsync(array $args = []) + * @method \Aws\Result listProgressUpdateStreams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProgressUpdateStreamsAsync(array $args = []) + * @method \Aws\Result notifyApplicationState(array $args = []) + * @method \GuzzleHttp\Promise\Promise notifyApplicationStateAsync(array $args = []) + * @method \Aws\Result notifyMigrationTaskState(array $args = []) + * @method \GuzzleHttp\Promise\Promise notifyMigrationTaskStateAsync(array $args = []) + * @method \Aws\Result putResourceAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putResourceAttributesAsync(array $args = []) + */ +class MigrationHubClient extends AwsClient {} diff --git a/lib/aws/Aws/Mobile/Exception/MobileException.php b/lib/aws/Aws/Mobile/Exception/MobileException.php new file mode 100644 index 0000000..f6ffd35 --- /dev/null +++ b/lib/aws/Aws/Mobile/Exception/MobileException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Mobile\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Mobile** service. + */ +class MobileException extends AwsException {} diff --git a/lib/aws/Aws/Mobile/MobileClient.php b/lib/aws/Aws/Mobile/MobileClient.php new file mode 100644 index 0000000..1a403f7 --- /dev/null +++ b/lib/aws/Aws/Mobile/MobileClient.php @@ -0,0 +1,27 @@ +<?php +namespace Aws\Mobile; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Mobile** service. + * @method \Aws\Result createProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProjectAsync(array $args = []) + * @method \Aws\Result deleteProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProjectAsync(array $args = []) + * @method \Aws\Result describeBundle(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBundleAsync(array $args = []) + * @method \Aws\Result describeProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProjectAsync(array $args = []) + * @method \Aws\Result exportBundle(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportBundleAsync(array $args = []) + * @method \Aws\Result exportProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportProjectAsync(array $args = []) + * @method \Aws\Result listBundles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBundlesAsync(array $args = []) + * @method \Aws\Result listProjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProjectsAsync(array $args = []) + * @method \Aws\Result updateProject(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProjectAsync(array $args = []) + */ +class MobileClient extends AwsClient {} diff --git a/lib/aws/Aws/MockHandler.php b/lib/aws/Aws/MockHandler.php new file mode 100644 index 0000000..63a0394 --- /dev/null +++ b/lib/aws/Aws/MockHandler.php @@ -0,0 +1,145 @@ +<?php +namespace Aws; + +use Aws\Exception\AwsException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\RejectedPromise; +use Psr\Http\Message\RequestInterface; + +/** + * Returns promises that are rejected or fulfilled using a queue of + * Aws\ResultInterface and Aws\Exception\AwsException objects. + */ +class MockHandler implements \Countable +{ + private $queue; + private $lastCommand; + private $lastRequest; + private $onFulfilled; + private $onRejected; + + /** + * The passed in value must be an array of {@see Aws\ResultInterface} or + * {@see AwsException} objects that acts as a queue of results or + * exceptions to return each time the handler is invoked. + * + * @param array $resultOrQueue + * @param callable $onFulfilled Callback to invoke when the return value is fulfilled. + * @param callable $onRejected Callback to invoke when the return value is rejected. + */ + public function __construct( + array $resultOrQueue = [], + callable $onFulfilled = null, + callable $onRejected = null + ) { + $this->onFulfilled = $onFulfilled; + $this->onRejected = $onRejected; + + if ($resultOrQueue) { + call_user_func_array([$this, 'append'], $resultOrQueue); + } + } + + /** + * Adds one or more variadic ResultInterface or AwsException objects to the + * queue. + */ + public function append() + { + foreach (func_get_args() as $value) { + if ($value instanceof ResultInterface + || $value instanceof AwsException + || is_callable($value) + ) { + $this->queue[] = $value; + } else { + throw new \InvalidArgumentException('Expected an Aws\ResultInterface or Aws\Exception\AwsException.'); + } + } + } + + /** + * Adds one or more \Exception or \Throwable to the queue + */ + public function appendException() + { + foreach (func_get_args() as $value) { + if ($value instanceof \Exception || $value instanceof \Throwable) { + $this->queue[] = $value; + } else { + throw new \InvalidArgumentException('Expected an \Exception or \Throwable.'); + } + } + } + + public function __invoke( + CommandInterface $command, + RequestInterface $request + ) { + if (!$this->queue) { + $last = $this->lastCommand + ? ' The last command sent was ' . $this->lastCommand->getName() . '.' + : ''; + throw new \RuntimeException('Mock queue is empty. Trying to send a ' + . $command->getName() . ' command failed.' . $last); + } + + $this->lastCommand = $command; + $this->lastRequest = $request; + + $result = array_shift($this->queue); + + if (is_callable($result)) { + $result = $result($command, $request); + } + + if ($result instanceof \Exception) { + $result = new RejectedPromise($result); + } else { + // Add an effective URI and statusCode if not present. + $meta = $result['@metadata']; + if (!isset($meta['effectiveUri'])) { + $meta['effectiveUri'] = (string) $request->getUri(); + } + if (!isset($meta['statusCode'])) { + $meta['statusCode'] = 200; + } + $result['@metadata'] = $meta; + $result = Promise\promise_for($result); + } + + $result->then($this->onFulfilled, $this->onRejected); + + return $result; + } + + /** + * Get the last received request. + * + * @return RequestInterface + */ + public function getLastRequest() + { + return $this->lastRequest; + } + + /** + * Get the last received command. + * + * @return CommandInterface + */ + public function getLastCommand() + { + return $this->lastCommand; + } + + /** + * Returns the number of remaining items in the queue. + * + * @return int + */ + public function count() + { + return count($this->queue); + } +} diff --git a/lib/aws/Aws/MonitoringEventsInterface.php b/lib/aws/Aws/MonitoringEventsInterface.php new file mode 100644 index 0000000..3202c40 --- /dev/null +++ b/lib/aws/Aws/MonitoringEventsInterface.php @@ -0,0 +1,32 @@ +<?php +namespace Aws; + +/** + * Interface for adding and retrieving client-side monitoring events + */ +interface MonitoringEventsInterface +{ + + /** + * Get client-side monitoring events attached to this object. Each event is + * represented as an associative array within the returned array. + * + * @return array + */ + public function getMonitoringEvents(); + + /** + * Prepend a client-side monitoring event to this object's event list + * + * @param array $event + */ + public function prependMonitoringEvent(array $event); + + /** + * Append a client-side monitoring event to this object's event list + * + * @param array $event + */ + public function appendMonitoringEvent(array $event); + +} diff --git a/lib/aws/Aws/MultiRegionClient.php b/lib/aws/Aws/MultiRegionClient.php new file mode 100644 index 0000000..65388b7 --- /dev/null +++ b/lib/aws/Aws/MultiRegionClient.php @@ -0,0 +1,236 @@ +<?php +namespace Aws; + +use Aws\Endpoint\PartitionEndpointProvider; +use Aws\Endpoint\PartitionInterface; + +class MultiRegionClient implements AwsClientInterface +{ + use AwsClientTrait; + + /** @var AwsClientInterface[] A pool of clients keyed by region. */ + private $clientPool = []; + /** @var callable */ + private $factory; + /** @var PartitionInterface */ + private $partition; + /** @var array */ + private $args; + /** @var array */ + private $config; + /** @var HandlerList */ + private $handlerList; + + public static function getArguments() + { + $args = array_intersect_key( + ClientResolver::getDefaultArguments(), + ['service' => true, 'region' => true] + ); + $args['region']['required'] = false; + + return $args + [ + 'client_factory' => [ + 'type' => 'config', + 'valid' => ['callable'], + 'doc' => 'A callable that takes an array of client' + . ' configuration arguments and returns a regionalized' + . ' client.', + 'required' => true, + 'internal' => true, + 'default' => function (array $args) { + $namespace = manifest($args['service'])['namespace']; + $klass = "Aws\\{$namespace}\\{$namespace}Client"; + $region = isset($args['region']) ? $args['region'] : null; + + return function (array $args) use ($klass, $region) { + if ($region && empty($args['region'])) { + $args['region'] = $region; + } + + return new $klass($args); + }; + }, + ], + 'partition' => [ + 'type' => 'config', + 'valid' => ['string', PartitionInterface::class], + 'doc' => 'AWS partition to connect to. Valid partitions' + . ' include "aws," "aws-cn," and "aws-us-gov." Used to' + . ' restrict the scope of the mapRegions method.', + 'default' => function (array $args) { + $region = isset($args['region']) ? $args['region'] : ''; + return PartitionEndpointProvider::defaultProvider() + ->getPartition($region, $args['service']); + }, + 'fn' => function ($value, array &$args) { + if (is_string($value)) { + $value = PartitionEndpointProvider::defaultProvider() + ->getPartitionByName($value); + } + + if (!$value instanceof PartitionInterface) { + throw new \InvalidArgumentException('No valid partition' + . ' was provided. Provide a concrete partition or' + . ' the name of a partition (e.g., "aws," "aws-cn,"' + . ' or "aws-us-gov").' + ); + } + + $args['partition'] = $value; + $args['endpoint_provider'] = $value; + } + ], + ]; + } + + /** + * The multi-region client constructor accepts the following options: + * + * - client_factory: (callable) An optional callable that takes an array of + * client configuration arguments and returns a regionalized client. + * - partition: (Aws\Endpoint\Partition|string) AWS partition to connect to. + * Valid partitions include "aws," "aws-cn," and "aws-us-gov." Used to + * restrict the scope of the mapRegions method. + * - region: (string) Region to connect to when no override is provided. + * Used to create the default client factory and determine the appropriate + * AWS partition when present. + * + * @param array $args Client configuration arguments. + */ + public function __construct(array $args = []) + { + if (!isset($args['service'])) { + $args['service'] = $this->parseClass(); + } + + $this->handlerList = new HandlerList(function ( + CommandInterface $command + ) { + list($region, $args) = $this->getRegionFromArgs($command->toArray()); + $command = $this->getClientFromPool($region) + ->getCommand($command->getName(), $args); + return $this->executeAsync($command); + }); + + $argDefinitions = static::getArguments(); + $resolver = new ClientResolver($argDefinitions); + $args = $resolver->resolve($args, $this->handlerList); + $this->config = $args['config']; + $this->factory = $args['client_factory']; + $this->partition = $args['partition']; + $this->args = array_diff_key($args, $args['config']); + } + + /** + * Get the region to which the client is configured to send requests by + * default. + * + * @return string + */ + public function getRegion() + { + return $this->getClientFromPool()->getRegion(); + } + + /** + * Create a command for an operation name. + * + * Special keys may be set on the command to control how it behaves, + * including: + * + * - @http: Associative array of transfer specific options to apply to the + * request that is serialized for this command. Available keys include + * "proxy", "verify", "timeout", "connect_timeout", "debug", "delay", and + * "headers". + * - @region: The region to which the command should be sent. + * + * @param string $name Name of the operation to use in the command + * @param array $args Arguments to pass to the command + * + * @return CommandInterface + * @throws \InvalidArgumentException if no command can be found by name + */ + public function getCommand($name, array $args = []) + { + return new Command($name, $args, clone $this->getHandlerList()); + } + + public function getConfig($option = null) + { + if (null === $option) { + return $this->config; + } + + if (isset($this->config[$option])) { + return $this->config[$option]; + } + + return $this->getClientFromPool()->getConfig($option); + } + + public function getCredentials() + { + return $this->getClientFromPool()->getCredentials(); + } + + public function getHandlerList() + { + return $this->handlerList; + } + + public function getApi() + { + return $this->getClientFromPool()->getApi(); + } + + public function getEndpoint() + { + return $this->getClientFromPool()->getEndpoint(); + } + + /** + * @param string $region Omit this argument or pass in an empty string to + * allow the configured client factory to apply the + * region. + * + * @return AwsClientInterface + */ + protected function getClientFromPool($region = '') + { + if (empty($this->clientPool[$region])) { + $factory = $this->factory; + $this->clientPool[$region] = $factory( + array_replace($this->args, array_filter(['region' => $region])) + ); + } + + return $this->clientPool[$region]; + } + + /** + * Parse the class name and return the "service" name of the client. + * + * @return string + */ + private function parseClass() + { + $klass = get_class($this); + + if ($klass === __CLASS__) { + return ''; + } + + return strtolower(substr($klass, strrpos($klass, '\\') + 1, -17)); + } + + private function getRegionFromArgs(array $args) + { + $region = isset($args['@region']) + ? $args['@region'] + : $this->getRegion(); + unset($args['@region']); + + return [$region, $args]; + } +} diff --git a/lib/aws/Aws/Multipart/AbstractUploadManager.php b/lib/aws/Aws/Multipart/AbstractUploadManager.php new file mode 100644 index 0000000..9a53e94 --- /dev/null +++ b/lib/aws/Aws/Multipart/AbstractUploadManager.php @@ -0,0 +1,305 @@ +<?php +namespace Aws\Multipart; + +use Aws\AwsClientInterface as Client; +use Aws\CommandInterface; +use Aws\CommandPool; +use Aws\Exception\AwsException; +use Aws\Exception\MultipartUploadException; +use Aws\Result; +use Aws\ResultInterface; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromiseInterface; +use InvalidArgumentException as IAE; +use Psr\Http\Message\RequestInterface; + +/** + * Encapsulates the execution of a multipart upload to S3 or Glacier. + * + * @internal + */ +abstract class AbstractUploadManager implements Promise\PromisorInterface +{ + const DEFAULT_CONCURRENCY = 5; + + /** @var array Default values for base multipart configuration */ + private static $defaultConfig = [ + 'part_size' => null, + 'state' => null, + 'concurrency' => self::DEFAULT_CONCURRENCY, + 'prepare_data_source' => null, + 'before_initiate' => null, + 'before_upload' => null, + 'before_complete' => null, + 'exception_class' => 'Aws\Exception\MultipartUploadException', + ]; + + /** @var Client Client used for the upload. */ + protected $client; + + /** @var array Configuration used to perform the upload. */ + protected $config; + + /** @var array Service-specific information about the upload workflow. */ + protected $info; + + /** @var PromiseInterface Promise that represents the multipart upload. */ + protected $promise; + + /** @var UploadState State used to manage the upload. */ + protected $state; + + /** + * @param Client $client + * @param array $config + */ + public function __construct(Client $client, array $config = []) + { + $this->client = $client; + $this->info = $this->loadUploadWorkflowInfo(); + $this->config = $config + self::$defaultConfig; + $this->state = $this->determineState(); + } + + /** + * Returns the current state of the upload + * + * @return UploadState + */ + public function getState() + { + return $this->state; + } + + /** + * Upload the source using multipart upload operations. + * + * @return Result The result of the CompleteMultipartUpload operation. + * @throws \LogicException if the upload is already complete or aborted. + * @throws MultipartUploadException if an upload operation fails. + */ + public function upload() + { + return $this->promise()->wait(); + } + + /** + * Upload the source asynchronously using multipart upload operations. + * + * @return PromiseInterface + */ + public function promise() + { + if ($this->promise) { + return $this->promise; + } + + return $this->promise = Promise\coroutine(function () { + // Initiate the upload. + if ($this->state->isCompleted()) { + throw new \LogicException('This multipart upload has already ' + . 'been completed or aborted.' + ); + } + + if (!$this->state->isInitiated()) { + // Execute the prepare callback. + if (is_callable($this->config["prepare_data_source"])) { + $this->config["prepare_data_source"](); + } + + $result = (yield $this->execCommand('initiate', $this->getInitiateParams())); + $this->state->setUploadId( + $this->info['id']['upload_id'], + $result[$this->info['id']['upload_id']] + ); + $this->state->setStatus(UploadState::INITIATED); + } + + // Create a command pool from a generator that yields UploadPart + // commands for each upload part. + $resultHandler = $this->getResultHandler($errors); + $commands = new CommandPool( + $this->client, + $this->getUploadCommands($resultHandler), + [ + 'concurrency' => $this->config['concurrency'], + 'before' => $this->config['before_upload'], + ] + ); + + // Execute the pool of commands concurrently, and process errors. + yield $commands->promise(); + if ($errors) { + throw new $this->config['exception_class']($this->state, $errors); + } + + // Complete the multipart upload. + yield $this->execCommand('complete', $this->getCompleteParams()); + $this->state->setStatus(UploadState::COMPLETED); + })->otherwise(function (\Exception $e) { + // Throw errors from the operations as a specific Multipart error. + if ($e instanceof AwsException) { + $e = new $this->config['exception_class']($this->state, $e); + } + throw $e; + }); + } + + protected function getConfig() + { + return $this->config; + } + + /** + * Provides service-specific information about the multipart upload + * workflow. + * + * This array of data should include the keys: 'command', 'id', and 'part_num'. + * + * @return array + */ + abstract protected function loadUploadWorkflowInfo(); + + /** + * Determines the part size to use for upload parts. + * + * Examines the provided partSize value and the source to determine the + * best possible part size. + * + * @throws \InvalidArgumentException if the part size is invalid. + * + * @return int + */ + abstract protected function determinePartSize(); + + /** + * Uses information from the Command and Result to determine which part was + * uploaded and mark it as uploaded in the upload's state. + * + * @param CommandInterface $command + * @param ResultInterface $result + */ + abstract protected function handleResult( + CommandInterface $command, + ResultInterface $result + ); + + /** + * Gets the service-specific parameters used to initiate the upload. + * + * @return array + */ + abstract protected function getInitiateParams(); + + /** + * Gets the service-specific parameters used to complete the upload. + * + * @return array + */ + abstract protected function getCompleteParams(); + + /** + * Based on the config and service-specific workflow info, creates a + * `Promise` for an `UploadState` object. + * + * @return PromiseInterface A `Promise` that resolves to an `UploadState`. + */ + private function determineState() + { + // If the state was provided via config, then just use it. + if ($this->config['state'] instanceof UploadState) { + return $this->config['state']; + } + + // Otherwise, construct a new state from the provided identifiers. + $required = $this->info['id']; + $id = [$required['upload_id'] => null]; + unset($required['upload_id']); + foreach ($required as $key => $param) { + if (!$this->config[$key]) { + throw new IAE('You must provide a value for "' . $key . '" in ' + . 'your config for the MultipartUploader for ' + . $this->client->getApi()->getServiceFullName() . '.'); + } + $id[$param] = $this->config[$key]; + } + $state = new UploadState($id); + $state->setPartSize($this->determinePartSize()); + + return $state; + } + + /** + * Executes a MUP command with all of the parameters for the operation. + * + * @param string $operation Name of the operation. + * @param array $params Service-specific params for the operation. + * + * @return PromiseInterface + */ + protected function execCommand($operation, array $params) + { + // Create the command. + $command = $this->client->getCommand( + $this->info['command'][$operation], + $params + $this->state->getId() + ); + + // Execute the before callback. + if (is_callable($this->config["before_{$operation}"])) { + $this->config["before_{$operation}"]($command); + } + + // Execute the command asynchronously and return the promise. + return $this->client->executeAsync($command); + } + + /** + * Returns a middleware for processing responses of part upload operations. + * + * - Adds an onFulfilled callback that calls the service-specific + * handleResult method on the Result of the operation. + * - Adds an onRejected callback that adds the error to an array of errors. + * - Has a passedByRef $errors arg that the exceptions get added to. The + * caller should use that &$errors array to do error handling. + * + * @param array $errors Errors from upload operations are added to this. + * + * @return callable + */ + protected function getResultHandler(&$errors = []) + { + return function (callable $handler) use (&$errors) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler, &$errors) { + return $handler($command, $request)->then( + function (ResultInterface $result) use ($command) { + $this->handleResult($command, $result); + return $result; + }, + function (AwsException $e) use (&$errors) { + $errors[$e->getCommand()[$this->info['part_num']]] = $e; + return new Result(); + } + ); + }; + }; + } + + /** + * Creates a generator that yields part data for the upload's source. + * + * Yields associative arrays of parameters that are ultimately merged in + * with others to form the complete parameters of a command. This can + * include the Body parameter, which is a limited stream (i.e., a Stream + * object, decorated with a LimitStream). + * + * @param callable $resultHandler + * + * @return \Generator + */ + abstract protected function getUploadCommands(callable $resultHandler); +} diff --git a/lib/aws/Aws/Multipart/AbstractUploader.php b/lib/aws/Aws/Multipart/AbstractUploader.php new file mode 100644 index 0000000..766fb16 --- /dev/null +++ b/lib/aws/Aws/Multipart/AbstractUploader.php @@ -0,0 +1,129 @@ +<?php +namespace Aws\Multipart; + +use Aws\AwsClientInterface as Client; +use GuzzleHttp\Psr7; +use InvalidArgumentException as IAE; +use Psr\Http\Message\StreamInterface as Stream; + +abstract class AbstractUploader extends AbstractUploadManager +{ + /** @var Stream Source of the data to be uploaded. */ + protected $source; + + /** + * @param Client $client + * @param mixed $source + * @param array $config + */ + public function __construct(Client $client, $source, array $config = []) + { + $this->source = $this->determineSource($source); + parent::__construct($client, $config); + } + + /** + * Create a stream for a part that starts at the current position and + * has a length of the upload part size (or less with the final part). + * + * @param Stream $stream + * + * @return Psr7\LimitStream + */ + protected function limitPartStream(Stream $stream) + { + // Limit what is read from the stream to the part size. + return new Psr7\LimitStream( + $stream, + $this->state->getPartSize(), + $this->source->tell() + ); + } + + protected function getUploadCommands(callable $resultHandler) + { + // Determine if the source can be seeked. + $seekable = $this->source->isSeekable() + && $this->source->getMetadata('wrapper_type') === 'plainfile'; + + for ($partNumber = 1; $this->isEof($seekable); $partNumber++) { + // If we haven't already uploaded this part, yield a new part. + if (!$this->state->hasPartBeenUploaded($partNumber)) { + $partStartPos = $this->source->tell(); + if (!($data = $this->createPart($seekable, $partNumber))) { + break; + } + $command = $this->client->getCommand( + $this->info['command']['upload'], + $data + $this->state->getId() + ); + $command->getHandlerList()->appendSign($resultHandler, 'mup'); + yield $command; + if ($this->source->tell() > $partStartPos) { + continue; + } + } + + // Advance the source's offset if not already advanced. + if ($seekable) { + $this->source->seek(min( + $this->source->tell() + $this->state->getPartSize(), + $this->source->getSize() + )); + } else { + $this->source->read($this->state->getPartSize()); + } + } + } + + /** + * Generates the parameters for an upload part by analyzing a range of the + * source starting from the current offset up to the part size. + * + * @param bool $seekable + * @param int $number + * + * @return array|null + */ + abstract protected function createPart($seekable, $number); + + /** + * Checks if the source is at EOF. + * + * @param bool $seekable + * + * @return bool + */ + private function isEof($seekable) + { + return $seekable + ? $this->source->tell() < $this->source->getSize() + : !$this->source->eof(); + } + + /** + * Turns the provided source into a stream and stores it. + * + * If a string is provided, it is assumed to be a filename, otherwise, it + * passes the value directly to `Psr7\stream_for()`. + * + * @param mixed $source + * + * @return Stream + */ + private function determineSource($source) + { + // Use the contents of a file as the data source. + if (is_string($source)) { + $source = Psr7\try_fopen($source, 'r'); + } + + // Create a source stream. + $stream = Psr7\stream_for($source); + if (!$stream->isReadable()) { + throw new IAE('Source stream must be readable.'); + } + + return $stream; + } +} diff --git a/lib/aws/Aws/Multipart/UploadState.php b/lib/aws/Aws/Multipart/UploadState.php new file mode 100644 index 0000000..4108c4f --- /dev/null +++ b/lib/aws/Aws/Multipart/UploadState.php @@ -0,0 +1,145 @@ +<?php +namespace Aws\Multipart; + +/** + * Representation of the multipart upload. + * + * This object keeps track of the state of the upload, including the status and + * which parts have been uploaded. + */ +class UploadState +{ + const CREATED = 0; + const INITIATED = 1; + const COMPLETED = 2; + + /** @var array Params used to identity the upload. */ + private $id; + + /** @var int Part size being used by the upload. */ + private $partSize; + + /** @var array Parts that have been uploaded. */ + private $uploadedParts = []; + + /** @var int Identifies the status the upload. */ + private $status = self::CREATED; + + /** + * @param array $id Params used to identity the upload. + */ + public function __construct(array $id) + { + $this->id = $id; + } + + /** + * Get the upload's ID, which is a tuple of parameters that can uniquely + * identify the upload. + * + * @return array + */ + public function getId() + { + return $this->id; + } + + /** + * Set's the "upload_id", or 3rd part of the upload's ID. This typically + * only needs to be done after initiating an upload. + * + * @param string $key The param key of the upload_id. + * @param string $value The param value of the upload_id. + */ + public function setUploadId($key, $value) + { + $this->id[$key] = $value; + } + + /** + * Get the part size. + * + * @return int + */ + public function getPartSize() + { + return $this->partSize; + } + + /** + * Set the part size. + * + * @param $partSize int Size of upload parts. + */ + public function setPartSize($partSize) + { + $this->partSize = $partSize; + } + + /** + * Marks a part as being uploaded. + * + * @param int $partNumber The part number. + * @param array $partData Data from the upload operation that needs to be + * recalled during the complete operation. + */ + public function markPartAsUploaded($partNumber, array $partData = []) + { + $this->uploadedParts[$partNumber] = $partData; + } + + /** + * Returns whether a part has been uploaded. + * + * @param int $partNumber The part number. + * + * @return bool + */ + public function hasPartBeenUploaded($partNumber) + { + return isset($this->uploadedParts[$partNumber]); + } + + /** + * Returns a sorted list of all the uploaded parts. + * + * @return array + */ + public function getUploadedParts() + { + ksort($this->uploadedParts); + + return $this->uploadedParts; + } + + /** + * Set the status of the upload. + * + * @param int $status Status is an integer code defined by the constants + * CREATED, INITIATED, and COMPLETED on this class. + */ + public function setStatus($status) + { + $this->status = $status; + } + + /** + * Determines whether the upload state is in the INITIATED status. + * + * @return bool + */ + public function isInitiated() + { + return $this->status === self::INITIATED; + } + + /** + * Determines whether the upload state is in the COMPLETED status. + * + * @return bool + */ + public function isCompleted() + { + return $this->status === self::COMPLETED; + } +} diff --git a/lib/aws/Aws/Neptune/Exception/NeptuneException.php b/lib/aws/Aws/Neptune/Exception/NeptuneException.php new file mode 100644 index 0000000..c8fd99b --- /dev/null +++ b/lib/aws/Aws/Neptune/Exception/NeptuneException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Neptune\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Neptune** service. + */ +class NeptuneException extends AwsException {} diff --git a/lib/aws/Aws/Neptune/NeptuneClient.php b/lib/aws/Aws/Neptune/NeptuneClient.php new file mode 100644 index 0000000..fd1ec88 --- /dev/null +++ b/lib/aws/Aws/Neptune/NeptuneClient.php @@ -0,0 +1,123 @@ +<?php +namespace Aws\Neptune; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Neptune** service. + * @method \Aws\Result addRoleToDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise addRoleToDBClusterAsync(array $args = []) + * @method \Aws\Result addSourceIdentifierToSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise addSourceIdentifierToSubscriptionAsync(array $args = []) + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result applyPendingMaintenanceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = []) + * @method \Aws\Result copyDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result copyDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result copyDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBParameterGroupAsync(array $args = []) + * @method \Aws\Result createDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterAsync(array $args = []) + * @method \Aws\Result createDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result createDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result createDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBInstanceAsync(array $args = []) + * @method \Aws\Result createDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBParameterGroupAsync(array $args = []) + * @method \Aws\Result createDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result createEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterAsync(array $args = []) + * @method \Aws\Result deleteDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteDBClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterSnapshotAsync(array $args = []) + * @method \Aws\Result deleteDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAsync(array $args = []) + * @method \Aws\Result deleteDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = []) + * @method \Aws\Result describeDBClusterParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeDBClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParametersAsync(array $args = []) + * @method \Aws\Result describeDBClusterSnapshotAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotAttributesAsync(array $args = []) + * @method \Aws\Result describeDBClusterSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotsAsync(array $args = []) + * @method \Aws\Result describeDBClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBClustersAsync(array $args = []) + * @method \Aws\Result describeDBEngineVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBEngineVersionsAsync(array $args = []) + * @method \Aws\Result describeDBInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBInstancesAsync(array $args = []) + * @method \Aws\Result describeDBParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeDBParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBParametersAsync(array $args = []) + * @method \Aws\Result describeDBSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeEngineDefaultClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultClusterParametersAsync(array $args = []) + * @method \Aws\Result describeEngineDefaultParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultParametersAsync(array $args = []) + * @method \Aws\Result describeEventCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = []) + * @method \Aws\Result describeEventSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeOrderableDBInstanceOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrderableDBInstanceOptionsAsync(array $args = []) + * @method \Aws\Result describePendingMaintenanceActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = []) + * @method \Aws\Result describeValidDBInstanceModifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeValidDBInstanceModificationsAsync(array $args = []) + * @method \Aws\Result failoverDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise failoverDBClusterAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterAsync(array $args = []) + * @method \Aws\Result modifyDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyDBClusterSnapshotAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterSnapshotAttributeAsync(array $args = []) + * @method \Aws\Result modifyDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBInstanceAsync(array $args = []) + * @method \Aws\Result modifyDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result modifyEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = []) + * @method \Aws\Result promoteReadReplicaDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise promoteReadReplicaDBClusterAsync(array $args = []) + * @method \Aws\Result rebootDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootDBInstanceAsync(array $args = []) + * @method \Aws\Result removeRoleFromDBCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeRoleFromDBClusterAsync(array $args = []) + * @method \Aws\Result removeSourceIdentifierFromSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeSourceIdentifierFromSubscriptionAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetDBClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetDBClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result resetDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetDBParameterGroupAsync(array $args = []) + * @method \Aws\Result restoreDBClusterFromSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromSnapshotAsync(array $args = []) + * @method \Aws\Result restoreDBClusterToPointInTime(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterToPointInTimeAsync(array $args = []) + */ +class NeptuneClient extends AwsClient {} diff --git a/lib/aws/Aws/OpsWorks/Exception/OpsWorksException.php b/lib/aws/Aws/OpsWorks/Exception/OpsWorksException.php new file mode 100644 index 0000000..515fdf1 --- /dev/null +++ b/lib/aws/Aws/OpsWorks/Exception/OpsWorksException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\OpsWorks\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS OpsWorks service. + */ +class OpsWorksException extends AwsException {} diff --git a/lib/aws/Aws/OpsWorks/OpsWorksClient.php b/lib/aws/Aws/OpsWorks/OpsWorksClient.php new file mode 100644 index 0000000..6651627 --- /dev/null +++ b/lib/aws/Aws/OpsWorks/OpsWorksClient.php @@ -0,0 +1,158 @@ +<?php +namespace Aws\OpsWorks; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS OpsWorks** service. + * + * @method \Aws\Result assignInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise assignInstanceAsync(array $args = []) + * @method \Aws\Result assignVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise assignVolumeAsync(array $args = []) + * @method \Aws\Result associateElasticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateElasticIpAsync(array $args = []) + * @method \Aws\Result attachElasticLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachElasticLoadBalancerAsync(array $args = []) + * @method \Aws\Result cloneStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise cloneStackAsync(array $args = []) + * @method \Aws\Result createApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = []) + * @method \Aws\Result createDeployment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = []) + * @method \Aws\Result createInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInstanceAsync(array $args = []) + * @method \Aws\Result createLayer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLayerAsync(array $args = []) + * @method \Aws\Result createStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = []) + * @method \Aws\Result createUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserProfileAsync(array $args = []) + * @method \Aws\Result deleteApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = []) + * @method \Aws\Result deleteInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInstanceAsync(array $args = []) + * @method \Aws\Result deleteLayer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLayerAsync(array $args = []) + * @method \Aws\Result deleteStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = []) + * @method \Aws\Result deleteUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserProfileAsync(array $args = []) + * @method \Aws\Result deregisterEcsCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterEcsClusterAsync(array $args = []) + * @method \Aws\Result deregisterElasticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterElasticIpAsync(array $args = []) + * @method \Aws\Result deregisterInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterInstanceAsync(array $args = []) + * @method \Aws\Result deregisterRdsDbInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterRdsDbInstanceAsync(array $args = []) + * @method \Aws\Result deregisterVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterVolumeAsync(array $args = []) + * @method \Aws\Result describeAgentVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAgentVersionsAsync(array $args = []) + * @method \Aws\Result describeApps(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAppsAsync(array $args = []) + * @method \Aws\Result describeCommands(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCommandsAsync(array $args = []) + * @method \Aws\Result describeDeployments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeploymentsAsync(array $args = []) + * @method \Aws\Result describeEcsClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEcsClustersAsync(array $args = []) + * @method \Aws\Result describeElasticIps(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticIpsAsync(array $args = []) + * @method \Aws\Result describeElasticLoadBalancers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeElasticLoadBalancersAsync(array $args = []) + * @method \Aws\Result describeInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancesAsync(array $args = []) + * @method \Aws\Result describeLayers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLayersAsync(array $args = []) + * @method \Aws\Result describeLoadBasedAutoScaling(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoadBasedAutoScalingAsync(array $args = []) + * @method \Aws\Result describeMyUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMyUserProfileAsync(array $args = []) + * @method \Aws\Result describeOperatingSystems(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOperatingSystemsAsync(array $args = []) + * @method \Aws\Result describePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePermissionsAsync(array $args = []) + * @method \Aws\Result describeRaidArrays(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRaidArraysAsync(array $args = []) + * @method \Aws\Result describeRdsDbInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRdsDbInstancesAsync(array $args = []) + * @method \Aws\Result describeServiceErrors(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServiceErrorsAsync(array $args = []) + * @method \Aws\Result describeStackProvisioningParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackProvisioningParametersAsync(array $args = []) + * @method \Aws\Result describeStackSummary(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStackSummaryAsync(array $args = []) + * @method \Aws\Result describeStacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = []) + * @method \Aws\Result describeTimeBasedAutoScaling(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTimeBasedAutoScalingAsync(array $args = []) + * @method \Aws\Result describeUserProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserProfilesAsync(array $args = []) + * @method \Aws\Result describeVolumes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVolumesAsync(array $args = []) + * @method \Aws\Result detachElasticLoadBalancer(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachElasticLoadBalancerAsync(array $args = []) + * @method \Aws\Result disassociateElasticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateElasticIpAsync(array $args = []) + * @method \Aws\Result getHostnameSuggestion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHostnameSuggestionAsync(array $args = []) + * @method \Aws\Result grantAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise grantAccessAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result rebootInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootInstanceAsync(array $args = []) + * @method \Aws\Result registerEcsCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerEcsClusterAsync(array $args = []) + * @method \Aws\Result registerElasticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerElasticIpAsync(array $args = []) + * @method \Aws\Result registerInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerInstanceAsync(array $args = []) + * @method \Aws\Result registerRdsDbInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerRdsDbInstanceAsync(array $args = []) + * @method \Aws\Result registerVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerVolumeAsync(array $args = []) + * @method \Aws\Result setLoadBasedAutoScaling(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLoadBasedAutoScalingAsync(array $args = []) + * @method \Aws\Result setPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise setPermissionAsync(array $args = []) + * @method \Aws\Result setTimeBasedAutoScaling(array $args = []) + * @method \GuzzleHttp\Promise\Promise setTimeBasedAutoScalingAsync(array $args = []) + * @method \Aws\Result startInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise startInstanceAsync(array $args = []) + * @method \Aws\Result startStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise startStackAsync(array $args = []) + * @method \Aws\Result stopInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopInstanceAsync(array $args = []) + * @method \Aws\Result stopStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopStackAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result unassignInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise unassignInstanceAsync(array $args = []) + * @method \Aws\Result unassignVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise unassignVolumeAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAppAsync(array $args = []) + * @method \Aws\Result updateElasticIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateElasticIpAsync(array $args = []) + * @method \Aws\Result updateInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInstanceAsync(array $args = []) + * @method \Aws\Result updateLayer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateLayerAsync(array $args = []) + * @method \Aws\Result updateMyUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMyUserProfileAsync(array $args = []) + * @method \Aws\Result updateRdsDbInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRdsDbInstanceAsync(array $args = []) + * @method \Aws\Result updateStack(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = []) + * @method \Aws\Result updateUserProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserProfileAsync(array $args = []) + * @method \Aws\Result updateVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVolumeAsync(array $args = []) + */ +class OpsWorksClient extends AwsClient {} diff --git a/lib/aws/Aws/OpsWorksCM/Exception/OpsWorksCMException.php b/lib/aws/Aws/OpsWorksCM/Exception/OpsWorksCMException.php new file mode 100644 index 0000000..56bcc82 --- /dev/null +++ b/lib/aws/Aws/OpsWorksCM/Exception/OpsWorksCMException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\OpsWorksCM\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS OpsWorks for Chef Automate** service. + */ +class OpsWorksCMException extends AwsException {} diff --git a/lib/aws/Aws/OpsWorksCM/OpsWorksCMClient.php b/lib/aws/Aws/OpsWorksCM/OpsWorksCMClient.php new file mode 100644 index 0000000..94c2ce3 --- /dev/null +++ b/lib/aws/Aws/OpsWorksCM/OpsWorksCMClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\OpsWorksCM; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS OpsWorks for Chef Automate** service. + * @method \Aws\Result associateNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateNodeAsync(array $args = []) + * @method \Aws\Result createBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBackupAsync(array $args = []) + * @method \Aws\Result createServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServerAsync(array $args = []) + * @method \Aws\Result deleteBackup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBackupAsync(array $args = []) + * @method \Aws\Result deleteServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServerAsync(array $args = []) + * @method \Aws\Result describeAccountAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) + * @method \Aws\Result describeBackups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBackupsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeNodeAssociationStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNodeAssociationStatusAsync(array $args = []) + * @method \Aws\Result describeServers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServersAsync(array $args = []) + * @method \Aws\Result disassociateNode(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateNodeAsync(array $args = []) + * @method \Aws\Result exportServerEngineAttribute(array $args = []) + * @method \GuzzleHttp\Promise\Promise exportServerEngineAttributeAsync(array $args = []) + * @method \Aws\Result restoreServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreServerAsync(array $args = []) + * @method \Aws\Result startMaintenance(array $args = []) + * @method \GuzzleHttp\Promise\Promise startMaintenanceAsync(array $args = []) + * @method \Aws\Result updateServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServerAsync(array $args = []) + * @method \Aws\Result updateServerEngineAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServerEngineAttributesAsync(array $args = []) + */ +class OpsWorksCMClient extends AwsClient {} diff --git a/lib/aws/Aws/Organizations/Exception/OrganizationsException.php b/lib/aws/Aws/Organizations/Exception/OrganizationsException.php new file mode 100644 index 0000000..8e1c054 --- /dev/null +++ b/lib/aws/Aws/Organizations/Exception/OrganizationsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Organizations\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Organizations** service. + */ +class OrganizationsException extends AwsException {} diff --git a/lib/aws/Aws/Organizations/OrganizationsClient.php b/lib/aws/Aws/Organizations/OrganizationsClient.php new file mode 100644 index 0000000..24904c3 --- /dev/null +++ b/lib/aws/Aws/Organizations/OrganizationsClient.php @@ -0,0 +1,93 @@ +<?php +namespace Aws\Organizations; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Organizations** service. + * @method \Aws\Result acceptHandshake(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptHandshakeAsync(array $args = []) + * @method \Aws\Result attachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachPolicyAsync(array $args = []) + * @method \Aws\Result cancelHandshake(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelHandshakeAsync(array $args = []) + * @method \Aws\Result createAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAccountAsync(array $args = []) + * @method \Aws\Result createOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOrganizationAsync(array $args = []) + * @method \Aws\Result createOrganizationalUnit(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOrganizationalUnitAsync(array $args = []) + * @method \Aws\Result createPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPolicyAsync(array $args = []) + * @method \Aws\Result declineHandshake(array $args = []) + * @method \GuzzleHttp\Promise\Promise declineHandshakeAsync(array $args = []) + * @method \Aws\Result deleteOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOrganizationAsync(array $args = []) + * @method \Aws\Result deleteOrganizationalUnit(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOrganizationalUnitAsync(array $args = []) + * @method \Aws\Result deletePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = []) + * @method \Aws\Result describeAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAsync(array $args = []) + * @method \Aws\Result describeCreateAccountStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCreateAccountStatusAsync(array $args = []) + * @method \Aws\Result describeHandshake(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHandshakeAsync(array $args = []) + * @method \Aws\Result describeOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrganizationAsync(array $args = []) + * @method \Aws\Result describeOrganizationalUnit(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrganizationalUnitAsync(array $args = []) + * @method \Aws\Result describePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePolicyAsync(array $args = []) + * @method \Aws\Result detachPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachPolicyAsync(array $args = []) + * @method \Aws\Result disableAWSServiceAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableAWSServiceAccessAsync(array $args = []) + * @method \Aws\Result disablePolicyType(array $args = []) + * @method \GuzzleHttp\Promise\Promise disablePolicyTypeAsync(array $args = []) + * @method \Aws\Result enableAWSServiceAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableAWSServiceAccessAsync(array $args = []) + * @method \Aws\Result enableAllFeatures(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableAllFeaturesAsync(array $args = []) + * @method \Aws\Result enablePolicyType(array $args = []) + * @method \GuzzleHttp\Promise\Promise enablePolicyTypeAsync(array $args = []) + * @method \Aws\Result inviteAccountToOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise inviteAccountToOrganizationAsync(array $args = []) + * @method \Aws\Result leaveOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise leaveOrganizationAsync(array $args = []) + * @method \Aws\Result listAWSServiceAccessForOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAWSServiceAccessForOrganizationAsync(array $args = []) + * @method \Aws\Result listAccounts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccountsAsync(array $args = []) + * @method \Aws\Result listAccountsForParent(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAccountsForParentAsync(array $args = []) + * @method \Aws\Result listChildren(array $args = []) + * @method \GuzzleHttp\Promise\Promise listChildrenAsync(array $args = []) + * @method \Aws\Result listCreateAccountStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCreateAccountStatusAsync(array $args = []) + * @method \Aws\Result listHandshakesForAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHandshakesForAccountAsync(array $args = []) + * @method \Aws\Result listHandshakesForOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHandshakesForOrganizationAsync(array $args = []) + * @method \Aws\Result listOrganizationalUnitsForParent(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOrganizationalUnitsForParentAsync(array $args = []) + * @method \Aws\Result listParents(array $args = []) + * @method \GuzzleHttp\Promise\Promise listParentsAsync(array $args = []) + * @method \Aws\Result listPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesAsync(array $args = []) + * @method \Aws\Result listPoliciesForTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPoliciesForTargetAsync(array $args = []) + * @method \Aws\Result listRoots(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRootsAsync(array $args = []) + * @method \Aws\Result listTargetsForPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTargetsForPolicyAsync(array $args = []) + * @method \Aws\Result moveAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise moveAccountAsync(array $args = []) + * @method \Aws\Result removeAccountFromOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeAccountFromOrganizationAsync(array $args = []) + * @method \Aws\Result updateOrganizationalUnit(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateOrganizationalUnitAsync(array $args = []) + * @method \Aws\Result updatePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePolicyAsync(array $args = []) + */ +class OrganizationsClient extends AwsClient {} diff --git a/lib/aws/Aws/PI/Exception/PIException.php b/lib/aws/Aws/PI/Exception/PIException.php new file mode 100644 index 0000000..2a565c9 --- /dev/null +++ b/lib/aws/Aws/PI/Exception/PIException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\PI\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Performance Insights** service. + */ +class PIException extends AwsException {} diff --git a/lib/aws/Aws/PI/PIClient.php b/lib/aws/Aws/PI/PIClient.php new file mode 100644 index 0000000..f1b5775 --- /dev/null +++ b/lib/aws/Aws/PI/PIClient.php @@ -0,0 +1,13 @@ +<?php +namespace Aws\PI; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Performance Insights** service. + * @method \Aws\Result describeDimensionKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDimensionKeysAsync(array $args = []) + * @method \Aws\Result getResourceMetrics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceMetricsAsync(array $args = []) + */ +class PIClient extends AwsClient {} diff --git a/lib/aws/Aws/PhpHash.php b/lib/aws/Aws/PhpHash.php new file mode 100644 index 0000000..df1314a --- /dev/null +++ b/lib/aws/Aws/PhpHash.php @@ -0,0 +1,81 @@ +<?php +namespace Aws; + +/** + * Incremental hashing using PHP's hash functions. + */ +class PhpHash implements HashInterface +{ + /** @var resource|\HashContext */ + private $context; + + /** @var string */ + private $algo; + + /** @var array */ + private $options; + + /** @var string */ + private $hash; + + /** + * @param string $algo Hashing algorithm. One of PHP's hash_algos() + * return values (e.g. md5, sha1, etc...). + * @param array $options Associative array of hashing options: + * - key: Secret key used with the hashing algorithm. + * - base64: Set to true to base64 encode the value when complete. + */ + public function __construct($algo, array $options = []) + { + $this->algo = $algo; + $this->options = $options; + } + + public function update($data) + { + if ($this->hash !== null) { + $this->reset(); + } + + hash_update($this->getContext(), $data); + } + + public function complete() + { + if ($this->hash) { + return $this->hash; + } + + $this->hash = hash_final($this->getContext(), true); + + if (isset($this->options['base64']) && $this->options['base64']) { + $this->hash = base64_encode($this->hash); + } + + return $this->hash; + } + + public function reset() + { + $this->context = $this->hash = null; + } + + /** + * Get a hash context or create one if needed + * + * @return resource|\HashContext + */ + private function getContext() + { + if (!$this->context) { + $key = isset($this->options['key']) ? $this->options['key'] : null; + $this->context = hash_init( + $this->algo, + $key ? HASH_HMAC : 0, + $key + ); + } + + return $this->context; + } +} diff --git a/lib/aws/Aws/Pinpoint/Exception/PinpointException.php b/lib/aws/Aws/Pinpoint/Exception/PinpointException.php new file mode 100644 index 0000000..54372da --- /dev/null +++ b/lib/aws/Aws/Pinpoint/Exception/PinpointException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Pinpoint\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Pinpoint** service. + */ +class PinpointException extends AwsException {} diff --git a/lib/aws/Aws/Pinpoint/PinpointClient.php b/lib/aws/Aws/Pinpoint/PinpointClient.php new file mode 100644 index 0000000..657a679 --- /dev/null +++ b/lib/aws/Aws/Pinpoint/PinpointClient.php @@ -0,0 +1,209 @@ +<?php +namespace Aws\Pinpoint; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Pinpoint** service. + * @method \Aws\Result createApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = []) + * @method \Aws\Result createCampaign(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCampaignAsync(array $args = []) + * @method \Aws\Result createExportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createExportJobAsync(array $args = []) + * @method \Aws\Result createImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createImportJobAsync(array $args = []) + * @method \Aws\Result createSegment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSegmentAsync(array $args = []) + * @method \Aws\Result deleteAdmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAdmChannelAsync(array $args = []) + * @method \Aws\Result deleteApnsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApnsChannelAsync(array $args = []) + * @method \Aws\Result deleteApnsSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApnsSandboxChannelAsync(array $args = []) + * @method \Aws\Result deleteApnsVoipChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApnsVoipChannelAsync(array $args = []) + * @method \Aws\Result deleteApnsVoipSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApnsVoipSandboxChannelAsync(array $args = []) + * @method \Aws\Result deleteApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = []) + * @method \Aws\Result deleteBaiduChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBaiduChannelAsync(array $args = []) + * @method \Aws\Result deleteCampaign(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCampaignAsync(array $args = []) + * @method \Aws\Result deleteEmailChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEmailChannelAsync(array $args = []) + * @method \Aws\Result deleteEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = []) + * @method \Aws\Result deleteEventStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventStreamAsync(array $args = []) + * @method \Aws\Result deleteGcmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGcmChannelAsync(array $args = []) + * @method \Aws\Result deleteSegment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSegmentAsync(array $args = []) + * @method \Aws\Result deleteSmsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSmsChannelAsync(array $args = []) + * @method \Aws\Result deleteUserEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserEndpointsAsync(array $args = []) + * @method \Aws\Result deleteVoiceChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVoiceChannelAsync(array $args = []) + * @method \Aws\Result getAdmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAdmChannelAsync(array $args = []) + * @method \Aws\Result getApnsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApnsChannelAsync(array $args = []) + * @method \Aws\Result getApnsSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApnsSandboxChannelAsync(array $args = []) + * @method \Aws\Result getApnsVoipChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApnsVoipChannelAsync(array $args = []) + * @method \Aws\Result getApnsVoipSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApnsVoipSandboxChannelAsync(array $args = []) + * @method \Aws\Result getApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppAsync(array $args = []) + * @method \Aws\Result getApplicationSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApplicationSettingsAsync(array $args = []) + * @method \Aws\Result getApps(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppsAsync(array $args = []) + * @method \Aws\Result getBaiduChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBaiduChannelAsync(array $args = []) + * @method \Aws\Result getCampaign(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCampaignAsync(array $args = []) + * @method \Aws\Result getCampaignActivities(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCampaignActivitiesAsync(array $args = []) + * @method \Aws\Result getCampaignVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCampaignVersionAsync(array $args = []) + * @method \Aws\Result getCampaignVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCampaignVersionsAsync(array $args = []) + * @method \Aws\Result getCampaigns(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCampaignsAsync(array $args = []) + * @method \Aws\Result getChannels(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChannelsAsync(array $args = []) + * @method \Aws\Result getEmailChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEmailChannelAsync(array $args = []) + * @method \Aws\Result getEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEndpointAsync(array $args = []) + * @method \Aws\Result getEventStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEventStreamAsync(array $args = []) + * @method \Aws\Result getExportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExportJobAsync(array $args = []) + * @method \Aws\Result getExportJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExportJobsAsync(array $args = []) + * @method \Aws\Result getGcmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGcmChannelAsync(array $args = []) + * @method \Aws\Result getImportJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getImportJobAsync(array $args = []) + * @method \Aws\Result getImportJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getImportJobsAsync(array $args = []) + * @method \Aws\Result getSegment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentAsync(array $args = []) + * @method \Aws\Result getSegmentExportJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentExportJobsAsync(array $args = []) + * @method \Aws\Result getSegmentImportJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentImportJobsAsync(array $args = []) + * @method \Aws\Result getSegmentVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentVersionAsync(array $args = []) + * @method \Aws\Result getSegmentVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentVersionsAsync(array $args = []) + * @method \Aws\Result getSegments(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSegmentsAsync(array $args = []) + * @method \Aws\Result getSmsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSmsChannelAsync(array $args = []) + * @method \Aws\Result getUserEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise getUserEndpointsAsync(array $args = []) + * @method \Aws\Result getVoiceChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVoiceChannelAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result phoneNumberValidate(array $args = []) + * @method \GuzzleHttp\Promise\Promise phoneNumberValidateAsync(array $args = []) + * @method \Aws\Result putEventStream(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEventStreamAsync(array $args = []) + * @method \Aws\Result putEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEventsAsync(array $args = []) + * @method \Aws\Result removeAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeAttributesAsync(array $args = []) + * @method \Aws\Result sendMessages(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendMessagesAsync(array $args = []) + * @method \Aws\Result sendUsersMessages(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendUsersMessagesAsync(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 updateAdmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAdmChannelAsync(array $args = []) + * @method \Aws\Result updateApnsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApnsChannelAsync(array $args = []) + * @method \Aws\Result updateApnsSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApnsSandboxChannelAsync(array $args = []) + * @method \Aws\Result updateApnsVoipChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApnsVoipChannelAsync(array $args = []) + * @method \Aws\Result updateApnsVoipSandboxChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApnsVoipSandboxChannelAsync(array $args = []) + * @method \Aws\Result updateApplicationSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationSettingsAsync(array $args = []) + * @method \Aws\Result updateBaiduChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBaiduChannelAsync(array $args = []) + * @method \Aws\Result updateCampaign(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCampaignAsync(array $args = []) + * @method \Aws\Result updateEmailChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEmailChannelAsync(array $args = []) + * @method \Aws\Result updateEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEndpointAsync(array $args = []) + * @method \Aws\Result updateEndpointsBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEndpointsBatchAsync(array $args = []) + * @method \Aws\Result updateGcmChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGcmChannelAsync(array $args = []) + * @method \Aws\Result updateSegment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSegmentAsync(array $args = []) + * @method \Aws\Result updateSmsChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSmsChannelAsync(array $args = []) + * @method \Aws\Result updateVoiceChannel(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVoiceChannelAsync(array $args = []) + */ +class PinpointClient extends AwsClient +{ + private static $nameCollisionOverrides = [ + 'GetUserEndpoint' => 'GetEndpoint', + 'GetUserEndpointAsync' => 'GetEndpointAsync', + 'UpdateUserEndpoint' => 'UpdateEndpoint', + 'UpdateUserEndpointAsync' => 'UpdateEndpointAsync', + 'UpdateUserEndpointsBatch' => 'UpdateEndpointsBatch', + 'UpdateUserEndpointsBatchAsync' => 'UpdateEndpointsBatchAsync', + ]; + + public function __call($name, array $args) + { + // Overcomes a naming collision with `AwsClient::getEndpoint`. + if (isset(self::$nameCollisionOverrides[ucfirst($name)])) { + $name = self::$nameCollisionOverrides[ucfirst($name)]; + } + + return parent::__call($name, $args); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + foreach (self::$nameCollisionOverrides as $overrideName => $operationName) { + if (substr($overrideName, -5) === 'Async') { + continue; + } + // Overcomes a naming collision with `AwsClient::getEndpoint`. + $api['operations'][$overrideName] = $api['operations'][$operationName]; + $docs['operations'][$overrideName] = $docs['operations'][$operationName]; + unset($api['operations'][$operationName], $docs['operations'][$operationName]); + } + ksort($api['operations']); + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/PinpointEmail/Exception/PinpointEmailException.php b/lib/aws/Aws/PinpointEmail/Exception/PinpointEmailException.php new file mode 100644 index 0000000..351735c --- /dev/null +++ b/lib/aws/Aws/PinpointEmail/Exception/PinpointEmailException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\PinpointEmail\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Pinpoint Email Service** service. + */ +class PinpointEmailException extends AwsException {} diff --git a/lib/aws/Aws/PinpointEmail/PinpointEmailClient.php b/lib/aws/Aws/PinpointEmail/PinpointEmailClient.php new file mode 100644 index 0000000..c94a754 --- /dev/null +++ b/lib/aws/Aws/PinpointEmail/PinpointEmailClient.php @@ -0,0 +1,89 @@ +<?php +namespace Aws\PinpointEmail; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Pinpoint Email Service** service. + * @method \Aws\Result createConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetAsync(array $args = []) + * @method \Aws\Result createConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result createDedicatedIpPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDedicatedIpPoolAsync(array $args = []) + * @method \Aws\Result createDeliverabilityTestReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeliverabilityTestReportAsync(array $args = []) + * @method \Aws\Result createEmailIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEmailIdentityAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result deleteDedicatedIpPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDedicatedIpPoolAsync(array $args = []) + * @method \Aws\Result deleteEmailIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEmailIdentityAsync(array $args = []) + * @method \Aws\Result getAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountAsync(array $args = []) + * @method \Aws\Result getBlacklistReports(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBlacklistReportsAsync(array $args = []) + * @method \Aws\Result getConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConfigurationSetAsync(array $args = []) + * @method \Aws\Result getConfigurationSetEventDestinations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConfigurationSetEventDestinationsAsync(array $args = []) + * @method \Aws\Result getDedicatedIp(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDedicatedIpAsync(array $args = []) + * @method \Aws\Result getDedicatedIps(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDedicatedIpsAsync(array $args = []) + * @method \Aws\Result getDeliverabilityDashboardOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeliverabilityDashboardOptionsAsync(array $args = []) + * @method \Aws\Result getDeliverabilityTestReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeliverabilityTestReportAsync(array $args = []) + * @method \Aws\Result getDomainStatisticsReport(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainStatisticsReportAsync(array $args = []) + * @method \Aws\Result getEmailIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEmailIdentityAsync(array $args = []) + * @method \Aws\Result listConfigurationSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationSetsAsync(array $args = []) + * @method \Aws\Result listDedicatedIpPools(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDedicatedIpPoolsAsync(array $args = []) + * @method \Aws\Result listDeliverabilityTestReports(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeliverabilityTestReportsAsync(array $args = []) + * @method \Aws\Result listEmailIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEmailIdentitiesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putAccountDedicatedIpWarmupAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAccountDedicatedIpWarmupAttributesAsync(array $args = []) + * @method \Aws\Result putAccountSendingAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAccountSendingAttributesAsync(array $args = []) + * @method \Aws\Result putConfigurationSetDeliveryOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationSetDeliveryOptionsAsync(array $args = []) + * @method \Aws\Result putConfigurationSetReputationOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationSetReputationOptionsAsync(array $args = []) + * @method \Aws\Result putConfigurationSetSendingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationSetSendingOptionsAsync(array $args = []) + * @method \Aws\Result putConfigurationSetTrackingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise putConfigurationSetTrackingOptionsAsync(array $args = []) + * @method \Aws\Result putDedicatedIpInPool(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDedicatedIpInPoolAsync(array $args = []) + * @method \Aws\Result putDedicatedIpWarmupAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDedicatedIpWarmupAttributesAsync(array $args = []) + * @method \Aws\Result putDeliverabilityDashboardOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise putDeliverabilityDashboardOptionAsync(array $args = []) + * @method \Aws\Result putEmailIdentityDkimAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEmailIdentityDkimAttributesAsync(array $args = []) + * @method \Aws\Result putEmailIdentityFeedbackAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEmailIdentityFeedbackAttributesAsync(array $args = []) + * @method \Aws\Result putEmailIdentityMailFromAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEmailIdentityMailFromAttributesAsync(array $args = []) + * @method \Aws\Result sendEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendEmailAsync(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 updateConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetEventDestinationAsync(array $args = []) + */ +class PinpointEmailClient extends AwsClient {} diff --git a/lib/aws/Aws/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php b/lib/aws/Aws/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php new file mode 100644 index 0000000..d41fb7d --- /dev/null +++ b/lib/aws/Aws/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\PinpointSMSVoice\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Pinpoint SMS and Voice Service** service. + */ +class PinpointSMSVoiceException extends AwsException {} diff --git a/lib/aws/Aws/PinpointSMSVoice/PinpointSMSVoiceClient.php b/lib/aws/Aws/PinpointSMSVoice/PinpointSMSVoiceClient.php new file mode 100644 index 0000000..c926939 --- /dev/null +++ b/lib/aws/Aws/PinpointSMSVoice/PinpointSMSVoiceClient.php @@ -0,0 +1,25 @@ +<?php +namespace Aws\PinpointSMSVoice; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Pinpoint SMS and Voice Service** service. + * @method \Aws\Result createConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetAsync(array $args = []) + * @method \Aws\Result createConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result getConfigurationSetEventDestinations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConfigurationSetEventDestinationsAsync(array $args = []) + * @method \Aws\Result listConfigurationSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationSetsAsync(array $args = []) + * @method \Aws\Result sendVoiceMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendVoiceMessageAsync(array $args = []) + * @method \Aws\Result updateConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetEventDestinationAsync(array $args = []) + */ +class PinpointSMSVoiceClient extends AwsClient {} diff --git a/lib/aws/Aws/Polly/Exception/PollyException.php b/lib/aws/Aws/Polly/Exception/PollyException.php new file mode 100644 index 0000000..7ecdc25 --- /dev/null +++ b/lib/aws/Aws/Polly/Exception/PollyException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Polly\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Polly** service. + */ +class PollyException extends AwsException {} diff --git a/lib/aws/Aws/Polly/PollyClient.php b/lib/aws/Aws/Polly/PollyClient.php new file mode 100644 index 0000000..1751e2f --- /dev/null +++ b/lib/aws/Aws/Polly/PollyClient.php @@ -0,0 +1,73 @@ +<?php +namespace Aws\Polly; + +use Aws\Api\Serializer\JsonBody; +use Aws\AwsClient; +use Aws\Signature\SignatureV4; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\Uri; +use GuzzleHttp\Psr7; + +/** + * This client is used to interact with the **Amazon Polly** service. + * @method \Aws\Result deleteLexicon(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLexiconAsync(array $args = []) + * @method \Aws\Result describeVoices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVoicesAsync(array $args = []) + * @method \Aws\Result getLexicon(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLexiconAsync(array $args = []) + * @method \Aws\Result getSpeechSynthesisTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSpeechSynthesisTaskAsync(array $args = []) + * @method \Aws\Result listLexicons(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLexiconsAsync(array $args = []) + * @method \Aws\Result listSpeechSynthesisTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSpeechSynthesisTasksAsync(array $args = []) + * @method \Aws\Result putLexicon(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLexiconAsync(array $args = []) + * @method \Aws\Result startSpeechSynthesisTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSpeechSynthesisTaskAsync(array $args = []) + * @method \Aws\Result synthesizeSpeech(array $args = []) + * @method \GuzzleHttp\Promise\Promise synthesizeSpeechAsync(array $args = []) + */ +class PollyClient extends AwsClient +{ + /** @var JsonBody */ + private $formatter; + + /** + * Create a pre-signed URL for Polly operation `SynthesizeSpeech` + * + * @param array $args parameters array for `SynthesizeSpeech` + * More information @see Aws\Polly\PollyClient::SynthesizeSpeech + * + * @return string + */ + public function createSynthesizeSpeechPreSignedUrl(array $args) + { + $uri = new Uri($this->getEndpoint()); + $uri = $uri->withPath('/v1/speech'); + + // Formatting parameters follows rest-json protocol + $this->formatter = $this->formatter ?: new JsonBody($this->getApi()); + $queryArray = json_decode( + $this->formatter->build( + $this->getApi()->getOperation('SynthesizeSpeech')->getInput(), + $args + ), + true + ); + + // Mocking a 'GET' request in pre-signing the Url + $query = Psr7\build_query($queryArray); + $uri = $uri->withQuery($query); + + $request = new Request('GET', $uri); + $request = $request->withBody(Psr7\stream_for('')); + $signer = new SignatureV4('polly', $this->getRegion()); + return (string) $signer->presign( + $request, + $this->getCredentials()->wait(), + '+15 minutes' + )->getUri(); + } +} diff --git a/lib/aws/Aws/PresignUrlMiddleware.php b/lib/aws/Aws/PresignUrlMiddleware.php new file mode 100644 index 0000000..363b585 --- /dev/null +++ b/lib/aws/Aws/PresignUrlMiddleware.php @@ -0,0 +1,99 @@ +<?php +namespace Aws; + +use Aws\Signature\SignatureV4; +use Aws\Endpoint\EndpointProvider; +use GuzzleHttp\Psr7\Uri; +use Psr\Http\Message\RequestInterface; + +/** + * @internal Adds computed values to service operations that need presigned url. + */ +class PresignUrlMiddleware +{ + private $client; + private $endpointProvider; + private $nextHandler; + /** @var array names of operations that require presign url */ + private $commandPool; + /** @var string */ + private $serviceName; + /** @var string */ + private $presignParam; + /** @var bool */ + private $requireDifferentRegion; + + public function __construct( + array $options, + callable $endpointProvider, + AwsClientInterface $client, + callable $nextHandler + ) { + $this->endpointProvider = $endpointProvider; + $this->client = $client; + $this->nextHandler = $nextHandler; + $this->commandPool = $options['operations']; + $this->serviceName = $options['service']; + $this->presignParam = $options['presign_param']; + $this->requireDifferentRegion = !empty($options['require_different_region']); + } + + public static function wrap( + AwsClientInterface $client, + callable $endpointProvider, + array $options = [] + ) { + return function (callable $handler) use ($endpointProvider, $client, $options) { + $f = new PresignUrlMiddleware($options, $endpointProvider, $client, $handler); + return $f; + }; + } + + public function __invoke(CommandInterface $cmd, RequestInterface $request = null) + { + if (in_array($cmd->getName(), $this->commandPool) + && (!isset($cmd->{'__skip' . $cmd->getName()})) + ) { + $cmd['DestinationRegion'] = $this->client->getRegion(); + if (!$this->requireDifferentRegion + || (!empty($cmd['SourceRegion']) + && $cmd['SourceRegion'] !== $cmd['DestinationRegion']) + ) { + $cmd[$this->presignParam] = $this->createPresignedUrl($this->client, $cmd); + } + } + + $f = $this->nextHandler; + return $f($cmd, $request); + } + + private function createPresignedUrl( + AwsClientInterface $client, + CommandInterface $cmd + ) { + $cmdName = $cmd->getName(); + $newCmd = $client->getCommand($cmdName, $cmd->toArray()); + // Avoid infinite recursion by flagging the new command. + $newCmd->{'__skip' . $cmdName} = true; + + // Serialize a request for the operation. + $request = \Aws\serialize($newCmd); + // Create the new endpoint for the target endpoint. + $endpoint = EndpointProvider::resolve($this->endpointProvider, [ + 'region' => $cmd['SourceRegion'], + 'service' => $this->serviceName, + ])['endpoint']; + + // Set the request to hit the target endpoint. + $uri = $request->getUri()->withHost((new Uri($endpoint))->getHost()); + $request = $request->withUri($uri); + // Create a presigned URL for our generated request. + $signer = new SignatureV4($this->serviceName, $cmd['SourceRegion']); + + return (string) $signer->presign( + SignatureV4::convertPostToGet($request), + $client->getCredentials()->wait(), + '+1 hour' + )->getUri(); + } +} diff --git a/lib/aws/Aws/Pricing/Exception/PricingException.php b/lib/aws/Aws/Pricing/Exception/PricingException.php new file mode 100644 index 0000000..0dcf122 --- /dev/null +++ b/lib/aws/Aws/Pricing/Exception/PricingException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Pricing\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Price List Service** service. + */ +class PricingException extends AwsException {} diff --git a/lib/aws/Aws/Pricing/PricingClient.php b/lib/aws/Aws/Pricing/PricingClient.php new file mode 100644 index 0000000..a11dc4f --- /dev/null +++ b/lib/aws/Aws/Pricing/PricingClient.php @@ -0,0 +1,15 @@ +<?php +namespace Aws\Pricing; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Price List Service** service. + * @method \Aws\Result describeServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServicesAsync(array $args = []) + * @method \Aws\Result getAttributeValues(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAttributeValuesAsync(array $args = []) + * @method \Aws\Result getProducts(array $args = []) + * @method \GuzzleHttp\Promise\Promise getProductsAsync(array $args = []) + */ +class PricingClient extends AwsClient {} diff --git a/lib/aws/Aws/PsrCacheAdapter.php b/lib/aws/Aws/PsrCacheAdapter.php new file mode 100644 index 0000000..9dd2d94 --- /dev/null +++ b/lib/aws/Aws/PsrCacheAdapter.php @@ -0,0 +1,38 @@ +<?php +namespace Aws; + +use Psr\Cache\CacheItemPoolInterface; + +class PsrCacheAdapter implements CacheInterface +{ + /** @var CacheItemPoolInterface */ + private $pool; + + public function __construct(CacheItemPoolInterface $pool) + { + $this->pool = $pool; + } + + public function get($key) + { + $item = $this->pool->getItem($key); + + return $item->isHit() ? $item->get() : null; + } + + public function set($key, $value, $ttl = 0) + { + $item = $this->pool->getItem($key); + $item->set($value); + if ($ttl > 0) { + $item->expiresAfter($ttl); + } + + $this->pool->save($item); + } + + public function remove($key) + { + $this->pool->deleteItem($key); + } +} diff --git a/lib/aws/Aws/QuickSight/Exception/QuickSightException.php b/lib/aws/Aws/QuickSight/Exception/QuickSightException.php new file mode 100644 index 0000000..79838a7 --- /dev/null +++ b/lib/aws/Aws/QuickSight/Exception/QuickSightException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\QuickSight\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon QuickSight** service. + */ +class QuickSightException extends AwsException {} diff --git a/lib/aws/Aws/QuickSight/QuickSightClient.php b/lib/aws/Aws/QuickSight/QuickSightClient.php new file mode 100644 index 0000000..112b8e6 --- /dev/null +++ b/lib/aws/Aws/QuickSight/QuickSightClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\QuickSight; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon QuickSight** service. + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createGroupMembership(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupMembershipAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteGroupMembership(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupMembershipAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result deleteUserByPrincipalId(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserByPrincipalIdAsync(array $args = []) + * @method \Aws\Result describeGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGroupAsync(array $args = []) + * @method \Aws\Result describeUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = []) + * @method \Aws\Result getDashboardEmbedUrl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDashboardEmbedUrlAsync(array $args = []) + * @method \Aws\Result listGroupMemberships(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupMembershipsAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result listUserGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUserGroupsAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result registerUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerUserAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + */ +class QuickSightClient extends AwsClient {} diff --git a/lib/aws/Aws/RAM/Exception/RAMException.php b/lib/aws/Aws/RAM/Exception/RAMException.php new file mode 100644 index 0000000..2b26322 --- /dev/null +++ b/lib/aws/Aws/RAM/Exception/RAMException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\RAM\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Resource Access Manager** service. + */ +class RAMException extends AwsException {} diff --git a/lib/aws/Aws/RAM/RAMClient.php b/lib/aws/Aws/RAM/RAMClient.php new file mode 100644 index 0000000..efdd77c --- /dev/null +++ b/lib/aws/Aws/RAM/RAMClient.php @@ -0,0 +1,41 @@ +<?php +namespace Aws\RAM; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Resource Access Manager** service. + * @method \Aws\Result acceptResourceShareInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptResourceShareInvitationAsync(array $args = []) + * @method \Aws\Result associateResourceShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateResourceShareAsync(array $args = []) + * @method \Aws\Result createResourceShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceShareAsync(array $args = []) + * @method \Aws\Result deleteResourceShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceShareAsync(array $args = []) + * @method \Aws\Result disassociateResourceShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateResourceShareAsync(array $args = []) + * @method \Aws\Result enableSharingWithAwsOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableSharingWithAwsOrganizationAsync(array $args = []) + * @method \Aws\Result getResourcePolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcePoliciesAsync(array $args = []) + * @method \Aws\Result getResourceShareAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceShareAssociationsAsync(array $args = []) + * @method \Aws\Result getResourceShareInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceShareInvitationsAsync(array $args = []) + * @method \Aws\Result getResourceShares(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourceSharesAsync(array $args = []) + * @method \Aws\Result listPrincipals(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPrincipalsAsync(array $args = []) + * @method \Aws\Result listResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourcesAsync(array $args = []) + * @method \Aws\Result rejectResourceShareInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectResourceShareInvitationAsync(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 updateResourceShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResourceShareAsync(array $args = []) + */ +class RAMClient extends AwsClient {} diff --git a/lib/aws/Aws/RDSDataService/Exception/RDSDataServiceException.php b/lib/aws/Aws/RDSDataService/Exception/RDSDataServiceException.php new file mode 100644 index 0000000..eebd45f --- /dev/null +++ b/lib/aws/Aws/RDSDataService/Exception/RDSDataServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\RDSDataService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS RDS DataService** service. + */ +class RDSDataServiceException extends AwsException {} diff --git a/lib/aws/Aws/RDSDataService/RDSDataServiceClient.php b/lib/aws/Aws/RDSDataService/RDSDataServiceClient.php new file mode 100644 index 0000000..a58f43f --- /dev/null +++ b/lib/aws/Aws/RDSDataService/RDSDataServiceClient.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\RDSDataService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS RDS DataService** service. + * @method \Aws\Result executeSql(array $args = []) + * @method \GuzzleHttp\Promise\Promise executeSqlAsync(array $args = []) + */ +class RDSDataServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/Rds/AuthTokenGenerator.php b/lib/aws/Aws/Rds/AuthTokenGenerator.php new file mode 100644 index 0000000..7f2fd45 --- /dev/null +++ b/lib/aws/Aws/Rds/AuthTokenGenerator.php @@ -0,0 +1,64 @@ +<?php +namespace Aws\Rds; + +use Aws\Credentials\CredentialsInterface; +use Aws\Credentials\Credentials; +use Aws\Signature\SignatureV4; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\Uri; +use GuzzleHttp\Promise; +use Aws; + +/** + * Generates RDS auth tokens for use with IAM authentication. + */ +class AuthTokenGenerator +{ + + private $credentialProvider; + + /** + * The constructor takes an instance of Credentials or a CredentialProvider + * + * @param callable|Credentials $creds + */ + public function __construct($creds) + { + if ($creds instanceof CredentialsInterface) { + $promise = new Promise\FulfilledPromise($creds); + $this->credentialProvider = Aws\constantly($promise); + } else { + $this->credentialProvider = $creds; + } + } + + /** + * Create the token for database login + * + * @param string $endpoint The database hostname with port number specified + * (e.g., host:port) + * @param string $region The region where the database is located + * @param string $username The username to login as + * + * @return string Token generated + */ + public function createToken($endpoint, $region, $username) + { + $uri = new Uri($endpoint); + $uri = $uri->withPath('/'); + $uri = $uri->withQuery('Action=connect&DBUser=' . $username); + + $request = new Request('GET', $uri); + $signer = new SignatureV4('rds-db', $region); + $provider = $this->credentialProvider; + + $url = (string) $signer->presign( + $request, + $provider()->wait(), + '+15 minutes' + )->getUri(); + + // Remove 2 extra slash from the presigned url result + return substr($url, 2); + } +} diff --git a/lib/aws/Aws/Rds/Exception/RdsException.php b/lib/aws/Aws/Rds/Exception/RdsException.php new file mode 100644 index 0000000..7d58f89 --- /dev/null +++ b/lib/aws/Aws/Rds/Exception/RdsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Rds\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Relational Database Service. + */ +class RdsException extends AwsException {} diff --git a/lib/aws/Aws/Rds/RdsClient.php b/lib/aws/Aws/Rds/RdsClient.php new file mode 100644 index 0000000..4fcb6fb --- /dev/null +++ b/lib/aws/Aws/Rds/RdsClient.php @@ -0,0 +1,331 @@ +<?php +namespace Aws\Rds; + +use Aws\AwsClient; +use Aws\Api\Service; +use Aws\Api\DocModel; +use Aws\Api\ApiProvider; +use Aws\PresignUrlMiddleware; + +/** + * This client is used to interact with the **Amazon Relational Database Service (Amazon RDS)**. + * + * @method \Aws\Result addSourceIdentifierToSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise addSourceIdentifierToSubscriptionAsync(array $args = []) + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result authorizeDBSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeDBSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result copyDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBParameterGroupAsync(array $args = []) + * @method \Aws\Result copyDBSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyDBSnapshotAsync(array $args = []) + * @method \Aws\Result copyOptionGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyOptionGroupAsync(array $args = []) + * @method \Aws\Result createDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBInstanceAsync(array $args = []) + * @method \Aws\Result createDBInstanceReadReplica(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBInstanceReadReplicaAsync(array $args = []) + * @method \Aws\Result createDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBParameterGroupAsync(array $args = []) + * @method \Aws\Result createDBSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBSecurityGroupAsync(array $args = []) + * @method \Aws\Result createDBSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBSnapshotAsync(array $args = []) + * @method \Aws\Result createDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result createEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = []) + * @method \Aws\Result createOptionGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createOptionGroupAsync(array $args = []) + * @method \Aws\Result deleteDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAsync(array $args = []) + * @method \Aws\Result deleteDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteDBSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBSecurityGroupAsync(array $args = []) + * @method \Aws\Result deleteDBSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBSnapshotAsync(array $args = []) + * @method \Aws\Result deleteDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteOptionGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteOptionGroupAsync(array $args = []) + * @method \Aws\Result describeDBEngineVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBEngineVersionsAsync(array $args = []) + * @method \Aws\Result describeDBInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBInstancesAsync(array $args = []) + * @method \Aws\Result describeDBLogFiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBLogFilesAsync(array $args = []) + * @method \Aws\Result describeDBParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeDBParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBParametersAsync(array $args = []) + * @method \Aws\Result describeDBSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeDBSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBSnapshotsAsync(array $args = []) + * @method \Aws\Result describeDBSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDBSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeEngineDefaultParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultParametersAsync(array $args = []) + * @method \Aws\Result describeEventCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = []) + * @method \Aws\Result describeEventSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeOptionGroupOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOptionGroupOptionsAsync(array $args = []) + * @method \Aws\Result describeOptionGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOptionGroupsAsync(array $args = []) + * @method \Aws\Result describeOrderableDBInstanceOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrderableDBInstanceOptionsAsync(array $args = []) + * @method \Aws\Result describeReservedDBInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedDBInstancesAsync(array $args = []) + * @method \Aws\Result describeReservedDBInstancesOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedDBInstancesOfferingsAsync(array $args = []) + * @method \Aws\Result downloadDBLogFilePortion(array $args = []) + * @method \GuzzleHttp\Promise\Promise downloadDBLogFilePortionAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBInstanceAsync(array $args = []) + * @method \Aws\Result modifyDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyDBSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDBSubnetGroupAsync(array $args = []) + * @method \Aws\Result modifyEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = []) + * @method \Aws\Result modifyOptionGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyOptionGroupAsync(array $args = []) + * @method \Aws\Result promoteReadReplica(array $args = []) + * @method \GuzzleHttp\Promise\Promise promoteReadReplicaAsync(array $args = []) + * @method \Aws\Result purchaseReservedDBInstancesOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseReservedDBInstancesOfferingAsync(array $args = []) + * @method \Aws\Result rebootDBInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootDBInstanceAsync(array $args = []) + * @method \Aws\Result removeSourceIdentifierFromSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeSourceIdentifierFromSubscriptionAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetDBParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetDBParameterGroupAsync(array $args = []) + * @method \Aws\Result restoreDBInstanceFromDBSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBInstanceFromDBSnapshotAsync(array $args = []) + * @method \Aws\Result restoreDBInstanceToPointInTime(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreDBInstanceToPointInTimeAsync(array $args = []) + * @method \Aws\Result revokeDBSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeDBSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result addRoleToDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise addRoleToDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result addRoleToDBInstance(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise addRoleToDBInstanceAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result applyPendingMaintenanceAction(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise applyPendingMaintenanceActionAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result backtrackDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise backtrackDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result copyDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise copyDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result copyDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise copyDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result createDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise createDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result createDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise createDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result createDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise createDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result createDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise createDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result createGlobalCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise createGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteDBClusterSnapshot(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteDBClusterSnapshotAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteDBInstanceAutomatedBackup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteDBInstanceAutomatedBackupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result deleteGlobalCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise deleteGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeAccountAttributes(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeCertificates(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeCertificatesAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterBacktracks(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterBacktracksAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterEndpoints(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterEndpointsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterParameterGroups(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParameterGroupsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterParameters(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterParametersAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterSnapshotAttributes(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotAttributesAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusterSnapshots(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClusterSnapshotsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBClusters(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBClustersAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBInstanceAutomatedBackups(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBInstanceAutomatedBackupsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeDBSnapshotAttributes(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeDBSnapshotAttributesAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeEngineDefaultClusterParameters(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeEngineDefaultClusterParametersAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeGlobalClusters(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeGlobalClustersAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describePendingMaintenanceActions(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describePendingMaintenanceActionsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeSourceRegions(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeSourceRegionsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result describeValidDBInstanceModifications(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise describeValidDBInstanceModificationsAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result failoverDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise failoverDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyCurrentDBClusterCapacity(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyCurrentDBClusterCapacityAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBClusterEndpoint(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterEndpointAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBClusterSnapshotAttribute(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBClusterSnapshotAttributeAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBSnapshot(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBSnapshotAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyDBSnapshotAttribute(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyDBSnapshotAttributeAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result modifyGlobalCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise modifyGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result promoteReadReplicaDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise promoteReadReplicaDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result removeFromGlobalCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise removeFromGlobalClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result removeRoleFromDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise removeRoleFromDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result removeRoleFromDBInstance(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise removeRoleFromDBInstanceAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result resetDBClusterParameterGroup(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise resetDBClusterParameterGroupAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result restoreDBClusterFromS3(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromS3Async(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result restoreDBClusterFromSnapshot(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterFromSnapshotAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result restoreDBClusterToPointInTime(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise restoreDBClusterToPointInTimeAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result restoreDBInstanceFromS3(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise restoreDBInstanceFromS3Async(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result startDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise startDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result startDBInstance(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise startDBInstanceAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result stopDBCluster(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise stopDBClusterAsync(array $args = []) (supported in versions 2014-10-31) + * @method \Aws\Result stopDBInstance(array $args = []) (supported in versions 2014-10-31) + * @method \GuzzleHttp\Promise\Promise stopDBInstanceAsync(array $args = []) (supported in versions 2014-10-31) + */ +class RdsClient extends AwsClient +{ + public function __construct(array $args) + { + $args['with_resolved'] = function (array $args) { + $this->getHandlerList()->appendInit( + PresignUrlMiddleware::wrap( + $this, + $args['endpoint_provider'], + [ + 'operations' => [ + 'CopyDBSnapshot', + 'CreateDBInstanceReadReplica', + 'CopyDBClusterSnapshot', + 'CreateDBCluster' + ], + 'service' => 'rds', + 'presign_param' => 'PreSignedUrl', + 'require_different_region' => true, + ] + ), + 'rds.presigner' + ); + }; + + parent::__construct($args); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + // Add the SourceRegion parameter + $docs['shapes']['SourceRegion']['base'] = 'A required parameter that indicates ' + . 'the region that the DB snapshot will be copied from.'; + $api['shapes']['SourceRegion'] = ['type' => 'string']; + $api['shapes']['CopyDBSnapshotMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion']; + $api['shapes']['CreateDBInstanceReadReplicaMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion']; + + // Add the DestinationRegion parameter + $docs['shapes']['DestinationRegion']['base'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + $api['shapes']['DestinationRegion'] = ['type' => 'string']; + $api['shapes']['CopyDBSnapshotMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion']; + $api['shapes']['CreateDBInstanceReadReplicaMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion']; + + // Several parameters in presign APIs are optional. + $docs['shapes']['String']['refs']['CopyDBSnapshotMessage$PreSignedUrl'] + = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf.</div>'; + $docs['shapes']['String']['refs']['CopyDBSnapshotMessage$DestinationRegion'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + + // Several parameters in presign APIs are optional. + $docs['shapes']['String']['refs']['CreateDBInstanceReadReplicaMessage$PreSignedUrl'] + = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf.</div>'; + $docs['shapes']['String']['refs']['CreateDBInstanceReadReplicaMessage$DestinationRegion'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + + if ($api['metadata']['apiVersion'] != '2014-09-01') { + $api['shapes']['CopyDBClusterSnapshotMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion']; + $api['shapes']['CreateDBClusterMessage']['members']['SourceRegion'] = ['shape' => 'SourceRegion']; + + $api['shapes']['CopyDBClusterSnapshotMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion']; + $api['shapes']['CreateDBClusterMessage']['members']['DestinationRegion'] = ['shape' => 'DestinationRegion']; + + // Several parameters in presign APIs are optional. + $docs['shapes']['String']['refs']['CopyDBClusterSnapshotMessage$PreSignedUrl'] + = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf.</div>'; + $docs['shapes']['String']['refs']['CopyDBClusterSnapshotMessage$DestinationRegion'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + + // Several parameters in presign APIs are optional. + $docs['shapes']['String']['refs']['CreateDBClusterMessage$PreSignedUrl'] + = '<div class="alert alert-info">The SDK will compute this value ' + . 'for you on your behalf.</div>'; + $docs['shapes']['String']['refs']['CreateDBClusterMessage$DestinationRegion'] + = '<div class="alert alert-info">The SDK will populate this ' + . 'parameter on your behalf using the configured region value of ' + . 'the client.</div>'; + } + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/Redshift/Exception/RedshiftException.php b/lib/aws/Aws/Redshift/Exception/RedshiftException.php new file mode 100644 index 0000000..1910a5d --- /dev/null +++ b/lib/aws/Aws/Redshift/Exception/RedshiftException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Redshift\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Redshift service. + */ +class RedshiftException extends AwsException {} diff --git a/lib/aws/Aws/Redshift/RedshiftClient.php b/lib/aws/Aws/Redshift/RedshiftClient.php new file mode 100644 index 0000000..59564b3 --- /dev/null +++ b/lib/aws/Aws/Redshift/RedshiftClient.php @@ -0,0 +1,172 @@ +<?php +namespace Aws\Redshift; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Redshift** service. + * + * @method \Aws\Result acceptReservedNodeExchange(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptReservedNodeExchangeAsync(array $args = []) + * @method \Aws\Result authorizeClusterSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeClusterSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result authorizeSnapshotAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeSnapshotAccessAsync(array $args = []) + * @method \Aws\Result batchDeleteClusterSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDeleteClusterSnapshotsAsync(array $args = []) + * @method \Aws\Result batchModifyClusterSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchModifyClusterSnapshotsAsync(array $args = []) + * @method \Aws\Result cancelResize(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelResizeAsync(array $args = []) + * @method \Aws\Result copyClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyClusterSnapshotAsync(array $args = []) + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result createClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result createClusterSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterSecurityGroupAsync(array $args = []) + * @method \Aws\Result createClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterSnapshotAsync(array $args = []) + * @method \Aws\Result createClusterSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterSubnetGroupAsync(array $args = []) + * @method \Aws\Result createEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEventSubscriptionAsync(array $args = []) + * @method \Aws\Result createHsmClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHsmClientCertificateAsync(array $args = []) + * @method \Aws\Result createHsmConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHsmConfigurationAsync(array $args = []) + * @method \Aws\Result createSnapshotCopyGrant(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotCopyGrantAsync(array $args = []) + * @method \Aws\Result createSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result deleteCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterAsync(array $args = []) + * @method \Aws\Result deleteClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result deleteClusterSecurityGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterSecurityGroupAsync(array $args = []) + * @method \Aws\Result deleteClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterSnapshotAsync(array $args = []) + * @method \Aws\Result deleteClusterSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteClusterSubnetGroupAsync(array $args = []) + * @method \Aws\Result deleteEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEventSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteHsmClientCertificate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHsmClientCertificateAsync(array $args = []) + * @method \Aws\Result deleteHsmConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHsmConfigurationAsync(array $args = []) + * @method \Aws\Result deleteSnapshotCopyGrant(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotCopyGrantAsync(array $args = []) + * @method \Aws\Result deleteSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result describeAccountAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAttributesAsync(array $args = []) + * @method \Aws\Result describeClusterDbRevisions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterDbRevisionsAsync(array $args = []) + * @method \Aws\Result describeClusterParameterGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterParameterGroupsAsync(array $args = []) + * @method \Aws\Result describeClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterParametersAsync(array $args = []) + * @method \Aws\Result describeClusterSecurityGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterSecurityGroupsAsync(array $args = []) + * @method \Aws\Result describeClusterSnapshots(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterSnapshotsAsync(array $args = []) + * @method \Aws\Result describeClusterSubnetGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterSubnetGroupsAsync(array $args = []) + * @method \Aws\Result describeClusterTracks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterTracksAsync(array $args = []) + * @method \Aws\Result describeClusterVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterVersionsAsync(array $args = []) + * @method \Aws\Result describeClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClustersAsync(array $args = []) + * @method \Aws\Result describeDefaultClusterParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDefaultClusterParametersAsync(array $args = []) + * @method \Aws\Result describeEventCategories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventCategoriesAsync(array $args = []) + * @method \Aws\Result describeEventSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventSubscriptionsAsync(array $args = []) + * @method \Aws\Result describeEvents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEventsAsync(array $args = []) + * @method \Aws\Result describeHsmClientCertificates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHsmClientCertificatesAsync(array $args = []) + * @method \Aws\Result describeHsmConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHsmConfigurationsAsync(array $args = []) + * @method \Aws\Result describeLoggingStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLoggingStatusAsync(array $args = []) + * @method \Aws\Result describeOrderableClusterOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrderableClusterOptionsAsync(array $args = []) + * @method \Aws\Result describeReservedNodeOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedNodeOfferingsAsync(array $args = []) + * @method \Aws\Result describeReservedNodes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReservedNodesAsync(array $args = []) + * @method \Aws\Result describeResize(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResizeAsync(array $args = []) + * @method \Aws\Result describeSnapshotCopyGrants(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotCopyGrantsAsync(array $args = []) + * @method \Aws\Result describeSnapshotSchedules(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotSchedulesAsync(array $args = []) + * @method \Aws\Result describeStorage(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStorageAsync(array $args = []) + * @method \Aws\Result describeTableRestoreStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTableRestoreStatusAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result disableLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableLoggingAsync(array $args = []) + * @method \Aws\Result disableSnapshotCopy(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableSnapshotCopyAsync(array $args = []) + * @method \Aws\Result enableLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableLoggingAsync(array $args = []) + * @method \Aws\Result enableSnapshotCopy(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableSnapshotCopyAsync(array $args = []) + * @method \Aws\Result getClusterCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise getClusterCredentialsAsync(array $args = []) + * @method \Aws\Result getReservedNodeExchangeOfferings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReservedNodeExchangeOfferingsAsync(array $args = []) + * @method \Aws\Result modifyCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterAsync(array $args = []) + * @method \Aws\Result modifyClusterDbRevision(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterDbRevisionAsync(array $args = []) + * @method \Aws\Result modifyClusterIamRoles(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterIamRolesAsync(array $args = []) + * @method \Aws\Result modifyClusterMaintenance(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterMaintenanceAsync(array $args = []) + * @method \Aws\Result modifyClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result modifyClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterSnapshotAsync(array $args = []) + * @method \Aws\Result modifyClusterSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result modifyClusterSubnetGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClusterSubnetGroupAsync(array $args = []) + * @method \Aws\Result modifyEventSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyEventSubscriptionAsync(array $args = []) + * @method \Aws\Result modifySnapshotCopyRetentionPeriod(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifySnapshotCopyRetentionPeriodAsync(array $args = []) + * @method \Aws\Result modifySnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifySnapshotScheduleAsync(array $args = []) + * @method \Aws\Result purchaseReservedNodeOffering(array $args = []) + * @method \GuzzleHttp\Promise\Promise purchaseReservedNodeOfferingAsync(array $args = []) + * @method \Aws\Result rebootCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootClusterAsync(array $args = []) + * @method \Aws\Result resetClusterParameterGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetClusterParameterGroupAsync(array $args = []) + * @method \Aws\Result resizeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise resizeClusterAsync(array $args = []) + * @method \Aws\Result restoreFromClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreFromClusterSnapshotAsync(array $args = []) + * @method \Aws\Result restoreTableFromClusterSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreTableFromClusterSnapshotAsync(array $args = []) + * @method \Aws\Result revokeClusterSecurityGroupIngress(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeClusterSecurityGroupIngressAsync(array $args = []) + * @method \Aws\Result revokeSnapshotAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeSnapshotAccessAsync(array $args = []) + * @method \Aws\Result rotateEncryptionKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise rotateEncryptionKeyAsync(array $args = []) + */ +class RedshiftClient extends AwsClient {} diff --git a/lib/aws/Aws/Rekognition/Exception/RekognitionException.php b/lib/aws/Aws/Rekognition/Exception/RekognitionException.php new file mode 100644 index 0000000..18f3f39 --- /dev/null +++ b/lib/aws/Aws/Rekognition/Exception/RekognitionException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Rekognition\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Rekognition** service. + */ +class RekognitionException extends AwsException {} diff --git a/lib/aws/Aws/Rekognition/RekognitionClient.php b/lib/aws/Aws/Rekognition/RekognitionClient.php new file mode 100644 index 0000000..462d358 --- /dev/null +++ b/lib/aws/Aws/Rekognition/RekognitionClient.php @@ -0,0 +1,77 @@ +<?php +namespace Aws\Rekognition; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Rekognition** service. + * @method \Aws\Result compareFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise compareFacesAsync(array $args = []) + * @method \Aws\Result createCollection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCollectionAsync(array $args = []) + * @method \Aws\Result createStreamProcessor(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStreamProcessorAsync(array $args = []) + * @method \Aws\Result deleteCollection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCollectionAsync(array $args = []) + * @method \Aws\Result deleteFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFacesAsync(array $args = []) + * @method \Aws\Result deleteStreamProcessor(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStreamProcessorAsync(array $args = []) + * @method \Aws\Result describeCollection(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCollectionAsync(array $args = []) + * @method \Aws\Result describeStreamProcessor(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStreamProcessorAsync(array $args = []) + * @method \Aws\Result detectFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectFacesAsync(array $args = []) + * @method \Aws\Result detectLabels(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectLabelsAsync(array $args = []) + * @method \Aws\Result detectModerationLabels(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectModerationLabelsAsync(array $args = []) + * @method \Aws\Result detectText(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectTextAsync(array $args = []) + * @method \Aws\Result getCelebrityInfo(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCelebrityInfoAsync(array $args = []) + * @method \Aws\Result getCelebrityRecognition(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCelebrityRecognitionAsync(array $args = []) + * @method \Aws\Result getContentModeration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContentModerationAsync(array $args = []) + * @method \Aws\Result getFaceDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFaceDetectionAsync(array $args = []) + * @method \Aws\Result getFaceSearch(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFaceSearchAsync(array $args = []) + * @method \Aws\Result getLabelDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLabelDetectionAsync(array $args = []) + * @method \Aws\Result getPersonTracking(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPersonTrackingAsync(array $args = []) + * @method \Aws\Result indexFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise indexFacesAsync(array $args = []) + * @method \Aws\Result listCollections(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCollectionsAsync(array $args = []) + * @method \Aws\Result listFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFacesAsync(array $args = []) + * @method \Aws\Result listStreamProcessors(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStreamProcessorsAsync(array $args = []) + * @method \Aws\Result recognizeCelebrities(array $args = []) + * @method \GuzzleHttp\Promise\Promise recognizeCelebritiesAsync(array $args = []) + * @method \Aws\Result searchFaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchFacesAsync(array $args = []) + * @method \Aws\Result searchFacesByImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchFacesByImageAsync(array $args = []) + * @method \Aws\Result startCelebrityRecognition(array $args = []) + * @method \GuzzleHttp\Promise\Promise startCelebrityRecognitionAsync(array $args = []) + * @method \Aws\Result startContentModeration(array $args = []) + * @method \GuzzleHttp\Promise\Promise startContentModerationAsync(array $args = []) + * @method \Aws\Result startFaceDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise startFaceDetectionAsync(array $args = []) + * @method \Aws\Result startFaceSearch(array $args = []) + * @method \GuzzleHttp\Promise\Promise startFaceSearchAsync(array $args = []) + * @method \Aws\Result startLabelDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise startLabelDetectionAsync(array $args = []) + * @method \Aws\Result startPersonTracking(array $args = []) + * @method \GuzzleHttp\Promise\Promise startPersonTrackingAsync(array $args = []) + * @method \Aws\Result startStreamProcessor(array $args = []) + * @method \GuzzleHttp\Promise\Promise startStreamProcessorAsync(array $args = []) + * @method \Aws\Result stopStreamProcessor(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopStreamProcessorAsync(array $args = []) + */ +class RekognitionClient extends AwsClient {} diff --git a/lib/aws/Aws/ResourceGroups/Exception/ResourceGroupsException.php b/lib/aws/Aws/ResourceGroups/Exception/ResourceGroupsException.php new file mode 100644 index 0000000..66b8115 --- /dev/null +++ b/lib/aws/Aws/ResourceGroups/Exception/ResourceGroupsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ResourceGroups\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Resource Groups** service. + */ +class ResourceGroupsException extends AwsException {} diff --git a/lib/aws/Aws/ResourceGroups/ResourceGroupsClient.php b/lib/aws/Aws/ResourceGroups/ResourceGroupsClient.php new file mode 100644 index 0000000..96f0a33 --- /dev/null +++ b/lib/aws/Aws/ResourceGroups/ResourceGroupsClient.php @@ -0,0 +1,33 @@ +<?php +namespace Aws\ResourceGroups; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Resource Groups** service. + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result getGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = []) + * @method \Aws\Result getGroupQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupQueryAsync(array $args = []) + * @method \Aws\Result getTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagsAsync(array $args = []) + * @method \Aws\Result listGroupResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupResourcesAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result searchResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchResourcesAsync(array $args = []) + * @method \Aws\Result tag(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagAsync(array $args = []) + * @method \Aws\Result untag(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateGroupQuery(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupQueryAsync(array $args = []) + */ +class ResourceGroupsClient extends AwsClient {} diff --git a/lib/aws/Aws/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php b/lib/aws/Aws/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php new file mode 100644 index 0000000..d0b3d59 --- /dev/null +++ b/lib/aws/Aws/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ResourceGroupsTaggingAPI\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Resource Groups Tagging API** service. + */ +class ResourceGroupsTaggingAPIException extends AwsException {} diff --git a/lib/aws/Aws/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php b/lib/aws/Aws/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php new file mode 100644 index 0000000..af86570 --- /dev/null +++ b/lib/aws/Aws/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php @@ -0,0 +1,19 @@ +<?php +namespace Aws\ResourceGroupsTaggingAPI; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Resource Groups Tagging API** service. + * @method \Aws\Result getResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcesAsync(array $args = []) + * @method \Aws\Result getTagKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagKeysAsync(array $args = []) + * @method \Aws\Result getTagValues(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTagValuesAsync(array $args = []) + * @method \Aws\Result tagResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourcesAsync(array $args = []) + * @method \Aws\Result untagResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourcesAsync(array $args = []) + */ +class ResourceGroupsTaggingAPIClient extends AwsClient {} diff --git a/lib/aws/Aws/ResponseContainerInterface.php b/lib/aws/Aws/ResponseContainerInterface.php new file mode 100644 index 0000000..ef2ae28 --- /dev/null +++ b/lib/aws/Aws/ResponseContainerInterface.php @@ -0,0 +1,13 @@ +<?php + +namespace Aws; + +interface ResponseContainerInterface +{ + /** + * Get the received HTTP response if any. + * + * @return ResponseInterface|null + */ + public function getResponse(); +} \ No newline at end of file diff --git a/lib/aws/Aws/Result.php b/lib/aws/Aws/Result.php new file mode 100644 index 0000000..0e3b373 --- /dev/null +++ b/lib/aws/Aws/Result.php @@ -0,0 +1,57 @@ +<?php +namespace Aws; + +use JmesPath\Env as JmesPath; + +/** + * AWS result. + */ +class Result implements ResultInterface, MonitoringEventsInterface +{ + use HasDataTrait; + use HasMonitoringEventsTrait; + + public function __construct(array $data = []) + { + $this->data = $data; + } + + public function hasKey($name) + { + return isset($this->data[$name]); + } + + public function get($key) + { + return $this[$key]; + } + + public function search($expression) + { + return JmesPath::search($expression, $this->toArray()); + } + + public function __toString() + { + $jsonData = json_encode($this->toArray(), JSON_PRETTY_PRINT); + return <<<EOT +Model Data +---------- +Data can be retrieved from the model object using the get() method of the +model (e.g., `\$result->get(\$key)`) or "accessing the result like an +associative array (e.g. `\$result['key']`). You can also execute JMESPath +expressions on the result data using the search() method. + +{$jsonData} + +EOT; + } + + /** + * @deprecated + */ + public function getPath($path) + { + return $this->search(str_replace('/', '.', $path)); + } +} diff --git a/lib/aws/Aws/ResultInterface.php b/lib/aws/Aws/ResultInterface.php new file mode 100644 index 0000000..18a166a --- /dev/null +++ b/lib/aws/Aws/ResultInterface.php @@ -0,0 +1,54 @@ +<?php +namespace Aws; + +/** + * Represents an AWS result object that is returned from executing an operation. + */ +interface ResultInterface extends \ArrayAccess, \IteratorAggregate, \Countable +{ + /** + * Provides debug information about the result object + * + * @return string + */ + public function __toString(); + + /** + * Convert the result to an array. + * + * @return array + */ + public function toArray(); + + /** + * Check if the model contains a key by name + * + * @param string $name Name of the key to retrieve + * + * @return bool + */ + public function hasKey($name); + + /** + * Get a specific key value from the result model. + * + * @param string $key Key to retrieve. + * + * @return mixed|null Value of the key or NULL if not found. + */ + public function get($key); + + /** + * Returns the result of executing a JMESPath expression on the contents + * of the Result model. + * + * $result = $client->execute($command); + * $jpResult = $result->search('foo.*.bar[?baz > `10`]'); + * + * @param string $expression JMESPath expression to execute + * + * @return mixed Returns the result of the JMESPath expression. + * @link http://jmespath.readthedocs.org/en/latest/ JMESPath documentation + */ + public function search($expression); +}; diff --git a/lib/aws/Aws/ResultPaginator.php b/lib/aws/Aws/ResultPaginator.php new file mode 100644 index 0000000..62268aa --- /dev/null +++ b/lib/aws/Aws/ResultPaginator.php @@ -0,0 +1,169 @@ +<?php +namespace Aws; + +use GuzzleHttp\Promise; + +/** + * Iterator that yields each page of results of a pageable operation. + */ +class ResultPaginator implements \Iterator +{ + /** @var AwsClientInterface Client performing operations. */ + private $client; + + /** @var string Name of the operation being paginated. */ + private $operation; + + /** @var array Args for the operation. */ + private $args; + + /** @var array Configuration for the paginator. */ + private $config; + + /** @var Result Most recent result from the client. */ + private $result; + + /** @var string|array Next token to use for pagination. */ + private $nextToken; + + /** @var int Number of operations/requests performed. */ + private $requestCount = 0; + + /** + * @param AwsClientInterface $client + * @param string $operation + * @param array $args + * @param array $config + */ + public function __construct( + AwsClientInterface $client, + $operation, + array $args, + array $config + ) { + $this->client = $client; + $this->operation = $operation; + $this->args = $args; + $this->config = $config; + } + + /** + * Runs a paginator asynchronously and uses a callback to handle results. + * + * The callback should have the signature: function (Aws\Result $result). + * A non-null return value from the callback will be yielded by the + * promise. This means that you can return promises from the callback that + * will need to be resolved before continuing iteration over the remaining + * items, essentially merging in other promises to the iteration. The last + * non-null value returned by the callback will be the result that fulfills + * the promise to any downstream promises. + * + * @param callable $handleResult Callback for handling each page of results. + * The callback accepts the result that was + * yielded as a single argument. If the + * callback returns a promise, the promise + * will be merged into the coroutine. + * + * @return Promise\Promise + */ + public function each(callable $handleResult) + { + return Promise\coroutine(function () use ($handleResult) { + $nextToken = null; + do { + $command = $this->createNextCommand($this->args, $nextToken); + $result = (yield $this->client->executeAsync($command)); + $nextToken = $this->determineNextToken($result); + $retVal = $handleResult($result); + if ($retVal !== null) { + yield Promise\promise_for($retVal); + } + } while ($nextToken); + }); + } + + /** + * Returns an iterator that iterates over the values of applying a JMESPath + * search to each result yielded by the iterator as a flat sequence. + * + * @param string $expression JMESPath expression to apply to each result. + * + * @return \Iterator + */ + public function search($expression) + { + // Apply JMESPath expression on each result, but as a flat sequence. + return flatmap($this, function (Result $result) use ($expression) { + return (array) $result->search($expression); + }); + } + + /** + * @return Result + */ + public function current() + { + return $this->valid() ? $this->result : false; + } + + public function key() + { + return $this->valid() ? $this->requestCount - 1 : null; + } + + public function next() + { + $this->result = null; + } + + public function valid() + { + if ($this->result) { + return true; + } + + if ($this->nextToken || !$this->requestCount) { + $this->result = $this->client->execute( + $this->createNextCommand($this->args, $this->nextToken) + ); + $this->nextToken = $this->determineNextToken($this->result); + $this->requestCount++; + return true; + } + + return false; + } + + public function rewind() + { + $this->requestCount = 0; + $this->nextToken = null; + $this->result = null; + } + + private function createNextCommand(array $args, array $nextToken = null) + { + return $this->client->getCommand($this->operation, array_merge($args, ($nextToken ?: []))); + } + + private function determineNextToken(Result $result) + { + if (!$this->config['output_token']) { + return null; + } + + if ($this->config['more_results'] + && !$result->search($this->config['more_results']) + ) { + return null; + } + + $nextToken = is_scalar($this->config['output_token']) + ? [$this->config['input_token'] => $this->config['output_token']] + : array_combine($this->config['input_token'], $this->config['output_token']); + + return array_filter(array_map(function ($outputToken) use ($result) { + return $result->search($outputToken); + }, $nextToken)); + } +} diff --git a/lib/aws/Aws/RetryMiddleware.php b/lib/aws/Aws/RetryMiddleware.php new file mode 100644 index 0000000..8e11539 --- /dev/null +++ b/lib/aws/Aws/RetryMiddleware.php @@ -0,0 +1,315 @@ +<?php +namespace Aws; + +use Aws\Exception\AwsException; +use GuzzleHttp\Exception\RequestException; +use Psr\Http\Message\RequestInterface; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Promise; + +/** + * @internal Middleware that retries failures. + */ +class RetryMiddleware +{ + private static $retryStatusCodes = [ + 500 => true, + 502 => true, + 503 => true, + 504 => true + ]; + + private static $retryCodes = [ + // Throttling error + 'RequestLimitExceeded' => true, + 'Throttling' => true, + 'ThrottlingException' => true, + 'ThrottledException' => true, + 'ProvisionedThroughputExceededException' => true, + 'RequestThrottled' => true, + 'BandwidthLimitExceeded' => true, + 'RequestThrottledException' => true, + ]; + + private $decider; + private $delay; + private $nextHandler; + private $collectStats; + + public function __construct( + callable $decider, + callable $delay, + callable $nextHandler, + $collectStats = false + ) { + $this->decider = $decider; + $this->delay = $delay; + $this->nextHandler = $nextHandler; + $this->collectStats = (bool) $collectStats; + } + + /** + * Creates a default AWS retry decider function. + * + * The optional $additionalRetryConfig parameter is an associative array + * that specifies additional retry conditions on top of the ones specified + * by default by the Aws\RetryMiddleware class, with the following keys: + * + * - errorCodes: (string[]) An indexed array of AWS exception codes to retry. + * Optional. + * - statusCodes: (int[]) An indexed array of HTTP status codes to retry. + * Optional. + * - curlErrors: (int[]) An indexed array of Curl error codes to retry. Note + * these should be valid Curl constants. Optional. + * + * @param int $maxRetries + * @param array $additionalRetryConfig + * @return callable + */ + public static function createDefaultDecider( + $maxRetries = 3, + $additionalRetryConfig = [] + ) { + $retryCurlErrors = []; + if (extension_loaded('curl')) { + $retryCurlErrors[CURLE_RECV_ERROR] = true; + } + + return function ( + $retries, + CommandInterface $command, + RequestInterface $request, + ResultInterface $result = null, + $error = null + ) use ($maxRetries, $retryCurlErrors, $additionalRetryConfig) { + // Allow command-level options to override this value + $maxRetries = null !== $command['@retries'] ? + $command['@retries'] + : $maxRetries; + + $isRetryable = self::isRetryable( + $result, + $error, + $retryCurlErrors, + $additionalRetryConfig + ); + + if ($retries >= $maxRetries) { + if (!empty($error) + && $error instanceof AwsException + && $isRetryable + ) { + $error->setMaxRetriesExceeded(); + } + return false; + } + + return $isRetryable; + }; + } + + private static function isRetryable( + $result, + $error, + $retryCurlErrors, + $additionalRetryConfig = [] + ) { + $errorCodes = self::$retryCodes; + if (!empty($additionalRetryConfig['errorCodes']) + && is_array($additionalRetryConfig['errorCodes']) + ) { + foreach($additionalRetryConfig['errorCodes'] as $code) { + $errorCodes[$code] = true; + } + } + + $statusCodes = self::$retryStatusCodes; + if (!empty($additionalRetryConfig['statusCodes']) + && is_array($additionalRetryConfig['statusCodes']) + ) { + foreach($additionalRetryConfig['statusCodes'] as $code) { + $statusCodes[$code] = true; + } + } + + if (!empty($additionalRetryConfig['curlErrors']) + && is_array($additionalRetryConfig['curlErrors']) + ) { + foreach($additionalRetryConfig['curlErrors'] as $code) { + $retryCurlErrors[$code] = true; + } + } + + if (!$error) { + return isset($statusCodes[$result['@metadata']['statusCode']]); + } + + if (!($error instanceof AwsException)) { + return false; + } + + if ($error->isConnectionError()) { + return true; + } + + if (isset($errorCodes[$error->getAwsErrorCode()])) { + return true; + } + + if (isset($statusCodes[$error->getStatusCode()])) { + return true; + } + + if (count($retryCurlErrors) + && ($previous = $error->getPrevious()) + && $previous instanceof RequestException + ) { + if (method_exists($previous, 'getHandlerContext')) { + $context = $previous->getHandlerContext(); + return !empty($context['errno']) + && isset($retryCurlErrors[$context['errno']]); + } + + $message = $previous->getMessage(); + foreach (array_keys($retryCurlErrors) as $curlError) { + if (strpos($message, 'cURL error ' . $curlError . ':') === 0) { + return true; + } + } + } + + return false; + } + + /** + * Delay function that calculates an exponential delay. + * + * Exponential backoff with jitter, 100ms base, 20 sec ceiling + * + * @param $retries - The number of retries that have already been attempted + * + * @return int + * + * @link https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/ + */ + public static function exponentialDelay($retries) + { + return mt_rand(0, (int) min(20000, (int) pow(2, $retries) * 100)); + } + + /** + * @param CommandInterface $command + * @param RequestInterface $request + * + * @return PromiseInterface + */ + public function __invoke( + CommandInterface $command, + RequestInterface $request = null + ) { + $retries = 0; + $requestStats = []; + $monitoringEvents = []; + $handler = $this->nextHandler; + $decider = $this->decider; + $delay = $this->delay; + + $request = $this->addRetryHeader($request, 0, 0); + + $g = function ($value) use ( + $handler, + $decider, + $delay, + $command, + $request, + &$retries, + &$requestStats, + &$monitoringEvents, + &$g + ) { + $this->updateHttpStats($value, $requestStats); + + if ($value instanceof MonitoringEventsInterface) { + $reversedEvents = array_reverse($monitoringEvents); + $monitoringEvents = array_merge($monitoringEvents, $value->getMonitoringEvents()); + foreach ($reversedEvents as $event) { + $value->prependMonitoringEvent($event); + } + } + if ($value instanceof \Exception || $value instanceof \Throwable) { + if (!$decider($retries, $command, $request, null, $value)) { + return Promise\rejection_for( + $this->bindStatsToReturn($value, $requestStats) + ); + } + } elseif ($value instanceof ResultInterface + && !$decider($retries, $command, $request, $value, null) + ) { + return $this->bindStatsToReturn($value, $requestStats); + } + + // Delay fn is called with 0, 1, ... so increment after the call. + $delayBy = $delay($retries++); + $command['@http']['delay'] = $delayBy; + if ($this->collectStats) { + $this->updateStats($retries, $delayBy, $requestStats); + } + + // Update retry header with retry count and delayBy + $request = $this->addRetryHeader($request, $retries, $delayBy); + + return $handler($command, $request)->then($g, $g); + }; + + return $handler($command, $request)->then($g, $g); + } + + private function addRetryHeader($request, $retries, $delayBy) + { + return $request->withHeader('aws-sdk-retry', "{$retries}/{$delayBy}"); + } + + private function updateStats($retries, $delay, array &$stats) + { + if (!isset($stats['total_retry_delay'])) { + $stats['total_retry_delay'] = 0; + } + + $stats['total_retry_delay'] += $delay; + $stats['retries_attempted'] = $retries; + } + + private function updateHttpStats($value, array &$stats) + { + if (empty($stats['http'])) { + $stats['http'] = []; + } + + if ($value instanceof AwsException) { + $resultStats = isset($value->getTransferInfo('http')[0]) + ? $value->getTransferInfo('http')[0] + : []; + $stats['http'] []= $resultStats; + } elseif ($value instanceof ResultInterface) { + $resultStats = isset($value['@metadata']['transferStats']['http'][0]) + ? $value['@metadata']['transferStats']['http'][0] + : []; + $stats['http'] []= $resultStats; + } + } + + private function bindStatsToReturn($return, array $stats) + { + if ($return instanceof ResultInterface) { + if (!isset($return['@metadata'])) { + $return['@metadata'] = []; + } + + $return['@metadata']['transferStats'] = $stats; + } elseif ($return instanceof AwsException) { + $return->setTransferInfo($stats); + } + + return $return; + } +} diff --git a/lib/aws/Aws/RoboMaker/Exception/RoboMakerException.php b/lib/aws/Aws/RoboMaker/Exception/RoboMakerException.php new file mode 100644 index 0000000..4cff3a8 --- /dev/null +++ b/lib/aws/Aws/RoboMaker/Exception/RoboMakerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\RoboMaker\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS RoboMaker** service. + */ +class RoboMakerException extends AwsException {} diff --git a/lib/aws/Aws/RoboMaker/RoboMakerClient.php b/lib/aws/Aws/RoboMaker/RoboMakerClient.php new file mode 100644 index 0000000..ede8738 --- /dev/null +++ b/lib/aws/Aws/RoboMaker/RoboMakerClient.php @@ -0,0 +1,79 @@ +<?php +namespace Aws\RoboMaker; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS RoboMaker** service. + * @method \Aws\Result batchDescribeSimulationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDescribeSimulationJobAsync(array $args = []) + * @method \Aws\Result cancelSimulationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelSimulationJobAsync(array $args = []) + * @method \Aws\Result createDeploymentJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDeploymentJobAsync(array $args = []) + * @method \Aws\Result createFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) + * @method \Aws\Result createRobot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRobotAsync(array $args = []) + * @method \Aws\Result createRobotApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRobotApplicationAsync(array $args = []) + * @method \Aws\Result createRobotApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRobotApplicationVersionAsync(array $args = []) + * @method \Aws\Result createSimulationApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSimulationApplicationAsync(array $args = []) + * @method \Aws\Result createSimulationApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSimulationApplicationVersionAsync(array $args = []) + * @method \Aws\Result createSimulationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSimulationJobAsync(array $args = []) + * @method \Aws\Result deleteFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = []) + * @method \Aws\Result deleteRobot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRobotAsync(array $args = []) + * @method \Aws\Result deleteRobotApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRobotApplicationAsync(array $args = []) + * @method \Aws\Result deleteSimulationApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSimulationApplicationAsync(array $args = []) + * @method \Aws\Result deregisterRobot(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterRobotAsync(array $args = []) + * @method \Aws\Result describeDeploymentJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeploymentJobAsync(array $args = []) + * @method \Aws\Result describeFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetAsync(array $args = []) + * @method \Aws\Result describeRobot(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRobotAsync(array $args = []) + * @method \Aws\Result describeRobotApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRobotApplicationAsync(array $args = []) + * @method \Aws\Result describeSimulationApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSimulationApplicationAsync(array $args = []) + * @method \Aws\Result describeSimulationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSimulationJobAsync(array $args = []) + * @method \Aws\Result listDeploymentJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeploymentJobsAsync(array $args = []) + * @method \Aws\Result listFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFleetsAsync(array $args = []) + * @method \Aws\Result listRobotApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRobotApplicationsAsync(array $args = []) + * @method \Aws\Result listRobots(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRobotsAsync(array $args = []) + * @method \Aws\Result listSimulationApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSimulationApplicationsAsync(array $args = []) + * @method \Aws\Result listSimulationJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSimulationJobsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result registerRobot(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerRobotAsync(array $args = []) + * @method \Aws\Result restartSimulationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise restartSimulationJobAsync(array $args = []) + * @method \Aws\Result syncDeploymentJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise syncDeploymentJobAsync(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 updateRobotApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRobotApplicationAsync(array $args = []) + * @method \Aws\Result updateSimulationApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSimulationApplicationAsync(array $args = []) + */ +class RoboMakerClient extends AwsClient {} diff --git a/lib/aws/Aws/Route53/Exception/Route53Exception.php b/lib/aws/Aws/Route53/Exception/Route53Exception.php new file mode 100644 index 0000000..5a0ace2 --- /dev/null +++ b/lib/aws/Aws/Route53/Exception/Route53Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Route53\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Route 53 service. + */ +class Route53Exception extends AwsException {} diff --git a/lib/aws/Aws/Route53/Route53Client.php b/lib/aws/Aws/Route53/Route53Client.php new file mode 100644 index 0000000..72eb5c8 --- /dev/null +++ b/lib/aws/Aws/Route53/Route53Client.php @@ -0,0 +1,152 @@ +<?php +namespace Aws\Route53; + +use Aws\AwsClient; +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * This client is used to interact with the **Amazon Route 53** service. + * + * @method \Aws\Result associateVPCWithHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateVPCWithHostedZoneAsync(array $args = []) + * @method \Aws\Result changeResourceRecordSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise changeResourceRecordSetsAsync(array $args = []) + * @method \Aws\Result changeTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise changeTagsForResourceAsync(array $args = []) + * @method \Aws\Result createHealthCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHealthCheckAsync(array $args = []) + * @method \Aws\Result createHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHostedZoneAsync(array $args = []) + * @method \Aws\Result createQueryLoggingConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise createQueryLoggingConfigAsync(array $args = []) + * @method \Aws\Result createReusableDelegationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReusableDelegationSetAsync(array $args = []) + * @method \Aws\Result createTrafficPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrafficPolicyAsync(array $args = []) + * @method \Aws\Result createTrafficPolicyInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrafficPolicyInstanceAsync(array $args = []) + * @method \Aws\Result createTrafficPolicyVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrafficPolicyVersionAsync(array $args = []) + * @method \Aws\Result createVPCAssociationAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVPCAssociationAuthorizationAsync(array $args = []) + * @method \Aws\Result deleteHealthCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHealthCheckAsync(array $args = []) + * @method \Aws\Result deleteHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteHostedZoneAsync(array $args = []) + * @method \Aws\Result deleteQueryLoggingConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteQueryLoggingConfigAsync(array $args = []) + * @method \Aws\Result deleteReusableDelegationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReusableDelegationSetAsync(array $args = []) + * @method \Aws\Result deleteTrafficPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTrafficPolicyAsync(array $args = []) + * @method \Aws\Result deleteTrafficPolicyInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTrafficPolicyInstanceAsync(array $args = []) + * @method \Aws\Result deleteVPCAssociationAuthorization(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVPCAssociationAuthorizationAsync(array $args = []) + * @method \Aws\Result disassociateVPCFromHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateVPCFromHostedZoneAsync(array $args = []) + * @method \Aws\Result getAccountLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountLimitAsync(array $args = []) + * @method \Aws\Result getChange(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChangeAsync(array $args = []) + * @method \Aws\Result getCheckerIpRanges(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCheckerIpRangesAsync(array $args = []) + * @method \Aws\Result getGeoLocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGeoLocationAsync(array $args = []) + * @method \Aws\Result getHealthCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHealthCheckAsync(array $args = []) + * @method \Aws\Result getHealthCheckCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHealthCheckCountAsync(array $args = []) + * @method \Aws\Result getHealthCheckLastFailureReason(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHealthCheckLastFailureReasonAsync(array $args = []) + * @method \Aws\Result getHealthCheckStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHealthCheckStatusAsync(array $args = []) + * @method \Aws\Result getHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHostedZoneAsync(array $args = []) + * @method \Aws\Result getHostedZoneCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHostedZoneCountAsync(array $args = []) + * @method \Aws\Result getHostedZoneLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise getHostedZoneLimitAsync(array $args = []) + * @method \Aws\Result getQueryLoggingConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueryLoggingConfigAsync(array $args = []) + * @method \Aws\Result getReusableDelegationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReusableDelegationSetAsync(array $args = []) + * @method \Aws\Result getReusableDelegationSetLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReusableDelegationSetLimitAsync(array $args = []) + * @method \Aws\Result getTrafficPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTrafficPolicyAsync(array $args = []) + * @method \Aws\Result getTrafficPolicyInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTrafficPolicyInstanceAsync(array $args = []) + * @method \Aws\Result getTrafficPolicyInstanceCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTrafficPolicyInstanceCountAsync(array $args = []) + * @method \Aws\Result listGeoLocations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGeoLocationsAsync(array $args = []) + * @method \Aws\Result listHealthChecks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHealthChecksAsync(array $args = []) + * @method \Aws\Result listHostedZones(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHostedZonesAsync(array $args = []) + * @method \Aws\Result listHostedZonesByName(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHostedZonesByNameAsync(array $args = []) + * @method \Aws\Result listQueryLoggingConfigs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQueryLoggingConfigsAsync(array $args = []) + * @method \Aws\Result listResourceRecordSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceRecordSetsAsync(array $args = []) + * @method \Aws\Result listReusableDelegationSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReusableDelegationSetsAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTagsForResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourcesAsync(array $args = []) + * @method \Aws\Result listTrafficPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrafficPoliciesAsync(array $args = []) + * @method \Aws\Result listTrafficPolicyInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrafficPolicyInstancesAsync(array $args = []) + * @method \Aws\Result listTrafficPolicyInstancesByHostedZone(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrafficPolicyInstancesByHostedZoneAsync(array $args = []) + * @method \Aws\Result listTrafficPolicyInstancesByPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrafficPolicyInstancesByPolicyAsync(array $args = []) + * @method \Aws\Result listTrafficPolicyVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrafficPolicyVersionsAsync(array $args = []) + * @method \Aws\Result listVPCAssociationAuthorizations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVPCAssociationAuthorizationsAsync(array $args = []) + * @method \Aws\Result testDNSAnswer(array $args = []) + * @method \GuzzleHttp\Promise\Promise testDNSAnswerAsync(array $args = []) + * @method \Aws\Result updateHealthCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateHealthCheckAsync(array $args = []) + * @method \Aws\Result updateHostedZoneComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateHostedZoneCommentAsync(array $args = []) + * @method \Aws\Result updateTrafficPolicyComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTrafficPolicyCommentAsync(array $args = []) + * @method \Aws\Result updateTrafficPolicyInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTrafficPolicyInstanceAsync(array $args = []) + */ +class Route53Client extends AwsClient +{ + public function __construct(array $args) + { + parent::__construct($args); + $this->getHandlerList()->appendInit($this->cleanIdFn(), 'route53.clean_id'); + } + + private function cleanIdFn() + { + return function (callable $handler) { + return function (CommandInterface $c, RequestInterface $r = null) use ($handler) { + foreach (['Id', 'HostedZoneId', 'DelegationSetId'] as $clean) { + if ($c->hasParam($clean)) { + $c[$clean] = $this->cleanId($c[$clean]); + } + } + return $handler($c, $r); + }; + }; + } + + private function cleanId($id) + { + static $toClean = ['/hostedzone/', '/change/', '/delegationset/']; + + return str_replace($toClean, '', $id); + } +} diff --git a/lib/aws/Aws/Route53Domains/Exception/Route53DomainsException.php b/lib/aws/Aws/Route53Domains/Exception/Route53DomainsException.php new file mode 100644 index 0000000..9874719 --- /dev/null +++ b/lib/aws/Aws/Route53Domains/Exception/Route53DomainsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Route53Domains\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Route 53 Domains service. + */ +class Route53DomainsException extends AwsException {} diff --git a/lib/aws/Aws/Route53Domains/Route53DomainsClient.php b/lib/aws/Aws/Route53Domains/Route53DomainsClient.php new file mode 100644 index 0000000..e478687 --- /dev/null +++ b/lib/aws/Aws/Route53Domains/Route53DomainsClient.php @@ -0,0 +1,58 @@ +<?php +namespace Aws\Route53Domains; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Route 53 Domains** service. + * + * @method \Aws\Result checkDomainAvailability(array $args = []) + * @method \GuzzleHttp\Promise\Promise checkDomainAvailabilityAsync(array $args = []) + * @method \Aws\Result checkDomainTransferability(array $args = []) + * @method \GuzzleHttp\Promise\Promise checkDomainTransferabilityAsync(array $args = []) + * @method \Aws\Result deleteTagsForDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsForDomainAsync(array $args = []) + * @method \Aws\Result disableDomainAutoRenew(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableDomainAutoRenewAsync(array $args = []) + * @method \Aws\Result disableDomainTransferLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableDomainTransferLockAsync(array $args = []) + * @method \Aws\Result enableDomainAutoRenew(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableDomainAutoRenewAsync(array $args = []) + * @method \Aws\Result enableDomainTransferLock(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableDomainTransferLockAsync(array $args = []) + * @method \Aws\Result getContactReachabilityStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getContactReachabilityStatusAsync(array $args = []) + * @method \Aws\Result getDomainDetail(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainDetailAsync(array $args = []) + * @method \Aws\Result getDomainSuggestions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDomainSuggestionsAsync(array $args = []) + * @method \Aws\Result getOperationDetail(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOperationDetailAsync(array $args = []) + * @method \Aws\Result listDomains(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDomainsAsync(array $args = []) + * @method \Aws\Result listOperations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOperationsAsync(array $args = []) + * @method \Aws\Result listTagsForDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForDomainAsync(array $args = []) + * @method \Aws\Result registerDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerDomainAsync(array $args = []) + * @method \Aws\Result renewDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise renewDomainAsync(array $args = []) + * @method \Aws\Result resendContactReachabilityEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise resendContactReachabilityEmailAsync(array $args = []) + * @method \Aws\Result retrieveDomainAuthCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise retrieveDomainAuthCodeAsync(array $args = []) + * @method \Aws\Result transferDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise transferDomainAsync(array $args = []) + * @method \Aws\Result updateDomainContact(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainContactAsync(array $args = []) + * @method \Aws\Result updateDomainContactPrivacy(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainContactPrivacyAsync(array $args = []) + * @method \Aws\Result updateDomainNameservers(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDomainNameserversAsync(array $args = []) + * @method \Aws\Result updateTagsForDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTagsForDomainAsync(array $args = []) + * @method \Aws\Result viewBilling(array $args = []) + * @method \GuzzleHttp\Promise\Promise viewBillingAsync(array $args = []) + */ +class Route53DomainsClient extends AwsClient {} diff --git a/lib/aws/Aws/Route53Resolver/Exception/Route53ResolverException.php b/lib/aws/Aws/Route53Resolver/Exception/Route53ResolverException.php new file mode 100644 index 0000000..33b5a55 --- /dev/null +++ b/lib/aws/Aws/Route53Resolver/Exception/Route53ResolverException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Route53Resolver\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Route 53 Resolver** service. + */ +class Route53ResolverException extends AwsException {} diff --git a/lib/aws/Aws/Route53Resolver/Route53ResolverClient.php b/lib/aws/Aws/Route53Resolver/Route53ResolverClient.php new file mode 100644 index 0000000..86aeb2f --- /dev/null +++ b/lib/aws/Aws/Route53Resolver/Route53ResolverClient.php @@ -0,0 +1,53 @@ +<?php +namespace Aws\Route53Resolver; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Route 53 Resolver** service. + * @method \Aws\Result associateResolverEndpointIpAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateResolverEndpointIpAddressAsync(array $args = []) + * @method \Aws\Result associateResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateResolverRuleAsync(array $args = []) + * @method \Aws\Result createResolverEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResolverEndpointAsync(array $args = []) + * @method \Aws\Result createResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResolverRuleAsync(array $args = []) + * @method \Aws\Result deleteResolverEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResolverEndpointAsync(array $args = []) + * @method \Aws\Result deleteResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResolverRuleAsync(array $args = []) + * @method \Aws\Result disassociateResolverEndpointIpAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateResolverEndpointIpAddressAsync(array $args = []) + * @method \Aws\Result disassociateResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateResolverRuleAsync(array $args = []) + * @method \Aws\Result getResolverEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResolverEndpointAsync(array $args = []) + * @method \Aws\Result getResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResolverRuleAsync(array $args = []) + * @method \Aws\Result getResolverRuleAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResolverRuleAssociationAsync(array $args = []) + * @method \Aws\Result getResolverRulePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResolverRulePolicyAsync(array $args = []) + * @method \Aws\Result listResolverEndpointIpAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolverEndpointIpAddressesAsync(array $args = []) + * @method \Aws\Result listResolverEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolverEndpointsAsync(array $args = []) + * @method \Aws\Result listResolverRuleAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolverRuleAssociationsAsync(array $args = []) + * @method \Aws\Result listResolverRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResolverRulesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result putResolverRulePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putResolverRulePolicyAsync(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 updateResolverEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResolverEndpointAsync(array $args = []) + * @method \Aws\Result updateResolverRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResolverRuleAsync(array $args = []) + */ +class Route53ResolverClient extends AwsClient {} diff --git a/lib/aws/Aws/S3/AmbiguousSuccessParser.php b/lib/aws/Aws/S3/AmbiguousSuccessParser.php new file mode 100644 index 0000000..b3537a8 --- /dev/null +++ b/lib/aws/Aws/S3/AmbiguousSuccessParser.php @@ -0,0 +1,68 @@ +<?php +namespace Aws\S3; + +use Aws\Api\Parser\AbstractParser; +use Aws\Api\StructureShape; +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * Converts errors returned with a status code of 200 to a retryable error type. + * + * @internal + */ +class AmbiguousSuccessParser extends AbstractParser +{ + private static $ambiguousSuccesses = [ + 'UploadPartCopy' => true, + 'CopyObject' => true, + 'CompleteMultipartUpload' => true, + ]; + + /** @var callable */ + private $errorParser; + /** @var string */ + private $exceptionClass; + + public function __construct( + callable $parser, + callable $errorParser, + $exceptionClass = AwsException::class + ) { + $this->parser = $parser; + $this->errorParser = $errorParser; + $this->exceptionClass = $exceptionClass; + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + if (200 === $response->getStatusCode() + && isset(self::$ambiguousSuccesses[$command->getName()]) + ) { + $errorParser = $this->errorParser; + $parsed = $errorParser($response); + if (isset($parsed['code']) && isset($parsed['message'])) { + throw new $this->exceptionClass( + $parsed['message'], + $command, + ['connection_error' => true] + ); + } + } + + $fn = $this->parser; + return $fn($command, $response); + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + return $this->parser->parseMemberFromStream($stream, $member, $response); + } +} diff --git a/lib/aws/Aws/S3/ApplyChecksumMiddleware.php b/lib/aws/Aws/S3/ApplyChecksumMiddleware.php new file mode 100644 index 0000000..001da02 --- /dev/null +++ b/lib/aws/Aws/S3/ApplyChecksumMiddleware.php @@ -0,0 +1,78 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; + +/** + * Apply required or optional MD5s to requests before sending. + * + * IMPORTANT: This middleware must be added after the "build" step. + * + * @internal + */ +class ApplyChecksumMiddleware +{ + private static $md5 = [ + 'DeleteObjects', + 'PutBucketCors', + 'PutBucketLifecycle', + 'PutBucketLifecycleConfiguration', + 'PutBucketPolicy', + 'PutBucketTagging', + 'PutBucketReplication', + 'PutObjectLegalHold', + 'PutObjectRetention', + 'PutObjectLockConfiguration', + ]; + + private static $sha256 = [ + 'PutObject', + 'UploadPart', + ]; + + private $nextHandler; + + /** + * Create a middleware wrapper function. + * + * @return callable + */ + public static function wrap() + { + return function (callable $handler) { + return new self($handler); + }; + } + + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + public function __invoke( + CommandInterface $command, + RequestInterface $request + ) { + $next = $this->nextHandler; + $name = $command->getName(); + $body = $request->getBody(); + + if (in_array($name, self::$md5) && !$request->hasHeader('Content-MD5')) { + // Set the content MD5 header for operations that require it. + $request = $request->withHeader( + 'Content-MD5', + base64_encode(Psr7\hash($body, 'md5', true)) + ); + } elseif (in_array($name, self::$sha256) && $command['ContentSHA256']) { + // Set the content hash header if provided in the parameters. + $request = $request->withHeader( + 'X-Amz-Content-Sha256', + $command['ContentSHA256'] + ); + } + + return $next($command, $request); + } +} diff --git a/lib/aws/Aws/S3/BatchDelete.php b/lib/aws/Aws/S3/BatchDelete.php new file mode 100644 index 0000000..5ee6a19 --- /dev/null +++ b/lib/aws/Aws/S3/BatchDelete.php @@ -0,0 +1,237 @@ +<?php +namespace Aws\S3; + +use Aws\AwsClientInterface; +use Aws\S3\Exception\DeleteMultipleObjectsException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromisorInterface; +use GuzzleHttp\Promise\PromiseInterface; + +/** + * Efficiently deletes many objects from a single Amazon S3 bucket using an + * iterator that yields keys. Deletes are made using the DeleteObjects API + * operation. + * + * $s3 = new Aws\S3\Client([ + * 'region' => 'us-west-2', + * 'version' => 'latest' + * ]); + * + * $listObjectsParams = ['Bucket' => 'foo', 'Prefix' => 'starts/with/']; + * $delete = Aws\S3\BatchDelete::fromListObjects($s3, $listObjectsParams); + * // Asynchronously delete + * $promise = $delete->promise(); + * // Force synchronous completion + * $delete->delete(); + * + * When using one of the batch delete creational static methods, you can supply + * an associative array of options: + * + * - before: Function invoked before executing a command. The function is + * passed the command that is about to be executed. This can be useful + * for logging, adding custom request headers, etc. + * - batch_size: The size of each delete batch. Defaults to 1000. + * + * @link http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html + */ +class BatchDelete implements PromisorInterface +{ + private $bucket; + /** @var AwsClientInterface */ + private $client; + /** @var callable */ + private $before; + /** @var PromiseInterface */ + private $cachedPromise; + /** @var callable */ + private $promiseCreator; + private $batchSize = 1000; + private $queue = []; + + /** + * Creates a BatchDelete object from all of the paginated results of a + * ListObjects operation. Each result that is returned by the ListObjects + * operation will be deleted. + * + * @param AwsClientInterface $client AWS Client to use. + * @param array $listObjectsParams ListObjects API parameters + * @param array $options BatchDelete options. + * + * @return BatchDelete + */ + public static function fromListObjects( + AwsClientInterface $client, + array $listObjectsParams, + array $options = [] + ) { + $iter = $client->getPaginator('ListObjects', $listObjectsParams); + $bucket = $listObjectsParams['Bucket']; + $fn = function (BatchDelete $that) use ($iter) { + return $iter->each(function ($result) use ($that) { + $promises = []; + if (is_array($result['Contents'])) { + foreach ($result['Contents'] as $object) { + if ($promise = $that->enqueue($object)) { + $promises[] = $promise; + } + } + } + return $promises ? Promise\all($promises) : null; + }); + }; + + return new self($client, $bucket, $fn, $options); + } + + /** + * Creates a BatchDelete object from an iterator that yields results. + * + * @param AwsClientInterface $client AWS Client to use to execute commands + * @param string $bucket Bucket where the objects are stored + * @param \Iterator $iter Iterator that yields assoc arrays + * @param array $options BatchDelete options + * + * @return BatchDelete + */ + public static function fromIterator( + AwsClientInterface $client, + $bucket, + \Iterator $iter, + array $options = [] + ) { + $fn = function (BatchDelete $that) use ($iter) { + return Promise\coroutine(function () use ($that, $iter) { + foreach ($iter as $obj) { + if ($promise = $that->enqueue($obj)) { + yield $promise; + } + } + }); + }; + + return new self($client, $bucket, $fn, $options); + } + + public function promise() + { + if (!$this->cachedPromise) { + $this->cachedPromise = $this->createPromise(); + } + + return $this->cachedPromise; + } + + /** + * Synchronously deletes all of the objects. + * + * @throws DeleteMultipleObjectsException on error. + */ + public function delete() + { + $this->promise()->wait(); + } + + /** + * @param AwsClientInterface $client Client used to transfer the requests + * @param string $bucket Bucket to delete from. + * @param callable $promiseFn Creates a promise. + * @param array $options Hash of options used with the batch + * + * @throws \InvalidArgumentException if the provided batch_size is <= 0 + */ + private function __construct( + AwsClientInterface $client, + $bucket, + callable $promiseFn, + array $options = [] + ) { + $this->client = $client; + $this->bucket = $bucket; + $this->promiseCreator = $promiseFn; + + if (isset($options['before'])) { + if (!is_callable($options['before'])) { + throw new \InvalidArgumentException('before must be callable'); + } + $this->before = $options['before']; + } + + if (isset($options['batch_size'])) { + if ($options['batch_size'] <= 0) { + throw new \InvalidArgumentException('batch_size is not > 0'); + } + $this->batchSize = min($options['batch_size'], 1000); + } + } + + private function enqueue(array $obj) + { + $this->queue[] = $obj; + return count($this->queue) >= $this->batchSize + ? $this->flushQueue() + : null; + } + + private function flushQueue() + { + static $validKeys = ['Key' => true, 'VersionId' => true]; + + if (count($this->queue) === 0) { + return null; + } + + $batch = []; + while ($obj = array_shift($this->queue)) { + $batch[] = array_intersect_key($obj, $validKeys); + } + + $command = $this->client->getCommand('DeleteObjects', [ + 'Bucket' => $this->bucket, + 'Delete' => ['Objects' => $batch] + ]); + + if ($this->before) { + call_user_func($this->before, $command); + } + + return $this->client->executeAsync($command) + ->then(function ($result) { + if (!empty($result['Errors'])) { + throw new DeleteMultipleObjectsException( + $result['Deleted'] ?: [], + $result['Errors'] + ); + } + return $result; + }); + } + + /** + * Returns a promise that will clean up any references when it completes. + * + * @return PromiseInterface + */ + private function createPromise() + { + // Create the promise + $promise = call_user_func($this->promiseCreator, $this); + $this->promiseCreator = null; + + // Cleans up the promise state and references. + $cleanup = function () { + $this->before = $this->client = $this->queue = null; + }; + + // When done, ensure cleanup and that any remaining are processed. + return $promise->then( + function () use ($cleanup) { + return Promise\promise_for($this->flushQueue()) + ->then($cleanup); + }, + function ($reason) use ($cleanup) { + $cleanup(); + return Promise\rejection_for($reason); + } + ); + } +} diff --git a/lib/aws/Aws/S3/BucketEndpointMiddleware.php b/lib/aws/Aws/S3/BucketEndpointMiddleware.php new file mode 100644 index 0000000..2e74b5f --- /dev/null +++ b/lib/aws/Aws/S3/BucketEndpointMiddleware.php @@ -0,0 +1,75 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Used to update the host used for S3 requests in the case of using a + * "bucket endpoint" or CNAME bucket. + * + * IMPORTANT: this middleware must be added after the "build" step. + * + * @internal + */ +class BucketEndpointMiddleware +{ + private static $exclusions = ['GetBucketLocation' => true]; + private $nextHandler; + + /** + * Create a middleware wrapper function. + * + * @return callable + */ + public static function wrap() + { + return function (callable $handler) { + return new self($handler); + }; + } + + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + public function __invoke(CommandInterface $command, RequestInterface $request) + { + $nextHandler = $this->nextHandler; + $bucket = $command['Bucket']; + + if ($bucket && !isset(self::$exclusions[$command->getName()])) { + $request = $this->modifyRequest($request, $command); + } + + return $nextHandler($command, $request); + } + + private function removeBucketFromPath($path, $bucket) + { + $len = strlen($bucket) + 1; + if (substr($path, 0, $len) === "/{$bucket}") { + $path = substr($path, $len); + } + + return $path ?: '/'; + } + + private function modifyRequest( + RequestInterface $request, + CommandInterface $command + ) { + $uri = $request->getUri(); + $path = $uri->getPath(); + $bucket = $command['Bucket']; + $path = $this->removeBucketFromPath($path, $bucket); + + // Modify the Key to make sure the key is encoded, but slashes are not. + if ($command['Key']) { + $path = S3Client::encodeKey(rawurldecode($path)); + } + + return $request->withUri($uri->withPath($path)); + } +} diff --git a/lib/aws/Aws/S3/Crypto/CryptoParamsTrait.php b/lib/aws/Aws/S3/Crypto/CryptoParamsTrait.php new file mode 100644 index 0000000..57253a4 --- /dev/null +++ b/lib/aws/Aws/S3/Crypto/CryptoParamsTrait.php @@ -0,0 +1,75 @@ +<?php +namespace Aws\S3\Crypto; + +use Aws\Crypto\MaterialsProvider; +use Aws\Crypto\MetadataEnvelope; +use Aws\Crypto\MetadataStrategyInterface; + +trait CryptoParamsTrait +{ + protected function getMaterialsProvider(array $args) + { + if ($args['@MaterialsProvider'] instanceof MaterialsProvider) { + return $args['@MaterialsProvider']; + } + + throw new \InvalidArgumentException('An instance of MaterialsProvider' + . ' must be passed in the "MaterialsProvider" field.'); + } + + protected function getInstructionFileSuffix(array $args) + { + return !empty($args['@InstructionFileSuffix']) + ? $args['@InstructionFileSuffix'] + : $this->instructionFileSuffix; + } + + protected function determineGetObjectStrategy( + $result, + $instructionFileSuffix + ) { + if (isset($result['Metadata'][MetadataEnvelope::CONTENT_KEY_V2_HEADER])) { + return new HeadersMetadataStrategy(); + } + + return new InstructionFileMetadataStrategy( + $this->client, + $instructionFileSuffix + ); + } + + protected function getMetadataStrategy(array $args, $instructionFileSuffix) + { + if (!empty($args['@MetadataStrategy'])) { + if ($args['@MetadataStrategy'] instanceof MetadataStrategyInterface) { + return $args['@MetadataStrategy']; + } + + if (is_string($args['@MetadataStrategy'])) { + switch ($args['@MetadataStrategy']) { + case HeadersMetadataStrategy::class: + return new HeadersMetadataStrategy(); + case InstructionFileMetadataStrategy::class: + return new InstructionFileMetadataStrategy( + $this->client, + $instructionFileSuffix + ); + default: + throw new \InvalidArgumentException('Could not match the' + . ' specified string in "MetadataStrategy" to a' + . ' predefined strategy.'); + } + } else { + throw new \InvalidArgumentException('The metadata strategy that' + . ' was passed to "MetadataStrategy" was unrecognized.'); + } + } elseif ($instructionFileSuffix) { + return new InstructionFileMetadataStrategy( + $this->client, + $instructionFileSuffix + ); + } + + return null; + } +} diff --git a/lib/aws/Aws/S3/Crypto/HeadersMetadataStrategy.php b/lib/aws/Aws/S3/Crypto/HeadersMetadataStrategy.php new file mode 100644 index 0000000..405d982 --- /dev/null +++ b/lib/aws/Aws/S3/Crypto/HeadersMetadataStrategy.php @@ -0,0 +1,52 @@ +<?php +namespace Aws\S3\Crypto; + +use \Aws\Crypto\MetadataStrategyInterface; +use \Aws\Crypto\MetadataEnvelope; + +class HeadersMetadataStrategy implements MetadataStrategyInterface +{ + /** + * Places the information in the MetadataEnvelope in to the Meatadata for + * the PutObject request of the encrypted object. + * + * @param MetadataEnvelope $envelope Encryption data to save according to + * the strategy. + * @param array $args Arguments for PutObject that can be manipulated to + * store strategy related information. + * + * @return array Updated arguments for PutObject. + */ + public function save(MetadataEnvelope $envelope, array $args) + { + foreach ($envelope as $header=>$value) { + $args['Metadata'][$header] = $value; + } + + return $args; + } + + /** + * Generates a MetadataEnvelope according to the Metadata headers from the + * GetObject result. + * + * @param array $args Arguments from Command and Result that contains + * S3 Object information, relevant headers, and command + * configuration. + * + * @return MetadataEnvelope + */ + public function load(array $args) + { + $envelope = new MetadataEnvelope(); + $constantValues = MetadataEnvelope::getConstantValues(); + + foreach ($constantValues as $constant) { + if (!empty($args['Metadata'][$constant])) { + $envelope[$constant] = $args['Metadata'][$constant]; + } + } + + return $envelope; + } +} diff --git a/lib/aws/Aws/S3/Crypto/InstructionFileMetadataStrategy.php b/lib/aws/Aws/S3/Crypto/InstructionFileMetadataStrategy.php new file mode 100644 index 0000000..5065928 --- /dev/null +++ b/lib/aws/Aws/S3/Crypto/InstructionFileMetadataStrategy.php @@ -0,0 +1,90 @@ +<?php +namespace Aws\S3\Crypto; + +use \Aws\Crypto\MetadataStrategyInterface; +use \Aws\Crypto\MetadataEnvelope; +use \Aws\S3\S3Client; + +/** + * Stores and reads encryption MetadataEnvelope information in a file on Amazon + * S3. + * + * A file with the contents of a MetadataEnvelope will be created or read from + * alongside the base file on Amazon S3. The provided client will be used for + * reading or writing this object. A specified suffix (default of '.instruction' + * will be applied to each of the operations involved with the instruction file. + * + * If there is a failure after an instruction file has been uploaded, it will + * not be automatically deleted. + */ +class InstructionFileMetadataStrategy implements MetadataStrategyInterface +{ + const DEFAULT_FILE_SUFFIX = '.instruction'; + + private $client; + private $suffix; + + /** + * @param S3Client $client Client for use in uploading the instruction file. + * @param string|null $suffix Optional override suffix for instruction file + * object keys. + */ + public function __construct(S3Client $client, $suffix = null) + { + $this->suffix = empty($suffix) + ? self::DEFAULT_FILE_SUFFIX + : $suffix; + $this->client = $client; + } + + /** + * Places the information in the MetadataEnvelope to a location on S3. + * + * @param MetadataEnvelope $envelope Encryption data to save according to + * the strategy. + * @param array $args Starting arguments for PutObject, used for saving + * extra the instruction file. + * + * @return array Updated arguments for PutObject. + */ + public function save(MetadataEnvelope $envelope, array $args) + { + $this->client->putObject([ + 'Bucket' => $args['Bucket'], + 'Key' => $args['Key'] . $this->suffix, + 'Body' => json_encode($envelope) + ]); + + return $args; + } + + /** + * Uses the strategy's client to retrieve the instruction file from S3 and generates + * a MetadataEnvelope from its contents. + * + * @param array $args Arguments from Command and Result that contains + * S3 Object information, relevant headers, and command + * configuration. + * + * @return MetadataEnvelope + */ + public function load(array $args) + { + $result = $this->client->getObject([ + 'Bucket' => $args['Bucket'], + 'Key' => $args['Key'] . $this->suffix + ]); + + $metadataHeaders = json_decode($result['Body'], true); + $envelope = new MetadataEnvelope(); + $constantValues = MetadataEnvelope::getConstantValues(); + + foreach ($constantValues as $constant) { + if (!empty($metadataHeaders[$constant])) { + $envelope[$constant] = $metadataHeaders[$constant]; + } + } + + return $envelope; + } +} diff --git a/lib/aws/Aws/S3/Crypto/S3EncryptionClient.php b/lib/aws/Aws/S3/Crypto/S3EncryptionClient.php new file mode 100644 index 0000000..71e80b2 --- /dev/null +++ b/lib/aws/Aws/S3/Crypto/S3EncryptionClient.php @@ -0,0 +1,317 @@ +<?php +namespace Aws\S3\Crypto; + +use Aws\HashingStream; +use Aws\PhpHash; +use Aws\Crypto\AbstractCryptoClient; +use Aws\Crypto\EncryptionTrait; +use Aws\Crypto\DecryptionTrait; +use Aws\Crypto\MetadataEnvelope; +use Aws\Crypto\MaterialsProvider; +use Aws\Crypto\Cipher\CipherBuilderTrait; +use Aws\S3\S3Client; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Psr7; + +/** + * Provides a wrapper for an S3Client that supplies functionality to encrypt + * data on putObject[Async] calls and decrypt data on getObject[Async] calls. + */ +class S3EncryptionClient extends AbstractCryptoClient +{ + use EncryptionTrait, DecryptionTrait, CipherBuilderTrait, CryptoParamsTrait; + + private $client; + private $instructionFileSuffix; + + /** + * @param S3Client $client The S3Client to be used for true uploading and + * retrieving objects from S3 when using the + * encryption client. + * @param string|null $instructionFileSuffix Suffix for a client wide + * default when using instruction + * files for metadata storage. + */ + public function __construct( + S3Client $client, + $instructionFileSuffix = null + ) { + $this->client = $client; + $this->instructionFileSuffix = $instructionFileSuffix; + } + + private static function getDefaultStrategy() + { + return new HeadersMetadataStrategy(); + } + + /** + * Encrypts the data in the 'Body' field of $args and promises to upload it + * to the specified location on S3. + * + * @param array $args Arguments for encrypting an object and uploading it + * to S3 via PutObject. + * + * The required configuration arguments are as follows: + * + * - @MaterialsProvider: (MaterialsProvider) Provides Cek, Iv, and Cek + * encrypting/decrypting for encryption metadata. + * - @CipherOptions: (array) Cipher options for encrypting data. Only the + * Cipher option is required. Accepts the following: + * - Cipher: (string) cbc|gcm + * See also: AbstractCryptoClient::$supportedCiphers + * - KeySize: (int) 128|192|256 + * See also: MaterialsProvider::$supportedKeySizes + * - Aad: (string) Additional authentication data. This option is + * passed directly to OpenSSL when using gcm. It is ignored when + * using cbc. + * + * The optional configuration arguments are as follows: + * + * - @MetadataStrategy: (MetadataStrategy|string|null) Strategy for storing + * MetadataEnvelope information. Defaults to using a + * HeadersMetadataStrategy. Can either be a class implementing + * MetadataStrategy, a class name of a predefined strategy, or empty/null + * to default. + * - @InstructionFileSuffix: (string|null) Suffix used when writing to an + * instruction file if using an InstructionFileMetadataHandler. + * + * @return PromiseInterface + * + * @throws \InvalidArgumentException Thrown when arguments above are not + * passed or are passed incorrectly. + */ + public function putObjectAsync(array $args) + { + $provider = $this->getMaterialsProvider($args); + unset($args['@MaterialsProvider']); + + $instructionFileSuffix = $this->getInstructionFileSuffix($args); + unset($args['@InstructionFileSuffix']); + + $strategy = $this->getMetadataStrategy($args, $instructionFileSuffix); + unset($args['@MetadataStrategy']); + + $envelope = new MetadataEnvelope(); + + return Promise\promise_for($this->encrypt( + Psr7\stream_for($args['Body']), + $args['@CipherOptions'] ?: [], + $provider, + $envelope + ))->then( + function ($encryptedBodyStream) use ($args) { + $hash = new PhpHash('sha256'); + $hashingEncryptedBodyStream = new HashingStream( + $encryptedBodyStream, + $hash, + self::getContentShaDecorator($args) + ); + return [$hashingEncryptedBodyStream, $args]; + } + )->then( + function ($putObjectContents) use ($strategy, $envelope) { + list($bodyStream, $args) = $putObjectContents; + if ($strategy === null) { + $strategy = self::getDefaultStrategy(); + } + + $updatedArgs = $strategy->save($envelope, $args); + $updatedArgs['Body'] = $bodyStream; + return $updatedArgs; + } + )->then( + function ($args) { + unset($args['@CipherOptions']); + return $this->client->putObjectAsync($args); + } + ); + } + + private static function getContentShaDecorator(&$args) + { + return function ($hash) use (&$args) { + $args['ContentSHA256'] = bin2hex($hash); + }; + } + + /** + * Encrypts the data in the 'Body' field of $args and uploads it to the + * specified location on S3. + * + * @param array $args Arguments for encrypting an object and uploading it + * to S3 via PutObject. + * + * The required configuration arguments are as follows: + * + * - @MaterialsProvider: (MaterialsProvider) Provides Cek, Iv, and Cek + * encrypting/decrypting for encryption metadata. + * - @CipherOptions: (array) Cipher options for encrypting data. A Cipher + * is required. Accepts the following options: + * - Cipher: (string) cbc|gcm + * See also: AbstractCryptoClient::$supportedCiphers + * - KeySize: (int) 128|192|256 + * See also: MaterialsProvider::$supportedKeySizes + * - Aad: (string) Additional authentication data. This option is + * passed directly to OpenSSL when using gcm. It is ignored when + * using cbc. + * + * The optional configuration arguments are as follows: + * + * - @MetadataStrategy: (MetadataStrategy|string|null) Strategy for storing + * MetadataEnvelope information. Defaults to using a + * HeadersMetadataStrategy. Can either be a class implementing + * MetadataStrategy, a class name of a predefined strategy, or empty/null + * to default. + * - @InstructionFileSuffix: (string|null) Suffix used when writing to an + * instruction file if an using an InstructionFileMetadataHandler was + * determined. + * + * @return \Aws\Result PutObject call result with the details of uploading + * the encrypted file. + * + * @throws \InvalidArgumentException Thrown when arguments above are not + * passed or are passed incorrectly. + */ + public function putObject(array $args) + { + return $this->putObjectAsync($args)->wait(); + } + + /** + * Promises to retrieve an object from S3 and decrypt the data in the + * 'Body' field. + * + * @param array $args Arguments for retrieving an object from S3 via + * GetObject and decrypting it. + * + * The required configuration argument is as follows: + * + * - @MaterialsProvider: (MaterialsProvider) Provides Cek, Iv, and Cek + * encrypting/decrypting for decryption metadata. May have data loaded + * from the MetadataEnvelope upon decryption. + * + * The optional configuration arguments are as follows: + * + * - SaveAs: (string) The path to a file on disk to save the decrypted + * object data. This will be handled by file_put_contents instead of the + * Guzzle sink. + * + * - @MetadataStrategy: (MetadataStrategy|string|null) Strategy for reading + * MetadataEnvelope information. Defaults to determining based on object + * response headers. Can either be a class implementing MetadataStrategy, + * a class name of a predefined strategy, or empty/null to default. + * - @InstructionFileSuffix: (string) Suffix used when looking for an + * instruction file if an InstructionFileMetadataHandler is being used. + * - @CipherOptions: (array) Cipher options for decrypting data. A Cipher + * is required. Accepts the following options: + * - Aad: (string) Additional authentication data. This option is + * passed directly to OpenSSL when using gcm. It is ignored when + * using cbc. + * + * @return PromiseInterface + * + * @throws \InvalidArgumentException Thrown when required arguments are not + * passed or are passed incorrectly. + */ + public function getObjectAsync(array $args) + { + $provider = $this->getMaterialsProvider($args); + unset($args['@MaterialsProvider']); + + $instructionFileSuffix = $this->getInstructionFileSuffix($args); + unset($args['@InstructionFileSuffix']); + + $strategy = $this->getMetadataStrategy($args, $instructionFileSuffix); + unset($args['@MetadataStrategy']); + + $saveAs = null; + if (!empty($args['SaveAs'])) { + $saveAs = $args['SaveAs']; + } + + $promise = $this->client->getObjectAsync($args) + ->then( + function ($result) use ( + $provider, + $instructionFileSuffix, + $strategy, + $args + ) { + if ($strategy === null) { + $strategy = $this->determineGetObjectStrategy( + $result, + $instructionFileSuffix + ); + } + + $envelope = $strategy->load($args + [ + 'Metadata' => $result['Metadata'] + ]); + + $provider = $provider->fromDecryptionEnvelope($envelope); + + $result['Body'] = $this->decrypt( + $result['Body'], + $provider, + $envelope, + isset($args['@CipherOptions']) + ? $args['@CipherOptions'] + : [] + ); + return $result; + } + )->then( + function ($result) use ($saveAs) { + if (!empty($saveAs)) { + file_put_contents( + $saveAs, + (string)$result['Body'], + LOCK_EX + ); + } + return $result; + } + ); + + return $promise; + } + + /** + * Retrieves an object from S3 and decrypts the data in the 'Body' field. + * + * @param array $args Arguments for retrieving an object from S3 via + * GetObject and decrypting it. + * + * The required configuration argument is as follows: + * + * - @MaterialsProvider: (MaterialsProvider) Provides Cek, Iv, and Cek + * encrypting/decrypting for decryption metadata. May have data loaded + * from the MetadataEnvelope upon decryption. + * + * The optional configuration arguments are as follows: + * + * - SaveAs: (string) The path to a file on disk to save the decrypted + * object data. This will be handled by file_put_contents instead of the + * Guzzle sink. + * - @InstructionFileSuffix: (string|null) Suffix used when looking for an + * instruction file if an InstructionFileMetadataHandler was detected. + * - @CipherOptions: (array) Cipher options for encrypting data. A Cipher + * is required. Accepts the following options: + * - Aad: (string) Additional authentication data. This option is + * passed directly to OpenSSL when using gcm. It is ignored when + * using cbc. + * + * @return \Aws\Result GetObject call result with the 'Body' field + * wrapped in a decryption stream with its metadata + * information. + * + * @throws \InvalidArgumentException Thrown when arguments above are not + * passed or are passed incorrectly. + */ + public function getObject(array $args) + { + return $this->getObjectAsync($args)->wait(); + } +} diff --git a/lib/aws/Aws/S3/Crypto/S3EncryptionMultipartUploader.php b/lib/aws/Aws/S3/Crypto/S3EncryptionMultipartUploader.php new file mode 100644 index 0000000..d9f2e7d --- /dev/null +++ b/lib/aws/Aws/S3/Crypto/S3EncryptionMultipartUploader.php @@ -0,0 +1,157 @@ +<?php +namespace Aws\S3\Crypto; + +use Aws\Crypto\AbstractCryptoClient; +use Aws\Crypto\EncryptionTrait; +use Aws\Crypto\MetadataEnvelope; +use Aws\Crypto\Cipher\CipherBuilderTrait; +use Aws\S3\MultipartUploader; +use Aws\S3\S3ClientInterface; +use GuzzleHttp\Promise; + +/** + * Encapsulates the execution of a multipart upload of an encrypted object to S3. + */ +class S3EncryptionMultipartUploader extends MultipartUploader +{ + use EncryptionTrait, CipherBuilderTrait, CryptoParamsTrait; + + /** + * Returns if the passed cipher name is supported for encryption by the SDK. + * + * @param string $cipherName The name of a cipher to verify is registered. + * + * @return bool If the cipher passed is in our supported list. + */ + public static function isSupportedCipher($cipherName) + { + return in_array($cipherName, AbstractCryptoClient::$supportedCiphers); + } + + private $provider; + private $instructionFileSuffix; + private $strategy; + + /** + * Creates a multipart upload for an S3 object after encrypting it. + * + * The required configuration options are as follows: + * + * - @MaterialsProvider: (MaterialsProvider) Provides Cek, Iv, and Cek + * encrypting/decrypting for encryption metadata. + * - @CipherOptions: (array) Cipher options for encrypting data. A Cipher + * is required. Accepts the following options: + * - Cipher: (string) cbc|gcm + * See also: AbstractCryptoClient::$supportedCiphers + * - KeySize: (int) 128|192|256 + * See also: MaterialsProvider::$supportedKeySizes + * - Aad: (string) Additional authentication data. This option is + * passed directly to OpenSSL when using gcm. It is ignored when + * using cbc. + * - bucket: (string) Name of the bucket to which the object is + * being uploaded. + * - key: (string) Key to use for the object being uploaded. + * + * The optional configuration arguments are as follows: + * + * - @MetadataStrategy: (MetadataStrategy|string|null) Strategy for storing + * MetadataEnvelope information. Defaults to using a + * HeadersMetadataStrategy. Can either be a class implementing + * MetadataStrategy, a class name of a predefined strategy, or empty/null + * to default. + * - @InstructionFileSuffix: (string|null) Suffix used when writing to an + * instruction file if an using an InstructionFileMetadataHandler was + * determined. + * - acl: (string) ACL to set on the object being upload. Objects are + * private by default. + * - before_complete: (callable) Callback to invoke before the + * `CompleteMultipartUpload` operation. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - before_initiate: (callable) Callback to invoke before the + * `CreateMultipartUpload` operation. The callback should have a function + * signature like `function (Aws\Command $command) {...}`. + * - before_upload: (callable) Callback to invoke before any `UploadPart` + * operations. The callback should have a function signature like + * `function (Aws\Command $command) {...}`. + * - concurrency: (int, default=int(5)) Maximum number of concurrent + * `UploadPart` operations allowed during the multipart upload. + * - params: (array) An array of key/value parameters that will be applied + * to each of the sub-commands run by the uploader as a base. + * Auto-calculated options will override these parameters. If you need + * more granularity over parameters to each sub-command, use the before_* + * options detailed above to update the commands directly. + * - part_size: (int, default=int(5242880)) Part size, in bytes, to use when + * doing a multipart upload. This must between 5 MB and 5 GB, inclusive. + * - state: (Aws\Multipart\UploadState) An object that represents the state + * of the multipart upload and that is used to resume a previous upload. + * When this option is provided, the `bucket`, `key`, and `part_size` + * options are ignored. + * + * @param S3ClientInterface $client Client used for the upload. + * @param mixed $source Source of the data to upload. + * @param array $config Configuration used to perform the upload. + */ + public function __construct( + S3ClientInterface $client, + $source, + array $config = [] + ) { + $this->client = $client; + $config['params'] = []; + if (!empty($config['bucket'])) { + $config['params']['Bucket'] = $config['bucket']; + } + if (!empty($config['key'])) { + $config['params']['Key'] = $config['key']; + } + + $this->provider = $this->getMaterialsProvider($config); + unset($config['@MaterialsProvider']); + + $this->instructionFileSuffix = $this->getInstructionFileSuffix($config); + unset($config['@InstructionFileSuffix']); + $this->strategy = $this->getMetadataStrategy( + $config, + $this->instructionFileSuffix + ); + if ($this->strategy === null) { + $this->strategy = self::getDefaultStrategy(); + } + unset($config['@MetadataStrategy']); + + $config['prepare_data_source'] = $this->getEncryptingDataPreparer(); + + parent::__construct($client, $source, $config); + } + + private static function getDefaultStrategy() + { + return new HeadersMetadataStrategy(); + } + + private function getEncryptingDataPreparer() + { + return function() { + // Defer encryption work until promise is executed + $envelope = new MetadataEnvelope(); + + list($this->source, $params) = Promise\promise_for($this->encrypt( + $this->source, + $this->config['@cipheroptions'] ?: [], + $this->provider, + $envelope + ))->then( + function ($bodyStream) use ($envelope) { + $params = $this->strategy->save( + $envelope, + $this->config['params'] + ); + return [$bodyStream, $params]; + } + )->wait(); + + $this->source->rewind(); + $this->config['params'] = $params; + }; + } +} \ No newline at end of file diff --git a/lib/aws/Aws/S3/Exception/DeleteMultipleObjectsException.php b/lib/aws/Aws/S3/Exception/DeleteMultipleObjectsException.php new file mode 100644 index 0000000..5b4c289 --- /dev/null +++ b/lib/aws/Aws/S3/Exception/DeleteMultipleObjectsException.php @@ -0,0 +1,68 @@ +<?php +namespace Aws\S3\Exception; + +use Aws\HasMonitoringEventsTrait; +use Aws\MonitoringEventsInterface; + +/** + * Exception thrown when errors occur while deleting objects using a + * {@see S3\BatchDelete} object. + */ +class DeleteMultipleObjectsException extends \Exception implements + MonitoringEventsInterface +{ + use HasMonitoringEventsTrait; + + private $deleted = []; + private $errors = []; + + /** + * @param array $deleted Array of successfully deleted keys + * @param array $errors Array of errors that were encountered + */ + public function __construct(array $deleted, array $errors) + { + $this->deleted = array_values($deleted); + $this->errors = array_values($errors); + parent::__construct('Unable to delete certain keys when executing a' + . ' DeleteMultipleObjects request: ' + . self::createMessageFromErrors($errors)); + } + + /** + * Create a single error message from multiple errors. + * + * @param array $errors Errors encountered + * + * @return string + */ + public static function createMessageFromErrors(array $errors) + { + return "\n- " . implode("\n- ", array_map(function ($key) { + return json_encode($key); + }, $errors)); + } + + /** + * Get the errored objects + * + * @return array Returns an array of associative arrays, each containing + * a 'Code', 'Message', and 'Key' key. + */ + public function getErrors() + { + return $this->errors; + } + + /** + * Get the successfully deleted objects + * + * @return array Returns an array of associative arrays, each containing + * a 'Key' and optionally 'DeleteMarker' and + * 'DeleterMarkerVersionId' + */ + public function getDeleted() + { + return $this->deleted; + } +} diff --git a/lib/aws/Aws/S3/Exception/PermanentRedirectException.php b/lib/aws/Aws/S3/Exception/PermanentRedirectException.php new file mode 100644 index 0000000..67d916e --- /dev/null +++ b/lib/aws/Aws/S3/Exception/PermanentRedirectException.php @@ -0,0 +1,4 @@ +<?php +namespace Aws\S3\Exception; + +class PermanentRedirectException extends S3Exception {} diff --git a/lib/aws/Aws/S3/Exception/S3Exception.php b/lib/aws/Aws/S3/Exception/S3Exception.php new file mode 100644 index 0000000..7ee3caa --- /dev/null +++ b/lib/aws/Aws/S3/Exception/S3Exception.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\S3\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Simple Storage Service. + */ +class S3Exception extends AwsException {} diff --git a/lib/aws/Aws/S3/Exception/S3MultipartUploadException.php b/lib/aws/Aws/S3/Exception/S3MultipartUploadException.php new file mode 100644 index 0000000..957e472 --- /dev/null +++ b/lib/aws/Aws/S3/Exception/S3MultipartUploadException.php @@ -0,0 +1,84 @@ +<?php +namespace Aws\S3\Exception; + +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Aws\Multipart\UploadState; + +class S3MultipartUploadException extends \Aws\Exception\MultipartUploadException +{ + /** @var string Bucket of the transfer object */ + private $bucket; + /** @var string Key of the transfer object */ + private $key; + /** @var string Source file name of the transfer object */ + private $filename; + + /** + * @param UploadState $state Upload state at time of the exception. + * @param \Exception|array $prev Exception being thrown. Could be an array of + * AwsExceptions being thrown when uploading parts + * for one object, or an instance of AwsException + * for a specific Multipart error being thrown in + * the MultipartUpload process. + */ + public function __construct(UploadState $state, $prev = null) { + if (is_array($prev) && $error = $prev[key($prev)]) { + $this->collectPathInfo($error->getCommand()); + } elseif ($prev instanceof AwsException) { + $this->collectPathInfo($prev->getCommand()); + } + parent::__construct($state, $prev); + } + + /** + * Get the Bucket information of the transfer object + * + * @return string|null Returns null when 'Bucket' information + * is unavailable. + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Get the Key information of the transfer object + * + * @return string|null Returns null when 'Key' information + * is unavailable. + */ + public function getKey() + { + return $this->key; + } + + /** + * Get the source file name of the transfer object + * + * @return string|null Returns null when metadata of the stream + * wrapped in 'Body' parameter is unavailable. + */ + public function getSourceFileName() + { + return $this->filename; + } + + /** + * Collect file path information when accessible. (Bucket, Key) + * + * @param CommandInterface $cmd + */ + private function collectPathInfo(CommandInterface $cmd) + { + if (empty($this->bucket) && isset($cmd['Bucket'])) { + $this->bucket = $cmd['Bucket']; + } + if (empty($this->key) && isset($cmd['Key'])) { + $this->key = $cmd['Key']; + } + if (empty($this->filename) && isset($cmd['Body'])) { + $this->filename = $cmd['Body']->getMetadata('uri'); + } + } +} diff --git a/lib/aws/Aws/S3/GetBucketLocationParser.php b/lib/aws/Aws/S3/GetBucketLocationParser.php new file mode 100644 index 0000000..94aee69 --- /dev/null +++ b/lib/aws/Aws/S3/GetBucketLocationParser.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\S3; + +use Aws\Api\Parser\AbstractParser; +use Aws\Api\StructureShape; +use Aws\CommandInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * @internal Decorates a parser for the S3 service to correctly handle the + * GetBucketLocation operation. + */ +class GetBucketLocationParser extends AbstractParser +{ + /** + * @param callable $parser Parser to wrap. + */ + public function __construct(callable $parser) + { + $this->parser = $parser; + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + $fn = $this->parser; + $result = $fn($command, $response); + + if ($command->getName() === 'GetBucketLocation') { + $location = 'us-east-1'; + if (preg_match('/>(.+?)<\/LocationConstraint>/', $response->getBody(), $matches)) { + $location = $matches[1] === 'EU' ? 'eu-west-1' : $matches[1]; + } + $result['LocationConstraint'] = $location; + } + + return $result; + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + return $this->parser->parseMemberFromStream($stream, $member, $response); + } +} diff --git a/lib/aws/Aws/S3/MultipartCopy.php b/lib/aws/Aws/S3/MultipartCopy.php new file mode 100644 index 0000000..72cfe9f --- /dev/null +++ b/lib/aws/Aws/S3/MultipartCopy.php @@ -0,0 +1,183 @@ +<?php +namespace Aws\S3; + +use Aws\Multipart\AbstractUploadManager; +use Aws\ResultInterface; +use GuzzleHttp\Psr7; + +class MultipartCopy extends AbstractUploadManager +{ + use MultipartUploadingTrait; + + /** @var string */ + private $source; + /** @var ResultInterface */ + private $sourceMetadata; + + /** + * Creates a multipart upload for copying an S3 object. + * + * The valid configuration options are as follows: + * + * - acl: (string) ACL to set on the object being upload. Objects are + * private by default. + * - before_complete: (callable) Callback to invoke before the + * `CompleteMultipartUpload` operation. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - before_initiate: (callable) Callback to invoke before the + * `CreateMultipartUpload` operation. The callback should have a function + * signature like `function (Aws\Command $command) {...}`. + * - before_upload: (callable) Callback to invoke before `UploadPartCopy` + * operations. The callback should have a function signature like + * `function (Aws\Command $command) {...}`. + * - bucket: (string, required) Name of the bucket to which the object is + * being uploaded. + * - concurrency: (int, default=int(5)) Maximum number of concurrent + * `UploadPart` operations allowed during the multipart upload. + * - key: (string, required) Key to use for the object being uploaded. + * - params: (array) An array of key/value parameters that will be applied + * to each of the sub-commands run by the uploader as a base. + * Auto-calculated options will override these parameters. If you need + * more granularity over parameters to each sub-command, use the before_* + * options detailed above to update the commands directly. + * - part_size: (int, default=int(5242880)) Part size, in bytes, to use when + * doing a multipart upload. This must between 5 MB and 5 GB, inclusive. + * - state: (Aws\Multipart\UploadState) An object that represents the state + * of the multipart upload and that is used to resume a previous upload. + * When this option is provided, the `bucket`, `key`, and `part_size` + * options are ignored. + * - source_metadata: (Aws\ResultInterface) An object that represents the + * result of executing a HeadObject command on the copy source. + * + * @param S3ClientInterface $client Client used for the upload. + * @param string $source Location of the data to be copied + * (in the form /<bucket>/<key>). + * @param array $config Configuration used to perform the upload. + */ + public function __construct( + S3ClientInterface $client, + $source, + array $config = [] + ) { + $this->source = '/' . ltrim($source, '/'); + parent::__construct($client, array_change_key_case($config) + [ + 'source_metadata' => null + ]); + } + + /** + * An alias of the self::upload method. + * + * @see self::upload + */ + public function copy() + { + return $this->upload(); + } + + protected function loadUploadWorkflowInfo() + { + return [ + 'command' => [ + 'initiate' => 'CreateMultipartUpload', + 'upload' => 'UploadPartCopy', + 'complete' => 'CompleteMultipartUpload', + ], + 'id' => [ + 'bucket' => 'Bucket', + 'key' => 'Key', + 'upload_id' => 'UploadId', + ], + 'part_num' => 'PartNumber', + ]; + } + + protected function getUploadCommands(callable $resultHandler) + { + $parts = ceil($this->getSourceSize() / $this->determinePartSize()); + + for ($partNumber = 1; $partNumber <= $parts; $partNumber++) { + // If we haven't already uploaded this part, yield a new part. + if (!$this->state->hasPartBeenUploaded($partNumber)) { + $command = $this->client->getCommand( + $this->info['command']['upload'], + $this->createPart($partNumber, $parts) + + $this->getState()->getId() + ); + $command->getHandlerList()->appendSign($resultHandler, 'mup'); + yield $command; + } + } + } + + private function createPart($partNumber, $partsCount) + { + $data = []; + + // Apply custom params to UploadPartCopy data + $config = $this->getConfig(); + $params = isset($config['params']) ? $config['params'] : []; + foreach ($params as $k => $v) { + $data[$k] = $v; + } + + $data['CopySource'] = $this->source; + $data['PartNumber'] = $partNumber; + + $defaultPartSize = $this->determinePartSize(); + $startByte = $defaultPartSize * ($partNumber - 1); + $data['ContentLength'] = $partNumber < $partsCount + ? $defaultPartSize + : $this->getSourceSize() - ($defaultPartSize * ($partsCount - 1)); + $endByte = $startByte + $data['ContentLength'] - 1; + $data['CopySourceRange'] = "bytes=$startByte-$endByte"; + + return $data; + } + + protected function extractETag(ResultInterface $result) + { + return $result->search('CopyPartResult.ETag'); + } + + protected function getSourceMimeType() + { + return $this->getSourceMetadata()['ContentType']; + } + + protected function getSourceSize() + { + return $this->getSourceMetadata()['ContentLength']; + } + + private function getSourceMetadata() + { + if (empty($this->sourceMetadata)) { + $this->sourceMetadata = $this->fetchSourceMetadata(); + } + + return $this->sourceMetadata; + } + + private function fetchSourceMetadata() + { + if ($this->config['source_metadata'] instanceof ResultInterface) { + return $this->config['source_metadata']; + } + + list($bucket, $key) = explode('/', ltrim($this->source, '/'), 2); + $headParams = [ + 'Bucket' => $bucket, + 'Key' => $key, + ]; + if (strpos($key, '?')) { + list($key, $query) = explode('?', $key, 2); + $headParams['Key'] = $key; + $query = Psr7\parse_query($query, false); + if (isset($query['versionId'])) { + $headParams['VersionId'] = $query['versionId']; + } + } + return $this->client->headObject($headParams); + } +} diff --git a/lib/aws/Aws/S3/MultipartUploader.php b/lib/aws/Aws/S3/MultipartUploader.php new file mode 100644 index 0000000..8644840 --- /dev/null +++ b/lib/aws/Aws/S3/MultipartUploader.php @@ -0,0 +1,168 @@ +<?php +namespace Aws\S3; + +use Aws\HashingStream; +use Aws\Multipart\AbstractUploader; +use Aws\PhpHash; +use Aws\ResultInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\StreamInterface as Stream; +use Aws\S3\Exception\S3MultipartUploadException; + +/** + * Encapsulates the execution of a multipart upload to S3 or Glacier. + */ +class MultipartUploader extends AbstractUploader +{ + use MultipartUploadingTrait; + + const PART_MIN_SIZE = 5242880; + const PART_MAX_SIZE = 5368709120; + const PART_MAX_NUM = 10000; + + /** + * Creates a multipart upload for an S3 object. + * + * The valid configuration options are as follows: + * + * - acl: (string) ACL to set on the object being upload. Objects are + * private by default. + * - before_complete: (callable) Callback to invoke before the + * `CompleteMultipartUpload` operation. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - before_initiate: (callable) Callback to invoke before the + * `CreateMultipartUpload` operation. The callback should have a function + * signature like `function (Aws\Command $command) {...}`. + * - before_upload: (callable) Callback to invoke before any `UploadPart` + * operations. The callback should have a function signature like + * `function (Aws\Command $command) {...}`. + * - bucket: (string, required) Name of the bucket to which the object is + * being uploaded. + * - concurrency: (int, default=int(5)) Maximum number of concurrent + * `UploadPart` operations allowed during the multipart upload. + * - key: (string, required) Key to use for the object being uploaded. + * - params: (array) An array of key/value parameters that will be applied + * to each of the sub-commands run by the uploader as a base. + * Auto-calculated options will override these parameters. If you need + * more granularity over parameters to each sub-command, use the before_* + * options detailed above to update the commands directly. + * - part_size: (int, default=int(5242880)) Part size, in bytes, to use when + * doing a multipart upload. This must between 5 MB and 5 GB, inclusive. + * - prepare_data_source: (callable) Callback to invoke before starting the + * multipart upload workflow. The callback should have a function + * signature like `function () {...}`. + * - state: (Aws\Multipart\UploadState) An object that represents the state + * of the multipart upload and that is used to resume a previous upload. + * When this option is provided, the `bucket`, `key`, and `part_size` + * options are ignored. + * + * @param S3ClientInterface $client Client used for the upload. + * @param mixed $source Source of the data to upload. + * @param array $config Configuration used to perform the upload. + */ + public function __construct( + S3ClientInterface $client, + $source, + array $config = [] + ) { + parent::__construct($client, $source, array_change_key_case($config) + [ + 'bucket' => null, + 'key' => null, + 'exception_class' => S3MultipartUploadException::class, + ]); + } + + protected function loadUploadWorkflowInfo() + { + return [ + 'command' => [ + 'initiate' => 'CreateMultipartUpload', + 'upload' => 'UploadPart', + 'complete' => 'CompleteMultipartUpload', + ], + 'id' => [ + 'bucket' => 'Bucket', + 'key' => 'Key', + 'upload_id' => 'UploadId', + ], + 'part_num' => 'PartNumber', + ]; + } + + protected function createPart($seekable, $number) + { + // Initialize the array of part data that will be returned. + $data = []; + + // Apply custom params to UploadPart data + $config = $this->getConfig(); + $params = isset($config['params']) ? $config['params'] : []; + foreach ($params as $k => $v) { + $data[$k] = $v; + } + + $data['PartNumber'] = $number; + + // Read from the source to create the body stream. + if ($seekable) { + // Case 1: Source is seekable, use lazy stream to defer work. + $body = $this->limitPartStream( + new Psr7\LazyOpenStream($this->source->getMetadata('uri'), 'r') + ); + } else { + // Case 2: Stream is not seekable; must store in temp stream. + $source = $this->limitPartStream($this->source); + $source = $this->decorateWithHashes($source, $data); + $body = Psr7\stream_for(); + Psr7\copy_to_stream($source, $body); + } + + $contentLength = $body->getSize(); + + // Do not create a part if the body size is zero. + if ($contentLength === 0) { + return false; + } + + $body->seek(0); + $data['Body'] = $body; + $data['ContentLength'] = $contentLength; + + return $data; + } + + protected function extractETag(ResultInterface $result) + { + return $result['ETag']; + } + + protected function getSourceMimeType() + { + if ($uri = $this->source->getMetadata('uri')) { + return Psr7\mimetype_from_filename($uri) + ?: 'application/octet-stream'; + } + } + + protected function getSourceSize() + { + return $this->source->getSize(); + } + + /** + * Decorates a stream with a sha256 linear hashing stream. + * + * @param Stream $stream Stream to decorate. + * @param array $data Part data to augment with the hash result. + * + * @return Stream + */ + private function decorateWithHashes(Stream $stream, array &$data) + { + // Decorate source with a hashing stream + $hash = new PhpHash('sha256'); + return new HashingStream($stream, $hash, function ($result) use (&$data) { + $data['ContentSHA256'] = bin2hex($result); + }); + } +} diff --git a/lib/aws/Aws/S3/MultipartUploadingTrait.php b/lib/aws/Aws/S3/MultipartUploadingTrait.php new file mode 100644 index 0000000..baccf58 --- /dev/null +++ b/lib/aws/Aws/S3/MultipartUploadingTrait.php @@ -0,0 +1,132 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Aws\Multipart\UploadState; +use Aws\ResultInterface; + +trait MultipartUploadingTrait +{ + /** + * Creates an UploadState object for a multipart upload by querying the + * service for the specified upload's information. + * + * @param S3ClientInterface $client S3Client used for the upload. + * @param string $bucket Bucket for the multipart upload. + * @param string $key Object key for the multipart upload. + * @param string $uploadId Upload ID for the multipart upload. + * + * @return UploadState + */ + public static function getStateFromService( + S3ClientInterface $client, + $bucket, + $key, + $uploadId + ) { + $state = new UploadState([ + 'Bucket' => $bucket, + 'Key' => $key, + 'UploadId' => $uploadId, + ]); + + foreach ($client->getPaginator('ListParts', $state->getId()) as $result) { + // Get the part size from the first part in the first result. + if (!$state->getPartSize()) { + $state->setPartSize($result->search('Parts[0].Size')); + } + // Mark all the parts returned by ListParts as uploaded. + foreach ($result['Parts'] as $part) { + $state->markPartAsUploaded($part['PartNumber'], [ + 'PartNumber' => $part['PartNumber'], + 'ETag' => $part['ETag'] + ]); + } + } + + $state->setStatus(UploadState::INITIATED); + + return $state; + } + + protected function handleResult(CommandInterface $command, ResultInterface $result) + { + $this->getState()->markPartAsUploaded($command['PartNumber'], [ + 'PartNumber' => $command['PartNumber'], + 'ETag' => $this->extractETag($result), + ]); + } + + abstract protected function extractETag(ResultInterface $result); + + protected function getCompleteParams() + { + $config = $this->getConfig(); + $params = isset($config['params']) ? $config['params'] : []; + + $params['MultipartUpload'] = [ + 'Parts' => $this->getState()->getUploadedParts() + ]; + + return $params; + } + + protected function determinePartSize() + { + // Make sure the part size is set. + $partSize = $this->getConfig()['part_size'] ?: MultipartUploader::PART_MIN_SIZE; + + // Adjust the part size to be larger for known, x-large uploads. + if ($sourceSize = $this->getSourceSize()) { + $partSize = (int) max( + $partSize, + ceil($sourceSize / MultipartUploader::PART_MAX_NUM) + ); + } + + // Ensure that the part size follows the rules: 5 MB <= size <= 5 GB. + if ($partSize < MultipartUploader::PART_MIN_SIZE || $partSize > MultipartUploader::PART_MAX_SIZE) { + throw new \InvalidArgumentException('The part size must be no less ' + . 'than 5 MB and no greater than 5 GB.'); + } + + return $partSize; + } + + protected function getInitiateParams() + { + $config = $this->getConfig(); + $params = isset($config['params']) ? $config['params'] : []; + + if (isset($config['acl'])) { + $params['ACL'] = $config['acl']; + } + + // Set the ContentType if not already present + if (empty($params['ContentType']) && $type = $this->getSourceMimeType()) { + $params['ContentType'] = $type; + } + + return $params; + } + + /** + * @return UploadState + */ + abstract protected function getState(); + + /** + * @return array + */ + abstract protected function getConfig(); + + /** + * @return int + */ + abstract protected function getSourceSize(); + + /** + * @return string|null + */ + abstract protected function getSourceMimeType(); +} diff --git a/lib/aws/Aws/S3/ObjectCopier.php b/lib/aws/Aws/S3/ObjectCopier.php new file mode 100644 index 0000000..25ee5b0 --- /dev/null +++ b/lib/aws/Aws/S3/ObjectCopier.php @@ -0,0 +1,150 @@ +<?php +namespace Aws\S3; + +use Aws\Exception\MultipartUploadException; +use Aws\Result; +use Aws\S3\Exception\S3Exception; +use GuzzleHttp\Promise\PromisorInterface; +use InvalidArgumentException; + +/** + * Copies objects from one S3 location to another, utilizing a multipart copy + * when appropriate. + */ +class ObjectCopier implements PromisorInterface +{ + const DEFAULT_MULTIPART_THRESHOLD = MultipartUploader::PART_MAX_SIZE; + + private $client; + private $source; + private $destination; + private $acl; + private $options; + + private static $defaults = [ + 'before_lookup' => null, + 'before_upload' => null, + 'concurrency' => 5, + 'mup_threshold' => self::DEFAULT_MULTIPART_THRESHOLD, + 'params' => [], + 'part_size' => null, + 'version_id' => null, + ]; + + /** + * @param S3ClientInterface $client The S3 Client used to execute + * the copy command(s). + * @param array $source The object to copy, specified as + * an array with a 'Bucket' and + * 'Key' keys. Provide a + * 'VersionID' key to copy a + * specified version of an object. + * @param array $destination The bucket and key to which to + * copy the $source, specified as + * an array with a 'Bucket' and + * 'Key' keys. + * @param string $acl ACL to apply to the copy + * (default: private). + * @param array $options Options used to configure the + * copy process. Options passed in + * through 'params' are added to + * the sub commands. + * + * @throws InvalidArgumentException + */ + public function __construct( + S3ClientInterface $client, + array $source, + array $destination, + $acl = 'private', + array $options = [] + ) { + $this->validateLocation($source); + $this->validateLocation($destination); + + $this->client = $client; + $this->source = $source; + $this->destination = $destination; + $this->acl = $acl; + $this->options = $options + self::$defaults; + } + + /** + * Perform the configured copy asynchronously. Returns a promise that is + * fulfilled with the result of the CompleteMultipartUpload or CopyObject + * operation or rejected with an exception. + */ + public function promise() + { + return \GuzzleHttp\Promise\coroutine(function () { + $headObjectCommand = $this->client->getCommand( + 'HeadObject', + $this->options['params'] + $this->source + ); + if (is_callable($this->options['before_lookup'])) { + $this->options['before_lookup']($headObjectCommand); + } + $objectStats = (yield $this->client->executeAsync( + $headObjectCommand + )); + + if ($objectStats['ContentLength'] > $this->options['mup_threshold']) { + $mup = new MultipartCopy( + $this->client, + $this->getSourcePath(), + ['source_metadata' => $objectStats, 'acl' => $this->acl] + + $this->destination + + $this->options + ); + + yield $mup->promise(); + } else { + $defaults = [ + 'ACL' => $this->acl, + 'MetadataDirective' => 'COPY', + 'CopySource' => $this->getSourcePath(), + ]; + + $params = array_diff_key($this->options, self::$defaults) + + $this->destination + $defaults + $this->options['params']; + + yield $this->client->executeAsync( + $this->client->getCommand('CopyObject', $params) + ); + } + }); + } + + /** + * Perform the configured copy synchronously. Returns the result of the + * CompleteMultipartUpload or CopyObject operation. + * + * @return Result + * + * @throws S3Exception + * @throws MultipartUploadException + */ + public function copy() + { + return $this->promise()->wait(); + } + + private function validateLocation(array $location) + { + if (empty($location['Bucket']) || empty($location['Key'])) { + throw new \InvalidArgumentException('Locations provided to an' + . ' Aws\S3\ObjectCopier must have a non-empty Bucket and Key'); + } + } + + private function getSourcePath() + { + $sourcePath = "/{$this->source['Bucket']}/" + . rawurlencode($this->source['Key']); + if (isset($this->source['VersionId'])) { + $sourcePath .= "?versionId={$this->source['VersionId']}"; + } + + return $sourcePath; + } +} diff --git a/lib/aws/Aws/S3/ObjectUploader.php b/lib/aws/Aws/S3/ObjectUploader.php new file mode 100644 index 0000000..6455def --- /dev/null +++ b/lib/aws/Aws/S3/ObjectUploader.php @@ -0,0 +1,140 @@ +<?php +namespace Aws\S3; + +use GuzzleHttp\Promise\PromisorInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\StreamInterface; + +/** + * Uploads an object to S3, using a PutObject command or a multipart upload as + * appropriate. + */ +class ObjectUploader implements PromisorInterface +{ + const DEFAULT_MULTIPART_THRESHOLD = 16777216; + + private $client; + private $bucket; + private $key; + private $body; + private $acl; + private $options; + private static $defaults = [ + 'before_upload' => null, + 'concurrency' => 3, + 'mup_threshold' => self::DEFAULT_MULTIPART_THRESHOLD, + 'params' => [], + 'part_size' => null, + ]; + + /** + * @param S3ClientInterface $client The S3 Client used to execute + * the upload command(s). + * @param string $bucket Bucket to upload the object. + * @param string $key Key of the object. + * @param mixed $body Object data to upload. Can be a + * StreamInterface, PHP stream + * resource, or a string of data to + * upload. + * @param string $acl ACL to apply to the copy + * (default: private). + * @param array $options Options used to configure the + * copy process. Options passed in + * through 'params' are added to + * the sub command(s). + */ + public function __construct( + S3ClientInterface $client, + $bucket, + $key, + $body, + $acl = 'private', + array $options = [] + ) { + $this->client = $client; + $this->bucket = $bucket; + $this->key = $key; + $this->body = Psr7\stream_for($body); + $this->acl = $acl; + $this->options = $options + self::$defaults; + } + + public function promise() + { + /** @var int $mup_threshold */ + $mup_threshold = $this->options['mup_threshold']; + if ($this->requiresMultipart($this->body, $mup_threshold)) { + // Perform a multipart upload. + return (new MultipartUploader($this->client, $this->body, [ + 'bucket' => $this->bucket, + 'key' => $this->key, + 'acl' => $this->acl + ] + $this->options))->promise(); + } + + // Perform a regular PutObject operation. + $command = $this->client->getCommand('PutObject', [ + 'Bucket' => $this->bucket, + 'Key' => $this->key, + 'Body' => $this->body, + 'ACL' => $this->acl, + ] + $this->options['params']); + if (is_callable($this->options['before_upload'])) { + $this->options['before_upload']($command); + } + return $this->client->executeAsync($command); + } + + public function upload() + { + return $this->promise()->wait(); + } + + /** + * Determines if the body should be uploaded using PutObject or the + * Multipart Upload System. It also modifies the passed-in $body as needed + * to support the upload. + * + * @param StreamInterface $body Stream representing the body. + * @param integer $threshold Minimum bytes before using Multipart. + * + * @return bool + */ + private function requiresMultipart(StreamInterface &$body, $threshold) + { + // If body size known, compare to threshold to determine if Multipart. + if ($body->getSize() !== null) { + return $body->getSize() >= $threshold; + } + + /** + * Handle the situation where the body size is unknown. + * Read up to 5MB into a buffer to determine how to upload the body. + * @var StreamInterface $buffer + */ + $buffer = Psr7\stream_for(); + Psr7\copy_to_stream($body, $buffer, MultipartUploader::PART_MIN_SIZE); + + // If body < 5MB, use PutObject with the buffer. + if ($buffer->getSize() < MultipartUploader::PART_MIN_SIZE) { + $buffer->seek(0); + $body = $buffer; + return false; + } + + // If body >= 5 MB, then use multipart. [YES] + if ($body->isSeekable()) { + // If the body is seekable, just rewind the body. + $body->seek(0); + } else { + // If the body is non-seekable, stitch the rewind the buffer and + // the partially read body together into one stream. This avoids + // unnecessary disc usage and does not require seeking on the + // original stream. + $buffer->seek(0); + $body = new Psr7\AppendStream([$buffer, $body]); + } + + return true; + } +} diff --git a/lib/aws/Aws/S3/PermanentRedirectMiddleware.php b/lib/aws/Aws/S3/PermanentRedirectMiddleware.php new file mode 100644 index 0000000..eb4b8e3 --- /dev/null +++ b/lib/aws/Aws/S3/PermanentRedirectMiddleware.php @@ -0,0 +1,62 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Aws\ResultInterface; +use Aws\S3\Exception\PermanentRedirectException; +use Psr\Http\Message\RequestInterface; + +/** + * Throws a PermanentRedirectException exception when a 301 redirect is + * encountered. + * + * @internal + */ +class PermanentRedirectMiddleware +{ + /** @var callable */ + private $nextHandler; + + /** + * Create a middleware wrapper function. + * + * @return callable + */ + public static function wrap() + { + return function (callable $handler) { + return new self($handler); + }; + } + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + public function __invoke(CommandInterface $command, RequestInterface $request = null) + { + $next = $this->nextHandler; + return $next($command, $request)->then( + function (ResultInterface $result) use ($command) { + $status = isset($result['@metadata']['statusCode']) + ? $result['@metadata']['statusCode'] + : null; + if ($status == 301) { + throw new PermanentRedirectException( + 'Encountered a permanent redirect while requesting ' + . $result->search('"@metadata".effectiveUri') . '. ' + . 'Are you sure you are using the correct region for ' + . 'this bucket?', + $command, + ['result' => $result] + ); + } + return $result; + } + ); + } +} diff --git a/lib/aws/Aws/S3/PostObject.php b/lib/aws/Aws/S3/PostObject.php new file mode 100644 index 0000000..48913ea --- /dev/null +++ b/lib/aws/Aws/S3/PostObject.php @@ -0,0 +1,160 @@ +<?php +namespace Aws\S3; + +use Aws\Credentials\CredentialsInterface; +use GuzzleHttp\Psr7\Uri; + +/** + * @deprecated + */ +class PostObject +{ + private $client; + private $bucket; + private $formAttributes; + private $formInputs; + private $jsonPolicy; + + /** + * Constructs the PostObject. + * + * @param S3ClientInterface $client Client used with the POST object + * @param string $bucket Bucket to use + * @param array $formInputs Associative array of form input + * fields. + * @param string|array $jsonPolicy JSON encoded POST policy document. + * The policy will be base64 encoded + * and applied to the form on your + * behalf. + */ + public function __construct( + S3ClientInterface $client, + $bucket, + array $formInputs, + $jsonPolicy + ) { + $this->client = $client; + $this->bucket = $bucket; + + if (is_array($jsonPolicy)) { + $jsonPolicy = json_encode($jsonPolicy); + } + + $this->jsonPolicy = $jsonPolicy; + $this->formAttributes = [ + 'action' => $this->generateUri(), + 'method' => 'POST', + 'enctype' => 'multipart/form-data' + ]; + + $this->formInputs = $formInputs + ['key' => '${filename}']; + $credentials = $client->getCredentials()->wait(); + $this->formInputs += $this->getPolicyAndSignature($credentials); + } + + /** + * Gets the S3 client. + * + * @return S3ClientInterface + */ + public function getClient() + { + return $this->client; + } + + /** + * Gets the bucket name. + * + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Gets the form attributes as an array. + * + * @return array + */ + public function getFormAttributes() + { + return $this->formAttributes; + } + + /** + * Set a form attribute. + * + * @param string $attribute Form attribute to set. + * @param string $value Value to set. + */ + public function setFormAttribute($attribute, $value) + { + $this->formAttributes[$attribute] = $value; + } + + /** + * Gets the form inputs as an array. + * + * @return array + */ + public function getFormInputs() + { + return $this->formInputs; + } + + /** + * Set a form input. + * + * @param string $field Field name to set + * @param string $value Value to set. + */ + public function setFormInput($field, $value) + { + $this->formInputs[$field] = $value; + } + + /** + * Gets the raw JSON policy. + * + * @return string + */ + public function getJsonPolicy() + { + return $this->jsonPolicy; + } + + private function generateUri() + { + $uri = new Uri($this->client->getEndpoint()); + + if ($this->client->getConfig('use_path_style_endpoint') === true + || ($uri->getScheme() === 'https' + && strpos($this->bucket, '.') !== false) + ) { + // Use path-style URLs + $uri = $uri->withPath("/{$this->bucket}"); + } else { + // Use virtual-style URLs + $uri = $uri->withHost($this->bucket . '.' . $uri->getHost()); + } + + return (string) $uri; + } + + protected function getPolicyAndSignature(CredentialsInterface $creds) + { + $jsonPolicy64 = base64_encode($this->jsonPolicy); + + return [ + 'AWSAccessKeyId' => $creds->getAccessKeyId(), + 'policy' => $jsonPolicy64, + 'signature' => base64_encode(hash_hmac( + 'sha1', + $jsonPolicy64, + $creds->getSecretKey(), + true + )) + ]; + } +} diff --git a/lib/aws/Aws/S3/PostObjectV4.php b/lib/aws/Aws/S3/PostObjectV4.php new file mode 100644 index 0000000..3e377ba --- /dev/null +++ b/lib/aws/Aws/S3/PostObjectV4.php @@ -0,0 +1,195 @@ +<?php +namespace Aws\S3; + +use Aws\Credentials\CredentialsInterface; +use GuzzleHttp\Psr7\Uri; +use Aws\Signature\SignatureTrait; +use Aws\Signature\SignatureV4 as SignatureV4; +use Aws\Api\TimestampShape as TimestampShape; + +/** + * Encapsulates the logic for getting the data for an S3 object POST upload form + * + * @link http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html + * @link http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html + */ +class PostObjectV4 +{ + use SignatureTrait; + + private $client; + private $bucket; + private $formAttributes; + private $formInputs; + + /** + * Constructs the PostObject. + * + * The options array accepts the following keys: + * @link http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html + * + * @param S3ClientInterface $client Client used with the POST object + * @param string $bucket Bucket to use + * @param array $formInputs Associative array of form input + * fields. + * @param array $options Policy condition options + * @param mixed $expiration Upload expiration time value. By + * default: 1 hour valid period. + */ + public function __construct( + S3ClientInterface $client, + $bucket, + array $formInputs, + array $options = [], + $expiration = '+1 hours' + ) { + $this->client = $client; + $this->bucket = $bucket; + + // setup form attributes + $this->formAttributes = [ + 'action' => $this->generateUri(), + 'method' => 'POST', + 'enctype' => 'multipart/form-data' + ]; + + $credentials = $this->client->getCredentials()->wait(); + + if ($securityToken = $credentials->getSecurityToken()) { + array_push($options, ['x-amz-security-token' => $securityToken]); + $formInputs['X-Amz-Security-Token'] = $securityToken; + } + + // setup basic policy + $policy = [ + 'expiration' => TimestampShape::format($expiration, 'iso8601'), + 'conditions' => $options, + ]; + + // setup basic formInputs + $this->formInputs = $formInputs + ['key' => '${filename}']; + + // finalize policy and signature + + $this->formInputs += $this->getPolicyAndSignature( + $credentials, + $policy + ); + } + + /** + * Gets the S3 client. + * + * @return S3ClientInterface + */ + public function getClient() + { + return $this->client; + } + + /** + * Gets the bucket name. + * + * @return string + */ + public function getBucket() + { + return $this->bucket; + } + + /** + * Gets the form attributes as an array. + * + * @return array + */ + public function getFormAttributes() + { + return $this->formAttributes; + } + + /** + * Set a form attribute. + * + * @param string $attribute Form attribute to set. + * @param string $value Value to set. + */ + public function setFormAttribute($attribute, $value) + { + $this->formAttributes[$attribute] = $value; + } + + /** + * Gets the form inputs as an array. + * + * @return array + */ + public function getFormInputs() + { + return $this->formInputs; + } + + /** + * Set a form input. + * + * @param string $field Field name to set + * @param string $value Value to set. + */ + public function setFormInput($field, $value) + { + $this->formInputs[$field] = $value; + } + + private function generateUri() + { + $uri = new Uri($this->client->getEndpoint()); + + if ($this->client->getConfig('use_path_style_endpoint') === true + || ($uri->getScheme() === 'https' + && strpos($this->bucket, '.') !== false) + ) { + // Use path-style URLs + $uri = $uri->withPath("/{$this->bucket}"); + } else { + // Use virtual-style URLs if haven't been set up already + if (strpos($uri->getHost(), $this->bucket . '.') !== 0) { + $uri = $uri->withHost($this->bucket . '.' . $uri->getHost()); + } + } + + return (string) $uri; + } + + protected function getPolicyAndSignature( + CredentialsInterface $credentials, + array $policy + ){ + $ldt = gmdate(SignatureV4::ISO8601_BASIC); + $sdt = substr($ldt, 0, 8); + $policy['conditions'][] = ['X-Amz-Date' => $ldt]; + + $region = $this->client->getRegion(); + $scope = $this->createScope($sdt, $region, 's3'); + $creds = "{$credentials->getAccessKeyId()}/$scope"; + $policy['conditions'][] = ['X-Amz-Credential' => $creds]; + + $policy['conditions'][] = ['X-Amz-Algorithm' => "AWS4-HMAC-SHA256"]; + + $jsonPolicy64 = base64_encode(json_encode($policy)); + $key = $this->getSigningKey( + $sdt, + $region, + 's3', + $credentials->getSecretKey() + ); + + return [ + 'X-Amz-Credential' => $creds, + 'X-Amz-Algorithm' => "AWS4-HMAC-SHA256", + 'X-Amz-Date' => $ldt, + 'Policy' => $jsonPolicy64, + 'X-Amz-Signature' => bin2hex( + hash_hmac('sha256', $jsonPolicy64, $key, true) + ), + ]; + } +} diff --git a/lib/aws/Aws/S3/PutObjectUrlMiddleware.php b/lib/aws/Aws/S3/PutObjectUrlMiddleware.php new file mode 100644 index 0000000..c7d6e9d --- /dev/null +++ b/lib/aws/Aws/S3/PutObjectUrlMiddleware.php @@ -0,0 +1,57 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Aws\ResultInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Injects ObjectURL into the result of the PutObject operation. + * + * @internal + */ +class PutObjectUrlMiddleware +{ + /** @var callable */ + private $nextHandler; + + /** + * Create a middleware wrapper function. + * + * @return callable + */ + public static function wrap() + { + return function (callable $handler) { + return new self($handler); + }; + } + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + public function __invoke(CommandInterface $command, RequestInterface $request = null) + { + $next = $this->nextHandler; + return $next($command, $request)->then( + function (ResultInterface $result) use ($command) { + $name = $command->getName(); + switch ($name) { + case 'PutObject': + case 'CopyObject': + $result['ObjectURL'] = $result['@metadata']['effectiveUri']; + break; + case 'CompleteMultipartUpload': + $result['ObjectURL'] = $result['Location']; + break; + } + return $result; + } + ); + } +} diff --git a/lib/aws/Aws/S3/RetryableMalformedResponseParser.php b/lib/aws/Aws/S3/RetryableMalformedResponseParser.php new file mode 100644 index 0000000..cbf75d3 --- /dev/null +++ b/lib/aws/Aws/S3/RetryableMalformedResponseParser.php @@ -0,0 +1,56 @@ +<?php +namespace Aws\S3; + +use Aws\Api\Parser\AbstractParser; +use Aws\Api\StructureShape; +use Aws\Api\Parser\Exception\ParserException; +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * Converts malformed responses to a retryable error type. + * + * @internal + */ +class RetryableMalformedResponseParser extends AbstractParser +{ + /** @var string */ + private $exceptionClass; + + public function __construct( + callable $parser, + $exceptionClass = AwsException::class + ) { + $this->parser = $parser; + $this->exceptionClass = $exceptionClass; + } + + public function __invoke( + CommandInterface $command, + ResponseInterface $response + ) { + $fn = $this->parser; + + try { + return $fn($command, $response); + } catch (ParserException $e) { + throw new $this->exceptionClass( + "Error parsing response for {$command->getName()}:" + . " AWS parsing error: {$e->getMessage()}", + $command, + ['connection_error' => true, 'exception' => $e], + $e + ); + } + } + + public function parseMemberFromStream( + StreamInterface $stream, + StructureShape $member, + $response + ) { + return $this->parser->parseMemberFromStream($stream, $member, $response); + } +} diff --git a/lib/aws/Aws/S3/S3Client.php b/lib/aws/Aws/S3/S3Client.php new file mode 100644 index 0000000..8ca3684 --- /dev/null +++ b/lib/aws/Aws/S3/S3Client.php @@ -0,0 +1,633 @@ +<?php +namespace Aws\S3; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\AwsClient; +use Aws\ClientResolver; +use Aws\Command; +use Aws\Exception\AwsException; +use Aws\HandlerList; +use Aws\Middleware; +use Aws\RetryMiddleware; +use Aws\ResultInterface; +use Aws\CommandInterface; +use GuzzleHttp\Exception\RequestException; +use Psr\Http\Message\RequestInterface; + +/** + * Client used to interact with **Amazon Simple Storage Service (Amazon S3)**. + * + * @method \Aws\Result abortMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortMultipartUploadAsync(array $args = []) + * @method \Aws\Result completeMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeMultipartUploadAsync(array $args = []) + * @method \Aws\Result copyObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyObjectAsync(array $args = []) + * @method \Aws\Result createBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBucketAsync(array $args = []) + * @method \Aws\Result createMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMultipartUploadAsync(array $args = []) + * @method \Aws\Result deleteBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketAsync(array $args = []) + * @method \Aws\Result deleteBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketCorsAsync(array $args = []) + * @method \Aws\Result deleteBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketEncryptionAsync(array $args = []) + * @method \Aws\Result deleteBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketLifecycleAsync(array $args = []) + * @method \Aws\Result deleteBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketPolicyAsync(array $args = []) + * @method \Aws\Result deleteBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketReplicationAsync(array $args = []) + * @method \Aws\Result deleteBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketTaggingAsync(array $args = []) + * @method \Aws\Result deleteBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketWebsiteAsync(array $args = []) + * @method \Aws\Result deleteObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = []) + * @method \Aws\Result deleteObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectTaggingAsync(array $args = []) + * @method \Aws\Result deleteObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectsAsync(array $args = []) + * @method \Aws\Result deletePublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePublicAccessBlockAsync(array $args = []) + * @method \Aws\Result getBucketAccelerateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAccelerateConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAclAsync(array $args = []) + * @method \Aws\Result getBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketCorsAsync(array $args = []) + * @method \Aws\Result getBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketEncryptionAsync(array $args = []) + * @method \Aws\Result getBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLifecycleAsync(array $args = []) + * @method \Aws\Result getBucketLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketLocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLocationAsync(array $args = []) + * @method \Aws\Result getBucketLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLoggingAsync(array $args = []) + * @method \Aws\Result getBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketNotificationAsync(array $args = []) + * @method \Aws\Result getBucketNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketPolicyAsync(array $args = []) + * @method \Aws\Result getBucketPolicyStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketPolicyStatusAsync(array $args = []) + * @method \Aws\Result getBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketReplicationAsync(array $args = []) + * @method \Aws\Result getBucketRequestPayment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketRequestPaymentAsync(array $args = []) + * @method \Aws\Result getBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketTaggingAsync(array $args = []) + * @method \Aws\Result getBucketVersioning(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketVersioningAsync(array $args = []) + * @method \Aws\Result getBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketWebsiteAsync(array $args = []) + * @method \Aws\Result getObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAsync(array $args = []) + * @method \Aws\Result getObjectAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAclAsync(array $args = []) + * @method \Aws\Result getObjectLegalHold(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectLegalHoldAsync(array $args = []) + * @method \Aws\Result getObjectLockConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectLockConfigurationAsync(array $args = []) + * @method \Aws\Result getObjectRetention(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectRetentionAsync(array $args = []) + * @method \Aws\Result getObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectTaggingAsync(array $args = []) + * @method \Aws\Result getObjectTorrent(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectTorrentAsync(array $args = []) + * @method \Aws\Result getPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPublicAccessBlockAsync(array $args = []) + * @method \Aws\Result headBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise headBucketAsync(array $args = []) + * @method \Aws\Result headObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise headObjectAsync(array $args = []) + * @method \Aws\Result listBucketAnalyticsConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketAnalyticsConfigurationsAsync(array $args = []) + * @method \Aws\Result listBucketInventoryConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketInventoryConfigurationsAsync(array $args = []) + * @method \Aws\Result listBucketMetricsConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketMetricsConfigurationsAsync(array $args = []) + * @method \Aws\Result listBuckets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketsAsync(array $args = []) + * @method \Aws\Result listMultipartUploads(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMultipartUploadsAsync(array $args = []) + * @method \Aws\Result listObjectVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectVersionsAsync(array $args = []) + * @method \Aws\Result listObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectsAsync(array $args = []) + * @method \Aws\Result listObjectsV2(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectsV2Async(array $args = []) + * @method \Aws\Result listParts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPartsAsync(array $args = []) + * @method \Aws\Result putBucketAccelerateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAccelerateConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAclAsync(array $args = []) + * @method \Aws\Result putBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketCorsAsync(array $args = []) + * @method \Aws\Result putBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketEncryptionAsync(array $args = []) + * @method \Aws\Result putBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLifecycleAsync(array $args = []) + * @method \Aws\Result putBucketLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLoggingAsync(array $args = []) + * @method \Aws\Result putBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketNotificationAsync(array $args = []) + * @method \Aws\Result putBucketNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketPolicyAsync(array $args = []) + * @method \Aws\Result putBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketReplicationAsync(array $args = []) + * @method \Aws\Result putBucketRequestPayment(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketRequestPaymentAsync(array $args = []) + * @method \Aws\Result putBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketTaggingAsync(array $args = []) + * @method \Aws\Result putBucketVersioning(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketVersioningAsync(array $args = []) + * @method \Aws\Result putBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketWebsiteAsync(array $args = []) + * @method \Aws\Result putObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectAsync(array $args = []) + * @method \Aws\Result putObjectAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectAclAsync(array $args = []) + * @method \Aws\Result putObjectLegalHold(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectLegalHoldAsync(array $args = []) + * @method \Aws\Result putObjectLockConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectLockConfigurationAsync(array $args = []) + * @method \Aws\Result putObjectRetention(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectRetentionAsync(array $args = []) + * @method \Aws\Result putObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectTaggingAsync(array $args = []) + * @method \Aws\Result putPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPublicAccessBlockAsync(array $args = []) + * @method \Aws\Result restoreObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreObjectAsync(array $args = []) + * @method \Aws\Result selectObjectContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise selectObjectContentAsync(array $args = []) + * @method \Aws\Result uploadPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadPartAsync(array $args = []) + * @method \Aws\Result uploadPartCopy(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadPartCopyAsync(array $args = []) + */ +class S3Client extends AwsClient implements S3ClientInterface +{ + use S3ClientTrait; + + public static function getArguments() + { + $args = parent::getArguments(); + $args['retries']['fn'] = [__CLASS__, '_applyRetryConfig']; + $args['api_provider']['fn'] = [__CLASS__, '_applyApiProvider']; + + return $args + [ + 'bucket_endpoint' => [ + 'type' => 'config', + 'valid' => ['bool'], + 'doc' => 'Set to true to send requests to a hardcoded ' + . 'bucket endpoint rather than create an endpoint as a ' + . 'result of injecting the bucket into the URL. This ' + . 'option is useful for interacting with CNAME endpoints.', + ], + 'use_accelerate_endpoint' => [ + 'type' => 'config', + 'valid' => ['bool'], + 'doc' => 'Set to true to send requests to an S3 Accelerate' + . ' endpoint by default. Can be enabled or disabled on' + . ' individual operations by setting' + . ' \'@use_accelerate_endpoint\' to true or false. Note:' + . ' you must enable S3 Accelerate on a bucket before it can' + . ' be accessed via an Accelerate endpoint.', + 'default' => false, + ], + 'use_dual_stack_endpoint' => [ + 'type' => 'config', + 'valid' => ['bool'], + 'doc' => 'Set to true to send requests to an S3 Dual Stack' + . ' endpoint by default, which enables IPv6 Protocol.' + . ' Can be enabled or disabled on individual operations by setting' + . ' \'@use_dual_stack_endpoint\' to true or false.', + 'default' => false, + ], + 'use_path_style_endpoint' => [ + 'type' => 'config', + 'valid' => ['bool'], + 'doc' => 'Set to true to send requests to an S3 path style' + . ' endpoint by default.' + . ' Can be enabled or disabled on individual operations by setting' + . ' \'@use_path_style_endpoint\' to true or false.', + 'default' => false, + ], + ]; + } + + /** + * {@inheritdoc} + * + * In addition to the options available to + * {@see Aws\AwsClient::__construct}, S3Client accepts the following + * options: + * + * - bucket_endpoint: (bool) Set to true to send requests to a + * hardcoded bucket endpoint rather than create an endpoint as a result + * of injecting the bucket into the URL. This option is useful for + * interacting with CNAME endpoints. + * - calculate_md5: (bool) Set to false to disable calculating an MD5 + * for all Amazon S3 signed uploads. + * - use_accelerate_endpoint: (bool) Set to true to send requests to an S3 + * Accelerate endpoint by default. Can be enabled or disabled on + * individual operations by setting '@use_accelerate_endpoint' to true or + * false. Note: you must enable S3 Accelerate on a bucket before it can be + * accessed via an Accelerate endpoint. + * - use_dual_stack_endpoint: (bool) Set to true to send requests to an S3 + * Dual Stack endpoint by default, which enables IPv6 Protocol. + * Can be enabled or disabled on individual operations by setting + * '@use_dual_stack_endpoint\' to true or false. Note: + * you cannot use it together with an accelerate endpoint. + * - use_path_style_endpoint: (bool) Set to true to send requests to an S3 + * path style endpoint by default. + * Can be enabled or disabled on individual operations by setting + * '@use_path_style_endpoint\' to true or false. Note: + * you cannot use it together with an accelerate endpoint. + * + * @param array $args + */ + public function __construct(array $args) + { + parent::__construct($args); + $stack = $this->getHandlerList(); + $stack->appendInit(SSECMiddleware::wrap($this->getEndpoint()->getScheme()), 's3.ssec'); + $stack->appendBuild(ApplyChecksumMiddleware::wrap(), 's3.checksum'); + $stack->appendBuild( + Middleware::contentType(['PutObject', 'UploadPart']), + 's3.content_type' + ); + + + // Use the bucket style middleware when using a "bucket_endpoint" (for cnames) + if ($this->getConfig('bucket_endpoint')) { + $stack->appendBuild(BucketEndpointMiddleware::wrap(), 's3.bucket_endpoint'); + } else { + $stack->appendBuild( + S3EndpointMiddleware::wrap( + $this->getRegion(), + [ + 'dual_stack' => $this->getConfig('use_dual_stack_endpoint'), + 'accelerate' => $this->getConfig('use_accelerate_endpoint'), + 'path_style' => $this->getConfig('use_path_style_endpoint') + ] + ), + 's3.endpoint_middleware' + ); + } + + $stack->appendSign(PutObjectUrlMiddleware::wrap(), 's3.put_object_url'); + $stack->appendSign(PermanentRedirectMiddleware::wrap(), 's3.permanent_redirect'); + $stack->appendInit(Middleware::sourceFile($this->getApi()), 's3.source_file'); + $stack->appendInit($this->getSaveAsParameter(), 's3.save_as'); + $stack->appendInit($this->getLocationConstraintMiddleware(), 's3.location'); + $stack->appendInit($this->getEncodingTypeMiddleware(), 's3.auto_encode'); + $stack->appendInit($this->getHeadObjectMiddleware(), 's3.head_object'); + } + + /** + * Determine if a string is a valid name for a DNS compatible Amazon S3 + * bucket. + * + * DNS compatible bucket names can be used as a subdomain in a URL (e.g., + * "<bucket>.s3.amazonaws.com"). + * + * @param string $bucket Bucket name to check. + * + * @return bool + */ + public static function isBucketDnsCompatible($bucket) + { + $bucketLen = strlen($bucket); + + return ($bucketLen >= 3 && $bucketLen <= 63) && + // Cannot look like an IP address + !filter_var($bucket, FILTER_VALIDATE_IP) && + preg_match('/^[a-z0-9]([a-z0-9\-\.]*[a-z0-9])?$/', $bucket); + } + + public function createPresignedRequest(CommandInterface $command, $expires) + { + $command = clone $command; + $command->getHandlerList()->remove('signer'); + + /** @var \Aws\Signature\SignatureInterface $signer */ + $signer = call_user_func( + $this->getSignatureProvider(), + $this->getConfig('signature_version'), + $this->getConfig('signing_name'), + $this->getConfig('signing_region') + ); + + return $signer->presign( + \Aws\serialize($command), + $this->getCredentials()->wait(), + $expires + ); + } + + public function getObjectUrl($bucket, $key) + { + $command = $this->getCommand('GetObject', [ + 'Bucket' => $bucket, + 'Key' => $key + ]); + + return (string) \Aws\serialize($command)->getUri(); + } + + /** + * Raw URL encode a key and allow for '/' characters + * + * @param string $key Key to encode + * + * @return string Returns the encoded key + */ + public static function encodeKey($key) + { + return str_replace('%2F', '/', rawurlencode($key)); + } + + /** + * Provides a middleware that removes the need to specify LocationConstraint on CreateBucket. + * + * @return \Closure + */ + private function getLocationConstraintMiddleware() + { + $region = $this->getRegion(); + return static function (callable $handler) use ($region) { + return function (Command $command, $request = null) use ($handler, $region) { + if ($command->getName() === 'CreateBucket') { + $locationConstraint = isset($command['CreateBucketConfiguration']['LocationConstraint']) + ? $command['CreateBucketConfiguration']['LocationConstraint'] + : null; + + if ($locationConstraint === 'us-east-1') { + unset($command['CreateBucketConfiguration']); + } elseif ('us-east-1' !== $region && empty($locationConstraint)) { + $command['CreateBucketConfiguration'] = ['LocationConstraint' => $region]; + } + } + + return $handler($command, $request); + }; + }; + } + + /** + * Provides a middleware that supports the `SaveAs` parameter. + * + * @return \Closure + */ + private function getSaveAsParameter() + { + return static function (callable $handler) { + return function (Command $command, $request = null) use ($handler) { + if ($command->getName() === 'GetObject' && isset($command['SaveAs'])) { + $command['@http']['sink'] = $command['SaveAs']; + unset($command['SaveAs']); + } + + return $handler($command, $request); + }; + }; + } + + /** + * Provides a middleware that disables content decoding on HeadObject + * commands. + * + * @return \Closure + */ + private function getHeadObjectMiddleware() + { + return static function (callable $handler) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($handler) { + if ($command->getName() === 'HeadObject' + && !isset($command['@http']['decode_content']) + ) { + $command['@http']['decode_content'] = false; + } + + return $handler($command, $request); + }; + }; + } + + /** + * Provides a middleware that autopopulates the EncodingType parameter on + * ListObjects commands. + * + * @return \Closure + */ + private function getEncodingTypeMiddleware() + { + return static function (callable $handler) { + return function (Command $command, $request = null) use ($handler) { + $autoSet = false; + if ($command->getName() === 'ListObjects' + && empty($command['EncodingType']) + ) { + $command['EncodingType'] = 'url'; + $autoSet = true; + } + + return $handler($command, $request) + ->then(function (ResultInterface $result) use ($autoSet) { + if ($result['EncodingType'] === 'url' && $autoSet) { + static $topLevel = [ + 'Delimiter', + 'Marker', + 'NextMarker', + 'Prefix', + ]; + static $nested = [ + ['Contents', 'Key'], + ['CommonPrefixes', 'Prefix'], + ]; + + foreach ($topLevel as $key) { + if (isset($result[$key])) { + $result[$key] = urldecode($result[$key]); + } + } + foreach ($nested as $steps) { + if (isset($result[$steps[0]])) { + foreach ($result[$steps[0]] as $key => $part) { + if (isset($part[$steps[1]])) { + $result[$steps[0]][$key][$steps[1]] + = urldecode($part[$steps[1]]); + } + } + } + } + + } + + return $result; + }); + }; + }; + } + + /** @internal */ + public static function _applyRetryConfig($value, $_, HandlerList $list) + { + if (!$value) { + return; + } + + $decider = RetryMiddleware::createDefaultDecider($value); + $decider = function ($retries, $command, $request, $result, $error) use ($decider, $value) { + $maxRetries = null !== $command['@retries'] + ? $command['@retries'] + : $value; + + if ($decider($retries, $command, $request, $result, $error)) { + return true; + } + + if ($error instanceof AwsException + && $retries < $maxRetries + ) { + if ($error->getResponse() + && $error->getResponse()->getStatusCode() >= 400 + ) { + return strpos( + $error->getResponse()->getBody(), + 'Your socket connection to the server' + ) !== false; + } + + if ($error->getPrevious() instanceof RequestException) { + // All commands except CompleteMultipartUpload are + // idempotent and may be retried without worry if a + // networking error has occurred. + return $command->getName() !== 'CompleteMultipartUpload'; + } + } + + return false; + }; + + $delay = [RetryMiddleware::class, 'exponentialDelay']; + $list->appendSign(Middleware::retry($decider, $delay), 'retry'); + } + + /** @internal */ + public static function _applyApiProvider($value, array &$args, HandlerList $list) + { + ClientResolver::_apply_api_provider($value, $args, $list); + $args['parser'] = new GetBucketLocationParser( + new AmbiguousSuccessParser( + new RetryableMalformedResponseParser( + $args['parser'], + $args['exception_class'] + ), + $args['error_parser'], + $args['exception_class'] + ) + ); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + $b64 = '<div class="alert alert-info">This value will be base64 encoded on your behalf.</div>'; + $opt = '<div class="alert alert-info">This value will be computed for you it is not supplied.</div>'; + + // Add the SourceFile parameter. + $docs['shapes']['SourceFile']['base'] = 'The path to a file on disk to use instead of the Body parameter.'; + $api['shapes']['SourceFile'] = ['type' => 'string']; + $api['shapes']['PutObjectRequest']['members']['SourceFile'] = ['shape' => 'SourceFile']; + $api['shapes']['UploadPartRequest']['members']['SourceFile'] = ['shape' => 'SourceFile']; + + // Add the ContentSHA256 parameter. + $docs['shapes']['ContentSHA256']['base'] = 'A SHA256 hash of the body content of the request.'; + $api['shapes']['ContentSHA256'] = ['type' => 'string']; + $api['shapes']['PutObjectRequest']['members']['ContentSHA256'] = ['shape' => 'ContentSHA256']; + $api['shapes']['UploadPartRequest']['members']['ContentSHA256'] = ['shape' => 'ContentSHA256']; + unset($api['shapes']['PutObjectRequest']['members']['ContentMD5']); + unset($api['shapes']['UploadPartRequest']['members']['ContentMD5']); + $docs['shapes']['ContentSHA256']['append'] = $opt; + + // Add the SaveAs parameter. + $docs['shapes']['SaveAs']['base'] = 'The path to a file on disk to save the object data.'; + $api['shapes']['SaveAs'] = ['type' => 'string']; + $api['shapes']['GetObjectRequest']['members']['SaveAs'] = ['shape' => 'SaveAs']; + + // Several SSECustomerKey documentation updates. + $docs['shapes']['SSECustomerKey']['append'] = $b64; + $docs['shapes']['CopySourceSSECustomerKey']['append'] = $b64; + $docs['shapes']['SSECustomerKeyMd5']['append'] = $opt; + + // Add the ObjectURL to various output shapes and documentation. + $docs['shapes']['ObjectURL']['base'] = 'The URI of the created object.'; + $api['shapes']['ObjectURL'] = ['type' => 'string']; + $api['shapes']['PutObjectOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL']; + $api['shapes']['CopyObjectOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL']; + $api['shapes']['CompleteMultipartUploadOutput']['members']['ObjectURL'] = ['shape' => 'ObjectURL']; + + // Fix references to Location Constraint. + unset($api['shapes']['CreateBucketRequest']['payload']); + $api['shapes']['BucketLocationConstraint']['enum'] = [ + "ap-northeast-1", + "ap-southeast-2", + "ap-southeast-1", + "cn-north-1", + "eu-central-1", + "eu-west-1", + "us-east-1", + "us-west-1", + "us-west-2", + "sa-east-1", + ]; + + // Add a note that the ContentMD5 is optional. + $docs['shapes']['ContentMD5']['append'] = '<div class="alert alert-info">The value will be computed on ' + . 'your behalf.</div>'; + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/S3/S3ClientInterface.php b/lib/aws/Aws/S3/S3ClientInterface.php new file mode 100644 index 0000000..a75abd6 --- /dev/null +++ b/lib/aws/Aws/S3/S3ClientInterface.php @@ -0,0 +1,322 @@ +<?php +namespace Aws\S3; + +use Aws\AwsClientInterface; +use Aws\CommandInterface; +use Aws\ResultInterface; +use GuzzleHttp\Promise\PromiseInterface; +use Psr\Http\Message\RequestInterface; + +interface S3ClientInterface extends AwsClientInterface +{ + /** + * Create a pre-signed URL for the given S3 command object. + * + * @param CommandInterface $command Command to create a pre-signed + * URL for. + * @param int|string|\DateTime $expires The time at which the URL should + * expire. This can be a Unix + * timestamp, a PHP DateTime object, + * or a string that can be evaluated + * by strtotime(). + * + * @return RequestInterface + */ + public function createPresignedRequest(CommandInterface $command, $expires); + + /** + * Returns the URL to an object identified by its bucket and key. + * + * The URL returned by this method is not signed nor does it ensure the the + * bucket and key given to the method exist. If you need a signed URL, then + * use the {@see \Aws\S3\S3Client::createPresignedRequest} method and get + * the URI of the signed request. + * + * @param string $bucket The name of the bucket where the object is located + * @param string $key The key of the object + * + * @return string The URL to the object + */ + public function getObjectUrl($bucket, $key); + + /** + * Determines whether or not a bucket exists by name. + * + * @param string $bucket The name of the bucket + * + * @return bool + */ + public function doesBucketExist($bucket); + + /** + * Determines whether or not an object exists by name. + * + * @param string $bucket The name of the bucket + * @param string $key The key of the object + * @param array $options Additional options available in the HeadObject + * operation (e.g., VersionId). + * + * @return bool + */ + public function doesObjectExist($bucket, $key, array $options = []); + + /** + * Register the Amazon S3 stream wrapper with this client instance. + */ + public function registerStreamWrapper(); + + /** + * Deletes objects from Amazon S3 that match the result of a ListObjects + * operation. For example, this allows you to do things like delete all + * objects that match a specific key prefix. + * + * @param string $bucket Bucket that contains the object keys + * @param string $prefix Optionally delete only objects under this key prefix + * @param string $regex Delete only objects that match this regex + * @param array $options Aws\S3\BatchDelete options array. + * + * @see Aws\S3\S3Client::listObjects + * @throws \RuntimeException if no prefix and no regex is given + */ + public function deleteMatchingObjects( + $bucket, + $prefix = '', + $regex = '', + array $options = [] + ); + + /** + * Deletes objects from Amazon S3 that match the result of a ListObjects + * operation. For example, this allows you to do things like delete all + * objects that match a specific key prefix. + * + * @param string $bucket Bucket that contains the object keys + * @param string $prefix Optionally delete only objects under this key prefix + * @param string $regex Delete only objects that match this regex + * @param array $options Aws\S3\BatchDelete options array. + * + * @see Aws\S3\S3Client::listObjects + * + * @return PromiseInterface A promise that is settled when matching + * objects are deleted. + */ + public function deleteMatchingObjectsAsync( + $bucket, + $prefix = '', + $regex = '', + array $options = [] + ); + + /** + * Upload a file, stream, or string to a bucket. + * + * If the upload size exceeds the specified threshold, the upload will be + * performed using concurrent multipart uploads. + * + * The options array accepts the following options: + * + * - before_upload: (callable) Callback to invoke before any upload + * operations during the upload process. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - concurrency: (int, default=int(3)) Maximum number of concurrent + * `UploadPart` operations allowed during a multipart upload. + * - mup_threshold: (int, default=int(16777216)) The size, in bytes, allowed + * before the upload must be sent via a multipart upload. Default: 16 MB. + * - params: (array, default=array([])) Custom parameters to use with the + * upload. For single uploads, they must correspond to those used for the + * `PutObject` operation. For multipart uploads, they correspond to the + * parameters of the `CreateMultipartUpload` operation. + * - part_size: (int) Part size to use when doing a multipart upload. + * + * @param string $bucket Bucket to upload the object. + * @param string $key Key of the object. + * @param mixed $body Object data to upload. Can be a + * StreamInterface, PHP stream resource, or a + * string of data to upload. + * @param string $acl ACL to apply to the object (default: private). + * @param array $options Options used to configure the upload process. + * + * @see Aws\S3\MultipartUploader for more info about multipart uploads. + * @return ResultInterface Returns the result of the upload. + */ + public function upload( + $bucket, + $key, + $body, + $acl = 'private', + array $options = [] + ); + + /** + * Upload a file, stream, or string to a bucket asynchronously. + * + * @param string $bucket Bucket to upload the object. + * @param string $key Key of the object. + * @param mixed $body Object data to upload. Can be a + * StreamInterface, PHP stream resource, or a + * string of data to upload. + * @param string $acl ACL to apply to the object (default: private). + * @param array $options Options used to configure the upload process. + * + * @see self::upload + * @return PromiseInterface Returns a promise that will be fulfilled + * with the result of the upload. + */ + public function uploadAsync( + $bucket, + $key, + $body, + $acl = 'private', + array $options = [] + ); + + /** + * Copy an object of any size to a different location. + * + * If the upload size exceeds the maximum allowable size for direct S3 + * copying, a multipart copy will be used. + * + * The options array accepts the following options: + * + * - before_upload: (callable) Callback to invoke before any upload + * operations during the upload process. The callback should have a + * function signature like `function (Aws\Command $command) {...}`. + * - concurrency: (int, default=int(5)) Maximum number of concurrent + * `UploadPart` operations allowed during a multipart upload. + * - params: (array, default=array([])) Custom parameters to use with the + * upload. For single uploads, they must correspond to those used for the + * `CopyObject` operation. For multipart uploads, they correspond to the + * parameters of the `CreateMultipartUpload` operation. + * - part_size: (int) Part size to use when doing a multipart upload. + * + * @param string $fromBucket Bucket where the copy source resides. + * @param string $fromKey Key of the copy source. + * @param string $destBucket Bucket to which to copy the object. + * @param string $destKey Key to which to copy the object. + * @param string $acl ACL to apply to the copy (default: private). + * @param array $options Options used to configure the upload process. + * + * @see Aws\S3\MultipartCopy for more info about multipart uploads. + * @return ResultInterface Returns the result of the copy. + */ + public function copy( + $fromBucket, + $fromKey, + $destBucket, + $destKey, + $acl = 'private', + array $options = [] + ); + + /** + * Copy an object of any size to a different location asynchronously. + * + * @param string $fromBucket Bucket where the copy source resides. + * @param string $fromKey Key of the copy source. + * @param string $destBucket Bucket to which to copy the object. + * @param string $destKey Key to which to copy the object. + * @param string $acl ACL to apply to the copy (default: private). + * @param array $options Options used to configure the upload process. + * + * @see self::copy for more info about the parameters above. + * @return PromiseInterface Returns a promise that will be fulfilled + * with the result of the copy. + */ + public function copyAsync( + $fromBucket, + $fromKey, + $destBucket, + $destKey, + $acl = 'private', + array $options = [] + ); + + /** + * Recursively uploads all files in a given directory to a given bucket. + * + * @param string $directory Full path to a directory to upload + * @param string $bucket Name of the bucket + * @param string $keyPrefix Virtual directory key prefix to add to each upload + * @param array $options Options available in Aws\S3\Transfer::__construct + * + * @see Aws\S3\Transfer for more options and customization + */ + public function uploadDirectory( + $directory, + $bucket, + $keyPrefix = null, + array $options = [] + ); + + /** + * Recursively uploads all files in a given directory to a given bucket. + * + * @param string $directory Full path to a directory to upload + * @param string $bucket Name of the bucket + * @param string $keyPrefix Virtual directory key prefix to add to each upload + * @param array $options Options available in Aws\S3\Transfer::__construct + * + * @see Aws\S3\Transfer for more options and customization + * + * @return PromiseInterface A promise that is settled when the upload is + * complete. + */ + public function uploadDirectoryAsync( + $directory, + $bucket, + $keyPrefix = null, + array $options = [] + ); + + /** + * Downloads a bucket to the local filesystem + * + * @param string $directory Directory to download to + * @param string $bucket Bucket to download from + * @param string $keyPrefix Only download objects that use this key prefix + * @param array $options Options available in Aws\S3\Transfer::__construct + */ + public function downloadBucket( + $directory, + $bucket, + $keyPrefix = '', + array $options = [] + ); + + /** + * Downloads a bucket to the local filesystem + * + * @param string $directory Directory to download to + * @param string $bucket Bucket to download from + * @param string $keyPrefix Only download objects that use this key prefix + * @param array $options Options available in Aws\S3\Transfer::__construct + * + * @return PromiseInterface A promise that is settled when the download is + * complete. + */ + public function downloadBucketAsync( + $directory, + $bucket, + $keyPrefix = '', + array $options = [] + ); + + /** + * Returns the region in which a given bucket is located. + * + * @param string $bucketName + * + * @return string + */ + public function determineBucketRegion($bucketName); + + /** + * Returns a promise fulfilled with the region in which a given bucket is + * located. + * + * @param string $bucketName + * + * @return PromiseInterface + */ + public function determineBucketRegionAsync($bucketName); +} diff --git a/lib/aws/Aws/S3/S3ClientTrait.php b/lib/aws/Aws/S3/S3ClientTrait.php new file mode 100644 index 0000000..4b17f26 --- /dev/null +++ b/lib/aws/Aws/S3/S3ClientTrait.php @@ -0,0 +1,323 @@ +<?php +namespace Aws\S3; + +use Aws\Api\Parser\PayloadParserTrait; +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use Aws\HandlerList; +use Aws\ResultInterface; +use Aws\S3\Exception\S3Exception; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Promise\RejectedPromise; +use Psr\Http\Message\ResponseInterface; + +/** + * A trait providing S3-specific functionality. This is meant to be used in + * classes implementing \Aws\S3\S3ClientInterface + */ +trait S3ClientTrait +{ + use PayloadParserTrait; + + /** + * @see S3ClientInterface::upload() + */ + public function upload( + $bucket, + $key, + $body, + $acl = 'private', + array $options = [] + ) { + return $this + ->uploadAsync($bucket, $key, $body, $acl, $options) + ->wait(); + } + + /** + * @see S3ClientInterface::uploadAsync() + */ + public function uploadAsync( + $bucket, + $key, + $body, + $acl = 'private', + array $options = [] + ) { + return (new ObjectUploader($this, $bucket, $key, $body, $acl, $options)) + ->promise(); + } + + /** + * @see S3ClientInterface::copy() + */ + public function copy( + $fromB, + $fromK, + $destB, + $destK, + $acl = 'private', + array $opts = [] + ) { + return $this->copyAsync($fromB, $fromK, $destB, $destK, $acl, $opts) + ->wait(); + } + + /** + * @see S3ClientInterface::copyAsync() + */ + public function copyAsync( + $fromB, + $fromK, + $destB, + $destK, + $acl = 'private', + array $opts = [] + ) { + $source = [ + 'Bucket' => $fromB, + 'Key' => $fromK, + ]; + if (isset($opts['version_id'])) { + $source['VersionId'] = $opts['version_id']; + } + $destination = [ + 'Bucket' => $destB, + 'Key' => $destK + ]; + + return (new ObjectCopier($this, $source, $destination, $acl, $opts)) + ->promise(); + } + + /** + * @see S3ClientInterface::registerStreamWrapper() + */ + public function registerStreamWrapper() + { + StreamWrapper::register($this); + } + + /** + * @see S3ClientInterface::deleteMatchingObjects() + */ + public function deleteMatchingObjects( + $bucket, + $prefix = '', + $regex = '', + array $options = [] + ) { + $this->deleteMatchingObjectsAsync($bucket, $prefix, $regex, $options) + ->wait(); + } + + /** + * @see S3ClientInterface::deleteMatchingObjectsAsync() + */ + public function deleteMatchingObjectsAsync( + $bucket, + $prefix = '', + $regex = '', + array $options = [] + ) { + if (!$prefix && !$regex) { + return new RejectedPromise( + new \RuntimeException('A prefix or regex is required.') + ); + } + + $params = ['Bucket' => $bucket, 'Prefix' => $prefix]; + $iter = $this->getIterator('ListObjects', $params); + + if ($regex) { + $iter = \Aws\filter($iter, function ($c) use ($regex) { + return preg_match($regex, $c['Key']); + }); + } + + return BatchDelete::fromIterator($this, $bucket, $iter, $options) + ->promise(); + } + + /** + * @see S3ClientInterface::uploadDirectory() + */ + public function uploadDirectory( + $directory, + $bucket, + $keyPrefix = null, + array $options = [] + ) { + $this->uploadDirectoryAsync($directory, $bucket, $keyPrefix, $options) + ->wait(); + } + + /** + * @see S3ClientInterface::uploadDirectoryAsync() + */ + public function uploadDirectoryAsync( + $directory, + $bucket, + $keyPrefix = null, + array $options = [] + ) { + $d = "s3://$bucket" . ($keyPrefix ? '/' . ltrim($keyPrefix, '/') : ''); + return (new Transfer($this, $directory, $d, $options))->promise(); + } + + /** + * @see S3ClientInterface::downloadBucket() + */ + public function downloadBucket( + $directory, + $bucket, + $keyPrefix = '', + array $options = [] + ) { + $this->downloadBucketAsync($directory, $bucket, $keyPrefix, $options) + ->wait(); + } + + /** + * @see S3ClientInterface::downloadBucketAsync() + */ + public function downloadBucketAsync( + $directory, + $bucket, + $keyPrefix = '', + array $options = [] + ) { + $s = "s3://$bucket" . ($keyPrefix ? '/' . ltrim($keyPrefix, '/') : ''); + return (new Transfer($this, $s, $directory, $options))->promise(); + } + + /** + * @see S3ClientInterface::determineBucketRegion() + */ + public function determineBucketRegion($bucketName) + { + return $this->determineBucketRegionAsync($bucketName)->wait(); + } + + /** + * @see S3ClientInterface::determineBucketRegionAsync() + * + * @param string $bucketName + * + * @return PromiseInterface + */ + public function determineBucketRegionAsync($bucketName) + { + $command = $this->getCommand('HeadBucket', ['Bucket' => $bucketName]); + $handlerList = clone $this->getHandlerList(); + $handlerList->remove('s3.permanent_redirect'); + $handlerList->remove('signer'); + $handler = $handlerList->resolve(); + + return $handler($command) + ->then(static function (ResultInterface $result) { + return $result['@metadata']['headers']['x-amz-bucket-region']; + }, function (AwsException $e) { + $response = $e->getResponse(); + if ($response === null) { + throw $e; + } + + if ($e->getAwsErrorCode() === 'AuthorizationHeaderMalformed') { + $region = $this->determineBucketRegionFromExceptionBody( + $response + ); + if (!empty($region)) { + return $region; + } + throw $e; + } + + return $response->getHeaderLine('x-amz-bucket-region'); + }); + } + + private function determineBucketRegionFromExceptionBody(ResponseInterface $response) + { + try { + $element = $this->parseXml($response->getBody(), $response); + if (!empty($element->Region)) { + return (string)$element->Region; + } + } catch (\Exception $e) { + // Fallthrough on exceptions from parsing + } + return false; + } + + /** + * @see S3ClientInterface::doesBucketExist() + */ + public function doesBucketExist($bucket) + { + return $this->checkExistenceWithCommand( + $this->getCommand('HeadBucket', ['Bucket' => $bucket]) + ); + } + + /** + * @see S3ClientInterface::doesObjectExist() + */ + public function doesObjectExist($bucket, $key, array $options = []) + { + return $this->checkExistenceWithCommand( + $this->getCommand('HeadObject', [ + 'Bucket' => $bucket, + 'Key' => $key + ] + $options) + ); + } + + /** + * Determines whether or not a resource exists using a command + * + * @param CommandInterface $command Command used to poll for the resource + * + * @return bool + * @throws S3Exception|\Exception if there is an unhandled exception + */ + private function checkExistenceWithCommand(CommandInterface $command) + { + try { + $this->execute($command); + return true; + } catch (S3Exception $e) { + if ($e->getAwsErrorCode() == 'AccessDenied') { + return true; + } + if ($e->getStatusCode() >= 500) { + throw $e; + } + return false; + } + } + + /** + * @see S3ClientInterface::execute() + */ + abstract public function execute(CommandInterface $command); + + /** + * @see S3ClientInterface::getCommand() + */ + abstract public function getCommand($name, array $args = []); + + /** + * @see S3ClientInterface::getHandlerList() + * + * @return HandlerList + */ + abstract public function getHandlerList(); + + /** + * @see S3ClientInterface::getIterator() + * + * @return \Iterator + */ + abstract public function getIterator($name, array $args = []); +} diff --git a/lib/aws/Aws/S3/S3EndpointMiddleware.php b/lib/aws/Aws/S3/S3EndpointMiddleware.php new file mode 100644 index 0000000..a6bd27a --- /dev/null +++ b/lib/aws/Aws/S3/S3EndpointMiddleware.php @@ -0,0 +1,234 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Used to update the URL used for S3 requests to support: + * S3 Accelerate, S3 DualStack or Both. It will build to + * host style paths unless specified, including for S3 + * DualStack. + * + * IMPORTANT: this middleware must be added after the "build" step. + * + * @internal + */ +class S3EndpointMiddleware +{ + private static $exclusions = [ + 'CreateBucket' => true, + 'DeleteBucket' => true, + 'ListBuckets' => true, + ]; + + const NO_PATTERN = 0; + const DUALSTACK = 1; + const ACCELERATE = 2; + const ACCELERATE_DUALSTACK = 3; + const PATH_STYLE = 4; + const HOST_STYLE = 5; + + /** @var bool */ + private $accelerateByDefault; + /** @var bool */ + private $dualStackByDefault; + /** @var bool */ + private $pathStyleByDefault; + /** @var string */ + private $region; + /** @var callable */ + private $nextHandler; + + /** + * Create a middleware wrapper function + * + * @param string $region + * @param array $options + * + * @return callable + */ + public static function wrap($region, array $options) + { + return function (callable $handler) use ($region, $options) { + return new self($handler, $region, $options); + }; + } + + public function __construct( + callable $nextHandler, + $region, + array $options + ) { + $this->pathStyleByDefault = isset($options['path_style']) + ? (bool) $options['path_style'] : false; + $this->dualStackByDefault = isset($options['dual_stack']) + ? (bool) $options['dual_stack'] : false; + $this->accelerateByDefault = isset($options['accelerate']) + ? (bool) $options['accelerate'] : false; + $this->region = (string) $region; + $this->nextHandler = $nextHandler; + } + + public function __invoke(CommandInterface $command, RequestInterface $request) + { + switch ($this->endpointPatternDecider($command, $request)) { + case self::HOST_STYLE: + $request = $this->applyHostStyleEndpoint($command, $request); + break; + case self::NO_PATTERN: + case self::PATH_STYLE: + break; + case self::DUALSTACK: + $request = $this->applyDualStackEndpoint($command, $request); + break; + case self::ACCELERATE: + $request = $this->applyAccelerateEndpoint( + $command, + $request, + 's3-accelerate' + ); + break; + case self::ACCELERATE_DUALSTACK: + $request = $this->applyAccelerateEndpoint( + $command, + $request, + 's3-accelerate.dualstack' + ); + break; + } + + $nextHandler = $this->nextHandler; + return $nextHandler($command, $request); + } + + private static function isRequestHostStyleCompatible( + CommandInterface $command, + RequestInterface $request + ) { + return S3Client::isBucketDnsCompatible($command['Bucket']) + && ( + $request->getUri()->getScheme() === 'http' + || strpos($command['Bucket'], '.') === false + ); + } + + private function endpointPatternDecider( + CommandInterface $command, + RequestInterface $request + ) { + $accelerate = isset($command['@use_accelerate_endpoint']) + ? $command['@use_accelerate_endpoint'] : $this->accelerateByDefault; + $dualStack = isset($command['@use_dual_stack_endpoint']) + ? $command['@use_dual_stack_endpoint'] : $this->dualStackByDefault; + $pathStyle = isset($command['@use_path_style_endpoint']) + ? $command['@use_path_style_endpoint'] : $this->pathStyleByDefault; + + if ($accelerate && $dualStack) { + // When try to enable both for operations excluded from s3-accelerate, + // only dualstack endpoints will be enabled. + return $this->canAccelerate($command) + ? self::ACCELERATE_DUALSTACK + : self::DUALSTACK; + } + + if ($accelerate && $this->canAccelerate($command)) { + return self::ACCELERATE; + } + + if ($dualStack) { + return self::DUALSTACK; + } + + if (!$pathStyle + && self::isRequestHostStyleCompatible($command, $request) + ) { + return self::HOST_STYLE; + } + + return self::PATH_STYLE; + } + + private function canAccelerate(CommandInterface $command) + { + return empty(self::$exclusions[$command->getName()]) + && S3Client::isBucketDnsCompatible($command['Bucket']); + } + + private function getBucketStyleHost(CommandInterface $command, $host) + { + // For operations on the base host (e.g. ListBuckets) + if (!isset($command['Bucket'])) { + return $host; + } + + return "{$command['Bucket']}.{$host}"; + } + + private function applyHostStyleEndpoint( + CommandInterface $command, + RequestInterface $request + ) { + $uri = $request->getUri(); + $request = $request->withUri( + $uri->withHost($this->getBucketStyleHost( + $command, + $uri->getHost() + )) + ->withPath($this->getBucketlessPath( + $uri->getPath(), + $command + )) + ); + return $request; + } + + private function applyDualStackEndpoint( + CommandInterface $command, + RequestInterface $request + ) { + $request = $request->withUri( + $request->getUri() + ->withHost($this->getDualStackHost()) + ); + if (empty($command['@use_path_style_endpoint']) + && !$this->pathStyleByDefault + && self::isRequestHostStyleCompatible($command, $request) + ) { + $request = $this->applyHostStyleEndpoint($command, $request); + } + return $request; + } + + private function getDualStackHost() + { + return "s3.dualstack.{$this->region}.amazonaws.com"; + } + + private function applyAccelerateEndpoint( + CommandInterface $command, + RequestInterface $request, + $pattern + ) { + $request = $request->withUri( + $request->getUri() + ->withHost($this->getAccelerateHost($command, $pattern)) + ->withPath($this->getBucketlessPath( + $request->getUri()->getPath(), + $command + )) + ); + return $request; + } + + private function getAccelerateHost(CommandInterface $command, $pattern) + { + return "{$command['Bucket']}.{$pattern}.amazonaws.com"; + } + + private function getBucketlessPath($path, CommandInterface $command) + { + $pattern = '/^\\/' . preg_quote($command['Bucket'], '/') . '/'; + return preg_replace($pattern, '', $path) ?: '/'; + } +} diff --git a/lib/aws/Aws/S3/S3MultiRegionClient.php b/lib/aws/Aws/S3/S3MultiRegionClient.php new file mode 100644 index 0000000..4b097c3 --- /dev/null +++ b/lib/aws/Aws/S3/S3MultiRegionClient.php @@ -0,0 +1,339 @@ +<?php +namespace Aws\S3; + +use Aws\CacheInterface; +use Aws\CommandInterface; +use Aws\LruArrayCache; +use Aws\MultiRegionClient as BaseClient; +use Aws\Exception\AwsException; +use Aws\S3\Exception\PermanentRedirectException; +use GuzzleHttp\Promise; + +/** + * **Amazon Simple Storage Service** multi-region client. + * + * @method \Aws\Result abortMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortMultipartUploadAsync(array $args = []) + * @method \Aws\Result completeMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise completeMultipartUploadAsync(array $args = []) + * @method \Aws\Result copyObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyObjectAsync(array $args = []) + * @method \Aws\Result createBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise createBucketAsync(array $args = []) + * @method \Aws\Result createMultipartUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMultipartUploadAsync(array $args = []) + * @method \Aws\Result deleteBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketAsync(array $args = []) + * @method \Aws\Result deleteBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketCorsAsync(array $args = []) + * @method \Aws\Result deleteBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketEncryptionAsync(array $args = []) + * @method \Aws\Result deleteBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketLifecycleAsync(array $args = []) + * @method \Aws\Result deleteBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result deleteBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketPolicyAsync(array $args = []) + * @method \Aws\Result deleteBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketReplicationAsync(array $args = []) + * @method \Aws\Result deleteBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketTaggingAsync(array $args = []) + * @method \Aws\Result deleteBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBucketWebsiteAsync(array $args = []) + * @method \Aws\Result deleteObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectAsync(array $args = []) + * @method \Aws\Result deleteObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectTaggingAsync(array $args = []) + * @method \Aws\Result deleteObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteObjectsAsync(array $args = []) + * @method \Aws\Result deletePublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePublicAccessBlockAsync(array $args = []) + * @method \Aws\Result getBucketAccelerateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAccelerateConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAclAsync(array $args = []) + * @method \Aws\Result getBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketCorsAsync(array $args = []) + * @method \Aws\Result getBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketEncryptionAsync(array $args = []) + * @method \Aws\Result getBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLifecycleAsync(array $args = []) + * @method \Aws\Result getBucketLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketLocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLocationAsync(array $args = []) + * @method \Aws\Result getBucketLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketLoggingAsync(array $args = []) + * @method \Aws\Result getBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketNotificationAsync(array $args = []) + * @method \Aws\Result getBucketNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result getBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketPolicyAsync(array $args = []) + * @method \Aws\Result getBucketPolicyStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketPolicyStatusAsync(array $args = []) + * @method \Aws\Result getBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketReplicationAsync(array $args = []) + * @method \Aws\Result getBucketRequestPayment(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketRequestPaymentAsync(array $args = []) + * @method \Aws\Result getBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketTaggingAsync(array $args = []) + * @method \Aws\Result getBucketVersioning(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketVersioningAsync(array $args = []) + * @method \Aws\Result getBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise getBucketWebsiteAsync(array $args = []) + * @method \Aws\Result getObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAsync(array $args = []) + * @method \Aws\Result getObjectAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectAclAsync(array $args = []) + * @method \Aws\Result getObjectLegalHold(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectLegalHoldAsync(array $args = []) + * @method \Aws\Result getObjectLockConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectLockConfigurationAsync(array $args = []) + * @method \Aws\Result getObjectRetention(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectRetentionAsync(array $args = []) + * @method \Aws\Result getObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectTaggingAsync(array $args = []) + * @method \Aws\Result getObjectTorrent(array $args = []) + * @method \GuzzleHttp\Promise\Promise getObjectTorrentAsync(array $args = []) + * @method \Aws\Result getPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPublicAccessBlockAsync(array $args = []) + * @method \Aws\Result headBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise headBucketAsync(array $args = []) + * @method \Aws\Result headObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise headObjectAsync(array $args = []) + * @method \Aws\Result listBucketAnalyticsConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketAnalyticsConfigurationsAsync(array $args = []) + * @method \Aws\Result listBucketInventoryConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketInventoryConfigurationsAsync(array $args = []) + * @method \Aws\Result listBucketMetricsConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketMetricsConfigurationsAsync(array $args = []) + * @method \Aws\Result listBuckets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listBucketsAsync(array $args = []) + * @method \Aws\Result listMultipartUploads(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMultipartUploadsAsync(array $args = []) + * @method \Aws\Result listObjectVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectVersionsAsync(array $args = []) + * @method \Aws\Result listObjects(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectsAsync(array $args = []) + * @method \Aws\Result listObjectsV2(array $args = []) + * @method \GuzzleHttp\Promise\Promise listObjectsV2Async(array $args = []) + * @method \Aws\Result listParts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPartsAsync(array $args = []) + * @method \Aws\Result putBucketAccelerateConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAccelerateConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAclAsync(array $args = []) + * @method \Aws\Result putBucketAnalyticsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketAnalyticsConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketCors(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketCorsAsync(array $args = []) + * @method \Aws\Result putBucketEncryption(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketEncryptionAsync(array $args = []) + * @method \Aws\Result putBucketInventoryConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketInventoryConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketLifecycle(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLifecycleAsync(array $args = []) + * @method \Aws\Result putBucketLifecycleConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLifecycleConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketLogging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketLoggingAsync(array $args = []) + * @method \Aws\Result putBucketMetricsConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketMetricsConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketNotification(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketNotificationAsync(array $args = []) + * @method \Aws\Result putBucketNotificationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketNotificationConfigurationAsync(array $args = []) + * @method \Aws\Result putBucketPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketPolicyAsync(array $args = []) + * @method \Aws\Result putBucketReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketReplicationAsync(array $args = []) + * @method \Aws\Result putBucketRequestPayment(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketRequestPaymentAsync(array $args = []) + * @method \Aws\Result putBucketTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketTaggingAsync(array $args = []) + * @method \Aws\Result putBucketVersioning(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketVersioningAsync(array $args = []) + * @method \Aws\Result putBucketWebsite(array $args = []) + * @method \GuzzleHttp\Promise\Promise putBucketWebsiteAsync(array $args = []) + * @method \Aws\Result putObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectAsync(array $args = []) + * @method \Aws\Result putObjectAcl(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectAclAsync(array $args = []) + * @method \Aws\Result putObjectLegalHold(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectLegalHoldAsync(array $args = []) + * @method \Aws\Result putObjectLockConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectLockConfigurationAsync(array $args = []) + * @method \Aws\Result putObjectRetention(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectRetentionAsync(array $args = []) + * @method \Aws\Result putObjectTagging(array $args = []) + * @method \GuzzleHttp\Promise\Promise putObjectTaggingAsync(array $args = []) + * @method \Aws\Result putPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPublicAccessBlockAsync(array $args = []) + * @method \Aws\Result restoreObject(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreObjectAsync(array $args = []) + * @method \Aws\Result selectObjectContent(array $args = []) + * @method \GuzzleHttp\Promise\Promise selectObjectContentAsync(array $args = []) + * @method \Aws\Result uploadPart(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadPartAsync(array $args = []) + * @method \Aws\Result uploadPartCopy(array $args = []) + * @method \GuzzleHttp\Promise\Promise uploadPartCopyAsync(array $args = []) + */ +class S3MultiRegionClient extends BaseClient implements S3ClientInterface +{ + use S3ClientTrait; + + /** @var CacheInterface */ + private $cache; + + public static function getArguments() + { + $args = parent::getArguments(); + $regionDef = $args['region'] + ['default' => function (array &$args) { + $availableRegions = array_keys($args['partition']['regions']); + return end($availableRegions); + }]; + unset($args['region']); + + return $args + [ + 'bucket_region_cache' => [ + 'type' => 'config', + 'valid' => [CacheInterface::class], + 'doc' => 'Cache of regions in which given buckets are located.', + 'default' => function () { return new LruArrayCache; }, + ], + 'region' => $regionDef, + ]; + } + + public function __construct(array $args) + { + parent::__construct($args); + $this->cache = $this->getConfig('bucket_region_cache'); + + $this->getHandlerList()->prependInit( + $this->determineRegionMiddleware(), + 'determine_region' + ); + } + + private function determineRegionMiddleware() + { + return function (callable $handler) { + return function (CommandInterface $command) use ($handler) { + $cacheKey = $this->getCacheKey($command['Bucket']); + if ( + empty($command['@region']) && + $region = $this->cache->get($cacheKey) + ) { + $command['@region'] = $region; + } + + return Promise\coroutine(function () use ( + $handler, + $command, + $cacheKey + ) { + try { + yield $handler($command); + } catch (PermanentRedirectException $e) { + if (empty($command['Bucket'])) { + throw $e; + } + $result = $e->getResult(); + $region = null; + if (isset($result['@metadata']['headers']['x-amz-bucket-region'])) { + $region = $result['@metadata']['headers']['x-amz-bucket-region']; + $this->cache->set($cacheKey, $region); + } else { + $region = (yield $this->determineBucketRegionAsync( + $command['Bucket'] + )); + } + + $command['@region'] = $region; + yield $handler($command); + } catch (AwsException $e) { + if ($e->getAwsErrorCode() === 'AuthorizationHeaderMalformed') { + $region = $this->determineBucketRegionFromExceptionBody( + $e->getResponse() + ); + if (!empty($region)) { + $this->cache->set($cacheKey, $region); + + $command['@region'] = $region; + yield $handler($command); + } else { + throw $e; + } + } else { + throw $e; + } + } + }); + }; + }; + } + + public function createPresignedRequest(CommandInterface $command, $expires) + { + if (empty($command['Bucket'])) { + throw new \InvalidArgumentException('The S3\\MultiRegionClient' + . ' cannot create presigned requests for commands without a' + . ' specified bucket.'); + } + + /** @var S3ClientInterface $client */ + $client = $this->getClientFromPool( + $this->determineBucketRegion($command['Bucket']) + ); + return $client->createPresignedRequest( + $client->getCommand($command->getName(), $command->toArray()), + $expires + ); + } + + public function getObjectUrl($bucket, $key) + { + /** @var S3Client $regionalClient */ + $regionalClient = $this->getClientFromPool( + $this->determineBucketRegion($bucket) + ); + + return $regionalClient->getObjectUrl($bucket, $key); + } + + public function determineBucketRegionAsync($bucketName) + { + $cacheKey = $this->getCacheKey($bucketName); + if ($cached = $this->cache->get($cacheKey)) { + return Promise\promise_for($cached); + } + + /** @var S3ClientInterface $regionalClient */ + $regionalClient = $this->getClientFromPool(); + return $regionalClient->determineBucketRegionAsync($bucketName) + ->then( + function ($region) use ($cacheKey) { + $this->cache->set($cacheKey, $region); + + return $region; + } + ); + } + + private function getCacheKey($bucketName) + { + return "aws:s3:{$bucketName}:location"; + } +} diff --git a/lib/aws/Aws/S3/S3UriParser.php b/lib/aws/Aws/S3/S3UriParser.php new file mode 100644 index 0000000..d829509 --- /dev/null +++ b/lib/aws/Aws/S3/S3UriParser.php @@ -0,0 +1,133 @@ +<?php +namespace Aws\S3; + +use GuzzleHttp\Psr7; +use Psr\Http\Message\UriInterface; + +/** + * Extracts a region, bucket, key, and and if a URI is in path-style + */ +class S3UriParser +{ + private $pattern = '/^(.+\\.)?s3[.-]([A-Za-z0-9-]+)\\./'; + private $streamWrapperScheme = 's3'; + + private static $defaultResult = [ + 'path_style' => true, + 'bucket' => null, + 'key' => null, + 'region' => null + ]; + + /** + * Parses a URL or S3 StreamWrapper Uri (s3://) into an associative array + * of Amazon S3 data including: + * + * - bucket: The Amazon S3 bucket (null if none) + * - key: The Amazon S3 key (null if none) + * - path_style: Set to true if using path style, or false if not + * - region: Set to a string if a non-class endpoint is used or null. + * + * @param string|UriInterface $uri + * + * @return array + * @throws \InvalidArgumentException + */ + public function parse($uri) + { + $url = Psr7\uri_for($uri); + + if ($url->getScheme() == $this->streamWrapperScheme) { + return $this->parseStreamWrapper($url); + } + + if (!$url->getHost()) { + throw new \InvalidArgumentException('No hostname found in URI: ' + . $uri); + } + + if (!preg_match($this->pattern, $url->getHost(), $matches)) { + return $this->parseCustomEndpoint($url); + } + + // Parse the URI based on the matched format (path / virtual) + $result = empty($matches[1]) + ? $this->parsePathStyle($url) + : $this->parseVirtualHosted($url, $matches); + + // Add the region if one was found and not the classic endpoint + $result['region'] = $matches[2] == 'amazonaws' ? null : $matches[2]; + + return $result; + } + + private function parseStreamWrapper(UriInterface $url) + { + $result = self::$defaultResult; + $result['path_style'] = false; + + $result['bucket'] = $url->getHost(); + if ($url->getPath()) { + $key = ltrim($url->getPath(), '/ '); + if (!empty($key)) { + $result['key'] = $key; + } + } + + return $result; + } + + private function parseCustomEndpoint(UriInterface $url) + { + $result = self::$defaultResult; + $path = ltrim($url->getPath(), '/ '); + $segments = explode('/', $path, 2); + + if (isset($segments[0])) { + $result['bucket'] = $segments[0]; + if (isset($segments[1])) { + $result['key'] = $segments[1]; + } + } + + return $result; + } + + private function parsePathStyle(UriInterface $url) + { + $result = self::$defaultResult; + + if ($url->getPath() != '/') { + $path = ltrim($url->getPath(), '/'); + if ($path) { + $pathPos = strpos($path, '/'); + if ($pathPos === false) { + // https://s3.amazonaws.com/bucket + $result['bucket'] = $path; + } elseif ($pathPos == strlen($path) - 1) { + // https://s3.amazonaws.com/bucket/ + $result['bucket'] = substr($path, 0, -1); + } else { + // https://s3.amazonaws.com/bucket/key + $result['bucket'] = substr($path, 0, $pathPos); + $result['key'] = substr($path, $pathPos + 1) ?: null; + } + } + } + + return $result; + } + + private function parseVirtualHosted(UriInterface $url, array $matches) + { + $result = self::$defaultResult; + $result['path_style'] = false; + // Remove trailing "." from the prefix to get the bucket + $result['bucket'] = substr($matches[1], 0, -1); + $path = $url->getPath(); + // Check if a key was present, and if so, removing the leading "/" + $result['key'] = !$path || $path == '/' ? null : substr($path, 1); + + return $result; + } +} diff --git a/lib/aws/Aws/S3/SSECMiddleware.php b/lib/aws/Aws/S3/SSECMiddleware.php new file mode 100644 index 0000000..9435a20 --- /dev/null +++ b/lib/aws/Aws/S3/SSECMiddleware.php @@ -0,0 +1,75 @@ +<?php +namespace Aws\S3; + +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Simplifies the SSE-C process by encoding and hashing the key. + * @internal + */ +class SSECMiddleware +{ + private $endpointScheme; + private $nextHandler; + + /** + * Provide the URI scheme of the client sending requests. + * + * @param string $endpointScheme URI scheme (http/https). + * + * @return callable + */ + public static function wrap($endpointScheme) + { + return function (callable $handler) use ($endpointScheme) { + return new self($endpointScheme, $handler); + }; + } + + public function __construct($endpointScheme, callable $nextHandler) + { + $this->nextHandler = $nextHandler; + $this->endpointScheme = $endpointScheme; + } + + public function __invoke( + CommandInterface $command, + RequestInterface $request = null + ) { + // Allows only HTTPS connections when using SSE-C + if (($command['SSECustomerKey'] || $command['CopySourceSSECustomerKey']) + && $this->endpointScheme !== 'https' + ) { + throw new \RuntimeException('You must configure your S3 client to ' + . 'use HTTPS in order to use the SSE-C features.'); + } + + // Prepare the normal SSE-CPK headers + if ($command['SSECustomerKey']) { + $this->prepareSseParams($command); + } + + // If it's a copy operation, prepare the SSE-CPK headers for the source. + if ($command['CopySourceSSECustomerKey']) { + $this->prepareSseParams($command, 'CopySource'); + } + + $f = $this->nextHandler; + return $f($command, $request); + } + + private function prepareSseParams(CommandInterface $command, $prefix = '') + { + // Base64 encode the provided key + $key = $command[$prefix . 'SSECustomerKey']; + $command[$prefix . 'SSECustomerKey'] = base64_encode($key); + + // Base64 the provided MD5 or, generate an MD5 if not provided + if ($md5 = $command[$prefix . 'SSECustomerKeyMD5']) { + $command[$prefix . 'SSECustomerKeyMD5'] = base64_encode($md5); + } else { + $command[$prefix . 'SSECustomerKeyMD5'] = base64_encode(md5($key, true)); + } + } +} diff --git a/lib/aws/Aws/S3/StreamWrapper.php b/lib/aws/Aws/S3/StreamWrapper.php new file mode 100644 index 0000000..fbf6183 --- /dev/null +++ b/lib/aws/Aws/S3/StreamWrapper.php @@ -0,0 +1,958 @@ +<?php +namespace Aws\S3; + +use Aws\CacheInterface; +use Aws\LruArrayCache; +use Aws\Result; +use Aws\S3\Exception\S3Exception; +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\Stream; +use GuzzleHttp\Psr7\CachingStream; +use Psr\Http\Message\StreamInterface; + +/** + * Amazon S3 stream wrapper to use "s3://<bucket>/<key>" files with PHP + * streams, supporting "r", "w", "a", "x". + * + * # Opening "r" (read only) streams: + * + * Read only streams are truly streaming by default and will not allow you to + * seek. This is because data read from the stream is not kept in memory or on + * the local filesystem. You can force a "r" stream to be seekable by setting + * the "seekable" stream context option true. This will allow true streaming of + * data from Amazon S3, but will maintain a buffer of previously read bytes in + * a 'php://temp' stream to allow seeking to previously read bytes from the + * stream. + * + * You may pass any GetObject parameters as 's3' stream context options. These + * options will affect how the data is downloaded from Amazon S3. + * + * # Opening "w" and "x" (write only) streams: + * + * Because Amazon S3 requires a Content-Length header, write only streams will + * maintain a 'php://temp' stream to buffer data written to the stream until + * the stream is flushed (usually by closing the stream with fclose). + * + * You may pass any PutObject parameters as 's3' stream context options. These + * options will affect how the data is uploaded to Amazon S3. + * + * When opening an "x" stream, the file must exist on Amazon S3 for the stream + * to open successfully. + * + * # Opening "a" (write only append) streams: + * + * Similar to "w" streams, opening append streams requires that the data be + * buffered in a "php://temp" stream. Append streams will attempt to download + * the contents of an object in Amazon S3, seek to the end of the object, then + * allow you to append to the contents of the object. The data will then be + * uploaded using a PutObject operation when the stream is flushed (usually + * with fclose). + * + * You may pass any GetObject and/or PutObject parameters as 's3' stream + * context options. These options will affect how the data is downloaded and + * uploaded from Amazon S3. + * + * Stream context options: + * + * - "seekable": Set to true to create a seekable "r" (read only) stream by + * using a php://temp stream buffer + * - For "unlink" only: Any option that can be passed to the DeleteObject + * operation + */ +class StreamWrapper +{ + /** @var resource|null Stream context (this is set by PHP) */ + public $context; + + /** @var StreamInterface Underlying stream resource */ + private $body; + + /** @var int Size of the body that is opened */ + private $size; + + /** @var array Hash of opened stream parameters */ + private $params = []; + + /** @var string Mode in which the stream was opened */ + private $mode; + + /** @var \Iterator Iterator used with opendir() related calls */ + private $objectIterator; + + /** @var string The bucket that was opened when opendir() was called */ + private $openedBucket; + + /** @var string The prefix of the bucket that was opened with opendir() */ + private $openedBucketPrefix; + + /** @var string Opened bucket path */ + private $openedPath; + + /** @var CacheInterface Cache for object and dir lookups */ + private $cache; + + /** @var string The opened protocol (e.g., "s3") */ + private $protocol = 's3'; + + /** @var bool Keeps track of whether stream has been flushed since opening */ + private $isFlushed = false; + + /** + * Register the 's3://' stream wrapper + * + * @param S3ClientInterface $client Client to use with the stream wrapper + * @param string $protocol Protocol to register as. + * @param CacheInterface $cache Default cache for the protocol. + */ + public static function register( + S3ClientInterface $client, + $protocol = 's3', + CacheInterface $cache = null + ) { + if (in_array($protocol, stream_get_wrappers())) { + stream_wrapper_unregister($protocol); + } + + // Set the client passed in as the default stream context client + stream_wrapper_register($protocol, get_called_class(), STREAM_IS_URL); + $default = stream_context_get_options(stream_context_get_default()); + $default[$protocol]['client'] = $client; + + if ($cache) { + $default[$protocol]['cache'] = $cache; + } elseif (!isset($default[$protocol]['cache'])) { + // Set a default cache adapter. + $default[$protocol]['cache'] = new LruArrayCache(); + } + + stream_context_set_default($default); + } + + public function stream_close() + { + if ($this->body->getSize() === 0 && !($this->isFlushed)) { + $this->stream_flush(); + } + $this->body = $this->cache = null; + } + + public function stream_open($path, $mode, $options, &$opened_path) + { + $this->initProtocol($path); + $this->isFlushed = false; + $this->params = $this->getBucketKey($path); + $this->mode = rtrim($mode, 'bt'); + + if ($errors = $this->validate($path, $this->mode)) { + return $this->triggerError($errors); + } + + return $this->boolCall(function() use ($path) { + switch ($this->mode) { + case 'r': return $this->openReadStream($path); + case 'a': return $this->openAppendStream($path); + default: return $this->openWriteStream($path); + } + }); + } + + public function stream_eof() + { + return $this->body->eof(); + } + + public function stream_flush() + { + $this->isFlushed = true; + if ($this->mode == 'r') { + return false; + } + + if ($this->body->isSeekable()) { + $this->body->seek(0); + } + $params = $this->getOptions(true); + $params['Body'] = $this->body; + + // Attempt to guess the ContentType of the upload based on the + // file extension of the key + if (!isset($params['ContentType']) && + ($type = Psr7\mimetype_from_filename($params['Key'])) + ) { + $params['ContentType'] = $type; + } + + $this->clearCacheKey("s3://{$params['Bucket']}/{$params['Key']}"); + return $this->boolCall(function () use ($params) { + return (bool) $this->getClient()->putObject($params); + }); + } + + public function stream_read($count) + { + return $this->body->read($count); + } + + public function stream_seek($offset, $whence = SEEK_SET) + { + return !$this->body->isSeekable() + ? false + : $this->boolCall(function () use ($offset, $whence) { + $this->body->seek($offset, $whence); + return true; + }); + } + + public function stream_tell() + { + return $this->boolCall(function() { return $this->body->tell(); }); + } + + public function stream_write($data) + { + return $this->body->write($data); + } + + public function unlink($path) + { + $this->initProtocol($path); + + return $this->boolCall(function () use ($path) { + $this->clearCacheKey($path); + $this->getClient()->deleteObject($this->withPath($path)); + return true; + }); + } + + public function stream_stat() + { + $stat = $this->getStatTemplate(); + $stat[7] = $stat['size'] = $this->getSize(); + $stat[2] = $stat['mode'] = $this->mode; + + return $stat; + } + + /** + * Provides information for is_dir, is_file, filesize, etc. Works on + * buckets, keys, and prefixes. + * @link http://www.php.net/manual/en/streamwrapper.url-stat.php + */ + public function url_stat($path, $flags) + { + $this->initProtocol($path); + + // Some paths come through as S3:// for some reason. + $split = explode('://', $path); + $path = strtolower($split[0]) . '://' . $split[1]; + + // Check if this path is in the url_stat cache + if ($value = $this->getCacheStorage()->get($path)) { + return $value; + } + + $stat = $this->createStat($path, $flags); + + if (is_array($stat)) { + $this->getCacheStorage()->set($path, $stat); + } + + return $stat; + } + + /** + * Parse the protocol out of the given path. + * + * @param $path + */ + private function initProtocol($path) + { + $parts = explode('://', $path, 2); + $this->protocol = $parts[0] ?: 's3'; + } + + private function createStat($path, $flags) + { + $this->initProtocol($path); + $parts = $this->withPath($path); + + if (!$parts['Key']) { + return $this->statDirectory($parts, $path, $flags); + } + + return $this->boolCall(function () use ($parts, $path) { + try { + $result = $this->getClient()->headObject($parts); + if (substr($parts['Key'], -1, 1) == '/' && + $result['ContentLength'] == 0 + ) { + // Return as if it is a bucket to account for console + // bucket objects (e.g., zero-byte object "foo/") + return $this->formatUrlStat($path); + } + + // Attempt to stat and cache regular object + return $this->formatUrlStat($result->toArray()); + } catch (S3Exception $e) { + // Maybe this isn't an actual key, but a prefix. Do a prefix + // listing of objects to determine. + $result = $this->getClient()->listObjects([ + 'Bucket' => $parts['Bucket'], + 'Prefix' => rtrim($parts['Key'], '/') . '/', + 'MaxKeys' => 1 + ]); + if (!$result['Contents'] && !$result['CommonPrefixes']) { + throw new \Exception("File or directory not found: $path"); + } + return $this->formatUrlStat($path); + } + }, $flags); + } + + private function statDirectory($parts, $path, $flags) + { + // Stat "directories": buckets, or "s3://" + if (!$parts['Bucket'] || + $this->getClient()->doesBucketExist($parts['Bucket']) + ) { + return $this->formatUrlStat($path); + } + + return $this->triggerError("File or directory not found: $path", $flags); + } + + /** + * Support for mkdir(). + * + * @param string $path Directory which should be created. + * @param int $mode Permissions. 700-range permissions map to + * ACL_PUBLIC. 600-range permissions map to + * ACL_AUTH_READ. All other permissions map to + * ACL_PRIVATE. Expects octal form. + * @param int $options A bitwise mask of values, such as + * STREAM_MKDIR_RECURSIVE. + * + * @return bool + * @link http://www.php.net/manual/en/streamwrapper.mkdir.php + */ + public function mkdir($path, $mode, $options) + { + $this->initProtocol($path); + $params = $this->withPath($path); + $this->clearCacheKey($path); + if (!$params['Bucket']) { + return false; + } + + if (!isset($params['ACL'])) { + $params['ACL'] = $this->determineAcl($mode); + } + + return empty($params['Key']) + ? $this->createBucket($path, $params) + : $this->createSubfolder($path, $params); + } + + public function rmdir($path, $options) + { + $this->initProtocol($path); + $this->clearCacheKey($path); + $params = $this->withPath($path); + $client = $this->getClient(); + + if (!$params['Bucket']) { + return $this->triggerError('You must specify a bucket'); + } + + return $this->boolCall(function () use ($params, $path, $client) { + if (!$params['Key']) { + $client->deleteBucket(['Bucket' => $params['Bucket']]); + return true; + } + return $this->deleteSubfolder($path, $params); + }); + } + + /** + * Support for opendir(). + * + * The opendir() method of the Amazon S3 stream wrapper supports a stream + * context option of "listFilter". listFilter must be a callable that + * accepts an associative array of object data and returns true if the + * object should be yielded when iterating the keys in a bucket. + * + * @param string $path The path to the directory + * (e.g. "s3://dir[</prefix>]") + * @param string $options Unused option variable + * + * @return bool true on success + * @see http://www.php.net/manual/en/function.opendir.php + */ + public function dir_opendir($path, $options) + { + $this->initProtocol($path); + $this->openedPath = $path; + $params = $this->withPath($path); + $delimiter = $this->getOption('delimiter'); + /** @var callable $filterFn */ + $filterFn = $this->getOption('listFilter'); + $op = ['Bucket' => $params['Bucket']]; + $this->openedBucket = $params['Bucket']; + + if ($delimiter === null) { + $delimiter = '/'; + } + + if ($delimiter) { + $op['Delimiter'] = $delimiter; + } + + if ($params['Key']) { + $params['Key'] = rtrim($params['Key'], $delimiter) . $delimiter; + $op['Prefix'] = $params['Key']; + } + + $this->openedBucketPrefix = $params['Key']; + + // Filter our "/" keys added by the console as directories, and ensure + // that if a filter function is provided that it passes the filter. + $this->objectIterator = \Aws\flatmap( + $this->getClient()->getPaginator('ListObjects', $op), + function (Result $result) use ($filterFn) { + $contentsAndPrefixes = $result->search('[Contents[], CommonPrefixes[]][]'); + // Filter out dir place holder keys and use the filter fn. + return array_filter( + $contentsAndPrefixes, + function ($key) use ($filterFn) { + return (!$filterFn || call_user_func($filterFn, $key)) + && (!isset($key['Key']) || substr($key['Key'], -1, 1) !== '/'); + } + ); + } + ); + + return true; + } + + /** + * Close the directory listing handles + * + * @return bool true on success + */ + public function dir_closedir() + { + $this->objectIterator = null; + gc_collect_cycles(); + + return true; + } + + /** + * This method is called in response to rewinddir() + * + * @return boolean true on success + */ + public function dir_rewinddir() + { + $this->boolCall(function() { + $this->objectIterator = null; + $this->dir_opendir($this->openedPath, null); + return true; + }); + } + + /** + * This method is called in response to readdir() + * + * @return string Should return a string representing the next filename, or + * false if there is no next file. + * @link http://www.php.net/manual/en/function.readdir.php + */ + public function dir_readdir() + { + // Skip empty result keys + if (!$this->objectIterator->valid()) { + return false; + } + + // First we need to create a cache key. This key is the full path to + // then object in s3: protocol://bucket/key. + // Next we need to create a result value. The result value is the + // current value of the iterator without the opened bucket prefix to + // emulate how readdir() works on directories. + // The cache key and result value will depend on if this is a prefix + // or a key. + $cur = $this->objectIterator->current(); + if (isset($cur['Prefix'])) { + // Include "directories". Be sure to strip a trailing "/" + // on prefixes. + $result = rtrim($cur['Prefix'], '/'); + $key = $this->formatKey($result); + $stat = $this->formatUrlStat($key); + } else { + $result = $cur['Key']; + $key = $this->formatKey($cur['Key']); + $stat = $this->formatUrlStat($cur); + } + + // Cache the object data for quick url_stat lookups used with + // RecursiveDirectoryIterator. + $this->getCacheStorage()->set($key, $stat); + $this->objectIterator->next(); + + // Remove the prefix from the result to emulate other stream wrappers. + return $this->openedBucketPrefix + ? substr($result, strlen($this->openedBucketPrefix)) + : $result; + } + + private function formatKey($key) + { + $protocol = explode('://', $this->openedPath)[0]; + return "{$protocol}://{$this->openedBucket}/{$key}"; + } + + /** + * Called in response to rename() to rename a file or directory. Currently + * only supports renaming objects. + * + * @param string $path_from the path to the file to rename + * @param string $path_to the new path to the file + * + * @return bool true if file was successfully renamed + * @link http://www.php.net/manual/en/function.rename.php + */ + public function rename($path_from, $path_to) + { + // PHP will not allow rename across wrapper types, so we can safely + // assume $path_from and $path_to have the same protocol + $this->initProtocol($path_from); + $partsFrom = $this->withPath($path_from); + $partsTo = $this->withPath($path_to); + $this->clearCacheKey($path_from); + $this->clearCacheKey($path_to); + + if (!$partsFrom['Key'] || !$partsTo['Key']) { + return $this->triggerError('The Amazon S3 stream wrapper only ' + . 'supports copying objects'); + } + + return $this->boolCall(function () use ($partsFrom, $partsTo) { + $options = $this->getOptions(true); + // Copy the object and allow overriding default parameters if + // desired, but by default copy metadata + $this->getClient()->copy( + $partsFrom['Bucket'], + $partsFrom['Key'], + $partsTo['Bucket'], + $partsTo['Key'], + isset($options['acl']) ? $options['acl'] : 'private', + $options + ); + // Delete the original object + $this->getClient()->deleteObject([ + 'Bucket' => $partsFrom['Bucket'], + 'Key' => $partsFrom['Key'] + ] + $options); + return true; + }); + } + + public function stream_cast($cast_as) + { + return false; + } + + /** + * Validates the provided stream arguments for fopen and returns an array + * of errors. + */ + private function validate($path, $mode) + { + $errors = []; + + if (!$this->getOption('Key')) { + $errors[] = 'Cannot open a bucket. You must specify a path in the ' + . 'form of s3://bucket/key'; + } + + if (!in_array($mode, ['r', 'w', 'a', 'x'])) { + $errors[] = "Mode not supported: {$mode}. " + . "Use one 'r', 'w', 'a', or 'x'."; + } + + // When using mode "x" validate if the file exists before attempting + // to read + if ($mode == 'x' && + $this->getClient()->doesObjectExist( + $this->getOption('Bucket'), + $this->getOption('Key'), + $this->getOptions(true) + ) + ) { + $errors[] = "{$path} already exists on Amazon S3"; + } + + return $errors; + } + + /** + * Get the stream context options available to the current stream + * + * @param bool $removeContextData Set to true to remove contextual kvp's + * like 'client' from the result. + * + * @return array + */ + private function getOptions($removeContextData = false) + { + // Context is not set when doing things like stat + if ($this->context === null) { + $options = []; + } else { + $options = stream_context_get_options($this->context); + $options = isset($options[$this->protocol]) + ? $options[$this->protocol] + : []; + } + + $default = stream_context_get_options(stream_context_get_default()); + $default = isset($default[$this->protocol]) + ? $default[$this->protocol] + : []; + $result = $this->params + $options + $default; + + if ($removeContextData) { + unset($result['client'], $result['seekable'], $result['cache']); + } + + return $result; + } + + /** + * Get a specific stream context option + * + * @param string $name Name of the option to retrieve + * + * @return mixed|null + */ + private function getOption($name) + { + $options = $this->getOptions(); + + return isset($options[$name]) ? $options[$name] : null; + } + + /** + * Gets the client from the stream context + * + * @return S3ClientInterface + * @throws \RuntimeException if no client has been configured + */ + private function getClient() + { + if (!$client = $this->getOption('client')) { + throw new \RuntimeException('No client in stream context'); + } + + return $client; + } + + private function getBucketKey($path) + { + // Remove the protocol + $parts = explode('://', $path); + // Get the bucket, key + $parts = explode('/', $parts[1], 2); + + return [ + 'Bucket' => $parts[0], + 'Key' => isset($parts[1]) ? $parts[1] : null + ]; + } + + /** + * Get the bucket and key from the passed path (e.g. s3://bucket/key) + * + * @param string $path Path passed to the stream wrapper + * + * @return array Hash of 'Bucket', 'Key', and custom params from the context + */ + private function withPath($path) + { + $params = $this->getOptions(true); + + return $this->getBucketKey($path) + $params; + } + + private function openReadStream() + { + $client = $this->getClient(); + $command = $client->getCommand('GetObject', $this->getOptions(true)); + $command['@http']['stream'] = true; + $result = $client->execute($command); + $this->size = $result['ContentLength']; + $this->body = $result['Body']; + + // Wrap the body in a caching entity body if seeking is allowed + if ($this->getOption('seekable') && !$this->body->isSeekable()) { + $this->body = new CachingStream($this->body); + } + + return true; + } + + private function openWriteStream() + { + $this->body = new Stream(fopen('php://temp', 'r+')); + return true; + } + + private function openAppendStream() + { + try { + // Get the body of the object and seek to the end of the stream + $client = $this->getClient(); + $this->body = $client->getObject($this->getOptions(true))['Body']; + $this->body->seek(0, SEEK_END); + return true; + } catch (S3Exception $e) { + // The object does not exist, so use a simple write stream + return $this->openWriteStream(); + } + } + + /** + * Trigger one or more errors + * + * @param string|array $errors Errors to trigger + * @param mixed $flags If set to STREAM_URL_STAT_QUIET, then no + * error or exception occurs + * + * @return bool Returns false + * @throws \RuntimeException if throw_errors is true + */ + private function triggerError($errors, $flags = null) + { + // This is triggered with things like file_exists() + if ($flags & STREAM_URL_STAT_QUIET) { + return $flags & STREAM_URL_STAT_LINK + // This is triggered for things like is_link() + ? $this->formatUrlStat(false) + : false; + } + + // This is triggered when doing things like lstat() or stat() + trigger_error(implode("\n", (array) $errors), E_USER_WARNING); + + return false; + } + + /** + * Prepare a url_stat result array + * + * @param string|array $result Data to add + * + * @return array Returns the modified url_stat result + */ + private function formatUrlStat($result = null) + { + $stat = $this->getStatTemplate(); + switch (gettype($result)) { + case 'NULL': + case 'string': + // Directory with 0777 access - see "man 2 stat". + $stat['mode'] = $stat[2] = 0040777; + break; + case 'array': + // Regular file with 0777 access - see "man 2 stat". + $stat['mode'] = $stat[2] = 0100777; + // Pluck the content-length if available. + if (isset($result['ContentLength'])) { + $stat['size'] = $stat[7] = $result['ContentLength']; + } elseif (isset($result['Size'])) { + $stat['size'] = $stat[7] = $result['Size']; + } + if (isset($result['LastModified'])) { + // ListObjects or HeadObject result + $stat['mtime'] = $stat[9] = $stat['ctime'] = $stat[10] + = strtotime($result['LastModified']); + } + } + + return $stat; + } + + /** + * Creates a bucket for the given parameters. + * + * @param string $path Stream wrapper path + * @param array $params A result of StreamWrapper::withPath() + * + * @return bool Returns true on success or false on failure + */ + private function createBucket($path, array $params) + { + if ($this->getClient()->doesBucketExist($params['Bucket'])) { + return $this->triggerError("Bucket already exists: {$path}"); + } + + return $this->boolCall(function () use ($params, $path) { + $this->getClient()->createBucket($params); + $this->clearCacheKey($path); + return true; + }); + } + + /** + * Creates a pseudo-folder by creating an empty "/" suffixed key + * + * @param string $path Stream wrapper path + * @param array $params A result of StreamWrapper::withPath() + * + * @return bool + */ + private function createSubfolder($path, array $params) + { + // Ensure the path ends in "/" and the body is empty. + $params['Key'] = rtrim($params['Key'], '/') . '/'; + $params['Body'] = ''; + + // Fail if this pseudo directory key already exists + if ($this->getClient()->doesObjectExist( + $params['Bucket'], + $params['Key']) + ) { + return $this->triggerError("Subfolder already exists: {$path}"); + } + + return $this->boolCall(function () use ($params, $path) { + $this->getClient()->putObject($params); + $this->clearCacheKey($path); + return true; + }); + } + + /** + * Deletes a nested subfolder if it is empty. + * + * @param string $path Path that is being deleted (e.g., 's3://a/b/c') + * @param array $params A result of StreamWrapper::withPath() + * + * @return bool + */ + private function deleteSubfolder($path, $params) + { + // Use a key that adds a trailing slash if needed. + $prefix = rtrim($params['Key'], '/') . '/'; + $result = $this->getClient()->listObjects([ + 'Bucket' => $params['Bucket'], + 'Prefix' => $prefix, + 'MaxKeys' => 1 + ]); + + // Check if the bucket contains keys other than the placeholder + if ($contents = $result['Contents']) { + return (count($contents) > 1 || $contents[0]['Key'] != $prefix) + ? $this->triggerError('Subfolder is not empty') + : $this->unlink(rtrim($path, '/') . '/'); + } + + return $result['CommonPrefixes'] + ? $this->triggerError('Subfolder contains nested folders') + : true; + } + + /** + * Determine the most appropriate ACL based on a file mode. + * + * @param int $mode File mode + * + * @return string + */ + private function determineAcl($mode) + { + switch (substr(decoct($mode), 0, 1)) { + case '7': return 'public-read'; + case '6': return 'authenticated-read'; + default: return 'private'; + } + } + + /** + * Gets a URL stat template with default values + * + * @return array + */ + private function getStatTemplate() + { + return [ + 0 => 0, 'dev' => 0, + 1 => 0, 'ino' => 0, + 2 => 0, 'mode' => 0, + 3 => 0, 'nlink' => 0, + 4 => 0, 'uid' => 0, + 5 => 0, 'gid' => 0, + 6 => -1, 'rdev' => -1, + 7 => 0, 'size' => 0, + 8 => 0, 'atime' => 0, + 9 => 0, 'mtime' => 0, + 10 => 0, 'ctime' => 0, + 11 => -1, 'blksize' => -1, + 12 => -1, 'blocks' => -1, + ]; + } + + /** + * Invokes a callable and triggers an error if an exception occurs while + * calling the function. + * + * @param callable $fn + * @param int $flags + * + * @return bool + */ + private function boolCall(callable $fn, $flags = null) + { + try { + return $fn(); + } catch (\Exception $e) { + return $this->triggerError($e->getMessage(), $flags); + } + } + + /** + * @return LruArrayCache + */ + private function getCacheStorage() + { + if (!$this->cache) { + $this->cache = $this->getOption('cache') ?: new LruArrayCache(); + } + + return $this->cache; + } + + /** + * Clears a specific stat cache value from the stat cache and LRU cache. + * + * @param string $key S3 path (s3://bucket/key). + */ + private function clearCacheKey($key) + { + clearstatcache(true, $key); + $this->getCacheStorage()->remove($key); + } + + /** + * Returns the size of the opened object body. + * + * @return int|null + */ + private function getSize() + { + $size = $this->body->getSize(); + + return $size !== null ? $size : $this->size; + } +} diff --git a/lib/aws/Aws/S3/Transfer.php b/lib/aws/Aws/S3/Transfer.php new file mode 100644 index 0000000..1e11d3d --- /dev/null +++ b/lib/aws/Aws/S3/Transfer.php @@ -0,0 +1,428 @@ +<?php +namespace Aws\S3; + +use Aws; +use Aws\CommandInterface; +use Aws\Exception\AwsException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromisorInterface; +use Iterator; + +/** + * Transfers files from the local filesystem to S3 or from S3 to the local + * filesystem. + * + * This class does not support copying from the local filesystem to somewhere + * else on the local filesystem or from one S3 bucket to another. + */ +class Transfer implements PromisorInterface +{ + private $client; + private $promise; + private $source; + private $sourceMetadata; + private $destination; + private $concurrency; + private $mupThreshold; + private $before; + private $s3Args = []; + + /** + * When providing the $source argument, you may provide a string referencing + * the path to a directory on disk to upload, an s3 scheme URI that contains + * the bucket and key (e.g., "s3://bucket/key"), or an \Iterator object + * that yields strings containing filenames that are the path to a file on + * disk or an s3 scheme URI. The "/key" portion of an s3 URI is optional. + * + * When providing an iterator for the $source argument, you must also + * provide a 'base_dir' key value pair in the $options argument. + * + * The $dest argument can be the path to a directory on disk or an s3 + * scheme URI (e.g., "s3://bucket/key"). + * + * The options array can contain the following key value pairs: + * + * - base_dir: (string) Base directory of the source, if $source is an + * iterator. If the $source option is not an array, then this option is + * ignored. + * - before: (callable) A callback to invoke before each transfer. The + * callback accepts a single argument: Aws\CommandInterface $command. + * The provided command will be either a GetObject, PutObject, + * InitiateMultipartUpload, or UploadPart command. + * - mup_threshold: (int) Size in bytes in which a multipart upload should + * be used instead of PutObject. Defaults to 20971520 (20 MB). + * - concurrency: (int, default=5) Number of files to upload concurrently. + * The ideal concurrency value will vary based on the number of files + * being uploaded and the average size of each file. Generally speaking, + * smaller files benefit from a higher concurrency while larger files + * will not. + * - debug: (bool) Set to true to print out debug information for + * transfers. Set to an fopen() resource to write to a specific stream + * rather than writing to STDOUT. + * + * @param S3ClientInterface $client Client used for transfers. + * @param string|Iterator $source Where the files are transferred from. + * @param string $dest Where the files are transferred to. + * @param array $options Hash of options. + */ + public function __construct( + S3ClientInterface $client, + $source, + $dest, + array $options = [] + ) { + $this->client = $client; + + // Prepare the destination. + $this->destination = $this->prepareTarget($dest); + if ($this->destination['scheme'] === 's3') { + $this->s3Args = $this->getS3Args($this->destination['path']); + } + + // Prepare the source. + if (is_string($source)) { + $this->sourceMetadata = $this->prepareTarget($source); + $this->source = $source; + } elseif ($source instanceof Iterator) { + if (empty($options['base_dir'])) { + throw new \InvalidArgumentException('You must provide the source' + . ' argument as a string or provide the "base_dir" option.'); + } + + $this->sourceMetadata = $this->prepareTarget($options['base_dir']); + $this->source = $source; + } else { + throw new \InvalidArgumentException('source must be the path to a ' + . 'directory or an iterator that yields file names.'); + } + + // Validate schemes. + if ($this->sourceMetadata['scheme'] === $this->destination['scheme']) { + throw new \InvalidArgumentException("You cannot copy from" + . " {$this->sourceMetadata['scheme']} to" + . " {$this->destination['scheme']}." + ); + } + + // Handle multipart-related options. + $this->concurrency = isset($options['concurrency']) + ? $options['concurrency'] + : MultipartUploader::DEFAULT_CONCURRENCY; + $this->mupThreshold = isset($options['mup_threshold']) + ? $options['mup_threshold'] + : 16777216; + if ($this->mupThreshold < MultipartUploader::PART_MIN_SIZE) { + throw new \InvalidArgumentException('mup_threshold must be >= 5MB'); + } + + // Handle "before" callback option. + if (isset($options['before'])) { + $this->before = $options['before']; + if (!is_callable($this->before)) { + throw new \InvalidArgumentException('before must be a callable.'); + } + } + + // Handle "debug" option. + if (isset($options['debug'])) { + if ($options['debug'] === true) { + $options['debug'] = fopen('php://output', 'w'); + } + $this->addDebugToBefore($options['debug']); + } + } + + /** + * Transfers the files. + */ + public function promise() + { + // If the promise has been created, just return it. + if (!$this->promise) { + // Create an upload/download promise for the transfer. + $this->promise = $this->sourceMetadata['scheme'] === 'file' + ? $this->createUploadPromise() + : $this->createDownloadPromise(); + } + + return $this->promise; + } + + /** + * Transfers the files synchronously. + */ + public function transfer() + { + $this->promise()->wait(); + } + + private function prepareTarget($targetPath) + { + $target = [ + 'path' => $this->normalizePath($targetPath), + 'scheme' => $this->determineScheme($targetPath), + ]; + + if ($target['scheme'] !== 's3' && $target['scheme'] !== 'file') { + throw new \InvalidArgumentException('Scheme must be "s3" or "file".'); + } + + return $target; + } + + /** + * Creates an array that contains Bucket and Key by parsing the filename. + * + * @param string $path Path to parse. + * + * @return array + */ + private function getS3Args($path) + { + $parts = explode('/', str_replace('s3://', '', $path), 2); + $args = ['Bucket' => $parts[0]]; + if (isset($parts[1])) { + $args['Key'] = $parts[1]; + } + + return $args; + } + + /** + * Parses the scheme from a filename. + * + * @param string $path Path to parse. + * + * @return string + */ + private function determineScheme($path) + { + return !strpos($path, '://') ? 'file' : explode('://', $path)[0]; + } + + /** + * Normalize a path so that it has UNIX-style directory separators and no trailing / + * + * @param string $path + * + * @return string + */ + private function normalizePath($path) + { + return rtrim(str_replace('\\', '/', $path), '/'); + } + + private function resolveUri($uri) + { + $resolved = []; + $sections = explode('/', $uri); + foreach ($sections as $section) { + if ($section === '.' || $section === '') { + continue; + } + if ($section === '..') { + array_pop($resolved); + } else { + $resolved []= $section; + } + } + + return ($uri[0] === '/' ? '/' : '') + . implode('/', $resolved); + } + + private function createDownloadPromise() + { + $parts = $this->getS3Args($this->sourceMetadata['path']); + $prefix = "s3://{$parts['Bucket']}/" + . (isset($parts['Key']) ? $parts['Key'] . '/' : ''); + + + $commands = []; + foreach ($this->getDownloadsIterator() as $object) { + // Prepare the sink. + $objectKey = preg_replace('/^' . preg_quote($prefix, '/') . '/', '', $object); + + $resolveSink = $this->destination['path'] . '/'; + if (isset($parts['Key']) && strpos($objectKey, $parts['Key']) !== 0) { + $resolveSink .= $parts['Key'] . '/'; + } + $resolveSink .= $objectKey; + $sink = $this->destination['path'] . '/' . $objectKey; + + $command = $this->client->getCommand( + 'GetObject', + $this->getS3Args($object) + ['@http' => ['sink' => $sink]] + ); + + if (strpos( + $this->resolveUri($resolveSink), + $this->destination['path'] + ) !== 0 + ) { + throw new AwsException( + 'Cannot download key ' . $objectKey + . ', its relative path resolves outside the' + . ' parent directory', $command); + } + + // Create the directory if needed. + $dir = dirname($sink); + if (!is_dir($dir) && !mkdir($dir, 0777, true)) { + throw new \RuntimeException("Could not create dir: {$dir}"); + } + + // Create the command. + $commands []= $command; + } + + // Create a GetObject command pool and return the promise. + return (new Aws\CommandPool($this->client, $commands, [ + 'concurrency' => $this->concurrency, + 'before' => $this->before, + 'rejected' => function ($reason, $idx, Promise\PromiseInterface $p) { + $p->reject($reason); + } + ]))->promise(); + } + + private function createUploadPromise() + { + // Map each file into a promise that performs the actual transfer. + $files = \Aws\map($this->getUploadsIterator(), function ($file) { + return (filesize($file) >= $this->mupThreshold) + ? $this->uploadMultipart($file) + : $this->upload($file); + }); + + // Create an EachPromise, that will concurrently handle the upload + // operations' yielded promises from the iterator. + return Promise\each_limit_all($files, $this->concurrency); + } + + /** @return Iterator */ + private function getUploadsIterator() + { + if (is_string($this->source)) { + return Aws\filter( + Aws\recursive_dir_iterator($this->sourceMetadata['path']), + function ($file) { return !is_dir($file); } + ); + } + + return $this->source; + } + + /** @return Iterator */ + private function getDownloadsIterator() + { + if (is_string($this->source)) { + $listArgs = $this->getS3Args($this->sourceMetadata['path']); + if (isset($listArgs['Key'])) { + $listArgs['Prefix'] = $listArgs['Key'] . '/'; + unset($listArgs['Key']); + } + + $files = $this->client + ->getPaginator('ListObjects', $listArgs) + ->search('Contents[].Key'); + $files = Aws\map($files, function ($key) use ($listArgs) { + return "s3://{$listArgs['Bucket']}/$key"; + }); + return Aws\filter($files, function ($key) { + return substr($key, -1, 1) !== '/'; + }); + } + + return $this->source; + } + + private function upload($filename) + { + $args = $this->s3Args; + $args['SourceFile'] = $filename; + $args['Key'] = $this->createS3Key($filename); + $command = $this->client->getCommand('PutObject', $args); + $this->before and call_user_func($this->before, $command); + + return $this->client->executeAsync($command); + } + + private function uploadMultipart($filename) + { + $args = $this->s3Args; + $args['Key'] = $this->createS3Key($filename); + + return (new MultipartUploader($this->client, $filename, [ + 'bucket' => $args['Bucket'], + 'key' => $args['Key'], + 'before_initiate' => $this->before, + 'before_upload' => $this->before, + 'before_complete' => $this->before, + 'concurrency' => $this->concurrency, + ]))->promise(); + } + + private function createS3Key($filename) + { + $filename = $this->normalizePath($filename); + $relative_file_path = ltrim( + preg_replace('#^' . preg_quote($this->sourceMetadata['path']) . '#', '', $filename), + '/\\' + ); + + if (isset($this->s3Args['Key'])) { + return rtrim($this->s3Args['Key'], '/').'/'.$relative_file_path; + } + + return $relative_file_path; + } + + private function addDebugToBefore($debug) + { + $before = $this->before; + $sourcePath = $this->sourceMetadata['path']; + $s3Args = $this->s3Args; + + $this->before = static function ( + CommandInterface $command + ) use ($before, $debug, $sourcePath, $s3Args) { + // Call the composed before function. + $before and $before($command); + + // Determine the source and dest values based on operation. + switch ($operation = $command->getName()) { + case 'GetObject': + $source = "s3://{$command['Bucket']}/{$command['Key']}"; + $dest = $command['@http']['sink']; + break; + case 'PutObject': + $source = $command['SourceFile']; + $dest = "s3://{$command['Bucket']}/{$command['Key']}"; + break; + case 'UploadPart': + $part = $command['PartNumber']; + case 'CreateMultipartUpload': + case 'CompleteMultipartUpload': + $sourceKey = $command['Key']; + if (isset($s3Args['Key']) && strpos($sourceKey, $s3Args['Key']) === 0) { + $sourceKey = substr($sourceKey, strlen($s3Args['Key']) + 1); + } + $source = "{$sourcePath}/{$sourceKey}"; + $dest = "s3://{$command['Bucket']}/{$command['Key']}"; + break; + default: + throw new \UnexpectedValueException( + "Transfer encountered an unexpected operation: {$operation}." + ); + } + + // Print the debugging message. + $context = sprintf('%s -> %s (%s)', $source, $dest, $operation); + if (isset($part)) { + $context .= " : Part={$part}"; + } + fwrite($debug, "Transferring {$context}\n"); + }; + } +} diff --git a/lib/aws/Aws/S3Control/Exception/S3ControlException.php b/lib/aws/Aws/S3Control/Exception/S3ControlException.php new file mode 100644 index 0000000..eb005bf --- /dev/null +++ b/lib/aws/Aws/S3Control/Exception/S3ControlException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\S3Control\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS S3 Control** service. + */ +class S3ControlException extends AwsException {} diff --git a/lib/aws/Aws/S3Control/S3ControlClient.php b/lib/aws/Aws/S3Control/S3ControlClient.php new file mode 100644 index 0000000..2ccc90f --- /dev/null +++ b/lib/aws/Aws/S3Control/S3ControlClient.php @@ -0,0 +1,62 @@ +<?php +namespace Aws\S3Control; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS S3 Control** service. + * @method \Aws\Result deletePublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePublicAccessBlockAsync(array $args = []) + * @method \Aws\Result getPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPublicAccessBlockAsync(array $args = []) + * @method \Aws\Result putPublicAccessBlock(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPublicAccessBlockAsync(array $args = []) + */ +class S3ControlClient extends AwsClient +{ + public static function getArguments() + { + $args = parent::getArguments(); + return $args + [ + 'use_dual_stack_endpoint' => [ + 'type' => 'config', + 'valid' => ['bool'], + 'doc' => 'Set to true to send requests to an S3 Control Dual Stack' + . ' endpoint by default, which enables IPv6 Protocol.' + . ' Can be enabled or disabled on individual operations by setting' + . ' \'@use_dual_stack_endpoint\' to true or false.', + 'default' => false, + ], + ]; + } + + /** + * {@inheritdoc} + * + * In addition to the options available to + * {@see Aws\AwsClient::__construct}, S3ControlClient accepts the following + * option: + * + * - use_dual_stack_endpoint: (bool) Set to true to send requests to an S3 + * Control Dual Stack endpoint by default, which enables IPv6 Protocol. + * Can be enabled or disabled on individual operations by setting + * '@use_dual_stack_endpoint\' to true or false. Note: + * you cannot use it together with an accelerate endpoint. + * + * @param array $args + */ + public function __construct(array $args) + { + parent::__construct($args); + $stack = $this->getHandlerList(); + $stack->appendBuild( + S3ControlEndpointMiddleware::wrap( + $this->getRegion(), + [ + 'dual_stack' => $this->getConfig('use_dual_stack_endpoint'), + ] + ), + 's3control.endpoint_middleware' + ); + } +} diff --git a/lib/aws/Aws/S3Control/S3ControlEndpointMiddleware.php b/lib/aws/Aws/S3Control/S3ControlEndpointMiddleware.php new file mode 100644 index 0000000..5619687 --- /dev/null +++ b/lib/aws/Aws/S3Control/S3ControlEndpointMiddleware.php @@ -0,0 +1,121 @@ +<?php +namespace Aws\S3Control; + +use Aws\CommandInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Used to update the URL used for S3 Control requests to support S3 Control + * DualStack. It will build to host style paths, including for S3 Control + * DualStack. + * + * IMPORTANT: this middleware must be added after the "build" step. + * + * @internal + */ +class S3ControlEndpointMiddleware +{ + const NO_PATTERN = 0; + const DUALSTACK = 1; + + /** @var bool */ + private $dualStackByDefault; + /** @var string */ + private $region; + /** @var callable */ + private $nextHandler; + + /** + * Create a middleware wrapper function + * + * @param string $region + * @param array $options + * + * @return callable + */ + public static function wrap($region, array $options) + { + return function (callable $handler) use ($region, $options) { + return new self($handler, $region, $options); + }; + } + + public function __construct( + callable $nextHandler, + $region, + array $options + ) { + $this->dualStackByDefault = isset($options['dual_stack']) + ? (bool) $options['dual_stack'] : false; + $this->region = (string) $region; + $this->nextHandler = $nextHandler; + } + + public function __invoke(CommandInterface $command, RequestInterface $request) + { + if ($this->isDualStackRequest($command, $request)) { + $request = $this->applyDualStackEndpoint($command, $request); + } + $request = $this->applyHostStyleEndpoint($command, $request) + ->withoutHeader('x-amz-account-id'); + unset($command['AccountId']); + + $nextHandler = $this->nextHandler; + return $nextHandler($command, $request); + } + + private function isDualStackRequest( + CommandInterface $command, + RequestInterface $request + ) { + return isset($command['@use_dual_stack_endpoint']) + ? $command['@use_dual_stack_endpoint'] : $this->dualStackByDefault; + } + + private function getDualStackHost($host) + { + $parts = explode(".{$this->region}.", $host); + return $parts[0] . ".dualstack.{$this->region}." . $parts[1]; + } + + private function applyDualStackEndpoint( + CommandInterface $command, + RequestInterface $request + ) { + $uri = $request->getUri(); + return $request->withUri( + $uri->withHost($this->getDualStackHost( + $uri->getHost() + )) + ); + } + + private function getAccountIdStyleHost(CommandInterface $command, $host) + { + return "{$command['AccountId']}.{$host}"; + } + + private function getAccountIdlessPath($path, CommandInterface $command) + { + $pattern = '/^\\/' . preg_quote($command['AccountId'], '/') . '/'; + return preg_replace($pattern, '', $path) ?: '/'; + } + + private function applyHostStyleEndpoint( + CommandInterface $command, + RequestInterface $request + ) { + $uri = $request->getUri(); + $request = $request->withUri( + $uri->withHost($this->getAccountIdStyleHost( + $command, + $uri->getHost() + )) + ->withPath($this->getAccountIdlessPath( + $uri->getPath(), + $command + )) + ); + return $request; + } +} diff --git a/lib/aws/Aws/SageMaker/Exception/SageMakerException.php b/lib/aws/Aws/SageMaker/Exception/SageMakerException.php new file mode 100644 index 0000000..b3f53e3 --- /dev/null +++ b/lib/aws/Aws/SageMaker/Exception/SageMakerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\SageMaker\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon SageMaker Service** service. + */ +class SageMakerException extends AwsException {} diff --git a/lib/aws/Aws/SageMaker/SageMakerClient.php b/lib/aws/Aws/SageMaker/SageMakerClient.php new file mode 100644 index 0000000..2fa3715 --- /dev/null +++ b/lib/aws/Aws/SageMaker/SageMakerClient.php @@ -0,0 +1,159 @@ +<?php +namespace Aws\SageMaker; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon SageMaker Service** service. + * @method \Aws\Result addTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsAsync(array $args = []) + * @method \Aws\Result createAlgorithm(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAlgorithmAsync(array $args = []) + * @method \Aws\Result createCodeRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCodeRepositoryAsync(array $args = []) + * @method \Aws\Result createCompilationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCompilationJobAsync(array $args = []) + * @method \Aws\Result createEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEndpointAsync(array $args = []) + * @method \Aws\Result createEndpointConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise createEndpointConfigAsync(array $args = []) + * @method \Aws\Result createHyperParameterTuningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHyperParameterTuningJobAsync(array $args = []) + * @method \Aws\Result createLabelingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLabelingJobAsync(array $args = []) + * @method \Aws\Result createModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = []) + * @method \Aws\Result createModelPackage(array $args = []) + * @method \GuzzleHttp\Promise\Promise createModelPackageAsync(array $args = []) + * @method \Aws\Result createNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNotebookInstanceAsync(array $args = []) + * @method \Aws\Result createNotebookInstanceLifecycleConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNotebookInstanceLifecycleConfigAsync(array $args = []) + * @method \Aws\Result createPresignedNotebookInstanceUrl(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPresignedNotebookInstanceUrlAsync(array $args = []) + * @method \Aws\Result createTrainingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTrainingJobAsync(array $args = []) + * @method \Aws\Result createTransformJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTransformJobAsync(array $args = []) + * @method \Aws\Result createWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWorkteamAsync(array $args = []) + * @method \Aws\Result deleteAlgorithm(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAlgorithmAsync(array $args = []) + * @method \Aws\Result deleteCodeRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCodeRepositoryAsync(array $args = []) + * @method \Aws\Result deleteEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = []) + * @method \Aws\Result deleteEndpointConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointConfigAsync(array $args = []) + * @method \Aws\Result deleteModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = []) + * @method \Aws\Result deleteModelPackage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteModelPackageAsync(array $args = []) + * @method \Aws\Result deleteNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotebookInstanceAsync(array $args = []) + * @method \Aws\Result deleteNotebookInstanceLifecycleConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotebookInstanceLifecycleConfigAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result deleteWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWorkteamAsync(array $args = []) + * @method \Aws\Result describeAlgorithm(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAlgorithmAsync(array $args = []) + * @method \Aws\Result describeCodeRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCodeRepositoryAsync(array $args = []) + * @method \Aws\Result describeCompilationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCompilationJobAsync(array $args = []) + * @method \Aws\Result describeEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointAsync(array $args = []) + * @method \Aws\Result describeEndpointConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEndpointConfigAsync(array $args = []) + * @method \Aws\Result describeHyperParameterTuningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeHyperParameterTuningJobAsync(array $args = []) + * @method \Aws\Result describeLabelingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeLabelingJobAsync(array $args = []) + * @method \Aws\Result describeModel(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeModelAsync(array $args = []) + * @method \Aws\Result describeModelPackage(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeModelPackageAsync(array $args = []) + * @method \Aws\Result describeNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNotebookInstanceAsync(array $args = []) + * @method \Aws\Result describeNotebookInstanceLifecycleConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNotebookInstanceLifecycleConfigAsync(array $args = []) + * @method \Aws\Result describeSubscribedWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubscribedWorkteamAsync(array $args = []) + * @method \Aws\Result describeTrainingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrainingJobAsync(array $args = []) + * @method \Aws\Result describeTransformJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTransformJobAsync(array $args = []) + * @method \Aws\Result describeWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkteamAsync(array $args = []) + * @method \Aws\Result getSearchSuggestions(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSearchSuggestionsAsync(array $args = []) + * @method \Aws\Result listAlgorithms(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAlgorithmsAsync(array $args = []) + * @method \Aws\Result listCodeRepositories(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCodeRepositoriesAsync(array $args = []) + * @method \Aws\Result listCompilationJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCompilationJobsAsync(array $args = []) + * @method \Aws\Result listEndpointConfigs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEndpointConfigsAsync(array $args = []) + * @method \Aws\Result listEndpoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEndpointsAsync(array $args = []) + * @method \Aws\Result listHyperParameterTuningJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listHyperParameterTuningJobsAsync(array $args = []) + * @method \Aws\Result listLabelingJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLabelingJobsAsync(array $args = []) + * @method \Aws\Result listLabelingJobsForWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLabelingJobsForWorkteamAsync(array $args = []) + * @method \Aws\Result listModelPackages(array $args = []) + * @method \GuzzleHttp\Promise\Promise listModelPackagesAsync(array $args = []) + * @method \Aws\Result listModels(array $args = []) + * @method \GuzzleHttp\Promise\Promise listModelsAsync(array $args = []) + * @method \Aws\Result listNotebookInstanceLifecycleConfigs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNotebookInstanceLifecycleConfigsAsync(array $args = []) + * @method \Aws\Result listNotebookInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNotebookInstancesAsync(array $args = []) + * @method \Aws\Result listSubscribedWorkteams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscribedWorkteamsAsync(array $args = []) + * @method \Aws\Result listTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = []) + * @method \Aws\Result listTrainingJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrainingJobsAsync(array $args = []) + * @method \Aws\Result listTrainingJobsForHyperParameterTuningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTrainingJobsForHyperParameterTuningJobAsync(array $args = []) + * @method \Aws\Result listTransformJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTransformJobsAsync(array $args = []) + * @method \Aws\Result listWorkteams(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWorkteamsAsync(array $args = []) + * @method \Aws\Result renderUiTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise renderUiTemplateAsync(array $args = []) + * @method \Aws\Result search(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchAsync(array $args = []) + * @method \Aws\Result startNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise startNotebookInstanceAsync(array $args = []) + * @method \Aws\Result stopCompilationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopCompilationJobAsync(array $args = []) + * @method \Aws\Result stopHyperParameterTuningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopHyperParameterTuningJobAsync(array $args = []) + * @method \Aws\Result stopLabelingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopLabelingJobAsync(array $args = []) + * @method \Aws\Result stopNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopNotebookInstanceAsync(array $args = []) + * @method \Aws\Result stopTrainingJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTrainingJobAsync(array $args = []) + * @method \Aws\Result stopTransformJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopTransformJobAsync(array $args = []) + * @method \Aws\Result updateCodeRepository(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCodeRepositoryAsync(array $args = []) + * @method \Aws\Result updateEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEndpointAsync(array $args = []) + * @method \Aws\Result updateEndpointWeightsAndCapacities(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEndpointWeightsAndCapacitiesAsync(array $args = []) + * @method \Aws\Result updateNotebookInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNotebookInstanceAsync(array $args = []) + * @method \Aws\Result updateNotebookInstanceLifecycleConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNotebookInstanceLifecycleConfigAsync(array $args = []) + * @method \Aws\Result updateWorkteam(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateWorkteamAsync(array $args = []) + */ +class SageMakerClient extends AwsClient {} diff --git a/lib/aws/Aws/SageMakerRuntime/Exception/SageMakerRuntimeException.php b/lib/aws/Aws/SageMakerRuntime/Exception/SageMakerRuntimeException.php new file mode 100644 index 0000000..da36ca9 --- /dev/null +++ b/lib/aws/Aws/SageMakerRuntime/Exception/SageMakerRuntimeException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\SageMakerRuntime\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon SageMaker Runtime** service. + */ +class SageMakerRuntimeException extends AwsException {} diff --git a/lib/aws/Aws/SageMakerRuntime/SageMakerRuntimeClient.php b/lib/aws/Aws/SageMakerRuntime/SageMakerRuntimeClient.php new file mode 100644 index 0000000..27c32bb --- /dev/null +++ b/lib/aws/Aws/SageMakerRuntime/SageMakerRuntimeClient.php @@ -0,0 +1,11 @@ +<?php +namespace Aws\SageMakerRuntime; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon SageMaker Runtime** service. + * @method \Aws\Result invokeEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise invokeEndpointAsync(array $args = []) + */ +class SageMakerRuntimeClient extends AwsClient {} diff --git a/lib/aws/Aws/Sdk.php b/lib/aws/Aws/Sdk.php new file mode 100644 index 0000000..2dfeaba --- /dev/null +++ b/lib/aws/Aws/Sdk.php @@ -0,0 +1,464 @@ +<?php +namespace Aws; + +/** + * Builds AWS clients based on configuration settings. + * + * @method \Aws\ACMPCA\ACMPCAClient createACMPCA(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionACMPCA(array $args = []) + * @method \Aws\Acm\AcmClient createAcm(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAcm(array $args = []) + * @method \Aws\AlexaForBusiness\AlexaForBusinessClient createAlexaForBusiness(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAlexaForBusiness(array $args = []) + * @method \Aws\Amplify\AmplifyClient createAmplify(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAmplify(array $args = []) + * @method \Aws\ApiGateway\ApiGatewayClient createApiGateway(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionApiGateway(array $args = []) + * @method \Aws\ApiGatewayManagementApi\ApiGatewayManagementApiClient createApiGatewayManagementApi(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionApiGatewayManagementApi(array $args = []) + * @method \Aws\ApiGatewayV2\ApiGatewayV2Client createApiGatewayV2(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionApiGatewayV2(array $args = []) + * @method \Aws\AppMesh\AppMeshClient createAppMesh(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAppMesh(array $args = []) + * @method \Aws\AppSync\AppSyncClient createAppSync(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAppSync(array $args = []) + * @method \Aws\ApplicationAutoScaling\ApplicationAutoScalingClient createApplicationAutoScaling(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionApplicationAutoScaling(array $args = []) + * @method \Aws\ApplicationDiscoveryService\ApplicationDiscoveryServiceClient createApplicationDiscoveryService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionApplicationDiscoveryService(array $args = []) + * @method \Aws\Appstream\AppstreamClient createAppstream(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAppstream(array $args = []) + * @method \Aws\Athena\AthenaClient createAthena(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAthena(array $args = []) + * @method \Aws\AutoScaling\AutoScalingClient createAutoScaling(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAutoScaling(array $args = []) + * @method \Aws\AutoScalingPlans\AutoScalingPlansClient createAutoScalingPlans(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionAutoScalingPlans(array $args = []) + * @method \Aws\Backup\BackupClient createBackup(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionBackup(array $args = []) + * @method \Aws\Batch\BatchClient createBatch(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionBatch(array $args = []) + * @method \Aws\Budgets\BudgetsClient createBudgets(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionBudgets(array $args = []) + * @method \Aws\Chime\ChimeClient createChime(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionChime(array $args = []) + * @method \Aws\Cloud9\Cloud9Client createCloud9(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloud9(array $args = []) + * @method \Aws\CloudDirectory\CloudDirectoryClient createCloudDirectory(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudDirectory(array $args = []) + * @method \Aws\CloudFormation\CloudFormationClient createCloudFormation(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudFormation(array $args = []) + * @method \Aws\CloudFront\CloudFrontClient createCloudFront(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudFront(array $args = []) + * @method \Aws\CloudHSMV2\CloudHSMV2Client createCloudHSMV2(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudHSMV2(array $args = []) + * @method \Aws\CloudHsm\CloudHsmClient createCloudHsm(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudHsm(array $args = []) + * @method \Aws\CloudSearch\CloudSearchClient createCloudSearch(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudSearch(array $args = []) + * @method \Aws\CloudSearchDomain\CloudSearchDomainClient createCloudSearchDomain(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudSearchDomain(array $args = []) + * @method \Aws\CloudTrail\CloudTrailClient createCloudTrail(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudTrail(array $args = []) + * @method \Aws\CloudWatch\CloudWatchClient createCloudWatch(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudWatch(array $args = []) + * @method \Aws\CloudWatchEvents\CloudWatchEventsClient createCloudWatchEvents(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudWatchEvents(array $args = []) + * @method \Aws\CloudWatchLogs\CloudWatchLogsClient createCloudWatchLogs(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCloudWatchLogs(array $args = []) + * @method \Aws\CodeBuild\CodeBuildClient createCodeBuild(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCodeBuild(array $args = []) + * @method \Aws\CodeCommit\CodeCommitClient createCodeCommit(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCodeCommit(array $args = []) + * @method \Aws\CodeDeploy\CodeDeployClient createCodeDeploy(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCodeDeploy(array $args = []) + * @method \Aws\CodePipeline\CodePipelineClient createCodePipeline(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCodePipeline(array $args = []) + * @method \Aws\CodeStar\CodeStarClient createCodeStar(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCodeStar(array $args = []) + * @method \Aws\CognitoIdentity\CognitoIdentityClient createCognitoIdentity(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCognitoIdentity(array $args = []) + * @method \Aws\CognitoIdentityProvider\CognitoIdentityProviderClient createCognitoIdentityProvider(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCognitoIdentityProvider(array $args = []) + * @method \Aws\CognitoSync\CognitoSyncClient createCognitoSync(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCognitoSync(array $args = []) + * @method \Aws\Comprehend\ComprehendClient createComprehend(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionComprehend(array $args = []) + * @method \Aws\ComprehendMedical\ComprehendMedicalClient createComprehendMedical(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionComprehendMedical(array $args = []) + * @method \Aws\ConfigService\ConfigServiceClient createConfigService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionConfigService(array $args = []) + * @method \Aws\Connect\ConnectClient createConnect(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionConnect(array $args = []) + * @method \Aws\CostExplorer\CostExplorerClient createCostExplorer(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCostExplorer(array $args = []) + * @method \Aws\CostandUsageReportService\CostandUsageReportServiceClient createCostandUsageReportService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionCostandUsageReportService(array $args = []) + * @method \Aws\DAX\DAXClient createDAX(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDAX(array $args = []) + * @method \Aws\DLM\DLMClient createDLM(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDLM(array $args = []) + * @method \Aws\DataPipeline\DataPipelineClient createDataPipeline(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDataPipeline(array $args = []) + * @method \Aws\DataSync\DataSyncClient createDataSync(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDataSync(array $args = []) + * @method \Aws\DatabaseMigrationService\DatabaseMigrationServiceClient createDatabaseMigrationService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDatabaseMigrationService(array $args = []) + * @method \Aws\DeviceFarm\DeviceFarmClient createDeviceFarm(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDeviceFarm(array $args = []) + * @method \Aws\DirectConnect\DirectConnectClient createDirectConnect(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDirectConnect(array $args = []) + * @method \Aws\DirectoryService\DirectoryServiceClient createDirectoryService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDirectoryService(array $args = []) + * @method \Aws\DocDB\DocDBClient createDocDB(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDocDB(array $args = []) + * @method \Aws\DynamoDb\DynamoDbClient createDynamoDb(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDynamoDb(array $args = []) + * @method \Aws\DynamoDbStreams\DynamoDbStreamsClient createDynamoDbStreams(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionDynamoDbStreams(array $args = []) + * @method \Aws\EKS\EKSClient createEKS(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEKS(array $args = []) + * @method \Aws\Ec2\Ec2Client createEc2(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEc2(array $args = []) + * @method \Aws\Ecr\EcrClient createEcr(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEcr(array $args = []) + * @method \Aws\Ecs\EcsClient createEcs(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEcs(array $args = []) + * @method \Aws\Efs\EfsClient createEfs(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEfs(array $args = []) + * @method \Aws\ElastiCache\ElastiCacheClient createElastiCache(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElastiCache(array $args = []) + * @method \Aws\ElasticBeanstalk\ElasticBeanstalkClient createElasticBeanstalk(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElasticBeanstalk(array $args = []) + * @method \Aws\ElasticLoadBalancing\ElasticLoadBalancingClient createElasticLoadBalancing(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElasticLoadBalancing(array $args = []) + * @method \Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client createElasticLoadBalancingV2(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElasticLoadBalancingV2(array $args = []) + * @method \Aws\ElasticTranscoder\ElasticTranscoderClient createElasticTranscoder(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElasticTranscoder(array $args = []) + * @method \Aws\ElasticsearchService\ElasticsearchServiceClient createElasticsearchService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionElasticsearchService(array $args = []) + * @method \Aws\Emr\EmrClient createEmr(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionEmr(array $args = []) + * @method \Aws\FMS\FMSClient createFMS(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionFMS(array $args = []) + * @method \Aws\FSx\FSxClient createFSx(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionFSx(array $args = []) + * @method \Aws\Firehose\FirehoseClient createFirehose(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionFirehose(array $args = []) + * @method \Aws\GameLift\GameLiftClient createGameLift(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGameLift(array $args = []) + * @method \Aws\Glacier\GlacierClient createGlacier(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGlacier(array $args = []) + * @method \Aws\GlobalAccelerator\GlobalAcceleratorClient createGlobalAccelerator(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGlobalAccelerator(array $args = []) + * @method \Aws\Glue\GlueClient createGlue(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGlue(array $args = []) + * @method \Aws\Greengrass\GreengrassClient createGreengrass(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGreengrass(array $args = []) + * @method \Aws\GuardDuty\GuardDutyClient createGuardDuty(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionGuardDuty(array $args = []) + * @method \Aws\Health\HealthClient createHealth(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionHealth(array $args = []) + * @method \Aws\Iam\IamClient createIam(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIam(array $args = []) + * @method \Aws\ImportExport\ImportExportClient createImportExport(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionImportExport(array $args = []) + * @method \Aws\Inspector\InspectorClient createInspector(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionInspector(array $args = []) + * @method \Aws\IoT1ClickDevicesService\IoT1ClickDevicesServiceClient createIoT1ClickDevicesService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIoT1ClickDevicesService(array $args = []) + * @method \Aws\IoT1ClickProjects\IoT1ClickProjectsClient createIoT1ClickProjects(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIoT1ClickProjects(array $args = []) + * @method \Aws\IoTAnalytics\IoTAnalyticsClient createIoTAnalytics(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIoTAnalytics(array $args = []) + * @method \Aws\IoTJobsDataPlane\IoTJobsDataPlaneClient createIoTJobsDataPlane(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIoTJobsDataPlane(array $args = []) + * @method \Aws\Iot\IotClient createIot(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIot(array $args = []) + * @method \Aws\IotDataPlane\IotDataPlaneClient createIotDataPlane(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionIotDataPlane(array $args = []) + * @method \Aws\Kafka\KafkaClient createKafka(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKafka(array $args = []) + * @method \Aws\Kinesis\KinesisClient createKinesis(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesis(array $args = []) + * @method \Aws\KinesisAnalytics\KinesisAnalyticsClient createKinesisAnalytics(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesisAnalytics(array $args = []) + * @method \Aws\KinesisAnalyticsV2\KinesisAnalyticsV2Client createKinesisAnalyticsV2(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesisAnalyticsV2(array $args = []) + * @method \Aws\KinesisVideo\KinesisVideoClient createKinesisVideo(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesisVideo(array $args = []) + * @method \Aws\KinesisVideoArchivedMedia\KinesisVideoArchivedMediaClient createKinesisVideoArchivedMedia(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesisVideoArchivedMedia(array $args = []) + * @method \Aws\KinesisVideoMedia\KinesisVideoMediaClient createKinesisVideoMedia(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKinesisVideoMedia(array $args = []) + * @method \Aws\Kms\KmsClient createKms(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionKms(array $args = []) + * @method \Aws\Lambda\LambdaClient createLambda(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionLambda(array $args = []) + * @method \Aws\LexModelBuildingService\LexModelBuildingServiceClient createLexModelBuildingService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionLexModelBuildingService(array $args = []) + * @method \Aws\LexRuntimeService\LexRuntimeServiceClient createLexRuntimeService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionLexRuntimeService(array $args = []) + * @method \Aws\LicenseManager\LicenseManagerClient createLicenseManager(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionLicenseManager(array $args = []) + * @method \Aws\Lightsail\LightsailClient createLightsail(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionLightsail(array $args = []) + * @method \Aws\MQ\MQClient createMQ(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMQ(array $args = []) + * @method \Aws\MTurk\MTurkClient createMTurk(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMTurk(array $args = []) + * @method \Aws\MachineLearning\MachineLearningClient createMachineLearning(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMachineLearning(array $args = []) + * @method \Aws\Macie\MacieClient createMacie(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMacie(array $args = []) + * @method \Aws\MarketplaceCommerceAnalytics\MarketplaceCommerceAnalyticsClient createMarketplaceCommerceAnalytics(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMarketplaceCommerceAnalytics(array $args = []) + * @method \Aws\MarketplaceEntitlementService\MarketplaceEntitlementServiceClient createMarketplaceEntitlementService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMarketplaceEntitlementService(array $args = []) + * @method \Aws\MarketplaceMetering\MarketplaceMeteringClient createMarketplaceMetering(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMarketplaceMetering(array $args = []) + * @method \Aws\MediaConnect\MediaConnectClient createMediaConnect(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaConnect(array $args = []) + * @method \Aws\MediaConvert\MediaConvertClient createMediaConvert(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaConvert(array $args = []) + * @method \Aws\MediaLive\MediaLiveClient createMediaLive(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaLive(array $args = []) + * @method \Aws\MediaPackage\MediaPackageClient createMediaPackage(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaPackage(array $args = []) + * @method \Aws\MediaStore\MediaStoreClient createMediaStore(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaStore(array $args = []) + * @method \Aws\MediaStoreData\MediaStoreDataClient createMediaStoreData(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaStoreData(array $args = []) + * @method \Aws\MediaTailor\MediaTailorClient createMediaTailor(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMediaTailor(array $args = []) + * @method \Aws\MigrationHub\MigrationHubClient createMigrationHub(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMigrationHub(array $args = []) + * @method \Aws\Mobile\MobileClient createMobile(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionMobile(array $args = []) + * @method \Aws\Neptune\NeptuneClient createNeptune(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionNeptune(array $args = []) + * @method \Aws\OpsWorks\OpsWorksClient createOpsWorks(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionOpsWorks(array $args = []) + * @method \Aws\OpsWorksCM\OpsWorksCMClient createOpsWorksCM(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionOpsWorksCM(array $args = []) + * @method \Aws\Organizations\OrganizationsClient createOrganizations(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionOrganizations(array $args = []) + * @method \Aws\PI\PIClient createPI(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPI(array $args = []) + * @method \Aws\Pinpoint\PinpointClient createPinpoint(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPinpoint(array $args = []) + * @method \Aws\PinpointEmail\PinpointEmailClient createPinpointEmail(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPinpointEmail(array $args = []) + * @method \Aws\PinpointSMSVoice\PinpointSMSVoiceClient createPinpointSMSVoice(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPinpointSMSVoice(array $args = []) + * @method \Aws\Polly\PollyClient createPolly(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPolly(array $args = []) + * @method \Aws\Pricing\PricingClient createPricing(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionPricing(array $args = []) + * @method \Aws\QuickSight\QuickSightClient createQuickSight(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionQuickSight(array $args = []) + * @method \Aws\RAM\RAMClient createRAM(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRAM(array $args = []) + * @method \Aws\RDSDataService\RDSDataServiceClient createRDSDataService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRDSDataService(array $args = []) + * @method \Aws\Rds\RdsClient createRds(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRds(array $args = []) + * @method \Aws\Redshift\RedshiftClient createRedshift(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRedshift(array $args = []) + * @method \Aws\Rekognition\RekognitionClient createRekognition(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRekognition(array $args = []) + * @method \Aws\ResourceGroups\ResourceGroupsClient createResourceGroups(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionResourceGroups(array $args = []) + * @method \Aws\ResourceGroupsTaggingAPI\ResourceGroupsTaggingAPIClient createResourceGroupsTaggingAPI(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionResourceGroupsTaggingAPI(array $args = []) + * @method \Aws\RoboMaker\RoboMakerClient createRoboMaker(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRoboMaker(array $args = []) + * @method \Aws\Route53\Route53Client createRoute53(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRoute53(array $args = []) + * @method \Aws\Route53Domains\Route53DomainsClient createRoute53Domains(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRoute53Domains(array $args = []) + * @method \Aws\Route53Resolver\Route53ResolverClient createRoute53Resolver(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionRoute53Resolver(array $args = []) + * @method \Aws\S3\S3Client createS3(array $args = []) + * @method \Aws\S3\S3MultiRegionClient createMultiRegionS3(array $args = []) + * @method \Aws\S3Control\S3ControlClient createS3Control(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionS3Control(array $args = []) + * @method \Aws\SageMaker\SageMakerClient createSageMaker(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSageMaker(array $args = []) + * @method \Aws\SageMakerRuntime\SageMakerRuntimeClient createSageMakerRuntime(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSageMakerRuntime(array $args = []) + * @method \Aws\SecretsManager\SecretsManagerClient createSecretsManager(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSecretsManager(array $args = []) + * @method \Aws\SecurityHub\SecurityHubClient createSecurityHub(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSecurityHub(array $args = []) + * @method \Aws\ServerlessApplicationRepository\ServerlessApplicationRepositoryClient createServerlessApplicationRepository(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionServerlessApplicationRepository(array $args = []) + * @method \Aws\ServiceCatalog\ServiceCatalogClient createServiceCatalog(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionServiceCatalog(array $args = []) + * @method \Aws\ServiceDiscovery\ServiceDiscoveryClient createServiceDiscovery(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionServiceDiscovery(array $args = []) + * @method \Aws\Ses\SesClient createSes(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSes(array $args = []) + * @method \Aws\Sfn\SfnClient createSfn(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSfn(array $args = []) + * @method \Aws\Shield\ShieldClient createShield(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionShield(array $args = []) + * @method \Aws\Sms\SmsClient createSms(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSms(array $args = []) + * @method \Aws\SnowBall\SnowBallClient createSnowBall(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSnowBall(array $args = []) + * @method \Aws\Sns\SnsClient createSns(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSns(array $args = []) + * @method \Aws\Sqs\SqsClient createSqs(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSqs(array $args = []) + * @method \Aws\Ssm\SsmClient createSsm(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSsm(array $args = []) + * @method \Aws\StorageGateway\StorageGatewayClient createStorageGateway(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionStorageGateway(array $args = []) + * @method \Aws\Sts\StsClient createSts(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSts(array $args = []) + * @method \Aws\Support\SupportClient createSupport(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSupport(array $args = []) + * @method \Aws\Swf\SwfClient createSwf(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionSwf(array $args = []) + * @method \Aws\Textract\TextractClient createTextract(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionTextract(array $args = []) + * @method \Aws\TranscribeService\TranscribeServiceClient createTranscribeService(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionTranscribeService(array $args = []) + * @method \Aws\Transfer\TransferClient createTransfer(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionTransfer(array $args = []) + * @method \Aws\Translate\TranslateClient createTranslate(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionTranslate(array $args = []) + * @method \Aws\Waf\WafClient createWaf(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWaf(array $args = []) + * @method \Aws\WafRegional\WafRegionalClient createWafRegional(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWafRegional(array $args = []) + * @method \Aws\WorkDocs\WorkDocsClient createWorkDocs(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWorkDocs(array $args = []) + * @method \Aws\WorkLink\WorkLinkClient createWorkLink(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWorkLink(array $args = []) + * @method \Aws\WorkMail\WorkMailClient createWorkMail(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWorkMail(array $args = []) + * @method \Aws\WorkSpaces\WorkSpacesClient createWorkSpaces(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionWorkSpaces(array $args = []) + * @method \Aws\XRay\XRayClient createXRay(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionXRay(array $args = []) + * @method \Aws\signer\signerClient createsigner(array $args = []) + * @method \Aws\MultiRegionClient createMultiRegionsigner(array $args = []) + */ +class Sdk +{ + const VERSION = '3.91.4'; + + /** @var array Arguments for creating clients */ + private $args; + + /** + * Constructs a new SDK object with an associative array of default + * client settings. + * + * @param array $args + * + * @throws \InvalidArgumentException + * @see Aws\AwsClient::__construct for a list of available options. + */ + public function __construct(array $args = []) + { + $this->args = $args; + + if (!isset($args['handler']) && !isset($args['http_handler'])) { + $this->args['http_handler'] = default_http_handler(); + } + } + + public function __call($name, array $args) + { + $args = isset($args[0]) ? $args[0] : []; + if (strpos($name, 'createMultiRegion') === 0) { + return $this->createMultiRegionClient(substr($name, 17), $args); + } + + if (strpos($name, 'create') === 0) { + return $this->createClient(substr($name, 6), $args); + } + + throw new \BadMethodCallException("Unknown method: {$name}."); + } + + /** + * Get a client by name using an array of constructor options. + * + * @param string $name Service name or namespace (e.g., DynamoDb, s3). + * @param array $args Arguments to configure the client. + * + * @return AwsClientInterface + * @throws \InvalidArgumentException if any required options are missing or + * the service is not supported. + * @see Aws\AwsClient::__construct for a list of available options for args. + */ + public function createClient($name, array $args = []) + { + // Get information about the service from the manifest file. + $service = manifest($name); + $namespace = $service['namespace']; + + // Instantiate the client class. + $client = "Aws\\{$namespace}\\{$namespace}Client"; + return new $client($this->mergeArgs($namespace, $service, $args)); + } + + public function createMultiRegionClient($name, array $args = []) + { + // Get information about the service from the manifest file. + $service = manifest($name); + $namespace = $service['namespace']; + + $klass = "Aws\\{$namespace}\\{$namespace}MultiRegionClient"; + $klass = class_exists($klass) ? $klass : 'Aws\\MultiRegionClient'; + + return new $klass($this->mergeArgs($namespace, $service, $args)); + } + + /** + * Clone existing SDK instance with ability to pass an associative array + * of extra client settings. + * + * @param array $args + * + * @return self + */ + public function copy(array $args = []) + { + return new self($args + $this->args); + } + + private function mergeArgs($namespace, array $manifest, array $args = []) + { + // Merge provided args with stored, service-specific args. + if (isset($this->args[$namespace])) { + $args += $this->args[$namespace]; + } + + // Provide the endpoint prefix in the args. + if (!isset($args['service'])) { + $args['service'] = $manifest['endpoint']; + } + + return $args + $this->args; + } + + /** + * Determine the endpoint prefix from a client namespace. + * + * @param string $name Namespace name + * + * @return string + * @internal + * @deprecated Use the `\Aws\manifest()` function instead. + */ + public static function getEndpointPrefix($name) + { + return manifest($name)['endpoint']; + } +} diff --git a/lib/aws/Aws/SecretsManager/Exception/SecretsManagerException.php b/lib/aws/Aws/SecretsManager/Exception/SecretsManagerException.php new file mode 100644 index 0000000..4b50f58 --- /dev/null +++ b/lib/aws/Aws/SecretsManager/Exception/SecretsManagerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\SecretsManager\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Secrets Manager** service. + */ +class SecretsManagerException extends AwsException {} diff --git a/lib/aws/Aws/SecretsManager/SecretsManagerClient.php b/lib/aws/Aws/SecretsManager/SecretsManagerClient.php new file mode 100644 index 0000000..6d44051 --- /dev/null +++ b/lib/aws/Aws/SecretsManager/SecretsManagerClient.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\SecretsManager; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Secrets Manager** service. + * @method \Aws\Result cancelRotateSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelRotateSecretAsync(array $args = []) + * @method \Aws\Result createSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSecretAsync(array $args = []) + * @method \Aws\Result deleteResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourcePolicyAsync(array $args = []) + * @method \Aws\Result deleteSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSecretAsync(array $args = []) + * @method \Aws\Result describeSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSecretAsync(array $args = []) + * @method \Aws\Result getRandomPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRandomPasswordAsync(array $args = []) + * @method \Aws\Result getResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcePolicyAsync(array $args = []) + * @method \Aws\Result getSecretValue(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSecretValueAsync(array $args = []) + * @method \Aws\Result listSecretVersionIds(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecretVersionIdsAsync(array $args = []) + * @method \Aws\Result listSecrets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSecretsAsync(array $args = []) + * @method \Aws\Result putResourcePolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putResourcePolicyAsync(array $args = []) + * @method \Aws\Result putSecretValue(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSecretValueAsync(array $args = []) + * @method \Aws\Result restoreSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise restoreSecretAsync(array $args = []) + * @method \Aws\Result rotateSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise rotateSecretAsync(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 updateSecret(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSecretAsync(array $args = []) + * @method \Aws\Result updateSecretVersionStage(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSecretVersionStageAsync(array $args = []) + */ +class SecretsManagerClient extends AwsClient {} diff --git a/lib/aws/Aws/SecurityHub/Exception/SecurityHubException.php b/lib/aws/Aws/SecurityHub/Exception/SecurityHubException.php new file mode 100644 index 0000000..7dc2fbc --- /dev/null +++ b/lib/aws/Aws/SecurityHub/Exception/SecurityHubException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\SecurityHub\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS SecurityHub** service. + */ +class SecurityHubException extends AwsException {} diff --git a/lib/aws/Aws/SecurityHub/SecurityHubClient.php b/lib/aws/Aws/SecurityHub/SecurityHubClient.php new file mode 100644 index 0000000..85c1c91 --- /dev/null +++ b/lib/aws/Aws/SecurityHub/SecurityHubClient.php @@ -0,0 +1,67 @@ +<?php +namespace Aws\SecurityHub; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS SecurityHub** service. + * @method \Aws\Result acceptInvitation(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptInvitationAsync(array $args = []) + * @method \Aws\Result batchDisableStandards(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDisableStandardsAsync(array $args = []) + * @method \Aws\Result batchEnableStandards(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchEnableStandardsAsync(array $args = []) + * @method \Aws\Result batchImportFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchImportFindingsAsync(array $args = []) + * @method \Aws\Result createInsight(array $args = []) + * @method \GuzzleHttp\Promise\Promise createInsightAsync(array $args = []) + * @method \Aws\Result createMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMembersAsync(array $args = []) + * @method \Aws\Result declineInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise declineInvitationsAsync(array $args = []) + * @method \Aws\Result deleteInsight(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInsightAsync(array $args = []) + * @method \Aws\Result deleteInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInvitationsAsync(array $args = []) + * @method \Aws\Result deleteMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMembersAsync(array $args = []) + * @method \Aws\Result disableImportFindingsForProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableImportFindingsForProductAsync(array $args = []) + * @method \Aws\Result disableSecurityHub(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableSecurityHubAsync(array $args = []) + * @method \Aws\Result disassociateFromMasterAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateFromMasterAccountAsync(array $args = []) + * @method \Aws\Result disassociateMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateMembersAsync(array $args = []) + * @method \Aws\Result enableImportFindingsForProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableImportFindingsForProductAsync(array $args = []) + * @method \Aws\Result enableSecurityHub(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableSecurityHubAsync(array $args = []) + * @method \Aws\Result getEnabledStandards(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEnabledStandardsAsync(array $args = []) + * @method \Aws\Result getFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFindingsAsync(array $args = []) + * @method \Aws\Result getInsightResults(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInsightResultsAsync(array $args = []) + * @method \Aws\Result getInsights(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInsightsAsync(array $args = []) + * @method \Aws\Result getInvitationsCount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInvitationsCountAsync(array $args = []) + * @method \Aws\Result getMasterAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMasterAccountAsync(array $args = []) + * @method \Aws\Result getMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMembersAsync(array $args = []) + * @method \Aws\Result inviteMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise inviteMembersAsync(array $args = []) + * @method \Aws\Result listEnabledProductsForImport(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEnabledProductsForImportAsync(array $args = []) + * @method \Aws\Result listInvitations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInvitationsAsync(array $args = []) + * @method \Aws\Result listMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMembersAsync(array $args = []) + * @method \Aws\Result updateFindings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFindingsAsync(array $args = []) + * @method \Aws\Result updateInsight(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInsightAsync(array $args = []) + */ +class SecurityHubClient extends AwsClient {} diff --git a/lib/aws/Aws/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php b/lib/aws/Aws/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php new file mode 100644 index 0000000..6cc0313 --- /dev/null +++ b/lib/aws/Aws/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ServerlessApplicationRepository\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWSServerlessApplicationRepository** service. + */ +class ServerlessApplicationRepositoryException extends AwsException {} diff --git a/lib/aws/Aws/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php b/lib/aws/Aws/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php new file mode 100644 index 0000000..eabd8f5 --- /dev/null +++ b/lib/aws/Aws/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php @@ -0,0 +1,35 @@ +<?php +namespace Aws\ServerlessApplicationRepository; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWSServerlessApplicationRepository** service. + * @method \Aws\Result createApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationAsync(array $args = []) + * @method \Aws\Result createApplicationVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise createApplicationVersionAsync(array $args = []) + * @method \Aws\Result createCloudFormationChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCloudFormationChangeSetAsync(array $args = []) + * @method \Aws\Result createCloudFormationTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCloudFormationTemplateAsync(array $args = []) + * @method \Aws\Result deleteApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteApplicationAsync(array $args = []) + * @method \Aws\Result getApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApplicationAsync(array $args = []) + * @method \Aws\Result getApplicationPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getApplicationPolicyAsync(array $args = []) + * @method \Aws\Result getCloudFormationTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCloudFormationTemplateAsync(array $args = []) + * @method \Aws\Result listApplicationDependencies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationDependenciesAsync(array $args = []) + * @method \Aws\Result listApplicationVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationVersionsAsync(array $args = []) + * @method \Aws\Result listApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listApplicationsAsync(array $args = []) + * @method \Aws\Result putApplicationPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putApplicationPolicyAsync(array $args = []) + * @method \Aws\Result updateApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateApplicationAsync(array $args = []) + */ +class ServerlessApplicationRepositoryClient extends AwsClient {} diff --git a/lib/aws/Aws/ServiceCatalog/Exception/ServiceCatalogException.php b/lib/aws/Aws/ServiceCatalog/Exception/ServiceCatalogException.php new file mode 100644 index 0000000..db64aa6 --- /dev/null +++ b/lib/aws/Aws/ServiceCatalog/Exception/ServiceCatalogException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ServiceCatalog\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Service Catalog** service. + */ +class ServiceCatalogException extends AwsException {} diff --git a/lib/aws/Aws/ServiceCatalog/ServiceCatalogClient.php b/lib/aws/Aws/ServiceCatalog/ServiceCatalogClient.php new file mode 100644 index 0000000..3519ec0 --- /dev/null +++ b/lib/aws/Aws/ServiceCatalog/ServiceCatalogClient.php @@ -0,0 +1,163 @@ +<?php +namespace Aws\ServiceCatalog; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Service Catalog** service. + * @method \Aws\Result acceptPortfolioShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise acceptPortfolioShareAsync(array $args = []) + * @method \Aws\Result associatePrincipalWithPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise associatePrincipalWithPortfolioAsync(array $args = []) + * @method \Aws\Result associateProductWithPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateProductWithPortfolioAsync(array $args = []) + * @method \Aws\Result associateServiceActionWithProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateServiceActionWithProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result associateTagOptionWithResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateTagOptionWithResourceAsync(array $args = []) + * @method \Aws\Result batchAssociateServiceActionWithProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchAssociateServiceActionWithProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result batchDisassociateServiceActionFromProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchDisassociateServiceActionFromProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result copyProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise copyProductAsync(array $args = []) + * @method \Aws\Result createConstraint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConstraintAsync(array $args = []) + * @method \Aws\Result createPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPortfolioAsync(array $args = []) + * @method \Aws\Result createPortfolioShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPortfolioShareAsync(array $args = []) + * @method \Aws\Result createProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProductAsync(array $args = []) + * @method \Aws\Result createProvisionedProductPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProvisionedProductPlanAsync(array $args = []) + * @method \Aws\Result createProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result createServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServiceActionAsync(array $args = []) + * @method \Aws\Result createTagOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagOptionAsync(array $args = []) + * @method \Aws\Result deleteConstraint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConstraintAsync(array $args = []) + * @method \Aws\Result deletePortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePortfolioAsync(array $args = []) + * @method \Aws\Result deletePortfolioShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePortfolioShareAsync(array $args = []) + * @method \Aws\Result deleteProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProductAsync(array $args = []) + * @method \Aws\Result deleteProvisionedProductPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProvisionedProductPlanAsync(array $args = []) + * @method \Aws\Result deleteProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result deleteServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServiceActionAsync(array $args = []) + * @method \Aws\Result deleteTagOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagOptionAsync(array $args = []) + * @method \Aws\Result describeConstraint(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConstraintAsync(array $args = []) + * @method \Aws\Result describeCopyProductStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCopyProductStatusAsync(array $args = []) + * @method \Aws\Result describePortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePortfolioAsync(array $args = []) + * @method \Aws\Result describePortfolioShareStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePortfolioShareStatusAsync(array $args = []) + * @method \Aws\Result describeProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProductAsync(array $args = []) + * @method \Aws\Result describeProductAsAdmin(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProductAsAdminAsync(array $args = []) + * @method \Aws\Result describeProductView(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProductViewAsync(array $args = []) + * @method \Aws\Result describeProvisionedProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProvisionedProductAsync(array $args = []) + * @method \Aws\Result describeProvisionedProductPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProvisionedProductPlanAsync(array $args = []) + * @method \Aws\Result describeProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result describeProvisioningParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProvisioningParametersAsync(array $args = []) + * @method \Aws\Result describeRecord(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRecordAsync(array $args = []) + * @method \Aws\Result describeServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServiceActionAsync(array $args = []) + * @method \Aws\Result describeTagOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagOptionAsync(array $args = []) + * @method \Aws\Result disableAWSOrganizationsAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableAWSOrganizationsAccessAsync(array $args = []) + * @method \Aws\Result disassociatePrincipalFromPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociatePrincipalFromPortfolioAsync(array $args = []) + * @method \Aws\Result disassociateProductFromPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateProductFromPortfolioAsync(array $args = []) + * @method \Aws\Result disassociateServiceActionFromProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateServiceActionFromProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result disassociateTagOptionFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateTagOptionFromResourceAsync(array $args = []) + * @method \Aws\Result enableAWSOrganizationsAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise enableAWSOrganizationsAccessAsync(array $args = []) + * @method \Aws\Result executeProvisionedProductPlan(array $args = []) + * @method \GuzzleHttp\Promise\Promise executeProvisionedProductPlanAsync(array $args = []) + * @method \Aws\Result executeProvisionedProductServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise executeProvisionedProductServiceActionAsync(array $args = []) + * @method \Aws\Result getAWSOrganizationsAccessStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAWSOrganizationsAccessStatusAsync(array $args = []) + * @method \Aws\Result listAcceptedPortfolioShares(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAcceptedPortfolioSharesAsync(array $args = []) + * @method \Aws\Result listConstraintsForPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConstraintsForPortfolioAsync(array $args = []) + * @method \Aws\Result listLaunchPaths(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLaunchPathsAsync(array $args = []) + * @method \Aws\Result listOrganizationPortfolioAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOrganizationPortfolioAccessAsync(array $args = []) + * @method \Aws\Result listPortfolioAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPortfolioAccessAsync(array $args = []) + * @method \Aws\Result listPortfolios(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPortfoliosAsync(array $args = []) + * @method \Aws\Result listPortfoliosForProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPortfoliosForProductAsync(array $args = []) + * @method \Aws\Result listPrincipalsForPortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPrincipalsForPortfolioAsync(array $args = []) + * @method \Aws\Result listProvisionedProductPlans(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProvisionedProductPlansAsync(array $args = []) + * @method \Aws\Result listProvisioningArtifacts(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProvisioningArtifactsAsync(array $args = []) + * @method \Aws\Result listProvisioningArtifactsForServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProvisioningArtifactsForServiceActionAsync(array $args = []) + * @method \Aws\Result listRecordHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRecordHistoryAsync(array $args = []) + * @method \Aws\Result listResourcesForTagOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourcesForTagOptionAsync(array $args = []) + * @method \Aws\Result listServiceActions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServiceActionsAsync(array $args = []) + * @method \Aws\Result listServiceActionsForProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServiceActionsForProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result listTagOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagOptionsAsync(array $args = []) + * @method \Aws\Result provisionProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise provisionProductAsync(array $args = []) + * @method \Aws\Result rejectPortfolioShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise rejectPortfolioShareAsync(array $args = []) + * @method \Aws\Result scanProvisionedProducts(array $args = []) + * @method \GuzzleHttp\Promise\Promise scanProvisionedProductsAsync(array $args = []) + * @method \Aws\Result searchProducts(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchProductsAsync(array $args = []) + * @method \Aws\Result searchProductsAsAdmin(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchProductsAsAdminAsync(array $args = []) + * @method \Aws\Result searchProvisionedProducts(array $args = []) + * @method \GuzzleHttp\Promise\Promise searchProvisionedProductsAsync(array $args = []) + * @method \Aws\Result terminateProvisionedProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateProvisionedProductAsync(array $args = []) + * @method \Aws\Result updateConstraint(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConstraintAsync(array $args = []) + * @method \Aws\Result updatePortfolio(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePortfolioAsync(array $args = []) + * @method \Aws\Result updateProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProductAsync(array $args = []) + * @method \Aws\Result updateProvisionedProduct(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProvisionedProductAsync(array $args = []) + * @method \Aws\Result updateProvisioningArtifact(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateProvisioningArtifactAsync(array $args = []) + * @method \Aws\Result updateServiceAction(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceActionAsync(array $args = []) + * @method \Aws\Result updateTagOption(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTagOptionAsync(array $args = []) + */ +class ServiceCatalogClient extends AwsClient {} diff --git a/lib/aws/Aws/ServiceDiscovery/Exception/ServiceDiscoveryException.php b/lib/aws/Aws/ServiceDiscovery/Exception/ServiceDiscoveryException.php new file mode 100644 index 0000000..9d20155 --- /dev/null +++ b/lib/aws/Aws/ServiceDiscovery/Exception/ServiceDiscoveryException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\ServiceDiscovery\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Route 53 Auto Naming** service. + */ +class ServiceDiscoveryException extends AwsException {} diff --git a/lib/aws/Aws/ServiceDiscovery/ServiceDiscoveryClient.php b/lib/aws/Aws/ServiceDiscovery/ServiceDiscoveryClient.php new file mode 100644 index 0000000..6386116 --- /dev/null +++ b/lib/aws/Aws/ServiceDiscovery/ServiceDiscoveryClient.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\ServiceDiscovery; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Route 53 Auto Naming** service. + * @method \Aws\Result createHttpNamespace(array $args = []) + * @method \GuzzleHttp\Promise\Promise createHttpNamespaceAsync(array $args = []) + * @method \Aws\Result createPrivateDnsNamespace(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPrivateDnsNamespaceAsync(array $args = []) + * @method \Aws\Result createPublicDnsNamespace(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPublicDnsNamespaceAsync(array $args = []) + * @method \Aws\Result createService(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = []) + * @method \Aws\Result deleteNamespace(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNamespaceAsync(array $args = []) + * @method \Aws\Result deleteService(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServiceAsync(array $args = []) + * @method \Aws\Result deregisterInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterInstanceAsync(array $args = []) + * @method \Aws\Result discoverInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise discoverInstancesAsync(array $args = []) + * @method \Aws\Result getInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstanceAsync(array $args = []) + * @method \Aws\Result getInstancesHealthStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInstancesHealthStatusAsync(array $args = []) + * @method \Aws\Result getNamespace(array $args = []) + * @method \GuzzleHttp\Promise\Promise getNamespaceAsync(array $args = []) + * @method \Aws\Result getOperation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getOperationAsync(array $args = []) + * @method \Aws\Result getService(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceAsync(array $args = []) + * @method \Aws\Result listInstances(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInstancesAsync(array $args = []) + * @method \Aws\Result listNamespaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise listNamespacesAsync(array $args = []) + * @method \Aws\Result listOperations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOperationsAsync(array $args = []) + * @method \Aws\Result listServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServicesAsync(array $args = []) + * @method \Aws\Result registerInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerInstanceAsync(array $args = []) + * @method \Aws\Result updateInstanceCustomHealthStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateInstanceCustomHealthStatusAsync(array $args = []) + * @method \Aws\Result updateService(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceAsync(array $args = []) + */ +class ServiceDiscoveryClient extends AwsClient {} diff --git a/lib/aws/Aws/Ses/Exception/SesException.php b/lib/aws/Aws/Ses/Exception/SesException.php new file mode 100644 index 0000000..9022498 --- /dev/null +++ b/lib/aws/Aws/Ses/Exception/SesException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Ses\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Simple Email Service. + */ +class SesException extends AwsException {} diff --git a/lib/aws/Aws/Ses/SesClient.php b/lib/aws/Aws/Ses/SesClient.php new file mode 100644 index 0000000..cc907fb --- /dev/null +++ b/lib/aws/Aws/Ses/SesClient.php @@ -0,0 +1,191 @@ +<?php +namespace Aws\Ses; + +use Aws\Api\ApiProvider; +use Aws\Api\DocModel; +use Aws\Api\Service; +use Aws\Credentials\CredentialsInterface; + +/** + * This client is used to interact with the **Amazon Simple Email Service (Amazon SES)**. + * + * @method \Aws\Result cloneReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise cloneReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result createConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetAsync(array $args = []) + * @method \Aws\Result createConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result createConfigurationSetTrackingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise createConfigurationSetTrackingOptionsAsync(array $args = []) + * @method \Aws\Result createCustomVerificationEmailTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCustomVerificationEmailTemplateAsync(array $args = []) + * @method \Aws\Result createReceiptFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReceiptFilterAsync(array $args = []) + * @method \Aws\Result createReceiptRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReceiptRuleAsync(array $args = []) + * @method \Aws\Result createReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result createTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTemplateAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result deleteConfigurationSetTrackingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteConfigurationSetTrackingOptionsAsync(array $args = []) + * @method \Aws\Result deleteCustomVerificationEmailTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCustomVerificationEmailTemplateAsync(array $args = []) + * @method \Aws\Result deleteIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIdentityAsync(array $args = []) + * @method \Aws\Result deleteIdentityPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIdentityPolicyAsync(array $args = []) + * @method \Aws\Result deleteReceiptFilter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReceiptFilterAsync(array $args = []) + * @method \Aws\Result deleteReceiptRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReceiptRuleAsync(array $args = []) + * @method \Aws\Result deleteReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result deleteTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTemplateAsync(array $args = []) + * @method \Aws\Result deleteVerifiedEmailAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVerifiedEmailAddressAsync(array $args = []) + * @method \Aws\Result describeActiveReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeActiveReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result describeConfigurationSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeConfigurationSetAsync(array $args = []) + * @method \Aws\Result describeReceiptRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReceiptRuleAsync(array $args = []) + * @method \Aws\Result describeReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result getAccountSendingEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAccountSendingEnabledAsync(array $args = []) + * @method \Aws\Result getCustomVerificationEmailTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCustomVerificationEmailTemplateAsync(array $args = []) + * @method \Aws\Result getIdentityDkimAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityDkimAttributesAsync(array $args = []) + * @method \Aws\Result getIdentityMailFromDomainAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityMailFromDomainAttributesAsync(array $args = []) + * @method \Aws\Result getIdentityNotificationAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityNotificationAttributesAsync(array $args = []) + * @method \Aws\Result getIdentityPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityPoliciesAsync(array $args = []) + * @method \Aws\Result getIdentityVerificationAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIdentityVerificationAttributesAsync(array $args = []) + * @method \Aws\Result getSendQuota(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSendQuotaAsync(array $args = []) + * @method \Aws\Result getSendStatistics(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSendStatisticsAsync(array $args = []) + * @method \Aws\Result getTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTemplateAsync(array $args = []) + * @method \Aws\Result listConfigurationSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listConfigurationSetsAsync(array $args = []) + * @method \Aws\Result listCustomVerificationEmailTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCustomVerificationEmailTemplatesAsync(array $args = []) + * @method \Aws\Result listIdentities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentitiesAsync(array $args = []) + * @method \Aws\Result listIdentityPolicies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIdentityPoliciesAsync(array $args = []) + * @method \Aws\Result listReceiptFilters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReceiptFiltersAsync(array $args = []) + * @method \Aws\Result listReceiptRuleSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listReceiptRuleSetsAsync(array $args = []) + * @method \Aws\Result listTemplates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTemplatesAsync(array $args = []) + * @method \Aws\Result listVerifiedEmailAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVerifiedEmailAddressesAsync(array $args = []) + * @method \Aws\Result putIdentityPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putIdentityPolicyAsync(array $args = []) + * @method \Aws\Result reorderReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise reorderReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result sendBounce(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendBounceAsync(array $args = []) + * @method \Aws\Result sendBulkTemplatedEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendBulkTemplatedEmailAsync(array $args = []) + * @method \Aws\Result sendCustomVerificationEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendCustomVerificationEmailAsync(array $args = []) + * @method \Aws\Result sendEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendEmailAsync(array $args = []) + * @method \Aws\Result sendRawEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendRawEmailAsync(array $args = []) + * @method \Aws\Result sendTemplatedEmail(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendTemplatedEmailAsync(array $args = []) + * @method \Aws\Result setActiveReceiptRuleSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise setActiveReceiptRuleSetAsync(array $args = []) + * @method \Aws\Result setIdentityDkimEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityDkimEnabledAsync(array $args = []) + * @method \Aws\Result setIdentityFeedbackForwardingEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityFeedbackForwardingEnabledAsync(array $args = []) + * @method \Aws\Result setIdentityHeadersInNotificationsEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityHeadersInNotificationsEnabledAsync(array $args = []) + * @method \Aws\Result setIdentityMailFromDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityMailFromDomainAsync(array $args = []) + * @method \Aws\Result setIdentityNotificationTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise setIdentityNotificationTopicAsync(array $args = []) + * @method \Aws\Result setReceiptRulePosition(array $args = []) + * @method \GuzzleHttp\Promise\Promise setReceiptRulePositionAsync(array $args = []) + * @method \Aws\Result testRenderTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise testRenderTemplateAsync(array $args = []) + * @method \Aws\Result updateAccountSendingEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAccountSendingEnabledAsync(array $args = []) + * @method \Aws\Result updateConfigurationSetEventDestination(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetEventDestinationAsync(array $args = []) + * @method \Aws\Result updateConfigurationSetReputationMetricsEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetReputationMetricsEnabledAsync(array $args = []) + * @method \Aws\Result updateConfigurationSetSendingEnabled(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetSendingEnabledAsync(array $args = []) + * @method \Aws\Result updateConfigurationSetTrackingOptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateConfigurationSetTrackingOptionsAsync(array $args = []) + * @method \Aws\Result updateCustomVerificationEmailTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCustomVerificationEmailTemplateAsync(array $args = []) + * @method \Aws\Result updateReceiptRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateReceiptRuleAsync(array $args = []) + * @method \Aws\Result updateTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateTemplateAsync(array $args = []) + * @method \Aws\Result verifyDomainDkim(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyDomainDkimAsync(array $args = []) + * @method \Aws\Result verifyDomainIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyDomainIdentityAsync(array $args = []) + * @method \Aws\Result verifyEmailAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyEmailAddressAsync(array $args = []) + * @method \Aws\Result verifyEmailIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise verifyEmailIdentityAsync(array $args = []) + */ +class SesClient extends \Aws\AwsClient +{ + /** + * Create an SMTP password for a given IAM user's credentials. + * + * The SMTP username is the Access Key ID for the provided credentials. + * + * @link http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html#smtp-credentials-convert + * + * @param CredentialsInterface $creds + * + * @return string + */ + public static function generateSmtpPassword(CredentialsInterface $creds) + { + static $version = "\x02"; + static $algo = 'sha256'; + static $message = 'SendRawEmail'; + $signature = hash_hmac($algo, $message, $creds->getSecretKey(), true); + + return base64_encode($version . $signature); + } + + /** + * @internal + * @codeCoverageIgnore + */ + public static function applyDocFilters(array $api, array $docs) + { + $b64 = '<div class="alert alert-info">This value will be base64 encoded on your behalf.</div>'; + + $docs['shapes']['RawMessage']['append'] = $b64; + + return [ + new Service($api, ApiProvider::defaultProvider()), + new DocModel($docs) + ]; + } +} diff --git a/lib/aws/Aws/Sfn/Exception/SfnException.php b/lib/aws/Aws/Sfn/Exception/SfnException.php new file mode 100644 index 0000000..12368f8 --- /dev/null +++ b/lib/aws/Aws/Sfn/Exception/SfnException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sfn\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Step Functions** service. + */ +class SfnException extends AwsException {} diff --git a/lib/aws/Aws/Sfn/SfnClient.php b/lib/aws/Aws/Sfn/SfnClient.php new file mode 100644 index 0000000..16961ff --- /dev/null +++ b/lib/aws/Aws/Sfn/SfnClient.php @@ -0,0 +1,53 @@ +<?php +namespace Aws\Sfn; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Step Functions** service. + * @method \Aws\Result createActivity(array $args = []) + * @method \GuzzleHttp\Promise\Promise createActivityAsync(array $args = []) + * @method \Aws\Result createStateMachine(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStateMachineAsync(array $args = []) + * @method \Aws\Result deleteActivity(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteActivityAsync(array $args = []) + * @method \Aws\Result deleteStateMachine(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteStateMachineAsync(array $args = []) + * @method \Aws\Result describeActivity(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeActivityAsync(array $args = []) + * @method \Aws\Result describeExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeExecutionAsync(array $args = []) + * @method \Aws\Result describeStateMachine(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStateMachineAsync(array $args = []) + * @method \Aws\Result describeStateMachineForExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStateMachineForExecutionAsync(array $args = []) + * @method \Aws\Result getActivityTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise getActivityTaskAsync(array $args = []) + * @method \Aws\Result getExecutionHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getExecutionHistoryAsync(array $args = []) + * @method \Aws\Result listActivities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActivitiesAsync(array $args = []) + * @method \Aws\Result listExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listExecutionsAsync(array $args = []) + * @method \Aws\Result listStateMachines(array $args = []) + * @method \GuzzleHttp\Promise\Promise listStateMachinesAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result sendTaskFailure(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendTaskFailureAsync(array $args = []) + * @method \Aws\Result sendTaskHeartbeat(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendTaskHeartbeatAsync(array $args = []) + * @method \Aws\Result sendTaskSuccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendTaskSuccessAsync(array $args = []) + * @method \Aws\Result startExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startExecutionAsync(array $args = []) + * @method \Aws\Result stopExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopExecutionAsync(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 updateStateMachine(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateStateMachineAsync(array $args = []) + */ +class SfnClient extends AwsClient {} diff --git a/lib/aws/Aws/Shield/Exception/ShieldException.php b/lib/aws/Aws/Shield/Exception/ShieldException.php new file mode 100644 index 0000000..3c1a5e1 --- /dev/null +++ b/lib/aws/Aws/Shield/Exception/ShieldException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Shield\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Shield** service. + */ +class ShieldException extends AwsException {} diff --git a/lib/aws/Aws/Shield/ShieldClient.php b/lib/aws/Aws/Shield/ShieldClient.php new file mode 100644 index 0000000..3d56bf5 --- /dev/null +++ b/lib/aws/Aws/Shield/ShieldClient.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\Shield; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Shield** service. + * @method \Aws\Result associateDRTLogBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDRTLogBucketAsync(array $args = []) + * @method \Aws\Result associateDRTRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDRTRoleAsync(array $args = []) + * @method \Aws\Result createProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise createProtectionAsync(array $args = []) + * @method \Aws\Result createSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteProtectionAsync(array $args = []) + * @method \Aws\Result deleteSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSubscriptionAsync(array $args = []) + * @method \Aws\Result describeAttack(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAttackAsync(array $args = []) + * @method \Aws\Result describeDRTAccess(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDRTAccessAsync(array $args = []) + * @method \Aws\Result describeEmergencyContactSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEmergencyContactSettingsAsync(array $args = []) + * @method \Aws\Result describeProtection(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProtectionAsync(array $args = []) + * @method \Aws\Result describeSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSubscriptionAsync(array $args = []) + * @method \Aws\Result disassociateDRTLogBucket(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDRTLogBucketAsync(array $args = []) + * @method \Aws\Result disassociateDRTRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDRTRoleAsync(array $args = []) + * @method \Aws\Result getSubscriptionState(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSubscriptionStateAsync(array $args = []) + * @method \Aws\Result listAttacks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAttacksAsync(array $args = []) + * @method \Aws\Result listProtections(array $args = []) + * @method \GuzzleHttp\Promise\Promise listProtectionsAsync(array $args = []) + * @method \Aws\Result updateEmergencyContactSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateEmergencyContactSettingsAsync(array $args = []) + * @method \Aws\Result updateSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSubscriptionAsync(array $args = []) + */ +class ShieldClient extends AwsClient {} diff --git a/lib/aws/Aws/Signature/AnonymousSignature.php b/lib/aws/Aws/Signature/AnonymousSignature.php new file mode 100644 index 0000000..bb545e3 --- /dev/null +++ b/lib/aws/Aws/Signature/AnonymousSignature.php @@ -0,0 +1,26 @@ +<?php +namespace Aws\Signature; + +use Aws\Credentials\CredentialsInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Provides anonymous client access (does not sign requests). + */ +class AnonymousSignature implements SignatureInterface +{ + public function signRequest( + RequestInterface $request, + CredentialsInterface $credentials + ) { + return $request; + } + + public function presign( + RequestInterface $request, + CredentialsInterface $credentials, + $expires + ) { + return $request; + } +} diff --git a/lib/aws/Aws/Signature/S3SignatureV4.php b/lib/aws/Aws/Signature/S3SignatureV4.php new file mode 100644 index 0000000..1055ce7 --- /dev/null +++ b/lib/aws/Aws/Signature/S3SignatureV4.php @@ -0,0 +1,68 @@ +<?php +namespace Aws\Signature; + +use Aws\Credentials\CredentialsInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Amazon S3 signature version 4 support. + */ +class S3SignatureV4 extends SignatureV4 +{ + /** + * Always add a x-amz-content-sha-256 for data integrity. + */ + public function signRequest( + RequestInterface $request, + CredentialsInterface $credentials + ) { + if (!$request->hasHeader('x-amz-content-sha256')) { + $request = $request->withHeader( + 'X-Amz-Content-Sha256', + $this->getPayload($request) + ); + } + + return parent::signRequest($request, $credentials); + } + + /** + * Always add a x-amz-content-sha-256 for data integrity. + */ + public function presign( + RequestInterface $request, + CredentialsInterface $credentials, + $expires, + array $options = [] + ) { + if (!$request->hasHeader('x-amz-content-sha256')) { + $request = $request->withHeader( + 'X-Amz-Content-Sha256', + $this->getPresignedPayload($request) + ); + } + + return parent::presign($request, $credentials, $expires, $options); + } + + /** + * Override used to allow pre-signed URLs to be created for an + * in-determinate request payload. + */ + protected function getPresignedPayload(RequestInterface $request) + { + return SignatureV4::UNSIGNED_PAYLOAD; + } + + /** + * Amazon S3 does not double-encode the path component in the canonical request + */ + protected function createCanonicalizedPath($path) + { + // Only remove one slash in case of keys that have a preceding slash + if (substr($path, 0, 1) === '/') { + $path = substr($path, 1); + } + return '/' . $path; + } +} diff --git a/lib/aws/Aws/Signature/SignatureInterface.php b/lib/aws/Aws/Signature/SignatureInterface.php new file mode 100644 index 0000000..9626181 --- /dev/null +++ b/lib/aws/Aws/Signature/SignatureInterface.php @@ -0,0 +1,44 @@ +<?php +namespace Aws\Signature; + +use Aws\Credentials\CredentialsInterface; +use Psr\Http\Message\RequestInterface; + +/** + * Interface used to provide interchangeable strategies for signing requests + * using the various AWS signature protocols. + */ +interface SignatureInterface +{ + /** + * Signs the specified request with an AWS signing protocol by using the + * provided AWS account credentials and adding the required headers to the + * request. + * + * @param RequestInterface $request Request to sign + * @param CredentialsInterface $credentials Signing credentials + * + * @return RequestInterface Returns the modified request. + */ + public function signRequest( + RequestInterface $request, + CredentialsInterface $credentials + ); + + /** + * Create a pre-signed request. + * + * @param RequestInterface $request Request to sign + * @param CredentialsInterface $credentials Credentials used to sign + * @param int|string|\DateTime $expires The time at which the URL should + * expire. This can be a Unix timestamp, a PHP DateTime object, or a + * string that can be evaluated by strtotime. + * + * @return RequestInterface + */ + public function presign( + RequestInterface $request, + CredentialsInterface $credentials, + $expires + ); +} diff --git a/lib/aws/Aws/Signature/SignatureProvider.php b/lib/aws/Aws/Signature/SignatureProvider.php new file mode 100644 index 0000000..70dfae3 --- /dev/null +++ b/lib/aws/Aws/Signature/SignatureProvider.php @@ -0,0 +1,131 @@ +<?php +namespace Aws\Signature; + +use Aws\Exception\UnresolvedSignatureException; + +/** + * Signature providers. + * + * A signature provider is a function that accepts a version, service, and + * region and returns a {@see SignatureInterface} object on success or NULL if + * no signature can be created from the provided arguments. + * + * You can wrap your calls to a signature provider with the + * {@see SignatureProvider::resolve} function to ensure that a signature object + * is created. If a signature object is not created, then the resolve() + * function will throw a {@see Aws\Exception\UnresolvedSignatureException}. + * + * use Aws\Signature\SignatureProvider; + * $provider = SignatureProvider::defaultProvider(); + * // Returns a SignatureInterface or NULL. + * $signer = $provider('v4', 's3', 'us-west-2'); + * // Returns a SignatureInterface or throws. + * $signer = SignatureProvider::resolve($provider, 'no', 's3', 'foo'); + * + * You can compose multiple providers into a single provider using + * {@see Aws\or_chain}. This function accepts providers as arguments and + * returns a new function that will invoke each provider until a non-null value + * is returned. + * + * $a = SignatureProvider::defaultProvider(); + * $b = function ($version, $service, $region) { + * if ($version === 'foo') { + * return new MyFooSignature(); + * } + * }; + * $c = \Aws\or_chain($a, $b); + * $signer = $c('v4', 'abc', '123'); // $a handles this. + * $signer = $c('foo', 'abc', '123'); // $b handles this. + * $nullValue = $c('???', 'abc', '123'); // Neither can handle this. + */ +class SignatureProvider +{ + private static $s3v4SignedServices = [ + 's3' => true, + 's3control' => true, + ]; + + /** + * Resolves and signature provider and ensures a non-null return value. + * + * @param callable $provider Provider function to invoke. + * @param string $version Signature version. + * @param string $service Service name. + * @param string $region Region name. + * + * @return SignatureInterface + * @throws UnresolvedSignatureException + */ + public static function resolve(callable $provider, $version, $service, $region) + { + $result = $provider($version, $service, $region); + if ($result instanceof SignatureInterface) { + return $result; + } + + throw new UnresolvedSignatureException( + "Unable to resolve a signature for $version/$service/$region.\n" + . "Valid signature versions include v4 and anonymous." + ); + } + + /** + * Default SDK signature provider. + * + * @return callable + */ + public static function defaultProvider() + { + return self::memoize(self::version()); + } + + /** + * Creates a signature provider that caches previously created signature + * objects. The computed cache key is the concatenation of the version, + * service, and region. + * + * @param callable $provider Signature provider to wrap. + * + * @return callable + */ + public static function memoize(callable $provider) + { + $cache = []; + return function ($version, $service, $region) use (&$cache, $provider) { + $key = "($version)($service)($region)"; + if (!isset($cache[$key])) { + $cache[$key] = $provider($version, $service, $region); + } + return $cache[$key]; + }; + } + + /** + * Creates signature objects from known signature versions. + * + * This provider currently recognizes the following signature versions: + * + * - v4: Signature version 4. + * - anonymous: Does not sign requests. + * + * @return callable + */ + public static function version() + { + return function ($version, $service, $region) { + switch ($version) { + case 's3v4': + case 'v4': + return !empty(self::$s3v4SignedServices[$service]) + ? new S3SignatureV4($service, $region) + : new SignatureV4($service, $region); + case 'v4-unsigned-body': + return new SignatureV4($service, $region, ['unsigned-body' => 'true']); + case 'anonymous': + return new AnonymousSignature(); + default: + return null; + } + }; + } +} diff --git a/lib/aws/Aws/Signature/SignatureTrait.php b/lib/aws/Aws/Signature/SignatureTrait.php new file mode 100644 index 0000000..d18899f --- /dev/null +++ b/lib/aws/Aws/Signature/SignatureTrait.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\Signature; + +/** + * Provides signature calculation for SignatureV4. + */ +trait SignatureTrait +{ + /** @var array Cache of previously signed values */ + private $cache = []; + + /** @var int Size of the hash cache */ + private $cacheSize = 0; + + private function createScope($shortDate, $region, $service) + { + return "$shortDate/$region/$service/aws4_request"; + } + + private function getSigningKey($shortDate, $region, $service, $secretKey) + { + $k = $shortDate . '_' . $region . '_' . $service . '_' . $secretKey; + + if (!isset($this->cache[$k])) { + // Clear the cache when it reaches 50 entries + if (++$this->cacheSize > 50) { + $this->cache = []; + $this->cacheSize = 0; + } + + $dateKey = hash_hmac( + 'sha256', + $shortDate, + "AWS4{$secretKey}", + true + ); + $regionKey = hash_hmac('sha256', $region, $dateKey, true); + $serviceKey = hash_hmac('sha256', $service, $regionKey, true); + $this->cache[$k] = hash_hmac( + 'sha256', + 'aws4_request', + $serviceKey, + true + ); + } + + return $this->cache[$k]; + } +} diff --git a/lib/aws/Aws/Signature/SignatureV4.php b/lib/aws/Aws/Signature/SignatureV4.php new file mode 100644 index 0000000..0bf7522 --- /dev/null +++ b/lib/aws/Aws/Signature/SignatureV4.php @@ -0,0 +1,412 @@ +<?php +namespace Aws\Signature; + +use Aws\Credentials\CredentialsInterface; +use Aws\Exception\CouldNotCreateChecksumException; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; + +/** + * Signature Version 4 + * @link http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html + */ +class SignatureV4 implements SignatureInterface +{ + use SignatureTrait; + const ISO8601_BASIC = 'Ymd\THis\Z'; + const UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD'; + const AMZ_CONTENT_SHA256_HEADER = 'X-Amz-Content-Sha256'; + + /** @var string */ + private $service; + + /** @var string */ + private $region; + + /** @var bool */ + private $unsigned; + + /** + * The following headers are not signed because signing these headers + * would potentially cause a signature mismatch when sending a request + * through a proxy or if modified at the HTTP client level. + * + * @return array + */ + private function getHeaderBlacklist() + { + return [ + 'cache-control' => true, + 'content-type' => true, + 'content-length' => true, + 'expect' => true, + 'max-forwards' => true, + 'pragma' => true, + 'range' => true, + 'te' => true, + 'if-match' => true, + 'if-none-match' => true, + 'if-modified-since' => true, + 'if-unmodified-since' => true, + 'if-range' => true, + 'accept' => true, + 'authorization' => true, + 'proxy-authorization' => true, + 'from' => true, + 'referer' => true, + 'user-agent' => true, + 'x-amzn-trace-id' => true, + 'aws-sdk-invocation-id' => true, + 'aws-sdk-retry' => true, + ]; + } + + /** + * @param string $service Service name to use when signing + * @param string $region Region name to use when signing + * @param array $options Array of configuration options used when signing + * - unsigned-body: Flag to make request have unsigned payload. + * Unsigned body is used primarily for streaming requests. + */ + public function __construct($service, $region, array $options = []) + { + $this->service = $service; + $this->region = $region; + $this->unsigned = isset($options['unsigned-body']) ? $options['unsigned-body'] : false; + } + + public function signRequest( + RequestInterface $request, + CredentialsInterface $credentials + ) { + $ldt = gmdate(self::ISO8601_BASIC); + $sdt = substr($ldt, 0, 8); + $parsed = $this->parseRequest($request); + $parsed['headers']['X-Amz-Date'] = [$ldt]; + + if ($token = $credentials->getSecurityToken()) { + $parsed['headers']['X-Amz-Security-Token'] = [$token]; + } + $cs = $this->createScope($sdt, $this->region, $this->service); + $payload = $this->getPayload($request); + + if ($payload == self::UNSIGNED_PAYLOAD) { + $parsed['headers'][self::AMZ_CONTENT_SHA256_HEADER] = [$payload]; + } + + $context = $this->createContext($parsed, $payload); + $toSign = $this->createStringToSign($ldt, $cs, $context['creq']); + $signingKey = $this->getSigningKey( + $sdt, + $this->region, + $this->service, + $credentials->getSecretKey() + ); + $signature = hash_hmac('sha256', $toSign, $signingKey); + $parsed['headers']['Authorization'] = [ + "AWS4-HMAC-SHA256 " + . "Credential={$credentials->getAccessKeyId()}/{$cs}, " + . "SignedHeaders={$context['headers']}, Signature={$signature}" + ]; + + return $this->buildRequest($parsed); + } + + /** + * Get the headers that were used to pre-sign the request. + * Used for the X-Amz-SignedHeaders header. + * + * @param array $headers + * @return array + */ + private function getPresignHeaders(array $headers) + { + $presignHeaders = []; + $blacklist = $this->getHeaderBlacklist(); + foreach ($headers as $name => $value) { + $lName = strtolower($name); + if (!isset($blacklist[$lName]) + && $name !== self::AMZ_CONTENT_SHA256_HEADER + ) { + $presignHeaders[] = $lName; + } + } + return $presignHeaders; + } + + public function presign( + RequestInterface $request, + CredentialsInterface $credentials, + $expires, + array $options = [] + ) { + + $startTimestamp = isset($options['start_time']) + ? $this->convertToTimestamp($options['start_time'], null) + : time(); + + $expiresTimestamp = $this->convertToTimestamp($expires, $startTimestamp); + + $parsed = $this->createPresignedRequest($request, $credentials); + $payload = $this->getPresignedPayload($request); + $httpDate = gmdate(self::ISO8601_BASIC, $startTimestamp); + $shortDate = substr($httpDate, 0, 8); + $scope = $this->createScope($shortDate, $this->region, $this->service); + $credential = $credentials->getAccessKeyId() . '/' . $scope; + if ($credentials->getSecurityToken()) { + unset($parsed['headers']['X-Amz-Security-Token']); + } + $parsed['query']['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256'; + $parsed['query']['X-Amz-Credential'] = $credential; + $parsed['query']['X-Amz-Date'] = gmdate('Ymd\THis\Z', $startTimestamp); + $parsed['query']['X-Amz-SignedHeaders'] = implode(';', $this->getPresignHeaders($parsed['headers'])); + $parsed['query']['X-Amz-Expires'] = $this->convertExpires($expiresTimestamp, $startTimestamp); + $context = $this->createContext($parsed, $payload); + $stringToSign = $this->createStringToSign($httpDate, $scope, $context['creq']); + $key = $this->getSigningKey( + $shortDate, + $this->region, + $this->service, + $credentials->getSecretKey() + ); + $parsed['query']['X-Amz-Signature'] = hash_hmac('sha256', $stringToSign, $key); + + return $this->buildRequest($parsed); + } + + /** + * Converts a POST request to a GET request by moving POST fields into the + * query string. + * + * Useful for pre-signing query protocol requests. + * + * @param RequestInterface $request Request to clone + * + * @return RequestInterface + * @throws \InvalidArgumentException if the method is not POST + */ + public static function convertPostToGet(RequestInterface $request) + { + if ($request->getMethod() !== 'POST') { + throw new \InvalidArgumentException('Expected a POST request but ' + . 'received a ' . $request->getMethod() . ' request.'); + } + + $sr = $request->withMethod('GET') + ->withBody(Psr7\stream_for('')) + ->withoutHeader('Content-Type') + ->withoutHeader('Content-Length'); + + // Move POST fields to the query if they are present + if ($request->getHeaderLine('Content-Type') === 'application/x-www-form-urlencoded') { + $body = (string) $request->getBody(); + $sr = $sr->withUri($sr->getUri()->withQuery($body)); + } + + return $sr; + } + + protected function getPayload(RequestInterface $request) + { + if ($this->unsigned && $request->getUri()->getScheme() == 'https') { + return self::UNSIGNED_PAYLOAD; + } + // Calculate the request signature payload + if ($request->hasHeader(self::AMZ_CONTENT_SHA256_HEADER)) { + // Handle streaming operations (e.g. Glacier.UploadArchive) + return $request->getHeaderLine(self::AMZ_CONTENT_SHA256_HEADER); + } + + if (!$request->getBody()->isSeekable()) { + throw new CouldNotCreateChecksumException('sha256'); + } + + try { + return Psr7\hash($request->getBody(), 'sha256'); + } catch (\Exception $e) { + throw new CouldNotCreateChecksumException('sha256', $e); + } + } + + protected function getPresignedPayload(RequestInterface $request) + { + return $this->getPayload($request); + } + + protected function createCanonicalizedPath($path) + { + $doubleEncoded = rawurlencode(ltrim($path, '/')); + + return '/' . str_replace('%2F', '/', $doubleEncoded); + } + + private function createStringToSign($longDate, $credentialScope, $creq) + { + $hash = hash('sha256', $creq); + + return "AWS4-HMAC-SHA256\n{$longDate}\n{$credentialScope}\n{$hash}"; + } + + private function createPresignedRequest( + RequestInterface $request, + CredentialsInterface $credentials + ) { + $parsedRequest = $this->parseRequest($request); + + // Make sure to handle temporary credentials + if ($token = $credentials->getSecurityToken()) { + $parsedRequest['headers']['X-Amz-Security-Token'] = [$token]; + } + + return $this->moveHeadersToQuery($parsedRequest); + } + + /** + * @param array $parsedRequest + * @param string $payload Hash of the request payload + * @return array Returns an array of context information + */ + private function createContext(array $parsedRequest, $payload) + { + $blacklist = $this->getHeaderBlacklist(); + + // Normalize the path as required by SigV4 + $canon = $parsedRequest['method'] . "\n" + . $this->createCanonicalizedPath($parsedRequest['path']) . "\n" + . $this->getCanonicalizedQuery($parsedRequest['query']) . "\n"; + + // Case-insensitively aggregate all of the headers. + $aggregate = []; + foreach ($parsedRequest['headers'] as $key => $values) { + $key = strtolower($key); + if (!isset($blacklist[$key])) { + foreach ($values as $v) { + $aggregate[$key][] = $v; + } + } + } + + ksort($aggregate); + $canonHeaders = []; + foreach ($aggregate as $k => $v) { + if (count($v) > 0) { + sort($v); + } + $canonHeaders[] = $k . ':' . preg_replace('/\s+/', ' ', implode(',', $v)); + } + + $signedHeadersString = implode(';', array_keys($aggregate)); + $canon .= implode("\n", $canonHeaders) . "\n\n" + . $signedHeadersString . "\n" + . $payload; + + return ['creq' => $canon, 'headers' => $signedHeadersString]; + } + + private function getCanonicalizedQuery(array $query) + { + unset($query['X-Amz-Signature']); + + if (!$query) { + return ''; + } + + $qs = ''; + ksort($query); + foreach ($query as $k => $v) { + if (!is_array($v)) { + $qs .= rawurlencode($k) . '=' . rawurlencode($v) . '&'; + } else { + sort($v); + foreach ($v as $value) { + $qs .= rawurlencode($k) . '=' . rawurlencode($value) . '&'; + } + } + } + + return substr($qs, 0, -1); + } + + private function convertToTimestamp($dateValue, $relativeTimeBase = null) + { + if ($dateValue instanceof \DateTimeInterface) { + $timestamp = $dateValue->getTimestamp(); + } elseif (!is_numeric($dateValue)) { + $timestamp = strtotime($dateValue, + $relativeTimeBase === null ? time() : $relativeTimeBase + ); + } else { + $timestamp = $dateValue; + } + + return $timestamp; + } + + private function convertExpires($expiresTimestamp, $startTimestamp) + { + $duration = $expiresTimestamp - $startTimestamp; + + // Ensure that the duration of the signature is not longer than a week + if ($duration > 604800) { + throw new \InvalidArgumentException('The expiration date of a ' + . 'signature version 4 presigned URL must be less than one ' + . 'week'); + } + + return $duration; + } + + private function moveHeadersToQuery(array $parsedRequest) + { + foreach ($parsedRequest['headers'] as $name => $header) { + $lname = strtolower($name); + if (substr($lname, 0, 5) == 'x-amz') { + $parsedRequest['query'][$name] = $header; + } + $blacklist = $this->getHeaderBlacklist(); + if (isset($blacklist[$lname]) + || $lname === strtolower(self::AMZ_CONTENT_SHA256_HEADER) + ) { + unset($parsedRequest['headers'][$name]); + } + } + + return $parsedRequest; + } + + private function parseRequest(RequestInterface $request) + { + // Clean up any previously set headers. + /** @var RequestInterface $request */ + $request = $request + ->withoutHeader('X-Amz-Date') + ->withoutHeader('Date') + ->withoutHeader('Authorization'); + $uri = $request->getUri(); + + return [ + 'method' => $request->getMethod(), + 'path' => $uri->getPath(), + 'query' => Psr7\parse_query($uri->getQuery()), + 'uri' => $uri, + 'headers' => $request->getHeaders(), + 'body' => $request->getBody(), + 'version' => $request->getProtocolVersion() + ]; + } + + private function buildRequest(array $req) + { + if ($req['query']) { + $req['uri'] = $req['uri']->withQuery(Psr7\build_query($req['query'])); + } + + return new Psr7\Request( + $req['method'], + $req['uri'], + $req['headers'], + $req['body'], + $req['version'] + ); + } +} diff --git a/lib/aws/Aws/Sms/Exception/SmsException.php b/lib/aws/Aws/Sms/Exception/SmsException.php new file mode 100644 index 0000000..2da68c2 --- /dev/null +++ b/lib/aws/Aws/Sms/Exception/SmsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sms\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Server Migration Service** service. + */ +class SmsException extends AwsException {} diff --git a/lib/aws/Aws/Sms/SmsClient.php b/lib/aws/Aws/Sms/SmsClient.php new file mode 100644 index 0000000..dd35342 --- /dev/null +++ b/lib/aws/Aws/Sms/SmsClient.php @@ -0,0 +1,65 @@ +<?php +namespace Aws\Sms; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Server Migration Service** service. + * @method \Aws\Result createApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = []) + * @method \Aws\Result createReplicationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createReplicationJobAsync(array $args = []) + * @method \Aws\Result deleteApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = []) + * @method \Aws\Result deleteAppLaunchConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppLaunchConfigurationAsync(array $args = []) + * @method \Aws\Result deleteAppReplicationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAppReplicationConfigurationAsync(array $args = []) + * @method \Aws\Result deleteReplicationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteReplicationJobAsync(array $args = []) + * @method \Aws\Result deleteServerCatalog(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServerCatalogAsync(array $args = []) + * @method \Aws\Result disassociateConnector(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateConnectorAsync(array $args = []) + * @method \Aws\Result generateChangeSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateChangeSetAsync(array $args = []) + * @method \Aws\Result generateTemplate(array $args = []) + * @method \GuzzleHttp\Promise\Promise generateTemplateAsync(array $args = []) + * @method \Aws\Result getApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppAsync(array $args = []) + * @method \Aws\Result getAppLaunchConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppLaunchConfigurationAsync(array $args = []) + * @method \Aws\Result getAppReplicationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAppReplicationConfigurationAsync(array $args = []) + * @method \Aws\Result getConnectors(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectorsAsync(array $args = []) + * @method \Aws\Result getReplicationJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReplicationJobsAsync(array $args = []) + * @method \Aws\Result getReplicationRuns(array $args = []) + * @method \GuzzleHttp\Promise\Promise getReplicationRunsAsync(array $args = []) + * @method \Aws\Result getServers(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServersAsync(array $args = []) + * @method \Aws\Result importServerCatalog(array $args = []) + * @method \GuzzleHttp\Promise\Promise importServerCatalogAsync(array $args = []) + * @method \Aws\Result launchApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise launchAppAsync(array $args = []) + * @method \Aws\Result listApps(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAppsAsync(array $args = []) + * @method \Aws\Result putAppLaunchConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAppLaunchConfigurationAsync(array $args = []) + * @method \Aws\Result putAppReplicationConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putAppReplicationConfigurationAsync(array $args = []) + * @method \Aws\Result startAppReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise startAppReplicationAsync(array $args = []) + * @method \Aws\Result startOnDemandReplicationRun(array $args = []) + * @method \GuzzleHttp\Promise\Promise startOnDemandReplicationRunAsync(array $args = []) + * @method \Aws\Result stopAppReplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopAppReplicationAsync(array $args = []) + * @method \Aws\Result terminateApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateAppAsync(array $args = []) + * @method \Aws\Result updateApp(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAppAsync(array $args = []) + * @method \Aws\Result updateReplicationJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateReplicationJobAsync(array $args = []) + */ +class SmsClient extends AwsClient {} diff --git a/lib/aws/Aws/SnowBall/Exception/SnowBallException.php b/lib/aws/Aws/SnowBall/Exception/SnowBallException.php new file mode 100644 index 0000000..12d0c0b --- /dev/null +++ b/lib/aws/Aws/SnowBall/Exception/SnowBallException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\SnowBall\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Import/Export Snowball** service. + */ +class SnowBallException extends AwsException {} diff --git a/lib/aws/Aws/SnowBall/SnowBallClient.php b/lib/aws/Aws/SnowBall/SnowBallClient.php new file mode 100644 index 0000000..15e2a80 --- /dev/null +++ b/lib/aws/Aws/SnowBall/SnowBallClient.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\SnowBall; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Import/Export Snowball** service. + * @method \Aws\Result cancelCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelClusterAsync(array $args = []) + * @method \Aws\Result cancelJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelJobAsync(array $args = []) + * @method \Aws\Result createAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAddressAsync(array $args = []) + * @method \Aws\Result createCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) + * @method \Aws\Result createJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise createJobAsync(array $args = []) + * @method \Aws\Result describeAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAddressAsync(array $args = []) + * @method \Aws\Result describeAddresses(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAddressesAsync(array $args = []) + * @method \Aws\Result describeCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClusterAsync(array $args = []) + * @method \Aws\Result describeJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeJobAsync(array $args = []) + * @method \Aws\Result getJobManifest(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobManifestAsync(array $args = []) + * @method \Aws\Result getJobUnlockCode(array $args = []) + * @method \GuzzleHttp\Promise\Promise getJobUnlockCodeAsync(array $args = []) + * @method \Aws\Result getSnowballUsage(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSnowballUsageAsync(array $args = []) + * @method \Aws\Result listClusterJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClusterJobsAsync(array $args = []) + * @method \Aws\Result listClusters(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClustersAsync(array $args = []) + * @method \Aws\Result listCompatibleImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCompatibleImagesAsync(array $args = []) + * @method \Aws\Result listJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = []) + * @method \Aws\Result updateCluster(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateClusterAsync(array $args = []) + * @method \Aws\Result updateJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateJobAsync(array $args = []) + */ +class SnowBallClient extends AwsClient {} diff --git a/lib/aws/Aws/Sns/Exception/InvalidSnsMessageException.php b/lib/aws/Aws/Sns/Exception/InvalidSnsMessageException.php new file mode 100644 index 0000000..289c13b --- /dev/null +++ b/lib/aws/Aws/Sns/Exception/InvalidSnsMessageException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sns\Exception; + +/** + * Runtime exception thrown by the SNS Message Validator. + */ +class InvalidSnsMessageException extends \RuntimeException +{ +} diff --git a/lib/aws/Aws/Sns/Exception/SnsException.php b/lib/aws/Aws/Sns/Exception/SnsException.php new file mode 100644 index 0000000..cc2c245 --- /dev/null +++ b/lib/aws/Aws/Sns/Exception/SnsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sns\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Simple Notification Service. + */ +class SnsException extends AwsException {} diff --git a/lib/aws/Aws/Sns/Message.php b/lib/aws/Aws/Sns/Message.php new file mode 100644 index 0000000..5c8ec26 --- /dev/null +++ b/lib/aws/Aws/Sns/Message.php @@ -0,0 +1,156 @@ +<?php +namespace Aws\Sns; + +use Psr\Http\Message\RequestInterface; + +/** + * Represents an SNS message received over http(s). + */ +class Message implements \ArrayAccess, \IteratorAggregate +{ + private static $requiredKeys = [ + 'Message', + 'MessageId', + 'Timestamp', + 'TopicArn', + 'Type', + 'Signature', + ['SigningCertURL', 'SigningCertUrl'], + 'SignatureVersion', + ]; + + private static $subscribeKeys = [ + ['SubscribeURL', 'SubscribeUrl'], + 'Token' + ]; + + /** @var array The message data */ + private $data; + + /** + * Creates a Message object from the raw POST data + * + * @return Message + * @throws \RuntimeException If the POST data is absent, or not a valid JSON document + */ + public static function fromRawPostData() + { + // Make sure the SNS-provided header exists. + if (!isset($_SERVER['HTTP_X_AMZ_SNS_MESSAGE_TYPE'])) { + throw new \RuntimeException('SNS message type header not provided.'); + } + + // Read the raw POST data and JSON-decode it into a message. + return self::fromJsonString(file_get_contents('php://input')); + } + + /** + * Creates a Message object from a PSR-7 Request or ServerRequest object. + * + * @param RequestInterface $request + * @return Message + */ + public static function fromPsrRequest(RequestInterface $request) + { + return self::fromJsonString($request->getBody()); + } + + /** + * Creates a Message object from a JSON-decodable string. + * + * @param string $requestBody + * @return Message + */ + private static function fromJsonString($requestBody) + { + $data = json_decode($requestBody, true); + if (JSON_ERROR_NONE !== json_last_error() || !is_array($data)) { + throw new \RuntimeException('Invalid POST data.'); + } + + return new Message($data); + } + + /** + * Creates a Message object from an array of raw message data. + * + * @param array $data The message data. + * + * @throws \InvalidArgumentException If a valid type is not provided or + * there are other required keys missing. + */ + public function __construct(array $data) + { + // Ensure that all the required keys for the message's type are present. + $this->validateRequiredKeys($data, self::$requiredKeys); + if ($data['Type'] === 'SubscriptionConfirmation' + || $data['Type'] === 'UnsubscribeConfirmation' + ) { + $this->validateRequiredKeys($data, self::$subscribeKeys); + } + + $this->data = $data; + } + + public function getIterator() + { + return new \ArrayIterator($this->data); + } + + public function offsetExists($key) + { + return isset($this->data[$key]); + } + + public function offsetGet($key) + { + return isset($this->data[$key]) ? $this->data[$key] : null; + } + + public function offsetSet($key, $value) + { + $this->data[$key] = $value; + } + + public function offsetUnset($key) + { + unset($this->data[$key]); + } + + /** + * Get all the message data as a plain array. + * + * @return array + */ + public function toArray() + { + return $this->data; + } + + private function validateRequiredKeys(array $data, array $keys) + { + foreach ($keys as $key) { + $keyIsArray = is_array($key); + if (!$keyIsArray) { + $found = isset($data[$key]); + } else { + $found = false; + foreach ($key as $keyOption) { + if (isset($data[$keyOption])) { + $found = true; + break; + } + } + } + + if (!$found) { + if ($keyIsArray) { + $key = $key[0]; + } + throw new \InvalidArgumentException( + "\"{$key}\" is required to verify the SNS Message." + ); + } + } + } +} diff --git a/lib/aws/Aws/Sns/MessageValidator.php b/lib/aws/Aws/Sns/MessageValidator.php new file mode 100644 index 0000000..e8ba872 --- /dev/null +++ b/lib/aws/Aws/Sns/MessageValidator.php @@ -0,0 +1,190 @@ +<?php +namespace Aws\Sns; + +use Aws\Sns\Exception\InvalidSnsMessageException; + +/** + * Uses openssl to verify SNS messages to ensure that they were sent by AWS. + */ +class MessageValidator +{ + const SIGNATURE_VERSION_1 = '1'; + + /** + * @var callable Callable used to download the certificate content. + */ + private $certClient; + + /** @var string */ + private $hostPattern; + + /** + * @var string A pattern that will match all regional SNS endpoints, e.g.: + * - sns.<region>.amazonaws.com (AWS) + * - sns.us-gov-west-1.amazonaws.com (AWS GovCloud) + * - sns.cn-north-1.amazonaws.com.cn (AWS China) + */ + private static $defaultHostPattern + = '/^sns\.[a-zA-Z0-9\-]{3,}\.amazonaws\.com(\.cn)?$/'; + + private static function isLambdaStyle(Message $message) + { + return isset($message['SigningCertUrl']); + } + + private static function convertLambdaMessage(Message $lambdaMessage) + { + $keyReplacements = [ + 'SigningCertUrl' => 'SigningCertURL', + 'SubscribeUrl' => 'SubscribeURL', + 'UnsubscribeUrl' => 'UnsubscribeURL', + ]; + + $message = clone $lambdaMessage; + foreach ($keyReplacements as $lambdaKey => $canonicalKey) { + if (isset($message[$lambdaKey])) { + $message[$canonicalKey] = $message[$lambdaKey]; + unset($message[$lambdaKey]); + } + } + + return $message; + } + + /** + * Constructs the Message Validator object and ensures that openssl is + * installed. + * + * @param callable $certClient Callable used to download the certificate. + * Should have the following function signature: + * `function (string $certUrl) : string $certContent` + * @param string $hostNamePattern + */ + public function __construct( + callable $certClient = null, + $hostNamePattern = '' + ) { + $this->certClient = $certClient ?: 'file_get_contents'; + $this->hostPattern = $hostNamePattern ?: self::$defaultHostPattern; + } + + /** + * Validates a message from SNS to ensure that it was delivered by AWS. + * + * @param Message $message Message to validate. + * + * @throws InvalidSnsMessageException If the cert cannot be retrieved or its + * source verified, or the message + * signature is invalid. + */ + public function validate(Message $message) + { + if (self::isLambdaStyle($message)) { + $message = self::convertLambdaMessage($message); + } + + // Get the certificate. + $this->validateUrl($message['SigningCertURL']); + $certificate = call_user_func($this->certClient, $message['SigningCertURL']); + if ($certificate === false) { + throw new InvalidSnsMessageException( + "Cannot get the certificate from \"{$message['SigningCertURL']}\"." + ); + } + + // Extract the public key. + $key = openssl_get_publickey($certificate); + if (!$key) { + throw new InvalidSnsMessageException( + 'Cannot get the public key from the certificate.' + ); + } + + // Verify the signature of the message. + $content = $this->getStringToSign($message); + $signature = base64_decode($message['Signature']); + if (openssl_verify($content, $signature, $key, OPENSSL_ALGO_SHA1) != 1) { + throw new InvalidSnsMessageException( + 'The message signature is invalid.' + ); + } + } + + /** + * Determines if a message is valid and that is was delivered by AWS. This + * method does not throw exceptions and returns a simple boolean value. + * + * @param Message $message The message to validate + * + * @return bool + */ + public function isValid(Message $message) + { + try { + $this->validate($message); + return true; + } catch (InvalidSnsMessageException $e) { + return false; + } + } + + /** + * Builds string-to-sign according to the SNS message spec. + * + * @param Message $message Message for which to build the string-to-sign. + * + * @return string + * @link http://docs.aws.amazon.com/sns/latest/gsg/SendMessageToHttp.verify.signature.html + */ + public function getStringToSign(Message $message) + { + static $signableKeys = [ + 'Message', + 'MessageId', + 'Subject', + 'SubscribeURL', + 'Timestamp', + 'Token', + 'TopicArn', + 'Type', + ]; + + if ($message['SignatureVersion'] !== self::SIGNATURE_VERSION_1) { + throw new InvalidSnsMessageException( + "The SignatureVersion \"{$message['SignatureVersion']}\" is not supported." + ); + } + + $stringToSign = ''; + foreach ($signableKeys as $key) { + if (isset($message[$key])) { + $stringToSign .= "{$key}\n{$message[$key]}\n"; + } + } + + return $stringToSign; + } + + /** + * Ensures that the URL of the certificate is one belonging to AWS, and not + * just something from the amazonaws domain, which could include S3 buckets. + * + * @param string $url Certificate URL + * + * @throws InvalidSnsMessageException if the cert url is invalid. + */ + private function validateUrl($url) + { + $parsed = parse_url($url); + if (empty($parsed['scheme']) + || empty($parsed['host']) + || $parsed['scheme'] !== 'https' + || substr($url, -4) !== '.pem' + || !preg_match($this->hostPattern, $parsed['host']) + ) { + throw new InvalidSnsMessageException( + 'The certificate is located on an invalid domain.' + ); + } + } +} diff --git a/lib/aws/Aws/Sns/SnsClient.php b/lib/aws/Aws/Sns/SnsClient.php new file mode 100644 index 0000000..5d86526 --- /dev/null +++ b/lib/aws/Aws/Sns/SnsClient.php @@ -0,0 +1,70 @@ +<?php +namespace Aws\Sns; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Simple Notification Service (Amazon SNS)**. + * + * @method \Aws\Result addPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise addPermissionAsync(array $args = []) + * @method \Aws\Result checkIfPhoneNumberIsOptedOut(array $args = []) + * @method \GuzzleHttp\Promise\Promise checkIfPhoneNumberIsOptedOutAsync(array $args = []) + * @method \Aws\Result confirmSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise confirmSubscriptionAsync(array $args = []) + * @method \Aws\Result createPlatformApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlatformApplicationAsync(array $args = []) + * @method \Aws\Result createPlatformEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPlatformEndpointAsync(array $args = []) + * @method \Aws\Result createTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTopicAsync(array $args = []) + * @method \Aws\Result deleteEndpoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteEndpointAsync(array $args = []) + * @method \Aws\Result deletePlatformApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePlatformApplicationAsync(array $args = []) + * @method \Aws\Result deleteTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTopicAsync(array $args = []) + * @method \Aws\Result getEndpointAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEndpointAttributesAsync(array $args = []) + * @method \Aws\Result getPlatformApplicationAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPlatformApplicationAttributesAsync(array $args = []) + * @method \Aws\Result getSMSAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSMSAttributesAsync(array $args = []) + * @method \Aws\Result getSubscriptionAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSubscriptionAttributesAsync(array $args = []) + * @method \Aws\Result getTopicAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTopicAttributesAsync(array $args = []) + * @method \Aws\Result listEndpointsByPlatformApplication(array $args = []) + * @method \GuzzleHttp\Promise\Promise listEndpointsByPlatformApplicationAsync(array $args = []) + * @method \Aws\Result listPhoneNumbersOptedOut(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPhoneNumbersOptedOutAsync(array $args = []) + * @method \Aws\Result listPlatformApplications(array $args = []) + * @method \GuzzleHttp\Promise\Promise listPlatformApplicationsAsync(array $args = []) + * @method \Aws\Result listSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscriptionsAsync(array $args = []) + * @method \Aws\Result listSubscriptionsByTopic(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscriptionsByTopicAsync(array $args = []) + * @method \Aws\Result listTopics(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTopicsAsync(array $args = []) + * @method \Aws\Result optInPhoneNumber(array $args = []) + * @method \GuzzleHttp\Promise\Promise optInPhoneNumberAsync(array $args = []) + * @method \Aws\Result publish(array $args = []) + * @method \GuzzleHttp\Promise\Promise publishAsync(array $args = []) + * @method \Aws\Result removePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removePermissionAsync(array $args = []) + * @method \Aws\Result setEndpointAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setEndpointAttributesAsync(array $args = []) + * @method \Aws\Result setPlatformApplicationAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setPlatformApplicationAttributesAsync(array $args = []) + * @method \Aws\Result setSMSAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setSMSAttributesAsync(array $args = []) + * @method \Aws\Result setSubscriptionAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setSubscriptionAttributesAsync(array $args = []) + * @method \Aws\Result setTopicAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setTopicAttributesAsync(array $args = []) + * @method \Aws\Result subscribe(array $args = []) + * @method \GuzzleHttp\Promise\Promise subscribeAsync(array $args = []) + * @method \Aws\Result unsubscribe(array $args = []) + * @method \GuzzleHttp\Promise\Promise unsubscribeAsync(array $args = []) + */ +class SnsClient extends AwsClient {} diff --git a/lib/aws/Aws/Sqs/Exception/SqsException.php b/lib/aws/Aws/Sqs/Exception/SqsException.php new file mode 100644 index 0000000..e122c0d --- /dev/null +++ b/lib/aws/Aws/Sqs/Exception/SqsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sqs\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Simple Queue Service. + */ +class SqsException extends AwsException {} diff --git a/lib/aws/Aws/Sqs/SqsClient.php b/lib/aws/Aws/Sqs/SqsClient.php new file mode 100644 index 0000000..2a4da3c --- /dev/null +++ b/lib/aws/Aws/Sqs/SqsClient.php @@ -0,0 +1,256 @@ +<?php +namespace Aws\Sqs; + +use Aws\AwsClient; +use Aws\CommandInterface; +use Aws\Sqs\Exception\SqsException; +use GuzzleHttp\Psr7\Uri; +use GuzzleHttp\Psr7\UriResolver; +use Psr\Http\Message\RequestInterface; + +/** + * Client used to interact Amazon Simple Queue Service (Amazon SQS) + * + * @method \Aws\Result addPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise addPermissionAsync(array $args = []) + * @method \Aws\Result changeMessageVisibility(array $args = []) + * @method \GuzzleHttp\Promise\Promise changeMessageVisibilityAsync(array $args = []) + * @method \Aws\Result changeMessageVisibilityBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise changeMessageVisibilityBatchAsync(array $args = []) + * @method \Aws\Result createQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise createQueueAsync(array $args = []) + * @method \Aws\Result deleteMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMessageAsync(array $args = []) + * @method \Aws\Result deleteMessageBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMessageBatchAsync(array $args = []) + * @method \Aws\Result deleteQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteQueueAsync(array $args = []) + * @method \Aws\Result getQueueAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueueAttributesAsync(array $args = []) + * @method \Aws\Result getQueueUrl(array $args = []) + * @method \GuzzleHttp\Promise\Promise getQueueUrlAsync(array $args = []) + * @method \Aws\Result listDeadLetterSourceQueues(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDeadLetterSourceQueuesAsync(array $args = []) + * @method \Aws\Result listQueueTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQueueTagsAsync(array $args = []) + * @method \Aws\Result listQueues(array $args = []) + * @method \GuzzleHttp\Promise\Promise listQueuesAsync(array $args = []) + * @method \Aws\Result purgeQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise purgeQueueAsync(array $args = []) + * @method \Aws\Result receiveMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise receiveMessageAsync(array $args = []) + * @method \Aws\Result removePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removePermissionAsync(array $args = []) + * @method \Aws\Result sendMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendMessageAsync(array $args = []) + * @method \Aws\Result sendMessageBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendMessageBatchAsync(array $args = []) + * @method \Aws\Result setQueueAttributes(array $args = []) + * @method \GuzzleHttp\Promise\Promise setQueueAttributesAsync(array $args = []) + * @method \Aws\Result tagQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagQueueAsync(array $args = []) + * @method \Aws\Result untagQueue(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagQueueAsync(array $args = []) + */ +class SqsClient extends AwsClient +{ + public function __construct(array $config) + { + parent::__construct($config); + $list = $this->getHandlerList(); + $list->appendBuild($this->queueUrl(), 'sqs.queue_url'); + $list->appendSign($this->validateMd5(), 'sqs.md5'); + } + + /** + * Converts a queue URL into a queue ARN. + * + * @param string $queueUrl The queue URL to perform the action on. + * Retrieved when the queue is first created. + * + * @return string An ARN representation of the queue URL. + */ + public function getQueueArn($queueUrl) + { + $queueArn = strtr($queueUrl, array( + 'http://' => 'arn:aws:', + 'https://' => 'arn:aws:', + '.amazonaws.com' => '', + '/' => ':', + '.' => ':', + )); + + // Cope with SQS' .fifo / :fifo arn inconsistency + if (substr($queueArn, -5) === ':fifo') { + $queueArn = substr_replace($queueArn, '.fifo', -5); + } + return $queueArn; + } + + /** + * Moves the URI of the queue to the URI in the input parameter. + * + * @return callable + */ + private function queueUrl() + { + return static function (callable $handler) { + return function ( + CommandInterface $c, + RequestInterface $r = null + ) use ($handler) { + if ($c->hasParam('QueueUrl')) { + $r = $r->withUri(UriResolver::resolve( + $r->getUri(), + new Uri($c['QueueUrl']) + )); + } + return $handler($c, $r); + }; + }; + } + + /** + * Calculates the expected md5 hash of message attributes according to the encoding + * scheme detailed in SQS documentation. + * + * @param array $message Message containing attributes for validation. + * Retrieved when using MessageAttributeNames on + * ReceiveMessage. + * + * @return string|null The md5 hash of the message attributes according to + * the encoding scheme. Returns null when there are no + * attributes. + * @link http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation + */ + private static function calculateMessageAttributesMd5($message) + { + if (empty($message['MessageAttributes']) + || !is_array($message['MessageAttributes']) + ) { + return null; + } + + ksort($message['MessageAttributes']); + $attributeValues = ""; + foreach ($message['MessageAttributes'] as $name => $details) { + $attributeValues .= self::getEncodedStringPiece($name); + $attributeValues .= self::getEncodedStringPiece($details['DataType']); + if (substr($details['DataType'], 0, 6) === 'Binary') { + $attributeValues .= pack('c', 0x02); + $attributeValues .= self::getEncodedBinaryPiece( + $details['BinaryValue'] + ); + } else { + $attributeValues .= pack('c', 0x01); + $attributeValues .= self::getEncodedStringPiece( + $details['StringValue'] + ); + } + } + + return md5($attributeValues); + } + + private static function calculateBodyMd5($message) + { + return md5($message['Body']); + } + + private static function getEncodedStringPiece($piece) + { + $utf8Piece = iconv( + mb_detect_encoding($piece, mb_detect_order(), true), + "UTF-8", + $piece + ); + return self::getFourBytePieceLength($utf8Piece) . $utf8Piece; + } + + private static function getEncodedBinaryPiece($piece) + { + return self::getFourBytePieceLength($piece) . $piece; + } + + private static function getFourBytePieceLength($piece) + { + return pack('N', (int)strlen($piece)); + } + + /** + * Validates ReceiveMessage body and message attribute MD5s. + * + * @return callable + */ + private function validateMd5() + { + return static function (callable $handler) { + return function ( + CommandInterface $c, + RequestInterface $r = null + ) use ($handler) { + if ($c->getName() !== 'ReceiveMessage') { + return $handler($c, $r); + } + + return $handler($c, $r) + ->then( + function ($result) use ($c, $r) { + foreach ((array) $result['Messages'] as $msg) { + $bodyMd5 = self::calculateBodyMd5($msg); + if (isset($msg['MD5OfBody']) + && $bodyMd5 !== $msg['MD5OfBody'] + ) { + throw new SqsException( + sprintf( + 'MD5 mismatch. Expected %s, found %s', + $msg['MD5OfBody'], + $bodyMd5 + ), + $c, + [ + 'code' => 'ClientChecksumMismatch', + 'request' => $r + ] + ); + } + + if (isset($msg['MD5OfMessageAttributes'])) { + $messageAttributesMd5 = self::calculateMessageAttributesMd5($msg); + if ($messageAttributesMd5 !== $msg['MD5OfMessageAttributes']) { + throw new SqsException( + sprintf( + 'Attribute MD5 mismatch. Expected %s, found %s', + $msg['MD5OfMessageAttributes'], + $messageAttributesMd5 + ? $messageAttributesMd5 + : 'No Attributes' + ), + $c, + [ + 'code' => 'ClientChecksumMismatch', + 'request' => $r + ] + ); + } + } else if (isset($msg['MessageAttributes'])) { + throw new SqsException( + sprintf( + 'No Attribute MD5 found. Expected %s', + self::calculateMessageAttributesMd5($msg) + ), + $c, + [ + 'code' => 'ClientChecksumMismatch', + 'request' => $r + ] + ); + } + } + return $result; + } + ); + }; + }; + } +} diff --git a/lib/aws/Aws/Ssm/Exception/SsmException.php b/lib/aws/Aws/Ssm/Exception/SsmException.php new file mode 100644 index 0000000..123441d --- /dev/null +++ b/lib/aws/Aws/Ssm/Exception/SsmException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Ssm\Exception; + +use Aws\Exception\AwsException; + +/** + * Amazon EC2 Simple Systems Manager exception. + */ +class SsmException extends AwsException {} diff --git a/lib/aws/Aws/Ssm/SsmClient.php b/lib/aws/Aws/Ssm/SsmClient.php new file mode 100644 index 0000000..9e498c0 --- /dev/null +++ b/lib/aws/Aws/Ssm/SsmClient.php @@ -0,0 +1,238 @@ +<?php +namespace Aws\Ssm; + +use Aws\AwsClient; + +/** + * Amazon EC2 Simple Systems Manager client. + * + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result cancelCommand(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelCommandAsync(array $args = []) + * @method \Aws\Result cancelMaintenanceWindowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelMaintenanceWindowExecutionAsync(array $args = []) + * @method \Aws\Result createActivation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createActivationAsync(array $args = []) + * @method \Aws\Result createAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAssociationAsync(array $args = []) + * @method \Aws\Result createAssociationBatch(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAssociationBatchAsync(array $args = []) + * @method \Aws\Result createDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise createDocumentAsync(array $args = []) + * @method \Aws\Result createMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise createMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result createPatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise createPatchBaselineAsync(array $args = []) + * @method \Aws\Result createResourceDataSync(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceDataSyncAsync(array $args = []) + * @method \Aws\Result deleteActivation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteActivationAsync(array $args = []) + * @method \Aws\Result deleteAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAssociationAsync(array $args = []) + * @method \Aws\Result deleteDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDocumentAsync(array $args = []) + * @method \Aws\Result deleteInventory(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteInventoryAsync(array $args = []) + * @method \Aws\Result deleteMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result deleteParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteParameterAsync(array $args = []) + * @method \Aws\Result deleteParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteParametersAsync(array $args = []) + * @method \Aws\Result deletePatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePatchBaselineAsync(array $args = []) + * @method \Aws\Result deleteResourceDataSync(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceDataSyncAsync(array $args = []) + * @method \Aws\Result deregisterManagedInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterManagedInstanceAsync(array $args = []) + * @method \Aws\Result deregisterPatchBaselineForPatchGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterPatchBaselineForPatchGroupAsync(array $args = []) + * @method \Aws\Result deregisterTargetFromMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterTargetFromMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result deregisterTaskFromMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterTaskFromMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result describeActivations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeActivationsAsync(array $args = []) + * @method \Aws\Result describeAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssociationAsync(array $args = []) + * @method \Aws\Result describeAssociationExecutionTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssociationExecutionTargetsAsync(array $args = []) + * @method \Aws\Result describeAssociationExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAssociationExecutionsAsync(array $args = []) + * @method \Aws\Result describeAutomationExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAutomationExecutionsAsync(array $args = []) + * @method \Aws\Result describeAutomationStepExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAutomationStepExecutionsAsync(array $args = []) + * @method \Aws\Result describeAvailablePatches(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAvailablePatchesAsync(array $args = []) + * @method \Aws\Result describeDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDocumentAsync(array $args = []) + * @method \Aws\Result describeDocumentPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDocumentPermissionAsync(array $args = []) + * @method \Aws\Result describeEffectiveInstanceAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEffectiveInstanceAssociationsAsync(array $args = []) + * @method \Aws\Result describeEffectivePatchesForPatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeEffectivePatchesForPatchBaselineAsync(array $args = []) + * @method \Aws\Result describeInstanceAssociationsStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstanceAssociationsStatusAsync(array $args = []) + * @method \Aws\Result describeInstanceInformation(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstanceInformationAsync(array $args = []) + * @method \Aws\Result describeInstancePatchStates(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancePatchStatesAsync(array $args = []) + * @method \Aws\Result describeInstancePatchStatesForPatchGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancePatchStatesForPatchGroupAsync(array $args = []) + * @method \Aws\Result describeInstancePatches(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInstancePatchesAsync(array $args = []) + * @method \Aws\Result describeInventoryDeletions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeInventoryDeletionsAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowExecutionTaskInvocations(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowExecutionTaskInvocationsAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowExecutionTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowExecutionTasksAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowExecutionsAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowScheduleAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowTargetsAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowTasksAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindows(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowsAsync(array $args = []) + * @method \Aws\Result describeMaintenanceWindowsForTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceWindowsForTargetAsync(array $args = []) + * @method \Aws\Result describeParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeParametersAsync(array $args = []) + * @method \Aws\Result describePatchBaselines(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePatchBaselinesAsync(array $args = []) + * @method \Aws\Result describePatchGroupState(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePatchGroupStateAsync(array $args = []) + * @method \Aws\Result describePatchGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describePatchGroupsAsync(array $args = []) + * @method \Aws\Result describeSessions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSessionsAsync(array $args = []) + * @method \Aws\Result getAutomationExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getAutomationExecutionAsync(array $args = []) + * @method \Aws\Result getCommandInvocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCommandInvocationAsync(array $args = []) + * @method \Aws\Result getConnectionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getConnectionStatusAsync(array $args = []) + * @method \Aws\Result getDefaultPatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDefaultPatchBaselineAsync(array $args = []) + * @method \Aws\Result getDeployablePatchSnapshotForInstance(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDeployablePatchSnapshotForInstanceAsync(array $args = []) + * @method \Aws\Result getDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentAsync(array $args = []) + * @method \Aws\Result getInventory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInventoryAsync(array $args = []) + * @method \Aws\Result getInventorySchema(array $args = []) + * @method \GuzzleHttp\Promise\Promise getInventorySchemaAsync(array $args = []) + * @method \Aws\Result getMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result getMaintenanceWindowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMaintenanceWindowExecutionAsync(array $args = []) + * @method \Aws\Result getMaintenanceWindowExecutionTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMaintenanceWindowExecutionTaskAsync(array $args = []) + * @method \Aws\Result getMaintenanceWindowExecutionTaskInvocation(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMaintenanceWindowExecutionTaskInvocationAsync(array $args = []) + * @method \Aws\Result getMaintenanceWindowTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise getMaintenanceWindowTaskAsync(array $args = []) + * @method \Aws\Result getParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise getParameterAsync(array $args = []) + * @method \Aws\Result getParameterHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getParameterHistoryAsync(array $args = []) + * @method \Aws\Result getParameters(array $args = []) + * @method \GuzzleHttp\Promise\Promise getParametersAsync(array $args = []) + * @method \Aws\Result getParametersByPath(array $args = []) + * @method \GuzzleHttp\Promise\Promise getParametersByPathAsync(array $args = []) + * @method \Aws\Result getPatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPatchBaselineAsync(array $args = []) + * @method \Aws\Result getPatchBaselineForPatchGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPatchBaselineForPatchGroupAsync(array $args = []) + * @method \Aws\Result getServiceSetting(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceSettingAsync(array $args = []) + * @method \Aws\Result labelParameterVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise labelParameterVersionAsync(array $args = []) + * @method \Aws\Result listAssociationVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssociationVersionsAsync(array $args = []) + * @method \Aws\Result listAssociations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAssociationsAsync(array $args = []) + * @method \Aws\Result listCommandInvocations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCommandInvocationsAsync(array $args = []) + * @method \Aws\Result listCommands(array $args = []) + * @method \GuzzleHttp\Promise\Promise listCommandsAsync(array $args = []) + * @method \Aws\Result listComplianceItems(array $args = []) + * @method \GuzzleHttp\Promise\Promise listComplianceItemsAsync(array $args = []) + * @method \Aws\Result listComplianceSummaries(array $args = []) + * @method \GuzzleHttp\Promise\Promise listComplianceSummariesAsync(array $args = []) + * @method \Aws\Result listDocumentVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDocumentVersionsAsync(array $args = []) + * @method \Aws\Result listDocuments(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDocumentsAsync(array $args = []) + * @method \Aws\Result listInventoryEntries(array $args = []) + * @method \GuzzleHttp\Promise\Promise listInventoryEntriesAsync(array $args = []) + * @method \Aws\Result listResourceComplianceSummaries(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceComplianceSummariesAsync(array $args = []) + * @method \Aws\Result listResourceDataSync(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceDataSyncAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result modifyDocumentPermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyDocumentPermissionAsync(array $args = []) + * @method \Aws\Result putComplianceItems(array $args = []) + * @method \GuzzleHttp\Promise\Promise putComplianceItemsAsync(array $args = []) + * @method \Aws\Result putInventory(array $args = []) + * @method \GuzzleHttp\Promise\Promise putInventoryAsync(array $args = []) + * @method \Aws\Result putParameter(array $args = []) + * @method \GuzzleHttp\Promise\Promise putParameterAsync(array $args = []) + * @method \Aws\Result registerDefaultPatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerDefaultPatchBaselineAsync(array $args = []) + * @method \Aws\Result registerPatchBaselineForPatchGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerPatchBaselineForPatchGroupAsync(array $args = []) + * @method \Aws\Result registerTargetWithMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerTargetWithMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result registerTaskWithMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerTaskWithMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetServiceSetting(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetServiceSettingAsync(array $args = []) + * @method \Aws\Result resumeSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise resumeSessionAsync(array $args = []) + * @method \Aws\Result sendAutomationSignal(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendAutomationSignalAsync(array $args = []) + * @method \Aws\Result sendCommand(array $args = []) + * @method \GuzzleHttp\Promise\Promise sendCommandAsync(array $args = []) + * @method \Aws\Result startAssociationsOnce(array $args = []) + * @method \GuzzleHttp\Promise\Promise startAssociationsOnceAsync(array $args = []) + * @method \Aws\Result startAutomationExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startAutomationExecutionAsync(array $args = []) + * @method \Aws\Result startSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSessionAsync(array $args = []) + * @method \Aws\Result stopAutomationExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopAutomationExecutionAsync(array $args = []) + * @method \Aws\Result terminateSession(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateSessionAsync(array $args = []) + * @method \Aws\Result updateAssociation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAssociationAsync(array $args = []) + * @method \Aws\Result updateAssociationStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAssociationStatusAsync(array $args = []) + * @method \Aws\Result updateDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentAsync(array $args = []) + * @method \Aws\Result updateDocumentDefaultVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentDefaultVersionAsync(array $args = []) + * @method \Aws\Result updateMaintenanceWindow(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMaintenanceWindowAsync(array $args = []) + * @method \Aws\Result updateMaintenanceWindowTarget(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMaintenanceWindowTargetAsync(array $args = []) + * @method \Aws\Result updateMaintenanceWindowTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMaintenanceWindowTaskAsync(array $args = []) + * @method \Aws\Result updateManagedInstanceRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateManagedInstanceRoleAsync(array $args = []) + * @method \Aws\Result updatePatchBaseline(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePatchBaselineAsync(array $args = []) + * @method \Aws\Result updateServiceSetting(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServiceSettingAsync(array $args = []) + */ +class SsmClient extends AwsClient {} diff --git a/lib/aws/Aws/StorageGateway/Exception/StorageGatewayException.php b/lib/aws/Aws/StorageGateway/Exception/StorageGatewayException.php new file mode 100644 index 0000000..9243027 --- /dev/null +++ b/lib/aws/Aws/StorageGateway/Exception/StorageGatewayException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\StorageGateway\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the AWS Storage Gateway service. + */ +class StorageGatewayException extends AwsException {} diff --git a/lib/aws/Aws/StorageGateway/StorageGatewayClient.php b/lib/aws/Aws/StorageGateway/StorageGatewayClient.php new file mode 100644 index 0000000..4a4d156 --- /dev/null +++ b/lib/aws/Aws/StorageGateway/StorageGatewayClient.php @@ -0,0 +1,152 @@ +<?php +namespace Aws\StorageGateway; + +use Aws\AwsClient; + +/** + * AWS Storage Gateway client. + * + * @method \Aws\Result activateGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise activateGatewayAsync(array $args = []) + * @method \Aws\Result addCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise addCacheAsync(array $args = []) + * @method \Aws\Result addTagsToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise addTagsToResourceAsync(array $args = []) + * @method \Aws\Result addUploadBuffer(array $args = []) + * @method \GuzzleHttp\Promise\Promise addUploadBufferAsync(array $args = []) + * @method \Aws\Result addWorkingStorage(array $args = []) + * @method \GuzzleHttp\Promise\Promise addWorkingStorageAsync(array $args = []) + * @method \Aws\Result attachVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise attachVolumeAsync(array $args = []) + * @method \Aws\Result cancelArchival(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelArchivalAsync(array $args = []) + * @method \Aws\Result cancelRetrieval(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelRetrievalAsync(array $args = []) + * @method \Aws\Result createCachediSCSIVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCachediSCSIVolumeAsync(array $args = []) + * @method \Aws\Result createNFSFileShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNFSFileShareAsync(array $args = []) + * @method \Aws\Result createSMBFileShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSMBFileShareAsync(array $args = []) + * @method \Aws\Result createSnapshot(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotAsync(array $args = []) + * @method \Aws\Result createSnapshotFromVolumeRecoveryPoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSnapshotFromVolumeRecoveryPointAsync(array $args = []) + * @method \Aws\Result createStorediSCSIVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise createStorediSCSIVolumeAsync(array $args = []) + * @method \Aws\Result createTapeWithBarcode(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTapeWithBarcodeAsync(array $args = []) + * @method \Aws\Result createTapes(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTapesAsync(array $args = []) + * @method \Aws\Result deleteBandwidthRateLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteBandwidthRateLimitAsync(array $args = []) + * @method \Aws\Result deleteChapCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteChapCredentialsAsync(array $args = []) + * @method \Aws\Result deleteFileShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFileShareAsync(array $args = []) + * @method \Aws\Result deleteGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGatewayAsync(array $args = []) + * @method \Aws\Result deleteSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result deleteTape(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTapeAsync(array $args = []) + * @method \Aws\Result deleteTapeArchive(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTapeArchiveAsync(array $args = []) + * @method \Aws\Result deleteVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVolumeAsync(array $args = []) + * @method \Aws\Result describeBandwidthRateLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeBandwidthRateLimitAsync(array $args = []) + * @method \Aws\Result describeCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCacheAsync(array $args = []) + * @method \Aws\Result describeCachediSCSIVolumes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCachediSCSIVolumesAsync(array $args = []) + * @method \Aws\Result describeChapCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeChapCredentialsAsync(array $args = []) + * @method \Aws\Result describeGatewayInformation(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGatewayInformationAsync(array $args = []) + * @method \Aws\Result describeMaintenanceStartTime(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeMaintenanceStartTimeAsync(array $args = []) + * @method \Aws\Result describeNFSFileShares(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNFSFileSharesAsync(array $args = []) + * @method \Aws\Result describeSMBFileShares(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSMBFileSharesAsync(array $args = []) + * @method \Aws\Result describeSMBSettings(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSMBSettingsAsync(array $args = []) + * @method \Aws\Result describeSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result describeStorediSCSIVolumes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeStorediSCSIVolumesAsync(array $args = []) + * @method \Aws\Result describeTapeArchives(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTapeArchivesAsync(array $args = []) + * @method \Aws\Result describeTapeRecoveryPoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTapeRecoveryPointsAsync(array $args = []) + * @method \Aws\Result describeTapes(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTapesAsync(array $args = []) + * @method \Aws\Result describeUploadBuffer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUploadBufferAsync(array $args = []) + * @method \Aws\Result describeVTLDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeVTLDevicesAsync(array $args = []) + * @method \Aws\Result describeWorkingStorage(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkingStorageAsync(array $args = []) + * @method \Aws\Result detachVolume(array $args = []) + * @method \GuzzleHttp\Promise\Promise detachVolumeAsync(array $args = []) + * @method \Aws\Result disableGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise disableGatewayAsync(array $args = []) + * @method \Aws\Result joinDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise joinDomainAsync(array $args = []) + * @method \Aws\Result listFileShares(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFileSharesAsync(array $args = []) + * @method \Aws\Result listGateways(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = []) + * @method \Aws\Result listLocalDisks(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLocalDisksAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listTapes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTapesAsync(array $args = []) + * @method \Aws\Result listVolumeInitiators(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVolumeInitiatorsAsync(array $args = []) + * @method \Aws\Result listVolumeRecoveryPoints(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVolumeRecoveryPointsAsync(array $args = []) + * @method \Aws\Result listVolumes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVolumesAsync(array $args = []) + * @method \Aws\Result notifyWhenUploaded(array $args = []) + * @method \GuzzleHttp\Promise\Promise notifyWhenUploadedAsync(array $args = []) + * @method \Aws\Result refreshCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise refreshCacheAsync(array $args = []) + * @method \Aws\Result removeTagsFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeTagsFromResourceAsync(array $args = []) + * @method \Aws\Result resetCache(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetCacheAsync(array $args = []) + * @method \Aws\Result retrieveTapeArchive(array $args = []) + * @method \GuzzleHttp\Promise\Promise retrieveTapeArchiveAsync(array $args = []) + * @method \Aws\Result retrieveTapeRecoveryPoint(array $args = []) + * @method \GuzzleHttp\Promise\Promise retrieveTapeRecoveryPointAsync(array $args = []) + * @method \Aws\Result setLocalConsolePassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise setLocalConsolePasswordAsync(array $args = []) + * @method \Aws\Result setSMBGuestPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise setSMBGuestPasswordAsync(array $args = []) + * @method \Aws\Result shutdownGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise shutdownGatewayAsync(array $args = []) + * @method \Aws\Result startGateway(array $args = []) + * @method \GuzzleHttp\Promise\Promise startGatewayAsync(array $args = []) + * @method \Aws\Result updateBandwidthRateLimit(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateBandwidthRateLimitAsync(array $args = []) + * @method \Aws\Result updateChapCredentials(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateChapCredentialsAsync(array $args = []) + * @method \Aws\Result updateGatewayInformation(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGatewayInformationAsync(array $args = []) + * @method \Aws\Result updateGatewaySoftwareNow(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGatewaySoftwareNowAsync(array $args = []) + * @method \Aws\Result updateMaintenanceStartTime(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateMaintenanceStartTimeAsync(array $args = []) + * @method \Aws\Result updateNFSFileShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateNFSFileShareAsync(array $args = []) + * @method \Aws\Result updateSMBFileShare(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSMBFileShareAsync(array $args = []) + * @method \Aws\Result updateSnapshotSchedule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSnapshotScheduleAsync(array $args = []) + * @method \Aws\Result updateVTLDeviceType(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVTLDeviceTypeAsync(array $args = []) + */ +class StorageGatewayClient extends AwsClient {} diff --git a/lib/aws/Aws/Sts/Exception/StsException.php b/lib/aws/Aws/Sts/Exception/StsException.php new file mode 100644 index 0000000..81cff40 --- /dev/null +++ b/lib/aws/Aws/Sts/Exception/StsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Sts\Exception; + +use Aws\Exception\AwsException; + +/** + * AWS Security Token Service exception. + */ +class StsException extends AwsException {} diff --git a/lib/aws/Aws/Sts/StsClient.php b/lib/aws/Aws/Sts/StsClient.php new file mode 100644 index 0000000..794ebbd --- /dev/null +++ b/lib/aws/Aws/Sts/StsClient.php @@ -0,0 +1,53 @@ +<?php +namespace Aws\Sts; + +use Aws\AwsClient; +use Aws\Result; +use Aws\Credentials\Credentials; + +/** + * This client is used to interact with the **AWS Security Token Service (AWS STS)**. + * + * @method \Aws\Result assumeRole(array $args = []) + * @method \GuzzleHttp\Promise\Promise assumeRoleAsync(array $args = []) + * @method \Aws\Result assumeRoleWithSAML(array $args = []) + * @method \GuzzleHttp\Promise\Promise assumeRoleWithSAMLAsync(array $args = []) + * @method \Aws\Result assumeRoleWithWebIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise assumeRoleWithWebIdentityAsync(array $args = []) + * @method \Aws\Result decodeAuthorizationMessage(array $args = []) + * @method \GuzzleHttp\Promise\Promise decodeAuthorizationMessageAsync(array $args = []) + * @method \Aws\Result getCallerIdentity(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCallerIdentityAsync(array $args = []) + * @method \Aws\Result getFederationToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFederationTokenAsync(array $args = []) + * @method \Aws\Result getSessionToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSessionTokenAsync(array $args = []) + */ +class StsClient extends AwsClient +{ + /** + * Creates credentials from the result of an STS operations + * + * @param Result $result Result of an STS operation + * + * @return Credentials + * @throws \InvalidArgumentException if the result contains no credentials + */ + public function createCredentials(Result $result) + { + if (!$result->hasKey('Credentials')) { + throw new \InvalidArgumentException('Result contains no credentials'); + } + + $c = $result['Credentials']; + + return new Credentials( + $c['AccessKeyId'], + $c['SecretAccessKey'], + isset($c['SessionToken']) ? $c['SessionToken'] : null, + isset($c['Expiration']) && $c['Expiration'] instanceof \DateTimeInterface + ? (int) $c['Expiration']->format('U') + : null + ); + } +} diff --git a/lib/aws/Aws/Support/Exception/SupportException.php b/lib/aws/Aws/Support/Exception/SupportException.php new file mode 100644 index 0000000..662172b --- /dev/null +++ b/lib/aws/Aws/Support/Exception/SupportException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Support\Exception; + +use Aws\Exception\AwsException; + +/** + * AWS Support service exception. + */ +class SupportException extends AwsException {} diff --git a/lib/aws/Aws/Support/SupportClient.php b/lib/aws/Aws/Support/SupportClient.php new file mode 100644 index 0000000..8649876 --- /dev/null +++ b/lib/aws/Aws/Support/SupportClient.php @@ -0,0 +1,38 @@ +<?php +namespace Aws\Support; + +use Aws\AwsClient; + +/** + * AWS Support client. + * + * @method \Aws\Result addAttachmentsToSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise addAttachmentsToSetAsync(array $args = []) + * @method \Aws\Result addCommunicationToCase(array $args = []) + * @method \GuzzleHttp\Promise\Promise addCommunicationToCaseAsync(array $args = []) + * @method \Aws\Result createCase(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCaseAsync(array $args = []) + * @method \Aws\Result describeAttachment(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAttachmentAsync(array $args = []) + * @method \Aws\Result describeCases(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCasesAsync(array $args = []) + * @method \Aws\Result describeCommunications(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCommunicationsAsync(array $args = []) + * @method \Aws\Result describeServices(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServicesAsync(array $args = []) + * @method \Aws\Result describeSeverityLevels(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSeverityLevelsAsync(array $args = []) + * @method \Aws\Result describeTrustedAdvisorCheckRefreshStatuses(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrustedAdvisorCheckRefreshStatusesAsync(array $args = []) + * @method \Aws\Result describeTrustedAdvisorCheckResult(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrustedAdvisorCheckResultAsync(array $args = []) + * @method \Aws\Result describeTrustedAdvisorCheckSummaries(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrustedAdvisorCheckSummariesAsync(array $args = []) + * @method \Aws\Result describeTrustedAdvisorChecks(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTrustedAdvisorChecksAsync(array $args = []) + * @method \Aws\Result refreshTrustedAdvisorCheck(array $args = []) + * @method \GuzzleHttp\Promise\Promise refreshTrustedAdvisorCheckAsync(array $args = []) + * @method \Aws\Result resolveCase(array $args = []) + * @method \GuzzleHttp\Promise\Promise resolveCaseAsync(array $args = []) + */ +class SupportClient extends AwsClient {} diff --git a/lib/aws/Aws/Swf/Exception/SwfException.php b/lib/aws/Aws/Swf/Exception/SwfException.php new file mode 100644 index 0000000..4e636a6 --- /dev/null +++ b/lib/aws/Aws/Swf/Exception/SwfException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Swf\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the Amazon Simple Workflow Service. + */ +class SwfException extends AwsException {} diff --git a/lib/aws/Aws/Swf/SwfClient.php b/lib/aws/Aws/Swf/SwfClient.php new file mode 100644 index 0000000..06a3636 --- /dev/null +++ b/lib/aws/Aws/Swf/SwfClient.php @@ -0,0 +1,72 @@ +<?php +namespace Aws\Swf; + +use Aws\AwsClient; + +/** + * Amazon Simple Workflow Service (Amazon SWF) client. + * + * @method \Aws\Result countClosedWorkflowExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise countClosedWorkflowExecutionsAsync(array $args = []) + * @method \Aws\Result countOpenWorkflowExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise countOpenWorkflowExecutionsAsync(array $args = []) + * @method \Aws\Result countPendingActivityTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise countPendingActivityTasksAsync(array $args = []) + * @method \Aws\Result countPendingDecisionTasks(array $args = []) + * @method \GuzzleHttp\Promise\Promise countPendingDecisionTasksAsync(array $args = []) + * @method \Aws\Result deprecateActivityType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deprecateActivityTypeAsync(array $args = []) + * @method \Aws\Result deprecateDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise deprecateDomainAsync(array $args = []) + * @method \Aws\Result deprecateWorkflowType(array $args = []) + * @method \GuzzleHttp\Promise\Promise deprecateWorkflowTypeAsync(array $args = []) + * @method \Aws\Result describeActivityType(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeActivityTypeAsync(array $args = []) + * @method \Aws\Result describeDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDomainAsync(array $args = []) + * @method \Aws\Result describeWorkflowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkflowExecutionAsync(array $args = []) + * @method \Aws\Result describeWorkflowType(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkflowTypeAsync(array $args = []) + * @method \Aws\Result getWorkflowExecutionHistory(array $args = []) + * @method \GuzzleHttp\Promise\Promise getWorkflowExecutionHistoryAsync(array $args = []) + * @method \Aws\Result listActivityTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActivityTypesAsync(array $args = []) + * @method \Aws\Result listClosedWorkflowExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listClosedWorkflowExecutionsAsync(array $args = []) + * @method \Aws\Result listDomains(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDomainsAsync(array $args = []) + * @method \Aws\Result listOpenWorkflowExecutions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOpenWorkflowExecutionsAsync(array $args = []) + * @method \Aws\Result listWorkflowTypes(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWorkflowTypesAsync(array $args = []) + * @method \Aws\Result pollForActivityTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise pollForActivityTaskAsync(array $args = []) + * @method \Aws\Result pollForDecisionTask(array $args = []) + * @method \GuzzleHttp\Promise\Promise pollForDecisionTaskAsync(array $args = []) + * @method \Aws\Result recordActivityTaskHeartbeat(array $args = []) + * @method \GuzzleHttp\Promise\Promise recordActivityTaskHeartbeatAsync(array $args = []) + * @method \Aws\Result registerActivityType(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerActivityTypeAsync(array $args = []) + * @method \Aws\Result registerDomain(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerDomainAsync(array $args = []) + * @method \Aws\Result registerWorkflowType(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerWorkflowTypeAsync(array $args = []) + * @method \Aws\Result requestCancelWorkflowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise requestCancelWorkflowExecutionAsync(array $args = []) + * @method \Aws\Result respondActivityTaskCanceled(array $args = []) + * @method \GuzzleHttp\Promise\Promise respondActivityTaskCanceledAsync(array $args = []) + * @method \Aws\Result respondActivityTaskCompleted(array $args = []) + * @method \GuzzleHttp\Promise\Promise respondActivityTaskCompletedAsync(array $args = []) + * @method \Aws\Result respondActivityTaskFailed(array $args = []) + * @method \GuzzleHttp\Promise\Promise respondActivityTaskFailedAsync(array $args = []) + * @method \Aws\Result respondDecisionTaskCompleted(array $args = []) + * @method \GuzzleHttp\Promise\Promise respondDecisionTaskCompletedAsync(array $args = []) + * @method \Aws\Result signalWorkflowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise signalWorkflowExecutionAsync(array $args = []) + * @method \Aws\Result startWorkflowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise startWorkflowExecutionAsync(array $args = []) + * @method \Aws\Result terminateWorkflowExecution(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateWorkflowExecutionAsync(array $args = []) + */ +class SwfClient extends AwsClient {} diff --git a/lib/aws/Aws/Textract/Exception/TextractException.php b/lib/aws/Aws/Textract/Exception/TextractException.php new file mode 100644 index 0000000..20fc8de --- /dev/null +++ b/lib/aws/Aws/Textract/Exception/TextractException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Textract\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Textract** service. + */ +class TextractException extends AwsException {} diff --git a/lib/aws/Aws/Textract/TextractClient.php b/lib/aws/Aws/Textract/TextractClient.php new file mode 100644 index 0000000..03d6133 --- /dev/null +++ b/lib/aws/Aws/Textract/TextractClient.php @@ -0,0 +1,21 @@ +<?php +namespace Aws\Textract; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Textract** service. + * @method \Aws\Result analyzeDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise analyzeDocumentAsync(array $args = []) + * @method \Aws\Result detectDocumentText(array $args = []) + * @method \GuzzleHttp\Promise\Promise detectDocumentTextAsync(array $args = []) + * @method \Aws\Result getDocumentAnalysis(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentAnalysisAsync(array $args = []) + * @method \Aws\Result getDocumentTextDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentTextDetectionAsync(array $args = []) + * @method \Aws\Result startDocumentAnalysis(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDocumentAnalysisAsync(array $args = []) + * @method \Aws\Result startDocumentTextDetection(array $args = []) + * @method \GuzzleHttp\Promise\Promise startDocumentTextDetectionAsync(array $args = []) + */ +class TextractClient extends AwsClient {} diff --git a/lib/aws/Aws/TraceMiddleware.php b/lib/aws/Aws/TraceMiddleware.php new file mode 100644 index 0000000..8d9ed3c --- /dev/null +++ b/lib/aws/Aws/TraceMiddleware.php @@ -0,0 +1,314 @@ +<?php +namespace Aws; + +use Aws\Exception\AwsException; +use GuzzleHttp\Promise\RejectedPromise; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * Traces state changes between middlewares. + */ +class TraceMiddleware +{ + private $prevOutput; + private $prevInput; + private $config; + + private static $authHeaders = [ + 'X-Amz-Security-Token' => '[TOKEN]', + ]; + + private static $authStrings = [ + // S3Signature + '/AWSAccessKeyId=[A-Z0-9]{20}&/i' => 'AWSAccessKeyId=[KEY]&', + // SignatureV4 Signature and S3Signature + '/Signature=.+/i' => 'Signature=[SIGNATURE]', + // SignatureV4 access key ID + '/Credential=[A-Z0-9]{20}\//i' => 'Credential=[KEY]/', + // S3 signatures + '/AWS [A-Z0-9]{20}:.+/' => 'AWS AKI[KEY]:[SIGNATURE]', + // STS Presigned URLs + '/X-Amz-Security-Token=[^&]+/i' => 'X-Amz-Security-Token=[TOKEN]', + // Crypto *Stream Keys + '/\["key.{27,36}Stream.{9}\]=>\s+.{7}\d{2}\) "\X{16,64}"/U' => '["key":[CONTENT KEY]]', + ]; + + /** + * Configuration array can contain the following key value pairs. + * + * - logfn: (callable) Function that is invoked with log messages. By + * default, PHP's "echo" function will be utilized. + * - stream_size: (int) When the size of a stream is greater than this + * number, the stream data will not be logged. Set to "0" to not log any + * stream data. + * - scrub_auth: (bool) Set to false to disable the scrubbing of auth data + * from the logged messages. + * - http: (bool) Set to false to disable the "debug" feature of lower + * level HTTP adapters (e.g., verbose curl output). + * - auth_strings: (array) A mapping of authentication string regular + * expressions to scrubbed strings. These mappings are passed directly to + * preg_replace (e.g., preg_replace($key, $value, $debugOutput) if + * "scrub_auth" is set to true. + * - auth_headers: (array) A mapping of header names known to contain + * sensitive data to what the scrubbed value should be. The value of any + * headers contained in this array will be replaced with the if + * "scrub_auth" is set to true. + */ + public function __construct(array $config = []) + { + $this->config = $config + [ + 'logfn' => function ($value) { echo $value; }, + 'stream_size' => 524288, + 'scrub_auth' => true, + 'http' => true, + 'auth_strings' => [], + 'auth_headers' => [], + ]; + + $this->config['auth_strings'] += self::$authStrings; + $this->config['auth_headers'] += self::$authHeaders; + } + + public function __invoke($step, $name) + { + $this->prevOutput = $this->prevInput = []; + + return function (callable $next) use ($step, $name) { + return function ( + CommandInterface $command, + RequestInterface $request = null + ) use ($next, $step, $name) { + $this->createHttpDebug($command); + $start = microtime(true); + $this->stepInput([ + 'step' => $step, + 'name' => $name, + 'request' => $this->requestArray($request), + 'command' => $this->commandArray($command) + ]); + + return $next($command, $request)->then( + function ($value) use ($step, $name, $command, $start) { + $this->flushHttpDebug($command); + $this->stepOutput($start, [ + 'step' => $step, + 'name' => $name, + 'result' => $this->resultArray($value), + 'error' => null + ]); + return $value; + }, + function ($reason) use ($step, $name, $start, $command) { + $this->flushHttpDebug($command); + $this->stepOutput($start, [ + 'step' => $step, + 'name' => $name, + 'result' => null, + 'error' => $this->exceptionArray($reason) + ]); + return new RejectedPromise($reason); + } + ); + }; + }; + } + + private function stepInput($entry) + { + static $keys = ['command', 'request']; + $this->compareStep($this->prevInput, $entry, '-> Entering', $keys); + $this->write("\n"); + $this->prevInput = $entry; + } + + private function stepOutput($start, $entry) + { + static $keys = ['result', 'error']; + $this->compareStep($this->prevOutput, $entry, '<- Leaving', $keys); + $totalTime = microtime(true) - $start; + $this->write(" Inclusive step time: " . $totalTime . "\n\n"); + $this->prevOutput = $entry; + } + + private function compareStep(array $a, array $b, $title, array $keys) + { + $changes = []; + foreach ($keys as $key) { + $av = isset($a[$key]) ? $a[$key] : null; + $bv = isset($b[$key]) ? $b[$key] : null; + $this->compareArray($av, $bv, $key, $changes); + } + $str = "\n{$title} step {$b['step']}, name '{$b['name']}'"; + $str .= "\n" . str_repeat('-', strlen($str) - 1) . "\n\n "; + $str .= $changes + ? implode("\n ", str_replace("\n", "\n ", $changes)) + : 'no changes'; + $this->write($str . "\n"); + } + + private function commandArray(CommandInterface $cmd) + { + return [ + 'instance' => spl_object_hash($cmd), + 'name' => $cmd->getName(), + 'params' => $cmd->toArray() + ]; + } + + private function requestArray(RequestInterface $request = null) + { + return !$request ? [] : array_filter([ + 'instance' => spl_object_hash($request), + 'method' => $request->getMethod(), + 'headers' => $this->redactHeaders($request->getHeaders()), + 'body' => $this->streamStr($request->getBody()), + 'scheme' => $request->getUri()->getScheme(), + 'port' => $request->getUri()->getPort(), + 'path' => $request->getUri()->getPath(), + 'query' => $request->getUri()->getQuery(), + ]); + } + + private function responseArray(ResponseInterface $response = null) + { + return !$response ? [] : [ + 'instance' => spl_object_hash($response), + 'statusCode' => $response->getStatusCode(), + 'headers' => $this->redactHeaders($response->getHeaders()), + 'body' => $this->streamStr($response->getBody()) + ]; + } + + private function resultArray($value) + { + return $value instanceof ResultInterface + ? [ + 'instance' => spl_object_hash($value), + 'data' => $value->toArray() + ] : $value; + } + + private function exceptionArray($e) + { + if (!($e instanceof \Exception)) { + return $e; + } + + $result = [ + 'instance' => spl_object_hash($e), + 'class' => get_class($e), + 'message' => $e->getMessage(), + 'file' => $e->getFile(), + 'line' => $e->getLine(), + 'trace' => $e->getTraceAsString(), + ]; + + if ($e instanceof AwsException) { + $result += [ + 'type' => $e->getAwsErrorType(), + 'code' => $e->getAwsErrorCode(), + 'requestId' => $e->getAwsRequestId(), + 'statusCode' => $e->getStatusCode(), + 'result' => $this->resultArray($e->getResult()), + 'request' => $this->requestArray($e->getRequest()), + 'response' => $this->responseArray($e->getResponse()), + ]; + } + + return $result; + } + + private function compareArray($a, $b, $path, array &$diff) + { + if ($a === $b) { + return; + } + + if (is_array($a)) { + $b = (array) $b; + $keys = array_unique(array_merge(array_keys($a), array_keys($b))); + foreach ($keys as $k) { + if (!array_key_exists($k, $a)) { + $this->compareArray(null, $b[$k], "{$path}.{$k}", $diff); + } elseif (!array_key_exists($k, $b)) { + $this->compareArray($a[$k], null, "{$path}.{$k}", $diff); + } else { + $this->compareArray($a[$k], $b[$k], "{$path}.{$k}", $diff); + } + } + } elseif ($a !== null && $b === null) { + $diff[] = "{$path} was unset"; + } elseif ($a === null && $b !== null) { + $diff[] = sprintf("%s was set to %s", $path, $this->str($b)); + } else { + $diff[] = sprintf("%s changed from %s to %s", $path, $this->str($a), $this->str($b)); + } + } + + private function str($value) + { + if (is_scalar($value)) { + return (string) $value; + } + + if ($value instanceof \Exception) { + $value = $this->exceptionArray($value); + } + + ob_start(); + var_dump($value); + return ob_get_clean(); + } + + private function streamStr(StreamInterface $body) + { + return $body->getSize() < $this->config['stream_size'] + ? (string) $body + : 'stream(size=' . $body->getSize() . ')'; + } + + private function createHttpDebug(CommandInterface $command) + { + if ($this->config['http'] && !isset($command['@http']['debug'])) { + $command['@http']['debug'] = fopen('php://temp', 'w+'); + } + } + + private function flushHttpDebug(CommandInterface $command) + { + if ($res = $command['@http']['debug']) { + rewind($res); + $this->write(stream_get_contents($res)); + fclose($res); + $command['@http']['debug'] = null; + } + } + + private function write($value) + { + if ($this->config['scrub_auth']) { + foreach ($this->config['auth_strings'] as $pattern => $replacement) { + $value = preg_replace_callback( + $pattern, + function ($matches) use ($replacement) { + return $replacement; + }, + $value + ); + } + } + + call_user_func($this->config['logfn'], $value); + } + + private function redactHeaders(array $headers) + { + if ($this->config['scrub_auth']) { + $headers = $this->config['auth_headers'] + $headers; + } + + return $headers; + } +} diff --git a/lib/aws/Aws/TranscribeService/Exception/TranscribeServiceException.php b/lib/aws/Aws/TranscribeService/Exception/TranscribeServiceException.php new file mode 100644 index 0000000..7c9c48f --- /dev/null +++ b/lib/aws/Aws/TranscribeService/Exception/TranscribeServiceException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\TranscribeService\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Transcribe Service** service. + */ +class TranscribeServiceException extends AwsException {} diff --git a/lib/aws/Aws/TranscribeService/TranscribeServiceClient.php b/lib/aws/Aws/TranscribeService/TranscribeServiceClient.php new file mode 100644 index 0000000..532b79a --- /dev/null +++ b/lib/aws/Aws/TranscribeService/TranscribeServiceClient.php @@ -0,0 +1,27 @@ +<?php +namespace Aws\TranscribeService; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Transcribe Service** service. + * @method \Aws\Result createVocabulary(array $args = []) + * @method \GuzzleHttp\Promise\Promise createVocabularyAsync(array $args = []) + * @method \Aws\Result deleteTranscriptionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTranscriptionJobAsync(array $args = []) + * @method \Aws\Result deleteVocabulary(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteVocabularyAsync(array $args = []) + * @method \Aws\Result getTranscriptionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTranscriptionJobAsync(array $args = []) + * @method \Aws\Result getVocabulary(array $args = []) + * @method \GuzzleHttp\Promise\Promise getVocabularyAsync(array $args = []) + * @method \Aws\Result listTranscriptionJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTranscriptionJobsAsync(array $args = []) + * @method \Aws\Result listVocabularies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listVocabulariesAsync(array $args = []) + * @method \Aws\Result startTranscriptionJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startTranscriptionJobAsync(array $args = []) + * @method \Aws\Result updateVocabulary(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateVocabularyAsync(array $args = []) + */ +class TranscribeServiceClient extends AwsClient {} diff --git a/lib/aws/Aws/Transfer/Exception/TransferException.php b/lib/aws/Aws/Transfer/Exception/TransferException.php new file mode 100644 index 0000000..eac6c8f --- /dev/null +++ b/lib/aws/Aws/Transfer/Exception/TransferException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Transfer\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Transfer for SFTP** service. + */ +class TransferException extends AwsException {} diff --git a/lib/aws/Aws/Transfer/TransferClient.php b/lib/aws/Aws/Transfer/TransferClient.php new file mode 100644 index 0000000..70cec18 --- /dev/null +++ b/lib/aws/Aws/Transfer/TransferClient.php @@ -0,0 +1,45 @@ +<?php +namespace Aws\Transfer; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Transfer for SFTP** service. + * @method \Aws\Result createServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise createServerAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteServerAsync(array $args = []) + * @method \Aws\Result deleteSshPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSshPublicKeyAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result describeServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeServerAsync(array $args = []) + * @method \Aws\Result describeUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = []) + * @method \Aws\Result importSshPublicKey(array $args = []) + * @method \GuzzleHttp\Promise\Promise importSshPublicKeyAsync(array $args = []) + * @method \Aws\Result listServers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listServersAsync(array $args = []) + * @method \Aws\Result listTagsForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result startServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise startServerAsync(array $args = []) + * @method \Aws\Result stopServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopServerAsync(array $args = []) + * @method \Aws\Result tagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = []) + * @method \Aws\Result testIdentityProvider(array $args = []) + * @method \GuzzleHttp\Promise\Promise testIdentityProviderAsync(array $args = []) + * @method \Aws\Result untagResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = []) + * @method \Aws\Result updateServer(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateServerAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + */ +class TransferClient extends AwsClient {} diff --git a/lib/aws/Aws/Translate/Exception/TranslateException.php b/lib/aws/Aws/Translate/Exception/TranslateException.php new file mode 100644 index 0000000..616ebfb --- /dev/null +++ b/lib/aws/Aws/Translate/Exception/TranslateException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Translate\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon Translate** service. + */ +class TranslateException extends AwsException {} diff --git a/lib/aws/Aws/Translate/TranslateClient.php b/lib/aws/Aws/Translate/TranslateClient.php new file mode 100644 index 0000000..1b208d8 --- /dev/null +++ b/lib/aws/Aws/Translate/TranslateClient.php @@ -0,0 +1,19 @@ +<?php +namespace Aws\Translate; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon Translate** service. + * @method \Aws\Result deleteTerminology(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTerminologyAsync(array $args = []) + * @method \Aws\Result getTerminology(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTerminologyAsync(array $args = []) + * @method \Aws\Result importTerminology(array $args = []) + * @method \GuzzleHttp\Promise\Promise importTerminologyAsync(array $args = []) + * @method \Aws\Result listTerminologies(array $args = []) + * @method \GuzzleHttp\Promise\Promise listTerminologiesAsync(array $args = []) + * @method \Aws\Result translateText(array $args = []) + * @method \GuzzleHttp\Promise\Promise translateTextAsync(array $args = []) + */ +class TranslateClient extends AwsClient {} diff --git a/lib/aws/Aws/Waf/Exception/WafException.php b/lib/aws/Aws/Waf/Exception/WafException.php new file mode 100644 index 0000000..9a2c44f --- /dev/null +++ b/lib/aws/Aws/Waf/Exception/WafException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\Waf\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS WAF** service. + */ +class WafException extends AwsException {} diff --git a/lib/aws/Aws/Waf/WafClient.php b/lib/aws/Aws/Waf/WafClient.php new file mode 100644 index 0000000..7e771be --- /dev/null +++ b/lib/aws/Aws/Waf/WafClient.php @@ -0,0 +1,156 @@ +<?php +namespace Aws\Waf; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS WAF** service. + * + * @method \Aws\Result createByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createByteMatchSetAsync(array $args = []) + * @method \Aws\Result createGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGeoMatchSetAsync(array $args = []) + * @method \Aws\Result createIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIPSetAsync(array $args = []) + * @method \Aws\Result createRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRateBasedRuleAsync(array $args = []) + * @method \Aws\Result createRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRegexMatchSetAsync(array $args = []) + * @method \Aws\Result createRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRegexPatternSetAsync(array $args = []) + * @method \Aws\Result createRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRuleAsync(array $args = []) + * @method \Aws\Result createRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRuleGroupAsync(array $args = []) + * @method \Aws\Result createSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result createSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result createWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWebACLAsync(array $args = []) + * @method \Aws\Result createXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createXssMatchSetAsync(array $args = []) + * @method \Aws\Result deleteByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteByteMatchSetAsync(array $args = []) + * @method \Aws\Result deleteGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGeoMatchSetAsync(array $args = []) + * @method \Aws\Result deleteIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIPSetAsync(array $args = []) + * @method \Aws\Result deleteLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result deletePermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePermissionPolicyAsync(array $args = []) + * @method \Aws\Result deleteRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRateBasedRuleAsync(array $args = []) + * @method \Aws\Result deleteRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRegexMatchSetAsync(array $args = []) + * @method \Aws\Result deleteRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRegexPatternSetAsync(array $args = []) + * @method \Aws\Result deleteRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = []) + * @method \Aws\Result deleteRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleGroupAsync(array $args = []) + * @method \Aws\Result deleteSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result deleteSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result deleteWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWebACLAsync(array $args = []) + * @method \Aws\Result deleteXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteXssMatchSetAsync(array $args = []) + * @method \Aws\Result getByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getByteMatchSetAsync(array $args = []) + * @method \Aws\Result getChangeToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChangeTokenAsync(array $args = []) + * @method \Aws\Result getChangeTokenStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChangeTokenStatusAsync(array $args = []) + * @method \Aws\Result getGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGeoMatchSetAsync(array $args = []) + * @method \Aws\Result getIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = []) + * @method \Aws\Result getLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result getPermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPermissionPolicyAsync(array $args = []) + * @method \Aws\Result getRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRateBasedRuleAsync(array $args = []) + * @method \Aws\Result getRateBasedRuleManagedKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRateBasedRuleManagedKeysAsync(array $args = []) + * @method \Aws\Result getRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegexMatchSetAsync(array $args = []) + * @method \Aws\Result getRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegexPatternSetAsync(array $args = []) + * @method \Aws\Result getRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRuleAsync(array $args = []) + * @method \Aws\Result getRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRuleGroupAsync(array $args = []) + * @method \Aws\Result getSampledRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSampledRequestsAsync(array $args = []) + * @method \Aws\Result getSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result getSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result getWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise getWebACLAsync(array $args = []) + * @method \Aws\Result getXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getXssMatchSetAsync(array $args = []) + * @method \Aws\Result listActivatedRulesInRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActivatedRulesInRuleGroupAsync(array $args = []) + * @method \Aws\Result listByteMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listByteMatchSetsAsync(array $args = []) + * @method \Aws\Result listGeoMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGeoMatchSetsAsync(array $args = []) + * @method \Aws\Result listIPSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = []) + * @method \Aws\Result listLoggingConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLoggingConfigurationsAsync(array $args = []) + * @method \Aws\Result listRateBasedRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRateBasedRulesAsync(array $args = []) + * @method \Aws\Result listRegexMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRegexMatchSetsAsync(array $args = []) + * @method \Aws\Result listRegexPatternSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRegexPatternSetsAsync(array $args = []) + * @method \Aws\Result listRuleGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRuleGroupsAsync(array $args = []) + * @method \Aws\Result listRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRulesAsync(array $args = []) + * @method \Aws\Result listSizeConstraintSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSizeConstraintSetsAsync(array $args = []) + * @method \Aws\Result listSqlInjectionMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSqlInjectionMatchSetsAsync(array $args = []) + * @method \Aws\Result listSubscribedRuleGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscribedRuleGroupsAsync(array $args = []) + * @method \Aws\Result listWebACLs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWebACLsAsync(array $args = []) + * @method \Aws\Result listXssMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listXssMatchSetsAsync(array $args = []) + * @method \Aws\Result putLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result putPermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPermissionPolicyAsync(array $args = []) + * @method \Aws\Result updateByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateByteMatchSetAsync(array $args = []) + * @method \Aws\Result updateGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGeoMatchSetAsync(array $args = []) + * @method \Aws\Result updateIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIPSetAsync(array $args = []) + * @method \Aws\Result updateRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRateBasedRuleAsync(array $args = []) + * @method \Aws\Result updateRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRegexMatchSetAsync(array $args = []) + * @method \Aws\Result updateRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRegexPatternSetAsync(array $args = []) + * @method \Aws\Result updateRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRuleAsync(array $args = []) + * @method \Aws\Result updateRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRuleGroupAsync(array $args = []) + * @method \Aws\Result updateSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result updateSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result updateWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateWebACLAsync(array $args = []) + * @method \Aws\Result updateXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateXssMatchSetAsync(array $args = []) + */ +class WafClient extends AwsClient {} diff --git a/lib/aws/Aws/WafRegional/Exception/WafRegionalException.php b/lib/aws/Aws/WafRegional/Exception/WafRegionalException.php new file mode 100644 index 0000000..e687e91 --- /dev/null +++ b/lib/aws/Aws/WafRegional/Exception/WafRegionalException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\WafRegional\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS WAF Regional** service. + */ +class WafRegionalException extends AwsException {} diff --git a/lib/aws/Aws/WafRegional/WafRegionalClient.php b/lib/aws/Aws/WafRegional/WafRegionalClient.php new file mode 100644 index 0000000..9109416 --- /dev/null +++ b/lib/aws/Aws/WafRegional/WafRegionalClient.php @@ -0,0 +1,163 @@ +<?php +namespace Aws\WafRegional; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS WAF Regional** service. + * @method \Aws\Result associateWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateWebACLAsync(array $args = []) + * @method \Aws\Result createByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createByteMatchSetAsync(array $args = []) + * @method \Aws\Result createGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGeoMatchSetAsync(array $args = []) + * @method \Aws\Result createIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIPSetAsync(array $args = []) + * @method \Aws\Result createRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRateBasedRuleAsync(array $args = []) + * @method \Aws\Result createRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRegexMatchSetAsync(array $args = []) + * @method \Aws\Result createRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRegexPatternSetAsync(array $args = []) + * @method \Aws\Result createRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRuleAsync(array $args = []) + * @method \Aws\Result createRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createRuleGroupAsync(array $args = []) + * @method \Aws\Result createSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result createSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result createWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWebACLAsync(array $args = []) + * @method \Aws\Result createXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createXssMatchSetAsync(array $args = []) + * @method \Aws\Result deleteByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteByteMatchSetAsync(array $args = []) + * @method \Aws\Result deleteGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGeoMatchSetAsync(array $args = []) + * @method \Aws\Result deleteIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIPSetAsync(array $args = []) + * @method \Aws\Result deleteLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result deletePermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise deletePermissionPolicyAsync(array $args = []) + * @method \Aws\Result deleteRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRateBasedRuleAsync(array $args = []) + * @method \Aws\Result deleteRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRegexMatchSetAsync(array $args = []) + * @method \Aws\Result deleteRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRegexPatternSetAsync(array $args = []) + * @method \Aws\Result deleteRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleAsync(array $args = []) + * @method \Aws\Result deleteRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteRuleGroupAsync(array $args = []) + * @method \Aws\Result deleteSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result deleteSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result deleteWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWebACLAsync(array $args = []) + * @method \Aws\Result deleteXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteXssMatchSetAsync(array $args = []) + * @method \Aws\Result disassociateWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateWebACLAsync(array $args = []) + * @method \Aws\Result getByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getByteMatchSetAsync(array $args = []) + * @method \Aws\Result getChangeToken(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChangeTokenAsync(array $args = []) + * @method \Aws\Result getChangeTokenStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise getChangeTokenStatusAsync(array $args = []) + * @method \Aws\Result getGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGeoMatchSetAsync(array $args = []) + * @method \Aws\Result getIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = []) + * @method \Aws\Result getLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise getLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result getPermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise getPermissionPolicyAsync(array $args = []) + * @method \Aws\Result getRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRateBasedRuleAsync(array $args = []) + * @method \Aws\Result getRateBasedRuleManagedKeys(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRateBasedRuleManagedKeysAsync(array $args = []) + * @method \Aws\Result getRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegexMatchSetAsync(array $args = []) + * @method \Aws\Result getRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRegexPatternSetAsync(array $args = []) + * @method \Aws\Result getRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRuleAsync(array $args = []) + * @method \Aws\Result getRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getRuleGroupAsync(array $args = []) + * @method \Aws\Result getSampledRequests(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSampledRequestsAsync(array $args = []) + * @method \Aws\Result getSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result getSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result getWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise getWebACLAsync(array $args = []) + * @method \Aws\Result getWebACLForResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise getWebACLForResourceAsync(array $args = []) + * @method \Aws\Result getXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise getXssMatchSetAsync(array $args = []) + * @method \Aws\Result listActivatedRulesInRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise listActivatedRulesInRuleGroupAsync(array $args = []) + * @method \Aws\Result listByteMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listByteMatchSetsAsync(array $args = []) + * @method \Aws\Result listGeoMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGeoMatchSetsAsync(array $args = []) + * @method \Aws\Result listIPSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = []) + * @method \Aws\Result listLoggingConfigurations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listLoggingConfigurationsAsync(array $args = []) + * @method \Aws\Result listRateBasedRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRateBasedRulesAsync(array $args = []) + * @method \Aws\Result listRegexMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRegexMatchSetsAsync(array $args = []) + * @method \Aws\Result listRegexPatternSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRegexPatternSetsAsync(array $args = []) + * @method \Aws\Result listResourcesForWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourcesForWebACLAsync(array $args = []) + * @method \Aws\Result listRuleGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRuleGroupsAsync(array $args = []) + * @method \Aws\Result listRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise listRulesAsync(array $args = []) + * @method \Aws\Result listSizeConstraintSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSizeConstraintSetsAsync(array $args = []) + * @method \Aws\Result listSqlInjectionMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSqlInjectionMatchSetsAsync(array $args = []) + * @method \Aws\Result listSubscribedRuleGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSubscribedRuleGroupsAsync(array $args = []) + * @method \Aws\Result listWebACLs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWebACLsAsync(array $args = []) + * @method \Aws\Result listXssMatchSets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listXssMatchSetsAsync(array $args = []) + * @method \Aws\Result putLoggingConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise putLoggingConfigurationAsync(array $args = []) + * @method \Aws\Result putPermissionPolicy(array $args = []) + * @method \GuzzleHttp\Promise\Promise putPermissionPolicyAsync(array $args = []) + * @method \Aws\Result updateByteMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateByteMatchSetAsync(array $args = []) + * @method \Aws\Result updateGeoMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGeoMatchSetAsync(array $args = []) + * @method \Aws\Result updateIPSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIPSetAsync(array $args = []) + * @method \Aws\Result updateRateBasedRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRateBasedRuleAsync(array $args = []) + * @method \Aws\Result updateRegexMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRegexMatchSetAsync(array $args = []) + * @method \Aws\Result updateRegexPatternSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRegexPatternSetAsync(array $args = []) + * @method \Aws\Result updateRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRuleAsync(array $args = []) + * @method \Aws\Result updateRuleGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRuleGroupAsync(array $args = []) + * @method \Aws\Result updateSizeConstraintSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSizeConstraintSetAsync(array $args = []) + * @method \Aws\Result updateSqlInjectionMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSqlInjectionMatchSetAsync(array $args = []) + * @method \Aws\Result updateWebACL(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateWebACLAsync(array $args = []) + * @method \Aws\Result updateXssMatchSet(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateXssMatchSetAsync(array $args = []) + */ +class WafRegionalClient extends AwsClient {} diff --git a/lib/aws/Aws/Waiter.php b/lib/aws/Aws/Waiter.php new file mode 100644 index 0000000..465cfc7 --- /dev/null +++ b/lib/aws/Aws/Waiter.php @@ -0,0 +1,262 @@ +<?php +namespace Aws; + +use Aws\Exception\AwsException; +use GuzzleHttp\Promise; +use GuzzleHttp\Promise\PromisorInterface; +use GuzzleHttp\Promise\RejectedPromise; + +/** + * "Waiters" are associated with an AWS resource (e.g., EC2 instance), and poll + * that resource and until it is in a particular state. + + * The Waiter object produces a promise that is either a.) resolved once the + * waiting conditions are met, or b.) rejected if the waiting conditions cannot + * be met or has exceeded the number of allowed attempts at meeting the + * conditions. You can use waiters in a blocking or non-blocking way, depending + * on whether you call wait() on the promise. + + * The configuration for the waiter must include information about the operation + * and the conditions for wait completion. + */ +class Waiter implements PromisorInterface +{ + /** @var AwsClientInterface Client used to execute each attempt. */ + private $client; + + /** @var string Name of the waiter. */ + private $name; + + /** @var array Params to use with each attempt operation. */ + private $args; + + /** @var array Waiter configuration. */ + private $config; + + /** @var array Default configuration options. */ + private static $defaults = ['initDelay' => 0, 'before' => null]; + + /** @var array Required configuration options. */ + private static $required = [ + 'acceptors', + 'delay', + 'maxAttempts', + 'operation', + ]; + + /** + * The array of configuration options include: + * + * - acceptors: (array) Array of acceptor options + * - delay: (int) Number of seconds to delay between attempts + * - maxAttempts: (int) Maximum number of attempts before failing + * - operation: (string) Name of the API operation to use for polling + * - before: (callable) Invoked before attempts. Accepts command and tries. + * + * @param AwsClientInterface $client Client used to execute commands. + * @param string $name Waiter name. + * @param array $args Command arguments. + * @param array $config Waiter config that overrides defaults. + * + * @throws \InvalidArgumentException if the configuration is incomplete. + */ + public function __construct( + AwsClientInterface $client, + $name, + array $args = [], + array $config = [] + ) { + $this->client = $client; + $this->name = $name; + $this->args = $args; + + // Prepare and validate config. + $this->config = $config + self::$defaults; + foreach (self::$required as $key) { + if (!isset($this->config[$key])) { + throw new \InvalidArgumentException( + 'The provided waiter configuration was incomplete.' + ); + } + } + if ($this->config['before'] && !is_callable($this->config['before'])) { + throw new \InvalidArgumentException( + 'The provided "before" callback is not callable.' + ); + } + } + + public function promise() + { + return Promise\coroutine(function () { + $name = $this->config['operation']; + for ($state = 'retry', $attempt = 1; $state === 'retry'; $attempt++) { + // Execute the operation. + $args = $this->getArgsForAttempt($attempt); + $command = $this->client->getCommand($name, $args); + try { + if ($this->config['before']) { + $this->config['before']($command, $attempt); + } + $result = (yield $this->client->executeAsync($command)); + } catch (AwsException $e) { + $result = $e; + } + + // Determine the waiter's state and what to do next. + $state = $this->determineState($result); + if ($state === 'success') { + yield $command; + } elseif ($state === 'failed') { + $msg = "The {$this->name} waiter entered a failure state."; + if ($result instanceof \Exception) { + $msg .= ' Reason: ' . $result->getMessage(); + } + yield new RejectedPromise(new \RuntimeException($msg)); + } elseif ($state === 'retry' + && $attempt >= $this->config['maxAttempts'] + ) { + $state = 'failed'; + yield new RejectedPromise(new \RuntimeException( + "The {$this->name} waiter failed after attempt #{$attempt}." + )); + } + } + }); + } + + /** + * Gets the operation arguments for the attempt, including the delay. + * + * @param $attempt Number of the current attempt. + * + * @return mixed integer + */ + private function getArgsForAttempt($attempt) + { + $args = $this->args; + + // Determine the delay. + $delay = ($attempt === 1) + ? $this->config['initDelay'] + : $this->config['delay']; + if (is_callable($delay)) { + $delay = $delay($attempt); + } + + // Set the delay. (Note: handlers except delay in milliseconds.) + if (!isset($args['@http'])) { + $args['@http'] = []; + } + $args['@http']['delay'] = $delay * 1000; + + return $args; + } + + /** + * Determines the state of the waiter attempt, based on the result of + * polling the resource. A waiter can have the state of "success", "failed", + * or "retry". + * + * @param mixed $result + * + * @return string Will be "success", "failed", or "retry" + */ + private function determineState($result) + { + foreach ($this->config['acceptors'] as $acceptor) { + $matcher = 'matches' . ucfirst($acceptor['matcher']); + if ($this->{$matcher}($result, $acceptor)) { + return $acceptor['state']; + } + } + + return $result instanceof \Exception ? 'failed' : 'retry'; + } + + /** + * @param Result $result Result or exception. + * @param array $acceptor Acceptor configuration being checked. + * + * @return bool + */ + private function matchesPath($result, array $acceptor) + { + return !($result instanceof ResultInterface) + ? false + : $acceptor['expected'] == $result->search($acceptor['argument']); + } + + /** + * @param Result $result Result or exception. + * @param array $acceptor Acceptor configuration being checked. + * + * @return bool + */ + private function matchesPathAll($result, array $acceptor) + { + if (!($result instanceof ResultInterface)) { + return false; + } + + $actuals = $result->search($acceptor['argument']) ?: []; + foreach ($actuals as $actual) { + if ($actual != $acceptor['expected']) { + return false; + } + } + + return true; + } + + /** + * @param Result $result Result or exception. + * @param array $acceptor Acceptor configuration being checked. + * + * @return bool + */ + private function matchesPathAny($result, array $acceptor) + { + if (!($result instanceof ResultInterface)) { + return false; + } + + $actuals = $result->search($acceptor['argument']) ?: []; + return in_array($acceptor['expected'], $actuals); + } + + /** + * @param Result $result Result or exception. + * @param array $acceptor Acceptor configuration being checked. + * + * @return bool + */ + private function matchesStatus($result, array $acceptor) + { + if ($result instanceof ResultInterface) { + return $acceptor['expected'] == $result['@metadata']['statusCode']; + } + + if ($result instanceof AwsException && $response = $result->getResponse()) { + return $acceptor['expected'] == $response->getStatusCode(); + } + + return false; + } + + /** + * @param Result $result Result or exception. + * @param array $acceptor Acceptor configuration being checked. + * + * @return bool + */ + private function matchesError($result, array $acceptor) + { + if ($result instanceof AwsException) { + return $result->isConnectionError() + || $result->getAwsErrorCode() == $acceptor['expected']; + } + + return false; + } +} diff --git a/lib/aws/Aws/WorkDocs/Exception/WorkDocsException.php b/lib/aws/Aws/WorkDocs/Exception/WorkDocsException.php new file mode 100644 index 0000000..d58f0da --- /dev/null +++ b/lib/aws/Aws/WorkDocs/Exception/WorkDocsException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\WorkDocs\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon WorkDocs** service. + */ +class WorkDocsException extends AwsException {} diff --git a/lib/aws/Aws/WorkDocs/WorkDocsClient.php b/lib/aws/Aws/WorkDocs/WorkDocsClient.php new file mode 100644 index 0000000..74b9a04 --- /dev/null +++ b/lib/aws/Aws/WorkDocs/WorkDocsClient.php @@ -0,0 +1,91 @@ +<?php +namespace Aws\WorkDocs; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon WorkDocs** service. + * @method \Aws\Result abortDocumentVersionUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise abortDocumentVersionUploadAsync(array $args = []) + * @method \Aws\Result activateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise activateUserAsync(array $args = []) + * @method \Aws\Result addResourcePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise addResourcePermissionsAsync(array $args = []) + * @method \Aws\Result createComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCommentAsync(array $args = []) + * @method \Aws\Result createCustomMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise createCustomMetadataAsync(array $args = []) + * @method \Aws\Result createFolder(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFolderAsync(array $args = []) + * @method \Aws\Result createLabels(array $args = []) + * @method \GuzzleHttp\Promise\Promise createLabelsAsync(array $args = []) + * @method \Aws\Result createNotificationSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise createNotificationSubscriptionAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deactivateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deactivateUserAsync(array $args = []) + * @method \Aws\Result deleteComment(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCommentAsync(array $args = []) + * @method \Aws\Result deleteCustomMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteCustomMetadataAsync(array $args = []) + * @method \Aws\Result deleteDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteDocumentAsync(array $args = []) + * @method \Aws\Result deleteFolder(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFolderAsync(array $args = []) + * @method \Aws\Result deleteFolderContents(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFolderContentsAsync(array $args = []) + * @method \Aws\Result deleteLabels(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteLabelsAsync(array $args = []) + * @method \Aws\Result deleteNotificationSubscription(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteNotificationSubscriptionAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result describeActivities(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeActivitiesAsync(array $args = []) + * @method \Aws\Result describeComments(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCommentsAsync(array $args = []) + * @method \Aws\Result describeDocumentVersions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDocumentVersionsAsync(array $args = []) + * @method \Aws\Result describeFolderContents(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFolderContentsAsync(array $args = []) + * @method \Aws\Result describeGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGroupsAsync(array $args = []) + * @method \Aws\Result describeNotificationSubscriptions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeNotificationSubscriptionsAsync(array $args = []) + * @method \Aws\Result describeResourcePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResourcePermissionsAsync(array $args = []) + * @method \Aws\Result describeRootFolders(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeRootFoldersAsync(array $args = []) + * @method \Aws\Result describeUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUsersAsync(array $args = []) + * @method \Aws\Result getCurrentUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise getCurrentUserAsync(array $args = []) + * @method \Aws\Result getDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentAsync(array $args = []) + * @method \Aws\Result getDocumentPath(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentPathAsync(array $args = []) + * @method \Aws\Result getDocumentVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise getDocumentVersionAsync(array $args = []) + * @method \Aws\Result getFolder(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFolderAsync(array $args = []) + * @method \Aws\Result getFolderPath(array $args = []) + * @method \GuzzleHttp\Promise\Promise getFolderPathAsync(array $args = []) + * @method \Aws\Result getResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise getResourcesAsync(array $args = []) + * @method \Aws\Result initiateDocumentVersionUpload(array $args = []) + * @method \GuzzleHttp\Promise\Promise initiateDocumentVersionUploadAsync(array $args = []) + * @method \Aws\Result removeAllResourcePermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeAllResourcePermissionsAsync(array $args = []) + * @method \Aws\Result removeResourcePermission(array $args = []) + * @method \GuzzleHttp\Promise\Promise removeResourcePermissionAsync(array $args = []) + * @method \Aws\Result updateDocument(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentAsync(array $args = []) + * @method \Aws\Result updateDocumentVersion(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDocumentVersionAsync(array $args = []) + * @method \Aws\Result updateFolder(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFolderAsync(array $args = []) + * @method \Aws\Result updateUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateUserAsync(array $args = []) + */ +class WorkDocsClient extends AwsClient {} diff --git a/lib/aws/Aws/WorkLink/Exception/WorkLinkException.php b/lib/aws/Aws/WorkLink/Exception/WorkLinkException.php new file mode 100644 index 0000000..6696675 --- /dev/null +++ b/lib/aws/Aws/WorkLink/Exception/WorkLinkException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\WorkLink\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon WorkLink** service. + */ +class WorkLinkException extends AwsException {} diff --git a/lib/aws/Aws/WorkLink/WorkLinkClient.php b/lib/aws/Aws/WorkLink/WorkLinkClient.php new file mode 100644 index 0000000..1cdcb67 --- /dev/null +++ b/lib/aws/Aws/WorkLink/WorkLinkClient.php @@ -0,0 +1,49 @@ +<?php +namespace Aws\WorkLink; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon WorkLink** service. + * @method \Aws\Result associateWebsiteCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateWebsiteCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result createFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise createFleetAsync(array $args = []) + * @method \Aws\Result deleteFleet(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteFleetAsync(array $args = []) + * @method \Aws\Result describeAuditStreamConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAuditStreamConfigurationAsync(array $args = []) + * @method \Aws\Result describeCompanyNetworkConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeCompanyNetworkConfigurationAsync(array $args = []) + * @method \Aws\Result describeDevice(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDeviceAsync(array $args = []) + * @method \Aws\Result describeDevicePolicyConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeDevicePolicyConfigurationAsync(array $args = []) + * @method \Aws\Result describeFleetMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeFleetMetadataAsync(array $args = []) + * @method \Aws\Result describeIdentityProviderConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIdentityProviderConfigurationAsync(array $args = []) + * @method \Aws\Result describeWebsiteCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWebsiteCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result disassociateWebsiteCertificateAuthority(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateWebsiteCertificateAuthorityAsync(array $args = []) + * @method \Aws\Result listDevices(array $args = []) + * @method \GuzzleHttp\Promise\Promise listDevicesAsync(array $args = []) + * @method \Aws\Result listFleets(array $args = []) + * @method \GuzzleHttp\Promise\Promise listFleetsAsync(array $args = []) + * @method \Aws\Result listWebsiteCertificateAuthorities(array $args = []) + * @method \GuzzleHttp\Promise\Promise listWebsiteCertificateAuthoritiesAsync(array $args = []) + * @method \Aws\Result signOutUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise signOutUserAsync(array $args = []) + * @method \Aws\Result updateAuditStreamConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateAuditStreamConfigurationAsync(array $args = []) + * @method \Aws\Result updateCompanyNetworkConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateCompanyNetworkConfigurationAsync(array $args = []) + * @method \Aws\Result updateDevicePolicyConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateDevicePolicyConfigurationAsync(array $args = []) + * @method \Aws\Result updateFleetMetadata(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateFleetMetadataAsync(array $args = []) + * @method \Aws\Result updateIdentityProviderConfiguration(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateIdentityProviderConfigurationAsync(array $args = []) + */ +class WorkLinkClient extends AwsClient {} diff --git a/lib/aws/Aws/WorkMail/Exception/WorkMailException.php b/lib/aws/Aws/WorkMail/Exception/WorkMailException.php new file mode 100644 index 0000000..aba5d26 --- /dev/null +++ b/lib/aws/Aws/WorkMail/Exception/WorkMailException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\WorkMail\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **Amazon WorkMail** service. + */ +class WorkMailException extends AwsException {} diff --git a/lib/aws/Aws/WorkMail/WorkMailClient.php b/lib/aws/Aws/WorkMail/WorkMailClient.php new file mode 100644 index 0000000..9d52cd3 --- /dev/null +++ b/lib/aws/Aws/WorkMail/WorkMailClient.php @@ -0,0 +1,71 @@ +<?php +namespace Aws\WorkMail; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **Amazon WorkMail** service. + * @method \Aws\Result associateDelegateToResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateDelegateToResourceAsync(array $args = []) + * @method \Aws\Result associateMemberToGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateMemberToGroupAsync(array $args = []) + * @method \Aws\Result createAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise createAliasAsync(array $args = []) + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise createResourceAsync(array $args = []) + * @method \Aws\Result createUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) + * @method \Aws\Result deleteAlias(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteAliasAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteMailboxPermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteMailboxPermissionsAsync(array $args = []) + * @method \Aws\Result deleteResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteResourceAsync(array $args = []) + * @method \Aws\Result deleteUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = []) + * @method \Aws\Result deregisterFromWorkMail(array $args = []) + * @method \GuzzleHttp\Promise\Promise deregisterFromWorkMailAsync(array $args = []) + * @method \Aws\Result describeGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeGroupAsync(array $args = []) + * @method \Aws\Result describeOrganization(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeOrganizationAsync(array $args = []) + * @method \Aws\Result describeResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeResourceAsync(array $args = []) + * @method \Aws\Result describeUser(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeUserAsync(array $args = []) + * @method \Aws\Result disassociateDelegateFromResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateDelegateFromResourceAsync(array $args = []) + * @method \Aws\Result disassociateMemberFromGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateMemberFromGroupAsync(array $args = []) + * @method \Aws\Result listAliases(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAliasesAsync(array $args = []) + * @method \Aws\Result listGroupMembers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupMembersAsync(array $args = []) + * @method \Aws\Result listGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise listGroupsAsync(array $args = []) + * @method \Aws\Result listMailboxPermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise listMailboxPermissionsAsync(array $args = []) + * @method \Aws\Result listOrganizations(array $args = []) + * @method \GuzzleHttp\Promise\Promise listOrganizationsAsync(array $args = []) + * @method \Aws\Result listResourceDelegates(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourceDelegatesAsync(array $args = []) + * @method \Aws\Result listResources(array $args = []) + * @method \GuzzleHttp\Promise\Promise listResourcesAsync(array $args = []) + * @method \Aws\Result listUsers(array $args = []) + * @method \GuzzleHttp\Promise\Promise listUsersAsync(array $args = []) + * @method \Aws\Result putMailboxPermissions(array $args = []) + * @method \GuzzleHttp\Promise\Promise putMailboxPermissionsAsync(array $args = []) + * @method \Aws\Result registerToWorkMail(array $args = []) + * @method \GuzzleHttp\Promise\Promise registerToWorkMailAsync(array $args = []) + * @method \Aws\Result resetPassword(array $args = []) + * @method \GuzzleHttp\Promise\Promise resetPasswordAsync(array $args = []) + * @method \Aws\Result updatePrimaryEmailAddress(array $args = []) + * @method \GuzzleHttp\Promise\Promise updatePrimaryEmailAddressAsync(array $args = []) + * @method \Aws\Result updateResource(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateResourceAsync(array $args = []) + */ +class WorkMailClient extends AwsClient {} diff --git a/lib/aws/Aws/WorkSpaces/Exception/WorkSpacesException.php b/lib/aws/Aws/WorkSpaces/Exception/WorkSpacesException.php new file mode 100644 index 0000000..6de9e6b --- /dev/null +++ b/lib/aws/Aws/WorkSpaces/Exception/WorkSpacesException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\WorkSpaces\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error while interacting with Amazon WorkSpaces. + */ +class WorkSpacesException extends AwsException {} diff --git a/lib/aws/Aws/WorkSpaces/WorkSpacesClient.php b/lib/aws/Aws/WorkSpaces/WorkSpacesClient.php new file mode 100644 index 0000000..55c677d --- /dev/null +++ b/lib/aws/Aws/WorkSpaces/WorkSpacesClient.php @@ -0,0 +1,74 @@ +<?php +namespace Aws\WorkSpaces; + +use Aws\AwsClient; + +/** + * Amazon WorkSpaces client. + * + * @method \Aws\Result associateIpGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise associateIpGroupsAsync(array $args = []) + * @method \Aws\Result authorizeIpRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise authorizeIpRulesAsync(array $args = []) + * @method \Aws\Result createIpGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createIpGroupAsync(array $args = []) + * @method \Aws\Result createTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise createTagsAsync(array $args = []) + * @method \Aws\Result createWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise createWorkspacesAsync(array $args = []) + * @method \Aws\Result deleteIpGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteIpGroupAsync(array $args = []) + * @method \Aws\Result deleteTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = []) + * @method \Aws\Result deleteWorkspaceImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteWorkspaceImageAsync(array $args = []) + * @method \Aws\Result describeAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountAsync(array $args = []) + * @method \Aws\Result describeAccountModifications(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeAccountModificationsAsync(array $args = []) + * @method \Aws\Result describeClientProperties(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeClientPropertiesAsync(array $args = []) + * @method \Aws\Result describeIpGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeIpGroupsAsync(array $args = []) + * @method \Aws\Result describeTags(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = []) + * @method \Aws\Result describeWorkspaceBundles(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkspaceBundlesAsync(array $args = []) + * @method \Aws\Result describeWorkspaceDirectories(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkspaceDirectoriesAsync(array $args = []) + * @method \Aws\Result describeWorkspaceImages(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkspaceImagesAsync(array $args = []) + * @method \Aws\Result describeWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkspacesAsync(array $args = []) + * @method \Aws\Result describeWorkspacesConnectionStatus(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeWorkspacesConnectionStatusAsync(array $args = []) + * @method \Aws\Result disassociateIpGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise disassociateIpGroupsAsync(array $args = []) + * @method \Aws\Result importWorkspaceImage(array $args = []) + * @method \GuzzleHttp\Promise\Promise importWorkspaceImageAsync(array $args = []) + * @method \Aws\Result listAvailableManagementCidrRanges(array $args = []) + * @method \GuzzleHttp\Promise\Promise listAvailableManagementCidrRangesAsync(array $args = []) + * @method \Aws\Result modifyAccount(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyAccountAsync(array $args = []) + * @method \Aws\Result modifyClientProperties(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyClientPropertiesAsync(array $args = []) + * @method \Aws\Result modifyWorkspaceProperties(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyWorkspacePropertiesAsync(array $args = []) + * @method \Aws\Result modifyWorkspaceState(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyWorkspaceStateAsync(array $args = []) + * @method \Aws\Result rebootWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebootWorkspacesAsync(array $args = []) + * @method \Aws\Result rebuildWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise rebuildWorkspacesAsync(array $args = []) + * @method \Aws\Result revokeIpRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise revokeIpRulesAsync(array $args = []) + * @method \Aws\Result startWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise startWorkspacesAsync(array $args = []) + * @method \Aws\Result stopWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise stopWorkspacesAsync(array $args = []) + * @method \Aws\Result terminateWorkspaces(array $args = []) + * @method \GuzzleHttp\Promise\Promise terminateWorkspacesAsync(array $args = []) + * @method \Aws\Result updateRulesOfIpGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateRulesOfIpGroupAsync(array $args = []) + */ +class WorkSpacesClient extends AwsClient {} diff --git a/lib/aws/Aws/WrappedHttpHandler.php b/lib/aws/Aws/WrappedHttpHandler.php new file mode 100644 index 0000000..bd1e061 --- /dev/null +++ b/lib/aws/Aws/WrappedHttpHandler.php @@ -0,0 +1,203 @@ +<?php +namespace Aws; + +use Aws\Api\Parser\Exception\ParserException; +use GuzzleHttp\Promise; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Converts an HTTP handler into a Command HTTP handler. + * + * HTTP handlers have the following signature: + * function(RequestInterface $request, array $options) : PromiseInterface + * + * The promise returned form an HTTP handler must resolve to a PSR-7 response + * object when fulfilled or an error array when rejected. The error array + * can contain the following data: + * + * - exception: (required, Exception) Exception that was encountered. + * - response: (ResponseInterface) PSR-7 response that was received (if a + * response) was received. + * - connection_error: (bool) True if the error is the result of failing to + * connect. + */ +class WrappedHttpHandler +{ + private $httpHandler; + private $parser; + private $errorParser; + private $exceptionClass; + private $collectStats; + + /** + * @param callable $httpHandler Function that accepts a request and array + * of request options and returns a promise + * that fulfills with a response or rejects + * with an error array. + * @param callable $parser Function that accepts a response object + * and returns an AWS result object. + * @param callable $errorParser Function that parses a response object + * into AWS error data. + * @param string $exceptionClass Exception class to throw. + * @param bool $collectStats Whether to collect HTTP transfer + * information. + */ + public function __construct( + callable $httpHandler, + callable $parser, + callable $errorParser, + $exceptionClass = 'Aws\Exception\AwsException', + $collectStats = false + ) { + $this->httpHandler = $httpHandler; + $this->parser = $parser; + $this->errorParser = $errorParser; + $this->exceptionClass = $exceptionClass; + $this->collectStats = $collectStats; + } + + /** + * Calls the simpler HTTP specific handler and wraps the returned promise + * with AWS specific values (e.g., a result object or AWS exception). + * + * @param CommandInterface $command Command being executed. + * @param RequestInterface $request Request to send. + * + * @return Promise\PromiseInterface + */ + public function __invoke( + CommandInterface $command, + RequestInterface $request + ) { + $fn = $this->httpHandler; + $options = $command['@http'] ?: []; + $stats = []; + if ($this->collectStats || !empty($options['collect_stats'])) { + $options['http_stats_receiver'] = static function ( + array $transferStats + ) use (&$stats) { + $stats = $transferStats; + }; + } elseif (isset($options['http_stats_receiver'])) { + throw new \InvalidArgumentException('Providing a custom HTTP stats' + . ' receiver to Aws\WrappedHttpHandler is not supported.'); + } + + return Promise\promise_for($fn($request, $options)) + ->then( + function ( + ResponseInterface $res + ) use ($command, $request, &$stats) { + return $this->parseResponse($command, $request, $res, $stats); + }, + function ($err) use ($request, $command, &$stats) { + if (is_array($err)) { + $err = $this->parseError( + $err, + $request, + $command, + $stats + ); + } + return new Promise\RejectedPromise($err); + } + ); + } + + /** + * @param CommandInterface $command + * @param RequestInterface $request + * @param ResponseInterface $response + * @param array $stats + * + * @return ResultInterface + */ + private function parseResponse( + CommandInterface $command, + RequestInterface $request, + ResponseInterface $response, + array $stats + ) { + $parser = $this->parser; + $status = $response->getStatusCode(); + $result = $status < 300 + ? $parser($command, $response) + : new Result(); + + $metadata = [ + 'statusCode' => $status, + 'effectiveUri' => (string) $request->getUri(), + 'headers' => [], + 'transferStats' => [], + ]; + if (!empty($stats)) { + $metadata['transferStats']['http'] = [$stats]; + } + + // Bring headers into the metadata array. + foreach ($response->getHeaders() as $name => $values) { + $metadata['headers'][strtolower($name)] = $values[0]; + } + + $result['@metadata'] = $metadata; + + return $result; + } + + /** + * Parses a rejection into an AWS error. + * + * @param array $err Rejection error array. + * @param RequestInterface $request Request that was sent. + * @param CommandInterface $command Command being sent. + * @param array $stats Transfer statistics + * + * @return \Exception + */ + private function parseError( + array $err, + RequestInterface $request, + CommandInterface $command, + array $stats + ) { + if (!isset($err['exception'])) { + throw new \RuntimeException('The HTTP handler was rejected without an "exception" key value pair.'); + } + + $serviceError = "AWS HTTP error: " . $err['exception']->getMessage(); + + if (!isset($err['response'])) { + $parts = ['response' => null]; + } else { + try { + $parts = call_user_func($this->errorParser, $err['response']); + $serviceError .= " {$parts['code']} ({$parts['type']}): " + . "{$parts['message']} - " . $err['response']->getBody(); + } catch (ParserException $e) { + $parts = []; + $serviceError .= ' Unable to parse error information from ' + . "response - {$e->getMessage()}"; + } + + $parts['response'] = $err['response']; + } + + $parts['exception'] = $err['exception']; + $parts['request'] = $request; + $parts['connection_error'] = !empty($err['connection_error']); + $parts['transfer_stats'] = $stats; + + return new $this->exceptionClass( + sprintf( + 'Error executing "%s" on "%s"; %s', + $command->getName(), + $request->getUri(), + $serviceError + ), + $command, + $parts, + $err['exception'] + ); + } +} diff --git a/lib/aws/Aws/XRay/Exception/XRayException.php b/lib/aws/Aws/XRay/Exception/XRayException.php new file mode 100644 index 0000000..0e52d10 --- /dev/null +++ b/lib/aws/Aws/XRay/Exception/XRayException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\XRay\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS X-Ray** service. + */ +class XRayException extends AwsException {} diff --git a/lib/aws/Aws/XRay/XRayClient.php b/lib/aws/Aws/XRay/XRayClient.php new file mode 100644 index 0000000..ff24324 --- /dev/null +++ b/lib/aws/Aws/XRay/XRayClient.php @@ -0,0 +1,47 @@ +<?php +namespace Aws\XRay; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS X-Ray** service. + * @method \Aws\Result batchGetTraces(array $args = []) + * @method \GuzzleHttp\Promise\Promise batchGetTracesAsync(array $args = []) + * @method \Aws\Result createGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise createGroupAsync(array $args = []) + * @method \Aws\Result createSamplingRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise createSamplingRuleAsync(array $args = []) + * @method \Aws\Result deleteGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteGroupAsync(array $args = []) + * @method \Aws\Result deleteSamplingRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise deleteSamplingRuleAsync(array $args = []) + * @method \Aws\Result getEncryptionConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise getEncryptionConfigAsync(array $args = []) + * @method \Aws\Result getGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupAsync(array $args = []) + * @method \Aws\Result getGroups(array $args = []) + * @method \GuzzleHttp\Promise\Promise getGroupsAsync(array $args = []) + * @method \Aws\Result getSamplingRules(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSamplingRulesAsync(array $args = []) + * @method \Aws\Result getSamplingStatisticSummaries(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSamplingStatisticSummariesAsync(array $args = []) + * @method \Aws\Result getSamplingTargets(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSamplingTargetsAsync(array $args = []) + * @method \Aws\Result getServiceGraph(array $args = []) + * @method \GuzzleHttp\Promise\Promise getServiceGraphAsync(array $args = []) + * @method \Aws\Result getTraceGraph(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTraceGraphAsync(array $args = []) + * @method \Aws\Result getTraceSummaries(array $args = []) + * @method \GuzzleHttp\Promise\Promise getTraceSummariesAsync(array $args = []) + * @method \Aws\Result putEncryptionConfig(array $args = []) + * @method \GuzzleHttp\Promise\Promise putEncryptionConfigAsync(array $args = []) + * @method \Aws\Result putTelemetryRecords(array $args = []) + * @method \GuzzleHttp\Promise\Promise putTelemetryRecordsAsync(array $args = []) + * @method \Aws\Result putTraceSegments(array $args = []) + * @method \GuzzleHttp\Promise\Promise putTraceSegmentsAsync(array $args = []) + * @method \Aws\Result updateGroup(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateGroupAsync(array $args = []) + * @method \Aws\Result updateSamplingRule(array $args = []) + * @method \GuzzleHttp\Promise\Promise updateSamplingRuleAsync(array $args = []) + */ +class XRayClient extends AwsClient {} diff --git a/lib/aws/Aws/data/acm-pca/2017-08-22/api-2.json.php b/lib/aws/Aws/data/acm-pca/2017-08-22/api-2.json.php new file mode 100644 index 0000000..a70e42f --- /dev/null +++ b/lib/aws/Aws/data/acm-pca/2017-08-22/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm-pca/2017-08-22/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-08-22', 'endpointPrefix' => 'acm-pca', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'ACM-PCA', 'serviceFullName' => 'AWS Certificate Manager Private Certificate Authority', 'serviceId' => 'ACM PCA', 'signatureVersion' => 'v4', 'targetPrefix' => 'ACMPrivateCA', 'uid' => 'acm-pca-2017-08-22', ], 'operations' => [ 'CreateCertificateAuthority' => [ 'name' => 'CreateCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'CreateCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgsException', ], [ 'shape' => 'InvalidPolicyException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'LimitExceededException', ], ], 'idempotent' => true, ], 'CreateCertificateAuthorityAuditReport' => [ 'name' => 'CreateCertificateAuthorityAuditReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCertificateAuthorityAuditReportRequest', ], 'output' => [ 'shape' => 'CreateCertificateAuthorityAuditReportResponse', ], 'errors' => [ [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'RequestFailedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidArgsException', ], [ 'shape' => 'InvalidStateException', ], ], 'idempotent' => true, ], 'CreatePermission' => [ 'name' => 'CreatePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePermissionRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'PermissionAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'RequestFailedException', ], ], ], 'DeleteCertificateAuthority' => [ 'name' => 'DeleteCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCertificateAuthorityRequest', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'DeletePermission' => [ 'name' => 'DeletePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePermissionRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'RequestFailedException', ], ], ], 'DescribeCertificateAuthority' => [ 'name' => 'DescribeCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'DescribeCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'DescribeCertificateAuthorityAuditReport' => [ 'name' => 'DescribeCertificateAuthorityAuditReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCertificateAuthorityAuditReportRequest', ], 'output' => [ 'shape' => 'DescribeCertificateAuthorityAuditReportResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidArgsException', ], ], ], 'GetCertificate' => [ 'name' => 'GetCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCertificateRequest', ], 'output' => [ 'shape' => 'GetCertificateResponse', ], 'errors' => [ [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'RequestFailedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'GetCertificateAuthorityCertificate' => [ 'name' => 'GetCertificateAuthorityCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCertificateAuthorityCertificateRequest', ], 'output' => [ 'shape' => 'GetCertificateAuthorityCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'GetCertificateAuthorityCsr' => [ 'name' => 'GetCertificateAuthorityCsr', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCertificateAuthorityCsrRequest', ], 'output' => [ 'shape' => 'GetCertificateAuthorityCsrResponse', ], 'errors' => [ [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'RequestFailedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'ImportCertificateAuthorityCertificate' => [ 'name' => 'ImportCertificateAuthorityCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportCertificateAuthorityCertificateRequest', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'RequestFailedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'MalformedCertificateException', ], [ 'shape' => 'CertificateMismatchException', ], ], ], 'IssueCertificate' => [ 'name' => 'IssueCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IssueCertificateRequest', ], 'output' => [ 'shape' => 'IssueCertificateResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidArgsException', ], [ 'shape' => 'MalformedCSRException', ], ], 'idempotent' => true, ], 'ListCertificateAuthorities' => [ 'name' => 'ListCertificateAuthorities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCertificateAuthoritiesRequest', ], 'output' => [ 'shape' => 'ListCertificateAuthoritiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListPermissions' => [ 'name' => 'ListPermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPermissionsRequest', ], 'output' => [ 'shape' => 'ListPermissionsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'RequestFailedException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'RestoreCertificateAuthority' => [ 'name' => 'RestoreCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreCertificateAuthorityRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'RevokeCertificate' => [ 'name' => 'RevokeCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeCertificateRequest', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestAlreadyProcessedException', ], [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'RequestFailedException', ], ], ], 'TagCertificateAuthority' => [ 'name' => 'TagCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagCertificateAuthorityRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'TooManyTagsException', ], ], ], 'UntagCertificateAuthority' => [ 'name' => 'UntagCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagCertificateAuthorityRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidTagException', ], ], ], 'UpdateCertificateAuthority' => [ 'name' => 'UpdateCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCertificateAuthorityRequest', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgsException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidPolicyException', ], ], ], ], 'shapes' => [ 'ASN1Subject' => [ 'type' => 'structure', 'members' => [ 'Country' => [ 'shape' => 'CountryCodeString', ], 'Organization' => [ 'shape' => 'String64', ], 'OrganizationalUnit' => [ 'shape' => 'String64', ], 'DistinguishedNameQualifier' => [ 'shape' => 'DistinguishedNameQualifierString', ], 'State' => [ 'shape' => 'String128', ], 'CommonName' => [ 'shape' => 'String64', ], 'SerialNumber' => [ 'shape' => 'String64', ], 'Locality' => [ 'shape' => 'String128', ], 'Title' => [ 'shape' => 'String64', ], 'Surname' => [ 'shape' => 'String40', ], 'GivenName' => [ 'shape' => 'String16', ], 'Initials' => [ 'shape' => 'String5', ], 'Pseudonym' => [ 'shape' => 'String128', ], 'GenerationQualifier' => [ 'shape' => 'String3', ], ], ], 'AccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '[0-9]+', ], 'ActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionType', ], 'max' => 3, 'min' => 1, ], 'ActionType' => [ 'type' => 'string', 'enum' => [ 'IssueCertificate', 'GetCertificate', 'ListPermissions', ], ], 'Arn' => [ 'type' => 'string', 'max' => 200, 'min' => 5, 'pattern' => 'arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*', ], 'AuditReportId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}', ], 'AuditReportResponseFormat' => [ 'type' => 'string', 'enum' => [ 'JSON', 'CSV', ], ], 'AuditReportStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'SUCCESS', 'FAILED', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CertificateAuthorities' => [ 'type' => 'list', 'member' => [ 'shape' => 'CertificateAuthority', ], ], 'CertificateAuthority' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'CreatedAt' => [ 'shape' => 'TStamp', ], 'LastStateChangeAt' => [ 'shape' => 'TStamp', ], 'Type' => [ 'shape' => 'CertificateAuthorityType', ], 'Serial' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'CertificateAuthorityStatus', ], 'NotBefore' => [ 'shape' => 'TStamp', ], 'NotAfter' => [ 'shape' => 'TStamp', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'CertificateAuthorityConfiguration' => [ 'shape' => 'CertificateAuthorityConfiguration', ], 'RevocationConfiguration' => [ 'shape' => 'RevocationConfiguration', ], 'RestorableUntil' => [ 'shape' => 'TStamp', ], ], ], 'CertificateAuthorityConfiguration' => [ 'type' => 'structure', 'required' => [ 'KeyAlgorithm', 'SigningAlgorithm', 'Subject', ], 'members' => [ 'KeyAlgorithm' => [ 'shape' => 'KeyAlgorithm', ], 'SigningAlgorithm' => [ 'shape' => 'SigningAlgorithm', ], 'Subject' => [ 'shape' => 'ASN1Subject', ], ], ], 'CertificateAuthorityStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'PENDING_CERTIFICATE', 'ACTIVE', 'DELETED', 'DISABLED', 'EXPIRED', 'FAILED', ], ], 'CertificateAuthorityType' => [ 'type' => 'string', 'enum' => [ 'SUBORDINATE', ], ], 'CertificateBody' => [ 'type' => 'string', ], 'CertificateBodyBlob' => [ 'type' => 'blob', 'max' => 32768, 'min' => 1, ], 'CertificateChain' => [ 'type' => 'string', ], 'CertificateChainBlob' => [ 'type' => 'blob', 'max' => 2097152, 'min' => 0, ], 'CertificateMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'CountryCodeString' => [ 'type' => 'string', 'pattern' => '[A-Za-z]{2}', ], 'CreateCertificateAuthorityAuditReportRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'S3BucketName', 'AuditReportResponseFormat', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'S3BucketName' => [ 'shape' => 'String', ], 'AuditReportResponseFormat' => [ 'shape' => 'AuditReportResponseFormat', ], ], ], 'CreateCertificateAuthorityAuditReportResponse' => [ 'type' => 'structure', 'members' => [ 'AuditReportId' => [ 'shape' => 'AuditReportId', ], 'S3Key' => [ 'shape' => 'String', ], ], ], 'CreateCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityConfiguration', 'CertificateAuthorityType', ], 'members' => [ 'CertificateAuthorityConfiguration' => [ 'shape' => 'CertificateAuthorityConfiguration', ], 'RevocationConfiguration' => [ 'shape' => 'RevocationConfiguration', ], 'CertificateAuthorityType' => [ 'shape' => 'CertificateAuthorityType', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'CreatePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Principal', 'Actions', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Principal' => [ 'shape' => 'Principal', ], 'SourceAccount' => [ 'shape' => 'AccountId', ], 'Actions' => [ 'shape' => 'ActionList', ], ], ], 'CrlConfiguration' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'box' => true, ], 'ExpirationInDays' => [ 'shape' => 'Integer1To5000', 'box' => true, ], 'CustomCname' => [ 'shape' => 'String253', ], 'S3BucketName' => [ 'shape' => 'String3To255', ], ], ], 'CsrBlob' => [ 'type' => 'blob', 'max' => 32768, 'min' => 1, ], 'CsrBody' => [ 'type' => 'string', ], 'DeleteCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'PermanentDeletionTimeInDays' => [ 'shape' => 'PermanentDeletionTimeInDays', ], ], ], 'DeletePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Principal', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Principal' => [ 'shape' => 'Principal', ], 'SourceAccount' => [ 'shape' => 'AccountId', ], ], ], 'DescribeCertificateAuthorityAuditReportRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'AuditReportId', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'AuditReportId' => [ 'shape' => 'AuditReportId', ], ], ], 'DescribeCertificateAuthorityAuditReportResponse' => [ 'type' => 'structure', 'members' => [ 'AuditReportStatus' => [ 'shape' => 'AuditReportStatus', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3Key' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'TStamp', ], ], ], 'DescribeCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthority' => [ 'shape' => 'CertificateAuthority', ], ], ], 'DistinguishedNameQualifierString' => [ 'type' => 'string', 'max' => 64, 'min' => 0, 'pattern' => '[a-zA-Z0-9\'()+-.?:/= ]*', ], 'FailureReason' => [ 'type' => 'string', 'enum' => [ 'REQUEST_TIMED_OUT', 'UNSUPPORTED_ALGORITHM', 'OTHER', ], ], 'GetCertificateAuthorityCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'GetCertificateAuthorityCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'CertificateBody', ], 'CertificateChain' => [ 'shape' => 'CertificateChain', ], ], ], 'GetCertificateAuthorityCsrRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'GetCertificateAuthorityCsrResponse' => [ 'type' => 'structure', 'members' => [ 'Csr' => [ 'shape' => 'CsrBody', ], ], ], 'GetCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'CertificateArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'GetCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'CertificateBody', ], 'CertificateChain' => [ 'shape' => 'CertificateChain', ], ], ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 36, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*', ], 'ImportCertificateAuthorityCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Certificate', 'CertificateChain', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Certificate' => [ 'shape' => 'CertificateBodyBlob', ], 'CertificateChain' => [ 'shape' => 'CertificateChainBlob', ], ], ], 'Integer1To5000' => [ 'type' => 'integer', 'max' => 5000, 'min' => 1, ], 'InvalidArgsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidArnException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidTagException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'IssueCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Csr', 'SigningAlgorithm', 'Validity', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Csr' => [ 'shape' => 'CsrBlob', ], 'SigningAlgorithm' => [ 'shape' => 'SigningAlgorithm', ], 'Validity' => [ 'shape' => 'Validity', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'IssueCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'KeyAlgorithm' => [ 'type' => 'string', 'enum' => [ 'RSA_2048', 'RSA_4096', 'EC_prime256v1', 'EC_secp384r1', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListCertificateAuthoritiesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListCertificateAuthoritiesResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorities' => [ 'shape' => 'CertificateAuthorities', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListPermissionsResponse' => [ 'type' => 'structure', 'members' => [ 'Permissions' => [ 'shape' => 'PermissionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MalformedCSRException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MalformedCertificateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'PermanentDeletionTimeInDays' => [ 'type' => 'integer', 'max' => 30, 'min' => 7, ], 'Permission' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'CreatedAt' => [ 'shape' => 'TStamp', ], 'Principal' => [ 'shape' => 'String', ], 'SourceAccount' => [ 'shape' => 'String', ], 'Actions' => [ 'shape' => 'ActionList', ], 'Policy' => [ 'shape' => 'String', ], ], ], 'PermissionAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'PermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Permission', ], 'min' => 0, ], 'PositiveLong' => [ 'type' => 'long', 'min' => 1, ], 'Principal' => [ 'type' => 'string', 'max' => 128, 'min' => 0, 'pattern' => '^[^*]+$', ], 'RequestAlreadyProcessedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RequestFailedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RequestInProgressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RestoreCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'RevocationConfiguration' => [ 'type' => 'structure', 'members' => [ 'CrlConfiguration' => [ 'shape' => 'CrlConfiguration', ], ], ], 'RevocationReason' => [ 'type' => 'string', 'enum' => [ 'UNSPECIFIED', 'KEY_COMPROMISE', 'CERTIFICATE_AUTHORITY_COMPROMISE', 'AFFILIATION_CHANGED', 'SUPERSEDED', 'CESSATION_OF_OPERATION', 'PRIVILEGE_WITHDRAWN', 'A_A_COMPROMISE', ], ], 'RevokeCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'CertificateSerial', 'RevocationReason', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'CertificateSerial' => [ 'shape' => 'String128', ], 'RevocationReason' => [ 'shape' => 'RevocationReason', ], ], ], 'SigningAlgorithm' => [ 'type' => 'string', 'enum' => [ 'SHA256WITHECDSA', 'SHA384WITHECDSA', 'SHA512WITHECDSA', 'SHA256WITHRSA', 'SHA384WITHRSA', 'SHA512WITHRSA', ], ], 'String' => [ 'type' => 'string', ], 'String128' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'String16' => [ 'type' => 'string', 'max' => 16, 'min' => 0, ], 'String253' => [ 'type' => 'string', 'max' => 253, 'min' => 0, ], 'String3' => [ 'type' => 'string', 'max' => 3, 'min' => 0, ], 'String3To255' => [ 'type' => 'string', 'max' => 255, 'min' => 3, ], 'String40' => [ 'type' => 'string', 'max' => 40, 'min' => 0, ], 'String5' => [ 'type' => 'string', 'max' => 5, 'min' => 0, ], 'String64' => [ 'type' => 'string', 'max' => 64, 'min' => 0, ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Tags', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UntagCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', 'Tags', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'UpdateCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateAuthorityArn', ], 'members' => [ 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'RevocationConfiguration' => [ 'shape' => 'RevocationConfiguration', ], 'Status' => [ 'shape' => 'CertificateAuthorityStatus', ], ], ], 'Validity' => [ 'type' => 'structure', 'required' => [ 'Value', 'Type', ], 'members' => [ 'Value' => [ 'shape' => 'PositiveLong', 'box' => true, ], 'Type' => [ 'shape' => 'ValidityPeriodType', ], ], ], 'ValidityPeriodType' => [ 'type' => 'string', 'enum' => [ 'END_DATE', 'ABSOLUTE', 'DAYS', 'MONTHS', 'YEARS', ], ], ],]; diff --git a/lib/aws/Aws/data/acm-pca/2017-08-22/paginators-1.json.php b/lib/aws/Aws/data/acm-pca/2017-08-22/paginators-1.json.php new file mode 100644 index 0000000..92a82b4 --- /dev/null +++ b/lib/aws/Aws/data/acm-pca/2017-08-22/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm-pca/2017-08-22/paginators-1.json +return [ 'pagination' => [ 'ListCertificateAuthorities' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'CertificateAuthorities', ], 'ListPermissions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Permissions', ], 'ListTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], ],]; diff --git a/lib/aws/Aws/data/acm-pca/2017-08-22/waiters-2.json.php b/lib/aws/Aws/data/acm-pca/2017-08-22/waiters-2.json.php new file mode 100644 index 0000000..817a2f9 --- /dev/null +++ b/lib/aws/Aws/data/acm-pca/2017-08-22/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm-pca/2017-08-22/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'CertificateAuthorityCSRCreated' => [ 'description' => 'Wait until a Certificate Authority CSR is created', 'operation' => 'GetCertificateAuthorityCsr', 'delay' => 3, 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'status', 'expected' => 200, ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'RequestInProgressException', ], ], ], 'CertificateIssued' => [ 'description' => 'Wait until a certificate is issued', 'operation' => 'GetCertificate', 'delay' => 3, 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'status', 'expected' => 200, ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'RequestInProgressException', ], ], ], 'AuditReportCreated' => [ 'description' => 'Wait until a Audit Report is created', 'operation' => 'DescribeCertificateAuthorityAuditReport', 'delay' => 3, 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'AuditReportStatus', 'expected' => 'SUCCESS', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'AuditReportStatus', 'expected' => 'FAILED', ], ], ], ],]; diff --git a/lib/aws/Aws/data/acm/2015-12-08/api-2.json.php b/lib/aws/Aws/data/acm/2015-12-08/api-2.json.php new file mode 100644 index 0000000..beafd72 --- /dev/null +++ b/lib/aws/Aws/data/acm/2015-12-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm/2015-12-08/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-12-08', 'endpointPrefix' => 'acm', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'ACM', 'serviceFullName' => 'AWS Certificate Manager', 'serviceId' => 'ACM', 'signatureVersion' => 'v4', 'targetPrefix' => 'CertificateManager', 'uid' => 'acm-2015-12-08', ], 'operations' => [ 'AddTagsToCertificate' => [ 'name' => 'AddTagsToCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToCertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'TooManyTagsException', ], ], ], 'DeleteCertificate' => [ 'name' => 'DeleteCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'DescribeCertificate' => [ 'name' => 'DescribeCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCertificateRequest', ], 'output' => [ 'shape' => 'DescribeCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'ExportCertificate' => [ 'name' => 'ExportCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportCertificateRequest', ], 'output' => [ 'shape' => 'ExportCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'GetCertificate' => [ 'name' => 'GetCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCertificateRequest', ], 'output' => [ 'shape' => 'GetCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestInProgressException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'ImportCertificate' => [ 'name' => 'ImportCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportCertificateRequest', ], 'output' => [ 'shape' => 'ImportCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListCertificates' => [ 'name' => 'ListCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCertificatesRequest', ], 'output' => [ 'shape' => 'ListCertificatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgsException', ], ], ], 'ListTagsForCertificate' => [ 'name' => 'ListTagsForCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForCertificateRequest', ], 'output' => [ 'shape' => 'ListTagsForCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'RemoveTagsFromCertificate' => [ 'name' => 'RemoveTagsFromCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromCertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidTagException', ], ], ], 'RenewCertificate' => [ 'name' => 'RenewCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RenewCertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'RequestCertificate' => [ 'name' => 'RequestCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestCertificateRequest', ], 'output' => [ 'shape' => 'RequestCertificateResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidDomainValidationOptionsException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'ResendValidationEmail' => [ 'name' => 'ResendValidationEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResendValidationEmailRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidDomainValidationOptionsException', ], ], ], 'UpdateCertificateOptions' => [ 'name' => 'UpdateCertificateOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCertificateOptionsRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'InvalidArnException', ], ], ], ], 'shapes' => [ 'AddTagsToCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', 'Tags', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'Arn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*', ], 'CertificateBody' => [ 'type' => 'string', 'max' => 32768, 'min' => 1, 'pattern' => '-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?', ], 'CertificateBodyBlob' => [ 'type' => 'blob', 'max' => 32768, 'min' => 1, ], 'CertificateChain' => [ 'type' => 'string', 'max' => 2097152, 'min' => 1, 'pattern' => '(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?', ], 'CertificateChainBlob' => [ 'type' => 'blob', 'max' => 2097152, 'min' => 1, ], 'CertificateDetail' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'DomainName' => [ 'shape' => 'DomainNameString', ], 'SubjectAlternativeNames' => [ 'shape' => 'DomainList', ], 'DomainValidationOptions' => [ 'shape' => 'DomainValidationList', ], 'Serial' => [ 'shape' => 'String', ], 'Subject' => [ 'shape' => 'String', ], 'Issuer' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'TStamp', ], 'IssuedAt' => [ 'shape' => 'TStamp', ], 'ImportedAt' => [ 'shape' => 'TStamp', ], 'Status' => [ 'shape' => 'CertificateStatus', ], 'RevokedAt' => [ 'shape' => 'TStamp', ], 'RevocationReason' => [ 'shape' => 'RevocationReason', ], 'NotBefore' => [ 'shape' => 'TStamp', ], 'NotAfter' => [ 'shape' => 'TStamp', ], 'KeyAlgorithm' => [ 'shape' => 'KeyAlgorithm', ], 'SignatureAlgorithm' => [ 'shape' => 'String', ], 'InUseBy' => [ 'shape' => 'InUseList', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'Type' => [ 'shape' => 'CertificateType', ], 'RenewalSummary' => [ 'shape' => 'RenewalSummary', ], 'KeyUsages' => [ 'shape' => 'KeyUsageList', ], 'ExtendedKeyUsages' => [ 'shape' => 'ExtendedKeyUsageList', ], 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], 'RenewalEligibility' => [ 'shape' => 'RenewalEligibility', ], 'Options' => [ 'shape' => 'CertificateOptions', ], ], ], 'CertificateOptions' => [ 'type' => 'structure', 'members' => [ 'CertificateTransparencyLoggingPreference' => [ 'shape' => 'CertificateTransparencyLoggingPreference', ], ], ], 'CertificateStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_VALIDATION', 'ISSUED', 'INACTIVE', 'EXPIRED', 'VALIDATION_TIMED_OUT', 'REVOKED', 'FAILED', ], ], 'CertificateStatuses' => [ 'type' => 'list', 'member' => [ 'shape' => 'CertificateStatus', ], ], 'CertificateSummary' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'DomainName' => [ 'shape' => 'DomainNameString', ], ], ], 'CertificateSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CertificateSummary', ], ], 'CertificateTransparencyLoggingPreference' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'CertificateType' => [ 'type' => 'string', 'enum' => [ 'IMPORTED', 'AMAZON_ISSUED', 'PRIVATE', ], ], 'DeleteCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'CertificateDetail', ], ], ], 'DomainList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainNameString', ], 'max' => 100, 'min' => 1, ], 'DomainNameString' => [ 'type' => 'string', 'max' => 253, 'min' => 1, 'pattern' => '^(\\*\\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$', ], 'DomainStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_VALIDATION', 'SUCCESS', 'FAILED', ], ], 'DomainValidation' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainNameString', ], 'ValidationEmails' => [ 'shape' => 'ValidationEmailList', ], 'ValidationDomain' => [ 'shape' => 'DomainNameString', ], 'ValidationStatus' => [ 'shape' => 'DomainStatus', ], 'ResourceRecord' => [ 'shape' => 'ResourceRecord', ], 'ValidationMethod' => [ 'shape' => 'ValidationMethod', ], ], ], 'DomainValidationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainValidation', ], 'max' => 1000, 'min' => 1, ], 'DomainValidationOption' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'ValidationDomain', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainNameString', ], 'ValidationDomain' => [ 'shape' => 'DomainNameString', ], ], ], 'DomainValidationOptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainValidationOption', ], 'max' => 100, 'min' => 1, ], 'ExportCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', 'Passphrase', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Passphrase' => [ 'shape' => 'PassphraseBlob', ], ], ], 'ExportCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'CertificateBody', ], 'CertificateChain' => [ 'shape' => 'CertificateChain', ], 'PrivateKey' => [ 'shape' => 'PrivateKey', ], ], ], 'ExtendedKeyUsage' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ExtendedKeyUsageName', ], 'OID' => [ 'shape' => 'String', ], ], ], 'ExtendedKeyUsageFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtendedKeyUsageName', ], ], 'ExtendedKeyUsageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtendedKeyUsage', ], ], 'ExtendedKeyUsageName' => [ 'type' => 'string', 'enum' => [ 'TLS_WEB_SERVER_AUTHENTICATION', 'TLS_WEB_CLIENT_AUTHENTICATION', 'CODE_SIGNING', 'EMAIL_PROTECTION', 'TIME_STAMPING', 'OCSP_SIGNING', 'IPSEC_END_SYSTEM', 'IPSEC_TUNNEL', 'IPSEC_USER', 'ANY', 'NONE', 'CUSTOM', ], ], 'FailureReason' => [ 'type' => 'string', 'enum' => [ 'NO_AVAILABLE_CONTACTS', 'ADDITIONAL_VERIFICATION_REQUIRED', 'DOMAIN_NOT_ALLOWED', 'INVALID_PUBLIC_DOMAIN', 'DOMAIN_VALIDATION_DENIED', 'CAA_ERROR', 'PCA_LIMIT_EXCEEDED', 'PCA_INVALID_ARN', 'PCA_INVALID_STATE', 'PCA_REQUEST_FAILED', 'PCA_RESOURCE_NOT_FOUND', 'PCA_INVALID_ARGS', 'PCA_INVALID_DURATION', 'PCA_ACCESS_DENIED', 'OTHER', ], ], 'Filters' => [ 'type' => 'structure', 'members' => [ 'extendedKeyUsage' => [ 'shape' => 'ExtendedKeyUsageFilterList', ], 'keyUsage' => [ 'shape' => 'KeyUsageFilterList', ], 'keyTypes' => [ 'shape' => 'KeyAlgorithmList', ], ], ], 'GetCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'GetCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'CertificateBody', ], 'CertificateChain' => [ 'shape' => 'CertificateChain', ], ], ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '\\w+', ], 'ImportCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'Certificate', 'PrivateKey', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Certificate' => [ 'shape' => 'CertificateBodyBlob', ], 'PrivateKey' => [ 'shape' => 'PrivateKeyBlob', ], 'CertificateChain' => [ 'shape' => 'CertificateChainBlob', ], ], ], 'ImportCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'InUseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'InvalidArgsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidArnException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDomainValidationOptionsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidTagException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'KeyAlgorithm' => [ 'type' => 'string', 'enum' => [ 'RSA_2048', 'RSA_1024', 'RSA_4096', 'EC_prime256v1', 'EC_secp384r1', 'EC_secp521r1', ], ], 'KeyAlgorithmList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyAlgorithm', ], ], 'KeyUsage' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'KeyUsageName', ], ], ], 'KeyUsageFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyUsageName', ], ], 'KeyUsageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyUsage', ], ], 'KeyUsageName' => [ 'type' => 'string', 'enum' => [ 'DIGITAL_SIGNATURE', 'NON_REPUDIATION', 'KEY_ENCIPHERMENT', 'DATA_ENCIPHERMENT', 'KEY_AGREEMENT', 'CERTIFICATE_SIGNING', 'CRL_SIGNING', 'ENCIPHER_ONLY', 'DECIPHER_ONLY', 'ANY', 'CUSTOM', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'CertificateStatuses' => [ 'shape' => 'CertificateStatuses', ], 'Includes' => [ 'shape' => 'Filters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxItems' => [ 'shape' => 'MaxItems', ], ], ], 'ListCertificatesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'CertificateSummaryList' => [ 'shape' => 'CertificateSummaryList', ], ], ], 'ListTagsForCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'MaxItems' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'max' => 320, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*', ], 'PassphraseBlob' => [ 'type' => 'blob', 'max' => 128, 'min' => 4, 'sensitive' => true, ], 'PrivateKey' => [ 'type' => 'string', 'max' => 524288, 'min' => 1, 'pattern' => '-{5}BEGIN PRIVATE KEY-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END PRIVATE KEY-{5}(\\u000D?\\u000A)?', 'sensitive' => true, ], 'PrivateKeyBlob' => [ 'type' => 'blob', 'max' => 524288, 'min' => 1, 'sensitive' => true, ], 'RecordType' => [ 'type' => 'string', 'enum' => [ 'CNAME', ], ], 'RemoveTagsFromCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', 'Tags', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'RenewCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'RenewalEligibility' => [ 'type' => 'string', 'enum' => [ 'ELIGIBLE', 'INELIGIBLE', ], ], 'RenewalStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_AUTO_RENEWAL', 'PENDING_VALIDATION', 'SUCCESS', 'FAILED', ], ], 'RenewalSummary' => [ 'type' => 'structure', 'required' => [ 'RenewalStatus', 'DomainValidationOptions', 'UpdatedAt', ], 'members' => [ 'RenewalStatus' => [ 'shape' => 'RenewalStatus', ], 'DomainValidationOptions' => [ 'shape' => 'DomainValidationList', ], 'RenewalStatusReason' => [ 'shape' => 'FailureReason', ], 'UpdatedAt' => [ 'shape' => 'TStamp', ], ], ], 'RequestCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainNameString', ], 'ValidationMethod' => [ 'shape' => 'ValidationMethod', ], 'SubjectAlternativeNames' => [ 'shape' => 'DomainList', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], 'DomainValidationOptions' => [ 'shape' => 'DomainValidationOptionList', ], 'Options' => [ 'shape' => 'CertificateOptions', ], 'CertificateAuthorityArn' => [ 'shape' => 'Arn', ], ], ], 'RequestCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], ], ], 'RequestInProgressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResendValidationEmailRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', 'Domain', 'ValidationDomain', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Domain' => [ 'shape' => 'DomainNameString', ], 'ValidationDomain' => [ 'shape' => 'DomainNameString', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceRecord' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'RecordType', ], 'Value' => [ 'shape' => 'String', ], ], ], 'RevocationReason' => [ 'type' => 'string', 'enum' => [ 'UNSPECIFIED', 'KEY_COMPROMISE', 'CA_COMPROMISE', 'AFFILIATION_CHANGED', 'SUPERCEDED', 'CESSATION_OF_OPERATION', 'CERTIFICATE_HOLD', 'REMOVE_FROM_CRL', 'PRIVILEGE_WITHDRAWN', 'A_A_COMPROMISE', ], ], 'String' => [ 'type' => 'string', ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*', ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UpdateCertificateOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', 'Options', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'Arn', ], 'Options' => [ 'shape' => 'CertificateOptions', ], ], ], 'ValidationEmailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ValidationMethod' => [ 'type' => 'string', 'enum' => [ 'EMAIL', 'DNS', ], ], ],]; diff --git a/lib/aws/Aws/data/acm/2015-12-08/paginators-1.json.php b/lib/aws/Aws/data/acm/2015-12-08/paginators-1.json.php new file mode 100644 index 0000000..e23886d --- /dev/null +++ b/lib/aws/Aws/data/acm/2015-12-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm/2015-12-08/paginators-1.json +return [ 'pagination' => [ 'ListCertificates' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxItems', 'output_token' => 'NextToken', 'result_key' => 'CertificateSummaryList', ], ],]; diff --git a/lib/aws/Aws/data/acm/2015-12-08/smoke.json.php b/lib/aws/Aws/data/acm/2015-12-08/smoke.json.php new file mode 100644 index 0000000..6db2ea9 --- /dev/null +++ b/lib/aws/Aws/data/acm/2015-12-08/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm/2015-12-08/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListCertificates', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetCertificate', 'input' => [ 'CertificateArn' => 'arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/acm/2015-12-08/waiters-2.json.php b/lib/aws/Aws/data/acm/2015-12-08/waiters-2.json.php new file mode 100644 index 0000000..1c8a500 --- /dev/null +++ b/lib/aws/Aws/data/acm/2015-12-08/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/acm/2015-12-08/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'CertificateValidated' => [ 'delay' => 60, 'maxAttempts' => 40, 'operation' => 'DescribeCertificate', 'acceptors' => [ [ 'matcher' => 'pathAll', 'expected' => 'SUCCESS', 'argument' => 'Certificate.DomainValidationOptions[].ValidationStatus', 'state' => 'success', ], [ 'matcher' => 'pathAny', 'expected' => 'PENDING_VALIDATION', 'argument' => 'Certificate.DomainValidationOptions[].ValidationStatus', 'state' => 'retry', ], [ 'matcher' => 'path', 'expected' => 'FAILED', 'argument' => 'Certificate.Status', 'state' => 'failure', ], [ 'matcher' => 'error', 'expected' => 'ResourceNotFoundException', 'state' => 'failure', ], ], ], ],]; diff --git a/lib/aws/Aws/data/alexaforbusiness/2017-11-09/api-2.json.php b/lib/aws/Aws/data/alexaforbusiness/2017-11-09/api-2.json.php new file mode 100644 index 0000000..489cccc --- /dev/null +++ b/lib/aws/Aws/data/alexaforbusiness/2017-11-09/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/alexaforbusiness/2017-11-09/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-11-09', 'endpointPrefix' => 'a4b', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Alexa For Business', 'serviceId' => 'Alexa For Business', 'signatureVersion' => 'v4', 'targetPrefix' => 'AlexaForBusiness', 'uid' => 'alexaforbusiness-2017-11-09', ], 'operations' => [ 'ApproveSkill' => [ 'name' => 'ApproveSkill', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApproveSkillRequest', ], 'output' => [ 'shape' => 'ApproveSkillResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'AssociateContactWithAddressBook' => [ 'name' => 'AssociateContactWithAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateContactWithAddressBookRequest', ], 'output' => [ 'shape' => 'AssociateContactWithAddressBookResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], ], ], 'AssociateDeviceWithRoom' => [ 'name' => 'AssociateDeviceWithRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDeviceWithRoomRequest', ], 'output' => [ 'shape' => 'AssociateDeviceWithRoomResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'DeviceNotRegisteredException', ], ], ], 'AssociateSkillGroupWithRoom' => [ 'name' => 'AssociateSkillGroupWithRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSkillGroupWithRoomRequest', ], 'output' => [ 'shape' => 'AssociateSkillGroupWithRoomResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], ], ], 'AssociateSkillWithSkillGroup' => [ 'name' => 'AssociateSkillWithSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSkillWithSkillGroupRequest', ], 'output' => [ 'shape' => 'AssociateSkillWithSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'SkillNotLinkedException', ], ], ], 'AssociateSkillWithUsers' => [ 'name' => 'AssociateSkillWithUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSkillWithUsersRequest', ], 'output' => [ 'shape' => 'AssociateSkillWithUsersResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CreateAddressBook' => [ 'name' => 'CreateAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAddressBookRequest', ], 'output' => [ 'shape' => 'CreateAddressBookResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateBusinessReportSchedule' => [ 'name' => 'CreateBusinessReportSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBusinessReportScheduleRequest', ], 'output' => [ 'shape' => 'CreateBusinessReportScheduleResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], ], ], 'CreateConferenceProvider' => [ 'name' => 'CreateConferenceProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConferenceProviderRequest', ], 'output' => [ 'shape' => 'CreateConferenceProviderResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], ], ], 'CreateContact' => [ 'name' => 'CreateContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateContactRequest', ], 'output' => [ 'shape' => 'CreateContactResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateProfile' => [ 'name' => 'CreateProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProfileRequest', ], 'output' => [ 'shape' => 'CreateProfileResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateRoom' => [ 'name' => 'CreateRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRoomRequest', ], 'output' => [ 'shape' => 'CreateRoomResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateSkillGroup' => [ 'name' => 'CreateSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSkillGroupRequest', ], 'output' => [ 'shape' => 'CreateSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteAddressBook' => [ 'name' => 'DeleteAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAddressBookRequest', ], 'output' => [ 'shape' => 'DeleteAddressBookResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteBusinessReportSchedule' => [ 'name' => 'DeleteBusinessReportSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBusinessReportScheduleRequest', ], 'output' => [ 'shape' => 'DeleteBusinessReportScheduleResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteConferenceProvider' => [ 'name' => 'DeleteConferenceProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConferenceProviderRequest', ], 'output' => [ 'shape' => 'DeleteConferenceProviderResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteContact' => [ 'name' => 'DeleteContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteContactRequest', ], 'output' => [ 'shape' => 'DeleteContactResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteDevice' => [ 'name' => 'DeleteDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeviceRequest', ], 'output' => [ 'shape' => 'DeleteDeviceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidCertificateAuthorityException', ], ], ], 'DeleteProfile' => [ 'name' => 'DeleteProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProfileRequest', ], 'output' => [ 'shape' => 'DeleteProfileResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteRoom' => [ 'name' => 'DeleteRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRoomRequest', ], 'output' => [ 'shape' => 'DeleteRoomResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteRoomSkillParameter' => [ 'name' => 'DeleteRoomSkillParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRoomSkillParameterRequest', ], 'output' => [ 'shape' => 'DeleteRoomSkillParameterResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteSkillAuthorization' => [ 'name' => 'DeleteSkillAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSkillAuthorizationRequest', ], 'output' => [ 'shape' => 'DeleteSkillAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteSkillGroup' => [ 'name' => 'DeleteSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSkillGroupRequest', ], 'output' => [ 'shape' => 'DeleteSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DisassociateContactFromAddressBook' => [ 'name' => 'DisassociateContactFromAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateContactFromAddressBookRequest', ], 'output' => [ 'shape' => 'DisassociateContactFromAddressBookResponse', ], ], 'DisassociateDeviceFromRoom' => [ 'name' => 'DisassociateDeviceFromRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateDeviceFromRoomRequest', ], 'output' => [ 'shape' => 'DisassociateDeviceFromRoomResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'DeviceNotRegisteredException', ], ], ], 'DisassociateSkillFromSkillGroup' => [ 'name' => 'DisassociateSkillFromSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateSkillFromSkillGroupRequest', ], 'output' => [ 'shape' => 'DisassociateSkillFromSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DisassociateSkillFromUsers' => [ 'name' => 'DisassociateSkillFromUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateSkillFromUsersRequest', ], 'output' => [ 'shape' => 'DisassociateSkillFromUsersResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DisassociateSkillGroupFromRoom' => [ 'name' => 'DisassociateSkillGroupFromRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateSkillGroupFromRoomRequest', ], 'output' => [ 'shape' => 'DisassociateSkillGroupFromRoomResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], ], ], 'ForgetSmartHomeAppliances' => [ 'name' => 'ForgetSmartHomeAppliances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ForgetSmartHomeAppliancesRequest', ], 'output' => [ 'shape' => 'ForgetSmartHomeAppliancesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetAddressBook' => [ 'name' => 'GetAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAddressBookRequest', ], 'output' => [ 'shape' => 'GetAddressBookResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetConferencePreference' => [ 'name' => 'GetConferencePreference', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConferencePreferenceRequest', ], 'output' => [ 'shape' => 'GetConferencePreferenceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetConferenceProvider' => [ 'name' => 'GetConferenceProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConferenceProviderRequest', ], 'output' => [ 'shape' => 'GetConferenceProviderResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetContact' => [ 'name' => 'GetContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContactRequest', ], 'output' => [ 'shape' => 'GetContactResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetDevice' => [ 'name' => 'GetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeviceRequest', ], 'output' => [ 'shape' => 'GetDeviceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetInvitationConfiguration' => [ 'name' => 'GetInvitationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInvitationConfigurationRequest', ], 'output' => [ 'shape' => 'GetInvitationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetProfile' => [ 'name' => 'GetProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProfileRequest', ], 'output' => [ 'shape' => 'GetProfileResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetRoom' => [ 'name' => 'GetRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRoomRequest', ], 'output' => [ 'shape' => 'GetRoomResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetRoomSkillParameter' => [ 'name' => 'GetRoomSkillParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRoomSkillParameterRequest', ], 'output' => [ 'shape' => 'GetRoomSkillParameterResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'GetSkillGroup' => [ 'name' => 'GetSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSkillGroupRequest', ], 'output' => [ 'shape' => 'GetSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'ListBusinessReportSchedules' => [ 'name' => 'ListBusinessReportSchedules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBusinessReportSchedulesRequest', ], 'output' => [ 'shape' => 'ListBusinessReportSchedulesResponse', ], ], 'ListConferenceProviders' => [ 'name' => 'ListConferenceProviders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListConferenceProvidersRequest', ], 'output' => [ 'shape' => 'ListConferenceProvidersResponse', ], ], 'ListDeviceEvents' => [ 'name' => 'ListDeviceEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeviceEventsRequest', ], 'output' => [ 'shape' => 'ListDeviceEventsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'ListSkills' => [ 'name' => 'ListSkills', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSkillsRequest', ], 'output' => [ 'shape' => 'ListSkillsResponse', ], ], 'ListSkillsStoreCategories' => [ 'name' => 'ListSkillsStoreCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSkillsStoreCategoriesRequest', ], 'output' => [ 'shape' => 'ListSkillsStoreCategoriesResponse', ], ], 'ListSkillsStoreSkillsByCategory' => [ 'name' => 'ListSkillsStoreSkillsByCategory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSkillsStoreSkillsByCategoryRequest', ], 'output' => [ 'shape' => 'ListSkillsStoreSkillsByCategoryResponse', ], ], 'ListSmartHomeAppliances' => [ 'name' => 'ListSmartHomeAppliances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSmartHomeAppliancesRequest', ], 'output' => [ 'shape' => 'ListSmartHomeAppliancesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'PutConferencePreference' => [ 'name' => 'PutConferencePreference', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConferencePreferenceRequest', ], 'output' => [ 'shape' => 'PutConferencePreferenceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'PutInvitationConfiguration' => [ 'name' => 'PutInvitationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutInvitationConfigurationRequest', ], 'output' => [ 'shape' => 'PutInvitationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'PutRoomSkillParameter' => [ 'name' => 'PutRoomSkillParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRoomSkillParameterRequest', ], 'output' => [ 'shape' => 'PutRoomSkillParameterResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], ], ], 'PutSkillAuthorization' => [ 'name' => 'PutSkillAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutSkillAuthorizationRequest', ], 'output' => [ 'shape' => 'PutSkillAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'RegisterAVSDevice' => [ 'name' => 'RegisterAVSDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterAVSDeviceRequest', ], 'output' => [ 'shape' => 'RegisterAVSDeviceResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidDeviceException', ], ], ], 'RejectSkill' => [ 'name' => 'RejectSkill', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectSkillRequest', ], 'output' => [ 'shape' => 'RejectSkillResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ResolveRoom' => [ 'name' => 'ResolveRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResolveRoomRequest', ], 'output' => [ 'shape' => 'ResolveRoomResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'RevokeInvitation' => [ 'name' => 'RevokeInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeInvitationRequest', ], 'output' => [ 'shape' => 'RevokeInvitationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'SearchAddressBooks' => [ 'name' => 'SearchAddressBooks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchAddressBooksRequest', ], 'output' => [ 'shape' => 'SearchAddressBooksResponse', ], ], 'SearchContacts' => [ 'name' => 'SearchContacts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchContactsRequest', ], 'output' => [ 'shape' => 'SearchContactsResponse', ], ], 'SearchDevices' => [ 'name' => 'SearchDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchDevicesRequest', ], 'output' => [ 'shape' => 'SearchDevicesResponse', ], ], 'SearchProfiles' => [ 'name' => 'SearchProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchProfilesRequest', ], 'output' => [ 'shape' => 'SearchProfilesResponse', ], ], 'SearchRooms' => [ 'name' => 'SearchRooms', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchRoomsRequest', ], 'output' => [ 'shape' => 'SearchRoomsResponse', ], ], 'SearchSkillGroups' => [ 'name' => 'SearchSkillGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchSkillGroupsRequest', ], 'output' => [ 'shape' => 'SearchSkillGroupsResponse', ], ], 'SearchUsers' => [ 'name' => 'SearchUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchUsersRequest', ], 'output' => [ 'shape' => 'SearchUsersResponse', ], ], 'SendInvitation' => [ 'name' => 'SendInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendInvitationRequest', ], 'output' => [ 'shape' => 'SendInvitationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidUserStatusException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'StartDeviceSync' => [ 'name' => 'StartDeviceSync', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDeviceSyncRequest', ], 'output' => [ 'shape' => 'StartDeviceSyncResponse', ], 'errors' => [ [ 'shape' => 'DeviceNotRegisteredException', ], ], ], 'StartSmartHomeApplianceDiscovery' => [ 'name' => 'StartSmartHomeApplianceDiscovery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSmartHomeApplianceDiscoveryRequest', ], 'output' => [ 'shape' => 'StartSmartHomeApplianceDiscoveryResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'UpdateAddressBook' => [ 'name' => 'UpdateAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAddressBookRequest', ], 'output' => [ 'shape' => 'UpdateAddressBookResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NameInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateBusinessReportSchedule' => [ 'name' => 'UpdateBusinessReportSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBusinessReportScheduleRequest', ], 'output' => [ 'shape' => 'UpdateBusinessReportScheduleResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateConferenceProvider' => [ 'name' => 'UpdateConferenceProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConferenceProviderRequest', ], 'output' => [ 'shape' => 'UpdateConferenceProviderResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'UpdateContact' => [ 'name' => 'UpdateContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateContactRequest', ], 'output' => [ 'shape' => 'UpdateContactResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateDevice' => [ 'name' => 'UpdateDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDeviceRequest', ], 'output' => [ 'shape' => 'UpdateDeviceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'DeviceNotRegisteredException', ], ], ], 'UpdateProfile' => [ 'name' => 'UpdateProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProfileRequest', ], 'output' => [ 'shape' => 'UpdateProfileResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NameInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateRoom' => [ 'name' => 'UpdateRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRoomRequest', ], 'output' => [ 'shape' => 'UpdateRoomResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NameInUseException', ], ], ], 'UpdateSkillGroup' => [ 'name' => 'UpdateSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSkillGroupRequest', ], 'output' => [ 'shape' => 'UpdateSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NameInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], ], 'shapes' => [ 'Address' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'AddressBook' => [ 'type' => 'structure', 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'AddressBookName', ], 'Description' => [ 'shape' => 'AddressBookDescription', ], ], ], 'AddressBookData' => [ 'type' => 'structure', 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'AddressBookName', ], 'Description' => [ 'shape' => 'AddressBookDescription', ], ], ], 'AddressBookDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AddressBookData', ], ], 'AddressBookDescription' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'AddressBookName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AmazonId' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9]{1,18}', ], 'ApplianceDescription' => [ 'type' => 'string', ], 'ApplianceFriendlyName' => [ 'type' => 'string', ], 'ApplianceManufacturerName' => [ 'type' => 'string', ], 'ApproveSkillRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'ApproveSkillResponse' => [ 'type' => 'structure', 'members' => [], ], 'Arn' => [ 'type' => 'string', 'pattern' => 'arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}', ], 'AssociateContactWithAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', 'AddressBookArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'AssociateContactWithAddressBookResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateDeviceWithRoomRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'AssociateDeviceWithRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateSkillGroupWithRoomRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'AssociateSkillGroupWithRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateSkillWithSkillGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'AssociateSkillWithSkillGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateSkillWithUsersRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'AssociateSkillWithUsersResponse' => [ 'type' => 'structure', 'members' => [], ], 'AuthorizationResult' => [ 'type' => 'map', 'key' => [ 'shape' => 'Key', ], 'value' => [ 'shape' => 'Value', ], 'sensitive' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BulletPoint' => [ 'type' => 'string', ], 'BulletPoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulletPoint', ], ], 'BusinessReport' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BusinessReportStatus', ], 'FailureCode' => [ 'shape' => 'BusinessReportFailureCode', ], 'S3Location' => [ 'shape' => 'BusinessReportS3Location', ], 'DeliveryTime' => [ 'shape' => 'Timestamp', ], 'DownloadUrl' => [ 'shape' => 'BusinessReportDownloadUrl', ], ], ], 'BusinessReportContentRange' => [ 'type' => 'structure', 'members' => [ 'Interval' => [ 'shape' => 'BusinessReportInterval', ], ], ], 'BusinessReportDownloadUrl' => [ 'type' => 'string', ], 'BusinessReportFailureCode' => [ 'type' => 'string', 'enum' => [ 'ACCESS_DENIED', 'NO_SUCH_BUCKET', 'INTERNAL_FAILURE', ], ], 'BusinessReportFormat' => [ 'type' => 'string', 'enum' => [ 'CSV', 'CSV_ZIP', ], ], 'BusinessReportInterval' => [ 'type' => 'string', 'enum' => [ 'ONE_DAY', 'ONE_WEEK', ], ], 'BusinessReportRecurrence' => [ 'type' => 'structure', 'members' => [ 'StartDate' => [ 'shape' => 'Date', ], ], ], 'BusinessReportS3Location' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'BusinessReportS3Path', ], 'BucketName' => [ 'shape' => 'CustomerS3BucketName', ], ], ], 'BusinessReportS3Path' => [ 'type' => 'string', ], 'BusinessReportSchedule' => [ 'type' => 'structure', 'members' => [ 'ScheduleArn' => [ 'shape' => 'Arn', ], 'ScheduleName' => [ 'shape' => 'BusinessReportScheduleName', ], 'S3BucketName' => [ 'shape' => 'CustomerS3BucketName', ], 'S3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'Format' => [ 'shape' => 'BusinessReportFormat', ], 'ContentRange' => [ 'shape' => 'BusinessReportContentRange', ], 'Recurrence' => [ 'shape' => 'BusinessReportRecurrence', ], 'LastBusinessReport' => [ 'shape' => 'BusinessReport', ], ], ], 'BusinessReportScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BusinessReportSchedule', ], ], 'BusinessReportScheduleName' => [ 'type' => 'string', 'max' => 64, 'min' => 0, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'BusinessReportStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'SUCCEEDED', 'FAILED', ], ], 'Category' => [ 'type' => 'structure', 'members' => [ 'CategoryId' => [ 'shape' => 'CategoryId', ], 'CategoryName' => [ 'shape' => 'CategoryName', ], ], ], 'CategoryId' => [ 'type' => 'long', 'min' => 1, ], 'CategoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Category', ], ], 'CategoryName' => [ 'type' => 'string', ], 'ClientId' => [ 'type' => 'string', 'pattern' => '^\\S+{1,256}$', ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 150, 'min' => 10, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9_-]*', ], 'CommsProtocol' => [ 'type' => 'string', 'enum' => [ 'SIP', 'SIPS', 'H323', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConferencePreference' => [ 'type' => 'structure', 'members' => [ 'DefaultConferenceProviderArn' => [ 'shape' => 'Arn', ], ], ], 'ConferenceProvider' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'ConferenceProviderName', ], 'Type' => [ 'shape' => 'ConferenceProviderType', ], 'IPDialIn' => [ 'shape' => 'IPDialIn', ], 'PSTNDialIn' => [ 'shape' => 'PSTNDialIn', ], 'MeetingSetting' => [ 'shape' => 'MeetingSetting', ], ], ], 'ConferenceProviderName' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'ConferenceProviderType' => [ 'type' => 'string', 'enum' => [ 'CHIME', 'BLUEJEANS', 'FUZE', 'GOOGLE_HANGOUTS', 'POLYCOM', 'RINGCENTRAL', 'SKYPE_FOR_BUSINESS', 'WEBEX', 'ZOOM', 'CUSTOM', ], ], 'ConferenceProvidersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConferenceProvider', ], ], 'ConnectionStatus' => [ 'type' => 'string', 'enum' => [ 'ONLINE', 'OFFLINE', ], ], 'Contact' => [ 'type' => 'structure', 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], 'DisplayName' => [ 'shape' => 'ContactName', ], 'FirstName' => [ 'shape' => 'ContactName', ], 'LastName' => [ 'shape' => 'ContactName', ], 'PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], ], ], 'ContactData' => [ 'type' => 'structure', 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], 'DisplayName' => [ 'shape' => 'ContactName', ], 'FirstName' => [ 'shape' => 'ContactName', ], 'LastName' => [ 'shape' => 'ContactName', ], 'PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], ], ], 'ContactDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContactData', ], ], 'ContactName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'CountryCode' => [ 'type' => 'string', 'pattern' => '\\d{1,3}', ], 'CreateAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AddressBookName', ], 'Description' => [ 'shape' => 'AddressBookDescription', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateAddressBookResponse' => [ 'type' => 'structure', 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'CreateBusinessReportScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'Format', 'ContentRange', ], 'members' => [ 'ScheduleName' => [ 'shape' => 'BusinessReportScheduleName', ], 'S3BucketName' => [ 'shape' => 'CustomerS3BucketName', ], 'S3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'Format' => [ 'shape' => 'BusinessReportFormat', ], 'ContentRange' => [ 'shape' => 'BusinessReportContentRange', ], 'Recurrence' => [ 'shape' => 'BusinessReportRecurrence', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateBusinessReportScheduleResponse' => [ 'type' => 'structure', 'members' => [ 'ScheduleArn' => [ 'shape' => 'Arn', ], ], ], 'CreateConferenceProviderRequest' => [ 'type' => 'structure', 'required' => [ 'ConferenceProviderName', 'ConferenceProviderType', 'MeetingSetting', ], 'members' => [ 'ConferenceProviderName' => [ 'shape' => 'ConferenceProviderName', ], 'ConferenceProviderType' => [ 'shape' => 'ConferenceProviderType', ], 'IPDialIn' => [ 'shape' => 'IPDialIn', ], 'PSTNDialIn' => [ 'shape' => 'PSTNDialIn', ], 'MeetingSetting' => [ 'shape' => 'MeetingSetting', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateConferenceProviderResponse' => [ 'type' => 'structure', 'members' => [ 'ConferenceProviderArn' => [ 'shape' => 'Arn', ], ], ], 'CreateContactRequest' => [ 'type' => 'structure', 'required' => [ 'FirstName', ], 'members' => [ 'DisplayName' => [ 'shape' => 'ContactName', ], 'FirstName' => [ 'shape' => 'ContactName', ], 'LastName' => [ 'shape' => 'ContactName', ], 'PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateContactResponse' => [ 'type' => 'structure', 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], ], ], 'CreateProfileRequest' => [ 'type' => 'structure', 'required' => [ 'ProfileName', 'Timezone', 'Address', 'DistanceUnit', 'TemperatureUnit', 'WakeWord', ], 'members' => [ 'ProfileName' => [ 'shape' => 'ProfileName', ], 'Timezone' => [ 'shape' => 'Timezone', ], 'Address' => [ 'shape' => 'Address', ], 'DistanceUnit' => [ 'shape' => 'DistanceUnit', ], 'TemperatureUnit' => [ 'shape' => 'TemperatureUnit', ], 'WakeWord' => [ 'shape' => 'WakeWord', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'SetupModeDisabled' => [ 'shape' => 'Boolean', ], 'MaxVolumeLimit' => [ 'shape' => 'MaxVolumeLimit', ], 'PSTNEnabled' => [ 'shape' => 'Boolean', ], ], ], 'CreateProfileResponse' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], ], ], 'CreateRoomRequest' => [ 'type' => 'structure', 'required' => [ 'RoomName', ], 'members' => [ 'RoomName' => [ 'shape' => 'RoomName', ], 'Description' => [ 'shape' => 'RoomDescription', ], 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProviderCalendarId' => [ 'shape' => 'ProviderCalendarId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRoomResponse' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'CreateSkillGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SkillGroupName', ], 'members' => [ 'SkillGroupName' => [ 'shape' => 'SkillGroupName', ], 'Description' => [ 'shape' => 'SkillGroupDescription', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateSkillGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'user_UserId', ], 'FirstName' => [ 'shape' => 'user_FirstName', ], 'LastName' => [ 'shape' => 'user_LastName', ], 'Email' => [ 'shape' => 'Email', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserArn' => [ 'shape' => 'Arn', ], ], ], 'CustomerS3BucketName' => [ 'type' => 'string', 'pattern' => '[a-z0-9-\\.]{3,63}', ], 'Date' => [ 'type' => 'string', 'pattern' => '^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$', ], 'DeleteAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAddressBookResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteBusinessReportScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduleArn', ], 'members' => [ 'ScheduleArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteBusinessReportScheduleResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConferenceProviderRequest' => [ 'type' => 'structure', 'required' => [ 'ConferenceProviderArn', ], 'members' => [ 'ConferenceProviderArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteConferenceProviderResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteContactResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceArn', ], 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteDeviceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProfileRequest' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteProfileResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRoomRequest' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRoomSkillParameterRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', 'ParameterKey', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], 'ParameterKey' => [ 'shape' => 'RoomSkillParameterKey', ], ], ], 'DeleteRoomSkillParameterResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSkillAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteSkillAuthorizationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSkillGroupRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteSkillGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'EnrollmentId', ], 'members' => [ 'UserArn' => [ 'shape' => 'Arn', ], 'EnrollmentId' => [ 'shape' => 'EnrollmentId', ], ], ], 'DeleteUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeveloperInfo' => [ 'type' => 'structure', 'members' => [ 'DeveloperName' => [ 'shape' => 'DeveloperName', ], 'PrivacyPolicy' => [ 'shape' => 'PrivacyPolicy', ], 'Email' => [ 'shape' => 'Email', ], 'Url' => [ 'shape' => 'Url', ], ], ], 'DeveloperName' => [ 'type' => 'string', ], 'Device' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], 'DeviceSerialNumber' => [ 'shape' => 'DeviceSerialNumber', ], 'DeviceType' => [ 'shape' => 'DeviceType', ], 'DeviceName' => [ 'shape' => 'DeviceName', ], 'SoftwareVersion' => [ 'shape' => 'SoftwareVersion', ], 'MacAddress' => [ 'shape' => 'MacAddress', ], 'RoomArn' => [ 'shape' => 'Arn', ], 'DeviceStatus' => [ 'shape' => 'DeviceStatus', ], 'DeviceStatusInfo' => [ 'shape' => 'DeviceStatusInfo', ], ], ], 'DeviceData' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], 'DeviceSerialNumber' => [ 'shape' => 'DeviceSerialNumber', ], 'DeviceType' => [ 'shape' => 'DeviceType', ], 'DeviceName' => [ 'shape' => 'DeviceName', ], 'SoftwareVersion' => [ 'shape' => 'SoftwareVersion', ], 'MacAddress' => [ 'shape' => 'MacAddress', ], 'DeviceStatus' => [ 'shape' => 'DeviceStatus', ], 'RoomArn' => [ 'shape' => 'Arn', ], 'RoomName' => [ 'shape' => 'RoomName', ], 'DeviceStatusInfo' => [ 'shape' => 'DeviceStatusInfo', ], ], ], 'DeviceDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceData', ], ], 'DeviceEvent' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'DeviceEventType', ], 'Value' => [ 'shape' => 'DeviceEventValue', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'DeviceEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceEvent', ], ], 'DeviceEventType' => [ 'type' => 'string', 'enum' => [ 'CONNECTION_STATUS', 'DEVICE_STATUS', ], ], 'DeviceEventValue' => [ 'type' => 'string', ], 'DeviceName' => [ 'type' => 'string', 'max' => 100, 'min' => 2, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'DeviceNotRegisteredException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DeviceSerialNumber' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9]{1,200}', ], 'DeviceSerialNumberForAVS' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9]{1,50}$', ], 'DeviceStatus' => [ 'type' => 'string', 'enum' => [ 'READY', 'PENDING', 'WAS_OFFLINE', 'DEREGISTERED', ], ], 'DeviceStatusDetail' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'DeviceStatusDetailCode', ], ], ], 'DeviceStatusDetailCode' => [ 'type' => 'string', 'enum' => [ 'DEVICE_SOFTWARE_UPDATE_NEEDED', 'DEVICE_WAS_OFFLINE', ], ], 'DeviceStatusDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceStatusDetail', ], ], 'DeviceStatusInfo' => [ 'type' => 'structure', 'members' => [ 'DeviceStatusDetails' => [ 'shape' => 'DeviceStatusDetails', ], 'ConnectionStatus' => [ 'shape' => 'ConnectionStatus', ], ], ], 'DeviceType' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9]{1,200}', ], 'DisassociateContactFromAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', 'AddressBookArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'DisassociateContactFromAddressBookResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateDeviceFromRoomRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], ], ], 'DisassociateDeviceFromRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateSkillFromSkillGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'DisassociateSkillFromSkillGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateSkillFromUsersRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'DisassociateSkillFromUsersResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateSkillGroupFromRoomRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'DisassociateSkillGroupFromRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'DistanceUnit' => [ 'type' => 'string', 'enum' => [ 'METRIC', 'IMPERIAL', ], ], 'E164PhoneNumber' => [ 'type' => 'string', 'pattern' => '^\\+\\d{8,}$', 'sensitive' => true, ], 'Email' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '([0-9a-zA-Z]([+-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})', ], 'EnablementType' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'PENDING', ], ], 'EnablementTypeFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'PENDING', ], ], 'EndUserLicenseAgreement' => [ 'type' => 'string', ], 'Endpoint' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'EnrollmentId' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'EnrollmentStatus' => [ 'type' => 'string', 'enum' => [ 'INITIALIZED', 'PENDING', 'REGISTERED', 'DISASSOCIATING', 'DEREGISTERING', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'Feature' => [ 'type' => 'string', 'enum' => [ 'BLUETOOTH', 'VOLUME', 'NOTIFICATIONS', 'LISTS', 'SKILLS', 'ALL', ], ], 'Features' => [ 'type' => 'list', 'member' => [ 'shape' => 'Feature', ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'FilterKey', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterKey' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], 'max' => 25, ], 'FilterValue' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], 'max' => 5, ], 'ForgetSmartHomeAppliancesRequest' => [ 'type' => 'structure', 'required' => [ 'RoomArn', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'ForgetSmartHomeAppliancesResponse' => [ 'type' => 'structure', 'members' => [], ], 'GenericKeyword' => [ 'type' => 'string', ], 'GenericKeywords' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericKeyword', ], ], 'GetAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'GetAddressBookResponse' => [ 'type' => 'structure', 'members' => [ 'AddressBook' => [ 'shape' => 'AddressBook', ], ], ], 'GetConferencePreferenceRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetConferencePreferenceResponse' => [ 'type' => 'structure', 'members' => [ 'Preference' => [ 'shape' => 'ConferencePreference', ], ], ], 'GetConferenceProviderRequest' => [ 'type' => 'structure', 'required' => [ 'ConferenceProviderArn', ], 'members' => [ 'ConferenceProviderArn' => [ 'shape' => 'Arn', ], ], ], 'GetConferenceProviderResponse' => [ 'type' => 'structure', 'members' => [ 'ConferenceProvider' => [ 'shape' => 'ConferenceProvider', ], ], ], 'GetContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], ], ], 'GetContactResponse' => [ 'type' => 'structure', 'members' => [ 'Contact' => [ 'shape' => 'Contact', ], ], ], 'GetDeviceRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], ], ], 'GetDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'Device' => [ 'shape' => 'Device', ], ], ], 'GetInvitationConfigurationRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetInvitationConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationName' => [ 'shape' => 'OrganizationName', ], 'ContactEmail' => [ 'shape' => 'Email', ], 'PrivateSkillIds' => [ 'shape' => 'ShortSkillIdList', ], ], ], 'GetProfileRequest' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], ], ], 'GetProfileResponse' => [ 'type' => 'structure', 'members' => [ 'Profile' => [ 'shape' => 'Profile', ], ], ], 'GetRoomRequest' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'GetRoomResponse' => [ 'type' => 'structure', 'members' => [ 'Room' => [ 'shape' => 'Room', ], ], ], 'GetRoomSkillParameterRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', 'ParameterKey', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], 'ParameterKey' => [ 'shape' => 'RoomSkillParameterKey', ], ], ], 'GetRoomSkillParameterResponse' => [ 'type' => 'structure', 'members' => [ 'RoomSkillParameter' => [ 'shape' => 'RoomSkillParameter', ], ], ], 'GetSkillGroupRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], ], ], 'GetSkillGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SkillGroup' => [ 'shape' => 'SkillGroup', ], ], ], 'IPDialIn' => [ 'type' => 'structure', 'required' => [ 'Endpoint', 'CommsProtocol', ], 'members' => [ 'Endpoint' => [ 'shape' => 'Endpoint', ], 'CommsProtocol' => [ 'shape' => 'CommsProtocol', ], ], ], 'IconUrl' => [ 'type' => 'string', ], 'InvalidCertificateAuthorityException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidDeviceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidUserStatusException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvocationPhrase' => [ 'type' => 'string', ], 'Key' => [ 'type' => 'string', 'min' => 1, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListBusinessReportSchedulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListBusinessReportSchedulesResponse' => [ 'type' => 'structure', 'members' => [ 'BusinessReportSchedules' => [ 'shape' => 'BusinessReportScheduleList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListConferenceProvidersRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListConferenceProvidersResponse' => [ 'type' => 'structure', 'members' => [ 'ConferenceProviders' => [ 'shape' => 'ConferenceProvidersList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeviceEventsRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceArn', ], 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], 'EventType' => [ 'shape' => 'DeviceEventType', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListDeviceEventsResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceEvents' => [ 'shape' => 'DeviceEventList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSkillsRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'EnablementType' => [ 'shape' => 'EnablementTypeFilter', ], 'SkillType' => [ 'shape' => 'SkillTypeFilter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'SkillListMaxResults', ], ], ], 'ListSkillsResponse' => [ 'type' => 'structure', 'members' => [ 'SkillSummaries' => [ 'shape' => 'SkillSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSkillsStoreCategoriesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListSkillsStoreCategoriesResponse' => [ 'type' => 'structure', 'members' => [ 'CategoryList' => [ 'shape' => 'CategoryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSkillsStoreSkillsByCategoryRequest' => [ 'type' => 'structure', 'required' => [ 'CategoryId', ], 'members' => [ 'CategoryId' => [ 'shape' => 'CategoryId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'SkillListMaxResults', ], ], ], 'ListSkillsStoreSkillsByCategoryResponse' => [ 'type' => 'structure', 'members' => [ 'SkillsStoreSkills' => [ 'shape' => 'SkillsStoreSkillList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSmartHomeAppliancesRequest' => [ 'type' => 'structure', 'required' => [ 'RoomArn', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSmartHomeAppliancesResponse' => [ 'type' => 'structure', 'members' => [ 'SmartHomeAppliances' => [ 'shape' => 'SmartHomeApplianceList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MacAddress' => [ 'type' => 'string', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'MaxVolumeLimit' => [ 'type' => 'integer', ], 'MeetingSetting' => [ 'type' => 'structure', 'required' => [ 'RequirePin', ], 'members' => [ 'RequirePin' => [ 'shape' => 'RequirePin', ], ], ], 'NameInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NewInThisVersionBulletPoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulletPoint', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'OneClickIdDelay' => [ 'type' => 'string', 'max' => 2, 'min' => 1, ], 'OneClickPinDelay' => [ 'type' => 'string', 'max' => 2, 'min' => 1, ], 'OrganizationName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '([A-Za-z\\-\' 0-9._]|\\p{IsLetter})*', ], 'OutboundPhoneNumber' => [ 'type' => 'string', 'pattern' => '\\d{10}', ], 'PSTNDialIn' => [ 'type' => 'structure', 'required' => [ 'CountryCode', 'PhoneNumber', 'OneClickIdDelay', 'OneClickPinDelay', ], 'members' => [ 'CountryCode' => [ 'shape' => 'CountryCode', ], 'PhoneNumber' => [ 'shape' => 'OutboundPhoneNumber', ], 'OneClickIdDelay' => [ 'shape' => 'OneClickIdDelay', ], 'OneClickPinDelay' => [ 'shape' => 'OneClickPinDelay', ], ], ], 'PrivacyPolicy' => [ 'type' => 'string', ], 'ProductDescription' => [ 'type' => 'string', ], 'ProductId' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_]{1,256}$', ], 'Profile' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], 'IsDefault' => [ 'shape' => 'Boolean', ], 'Address' => [ 'shape' => 'Address', ], 'Timezone' => [ 'shape' => 'Timezone', ], 'DistanceUnit' => [ 'shape' => 'DistanceUnit', ], 'TemperatureUnit' => [ 'shape' => 'TemperatureUnit', ], 'WakeWord' => [ 'shape' => 'WakeWord', ], 'SetupModeDisabled' => [ 'shape' => 'Boolean', ], 'MaxVolumeLimit' => [ 'shape' => 'MaxVolumeLimit', ], 'PSTNEnabled' => [ 'shape' => 'Boolean', ], 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'ProfileData' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], 'IsDefault' => [ 'shape' => 'Boolean', ], 'Address' => [ 'shape' => 'Address', ], 'Timezone' => [ 'shape' => 'Timezone', ], 'DistanceUnit' => [ 'shape' => 'DistanceUnit', ], 'TemperatureUnit' => [ 'shape' => 'TemperatureUnit', ], 'WakeWord' => [ 'shape' => 'WakeWord', ], ], ], 'ProfileDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProfileData', ], ], 'ProfileName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'ProviderCalendarId' => [ 'type' => 'string', 'max' => 100, 'min' => 0, ], 'PutConferencePreferenceRequest' => [ 'type' => 'structure', 'required' => [ 'ConferencePreference', ], 'members' => [ 'ConferencePreference' => [ 'shape' => 'ConferencePreference', ], ], ], 'PutConferencePreferenceResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutInvitationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationName', ], 'members' => [ 'OrganizationName' => [ 'shape' => 'OrganizationName', ], 'ContactEmail' => [ 'shape' => 'Email', ], 'PrivateSkillIds' => [ 'shape' => 'ShortSkillIdList', ], ], ], 'PutInvitationConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutRoomSkillParameterRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', 'RoomSkillParameter', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], 'RoomSkillParameter' => [ 'shape' => 'RoomSkillParameter', ], ], ], 'PutRoomSkillParameterResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutSkillAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'AuthorizationResult', 'SkillId', ], 'members' => [ 'AuthorizationResult' => [ 'shape' => 'AuthorizationResult', ], 'SkillId' => [ 'shape' => 'SkillId', ], 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'PutSkillAuthorizationResponse' => [ 'type' => 'structure', 'members' => [], ], 'RegisterAVSDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'UserCode', 'ProductId', 'DeviceSerialNumber', 'AmazonId', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientId', ], 'UserCode' => [ 'shape' => 'UserCode', ], 'ProductId' => [ 'shape' => 'ProductId', ], 'DeviceSerialNumber' => [ 'shape' => 'DeviceSerialNumberForAVS', ], 'AmazonId' => [ 'shape' => 'AmazonId', ], ], ], 'RegisterAVSDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], ], ], 'RejectSkillRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', ], 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'RejectSkillResponse' => [ 'type' => 'structure', 'members' => [], ], 'ReleaseDate' => [ 'type' => 'string', ], 'RequirePin' => [ 'type' => 'string', 'enum' => [ 'YES', 'NO', 'OPTIONAL', ], ], 'ResolveRoomRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', 'SkillId', ], 'members' => [ 'UserId' => [ 'shape' => 'UserId', ], 'SkillId' => [ 'shape' => 'SkillId', ], ], ], 'ResolveRoomResponse' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'RoomName' => [ 'shape' => 'RoomName', ], 'RoomSkillParameters' => [ 'shape' => 'RoomSkillParameters', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], 'exception' => true, ], 'ReviewKey' => [ 'type' => 'string', ], 'ReviewValue' => [ 'type' => 'string', ], 'Reviews' => [ 'type' => 'map', 'key' => [ 'shape' => 'ReviewKey', ], 'value' => [ 'shape' => 'ReviewValue', ], ], 'RevokeInvitationRequest' => [ 'type' => 'structure', 'members' => [ 'UserArn' => [ 'shape' => 'Arn', ], 'EnrollmentId' => [ 'shape' => 'EnrollmentId', ], ], ], 'RevokeInvitationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Room' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'RoomName' => [ 'shape' => 'RoomName', ], 'Description' => [ 'shape' => 'RoomDescription', ], 'ProviderCalendarId' => [ 'shape' => 'ProviderCalendarId', ], 'ProfileArn' => [ 'shape' => 'Arn', ], ], ], 'RoomData' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'RoomName' => [ 'shape' => 'RoomName', ], 'Description' => [ 'shape' => 'RoomDescription', ], 'ProviderCalendarId' => [ 'shape' => 'ProviderCalendarId', ], 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], ], ], 'RoomDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoomData', ], ], 'RoomDescription' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'RoomName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'RoomSkillParameter' => [ 'type' => 'structure', 'required' => [ 'ParameterKey', 'ParameterValue', ], 'members' => [ 'ParameterKey' => [ 'shape' => 'RoomSkillParameterKey', ], 'ParameterValue' => [ 'shape' => 'RoomSkillParameterValue', ], ], ], 'RoomSkillParameterKey' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'RoomSkillParameterValue' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'RoomSkillParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoomSkillParameter', ], ], 'S3KeyPrefix' => [ 'type' => 'string', 'max' => 100, 'min' => 0, 'pattern' => '[A-Za-z0-9!_\\-\\.\\*\'()/]*', ], 'SampleUtterances' => [ 'type' => 'list', 'member' => [ 'shape' => 'Utterance', ], ], 'SearchAddressBooksRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'SearchAddressBooksResponse' => [ 'type' => 'structure', 'members' => [ 'AddressBooks' => [ 'shape' => 'AddressBookDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchContactsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'SearchContactsResponse' => [ 'type' => 'structure', 'members' => [ 'Contacts' => [ 'shape' => 'ContactDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchDevicesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], ], ], 'SearchDevicesResponse' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => 'DeviceDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], ], ], 'SearchProfilesResponse' => [ 'type' => 'structure', 'members' => [ 'Profiles' => [ 'shape' => 'ProfileDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchRoomsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], ], ], 'SearchRoomsResponse' => [ 'type' => 'structure', 'members' => [ 'Rooms' => [ 'shape' => 'RoomDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchSkillGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], ], ], 'SearchSkillGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'SkillGroups' => [ 'shape' => 'SkillGroupDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SearchUsersRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'FilterList', ], 'SortCriteria' => [ 'shape' => 'SortList', ], ], ], 'SearchUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UserDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TotalCount' => [ 'shape' => 'TotalCount', ], ], ], 'SendInvitationRequest' => [ 'type' => 'structure', 'members' => [ 'UserArn' => [ 'shape' => 'Arn', ], ], ], 'SendInvitationResponse' => [ 'type' => 'structure', 'members' => [], ], 'ShortDescription' => [ 'type' => 'string', ], 'ShortSkillIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillId', ], 'max' => 3, 'min' => 0, ], 'SkillDetails' => [ 'type' => 'structure', 'members' => [ 'ProductDescription' => [ 'shape' => 'ProductDescription', ], 'InvocationPhrase' => [ 'shape' => 'InvocationPhrase', ], 'ReleaseDate' => [ 'shape' => 'ReleaseDate', ], 'EndUserLicenseAgreement' => [ 'shape' => 'EndUserLicenseAgreement', ], 'GenericKeywords' => [ 'shape' => 'GenericKeywords', ], 'BulletPoints' => [ 'shape' => 'BulletPoints', ], 'NewInThisVersionBulletPoints' => [ 'shape' => 'NewInThisVersionBulletPoints', ], 'SkillTypes' => [ 'shape' => 'SkillTypes', ], 'Reviews' => [ 'shape' => 'Reviews', ], 'DeveloperInfo' => [ 'shape' => 'DeveloperInfo', ], ], ], 'SkillGroup' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'SkillGroupName' => [ 'shape' => 'SkillGroupName', ], 'Description' => [ 'shape' => 'SkillGroupDescription', ], ], ], 'SkillGroupData' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'SkillGroupName' => [ 'shape' => 'SkillGroupName', ], 'Description' => [ 'shape' => 'SkillGroupDescription', ], ], ], 'SkillGroupDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillGroupData', ], ], 'SkillGroupDescription' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'SkillGroupName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'SkillId' => [ 'type' => 'string', 'pattern' => '(^amzn1\\.ask\\.skill\\.[0-9a-f\\-]{1,200})|(^amzn1\\.echo-sdk-ams\\.app\\.[0-9a-f\\-]{1,200})', ], 'SkillListMaxResults' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'SkillName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*', ], 'SkillNotLinkedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'SkillStoreType' => [ 'type' => 'string', ], 'SkillSummary' => [ 'type' => 'structure', 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], 'SkillName' => [ 'shape' => 'SkillName', ], 'SupportsLinking' => [ 'shape' => 'boolean', ], 'EnablementType' => [ 'shape' => 'EnablementType', ], 'SkillType' => [ 'shape' => 'SkillType', ], ], ], 'SkillSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillSummary', ], ], 'SkillType' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'PRIVATE', ], 'max' => 100, 'min' => 1, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9_-]*', ], 'SkillTypeFilter' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'PRIVATE', 'ALL', ], ], 'SkillTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillStoreType', ], ], 'SkillsStoreSkill' => [ 'type' => 'structure', 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], 'SkillName' => [ 'shape' => 'SkillName', ], 'ShortDescription' => [ 'shape' => 'ShortDescription', ], 'IconUrl' => [ 'shape' => 'IconUrl', ], 'SampleUtterances' => [ 'shape' => 'SampleUtterances', ], 'SkillDetails' => [ 'shape' => 'SkillDetails', ], 'SupportsLinking' => [ 'shape' => 'boolean', ], ], ], 'SkillsStoreSkillList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillsStoreSkill', ], ], 'SmartHomeAppliance' => [ 'type' => 'structure', 'members' => [ 'FriendlyName' => [ 'shape' => 'ApplianceFriendlyName', ], 'Description' => [ 'shape' => 'ApplianceDescription', ], 'ManufacturerName' => [ 'shape' => 'ApplianceManufacturerName', ], ], ], 'SmartHomeApplianceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SmartHomeAppliance', ], ], 'SoftwareVersion' => [ 'type' => 'string', ], 'Sort' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'SortKey', ], 'Value' => [ 'shape' => 'SortValue', ], ], ], 'SortKey' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'SortList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Sort', ], 'max' => 25, ], 'SortValue' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], 'StartDeviceSyncRequest' => [ 'type' => 'structure', 'required' => [ 'Features', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'DeviceArn' => [ 'shape' => 'Arn', ], 'Features' => [ 'shape' => 'Features', ], ], ], 'StartDeviceSyncResponse' => [ 'type' => 'structure', 'members' => [], ], 'StartSmartHomeApplianceDiscoveryRequest' => [ 'type' => 'structure', 'required' => [ 'RoomArn', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], ], ], 'StartSmartHomeApplianceDiscoveryResponse' => [ 'type' => 'structure', 'members' => [], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Tags', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TemperatureUnit' => [ 'type' => 'string', 'enum' => [ 'FAHRENHEIT', 'CELSIUS', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Timezone' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'TotalCount' => [ 'type' => 'integer', ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'TagKeys', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'AddressBookName', ], 'Description' => [ 'shape' => 'AddressBookDescription', ], ], ], 'UpdateAddressBookResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateBusinessReportScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduleArn', ], 'members' => [ 'ScheduleArn' => [ 'shape' => 'Arn', ], 'S3BucketName' => [ 'shape' => 'CustomerS3BucketName', ], 'S3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'Format' => [ 'shape' => 'BusinessReportFormat', ], 'ScheduleName' => [ 'shape' => 'BusinessReportScheduleName', ], 'Recurrence' => [ 'shape' => 'BusinessReportRecurrence', ], ], ], 'UpdateBusinessReportScheduleResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateConferenceProviderRequest' => [ 'type' => 'structure', 'required' => [ 'ConferenceProviderArn', 'ConferenceProviderType', 'MeetingSetting', ], 'members' => [ 'ConferenceProviderArn' => [ 'shape' => 'Arn', ], 'ConferenceProviderType' => [ 'shape' => 'ConferenceProviderType', ], 'IPDialIn' => [ 'shape' => 'IPDialIn', ], 'PSTNDialIn' => [ 'shape' => 'PSTNDialIn', ], 'MeetingSetting' => [ 'shape' => 'MeetingSetting', ], ], ], 'UpdateConferenceProviderResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], 'DisplayName' => [ 'shape' => 'ContactName', ], 'FirstName' => [ 'shape' => 'ContactName', ], 'LastName' => [ 'shape' => 'ContactName', ], 'PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], ], ], 'UpdateContactResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDeviceRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceArn' => [ 'shape' => 'Arn', ], 'DeviceName' => [ 'shape' => 'DeviceName', ], ], ], 'UpdateDeviceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateProfileRequest' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], 'IsDefault' => [ 'shape' => 'Boolean', ], 'Timezone' => [ 'shape' => 'Timezone', ], 'Address' => [ 'shape' => 'Address', ], 'DistanceUnit' => [ 'shape' => 'DistanceUnit', ], 'TemperatureUnit' => [ 'shape' => 'TemperatureUnit', ], 'WakeWord' => [ 'shape' => 'WakeWord', ], 'SetupModeDisabled' => [ 'shape' => 'Boolean', ], 'MaxVolumeLimit' => [ 'shape' => 'MaxVolumeLimit', ], 'PSTNEnabled' => [ 'shape' => 'Boolean', ], ], ], 'UpdateProfileResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateRoomRequest' => [ 'type' => 'structure', 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'RoomName' => [ 'shape' => 'RoomName', ], 'Description' => [ 'shape' => 'RoomDescription', ], 'ProviderCalendarId' => [ 'shape' => 'ProviderCalendarId', ], 'ProfileArn' => [ 'shape' => 'Arn', ], ], ], 'UpdateRoomResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSkillGroupRequest' => [ 'type' => 'structure', 'members' => [ 'SkillGroupArn' => [ 'shape' => 'Arn', ], 'SkillGroupName' => [ 'shape' => 'SkillGroupName', ], 'Description' => [ 'shape' => 'SkillGroupDescription', ], ], ], 'UpdateSkillGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'Url' => [ 'type' => 'string', ], 'UserCode' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'UserData' => [ 'type' => 'structure', 'members' => [ 'UserArn' => [ 'shape' => 'Arn', ], 'FirstName' => [ 'shape' => 'user_FirstName', ], 'LastName' => [ 'shape' => 'user_LastName', ], 'Email' => [ 'shape' => 'Email', ], 'EnrollmentStatus' => [ 'shape' => 'EnrollmentStatus', ], 'EnrollmentId' => [ 'shape' => 'EnrollmentId', ], ], ], 'UserDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserData', ], ], 'UserId' => [ 'type' => 'string', 'pattern' => 'amzn1\\.[A-Za-z0-9+-\\/=.]{1,300}', ], 'Utterance' => [ 'type' => 'string', ], 'Value' => [ 'type' => 'string', 'min' => 1, ], 'WakeWord' => [ 'type' => 'string', 'enum' => [ 'ALEXA', 'AMAZON', 'ECHO', 'COMPUTER', ], ], 'boolean' => [ 'type' => 'boolean', ], 'user_FirstName' => [ 'type' => 'string', 'max' => 30, 'min' => 0, 'pattern' => '([A-Za-z\\-\' 0-9._]|\\p{IsLetter})*', ], 'user_LastName' => [ 'type' => 'string', 'max' => 30, 'min' => 0, 'pattern' => '([A-Za-z\\-\' 0-9._]|\\p{IsLetter})*', ], 'user_UserId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9@_+.-]*', ], ],]; diff --git a/lib/aws/Aws/data/alexaforbusiness/2017-11-09/paginators-1.json.php b/lib/aws/Aws/data/alexaforbusiness/2017-11-09/paginators-1.json.php new file mode 100644 index 0000000..ff0c8a8 --- /dev/null +++ b/lib/aws/Aws/data/alexaforbusiness/2017-11-09/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/alexaforbusiness/2017-11-09/paginators-1.json +return [ 'pagination' => [ 'ListBusinessReportSchedules' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListConferenceProviders' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListDeviceEvents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSkills' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSkillsStoreCategories' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSkillsStoreSkillsByCategory' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSmartHomeAppliances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchAddressBooks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchContacts' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchDevices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchProfiles' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchRooms' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchSkillGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchUsers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/amplify/2017-07-25/api-2.json.php b/lib/aws/Aws/data/amplify/2017-07-25/api-2.json.php new file mode 100644 index 0000000..df0f8a1 --- /dev/null +++ b/lib/aws/Aws/data/amplify/2017-07-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/amplify/2017-07-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-07-25', 'endpointPrefix' => 'amplify', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Amplify', 'serviceFullName' => 'AWS Amplify', 'serviceId' => 'Amplify', 'signatureVersion' => 'v4', 'signingName' => 'amplify', 'uid' => 'amplify-2017-07-25', ], 'operations' => [ 'CreateApp' => [ 'name' => 'CreateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps', ], 'input' => [ 'shape' => 'CreateAppRequest', ], 'output' => [ 'shape' => 'CreateAppResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'CreateBranch' => [ 'name' => 'CreateBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}/branches', ], 'input' => [ 'shape' => 'CreateBranchRequest', ], 'output' => [ 'shape' => 'CreateBranchResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'CreateDomainAssociation' => [ 'name' => 'CreateDomainAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}/domains', ], 'input' => [ 'shape' => 'CreateDomainAssociationRequest', ], 'output' => [ 'shape' => 'CreateDomainAssociationResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'DeleteApp' => [ 'name' => 'DeleteApp', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apps/{appId}', ], 'input' => [ 'shape' => 'DeleteAppRequest', ], 'output' => [ 'shape' => 'DeleteAppResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'DeleteBranch' => [ 'name' => 'DeleteBranch', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apps/{appId}/branches/{branchName}', ], 'input' => [ 'shape' => 'DeleteBranchRequest', ], 'output' => [ 'shape' => 'DeleteBranchResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'DeleteDomainAssociation' => [ 'name' => 'DeleteDomainAssociation', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apps/{appId}/domains/{domainName}', ], 'input' => [ 'shape' => 'DeleteDomainAssociationRequest', ], 'output' => [ 'shape' => 'DeleteDomainAssociationResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'DeleteJob' => [ 'name' => 'DeleteJob', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apps/{appId}/branches/{branchName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'DeleteJobRequest', ], 'output' => [ 'shape' => 'DeleteJobResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetApp' => [ 'name' => 'GetApp', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}', ], 'input' => [ 'shape' => 'GetAppRequest', ], 'output' => [ 'shape' => 'GetAppResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetBranch' => [ 'name' => 'GetBranch', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/branches/{branchName}', ], 'input' => [ 'shape' => 'GetBranchRequest', ], 'output' => [ 'shape' => 'GetBranchResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetDomainAssociation' => [ 'name' => 'GetDomainAssociation', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/domains/{domainName}', ], 'input' => [ 'shape' => 'GetDomainAssociationRequest', ], 'output' => [ 'shape' => 'GetDomainAssociationResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetJob' => [ 'name' => 'GetJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/branches/{branchName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'GetJobRequest', ], 'output' => [ 'shape' => 'GetJobResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListApps' => [ 'name' => 'ListApps', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps', ], 'input' => [ 'shape' => 'ListAppsRequest', ], 'output' => [ 'shape' => 'ListAppsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListBranches' => [ 'name' => 'ListBranches', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/branches', ], 'input' => [ 'shape' => 'ListBranchesRequest', ], 'output' => [ 'shape' => 'ListBranchesResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListDomainAssociations' => [ 'name' => 'ListDomainAssociations', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/domains', ], 'input' => [ 'shape' => 'ListDomainAssociationsRequest', ], 'output' => [ 'shape' => 'ListDomainAssociationsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/apps/{appId}/branches/{branchName}/jobs', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StartJob' => [ 'name' => 'StartJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}/branches/{branchName}/jobs', ], 'input' => [ 'shape' => 'StartJobRequest', ], 'output' => [ 'shape' => 'StartJobResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StopJob' => [ 'name' => 'StopJob', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop', ], 'input' => [ 'shape' => 'StopJobRequest', ], 'output' => [ 'shape' => 'StopJobResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateApp' => [ 'name' => 'UpdateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}', ], 'input' => [ 'shape' => 'UpdateAppRequest', ], 'output' => [ 'shape' => 'UpdateAppResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateBranch' => [ 'name' => 'UpdateBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}/branches/{branchName}', ], 'input' => [ 'shape' => 'UpdateBranchRequest', ], 'output' => [ 'shape' => 'UpdateBranchResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], 'UpdateDomainAssociation' => [ 'name' => 'UpdateDomainAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/apps/{appId}/domains/{domainName}', ], 'input' => [ 'shape' => 'UpdateDomainAssociationRequest', ], 'output' => [ 'shape' => 'UpdateDomainAssociationResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'DependentServiceFailureException', ], ], ], ], 'shapes' => [ 'ActiveJobId' => [ 'type' => 'string', 'max' => 1000, ], 'App' => [ 'type' => 'structure', 'required' => [ 'appId', 'appArn', 'name', 'description', 'repository', 'platform', 'createTime', 'updateTime', 'environmentVariables', 'defaultDomain', 'enableBranchAutoBuild', 'enableBasicAuth', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'appArn' => [ 'shape' => 'AppArn', ], 'name' => [ 'shape' => 'Name', ], 'tags' => [ 'shape' => 'Tags', ], 'description' => [ 'shape' => 'Description', ], 'repository' => [ 'shape' => 'Repository', ], 'platform' => [ 'shape' => 'Platform', ], 'createTime' => [ 'shape' => 'CreateTime', ], 'updateTime' => [ 'shape' => 'UpdateTime', ], 'iamServiceRoleArn' => [ 'shape' => 'ServiceRoleArn', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'defaultDomain' => [ 'shape' => 'DefaultDomain', ], 'enableBranchAutoBuild' => [ 'shape' => 'EnableBranchAutoBuild', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'customRules' => [ 'shape' => 'CustomRules', ], 'productionBranch' => [ 'shape' => 'ProductionBranch', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], ], ], 'AppArn' => [ 'type' => 'string', 'max' => 1000, ], 'AppId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Apps' => [ 'type' => 'list', 'member' => [ 'shape' => 'App', ], ], 'ArtifactsUrl' => [ 'type' => 'string', 'max' => 1000, ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'BasicAuthCredentials' => [ 'type' => 'string', 'max' => 2000, ], 'Branch' => [ 'type' => 'structure', 'required' => [ 'branchArn', 'branchName', 'description', 'stage', 'enableNotification', 'createTime', 'updateTime', 'environmentVariables', 'enableAutoBuild', 'customDomains', 'framework', 'activeJobId', 'totalNumberOfJobs', 'enableBasicAuth', 'ttl', ], 'members' => [ 'branchArn' => [ 'shape' => 'BranchArn', ], 'branchName' => [ 'shape' => 'BranchName', ], 'description' => [ 'shape' => 'Description', ], 'tags' => [ 'shape' => 'Tags', ], 'stage' => [ 'shape' => 'Stage', ], 'displayName' => [ 'shape' => 'DisplayName', ], 'enableNotification' => [ 'shape' => 'EnableNotification', ], 'createTime' => [ 'shape' => 'CreateTime', ], 'updateTime' => [ 'shape' => 'UpdateTime', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'enableAutoBuild' => [ 'shape' => 'EnableAutoBuild', ], 'customDomains' => [ 'shape' => 'CustomDomains', ], 'framework' => [ 'shape' => 'Framework', ], 'activeJobId' => [ 'shape' => 'ActiveJobId', ], 'totalNumberOfJobs' => [ 'shape' => 'TotalNumberOfJobs', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'thumbnailUrl' => [ 'shape' => 'ThumbnailUrl', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], 'ttl' => [ 'shape' => 'TTL', ], ], ], 'BranchArn' => [ 'type' => 'string', 'max' => 1000, ], 'BranchName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Branches' => [ 'type' => 'list', 'member' => [ 'shape' => 'Branch', ], 'max' => 255, ], 'BuildSpec' => [ 'type' => 'string', 'max' => 25000, 'min' => 1, ], 'CertificateVerificationDNSRecord' => [ 'type' => 'string', 'max' => 1000, ], 'CommitId' => [ 'type' => 'string', 'max' => 255, ], 'CommitMessage' => [ 'type' => 'string', 'max' => 10000, ], 'CommitTime' => [ 'type' => 'timestamp', ], 'Condition' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'CreateAppRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'repository', 'platform', 'oauthToken', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Description', ], 'repository' => [ 'shape' => 'Repository', ], 'platform' => [ 'shape' => 'Platform', ], 'iamServiceRoleArn' => [ 'shape' => 'ServiceRoleArn', ], 'oauthToken' => [ 'shape' => 'OauthToken', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'enableBranchAutoBuild' => [ 'shape' => 'EnableBranchAutoBuild', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'customRules' => [ 'shape' => 'CustomRules', ], 'tags' => [ 'shape' => 'Tags', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], ], ], 'CreateAppResult' => [ 'type' => 'structure', 'required' => [ 'app', ], 'members' => [ 'app' => [ 'shape' => 'App', ], ], ], 'CreateBranchRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', ], 'description' => [ 'shape' => 'Description', ], 'stage' => [ 'shape' => 'Stage', ], 'framework' => [ 'shape' => 'Framework', ], 'enableNotification' => [ 'shape' => 'EnableNotification', ], 'enableAutoBuild' => [ 'shape' => 'EnableAutoBuild', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'tags' => [ 'shape' => 'Tags', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], 'ttl' => [ 'shape' => 'TTL', ], ], ], 'CreateBranchResult' => [ 'type' => 'structure', 'required' => [ 'branch', ], 'members' => [ 'branch' => [ 'shape' => 'Branch', ], ], ], 'CreateDomainAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'domainName', 'subDomainSettings', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'domainName' => [ 'shape' => 'DomainName', ], 'enableAutoSubDomain' => [ 'shape' => 'EnableAutoSubDomain', ], 'subDomainSettings' => [ 'shape' => 'SubDomainSettings', ], ], ], 'CreateDomainAssociationResult' => [ 'type' => 'structure', 'required' => [ 'domainAssociation', ], 'members' => [ 'domainAssociation' => [ 'shape' => 'DomainAssociation', ], ], ], 'CreateTime' => [ 'type' => 'timestamp', ], 'CustomDomain' => [ 'type' => 'string', 'max' => 255, ], 'CustomDomains' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomDomain', ], 'max' => 255, ], 'CustomRule' => [ 'type' => 'structure', 'required' => [ 'source', 'target', ], 'members' => [ 'source' => [ 'shape' => 'Source', ], 'target' => [ 'shape' => 'Target', ], 'status' => [ 'shape' => 'Status', ], 'condition' => [ 'shape' => 'Condition', ], ], ], 'CustomRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomRule', ], ], 'DNSRecord' => [ 'type' => 'string', 'max' => 1000, ], 'DefaultDomain' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'DeleteAppRequest' => [ 'type' => 'structure', 'required' => [ 'appId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], ], ], 'DeleteAppResult' => [ 'type' => 'structure', 'required' => [ 'app', ], 'members' => [ 'app' => [ 'shape' => 'App', ], ], ], 'DeleteBranchRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], ], ], 'DeleteBranchResult' => [ 'type' => 'structure', 'required' => [ 'branch', ], 'members' => [ 'branch' => [ 'shape' => 'Branch', ], ], ], 'DeleteDomainAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'domainName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'domainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'domainName', ], ], ], 'DeleteDomainAssociationResult' => [ 'type' => 'structure', 'required' => [ 'domainAssociation', ], 'members' => [ 'domainAssociation' => [ 'shape' => 'DomainAssociation', ], ], ], 'DeleteJobRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', 'jobId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'DeleteJobResult' => [ 'type' => 'structure', 'required' => [ 'jobSummary', ], 'members' => [ 'jobSummary' => [ 'shape' => 'JobSummary', ], ], ], 'DependentServiceFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, ], 'Description' => [ 'type' => 'string', 'max' => 1000, ], 'DisplayName' => [ 'type' => 'string', 'max' => 255, ], 'DomainAssociation' => [ 'type' => 'structure', 'required' => [ 'domainAssociationArn', 'domainName', 'enableAutoSubDomain', 'domainStatus', 'statusReason', 'certificateVerificationDNSRecord', 'subDomains', ], 'members' => [ 'domainAssociationArn' => [ 'shape' => 'DomainAssociationArn', ], 'domainName' => [ 'shape' => 'DomainName', ], 'enableAutoSubDomain' => [ 'shape' => 'EnableAutoSubDomain', ], 'domainStatus' => [ 'shape' => 'DomainStatus', ], 'statusReason' => [ 'shape' => 'StatusReason', ], 'certificateVerificationDNSRecord' => [ 'shape' => 'CertificateVerificationDNSRecord', ], 'subDomains' => [ 'shape' => 'SubDomains', ], ], ], 'DomainAssociationArn' => [ 'type' => 'string', 'max' => 1000, ], 'DomainAssociations' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainAssociation', ], 'max' => 255, ], 'DomainName' => [ 'type' => 'string', 'max' => 255, ], 'DomainPrefix' => [ 'type' => 'string', 'max' => 255, ], 'DomainStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_VERIFICATION', 'IN_PROGRESS', 'AVAILABLE', 'PENDING_DEPLOYMENT', 'FAILED', ], ], 'EnableAutoBuild' => [ 'type' => 'boolean', ], 'EnableAutoSubDomain' => [ 'type' => 'boolean', ], 'EnableBasicAuth' => [ 'type' => 'boolean', ], 'EnableBranchAutoBuild' => [ 'type' => 'boolean', ], 'EnableNotification' => [ 'type' => 'boolean', ], 'EndTime' => [ 'type' => 'timestamp', ], 'EnvKey' => [ 'type' => 'string', 'max' => 255, ], 'EnvValue' => [ 'type' => 'string', 'max' => 1000, ], 'EnvironmentVariables' => [ 'type' => 'map', 'key' => [ 'shape' => 'EnvKey', ], 'value' => [ 'shape' => 'EnvValue', ], ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 255, ], 'Framework' => [ 'type' => 'string', 'max' => 255, ], 'GetAppRequest' => [ 'type' => 'structure', 'required' => [ 'appId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], ], ], 'GetAppResult' => [ 'type' => 'structure', 'required' => [ 'app', ], 'members' => [ 'app' => [ 'shape' => 'App', ], ], ], 'GetBranchRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], ], ], 'GetBranchResult' => [ 'type' => 'structure', 'required' => [ 'branch', ], 'members' => [ 'branch' => [ 'shape' => 'Branch', ], ], ], 'GetDomainAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'domainName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'domainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'domainName', ], ], ], 'GetDomainAssociationResult' => [ 'type' => 'structure', 'required' => [ 'domainAssociation', ], 'members' => [ 'domainAssociation' => [ 'shape' => 'DomainAssociation', ], ], ], 'GetJobRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', 'jobId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'GetJobResult' => [ 'type' => 'structure', 'required' => [ 'job', ], 'members' => [ 'job' => [ 'shape' => 'Job', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'Job' => [ 'type' => 'structure', 'required' => [ 'summary', 'steps', ], 'members' => [ 'summary' => [ 'shape' => 'JobSummary', ], 'steps' => [ 'shape' => 'Steps', ], ], ], 'JobArn' => [ 'type' => 'string', 'max' => 1000, ], 'JobId' => [ 'type' => 'string', 'max' => 255, ], 'JobReason' => [ 'type' => 'string', 'max' => 255, ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'PROVISIONING', 'RUNNING', 'FAILED', 'SUCCEED', 'CANCELLING', 'CANCELLED', ], ], 'JobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobSummary', ], ], 'JobSummary' => [ 'type' => 'structure', 'required' => [ 'jobArn', 'jobId', 'commitId', 'commitMessage', 'commitTime', 'startTime', 'status', 'jobType', ], 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'commitId' => [ 'shape' => 'CommitId', ], 'commitMessage' => [ 'shape' => 'CommitMessage', ], 'commitTime' => [ 'shape' => 'CommitTime', ], 'startTime' => [ 'shape' => 'StartTime', ], 'status' => [ 'shape' => 'JobStatus', ], 'endTime' => [ 'shape' => 'EndTime', ], 'jobType' => [ 'shape' => 'JobType', ], ], ], 'JobType' => [ 'type' => 'string', 'enum' => [ 'RELEASE', 'RETRY', 'WEB_HOOK', ], 'max' => 10, ], 'LastDeployTime' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListAppsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListAppsResult' => [ 'type' => 'structure', 'required' => [ 'apps', ], 'members' => [ 'apps' => [ 'shape' => 'Apps', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListBranchesRequest' => [ 'type' => 'structure', 'required' => [ 'appId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListBranchesResult' => [ 'type' => 'structure', 'required' => [ 'branches', ], 'members' => [ 'branches' => [ 'shape' => 'Branches', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDomainAssociationsRequest' => [ 'type' => 'structure', 'required' => [ 'appId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListDomainAssociationsResult' => [ 'type' => 'structure', 'required' => [ 'domainAssociations', ], 'members' => [ 'domainAssociations' => [ 'shape' => 'DomainAssociations', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListJobsResult' => [ 'type' => 'structure', 'required' => [ 'jobSummaries', ], 'members' => [ 'jobSummaries' => [ 'shape' => 'JobSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'LogUrl' => [ 'type' => 'string', 'max' => 1000, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Name' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'max' => 2000, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'OauthToken' => [ 'type' => 'string', 'max' => 100, ], 'Platform' => [ 'type' => 'string', 'enum' => [ 'IOS', 'ANDROID', 'WEB', 'REACT_NATIVE', ], ], 'ProductionBranch' => [ 'type' => 'structure', 'members' => [ 'lastDeployTime' => [ 'shape' => 'LastDeployTime', ], 'status' => [ 'shape' => 'Status', ], 'thumbnailUrl' => [ 'shape' => 'ThumbnailUrl', ], 'branchName' => [ 'shape' => 'BranchName', ], ], ], 'Repository' => [ 'type' => 'string', 'max' => 1000, ], 'Screenshots' => [ 'type' => 'map', 'key' => [ 'shape' => 'ThumbnailName', ], 'value' => [ 'shape' => 'ThumbnailUrl', ], ], 'ServiceRoleArn' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'Source' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'Stage' => [ 'type' => 'string', 'enum' => [ 'PRODUCTION', 'BETA', 'DEVELOPMENT', 'EXPERIMENTAL', ], ], 'StartJobRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', 'jobType', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'jobId' => [ 'shape' => 'JobId', ], 'jobType' => [ 'shape' => 'JobType', ], 'jobReason' => [ 'shape' => 'JobReason', ], 'commitId' => [ 'shape' => 'CommitId', ], 'commitMessage' => [ 'shape' => 'CommitMessage', ], 'commitTime' => [ 'shape' => 'CommitTime', ], ], ], 'StartJobResult' => [ 'type' => 'structure', 'required' => [ 'jobSummary', ], 'members' => [ 'jobSummary' => [ 'shape' => 'JobSummary', ], ], ], 'StartTime' => [ 'type' => 'timestamp', ], 'Status' => [ 'type' => 'string', 'max' => 3, 'min' => 3, ], 'StatusReason' => [ 'type' => 'string', 'max' => 1000, ], 'Step' => [ 'type' => 'structure', 'required' => [ 'stepName', 'startTime', 'status', 'endTime', ], 'members' => [ 'stepName' => [ 'shape' => 'StepName', ], 'startTime' => [ 'shape' => 'StartTime', ], 'status' => [ 'shape' => 'JobStatus', ], 'endTime' => [ 'shape' => 'EndTime', ], 'logUrl' => [ 'shape' => 'LogUrl', ], 'artifactsUrl' => [ 'shape' => 'ArtifactsUrl', ], 'screenshots' => [ 'shape' => 'Screenshots', ], ], ], 'StepName' => [ 'type' => 'string', 'max' => 255, ], 'Steps' => [ 'type' => 'list', 'member' => [ 'shape' => 'Step', ], ], 'StopJobRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', 'jobId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'StopJobResult' => [ 'type' => 'structure', 'required' => [ 'jobSummary', ], 'members' => [ 'jobSummary' => [ 'shape' => 'JobSummary', ], ], ], 'SubDomain' => [ 'type' => 'structure', 'required' => [ 'subDomainSetting', 'verified', 'dnsRecord', ], 'members' => [ 'subDomainSetting' => [ 'shape' => 'SubDomainSetting', ], 'verified' => [ 'shape' => 'Verified', ], 'dnsRecord' => [ 'shape' => 'DNSRecord', ], ], ], 'SubDomainSetting' => [ 'type' => 'structure', 'required' => [ 'prefix', 'branchName', ], 'members' => [ 'prefix' => [ 'shape' => 'DomainPrefix', ], 'branchName' => [ 'shape' => 'BranchName', ], ], ], 'SubDomainSettings' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubDomainSetting', ], 'max' => 255, ], 'SubDomains' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubDomain', ], 'max' => 255, ], 'TTL' => [ 'type' => 'string', ], 'TagKey' => [ 'type' => 'string', 'max' => 1000, ], 'TagValue' => [ 'type' => 'string', 'max' => 1000, ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'Target' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ThumbnailName' => [ 'type' => 'string', 'max' => 256, ], 'ThumbnailUrl' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], 'TotalNumberOfJobs' => [ 'type' => 'string', 'max' => 1000, ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UpdateAppRequest' => [ 'type' => 'structure', 'required' => [ 'appId', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Description', ], 'platform' => [ 'shape' => 'Platform', ], 'iamServiceRoleArn' => [ 'shape' => 'ServiceRoleArn', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'enableBranchAutoBuild' => [ 'shape' => 'EnableAutoBuild', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'customRules' => [ 'shape' => 'CustomRules', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], ], ], 'UpdateAppResult' => [ 'type' => 'structure', 'required' => [ 'app', ], 'members' => [ 'app' => [ 'shape' => 'App', ], ], ], 'UpdateBranchRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'branchName', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'branchName' => [ 'shape' => 'BranchName', 'location' => 'uri', 'locationName' => 'branchName', ], 'description' => [ 'shape' => 'Description', ], 'framework' => [ 'shape' => 'Framework', ], 'stage' => [ 'shape' => 'Stage', ], 'enableNotification' => [ 'shape' => 'EnableNotification', ], 'enableAutoBuild' => [ 'shape' => 'EnableAutoBuild', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'basicAuthCredentials' => [ 'shape' => 'BasicAuthCredentials', ], 'enableBasicAuth' => [ 'shape' => 'EnableBasicAuth', ], 'buildSpec' => [ 'shape' => 'BuildSpec', ], 'ttl' => [ 'shape' => 'TTL', ], ], ], 'UpdateBranchResult' => [ 'type' => 'structure', 'required' => [ 'branch', ], 'members' => [ 'branch' => [ 'shape' => 'Branch', ], ], ], 'UpdateDomainAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'appId', 'domainName', 'subDomainSettings', ], 'members' => [ 'appId' => [ 'shape' => 'AppId', 'location' => 'uri', 'locationName' => 'appId', ], 'domainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'domainName', ], 'enableAutoSubDomain' => [ 'shape' => 'EnableAutoSubDomain', ], 'subDomainSettings' => [ 'shape' => 'SubDomainSettings', ], ], ], 'UpdateDomainAssociationResult' => [ 'type' => 'structure', 'required' => [ 'domainAssociation', ], 'members' => [ 'domainAssociation' => [ 'shape' => 'DomainAssociation', ], ], ], 'UpdateTime' => [ 'type' => 'timestamp', ], 'Verified' => [ 'type' => 'boolean', ], ],]; diff --git a/lib/aws/Aws/data/amplify/2017-07-25/paginators-1.json.php b/lib/aws/Aws/data/amplify/2017-07-25/paginators-1.json.php new file mode 100644 index 0000000..0c1f93c --- /dev/null +++ b/lib/aws/Aws/data/amplify/2017-07-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/amplify/2017-07-25/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/apigateway/2015-07-09/api-2.json.php b/lib/aws/Aws/data/apigateway/2015-07-09/api-2.json.php new file mode 100644 index 0000000..6062638 --- /dev/null +++ b/lib/aws/Aws/data/apigateway/2015-07-09/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigateway/2015-07-09/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-07-09', 'endpointPrefix' => 'apigateway', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon API Gateway', 'serviceId' => 'API Gateway', 'signatureVersion' => 'v4', 'uid' => 'apigateway-2015-07-09', ], 'operations' => [ 'CreateApiKey' => [ 'name' => 'CreateApiKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/apikeys', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateApiKeyRequest', ], 'output' => [ 'shape' => 'ApiKey', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateAuthorizer' => [ 'name' => 'CreateAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/authorizers', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAuthorizerRequest', ], 'output' => [ 'shape' => 'Authorizer', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateBasePathMapping' => [ 'name' => 'CreateBasePathMapping', 'http' => [ 'method' => 'POST', 'requestUri' => '/domainnames/{domain_name}/basepathmappings', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateBasePathMappingRequest', ], 'output' => [ 'shape' => 'BasePathMapping', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateDeployment' => [ 'name' => 'CreateDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/deployments', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDeploymentRequest', ], 'output' => [ 'shape' => 'Deployment', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateDocumentationPart' => [ 'name' => 'CreateDocumentationPart', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/documentation/parts', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDocumentationPartRequest', ], 'output' => [ 'shape' => 'DocumentationPart', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateDocumentationVersion' => [ 'name' => 'CreateDocumentationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/documentation/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDocumentationVersionRequest', ], 'output' => [ 'shape' => 'DocumentationVersion', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateDomainName' => [ 'name' => 'CreateDomainName', 'http' => [ 'method' => 'POST', 'requestUri' => '/domainnames', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDomainNameRequest', ], 'output' => [ 'shape' => 'DomainName', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateModel' => [ 'name' => 'CreateModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/models', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateModelRequest', ], 'output' => [ 'shape' => 'Model', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateRequestValidator' => [ 'name' => 'CreateRequestValidator', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/requestvalidators', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateRequestValidatorRequest', ], 'output' => [ 'shape' => 'RequestValidator', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateResource' => [ 'name' => 'CreateResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/resources/{parent_id}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateResourceRequest', ], 'output' => [ 'shape' => 'Resource', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateRestApi' => [ 'name' => 'CreateRestApi', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateRestApiRequest', ], 'output' => [ 'shape' => 'RestApi', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateStage' => [ 'name' => 'CreateStage', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/stages', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStageRequest', ], 'output' => [ 'shape' => 'Stage', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateUsagePlan' => [ 'name' => 'CreateUsagePlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/usageplans', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateUsagePlanRequest', ], 'output' => [ 'shape' => 'UsagePlan', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CreateUsagePlanKey' => [ 'name' => 'CreateUsagePlanKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/usageplans/{usageplanId}/keys', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateUsagePlanKeyRequest', ], 'output' => [ 'shape' => 'UsagePlanKey', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateVpcLink' => [ 'name' => 'CreateVpcLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/vpclinks', 'responseCode' => 202, ], 'input' => [ 'shape' => 'CreateVpcLinkRequest', ], 'output' => [ 'shape' => 'VpcLink', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApiKey' => [ 'name' => 'DeleteApiKey', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/apikeys/{api_Key}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteApiKeyRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteAuthorizer' => [ 'name' => 'DeleteAuthorizer', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/authorizers/{authorizer_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteAuthorizerRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteBasePathMapping' => [ 'name' => 'DeleteBasePathMapping', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/domainnames/{domain_name}/basepathmappings/{base_path}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteBasePathMappingRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteClientCertificate' => [ 'name' => 'DeleteClientCertificate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/clientcertificates/{clientcertificate_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteClientCertificateRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteDeployment' => [ 'name' => 'DeleteDeployment', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/deployments/{deployment_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteDeploymentRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteDocumentationPart' => [ 'name' => 'DeleteDocumentationPart', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/documentation/parts/{part_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteDocumentationPartRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteDocumentationVersion' => [ 'name' => 'DeleteDocumentationVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/documentation/versions/{doc_version}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteDocumentationVersionRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteDomainName' => [ 'name' => 'DeleteDomainName', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/domainnames/{domain_name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteDomainNameRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteGatewayResponse' => [ 'name' => 'DeleteGatewayResponse', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/gatewayresponses/{response_type}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteGatewayResponseRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteIntegration' => [ 'name' => 'DeleteIntegration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntegrationRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteIntegrationResponse' => [ 'name' => 'DeleteIntegrationResponse', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntegrationResponseRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteMethod' => [ 'name' => 'DeleteMethod', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteMethodRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteMethodResponse' => [ 'name' => 'DeleteMethodResponse', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteMethodResponseRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteModel' => [ 'name' => 'DeleteModel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/models/{model_name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteModelRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteRequestValidator' => [ 'name' => 'DeleteRequestValidator', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteRequestValidatorRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteResource' => [ 'name' => 'DeleteResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteResourceRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteRestApi' => [ 'name' => 'DeleteRestApi', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteRestApiRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteStage' => [ 'name' => 'DeleteStage', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteStageRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteUsagePlan' => [ 'name' => 'DeleteUsagePlan', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/usageplans/{usageplanId}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteUsagePlanRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteUsagePlanKey' => [ 'name' => 'DeleteUsagePlanKey', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/usageplans/{usageplanId}/keys/{keyId}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteUsagePlanKeyRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteVpcLink' => [ 'name' => 'DeleteVpcLink', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/vpclinks/{vpclink_id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteVpcLinkRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'FlushStageAuthorizersCache' => [ 'name' => 'FlushStageAuthorizersCache', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers', 'responseCode' => 202, ], 'input' => [ 'shape' => 'FlushStageAuthorizersCacheRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'FlushStageCache' => [ 'name' => 'FlushStageCache', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}/cache/data', 'responseCode' => 202, ], 'input' => [ 'shape' => 'FlushStageCacheRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GenerateClientCertificate' => [ 'name' => 'GenerateClientCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/clientcertificates', 'responseCode' => 201, ], 'input' => [ 'shape' => 'GenerateClientCertificateRequest', ], 'output' => [ 'shape' => 'ClientCertificate', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetAccount' => [ 'name' => 'GetAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/account', ], 'input' => [ 'shape' => 'GetAccountRequest', ], 'output' => [ 'shape' => 'Account', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApiKey' => [ 'name' => 'GetApiKey', 'http' => [ 'method' => 'GET', 'requestUri' => '/apikeys/{api_Key}', ], 'input' => [ 'shape' => 'GetApiKeyRequest', ], 'output' => [ 'shape' => 'ApiKey', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApiKeys' => [ 'name' => 'GetApiKeys', 'http' => [ 'method' => 'GET', 'requestUri' => '/apikeys', ], 'input' => [ 'shape' => 'GetApiKeysRequest', ], 'output' => [ 'shape' => 'ApiKeys', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetAuthorizer' => [ 'name' => 'GetAuthorizer', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/authorizers/{authorizer_id}', ], 'input' => [ 'shape' => 'GetAuthorizerRequest', ], 'output' => [ 'shape' => 'Authorizer', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetAuthorizers' => [ 'name' => 'GetAuthorizers', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/authorizers', ], 'input' => [ 'shape' => 'GetAuthorizersRequest', ], 'output' => [ 'shape' => 'Authorizers', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetBasePathMapping' => [ 'name' => 'GetBasePathMapping', 'http' => [ 'method' => 'GET', 'requestUri' => '/domainnames/{domain_name}/basepathmappings/{base_path}', ], 'input' => [ 'shape' => 'GetBasePathMappingRequest', ], 'output' => [ 'shape' => 'BasePathMapping', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetBasePathMappings' => [ 'name' => 'GetBasePathMappings', 'http' => [ 'method' => 'GET', 'requestUri' => '/domainnames/{domain_name}/basepathmappings', ], 'input' => [ 'shape' => 'GetBasePathMappingsRequest', ], 'output' => [ 'shape' => 'BasePathMappings', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetClientCertificate' => [ 'name' => 'GetClientCertificate', 'http' => [ 'method' => 'GET', 'requestUri' => '/clientcertificates/{clientcertificate_id}', ], 'input' => [ 'shape' => 'GetClientCertificateRequest', ], 'output' => [ 'shape' => 'ClientCertificate', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetClientCertificates' => [ 'name' => 'GetClientCertificates', 'http' => [ 'method' => 'GET', 'requestUri' => '/clientcertificates', ], 'input' => [ 'shape' => 'GetClientCertificatesRequest', ], 'output' => [ 'shape' => 'ClientCertificates', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDeployment' => [ 'name' => 'GetDeployment', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/deployments/{deployment_id}', ], 'input' => [ 'shape' => 'GetDeploymentRequest', ], 'output' => [ 'shape' => 'Deployment', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetDeployments' => [ 'name' => 'GetDeployments', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/deployments', ], 'input' => [ 'shape' => 'GetDeploymentsRequest', ], 'output' => [ 'shape' => 'Deployments', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetDocumentationPart' => [ 'name' => 'GetDocumentationPart', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/documentation/parts/{part_id}', ], 'input' => [ 'shape' => 'GetDocumentationPartRequest', ], 'output' => [ 'shape' => 'DocumentationPart', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDocumentationParts' => [ 'name' => 'GetDocumentationParts', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/documentation/parts', ], 'input' => [ 'shape' => 'GetDocumentationPartsRequest', ], 'output' => [ 'shape' => 'DocumentationParts', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDocumentationVersion' => [ 'name' => 'GetDocumentationVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/documentation/versions/{doc_version}', ], 'input' => [ 'shape' => 'GetDocumentationVersionRequest', ], 'output' => [ 'shape' => 'DocumentationVersion', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDocumentationVersions' => [ 'name' => 'GetDocumentationVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/documentation/versions', ], 'input' => [ 'shape' => 'GetDocumentationVersionsRequest', ], 'output' => [ 'shape' => 'DocumentationVersions', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDomainName' => [ 'name' => 'GetDomainName', 'http' => [ 'method' => 'GET', 'requestUri' => '/domainnames/{domain_name}', ], 'input' => [ 'shape' => 'GetDomainNameRequest', ], 'output' => [ 'shape' => 'DomainName', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDomainNames' => [ 'name' => 'GetDomainNames', 'http' => [ 'method' => 'GET', 'requestUri' => '/domainnames', ], 'input' => [ 'shape' => 'GetDomainNamesRequest', ], 'output' => [ 'shape' => 'DomainNames', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetExport' => [ 'name' => 'GetExport', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetExportRequest', ], 'output' => [ 'shape' => 'ExportResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetGatewayResponse' => [ 'name' => 'GetGatewayResponse', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/gatewayresponses/{response_type}', ], 'input' => [ 'shape' => 'GetGatewayResponseRequest', ], 'output' => [ 'shape' => 'GatewayResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetGatewayResponses' => [ 'name' => 'GetGatewayResponses', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/gatewayresponses', ], 'input' => [ 'shape' => 'GetGatewayResponsesRequest', ], 'output' => [ 'shape' => 'GatewayResponses', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetIntegration' => [ 'name' => 'GetIntegration', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration', ], 'input' => [ 'shape' => 'GetIntegrationRequest', ], 'output' => [ 'shape' => 'Integration', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetIntegrationResponse' => [ 'name' => 'GetIntegrationResponse', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}', ], 'input' => [ 'shape' => 'GetIntegrationResponseRequest', ], 'output' => [ 'shape' => 'IntegrationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetMethod' => [ 'name' => 'GetMethod', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}', ], 'input' => [ 'shape' => 'GetMethodRequest', ], 'output' => [ 'shape' => 'Method', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetMethodResponse' => [ 'name' => 'GetMethodResponse', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}', ], 'input' => [ 'shape' => 'GetMethodResponseRequest', ], 'output' => [ 'shape' => 'MethodResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetModel' => [ 'name' => 'GetModel', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/models/{model_name}', ], 'input' => [ 'shape' => 'GetModelRequest', ], 'output' => [ 'shape' => 'Model', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetModelTemplate' => [ 'name' => 'GetModelTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/models/{model_name}/default_template', ], 'input' => [ 'shape' => 'GetModelTemplateRequest', ], 'output' => [ 'shape' => 'Template', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetModels' => [ 'name' => 'GetModels', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/models', ], 'input' => [ 'shape' => 'GetModelsRequest', ], 'output' => [ 'shape' => 'Models', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRequestValidator' => [ 'name' => 'GetRequestValidator', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}', ], 'input' => [ 'shape' => 'GetRequestValidatorRequest', ], 'output' => [ 'shape' => 'RequestValidator', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRequestValidators' => [ 'name' => 'GetRequestValidators', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/requestvalidators', ], 'input' => [ 'shape' => 'GetRequestValidatorsRequest', ], 'output' => [ 'shape' => 'RequestValidators', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetResource' => [ 'name' => 'GetResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}', ], 'input' => [ 'shape' => 'GetResourceRequest', ], 'output' => [ 'shape' => 'Resource', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetResources' => [ 'name' => 'GetResources', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/resources', ], 'input' => [ 'shape' => 'GetResourcesRequest', ], 'output' => [ 'shape' => 'Resources', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRestApi' => [ 'name' => 'GetRestApi', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}', ], 'input' => [ 'shape' => 'GetRestApiRequest', ], 'output' => [ 'shape' => 'RestApi', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRestApis' => [ 'name' => 'GetRestApis', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis', ], 'input' => [ 'shape' => 'GetRestApisRequest', ], 'output' => [ 'shape' => 'RestApis', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSdk' => [ 'name' => 'GetSdk', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSdkRequest', ], 'output' => [ 'shape' => 'SdkResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSdkType' => [ 'name' => 'GetSdkType', 'http' => [ 'method' => 'GET', 'requestUri' => '/sdktypes/{sdktype_id}', ], 'input' => [ 'shape' => 'GetSdkTypeRequest', ], 'output' => [ 'shape' => 'SdkType', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSdkTypes' => [ 'name' => 'GetSdkTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/sdktypes', ], 'input' => [ 'shape' => 'GetSdkTypesRequest', ], 'output' => [ 'shape' => 'SdkTypes', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetStage' => [ 'name' => 'GetStage', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}', ], 'input' => [ 'shape' => 'GetStageRequest', ], 'output' => [ 'shape' => 'Stage', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetStages' => [ 'name' => 'GetStages', 'http' => [ 'method' => 'GET', 'requestUri' => '/restapis/{restapi_id}/stages', ], 'input' => [ 'shape' => 'GetStagesRequest', ], 'output' => [ 'shape' => 'Stages', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetTags' => [ 'name' => 'GetTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resource_arn}', ], 'input' => [ 'shape' => 'GetTagsRequest', ], 'output' => [ 'shape' => 'Tags', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetUsage' => [ 'name' => 'GetUsage', 'http' => [ 'method' => 'GET', 'requestUri' => '/usageplans/{usageplanId}/usage', ], 'input' => [ 'shape' => 'GetUsageRequest', ], 'output' => [ 'shape' => 'Usage', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetUsagePlan' => [ 'name' => 'GetUsagePlan', 'http' => [ 'method' => 'GET', 'requestUri' => '/usageplans/{usageplanId}', ], 'input' => [ 'shape' => 'GetUsagePlanRequest', ], 'output' => [ 'shape' => 'UsagePlan', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetUsagePlanKey' => [ 'name' => 'GetUsagePlanKey', 'http' => [ 'method' => 'GET', 'requestUri' => '/usageplans/{usageplanId}/keys/{keyId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetUsagePlanKeyRequest', ], 'output' => [ 'shape' => 'UsagePlanKey', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetUsagePlanKeys' => [ 'name' => 'GetUsagePlanKeys', 'http' => [ 'method' => 'GET', 'requestUri' => '/usageplans/{usageplanId}/keys', ], 'input' => [ 'shape' => 'GetUsagePlanKeysRequest', ], 'output' => [ 'shape' => 'UsagePlanKeys', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetUsagePlans' => [ 'name' => 'GetUsagePlans', 'http' => [ 'method' => 'GET', 'requestUri' => '/usageplans', ], 'input' => [ 'shape' => 'GetUsagePlansRequest', ], 'output' => [ 'shape' => 'UsagePlans', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], ], ], 'GetVpcLink' => [ 'name' => 'GetVpcLink', 'http' => [ 'method' => 'GET', 'requestUri' => '/vpclinks/{vpclink_id}', ], 'input' => [ 'shape' => 'GetVpcLinkRequest', ], 'output' => [ 'shape' => 'VpcLink', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetVpcLinks' => [ 'name' => 'GetVpcLinks', 'http' => [ 'method' => 'GET', 'requestUri' => '/vpclinks', ], 'input' => [ 'shape' => 'GetVpcLinksRequest', ], 'output' => [ 'shape' => 'VpcLinks', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ImportApiKeys' => [ 'name' => 'ImportApiKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/apikeys?mode=import', 'responseCode' => 201, ], 'input' => [ 'shape' => 'ImportApiKeysRequest', ], 'output' => [ 'shape' => 'ApiKeyIds', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'ImportDocumentationParts' => [ 'name' => 'ImportDocumentationParts', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/documentation/parts', ], 'input' => [ 'shape' => 'ImportDocumentationPartsRequest', ], 'output' => [ 'shape' => 'DocumentationPartIds', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ImportRestApi' => [ 'name' => 'ImportRestApi', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis?mode=import', 'responseCode' => 201, ], 'input' => [ 'shape' => 'ImportRestApiRequest', ], 'output' => [ 'shape' => 'RestApi', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'PutGatewayResponse' => [ 'name' => 'PutGatewayResponse', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/gatewayresponses/{response_type}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PutGatewayResponseRequest', ], 'output' => [ 'shape' => 'GatewayResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutIntegration' => [ 'name' => 'PutIntegration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PutIntegrationRequest', ], 'output' => [ 'shape' => 'Integration', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutIntegrationResponse' => [ 'name' => 'PutIntegrationResponse', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PutIntegrationResponseRequest', ], 'output' => [ 'shape' => 'IntegrationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'PutMethod' => [ 'name' => 'PutMethod', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PutMethodRequest', ], 'output' => [ 'shape' => 'Method', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutMethodResponse' => [ 'name' => 'PutMethodResponse', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PutMethodResponseRequest', ], 'output' => [ 'shape' => 'MethodResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutRestApi' => [ 'name' => 'PutRestApi', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restapis/{restapi_id}', ], 'input' => [ 'shape' => 'PutRestApiRequest', ], 'output' => [ 'shape' => 'RestApi', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/tags/{resource_arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConflictException', ], ], ], 'TestInvokeAuthorizer' => [ 'name' => 'TestInvokeAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/authorizers/{authorizer_id}', ], 'input' => [ 'shape' => 'TestInvokeAuthorizerRequest', ], 'output' => [ 'shape' => 'TestInvokeAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'TestInvokeMethod' => [ 'name' => 'TestInvokeMethod', 'http' => [ 'method' => 'POST', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}', ], 'input' => [ 'shape' => 'TestInvokeMethodRequest', ], 'output' => [ 'shape' => 'TestInvokeMethodResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resource_arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateAccount' => [ 'name' => 'UpdateAccount', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/account', ], 'input' => [ 'shape' => 'UpdateAccountRequest', ], 'output' => [ 'shape' => 'Account', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApiKey' => [ 'name' => 'UpdateApiKey', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/apikeys/{api_Key}', ], 'input' => [ 'shape' => 'UpdateApiKeyRequest', ], 'output' => [ 'shape' => 'ApiKey', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateAuthorizer' => [ 'name' => 'UpdateAuthorizer', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/authorizers/{authorizer_id}', ], 'input' => [ 'shape' => 'UpdateAuthorizerRequest', ], 'output' => [ 'shape' => 'Authorizer', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateBasePathMapping' => [ 'name' => 'UpdateBasePathMapping', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/domainnames/{domain_name}/basepathmappings/{base_path}', ], 'input' => [ 'shape' => 'UpdateBasePathMappingRequest', ], 'output' => [ 'shape' => 'BasePathMapping', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateClientCertificate' => [ 'name' => 'UpdateClientCertificate', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/clientcertificates/{clientcertificate_id}', ], 'input' => [ 'shape' => 'UpdateClientCertificateRequest', ], 'output' => [ 'shape' => 'ClientCertificate', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'UpdateDeployment' => [ 'name' => 'UpdateDeployment', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/deployments/{deployment_id}', ], 'input' => [ 'shape' => 'UpdateDeploymentRequest', ], 'output' => [ 'shape' => 'Deployment', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateDocumentationPart' => [ 'name' => 'UpdateDocumentationPart', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/documentation/parts/{part_id}', ], 'input' => [ 'shape' => 'UpdateDocumentationPartRequest', ], 'output' => [ 'shape' => 'DocumentationPart', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateDocumentationVersion' => [ 'name' => 'UpdateDocumentationVersion', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/documentation/versions/{doc_version}', ], 'input' => [ 'shape' => 'UpdateDocumentationVersionRequest', ], 'output' => [ 'shape' => 'DocumentationVersion', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateDomainName' => [ 'name' => 'UpdateDomainName', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/domainnames/{domain_name}', ], 'input' => [ 'shape' => 'UpdateDomainNameRequest', ], 'output' => [ 'shape' => 'DomainName', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateGatewayResponse' => [ 'name' => 'UpdateGatewayResponse', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/gatewayresponses/{response_type}', ], 'input' => [ 'shape' => 'UpdateGatewayResponseRequest', ], 'output' => [ 'shape' => 'GatewayResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateIntegration' => [ 'name' => 'UpdateIntegration', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration', ], 'input' => [ 'shape' => 'UpdateIntegrationRequest', ], 'output' => [ 'shape' => 'Integration', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateIntegrationResponse' => [ 'name' => 'UpdateIntegrationResponse', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}', ], 'input' => [ 'shape' => 'UpdateIntegrationResponseRequest', ], 'output' => [ 'shape' => 'IntegrationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateMethod' => [ 'name' => 'UpdateMethod', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}', ], 'input' => [ 'shape' => 'UpdateMethodRequest', ], 'output' => [ 'shape' => 'Method', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateMethodResponse' => [ 'name' => 'UpdateMethodResponse', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'UpdateMethodResponseRequest', ], 'output' => [ 'shape' => 'MethodResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateModel' => [ 'name' => 'UpdateModel', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/models/{model_name}', ], 'input' => [ 'shape' => 'UpdateModelRequest', ], 'output' => [ 'shape' => 'Model', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateRequestValidator' => [ 'name' => 'UpdateRequestValidator', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}', ], 'input' => [ 'shape' => 'UpdateRequestValidatorRequest', ], 'output' => [ 'shape' => 'RequestValidator', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateResource' => [ 'name' => 'UpdateResource', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/resources/{resource_id}', ], 'input' => [ 'shape' => 'UpdateResourceRequest', ], 'output' => [ 'shape' => 'Resource', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateRestApi' => [ 'name' => 'UpdateRestApi', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}', ], 'input' => [ 'shape' => 'UpdateRestApiRequest', ], 'output' => [ 'shape' => 'RestApi', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateStage' => [ 'name' => 'UpdateStage', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/restapis/{restapi_id}/stages/{stage_name}', ], 'input' => [ 'shape' => 'UpdateStageRequest', ], 'output' => [ 'shape' => 'Stage', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateUsage' => [ 'name' => 'UpdateUsage', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/usageplans/{usageplanId}/keys/{keyId}/usage', ], 'input' => [ 'shape' => 'UpdateUsageRequest', ], 'output' => [ 'shape' => 'Usage', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'UpdateUsagePlan' => [ 'name' => 'UpdateUsagePlan', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/usageplans/{usageplanId}', ], 'input' => [ 'shape' => 'UpdateUsagePlanRequest', ], 'output' => [ 'shape' => 'UsagePlan', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateVpcLink' => [ 'name' => 'UpdateVpcLink', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/vpclinks/{vpclink_id}', ], 'input' => [ 'shape' => 'UpdateVpcLinkRequest', ], 'output' => [ 'shape' => 'VpcLink', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'AccessLogSettings' => [ 'type' => 'structure', 'members' => [ 'format' => [ 'shape' => 'String', ], 'destinationArn' => [ 'shape' => 'String', ], ], ], 'Account' => [ 'type' => 'structure', 'members' => [ 'cloudwatchRoleArn' => [ 'shape' => 'String', ], 'throttleSettings' => [ 'shape' => 'ThrottleSettings', ], 'features' => [ 'shape' => 'ListOfString', ], 'apiKeyVersion' => [ 'shape' => 'String', ], ], ], 'ApiKey' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'customerId' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'enabled' => [ 'shape' => 'Boolean', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'stageKeys' => [ 'shape' => 'ListOfString', ], ], ], 'ApiKeyIds' => [ 'type' => 'structure', 'members' => [ 'ids' => [ 'shape' => 'ListOfString', ], 'warnings' => [ 'shape' => 'ListOfString', ], ], ], 'ApiKeySourceType' => [ 'type' => 'string', 'enum' => [ 'HEADER', 'AUTHORIZER', ], ], 'ApiKeys' => [ 'type' => 'structure', 'members' => [ 'warnings' => [ 'shape' => 'ListOfString', ], 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfApiKey', 'locationName' => 'item', ], ], ], 'ApiKeysFormat' => [ 'type' => 'string', 'enum' => [ 'csv', ], ], 'ApiStage' => [ 'type' => 'structure', 'members' => [ 'apiId' => [ 'shape' => 'String', ], 'stage' => [ 'shape' => 'String', ], 'throttle' => [ 'shape' => 'MapOfApiStageThrottleSettings', ], ], ], 'Authorizer' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'AuthorizerType', ], 'providerARNs' => [ 'shape' => 'ListOfARNs', ], 'authType' => [ 'shape' => 'String', ], 'authorizerUri' => [ 'shape' => 'String', ], 'authorizerCredentials' => [ 'shape' => 'String', ], 'identitySource' => [ 'shape' => 'String', ], 'identityValidationExpression' => [ 'shape' => 'String', ], 'authorizerResultTtlInSeconds' => [ 'shape' => 'NullableInteger', ], ], ], 'AuthorizerType' => [ 'type' => 'string', 'enum' => [ 'TOKEN', 'REQUEST', 'COGNITO_USER_POOLS', ], ], 'Authorizers' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfAuthorizer', 'locationName' => 'item', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'BasePathMapping' => [ 'type' => 'structure', 'members' => [ 'basePath' => [ 'shape' => 'String', ], 'restApiId' => [ 'shape' => 'String', ], 'stage' => [ 'shape' => 'String', ], ], ], 'BasePathMappings' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfBasePathMapping', 'locationName' => 'item', ], ], ], 'Blob' => [ 'type' => 'blob', ], 'Boolean' => [ 'type' => 'boolean', ], 'CacheClusterSize' => [ 'type' => 'string', 'enum' => [ '0.5', '1.6', '6.1', '13.5', '28.4', '58.2', '118', '237', ], ], 'CacheClusterStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'AVAILABLE', 'DELETE_IN_PROGRESS', 'NOT_AVAILABLE', 'FLUSH_IN_PROGRESS', ], ], 'CanarySettings' => [ 'type' => 'structure', 'members' => [ 'percentTraffic' => [ 'shape' => 'Double', ], 'deploymentId' => [ 'shape' => 'String', ], 'stageVariableOverrides' => [ 'shape' => 'MapOfStringToString', ], 'useStageCache' => [ 'shape' => 'Boolean', ], ], ], 'ClientCertificate' => [ 'type' => 'structure', 'members' => [ 'clientCertificateId' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'pemEncodedCertificate' => [ 'shape' => 'String', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'expirationDate' => [ 'shape' => 'Timestamp', ], ], ], 'ClientCertificates' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfClientCertificate', 'locationName' => 'item', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ConnectionType' => [ 'type' => 'string', 'enum' => [ 'INTERNET', 'VPC_LINK', ], ], 'ContentHandlingStrategy' => [ 'type' => 'string', 'enum' => [ 'CONVERT_TO_BINARY', 'CONVERT_TO_TEXT', ], ], 'CreateApiKeyRequest' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'enabled' => [ 'shape' => 'Boolean', ], 'generateDistinctId' => [ 'shape' => 'Boolean', ], 'value' => [ 'shape' => 'String', ], 'stageKeys' => [ 'shape' => 'ListOfStageKeys', ], 'customerId' => [ 'shape' => 'String', ], ], ], 'CreateAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'name', 'type', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'name' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'AuthorizerType', ], 'providerARNs' => [ 'shape' => 'ListOfARNs', ], 'authType' => [ 'shape' => 'String', ], 'authorizerUri' => [ 'shape' => 'String', ], 'authorizerCredentials' => [ 'shape' => 'String', ], 'identitySource' => [ 'shape' => 'String', ], 'identityValidationExpression' => [ 'shape' => 'String', ], 'authorizerResultTtlInSeconds' => [ 'shape' => 'NullableInteger', ], ], ], 'CreateBasePathMappingRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'restApiId', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'basePath' => [ 'shape' => 'String', ], 'restApiId' => [ 'shape' => 'String', ], 'stage' => [ 'shape' => 'String', ], ], ], 'CreateDeploymentRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', ], 'stageDescription' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'cacheClusterEnabled' => [ 'shape' => 'NullableBoolean', ], 'cacheClusterSize' => [ 'shape' => 'CacheClusterSize', ], 'variables' => [ 'shape' => 'MapOfStringToString', ], 'canarySettings' => [ 'shape' => 'DeploymentCanarySettings', ], 'tracingEnabled' => [ 'shape' => 'NullableBoolean', ], ], ], 'CreateDocumentationPartRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'location', 'properties', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'location' => [ 'shape' => 'DocumentationPartLocation', ], 'properties' => [ 'shape' => 'String', ], ], ], 'CreateDocumentationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationVersion', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationVersion' => [ 'shape' => 'String', ], 'stageName' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], ], ], 'CreateDomainNameRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'String', ], 'certificateName' => [ 'shape' => 'String', ], 'certificateBody' => [ 'shape' => 'String', ], 'certificatePrivateKey' => [ 'shape' => 'String', ], 'certificateChain' => [ 'shape' => 'String', ], 'certificateArn' => [ 'shape' => 'String', ], 'regionalCertificateName' => [ 'shape' => 'String', ], 'regionalCertificateArn' => [ 'shape' => 'String', ], 'endpointConfiguration' => [ 'shape' => 'EndpointConfiguration', ], ], ], 'CreateModelRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'name', 'contentType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'schema' => [ 'shape' => 'String', ], 'contentType' => [ 'shape' => 'String', ], ], ], 'CreateRequestValidatorRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'name' => [ 'shape' => 'String', ], 'validateRequestBody' => [ 'shape' => 'Boolean', ], 'validateRequestParameters' => [ 'shape' => 'Boolean', ], ], ], 'CreateResourceRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'parentId', 'pathPart', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'parentId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'parent_id', ], 'pathPart' => [ 'shape' => 'String', ], ], ], 'CreateRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'String', ], 'cloneFrom' => [ 'shape' => 'String', ], 'binaryMediaTypes' => [ 'shape' => 'ListOfString', ], 'minimumCompressionSize' => [ 'shape' => 'NullableInteger', ], 'apiKeySource' => [ 'shape' => 'ApiKeySourceType', ], 'endpointConfiguration' => [ 'shape' => 'EndpointConfiguration', ], 'policy' => [ 'shape' => 'String', ], ], ], 'CreateStageRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', 'deploymentId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', ], 'deploymentId' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'cacheClusterEnabled' => [ 'shape' => 'Boolean', ], 'cacheClusterSize' => [ 'shape' => 'CacheClusterSize', ], 'variables' => [ 'shape' => 'MapOfStringToString', ], 'documentationVersion' => [ 'shape' => 'String', ], 'canarySettings' => [ 'shape' => 'CanarySettings', ], 'tracingEnabled' => [ 'shape' => 'Boolean', ], 'tags' => [ 'shape' => 'MapOfStringToString', ], ], ], 'CreateUsagePlanKeyRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', 'keyId', 'keyType', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'keyId' => [ 'shape' => 'String', ], 'keyType' => [ 'shape' => 'String', ], ], ], 'CreateUsagePlanRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'apiStages' => [ 'shape' => 'ListOfApiStage', ], 'throttle' => [ 'shape' => 'ThrottleSettings', ], 'quota' => [ 'shape' => 'QuotaSettings', ], ], ], 'CreateVpcLinkRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'targetArns', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'targetArns' => [ 'shape' => 'ListOfString', ], ], ], 'DeleteApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiKey', ], 'members' => [ 'apiKey' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'api_Key', ], ], ], 'DeleteAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'authorizerId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'authorizerId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'authorizer_id', ], ], ], 'DeleteBasePathMappingRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'basePath', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'basePath' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'base_path', ], ], ], 'DeleteClientCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'clientCertificateId', ], 'members' => [ 'clientCertificateId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'clientcertificate_id', ], ], ], 'DeleteDeploymentRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'deploymentId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'deploymentId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'deployment_id', ], ], ], 'DeleteDocumentationPartRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationPartId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationPartId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'part_id', ], ], ], 'DeleteDocumentationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationVersion', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationVersion' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'doc_version', ], ], ], 'DeleteDomainNameRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], ], ], 'DeleteGatewayResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'responseType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'responseType' => [ 'shape' => 'GatewayResponseType', 'location' => 'uri', 'locationName' => 'response_type', ], ], ], 'DeleteIntegrationRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], ], ], 'DeleteIntegrationResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], ], ], 'DeleteMethodRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], ], ], 'DeleteMethodResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], ], ], 'DeleteModelRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'modelName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'modelName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'model_name', ], ], ], 'DeleteRequestValidatorRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'requestValidatorId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'requestValidatorId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'requestvalidator_id', ], ], ], 'DeleteResourceRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], ], ], 'DeleteRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], ], ], 'DeleteStageRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], ], ], 'DeleteUsagePlanKeyRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', 'keyId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'keyId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'keyId', ], ], ], 'DeleteUsagePlanRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], ], ], 'DeleteVpcLinkRequest' => [ 'type' => 'structure', 'required' => [ 'vpcLinkId', ], 'members' => [ 'vpcLinkId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'vpclink_id', ], ], ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'apiSummary' => [ 'shape' => 'PathToMapOfMethodSnapshot', ], ], ], 'DeploymentCanarySettings' => [ 'type' => 'structure', 'members' => [ 'percentTraffic' => [ 'shape' => 'Double', ], 'stageVariableOverrides' => [ 'shape' => 'MapOfStringToString', ], 'useStageCache' => [ 'shape' => 'Boolean', ], ], ], 'Deployments' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfDeployment', 'locationName' => 'item', ], ], ], 'DocumentationPart' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'location' => [ 'shape' => 'DocumentationPartLocation', ], 'properties' => [ 'shape' => 'String', ], ], ], 'DocumentationPartIds' => [ 'type' => 'structure', 'members' => [ 'ids' => [ 'shape' => 'ListOfString', ], 'warnings' => [ 'shape' => 'ListOfString', ], ], ], 'DocumentationPartLocation' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'DocumentationPartType', ], 'path' => [ 'shape' => 'String', ], 'method' => [ 'shape' => 'String', ], 'statusCode' => [ 'shape' => 'DocumentationPartLocationStatusCode', ], 'name' => [ 'shape' => 'String', ], ], ], 'DocumentationPartLocationStatusCode' => [ 'type' => 'string', 'pattern' => '^([1-5]\\d\\d|\\*|\\s*)$', ], 'DocumentationPartType' => [ 'type' => 'string', 'enum' => [ 'API', 'AUTHORIZER', 'MODEL', 'RESOURCE', 'METHOD', 'PATH_PARAMETER', 'QUERY_PARAMETER', 'REQUEST_HEADER', 'REQUEST_BODY', 'RESPONSE', 'RESPONSE_HEADER', 'RESPONSE_BODY', ], ], 'DocumentationParts' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfDocumentationPart', 'locationName' => 'item', ], ], ], 'DocumentationVersion' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'String', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'description' => [ 'shape' => 'String', ], ], ], 'DocumentationVersions' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfDocumentationVersion', 'locationName' => 'item', ], ], ], 'DomainName' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'String', ], 'certificateName' => [ 'shape' => 'String', ], 'certificateArn' => [ 'shape' => 'String', ], 'certificateUploadDate' => [ 'shape' => 'Timestamp', ], 'regionalDomainName' => [ 'shape' => 'String', ], 'regionalHostedZoneId' => [ 'shape' => 'String', ], 'regionalCertificateName' => [ 'shape' => 'String', ], 'regionalCertificateArn' => [ 'shape' => 'String', ], 'distributionDomainName' => [ 'shape' => 'String', ], 'distributionHostedZoneId' => [ 'shape' => 'String', ], 'endpointConfiguration' => [ 'shape' => 'EndpointConfiguration', ], ], ], 'DomainNames' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfDomainName', 'locationName' => 'item', ], ], ], 'Double' => [ 'type' => 'double', ], 'EndpointConfiguration' => [ 'type' => 'structure', 'members' => [ 'types' => [ 'shape' => 'ListOfEndpointType', ], ], ], 'EndpointType' => [ 'type' => 'string', 'enum' => [ 'REGIONAL', 'EDGE', 'PRIVATE', ], ], 'ExportResponse' => [ 'type' => 'structure', 'members' => [ 'contentType' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Content-Type', ], 'contentDisposition' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'body' => [ 'shape' => 'Blob', ], ], 'payload' => 'body', ], 'FlushStageAuthorizersCacheRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], ], ], 'FlushStageCacheRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], ], ], 'GatewayResponse' => [ 'type' => 'structure', 'members' => [ 'responseType' => [ 'shape' => 'GatewayResponseType', ], 'statusCode' => [ 'shape' => 'StatusCode', ], 'responseParameters' => [ 'shape' => 'MapOfStringToString', ], 'responseTemplates' => [ 'shape' => 'MapOfStringToString', ], 'defaultResponse' => [ 'shape' => 'Boolean', ], ], ], 'GatewayResponseType' => [ 'type' => 'string', 'enum' => [ 'DEFAULT_4XX', 'DEFAULT_5XX', 'RESOURCE_NOT_FOUND', 'UNAUTHORIZED', 'INVALID_API_KEY', 'ACCESS_DENIED', 'AUTHORIZER_FAILURE', 'AUTHORIZER_CONFIGURATION_ERROR', 'INVALID_SIGNATURE', 'EXPIRED_TOKEN', 'MISSING_AUTHENTICATION_TOKEN', 'INTEGRATION_FAILURE', 'INTEGRATION_TIMEOUT', 'API_CONFIGURATION_ERROR', 'UNSUPPORTED_MEDIA_TYPE', 'BAD_REQUEST_PARAMETERS', 'BAD_REQUEST_BODY', 'REQUEST_TOO_LARGE', 'THROTTLED', 'QUOTA_EXCEEDED', ], ], 'GatewayResponses' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfGatewayResponse', 'locationName' => 'item', ], ], ], 'GenerateClientCertificateRequest' => [ 'type' => 'structure', 'members' => [ 'description' => [ 'shape' => 'String', ], ], ], 'GetAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiKey', ], 'members' => [ 'apiKey' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'api_Key', ], 'includeValue' => [ 'shape' => 'NullableBoolean', 'location' => 'querystring', 'locationName' => 'includeValue', ], ], ], 'GetApiKeysRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], 'nameQuery' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'name', ], 'customerId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'customerId', ], 'includeValues' => [ 'shape' => 'NullableBoolean', 'location' => 'querystring', 'locationName' => 'includeValues', ], ], ], 'GetAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'authorizerId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'authorizerId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'authorizer_id', ], ], ], 'GetAuthorizersRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetBasePathMappingRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'basePath', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'basePath' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'base_path', ], ], ], 'GetBasePathMappingsRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetClientCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'clientCertificateId', ], 'members' => [ 'clientCertificateId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'clientcertificate_id', ], ], ], 'GetClientCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetDeploymentRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'deploymentId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'deploymentId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'deployment_id', ], 'embed' => [ 'shape' => 'ListOfString', 'location' => 'querystring', 'locationName' => 'embed', ], ], ], 'GetDeploymentsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetDocumentationPartRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationPartId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationPartId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'part_id', ], ], ], 'GetDocumentationPartsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'type' => [ 'shape' => 'DocumentationPartType', 'location' => 'querystring', 'locationName' => 'type', ], 'nameQuery' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'name', ], 'path' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'path', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], 'locationStatus' => [ 'shape' => 'LocationStatusType', 'location' => 'querystring', 'locationName' => 'locationStatus', ], ], ], 'GetDocumentationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationVersion', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationVersion' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'doc_version', ], ], ], 'GetDocumentationVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetDomainNameRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], ], ], 'GetDomainNamesRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetExportRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', 'exportType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], 'exportType' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'export_type', ], 'parameters' => [ 'shape' => 'MapOfStringToString', 'location' => 'querystring', ], 'accepts' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Accept', ], ], ], 'GetGatewayResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'responseType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'responseType' => [ 'shape' => 'GatewayResponseType', 'location' => 'uri', 'locationName' => 'response_type', ], ], ], 'GetGatewayResponsesRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetIntegrationRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], ], ], 'GetIntegrationResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], ], ], 'GetMethodRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], ], ], 'GetMethodResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], ], ], 'GetModelRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'modelName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'modelName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'model_name', ], 'flatten' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'flatten', ], ], ], 'GetModelTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'modelName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'modelName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'model_name', ], ], ], 'GetModelsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetRequestValidatorRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'requestValidatorId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'requestValidatorId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'requestvalidator_id', ], ], ], 'GetRequestValidatorsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetResourceRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'embed' => [ 'shape' => 'ListOfString', 'location' => 'querystring', 'locationName' => 'embed', ], ], ], 'GetResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], 'embed' => [ 'shape' => 'ListOfString', 'location' => 'querystring', 'locationName' => 'embed', ], ], ], 'GetRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], ], ], 'GetRestApisRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetSdkRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', 'sdkType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], 'sdkType' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'sdk_type', ], 'parameters' => [ 'shape' => 'MapOfStringToString', 'location' => 'querystring', ], ], ], 'GetSdkTypeRequest' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'sdktype_id', ], ], ], 'GetSdkTypesRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetStageRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], ], ], 'GetStagesRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'deploymentId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'deploymentId', ], ], ], 'GetTagsRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_arn', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetUsagePlanKeyRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', 'keyId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'keyId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'keyId', ], ], ], 'GetUsagePlanKeysRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], 'nameQuery' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'name', ], ], ], 'GetUsagePlanRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], ], ], 'GetUsagePlansRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'keyId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'keyId', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetUsageRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', 'startDate', 'endDate', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'keyId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'keyId', ], 'startDate' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'startDate', ], 'endDate' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'endDate', ], 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'GetVpcLinkRequest' => [ 'type' => 'structure', 'required' => [ 'vpcLinkId', ], 'members' => [ 'vpcLinkId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'vpclink_id', ], ], ], 'GetVpcLinksRequest' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'position', ], 'limit' => [ 'shape' => 'NullableInteger', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'ImportApiKeysRequest' => [ 'type' => 'structure', 'required' => [ 'body', 'format', ], 'members' => [ 'body' => [ 'shape' => 'Blob', ], 'format' => [ 'shape' => 'ApiKeysFormat', 'location' => 'querystring', 'locationName' => 'format', ], 'failOnWarnings' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'failonwarnings', ], ], 'payload' => 'body', ], 'ImportDocumentationPartsRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'body', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'mode' => [ 'shape' => 'PutMode', 'location' => 'querystring', 'locationName' => 'mode', ], 'failOnWarnings' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'failonwarnings', ], 'body' => [ 'shape' => 'Blob', ], ], 'payload' => 'body', ], 'ImportRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'body', ], 'members' => [ 'failOnWarnings' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'failonwarnings', ], 'parameters' => [ 'shape' => 'MapOfStringToString', 'location' => 'querystring', ], 'body' => [ 'shape' => 'Blob', ], ], 'payload' => 'body', ], 'Integer' => [ 'type' => 'integer', ], 'Integration' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'IntegrationType', ], 'httpMethod' => [ 'shape' => 'String', ], 'uri' => [ 'shape' => 'String', ], 'connectionType' => [ 'shape' => 'ConnectionType', ], 'connectionId' => [ 'shape' => 'String', ], 'credentials' => [ 'shape' => 'String', ], 'requestParameters' => [ 'shape' => 'MapOfStringToString', ], 'requestTemplates' => [ 'shape' => 'MapOfStringToString', ], 'passthroughBehavior' => [ 'shape' => 'String', ], 'contentHandling' => [ 'shape' => 'ContentHandlingStrategy', ], 'timeoutInMillis' => [ 'shape' => 'Integer', ], 'cacheNamespace' => [ 'shape' => 'String', ], 'cacheKeyParameters' => [ 'shape' => 'ListOfString', ], 'integrationResponses' => [ 'shape' => 'MapOfIntegrationResponse', ], ], ], 'IntegrationResponse' => [ 'type' => 'structure', 'members' => [ 'statusCode' => [ 'shape' => 'StatusCode', ], 'selectionPattern' => [ 'shape' => 'String', ], 'responseParameters' => [ 'shape' => 'MapOfStringToString', ], 'responseTemplates' => [ 'shape' => 'MapOfStringToString', ], 'contentHandling' => [ 'shape' => 'ContentHandlingStrategy', ], ], ], 'IntegrationType' => [ 'type' => 'string', 'enum' => [ 'HTTP', 'AWS', 'MOCK', 'HTTP_PROXY', 'AWS_PROXY', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListOfARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProviderARN', ], ], 'ListOfApiKey' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApiKey', ], ], 'ListOfApiStage' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApiStage', ], ], 'ListOfAuthorizer' => [ 'type' => 'list', 'member' => [ 'shape' => 'Authorizer', ], ], 'ListOfBasePathMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'BasePathMapping', ], ], 'ListOfClientCertificate' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientCertificate', ], ], 'ListOfDeployment' => [ 'type' => 'list', 'member' => [ 'shape' => 'Deployment', ], ], 'ListOfDocumentationPart' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentationPart', ], ], 'ListOfDocumentationVersion' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentationVersion', ], ], 'ListOfDomainName' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainName', ], ], 'ListOfEndpointType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointType', ], ], 'ListOfGatewayResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'GatewayResponse', ], ], 'ListOfLong' => [ 'type' => 'list', 'member' => [ 'shape' => 'Long', ], ], 'ListOfModel' => [ 'type' => 'list', 'member' => [ 'shape' => 'Model', ], ], 'ListOfPatchOperation' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchOperation', ], ], 'ListOfRequestValidator' => [ 'type' => 'list', 'member' => [ 'shape' => 'RequestValidator', ], ], 'ListOfResource' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'ListOfRestApi' => [ 'type' => 'list', 'member' => [ 'shape' => 'RestApi', ], ], 'ListOfSdkConfigurationProperty' => [ 'type' => 'list', 'member' => [ 'shape' => 'SdkConfigurationProperty', ], ], 'ListOfSdkType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SdkType', ], ], 'ListOfStage' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stage', ], ], 'ListOfStageKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'StageKey', ], ], 'ListOfString' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListOfUsage' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListOfLong', ], ], 'ListOfUsagePlan' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsagePlan', ], ], 'ListOfUsagePlanKey' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsagePlanKey', ], ], 'ListOfVpcLink' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcLink', ], ], 'LocationStatusType' => [ 'type' => 'string', 'enum' => [ 'DOCUMENTED', 'UNDOCUMENTED', ], ], 'Long' => [ 'type' => 'long', ], 'MapOfApiStageThrottleSettings' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'ThrottleSettings', ], ], 'MapOfIntegrationResponse' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'IntegrationResponse', ], ], 'MapOfKeyUsages' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'ListOfUsage', ], ], 'MapOfMethod' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'Method', ], ], 'MapOfMethodResponse' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'MethodResponse', ], ], 'MapOfMethodSettings' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'MethodSetting', ], ], 'MapOfMethodSnapshot' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'MethodSnapshot', ], ], 'MapOfStringToBoolean' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'NullableBoolean', ], ], 'MapOfStringToList' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'ListOfString', ], ], 'MapOfStringToString' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Method' => [ 'type' => 'structure', 'members' => [ 'httpMethod' => [ 'shape' => 'String', ], 'authorizationType' => [ 'shape' => 'String', ], 'authorizerId' => [ 'shape' => 'String', ], 'apiKeyRequired' => [ 'shape' => 'NullableBoolean', ], 'requestValidatorId' => [ 'shape' => 'String', ], 'operationName' => [ 'shape' => 'String', ], 'requestParameters' => [ 'shape' => 'MapOfStringToBoolean', ], 'requestModels' => [ 'shape' => 'MapOfStringToString', ], 'methodResponses' => [ 'shape' => 'MapOfMethodResponse', ], 'methodIntegration' => [ 'shape' => 'Integration', ], 'authorizationScopes' => [ 'shape' => 'ListOfString', ], ], ], 'MethodResponse' => [ 'type' => 'structure', 'members' => [ 'statusCode' => [ 'shape' => 'StatusCode', ], 'responseParameters' => [ 'shape' => 'MapOfStringToBoolean', ], 'responseModels' => [ 'shape' => 'MapOfStringToString', ], ], ], 'MethodSetting' => [ 'type' => 'structure', 'members' => [ 'metricsEnabled' => [ 'shape' => 'Boolean', ], 'loggingLevel' => [ 'shape' => 'String', ], 'dataTraceEnabled' => [ 'shape' => 'Boolean', ], 'throttlingBurstLimit' => [ 'shape' => 'Integer', ], 'throttlingRateLimit' => [ 'shape' => 'Double', ], 'cachingEnabled' => [ 'shape' => 'Boolean', ], 'cacheTtlInSeconds' => [ 'shape' => 'Integer', ], 'cacheDataEncrypted' => [ 'shape' => 'Boolean', ], 'requireAuthorizationForCacheControl' => [ 'shape' => 'Boolean', ], 'unauthorizedCacheControlHeaderStrategy' => [ 'shape' => 'UnauthorizedCacheControlHeaderStrategy', ], ], ], 'MethodSnapshot' => [ 'type' => 'structure', 'members' => [ 'authorizationType' => [ 'shape' => 'String', ], 'apiKeyRequired' => [ 'shape' => 'Boolean', ], ], ], 'Model' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'schema' => [ 'shape' => 'String', ], 'contentType' => [ 'shape' => 'String', ], ], ], 'Models' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfModel', 'locationName' => 'item', ], ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NullableBoolean' => [ 'type' => 'boolean', ], 'NullableInteger' => [ 'type' => 'integer', ], 'Op' => [ 'type' => 'string', 'enum' => [ 'add', 'remove', 'replace', 'move', 'copy', 'test', ], ], 'PatchOperation' => [ 'type' => 'structure', 'members' => [ 'op' => [ 'shape' => 'Op', ], 'path' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'from' => [ 'shape' => 'String', ], ], ], 'PathToMapOfMethodSnapshot' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'MapOfMethodSnapshot', ], ], 'ProviderARN' => [ 'type' => 'string', ], 'PutGatewayResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'responseType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'responseType' => [ 'shape' => 'GatewayResponseType', 'location' => 'uri', 'locationName' => 'response_type', ], 'statusCode' => [ 'shape' => 'StatusCode', ], 'responseParameters' => [ 'shape' => 'MapOfStringToString', ], 'responseTemplates' => [ 'shape' => 'MapOfStringToString', ], ], ], 'PutIntegrationRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'type', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'type' => [ 'shape' => 'IntegrationType', ], 'integrationHttpMethod' => [ 'shape' => 'String', 'locationName' => 'httpMethod', ], 'uri' => [ 'shape' => 'String', ], 'connectionType' => [ 'shape' => 'ConnectionType', ], 'connectionId' => [ 'shape' => 'String', ], 'credentials' => [ 'shape' => 'String', ], 'requestParameters' => [ 'shape' => 'MapOfStringToString', ], 'requestTemplates' => [ 'shape' => 'MapOfStringToString', ], 'passthroughBehavior' => [ 'shape' => 'String', ], 'cacheNamespace' => [ 'shape' => 'String', ], 'cacheKeyParameters' => [ 'shape' => 'ListOfString', ], 'contentHandling' => [ 'shape' => 'ContentHandlingStrategy', ], 'timeoutInMillis' => [ 'shape' => 'NullableInteger', ], ], ], 'PutIntegrationResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], 'selectionPattern' => [ 'shape' => 'String', ], 'responseParameters' => [ 'shape' => 'MapOfStringToString', ], 'responseTemplates' => [ 'shape' => 'MapOfStringToString', ], 'contentHandling' => [ 'shape' => 'ContentHandlingStrategy', ], ], ], 'PutMethodRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'authorizationType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'authorizationType' => [ 'shape' => 'String', ], 'authorizerId' => [ 'shape' => 'String', ], 'apiKeyRequired' => [ 'shape' => 'Boolean', ], 'operationName' => [ 'shape' => 'String', ], 'requestParameters' => [ 'shape' => 'MapOfStringToBoolean', ], 'requestModels' => [ 'shape' => 'MapOfStringToString', ], 'requestValidatorId' => [ 'shape' => 'String', ], 'authorizationScopes' => [ 'shape' => 'ListOfString', ], ], ], 'PutMethodResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], 'responseParameters' => [ 'shape' => 'MapOfStringToBoolean', ], 'responseModels' => [ 'shape' => 'MapOfStringToString', ], ], ], 'PutMode' => [ 'type' => 'string', 'enum' => [ 'merge', 'overwrite', ], ], 'PutRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'body', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'mode' => [ 'shape' => 'PutMode', 'location' => 'querystring', 'locationName' => 'mode', ], 'failOnWarnings' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'failonwarnings', ], 'parameters' => [ 'shape' => 'MapOfStringToString', 'location' => 'querystring', ], 'body' => [ 'shape' => 'Blob', ], ], 'payload' => 'body', ], 'QuotaPeriodType' => [ 'type' => 'string', 'enum' => [ 'DAY', 'WEEK', 'MONTH', ], ], 'QuotaSettings' => [ 'type' => 'structure', 'members' => [ 'limit' => [ 'shape' => 'Integer', ], 'offset' => [ 'shape' => 'Integer', ], 'period' => [ 'shape' => 'QuotaPeriodType', ], ], ], 'RequestValidator' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'validateRequestBody' => [ 'shape' => 'Boolean', ], 'validateRequestParameters' => [ 'shape' => 'Boolean', ], ], ], 'RequestValidators' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfRequestValidator', 'locationName' => 'item', ], ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'parentId' => [ 'shape' => 'String', ], 'pathPart' => [ 'shape' => 'String', ], 'path' => [ 'shape' => 'String', ], 'resourceMethods' => [ 'shape' => 'MapOfMethod', ], ], ], 'Resources' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfResource', 'locationName' => 'item', ], ], ], 'RestApi' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'String', ], 'warnings' => [ 'shape' => 'ListOfString', ], 'binaryMediaTypes' => [ 'shape' => 'ListOfString', ], 'minimumCompressionSize' => [ 'shape' => 'NullableInteger', ], 'apiKeySource' => [ 'shape' => 'ApiKeySourceType', ], 'endpointConfiguration' => [ 'shape' => 'EndpointConfiguration', ], 'policy' => [ 'shape' => 'String', ], ], ], 'RestApis' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfRestApi', 'locationName' => 'item', ], ], ], 'SdkConfigurationProperty' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'friendlyName' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'required' => [ 'shape' => 'Boolean', ], 'defaultValue' => [ 'shape' => 'String', ], ], ], 'SdkResponse' => [ 'type' => 'structure', 'members' => [ 'contentType' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Content-Type', ], 'contentDisposition' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'body' => [ 'shape' => 'Blob', ], ], 'payload' => 'body', ], 'SdkType' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'friendlyName' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'configurationProperties' => [ 'shape' => 'ListOfSdkConfigurationProperty', ], ], ], 'SdkTypes' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfSdkType', 'locationName' => 'item', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'Stage' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'String', ], 'clientCertificateId' => [ 'shape' => 'String', ], 'stageName' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'cacheClusterEnabled' => [ 'shape' => 'Boolean', ], 'cacheClusterSize' => [ 'shape' => 'CacheClusterSize', ], 'cacheClusterStatus' => [ 'shape' => 'CacheClusterStatus', ], 'methodSettings' => [ 'shape' => 'MapOfMethodSettings', ], 'variables' => [ 'shape' => 'MapOfStringToString', ], 'documentationVersion' => [ 'shape' => 'String', ], 'accessLogSettings' => [ 'shape' => 'AccessLogSettings', ], 'canarySettings' => [ 'shape' => 'CanarySettings', ], 'tracingEnabled' => [ 'shape' => 'Boolean', ], 'webAclArn' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'MapOfStringToString', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], ], ], 'StageKey' => [ 'type' => 'structure', 'members' => [ 'restApiId' => [ 'shape' => 'String', ], 'stageName' => [ 'shape' => 'String', ], ], ], 'Stages' => [ 'type' => 'structure', 'members' => [ 'item' => [ 'shape' => 'ListOfStage', ], ], ], 'StatusCode' => [ 'type' => 'string', 'pattern' => '[1-5]\\d\\d', ], 'String' => [ 'type' => 'string', ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_arn', ], 'tags' => [ 'shape' => 'MapOfStringToString', ], ], ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'MapOfStringToString', ], ], ], 'Template' => [ 'type' => 'structure', 'members' => [ 'value' => [ 'shape' => 'String', ], ], ], 'TestInvokeAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'authorizerId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'authorizerId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'authorizer_id', ], 'headers' => [ 'shape' => 'MapOfStringToString', ], 'multiValueHeaders' => [ 'shape' => 'MapOfStringToList', ], 'pathWithQueryString' => [ 'shape' => 'String', ], 'body' => [ 'shape' => 'String', ], 'stageVariables' => [ 'shape' => 'MapOfStringToString', ], 'additionalContext' => [ 'shape' => 'MapOfStringToString', ], ], ], 'TestInvokeAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'clientStatus' => [ 'shape' => 'Integer', ], 'log' => [ 'shape' => 'String', ], 'latency' => [ 'shape' => 'Long', ], 'principalId' => [ 'shape' => 'String', ], 'policy' => [ 'shape' => 'String', ], 'authorization' => [ 'shape' => 'MapOfStringToList', ], 'claims' => [ 'shape' => 'MapOfStringToString', ], ], ], 'TestInvokeMethodRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'pathWithQueryString' => [ 'shape' => 'String', ], 'body' => [ 'shape' => 'String', ], 'headers' => [ 'shape' => 'MapOfStringToString', ], 'multiValueHeaders' => [ 'shape' => 'MapOfStringToList', ], 'clientCertificateId' => [ 'shape' => 'String', ], 'stageVariables' => [ 'shape' => 'MapOfStringToString', ], ], ], 'TestInvokeMethodResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'Integer', ], 'body' => [ 'shape' => 'String', ], 'headers' => [ 'shape' => 'MapOfStringToString', ], 'multiValueHeaders' => [ 'shape' => 'MapOfStringToList', ], 'log' => [ 'shape' => 'String', ], 'latency' => [ 'shape' => 'Long', ], ], ], 'ThrottleSettings' => [ 'type' => 'structure', 'members' => [ 'burstLimit' => [ 'shape' => 'Integer', ], 'rateLimit' => [ 'shape' => 'Double', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedCacheControlHeaderStrategy' => [ 'type' => 'string', 'enum' => [ 'FAIL_WITH_403', 'SUCCEED_WITH_RESPONSE_HEADER', 'SUCCEED_WITHOUT_RESPONSE_HEADER', ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_arn', ], 'tagKeys' => [ 'shape' => 'ListOfString', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], ], 'UpdateAccountRequest' => [ 'type' => 'structure', 'members' => [ 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiKey', ], 'members' => [ 'apiKey' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'api_Key', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'authorizerId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'authorizerId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'authorizer_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateBasePathMappingRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'basePath', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'basePath' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'base_path', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateClientCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'clientCertificateId', ], 'members' => [ 'clientCertificateId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'clientcertificate_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateDeploymentRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'deploymentId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'deploymentId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'deployment_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateDocumentationPartRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationPartId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationPartId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'part_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateDocumentationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'documentationVersion', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'documentationVersion' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'doc_version', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateDomainNameRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'domain_name', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateGatewayResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'responseType', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'responseType' => [ 'shape' => 'GatewayResponseType', 'location' => 'uri', 'locationName' => 'response_type', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateIntegrationRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateIntegrationResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateMethodRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateMethodResponseRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', 'httpMethod', 'statusCode', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'httpMethod' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'http_method', ], 'statusCode' => [ 'shape' => 'StatusCode', 'location' => 'uri', 'locationName' => 'status_code', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateModelRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'modelName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'modelName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'model_name', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateRequestValidatorRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'requestValidatorId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'requestValidatorId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'requestvalidator_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateResourceRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'resourceId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'resourceId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'resource_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateRestApiRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateStageRequest' => [ 'type' => 'structure', 'required' => [ 'restApiId', 'stageName', ], 'members' => [ 'restApiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'restapi_id', ], 'stageName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'stage_name', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateUsagePlanRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateUsageRequest' => [ 'type' => 'structure', 'required' => [ 'usagePlanId', 'keyId', ], 'members' => [ 'usagePlanId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'usageplanId', ], 'keyId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'keyId', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'UpdateVpcLinkRequest' => [ 'type' => 'structure', 'required' => [ 'vpcLinkId', ], 'members' => [ 'vpcLinkId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'vpclink_id', ], 'patchOperations' => [ 'shape' => 'ListOfPatchOperation', ], ], ], 'Usage' => [ 'type' => 'structure', 'members' => [ 'usagePlanId' => [ 'shape' => 'String', ], 'startDate' => [ 'shape' => 'String', ], 'endDate' => [ 'shape' => 'String', ], 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'MapOfKeyUsages', 'locationName' => 'values', ], ], ], 'UsagePlan' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'apiStages' => [ 'shape' => 'ListOfApiStage', ], 'throttle' => [ 'shape' => 'ThrottleSettings', ], 'quota' => [ 'shape' => 'QuotaSettings', ], 'productCode' => [ 'shape' => 'String', ], ], ], 'UsagePlanKey' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], ], ], 'UsagePlanKeys' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfUsagePlanKey', 'locationName' => 'item', ], ], ], 'UsagePlans' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfUsagePlan', 'locationName' => 'item', ], ], ], 'VpcLink' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'targetArns' => [ 'shape' => 'ListOfString', ], 'status' => [ 'shape' => 'VpcLinkStatus', ], 'statusMessage' => [ 'shape' => 'String', ], ], ], 'VpcLinkStatus' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'PENDING', 'DELETING', 'FAILED', ], ], 'VpcLinks' => [ 'type' => 'structure', 'members' => [ 'position' => [ 'shape' => 'String', ], 'items' => [ 'shape' => 'ListOfVpcLink', 'locationName' => 'item', ], ], ], ],]; diff --git a/lib/aws/Aws/data/apigateway/2015-07-09/paginators-1.json.php b/lib/aws/Aws/data/apigateway/2015-07-09/paginators-1.json.php new file mode 100644 index 0000000..9cebc9a --- /dev/null +++ b/lib/aws/Aws/data/apigateway/2015-07-09/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigateway/2015-07-09/paginators-1.json +return [ 'pagination' => [ 'GetApiKeys' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetBasePathMappings' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetClientCertificates' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetDeployments' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetDomainNames' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetModels' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetResources' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetRestApis' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetUsage' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetUsagePlanKeys' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetUsagePlans' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], 'GetVpcLinks' => [ 'input_token' => 'position', 'limit_key' => 'limit', 'output_token' => 'position', 'result_key' => 'items', ], ],]; diff --git a/lib/aws/Aws/data/apigateway/2015-07-09/smoke.json.php b/lib/aws/Aws/data/apigateway/2015-07-09/smoke.json.php new file mode 100644 index 0000000..b82ddf2 --- /dev/null +++ b/lib/aws/Aws/data/apigateway/2015-07-09/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigateway/2015-07-09/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetDomainNames', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'CreateUsagePlanKey', 'input' => [ 'usagePlanId' => 'foo', 'keyId' => 'bar', 'keyType' => 'fixx', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/api-2.json.php b/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/api-2.json.php new file mode 100644 index 0000000..33a6b30 --- /dev/null +++ b/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigatewaymanagementapi/2018-11-29/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-11-29', 'endpointPrefix' => 'execute-api', 'signingName' => 'execute-api', 'serviceFullName' => 'AmazonApiGatewayManagementApi', 'serviceId' => 'ApiGatewayManagementApi', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'apigatewaymanagementapi-2018-11-29', 'signatureVersion' => 'v4', ], 'operations' => [ 'PostToConnection' => [ 'name' => 'PostToConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/@connections/{connectionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PostToConnectionRequest', ], 'errors' => [ [ 'shape' => 'GoneException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'PayloadTooLargeException', ], [ 'shape' => 'ForbiddenException', ], ], ], ], 'shapes' => [ 'Data' => [ 'type' => 'blob', 'max' => 131072, ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'GoneException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'httpStatusCode' => 410, ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'PayloadTooLargeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 413, ], ], 'PostToConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'Data', ], 'ConnectionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'connectionId', ], ], 'required' => [ 'ConnectionId', 'Data', ], 'payload' => 'Data', ], '__string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/paginators-1.json.php b/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/paginators-1.json.php new file mode 100644 index 0000000..04cc411 --- /dev/null +++ b/lib/aws/Aws/data/apigatewaymanagementapi/2018-11-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigatewaymanagementapi/2018-11-29/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/apigatewayv2/2018-11-29/api-2.json.php b/lib/aws/Aws/data/apigatewayv2/2018-11-29/api-2.json.php new file mode 100644 index 0000000..a39c0d9 --- /dev/null +++ b/lib/aws/Aws/data/apigatewayv2/2018-11-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigatewayv2/2018-11-29/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-11-29', 'endpointPrefix' => 'apigateway', 'signingName' => 'apigateway', 'serviceFullName' => 'AmazonApiGatewayV2', 'serviceId' => 'ApiGatewayV2', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'apigatewayv2-2018-11-29', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateApi' => [ 'name' => 'CreateApi', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateApiRequest', ], 'output' => [ 'shape' => 'CreateApiResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateApiMapping' => [ 'name' => 'CreateApiMapping', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/domainnames/{domainName}/apimappings', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateApiMappingRequest', ], 'output' => [ 'shape' => 'CreateApiMappingResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateAuthorizer' => [ 'name' => 'CreateAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/authorizers', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAuthorizerRequest', ], 'output' => [ 'shape' => 'CreateAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateDeployment' => [ 'name' => 'CreateDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/deployments', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDeploymentRequest', ], 'output' => [ 'shape' => 'CreateDeploymentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateDomainName' => [ 'name' => 'CreateDomainName', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/domainnames', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDomainNameRequest', ], 'output' => [ 'shape' => 'CreateDomainNameResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateIntegration' => [ 'name' => 'CreateIntegration', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/integrations', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateIntegrationRequest', ], 'output' => [ 'shape' => 'CreateIntegrationResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateIntegrationResponse' => [ 'name' => 'CreateIntegrationResponse', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateIntegrationResponseRequest', ], 'output' => [ 'shape' => 'CreateIntegrationResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateModel' => [ 'name' => 'CreateModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/models', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateModelRequest', ], 'output' => [ 'shape' => 'CreateModelResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/routes', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateRouteRequest', ], 'output' => [ 'shape' => 'CreateRouteResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateRouteResponse' => [ 'name' => 'CreateRouteResponse', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}/routeresponses', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateRouteResponseRequest', ], 'output' => [ 'shape' => 'CreateRouteResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateStage' => [ 'name' => 'CreateStage', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2/apis/{apiId}/stages', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStageRequest', ], 'output' => [ 'shape' => 'CreateStageResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteApi' => [ 'name' => 'DeleteApi', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteApiRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApiMapping' => [ 'name' => 'DeleteApiMapping', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/domainnames/{domainName}/apimappings/{apiMappingId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteApiMappingRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteAuthorizer' => [ 'name' => 'DeleteAuthorizer', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/authorizers/{authorizerId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteAuthorizerRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteDeployment' => [ 'name' => 'DeleteDeployment', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/deployments/{deploymentId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDeploymentRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteDomainName' => [ 'name' => 'DeleteDomainName', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/domainnames/{domainName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDomainNameRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteIntegration' => [ 'name' => 'DeleteIntegration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntegrationRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteIntegrationResponse' => [ 'name' => 'DeleteIntegrationResponse', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntegrationResponseRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteModel' => [ 'name' => 'DeleteModel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/models/{modelId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteModelRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteRouteRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteRouteResponse' => [ 'name' => 'DeleteRouteResponse', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteRouteResponseRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteStage' => [ 'name' => 'DeleteStage', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2/apis/{apiId}/stages/{stageName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStageRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApi' => [ 'name' => 'GetApi', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApiRequest', ], 'output' => [ 'shape' => 'GetApiResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApiMapping' => [ 'name' => 'GetApiMapping', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/domainnames/{domainName}/apimappings/{apiMappingId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApiMappingRequest', ], 'output' => [ 'shape' => 'GetApiMappingResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetApiMappings' => [ 'name' => 'GetApiMappings', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/domainnames/{domainName}/apimappings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApiMappingsRequest', ], 'output' => [ 'shape' => 'GetApiMappingsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetApis' => [ 'name' => 'GetApis', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApisRequest', ], 'output' => [ 'shape' => 'GetApisResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetAuthorizer' => [ 'name' => 'GetAuthorizer', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/authorizers/{authorizerId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAuthorizerRequest', ], 'output' => [ 'shape' => 'GetAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetAuthorizers' => [ 'name' => 'GetAuthorizers', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/authorizers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAuthorizersRequest', ], 'output' => [ 'shape' => 'GetAuthorizersResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDeployment' => [ 'name' => 'GetDeployment', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/deployments/{deploymentId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeploymentRequest', ], 'output' => [ 'shape' => 'GetDeploymentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDeployments' => [ 'name' => 'GetDeployments', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/deployments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeploymentsRequest', ], 'output' => [ 'shape' => 'GetDeploymentsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDomainName' => [ 'name' => 'GetDomainName', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/domainnames/{domainName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDomainNameRequest', ], 'output' => [ 'shape' => 'GetDomainNameResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDomainNames' => [ 'name' => 'GetDomainNames', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/domainnames', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDomainNamesRequest', ], 'output' => [ 'shape' => 'GetDomainNamesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetIntegration' => [ 'name' => 'GetIntegration', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntegrationRequest', ], 'output' => [ 'shape' => 'GetIntegrationResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetIntegrationResponse' => [ 'name' => 'GetIntegrationResponse', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntegrationResponseRequest', ], 'output' => [ 'shape' => 'GetIntegrationResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetIntegrationResponses' => [ 'name' => 'GetIntegrationResponses', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntegrationResponsesRequest', ], 'output' => [ 'shape' => 'GetIntegrationResponsesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetIntegrations' => [ 'name' => 'GetIntegrations', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/integrations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntegrationsRequest', ], 'output' => [ 'shape' => 'GetIntegrationsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetModel' => [ 'name' => 'GetModel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/models/{modelId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetModelRequest', ], 'output' => [ 'shape' => 'GetModelResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetModelTemplate' => [ 'name' => 'GetModelTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/models/{modelId}/template', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetModelTemplateRequest', ], 'output' => [ 'shape' => 'GetModelTemplateResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetModels' => [ 'name' => 'GetModels', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/models', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetModelsRequest', ], 'output' => [ 'shape' => 'GetModelsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetRoute' => [ 'name' => 'GetRoute', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetRouteRequest', ], 'output' => [ 'shape' => 'GetRouteResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRouteResponse' => [ 'name' => 'GetRouteResponse', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetRouteResponseRequest', ], 'output' => [ 'shape' => 'GetRouteResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetRouteResponses' => [ 'name' => 'GetRouteResponses', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}/routeresponses', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetRouteResponsesRequest', ], 'output' => [ 'shape' => 'GetRouteResponsesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetRoutes' => [ 'name' => 'GetRoutes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/routes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetRoutesRequest', ], 'output' => [ 'shape' => 'GetRoutesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetStage' => [ 'name' => 'GetStage', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/stages/{stageName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetStageRequest', ], 'output' => [ 'shape' => 'GetStageResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetStages' => [ 'name' => 'GetStages', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2/apis/{apiId}/stages', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetStagesRequest', ], 'output' => [ 'shape' => 'GetStagesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'UpdateApi' => [ 'name' => 'UpdateApi', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApiRequest', ], 'output' => [ 'shape' => 'UpdateApiResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateApiMapping' => [ 'name' => 'UpdateApiMapping', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/domainnames/{domainName}/apimappings/{apiMappingId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApiMappingRequest', ], 'output' => [ 'shape' => 'UpdateApiMappingResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateAuthorizer' => [ 'name' => 'UpdateAuthorizer', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/authorizers/{authorizerId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateAuthorizerRequest', ], 'output' => [ 'shape' => 'UpdateAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateDeployment' => [ 'name' => 'UpdateDeployment', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/deployments/{deploymentId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDeploymentRequest', ], 'output' => [ 'shape' => 'UpdateDeploymentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateDomainName' => [ 'name' => 'UpdateDomainName', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/domainnames/{domainName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDomainNameRequest', ], 'output' => [ 'shape' => 'UpdateDomainNameResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateIntegration' => [ 'name' => 'UpdateIntegration', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateIntegrationRequest', ], 'output' => [ 'shape' => 'UpdateIntegrationResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateIntegrationResponse' => [ 'name' => 'UpdateIntegrationResponse', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateIntegrationResponseRequest', ], 'output' => [ 'shape' => 'UpdateIntegrationResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateModel' => [ 'name' => 'UpdateModel', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/models/{modelId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateModelRequest', ], 'output' => [ 'shape' => 'UpdateModelResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateRoute' => [ 'name' => 'UpdateRoute', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateRouteRequest', ], 'output' => [ 'shape' => 'UpdateRouteResult', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateRouteResponse' => [ 'name' => 'UpdateRouteResponse', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateRouteResponseRequest', ], 'output' => [ 'shape' => 'UpdateRouteResponseResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateStage' => [ 'name' => 'UpdateStage', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/v2/apis/{apiId}/stages/{stageName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateStageRequest', ], 'output' => [ 'shape' => 'UpdateStageResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], ], ], ], 'shapes' => [ 'AccessLogSettings' => [ 'type' => 'structure', 'members' => [ 'DestinationArn' => [ 'shape' => 'Arn', 'locationName' => 'destinationArn', ], 'Format' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'format', ], ], ], 'Api' => [ 'type' => 'structure', 'members' => [ 'ApiEndpoint' => [ 'shape' => '__string', 'locationName' => 'apiEndpoint', ], 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], 'Warnings' => [ 'shape' => '__listOf__string', 'locationName' => 'warnings', ], ], 'required' => [ 'RouteSelectionExpression', 'ProtocolType', 'Name', ], ], 'ApiMapping' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingId' => [ 'shape' => 'Id', 'locationName' => 'apiMappingId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], 'required' => [ 'Stage', 'ApiId', ], ], 'ApiMappings' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfApiMapping', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'Apis' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfApi', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'Arn' => [ 'type' => 'string', ], 'AuthorizationScopes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithLengthBetween1And64', ], ], 'AuthorizationType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'AWS_IAM', 'CUSTOM', ], ], 'Authorizer' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], 'required' => [ 'Name', ], ], 'AuthorizerType' => [ 'type' => 'string', 'enum' => [ 'REQUEST', ], ], 'Authorizers' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfAuthorizer', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'ConnectionType' => [ 'type' => 'string', 'enum' => [ 'INTERNET', 'VPC_LINK', ], ], 'ContentHandlingStrategy' => [ 'type' => 'string', 'enum' => [ 'CONVERT_TO_BINARY', 'CONVERT_TO_TEXT', ], ], 'CreateApiInput' => [ 'type' => 'structure', 'members' => [ 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], ], 'required' => [ 'RouteSelectionExpression', 'ProtocolType', 'Name', ], ], 'CreateApiMappingInput' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], 'required' => [ 'Stage', 'ApiId', ], ], 'CreateApiMappingRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], 'required' => [ 'DomainName', 'Stage', 'ApiId', ], ], 'CreateApiMappingResponse' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingId' => [ 'shape' => 'Id', 'locationName' => 'apiMappingId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], ], 'CreateApiRequest' => [ 'type' => 'structure', 'members' => [ 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], ], 'required' => [ 'RouteSelectionExpression', 'ProtocolType', 'Name', ], ], 'CreateApiResponse' => [ 'type' => 'structure', 'members' => [ 'ApiEndpoint' => [ 'shape' => '__string', 'locationName' => 'apiEndpoint', ], 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], 'Warnings' => [ 'shape' => '__listOf__string', 'locationName' => 'warnings', ], ], ], 'CreateAuthorizerInput' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], 'required' => [ 'AuthorizerUri', 'AuthorizerType', 'IdentitySource', 'Name', ], ], 'CreateAuthorizerRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], 'required' => [ 'ApiId', 'AuthorizerUri', 'AuthorizerType', 'IdentitySource', 'Name', ], ], 'CreateAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], ], 'CreateDeploymentInput' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], ], ], 'CreateDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], ], 'required' => [ 'ApiId', ], ], 'CreateDeploymentResponse' => [ 'type' => 'structure', 'members' => [ 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'DeploymentStatus' => [ 'shape' => 'DeploymentStatus', 'locationName' => 'deploymentStatus', ], 'DeploymentStatusMessage' => [ 'shape' => '__string', 'locationName' => 'deploymentStatusMessage', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], ], 'CreateDomainNameInput' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], 'required' => [ 'DomainName', ], ], 'CreateDomainNameRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], 'required' => [ 'DomainName', ], ], 'CreateDomainNameResponse' => [ 'type' => 'structure', 'members' => [ 'ApiMappingSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiMappingSelectionExpression', ], 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], ], 'CreateIntegrationInput' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], 'required' => [ 'IntegrationType', ], ], 'CreateIntegrationRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], 'required' => [ 'ApiId', 'IntegrationType', ], ], 'CreateIntegrationResult' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationId' => [ 'shape' => 'Id', 'locationName' => 'integrationId', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'integrationResponseSelectionExpression', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], ], 'CreateIntegrationResponseInput' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], 'required' => [ 'IntegrationResponseKey', ], ], 'CreateIntegrationResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], 'required' => [ 'ApiId', 'IntegrationId', 'IntegrationResponseKey', ], ], 'CreateIntegrationResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseId' => [ 'shape' => 'Id', 'locationName' => 'integrationResponseId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], ], 'CreateModelInput' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], 'required' => [ 'Schema', 'Name', ], ], 'CreateModelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], 'required' => [ 'ApiId', 'Schema', 'Name', ], ], 'CreateModelResponse' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'ModelId' => [ 'shape' => 'Id', 'locationName' => 'modelId', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], ], 'CreateRouteInput' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], 'required' => [ 'RouteKey', ], ], 'CreateRouteRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], 'required' => [ 'ApiId', 'RouteKey', ], ], 'CreateRouteResult' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteId' => [ 'shape' => 'Id', 'locationName' => 'routeId', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], ], 'CreateRouteResponseInput' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], 'required' => [ 'RouteResponseKey', ], ], 'CreateRouteResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], 'required' => [ 'ApiId', 'RouteId', 'RouteResponseKey', ], ], 'CreateRouteResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseId' => [ 'shape' => 'Id', 'locationName' => 'routeResponseId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], ], 'CreateStageInput' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], 'required' => [ 'StageName', ], ], 'CreateStageRequest' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], 'required' => [ 'ApiId', 'StageName', ], ], 'CreateStageResponse' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'LastUpdatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'lastUpdatedDate', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], ], 'DeleteApiMappingRequest' => [ 'type' => 'structure', 'members' => [ 'ApiMappingId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiMappingId', ], 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], ], 'required' => [ 'ApiMappingId', 'DomainName', ], ], 'DeleteApiRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], ], 'required' => [ 'ApiId', ], ], 'DeleteAuthorizerRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'AuthorizerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'authorizerId', ], ], 'required' => [ 'AuthorizerId', 'ApiId', ], ], 'DeleteDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'DeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deploymentId', ], ], 'required' => [ 'ApiId', 'DeploymentId', ], ], 'DeleteDomainNameRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], ], 'required' => [ 'DomainName', ], ], 'DeleteIntegrationRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], ], 'required' => [ 'ApiId', 'IntegrationId', ], ], 'DeleteIntegrationResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'IntegrationResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationResponseId', ], ], 'required' => [ 'ApiId', 'IntegrationResponseId', 'IntegrationId', ], ], 'DeleteModelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ModelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'modelId', ], ], 'required' => [ 'ModelId', 'ApiId', ], ], 'DeleteRouteRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], ], 'required' => [ 'ApiId', 'RouteId', ], ], 'DeleteRouteResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], 'RouteResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeResponseId', ], ], 'required' => [ 'RouteResponseId', 'ApiId', 'RouteId', ], ], 'DeleteStageRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'StageName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'stageName', ], ], 'required' => [ 'StageName', 'ApiId', ], ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'DeploymentStatus' => [ 'shape' => 'DeploymentStatus', 'locationName' => 'deploymentStatus', ], 'DeploymentStatusMessage' => [ 'shape' => '__string', 'locationName' => 'deploymentStatusMessage', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], ], 'DeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'FAILED', 'DEPLOYED', ], ], 'Deployments' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfDeployment', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DomainName' => [ 'type' => 'structure', 'members' => [ 'ApiMappingSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiMappingSelectionExpression', ], 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], 'required' => [ 'DomainName', ], ], 'DomainNameConfiguration' => [ 'type' => 'structure', 'members' => [ 'ApiGatewayDomainName' => [ 'shape' => '__string', 'locationName' => 'apiGatewayDomainName', ], 'CertificateArn' => [ 'shape' => 'Arn', 'locationName' => 'certificateArn', ], 'CertificateName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'certificateName', ], 'CertificateUploadDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'certificateUploadDate', ], 'EndpointType' => [ 'shape' => 'EndpointType', 'locationName' => 'endpointType', ], 'HostedZoneId' => [ 'shape' => '__string', 'locationName' => 'hostedZoneId', ], ], ], 'DomainNameConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainNameConfiguration', ], ], 'DomainNames' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfDomainName', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'EndpointType' => [ 'type' => 'string', 'enum' => [ 'REGIONAL', 'EDGE', ], ], 'GetApiMappingRequest' => [ 'type' => 'structure', 'members' => [ 'ApiMappingId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiMappingId', ], 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], ], 'required' => [ 'ApiMappingId', 'DomainName', ], ], 'GetApiMappingResponse' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingId' => [ 'shape' => 'Id', 'locationName' => 'apiMappingId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], ], 'GetApiMappingsRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'DomainName', ], ], 'GetApiMappingsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfApiMapping', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetApiRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], ], 'required' => [ 'ApiId', ], ], 'GetApiResponse' => [ 'type' => 'structure', 'members' => [ 'ApiEndpoint' => [ 'shape' => '__string', 'locationName' => 'apiEndpoint', ], 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], 'Warnings' => [ 'shape' => '__listOf__string', 'locationName' => 'warnings', ], ], ], 'GetApisRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'GetApisResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfApi', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetAuthorizerRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'AuthorizerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'authorizerId', ], ], 'required' => [ 'AuthorizerId', 'ApiId', ], ], 'GetAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], ], 'GetAuthorizersRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetAuthorizersResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfAuthorizer', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'DeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deploymentId', ], ], 'required' => [ 'ApiId', 'DeploymentId', ], ], 'GetDeploymentResponse' => [ 'type' => 'structure', 'members' => [ 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'DeploymentStatus' => [ 'shape' => 'DeploymentStatus', 'locationName' => 'deploymentStatus', ], 'DeploymentStatusMessage' => [ 'shape' => '__string', 'locationName' => 'deploymentStatusMessage', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], ], 'GetDeploymentsRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetDeploymentsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfDeployment', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetDomainNameRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], ], 'required' => [ 'DomainName', ], ], 'GetDomainNameResponse' => [ 'type' => 'structure', 'members' => [ 'ApiMappingSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiMappingSelectionExpression', ], 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], ], 'GetDomainNamesRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'GetDomainNamesResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfDomainName', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetIntegrationRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], ], 'required' => [ 'ApiId', 'IntegrationId', ], ], 'GetIntegrationResult' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationId' => [ 'shape' => 'Id', 'locationName' => 'integrationId', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'integrationResponseSelectionExpression', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], ], 'GetIntegrationResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'IntegrationResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationResponseId', ], ], 'required' => [ 'ApiId', 'IntegrationResponseId', 'IntegrationId', ], ], 'GetIntegrationResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseId' => [ 'shape' => 'Id', 'locationName' => 'integrationResponseId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], ], 'GetIntegrationResponsesRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'IntegrationId', 'ApiId', ], ], 'GetIntegrationResponsesResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfIntegrationResponse', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetIntegrationsRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetIntegrationsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfIntegration', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetModelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ModelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'modelId', ], ], 'required' => [ 'ModelId', 'ApiId', ], ], 'GetModelResponse' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'ModelId' => [ 'shape' => 'Id', 'locationName' => 'modelId', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], ], 'GetModelTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ModelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'modelId', ], ], 'required' => [ 'ModelId', 'ApiId', ], ], 'GetModelTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => '__string', 'locationName' => 'value', ], ], ], 'GetModelsRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetModelsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfModel', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetRouteRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], ], 'required' => [ 'ApiId', 'RouteId', ], ], 'GetRouteResult' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteId' => [ 'shape' => 'Id', 'locationName' => 'routeId', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], ], 'GetRouteResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], 'RouteResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeResponseId', ], ], 'required' => [ 'RouteResponseId', 'ApiId', 'RouteId', ], ], 'GetRouteResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseId' => [ 'shape' => 'Id', 'locationName' => 'routeResponseId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], ], 'GetRouteResponsesRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], ], 'required' => [ 'RouteId', 'ApiId', ], ], 'GetRouteResponsesResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfRouteResponse', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetRoutesRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetRoutesResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfRoute', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'GetStageRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'StageName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'stageName', ], ], 'required' => [ 'StageName', 'ApiId', ], ], 'GetStageResponse' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'LastUpdatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'lastUpdatedDate', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], ], 'GetStagesRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApiId', ], ], 'GetStagesResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfStage', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'Id' => [ 'type' => 'string', ], 'IdentitySourceList' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], 'IntegerWithLengthBetween0And3600' => [ 'type' => 'integer', 'min' => 0, 'max' => 3600, ], 'IntegerWithLengthBetween50And29000' => [ 'type' => 'integer', 'min' => 50, 'max' => 29000, ], 'Integration' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationId' => [ 'shape' => 'Id', 'locationName' => 'integrationId', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'integrationResponseSelectionExpression', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], ], 'IntegrationParameters' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'StringWithLengthBetween1And512', ], ], 'IntegrationResponse' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseId' => [ 'shape' => 'Id', 'locationName' => 'integrationResponseId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], 'required' => [ 'IntegrationResponseKey', ], ], 'IntegrationResponses' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfIntegrationResponse', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'IntegrationType' => [ 'type' => 'string', 'enum' => [ 'AWS', 'HTTP', 'MOCK', 'HTTP_PROXY', 'AWS_PROXY', ], ], 'Integrations' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfIntegration', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'LimitType' => [ 'shape' => '__string', 'locationName' => 'limitType', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'LoggingLevel' => [ 'type' => 'string', 'enum' => [ 'ERROR', 'INFO', 'false', ], ], 'Model' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'ModelId' => [ 'shape' => 'Id', 'locationName' => 'modelId', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], 'required' => [ 'Name', ], ], 'Models' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfModel', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'NextToken' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'ResourceType' => [ 'shape' => '__string', 'locationName' => 'resourceType', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'ParameterConstraints' => [ 'type' => 'structure', 'members' => [ 'Required' => [ 'shape' => '__boolean', 'locationName' => 'required', ], ], ], 'PassthroughBehavior' => [ 'type' => 'string', 'enum' => [ 'WHEN_NO_MATCH', 'NEVER', 'WHEN_NO_TEMPLATES', ], ], 'ProtocolType' => [ 'type' => 'string', 'enum' => [ 'WEBSOCKET', ], ], 'ProviderArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], ], 'Route' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteId' => [ 'shape' => 'Id', 'locationName' => 'routeId', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], 'required' => [ 'RouteKey', ], ], 'RouteModels' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'StringWithLengthBetween1And128', ], ], 'RouteParameters' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'ParameterConstraints', ], ], 'RouteResponse' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseId' => [ 'shape' => 'Id', 'locationName' => 'routeResponseId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], 'required' => [ 'RouteResponseKey', ], ], 'RouteResponses' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfRouteResponse', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'RouteSettings' => [ 'type' => 'structure', 'members' => [ 'DataTraceEnabled' => [ 'shape' => '__boolean', 'locationName' => 'dataTraceEnabled', ], 'DetailedMetricsEnabled' => [ 'shape' => '__boolean', 'locationName' => 'detailedMetricsEnabled', ], 'LoggingLevel' => [ 'shape' => 'LoggingLevel', 'locationName' => 'loggingLevel', ], 'ThrottlingBurstLimit' => [ 'shape' => '__integer', 'locationName' => 'throttlingBurstLimit', ], 'ThrottlingRateLimit' => [ 'shape' => '__double', 'locationName' => 'throttlingRateLimit', ], ], ], 'RouteSettingsMap' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'RouteSettings', ], ], 'Routes' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfRoute', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'SelectionExpression' => [ 'type' => 'string', ], 'SelectionKey' => [ 'type' => 'string', ], 'Stage' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'LastUpdatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'lastUpdatedDate', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], 'required' => [ 'StageName', ], ], 'StageVariablesMap' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'StringWithLengthBetween0And2048', ], ], 'Stages' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfStage', 'locationName' => 'items', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'StringWithLengthBetween0And1024' => [ 'type' => 'string', ], 'StringWithLengthBetween0And2048' => [ 'type' => 'string', ], 'StringWithLengthBetween0And32K' => [ 'type' => 'string', ], 'StringWithLengthBetween1And1024' => [ 'type' => 'string', ], 'StringWithLengthBetween1And128' => [ 'type' => 'string', ], 'StringWithLengthBetween1And256' => [ 'type' => 'string', ], 'StringWithLengthBetween1And512' => [ 'type' => 'string', ], 'StringWithLengthBetween1And64' => [ 'type' => 'string', ], 'Template' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => '__string', 'locationName' => 'value', ], ], ], 'TemplateMap' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'StringWithLengthBetween0And32K', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'LimitType' => [ 'shape' => '__string', 'locationName' => 'limitType', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'UpdateApiInput' => [ 'type' => 'structure', 'members' => [ 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], ], ], 'UpdateApiMappingInput' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], ], 'UpdateApiMappingRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiMappingId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], 'required' => [ 'ApiMappingId', 'ApiId', 'DomainName', ], ], 'UpdateApiMappingResponse' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiMappingId' => [ 'shape' => 'Id', 'locationName' => 'apiMappingId', ], 'ApiMappingKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'apiMappingKey', ], 'Stage' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stage', ], ], ], 'UpdateApiRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], ], 'required' => [ 'ApiId', ], ], 'UpdateApiResponse' => [ 'type' => 'structure', 'members' => [ 'ApiEndpoint' => [ 'shape' => '__string', 'locationName' => 'apiEndpoint', ], 'ApiId' => [ 'shape' => 'Id', 'locationName' => 'apiId', ], 'ApiKeySelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiKeySelectionExpression', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'DisableSchemaValidation' => [ 'shape' => '__boolean', 'locationName' => 'disableSchemaValidation', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProtocolType' => [ 'shape' => 'ProtocolType', 'locationName' => 'protocolType', ], 'RouteSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeSelectionExpression', ], 'Version' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'version', ], 'Warnings' => [ 'shape' => '__listOf__string', 'locationName' => 'warnings', ], ], ], 'UpdateAuthorizerInput' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], ], 'UpdateAuthorizerRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'authorizerId', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], 'required' => [ 'AuthorizerId', 'ApiId', ], ], 'UpdateAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'AuthorizerCredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'authorizerCredentialsArn', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'AuthorizerResultTtlInSeconds' => [ 'shape' => 'IntegerWithLengthBetween0And3600', 'locationName' => 'authorizerResultTtlInSeconds', ], 'AuthorizerType' => [ 'shape' => 'AuthorizerType', 'locationName' => 'authorizerType', ], 'AuthorizerUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'authorizerUri', ], 'IdentitySource' => [ 'shape' => 'IdentitySourceList', 'locationName' => 'identitySource', ], 'IdentityValidationExpression' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'identityValidationExpression', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'ProviderArns' => [ 'shape' => 'ProviderArnList', 'locationName' => 'providerArns', ], ], ], 'UpdateDeploymentInput' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], ], 'UpdateDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'DeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], 'required' => [ 'ApiId', 'DeploymentId', ], ], 'UpdateDeploymentResponse' => [ 'type' => 'structure', 'members' => [ 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'DeploymentStatus' => [ 'shape' => 'DeploymentStatus', 'locationName' => 'deploymentStatus', ], 'DeploymentStatusMessage' => [ 'shape' => '__string', 'locationName' => 'deploymentStatusMessage', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], ], ], 'UpdateDomainNameInput' => [ 'type' => 'structure', 'members' => [ 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], ], 'UpdateDomainNameRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], 'required' => [ 'DomainName', ], ], 'UpdateDomainNameResponse' => [ 'type' => 'structure', 'members' => [ 'ApiMappingSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'apiMappingSelectionExpression', ], 'DomainName' => [ 'shape' => 'StringWithLengthBetween1And512', 'locationName' => 'domainName', ], 'DomainNameConfigurations' => [ 'shape' => 'DomainNameConfigurations', 'locationName' => 'domainNameConfigurations', ], ], ], 'UpdateIntegrationInput' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], ], 'UpdateIntegrationRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], 'required' => [ 'ApiId', 'IntegrationId', ], ], 'UpdateIntegrationResult' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'StringWithLengthBetween1And1024', 'locationName' => 'connectionId', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', 'locationName' => 'connectionType', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'CredentialsArn' => [ 'shape' => 'Arn', 'locationName' => 'credentialsArn', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'IntegrationId' => [ 'shape' => 'Id', 'locationName' => 'integrationId', ], 'IntegrationMethod' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'integrationMethod', ], 'IntegrationResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'integrationResponseSelectionExpression', ], 'IntegrationType' => [ 'shape' => 'IntegrationType', 'locationName' => 'integrationType', ], 'IntegrationUri' => [ 'shape' => 'UriWithLengthBetween1And2048', 'locationName' => 'integrationUri', ], 'PassthroughBehavior' => [ 'shape' => 'PassthroughBehavior', 'locationName' => 'passthroughBehavior', ], 'RequestParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'requestParameters', ], 'RequestTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'requestTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], 'TimeoutInMillis' => [ 'shape' => 'IntegerWithLengthBetween50And29000', 'locationName' => 'timeoutInMillis', ], ], ], 'UpdateIntegrationResponseInput' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], ], 'UpdateIntegrationResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationId', ], 'IntegrationResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'integrationResponseId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], 'required' => [ 'ApiId', 'IntegrationResponseId', 'IntegrationId', ], ], 'UpdateIntegrationResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ContentHandlingStrategy' => [ 'shape' => 'ContentHandlingStrategy', 'locationName' => 'contentHandlingStrategy', ], 'IntegrationResponseId' => [ 'shape' => 'Id', 'locationName' => 'integrationResponseId', ], 'IntegrationResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'integrationResponseKey', ], 'ResponseParameters' => [ 'shape' => 'IntegrationParameters', 'locationName' => 'responseParameters', ], 'ResponseTemplates' => [ 'shape' => 'TemplateMap', 'locationName' => 'responseTemplates', ], 'TemplateSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'templateSelectionExpression', ], ], ], 'UpdateModelInput' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], ], 'UpdateModelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'ModelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'modelId', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], 'required' => [ 'ModelId', 'ApiId', ], ], 'UpdateModelResponse' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'StringWithLengthBetween1And256', 'locationName' => 'contentType', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'ModelId' => [ 'shape' => 'Id', 'locationName' => 'modelId', ], 'Name' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'name', ], 'Schema' => [ 'shape' => 'StringWithLengthBetween0And32K', 'locationName' => 'schema', ], ], ], 'UpdateRouteInput' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], ], 'UpdateRouteRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], 'required' => [ 'ApiId', 'RouteId', ], ], 'UpdateRouteResult' => [ 'type' => 'structure', 'members' => [ 'ApiKeyRequired' => [ 'shape' => '__boolean', 'locationName' => 'apiKeyRequired', ], 'AuthorizationScopes' => [ 'shape' => 'AuthorizationScopes', 'locationName' => 'authorizationScopes', ], 'AuthorizationType' => [ 'shape' => 'AuthorizationType', 'locationName' => 'authorizationType', ], 'AuthorizerId' => [ 'shape' => 'Id', 'locationName' => 'authorizerId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'OperationName' => [ 'shape' => 'StringWithLengthBetween1And64', 'locationName' => 'operationName', ], 'RequestModels' => [ 'shape' => 'RouteModels', 'locationName' => 'requestModels', ], 'RequestParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'requestParameters', ], 'RouteId' => [ 'shape' => 'Id', 'locationName' => 'routeId', ], 'RouteKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeKey', ], 'RouteResponseSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'routeResponseSelectionExpression', ], 'Target' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'target', ], ], ], 'UpdateRouteResponseInput' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], ], 'UpdateRouteResponseRequest' => [ 'type' => 'structure', 'members' => [ 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeId', ], 'RouteResponseId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'routeResponseId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], 'required' => [ 'RouteResponseId', 'ApiId', 'RouteId', ], ], 'UpdateRouteResponseResponse' => [ 'type' => 'structure', 'members' => [ 'ModelSelectionExpression' => [ 'shape' => 'SelectionExpression', 'locationName' => 'modelSelectionExpression', ], 'ResponseModels' => [ 'shape' => 'RouteModels', 'locationName' => 'responseModels', ], 'ResponseParameters' => [ 'shape' => 'RouteParameters', 'locationName' => 'responseParameters', ], 'RouteResponseId' => [ 'shape' => 'Id', 'locationName' => 'routeResponseId', ], 'RouteResponseKey' => [ 'shape' => 'SelectionKey', 'locationName' => 'routeResponseKey', ], ], ], 'UpdateStageInput' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], ], 'UpdateStageRequest' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ApiId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'apiId', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], 'required' => [ 'StageName', 'ApiId', ], ], 'UpdateStageResponse' => [ 'type' => 'structure', 'members' => [ 'AccessLogSettings' => [ 'shape' => 'AccessLogSettings', 'locationName' => 'accessLogSettings', ], 'ClientCertificateId' => [ 'shape' => 'Id', 'locationName' => 'clientCertificateId', ], 'CreatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'createdDate', ], 'DefaultRouteSettings' => [ 'shape' => 'RouteSettings', 'locationName' => 'defaultRouteSettings', ], 'DeploymentId' => [ 'shape' => 'Id', 'locationName' => 'deploymentId', ], 'Description' => [ 'shape' => 'StringWithLengthBetween0And1024', 'locationName' => 'description', ], 'LastUpdatedDate' => [ 'shape' => '__timestampIso8601', 'locationName' => 'lastUpdatedDate', ], 'RouteSettings' => [ 'shape' => 'RouteSettingsMap', 'locationName' => 'routeSettings', ], 'StageName' => [ 'shape' => 'StringWithLengthBetween1And128', 'locationName' => 'stageName', ], 'StageVariables' => [ 'shape' => 'StageVariablesMap', 'locationName' => 'stageVariables', ], ], ], 'UriWithLengthBetween1And2048' => [ 'type' => 'string', ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfApi' => [ 'type' => 'list', 'member' => [ 'shape' => 'Api', ], ], '__listOfApiMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApiMapping', ], ], '__listOfAuthorizer' => [ 'type' => 'list', 'member' => [ 'shape' => 'Authorizer', ], ], '__listOfDeployment' => [ 'type' => 'list', 'member' => [ 'shape' => 'Deployment', ], ], '__listOfDomainName' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainName', ], ], '__listOfIntegration' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integration', ], ], '__listOfIntegrationResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'IntegrationResponse', ], ], '__listOfModel' => [ 'type' => 'list', 'member' => [ 'shape' => 'Model', ], ], '__listOfRoute' => [ 'type' => 'list', 'member' => [ 'shape' => 'Route', ], ], '__listOfRouteResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteResponse', ], ], '__listOfStage' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stage', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ], 'authorizers' => [ 'authorization_strategy' => [ 'name' => 'authorization_strategy', 'type' => 'provided', 'placement' => [ 'location' => 'header', 'name' => 'Authorization', ], ], ],]; diff --git a/lib/aws/Aws/data/apigatewayv2/2018-11-29/paginators-1.json.php b/lib/aws/Aws/data/apigatewayv2/2018-11-29/paginators-1.json.php new file mode 100644 index 0000000..2884bbe --- /dev/null +++ b/lib/aws/Aws/data/apigatewayv2/2018-11-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/apigatewayv2/2018-11-29/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/application-autoscaling/2016-02-06/api-2.json.php b/lib/aws/Aws/data/application-autoscaling/2016-02-06/api-2.json.php new file mode 100644 index 0000000..f4de00e --- /dev/null +++ b/lib/aws/Aws/data/application-autoscaling/2016-02-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/application-autoscaling/2016-02-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-02-06', 'endpointPrefix' => 'autoscaling', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Application Auto Scaling', 'serviceId' => 'Application Auto Scaling', 'signatureVersion' => 'v4', 'signingName' => 'application-autoscaling', 'targetPrefix' => 'AnyScaleFrontendService', 'uid' => 'application-autoscaling-2016-02-06', ], 'operations' => [ 'DeleteScalingPolicy' => [ 'name' => 'DeleteScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteScalingPolicyRequest', ], 'output' => [ 'shape' => 'DeleteScalingPolicyResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteScheduledAction' => [ 'name' => 'DeleteScheduledAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteScheduledActionRequest', ], 'output' => [ 'shape' => 'DeleteScheduledActionResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeregisterScalableTarget' => [ 'name' => 'DeregisterScalableTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterScalableTargetRequest', ], 'output' => [ 'shape' => 'DeregisterScalableTargetResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScalableTargets' => [ 'name' => 'DescribeScalableTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalableTargetsRequest', ], 'output' => [ 'shape' => 'DescribeScalableTargetsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScalingActivities' => [ 'name' => 'DescribeScalingActivities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingActivitiesRequest', ], 'output' => [ 'shape' => 'DescribeScalingActivitiesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScalingPolicies' => [ 'name' => 'DescribeScalingPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingPoliciesRequest', ], 'output' => [ 'shape' => 'DescribeScalingPoliciesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'FailedResourceAccessException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScheduledActions' => [ 'name' => 'DescribeScheduledActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledActionsRequest', ], 'output' => [ 'shape' => 'DescribeScheduledActionsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'PutScalingPolicy' => [ 'name' => 'PutScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutScalingPolicyRequest', ], 'output' => [ 'shape' => 'PutScalingPolicyResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'FailedResourceAccessException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'PutScheduledAction' => [ 'name' => 'PutScheduledAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutScheduledActionRequest', ], 'output' => [ 'shape' => 'PutScheduledActionResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'RegisterScalableTarget' => [ 'name' => 'RegisterScalableTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterScalableTargetRequest', ], 'output' => [ 'shape' => 'RegisterScalableTargetResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], ], 'shapes' => [ 'AdjustmentType' => [ 'type' => 'string', 'enum' => [ 'ChangeInCapacity', 'PercentChangeInCapacity', 'ExactCapacity', ], ], 'Alarm' => [ 'type' => 'structure', 'required' => [ 'AlarmName', 'AlarmARN', ], 'members' => [ 'AlarmName' => [ 'shape' => 'ResourceId', ], 'AlarmARN' => [ 'shape' => 'ResourceId', ], ], ], 'Alarms' => [ 'type' => 'list', 'member' => [ 'shape' => 'Alarm', ], ], 'ConcurrentUpdateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Cooldown' => [ 'type' => 'integer', ], 'CustomizedMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'MetricNamespace', ], 'Dimensions' => [ 'shape' => 'MetricDimensions', ], 'Statistic' => [ 'shape' => 'MetricStatistic', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], 'DeleteScalingPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'PolicyName' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], ], ], 'DeleteScalingPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteScheduledActionRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ScheduledActionName', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ScheduledActionName' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], ], ], 'DeleteScheduledActionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterScalableTargetRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], ], ], 'DeregisterScalableTargetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeScalableTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceIds' => [ 'shape' => 'ResourceIdsMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScalableTargetsResponse' => [ 'type' => 'structure', 'members' => [ 'ScalableTargets' => [ 'shape' => 'ScalableTargets', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScalingActivitiesRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScalingActivitiesResponse' => [ 'type' => 'structure', 'members' => [ 'ScalingActivities' => [ 'shape' => 'ScalingActivities', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScalingPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', ], 'members' => [ 'PolicyNames' => [ 'shape' => 'ResourceIdsMaxLen1600', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScalingPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'ScalingPolicies' => [ 'shape' => 'ScalingPolicies', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScheduledActionsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', ], 'members' => [ 'ScheduledActionNames' => [ 'shape' => 'ResourceIdsMaxLen1600', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScheduledActionsResponse' => [ 'type' => 'structure', 'members' => [ 'ScheduledActions' => [ 'shape' => 'ScheduledActions', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DisableScaleIn' => [ 'type' => 'boolean', ], 'ErrorMessage' => [ 'type' => 'string', ], 'FailedResourceAccessException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', ], 'MetricAggregationType' => [ 'type' => 'string', 'enum' => [ 'Average', 'Minimum', 'Maximum', ], ], 'MetricDimension' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'MetricDimensionName', ], 'Value' => [ 'shape' => 'MetricDimensionValue', ], ], ], 'MetricDimensionName' => [ 'type' => 'string', ], 'MetricDimensionValue' => [ 'type' => 'string', ], 'MetricDimensions' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDimension', ], ], 'MetricName' => [ 'type' => 'string', ], 'MetricNamespace' => [ 'type' => 'string', ], 'MetricScale' => [ 'type' => 'double', ], 'MetricStatistic' => [ 'type' => 'string', 'enum' => [ 'Average', 'Minimum', 'Maximum', 'SampleCount', 'Sum', ], ], 'MetricType' => [ 'type' => 'string', 'enum' => [ 'DynamoDBReadCapacityUtilization', 'DynamoDBWriteCapacityUtilization', 'ALBRequestCountPerTarget', 'RDSReaderAverageCPUUtilization', 'RDSReaderAverageDatabaseConnections', 'EC2SpotFleetRequestAverageCPUUtilization', 'EC2SpotFleetRequestAverageNetworkIn', 'EC2SpotFleetRequestAverageNetworkOut', 'SageMakerVariantInvocationsPerInstance', 'ECSServiceAverageCPUUtilization', 'ECSServiceAverageMemoryUtilization', ], ], 'MetricUnit' => [ 'type' => 'string', ], 'MinAdjustmentMagnitude' => [ 'type' => 'integer', ], 'ObjectNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PolicyName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '\\p{Print}+', ], 'PolicyType' => [ 'type' => 'string', 'enum' => [ 'StepScaling', 'TargetTrackingScaling', ], ], 'PredefinedMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'PredefinedMetricType', ], 'members' => [ 'PredefinedMetricType' => [ 'shape' => 'MetricType', ], 'ResourceLabel' => [ 'shape' => 'ResourceLabel', ], ], ], 'PutScalingPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'PolicyName' => [ 'shape' => 'PolicyName', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], 'StepScalingPolicyConfiguration' => [ 'shape' => 'StepScalingPolicyConfiguration', ], 'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'TargetTrackingScalingPolicyConfiguration', ], ], ], 'PutScalingPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'PolicyARN', ], 'members' => [ 'PolicyARN' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'Alarms' => [ 'shape' => 'Alarms', ], ], ], 'PutScheduledActionRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ScheduledActionName', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'Schedule' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScheduledActionName' => [ 'shape' => 'ScheduledActionName', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'ScalableTargetAction' => [ 'shape' => 'ScalableTargetAction', ], ], ], 'PutScheduledActionResponse' => [ 'type' => 'structure', 'members' => [], ], 'RegisterScalableTargetRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ResourceId', 'ScalableDimension', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MinCapacity' => [ 'shape' => 'ResourceCapacity', ], 'MaxCapacity' => [ 'shape' => 'ResourceCapacity', ], 'RoleARN' => [ 'shape' => 'ResourceIdMaxLen1600', ], ], ], 'RegisterScalableTargetResponse' => [ 'type' => 'structure', 'members' => [], ], 'ResourceCapacity' => [ 'type' => 'integer', ], 'ResourceId' => [ 'type' => 'string', 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'ResourceIdMaxLen1600' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'ResourceIdsMaxLen1600' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceIdMaxLen1600', ], ], 'ResourceLabel' => [ 'type' => 'string', 'max' => 1023, 'min' => 1, ], 'ScalableDimension' => [ 'type' => 'string', 'enum' => [ 'ecs:service:DesiredCount', 'ec2:spot-fleet-request:TargetCapacity', 'elasticmapreduce:instancegroup:InstanceCount', 'appstream:fleet:DesiredCapacity', 'dynamodb:table:ReadCapacityUnits', 'dynamodb:table:WriteCapacityUnits', 'dynamodb:index:ReadCapacityUnits', 'dynamodb:index:WriteCapacityUnits', 'rds:cluster:ReadReplicaCount', 'sagemaker:variant:DesiredInstanceCount', 'custom-resource:ResourceType:Property', ], ], 'ScalableTarget' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'MinCapacity', 'MaxCapacity', 'RoleARN', 'CreationTime', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MinCapacity' => [ 'shape' => 'ResourceCapacity', ], 'MaxCapacity' => [ 'shape' => 'ResourceCapacity', ], 'RoleARN' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'CreationTime' => [ 'shape' => 'TimestampType', ], ], ], 'ScalableTargetAction' => [ 'type' => 'structure', 'members' => [ 'MinCapacity' => [ 'shape' => 'ResourceCapacity', ], 'MaxCapacity' => [ 'shape' => 'ResourceCapacity', ], ], ], 'ScalableTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalableTarget', ], ], 'ScalingActivities' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingActivity', ], ], 'ScalingActivity' => [ 'type' => 'structure', 'required' => [ 'ActivityId', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'Description', 'Cause', 'StartTime', 'StatusCode', ], 'members' => [ 'ActivityId' => [ 'shape' => 'ResourceId', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'Description' => [ 'shape' => 'XmlString', ], 'Cause' => [ 'shape' => 'XmlString', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'StatusCode' => [ 'shape' => 'ScalingActivityStatusCode', ], 'StatusMessage' => [ 'shape' => 'XmlString', ], 'Details' => [ 'shape' => 'XmlString', ], ], ], 'ScalingActivityStatusCode' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Successful', 'Overridden', 'Unfulfilled', 'Failed', ], ], 'ScalingAdjustment' => [ 'type' => 'integer', ], 'ScalingPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPolicy', ], ], 'ScalingPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyARN', 'PolicyName', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'PolicyType', 'CreationTime', ], 'members' => [ 'PolicyARN' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], 'StepScalingPolicyConfiguration' => [ 'shape' => 'StepScalingPolicyConfiguration', ], 'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'TargetTrackingScalingPolicyConfiguration', ], 'Alarms' => [ 'shape' => 'Alarms', ], 'CreationTime' => [ 'shape' => 'TimestampType', ], ], ], 'ScheduledAction' => [ 'type' => 'structure', 'required' => [ 'ScheduledActionName', 'ScheduledActionARN', 'ServiceNamespace', 'Schedule', 'ResourceId', 'CreationTime', ], 'members' => [ 'ScheduledActionName' => [ 'shape' => 'ScheduledActionName', ], 'ScheduledActionARN' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'Schedule' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'ScalableTargetAction' => [ 'shape' => 'ScalableTargetAction', ], 'CreationTime' => [ 'shape' => 'TimestampType', ], ], ], 'ScheduledActionName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '(?!((^[ ]+.*)|(.*([\\u0000-\\u001f]|[\\u007f-\\u009f]|[:/|])+.*)|(.*[ ]+$))).+', ], 'ScheduledActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledAction', ], ], 'ServiceNamespace' => [ 'type' => 'string', 'enum' => [ 'ecs', 'elasticmapreduce', 'ec2', 'appstream', 'dynamodb', 'rds', 'sagemaker', 'custom-resource', ], ], 'StepAdjustment' => [ 'type' => 'structure', 'required' => [ 'ScalingAdjustment', ], 'members' => [ 'MetricIntervalLowerBound' => [ 'shape' => 'MetricScale', ], 'MetricIntervalUpperBound' => [ 'shape' => 'MetricScale', ], 'ScalingAdjustment' => [ 'shape' => 'ScalingAdjustment', ], ], ], 'StepAdjustments' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepAdjustment', ], ], 'StepScalingPolicyConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdjustmentType' => [ 'shape' => 'AdjustmentType', ], 'StepAdjustments' => [ 'shape' => 'StepAdjustments', ], 'MinAdjustmentMagnitude' => [ 'shape' => 'MinAdjustmentMagnitude', ], 'Cooldown' => [ 'shape' => 'Cooldown', ], 'MetricAggregationType' => [ 'shape' => 'MetricAggregationType', ], ], ], 'TargetTrackingScalingPolicyConfiguration' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'TargetValue' => [ 'shape' => 'MetricScale', ], 'PredefinedMetricSpecification' => [ 'shape' => 'PredefinedMetricSpecification', ], 'CustomizedMetricSpecification' => [ 'shape' => 'CustomizedMetricSpecification', ], 'ScaleOutCooldown' => [ 'shape' => 'Cooldown', ], 'ScaleInCooldown' => [ 'shape' => 'Cooldown', ], 'DisableScaleIn' => [ 'shape' => 'DisableScaleIn', ], ], ], 'TimestampType' => [ 'type' => 'timestamp', ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'XmlString' => [ 'type' => 'string', 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], ],]; diff --git a/lib/aws/Aws/data/application-autoscaling/2016-02-06/paginators-1.json.php b/lib/aws/Aws/data/application-autoscaling/2016-02-06/paginators-1.json.php new file mode 100644 index 0000000..ca81c82 --- /dev/null +++ b/lib/aws/Aws/data/application-autoscaling/2016-02-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/application-autoscaling/2016-02-06/paginators-1.json +return [ 'pagination' => [ 'DescribeScalableTargets' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ScalableTargets', ], 'DescribeScalingActivities' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ScalingActivities', ], 'DescribeScalingPolicies' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ScalingPolicies', ], ],]; diff --git a/lib/aws/Aws/data/application-autoscaling/2016-02-06/smoke.json.php b/lib/aws/Aws/data/application-autoscaling/2016-02-06/smoke.json.php new file mode 100644 index 0000000..700fb2e --- /dev/null +++ b/lib/aws/Aws/data/application-autoscaling/2016-02-06/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/application-autoscaling/2016-02-06/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeScalableTargets', 'input' => [ 'ServiceNamespace' => 'ec2', ], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/appmesh/2018-10-01/api-2.json.php b/lib/aws/Aws/data/appmesh/2018-10-01/api-2.json.php new file mode 100644 index 0000000..4f33a6d --- /dev/null +++ b/lib/aws/Aws/data/appmesh/2018-10-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appmesh/2018-10-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-10-01', 'endpointPrefix' => 'appmesh', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS App Mesh', 'serviceId' => 'App Mesh', 'signatureVersion' => 'v4', 'signingName' => 'appmesh', 'uid' => 'appmesh-2018-10-01', ], 'operations' => [ 'CreateMesh' => [ 'name' => 'CreateMesh', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateMeshInput', ], 'output' => [ 'shape' => 'CreateMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateRouteInput', ], 'output' => [ 'shape' => 'CreateRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateVirtualNode' => [ 'name' => 'CreateVirtualNode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualNodes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateVirtualNodeInput', ], 'output' => [ 'shape' => 'CreateVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateVirtualRouter' => [ 'name' => 'CreateVirtualRouter', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualRouters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateVirtualRouterInput', ], 'output' => [ 'shape' => 'CreateVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteMesh' => [ 'name' => 'DeleteMesh', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/meshes/{meshName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteMeshInput', ], 'output' => [ 'shape' => 'DeleteMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteRouteInput', ], 'output' => [ 'shape' => 'DeleteRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteVirtualNode' => [ 'name' => 'DeleteVirtualNode', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVirtualNodeInput', ], 'output' => [ 'shape' => 'DeleteVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteVirtualRouter' => [ 'name' => 'DeleteVirtualRouter', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVirtualRouterInput', ], 'output' => [ 'shape' => 'DeleteVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DescribeMesh' => [ 'name' => 'DescribeMesh', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeMeshInput', ], 'output' => [ 'shape' => 'DescribeMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeRoute' => [ 'name' => 'DescribeRoute', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeRouteInput', ], 'output' => [ 'shape' => 'DescribeRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeVirtualNode' => [ 'name' => 'DescribeVirtualNode', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVirtualNodeInput', ], 'output' => [ 'shape' => 'DescribeVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeVirtualRouter' => [ 'name' => 'DescribeVirtualRouter', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVirtualRouterInput', ], 'output' => [ 'shape' => 'DescribeVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListMeshes' => [ 'name' => 'ListMeshes', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListMeshesInput', ], 'output' => [ 'shape' => 'ListMeshesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListRoutes' => [ 'name' => 'ListRoutes', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListRoutesInput', ], 'output' => [ 'shape' => 'ListRoutesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListVirtualNodes' => [ 'name' => 'ListVirtualNodes', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualNodes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVirtualNodesInput', ], 'output' => [ 'shape' => 'ListVirtualNodesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListVirtualRouters' => [ 'name' => 'ListVirtualRouters', 'http' => [ 'method' => 'GET', 'requestUri' => '/meshes/{meshName}/virtualRouters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVirtualRoutersInput', ], 'output' => [ 'shape' => 'ListVirtualRoutersOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateRoute' => [ 'name' => 'UpdateRoute', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateRouteInput', ], 'output' => [ 'shape' => 'UpdateRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateVirtualNode' => [ 'name' => 'UpdateVirtualNode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVirtualNodeInput', ], 'output' => [ 'shape' => 'UpdateVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateVirtualRouter' => [ 'name' => 'UpdateVirtualRouter', 'http' => [ 'method' => 'PUT', 'requestUri' => '/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVirtualRouterInput', ], 'output' => [ 'shape' => 'UpdateVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'ServiceName' => [ 'type' => 'string', ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'InternalServerErrorException', 'httpStatusCode' => 500, 'fault' => true, ], ], 'HealthCheckThreshold' => [ 'type' => 'integer', 'min' => 2, 'max' => 10, ], 'DeleteMeshOutput' => [ 'type' => 'structure', 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'Long' => [ 'type' => 'long', 'box' => true, ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ForbiddenException', 'httpStatusCode' => 403, 'senderFault' => true, ], ], 'UpdateVirtualRouterOutput' => [ 'type' => 'structure', 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'MeshStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'PortNumber' => [ 'type' => 'integer', 'min' => 1, 'max' => 65535, ], 'WeightedTarget' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'ResourceName', ], 'weight' => [ 'shape' => 'PercentInt', ], ], ], 'VirtualNodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualNodeRef', ], ], 'CreateRouteOutput' => [ 'type' => 'structure', 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteRef', ], ], 'DeleteVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'ListVirtualRoutersLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'DnsServiceDiscovery' => [ 'type' => 'structure', 'members' => [ 'serviceName' => [ 'shape' => 'ServiceName', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ConflictException', 'httpStatusCode' => 409, 'senderFault' => true, ], ], 'HealthCheckIntervalMillis' => [ 'type' => 'long', 'box' => true, 'min' => 5000, 'max' => 300000, ], 'VirtualNodeRef' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'DescribeRouteOutput' => [ 'type' => 'structure', 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'ServiceDiscovery' => [ 'type' => 'structure', 'members' => [ 'dns' => [ 'shape' => 'DnsServiceDiscovery', ], ], ], 'MeshStatus' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'MeshStatusCode', ], ], ], 'VirtualNodeData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'status' => [ 'shape' => 'VirtualNodeStatus', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'VirtualNodeSpec' => [ 'type' => 'structure', 'members' => [ 'backends' => [ 'shape' => 'Backends', ], 'listeners' => [ 'shape' => 'Listeners', ], 'serviceDiscovery' => [ 'shape' => 'ServiceDiscovery', ], ], ], 'ServiceNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceName', ], 'max' => 10, ], 'MeshRef' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], ], ], 'DescribeVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'DescribeVirtualRouterOutput' => [ 'type' => 'structure', 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'LimitExceededException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'UpdateRouteOutput' => [ 'type' => 'structure', 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'HttpRouteAction' => [ 'type' => 'structure', 'members' => [ 'weightedTargets' => [ 'shape' => 'WeightedTargets', ], ], ], 'CreateVirtualRouterOutput' => [ 'type' => 'structure', 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'HealthCheckTimeoutMillis' => [ 'type' => 'long', 'box' => true, 'min' => 2000, 'max' => 60000, ], 'CreateVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'RouteStatus' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'RouteStatusCode', ], ], ], 'ListMeshesInput' => [ 'type' => 'structure', 'members' => [ 'limit' => [ 'shape' => 'ListMeshesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'VirtualRouterStatus' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'VirtualRouterStatusCode', ], ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'TooManyRequestsException', 'httpStatusCode' => 429, 'senderFault' => true, ], ], 'ListMeshesOutput' => [ 'type' => 'structure', 'required' => [ 'meshes', ], 'members' => [ 'meshes' => [ 'shape' => 'MeshList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVirtualNodeOutput' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'CreateMeshOutput' => [ 'type' => 'structure', 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'ResourceName' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], 'RouteData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'status' => [ 'shape' => 'RouteStatus', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'Arn' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'NotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], ], 'UpdateVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualNodeName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'DeleteRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ServiceUnavailableException', 'httpStatusCode' => 503, 'fault' => true, ], ], 'Listeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], ], 'ListRoutesInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'limit' => [ 'shape' => 'ListRoutesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'HttpRoute' => [ 'type' => 'structure', 'members' => [ 'action' => [ 'shape' => 'HttpRouteAction', ], 'match' => [ 'shape' => 'HttpRouteMatch', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'ListRoutesOutput' => [ 'type' => 'structure', 'required' => [ 'routes', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'routes' => [ 'shape' => 'RouteList', ], ], ], 'RouteSpec' => [ 'type' => 'structure', 'members' => [ 'httpRoute' => [ 'shape' => 'HttpRoute', ], ], ], 'DescribeVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'VirtualRouterRef' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'VirtualRouterStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'ListVirtualNodesOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNodes', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'virtualNodes' => [ 'shape' => 'VirtualNodeList', ], ], ], 'DeleteVirtualNodeOutput' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'UpdateVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ResourceInUseException', 'httpStatusCode' => 409, 'senderFault' => true, ], ], 'DescribeRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'ListVirtualRoutersOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouters', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'virtualRouters' => [ 'shape' => 'VirtualRouterList', ], ], ], 'CreateVirtualNodeOutput' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'DeleteVirtualRouterOutput' => [ 'type' => 'structure', 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'ListRoutesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'PortProtocol' => [ 'type' => 'string', 'enum' => [ 'http', 'tcp', ], ], 'MeshList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MeshRef', ], ], 'ResourceMetadata' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'lastUpdatedAt' => [ 'shape' => 'Timestamp', ], 'uid' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Long', ], ], ], 'CreateMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', ], ], ], 'PortMapping' => [ 'type' => 'structure', 'members' => [ 'port' => [ 'shape' => 'PortNumber', ], 'protocol' => [ 'shape' => 'PortProtocol', ], ], ], 'VirtualNodeStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'DeleteVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'VirtualRouterSpec' => [ 'type' => 'structure', 'members' => [ 'serviceNames' => [ 'shape' => 'ServiceNames', ], ], ], 'UpdateRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'PercentInt' => [ 'type' => 'integer', 'min' => 0, 'max' => 100, ], 'ListMeshesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'DescribeMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], ], ], 'DescribeMeshOutput' => [ 'type' => 'structure', 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'VirtualRouterData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'status' => [ 'shape' => 'VirtualRouterStatus', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'VirtualRouterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualRouterRef', ], ], 'Listener' => [ 'type' => 'structure', 'members' => [ 'healthCheck' => [ 'shape' => 'HealthCheckPolicy', ], 'portMapping' => [ 'shape' => 'PortMapping', ], ], ], 'String' => [ 'type' => 'string', ], 'HealthCheckPolicy' => [ 'type' => 'structure', 'required' => [ 'healthyThreshold', 'intervalMillis', 'protocol', 'timeoutMillis', 'unhealthyThreshold', ], 'members' => [ 'healthyThreshold' => [ 'shape' => 'HealthCheckThreshold', ], 'intervalMillis' => [ 'shape' => 'HealthCheckIntervalMillis', ], 'path' => [ 'shape' => 'String', ], 'port' => [ 'shape' => 'PortNumber', ], 'protocol' => [ 'shape' => 'PortProtocol', ], 'timeoutMillis' => [ 'shape' => 'HealthCheckTimeoutMillis', ], 'unhealthyThreshold' => [ 'shape' => 'HealthCheckThreshold', ], ], ], 'ListVirtualRoutersInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'limit' => [ 'shape' => 'ListVirtualRoutersLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'CreateVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualNodeName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'BadRequestException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'MeshData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'status' => [ 'shape' => 'MeshStatus', ], ], ], 'ListVirtualNodesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'WeightedTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'WeightedTarget', ], ], 'DeleteMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], ], ], 'HttpRouteMatch' => [ 'type' => 'structure', 'members' => [ 'prefix' => [ 'shape' => 'String', ], ], ], 'DeleteRouteOutput' => [ 'type' => 'structure', 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'Backends' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceName', ], ], 'CreateRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'VirtualNodeStatus' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'VirtualNodeStatusCode', ], ], ], 'ListVirtualNodesInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'limit' => [ 'shape' => 'ListVirtualNodesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'RouteRef' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'RouteStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'UpdateVirtualNodeOutput' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], ],]; diff --git a/lib/aws/Aws/data/appmesh/2018-10-01/paginators-1.json.php b/lib/aws/Aws/data/appmesh/2018-10-01/paginators-1.json.php new file mode 100644 index 0000000..6d921c2 --- /dev/null +++ b/lib/aws/Aws/data/appmesh/2018-10-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appmesh/2018-10-01/paginators-1.json +return [ 'pagination' => [ 'ListMeshes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'meshes', ], 'ListRoutes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'routes', ], 'ListVirtualNodes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'virtualNodes', ], 'ListVirtualRouters' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'virtualRouters', ], ],]; diff --git a/lib/aws/Aws/data/appmesh/2019-01-25/api-2.json.php b/lib/aws/Aws/data/appmesh/2019-01-25/api-2.json.php new file mode 100644 index 0000000..91aefa2 --- /dev/null +++ b/lib/aws/Aws/data/appmesh/2019-01-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appmesh/2019-01-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2019-01-25', 'endpointPrefix' => 'appmesh', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS App Mesh', 'serviceId' => 'App Mesh', 'signatureVersion' => 'v4', 'signingName' => 'appmesh', 'uid' => 'appmesh-2019-01-25', ], 'operations' => [ 'CreateMesh' => [ 'name' => 'CreateMesh', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateMeshInput', ], 'output' => [ 'shape' => 'CreateMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateRouteInput', ], 'output' => [ 'shape' => 'CreateRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateVirtualNode' => [ 'name' => 'CreateVirtualNode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualNodes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateVirtualNodeInput', ], 'output' => [ 'shape' => 'CreateVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateVirtualRouter' => [ 'name' => 'CreateVirtualRouter', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateVirtualRouterInput', ], 'output' => [ 'shape' => 'CreateVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'CreateVirtualService' => [ 'name' => 'CreateVirtualService', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualServices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateVirtualServiceInput', ], 'output' => [ 'shape' => 'CreateVirtualServiceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteMesh' => [ 'name' => 'DeleteMesh', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20190125/meshes/{meshName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteMeshInput', ], 'output' => [ 'shape' => 'DeleteMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteRouteInput', ], 'output' => [ 'shape' => 'DeleteRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteVirtualNode' => [ 'name' => 'DeleteVirtualNode', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVirtualNodeInput', ], 'output' => [ 'shape' => 'DeleteVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteVirtualRouter' => [ 'name' => 'DeleteVirtualRouter', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVirtualRouterInput', ], 'output' => [ 'shape' => 'DeleteVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DeleteVirtualService' => [ 'name' => 'DeleteVirtualService', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVirtualServiceInput', ], 'output' => [ 'shape' => 'DeleteVirtualServiceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'DescribeMesh' => [ 'name' => 'DescribeMesh', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeMeshInput', ], 'output' => [ 'shape' => 'DescribeMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeRoute' => [ 'name' => 'DescribeRoute', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeRouteInput', ], 'output' => [ 'shape' => 'DescribeRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeVirtualNode' => [ 'name' => 'DescribeVirtualNode', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVirtualNodeInput', ], 'output' => [ 'shape' => 'DescribeVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeVirtualRouter' => [ 'name' => 'DescribeVirtualRouter', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVirtualRouterInput', ], 'output' => [ 'shape' => 'DescribeVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeVirtualService' => [ 'name' => 'DescribeVirtualService', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVirtualServiceInput', ], 'output' => [ 'shape' => 'DescribeVirtualServiceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListMeshes' => [ 'name' => 'ListMeshes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListMeshesInput', ], 'output' => [ 'shape' => 'ListMeshesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListRoutes' => [ 'name' => 'ListRoutes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListRoutesInput', ], 'output' => [ 'shape' => 'ListRoutesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/tags', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListVirtualNodes' => [ 'name' => 'ListVirtualNodes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualNodes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVirtualNodesInput', ], 'output' => [ 'shape' => 'ListVirtualNodesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListVirtualRouters' => [ 'name' => 'ListVirtualRouters', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVirtualRoutersInput', ], 'output' => [ 'shape' => 'ListVirtualRoutersOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListVirtualServices' => [ 'name' => 'ListVirtualServices', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20190125/meshes/{meshName}/virtualServices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVirtualServicesInput', ], 'output' => [ 'shape' => 'ListVirtualServicesOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/tag', 'responseCode' => 200, ], 'input' => [ 'shape' => 'TagResourceInput', ], 'output' => [ 'shape' => 'TagResourceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyTagsException', ], ], 'idempotent' => true, ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/untag', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'output' => [ 'shape' => 'UntagResourceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'UpdateMesh' => [ 'name' => 'UpdateMesh', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateMeshInput', ], 'output' => [ 'shape' => 'UpdateMeshOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateRoute' => [ 'name' => 'UpdateRoute', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateRouteInput', ], 'output' => [ 'shape' => 'UpdateRouteOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateVirtualNode' => [ 'name' => 'UpdateVirtualNode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVirtualNodeInput', ], 'output' => [ 'shape' => 'UpdateVirtualNodeOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateVirtualRouter' => [ 'name' => 'UpdateVirtualRouter', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVirtualRouterInput', ], 'output' => [ 'shape' => 'UpdateVirtualRouterOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'UpdateVirtualService' => [ 'name' => 'UpdateVirtualService', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVirtualServiceInput', ], 'output' => [ 'shape' => 'UpdateVirtualServiceOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'VirtualRouterListener' => [ 'type' => 'structure', 'required' => [ 'portMapping', ], 'members' => [ 'portMapping' => [ 'shape' => 'PortMapping', ], ], ], 'UpdateVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualNodeName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'DeleteMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], ], ], 'CreateVirtualServiceInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualServiceName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualServiceSpec', ], 'tags' => [ 'shape' => 'TagList', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', ], ], ], 'VirtualRouterStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'UpdateVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'min' => 0, 'max' => 50, ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'limit' => [ 'shape' => 'TagsLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], ], ], 'CreateVirtualNodeOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNode', ], 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'Logging' => [ 'type' => 'structure', 'members' => [ 'accessLog' => [ 'shape' => 'AccessLog', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ServiceUnavailableException', 'httpStatusCode' => 503, 'fault' => true, ], ], 'Long' => [ 'type' => 'long', 'box' => true, ], 'UpdateVirtualRouterOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouter', ], 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'DescribeMeshOutput' => [ 'type' => 'structure', 'required' => [ 'mesh', ], 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'DeleteVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'ListVirtualRoutersOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouters', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'virtualRouters' => [ 'shape' => 'VirtualRouterList', ], ], ], 'DescribeRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'DeleteRouteOutput' => [ 'type' => 'structure', 'required' => [ 'route', ], 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'ResourceMetadata' => [ 'type' => 'structure', 'required' => [ 'arn', 'createdAt', 'lastUpdatedAt', 'uid', 'version', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'lastUpdatedAt' => [ 'shape' => 'Timestamp', ], 'uid' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Long', ], ], ], 'Listeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], 'min' => 0, 'max' => 1, ], 'Backends' => [ 'type' => 'list', 'member' => [ 'shape' => 'Backend', ], 'min' => 0, 'max' => 25, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ResourceInUseException', 'httpStatusCode' => 409, 'senderFault' => true, ], ], 'PortProtocol' => [ 'type' => 'string', 'enum' => [ 'http', 'tcp', ], ], 'UpdateVirtualNodeOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNode', ], 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'ListRoutesOutput' => [ 'type' => 'structure', 'required' => [ 'routes', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'routes' => [ 'shape' => 'RouteList', ], ], ], 'VirtualServiceBackend' => [ 'type' => 'structure', 'required' => [ 'virtualServiceName', ], 'members' => [ 'virtualServiceName' => [ 'shape' => 'ServiceName', ], ], ], 'VirtualNodeStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'ServiceName' => [ 'type' => 'string', ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'BadRequestException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'UpdateVirtualServiceInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualServiceName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualServiceSpec', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', 'location' => 'uri', 'locationName' => 'virtualServiceName', ], ], ], 'HealthCheckThreshold' => [ 'type' => 'integer', 'min' => 2, 'max' => 10, ], 'UpdateRouteOutput' => [ 'type' => 'structure', 'required' => [ 'route', ], 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'PercentInt' => [ 'type' => 'integer', 'min' => 0, 'max' => 100, ], 'TagValue' => [ 'type' => 'string', 'min' => 0, 'max' => 256, ], 'HttpRouteAction' => [ 'type' => 'structure', 'required' => [ 'weightedTargets', ], 'members' => [ 'weightedTargets' => [ 'shape' => 'WeightedTargets', ], ], ], 'ListRoutesInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'limit' => [ 'shape' => 'ListRoutesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'HealthCheckPolicy' => [ 'type' => 'structure', 'required' => [ 'healthyThreshold', 'intervalMillis', 'protocol', 'timeoutMillis', 'unhealthyThreshold', ], 'members' => [ 'healthyThreshold' => [ 'shape' => 'HealthCheckThreshold', ], 'intervalMillis' => [ 'shape' => 'HealthCheckIntervalMillis', ], 'path' => [ 'shape' => 'String', ], 'port' => [ 'shape' => 'PortNumber', ], 'protocol' => [ 'shape' => 'PortProtocol', ], 'timeoutMillis' => [ 'shape' => 'HealthCheckTimeoutMillis', ], 'unhealthyThreshold' => [ 'shape' => 'HealthCheckThreshold', ], ], ], 'VirtualServiceRef' => [ 'type' => 'structure', 'required' => [ 'arn', 'meshName', 'virtualServiceName', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', ], ], ], 'EgressFilter' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'EgressFilterType', ], ], ], 'VirtualServiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualServiceRef', ], ], 'VirtualNodeStatus' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'VirtualNodeStatusCode', ], ], ], 'VirtualRouterRef' => [ 'type' => 'structure', 'required' => [ 'arn', 'meshName', 'virtualRouterName', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'VirtualServiceData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', 'spec', 'status', 'virtualServiceName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'VirtualServiceSpec', ], 'status' => [ 'shape' => 'VirtualServiceStatus', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', ], ], ], 'DescribeVirtualServiceOutput' => [ 'type' => 'structure', 'required' => [ 'virtualService', ], 'members' => [ 'virtualService' => [ 'shape' => 'VirtualServiceData', ], ], 'payload' => 'virtualService', ], 'FilePath' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], 'VirtualNodeRef' => [ 'type' => 'structure', 'required' => [ 'arn', 'meshName', 'virtualNodeName', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'CreateMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', ], 'spec' => [ 'shape' => 'MeshSpec', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'DescribeVirtualNodeOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNode', ], 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'LimitExceededException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'UpdateMeshOutput' => [ 'type' => 'structure', 'required' => [ 'mesh', ], 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'CreateRouteOutput' => [ 'type' => 'structure', 'required' => [ 'route', ], 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'DnsServiceDiscovery' => [ 'type' => 'structure', 'required' => [ 'hostname', ], 'members' => [ 'hostname' => [ 'shape' => 'Hostname', ], ], ], 'DescribeVirtualServiceInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualServiceName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', 'location' => 'uri', 'locationName' => 'virtualServiceName', ], ], ], 'ListVirtualServicesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'DeleteRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'VirtualNodeData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', 'spec', 'status', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'status' => [ 'shape' => 'VirtualNodeStatus', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'UntagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'VirtualServiceSpec' => [ 'type' => 'structure', 'members' => [ 'provider' => [ 'shape' => 'VirtualServiceProvider', ], ], ], 'Backend' => [ 'type' => 'structure', 'members' => [ 'virtualService' => [ 'shape' => 'VirtualServiceBackend', ], ], ], 'ListVirtualRoutersLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'HealthCheckIntervalMillis' => [ 'type' => 'long', 'box' => true, 'min' => 5000, 'max' => 300000, ], 'VirtualRouterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualRouterRef', ], ], 'ListMeshesInput' => [ 'type' => 'structure', 'members' => [ 'limit' => [ 'shape' => 'ListMeshesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'Arn' => [ 'type' => 'string', ], 'TcpRoute' => [ 'type' => 'structure', 'required' => [ 'action', ], 'members' => [ 'action' => [ 'shape' => 'TcpRouteAction', ], ], ], 'VirtualNodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualNodeRef', ], ], 'ListVirtualRoutersInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'limit' => [ 'shape' => 'ListVirtualRoutersLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'VirtualRouterData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', 'spec', 'status', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'status' => [ 'shape' => 'VirtualRouterStatus', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'UpdateMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'MeshSpec', ], ], ], 'ListVirtualServicesInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'limit' => [ 'shape' => 'ListVirtualServicesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'CreateVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualRouterSpec', ], 'tags' => [ 'shape' => 'TagList', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'AccessLog' => [ 'type' => 'structure', 'members' => [ 'file' => [ 'shape' => 'FileAccessLog', ], ], ], 'ListVirtualNodesInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'limit' => [ 'shape' => 'ListVirtualNodesLimit', 'location' => 'querystring', 'locationName' => 'limit', ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'DescribeVirtualRouterOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouter', ], 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'CreateMeshOutput' => [ 'type' => 'structure', 'required' => [ 'mesh', ], 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'CreateVirtualRouterOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouter', ], 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'VirtualServiceStatus' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'VirtualServiceStatusCode', ], ], ], 'ListVirtualNodesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'HealthCheckTimeoutMillis' => [ 'type' => 'long', 'box' => true, 'min' => 2000, 'max' => 60000, ], 'ListMeshesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'ResourceName' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], 'VirtualRouterSpec' => [ 'type' => 'structure', 'required' => [ 'listeners', ], 'members' => [ 'listeners' => [ 'shape' => 'VirtualRouterListeners', ], ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'TooManyRequestsException', 'httpStatusCode' => 429, 'senderFault' => true, ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'VirtualNodeSpec' => [ 'type' => 'structure', 'members' => [ 'backends' => [ 'shape' => 'Backends', ], 'listeners' => [ 'shape' => 'Listeners', ], 'logging' => [ 'shape' => 'Logging', ], 'serviceDiscovery' => [ 'shape' => 'ServiceDiscovery', ], ], ], 'ListMeshesOutput' => [ 'type' => 'structure', 'required' => [ 'meshes', ], 'members' => [ 'meshes' => [ 'shape' => 'MeshList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'VirtualRouterListeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualRouterListener', ], 'min' => 1, 'max' => 1, ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ConflictException', 'httpStatusCode' => 409, 'senderFault' => true, ], ], 'DescribeRouteOutput' => [ 'type' => 'structure', 'required' => [ 'route', ], 'members' => [ 'route' => [ 'shape' => 'RouteData', ], ], 'payload' => 'route', ], 'HttpRouteMatch' => [ 'type' => 'structure', 'required' => [ 'prefix', ], 'members' => [ 'prefix' => [ 'shape' => 'String', ], ], ], 'MeshList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MeshRef', ], ], 'TagRef' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'MeshRef' => [ 'type' => 'structure', 'required' => [ 'arn', 'meshName', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], ], ], 'MeshStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'PortMapping' => [ 'type' => 'structure', 'required' => [ 'port', 'protocol', ], 'members' => [ 'port' => [ 'shape' => 'PortNumber', ], 'protocol' => [ 'shape' => 'PortProtocol', ], ], ], 'MeshData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', 'spec', 'status', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'spec' => [ 'shape' => 'MeshSpec', ], 'status' => [ 'shape' => 'MeshStatus', ], ], ], 'VirtualRouterStatus' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'VirtualRouterStatusCode', ], ], ], 'ListVirtualServicesOutput' => [ 'type' => 'structure', 'required' => [ 'virtualServices', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'virtualServices' => [ 'shape' => 'VirtualServiceList', ], ], ], 'WeightedTarget' => [ 'type' => 'structure', 'required' => [ 'virtualNode', 'weight', ], 'members' => [ 'virtualNode' => [ 'shape' => 'ResourceName', ], 'weight' => [ 'shape' => 'PercentInt', ], ], ], 'TcpRouteAction' => [ 'type' => 'structure', 'required' => [ 'weightedTargets', ], 'members' => [ 'weightedTargets' => [ 'shape' => 'WeightedTargets', ], ], ], 'DescribeVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'RouteStatus' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'RouteStatusCode', ], ], ], 'RouteRef' => [ 'type' => 'structure', 'required' => [ 'arn', 'meshName', 'routeName', 'virtualRouterName', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'meshName' => [ 'shape' => 'ResourceName', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'Listener' => [ 'type' => 'structure', 'required' => [ 'portMapping', ], 'members' => [ 'healthCheck' => [ 'shape' => 'HealthCheckPolicy', ], 'portMapping' => [ 'shape' => 'PortMapping', ], ], ], 'DeleteVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualNodeName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualNodeName', ], ], ], 'RouteData' => [ 'type' => 'structure', 'required' => [ 'meshName', 'metadata', 'routeName', 'spec', 'status', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', ], 'metadata' => [ 'shape' => 'ResourceMetadata', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'status' => [ 'shape' => 'RouteStatus', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'RouteStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'ListRoutesLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 100, ], 'DeleteVirtualServiceOutput' => [ 'type' => 'structure', 'required' => [ 'virtualService', ], 'members' => [ 'virtualService' => [ 'shape' => 'VirtualServiceData', ], ], 'payload' => 'virtualService', ], 'VirtualNodeServiceProvider' => [ 'type' => 'structure', 'required' => [ 'virtualNodeName', ], 'members' => [ 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'InternalServerErrorException', 'httpStatusCode' => 500, 'fault' => true, ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagRef', ], 'min' => 0, 'max' => 50, ], 'DescribeVirtualRouterInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualRouterName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'TagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteRef', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ForbiddenException', 'httpStatusCode' => 403, 'senderFault' => true, ], ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'TooManyTagsException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'DeleteMeshOutput' => [ 'type' => 'structure', 'required' => [ 'mesh', ], 'members' => [ 'mesh' => [ 'shape' => 'MeshData', ], ], 'payload' => 'mesh', ], 'EgressFilterType' => [ 'type' => 'string', 'enum' => [ 'ALLOW_ALL', 'DROP_ALL', ], ], 'Hostname' => [ 'type' => 'string', ], 'PortNumber' => [ 'type' => 'integer', 'min' => 1, 'max' => 65535, ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'tags' => [ 'shape' => 'TagList', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'WeightedTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'WeightedTarget', ], 'min' => 1, 'max' => 10, ], 'VirtualServiceProvider' => [ 'type' => 'structure', 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeServiceProvider', ], 'virtualRouter' => [ 'shape' => 'VirtualRouterServiceProvider', ], ], ], 'String' => [ 'type' => 'string', ], 'UpdateVirtualServiceOutput' => [ 'type' => 'structure', 'required' => [ 'virtualService', ], 'members' => [ 'virtualService' => [ 'shape' => 'VirtualServiceData', ], ], 'payload' => 'virtualService', ], 'UpdateRouteInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'routeName', 'spec', 'virtualRouterName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'routeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'routeName', ], 'spec' => [ 'shape' => 'RouteSpec', ], 'virtualRouterName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'virtualRouterName', ], ], ], 'MeshStatus' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'MeshStatusCode', ], ], ], 'CreateVirtualNodeInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'spec', 'virtualNodeName', ], 'members' => [ 'clientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'spec' => [ 'shape' => 'VirtualNodeSpec', ], 'tags' => [ 'shape' => 'TagList', ], 'virtualNodeName' => [ 'shape' => 'ResourceName', ], ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'NotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], ], 'RouteSpec' => [ 'type' => 'structure', 'members' => [ 'httpRoute' => [ 'shape' => 'HttpRoute', ], 'tcpRoute' => [ 'shape' => 'TcpRoute', ], ], ], 'HttpRoute' => [ 'type' => 'structure', 'required' => [ 'action', 'match', ], 'members' => [ 'action' => [ 'shape' => 'HttpRouteAction', ], 'match' => [ 'shape' => 'HttpRouteMatch', ], ], ], 'DescribeMeshInput' => [ 'type' => 'structure', 'required' => [ 'meshName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], ], ], 'MeshSpec' => [ 'type' => 'structure', 'members' => [ 'egressFilter' => [ 'shape' => 'EgressFilter', ], ], ], 'CreateVirtualServiceOutput' => [ 'type' => 'structure', 'required' => [ 'virtualService', ], 'members' => [ 'virtualService' => [ 'shape' => 'VirtualServiceData', ], ], 'payload' => 'virtualService', ], 'FileAccessLog' => [ 'type' => 'structure', 'required' => [ 'path', ], 'members' => [ 'path' => [ 'shape' => 'FilePath', ], ], ], 'VirtualRouterServiceProvider' => [ 'type' => 'structure', 'required' => [ 'virtualRouterName', ], 'members' => [ 'virtualRouterName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteVirtualServiceInput' => [ 'type' => 'structure', 'required' => [ 'meshName', 'virtualServiceName', ], 'members' => [ 'meshName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'meshName', ], 'virtualServiceName' => [ 'shape' => 'ServiceName', 'location' => 'uri', 'locationName' => 'virtualServiceName', ], ], ], 'ListTagsForResourceOutput' => [ 'type' => 'structure', 'required' => [ 'tags', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'ServiceDiscovery' => [ 'type' => 'structure', 'members' => [ 'dns' => [ 'shape' => 'DnsServiceDiscovery', ], ], ], 'ListVirtualNodesOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNodes', ], 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'virtualNodes' => [ 'shape' => 'VirtualNodeList', ], ], ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'DeleteVirtualRouterOutput' => [ 'type' => 'structure', 'required' => [ 'virtualRouter', ], 'members' => [ 'virtualRouter' => [ 'shape' => 'VirtualRouterData', ], ], 'payload' => 'virtualRouter', ], 'TagsLimit' => [ 'type' => 'integer', 'box' => true, 'min' => 1, 'max' => 50, ], 'TagKey' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], 'VirtualServiceStatusCode' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', 'INACTIVE', ], ], 'DeleteVirtualNodeOutput' => [ 'type' => 'structure', 'required' => [ 'virtualNode', ], 'members' => [ 'virtualNode' => [ 'shape' => 'VirtualNodeData', ], ], 'payload' => 'virtualNode', ], ],]; diff --git a/lib/aws/Aws/data/appmesh/2019-01-25/paginators-1.json.php b/lib/aws/Aws/data/appmesh/2019-01-25/paginators-1.json.php new file mode 100644 index 0000000..4aaf571 --- /dev/null +++ b/lib/aws/Aws/data/appmesh/2019-01-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appmesh/2019-01-25/paginators-1.json +return [ 'pagination' => [ 'ListMeshes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'meshes', ], 'ListRoutes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'routes', ], 'ListTagsForResource' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'tags', ], 'ListVirtualNodes' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'virtualNodes', ], 'ListVirtualRouters' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'virtualRouters', ], 'ListVirtualServices' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'virtualServices', ], ],]; diff --git a/lib/aws/Aws/data/appstream/2016-12-01/api-2.json.php b/lib/aws/Aws/data/appstream/2016-12-01/api-2.json.php new file mode 100644 index 0000000..75ee68e --- /dev/null +++ b/lib/aws/Aws/data/appstream/2016-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appstream/2016-12-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-12-01', 'endpointPrefix' => 'appstream2', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon AppStream', 'serviceId' => 'AppStream', 'signatureVersion' => 'v4', 'signingName' => 'appstream', 'targetPrefix' => 'PhotonAdminProxyService', 'uid' => 'appstream-2016-12-01', ], 'operations' => [ 'AssociateFleet' => [ 'name' => 'AssociateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateFleetRequest', ], 'output' => [ 'shape' => 'AssociateFleetResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'IncompatibleImageException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'BatchAssociateUserStack' => [ 'name' => 'BatchAssociateUserStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchAssociateUserStackRequest', ], 'output' => [ 'shape' => 'BatchAssociateUserStackResult', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedException', ], ], ], 'BatchDisassociateUserStack' => [ 'name' => 'BatchDisassociateUserStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDisassociateUserStackRequest', ], 'output' => [ 'shape' => 'BatchDisassociateUserStackResult', ], ], 'CopyImage' => [ 'name' => 'CopyImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyImageRequest', ], 'output' => [ 'shape' => 'CopyImageResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'IncompatibleImageException', ], ], ], 'CreateDirectoryConfig' => [ 'name' => 'CreateDirectoryConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDirectoryConfigRequest', ], 'output' => [ 'shape' => 'CreateDirectoryConfigResult', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], ], ], 'CreateFleet' => [ 'name' => 'CreateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFleetRequest', ], 'output' => [ 'shape' => 'CreateFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'IncompatibleImageException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'CreateImageBuilder' => [ 'name' => 'CreateImageBuilder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageBuilderRequest', ], 'output' => [ 'shape' => 'CreateImageBuilderResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'IncompatibleImageException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'CreateImageBuilderStreamingURL' => [ 'name' => 'CreateImageBuilderStreamingURL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageBuilderStreamingURLRequest', ], 'output' => [ 'shape' => 'CreateImageBuilderStreamingURLResult', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateStack' => [ 'name' => 'CreateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStackRequest', ], 'output' => [ 'shape' => 'CreateStackResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateStreamingURL' => [ 'name' => 'CreateStreamingURL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStreamingURLRequest', ], 'output' => [ 'shape' => 'CreateStreamingURLResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResult', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'DeleteDirectoryConfig' => [ 'name' => 'DeleteDirectoryConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDirectoryConfigRequest', ], 'output' => [ 'shape' => 'DeleteDirectoryConfigResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteFleet' => [ 'name' => 'DeleteFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFleetRequest', ], 'output' => [ 'shape' => 'DeleteFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteImage' => [ 'name' => 'DeleteImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteImageRequest', ], 'output' => [ 'shape' => 'DeleteImageResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteImageBuilder' => [ 'name' => 'DeleteImageBuilder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteImageBuilderRequest', ], 'output' => [ 'shape' => 'DeleteImageBuilderResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteImagePermissions' => [ 'name' => 'DeleteImagePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteImagePermissionsRequest', ], 'output' => [ 'shape' => 'DeleteImagePermissionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteStack' => [ 'name' => 'DeleteStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStackRequest', ], 'output' => [ 'shape' => 'DeleteStackResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeDirectoryConfigs' => [ 'name' => 'DescribeDirectoryConfigs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectoryConfigsRequest', ], 'output' => [ 'shape' => 'DescribeDirectoryConfigsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeFleets' => [ 'name' => 'DescribeFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetsRequest', ], 'output' => [ 'shape' => 'DescribeFleetsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeImageBuilders' => [ 'name' => 'DescribeImageBuilders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImageBuildersRequest', ], 'output' => [ 'shape' => 'DescribeImageBuildersResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeImagePermissions' => [ 'name' => 'DescribeImagePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagePermissionsRequest', ], 'output' => [ 'shape' => 'DescribeImagePermissionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeSessions' => [ 'name' => 'DescribeSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSessionsRequest', ], 'output' => [ 'shape' => 'DescribeSessionsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeStacks' => [ 'name' => 'DescribeStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStacksRequest', ], 'output' => [ 'shape' => 'DescribeStacksResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeUserStackAssociations' => [ 'name' => 'DescribeUserStackAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserStackAssociationsRequest', ], 'output' => [ 'shape' => 'DescribeUserStackAssociationsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeUsers' => [ 'name' => 'DescribeUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUsersRequest', ], 'output' => [ 'shape' => 'DescribeUsersResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DisableUser' => [ 'name' => 'DisableUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableUserRequest', ], 'output' => [ 'shape' => 'DisableUserResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateFleet' => [ 'name' => 'DisassociateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateFleetRequest', ], 'output' => [ 'shape' => 'DisassociateFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'EnableUser' => [ 'name' => 'EnableUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableUserRequest', ], 'output' => [ 'shape' => 'EnableUserResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAccountStatusException', ], ], ], 'ExpireSession' => [ 'name' => 'ExpireSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExpireSessionRequest', ], 'output' => [ 'shape' => 'ExpireSessionResult', ], ], 'ListAssociatedFleets' => [ 'name' => 'ListAssociatedFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssociatedFleetsRequest', ], 'output' => [ 'shape' => 'ListAssociatedFleetsResult', ], ], 'ListAssociatedStacks' => [ 'name' => 'ListAssociatedStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssociatedStacksRequest', ], 'output' => [ 'shape' => 'ListAssociatedStacksResult', ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StartFleet' => [ 'name' => 'StartFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartFleetRequest', ], 'output' => [ 'shape' => 'StartFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'StartImageBuilder' => [ 'name' => 'StartImageBuilder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartImageBuilderRequest', ], 'output' => [ 'shape' => 'StartImageBuilderResult', ], 'errors' => [ [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'IncompatibleImageException', ], ], ], 'StopFleet' => [ 'name' => 'StopFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopFleetRequest', ], 'output' => [ 'shape' => 'StopFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'StopImageBuilder' => [ 'name' => 'StopImageBuilder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopImageBuilderRequest', ], 'output' => [ 'shape' => 'StopImageBuilderResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateDirectoryConfig' => [ 'name' => 'UpdateDirectoryConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDirectoryConfigRequest', ], 'output' => [ 'shape' => 'UpdateDirectoryConfigResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateFleet' => [ 'name' => 'UpdateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateFleetRequest', ], 'output' => [ 'shape' => 'UpdateFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'IncompatibleImageException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'UpdateImagePermissions' => [ 'name' => 'UpdateImagePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateImagePermissionsRequest', ], 'output' => [ 'shape' => 'UpdateImagePermissionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceNotAvailableException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateStack' => [ 'name' => 'UpdateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStackRequest', ], 'output' => [ 'shape' => 'UpdateStackResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccountStatusException', ], [ 'shape' => 'IncompatibleImageException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], ], 'shapes' => [ 'AccountName' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], 'AccountPassword' => [ 'type' => 'string', 'max' => 127, 'min' => 1, 'sensitive' => true, ], 'Action' => [ 'type' => 'string', 'enum' => [ 'CLIPBOARD_COPY_FROM_LOCAL_DEVICE', 'CLIPBOARD_COPY_TO_LOCAL_DEVICE', 'FILE_UPLOAD', 'FILE_DOWNLOAD', 'PRINTING_TO_LOCAL_DEVICE', ], ], 'Application' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'DisplayName' => [ 'shape' => 'String', ], 'IconURL' => [ 'shape' => 'String', ], 'LaunchPath' => [ 'shape' => 'String', ], 'LaunchParameters' => [ 'shape' => 'String', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'Metadata' => [ 'shape' => 'Metadata', ], ], ], 'ApplicationSettings' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'SettingsGroup' => [ 'shape' => 'SettingsGroup', ], ], ], 'ApplicationSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'SettingsGroup' => [ 'shape' => 'SettingsGroup', ], 'S3BucketName' => [ 'shape' => 'String', ], ], ], 'Applications' => [ 'type' => 'list', 'member' => [ 'shape' => 'Application', ], ], 'AppstreamAgentVersion' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'Arn' => [ 'type' => 'string', 'pattern' => '^arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$', ], 'ArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], ], 'AssociateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'FleetName', 'StackName', ], 'members' => [ 'FleetName' => [ 'shape' => 'String', ], 'StackName' => [ 'shape' => 'String', ], ], ], 'AssociateFleetResult' => [ 'type' => 'structure', 'members' => [], ], 'AuthenticationType' => [ 'type' => 'string', 'enum' => [ 'API', 'SAML', 'USERPOOL', ], ], 'AwsAccountId' => [ 'type' => 'string', 'pattern' => '^\\d+$', ], 'AwsAccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AwsAccountId', ], 'max' => 5, 'min' => 1, ], 'BatchAssociateUserStackRequest' => [ 'type' => 'structure', 'required' => [ 'UserStackAssociations', ], 'members' => [ 'UserStackAssociations' => [ 'shape' => 'UserStackAssociationList', ], ], ], 'BatchAssociateUserStackResult' => [ 'type' => 'structure', 'members' => [ 'errors' => [ 'shape' => 'UserStackAssociationErrorList', ], ], ], 'BatchDisassociateUserStackRequest' => [ 'type' => 'structure', 'required' => [ 'UserStackAssociations', ], 'members' => [ 'UserStackAssociations' => [ 'shape' => 'UserStackAssociationList', ], ], ], 'BatchDisassociateUserStackResult' => [ 'type' => 'structure', 'members' => [ 'errors' => [ 'shape' => 'UserStackAssociationErrorList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanObject' => [ 'type' => 'boolean', ], 'ComputeCapacity' => [ 'type' => 'structure', 'required' => [ 'DesiredInstances', ], 'members' => [ 'DesiredInstances' => [ 'shape' => 'Integer', ], ], ], 'ComputeCapacityStatus' => [ 'type' => 'structure', 'required' => [ 'Desired', ], 'members' => [ 'Desired' => [ 'shape' => 'Integer', ], 'Running' => [ 'shape' => 'Integer', ], 'InUse' => [ 'shape' => 'Integer', ], 'Available' => [ 'shape' => 'Integer', ], ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CopyImageRequest' => [ 'type' => 'structure', 'required' => [ 'SourceImageName', 'DestinationImageName', 'DestinationRegion', ], 'members' => [ 'SourceImageName' => [ 'shape' => 'Name', ], 'DestinationImageName' => [ 'shape' => 'Name', ], 'DestinationRegion' => [ 'shape' => 'RegionName', ], 'DestinationImageDescription' => [ 'shape' => 'Description', ], ], ], 'CopyImageResponse' => [ 'type' => 'structure', 'members' => [ 'DestinationImageName' => [ 'shape' => 'Name', ], ], ], 'CreateDirectoryConfigRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryName', 'OrganizationalUnitDistinguishedNames', 'ServiceAccountCredentials', ], 'members' => [ 'DirectoryName' => [ 'shape' => 'DirectoryName', ], 'OrganizationalUnitDistinguishedNames' => [ 'shape' => 'OrganizationalUnitDistinguishedNamesList', ], 'ServiceAccountCredentials' => [ 'shape' => 'ServiceAccountCredentials', ], ], ], 'CreateDirectoryConfigResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryConfig' => [ 'shape' => 'DirectoryConfig', ], ], ], 'CreateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'InstanceType', 'ComputeCapacity', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'ImageName' => [ 'shape' => 'String', ], 'ImageArn' => [ 'shape' => 'Arn', ], 'InstanceType' => [ 'shape' => 'String', ], 'FleetType' => [ 'shape' => 'FleetType', ], 'ComputeCapacity' => [ 'shape' => 'ComputeCapacity', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'MaxUserDurationInSeconds' => [ 'shape' => 'Integer', ], 'DisconnectTimeoutInSeconds' => [ 'shape' => 'Integer', ], 'Description' => [ 'shape' => 'Description', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'EnableDefaultInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DomainJoinInfo' => [ 'shape' => 'DomainJoinInfo', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateFleetResult' => [ 'type' => 'structure', 'members' => [ 'Fleet' => [ 'shape' => 'Fleet', ], ], ], 'CreateImageBuilderRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'InstanceType', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'ImageName' => [ 'shape' => 'String', ], 'ImageArn' => [ 'shape' => 'Arn', ], 'InstanceType' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'Description', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'EnableDefaultInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DomainJoinInfo' => [ 'shape' => 'DomainJoinInfo', ], 'AppstreamAgentVersion' => [ 'shape' => 'AppstreamAgentVersion', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateImageBuilderResult' => [ 'type' => 'structure', 'members' => [ 'ImageBuilder' => [ 'shape' => 'ImageBuilder', ], ], ], 'CreateImageBuilderStreamingURLRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Validity' => [ 'shape' => 'Long', ], ], ], 'CreateImageBuilderStreamingURLResult' => [ 'type' => 'structure', 'members' => [ 'StreamingURL' => [ 'shape' => 'String', ], 'Expires' => [ 'shape' => 'Timestamp', ], ], ], 'CreateStackRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'Description' => [ 'shape' => 'Description', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'StorageConnectors' => [ 'shape' => 'StorageConnectorList', ], 'RedirectURL' => [ 'shape' => 'RedirectURL', ], 'FeedbackURL' => [ 'shape' => 'FeedbackURL', ], 'UserSettings' => [ 'shape' => 'UserSettingList', ], 'ApplicationSettings' => [ 'shape' => 'ApplicationSettings', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateStackResult' => [ 'type' => 'structure', 'members' => [ 'Stack' => [ 'shape' => 'Stack', ], ], ], 'CreateStreamingURLRequest' => [ 'type' => 'structure', 'required' => [ 'StackName', 'FleetName', 'UserId', ], 'members' => [ 'StackName' => [ 'shape' => 'String', ], 'FleetName' => [ 'shape' => 'String', ], 'UserId' => [ 'shape' => 'StreamingUrlUserId', ], 'ApplicationId' => [ 'shape' => 'String', ], 'Validity' => [ 'shape' => 'Long', ], 'SessionContext' => [ 'shape' => 'String', ], ], ], 'CreateStreamingURLResult' => [ 'type' => 'structure', 'members' => [ 'StreamingURL' => [ 'shape' => 'String', ], 'Expires' => [ 'shape' => 'Timestamp', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AuthenticationType', ], 'members' => [ 'UserName' => [ 'shape' => 'Username', ], 'MessageAction' => [ 'shape' => 'MessageAction', ], 'FirstName' => [ 'shape' => 'UserAttributeValue', ], 'LastName' => [ 'shape' => 'UserAttributeValue', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'CreateUserResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDirectoryConfigRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryName', ], 'members' => [ 'DirectoryName' => [ 'shape' => 'DirectoryName', ], ], ], 'DeleteDirectoryConfigResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteFleetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'DeleteFleetResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteImageBuilderRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], ], ], 'DeleteImageBuilderResult' => [ 'type' => 'structure', 'members' => [ 'ImageBuilder' => [ 'shape' => 'ImageBuilder', ], ], ], 'DeleteImagePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'SharedAccountId', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'SharedAccountId' => [ 'shape' => 'AwsAccountId', ], ], ], 'DeleteImagePermissionsResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], ], ], 'DeleteImageResult' => [ 'type' => 'structure', 'members' => [ 'Image' => [ 'shape' => 'Image', ], ], ], 'DeleteStackRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'DeleteStackResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AuthenticationType', ], 'members' => [ 'UserName' => [ 'shape' => 'Username', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'DeleteUserResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeDirectoryConfigsRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryNames' => [ 'shape' => 'DirectoryNameList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeDirectoryConfigsResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryConfigs' => [ 'shape' => 'DirectoryConfigList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeFleetsRequest' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeFleetsResult' => [ 'type' => 'structure', 'members' => [ 'Fleets' => [ 'shape' => 'FleetList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImageBuildersRequest' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImageBuildersResult' => [ 'type' => 'structure', 'members' => [ 'ImageBuilders' => [ 'shape' => 'ImageBuilderList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImagePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'SharedAwsAccountIds' => [ 'shape' => 'AwsAccountIdList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImagePermissionsResult' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'SharedImagePermissionsList' => [ 'shape' => 'SharedImagePermissionsList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImagesMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 25, 'min' => 0, ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'Arns' => [ 'shape' => 'ArnList', ], 'Type' => [ 'shape' => 'VisibilityType', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'DescribeImagesMaxResults', ], ], ], 'DescribeImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'ImageList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeSessionsRequest' => [ 'type' => 'structure', 'required' => [ 'StackName', 'FleetName', ], 'members' => [ 'StackName' => [ 'shape' => 'String', ], 'FleetName' => [ 'shape' => 'String', ], 'UserId' => [ 'shape' => 'UserId', ], 'NextToken' => [ 'shape' => 'String', ], 'Limit' => [ 'shape' => 'Integer', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'DescribeSessionsResult' => [ 'type' => 'structure', 'members' => [ 'Sessions' => [ 'shape' => 'SessionList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeStacksRequest' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeStacksResult' => [ 'type' => 'structure', 'members' => [ 'Stacks' => [ 'shape' => 'StackList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeUserStackAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'StackName' => [ 'shape' => 'String', ], 'UserName' => [ 'shape' => 'Username', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeUserStackAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'UserStackAssociations' => [ 'shape' => 'UserStackAssociationList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeUsersRequest' => [ 'type' => 'structure', 'required' => [ 'AuthenticationType', ], 'members' => [ 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeUsersResult' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UserList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 256, ], 'DirectoryConfig' => [ 'type' => 'structure', 'required' => [ 'DirectoryName', ], 'members' => [ 'DirectoryName' => [ 'shape' => 'DirectoryName', ], 'OrganizationalUnitDistinguishedNames' => [ 'shape' => 'OrganizationalUnitDistinguishedNamesList', ], 'ServiceAccountCredentials' => [ 'shape' => 'ServiceAccountCredentials', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], ], ], 'DirectoryConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectoryConfig', ], ], 'DirectoryName' => [ 'type' => 'string', ], 'DirectoryNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectoryName', ], ], 'DisableUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AuthenticationType', ], 'members' => [ 'UserName' => [ 'shape' => 'Username', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'DisableUserResult' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'FleetName', 'StackName', ], 'members' => [ 'FleetName' => [ 'shape' => 'String', ], 'StackName' => [ 'shape' => 'String', ], ], ], 'DisassociateFleetResult' => [ 'type' => 'structure', 'members' => [], ], 'DisplayName' => [ 'type' => 'string', 'max' => 100, ], 'Domain' => [ 'type' => 'string', 'max' => 64, ], 'DomainJoinInfo' => [ 'type' => 'structure', 'members' => [ 'DirectoryName' => [ 'shape' => 'DirectoryName', ], 'OrganizationalUnitDistinguishedName' => [ 'shape' => 'OrganizationalUnitDistinguishedName', ], ], ], 'DomainList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Domain', ], 'max' => 10, ], 'EnableUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AuthenticationType', ], 'members' => [ 'UserName' => [ 'shape' => 'Username', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'EnableUserResult' => [ 'type' => 'structure', 'members' => [], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpireSessionRequest' => [ 'type' => 'structure', 'required' => [ 'SessionId', ], 'members' => [ 'SessionId' => [ 'shape' => 'String', ], ], ], 'ExpireSessionResult' => [ 'type' => 'structure', 'members' => [], ], 'FeedbackURL' => [ 'type' => 'string', 'max' => 1000, ], 'Fleet' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Name', 'InstanceType', 'ComputeCapacityStatus', 'State', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'String', ], 'DisplayName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ImageName' => [ 'shape' => 'String', ], 'ImageArn' => [ 'shape' => 'Arn', ], 'InstanceType' => [ 'shape' => 'String', ], 'FleetType' => [ 'shape' => 'FleetType', ], 'ComputeCapacityStatus' => [ 'shape' => 'ComputeCapacityStatus', ], 'MaxUserDurationInSeconds' => [ 'shape' => 'Integer', ], 'DisconnectTimeoutInSeconds' => [ 'shape' => 'Integer', ], 'State' => [ 'shape' => 'FleetState', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'FleetErrors' => [ 'shape' => 'FleetErrors', ], 'EnableDefaultInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DomainJoinInfo' => [ 'shape' => 'DomainJoinInfo', ], ], ], 'FleetAttribute' => [ 'type' => 'string', 'enum' => [ 'VPC_CONFIGURATION', 'VPC_CONFIGURATION_SECURITY_GROUP_IDS', 'DOMAIN_JOIN_INFO', ], ], 'FleetAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetAttribute', ], ], 'FleetError' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'FleetErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'FleetErrorCode' => [ 'type' => 'string', 'enum' => [ 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION', 'IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION', 'IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION', 'NETWORK_INTERFACE_LIMIT_EXCEEDED', 'INTERNAL_SERVICE_ERROR', 'IAM_SERVICE_ROLE_IS_MISSING', 'SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES', 'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION', 'SUBNET_NOT_FOUND', 'IMAGE_NOT_FOUND', 'INVALID_SUBNET_CONFIGURATION', 'SECURITY_GROUPS_NOT_FOUND', 'IGW_NOT_ATTACHED', 'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION', 'DOMAIN_JOIN_ERROR_FILE_NOT_FOUND', 'DOMAIN_JOIN_ERROR_ACCESS_DENIED', 'DOMAIN_JOIN_ERROR_LOGON_FAILURE', 'DOMAIN_JOIN_ERROR_INVALID_PARAMETER', 'DOMAIN_JOIN_ERROR_MORE_DATA', 'DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN', 'DOMAIN_JOIN_ERROR_NOT_SUPPORTED', 'DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME', 'DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED', 'DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED', 'DOMAIN_JOIN_NERR_PASSWORD_EXPIRED', 'DOMAIN_JOIN_INTERNAL_SERVICE_ERROR', ], ], 'FleetErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetError', ], ], 'FleetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Fleet', ], ], 'FleetState' => [ 'type' => 'string', 'enum' => [ 'STARTING', 'RUNNING', 'STOPPING', 'STOPPED', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'ALWAYS_ON', 'ON_DEMAND', ], ], 'Image' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'Arn', ], 'BaseImageArn' => [ 'shape' => 'Arn', ], 'DisplayName' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'ImageState', ], 'Visibility' => [ 'shape' => 'VisibilityType', ], 'ImageBuilderSupported' => [ 'shape' => 'Boolean', ], 'Platform' => [ 'shape' => 'PlatformType', ], 'Description' => [ 'shape' => 'String', ], 'StateChangeReason' => [ 'shape' => 'ImageStateChangeReason', ], 'Applications' => [ 'shape' => 'Applications', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'PublicBaseImageReleasedDate' => [ 'shape' => 'Timestamp', ], 'AppstreamAgentVersion' => [ 'shape' => 'AppstreamAgentVersion', ], 'ImagePermissions' => [ 'shape' => 'ImagePermissions', ], ], ], 'ImageBuilder' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'Arn', ], 'ImageArn' => [ 'shape' => 'Arn', ], 'Description' => [ 'shape' => 'String', ], 'DisplayName' => [ 'shape' => 'String', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'InstanceType' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'PlatformType', ], 'State' => [ 'shape' => 'ImageBuilderState', ], 'StateChangeReason' => [ 'shape' => 'ImageBuilderStateChangeReason', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'EnableDefaultInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DomainJoinInfo' => [ 'shape' => 'DomainJoinInfo', ], 'ImageBuilderErrors' => [ 'shape' => 'ResourceErrors', ], 'AppstreamAgentVersion' => [ 'shape' => 'AppstreamAgentVersion', ], ], ], 'ImageBuilderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageBuilder', ], ], 'ImageBuilderState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'UPDATING_AGENT', 'RUNNING', 'STOPPING', 'STOPPED', 'REBOOTING', 'SNAPSHOTTING', 'DELETING', 'FAILED', ], ], 'ImageBuilderStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ImageBuilderStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'ImageBuilderStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'IMAGE_UNAVAILABLE', ], ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', ], ], 'ImagePermissions' => [ 'type' => 'structure', 'members' => [ 'allowFleet' => [ 'shape' => 'BooleanObject', ], 'allowImageBuilder' => [ 'shape' => 'BooleanObject', ], ], ], 'ImageState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'AVAILABLE', 'FAILED', 'COPYING', 'DELETING', ], ], 'ImageStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ImageStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'ImageStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'IMAGE_BUILDER_NOT_AVAILABLE', 'IMAGE_COPY_FAILURE', ], ], 'IncompatibleImageException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'InvalidAccountStatusException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidParameterCombinationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidRoleException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListAssociatedFleetsRequest' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListAssociatedFleetsResult' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListAssociatedStacksRequest' => [ 'type' => 'structure', 'required' => [ 'FleetName', ], 'members' => [ 'FleetName' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListAssociatedStacksResult' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'StringList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 500, 'min' => 0, ], 'MessageAction' => [ 'type' => 'string', 'enum' => [ 'SUPPRESS', 'RESEND', ], ], 'Metadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Name' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$', ], 'NetworkAccessConfiguration' => [ 'type' => 'structure', 'members' => [ 'EniPrivateIpAddress' => [ 'shape' => 'String', ], 'EniId' => [ 'shape' => 'String', ], ], ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'OrganizationalUnitDistinguishedName' => [ 'type' => 'string', 'max' => 2000, ], 'OrganizationalUnitDistinguishedNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrganizationalUnitDistinguishedName', ], ], 'Permission' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'PlatformType' => [ 'type' => 'string', 'enum' => [ 'WINDOWS', ], ], 'RedirectURL' => [ 'type' => 'string', 'max' => 1000, ], 'RegionName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceError' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'FleetErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], 'ErrorTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'ResourceErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceError', ], ], 'ResourceIdentifier' => [ 'type' => 'string', 'min' => 1, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotAvailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'SecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], 'max' => 5, ], 'ServiceAccountCredentials' => [ 'type' => 'structure', 'required' => [ 'AccountName', 'AccountPassword', ], 'members' => [ 'AccountName' => [ 'shape' => 'AccountName', ], 'AccountPassword' => [ 'shape' => 'AccountPassword', ], ], ], 'Session' => [ 'type' => 'structure', 'required' => [ 'Id', 'UserId', 'StackName', 'FleetName', 'State', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'UserId' => [ 'shape' => 'UserId', ], 'StackName' => [ 'shape' => 'String', ], 'FleetName' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'SessionState', ], 'ConnectionState' => [ 'shape' => 'SessionConnectionState', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'MaxExpirationTime' => [ 'shape' => 'Timestamp', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'NetworkAccessConfiguration' => [ 'shape' => 'NetworkAccessConfiguration', ], ], ], 'SessionConnectionState' => [ 'type' => 'string', 'enum' => [ 'CONNECTED', 'NOT_CONNECTED', ], ], 'SessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Session', ], ], 'SessionState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'PENDING', 'EXPIRED', ], ], 'SettingsGroup' => [ 'type' => 'string', 'max' => 100, ], 'SharedImagePermissions' => [ 'type' => 'structure', 'required' => [ 'sharedAccountId', 'imagePermissions', ], 'members' => [ 'sharedAccountId' => [ 'shape' => 'AwsAccountId', ], 'imagePermissions' => [ 'shape' => 'ImagePermissions', ], ], ], 'SharedImagePermissionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SharedImagePermissions', ], ], 'Stack' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DisplayName' => [ 'shape' => 'String', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'StorageConnectors' => [ 'shape' => 'StorageConnectorList', ], 'RedirectURL' => [ 'shape' => 'RedirectURL', ], 'FeedbackURL' => [ 'shape' => 'FeedbackURL', ], 'StackErrors' => [ 'shape' => 'StackErrors', ], 'UserSettings' => [ 'shape' => 'UserSettingList', ], 'ApplicationSettings' => [ 'shape' => 'ApplicationSettingsResponse', ], ], ], 'StackAttribute' => [ 'type' => 'string', 'enum' => [ 'STORAGE_CONNECTORS', 'STORAGE_CONNECTOR_HOMEFOLDERS', 'STORAGE_CONNECTOR_GOOGLE_DRIVE', 'STORAGE_CONNECTOR_ONE_DRIVE', 'REDIRECT_URL', 'FEEDBACK_URL', 'THEME_NAME', 'USER_SETTINGS', ], ], 'StackAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackAttribute', ], ], 'StackError' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'StackErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'StackErrorCode' => [ 'type' => 'string', 'enum' => [ 'STORAGE_CONNECTOR_ERROR', 'INTERNAL_SERVICE_ERROR', ], ], 'StackErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackError', ], ], 'StackList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stack', ], ], 'StartFleetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'StartFleetResult' => [ 'type' => 'structure', 'members' => [], ], 'StartImageBuilderRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'AppstreamAgentVersion' => [ 'shape' => 'AppstreamAgentVersion', ], ], ], 'StartImageBuilderResult' => [ 'type' => 'structure', 'members' => [ 'ImageBuilder' => [ 'shape' => 'ImageBuilder', ], ], ], 'StopFleetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'StopFleetResult' => [ 'type' => 'structure', 'members' => [], ], 'StopImageBuilderRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'StopImageBuilderResult' => [ 'type' => 'structure', 'members' => [ 'ImageBuilder' => [ 'shape' => 'ImageBuilder', ], ], ], 'StorageConnector' => [ 'type' => 'structure', 'required' => [ 'ConnectorType', ], 'members' => [ 'ConnectorType' => [ 'shape' => 'StorageConnectorType', ], 'ResourceIdentifier' => [ 'shape' => 'ResourceIdentifier', ], 'Domains' => [ 'shape' => 'DomainList', ], ], ], 'StorageConnectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StorageConnector', ], ], 'StorageConnectorType' => [ 'type' => 'string', 'enum' => [ 'HOMEFOLDERS', 'GOOGLE_DRIVE', 'ONE_DRIVE', ], ], 'StreamingUrlUserId' => [ 'type' => 'string', 'max' => 32, 'min' => 2, 'pattern' => '[\\w+=,.@-]*', ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubnetIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^(^(?!aws:).[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDirectoryConfigRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryName', ], 'members' => [ 'DirectoryName' => [ 'shape' => 'DirectoryName', ], 'OrganizationalUnitDistinguishedNames' => [ 'shape' => 'OrganizationalUnitDistinguishedNamesList', ], 'ServiceAccountCredentials' => [ 'shape' => 'ServiceAccountCredentials', ], ], ], 'UpdateDirectoryConfigResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryConfig' => [ 'shape' => 'DirectoryConfig', ], ], ], 'UpdateFleetRequest' => [ 'type' => 'structure', 'members' => [ 'ImageName' => [ 'shape' => 'String', ], 'ImageArn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'ComputeCapacity' => [ 'shape' => 'ComputeCapacity', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'MaxUserDurationInSeconds' => [ 'shape' => 'Integer', ], 'DisconnectTimeoutInSeconds' => [ 'shape' => 'Integer', ], 'DeleteVpcConfig' => [ 'shape' => 'Boolean', 'deprecated' => true, ], 'Description' => [ 'shape' => 'Description', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'EnableDefaultInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DomainJoinInfo' => [ 'shape' => 'DomainJoinInfo', ], 'AttributesToDelete' => [ 'shape' => 'FleetAttributes', ], ], ], 'UpdateFleetResult' => [ 'type' => 'structure', 'members' => [ 'Fleet' => [ 'shape' => 'Fleet', ], ], ], 'UpdateImagePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'SharedAccountId', 'ImagePermissions', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'SharedAccountId' => [ 'shape' => 'AwsAccountId', ], 'ImagePermissions' => [ 'shape' => 'ImagePermissions', ], ], ], 'UpdateImagePermissionsResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateStackRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'DisplayName' => [ 'shape' => 'DisplayName', ], 'Description' => [ 'shape' => 'Description', ], 'Name' => [ 'shape' => 'String', ], 'StorageConnectors' => [ 'shape' => 'StorageConnectorList', ], 'DeleteStorageConnectors' => [ 'shape' => 'Boolean', 'deprecated' => true, ], 'RedirectURL' => [ 'shape' => 'RedirectURL', ], 'FeedbackURL' => [ 'shape' => 'FeedbackURL', ], 'AttributesToDelete' => [ 'shape' => 'StackAttributes', ], 'UserSettings' => [ 'shape' => 'UserSettingList', ], 'ApplicationSettings' => [ 'shape' => 'ApplicationSettings', ], ], ], 'UpdateStackResult' => [ 'type' => 'structure', 'members' => [ 'Stack' => [ 'shape' => 'Stack', ], ], ], 'User' => [ 'type' => 'structure', 'required' => [ 'AuthenticationType', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'UserName' => [ 'shape' => 'Username', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'Status' => [ 'shape' => 'String', ], 'FirstName' => [ 'shape' => 'UserAttributeValue', ], 'LastName' => [ 'shape' => 'UserAttributeValue', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], ], ], 'UserAttributeValue' => [ 'type' => 'string', 'max' => 2048, 'pattern' => '^[A-Za-z0-9_\\-\\s]+$', 'sensitive' => true, ], 'UserId' => [ 'type' => 'string', 'max' => 32, 'min' => 2, ], 'UserList' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'UserSetting' => [ 'type' => 'structure', 'required' => [ 'Action', 'Permission', ], 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Permission' => [ 'shape' => 'Permission', ], ], ], 'UserSettingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserSetting', ], 'min' => 1, ], 'UserStackAssociation' => [ 'type' => 'structure', 'required' => [ 'StackName', 'UserName', 'AuthenticationType', ], 'members' => [ 'StackName' => [ 'shape' => 'String', ], 'UserName' => [ 'shape' => 'Username', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'SendEmailNotification' => [ 'shape' => 'Boolean', ], ], ], 'UserStackAssociationError' => [ 'type' => 'structure', 'members' => [ 'UserStackAssociation' => [ 'shape' => 'UserStackAssociation', ], 'ErrorCode' => [ 'shape' => 'UserStackAssociationErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'UserStackAssociationErrorCode' => [ 'type' => 'string', 'enum' => [ 'STACK_NOT_FOUND', 'USER_NAME_NOT_FOUND', 'INTERNAL_ERROR', ], ], 'UserStackAssociationErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserStackAssociationError', ], ], 'UserStackAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserStackAssociation', ], ], 'Username' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', 'sensitive' => true, ], 'VisibilityType' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'PRIVATE', 'SHARED', ], ], 'VpcConfig' => [ 'type' => 'structure', 'members' => [ 'SubnetIds' => [ 'shape' => 'SubnetIdList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdList', ], ], ], ],]; diff --git a/lib/aws/Aws/data/appstream/2016-12-01/paginators-1.json.php b/lib/aws/Aws/data/appstream/2016-12-01/paginators-1.json.php new file mode 100644 index 0000000..fe260c0 --- /dev/null +++ b/lib/aws/Aws/data/appstream/2016-12-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appstream/2016-12-01/paginators-1.json +return [ 'pagination' => [ 'DescribeImagePermissions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'DescribeImages' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/appstream/2016-12-01/smoke.json.php b/lib/aws/Aws/data/appstream/2016-12-01/smoke.json.php new file mode 100644 index 0000000..69241bc --- /dev/null +++ b/lib/aws/Aws/data/appstream/2016-12-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appstream/2016-12-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeStacks', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/appstream/2016-12-01/waiters-2.json.php b/lib/aws/Aws/data/appstream/2016-12-01/waiters-2.json.php new file mode 100644 index 0000000..ca5e812 --- /dev/null +++ b/lib/aws/Aws/data/appstream/2016-12-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appstream/2016-12-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'FleetStarted' => [ 'delay' => 30, 'maxAttempts' => 40, 'operation' => 'DescribeFleets', 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Fleets[].State', 'expected' => 'ACTIVE', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Fleets[].State', 'expected' => 'PENDING_DEACTIVATE', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Fleets[].State', 'expected' => 'INACTIVE', ], ], ], 'FleetStopped' => [ 'delay' => 30, 'maxAttempts' => 40, 'operation' => 'DescribeFleets', 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Fleets[].State', 'expected' => 'INACTIVE', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Fleets[].State', 'expected' => 'PENDING_ACTIVATE', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Fleets[].State', 'expected' => 'ACTIVE', ], ], ], ],]; diff --git a/lib/aws/Aws/data/appsync/2017-07-25/api-2.json.php b/lib/aws/Aws/data/appsync/2017-07-25/api-2.json.php new file mode 100644 index 0000000..f4dbccd --- /dev/null +++ b/lib/aws/Aws/data/appsync/2017-07-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appsync/2017-07-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-07-25', 'endpointPrefix' => 'appsync', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'AWSAppSync', 'serviceFullName' => 'AWS AppSync', 'serviceId' => 'AppSync', 'signatureVersion' => 'v4', 'signingName' => 'appsync', 'uid' => 'appsync-2017-07-25', ], 'operations' => [ 'CreateApiKey' => [ 'name' => 'CreateApiKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/apikeys', ], 'input' => [ 'shape' => 'CreateApiKeyRequest', ], 'output' => [ 'shape' => 'CreateApiKeyResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ApiKeyLimitExceededException', ], [ 'shape' => 'ApiKeyValidityOutOfBoundsException', ], ], ], 'CreateDataSource' => [ 'name' => 'CreateDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/datasources', ], 'input' => [ 'shape' => 'CreateDataSourceRequest', ], 'output' => [ 'shape' => 'CreateDataSourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateFunction' => [ 'name' => 'CreateFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/functions', ], 'input' => [ 'shape' => 'CreateFunctionRequest', ], 'output' => [ 'shape' => 'CreateFunctionResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateGraphqlApi' => [ 'name' => 'CreateGraphqlApi', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis', ], 'input' => [ 'shape' => 'CreateGraphqlApiRequest', ], 'output' => [ 'shape' => 'CreateGraphqlApiResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ApiLimitExceededException', ], ], ], 'CreateResolver' => [ 'name' => 'CreateResolver', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}/resolvers', ], 'input' => [ 'shape' => 'CreateResolverRequest', ], 'output' => [ 'shape' => 'CreateResolverResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateType' => [ 'name' => 'CreateType', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/types', ], 'input' => [ 'shape' => 'CreateTypeRequest', ], 'output' => [ 'shape' => 'CreateTypeResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteApiKey' => [ 'name' => 'DeleteApiKey', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}/apikeys/{id}', ], 'input' => [ 'shape' => 'DeleteApiKeyRequest', ], 'output' => [ 'shape' => 'DeleteApiKeyResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteDataSource' => [ 'name' => 'DeleteDataSource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}/datasources/{name}', ], 'input' => [ 'shape' => 'DeleteDataSourceRequest', ], 'output' => [ 'shape' => 'DeleteDataSourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteFunction' => [ 'name' => 'DeleteFunction', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}/functions/{functionId}', ], 'input' => [ 'shape' => 'DeleteFunctionRequest', ], 'output' => [ 'shape' => 'DeleteFunctionResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteGraphqlApi' => [ 'name' => 'DeleteGraphqlApi', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}', ], 'input' => [ 'shape' => 'DeleteGraphqlApiRequest', ], 'output' => [ 'shape' => 'DeleteGraphqlApiResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteResolver' => [ 'name' => 'DeleteResolver', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}', ], 'input' => [ 'shape' => 'DeleteResolverRequest', ], 'output' => [ 'shape' => 'DeleteResolverResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteType' => [ 'name' => 'DeleteType', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}', ], 'input' => [ 'shape' => 'DeleteTypeRequest', ], 'output' => [ 'shape' => 'DeleteTypeResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetDataSource' => [ 'name' => 'GetDataSource', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/datasources/{name}', ], 'input' => [ 'shape' => 'GetDataSourceRequest', ], 'output' => [ 'shape' => 'GetDataSourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetFunction' => [ 'name' => 'GetFunction', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/functions/{functionId}', ], 'input' => [ 'shape' => 'GetFunctionRequest', ], 'output' => [ 'shape' => 'GetFunctionResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'GetGraphqlApi' => [ 'name' => 'GetGraphqlApi', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}', ], 'input' => [ 'shape' => 'GetGraphqlApiRequest', ], 'output' => [ 'shape' => 'GetGraphqlApiResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetIntrospectionSchema' => [ 'name' => 'GetIntrospectionSchema', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/schema', ], 'input' => [ 'shape' => 'GetIntrospectionSchemaRequest', ], 'output' => [ 'shape' => 'GetIntrospectionSchemaResponse', ], 'errors' => [ [ 'shape' => 'GraphQLSchemaException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetResolver' => [ 'name' => 'GetResolver', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}', ], 'input' => [ 'shape' => 'GetResolverRequest', ], 'output' => [ 'shape' => 'GetResolverResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'GetSchemaCreationStatus' => [ 'name' => 'GetSchemaCreationStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/schemacreation', ], 'input' => [ 'shape' => 'GetSchemaCreationStatusRequest', ], 'output' => [ 'shape' => 'GetSchemaCreationStatusResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetType' => [ 'name' => 'GetType', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}', ], 'input' => [ 'shape' => 'GetTypeRequest', ], 'output' => [ 'shape' => 'GetTypeResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListApiKeys' => [ 'name' => 'ListApiKeys', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/apikeys', ], 'input' => [ 'shape' => 'ListApiKeysRequest', ], 'output' => [ 'shape' => 'ListApiKeysResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListDataSources' => [ 'name' => 'ListDataSources', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/datasources', ], 'input' => [ 'shape' => 'ListDataSourcesRequest', ], 'output' => [ 'shape' => 'ListDataSourcesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListFunctions' => [ 'name' => 'ListFunctions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/functions', ], 'input' => [ 'shape' => 'ListFunctionsRequest', ], 'output' => [ 'shape' => 'ListFunctionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListGraphqlApis' => [ 'name' => 'ListGraphqlApis', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis', ], 'input' => [ 'shape' => 'ListGraphqlApisRequest', ], 'output' => [ 'shape' => 'ListGraphqlApisResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListResolvers' => [ 'name' => 'ListResolvers', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}/resolvers', ], 'input' => [ 'shape' => 'ListResolversRequest', ], 'output' => [ 'shape' => 'ListResolversResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListResolversByFunction' => [ 'name' => 'ListResolversByFunction', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/functions/{functionId}/resolvers', ], 'input' => [ 'shape' => 'ListResolversByFunctionRequest', ], 'output' => [ 'shape' => 'ListResolversByFunctionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListTypes' => [ 'name' => 'ListTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apis/{apiId}/types', ], 'input' => [ 'shape' => 'ListTypesRequest', ], 'output' => [ 'shape' => 'ListTypesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'StartSchemaCreation' => [ 'name' => 'StartSchemaCreation', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/schemacreation', ], 'input' => [ 'shape' => 'StartSchemaCreationRequest', ], 'output' => [ 'shape' => 'StartSchemaCreationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateApiKey' => [ 'name' => 'UpdateApiKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/apikeys/{id}', ], 'input' => [ 'shape' => 'UpdateApiKeyRequest', ], 'output' => [ 'shape' => 'UpdateApiKeyResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ApiKeyValidityOutOfBoundsException', ], ], ], 'UpdateDataSource' => [ 'name' => 'UpdateDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/datasources/{name}', ], 'input' => [ 'shape' => 'UpdateDataSourceRequest', ], 'output' => [ 'shape' => 'UpdateDataSourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateFunction' => [ 'name' => 'UpdateFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/functions/{functionId}', ], 'input' => [ 'shape' => 'UpdateFunctionRequest', ], 'output' => [ 'shape' => 'UpdateFunctionResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateGraphqlApi' => [ 'name' => 'UpdateGraphqlApi', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}', ], 'input' => [ 'shape' => 'UpdateGraphqlApiRequest', ], 'output' => [ 'shape' => 'UpdateGraphqlApiResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateResolver' => [ 'name' => 'UpdateResolver', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}', ], 'input' => [ 'shape' => 'UpdateResolverRequest', ], 'output' => [ 'shape' => 'UpdateResolverResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateType' => [ 'name' => 'UpdateType', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apis/{apiId}/types/{typeName}', ], 'input' => [ 'shape' => 'UpdateTypeRequest', ], 'output' => [ 'shape' => 'UpdateTypeResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], ], 'shapes' => [ 'ApiKey' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'expires' => [ 'shape' => 'Long', ], ], ], 'ApiKeyLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ApiKeyValidityOutOfBoundsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ApiKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApiKey', ], ], 'ApiLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'AuthenticationType' => [ 'type' => 'string', 'enum' => [ 'API_KEY', 'AWS_IAM', 'AMAZON_COGNITO_USER_POOLS', 'OPENID_CONNECT', ], ], 'AuthorizationConfig' => [ 'type' => 'structure', 'required' => [ 'authorizationType', ], 'members' => [ 'authorizationType' => [ 'shape' => 'AuthorizationType', ], 'awsIamConfig' => [ 'shape' => 'AwsIamConfig', ], ], ], 'AuthorizationType' => [ 'type' => 'string', 'enum' => [ 'AWS_IAM', ], ], 'AwsIamConfig' => [ 'type' => 'structure', 'members' => [ 'signingRegion' => [ 'shape' => 'String', ], 'signingServiceName' => [ 'shape' => 'String', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Blob' => [ 'type' => 'blob', ], 'Boolean' => [ 'type' => 'boolean', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CreateApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'description' => [ 'shape' => 'String', ], 'expires' => [ 'shape' => 'Long', ], ], ], 'CreateApiKeyResponse' => [ 'type' => 'structure', 'members' => [ 'apiKey' => [ 'shape' => 'ApiKey', ], ], ], 'CreateDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', 'type', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'DataSourceType', ], 'serviceRoleArn' => [ 'shape' => 'String', ], 'dynamodbConfig' => [ 'shape' => 'DynamodbDataSourceConfig', ], 'lambdaConfig' => [ 'shape' => 'LambdaDataSourceConfig', ], 'elasticsearchConfig' => [ 'shape' => 'ElasticsearchDataSourceConfig', ], 'httpConfig' => [ 'shape' => 'HttpDataSourceConfig', ], 'relationalDatabaseConfig' => [ 'shape' => 'RelationalDatabaseDataSourceConfig', ], ], ], 'CreateDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'dataSource' => [ 'shape' => 'DataSource', ], ], ], 'CreateFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', 'dataSourceName', 'requestMappingTemplate', 'functionVersion', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'functionVersion' => [ 'shape' => 'String', ], ], ], 'CreateFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'functionConfiguration' => [ 'shape' => 'FunctionConfiguration', ], ], ], 'CreateGraphqlApiRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'authenticationType', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'logConfig' => [ 'shape' => 'LogConfig', ], 'authenticationType' => [ 'shape' => 'AuthenticationType', ], 'userPoolConfig' => [ 'shape' => 'UserPoolConfig', ], 'openIDConnectConfig' => [ 'shape' => 'OpenIDConnectConfig', ], ], ], 'CreateGraphqlApiResponse' => [ 'type' => 'structure', 'members' => [ 'graphqlApi' => [ 'shape' => 'GraphqlApi', ], ], ], 'CreateResolverRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'fieldName', 'requestMappingTemplate', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'fieldName' => [ 'shape' => 'ResourceName', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'kind' => [ 'shape' => 'ResolverKind', ], 'pipelineConfig' => [ 'shape' => 'PipelineConfig', ], ], ], 'CreateResolverResponse' => [ 'type' => 'structure', 'members' => [ 'resolver' => [ 'shape' => 'Resolver', ], ], ], 'CreateTypeRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'definition', 'format', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'definition' => [ 'shape' => 'String', ], 'format' => [ 'shape' => 'TypeDefinitionFormat', ], ], ], 'CreateTypeResponse' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'Type', ], ], ], 'DataSource' => [ 'type' => 'structure', 'members' => [ 'dataSourceArn' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'DataSourceType', ], 'serviceRoleArn' => [ 'shape' => 'String', ], 'dynamodbConfig' => [ 'shape' => 'DynamodbDataSourceConfig', ], 'lambdaConfig' => [ 'shape' => 'LambdaDataSourceConfig', ], 'elasticsearchConfig' => [ 'shape' => 'ElasticsearchDataSourceConfig', ], 'httpConfig' => [ 'shape' => 'HttpDataSourceConfig', ], 'relationalDatabaseConfig' => [ 'shape' => 'RelationalDatabaseDataSourceConfig', ], ], ], 'DataSourceType' => [ 'type' => 'string', 'enum' => [ 'AWS_LAMBDA', 'AMAZON_DYNAMODB', 'AMAZON_ELASTICSEARCH', 'NONE', 'HTTP', 'RELATIONAL_DATABASE', ], ], 'DataSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataSource', ], ], 'DefaultAction' => [ 'type' => 'string', 'enum' => [ 'ALLOW', 'DENY', ], ], 'DeleteApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'id', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'id' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'id', ], ], ], 'DeleteApiKeyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DeleteDataSourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'functionId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'functionId' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'functionId', ], ], ], 'DeleteFunctionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteGraphqlApiRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], ], ], 'DeleteGraphqlApiResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteResolverRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'fieldName', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'fieldName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'fieldName', ], ], ], 'DeleteResolverResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTypeRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], ], ], 'DeleteTypeResponse' => [ 'type' => 'structure', 'members' => [], ], 'DynamodbDataSourceConfig' => [ 'type' => 'structure', 'required' => [ 'tableName', 'awsRegion', ], 'members' => [ 'tableName' => [ 'shape' => 'String', ], 'awsRegion' => [ 'shape' => 'String', ], 'useCallerCredentials' => [ 'shape' => 'Boolean', ], ], ], 'ElasticsearchDataSourceConfig' => [ 'type' => 'structure', 'required' => [ 'endpoint', 'awsRegion', ], 'members' => [ 'endpoint' => [ 'shape' => 'String', ], 'awsRegion' => [ 'shape' => 'String', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FieldLogLevel' => [ 'type' => 'string', 'enum' => [ 'NONE', 'ERROR', 'ALL', ], ], 'FunctionConfiguration' => [ 'type' => 'structure', 'members' => [ 'functionId' => [ 'shape' => 'String', ], 'functionArn' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'functionVersion' => [ 'shape' => 'String', ], ], ], 'Functions' => [ 'type' => 'list', 'member' => [ 'shape' => 'FunctionConfiguration', ], ], 'FunctionsIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'GetDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'GetDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'dataSource' => [ 'shape' => 'DataSource', ], ], ], 'GetFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'functionId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'functionId' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'functionId', ], ], ], 'GetFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'functionConfiguration' => [ 'shape' => 'FunctionConfiguration', ], ], ], 'GetGraphqlApiRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], ], ], 'GetGraphqlApiResponse' => [ 'type' => 'structure', 'members' => [ 'graphqlApi' => [ 'shape' => 'GraphqlApi', ], ], ], 'GetIntrospectionSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'format', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'format' => [ 'shape' => 'OutputType', 'location' => 'querystring', 'locationName' => 'format', ], ], ], 'GetIntrospectionSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'schema' => [ 'shape' => 'Blob', ], ], 'payload' => 'schema', ], 'GetResolverRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'fieldName', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'fieldName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'fieldName', ], ], ], 'GetResolverResponse' => [ 'type' => 'structure', 'members' => [ 'resolver' => [ 'shape' => 'Resolver', ], ], ], 'GetSchemaCreationStatusRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], ], ], 'GetSchemaCreationStatusResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'SchemaStatus', ], 'details' => [ 'shape' => 'String', ], ], ], 'GetTypeRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'format', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'format' => [ 'shape' => 'TypeDefinitionFormat', 'location' => 'querystring', 'locationName' => 'format', ], ], ], 'GetTypeResponse' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'Type', ], ], ], 'GraphQLSchemaException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'GraphqlApi' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'apiId' => [ 'shape' => 'String', ], 'authenticationType' => [ 'shape' => 'AuthenticationType', ], 'logConfig' => [ 'shape' => 'LogConfig', ], 'userPoolConfig' => [ 'shape' => 'UserPoolConfig', ], 'openIDConnectConfig' => [ 'shape' => 'OpenIDConnectConfig', ], 'arn' => [ 'shape' => 'String', ], 'uris' => [ 'shape' => 'MapOfStringToString', ], ], ], 'GraphqlApis' => [ 'type' => 'list', 'member' => [ 'shape' => 'GraphqlApi', ], ], 'HttpDataSourceConfig' => [ 'type' => 'structure', 'members' => [ 'endpoint' => [ 'shape' => 'String', ], 'authorizationConfig' => [ 'shape' => 'AuthorizationConfig', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'LambdaDataSourceConfig' => [ 'type' => 'structure', 'required' => [ 'lambdaFunctionArn', ], 'members' => [ 'lambdaFunctionArn' => [ 'shape' => 'String', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListApiKeysRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListApiKeysResponse' => [ 'type' => 'structure', 'members' => [ 'apiKeys' => [ 'shape' => 'ApiKeys', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDataSourcesRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListDataSourcesResponse' => [ 'type' => 'structure', 'members' => [ 'dataSources' => [ 'shape' => 'DataSources', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListFunctionsRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListFunctionsResponse' => [ 'type' => 'structure', 'members' => [ 'functions' => [ 'shape' => 'Functions', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListGraphqlApisRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListGraphqlApisResponse' => [ 'type' => 'structure', 'members' => [ 'graphqlApis' => [ 'shape' => 'GraphqlApis', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListResolversByFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'functionId', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'functionId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'functionId', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListResolversByFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'resolvers' => [ 'shape' => 'Resolvers', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListResolversRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'typeName', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListResolversResponse' => [ 'type' => 'structure', 'members' => [ 'resolvers' => [ 'shape' => 'Resolvers', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTypesRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'format', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'format' => [ 'shape' => 'TypeDefinitionFormat', 'location' => 'querystring', 'locationName' => 'format', ], 'nextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListTypesResponse' => [ 'type' => 'structure', 'members' => [ 'types' => [ 'shape' => 'TypeList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'LogConfig' => [ 'type' => 'structure', 'required' => [ 'fieldLogLevel', 'cloudWatchLogsRoleArn', ], 'members' => [ 'fieldLogLevel' => [ 'shape' => 'FieldLogLevel', ], 'cloudWatchLogsRoleArn' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', ], 'MapOfStringToString' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'MappingTemplate' => [ 'type' => 'string', 'max' => 65536, 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 25, 'min' => 0, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'OpenIDConnectConfig' => [ 'type' => 'structure', 'required' => [ 'issuer', ], 'members' => [ 'issuer' => [ 'shape' => 'String', ], 'clientId' => [ 'shape' => 'String', ], 'iatTTL' => [ 'shape' => 'Long', ], 'authTTL' => [ 'shape' => 'Long', ], ], ], 'OutputType' => [ 'type' => 'string', 'enum' => [ 'SDL', 'JSON', ], ], 'PaginationToken' => [ 'type' => 'string', 'pattern' => '[\\\\S]+', ], 'PipelineConfig' => [ 'type' => 'structure', 'members' => [ 'functions' => [ 'shape' => 'FunctionsIds', ], ], ], 'RdsHttpEndpointConfig' => [ 'type' => 'structure', 'members' => [ 'awsRegion' => [ 'shape' => 'String', ], 'dbClusterIdentifier' => [ 'shape' => 'String', ], 'databaseName' => [ 'shape' => 'String', ], 'schema' => [ 'shape' => 'String', ], 'awsSecretStoreArn' => [ 'shape' => 'String', ], ], ], 'RelationalDatabaseDataSourceConfig' => [ 'type' => 'structure', 'members' => [ 'relationalDatabaseSourceType' => [ 'shape' => 'RelationalDatabaseSourceType', ], 'rdsHttpEndpointConfig' => [ 'shape' => 'RdsHttpEndpointConfig', ], ], ], 'RelationalDatabaseSourceType' => [ 'type' => 'string', 'enum' => [ 'RDS_HTTP_ENDPOINT', ], ], 'Resolver' => [ 'type' => 'structure', 'members' => [ 'typeName' => [ 'shape' => 'ResourceName', ], 'fieldName' => [ 'shape' => 'ResourceName', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'resolverArn' => [ 'shape' => 'String', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'kind' => [ 'shape' => 'ResolverKind', ], 'pipelineConfig' => [ 'shape' => 'PipelineConfig', ], ], ], 'ResolverKind' => [ 'type' => 'string', 'enum' => [ 'UNIT', 'PIPELINE', ], ], 'Resolvers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resolver', ], ], 'ResourceName' => [ 'type' => 'string', 'pattern' => '[_A-Za-z][_0-9A-Za-z]*', ], 'SchemaStatus' => [ 'type' => 'string', 'enum' => [ 'PROCESSING', 'ACTIVE', 'DELETING', ], ], 'StartSchemaCreationRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'definition', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'definition' => [ 'shape' => 'Blob', ], ], ], 'StartSchemaCreationResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'SchemaStatus', ], ], ], 'String' => [ 'type' => 'string', ], 'Type' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'arn' => [ 'shape' => 'String', ], 'definition' => [ 'shape' => 'String', ], 'format' => [ 'shape' => 'TypeDefinitionFormat', ], ], ], 'TypeDefinitionFormat' => [ 'type' => 'string', 'enum' => [ 'SDL', 'JSON', ], ], 'TypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Type', ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UpdateApiKeyRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'id', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'id' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'id', ], 'description' => [ 'shape' => 'String', ], 'expires' => [ 'shape' => 'Long', ], ], ], 'UpdateApiKeyResponse' => [ 'type' => 'structure', 'members' => [ 'apiKey' => [ 'shape' => 'ApiKey', ], ], ], 'UpdateDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', 'type', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'name', ], 'description' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'DataSourceType', ], 'serviceRoleArn' => [ 'shape' => 'String', ], 'dynamodbConfig' => [ 'shape' => 'DynamodbDataSourceConfig', ], 'lambdaConfig' => [ 'shape' => 'LambdaDataSourceConfig', ], 'elasticsearchConfig' => [ 'shape' => 'ElasticsearchDataSourceConfig', ], 'httpConfig' => [ 'shape' => 'HttpDataSourceConfig', ], 'relationalDatabaseConfig' => [ 'shape' => 'RelationalDatabaseDataSourceConfig', ], ], ], 'UpdateDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'dataSource' => [ 'shape' => 'DataSource', ], ], ], 'UpdateFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', 'functionId', 'dataSourceName', 'requestMappingTemplate', 'functionVersion', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'ResourceName', ], 'description' => [ 'shape' => 'String', ], 'functionId' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'functionId', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'functionVersion' => [ 'shape' => 'String', ], ], ], 'UpdateFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'functionConfiguration' => [ 'shape' => 'FunctionConfiguration', ], ], ], 'UpdateGraphqlApiRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'name', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'name' => [ 'shape' => 'String', ], 'logConfig' => [ 'shape' => 'LogConfig', ], 'authenticationType' => [ 'shape' => 'AuthenticationType', ], 'userPoolConfig' => [ 'shape' => 'UserPoolConfig', ], 'openIDConnectConfig' => [ 'shape' => 'OpenIDConnectConfig', ], ], ], 'UpdateGraphqlApiResponse' => [ 'type' => 'structure', 'members' => [ 'graphqlApi' => [ 'shape' => 'GraphqlApi', ], ], ], 'UpdateResolverRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'fieldName', 'requestMappingTemplate', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'fieldName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'fieldName', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'kind' => [ 'shape' => 'ResolverKind', ], 'pipelineConfig' => [ 'shape' => 'PipelineConfig', ], ], ], 'UpdateResolverResponse' => [ 'type' => 'structure', 'members' => [ 'resolver' => [ 'shape' => 'Resolver', ], ], ], 'UpdateTypeRequest' => [ 'type' => 'structure', 'required' => [ 'apiId', 'typeName', 'format', ], 'members' => [ 'apiId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'apiId', ], 'typeName' => [ 'shape' => 'ResourceName', 'location' => 'uri', 'locationName' => 'typeName', ], 'definition' => [ 'shape' => 'String', ], 'format' => [ 'shape' => 'TypeDefinitionFormat', ], ], ], 'UpdateTypeResponse' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'Type', ], ], ], 'UserPoolConfig' => [ 'type' => 'structure', 'required' => [ 'userPoolId', 'awsRegion', 'defaultAction', ], 'members' => [ 'userPoolId' => [ 'shape' => 'String', ], 'awsRegion' => [ 'shape' => 'String', ], 'defaultAction' => [ 'shape' => 'DefaultAction', ], 'appIdClientRegex' => [ 'shape' => 'String', ], ], ], ],]; diff --git a/lib/aws/Aws/data/appsync/2017-07-25/paginators-1.json.php b/lib/aws/Aws/data/appsync/2017-07-25/paginators-1.json.php new file mode 100644 index 0000000..3c3b432 --- /dev/null +++ b/lib/aws/Aws/data/appsync/2017-07-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/appsync/2017-07-25/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/athena/2017-05-18/api-2.json.php b/lib/aws/Aws/data/athena/2017-05-18/api-2.json.php new file mode 100644 index 0000000..a998014 --- /dev/null +++ b/lib/aws/Aws/data/athena/2017-05-18/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/athena/2017-05-18/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-05-18', 'endpointPrefix' => 'athena', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Athena', 'serviceId' => 'Athena', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonAthena', 'uid' => 'athena-2017-05-18', ], 'operations' => [ 'BatchGetNamedQuery' => [ 'name' => 'BatchGetNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetNamedQueryInput', ], 'output' => [ 'shape' => 'BatchGetNamedQueryOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'BatchGetQueryExecution' => [ 'name' => 'BatchGetQueryExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetQueryExecutionInput', ], 'output' => [ 'shape' => 'BatchGetQueryExecutionOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateNamedQuery' => [ 'name' => 'CreateNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNamedQueryInput', ], 'output' => [ 'shape' => 'CreateNamedQueryOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], 'idempotent' => true, ], 'CreateWorkGroup' => [ 'name' => 'CreateWorkGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWorkGroupInput', ], 'output' => [ 'shape' => 'CreateWorkGroupOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteNamedQuery' => [ 'name' => 'DeleteNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNamedQueryInput', ], 'output' => [ 'shape' => 'DeleteNamedQueryOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], 'idempotent' => true, ], 'DeleteWorkGroup' => [ 'name' => 'DeleteWorkGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWorkGroupInput', ], 'output' => [ 'shape' => 'DeleteWorkGroupOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], 'idempotent' => true, ], 'GetNamedQuery' => [ 'name' => 'GetNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetNamedQueryInput', ], 'output' => [ 'shape' => 'GetNamedQueryOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetQueryExecution' => [ 'name' => 'GetQueryExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQueryExecutionInput', ], 'output' => [ 'shape' => 'GetQueryExecutionOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetQueryResults' => [ 'name' => 'GetQueryResults', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQueryResultsInput', ], 'output' => [ 'shape' => 'GetQueryResultsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetWorkGroup' => [ 'name' => 'GetWorkGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetWorkGroupInput', ], 'output' => [ 'shape' => 'GetWorkGroupOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListNamedQueries' => [ 'name' => 'ListNamedQueries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListNamedQueriesInput', ], 'output' => [ 'shape' => 'ListNamedQueriesOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListQueryExecutions' => [ 'name' => 'ListQueryExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListQueryExecutionsInput', ], 'output' => [ 'shape' => 'ListQueryExecutionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListWorkGroups' => [ 'name' => 'ListWorkGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWorkGroupsInput', ], 'output' => [ 'shape' => 'ListWorkGroupsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'StartQueryExecution' => [ 'name' => 'StartQueryExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartQueryExecutionInput', ], 'output' => [ 'shape' => 'StartQueryExecutionOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'idempotent' => true, ], 'StopQueryExecution' => [ 'name' => 'StopQueryExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopQueryExecutionInput', ], 'output' => [ 'shape' => 'StopQueryExecutionOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], 'idempotent' => true, ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'output' => [ 'shape' => 'TagResourceOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'output' => [ 'shape' => 'UntagResourceOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateWorkGroup' => [ 'name' => 'UpdateWorkGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateWorkGroupInput', ], 'output' => [ 'shape' => 'UpdateWorkGroupOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'AmazonResourceName' => [ 'type' => 'string', 'max' => 1011, 'min' => 1, ], 'BatchGetNamedQueryInput' => [ 'type' => 'structure', 'required' => [ 'NamedQueryIds', ], 'members' => [ 'NamedQueryIds' => [ 'shape' => 'NamedQueryIdList', ], ], ], 'BatchGetNamedQueryOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueries' => [ 'shape' => 'NamedQueryList', ], 'UnprocessedNamedQueryIds' => [ 'shape' => 'UnprocessedNamedQueryIdList', ], ], ], 'BatchGetQueryExecutionInput' => [ 'type' => 'structure', 'required' => [ 'QueryExecutionIds', ], 'members' => [ 'QueryExecutionIds' => [ 'shape' => 'QueryExecutionIdList', ], ], ], 'BatchGetQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutions' => [ 'shape' => 'QueryExecutionList', ], 'UnprocessedQueryExecutionIds' => [ 'shape' => 'UnprocessedQueryExecutionIdList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BoxedBoolean' => [ 'type' => 'boolean', ], 'BytesScannedCutoffValue' => [ 'type' => 'long', 'min' => 10000000, ], 'ColumnInfo' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', ], 'members' => [ 'CatalogName' => [ 'shape' => 'String', ], 'SchemaName' => [ 'shape' => 'String', ], 'TableName' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Label' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'Precision' => [ 'shape' => 'Integer', ], 'Scale' => [ 'shape' => 'Integer', ], 'Nullable' => [ 'shape' => 'ColumnNullable', ], 'CaseSensitive' => [ 'shape' => 'Boolean', ], ], ], 'ColumnInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ColumnInfo', ], ], 'ColumnNullable' => [ 'type' => 'string', 'enum' => [ 'NOT_NULL', 'NULLABLE', 'UNKNOWN', ], ], 'CreateNamedQueryInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'Database', 'QueryString', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Database' => [ 'shape' => 'DatabaseString', ], 'QueryString' => [ 'shape' => 'QueryString', ], 'ClientRequestToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'CreateNamedQueryOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], ], ], 'CreateWorkGroupInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'WorkGroupName', ], 'Configuration' => [ 'shape' => 'WorkGroupConfiguration', ], 'Description' => [ 'shape' => 'WorkGroupDescriptionString', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateWorkGroupOutput' => [ 'type' => 'structure', 'members' => [], ], 'DatabaseString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Date' => [ 'type' => 'timestamp', ], 'Datum' => [ 'type' => 'structure', 'members' => [ 'VarCharValue' => [ 'shape' => 'datumString', ], ], ], 'DeleteNamedQueryInput' => [ 'type' => 'structure', 'required' => [ 'NamedQueryId', ], 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', 'idempotencyToken' => true, ], ], ], 'DeleteNamedQueryOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteWorkGroupInput' => [ 'type' => 'structure', 'required' => [ 'WorkGroup', ], 'members' => [ 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], 'RecursiveDeleteOption' => [ 'shape' => 'BoxedBoolean', ], ], ], 'DeleteWorkGroupOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescriptionString' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'EncryptionConfiguration' => [ 'type' => 'structure', 'required' => [ 'EncryptionOption', ], 'members' => [ 'EncryptionOption' => [ 'shape' => 'EncryptionOption', ], 'KmsKey' => [ 'shape' => 'String', ], ], ], 'EncryptionOption' => [ 'type' => 'string', 'enum' => [ 'SSE_S3', 'SSE_KMS', 'CSE_KMS', ], ], 'ErrorCode' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GetNamedQueryInput' => [ 'type' => 'structure', 'required' => [ 'NamedQueryId', ], 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], ], ], 'GetNamedQueryOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQuery' => [ 'shape' => 'NamedQuery', ], ], ], 'GetQueryExecutionInput' => [ 'type' => 'structure', 'required' => [ 'QueryExecutionId', ], 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], ], ], 'GetQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecution' => [ 'shape' => 'QueryExecution', ], ], ], 'GetQueryResultsInput' => [ 'type' => 'structure', 'required' => [ 'QueryExecutionId', ], 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxQueryResults', ], ], ], 'GetQueryResultsOutput' => [ 'type' => 'structure', 'members' => [ 'UpdateCount' => [ 'shape' => 'Long', ], 'ResultSet' => [ 'shape' => 'ResultSet', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetWorkGroupInput' => [ 'type' => 'structure', 'required' => [ 'WorkGroup', ], 'members' => [ 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'GetWorkGroupOutput' => [ 'type' => 'structure', 'members' => [ 'WorkGroup' => [ 'shape' => 'WorkGroup', ], ], ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 128, 'min' => 32, ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'AthenaErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListNamedQueriesInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxNamedQueriesCount', ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'ListNamedQueriesOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryIds' => [ 'shape' => 'NamedQueryIdList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListQueryExecutionsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxQueryExecutionsCount', ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'ListQueryExecutionsOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionIds' => [ 'shape' => 'QueryExecutionIdList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxTagsCount', ], ], ], 'ListTagsForResourceOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListWorkGroupsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxWorkGroupsCount', ], ], ], 'ListWorkGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'WorkGroups' => [ 'shape' => 'WorkGroupsList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaxNamedQueriesCount' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 0, ], 'MaxQueryExecutionsCount' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 0, ], 'MaxQueryResults' => [ 'type' => 'integer', 'box' => true, 'max' => 1000, 'min' => 0, ], 'MaxTagsCount' => [ 'type' => 'integer', 'box' => true, 'min' => 75, ], 'MaxWorkGroupsCount' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 1, ], 'NameString' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'NamedQuery' => [ 'type' => 'structure', 'required' => [ 'Name', 'Database', 'QueryString', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Database' => [ 'shape' => 'DatabaseString', ], 'QueryString' => [ 'shape' => 'QueryString', ], 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'NamedQueryId' => [ 'type' => 'string', ], 'NamedQueryIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NamedQueryId', ], 'max' => 50, 'min' => 1, ], 'NamedQueryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NamedQuery', ], ], 'QueryExecution' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], 'Query' => [ 'shape' => 'QueryString', ], 'StatementType' => [ 'shape' => 'StatementType', ], 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], 'QueryExecutionContext' => [ 'shape' => 'QueryExecutionContext', ], 'Status' => [ 'shape' => 'QueryExecutionStatus', ], 'Statistics' => [ 'shape' => 'QueryExecutionStatistics', ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'QueryExecutionContext' => [ 'type' => 'structure', 'members' => [ 'Database' => [ 'shape' => 'DatabaseString', ], ], ], 'QueryExecutionId' => [ 'type' => 'string', ], 'QueryExecutionIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryExecutionId', ], 'max' => 50, 'min' => 1, ], 'QueryExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryExecution', ], ], 'QueryExecutionState' => [ 'type' => 'string', 'enum' => [ 'QUEUED', 'RUNNING', 'SUCCEEDED', 'FAILED', 'CANCELLED', ], ], 'QueryExecutionStatistics' => [ 'type' => 'structure', 'members' => [ 'EngineExecutionTimeInMillis' => [ 'shape' => 'Long', ], 'DataScannedInBytes' => [ 'shape' => 'Long', ], ], ], 'QueryExecutionStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'QueryExecutionState', ], 'StateChangeReason' => [ 'shape' => 'String', ], 'SubmissionDateTime' => [ 'shape' => 'Date', ], 'CompletionDateTime' => [ 'shape' => 'Date', ], ], ], 'QueryString' => [ 'type' => 'string', 'max' => 262144, 'min' => 1, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'ResourceName' => [ 'shape' => 'AmazonResourceName', ], ], 'exception' => true, ], 'ResultConfiguration' => [ 'type' => 'structure', 'members' => [ 'OutputLocation' => [ 'shape' => 'String', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], 'ResultConfigurationUpdates' => [ 'type' => 'structure', 'members' => [ 'OutputLocation' => [ 'shape' => 'String', ], 'RemoveOutputLocation' => [ 'shape' => 'BoxedBoolean', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'RemoveEncryptionConfiguration' => [ 'shape' => 'BoxedBoolean', ], ], ], 'ResultSet' => [ 'type' => 'structure', 'members' => [ 'Rows' => [ 'shape' => 'RowList', ], 'ResultSetMetadata' => [ 'shape' => 'ResultSetMetadata', ], ], ], 'ResultSetMetadata' => [ 'type' => 'structure', 'members' => [ 'ColumnInfo' => [ 'shape' => 'ColumnInfoList', ], ], ], 'Row' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'datumList', ], ], ], 'RowList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Row', ], ], 'StartQueryExecutionInput' => [ 'type' => 'structure', 'required' => [ 'QueryString', ], 'members' => [ 'QueryString' => [ 'shape' => 'QueryString', ], 'ClientRequestToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'QueryExecutionContext' => [ 'shape' => 'QueryExecutionContext', ], 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], ], ], 'StartQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], ], ], 'StatementType' => [ 'type' => 'string', 'enum' => [ 'DDL', 'DML', 'UTILITY', ], ], 'StopQueryExecutionInput' => [ 'type' => 'structure', 'required' => [ 'QueryExecutionId', ], 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', 'idempotencyToken' => true, ], ], ], 'StopQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [], ], 'String' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Tags', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'ThrottleReason' => [ 'type' => 'string', 'enum' => [ 'CONCURRENT_QUERY_LIMIT_EXCEEDED', ], ], 'Token' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'Reason' => [ 'shape' => 'ThrottleReason', ], ], 'exception' => true, ], 'UnprocessedNamedQueryId' => [ 'type' => 'structure', 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'UnprocessedNamedQueryIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedNamedQueryId', ], ], 'UnprocessedQueryExecutionId' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'UnprocessedQueryExecutionIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedQueryExecutionId', ], ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'TagKeys', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateWorkGroupInput' => [ 'type' => 'structure', 'required' => [ 'WorkGroup', ], 'members' => [ 'WorkGroup' => [ 'shape' => 'WorkGroupName', ], 'Description' => [ 'shape' => 'WorkGroupDescriptionString', ], 'ConfigurationUpdates' => [ 'shape' => 'WorkGroupConfigurationUpdates', ], 'State' => [ 'shape' => 'WorkGroupState', ], ], ], 'UpdateWorkGroupOutput' => [ 'type' => 'structure', 'members' => [], ], 'WorkGroup' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'WorkGroupName', ], 'State' => [ 'shape' => 'WorkGroupState', ], 'Configuration' => [ 'shape' => 'WorkGroupConfiguration', ], 'Description' => [ 'shape' => 'WorkGroupDescriptionString', ], 'CreationTime' => [ 'shape' => 'Date', ], ], ], 'WorkGroupConfiguration' => [ 'type' => 'structure', 'members' => [ 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], 'EnforceWorkGroupConfiguration' => [ 'shape' => 'BoxedBoolean', ], 'PublishCloudWatchMetricsEnabled' => [ 'shape' => 'BoxedBoolean', ], 'BytesScannedCutoffPerQuery' => [ 'shape' => 'BytesScannedCutoffValue', ], ], ], 'WorkGroupConfigurationUpdates' => [ 'type' => 'structure', 'members' => [ 'EnforceWorkGroupConfiguration' => [ 'shape' => 'BoxedBoolean', ], 'ResultConfigurationUpdates' => [ 'shape' => 'ResultConfigurationUpdates', ], 'PublishCloudWatchMetricsEnabled' => [ 'shape' => 'BoxedBoolean', ], 'BytesScannedCutoffPerQuery' => [ 'shape' => 'BytesScannedCutoffValue', ], 'RemoveBytesScannedCutoffPerQuery' => [ 'shape' => 'BoxedBoolean', ], ], ], 'WorkGroupDescriptionString' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'WorkGroupName' => [ 'type' => 'string', 'pattern' => '[a-zA-z0-9._-]{1,128}', ], 'WorkGroupState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'WorkGroupSummary' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'WorkGroupName', ], 'State' => [ 'shape' => 'WorkGroupState', ], 'Description' => [ 'shape' => 'WorkGroupDescriptionString', ], 'CreationTime' => [ 'shape' => 'Date', ], ], ], 'WorkGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkGroupSummary', ], 'max' => 50, 'min' => 0, ], 'datumList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Datum', ], ], 'datumString' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/athena/2017-05-18/paginators-1.json.php b/lib/aws/Aws/data/athena/2017-05-18/paginators-1.json.php new file mode 100644 index 0000000..9d1efb3 --- /dev/null +++ b/lib/aws/Aws/data/athena/2017-05-18/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/athena/2017-05-18/paginators-1.json +return [ 'pagination' => [ 'GetQueryResults' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListNamedQueries' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListQueryExecutions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListWorkGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/athena/2017-05-18/smoke.json.php b/lib/aws/Aws/data/athena/2017-05-18/smoke.json.php new file mode 100644 index 0000000..4afd458 --- /dev/null +++ b/lib/aws/Aws/data/athena/2017-05-18/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/athena/2017-05-18/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListNamedQueries', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/autoscaling-plans/2018-01-06/api-2.json.php b/lib/aws/Aws/data/autoscaling-plans/2018-01-06/api-2.json.php new file mode 100644 index 0000000..fad0b01 --- /dev/null +++ b/lib/aws/Aws/data/autoscaling-plans/2018-01-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling-plans/2018-01-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-01-06', 'endpointPrefix' => 'autoscaling', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Auto Scaling Plans', 'serviceId' => 'Auto Scaling Plans', 'signatureVersion' => 'v4', 'signingName' => 'autoscaling-plans', 'targetPrefix' => 'AnyScaleScalingPlannerFrontendService', 'uid' => 'autoscaling-plans-2018-01-06', ], 'operations' => [ 'CreateScalingPlan' => [ 'name' => 'CreateScalingPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateScalingPlanRequest', ], 'output' => [ 'shape' => 'CreateScalingPlanResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteScalingPlan' => [ 'name' => 'DeleteScalingPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteScalingPlanRequest', ], 'output' => [ 'shape' => 'DeleteScalingPlanResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScalingPlanResources' => [ 'name' => 'DescribeScalingPlanResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingPlanResourcesRequest', ], 'output' => [ 'shape' => 'DescribeScalingPlanResourcesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeScalingPlans' => [ 'name' => 'DescribeScalingPlans', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingPlansRequest', ], 'output' => [ 'shape' => 'DescribeScalingPlansResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'GetScalingPlanResourceForecastData' => [ 'name' => 'GetScalingPlanResourceForecastData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetScalingPlanResourceForecastDataRequest', ], 'output' => [ 'shape' => 'GetScalingPlanResourceForecastDataResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateScalingPlan' => [ 'name' => 'UpdateScalingPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateScalingPlanRequest', ], 'output' => [ 'shape' => 'UpdateScalingPlanResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ConcurrentUpdateException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ObjectNotFoundException', ], ], ], ], 'shapes' => [ 'ApplicationSource' => [ 'type' => 'structure', 'members' => [ 'CloudFormationStackARN' => [ 'shape' => 'XmlString', ], 'TagFilters' => [ 'shape' => 'TagFilters', ], ], ], 'ApplicationSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationSource', ], ], 'ConcurrentUpdateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Cooldown' => [ 'type' => 'integer', ], 'CreateScalingPlanRequest' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ApplicationSource', 'ScalingInstructions', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ApplicationSource' => [ 'shape' => 'ApplicationSource', ], 'ScalingInstructions' => [ 'shape' => 'ScalingInstructions', ], ], ], 'CreateScalingPlanResponse' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanVersion', ], 'members' => [ 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], ], ], 'CustomizedLoadMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'MetricNamespace', ], 'Dimensions' => [ 'shape' => 'MetricDimensions', ], 'Statistic' => [ 'shape' => 'MetricStatistic', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], 'CustomizedScalingMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'MetricNamespace', ], 'Dimensions' => [ 'shape' => 'MetricDimensions', ], 'Statistic' => [ 'shape' => 'MetricStatistic', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], 'Datapoint' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'TimestampType', ], 'Value' => [ 'shape' => 'MetricScale', ], ], ], 'Datapoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'Datapoint', ], ], 'DeleteScalingPlanRequest' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], ], ], 'DeleteScalingPlanResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeScalingPlanResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeScalingPlanResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'ScalingPlanResources' => [ 'shape' => 'ScalingPlanResources', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeScalingPlansRequest' => [ 'type' => 'structure', 'members' => [ 'ScalingPlanNames' => [ 'shape' => 'ScalingPlanNames', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'ApplicationSources' => [ 'shape' => 'ApplicationSources', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeScalingPlansResponse' => [ 'type' => 'structure', 'members' => [ 'ScalingPlans' => [ 'shape' => 'ScalingPlans', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DisableDynamicScaling' => [ 'type' => 'boolean', ], 'DisableScaleIn' => [ 'type' => 'boolean', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ForecastDataType' => [ 'type' => 'string', 'enum' => [ 'CapacityForecast', 'LoadForecast', 'ScheduledActionMinCapacity', 'ScheduledActionMaxCapacity', ], ], 'GetScalingPlanResourceForecastDataRequest' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'ForecastDataType', 'StartTime', 'EndTime', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'XmlString', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'ForecastDataType' => [ 'shape' => 'ForecastDataType', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], ], ], 'GetScalingPlanResourceForecastDataResponse' => [ 'type' => 'structure', 'required' => [ 'Datapoints', ], 'members' => [ 'Datapoints' => [ 'shape' => 'Datapoints', ], ], ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LoadMetricType' => [ 'type' => 'string', 'enum' => [ 'ASGTotalCPUUtilization', 'ASGTotalNetworkIn', 'ASGTotalNetworkOut', 'ALBTargetGroupRequestCount', ], ], 'MaxResults' => [ 'type' => 'integer', ], 'MetricDimension' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'MetricDimensionName', ], 'Value' => [ 'shape' => 'MetricDimensionValue', ], ], ], 'MetricDimensionName' => [ 'type' => 'string', ], 'MetricDimensionValue' => [ 'type' => 'string', ], 'MetricDimensions' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDimension', ], ], 'MetricName' => [ 'type' => 'string', ], 'MetricNamespace' => [ 'type' => 'string', ], 'MetricScale' => [ 'type' => 'double', ], 'MetricStatistic' => [ 'type' => 'string', 'enum' => [ 'Average', 'Minimum', 'Maximum', 'SampleCount', 'Sum', ], ], 'MetricUnit' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', ], 'ObjectNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PolicyName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '\\p{Print}+', ], 'PolicyType' => [ 'type' => 'string', 'enum' => [ 'TargetTrackingScaling', ], ], 'PredefinedLoadMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'PredefinedLoadMetricType', ], 'members' => [ 'PredefinedLoadMetricType' => [ 'shape' => 'LoadMetricType', ], 'ResourceLabel' => [ 'shape' => 'ResourceLabel', ], ], ], 'PredefinedScalingMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'PredefinedScalingMetricType', ], 'members' => [ 'PredefinedScalingMetricType' => [ 'shape' => 'ScalingMetricType', ], 'ResourceLabel' => [ 'shape' => 'ResourceLabel', ], ], ], 'PredictiveScalingMaxCapacityBehavior' => [ 'type' => 'string', 'enum' => [ 'SetForecastCapacityToMaxCapacity', 'SetMaxCapacityToForecastCapacity', 'SetMaxCapacityAboveForecastCapacity', ], ], 'PredictiveScalingMode' => [ 'type' => 'string', 'enum' => [ 'ForecastAndScale', 'ForecastOnly', ], ], 'ResourceCapacity' => [ 'type' => 'integer', ], 'ResourceIdMaxLen1600' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'ResourceLabel' => [ 'type' => 'string', 'max' => 1023, 'min' => 1, ], 'ScalableDimension' => [ 'type' => 'string', 'enum' => [ 'autoscaling:autoScalingGroup:DesiredCapacity', 'ecs:service:DesiredCount', 'ec2:spot-fleet-request:TargetCapacity', 'rds:cluster:ReadReplicaCount', 'dynamodb:table:ReadCapacityUnits', 'dynamodb:table:WriteCapacityUnits', 'dynamodb:index:ReadCapacityUnits', 'dynamodb:index:WriteCapacityUnits', ], ], 'ScalingInstruction' => [ 'type' => 'structure', 'required' => [ 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'MinCapacity', 'MaxCapacity', 'TargetTrackingConfigurations', ], 'members' => [ 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'MinCapacity' => [ 'shape' => 'ResourceCapacity', ], 'MaxCapacity' => [ 'shape' => 'ResourceCapacity', ], 'TargetTrackingConfigurations' => [ 'shape' => 'TargetTrackingConfigurations', ], 'PredefinedLoadMetricSpecification' => [ 'shape' => 'PredefinedLoadMetricSpecification', ], 'CustomizedLoadMetricSpecification' => [ 'shape' => 'CustomizedLoadMetricSpecification', ], 'ScheduledActionBufferTime' => [ 'shape' => 'ScheduledActionBufferTime', ], 'PredictiveScalingMaxCapacityBehavior' => [ 'shape' => 'PredictiveScalingMaxCapacityBehavior', ], 'PredictiveScalingMaxCapacityBuffer' => [ 'shape' => 'ResourceCapacity', ], 'PredictiveScalingMode' => [ 'shape' => 'PredictiveScalingMode', ], 'ScalingPolicyUpdateBehavior' => [ 'shape' => 'ScalingPolicyUpdateBehavior', ], 'DisableDynamicScaling' => [ 'shape' => 'DisableDynamicScaling', ], ], ], 'ScalingInstructions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingInstruction', ], ], 'ScalingMetricType' => [ 'type' => 'string', 'enum' => [ 'ASGAverageCPUUtilization', 'ASGAverageNetworkIn', 'ASGAverageNetworkOut', 'DynamoDBReadCapacityUtilization', 'DynamoDBWriteCapacityUtilization', 'ECSServiceAverageCPUUtilization', 'ECSServiceAverageMemoryUtilization', 'ALBRequestCountPerTarget', 'RDSReaderAverageCPUUtilization', 'RDSReaderAverageDatabaseConnections', 'EC2SpotFleetRequestAverageCPUUtilization', 'EC2SpotFleetRequestAverageNetworkIn', 'EC2SpotFleetRequestAverageNetworkOut', ], ], 'ScalingPlan' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', 'ApplicationSource', 'ScalingInstructions', 'StatusCode', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'ApplicationSource' => [ 'shape' => 'ApplicationSource', ], 'ScalingInstructions' => [ 'shape' => 'ScalingInstructions', ], 'StatusCode' => [ 'shape' => 'ScalingPlanStatusCode', ], 'StatusMessage' => [ 'shape' => 'XmlString', ], 'StatusStartTime' => [ 'shape' => 'TimestampType', ], 'CreationTime' => [ 'shape' => 'TimestampType', ], ], ], 'ScalingPlanName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{Print}&&[^|:/]]+', ], 'ScalingPlanNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPlanName', ], ], 'ScalingPlanResource' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', 'ServiceNamespace', 'ResourceId', 'ScalableDimension', 'ScalingStatusCode', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'ServiceNamespace' => [ 'shape' => 'ServiceNamespace', ], 'ResourceId' => [ 'shape' => 'ResourceIdMaxLen1600', ], 'ScalableDimension' => [ 'shape' => 'ScalableDimension', ], 'ScalingPolicies' => [ 'shape' => 'ScalingPolicies', ], 'ScalingStatusCode' => [ 'shape' => 'ScalingStatusCode', ], 'ScalingStatusMessage' => [ 'shape' => 'XmlString', ], ], ], 'ScalingPlanResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPlanResource', ], ], 'ScalingPlanStatusCode' => [ 'type' => 'string', 'enum' => [ 'Active', 'ActiveWithProblems', 'CreationInProgress', 'CreationFailed', 'DeletionInProgress', 'DeletionFailed', 'UpdateInProgress', 'UpdateFailed', ], ], 'ScalingPlanVersion' => [ 'type' => 'long', ], 'ScalingPlans' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPlan', ], ], 'ScalingPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPolicy', ], ], 'ScalingPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'PolicyType', ], 'members' => [ 'PolicyName' => [ 'shape' => 'PolicyName', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], 'TargetTrackingConfiguration' => [ 'shape' => 'TargetTrackingConfiguration', ], ], ], 'ScalingPolicyUpdateBehavior' => [ 'type' => 'string', 'enum' => [ 'KeepExternalPolicies', 'ReplaceExternalPolicies', ], ], 'ScalingStatusCode' => [ 'type' => 'string', 'enum' => [ 'Inactive', 'PartiallyActive', 'Active', ], ], 'ScheduledActionBufferTime' => [ 'type' => 'integer', 'min' => 0, ], 'ServiceNamespace' => [ 'type' => 'string', 'enum' => [ 'autoscaling', 'ecs', 'ec2', 'rds', 'dynamodb', ], ], 'TagFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'XmlStringMaxLen128', ], 'Values' => [ 'shape' => 'TagValues', ], ], ], 'TagFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], ], 'TagValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], 'TargetTrackingConfiguration' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'PredefinedScalingMetricSpecification' => [ 'shape' => 'PredefinedScalingMetricSpecification', ], 'CustomizedScalingMetricSpecification' => [ 'shape' => 'CustomizedScalingMetricSpecification', ], 'TargetValue' => [ 'shape' => 'MetricScale', ], 'DisableScaleIn' => [ 'shape' => 'DisableScaleIn', ], 'ScaleOutCooldown' => [ 'shape' => 'Cooldown', ], 'ScaleInCooldown' => [ 'shape' => 'Cooldown', ], 'EstimatedInstanceWarmup' => [ 'shape' => 'Cooldown', ], ], ], 'TargetTrackingConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetTrackingConfiguration', ], ], 'TimestampType' => [ 'type' => 'timestamp', ], 'UpdateScalingPlanRequest' => [ 'type' => 'structure', 'required' => [ 'ScalingPlanName', 'ScalingPlanVersion', ], 'members' => [ 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], 'ApplicationSource' => [ 'shape' => 'ApplicationSource', ], 'ScalingInstructions' => [ 'shape' => 'ScalingInstructions', ], ], ], 'UpdateScalingPlanResponse' => [ 'type' => 'structure', 'members' => [], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'XmlString' => [ 'type' => 'string', 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen128' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen256' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], ],]; diff --git a/lib/aws/Aws/data/autoscaling-plans/2018-01-06/paginators-1.json.php b/lib/aws/Aws/data/autoscaling-plans/2018-01-06/paginators-1.json.php new file mode 100644 index 0000000..5c25f72 --- /dev/null +++ b/lib/aws/Aws/data/autoscaling-plans/2018-01-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling-plans/2018-01-06/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/autoscaling/2011-01-01/api-2.json.php b/lib/aws/Aws/data/autoscaling/2011-01-01/api-2.json.php new file mode 100644 index 0000000..6a96618 --- /dev/null +++ b/lib/aws/Aws/data/autoscaling/2011-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling/2011-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2011-01-01', 'endpointPrefix' => 'autoscaling', 'protocol' => 'query', 'serviceFullName' => 'Auto Scaling', 'serviceId' => 'Auto Scaling', 'signatureVersion' => 'v4', 'uid' => 'autoscaling-2011-01-01', 'xmlNamespace' => 'http://autoscaling.amazonaws.com/doc/2011-01-01/', ], 'operations' => [ 'AttachInstances' => [ 'name' => 'AttachInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInstancesQuery', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'AttachLoadBalancerTargetGroups' => [ 'name' => 'AttachLoadBalancerTargetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachLoadBalancerTargetGroupsType', ], 'output' => [ 'shape' => 'AttachLoadBalancerTargetGroupsResultType', 'resultWrapper' => 'AttachLoadBalancerTargetGroupsResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'AttachLoadBalancers' => [ 'name' => 'AttachLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachLoadBalancersType', ], 'output' => [ 'shape' => 'AttachLoadBalancersResultType', 'resultWrapper' => 'AttachLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'BatchDeleteScheduledAction' => [ 'name' => 'BatchDeleteScheduledAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteScheduledActionType', ], 'output' => [ 'shape' => 'BatchDeleteScheduledActionAnswer', 'resultWrapper' => 'BatchDeleteScheduledActionResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'BatchPutScheduledUpdateGroupAction' => [ 'name' => 'BatchPutScheduledUpdateGroupAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchPutScheduledUpdateGroupActionType', ], 'output' => [ 'shape' => 'BatchPutScheduledUpdateGroupActionAnswer', 'resultWrapper' => 'BatchPutScheduledUpdateGroupActionResult', ], 'errors' => [ [ 'shape' => 'AlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'CompleteLifecycleAction' => [ 'name' => 'CompleteLifecycleAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CompleteLifecycleActionType', ], 'output' => [ 'shape' => 'CompleteLifecycleActionAnswer', 'resultWrapper' => 'CompleteLifecycleActionResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'CreateAutoScalingGroup' => [ 'name' => 'CreateAutoScalingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAutoScalingGroupType', ], 'errors' => [ [ 'shape' => 'AlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'CreateLaunchConfiguration' => [ 'name' => 'CreateLaunchConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLaunchConfigurationType', ], 'errors' => [ [ 'shape' => 'AlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'CreateOrUpdateTags' => [ 'name' => 'CreateOrUpdateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOrUpdateTagsType', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'AlreadyExistsFault', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ResourceInUseFault', ], ], ], 'DeleteAutoScalingGroup' => [ 'name' => 'DeleteAutoScalingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAutoScalingGroupType', ], 'errors' => [ [ 'shape' => 'ScalingActivityInProgressFault', ], [ 'shape' => 'ResourceInUseFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DeleteLaunchConfiguration' => [ 'name' => 'DeleteLaunchConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LaunchConfigurationNameType', ], 'errors' => [ [ 'shape' => 'ResourceInUseFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DeleteLifecycleHook' => [ 'name' => 'DeleteLifecycleHook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLifecycleHookType', ], 'output' => [ 'shape' => 'DeleteLifecycleHookAnswer', 'resultWrapper' => 'DeleteLifecycleHookResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DeleteNotificationConfiguration' => [ 'name' => 'DeleteNotificationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotificationConfigurationType', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyType', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'DeleteScheduledAction' => [ 'name' => 'DeleteScheduledAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteScheduledActionType', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsType', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ResourceInUseFault', ], ], ], 'DescribeAccountLimits' => [ 'name' => 'DescribeAccountLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeAccountLimitsAnswer', 'resultWrapper' => 'DescribeAccountLimitsResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeAdjustmentTypes' => [ 'name' => 'DescribeAdjustmentTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeAdjustmentTypesAnswer', 'resultWrapper' => 'DescribeAdjustmentTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeAutoScalingGroups' => [ 'name' => 'DescribeAutoScalingGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AutoScalingGroupNamesType', ], 'output' => [ 'shape' => 'AutoScalingGroupsType', 'resultWrapper' => 'DescribeAutoScalingGroupsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeAutoScalingInstances' => [ 'name' => 'DescribeAutoScalingInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAutoScalingInstancesType', ], 'output' => [ 'shape' => 'AutoScalingInstancesType', 'resultWrapper' => 'DescribeAutoScalingInstancesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeAutoScalingNotificationTypes' => [ 'name' => 'DescribeAutoScalingNotificationTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeAutoScalingNotificationTypesAnswer', 'resultWrapper' => 'DescribeAutoScalingNotificationTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeLaunchConfigurations' => [ 'name' => 'DescribeLaunchConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LaunchConfigurationNamesType', ], 'output' => [ 'shape' => 'LaunchConfigurationsType', 'resultWrapper' => 'DescribeLaunchConfigurationsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeLifecycleHookTypes' => [ 'name' => 'DescribeLifecycleHookTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeLifecycleHookTypesAnswer', 'resultWrapper' => 'DescribeLifecycleHookTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeLifecycleHooks' => [ 'name' => 'DescribeLifecycleHooks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLifecycleHooksType', ], 'output' => [ 'shape' => 'DescribeLifecycleHooksAnswer', 'resultWrapper' => 'DescribeLifecycleHooksResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeLoadBalancerTargetGroups' => [ 'name' => 'DescribeLoadBalancerTargetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancerTargetGroupsRequest', ], 'output' => [ 'shape' => 'DescribeLoadBalancerTargetGroupsResponse', 'resultWrapper' => 'DescribeLoadBalancerTargetGroupsResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeLoadBalancers' => [ 'name' => 'DescribeLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancersRequest', ], 'output' => [ 'shape' => 'DescribeLoadBalancersResponse', 'resultWrapper' => 'DescribeLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeMetricCollectionTypes' => [ 'name' => 'DescribeMetricCollectionTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeMetricCollectionTypesAnswer', 'resultWrapper' => 'DescribeMetricCollectionTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeNotificationConfigurations' => [ 'name' => 'DescribeNotificationConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNotificationConfigurationsType', ], 'output' => [ 'shape' => 'DescribeNotificationConfigurationsAnswer', 'resultWrapper' => 'DescribeNotificationConfigurationsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribePolicies' => [ 'name' => 'DescribePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePoliciesType', ], 'output' => [ 'shape' => 'PoliciesType', 'resultWrapper' => 'DescribePoliciesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'DescribeScalingActivities' => [ 'name' => 'DescribeScalingActivities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingActivitiesType', ], 'output' => [ 'shape' => 'ActivitiesType', 'resultWrapper' => 'DescribeScalingActivitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeScalingProcessTypes' => [ 'name' => 'DescribeScalingProcessTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ProcessesType', 'resultWrapper' => 'DescribeScalingProcessTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeScheduledActions' => [ 'name' => 'DescribeScheduledActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledActionsType', ], 'output' => [ 'shape' => 'ScheduledActionsType', 'resultWrapper' => 'DescribeScheduledActionsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsType', ], 'output' => [ 'shape' => 'TagsType', 'resultWrapper' => 'DescribeTagsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'DescribeTerminationPolicyTypes' => [ 'name' => 'DescribeTerminationPolicyTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeTerminationPolicyTypesAnswer', 'resultWrapper' => 'DescribeTerminationPolicyTypesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DetachInstances' => [ 'name' => 'DetachInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInstancesQuery', ], 'output' => [ 'shape' => 'DetachInstancesAnswer', 'resultWrapper' => 'DetachInstancesResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DetachLoadBalancerTargetGroups' => [ 'name' => 'DetachLoadBalancerTargetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachLoadBalancerTargetGroupsType', ], 'output' => [ 'shape' => 'DetachLoadBalancerTargetGroupsResultType', 'resultWrapper' => 'DetachLoadBalancerTargetGroupsResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DetachLoadBalancers' => [ 'name' => 'DetachLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachLoadBalancersType', ], 'output' => [ 'shape' => 'DetachLoadBalancersResultType', 'resultWrapper' => 'DetachLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'DisableMetricsCollection' => [ 'name' => 'DisableMetricsCollection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableMetricsCollectionQuery', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'EnableMetricsCollection' => [ 'name' => 'EnableMetricsCollection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableMetricsCollectionQuery', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'EnterStandby' => [ 'name' => 'EnterStandby', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnterStandbyQuery', ], 'output' => [ 'shape' => 'EnterStandbyAnswer', 'resultWrapper' => 'EnterStandbyResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'ExecutePolicy' => [ 'name' => 'ExecutePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecutePolicyType', ], 'errors' => [ [ 'shape' => 'ScalingActivityInProgressFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'ExitStandby' => [ 'name' => 'ExitStandby', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExitStandbyQuery', ], 'output' => [ 'shape' => 'ExitStandbyAnswer', 'resultWrapper' => 'ExitStandbyResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'PutLifecycleHook' => [ 'name' => 'PutLifecycleHook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLifecycleHookType', ], 'output' => [ 'shape' => 'PutLifecycleHookAnswer', 'resultWrapper' => 'PutLifecycleHookResult', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'PutNotificationConfiguration' => [ 'name' => 'PutNotificationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutNotificationConfigurationType', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'PutScalingPolicy' => [ 'name' => 'PutScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutScalingPolicyType', ], 'output' => [ 'shape' => 'PolicyARNType', 'resultWrapper' => 'PutScalingPolicyResult', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], 'PutScheduledUpdateGroupAction' => [ 'name' => 'PutScheduledUpdateGroupAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutScheduledUpdateGroupActionType', ], 'errors' => [ [ 'shape' => 'AlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'RecordLifecycleActionHeartbeat' => [ 'name' => 'RecordLifecycleActionHeartbeat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RecordLifecycleActionHeartbeatType', ], 'output' => [ 'shape' => 'RecordLifecycleActionHeartbeatAnswer', 'resultWrapper' => 'RecordLifecycleActionHeartbeatResult', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'ResumeProcesses' => [ 'name' => 'ResumeProcesses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScalingProcessQuery', ], 'errors' => [ [ 'shape' => 'ResourceInUseFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'SetDesiredCapacity' => [ 'name' => 'SetDesiredCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetDesiredCapacityType', ], 'errors' => [ [ 'shape' => 'ScalingActivityInProgressFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'SetInstanceHealth' => [ 'name' => 'SetInstanceHealth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetInstanceHealthQuery', ], 'errors' => [ [ 'shape' => 'ResourceContentionFault', ], ], ], 'SetInstanceProtection' => [ 'name' => 'SetInstanceProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetInstanceProtectionQuery', ], 'output' => [ 'shape' => 'SetInstanceProtectionAnswer', 'resultWrapper' => 'SetInstanceProtectionResult', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'SuspendProcesses' => [ 'name' => 'SuspendProcesses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScalingProcessQuery', ], 'errors' => [ [ 'shape' => 'ResourceInUseFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'TerminateInstanceInAutoScalingGroup' => [ 'name' => 'TerminateInstanceInAutoScalingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateInstanceInAutoScalingGroupType', ], 'output' => [ 'shape' => 'ActivityType', 'resultWrapper' => 'TerminateInstanceInAutoScalingGroupResult', ], 'errors' => [ [ 'shape' => 'ScalingActivityInProgressFault', ], [ 'shape' => 'ResourceContentionFault', ], ], ], 'UpdateAutoScalingGroup' => [ 'name' => 'UpdateAutoScalingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAutoScalingGroupType', ], 'errors' => [ [ 'shape' => 'ScalingActivityInProgressFault', ], [ 'shape' => 'ResourceContentionFault', ], [ 'shape' => 'ServiceLinkedRoleFailure', ], ], ], ], 'shapes' => [ 'Activities' => [ 'type' => 'list', 'member' => [ 'shape' => 'Activity', ], ], 'ActivitiesType' => [ 'type' => 'structure', 'required' => [ 'Activities', ], 'members' => [ 'Activities' => [ 'shape' => 'Activities', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'Activity' => [ 'type' => 'structure', 'required' => [ 'ActivityId', 'AutoScalingGroupName', 'Cause', 'StartTime', 'StatusCode', ], 'members' => [ 'ActivityId' => [ 'shape' => 'XmlString', ], 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'Description' => [ 'shape' => 'XmlString', ], 'Cause' => [ 'shape' => 'XmlStringMaxLen1023', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'StatusCode' => [ 'shape' => 'ScalingActivityStatusCode', ], 'StatusMessage' => [ 'shape' => 'XmlStringMaxLen255', ], 'Progress' => [ 'shape' => 'Progress', ], 'Details' => [ 'shape' => 'XmlString', ], ], ], 'ActivityIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlString', ], ], 'ActivityType' => [ 'type' => 'structure', 'members' => [ 'Activity' => [ 'shape' => 'Activity', ], ], ], 'AdjustmentType' => [ 'type' => 'structure', 'members' => [ 'AdjustmentType' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'AdjustmentTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'AdjustmentType', ], ], 'Alarm' => [ 'type' => 'structure', 'members' => [ 'AlarmName' => [ 'shape' => 'XmlStringMaxLen255', ], 'AlarmARN' => [ 'shape' => 'ResourceName', ], ], ], 'Alarms' => [ 'type' => 'list', 'member' => [ 'shape' => 'Alarm', ], ], 'AlreadyExistsFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'AlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AsciiStringMaxLen255' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[A-Za-z0-9\\-_\\/]+', ], 'AssociatePublicIpAddress' => [ 'type' => 'boolean', ], 'AttachInstancesQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], ], ], 'AttachLoadBalancerTargetGroupsResultType' => [ 'type' => 'structure', 'members' => [], ], 'AttachLoadBalancerTargetGroupsType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'TargetGroupARNs', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'TargetGroupARNs' => [ 'shape' => 'TargetGroupARNs', ], ], ], 'AttachLoadBalancersResultType' => [ 'type' => 'structure', 'members' => [], ], 'AttachLoadBalancersType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'LoadBalancerNames', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], ], ], 'AutoScalingGroup' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'MinSize', 'MaxSize', 'DesiredCapacity', 'DefaultCooldown', 'AvailabilityZones', 'HealthCheckType', 'CreatedTime', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'AutoScalingGroupARN' => [ 'shape' => 'ResourceName', ], 'LaunchConfigurationName' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'MixedInstancesPolicy' => [ 'shape' => 'MixedInstancesPolicy', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], 'DefaultCooldown' => [ 'shape' => 'Cooldown', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], 'TargetGroupARNs' => [ 'shape' => 'TargetGroupARNs', ], 'HealthCheckType' => [ 'shape' => 'XmlStringMaxLen32', ], 'HealthCheckGracePeriod' => [ 'shape' => 'HealthCheckGracePeriod', ], 'Instances' => [ 'shape' => 'Instances', ], 'CreatedTime' => [ 'shape' => 'TimestampType', ], 'SuspendedProcesses' => [ 'shape' => 'SuspendedProcesses', ], 'PlacementGroup' => [ 'shape' => 'XmlStringMaxLen255', ], 'VPCZoneIdentifier' => [ 'shape' => 'XmlStringMaxLen2047', ], 'EnabledMetrics' => [ 'shape' => 'EnabledMetrics', ], 'Status' => [ 'shape' => 'XmlStringMaxLen255', ], 'Tags' => [ 'shape' => 'TagDescriptionList', ], 'TerminationPolicies' => [ 'shape' => 'TerminationPolicies', ], 'NewInstancesProtectedFromScaleIn' => [ 'shape' => 'InstanceProtected', ], 'ServiceLinkedRoleARN' => [ 'shape' => 'ResourceName', ], ], ], 'AutoScalingGroupDesiredCapacity' => [ 'type' => 'integer', ], 'AutoScalingGroupMaxSize' => [ 'type' => 'integer', ], 'AutoScalingGroupMinSize' => [ 'type' => 'integer', ], 'AutoScalingGroupNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'AutoScalingGroupNamesType' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupNames' => [ 'shape' => 'AutoScalingGroupNames', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'AutoScalingGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingGroup', ], ], 'AutoScalingGroupsType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroups', ], 'members' => [ 'AutoScalingGroups' => [ 'shape' => 'AutoScalingGroups', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'AutoScalingInstanceDetails' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'AutoScalingGroupName', 'AvailabilityZone', 'LifecycleState', 'HealthStatus', 'ProtectedFromScaleIn', ], 'members' => [ 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'AvailabilityZone' => [ 'shape' => 'XmlStringMaxLen255', ], 'LifecycleState' => [ 'shape' => 'XmlStringMaxLen32', ], 'HealthStatus' => [ 'shape' => 'XmlStringMaxLen32', ], 'LaunchConfigurationName' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'ProtectedFromScaleIn' => [ 'shape' => 'InstanceProtected', ], ], ], 'AutoScalingInstances' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingInstanceDetails', ], ], 'AutoScalingInstancesType' => [ 'type' => 'structure', 'members' => [ 'AutoScalingInstances' => [ 'shape' => 'AutoScalingInstances', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'AutoScalingNotificationTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], 'min' => 1, ], 'BatchDeleteScheduledActionAnswer' => [ 'type' => 'structure', 'members' => [ 'FailedScheduledActions' => [ 'shape' => 'FailedScheduledUpdateGroupActionRequests', ], ], ], 'BatchDeleteScheduledActionType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ScheduledActionNames', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScheduledActionNames' => [ 'shape' => 'ScheduledActionNames', ], ], ], 'BatchPutScheduledUpdateGroupActionAnswer' => [ 'type' => 'structure', 'members' => [ 'FailedScheduledUpdateGroupActions' => [ 'shape' => 'FailedScheduledUpdateGroupActionRequests', ], ], ], 'BatchPutScheduledUpdateGroupActionType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ScheduledUpdateGroupActions', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScheduledUpdateGroupActions' => [ 'shape' => 'ScheduledUpdateGroupActionRequests', ], ], ], 'BlockDeviceEbsDeleteOnTermination' => [ 'type' => 'boolean', ], 'BlockDeviceEbsEncrypted' => [ 'type' => 'boolean', ], 'BlockDeviceEbsIops' => [ 'type' => 'integer', 'max' => 20000, 'min' => 100, ], 'BlockDeviceEbsVolumeSize' => [ 'type' => 'integer', 'max' => 16384, 'min' => 1, ], 'BlockDeviceEbsVolumeType' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'required' => [ 'DeviceName', ], 'members' => [ 'VirtualName' => [ 'shape' => 'XmlStringMaxLen255', ], 'DeviceName' => [ 'shape' => 'XmlStringMaxLen255', ], 'Ebs' => [ 'shape' => 'Ebs', ], 'NoDevice' => [ 'shape' => 'NoDevice', ], ], ], 'BlockDeviceMappings' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', ], ], 'ClassicLinkVPCSecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'CompleteLifecycleActionAnswer' => [ 'type' => 'structure', 'members' => [], ], 'CompleteLifecycleActionType' => [ 'type' => 'structure', 'required' => [ 'LifecycleHookName', 'AutoScalingGroupName', 'LifecycleActionResult', ], 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LifecycleActionToken' => [ 'shape' => 'LifecycleActionToken', ], 'LifecycleActionResult' => [ 'shape' => 'LifecycleActionResult', ], 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], ], ], 'Cooldown' => [ 'type' => 'integer', ], 'CreateAutoScalingGroupType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'MinSize', 'MaxSize', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchConfigurationName' => [ 'shape' => 'ResourceName', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'MixedInstancesPolicy' => [ 'shape' => 'MixedInstancesPolicy', ], 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], 'DefaultCooldown' => [ 'shape' => 'Cooldown', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], 'TargetGroupARNs' => [ 'shape' => 'TargetGroupARNs', ], 'HealthCheckType' => [ 'shape' => 'XmlStringMaxLen32', ], 'HealthCheckGracePeriod' => [ 'shape' => 'HealthCheckGracePeriod', ], 'PlacementGroup' => [ 'shape' => 'XmlStringMaxLen255', ], 'VPCZoneIdentifier' => [ 'shape' => 'XmlStringMaxLen2047', ], 'TerminationPolicies' => [ 'shape' => 'TerminationPolicies', ], 'NewInstancesProtectedFromScaleIn' => [ 'shape' => 'InstanceProtected', ], 'LifecycleHookSpecificationList' => [ 'shape' => 'LifecycleHookSpecifications', ], 'Tags' => [ 'shape' => 'Tags', ], 'ServiceLinkedRoleARN' => [ 'shape' => 'ResourceName', ], ], ], 'CreateLaunchConfigurationType' => [ 'type' => 'structure', 'required' => [ 'LaunchConfigurationName', ], 'members' => [ 'LaunchConfigurationName' => [ 'shape' => 'XmlStringMaxLen255', ], 'ImageId' => [ 'shape' => 'XmlStringMaxLen255', ], 'KeyName' => [ 'shape' => 'XmlStringMaxLen255', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'ClassicLinkVPCId' => [ 'shape' => 'XmlStringMaxLen255', ], 'ClassicLinkVPCSecurityGroups' => [ 'shape' => 'ClassicLinkVPCSecurityGroups', ], 'UserData' => [ 'shape' => 'XmlStringUserData', ], 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'InstanceType' => [ 'shape' => 'XmlStringMaxLen255', ], 'KernelId' => [ 'shape' => 'XmlStringMaxLen255', ], 'RamdiskId' => [ 'shape' => 'XmlStringMaxLen255', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappings', ], 'InstanceMonitoring' => [ 'shape' => 'InstanceMonitoring', ], 'SpotPrice' => [ 'shape' => 'SpotPrice', ], 'IamInstanceProfile' => [ 'shape' => 'XmlStringMaxLen1600', ], 'EbsOptimized' => [ 'shape' => 'EbsOptimized', ], 'AssociatePublicIpAddress' => [ 'shape' => 'AssociatePublicIpAddress', ], 'PlacementTenancy' => [ 'shape' => 'XmlStringMaxLen64', ], ], ], 'CreateOrUpdateTagsType' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CustomizedMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'MetricNamespace', ], 'Dimensions' => [ 'shape' => 'MetricDimensions', ], 'Statistic' => [ 'shape' => 'MetricStatistic', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], 'DeleteAutoScalingGroupType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ForceDelete' => [ 'shape' => 'ForceDelete', ], ], ], 'DeleteLifecycleHookAnswer' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLifecycleHookType' => [ 'type' => 'structure', 'required' => [ 'LifecycleHookName', 'AutoScalingGroupName', ], 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteNotificationConfigurationType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'TopicARN', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'TopicARN' => [ 'shape' => 'ResourceName', ], ], ], 'DeletePolicyType' => [ 'type' => 'structure', 'required' => [ 'PolicyName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteScheduledActionType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ScheduledActionName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScheduledActionName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteTagsType' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DescribeAccountLimitsAnswer' => [ 'type' => 'structure', 'members' => [ 'MaxNumberOfAutoScalingGroups' => [ 'shape' => 'MaxNumberOfAutoScalingGroups', ], 'MaxNumberOfLaunchConfigurations' => [ 'shape' => 'MaxNumberOfLaunchConfigurations', ], 'NumberOfAutoScalingGroups' => [ 'shape' => 'NumberOfAutoScalingGroups', ], 'NumberOfLaunchConfigurations' => [ 'shape' => 'NumberOfLaunchConfigurations', ], ], ], 'DescribeAdjustmentTypesAnswer' => [ 'type' => 'structure', 'members' => [ 'AdjustmentTypes' => [ 'shape' => 'AdjustmentTypes', ], ], ], 'DescribeAutoScalingInstancesType' => [ 'type' => 'structure', 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeAutoScalingNotificationTypesAnswer' => [ 'type' => 'structure', 'members' => [ 'AutoScalingNotificationTypes' => [ 'shape' => 'AutoScalingNotificationTypes', ], ], ], 'DescribeLifecycleHookTypesAnswer' => [ 'type' => 'structure', 'members' => [ 'LifecycleHookTypes' => [ 'shape' => 'AutoScalingNotificationTypes', ], ], ], 'DescribeLifecycleHooksAnswer' => [ 'type' => 'structure', 'members' => [ 'LifecycleHooks' => [ 'shape' => 'LifecycleHooks', ], ], ], 'DescribeLifecycleHooksType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LifecycleHookNames' => [ 'shape' => 'LifecycleHookNames', ], ], ], 'DescribeLoadBalancerTargetGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribeLoadBalancerTargetGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerTargetGroups' => [ 'shape' => 'LoadBalancerTargetGroupStates', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeLoadBalancersRequest' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribeLoadBalancersResponse' => [ 'type' => 'structure', 'members' => [ 'LoadBalancers' => [ 'shape' => 'LoadBalancerStates', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeMetricCollectionTypesAnswer' => [ 'type' => 'structure', 'members' => [ 'Metrics' => [ 'shape' => 'MetricCollectionTypes', ], 'Granularities' => [ 'shape' => 'MetricGranularityTypes', ], ], ], 'DescribeNotificationConfigurationsAnswer' => [ 'type' => 'structure', 'required' => [ 'NotificationConfigurations', ], 'members' => [ 'NotificationConfigurations' => [ 'shape' => 'NotificationConfigurations', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeNotificationConfigurationsType' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupNames' => [ 'shape' => 'AutoScalingGroupNames', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribePoliciesType' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], 'PolicyTypes' => [ 'shape' => 'PolicyTypes', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribeScalingActivitiesType' => [ 'type' => 'structure', 'members' => [ 'ActivityIds' => [ 'shape' => 'ActivityIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'DescribeScheduledActionsType' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScheduledActionNames' => [ 'shape' => 'ScheduledActionNames', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribeTagsType' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'Filters', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'DescribeTerminationPolicyTypesAnswer' => [ 'type' => 'structure', 'members' => [ 'TerminationPolicyTypes' => [ 'shape' => 'TerminationPolicies', ], ], ], 'DetachInstancesAnswer' => [ 'type' => 'structure', 'members' => [ 'Activities' => [ 'shape' => 'Activities', ], ], ], 'DetachInstancesQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ShouldDecrementDesiredCapacity', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ShouldDecrementDesiredCapacity' => [ 'shape' => 'ShouldDecrementDesiredCapacity', ], ], ], 'DetachLoadBalancerTargetGroupsResultType' => [ 'type' => 'structure', 'members' => [], ], 'DetachLoadBalancerTargetGroupsType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'TargetGroupARNs', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'TargetGroupARNs' => [ 'shape' => 'TargetGroupARNs', ], ], ], 'DetachLoadBalancersResultType' => [ 'type' => 'structure', 'members' => [], ], 'DetachLoadBalancersType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'LoadBalancerNames', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], ], ], 'DisableMetricsCollectionQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'Metrics' => [ 'shape' => 'Metrics', ], ], ], 'DisableScaleIn' => [ 'type' => 'boolean', ], 'Ebs' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'XmlStringMaxLen255', ], 'VolumeSize' => [ 'shape' => 'BlockDeviceEbsVolumeSize', ], 'VolumeType' => [ 'shape' => 'BlockDeviceEbsVolumeType', ], 'DeleteOnTermination' => [ 'shape' => 'BlockDeviceEbsDeleteOnTermination', ], 'Iops' => [ 'shape' => 'BlockDeviceEbsIops', ], 'Encrypted' => [ 'shape' => 'BlockDeviceEbsEncrypted', ], ], ], 'EbsOptimized' => [ 'type' => 'boolean', ], 'EnableMetricsCollectionQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'Granularity', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'Metrics' => [ 'shape' => 'Metrics', ], 'Granularity' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'EnabledMetric' => [ 'type' => 'structure', 'members' => [ 'Metric' => [ 'shape' => 'XmlStringMaxLen255', ], 'Granularity' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'EnabledMetrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnabledMetric', ], ], 'EnterStandbyAnswer' => [ 'type' => 'structure', 'members' => [ 'Activities' => [ 'shape' => 'Activities', ], ], ], 'EnterStandbyQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ShouldDecrementDesiredCapacity', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ShouldDecrementDesiredCapacity' => [ 'shape' => 'ShouldDecrementDesiredCapacity', ], ], ], 'EstimatedInstanceWarmup' => [ 'type' => 'integer', ], 'ExecutePolicyType' => [ 'type' => 'structure', 'required' => [ 'PolicyName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'HonorCooldown' => [ 'shape' => 'HonorCooldown', ], 'MetricValue' => [ 'shape' => 'MetricScale', ], 'BreachThreshold' => [ 'shape' => 'MetricScale', ], ], ], 'ExitStandbyAnswer' => [ 'type' => 'structure', 'members' => [ 'Activities' => [ 'shape' => 'Activities', ], ], ], 'ExitStandbyQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], ], ], 'FailedScheduledUpdateGroupActionRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduledActionName', ], 'members' => [ 'ScheduledActionName' => [ 'shape' => 'XmlStringMaxLen255', ], 'ErrorCode' => [ 'shape' => 'XmlStringMaxLen64', ], 'ErrorMessage' => [ 'shape' => 'XmlString', ], ], ], 'FailedScheduledUpdateGroupActionRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedScheduledUpdateGroupActionRequest', ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], 'Values' => [ 'shape' => 'Values', ], ], ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'ForceDelete' => [ 'type' => 'boolean', ], 'GlobalTimeout' => [ 'type' => 'integer', ], 'HealthCheckGracePeriod' => [ 'type' => 'integer', ], 'HeartbeatTimeout' => [ 'type' => 'integer', ], 'HonorCooldown' => [ 'type' => 'boolean', ], 'Instance' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'AvailabilityZone', 'LifecycleState', 'HealthStatus', 'ProtectedFromScaleIn', ], 'members' => [ 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'AvailabilityZone' => [ 'shape' => 'XmlStringMaxLen255', ], 'LifecycleState' => [ 'shape' => 'LifecycleState', ], 'HealthStatus' => [ 'shape' => 'XmlStringMaxLen32', ], 'LaunchConfigurationName' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'ProtectedFromScaleIn' => [ 'shape' => 'InstanceProtected', ], ], ], 'InstanceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen19', ], ], 'InstanceMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'MonitoringEnabled', ], ], ], 'InstanceProtected' => [ 'type' => 'boolean', ], 'Instances' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstancesDistribution' => [ 'type' => 'structure', 'members' => [ 'OnDemandAllocationStrategy' => [ 'shape' => 'XmlString', ], 'OnDemandBaseCapacity' => [ 'shape' => 'OnDemandBaseCapacity', ], 'OnDemandPercentageAboveBaseCapacity' => [ 'shape' => 'OnDemandPercentageAboveBaseCapacity', ], 'SpotAllocationStrategy' => [ 'shape' => 'XmlString', ], 'SpotInstancePools' => [ 'shape' => 'SpotInstancePools', ], 'SpotMaxPrice' => [ 'shape' => 'MixedInstanceSpotPrice', ], ], ], 'InvalidNextToken' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'InvalidNextToken', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LaunchConfiguration' => [ 'type' => 'structure', 'required' => [ 'LaunchConfigurationName', 'ImageId', 'InstanceType', 'CreatedTime', ], 'members' => [ 'LaunchConfigurationName' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchConfigurationARN' => [ 'shape' => 'ResourceName', ], 'ImageId' => [ 'shape' => 'XmlStringMaxLen255', ], 'KeyName' => [ 'shape' => 'XmlStringMaxLen255', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'ClassicLinkVPCId' => [ 'shape' => 'XmlStringMaxLen255', ], 'ClassicLinkVPCSecurityGroups' => [ 'shape' => 'ClassicLinkVPCSecurityGroups', ], 'UserData' => [ 'shape' => 'XmlStringUserData', ], 'InstanceType' => [ 'shape' => 'XmlStringMaxLen255', ], 'KernelId' => [ 'shape' => 'XmlStringMaxLen255', ], 'RamdiskId' => [ 'shape' => 'XmlStringMaxLen255', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappings', ], 'InstanceMonitoring' => [ 'shape' => 'InstanceMonitoring', ], 'SpotPrice' => [ 'shape' => 'SpotPrice', ], 'IamInstanceProfile' => [ 'shape' => 'XmlStringMaxLen1600', ], 'CreatedTime' => [ 'shape' => 'TimestampType', ], 'EbsOptimized' => [ 'shape' => 'EbsOptimized', ], 'AssociatePublicIpAddress' => [ 'shape' => 'AssociatePublicIpAddress', ], 'PlacementTenancy' => [ 'shape' => 'XmlStringMaxLen64', ], ], ], 'LaunchConfigurationNameType' => [ 'type' => 'structure', 'required' => [ 'LaunchConfigurationName', ], 'members' => [ 'LaunchConfigurationName' => [ 'shape' => 'ResourceName', ], ], ], 'LaunchConfigurationNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'LaunchConfigurationNamesType' => [ 'type' => 'structure', 'members' => [ 'LaunchConfigurationNames' => [ 'shape' => 'LaunchConfigurationNames', ], 'NextToken' => [ 'shape' => 'XmlString', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], ], ], 'LaunchConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchConfiguration', ], ], 'LaunchConfigurationsType' => [ 'type' => 'structure', 'required' => [ 'LaunchConfigurations', ], 'members' => [ 'LaunchConfigurations' => [ 'shape' => 'LaunchConfigurations', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'LaunchTemplate' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateSpecification' => [ 'shape' => 'LaunchTemplateSpecification', ], 'Overrides' => [ 'shape' => 'Overrides', ], ], ], 'LaunchTemplateName' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '[a-zA-Z0-9\\(\\)\\.-/_]+', ], 'LaunchTemplateOverrides' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'LaunchTemplateSpecification' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'XmlStringMaxLen255', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'Version' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'LifecycleActionResult' => [ 'type' => 'string', ], 'LifecycleActionToken' => [ 'type' => 'string', 'max' => 36, 'min' => 36, ], 'LifecycleHook' => [ 'type' => 'structure', 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LifecycleTransition' => [ 'shape' => 'LifecycleTransition', ], 'NotificationTargetARN' => [ 'shape' => 'ResourceName', ], 'RoleARN' => [ 'shape' => 'ResourceName', ], 'NotificationMetadata' => [ 'shape' => 'XmlStringMaxLen1023', ], 'HeartbeatTimeout' => [ 'shape' => 'HeartbeatTimeout', ], 'GlobalTimeout' => [ 'shape' => 'GlobalTimeout', ], 'DefaultResult' => [ 'shape' => 'LifecycleActionResult', ], ], ], 'LifecycleHookNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AsciiStringMaxLen255', ], 'max' => 50, ], 'LifecycleHookSpecification' => [ 'type' => 'structure', 'required' => [ 'LifecycleHookName', 'LifecycleTransition', ], 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'LifecycleTransition' => [ 'shape' => 'LifecycleTransition', ], 'NotificationMetadata' => [ 'shape' => 'XmlStringMaxLen1023', ], 'HeartbeatTimeout' => [ 'shape' => 'HeartbeatTimeout', ], 'DefaultResult' => [ 'shape' => 'LifecycleActionResult', ], 'NotificationTargetARN' => [ 'shape' => 'NotificationTargetResourceName', ], 'RoleARN' => [ 'shape' => 'ResourceName', ], ], ], 'LifecycleHookSpecifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecycleHookSpecification', ], ], 'LifecycleHooks' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecycleHook', ], ], 'LifecycleState' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Pending:Wait', 'Pending:Proceed', 'Quarantined', 'InService', 'Terminating', 'Terminating:Wait', 'Terminating:Proceed', 'Terminated', 'Detaching', 'Detached', 'EnteringStandby', 'Standby', ], ], 'LifecycleTransition' => [ 'type' => 'string', ], 'LimitExceededFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LoadBalancerNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'LoadBalancerState' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'XmlStringMaxLen255', ], 'State' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'LoadBalancerStates' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerState', ], ], 'LoadBalancerTargetGroupState' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerTargetGroupARN' => [ 'shape' => 'XmlStringMaxLen511', ], 'State' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'LoadBalancerTargetGroupStates' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerTargetGroupState', ], ], 'MaxNumberOfAutoScalingGroups' => [ 'type' => 'integer', ], 'MaxNumberOfLaunchConfigurations' => [ 'type' => 'integer', ], 'MaxRecords' => [ 'type' => 'integer', ], 'MetricCollectionType' => [ 'type' => 'structure', 'members' => [ 'Metric' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'MetricCollectionTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricCollectionType', ], ], 'MetricDimension' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'MetricDimensionName', ], 'Value' => [ 'shape' => 'MetricDimensionValue', ], ], ], 'MetricDimensionName' => [ 'type' => 'string', ], 'MetricDimensionValue' => [ 'type' => 'string', ], 'MetricDimensions' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDimension', ], ], 'MetricGranularityType' => [ 'type' => 'structure', 'members' => [ 'Granularity' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'MetricGranularityTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricGranularityType', ], ], 'MetricName' => [ 'type' => 'string', ], 'MetricNamespace' => [ 'type' => 'string', ], 'MetricScale' => [ 'type' => 'double', ], 'MetricStatistic' => [ 'type' => 'string', 'enum' => [ 'Average', 'Minimum', 'Maximum', 'SampleCount', 'Sum', ], ], 'MetricType' => [ 'type' => 'string', 'enum' => [ 'ASGAverageCPUUtilization', 'ASGAverageNetworkIn', 'ASGAverageNetworkOut', 'ALBRequestCountPerTarget', ], ], 'MetricUnit' => [ 'type' => 'string', ], 'Metrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'MinAdjustmentMagnitude' => [ 'type' => 'integer', ], 'MinAdjustmentStep' => [ 'type' => 'integer', 'deprecated' => true, ], 'MixedInstanceSpotPrice' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'MixedInstancesPolicy' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplate' => [ 'shape' => 'LaunchTemplate', ], 'InstancesDistribution' => [ 'shape' => 'InstancesDistribution', ], ], ], 'MonitoringEnabled' => [ 'type' => 'boolean', ], 'NoDevice' => [ 'type' => 'boolean', ], 'NotificationConfiguration' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'TopicARN' => [ 'shape' => 'ResourceName', ], 'NotificationType' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'NotificationConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationConfiguration', ], ], 'NotificationTargetResourceName' => [ 'type' => 'string', 'max' => 1600, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'NumberOfAutoScalingGroups' => [ 'type' => 'integer', ], 'NumberOfLaunchConfigurations' => [ 'type' => 'integer', ], 'OnDemandBaseCapacity' => [ 'type' => 'integer', ], 'OnDemandPercentageAboveBaseCapacity' => [ 'type' => 'integer', ], 'Overrides' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateOverrides', ], ], 'PoliciesType' => [ 'type' => 'structure', 'members' => [ 'ScalingPolicies' => [ 'shape' => 'ScalingPolicies', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'PolicyARNType' => [ 'type' => 'structure', 'members' => [ 'PolicyARN' => [ 'shape' => 'ResourceName', ], 'Alarms' => [ 'shape' => 'Alarms', ], ], ], 'PolicyIncrement' => [ 'type' => 'integer', ], 'PolicyNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'PolicyTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen64', ], ], 'PredefinedMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'PredefinedMetricType', ], 'members' => [ 'PredefinedMetricType' => [ 'shape' => 'MetricType', ], 'ResourceLabel' => [ 'shape' => 'XmlStringMaxLen1023', ], ], ], 'ProcessNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'ProcessType' => [ 'type' => 'structure', 'required' => [ 'ProcessName', ], 'members' => [ 'ProcessName' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'Processes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessType', ], ], 'ProcessesType' => [ 'type' => 'structure', 'members' => [ 'Processes' => [ 'shape' => 'Processes', ], ], ], 'Progress' => [ 'type' => 'integer', ], 'PropagateAtLaunch' => [ 'type' => 'boolean', ], 'ProtectedFromScaleIn' => [ 'type' => 'boolean', ], 'PutLifecycleHookAnswer' => [ 'type' => 'structure', 'members' => [], ], 'PutLifecycleHookType' => [ 'type' => 'structure', 'required' => [ 'LifecycleHookName', 'AutoScalingGroupName', ], 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LifecycleTransition' => [ 'shape' => 'LifecycleTransition', ], 'RoleARN' => [ 'shape' => 'ResourceName', ], 'NotificationTargetARN' => [ 'shape' => 'NotificationTargetResourceName', ], 'NotificationMetadata' => [ 'shape' => 'XmlStringMaxLen1023', ], 'HeartbeatTimeout' => [ 'shape' => 'HeartbeatTimeout', ], 'DefaultResult' => [ 'shape' => 'LifecycleActionResult', ], ], ], 'PutNotificationConfigurationType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'TopicARN', 'NotificationTypes', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'TopicARN' => [ 'shape' => 'ResourceName', ], 'NotificationTypes' => [ 'shape' => 'AutoScalingNotificationTypes', ], ], ], 'PutScalingPolicyType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'PolicyName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'PolicyName' => [ 'shape' => 'XmlStringMaxLen255', ], 'PolicyType' => [ 'shape' => 'XmlStringMaxLen64', ], 'AdjustmentType' => [ 'shape' => 'XmlStringMaxLen255', ], 'MinAdjustmentStep' => [ 'shape' => 'MinAdjustmentStep', ], 'MinAdjustmentMagnitude' => [ 'shape' => 'MinAdjustmentMagnitude', ], 'ScalingAdjustment' => [ 'shape' => 'PolicyIncrement', ], 'Cooldown' => [ 'shape' => 'Cooldown', ], 'MetricAggregationType' => [ 'shape' => 'XmlStringMaxLen32', ], 'StepAdjustments' => [ 'shape' => 'StepAdjustments', ], 'EstimatedInstanceWarmup' => [ 'shape' => 'EstimatedInstanceWarmup', ], 'TargetTrackingConfiguration' => [ 'shape' => 'TargetTrackingConfiguration', ], ], ], 'PutScheduledUpdateGroupActionType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'ScheduledActionName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScheduledActionName' => [ 'shape' => 'XmlStringMaxLen255', ], 'Time' => [ 'shape' => 'TimestampType', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'Recurrence' => [ 'shape' => 'XmlStringMaxLen255', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], ], ], 'RecordLifecycleActionHeartbeatAnswer' => [ 'type' => 'structure', 'members' => [], ], 'RecordLifecycleActionHeartbeatType' => [ 'type' => 'structure', 'required' => [ 'LifecycleHookName', 'AutoScalingGroupName', ], 'members' => [ 'LifecycleHookName' => [ 'shape' => 'AsciiStringMaxLen255', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LifecycleActionToken' => [ 'shape' => 'LifecycleActionToken', ], 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], ], ], 'ResourceContentionFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'ResourceContention', 'httpStatusCode' => 500, 'senderFault' => true, ], 'exception' => true, ], 'ResourceInUseFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'ResourceInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ResourceName' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'ScalingActivityInProgressFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'ScalingActivityInProgress', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ScalingActivityStatusCode' => [ 'type' => 'string', 'enum' => [ 'PendingSpotBidPlacement', 'WaitingForSpotInstanceRequestId', 'WaitingForSpotInstanceId', 'WaitingForInstanceId', 'PreInService', 'InProgress', 'WaitingForELBConnectionDraining', 'MidLifecycleAction', 'WaitingForInstanceWarmup', 'Successful', 'Failed', 'Cancelled', ], ], 'ScalingPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPolicy', ], ], 'ScalingPolicy' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'PolicyName' => [ 'shape' => 'XmlStringMaxLen255', ], 'PolicyARN' => [ 'shape' => 'ResourceName', ], 'PolicyType' => [ 'shape' => 'XmlStringMaxLen64', ], 'AdjustmentType' => [ 'shape' => 'XmlStringMaxLen255', ], 'MinAdjustmentStep' => [ 'shape' => 'MinAdjustmentStep', ], 'MinAdjustmentMagnitude' => [ 'shape' => 'MinAdjustmentMagnitude', ], 'ScalingAdjustment' => [ 'shape' => 'PolicyIncrement', ], 'Cooldown' => [ 'shape' => 'Cooldown', ], 'StepAdjustments' => [ 'shape' => 'StepAdjustments', ], 'MetricAggregationType' => [ 'shape' => 'XmlStringMaxLen32', ], 'EstimatedInstanceWarmup' => [ 'shape' => 'EstimatedInstanceWarmup', ], 'Alarms' => [ 'shape' => 'Alarms', ], 'TargetTrackingConfiguration' => [ 'shape' => 'TargetTrackingConfiguration', ], ], ], 'ScalingProcessQuery' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ScalingProcesses' => [ 'shape' => 'ProcessNames', ], ], ], 'ScheduledActionNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'ScheduledActionsType' => [ 'type' => 'structure', 'members' => [ 'ScheduledUpdateGroupActions' => [ 'shape' => 'ScheduledUpdateGroupActions', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'ScheduledUpdateGroupAction' => [ 'type' => 'structure', 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'XmlStringMaxLen255', ], 'ScheduledActionName' => [ 'shape' => 'XmlStringMaxLen255', ], 'ScheduledActionARN' => [ 'shape' => 'ResourceName', ], 'Time' => [ 'shape' => 'TimestampType', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'Recurrence' => [ 'shape' => 'XmlStringMaxLen255', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], ], ], 'ScheduledUpdateGroupActionRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduledActionName', ], 'members' => [ 'ScheduledActionName' => [ 'shape' => 'XmlStringMaxLen255', ], 'StartTime' => [ 'shape' => 'TimestampType', ], 'EndTime' => [ 'shape' => 'TimestampType', ], 'Recurrence' => [ 'shape' => 'XmlStringMaxLen255', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], ], ], 'ScheduledUpdateGroupActionRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledUpdateGroupActionRequest', ], ], 'ScheduledUpdateGroupActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledUpdateGroupAction', ], ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlString', ], ], 'ServiceLinkedRoleFailure' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'XmlStringMaxLen255', ], ], 'error' => [ 'code' => 'ServiceLinkedRoleFailure', 'httpStatusCode' => 500, 'senderFault' => true, ], 'exception' => true, ], 'SetDesiredCapacityType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', 'DesiredCapacity', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], 'HonorCooldown' => [ 'shape' => 'HonorCooldown', ], ], ], 'SetInstanceHealthQuery' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'HealthStatus', ], 'members' => [ 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'HealthStatus' => [ 'shape' => 'XmlStringMaxLen32', ], 'ShouldRespectGracePeriod' => [ 'shape' => 'ShouldRespectGracePeriod', ], ], ], 'SetInstanceProtectionAnswer' => [ 'type' => 'structure', 'members' => [], ], 'SetInstanceProtectionQuery' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', 'AutoScalingGroupName', 'ProtectedFromScaleIn', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIds', ], 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'ProtectedFromScaleIn' => [ 'shape' => 'ProtectedFromScaleIn', ], ], ], 'ShouldDecrementDesiredCapacity' => [ 'type' => 'boolean', ], 'ShouldRespectGracePeriod' => [ 'type' => 'boolean', ], 'SpotInstancePools' => [ 'type' => 'integer', ], 'SpotPrice' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'StepAdjustment' => [ 'type' => 'structure', 'required' => [ 'ScalingAdjustment', ], 'members' => [ 'MetricIntervalLowerBound' => [ 'shape' => 'MetricScale', ], 'MetricIntervalUpperBound' => [ 'shape' => 'MetricScale', ], 'ScalingAdjustment' => [ 'shape' => 'PolicyIncrement', ], ], ], 'StepAdjustments' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepAdjustment', ], ], 'SuspendedProcess' => [ 'type' => 'structure', 'members' => [ 'ProcessName' => [ 'shape' => 'XmlStringMaxLen255', ], 'SuspensionReason' => [ 'shape' => 'XmlStringMaxLen255', ], ], ], 'SuspendedProcesses' => [ 'type' => 'list', 'member' => [ 'shape' => 'SuspendedProcess', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'ResourceId' => [ 'shape' => 'XmlString', ], 'ResourceType' => [ 'shape' => 'XmlString', ], 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], 'PropagateAtLaunch' => [ 'shape' => 'PropagateAtLaunch', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'XmlString', ], 'ResourceType' => [ 'shape' => 'XmlString', ], 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], 'PropagateAtLaunch' => [ 'shape' => 'PropagateAtLaunch', ], ], ], 'TagDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagsType' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagDescriptionList', ], 'NextToken' => [ 'shape' => 'XmlString', ], ], ], 'TargetGroupARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen511', ], ], 'TargetTrackingConfiguration' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'PredefinedMetricSpecification' => [ 'shape' => 'PredefinedMetricSpecification', ], 'CustomizedMetricSpecification' => [ 'shape' => 'CustomizedMetricSpecification', ], 'TargetValue' => [ 'shape' => 'MetricScale', ], 'DisableScaleIn' => [ 'shape' => 'DisableScaleIn', ], ], ], 'TerminateInstanceInAutoScalingGroupType' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'ShouldDecrementDesiredCapacity', ], 'members' => [ 'InstanceId' => [ 'shape' => 'XmlStringMaxLen19', ], 'ShouldDecrementDesiredCapacity' => [ 'shape' => 'ShouldDecrementDesiredCapacity', ], ], ], 'TerminationPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen1600', ], ], 'TimestampType' => [ 'type' => 'timestamp', ], 'UpdateAutoScalingGroupType' => [ 'type' => 'structure', 'required' => [ 'AutoScalingGroupName', ], 'members' => [ 'AutoScalingGroupName' => [ 'shape' => 'ResourceName', ], 'LaunchConfigurationName' => [ 'shape' => 'ResourceName', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'MixedInstancesPolicy' => [ 'shape' => 'MixedInstancesPolicy', ], 'MinSize' => [ 'shape' => 'AutoScalingGroupMinSize', ], 'MaxSize' => [ 'shape' => 'AutoScalingGroupMaxSize', ], 'DesiredCapacity' => [ 'shape' => 'AutoScalingGroupDesiredCapacity', ], 'DefaultCooldown' => [ 'shape' => 'Cooldown', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'HealthCheckType' => [ 'shape' => 'XmlStringMaxLen32', ], 'HealthCheckGracePeriod' => [ 'shape' => 'HealthCheckGracePeriod', ], 'PlacementGroup' => [ 'shape' => 'XmlStringMaxLen255', ], 'VPCZoneIdentifier' => [ 'shape' => 'XmlStringMaxLen2047', ], 'TerminationPolicies' => [ 'shape' => 'TerminationPolicies', ], 'NewInstancesProtectedFromScaleIn' => [ 'shape' => 'InstanceProtected', ], 'ServiceLinkedRoleARN' => [ 'shape' => 'ResourceName', ], ], ], 'Values' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlString', ], ], 'XmlString' => [ 'type' => 'string', 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen1023' => [ 'type' => 'string', 'max' => 1023, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen1600' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen19' => [ 'type' => 'string', 'max' => 19, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen2047' => [ 'type' => 'string', 'max' => 2047, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen255' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen32' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen511' => [ 'type' => 'string', 'max' => 511, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen64' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringUserData' => [ 'type' => 'string', 'max' => 21847, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], ],]; diff --git a/lib/aws/Aws/data/autoscaling/2011-01-01/paginators-1.json.php b/lib/aws/Aws/data/autoscaling/2011-01-01/paginators-1.json.php new file mode 100644 index 0000000..d182796 --- /dev/null +++ b/lib/aws/Aws/data/autoscaling/2011-01-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling/2011-01-01/paginators-1.json +return [ 'pagination' => [ 'DescribeAutoScalingGroups' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'AutoScalingGroups', ], 'DescribeAutoScalingInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'AutoScalingInstances', ], 'DescribeLaunchConfigurations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'LaunchConfigurations', ], 'DescribeNotificationConfigurations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'NotificationConfigurations', ], 'DescribePolicies' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'ScalingPolicies', ], 'DescribeScalingActivities' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'Activities', ], 'DescribeScheduledActions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'ScheduledUpdateGroupActions', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], ],]; diff --git a/lib/aws/Aws/data/autoscaling/2011-01-01/smoke.json.php b/lib/aws/Aws/data/autoscaling/2011-01-01/smoke.json.php new file mode 100644 index 0000000..ac230c9 --- /dev/null +++ b/lib/aws/Aws/data/autoscaling/2011-01-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling/2011-01-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeScalingProcessTypes', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'CreateLaunchConfiguration', 'input' => [ 'LaunchConfigurationName' => 'hello, world', 'ImageId' => 'ami-12345678', 'InstanceType' => 'm1.small', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/autoscaling/2011-01-01/waiters-2.json.php b/lib/aws/Aws/data/autoscaling/2011-01-01/waiters-2.json.php new file mode 100644 index 0000000..94b369a --- /dev/null +++ b/lib/aws/Aws/data/autoscaling/2011-01-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/autoscaling/2011-01-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'GroupExists' => [ 'acceptors' => [ [ 'argument' => 'length(AutoScalingGroups) > `0`', 'expected' => true, 'matcher' => 'path', 'state' => 'success', ], [ 'argument' => 'length(AutoScalingGroups) > `0`', 'expected' => false, 'matcher' => 'path', 'state' => 'retry', ], ], 'delay' => 5, 'maxAttempts' => 10, 'operation' => 'DescribeAutoScalingGroups', ], 'GroupInService' => [ 'acceptors' => [ [ 'argument' => 'contains(AutoScalingGroups[].[length(Instances[?LifecycleState==\'InService\']) >= MinSize][], `false`)', 'expected' => false, 'matcher' => 'path', 'state' => 'success', ], [ 'argument' => 'contains(AutoScalingGroups[].[length(Instances[?LifecycleState==\'InService\']) >= MinSize][], `false`)', 'expected' => true, 'matcher' => 'path', 'state' => 'retry', ], ], 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeAutoScalingGroups', ], 'GroupNotExists' => [ 'acceptors' => [ [ 'argument' => 'length(AutoScalingGroups) > `0`', 'expected' => false, 'matcher' => 'path', 'state' => 'success', ], [ 'argument' => 'length(AutoScalingGroups) > `0`', 'expected' => true, 'matcher' => 'path', 'state' => 'retry', ], ], 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeAutoScalingGroups', ], ],]; diff --git a/lib/aws/Aws/data/backup/2018-11-15/api-2.json.php b/lib/aws/Aws/data/backup/2018-11-15/api-2.json.php new file mode 100644 index 0000000..4f0801f --- /dev/null +++ b/lib/aws/Aws/data/backup/2018-11-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/backup/2018-11-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-11-15', 'endpointPrefix' => 'backup', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS Backup', 'serviceId' => 'Backup', 'signatureVersion' => 'v4', 'uid' => 'backup-2018-11-15', ], 'operations' => [ 'CreateBackupPlan' => [ 'name' => 'CreateBackupPlan', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup/plans/', ], 'input' => [ 'shape' => 'CreateBackupPlanInput', ], 'output' => [ 'shape' => 'CreateBackupPlanOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'CreateBackupSelection' => [ 'name' => 'CreateBackupSelection', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup/plans/{backupPlanId}/selections/', ], 'input' => [ 'shape' => 'CreateBackupSelectionInput', ], 'output' => [ 'shape' => 'CreateBackupSelectionOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'CreateBackupVault' => [ 'name' => 'CreateBackupVault', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup-vaults/{backupVaultName}', ], 'input' => [ 'shape' => 'CreateBackupVaultInput', ], 'output' => [ 'shape' => 'CreateBackupVaultOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], ], 'idempotent' => true, ], 'DeleteBackupPlan' => [ 'name' => 'DeleteBackupPlan', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup/plans/{backupPlanId}', ], 'input' => [ 'shape' => 'DeleteBackupPlanInput', ], 'output' => [ 'shape' => 'DeleteBackupPlanOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteBackupSelection' => [ 'name' => 'DeleteBackupSelection', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup/plans/{backupPlanId}/selections/{selectionId}', ], 'input' => [ 'shape' => 'DeleteBackupSelectionInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteBackupVault' => [ 'name' => 'DeleteBackupVault', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup-vaults/{backupVaultName}', ], 'input' => [ 'shape' => 'DeleteBackupVaultInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteBackupVaultAccessPolicy' => [ 'name' => 'DeleteBackupVaultAccessPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup-vaults/{backupVaultName}/access-policy', ], 'input' => [ 'shape' => 'DeleteBackupVaultAccessPolicyInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'DeleteBackupVaultNotifications' => [ 'name' => 'DeleteBackupVaultNotifications', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup-vaults/{backupVaultName}/notification-configuration', ], 'input' => [ 'shape' => 'DeleteBackupVaultNotificationsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'DeleteRecoveryPoint' => [ 'name' => 'DeleteRecoveryPoint', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}', ], 'input' => [ 'shape' => 'DeleteRecoveryPointInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], ], 'idempotent' => true, ], 'DescribeBackupJob' => [ 'name' => 'DescribeBackupJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-jobs/{backupJobId}', ], 'input' => [ 'shape' => 'DescribeBackupJobInput', ], 'output' => [ 'shape' => 'DescribeBackupJobOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DependencyFailureException', ], ], 'idempotent' => true, ], 'DescribeBackupVault' => [ 'name' => 'DescribeBackupVault', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}', ], 'input' => [ 'shape' => 'DescribeBackupVaultInput', ], 'output' => [ 'shape' => 'DescribeBackupVaultOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'DescribeProtectedResource' => [ 'name' => 'DescribeProtectedResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/resources/{resourceArn}', ], 'input' => [ 'shape' => 'DescribeProtectedResourceInput', ], 'output' => [ 'shape' => 'DescribeProtectedResourceOutput', ], 'errors' => [ [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], 'idempotent' => true, ], 'DescribeRecoveryPoint' => [ 'name' => 'DescribeRecoveryPoint', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}', ], 'input' => [ 'shape' => 'DescribeRecoveryPointInput', ], 'output' => [ 'shape' => 'DescribeRecoveryPointOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'DescribeRestoreJob' => [ 'name' => 'DescribeRestoreJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/restore-jobs/{restoreJobId}', ], 'input' => [ 'shape' => 'DescribeRestoreJobInput', ], 'output' => [ 'shape' => 'DescribeRestoreJobOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DependencyFailureException', ], ], 'idempotent' => true, ], 'ExportBackupPlanTemplate' => [ 'name' => 'ExportBackupPlanTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/{backupPlanId}/toTemplate/', ], 'input' => [ 'shape' => 'ExportBackupPlanTemplateInput', ], 'output' => [ 'shape' => 'ExportBackupPlanTemplateOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetBackupPlan' => [ 'name' => 'GetBackupPlan', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/{backupPlanId}/', ], 'input' => [ 'shape' => 'GetBackupPlanInput', ], 'output' => [ 'shape' => 'GetBackupPlanOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'GetBackupPlanFromJSON' => [ 'name' => 'GetBackupPlanFromJSON', 'http' => [ 'method' => 'POST', 'requestUri' => '/backup/template/json/toPlan', ], 'input' => [ 'shape' => 'GetBackupPlanFromJSONInput', ], 'output' => [ 'shape' => 'GetBackupPlanFromJSONOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetBackupPlanFromTemplate' => [ 'name' => 'GetBackupPlanFromTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/template/plans/{templateId}/toPlan', ], 'input' => [ 'shape' => 'GetBackupPlanFromTemplateInput', ], 'output' => [ 'shape' => 'GetBackupPlanFromTemplateOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetBackupSelection' => [ 'name' => 'GetBackupSelection', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/{backupPlanId}/selections/{selectionId}', ], 'input' => [ 'shape' => 'GetBackupSelectionInput', ], 'output' => [ 'shape' => 'GetBackupSelectionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'GetBackupVaultAccessPolicy' => [ 'name' => 'GetBackupVaultAccessPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}/access-policy', ], 'input' => [ 'shape' => 'GetBackupVaultAccessPolicyInput', ], 'output' => [ 'shape' => 'GetBackupVaultAccessPolicyOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'GetBackupVaultNotifications' => [ 'name' => 'GetBackupVaultNotifications', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}/notification-configuration', ], 'input' => [ 'shape' => 'GetBackupVaultNotificationsInput', ], 'output' => [ 'shape' => 'GetBackupVaultNotificationsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'GetRecoveryPointRestoreMetadata' => [ 'name' => 'GetRecoveryPointRestoreMetadata', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata', ], 'input' => [ 'shape' => 'GetRecoveryPointRestoreMetadataInput', ], 'output' => [ 'shape' => 'GetRecoveryPointRestoreMetadataOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'GetSupportedResourceTypes' => [ 'name' => 'GetSupportedResourceTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/supported-resource-types', ], 'output' => [ 'shape' => 'GetSupportedResourceTypesOutput', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListBackupJobs' => [ 'name' => 'ListBackupJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-jobs/', ], 'input' => [ 'shape' => 'ListBackupJobsInput', ], 'output' => [ 'shape' => 'ListBackupJobsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListBackupPlanTemplates' => [ 'name' => 'ListBackupPlanTemplates', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/template/plans', ], 'input' => [ 'shape' => 'ListBackupPlanTemplatesInput', ], 'output' => [ 'shape' => 'ListBackupPlanTemplatesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListBackupPlanVersions' => [ 'name' => 'ListBackupPlanVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/{backupPlanId}/versions/', ], 'input' => [ 'shape' => 'ListBackupPlanVersionsInput', ], 'output' => [ 'shape' => 'ListBackupPlanVersionsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListBackupPlans' => [ 'name' => 'ListBackupPlans', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/', ], 'input' => [ 'shape' => 'ListBackupPlansInput', ], 'output' => [ 'shape' => 'ListBackupPlansOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListBackupSelections' => [ 'name' => 'ListBackupSelections', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup/plans/{backupPlanId}/selections/', ], 'input' => [ 'shape' => 'ListBackupSelectionsInput', ], 'output' => [ 'shape' => 'ListBackupSelectionsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListBackupVaults' => [ 'name' => 'ListBackupVaults', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/', ], 'input' => [ 'shape' => 'ListBackupVaultsInput', ], 'output' => [ 'shape' => 'ListBackupVaultsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListProtectedResources' => [ 'name' => 'ListProtectedResources', 'http' => [ 'method' => 'GET', 'requestUri' => '/resources/', ], 'input' => [ 'shape' => 'ListProtectedResourcesInput', ], 'output' => [ 'shape' => 'ListProtectedResourcesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListRecoveryPointsByBackupVault' => [ 'name' => 'ListRecoveryPointsByBackupVault', 'http' => [ 'method' => 'GET', 'requestUri' => '/backup-vaults/{backupVaultName}/recovery-points/', ], 'input' => [ 'shape' => 'ListRecoveryPointsByBackupVaultInput', ], 'output' => [ 'shape' => 'ListRecoveryPointsByBackupVaultOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListRecoveryPointsByResource' => [ 'name' => 'ListRecoveryPointsByResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/resources/{resourceArn}/recovery-points/', ], 'input' => [ 'shape' => 'ListRecoveryPointsByResourceInput', ], 'output' => [ 'shape' => 'ListRecoveryPointsByResourceOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListRestoreJobs' => [ 'name' => 'ListRestoreJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/restore-jobs/', ], 'input' => [ 'shape' => 'ListRestoreJobsInput', ], 'output' => [ 'shape' => 'ListRestoreJobsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resourceArn}/', ], 'input' => [ 'shape' => 'ListTagsInput', ], 'output' => [ 'shape' => 'ListTagsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'PutBackupVaultAccessPolicy' => [ 'name' => 'PutBackupVaultAccessPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup-vaults/{backupVaultName}/access-policy', ], 'input' => [ 'shape' => 'PutBackupVaultAccessPolicyInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'PutBackupVaultNotifications' => [ 'name' => 'PutBackupVaultNotifications', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup-vaults/{backupVaultName}/notification-configuration', ], 'input' => [ 'shape' => 'PutBackupVaultNotificationsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'StartBackupJob' => [ 'name' => 'StartBackupJob', 'http' => [ 'method' => 'PUT', 'requestUri' => '/backup-jobs', ], 'input' => [ 'shape' => 'StartBackupJobInput', ], 'output' => [ 'shape' => 'StartBackupJobOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'LimitExceededException', ], ], 'idempotent' => true, ], 'StartRestoreJob' => [ 'name' => 'StartRestoreJob', 'http' => [ 'method' => 'PUT', 'requestUri' => '/restore-jobs', ], 'input' => [ 'shape' => 'StartRestoreJobInput', ], 'output' => [ 'shape' => 'StartRestoreJobOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'StopBackupJob' => [ 'name' => 'StopBackupJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/backup-jobs/{backupJobId}', ], 'input' => [ 'shape' => 'StopBackupJobInput', ], 'errors' => [ [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'LimitExceededException', ], ], 'idempotent' => true, ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/untag/{resourceArn}', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'UpdateBackupPlan' => [ 'name' => 'UpdateBackupPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/backup/plans/{backupPlanId}', ], 'input' => [ 'shape' => 'UpdateBackupPlanInput', ], 'output' => [ 'shape' => 'UpdateBackupPlanOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], 'UpdateRecoveryPointLifecycle' => [ 'name' => 'UpdateRecoveryPointLifecycle', 'http' => [ 'method' => 'POST', 'requestUri' => '/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}', ], 'input' => [ 'shape' => 'UpdateRecoveryPointLifecycleInput', ], 'output' => [ 'shape' => 'UpdateRecoveryPointLifecycleOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'Arn' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'BackupJob' => [ 'type' => 'structure', 'members' => [ 'BackupJobId' => [ 'shape' => 'string', ], 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'ResourceArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'State' => [ 'shape' => 'BackupJobState', ], 'StatusMessage' => [ 'shape' => 'string', ], 'PercentDone' => [ 'shape' => 'string', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'CreatedBy' => [ 'shape' => 'RecoveryPointCreator', ], 'ExpectedCompletionDate' => [ 'shape' => 'timestamp', ], 'StartBy' => [ 'shape' => 'timestamp', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'BytesTransferred' => [ 'shape' => 'Long', ], ], ], 'BackupJobState' => [ 'type' => 'string', 'enum' => [ 'CREATED', 'PENDING', 'RUNNING', 'ABORTING', 'ABORTED', 'COMPLETED', 'FAILED', 'EXPIRED', ], ], 'BackupJobsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupJob', ], ], 'BackupPlan' => [ 'type' => 'structure', 'required' => [ 'BackupPlanName', 'Rules', ], 'members' => [ 'BackupPlanName' => [ 'shape' => 'BackupPlanName', ], 'Rules' => [ 'shape' => 'BackupRules', ], ], ], 'BackupPlanInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanName', 'Rules', ], 'members' => [ 'BackupPlanName' => [ 'shape' => 'BackupPlanName', ], 'Rules' => [ 'shape' => 'BackupRulesInput', ], ], ], 'BackupPlanName' => [ 'type' => 'string', ], 'BackupPlanTemplatesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupPlanTemplatesListMember', ], ], 'BackupPlanTemplatesListMember' => [ 'type' => 'structure', 'members' => [ 'BackupPlanTemplateId' => [ 'shape' => 'string', ], 'BackupPlanTemplateName' => [ 'shape' => 'string', ], ], ], 'BackupPlanVersionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupPlansListMember', ], ], 'BackupPlansList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupPlansListMember', ], ], 'BackupPlansListMember' => [ 'type' => 'structure', 'members' => [ 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'BackupPlanId' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'DeletionDate' => [ 'shape' => 'timestamp', ], 'VersionId' => [ 'shape' => 'string', ], 'BackupPlanName' => [ 'shape' => 'BackupPlanName', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'LastExecutionDate' => [ 'shape' => 'timestamp', ], ], ], 'BackupRule' => [ 'type' => 'structure', 'required' => [ 'RuleName', 'TargetBackupVaultName', ], 'members' => [ 'RuleName' => [ 'shape' => 'BackupRuleName', ], 'TargetBackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'ScheduleExpression' => [ 'shape' => 'CronExpression', ], 'StartWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'CompletionWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'RecoveryPointTags' => [ 'shape' => 'Tags', ], 'RuleId' => [ 'shape' => 'string', ], ], ], 'BackupRuleInput' => [ 'type' => 'structure', 'required' => [ 'RuleName', 'TargetBackupVaultName', ], 'members' => [ 'RuleName' => [ 'shape' => 'BackupRuleName', ], 'TargetBackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'ScheduleExpression' => [ 'shape' => 'CronExpression', ], 'StartWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'CompletionWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'RecoveryPointTags' => [ 'shape' => 'Tags', ], ], ], 'BackupRuleName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9\\-\\_\\.]{1,50}$', ], 'BackupRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupRule', ], ], 'BackupRulesInput' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupRuleInput', ], ], 'BackupSelection' => [ 'type' => 'structure', 'required' => [ 'SelectionName', 'IamRoleArn', ], 'members' => [ 'SelectionName' => [ 'shape' => 'BackupSelectionName', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'Resources' => [ 'shape' => 'ResourceArns', ], 'ListOfTags' => [ 'shape' => 'ListOfTags', ], ], ], 'BackupSelectionName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9\\-\\_\\.]{1,50}$', ], 'BackupSelectionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupSelectionsListMember', ], ], 'BackupSelectionsListMember' => [ 'type' => 'structure', 'members' => [ 'SelectionId' => [ 'shape' => 'string', ], 'SelectionName' => [ 'shape' => 'BackupSelectionName', ], 'BackupPlanId' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], ], ], 'BackupVaultEvent' => [ 'type' => 'string', 'enum' => [ 'BACKUP_JOB_STARTED', 'BACKUP_JOB_COMPLETED', 'RESTORE_JOB_STARTED', 'RESTORE_JOB_COMPLETED', 'RECOVERY_POINT_MODIFIED', 'BACKUP_PLAN_CREATED', 'BACKUP_PLAN_MODIFIED', ], ], 'BackupVaultEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupVaultEvent', ], ], 'BackupVaultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupVaultListMember', ], ], 'BackupVaultListMember' => [ 'type' => 'structure', 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'NumberOfRecoveryPoints' => [ 'shape' => 'long', ], ], ], 'BackupVaultName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9\\-\\_\\.]{1,50}$', ], 'Boolean' => [ 'type' => 'boolean', ], 'CalculatedLifecycle' => [ 'type' => 'structure', 'members' => [ 'MoveToColdStorageAt' => [ 'shape' => 'timestamp', ], 'DeleteAt' => [ 'shape' => 'timestamp', ], ], ], 'Condition' => [ 'type' => 'structure', 'required' => [ 'ConditionType', 'ConditionKey', 'ConditionValue', ], 'members' => [ 'ConditionType' => [ 'shape' => 'ConditionType', ], 'ConditionKey' => [ 'shape' => 'ConditionKey', ], 'ConditionValue' => [ 'shape' => 'ConditionValue', ], ], ], 'ConditionKey' => [ 'type' => 'string', ], 'ConditionType' => [ 'type' => 'string', 'enum' => [ 'STRINGEQUALS', ], ], 'ConditionValue' => [ 'type' => 'string', ], 'CreateBackupPlanInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlan', ], 'members' => [ 'BackupPlan' => [ 'shape' => 'BackupPlanInput', ], 'BackupPlanTags' => [ 'shape' => 'Tags', ], 'CreatorRequestId' => [ 'shape' => 'string', ], ], ], 'CreateBackupPlanOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', ], 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'VersionId' => [ 'shape' => 'string', ], ], ], 'CreateBackupSelectionInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', 'BackupSelection', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'BackupSelection' => [ 'shape' => 'BackupSelection', ], 'CreatorRequestId' => [ 'shape' => 'string', ], ], ], 'CreateBackupSelectionOutput' => [ 'type' => 'structure', 'members' => [ 'SelectionId' => [ 'shape' => 'string', ], 'BackupPlanId' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'timestamp', ], ], ], 'CreateBackupVaultInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'BackupVaultTags' => [ 'shape' => 'Tags', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'CreatorRequestId' => [ 'shape' => 'string', ], ], ], 'CreateBackupVaultOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], ], ], 'CronExpression' => [ 'type' => 'string', ], 'DeleteBackupPlanInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], ], ], 'DeleteBackupPlanOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', ], 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'DeletionDate' => [ 'shape' => 'timestamp', ], 'VersionId' => [ 'shape' => 'string', ], ], ], 'DeleteBackupSelectionInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', 'SelectionId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'SelectionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'selectionId', ], ], ], 'DeleteBackupVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'DeleteBackupVaultInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'DeleteBackupVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'DeleteRecoveryPointInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'RecoveryPointArn', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'recoveryPointArn', ], ], ], 'DependencyFailureException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, 'fault' => true, ], 'DescribeBackupJobInput' => [ 'type' => 'structure', 'required' => [ 'BackupJobId', ], 'members' => [ 'BackupJobId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupJobId', ], ], ], 'DescribeBackupJobOutput' => [ 'type' => 'structure', 'members' => [ 'BackupJobId' => [ 'shape' => 'string', ], 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'ResourceArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'State' => [ 'shape' => 'BackupJobState', ], 'StatusMessage' => [ 'shape' => 'string', ], 'PercentDone' => [ 'shape' => 'string', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'CreatedBy' => [ 'shape' => 'RecoveryPointCreator', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'BytesTransferred' => [ 'shape' => 'Long', ], 'ExpectedCompletionDate' => [ 'shape' => 'timestamp', ], 'StartBy' => [ 'shape' => 'timestamp', ], ], ], 'DescribeBackupVaultInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'DescribeBackupVaultOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultName' => [ 'shape' => 'string', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'NumberOfRecoveryPoints' => [ 'shape' => 'long', ], ], ], 'DescribeProtectedResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'resourceArn', ], ], ], 'DescribeProtectedResourceOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'LastBackupTime' => [ 'shape' => 'timestamp', ], ], ], 'DescribeRecoveryPointInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'RecoveryPointArn', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'recoveryPointArn', ], ], ], 'DescribeRecoveryPointOutput' => [ 'type' => 'structure', 'members' => [ 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'ResourceArn' => [ 'shape' => 'ARN', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'CreatedBy' => [ 'shape' => 'RecoveryPointCreator', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'Status' => [ 'shape' => 'RecoveryPointStatus', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'CalculatedLifecycle' => [ 'shape' => 'CalculatedLifecycle', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'IsEncrypted' => [ 'shape' => 'boolean', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'LastRestoreTime' => [ 'shape' => 'timestamp', ], ], ], 'DescribeRestoreJobInput' => [ 'type' => 'structure', 'required' => [ 'RestoreJobId', ], 'members' => [ 'RestoreJobId' => [ 'shape' => 'RestoreJobId', 'location' => 'uri', 'locationName' => 'restoreJobId', ], ], ], 'DescribeRestoreJobOutput' => [ 'type' => 'structure', 'members' => [ 'RestoreJobId' => [ 'shape' => 'string', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'RestoreJobStatus', ], 'StatusMessage' => [ 'shape' => 'string', ], 'PercentDone' => [ 'shape' => 'string', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'ExpectedCompletionTimeMinutes' => [ 'shape' => 'Long', ], 'CreatedResourceArn' => [ 'shape' => 'ARN', ], ], ], 'ExportBackupPlanTemplateInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], ], ], 'ExportBackupPlanTemplateOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlanTemplateJson' => [ 'shape' => 'string', ], ], ], 'GetBackupPlanFromJSONInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanTemplateJson', ], 'members' => [ 'BackupPlanTemplateJson' => [ 'shape' => 'string', ], ], ], 'GetBackupPlanFromJSONOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlan' => [ 'shape' => 'BackupPlan', ], ], ], 'GetBackupPlanFromTemplateInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanTemplateId', ], 'members' => [ 'BackupPlanTemplateId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'templateId', ], ], ], 'GetBackupPlanFromTemplateOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlanDocument' => [ 'shape' => 'BackupPlan', ], ], ], 'GetBackupPlanInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'VersionId' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'versionId', ], ], ], 'GetBackupPlanOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlan' => [ 'shape' => 'BackupPlan', ], 'BackupPlanId' => [ 'shape' => 'string', ], 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'VersionId' => [ 'shape' => 'string', ], 'CreatorRequestId' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'DeletionDate' => [ 'shape' => 'timestamp', ], 'LastExecutionDate' => [ 'shape' => 'timestamp', ], ], ], 'GetBackupSelectionInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', 'SelectionId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'SelectionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'selectionId', ], ], ], 'GetBackupSelectionOutput' => [ 'type' => 'structure', 'members' => [ 'BackupSelection' => [ 'shape' => 'BackupSelection', ], 'SelectionId' => [ 'shape' => 'string', ], 'BackupPlanId' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CreatorRequestId' => [ 'shape' => 'string', ], ], ], 'GetBackupVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'GetBackupVaultAccessPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'Policy' => [ 'shape' => 'IAMPolicy', ], ], ], 'GetBackupVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], ], ], 'GetBackupVaultNotificationsOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'SNSTopicArn' => [ 'shape' => 'ARN', ], 'BackupVaultEvents' => [ 'shape' => 'BackupVaultEvents', ], ], ], 'GetRecoveryPointRestoreMetadataInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'RecoveryPointArn', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'recoveryPointArn', ], ], ], 'GetRecoveryPointRestoreMetadataOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'RestoreMetadata' => [ 'shape' => 'Metadata', ], ], ], 'GetSupportedResourceTypesOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], ], ], 'IAMPolicy' => [ 'type' => 'string', ], 'IAMRoleArn' => [ 'type' => 'string', ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'Lifecycle' => [ 'type' => 'structure', 'members' => [ 'MoveToColdStorageAfterDays' => [ 'shape' => 'Long', ], 'DeleteAfterDays' => [ 'shape' => 'Long', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'ListBackupJobsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'ByResourceArn' => [ 'shape' => 'ARN', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'ByState' => [ 'shape' => 'BackupJobState', 'location' => 'querystring', 'locationName' => 'state', ], 'ByBackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'querystring', 'locationName' => 'backupVaultName', ], 'ByCreatedBefore' => [ 'shape' => 'timestamp', 'location' => 'querystring', 'locationName' => 'createdBefore', ], 'ByCreatedAfter' => [ 'shape' => 'timestamp', 'location' => 'querystring', 'locationName' => 'createdAfter', ], 'ByResourceType' => [ 'shape' => 'ResourceType', 'location' => 'querystring', 'locationName' => 'resourceType', ], ], ], 'ListBackupJobsOutput' => [ 'type' => 'structure', 'members' => [ 'BackupJobs' => [ 'shape' => 'BackupJobsList', ], 'NextToken' => [ 'shape' => 'string', ], ], ], 'ListBackupPlanTemplatesInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListBackupPlanTemplatesOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'BackupPlanTemplatesList' => [ 'shape' => 'BackupPlanTemplatesList', ], ], ], 'ListBackupPlanVersionsInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListBackupPlanVersionsOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'BackupPlanVersionsList' => [ 'shape' => 'BackupPlanVersionsList', ], ], ], 'ListBackupPlansInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'IncludeDeleted' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'includeDeleted', ], ], ], 'ListBackupPlansOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'BackupPlansList' => [ 'shape' => 'BackupPlansList', ], ], ], 'ListBackupSelectionsInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListBackupSelectionsOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'BackupSelectionsList' => [ 'shape' => 'BackupSelectionsList', ], ], ], 'ListBackupVaultsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListBackupVaultsOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultList' => [ 'shape' => 'BackupVaultList', ], 'NextToken' => [ 'shape' => 'string', ], ], ], 'ListOfTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Condition', ], ], 'ListProtectedResourcesInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListProtectedResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'ProtectedResourcesList', ], 'NextToken' => [ 'shape' => 'string', ], ], ], 'ListRecoveryPointsByBackupVaultInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'ByResourceArn' => [ 'shape' => 'ARN', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'ByResourceType' => [ 'shape' => 'ResourceType', 'location' => 'querystring', 'locationName' => 'resourceType', ], 'ByBackupPlanId' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'backupPlanId', ], 'ByCreatedBefore' => [ 'shape' => 'timestamp', 'location' => 'querystring', 'locationName' => 'createdBefore', ], 'ByCreatedAfter' => [ 'shape' => 'timestamp', 'location' => 'querystring', 'locationName' => 'createdAfter', ], ], ], 'ListRecoveryPointsByBackupVaultOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'RecoveryPoints' => [ 'shape' => 'RecoveryPointByBackupVaultList', ], ], ], 'ListRecoveryPointsByResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListRecoveryPointsByResourceOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'RecoveryPoints' => [ 'shape' => 'RecoveryPointByResourceList', ], ], ], 'ListRestoreJobsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListRestoreJobsOutput' => [ 'type' => 'structure', 'members' => [ 'RestoreJobs' => [ 'shape' => 'RestoreJobsList', ], 'NextToken' => [ 'shape' => 'string', ], ], ], 'ListTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'NextToken' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListTagsOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'string', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Metadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'MetadataKey', ], 'value' => [ 'shape' => 'MetadataValue', ], ], 'MetadataKey' => [ 'type' => 'string', ], 'MetadataValue' => [ 'type' => 'string', ], 'MissingParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'ProtectedResource' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'LastBackupTime' => [ 'shape' => 'timestamp', ], ], ], 'ProtectedResourcesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProtectedResource', ], ], 'PutBackupVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'Policy' => [ 'shape' => 'IAMPolicy', ], ], ], 'PutBackupVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'SNSTopicArn', 'BackupVaultEvents', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'SNSTopicArn' => [ 'shape' => 'ARN', ], 'BackupVaultEvents' => [ 'shape' => 'BackupVaultEvents', ], ], ], 'RecoveryPointByBackupVault' => [ 'type' => 'structure', 'members' => [ 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'ResourceArn' => [ 'shape' => 'ARN', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'CreatedBy' => [ 'shape' => 'RecoveryPointCreator', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'Status' => [ 'shape' => 'RecoveryPointStatus', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'CalculatedLifecycle' => [ 'shape' => 'CalculatedLifecycle', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'IsEncrypted' => [ 'shape' => 'boolean', ], 'LastRestoreTime' => [ 'shape' => 'timestamp', ], ], ], 'RecoveryPointByBackupVaultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecoveryPointByBackupVault', ], ], 'RecoveryPointByResource' => [ 'type' => 'structure', 'members' => [ 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'RecoveryPointStatus', ], 'EncryptionKeyArn' => [ 'shape' => 'ARN', ], 'BackupSizeBytes' => [ 'shape' => 'Long', ], 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], ], ], 'RecoveryPointByResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecoveryPointByResource', ], ], 'RecoveryPointCreator' => [ 'type' => 'structure', 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', ], 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'BackupPlanVersion' => [ 'shape' => 'string', ], 'BackupRuleId' => [ 'shape' => 'string', ], ], ], 'RecoveryPointStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLETED', 'PARTIAL', 'DELETING', 'EXPIRED', ], ], 'ResourceArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'ARN', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9\\-\\_\\.]{1,50}$', ], 'ResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'RestoreJobId' => [ 'type' => 'string', ], 'RestoreJobStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'RUNNING', 'COMPLETED', 'ABORTED', 'FAILED', ], ], 'RestoreJobsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RestoreJobsListMember', ], ], 'RestoreJobsListMember' => [ 'type' => 'structure', 'members' => [ 'RestoreJobId' => [ 'shape' => 'string', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'CompletionDate' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'RestoreJobStatus', ], 'StatusMessage' => [ 'shape' => 'string', ], 'PercentDone' => [ 'shape' => 'string', ], 'BackupSizeInBytes' => [ 'shape' => 'Long', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'ExpectedCompletionTimeMinutes' => [ 'shape' => 'Long', ], 'CreatedResourceArn' => [ 'shape' => 'ARN', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'string', ], 'Message' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'Context' => [ 'shape' => 'string', ], ], 'exception' => true, 'fault' => true, ], 'StartBackupJobInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'ResourceArn', 'IamRoleArn', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', ], 'ResourceArn' => [ 'shape' => 'ARN', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'IdempotencyToken' => [ 'shape' => 'string', ], 'StartWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'CompleteWindowMinutes' => [ 'shape' => 'WindowMinutes', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'RecoveryPointTags' => [ 'shape' => 'Tags', ], ], ], 'StartBackupJobOutput' => [ 'type' => 'structure', 'members' => [ 'BackupJobId' => [ 'shape' => 'string', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], ], ], 'StartRestoreJobInput' => [ 'type' => 'structure', 'required' => [ 'RecoveryPointArn', 'Metadata', 'IamRoleArn', ], 'members' => [ 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'Metadata' => [ 'shape' => 'Metadata', ], 'IamRoleArn' => [ 'shape' => 'IAMRoleArn', ], 'IdempotencyToken' => [ 'shape' => 'string', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'StartRestoreJobOutput' => [ 'type' => 'structure', 'members' => [ 'RestoreJobId' => [ 'shape' => 'RestoreJobId', ], ], ], 'StopBackupJobInput' => [ 'type' => 'structure', 'required' => [ 'BackupJobId', ], 'members' => [ 'BackupJobId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupJobId', ], ], ], 'StorageClass' => [ 'type' => 'string', 'enum' => [ 'WARM', 'COLD', 'DELETED', ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], 'sensitive' => true, ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'sensitive' => true, ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeyList', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'TagKeyList' => [ 'shape' => 'TagKeyList', ], ], ], 'UpdateBackupPlanInput' => [ 'type' => 'structure', 'required' => [ 'BackupPlanId', 'BackupPlan', ], 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'backupPlanId', ], 'BackupPlan' => [ 'shape' => 'BackupPlanInput', ], ], ], 'UpdateBackupPlanOutput' => [ 'type' => 'structure', 'members' => [ 'BackupPlanId' => [ 'shape' => 'string', ], 'BackupPlanArn' => [ 'shape' => 'ARN', ], 'CreationDate' => [ 'shape' => 'timestamp', ], 'VersionId' => [ 'shape' => 'string', ], ], ], 'UpdateRecoveryPointLifecycleInput' => [ 'type' => 'structure', 'required' => [ 'BackupVaultName', 'RecoveryPointArn', ], 'members' => [ 'BackupVaultName' => [ 'shape' => 'BackupVaultName', 'location' => 'uri', 'locationName' => 'backupVaultName', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', 'location' => 'uri', 'locationName' => 'recoveryPointArn', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], ], ], 'UpdateRecoveryPointLifecycleOutput' => [ 'type' => 'structure', 'members' => [ 'BackupVaultArn' => [ 'shape' => 'ARN', ], 'RecoveryPointArn' => [ 'shape' => 'ARN', ], 'Lifecycle' => [ 'shape' => 'Lifecycle', ], 'CalculatedLifecycle' => [ 'shape' => 'CalculatedLifecycle', ], ], ], 'WindowMinutes' => [ 'type' => 'long', ], 'boolean' => [ 'type' => 'boolean', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/backup/2018-11-15/paginators-1.json.php b/lib/aws/Aws/data/backup/2018-11-15/paginators-1.json.php new file mode 100644 index 0000000..2025005 --- /dev/null +++ b/lib/aws/Aws/data/backup/2018-11-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/backup/2018-11-15/paginators-1.json +return [ 'pagination' => [ 'ListBackupJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBackupPlanTemplates' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBackupPlanVersions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBackupPlans' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBackupSelections' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBackupVaults' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListProtectedResources' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListRecoveryPointsByBackupVault' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListRecoveryPointsByResource' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListRestoreJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/batch/2016-08-10/api-2.json.php b/lib/aws/Aws/data/batch/2016-08-10/api-2.json.php new file mode 100644 index 0000000..2e1ddb0 --- /dev/null +++ b/lib/aws/Aws/data/batch/2016-08-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/batch/2016-08-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-08-10', 'endpointPrefix' => 'batch', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'AWS Batch', 'serviceFullName' => 'AWS Batch', 'serviceId' => 'Batch', 'signatureVersion' => 'v4', 'uid' => 'batch-2016-08-10', ], 'operations' => [ 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/canceljob', ], 'input' => [ 'shape' => 'CancelJobRequest', ], 'output' => [ 'shape' => 'CancelJobResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'CreateComputeEnvironment' => [ 'name' => 'CreateComputeEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/createcomputeenvironment', ], 'input' => [ 'shape' => 'CreateComputeEnvironmentRequest', ], 'output' => [ 'shape' => 'CreateComputeEnvironmentResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'CreateJobQueue' => [ 'name' => 'CreateJobQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/createjobqueue', ], 'input' => [ 'shape' => 'CreateJobQueueRequest', ], 'output' => [ 'shape' => 'CreateJobQueueResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DeleteComputeEnvironment' => [ 'name' => 'DeleteComputeEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/deletecomputeenvironment', ], 'input' => [ 'shape' => 'DeleteComputeEnvironmentRequest', ], 'output' => [ 'shape' => 'DeleteComputeEnvironmentResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DeleteJobQueue' => [ 'name' => 'DeleteJobQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/deletejobqueue', ], 'input' => [ 'shape' => 'DeleteJobQueueRequest', ], 'output' => [ 'shape' => 'DeleteJobQueueResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DeregisterJobDefinition' => [ 'name' => 'DeregisterJobDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/deregisterjobdefinition', ], 'input' => [ 'shape' => 'DeregisterJobDefinitionRequest', ], 'output' => [ 'shape' => 'DeregisterJobDefinitionResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DescribeComputeEnvironments' => [ 'name' => 'DescribeComputeEnvironments', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/describecomputeenvironments', ], 'input' => [ 'shape' => 'DescribeComputeEnvironmentsRequest', ], 'output' => [ 'shape' => 'DescribeComputeEnvironmentsResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DescribeJobDefinitions' => [ 'name' => 'DescribeJobDefinitions', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/describejobdefinitions', ], 'input' => [ 'shape' => 'DescribeJobDefinitionsRequest', ], 'output' => [ 'shape' => 'DescribeJobDefinitionsResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DescribeJobQueues' => [ 'name' => 'DescribeJobQueues', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/describejobqueues', ], 'input' => [ 'shape' => 'DescribeJobQueuesRequest', ], 'output' => [ 'shape' => 'DescribeJobQueuesResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'DescribeJobs' => [ 'name' => 'DescribeJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/describejobs', ], 'input' => [ 'shape' => 'DescribeJobsRequest', ], 'output' => [ 'shape' => 'DescribeJobsResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/listjobs', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'RegisterJobDefinition' => [ 'name' => 'RegisterJobDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/registerjobdefinition', ], 'input' => [ 'shape' => 'RegisterJobDefinitionRequest', ], 'output' => [ 'shape' => 'RegisterJobDefinitionResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'SubmitJob' => [ 'name' => 'SubmitJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/submitjob', ], 'input' => [ 'shape' => 'SubmitJobRequest', ], 'output' => [ 'shape' => 'SubmitJobResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'TerminateJob' => [ 'name' => 'TerminateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/terminatejob', ], 'input' => [ 'shape' => 'TerminateJobRequest', ], 'output' => [ 'shape' => 'TerminateJobResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'UpdateComputeEnvironment' => [ 'name' => 'UpdateComputeEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/updatecomputeenvironment', ], 'input' => [ 'shape' => 'UpdateComputeEnvironmentRequest', ], 'output' => [ 'shape' => 'UpdateComputeEnvironmentResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], 'UpdateJobQueue' => [ 'name' => 'UpdateJobQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/updatejobqueue', ], 'input' => [ 'shape' => 'UpdateJobQueueRequest', ], 'output' => [ 'shape' => 'UpdateJobQueueResponse', ], 'errors' => [ [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], ], ], ], 'shapes' => [ 'ArrayJobDependency' => [ 'type' => 'string', 'enum' => [ 'N_TO_N', 'SEQUENTIAL', ], ], 'ArrayJobStatusSummary' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'Integer', ], ], 'ArrayProperties' => [ 'type' => 'structure', 'members' => [ 'size' => [ 'shape' => 'Integer', ], ], ], 'ArrayPropertiesDetail' => [ 'type' => 'structure', 'members' => [ 'statusSummary' => [ 'shape' => 'ArrayJobStatusSummary', ], 'size' => [ 'shape' => 'Integer', ], 'index' => [ 'shape' => 'Integer', ], ], ], 'ArrayPropertiesSummary' => [ 'type' => 'structure', 'members' => [ 'size' => [ 'shape' => 'Integer', ], 'index' => [ 'shape' => 'Integer', ], ], ], 'AttemptContainerDetail' => [ 'type' => 'structure', 'members' => [ 'containerInstanceArn' => [ 'shape' => 'String', ], 'taskArn' => [ 'shape' => 'String', ], 'exitCode' => [ 'shape' => 'Integer', ], 'reason' => [ 'shape' => 'String', ], 'logStreamName' => [ 'shape' => 'String', ], 'networkInterfaces' => [ 'shape' => 'NetworkInterfaceList', ], ], ], 'AttemptDetail' => [ 'type' => 'structure', 'members' => [ 'container' => [ 'shape' => 'AttemptContainerDetail', ], 'startedAt' => [ 'shape' => 'Long', ], 'stoppedAt' => [ 'shape' => 'Long', ], 'statusReason' => [ 'shape' => 'String', ], ], ], 'AttemptDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttemptDetail', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CEState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'CEStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'DELETED', 'VALID', 'INVALID', ], ], 'CEType' => [ 'type' => 'string', 'enum' => [ 'MANAGED', 'UNMANAGED', ], ], 'CRType' => [ 'type' => 'string', 'enum' => [ 'EC2', 'SPOT', ], ], 'CancelJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'reason', ], 'members' => [ 'jobId' => [ 'shape' => 'String', ], 'reason' => [ 'shape' => 'String', ], ], ], 'CancelJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'ClientException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ComputeEnvironmentDetail' => [ 'type' => 'structure', 'required' => [ 'computeEnvironmentName', 'computeEnvironmentArn', 'ecsClusterArn', ], 'members' => [ 'computeEnvironmentName' => [ 'shape' => 'String', ], 'computeEnvironmentArn' => [ 'shape' => 'String', ], 'ecsClusterArn' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'CEType', ], 'state' => [ 'shape' => 'CEState', ], 'status' => [ 'shape' => 'CEStatus', ], 'statusReason' => [ 'shape' => 'String', ], 'computeResources' => [ 'shape' => 'ComputeResource', ], 'serviceRole' => [ 'shape' => 'String', ], ], ], 'ComputeEnvironmentDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComputeEnvironmentDetail', ], ], 'ComputeEnvironmentOrder' => [ 'type' => 'structure', 'required' => [ 'order', 'computeEnvironment', ], 'members' => [ 'order' => [ 'shape' => 'Integer', ], 'computeEnvironment' => [ 'shape' => 'String', ], ], ], 'ComputeEnvironmentOrders' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComputeEnvironmentOrder', ], ], 'ComputeResource' => [ 'type' => 'structure', 'required' => [ 'type', 'minvCpus', 'maxvCpus', 'instanceTypes', 'subnets', 'instanceRole', ], 'members' => [ 'type' => [ 'shape' => 'CRType', ], 'minvCpus' => [ 'shape' => 'Integer', ], 'maxvCpus' => [ 'shape' => 'Integer', ], 'desiredvCpus' => [ 'shape' => 'Integer', ], 'instanceTypes' => [ 'shape' => 'StringList', ], 'imageId' => [ 'shape' => 'String', ], 'subnets' => [ 'shape' => 'StringList', ], 'securityGroupIds' => [ 'shape' => 'StringList', ], 'ec2KeyPair' => [ 'shape' => 'String', ], 'instanceRole' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'TagsMap', ], 'placementGroup' => [ 'shape' => 'String', ], 'bidPercentage' => [ 'shape' => 'Integer', ], 'spotIamFleetRole' => [ 'shape' => 'String', ], 'launchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], ], ], 'ComputeResourceUpdate' => [ 'type' => 'structure', 'members' => [ 'minvCpus' => [ 'shape' => 'Integer', ], 'maxvCpus' => [ 'shape' => 'Integer', ], 'desiredvCpus' => [ 'shape' => 'Integer', ], ], ], 'ContainerDetail' => [ 'type' => 'structure', 'members' => [ 'image' => [ 'shape' => 'String', ], 'vcpus' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'Integer', ], 'command' => [ 'shape' => 'StringList', ], 'jobRoleArn' => [ 'shape' => 'String', ], 'volumes' => [ 'shape' => 'Volumes', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], 'mountPoints' => [ 'shape' => 'MountPoints', ], 'readonlyRootFilesystem' => [ 'shape' => 'Boolean', ], 'ulimits' => [ 'shape' => 'Ulimits', ], 'privileged' => [ 'shape' => 'Boolean', ], 'user' => [ 'shape' => 'String', ], 'exitCode' => [ 'shape' => 'Integer', ], 'reason' => [ 'shape' => 'String', ], 'containerInstanceArn' => [ 'shape' => 'String', ], 'taskArn' => [ 'shape' => 'String', ], 'logStreamName' => [ 'shape' => 'String', ], 'instanceType' => [ 'shape' => 'String', ], 'networkInterfaces' => [ 'shape' => 'NetworkInterfaceList', ], 'resourceRequirements' => [ 'shape' => 'ResourceRequirements', ], ], ], 'ContainerOverrides' => [ 'type' => 'structure', 'members' => [ 'vcpus' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'Integer', ], 'command' => [ 'shape' => 'StringList', ], 'instanceType' => [ 'shape' => 'String', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], 'resourceRequirements' => [ 'shape' => 'ResourceRequirements', ], ], ], 'ContainerProperties' => [ 'type' => 'structure', 'members' => [ 'image' => [ 'shape' => 'String', ], 'vcpus' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'Integer', ], 'command' => [ 'shape' => 'StringList', ], 'jobRoleArn' => [ 'shape' => 'String', ], 'volumes' => [ 'shape' => 'Volumes', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], 'mountPoints' => [ 'shape' => 'MountPoints', ], 'readonlyRootFilesystem' => [ 'shape' => 'Boolean', ], 'privileged' => [ 'shape' => 'Boolean', ], 'ulimits' => [ 'shape' => 'Ulimits', ], 'user' => [ 'shape' => 'String', ], 'instanceType' => [ 'shape' => 'String', ], 'resourceRequirements' => [ 'shape' => 'ResourceRequirements', ], ], ], 'ContainerSummary' => [ 'type' => 'structure', 'members' => [ 'exitCode' => [ 'shape' => 'Integer', ], 'reason' => [ 'shape' => 'String', ], ], ], 'CreateComputeEnvironmentRequest' => [ 'type' => 'structure', 'required' => [ 'computeEnvironmentName', 'type', 'serviceRole', ], 'members' => [ 'computeEnvironmentName' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'CEType', ], 'state' => [ 'shape' => 'CEState', ], 'computeResources' => [ 'shape' => 'ComputeResource', ], 'serviceRole' => [ 'shape' => 'String', ], ], ], 'CreateComputeEnvironmentResponse' => [ 'type' => 'structure', 'members' => [ 'computeEnvironmentName' => [ 'shape' => 'String', ], 'computeEnvironmentArn' => [ 'shape' => 'String', ], ], ], 'CreateJobQueueRequest' => [ 'type' => 'structure', 'required' => [ 'jobQueueName', 'priority', 'computeEnvironmentOrder', ], 'members' => [ 'jobQueueName' => [ 'shape' => 'String', ], 'state' => [ 'shape' => 'JQState', ], 'priority' => [ 'shape' => 'Integer', ], 'computeEnvironmentOrder' => [ 'shape' => 'ComputeEnvironmentOrders', ], ], ], 'CreateJobQueueResponse' => [ 'type' => 'structure', 'required' => [ 'jobQueueName', 'jobQueueArn', ], 'members' => [ 'jobQueueName' => [ 'shape' => 'String', ], 'jobQueueArn' => [ 'shape' => 'String', ], ], ], 'DeleteComputeEnvironmentRequest' => [ 'type' => 'structure', 'required' => [ 'computeEnvironment', ], 'members' => [ 'computeEnvironment' => [ 'shape' => 'String', ], ], ], 'DeleteComputeEnvironmentResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteJobQueueRequest' => [ 'type' => 'structure', 'required' => [ 'jobQueue', ], 'members' => [ 'jobQueue' => [ 'shape' => 'String', ], ], ], 'DeleteJobQueueResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterJobDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'jobDefinition', ], 'members' => [ 'jobDefinition' => [ 'shape' => 'String', ], ], ], 'DeregisterJobDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeComputeEnvironmentsRequest' => [ 'type' => 'structure', 'members' => [ 'computeEnvironments' => [ 'shape' => 'StringList', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComputeEnvironmentsResponse' => [ 'type' => 'structure', 'members' => [ 'computeEnvironments' => [ 'shape' => 'ComputeEnvironmentDetailList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeJobDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'jobDefinitions' => [ 'shape' => 'StringList', ], 'maxResults' => [ 'shape' => 'Integer', ], 'jobDefinitionName' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeJobDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'jobDefinitions' => [ 'shape' => 'JobDefinitionList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeJobQueuesRequest' => [ 'type' => 'structure', 'members' => [ 'jobQueues' => [ 'shape' => 'StringList', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeJobQueuesResponse' => [ 'type' => 'structure', 'members' => [ 'jobQueues' => [ 'shape' => 'JobQueueDetailList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeJobsRequest' => [ 'type' => 'structure', 'required' => [ 'jobs', ], 'members' => [ 'jobs' => [ 'shape' => 'StringList', ], ], ], 'DescribeJobsResponse' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'JobDetailList', ], ], ], 'EnvironmentVariables' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValuePair', ], ], 'Host' => [ 'type' => 'structure', 'members' => [ 'sourcePath' => [ 'shape' => 'String', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'JQState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'JQStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'DELETED', 'VALID', 'INVALID', ], ], 'JobDefinition' => [ 'type' => 'structure', 'required' => [ 'jobDefinitionName', 'jobDefinitionArn', 'revision', 'type', ], 'members' => [ 'jobDefinitionName' => [ 'shape' => 'String', ], 'jobDefinitionArn' => [ 'shape' => 'String', ], 'revision' => [ 'shape' => 'Integer', ], 'status' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'String', ], 'parameters' => [ 'shape' => 'ParametersMap', ], 'retryStrategy' => [ 'shape' => 'RetryStrategy', ], 'containerProperties' => [ 'shape' => 'ContainerProperties', ], 'timeout' => [ 'shape' => 'JobTimeout', ], 'nodeProperties' => [ 'shape' => 'NodeProperties', ], ], ], 'JobDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobDefinition', ], ], 'JobDefinitionType' => [ 'type' => 'string', 'enum' => [ 'container', 'multinode', ], ], 'JobDependency' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'ArrayJobDependency', ], ], ], 'JobDependencyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobDependency', ], ], 'JobDetail' => [ 'type' => 'structure', 'required' => [ 'jobName', 'jobId', 'jobQueue', 'status', 'startedAt', 'jobDefinition', ], 'members' => [ 'jobName' => [ 'shape' => 'String', ], 'jobId' => [ 'shape' => 'String', ], 'jobQueue' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'JobStatus', ], 'attempts' => [ 'shape' => 'AttemptDetails', ], 'statusReason' => [ 'shape' => 'String', ], 'createdAt' => [ 'shape' => 'Long', ], 'retryStrategy' => [ 'shape' => 'RetryStrategy', ], 'startedAt' => [ 'shape' => 'Long', ], 'stoppedAt' => [ 'shape' => 'Long', ], 'dependsOn' => [ 'shape' => 'JobDependencyList', ], 'jobDefinition' => [ 'shape' => 'String', ], 'parameters' => [ 'shape' => 'ParametersMap', ], 'container' => [ 'shape' => 'ContainerDetail', ], 'nodeDetails' => [ 'shape' => 'NodeDetails', ], 'nodeProperties' => [ 'shape' => 'NodeProperties', ], 'arrayProperties' => [ 'shape' => 'ArrayPropertiesDetail', ], 'timeout' => [ 'shape' => 'JobTimeout', ], ], ], 'JobDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobDetail', ], ], 'JobQueueDetail' => [ 'type' => 'structure', 'required' => [ 'jobQueueName', 'jobQueueArn', 'state', 'priority', 'computeEnvironmentOrder', ], 'members' => [ 'jobQueueName' => [ 'shape' => 'String', ], 'jobQueueArn' => [ 'shape' => 'String', ], 'state' => [ 'shape' => 'JQState', ], 'status' => [ 'shape' => 'JQStatus', ], 'statusReason' => [ 'shape' => 'String', ], 'priority' => [ 'shape' => 'Integer', ], 'computeEnvironmentOrder' => [ 'shape' => 'ComputeEnvironmentOrders', ], ], ], 'JobQueueDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobQueueDetail', ], ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'PENDING', 'RUNNABLE', 'STARTING', 'RUNNING', 'SUCCEEDED', 'FAILED', ], ], 'JobSummary' => [ 'type' => 'structure', 'required' => [ 'jobId', 'jobName', ], 'members' => [ 'jobId' => [ 'shape' => 'String', ], 'jobName' => [ 'shape' => 'String', ], 'createdAt' => [ 'shape' => 'Long', ], 'status' => [ 'shape' => 'JobStatus', ], 'statusReason' => [ 'shape' => 'String', ], 'startedAt' => [ 'shape' => 'Long', ], 'stoppedAt' => [ 'shape' => 'Long', ], 'container' => [ 'shape' => 'ContainerSummary', ], 'arrayProperties' => [ 'shape' => 'ArrayPropertiesSummary', ], 'nodeProperties' => [ 'shape' => 'NodePropertiesSummary', ], ], ], 'JobSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobSummary', ], ], 'JobTimeout' => [ 'type' => 'structure', 'members' => [ 'attemptDurationSeconds' => [ 'shape' => 'Integer', ], ], ], 'KeyValuePair' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateSpecification' => [ 'type' => 'structure', 'members' => [ 'launchTemplateId' => [ 'shape' => 'String', ], 'launchTemplateName' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'String', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'jobQueue' => [ 'shape' => 'String', ], 'arrayJobId' => [ 'shape' => 'String', ], 'multiNodeJobId' => [ 'shape' => 'String', ], 'jobStatus' => [ 'shape' => 'JobStatus', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListJobsResponse' => [ 'type' => 'structure', 'required' => [ 'jobSummaryList', ], 'members' => [ 'jobSummaryList' => [ 'shape' => 'JobSummaryList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', ], 'MountPoint' => [ 'type' => 'structure', 'members' => [ 'containerPath' => [ 'shape' => 'String', ], 'readOnly' => [ 'shape' => 'Boolean', ], 'sourceVolume' => [ 'shape' => 'String', ], ], ], 'MountPoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'MountPoint', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'attachmentId' => [ 'shape' => 'String', ], 'ipv6Address' => [ 'shape' => 'String', ], 'privateIpv4Address' => [ 'shape' => 'String', ], ], ], 'NetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', ], ], 'NodeDetails' => [ 'type' => 'structure', 'members' => [ 'nodeIndex' => [ 'shape' => 'Integer', ], 'isMainNode' => [ 'shape' => 'Boolean', ], ], ], 'NodeOverrides' => [ 'type' => 'structure', 'members' => [ 'numNodes' => [ 'shape' => 'Integer', ], 'nodePropertyOverrides' => [ 'shape' => 'NodePropertyOverrides', ], ], ], 'NodeProperties' => [ 'type' => 'structure', 'required' => [ 'numNodes', 'mainNode', 'nodeRangeProperties', ], 'members' => [ 'numNodes' => [ 'shape' => 'Integer', ], 'mainNode' => [ 'shape' => 'Integer', ], 'nodeRangeProperties' => [ 'shape' => 'NodeRangeProperties', ], ], ], 'NodePropertiesSummary' => [ 'type' => 'structure', 'members' => [ 'isMainNode' => [ 'shape' => 'Boolean', ], 'numNodes' => [ 'shape' => 'Integer', ], 'nodeIndex' => [ 'shape' => 'Integer', ], ], ], 'NodePropertyOverride' => [ 'type' => 'structure', 'required' => [ 'targetNodes', ], 'members' => [ 'targetNodes' => [ 'shape' => 'String', ], 'containerOverrides' => [ 'shape' => 'ContainerOverrides', ], ], ], 'NodePropertyOverrides' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodePropertyOverride', ], ], 'NodeRangeProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeRangeProperty', ], ], 'NodeRangeProperty' => [ 'type' => 'structure', 'required' => [ 'targetNodes', ], 'members' => [ 'targetNodes' => [ 'shape' => 'String', ], 'container' => [ 'shape' => 'ContainerProperties', ], ], ], 'ParametersMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'RegisterJobDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'jobDefinitionName', 'type', ], 'members' => [ 'jobDefinitionName' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'JobDefinitionType', ], 'parameters' => [ 'shape' => 'ParametersMap', ], 'containerProperties' => [ 'shape' => 'ContainerProperties', ], 'nodeProperties' => [ 'shape' => 'NodeProperties', ], 'retryStrategy' => [ 'shape' => 'RetryStrategy', ], 'timeout' => [ 'shape' => 'JobTimeout', ], ], ], 'RegisterJobDefinitionResponse' => [ 'type' => 'structure', 'required' => [ 'jobDefinitionName', 'jobDefinitionArn', 'revision', ], 'members' => [ 'jobDefinitionName' => [ 'shape' => 'String', ], 'jobDefinitionArn' => [ 'shape' => 'String', ], 'revision' => [ 'shape' => 'Integer', ], ], ], 'ResourceRequirement' => [ 'type' => 'structure', 'required' => [ 'value', 'type', ], 'members' => [ 'value' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'ResourceType', ], ], ], 'ResourceRequirements' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceRequirement', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'GPU', ], ], 'RetryStrategy' => [ 'type' => 'structure', 'members' => [ 'attempts' => [ 'shape' => 'Integer', ], ], ], 'ServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubmitJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobName', 'jobQueue', 'jobDefinition', ], 'members' => [ 'jobName' => [ 'shape' => 'String', ], 'jobQueue' => [ 'shape' => 'String', ], 'arrayProperties' => [ 'shape' => 'ArrayProperties', ], 'dependsOn' => [ 'shape' => 'JobDependencyList', ], 'jobDefinition' => [ 'shape' => 'String', ], 'parameters' => [ 'shape' => 'ParametersMap', ], 'containerOverrides' => [ 'shape' => 'ContainerOverrides', ], 'nodeOverrides' => [ 'shape' => 'NodeOverrides', ], 'retryStrategy' => [ 'shape' => 'RetryStrategy', ], 'timeout' => [ 'shape' => 'JobTimeout', ], ], ], 'SubmitJobResponse' => [ 'type' => 'structure', 'required' => [ 'jobName', 'jobId', ], 'members' => [ 'jobName' => [ 'shape' => 'String', ], 'jobId' => [ 'shape' => 'String', ], ], ], 'TagsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'TerminateJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'reason', ], 'members' => [ 'jobId' => [ 'shape' => 'String', ], 'reason' => [ 'shape' => 'String', ], ], ], 'TerminateJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'Ulimit' => [ 'type' => 'structure', 'required' => [ 'hardLimit', 'name', 'softLimit', ], 'members' => [ 'hardLimit' => [ 'shape' => 'Integer', ], 'name' => [ 'shape' => 'String', ], 'softLimit' => [ 'shape' => 'Integer', ], ], ], 'Ulimits' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ulimit', ], ], 'UpdateComputeEnvironmentRequest' => [ 'type' => 'structure', 'required' => [ 'computeEnvironment', ], 'members' => [ 'computeEnvironment' => [ 'shape' => 'String', ], 'state' => [ 'shape' => 'CEState', ], 'computeResources' => [ 'shape' => 'ComputeResourceUpdate', ], 'serviceRole' => [ 'shape' => 'String', ], ], ], 'UpdateComputeEnvironmentResponse' => [ 'type' => 'structure', 'members' => [ 'computeEnvironmentName' => [ 'shape' => 'String', ], 'computeEnvironmentArn' => [ 'shape' => 'String', ], ], ], 'UpdateJobQueueRequest' => [ 'type' => 'structure', 'required' => [ 'jobQueue', ], 'members' => [ 'jobQueue' => [ 'shape' => 'String', ], 'state' => [ 'shape' => 'JQState', ], 'priority' => [ 'shape' => 'Integer', ], 'computeEnvironmentOrder' => [ 'shape' => 'ComputeEnvironmentOrders', ], ], ], 'UpdateJobQueueResponse' => [ 'type' => 'structure', 'members' => [ 'jobQueueName' => [ 'shape' => 'String', ], 'jobQueueArn' => [ 'shape' => 'String', ], ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'host' => [ 'shape' => 'Host', ], 'name' => [ 'shape' => 'String', ], ], ], 'Volumes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', ], ], ],]; diff --git a/lib/aws/Aws/data/batch/2016-08-10/paginators-1.json.php b/lib/aws/Aws/data/batch/2016-08-10/paginators-1.json.php new file mode 100644 index 0000000..7c1985a --- /dev/null +++ b/lib/aws/Aws/data/batch/2016-08-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/batch/2016-08-10/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/batch/2016-08-10/smoke.json.php b/lib/aws/Aws/data/batch/2016-08-10/smoke.json.php new file mode 100644 index 0000000..e3aa487 --- /dev/null +++ b/lib/aws/Aws/data/batch/2016-08-10/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/batch/2016-08-10/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeComputeEnvironments', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/budgets/2016-10-20/api-2.json.php b/lib/aws/Aws/data/budgets/2016-10-20/api-2.json.php new file mode 100644 index 0000000..cb03f19 --- /dev/null +++ b/lib/aws/Aws/data/budgets/2016-10-20/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-10-20', 'endpointPrefix' => 'budgets', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWSBudgets', 'serviceFullName' => 'AWS Budgets', 'serviceId' => 'Budgets', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSBudgetServiceGateway', 'uid' => 'budgets-2016-10-20', ], 'operations' => [ 'CreateBudget' => [ 'name' => 'CreateBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBudgetRequest', ], 'output' => [ 'shape' => 'CreateBudgetResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], ], ], 'CreateNotification' => [ 'name' => 'CreateNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNotificationRequest', ], 'output' => [ 'shape' => 'CreateNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], ], ], 'CreateSubscriber' => [ 'name' => 'CreateSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubscriberRequest', ], 'output' => [ 'shape' => 'CreateSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteBudget' => [ 'name' => 'DeleteBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBudgetRequest', ], 'output' => [ 'shape' => 'DeleteBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteNotification' => [ 'name' => 'DeleteNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotificationRequest', ], 'output' => [ 'shape' => 'DeleteNotificationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteSubscriber' => [ 'name' => 'DeleteSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubscriberRequest', ], 'output' => [ 'shape' => 'DeleteSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DescribeBudget' => [ 'name' => 'DescribeBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetRequest', ], 'output' => [ 'shape' => 'DescribeBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DescribeBudgetPerformanceHistory' => [ 'name' => 'DescribeBudgetPerformanceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetPerformanceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeBudgetPerformanceHistoryResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'DescribeBudgets' => [ 'name' => 'DescribeBudgets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetsRequest', ], 'output' => [ 'shape' => 'DescribeBudgetsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'DescribeNotificationsForBudget' => [ 'name' => 'DescribeNotificationsForBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNotificationsForBudgetRequest', ], 'output' => [ 'shape' => 'DescribeNotificationsForBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'DescribeSubscribersForNotification' => [ 'name' => 'DescribeSubscribersForNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubscribersForNotificationRequest', ], 'output' => [ 'shape' => 'DescribeSubscribersForNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'UpdateBudget' => [ 'name' => 'UpdateBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBudgetRequest', ], 'output' => [ 'shape' => 'UpdateBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], ], ], 'UpdateNotification' => [ 'name' => 'UpdateNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNotificationRequest', ], 'output' => [ 'shape' => 'UpdateNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DuplicateRecordException', ], ], ], 'UpdateSubscriber' => [ 'name' => 'UpdateSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSubscriberRequest', ], 'output' => [ 'shape' => 'UpdateSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DuplicateRecordException', ], ], ], ], 'shapes' => [ 'AccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '\\d{12}', ], 'Budget' => [ 'type' => 'structure', 'required' => [ 'BudgetName', 'TimeUnit', 'BudgetType', ], 'members' => [ 'BudgetName' => [ 'shape' => 'BudgetName', ], 'BudgetLimit' => [ 'shape' => 'Spend', ], 'CostFilters' => [ 'shape' => 'CostFilters', ], 'CostTypes' => [ 'shape' => 'CostTypes', ], 'TimeUnit' => [ 'shape' => 'TimeUnit', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], 'CalculatedSpend' => [ 'shape' => 'CalculatedSpend', ], 'BudgetType' => [ 'shape' => 'BudgetType', ], 'LastUpdatedTime' => [ 'shape' => 'GenericTimestamp', ], ], ], 'BudgetName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[^:\\\\]+', ], 'BudgetPerformanceHistory' => [ 'type' => 'structure', 'members' => [ 'BudgetName' => [ 'shape' => 'BudgetName', ], 'BudgetType' => [ 'shape' => 'BudgetType', ], 'CostFilters' => [ 'shape' => 'CostFilters', ], 'CostTypes' => [ 'shape' => 'CostTypes', ], 'TimeUnit' => [ 'shape' => 'TimeUnit', ], 'BudgetedAndActualAmountsList' => [ 'shape' => 'BudgetedAndActualAmountsList', ], ], ], 'BudgetType' => [ 'type' => 'string', 'enum' => [ 'USAGE', 'COST', 'RI_UTILIZATION', 'RI_COVERAGE', ], ], 'BudgetedAndActualAmounts' => [ 'type' => 'structure', 'members' => [ 'BudgetedAmount' => [ 'shape' => 'Spend', ], 'ActualAmount' => [ 'shape' => 'Spend', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], ], ], 'BudgetedAndActualAmountsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BudgetedAndActualAmounts', ], ], 'Budgets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Budget', ], ], 'CalculatedSpend' => [ 'type' => 'structure', 'required' => [ 'ActualSpend', ], 'members' => [ 'ActualSpend' => [ 'shape' => 'Spend', ], 'ForecastedSpend' => [ 'shape' => 'Spend', ], ], ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GREATER_THAN', 'LESS_THAN', 'EQUAL_TO', ], ], 'CostFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'GenericString', ], 'value' => [ 'shape' => 'DimensionValues', ], ], 'CostTypes' => [ 'type' => 'structure', 'members' => [ 'IncludeTax' => [ 'shape' => 'NullableBoolean', ], 'IncludeSubscription' => [ 'shape' => 'NullableBoolean', ], 'UseBlended' => [ 'shape' => 'NullableBoolean', ], 'IncludeRefund' => [ 'shape' => 'NullableBoolean', ], 'IncludeCredit' => [ 'shape' => 'NullableBoolean', ], 'IncludeUpfront' => [ 'shape' => 'NullableBoolean', ], 'IncludeRecurring' => [ 'shape' => 'NullableBoolean', ], 'IncludeOtherSubscription' => [ 'shape' => 'NullableBoolean', ], 'IncludeSupport' => [ 'shape' => 'NullableBoolean', ], 'IncludeDiscount' => [ 'shape' => 'NullableBoolean', ], 'UseAmortized' => [ 'shape' => 'NullableBoolean', ], ], ], 'CreateBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'Budget', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Budget' => [ 'shape' => 'Budget', ], 'NotificationsWithSubscribers' => [ 'shape' => 'NotificationWithSubscribersList', ], ], ], 'CreateBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscribers', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'CreateNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscriber' => [ 'shape' => 'Subscriber', ], ], ], 'CreateSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreationLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'DeleteBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], ], ], 'DeleteBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], ], ], 'DeleteNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscriber' => [ 'shape' => 'Subscriber', ], ], ], 'DeleteSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeBudgetPerformanceHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetPerformanceHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'BudgetPerformanceHistory' => [ 'shape' => 'BudgetPerformanceHistory', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], ], ], 'DescribeBudgetResponse' => [ 'type' => 'structure', 'members' => [ 'Budget' => [ 'shape' => 'Budget', ], ], ], 'DescribeBudgetsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetsResponse' => [ 'type' => 'structure', 'members' => [ 'Budgets' => [ 'shape' => 'Budgets', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeNotificationsForBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeNotificationsForBudgetResponse' => [ 'type' => 'structure', 'members' => [ 'Notifications' => [ 'shape' => 'Notifications', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeSubscribersForNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeSubscribersForNotificationResponse' => [ 'type' => 'structure', 'members' => [ 'Subscribers' => [ 'shape' => 'Subscribers', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DimensionValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], ], 'DuplicateRecordException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'ExpiredNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'GenericString' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 0, 'pattern' => '.*', ], 'GenericTimestamp' => [ 'type' => 'timestamp', ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Notification' => [ 'type' => 'structure', 'required' => [ 'NotificationType', 'ComparisonOperator', 'Threshold', ], 'members' => [ 'NotificationType' => [ 'shape' => 'NotificationType', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'Threshold' => [ 'shape' => 'NotificationThreshold', ], 'ThresholdType' => [ 'shape' => 'ThresholdType', ], 'NotificationState' => [ 'shape' => 'NotificationState', ], ], ], 'NotificationState' => [ 'type' => 'string', 'enum' => [ 'OK', 'ALARM', ], ], 'NotificationThreshold' => [ 'type' => 'double', 'max' => 1000000000, 'min' => 0, ], 'NotificationType' => [ 'type' => 'string', 'enum' => [ 'ACTUAL', 'FORECASTED', ], ], 'NotificationWithSubscribers' => [ 'type' => 'structure', 'required' => [ 'Notification', 'Subscribers', ], 'members' => [ 'Notification' => [ 'shape' => 'Notification', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'NotificationWithSubscribersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationWithSubscribers', ], 'max' => 5, ], 'Notifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'Notification', ], ], 'NullableBoolean' => [ 'type' => 'boolean', 'box' => true, ], 'NumericValue' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '([0-9]*\\.)?[0-9]+', ], 'Spend' => [ 'type' => 'structure', 'required' => [ 'Amount', 'Unit', ], 'members' => [ 'Amount' => [ 'shape' => 'NumericValue', ], 'Unit' => [ 'shape' => 'UnitValue', ], ], ], 'Subscriber' => [ 'type' => 'structure', 'required' => [ 'SubscriptionType', 'Address', ], 'members' => [ 'SubscriptionType' => [ 'shape' => 'SubscriptionType', ], 'Address' => [ 'shape' => 'SubscriberAddress', ], ], ], 'SubscriberAddress' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '.*', 'sensitive' => true, ], 'Subscribers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscriber', ], 'max' => 11, 'min' => 1, ], 'SubscriptionType' => [ 'type' => 'string', 'enum' => [ 'SNS', 'EMAIL', ], ], 'ThresholdType' => [ 'type' => 'string', 'enum' => [ 'PERCENTAGE', 'ABSOLUTE_VALUE', ], ], 'TimePeriod' => [ 'type' => 'structure', 'members' => [ 'Start' => [ 'shape' => 'GenericTimestamp', ], 'End' => [ 'shape' => 'GenericTimestamp', ], ], ], 'TimeUnit' => [ 'type' => 'string', 'enum' => [ 'DAILY', 'MONTHLY', 'QUARTERLY', 'ANNUALLY', ], ], 'UnitValue' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '.*', ], 'UpdateBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'NewBudget', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'NewBudget' => [ 'shape' => 'Budget', ], ], ], 'UpdateBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'OldNotification', 'NewNotification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'OldNotification' => [ 'shape' => 'Notification', ], 'NewNotification' => [ 'shape' => 'Notification', ], ], ], 'UpdateNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'OldSubscriber', 'NewSubscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'OldSubscriber' => [ 'shape' => 'Subscriber', ], 'NewSubscriber' => [ 'shape' => 'Subscriber', ], ], ], 'UpdateSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/budgets/2016-10-20/paginators-1.json.php b/lib/aws/Aws/data/budgets/2016-10-20/paginators-1.json.php new file mode 100644 index 0000000..ebfa78d --- /dev/null +++ b/lib/aws/Aws/data/budgets/2016-10-20/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/ce/2017-10-25/api-2.json.php b/lib/aws/Aws/data/ce/2017-10-25/api-2.json.php new file mode 100644 index 0000000..22b136d --- /dev/null +++ b/lib/aws/Aws/data/ce/2017-10-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ce/2017-10-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-25', 'endpointPrefix' => 'ce', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS Cost Explorer', 'serviceFullName' => 'AWS Cost Explorer Service', 'serviceId' => 'Cost Explorer', 'signatureVersion' => 'v4', 'signingName' => 'ce', 'targetPrefix' => 'AWSInsightsIndexService', 'uid' => 'ce-2017-10-25', ], 'operations' => [ 'GetCostAndUsage' => [ 'name' => 'GetCostAndUsage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCostAndUsageRequest', ], 'output' => [ 'shape' => 'GetCostAndUsageResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BillExpirationException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'RequestChangedException', ], ], ], 'GetCostForecast' => [ 'name' => 'GetCostForecast', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCostForecastRequest', ], 'output' => [ 'shape' => 'GetCostForecastResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DataUnavailableException', ], ], ], 'GetDimensionValues' => [ 'name' => 'GetDimensionValues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDimensionValuesRequest', ], 'output' => [ 'shape' => 'GetDimensionValuesResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BillExpirationException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'RequestChangedException', ], ], ], 'GetReservationCoverage' => [ 'name' => 'GetReservationCoverage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservationCoverageRequest', ], 'output' => [ 'shape' => 'GetReservationCoverageResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'GetReservationPurchaseRecommendation' => [ 'name' => 'GetReservationPurchaseRecommendation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservationPurchaseRecommendationRequest', ], 'output' => [ 'shape' => 'GetReservationPurchaseRecommendationResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'GetReservationUtilization' => [ 'name' => 'GetReservationUtilization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservationUtilizationRequest', ], 'output' => [ 'shape' => 'GetReservationUtilizationResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'GetTags' => [ 'name' => 'GetTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTagsRequest', ], 'output' => [ 'shape' => 'GetTagsResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BillExpirationException', ], [ 'shape' => 'DataUnavailableException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'RequestChangedException', ], ], ], ], 'shapes' => [ 'AccountScope' => [ 'type' => 'string', 'enum' => [ 'PAYER', 'LINKED', ], ], 'AmortizedRecurringFee' => [ 'type' => 'string', ], 'AmortizedUpfrontFee' => [ 'type' => 'string', ], 'AttributeType' => [ 'type' => 'string', ], 'AttributeValue' => [ 'type' => 'string', ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeType', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'BillExpirationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Context' => [ 'type' => 'string', 'enum' => [ 'COST_AND_USAGE', 'RESERVATIONS', ], ], 'Coverage' => [ 'type' => 'structure', 'members' => [ 'CoverageHours' => [ 'shape' => 'CoverageHours', ], 'CoverageNormalizedUnits' => [ 'shape' => 'CoverageNormalizedUnits', ], 'CoverageCost' => [ 'shape' => 'CoverageCost', ], ], ], 'CoverageByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationCoverageGroups', ], 'Total' => [ 'shape' => 'Coverage', ], ], ], 'CoverageCost' => [ 'type' => 'structure', 'members' => [ 'OnDemandCost' => [ 'shape' => 'OnDemandCost', ], ], ], 'CoverageHours' => [ 'type' => 'structure', 'members' => [ 'OnDemandHours' => [ 'shape' => 'OnDemandHours', ], 'ReservedHours' => [ 'shape' => 'ReservedHours', ], 'TotalRunningHours' => [ 'shape' => 'TotalRunningHours', ], 'CoverageHoursPercentage' => [ 'shape' => 'CoverageHoursPercentage', ], ], ], 'CoverageHoursPercentage' => [ 'type' => 'string', ], 'CoverageNormalizedUnits' => [ 'type' => 'structure', 'members' => [ 'OnDemandNormalizedUnits' => [ 'shape' => 'OnDemandNormalizedUnits', ], 'ReservedNormalizedUnits' => [ 'shape' => 'ReservedNormalizedUnits', ], 'TotalRunningNormalizedUnits' => [ 'shape' => 'TotalRunningNormalizedUnits', ], 'CoverageNormalizedUnitsPercentage' => [ 'shape' => 'CoverageNormalizedUnitsPercentage', ], ], ], 'CoverageNormalizedUnitsPercentage' => [ 'type' => 'string', ], 'CoveragesByTime' => [ 'type' => 'list', 'member' => [ 'shape' => 'CoverageByTime', ], ], 'DataUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DateInterval' => [ 'type' => 'structure', 'required' => [ 'Start', 'End', ], 'members' => [ 'Start' => [ 'shape' => 'YearMonthDay', ], 'End' => [ 'shape' => 'YearMonthDay', ], ], ], 'Dimension' => [ 'type' => 'string', 'enum' => [ 'AZ', 'INSTANCE_TYPE', 'LINKED_ACCOUNT', 'OPERATION', 'PURCHASE_TYPE', 'REGION', 'SERVICE', 'USAGE_TYPE', 'USAGE_TYPE_GROUP', 'RECORD_TYPE', 'OPERATING_SYSTEM', 'TENANCY', 'SCOPE', 'PLATFORM', 'SUBSCRIPTION_ID', 'LEGAL_ENTITY_NAME', 'DEPLOYMENT_OPTION', 'DATABASE_ENGINE', 'CACHE_ENGINE', 'INSTANCE_TYPE_FAMILY', 'BILLING_ENTITY', 'RESERVATION_ID', ], ], 'DimensionValues' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'Dimension', ], 'Values' => [ 'shape' => 'Values', ], ], ], 'DimensionValuesWithAttributes' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Value', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'DimensionValuesWithAttributesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DimensionValuesWithAttributes', ], ], 'EC2InstanceDetails' => [ 'type' => 'structure', 'members' => [ 'Family' => [ 'shape' => 'GenericString', ], 'InstanceType' => [ 'shape' => 'GenericString', ], 'Region' => [ 'shape' => 'GenericString', ], 'AvailabilityZone' => [ 'shape' => 'GenericString', ], 'Platform' => [ 'shape' => 'GenericString', ], 'Tenancy' => [ 'shape' => 'GenericString', ], 'CurrentGeneration' => [ 'shape' => 'GenericBoolean', ], 'SizeFlexEligible' => [ 'shape' => 'GenericBoolean', ], ], ], 'EC2Specification' => [ 'type' => 'structure', 'members' => [ 'OfferingClass' => [ 'shape' => 'OfferingClass', ], ], ], 'ESInstanceDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceClass' => [ 'shape' => 'GenericString', ], 'InstanceSize' => [ 'shape' => 'GenericString', ], 'Region' => [ 'shape' => 'GenericString', ], 'CurrentGeneration' => [ 'shape' => 'GenericBoolean', ], 'SizeFlexEligible' => [ 'shape' => 'GenericBoolean', ], ], ], 'ElastiCacheInstanceDetails' => [ 'type' => 'structure', 'members' => [ 'Family' => [ 'shape' => 'GenericString', ], 'NodeType' => [ 'shape' => 'GenericString', ], 'Region' => [ 'shape' => 'GenericString', ], 'ProductDescription' => [ 'shape' => 'GenericString', ], 'CurrentGeneration' => [ 'shape' => 'GenericBoolean', ], 'SizeFlexEligible' => [ 'shape' => 'GenericBoolean', ], ], ], 'Entity' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'Estimated' => [ 'type' => 'boolean', ], 'Expression' => [ 'type' => 'structure', 'members' => [ 'Or' => [ 'shape' => 'Expressions', ], 'And' => [ 'shape' => 'Expressions', ], 'Not' => [ 'shape' => 'Expression', ], 'Dimensions' => [ 'shape' => 'DimensionValues', ], 'Tags' => [ 'shape' => 'TagValues', ], ], ], 'Expressions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Expression', ], ], 'ForecastResult' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'MeanValue' => [ 'shape' => 'GenericString', ], 'PredictionIntervalLowerBound' => [ 'shape' => 'GenericString', ], 'PredictionIntervalUpperBound' => [ 'shape' => 'GenericString', ], ], ], 'ForecastResultsByTime' => [ 'type' => 'list', 'member' => [ 'shape' => 'ForecastResult', ], ], 'GenericBoolean' => [ 'type' => 'boolean', ], 'GenericString' => [ 'type' => 'string', ], 'GetCostAndUsageRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', ], 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Granularity' => [ 'shape' => 'Granularity', ], 'Filter' => [ 'shape' => 'Expression', ], 'Metrics' => [ 'shape' => 'MetricNames', ], 'GroupBy' => [ 'shape' => 'GroupDefinitions', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetCostAndUsageResponse' => [ 'type' => 'structure', 'members' => [ 'NextPageToken' => [ 'shape' => 'NextPageToken', ], 'GroupDefinitions' => [ 'shape' => 'GroupDefinitions', ], 'ResultsByTime' => [ 'shape' => 'ResultsByTime', ], ], ], 'GetCostForecastRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', 'Metric', 'Granularity', ], 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Metric' => [ 'shape' => 'Metric', ], 'Granularity' => [ 'shape' => 'Granularity', ], 'Filter' => [ 'shape' => 'Expression', ], 'PredictionIntervalLevel' => [ 'shape' => 'PredictionIntervalLevel', ], ], ], 'GetCostForecastResponse' => [ 'type' => 'structure', 'members' => [ 'Total' => [ 'shape' => 'MetricValue', ], 'ForecastResultsByTime' => [ 'shape' => 'ForecastResultsByTime', ], ], ], 'GetDimensionValuesRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', 'Dimension', ], 'members' => [ 'SearchString' => [ 'shape' => 'SearchString', ], 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Dimension' => [ 'shape' => 'Dimension', ], 'Context' => [ 'shape' => 'Context', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetDimensionValuesResponse' => [ 'type' => 'structure', 'required' => [ 'DimensionValues', 'ReturnSize', 'TotalSize', ], 'members' => [ 'DimensionValues' => [ 'shape' => 'DimensionValuesWithAttributesList', ], 'ReturnSize' => [ 'shape' => 'PageSize', ], 'TotalSize' => [ 'shape' => 'PageSize', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationCoverageRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', ], 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'GroupBy' => [ 'shape' => 'GroupDefinitions', ], 'Granularity' => [ 'shape' => 'Granularity', ], 'Filter' => [ 'shape' => 'Expression', ], 'Metrics' => [ 'shape' => 'MetricNames', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationCoverageResponse' => [ 'type' => 'structure', 'required' => [ 'CoveragesByTime', ], 'members' => [ 'CoveragesByTime' => [ 'shape' => 'CoveragesByTime', ], 'Total' => [ 'shape' => 'Coverage', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationPurchaseRecommendationRequest' => [ 'type' => 'structure', 'required' => [ 'Service', ], 'members' => [ 'AccountId' => [ 'shape' => 'GenericString', ], 'Service' => [ 'shape' => 'GenericString', ], 'AccountScope' => [ 'shape' => 'AccountScope', ], 'LookbackPeriodInDays' => [ 'shape' => 'LookbackPeriodInDays', ], 'TermInYears' => [ 'shape' => 'TermInYears', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', ], 'ServiceSpecification' => [ 'shape' => 'ServiceSpecification', ], 'PageSize' => [ 'shape' => 'NonNegativeInteger', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationPurchaseRecommendationResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'ReservationPurchaseRecommendationMetadata', ], 'Recommendations' => [ 'shape' => 'ReservationPurchaseRecommendations', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationUtilizationRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', ], 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'GroupBy' => [ 'shape' => 'GroupDefinitions', ], 'Granularity' => [ 'shape' => 'Granularity', ], 'Filter' => [ 'shape' => 'Expression', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetReservationUtilizationResponse' => [ 'type' => 'structure', 'required' => [ 'UtilizationsByTime', ], 'members' => [ 'UtilizationsByTime' => [ 'shape' => 'UtilizationsByTime', ], 'Total' => [ 'shape' => 'ReservationAggregates', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetTagsRequest' => [ 'type' => 'structure', 'required' => [ 'TimePeriod', ], 'members' => [ 'SearchString' => [ 'shape' => 'SearchString', ], 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'TagKey' => [ 'shape' => 'TagKey', ], 'NextPageToken' => [ 'shape' => 'NextPageToken', ], ], ], 'GetTagsResponse' => [ 'type' => 'structure', 'required' => [ 'Tags', 'ReturnSize', 'TotalSize', ], 'members' => [ 'NextPageToken' => [ 'shape' => 'NextPageToken', ], 'Tags' => [ 'shape' => 'TagList', ], 'ReturnSize' => [ 'shape' => 'PageSize', ], 'TotalSize' => [ 'shape' => 'PageSize', ], ], ], 'Granularity' => [ 'type' => 'string', 'enum' => [ 'DAILY', 'MONTHLY', 'HOURLY', ], ], 'Group' => [ 'type' => 'structure', 'members' => [ 'Keys' => [ 'shape' => 'Keys', ], 'Metrics' => [ 'shape' => 'Metrics', ], ], ], 'GroupDefinition' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'GroupDefinitionType', ], 'Key' => [ 'shape' => 'GroupDefinitionKey', ], ], ], 'GroupDefinitionKey' => [ 'type' => 'string', ], 'GroupDefinitionType' => [ 'type' => 'string', 'enum' => [ 'DIMENSION', 'TAG', ], ], 'GroupDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupDefinition', ], ], 'Groups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], ], 'InstanceDetails' => [ 'type' => 'structure', 'members' => [ 'EC2InstanceDetails' => [ 'shape' => 'EC2InstanceDetails', ], 'RDSInstanceDetails' => [ 'shape' => 'RDSInstanceDetails', ], 'RedshiftInstanceDetails' => [ 'shape' => 'RedshiftInstanceDetails', ], 'ElastiCacheInstanceDetails' => [ 'shape' => 'ElastiCacheInstanceDetails', ], 'ESInstanceDetails' => [ 'shape' => 'ESInstanceDetails', ], ], ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Key' => [ 'type' => 'string', ], 'Keys' => [ 'type' => 'list', 'member' => [ 'shape' => 'Key', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LookbackPeriodInDays' => [ 'type' => 'string', 'enum' => [ 'SEVEN_DAYS', 'THIRTY_DAYS', 'SIXTY_DAYS', ], ], 'Metric' => [ 'type' => 'string', 'enum' => [ 'BLENDED_COST', 'UNBLENDED_COST', 'AMORTIZED_COST', 'NET_UNBLENDED_COST', 'NET_AMORTIZED_COST', 'USAGE_QUANTITY', 'NORMALIZED_USAGE_AMOUNT', ], ], 'MetricAmount' => [ 'type' => 'string', ], 'MetricName' => [ 'type' => 'string', ], 'MetricNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricName', ], ], 'MetricUnit' => [ 'type' => 'string', ], 'MetricValue' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'MetricAmount', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], 'Metrics' => [ 'type' => 'map', 'key' => [ 'shape' => 'MetricName', ], 'value' => [ 'shape' => 'MetricValue', ], ], 'NetRISavings' => [ 'type' => 'string', ], 'NextPageToken' => [ 'type' => 'string', ], 'NonNegativeInteger' => [ 'type' => 'integer', 'min' => 0, ], 'OfferingClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'CONVERTIBLE', ], ], 'OnDemandCost' => [ 'type' => 'string', ], 'OnDemandCostOfRIHoursUsed' => [ 'type' => 'string', ], 'OnDemandHours' => [ 'type' => 'string', ], 'OnDemandNormalizedUnits' => [ 'type' => 'string', ], 'PageSize' => [ 'type' => 'integer', ], 'PaymentOption' => [ 'type' => 'string', 'enum' => [ 'NO_UPFRONT', 'PARTIAL_UPFRONT', 'ALL_UPFRONT', 'LIGHT_UTILIZATION', 'MEDIUM_UTILIZATION', 'HEAVY_UTILIZATION', ], ], 'PredictionIntervalLevel' => [ 'type' => 'integer', 'max' => 99, 'min' => 51, ], 'PurchasedHours' => [ 'type' => 'string', ], 'PurchasedUnits' => [ 'type' => 'string', ], 'RDSInstanceDetails' => [ 'type' => 'structure', 'members' => [ 'Family' => [ 'shape' => 'GenericString', ], 'InstanceType' => [ 'shape' => 'GenericString', ], 'Region' => [ 'shape' => 'GenericString', ], 'DatabaseEngine' => [ 'shape' => 'GenericString', ], 'DatabaseEdition' => [ 'shape' => 'GenericString', ], 'DeploymentOption' => [ 'shape' => 'GenericString', ], 'LicenseModel' => [ 'shape' => 'GenericString', ], 'CurrentGeneration' => [ 'shape' => 'GenericBoolean', ], 'SizeFlexEligible' => [ 'shape' => 'GenericBoolean', ], ], ], 'RedshiftInstanceDetails' => [ 'type' => 'structure', 'members' => [ 'Family' => [ 'shape' => 'GenericString', ], 'NodeType' => [ 'shape' => 'GenericString', ], 'Region' => [ 'shape' => 'GenericString', ], 'CurrentGeneration' => [ 'shape' => 'GenericBoolean', ], 'SizeFlexEligible' => [ 'shape' => 'GenericBoolean', ], ], ], 'RequestChangedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReservationAggregates' => [ 'type' => 'structure', 'members' => [ 'UtilizationPercentage' => [ 'shape' => 'UtilizationPercentage', ], 'UtilizationPercentageInUnits' => [ 'shape' => 'UtilizationPercentageInUnits', ], 'PurchasedHours' => [ 'shape' => 'PurchasedHours', ], 'PurchasedUnits' => [ 'shape' => 'PurchasedUnits', ], 'TotalActualHours' => [ 'shape' => 'TotalActualHours', ], 'TotalActualUnits' => [ 'shape' => 'TotalActualUnits', ], 'UnusedHours' => [ 'shape' => 'UnusedHours', ], 'UnusedUnits' => [ 'shape' => 'UnusedUnits', ], 'OnDemandCostOfRIHoursUsed' => [ 'shape' => 'OnDemandCostOfRIHoursUsed', ], 'NetRISavings' => [ 'shape' => 'NetRISavings', ], 'TotalPotentialRISavings' => [ 'shape' => 'TotalPotentialRISavings', ], 'AmortizedUpfrontFee' => [ 'shape' => 'AmortizedUpfrontFee', ], 'AmortizedRecurringFee' => [ 'shape' => 'AmortizedRecurringFee', ], 'TotalAmortizedFee' => [ 'shape' => 'TotalAmortizedFee', ], ], ], 'ReservationCoverageGroup' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'Attributes', ], 'Coverage' => [ 'shape' => 'Coverage', ], ], ], 'ReservationCoverageGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservationCoverageGroup', ], ], 'ReservationGroupKey' => [ 'type' => 'string', ], 'ReservationGroupValue' => [ 'type' => 'string', ], 'ReservationPurchaseRecommendation' => [ 'type' => 'structure', 'members' => [ 'AccountScope' => [ 'shape' => 'AccountScope', ], 'LookbackPeriodInDays' => [ 'shape' => 'LookbackPeriodInDays', ], 'TermInYears' => [ 'shape' => 'TermInYears', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', ], 'ServiceSpecification' => [ 'shape' => 'ServiceSpecification', ], 'RecommendationDetails' => [ 'shape' => 'ReservationPurchaseRecommendationDetails', ], 'RecommendationSummary' => [ 'shape' => 'ReservationPurchaseRecommendationSummary', ], ], ], 'ReservationPurchaseRecommendationDetail' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'GenericString', ], 'InstanceDetails' => [ 'shape' => 'InstanceDetails', ], 'RecommendedNumberOfInstancesToPurchase' => [ 'shape' => 'GenericString', ], 'RecommendedNormalizedUnitsToPurchase' => [ 'shape' => 'GenericString', ], 'MinimumNumberOfInstancesUsedPerHour' => [ 'shape' => 'GenericString', ], 'MinimumNormalizedUnitsUsedPerHour' => [ 'shape' => 'GenericString', ], 'MaximumNumberOfInstancesUsedPerHour' => [ 'shape' => 'GenericString', ], 'MaximumNormalizedUnitsUsedPerHour' => [ 'shape' => 'GenericString', ], 'AverageNumberOfInstancesUsedPerHour' => [ 'shape' => 'GenericString', ], 'AverageNormalizedUnitsUsedPerHour' => [ 'shape' => 'GenericString', ], 'AverageUtilization' => [ 'shape' => 'GenericString', ], 'EstimatedBreakEvenInMonths' => [ 'shape' => 'GenericString', ], 'CurrencyCode' => [ 'shape' => 'GenericString', ], 'EstimatedMonthlySavingsAmount' => [ 'shape' => 'GenericString', ], 'EstimatedMonthlySavingsPercentage' => [ 'shape' => 'GenericString', ], 'EstimatedMonthlyOnDemandCost' => [ 'shape' => 'GenericString', ], 'EstimatedReservationCostForLookbackPeriod' => [ 'shape' => 'GenericString', ], 'UpfrontCost' => [ 'shape' => 'GenericString', ], 'RecurringStandardMonthlyCost' => [ 'shape' => 'GenericString', ], ], ], 'ReservationPurchaseRecommendationDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservationPurchaseRecommendationDetail', ], ], 'ReservationPurchaseRecommendationMetadata' => [ 'type' => 'structure', 'members' => [ 'RecommendationId' => [ 'shape' => 'GenericString', ], 'GenerationTimestamp' => [ 'shape' => 'GenericString', ], ], ], 'ReservationPurchaseRecommendationSummary' => [ 'type' => 'structure', 'members' => [ 'TotalEstimatedMonthlySavingsAmount' => [ 'shape' => 'GenericString', ], 'TotalEstimatedMonthlySavingsPercentage' => [ 'shape' => 'GenericString', ], 'CurrencyCode' => [ 'shape' => 'GenericString', ], ], ], 'ReservationPurchaseRecommendations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservationPurchaseRecommendation', ], ], 'ReservationUtilizationGroup' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ReservationGroupKey', ], 'Value' => [ 'shape' => 'ReservationGroupValue', ], 'Attributes' => [ 'shape' => 'Attributes', ], 'Utilization' => [ 'shape' => 'ReservationAggregates', ], ], ], 'ReservationUtilizationGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservationUtilizationGroup', ], ], 'ReservedHours' => [ 'type' => 'string', ], 'ReservedNormalizedUnits' => [ 'type' => 'string', ], 'ResultByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Total' => [ 'shape' => 'Metrics', ], 'Groups' => [ 'shape' => 'Groups', ], 'Estimated' => [ 'shape' => 'Estimated', ], ], ], 'ResultsByTime' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResultByTime', ], ], 'SearchString' => [ 'type' => 'string', ], 'ServiceSpecification' => [ 'type' => 'structure', 'members' => [ 'EC2Specification' => [ 'shape' => 'EC2Specification', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Entity', ], ], 'TagValues' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Values' => [ 'shape' => 'Values', ], ], ], 'TermInYears' => [ 'type' => 'string', 'enum' => [ 'ONE_YEAR', 'THREE_YEARS', ], ], 'TotalActualHours' => [ 'type' => 'string', ], 'TotalActualUnits' => [ 'type' => 'string', ], 'TotalAmortizedFee' => [ 'type' => 'string', ], 'TotalPotentialRISavings' => [ 'type' => 'string', ], 'TotalRunningHours' => [ 'type' => 'string', ], 'TotalRunningNormalizedUnits' => [ 'type' => 'string', ], 'UnusedHours' => [ 'type' => 'string', ], 'UnusedUnits' => [ 'type' => 'string', ], 'UtilizationByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationUtilizationGroups', ], 'Total' => [ 'shape' => 'ReservationAggregates', ], ], ], 'UtilizationPercentage' => [ 'type' => 'string', ], 'UtilizationPercentageInUnits' => [ 'type' => 'string', ], 'UtilizationsByTime' => [ 'type' => 'list', 'member' => [ 'shape' => 'UtilizationByTime', ], ], 'Value' => [ 'type' => 'string', ], 'Values' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], 'YearMonthDay' => [ 'type' => 'string', 'pattern' => '(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?', ], ],]; diff --git a/lib/aws/Aws/data/ce/2017-10-25/paginators-1.json.php b/lib/aws/Aws/data/ce/2017-10-25/paginators-1.json.php new file mode 100644 index 0000000..5ebdca9 --- /dev/null +++ b/lib/aws/Aws/data/ce/2017-10-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ce/2017-10-25/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/chime/2018-05-01/api-2.json.php b/lib/aws/Aws/data/chime/2018-05-01/api-2.json.php new file mode 100644 index 0000000..7e65a10 --- /dev/null +++ b/lib/aws/Aws/data/chime/2018-05-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/chime/2018-05-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-05-01', 'endpointPrefix' => 'chime', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Chime', 'serviceId' => 'Chime', 'signatureVersion' => 'v4', 'uid' => 'chime-2018-05-01', ], 'operations' => [ 'AssociatePhoneNumberWithUser' => [ 'name' => 'AssociatePhoneNumberWithUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users/{userId}?operation=associate-phone-number', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AssociatePhoneNumberWithUserRequest', ], 'output' => [ 'shape' => 'AssociatePhoneNumberWithUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AssociatePhoneNumbersWithVoiceConnector' => [ 'name' => 'AssociatePhoneNumbersWithVoiceConnector', 'http' => [ 'method' => 'POST', 'requestUri' => '/voice-connectors/{voiceConnectorId}?operation=associate-phone-numbers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AssociatePhoneNumbersWithVoiceConnectorRequest', ], 'output' => [ 'shape' => 'AssociatePhoneNumbersWithVoiceConnectorResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'BatchDeletePhoneNumber' => [ 'name' => 'BatchDeletePhoneNumber', 'http' => [ 'method' => 'POST', 'requestUri' => '/phone-numbers?operation=batch-delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchDeletePhoneNumberRequest', ], 'output' => [ 'shape' => 'BatchDeletePhoneNumberResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'BatchSuspendUser' => [ 'name' => 'BatchSuspendUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users?operation=suspend', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchSuspendUserRequest', ], 'output' => [ 'shape' => 'BatchSuspendUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'BatchUnsuspendUser' => [ 'name' => 'BatchUnsuspendUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users?operation=unsuspend', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchUnsuspendUserRequest', ], 'output' => [ 'shape' => 'BatchUnsuspendUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'BatchUpdatePhoneNumber' => [ 'name' => 'BatchUpdatePhoneNumber', 'http' => [ 'method' => 'POST', 'requestUri' => '/phone-numbers?operation=batch-update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchUpdatePhoneNumberRequest', ], 'output' => [ 'shape' => 'BatchUpdatePhoneNumberResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'BatchUpdateUser' => [ 'name' => 'BatchUpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchUpdateUserRequest', ], 'output' => [ 'shape' => 'BatchUpdateUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateAccount' => [ 'name' => 'CreateAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAccountRequest', ], 'output' => [ 'shape' => 'CreateAccountResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreatePhoneNumberOrder' => [ 'name' => 'CreatePhoneNumberOrder', 'http' => [ 'method' => 'POST', 'requestUri' => '/phone-number-orders', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePhoneNumberOrderRequest', ], 'output' => [ 'shape' => 'CreatePhoneNumberOrderResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateVoiceConnector' => [ 'name' => 'CreateVoiceConnector', 'http' => [ 'method' => 'POST', 'requestUri' => '/voice-connectors', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateVoiceConnectorRequest', ], 'output' => [ 'shape' => 'CreateVoiceConnectorResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteAccount' => [ 'name' => 'DeleteAccount', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts/{accountId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteAccountRequest', ], 'output' => [ 'shape' => 'DeleteAccountResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeletePhoneNumber' => [ 'name' => 'DeletePhoneNumber', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/phone-numbers/{phoneNumberId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePhoneNumberRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteVoiceConnector' => [ 'name' => 'DeleteVoiceConnector', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/voice-connectors/{voiceConnectorId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVoiceConnectorRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteVoiceConnectorOrigination' => [ 'name' => 'DeleteVoiceConnectorOrigination', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/voice-connectors/{voiceConnectorId}/origination', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVoiceConnectorOriginationRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteVoiceConnectorTermination' => [ 'name' => 'DeleteVoiceConnectorTermination', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVoiceConnectorTerminationRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteVoiceConnectorTerminationCredentials' => [ 'name' => 'DeleteVoiceConnectorTerminationCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination/credentials?operation=delete', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVoiceConnectorTerminationCredentialsRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DisassociatePhoneNumberFromUser' => [ 'name' => 'DisassociatePhoneNumberFromUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users/{userId}?operation=disassociate-phone-number', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociatePhoneNumberFromUserRequest', ], 'output' => [ 'shape' => 'DisassociatePhoneNumberFromUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DisassociatePhoneNumbersFromVoiceConnector' => [ 'name' => 'DisassociatePhoneNumbersFromVoiceConnector', 'http' => [ 'method' => 'POST', 'requestUri' => '/voice-connectors/{voiceConnectorId}?operation=disassociate-phone-numbers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociatePhoneNumbersFromVoiceConnectorRequest', ], 'output' => [ 'shape' => 'DisassociatePhoneNumbersFromVoiceConnectorResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetAccount' => [ 'name' => 'GetAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{accountId}', ], 'input' => [ 'shape' => 'GetAccountRequest', ], 'output' => [ 'shape' => 'GetAccountResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetAccountSettings' => [ 'name' => 'GetAccountSettings', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{accountId}/settings', ], 'input' => [ 'shape' => 'GetAccountSettingsRequest', ], 'output' => [ 'shape' => 'GetAccountSettingsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetGlobalSettings' => [ 'name' => 'GetGlobalSettings', 'http' => [ 'method' => 'GET', 'requestUri' => '/settings', 'responseCode' => 200, ], 'output' => [ 'shape' => 'GetGlobalSettingsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetPhoneNumber' => [ 'name' => 'GetPhoneNumber', 'http' => [ 'method' => 'GET', 'requestUri' => '/phone-numbers/{phoneNumberId}', ], 'input' => [ 'shape' => 'GetPhoneNumberRequest', ], 'output' => [ 'shape' => 'GetPhoneNumberResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetPhoneNumberOrder' => [ 'name' => 'GetPhoneNumberOrder', 'http' => [ 'method' => 'GET', 'requestUri' => '/phone-number-orders/{phoneNumberOrderId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetPhoneNumberOrderRequest', ], 'output' => [ 'shape' => 'GetPhoneNumberOrderResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetUser' => [ 'name' => 'GetUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{accountId}/users/{userId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetUserRequest', ], 'output' => [ 'shape' => 'GetUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetUserSettings' => [ 'name' => 'GetUserSettings', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{accountId}/users/{userId}/settings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetUserSettingsRequest', ], 'output' => [ 'shape' => 'GetUserSettingsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetVoiceConnector' => [ 'name' => 'GetVoiceConnector', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors/{voiceConnectorId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetVoiceConnectorRequest', ], 'output' => [ 'shape' => 'GetVoiceConnectorResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetVoiceConnectorOrigination' => [ 'name' => 'GetVoiceConnectorOrigination', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors/{voiceConnectorId}/origination', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetVoiceConnectorOriginationRequest', ], 'output' => [ 'shape' => 'GetVoiceConnectorOriginationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetVoiceConnectorTermination' => [ 'name' => 'GetVoiceConnectorTermination', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetVoiceConnectorTerminationRequest', ], 'output' => [ 'shape' => 'GetVoiceConnectorTerminationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetVoiceConnectorTerminationHealth' => [ 'name' => 'GetVoiceConnectorTerminationHealth', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination/health', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetVoiceConnectorTerminationHealthRequest', ], 'output' => [ 'shape' => 'GetVoiceConnectorTerminationHealthResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'InviteUsers' => [ 'name' => 'InviteUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users?operation=add', 'responseCode' => 201, ], 'input' => [ 'shape' => 'InviteUsersRequest', ], 'output' => [ 'shape' => 'InviteUsersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAccounts' => [ 'name' => 'ListAccounts', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts', ], 'input' => [ 'shape' => 'ListAccountsRequest', ], 'output' => [ 'shape' => 'ListAccountsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListPhoneNumberOrders' => [ 'name' => 'ListPhoneNumberOrders', 'http' => [ 'method' => 'GET', 'requestUri' => '/phone-number-orders', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPhoneNumberOrdersRequest', ], 'output' => [ 'shape' => 'ListPhoneNumberOrdersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListPhoneNumbers' => [ 'name' => 'ListPhoneNumbers', 'http' => [ 'method' => 'GET', 'requestUri' => '/phone-numbers', ], 'input' => [ 'shape' => 'ListPhoneNumbersRequest', ], 'output' => [ 'shape' => 'ListPhoneNumbersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{accountId}/users', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListVoiceConnectorTerminationCredentials' => [ 'name' => 'ListVoiceConnectorTerminationCredentials', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination/credentials', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVoiceConnectorTerminationCredentialsRequest', ], 'output' => [ 'shape' => 'ListVoiceConnectorTerminationCredentialsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListVoiceConnectors' => [ 'name' => 'ListVoiceConnectors', 'http' => [ 'method' => 'GET', 'requestUri' => '/voice-connectors', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVoiceConnectorsRequest', ], 'output' => [ 'shape' => 'ListVoiceConnectorsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'LogoutUser' => [ 'name' => 'LogoutUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users/{userId}?operation=logout', 'responseCode' => 204, ], 'input' => [ 'shape' => 'LogoutUserRequest', ], 'output' => [ 'shape' => 'LogoutUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutVoiceConnectorOrigination' => [ 'name' => 'PutVoiceConnectorOrigination', 'http' => [ 'method' => 'PUT', 'requestUri' => '/voice-connectors/{voiceConnectorId}/origination', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutVoiceConnectorOriginationRequest', ], 'output' => [ 'shape' => 'PutVoiceConnectorOriginationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutVoiceConnectorTermination' => [ 'name' => 'PutVoiceConnectorTermination', 'http' => [ 'method' => 'PUT', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutVoiceConnectorTerminationRequest', ], 'output' => [ 'shape' => 'PutVoiceConnectorTerminationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutVoiceConnectorTerminationCredentials' => [ 'name' => 'PutVoiceConnectorTerminationCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/voice-connectors/{voiceConnectorId}/termination/credentials?operation=put', 'responseCode' => 204, ], 'input' => [ 'shape' => 'PutVoiceConnectorTerminationCredentialsRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ResetPersonalPIN' => [ 'name' => 'ResetPersonalPIN', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users/{userId}?operation=reset-personal-pin', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ResetPersonalPINRequest', ], 'output' => [ 'shape' => 'ResetPersonalPINResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'RestorePhoneNumber' => [ 'name' => 'RestorePhoneNumber', 'http' => [ 'method' => 'POST', 'requestUri' => '/phone-numbers/{phoneNumberId}?operation=restore', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RestorePhoneNumberRequest', ], 'output' => [ 'shape' => 'RestorePhoneNumberResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'SearchAvailablePhoneNumbers' => [ 'name' => 'SearchAvailablePhoneNumbers', 'http' => [ 'method' => 'GET', 'requestUri' => '/search?type=phone-numbers', ], 'input' => [ 'shape' => 'SearchAvailablePhoneNumbersRequest', ], 'output' => [ 'shape' => 'SearchAvailablePhoneNumbersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateAccount' => [ 'name' => 'UpdateAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateAccountRequest', ], 'output' => [ 'shape' => 'UpdateAccountResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateAccountSettings' => [ 'name' => 'UpdateAccountSettings', 'http' => [ 'method' => 'PUT', 'requestUri' => '/accounts/{accountId}/settings', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UpdateAccountSettingsRequest', ], 'output' => [ 'shape' => 'UpdateAccountSettingsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateGlobalSettings' => [ 'name' => 'UpdateGlobalSettings', 'http' => [ 'method' => 'PUT', 'requestUri' => '/settings', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UpdateGlobalSettingsRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdatePhoneNumber' => [ 'name' => 'UpdatePhoneNumber', 'http' => [ 'method' => 'POST', 'requestUri' => '/phone-numbers/{phoneNumberId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdatePhoneNumberRequest', ], 'output' => [ 'shape' => 'UpdatePhoneNumberResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{accountId}/users/{userId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'output' => [ 'shape' => 'UpdateUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateUserSettings' => [ 'name' => 'UpdateUserSettings', 'http' => [ 'method' => 'PUT', 'requestUri' => '/accounts/{accountId}/users/{userId}/settings', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UpdateUserSettingsRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateVoiceConnector' => [ 'name' => 'UpdateVoiceConnector', 'http' => [ 'method' => 'PUT', 'requestUri' => '/voice-connectors/{voiceConnectorId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVoiceConnectorRequest', ], 'output' => [ 'shape' => 'UpdateVoiceConnectorResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], ], 'shapes' => [ 'Account' => [ 'type' => 'structure', 'required' => [ 'AwsAccountId', 'AccountId', 'Name', ], 'members' => [ 'AwsAccountId' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'AccountType' => [ 'shape' => 'AccountType', ], 'CreatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'DefaultLicense' => [ 'shape' => 'License', ], 'SupportedLicenses' => [ 'shape' => 'LicenseList', ], ], ], 'AccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Account', ], ], 'AccountName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '.*\\S.*', ], 'AccountSettings' => [ 'type' => 'structure', 'members' => [ 'DisableRemoteControl' => [ 'shape' => 'Boolean', ], 'EnableDialOut' => [ 'shape' => 'Boolean', ], ], ], 'AccountType' => [ 'type' => 'string', 'enum' => [ 'Team', 'EnterpriseDirectory', 'EnterpriseLWA', 'EnterpriseOIDC', ], ], 'AssociatePhoneNumberWithUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', 'E164PhoneNumber', ], 'members' => [ 'AccountId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'userId', ], 'E164PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], ], ], 'AssociatePhoneNumberWithUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociatePhoneNumbersWithVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'E164PhoneNumbers' => [ 'shape' => 'E164PhoneNumberList', ], ], ], 'AssociatePhoneNumbersWithVoiceConnectorResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberErrors' => [ 'shape' => 'PhoneNumberErrorList', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'BatchDeletePhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberIds', ], 'members' => [ 'PhoneNumberIds' => [ 'shape' => 'NonEmptyStringList', ], ], ], 'BatchDeletePhoneNumberResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberErrors' => [ 'shape' => 'PhoneNumberErrorList', ], ], ], 'BatchSuspendUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserIdList', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserIdList' => [ 'shape' => 'UserIdList', ], ], ], 'BatchSuspendUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserErrors' => [ 'shape' => 'UserErrorList', ], ], ], 'BatchUnsuspendUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserIdList', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserIdList' => [ 'shape' => 'UserIdList', ], ], ], 'BatchUnsuspendUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserErrors' => [ 'shape' => 'UserErrorList', ], ], ], 'BatchUpdatePhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'UpdatePhoneNumberRequestItems', ], 'members' => [ 'UpdatePhoneNumberRequestItems' => [ 'shape' => 'UpdatePhoneNumberRequestItemList', ], ], ], 'BatchUpdatePhoneNumberResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberErrors' => [ 'shape' => 'PhoneNumberErrorList', ], ], ], 'BatchUpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UpdateUserRequestItems', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UpdateUserRequestItems' => [ 'shape' => 'UpdateUserRequestItemList', ], ], ], 'BatchUpdateUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserErrors' => [ 'shape' => 'UserErrorList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BusinessCallingSettings' => [ 'type' => 'structure', 'members' => [ 'CdrBucket' => [ 'shape' => 'String', 'box' => true, ], ], ], 'CallingRegion' => [ 'type' => 'string', ], 'CallingRegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CallingRegion', ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CpsLimit' => [ 'type' => 'integer', 'min' => 1, ], 'CreateAccountRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AccountName', ], ], ], 'CreateAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], ], ], 'CreatePhoneNumberOrderRequest' => [ 'type' => 'structure', 'required' => [ 'ProductType', 'E164PhoneNumbers', ], 'members' => [ 'ProductType' => [ 'shape' => 'PhoneNumberProductType', ], 'E164PhoneNumbers' => [ 'shape' => 'E164PhoneNumberList', ], ], ], 'CreatePhoneNumberOrderResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberOrder' => [ 'shape' => 'PhoneNumberOrder', ], ], ], 'CreateVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'RequireEncryption', ], 'members' => [ 'Name' => [ 'shape' => 'VoiceConnectorName', ], 'RequireEncryption' => [ 'shape' => 'Boolean', ], ], ], 'CreateVoiceConnectorResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceConnector' => [ 'shape' => 'VoiceConnector', ], ], ], 'Credential' => [ 'type' => 'structure', 'members' => [ 'Username' => [ 'shape' => 'SensitiveString', ], 'Password' => [ 'shape' => 'SensitiveString', ], ], ], 'CredentialList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Credential', ], ], 'DeleteAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'DeleteAccountResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberId', ], 'members' => [ 'PhoneNumberId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'phoneNumberId', ], ], ], 'DeleteVoiceConnectorOriginationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'DeleteVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'DeleteVoiceConnectorTerminationCredentialsRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'Usernames' => [ 'shape' => 'SensitiveStringList', ], ], ], 'DeleteVoiceConnectorTerminationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'DisassociatePhoneNumberFromUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'DisassociatePhoneNumberFromUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociatePhoneNumbersFromVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'E164PhoneNumbers' => [ 'shape' => 'E164PhoneNumberList', ], ], ], 'DisassociatePhoneNumbersFromVoiceConnectorResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberErrors' => [ 'shape' => 'PhoneNumberErrorList', ], ], ], 'E164PhoneNumber' => [ 'type' => 'string', 'pattern' => '^\\+?[1-9]\\d{1,14}$', 'sensitive' => true, ], 'E164PhoneNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'E164PhoneNumber', ], ], 'EmailAddress' => [ 'type' => 'string', 'pattern' => '.+@.+\\..+', 'sensitive' => true, ], 'EmailStatus' => [ 'type' => 'string', 'enum' => [ 'NotSent', 'Sent', 'Failed', ], ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'Unauthorized', 'Forbidden', 'NotFound', 'BadRequest', 'Conflict', 'ServiceFailure', 'ServiceUnavailable', 'Unprocessable', 'Throttled', 'PreconditionFailed', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'GetAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'GetAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], ], ], 'GetAccountSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'GetAccountSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'AccountSettings' => [ 'shape' => 'AccountSettings', ], ], ], 'GetGlobalSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'BusinessCalling' => [ 'shape' => 'BusinessCallingSettings', ], 'VoiceConnector' => [ 'shape' => 'VoiceConnectorSettings', ], ], ], 'GetPhoneNumberOrderRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberOrderId', ], 'members' => [ 'PhoneNumberOrderId' => [ 'shape' => 'GuidString', 'location' => 'uri', 'locationName' => 'phoneNumberOrderId', ], ], ], 'GetPhoneNumberOrderResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberOrder' => [ 'shape' => 'PhoneNumberOrder', ], ], ], 'GetPhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberId', ], 'members' => [ 'PhoneNumberId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'phoneNumberId', ], ], ], 'GetPhoneNumberResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'GetUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'GetUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'GetUserSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'GetUserSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'UserSettings' => [ 'shape' => 'UserSettings', ], ], ], 'GetVoiceConnectorOriginationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'GetVoiceConnectorOriginationResponse' => [ 'type' => 'structure', 'members' => [ 'Origination' => [ 'shape' => 'Origination', ], ], ], 'GetVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'GetVoiceConnectorResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceConnector' => [ 'shape' => 'VoiceConnector', ], ], ], 'GetVoiceConnectorTerminationHealthRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'GetVoiceConnectorTerminationHealthResponse' => [ 'type' => 'structure', 'members' => [ 'TerminationHealth' => [ 'shape' => 'TerminationHealth', ], ], ], 'GetVoiceConnectorTerminationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'GetVoiceConnectorTerminationResponse' => [ 'type' => 'structure', 'members' => [ 'Termination' => [ 'shape' => 'Termination', ], ], ], 'GuidString' => [ 'type' => 'string', 'pattern' => '[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}', ], 'Invite' => [ 'type' => 'structure', 'members' => [ 'InviteId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'InviteStatus', ], 'EmailAddress' => [ 'shape' => 'EmailAddress', ], 'EmailStatus' => [ 'shape' => 'EmailStatus', ], ], ], 'InviteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Invite', ], ], 'InviteStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Accepted', 'Failed', ], ], 'InviteUsersRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserEmailList', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserEmailList' => [ 'shape' => 'UserEmailList', ], ], ], 'InviteUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Invites' => [ 'shape' => 'InviteList', ], ], ], 'Iso8601Timestamp' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'License' => [ 'type' => 'string', 'enum' => [ 'Basic', 'Plus', 'Pro', 'ProTrial', ], ], 'LicenseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'License', ], ], 'ListAccountsRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'AccountName', 'location' => 'querystring', 'locationName' => 'name', ], 'UserEmail' => [ 'shape' => 'EmailAddress', 'location' => 'querystring', 'locationName' => 'user-email', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'ProfileServiceMaxResults', 'location' => 'querystring', 'locationName' => 'max-results', ], ], ], 'ListAccountsResponse' => [ 'type' => 'structure', 'members' => [ 'Accounts' => [ 'shape' => 'AccountList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListPhoneNumberOrdersRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'ResultMax', 'location' => 'querystring', 'locationName' => 'max-results', ], ], ], 'ListPhoneNumberOrdersResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberOrders' => [ 'shape' => 'PhoneNumberOrderList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListPhoneNumbersRequest' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'PhoneNumberStatus', 'location' => 'querystring', 'locationName' => 'status', ], 'ProductType' => [ 'shape' => 'PhoneNumberProductType', 'location' => 'querystring', 'locationName' => 'product-type', ], 'FilterName' => [ 'shape' => 'PhoneNumberAssociationName', 'location' => 'querystring', 'locationName' => 'filter-name', ], 'FilterValue' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'filter-value', ], 'MaxResults' => [ 'shape' => 'ResultMax', 'location' => 'querystring', 'locationName' => 'max-results', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], ], ], 'ListPhoneNumbersResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumbers' => [ 'shape' => 'PhoneNumberList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserEmail' => [ 'shape' => 'EmailAddress', 'location' => 'querystring', 'locationName' => 'user-email', ], 'MaxResults' => [ 'shape' => 'ProfileServiceMaxResults', 'location' => 'querystring', 'locationName' => 'max-results', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UserList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListVoiceConnectorTerminationCredentialsRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], ], ], 'ListVoiceConnectorTerminationCredentialsResponse' => [ 'type' => 'structure', 'members' => [ 'Usernames' => [ 'shape' => 'SensitiveStringList', ], ], ], 'ListVoiceConnectorsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'ResultMax', 'location' => 'querystring', 'locationName' => 'max-results', ], ], ], 'ListVoiceConnectorsResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceConnectors' => [ 'shape' => 'VoiceConnectorList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'LogoutUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'LogoutUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '.*\\S.*', ], 'NonEmptyStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NullableBoolean' => [ 'type' => 'boolean', ], 'OrderedPhoneNumber' => [ 'type' => 'structure', 'members' => [ 'E164PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], 'Status' => [ 'shape' => 'OrderedPhoneNumberStatus', ], ], ], 'OrderedPhoneNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderedPhoneNumber', ], ], 'OrderedPhoneNumberStatus' => [ 'type' => 'string', 'enum' => [ 'Processing', 'Acquired', 'Failed', ], ], 'Origination' => [ 'type' => 'structure', 'members' => [ 'Routes' => [ 'shape' => 'OriginationRouteList', ], 'Disabled' => [ 'shape' => 'Boolean', ], ], ], 'OriginationRoute' => [ 'type' => 'structure', 'members' => [ 'Host' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Port', ], 'Protocol' => [ 'shape' => 'OriginationRouteProtocol', ], 'Priority' => [ 'shape' => 'OriginationRoutePriority', ], 'Weight' => [ 'shape' => 'OriginationRouteWeight', ], ], ], 'OriginationRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginationRoute', ], ], 'OriginationRoutePriority' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'OriginationRouteProtocol' => [ 'type' => 'string', 'enum' => [ 'TCP', 'UDP', ], ], 'OriginationRouteWeight' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PhoneNumber' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberId' => [ 'shape' => 'String', ], 'E164PhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], 'ProductType' => [ 'shape' => 'PhoneNumberProductType', ], 'Status' => [ 'shape' => 'PhoneNumberStatus', ], 'Capabilities' => [ 'shape' => 'PhoneNumberCapabilities', ], 'Associations' => [ 'shape' => 'PhoneNumberAssociationList', ], 'CreatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'UpdatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'DeletionTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], ], ], 'PhoneNumberAssociation' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'PhoneNumberAssociationName', ], 'AssociatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], ], ], 'PhoneNumberAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhoneNumberAssociation', ], ], 'PhoneNumberAssociationName' => [ 'type' => 'string', 'enum' => [ 'AccountId', 'UserId', 'VoiceConnectorId', ], ], 'PhoneNumberCapabilities' => [ 'type' => 'structure', 'members' => [ 'InboundCall' => [ 'shape' => 'NullableBoolean', ], 'OutboundCall' => [ 'shape' => 'NullableBoolean', ], 'InboundSMS' => [ 'shape' => 'NullableBoolean', ], 'OutboundSMS' => [ 'shape' => 'NullableBoolean', ], 'InboundMMS' => [ 'shape' => 'NullableBoolean', ], 'OutboundMMS' => [ 'shape' => 'NullableBoolean', ], ], ], 'PhoneNumberError' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberId' => [ 'shape' => 'NonEmptyString', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'PhoneNumberErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhoneNumberError', ], ], 'PhoneNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhoneNumber', ], ], 'PhoneNumberMaxResults' => [ 'type' => 'integer', 'max' => 500, 'min' => 1, ], 'PhoneNumberOrder' => [ 'type' => 'structure', 'members' => [ 'PhoneNumberOrderId' => [ 'shape' => 'GuidString', ], 'ProductType' => [ 'shape' => 'PhoneNumberProductType', ], 'Status' => [ 'shape' => 'PhoneNumberOrderStatus', ], 'OrderedPhoneNumbers' => [ 'shape' => 'OrderedPhoneNumberList', ], 'CreatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'UpdatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], ], ], 'PhoneNumberOrderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhoneNumberOrder', ], ], 'PhoneNumberOrderStatus' => [ 'type' => 'string', 'enum' => [ 'Processing', 'Successful', 'Failed', 'Partial', ], ], 'PhoneNumberProductType' => [ 'type' => 'string', 'enum' => [ 'BusinessCalling', 'VoiceConnector', ], ], 'PhoneNumberStatus' => [ 'type' => 'string', 'enum' => [ 'AcquireInProgress', 'AcquireFailed', 'Unassigned', 'Assigned', 'ReleaseInProgress', 'DeleteInProgress', 'ReleaseFailed', 'DeleteFailed', ], ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 0, ], 'ProfileServiceMaxResults' => [ 'type' => 'integer', 'max' => 200, 'min' => 1, ], 'PutVoiceConnectorOriginationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', 'Origination', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'Origination' => [ 'shape' => 'Origination', ], ], ], 'PutVoiceConnectorOriginationResponse' => [ 'type' => 'structure', 'members' => [ 'Origination' => [ 'shape' => 'Origination', ], ], ], 'PutVoiceConnectorTerminationCredentialsRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'Credentials' => [ 'shape' => 'CredentialList', ], ], ], 'PutVoiceConnectorTerminationRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', 'Termination', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'Termination' => [ 'shape' => 'Termination', ], ], ], 'PutVoiceConnectorTerminationResponse' => [ 'type' => 'structure', 'members' => [ 'Termination' => [ 'shape' => 'Termination', ], ], ], 'RegistrationStatus' => [ 'type' => 'string', 'enum' => [ 'Unregistered', 'Registered', 'Suspended', ], ], 'ResetPersonalPINRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'ResetPersonalPINResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'RestorePhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberId', ], 'members' => [ 'PhoneNumberId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'phoneNumberId', ], ], ], 'RestorePhoneNumberResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'ResultMax' => [ 'type' => 'integer', 'max' => 99, 'min' => 1, ], 'SearchAvailablePhoneNumbersRequest' => [ 'type' => 'structure', 'members' => [ 'AreaCode' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'area-code', ], 'City' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'city', ], 'Country' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'country', ], 'State' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'state', ], 'MaxResults' => [ 'shape' => 'PhoneNumberMaxResults', 'location' => 'querystring', 'locationName' => 'max-results', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], ], ], 'SearchAvailablePhoneNumbersResponse' => [ 'type' => 'structure', 'members' => [ 'E164PhoneNumbers' => [ 'shape' => 'E164PhoneNumberList', ], ], ], 'SensitiveString' => [ 'type' => 'string', 'sensitive' => true, ], 'SensitiveStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SensitiveString', ], ], 'ServiceFailureException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TelephonySettings' => [ 'type' => 'structure', 'required' => [ 'InboundCalling', 'OutboundCalling', 'SMS', ], 'members' => [ 'InboundCalling' => [ 'shape' => 'Boolean', ], 'OutboundCalling' => [ 'shape' => 'Boolean', ], 'SMS' => [ 'shape' => 'Boolean', ], ], ], 'Termination' => [ 'type' => 'structure', 'members' => [ 'CpsLimit' => [ 'shape' => 'CpsLimit', ], 'DefaultPhoneNumber' => [ 'shape' => 'E164PhoneNumber', ], 'CallingRegions' => [ 'shape' => 'CallingRegionList', ], 'CidrAllowedList' => [ 'shape' => 'StringList', ], 'Disabled' => [ 'shape' => 'Boolean', ], ], ], 'TerminationHealth' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'Source' => [ 'shape' => 'String', ], ], ], 'ThrottledClientException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedClientException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UnprocessableEntityException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 422, ], 'exception' => true, ], 'UpdateAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'Name' => [ 'shape' => 'AccountName', ], ], ], 'UpdateAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], ], ], 'UpdateAccountSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'AccountSettings', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'AccountSettings' => [ 'shape' => 'AccountSettings', ], ], ], 'UpdateAccountSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateGlobalSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'BusinessCalling', 'VoiceConnector', ], 'members' => [ 'BusinessCalling' => [ 'shape' => 'BusinessCallingSettings', ], 'VoiceConnector' => [ 'shape' => 'VoiceConnectorSettings', ], ], ], 'UpdatePhoneNumberRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberId', ], 'members' => [ 'PhoneNumberId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'phoneNumberId', ], 'ProductType' => [ 'shape' => 'PhoneNumberProductType', ], ], ], 'UpdatePhoneNumberRequestItem' => [ 'type' => 'structure', 'required' => [ 'PhoneNumberId', ], 'members' => [ 'PhoneNumberId' => [ 'shape' => 'NonEmptyString', ], 'ProductType' => [ 'shape' => 'PhoneNumberProductType', ], ], ], 'UpdatePhoneNumberRequestItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpdatePhoneNumberRequestItem', ], ], 'UpdatePhoneNumberResponse' => [ 'type' => 'structure', 'members' => [ 'PhoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'userId', ], 'LicenseType' => [ 'shape' => 'License', ], ], ], 'UpdateUserRequestItem' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'NonEmptyString', ], 'LicenseType' => [ 'shape' => 'License', ], ], ], 'UpdateUserRequestItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpdateUserRequestItem', ], 'max' => 20, ], 'UpdateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'UpdateUserSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'UserId', 'UserSettings', ], 'members' => [ 'AccountId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'accountId', ], 'UserId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'userId', ], 'UserSettings' => [ 'shape' => 'UserSettings', ], ], ], 'UpdateVoiceConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'VoiceConnectorId', 'Name', 'RequireEncryption', ], 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'voiceConnectorId', ], 'Name' => [ 'shape' => 'VoiceConnectorName', ], 'RequireEncryption' => [ 'shape' => 'Boolean', ], ], ], 'UpdateVoiceConnectorResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceConnector' => [ 'shape' => 'VoiceConnector', ], ], ], 'User' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'PrimaryEmail' => [ 'shape' => 'EmailAddress', ], 'PrimaryProvisionedNumber' => [ 'shape' => 'SensitiveString', ], 'DisplayName' => [ 'shape' => 'SensitiveString', ], 'LicenseType' => [ 'shape' => 'License', ], 'UserRegistrationStatus' => [ 'shape' => 'RegistrationStatus', ], 'UserInvitationStatus' => [ 'shape' => 'InviteStatus', ], 'RegisteredOn' => [ 'shape' => 'Iso8601Timestamp', ], 'InvitedOn' => [ 'shape' => 'Iso8601Timestamp', ], 'PersonalPIN' => [ 'shape' => 'String', ], ], ], 'UserEmailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EmailAddress', ], 'max' => 50, ], 'UserError' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'NonEmptyString', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'UserErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserError', ], ], 'UserIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 50, ], 'UserList' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'UserSettings' => [ 'type' => 'structure', 'required' => [ 'Telephony', ], 'members' => [ 'Telephony' => [ 'shape' => 'TelephonySettings', ], ], ], 'VoiceConnector' => [ 'type' => 'structure', 'members' => [ 'VoiceConnectorId' => [ 'shape' => 'NonEmptyString', ], 'Name' => [ 'shape' => 'VoiceConnectorName', ], 'OutboundHostName' => [ 'shape' => 'String', ], 'RequireEncryption' => [ 'shape' => 'Boolean', ], 'CreatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], 'UpdatedTimestamp' => [ 'shape' => 'Iso8601Timestamp', ], ], ], 'VoiceConnectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VoiceConnector', ], ], 'VoiceConnectorName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'VoiceConnectorSettings' => [ 'type' => 'structure', 'members' => [ 'CdrBucket' => [ 'shape' => 'String', 'box' => true, ], ], ], ],]; diff --git a/lib/aws/Aws/data/chime/2018-05-01/paginators-1.json.php b/lib/aws/Aws/data/chime/2018-05-01/paginators-1.json.php new file mode 100644 index 0000000..a55f102 --- /dev/null +++ b/lib/aws/Aws/data/chime/2018-05-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/chime/2018-05-01/paginators-1.json +return [ 'pagination' => [ 'ListAccounts' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPhoneNumberOrders' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPhoneNumbers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListUsers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListVoiceConnectors' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/cloud9/2017-09-23/api-2.json.php b/lib/aws/Aws/data/cloud9/2017-09-23/api-2.json.php new file mode 100644 index 0000000..d4a0a18 --- /dev/null +++ b/lib/aws/Aws/data/cloud9/2017-09-23/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloud9/2017-09-23/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-23', 'endpointPrefix' => 'cloud9', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Cloud9', 'serviceId' => 'Cloud9', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSCloud9WorkspaceManagementService', 'uid' => 'cloud9-2017-09-23', ], 'operations' => [ 'CreateEnvironmentEC2' => [ 'name' => 'CreateEnvironmentEC2', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEnvironmentEC2Request', ], 'output' => [ 'shape' => 'CreateEnvironmentEC2Result', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], 'CreateEnvironmentMembership' => [ 'name' => 'CreateEnvironmentMembership', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEnvironmentMembershipRequest', ], 'output' => [ 'shape' => 'CreateEnvironmentMembershipResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], 'DeleteEnvironment' => [ 'name' => 'DeleteEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEnvironmentRequest', ], 'output' => [ 'shape' => 'DeleteEnvironmentResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], 'DeleteEnvironmentMembership' => [ 'name' => 'DeleteEnvironmentMembership', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEnvironmentMembershipRequest', ], 'output' => [ 'shape' => 'DeleteEnvironmentMembershipResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], 'DescribeEnvironmentMemberships' => [ 'name' => 'DescribeEnvironmentMemberships', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentMembershipsRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentMembershipsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DescribeEnvironmentStatus' => [ 'name' => 'DescribeEnvironmentStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentStatusRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentStatusResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DescribeEnvironments' => [ 'name' => 'DescribeEnvironments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentsRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListEnvironments' => [ 'name' => 'ListEnvironments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEnvironmentsRequest', ], 'output' => [ 'shape' => 'ListEnvironmentsResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateEnvironment' => [ 'name' => 'UpdateEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEnvironmentRequest', ], 'output' => [ 'shape' => 'UpdateEnvironmentResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], 'UpdateEnvironmentMembership' => [ 'name' => 'UpdateEnvironmentMembership', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEnvironmentMembershipRequest', ], 'output' => [ 'shape' => 'UpdateEnvironmentMembershipResult', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerErrorException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'AutomaticStopTimeMinutes' => [ 'type' => 'integer', 'box' => true, 'max' => 20160, ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BoundedEnvironmentIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentId', ], 'max' => 25, 'min' => 1, ], 'ClientRequestToken' => [ 'type' => 'string', 'pattern' => '[\\x20-\\x7E]{10,128}', ], 'ConflictException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CreateEnvironmentEC2Request' => [ 'type' => 'structure', 'required' => [ 'name', 'instanceType', ], 'members' => [ 'name' => [ 'shape' => 'EnvironmentName', ], 'description' => [ 'shape' => 'EnvironmentDescription', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'instanceType' => [ 'shape' => 'InstanceType', ], 'subnetId' => [ 'shape' => 'SubnetId', ], 'automaticStopTimeMinutes' => [ 'shape' => 'AutomaticStopTimeMinutes', ], 'ownerArn' => [ 'shape' => 'UserArn', ], ], ], 'CreateEnvironmentEC2Result' => [ 'type' => 'structure', 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], ], ], 'CreateEnvironmentMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', 'userArn', 'permissions', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'userArn' => [ 'shape' => 'UserArn', ], 'permissions' => [ 'shape' => 'MemberPermissions', ], ], ], 'CreateEnvironmentMembershipResult' => [ 'type' => 'structure', 'members' => [ 'membership' => [ 'shape' => 'EnvironmentMember', ], ], ], 'DeleteEnvironmentMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', 'userArn', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'userArn' => [ 'shape' => 'UserArn', ], ], ], 'DeleteEnvironmentMembershipResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteEnvironmentRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], ], ], 'DeleteEnvironmentResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEnvironmentMembershipsRequest' => [ 'type' => 'structure', 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'permissions' => [ 'shape' => 'PermissionsList', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeEnvironmentMembershipsResult' => [ 'type' => 'structure', 'members' => [ 'memberships' => [ 'shape' => 'EnvironmentMembersList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'DescribeEnvironmentStatusRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], ], ], 'DescribeEnvironmentStatusResult' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'EnvironmentStatus', ], 'message' => [ 'shape' => 'String', ], ], ], 'DescribeEnvironmentsRequest' => [ 'type' => 'structure', 'required' => [ 'environmentIds', ], 'members' => [ 'environmentIds' => [ 'shape' => 'BoundedEnvironmentIdList', ], ], ], 'DescribeEnvironmentsResult' => [ 'type' => 'structure', 'members' => [ 'environments' => [ 'shape' => 'EnvironmentList', ], ], ], 'Environment' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'EnvironmentId', ], 'name' => [ 'shape' => 'EnvironmentName', ], 'description' => [ 'shape' => 'EnvironmentDescription', ], 'type' => [ 'shape' => 'EnvironmentType', ], 'arn' => [ 'shape' => 'String', ], 'ownerArn' => [ 'shape' => 'String', ], 'lifecycle' => [ 'shape' => 'EnvironmentLifecycle', ], ], ], 'EnvironmentDescription' => [ 'type' => 'string', 'max' => 200, 'sensitive' => true, ], 'EnvironmentId' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9]{8,32}$', ], 'EnvironmentIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentId', ], ], 'EnvironmentLifecycle' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'EnvironmentLifecycleStatus', ], 'reason' => [ 'shape' => 'String', ], 'failureResource' => [ 'shape' => 'String', ], ], ], 'EnvironmentLifecycleStatus' => [ 'type' => 'string', 'enum' => [ 'CREATED', 'DELETING', 'DELETE_FAILED', ], ], 'EnvironmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Environment', ], ], 'EnvironmentMember' => [ 'type' => 'structure', 'members' => [ 'permissions' => [ 'shape' => 'Permissions', ], 'userId' => [ 'shape' => 'String', ], 'userArn' => [ 'shape' => 'UserArn', ], 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'lastAccess' => [ 'shape' => 'Timestamp', ], ], ], 'EnvironmentMembersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentMember', ], ], 'EnvironmentName' => [ 'type' => 'string', 'max' => 60, 'min' => 1, ], 'EnvironmentStatus' => [ 'type' => 'string', 'enum' => [ 'error', 'creating', 'connecting', 'ready', 'stopping', 'stopped', 'deleting', ], ], 'EnvironmentType' => [ 'type' => 'string', 'enum' => [ 'ssh', 'ec2', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceType' => [ 'type' => 'string', 'max' => 20, 'min' => 5, 'pattern' => '^[a-z][1-9][.][a-z0-9]+$', ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListEnvironmentsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListEnvironmentsResult' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'environmentIds' => [ 'shape' => 'EnvironmentIdList', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 25, 'min' => 0, ], 'MemberPermissions' => [ 'type' => 'string', 'enum' => [ 'read-write', 'read-only', ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Permissions' => [ 'type' => 'string', 'enum' => [ 'owner', 'read-write', 'read-only', ], ], 'PermissionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Permissions', ], ], 'String' => [ 'type' => 'string', ], 'SubnetId' => [ 'type' => 'string', 'max' => 30, 'min' => 5, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UpdateEnvironmentMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', 'userArn', 'permissions', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'userArn' => [ 'shape' => 'UserArn', ], 'permissions' => [ 'shape' => 'MemberPermissions', ], ], ], 'UpdateEnvironmentMembershipResult' => [ 'type' => 'structure', 'members' => [ 'membership' => [ 'shape' => 'EnvironmentMember', ], ], ], 'UpdateEnvironmentRequest' => [ 'type' => 'structure', 'required' => [ 'environmentId', ], 'members' => [ 'environmentId' => [ 'shape' => 'EnvironmentId', ], 'name' => [ 'shape' => 'EnvironmentName', ], 'description' => [ 'shape' => 'EnvironmentDescription', ], ], ], 'UpdateEnvironmentResult' => [ 'type' => 'structure', 'members' => [], ], 'UserArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:(iam|sts)::\\d+:(root|user|federated-user|assumed-role)\\/?\\S*', ], ],]; diff --git a/lib/aws/Aws/data/cloud9/2017-09-23/paginators-1.json.php b/lib/aws/Aws/data/cloud9/2017-09-23/paginators-1.json.php new file mode 100644 index 0000000..80f7fec --- /dev/null +++ b/lib/aws/Aws/data/cloud9/2017-09-23/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloud9/2017-09-23/paginators-1.json +return [ 'pagination' => [ 'DescribeEnvironmentMemberships' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListEnvironments' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/clouddirectory/2016-05-10/api-2.json.php b/lib/aws/Aws/data/clouddirectory/2016-05-10/api-2.json.php new file mode 100644 index 0000000..7d22dfe --- /dev/null +++ b/lib/aws/Aws/data/clouddirectory/2016-05-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/clouddirectory/2016-05-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-05-10', 'endpointPrefix' => 'clouddirectory', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon CloudDirectory', 'signatureVersion' => 'v4', 'signingName' => 'clouddirectory', 'uid' => 'clouddirectory-2016-05-10', ], 'operations' => [ 'AddFacetToObject' => [ 'name' => 'AddFacetToObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/facets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AddFacetToObjectRequest', ], 'output' => [ 'shape' => 'AddFacetToObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ApplySchema' => [ 'name' => 'ApplySchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/apply', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ApplySchemaRequest', ], 'output' => [ 'shape' => 'ApplySchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], ], ], 'AttachObject' => [ 'name' => 'AttachObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachObjectRequest', ], 'output' => [ 'shape' => 'AttachObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'AttachPolicy' => [ 'name' => 'AttachPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachPolicyRequest', ], 'output' => [ 'shape' => 'AttachPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'AttachToIndex' => [ 'name' => 'AttachToIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachToIndexRequest', ], 'output' => [ 'shape' => 'AttachToIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'IndexedAttributeMissingException', ], [ 'shape' => 'NotIndexException', ], ], ], 'AttachTypedLink' => [ 'name' => 'AttachTypedLink', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachTypedLinkRequest', ], 'output' => [ 'shape' => 'AttachTypedLinkResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'BatchRead' => [ 'name' => 'BatchRead', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/batchread', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchReadRequest', ], 'output' => [ 'shape' => 'BatchReadResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], ], ], 'BatchWrite' => [ 'name' => 'BatchWrite', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/batchwrite', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchWriteRequest', ], 'output' => [ 'shape' => 'BatchWriteResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'BatchWriteException', ], ], ], 'CreateDirectory' => [ 'name' => 'CreateDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDirectoryRequest', ], 'output' => [ 'shape' => 'CreateDirectoryResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateFacet' => [ 'name' => 'CreateFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateFacetRequest', ], 'output' => [ 'shape' => 'CreateFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetAlreadyExistsException', ], [ 'shape' => 'InvalidRuleException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'CreateIndex' => [ 'name' => 'CreateIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateIndexRequest', ], 'output' => [ 'shape' => 'CreateIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'UnsupportedIndexTypeException', ], ], ], 'CreateObject' => [ 'name' => 'CreateObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateObjectRequest', ], 'output' => [ 'shape' => 'CreateObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'UnsupportedIndexTypeException', ], ], ], 'CreateSchema' => [ 'name' => 'CreateSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSchemaRequest', ], 'output' => [ 'shape' => 'CreateSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'SchemaAlreadyExistsException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'CreateTypedLinkFacet' => [ 'name' => 'CreateTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'CreateTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetAlreadyExistsException', ], [ 'shape' => 'InvalidRuleException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'DeleteDirectory' => [ 'name' => 'DeleteDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteDirectoryRequest', ], 'output' => [ 'shape' => 'DeleteDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryNotDisabledException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'DeleteFacet' => [ 'name' => 'DeleteFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteFacetRequest', ], 'output' => [ 'shape' => 'DeleteFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'FacetInUseException', ], ], ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteObjectRequest', ], 'output' => [ 'shape' => 'DeleteObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ObjectNotDetachedException', ], ], ], 'DeleteSchema' => [ 'name' => 'DeleteSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteSchemaRequest', ], 'output' => [ 'shape' => 'DeleteSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'StillContainsLinksException', ], ], ], 'DeleteTypedLinkFacet' => [ 'name' => 'DeleteTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'DeleteTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'DetachFromIndex' => [ 'name' => 'DetachFromIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachFromIndexRequest', ], 'output' => [ 'shape' => 'DetachFromIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ObjectAlreadyDetachedException', ], [ 'shape' => 'NotIndexException', ], ], ], 'DetachObject' => [ 'name' => 'DetachObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachObjectRequest', ], 'output' => [ 'shape' => 'DetachObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotNodeException', ], ], ], 'DetachPolicy' => [ 'name' => 'DetachPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachPolicyRequest', ], 'output' => [ 'shape' => 'DetachPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'DetachTypedLink' => [ 'name' => 'DetachTypedLink', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachTypedLinkRequest', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'DisableDirectory' => [ 'name' => 'DisableDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/disable', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisableDirectoryRequest', ], 'output' => [ 'shape' => 'DisableDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'EnableDirectory' => [ 'name' => 'EnableDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/enable', 'responseCode' => 200, ], 'input' => [ 'shape' => 'EnableDirectoryRequest', ], 'output' => [ 'shape' => 'EnableDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'GetAppliedSchemaVersion' => [ 'name' => 'GetAppliedSchemaVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/getappliedschema', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAppliedSchemaVersionRequest', ], 'output' => [ 'shape' => 'GetAppliedSchemaVersionResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetDirectory' => [ 'name' => 'GetDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDirectoryRequest', ], 'output' => [ 'shape' => 'GetDirectoryResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'GetFacet' => [ 'name' => 'GetFacet', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFacetRequest', ], 'output' => [ 'shape' => 'GetFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'GetLinkAttributes' => [ 'name' => 'GetLinkAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attributes/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLinkAttributesRequest', ], 'output' => [ 'shape' => 'GetLinkAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'GetObjectAttributes' => [ 'name' => 'GetObjectAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attributes/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetObjectAttributesRequest', ], 'output' => [ 'shape' => 'GetObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'GetObjectInformation' => [ 'name' => 'GetObjectInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/information', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetObjectInformationRequest', ], 'output' => [ 'shape' => 'GetObjectInformationResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetSchemaAsJson' => [ 'name' => 'GetSchemaAsJson', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/json', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSchemaAsJsonRequest', ], 'output' => [ 'shape' => 'GetSchemaAsJsonResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'GetTypedLinkFacetInformation' => [ 'name' => 'GetTypedLinkFacetInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetTypedLinkFacetInformationRequest', ], 'output' => [ 'shape' => 'GetTypedLinkFacetInformationResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'ListAppliedSchemaArns' => [ 'name' => 'ListAppliedSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/applied', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListAppliedSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListAppliedSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListAttachedIndices' => [ 'name' => 'ListAttachedIndices', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/indices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListAttachedIndicesRequest', ], 'output' => [ 'shape' => 'ListAttachedIndicesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListDevelopmentSchemaArns' => [ 'name' => 'ListDevelopmentSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/development', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDevelopmentSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListDevelopmentSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListDirectories' => [ 'name' => 'ListDirectories', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDirectoriesRequest', ], 'output' => [ 'shape' => 'ListDirectoriesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListFacetAttributes' => [ 'name' => 'ListFacetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFacetAttributesRequest', ], 'output' => [ 'shape' => 'ListFacetAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListFacetNames' => [ 'name' => 'ListFacetNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFacetNamesRequest', ], 'output' => [ 'shape' => 'ListFacetNamesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListIncomingTypedLinks' => [ 'name' => 'ListIncomingTypedLinks', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/incoming', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIncomingTypedLinksRequest', ], 'output' => [ 'shape' => 'ListIncomingTypedLinksResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListIndex' => [ 'name' => 'ListIndex', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/targets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIndexRequest', ], 'output' => [ 'shape' => 'ListIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotIndexException', ], ], ], 'ListObjectAttributes' => [ 'name' => 'ListObjectAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectAttributesRequest', ], 'output' => [ 'shape' => 'ListObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListObjectChildren' => [ 'name' => 'ListObjectChildren', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/children', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectChildrenRequest', ], 'output' => [ 'shape' => 'ListObjectChildrenResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NotNodeException', ], ], ], 'ListObjectParentPaths' => [ 'name' => 'ListObjectParentPaths', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/parentpaths', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectParentPathsRequest', ], 'output' => [ 'shape' => 'ListObjectParentPathsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListObjectParents' => [ 'name' => 'ListObjectParents', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/parent', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectParentsRequest', ], 'output' => [ 'shape' => 'ListObjectParentsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'CannotListParentOfRootException', ], ], ], 'ListObjectPolicies' => [ 'name' => 'ListObjectPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectPoliciesRequest', ], 'output' => [ 'shape' => 'ListObjectPoliciesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListOutgoingTypedLinks' => [ 'name' => 'ListOutgoingTypedLinks', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/outgoing', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListOutgoingTypedLinksRequest', ], 'output' => [ 'shape' => 'ListOutgoingTypedLinksResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListPolicyAttachments' => [ 'name' => 'ListPolicyAttachments', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/attachment', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPolicyAttachmentsRequest', ], 'output' => [ 'shape' => 'ListPolicyAttachmentsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'ListPublishedSchemaArns' => [ 'name' => 'ListPublishedSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/published', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPublishedSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListPublishedSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'ListTypedLinkFacetAttributes' => [ 'name' => 'ListTypedLinkFacetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTypedLinkFacetAttributesRequest', ], 'output' => [ 'shape' => 'ListTypedLinkFacetAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListTypedLinkFacetNames' => [ 'name' => 'ListTypedLinkFacetNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTypedLinkFacetNamesRequest', ], 'output' => [ 'shape' => 'ListTypedLinkFacetNamesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'LookupPolicy' => [ 'name' => 'LookupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/lookup', 'responseCode' => 200, ], 'input' => [ 'shape' => 'LookupPolicyRequest', ], 'output' => [ 'shape' => 'LookupPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'PublishSchema' => [ 'name' => 'PublishSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/publish', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PublishSchemaRequest', ], 'output' => [ 'shape' => 'PublishSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'SchemaAlreadyPublishedException', ], ], ], 'PutSchemaFromJson' => [ 'name' => 'PutSchemaFromJson', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/json', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutSchemaFromJsonRequest', ], 'output' => [ 'shape' => 'PutSchemaFromJsonResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidSchemaDocException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'RemoveFacetFromObject' => [ 'name' => 'RemoveFacetFromObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/facets/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RemoveFacetFromObjectRequest', ], 'output' => [ 'shape' => 'RemoveFacetFromObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags/add', 'responseCode' => 200, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags/remove', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'UpdateFacet' => [ 'name' => 'UpdateFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFacetRequest', ], 'output' => [ 'shape' => 'UpdateFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidFacetUpdateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'UpdateLinkAttributes' => [ 'name' => 'UpdateLinkAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attributes/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateLinkAttributesRequest', ], 'output' => [ 'shape' => 'UpdateLinkAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'UpdateObjectAttributes' => [ 'name' => 'UpdateObjectAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateObjectAttributesRequest', ], 'output' => [ 'shape' => 'UpdateObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'UpdateSchema' => [ 'name' => 'UpdateSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateSchemaRequest', ], 'output' => [ 'shape' => 'UpdateSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateTypedLinkFacet' => [ 'name' => 'UpdateTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'UpdateTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'InvalidFacetUpdateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'UpgradeAppliedSchema' => [ 'name' => 'UpgradeAppliedSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/upgradeapplied', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpgradeAppliedSchemaRequest', ], 'output' => [ 'shape' => 'UpgradeAppliedSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleSchemaException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], ], ], 'UpgradePublishedSchema' => [ 'name' => 'UpgradePublishedSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/upgradepublished', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpgradePublishedSchemaRequest', ], 'output' => [ 'shape' => 'UpgradePublishedSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleSchemaException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'AddFacetToObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AddFacetToObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'ApplySchemaRequest' => [ 'type' => 'structure', 'required' => [ 'PublishedSchemaArn', 'DirectoryArn', ], 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'ApplySchemaResponse' => [ 'type' => 'structure', 'members' => [ 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'Arn' => [ 'type' => 'string', ], 'Arns' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], ], 'AttachObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ParentReference', 'ChildReference', 'LinkName', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'ChildReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'AttachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'AttachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AttachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttachToIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AttachToIndexResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'AttachTypedLinkRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SourceObjectReference', 'TargetObjectReference', 'TypedLinkFacet', 'Attributes', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'Attributes' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'AttachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'AttributeKey' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'FacetName', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'FacetName' => [ 'shape' => 'FacetName', ], 'Name' => [ 'shape' => 'AttributeName', ], ], ], 'AttributeKeyAndValue' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'AttributeKey', ], 'Value' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'AttributeKeyAndValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeKeyAndValue', ], ], 'AttributeKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeKey', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'AttributeNameAndValue' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'Value', ], 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'Value' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'AttributeNameAndValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeNameAndValue', ], ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], ], 'BatchAddFacetToObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectAttributeList', 'ObjectReference', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAddFacetToObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchAttachObject' => [ 'type' => 'structure', 'required' => [ 'ParentReference', 'ChildReference', 'LinkName', ], 'members' => [ 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'ChildReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'BatchAttachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'attachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchAttachPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', 'ObjectReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAttachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchAttachToIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', 'TargetReference', ], 'members' => [ 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAttachToIndexResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchAttachTypedLink' => [ 'type' => 'structure', 'required' => [ 'SourceObjectReference', 'TargetObjectReference', 'TypedLinkFacet', 'Attributes', ], 'members' => [ 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'Attributes' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'BatchAttachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'BatchCreateIndex' => [ 'type' => 'structure', 'required' => [ 'OrderedIndexedAttributeList', 'IsUnique', ], 'members' => [ 'OrderedIndexedAttributeList' => [ 'shape' => 'AttributeKeyList', ], 'IsUnique' => [ 'shape' => 'Bool', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchCreateIndexResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchCreateObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectAttributeList', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacetList', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchCreateObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDeleteObject' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDeleteObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchDetachFromIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', 'TargetReference', ], 'members' => [ 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDetachFromIndexResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDetachObject' => [ 'type' => 'structure', 'required' => [ 'ParentReference', 'LinkName', ], 'members' => [ 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchDetachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'detachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDetachPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', 'ObjectReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDetachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchDetachTypedLink' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'BatchDetachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchGetLinkAttributes' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', 'AttributeNames', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'BatchGetLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'BatchGetObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', 'SchemaFacet', 'AttributeNames', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'BatchGetObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'BatchGetObjectInformation' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchGetObjectInformationResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchListAttachedIndices' => [ 'type' => 'structure', 'required' => [ 'TargetReference', ], 'members' => [ 'TargetReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListAttachedIndicesResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIncomingTypedLinks' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListIncomingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'LinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', ], 'members' => [ 'RangesOnIndexedValues' => [ 'shape' => 'ObjectAttributeRangeList', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIndexResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'FacetFilter' => [ 'shape' => 'SchemaFacet', ], ], ], 'BatchListObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectChildren' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectChildrenResponse' => [ 'type' => 'structure', 'members' => [ 'Children' => [ 'shape' => 'LinkNameToObjectIdentifierMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectParentPaths' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectParentPathsResponse' => [ 'type' => 'structure', 'members' => [ 'PathToObjectIdentifiersList' => [ 'shape' => 'PathToObjectIdentifiersList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectPolicies' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicyIds' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListOutgoingTypedLinks' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListOutgoingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListPolicyAttachments' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListPolicyAttachmentsResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchLookupPolicy' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchLookupPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyToPathList' => [ 'shape' => 'PolicyToPathList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchOperationIndex' => [ 'type' => 'integer', ], 'BatchReadException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'BatchReadExceptionType', ], 'Message' => [ 'shape' => 'ExceptionMessage', ], ], ], 'BatchReadExceptionType' => [ 'type' => 'string', 'enum' => [ 'ValidationException', 'InvalidArnException', 'ResourceNotFoundException', 'InvalidNextTokenException', 'AccessDeniedException', 'NotNodeException', 'FacetValidationException', 'CannotListParentOfRootException', 'NotIndexException', 'NotPolicyException', 'DirectoryNotEnabledException', 'LimitExceededException', 'InternalServiceException', ], ], 'BatchReadOperation' => [ 'type' => 'structure', 'members' => [ 'ListObjectAttributes' => [ 'shape' => 'BatchListObjectAttributes', ], 'ListObjectChildren' => [ 'shape' => 'BatchListObjectChildren', ], 'ListAttachedIndices' => [ 'shape' => 'BatchListAttachedIndices', ], 'ListObjectParentPaths' => [ 'shape' => 'BatchListObjectParentPaths', ], 'GetObjectInformation' => [ 'shape' => 'BatchGetObjectInformation', ], 'GetObjectAttributes' => [ 'shape' => 'BatchGetObjectAttributes', ], 'ListObjectPolicies' => [ 'shape' => 'BatchListObjectPolicies', ], 'ListPolicyAttachments' => [ 'shape' => 'BatchListPolicyAttachments', ], 'LookupPolicy' => [ 'shape' => 'BatchLookupPolicy', ], 'ListIndex' => [ 'shape' => 'BatchListIndex', ], 'ListOutgoingTypedLinks' => [ 'shape' => 'BatchListOutgoingTypedLinks', ], 'ListIncomingTypedLinks' => [ 'shape' => 'BatchListIncomingTypedLinks', ], 'GetLinkAttributes' => [ 'shape' => 'BatchGetLinkAttributes', ], ], ], 'BatchReadOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchReadOperation', ], ], 'BatchReadOperationResponse' => [ 'type' => 'structure', 'members' => [ 'SuccessfulResponse' => [ 'shape' => 'BatchReadSuccessfulResponse', ], 'ExceptionResponse' => [ 'shape' => 'BatchReadException', ], ], ], 'BatchReadOperationResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchReadOperationResponse', ], ], 'BatchReadRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Operations', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Operations' => [ 'shape' => 'BatchReadOperationList', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'BatchReadResponse' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchReadOperationResponseList', ], ], ], 'BatchReadSuccessfulResponse' => [ 'type' => 'structure', 'members' => [ 'ListObjectAttributes' => [ 'shape' => 'BatchListObjectAttributesResponse', ], 'ListObjectChildren' => [ 'shape' => 'BatchListObjectChildrenResponse', ], 'GetObjectInformation' => [ 'shape' => 'BatchGetObjectInformationResponse', ], 'GetObjectAttributes' => [ 'shape' => 'BatchGetObjectAttributesResponse', ], 'ListAttachedIndices' => [ 'shape' => 'BatchListAttachedIndicesResponse', ], 'ListObjectParentPaths' => [ 'shape' => 'BatchListObjectParentPathsResponse', ], 'ListObjectPolicies' => [ 'shape' => 'BatchListObjectPoliciesResponse', ], 'ListPolicyAttachments' => [ 'shape' => 'BatchListPolicyAttachmentsResponse', ], 'LookupPolicy' => [ 'shape' => 'BatchLookupPolicyResponse', ], 'ListIndex' => [ 'shape' => 'BatchListIndexResponse', ], 'ListOutgoingTypedLinks' => [ 'shape' => 'BatchListOutgoingTypedLinksResponse', ], 'ListIncomingTypedLinks' => [ 'shape' => 'BatchListIncomingTypedLinksResponse', ], 'GetLinkAttributes' => [ 'shape' => 'BatchGetLinkAttributesResponse', ], ], ], 'BatchReferenceName' => [ 'type' => 'string', ], 'BatchRemoveFacetFromObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchRemoveFacetFromObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchUpdateLinkAttributes' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', 'AttributeUpdates', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeUpdates' => [ 'shape' => 'LinkAttributeUpdateList', ], ], ], 'BatchUpdateLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchUpdateObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', 'AttributeUpdates', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'AttributeUpdates' => [ 'shape' => 'ObjectAttributeUpdateList', ], ], ], 'BatchUpdateObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchWriteException' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'BatchOperationIndex', ], 'Type' => [ 'shape' => 'BatchWriteExceptionType', ], 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'BatchWriteExceptionType' => [ 'type' => 'string', 'enum' => [ 'InternalServiceException', 'ValidationException', 'InvalidArnException', 'LinkNameAlreadyInUseException', 'StillContainsLinksException', 'FacetValidationException', 'ObjectNotDetachedException', 'ResourceNotFoundException', 'AccessDeniedException', 'InvalidAttachmentException', 'NotIndexException', 'NotNodeException', 'IndexedAttributeMissingException', 'ObjectAlreadyDetachedException', 'NotPolicyException', 'DirectoryNotEnabledException', 'LimitExceededException', 'UnsupportedIndexTypeException', ], ], 'BatchWriteOperation' => [ 'type' => 'structure', 'members' => [ 'CreateObject' => [ 'shape' => 'BatchCreateObject', ], 'AttachObject' => [ 'shape' => 'BatchAttachObject', ], 'DetachObject' => [ 'shape' => 'BatchDetachObject', ], 'UpdateObjectAttributes' => [ 'shape' => 'BatchUpdateObjectAttributes', ], 'DeleteObject' => [ 'shape' => 'BatchDeleteObject', ], 'AddFacetToObject' => [ 'shape' => 'BatchAddFacetToObject', ], 'RemoveFacetFromObject' => [ 'shape' => 'BatchRemoveFacetFromObject', ], 'AttachPolicy' => [ 'shape' => 'BatchAttachPolicy', ], 'DetachPolicy' => [ 'shape' => 'BatchDetachPolicy', ], 'CreateIndex' => [ 'shape' => 'BatchCreateIndex', ], 'AttachToIndex' => [ 'shape' => 'BatchAttachToIndex', ], 'DetachFromIndex' => [ 'shape' => 'BatchDetachFromIndex', ], 'AttachTypedLink' => [ 'shape' => 'BatchAttachTypedLink', ], 'DetachTypedLink' => [ 'shape' => 'BatchDetachTypedLink', ], 'UpdateLinkAttributes' => [ 'shape' => 'BatchUpdateLinkAttributes', ], ], ], 'BatchWriteOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchWriteOperation', ], ], 'BatchWriteOperationResponse' => [ 'type' => 'structure', 'members' => [ 'CreateObject' => [ 'shape' => 'BatchCreateObjectResponse', ], 'AttachObject' => [ 'shape' => 'BatchAttachObjectResponse', ], 'DetachObject' => [ 'shape' => 'BatchDetachObjectResponse', ], 'UpdateObjectAttributes' => [ 'shape' => 'BatchUpdateObjectAttributesResponse', ], 'DeleteObject' => [ 'shape' => 'BatchDeleteObjectResponse', ], 'AddFacetToObject' => [ 'shape' => 'BatchAddFacetToObjectResponse', ], 'RemoveFacetFromObject' => [ 'shape' => 'BatchRemoveFacetFromObjectResponse', ], 'AttachPolicy' => [ 'shape' => 'BatchAttachPolicyResponse', ], 'DetachPolicy' => [ 'shape' => 'BatchDetachPolicyResponse', ], 'CreateIndex' => [ 'shape' => 'BatchCreateIndexResponse', ], 'AttachToIndex' => [ 'shape' => 'BatchAttachToIndexResponse', ], 'DetachFromIndex' => [ 'shape' => 'BatchDetachFromIndexResponse', ], 'AttachTypedLink' => [ 'shape' => 'BatchAttachTypedLinkResponse', ], 'DetachTypedLink' => [ 'shape' => 'BatchDetachTypedLinkResponse', ], 'UpdateLinkAttributes' => [ 'shape' => 'BatchUpdateLinkAttributesResponse', ], ], ], 'BatchWriteOperationResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchWriteOperationResponse', ], ], 'BatchWriteRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Operations', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Operations' => [ 'shape' => 'BatchWriteOperationList', ], ], ], 'BatchWriteResponse' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchWriteOperationResponseList', ], ], ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'Bool' => [ 'type' => 'boolean', ], 'BooleanAttributeValue' => [ 'type' => 'boolean', ], 'CannotListParentOfRootException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ConsistencyLevel' => [ 'type' => 'string', 'enum' => [ 'SERIALIZABLE', 'EVENTUAL', ], ], 'CreateDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'SchemaArn', ], 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'CreateDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Name', 'ObjectIdentifier', 'AppliedSchemaArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'DirectoryArn', ], 'Name' => [ 'shape' => 'DirectoryName', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'CreateFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', 'ObjectType', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'Attributes' => [ 'shape' => 'FacetAttributeList', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], ], ], 'CreateFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'OrderedIndexedAttributeList', 'IsUnique', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'OrderedIndexedAttributeList' => [ 'shape' => 'AttributeKeyList', ], 'IsUnique' => [ 'shape' => 'Bool', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'CreateIndexResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'CreateObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacets', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'CreateObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'CreateSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'CreateSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'CreateTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Facet', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Facet' => [ 'shape' => 'TypedLinkFacet', ], ], ], 'CreateTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'Date' => [ 'type' => 'timestamp', ], 'DatetimeAttributeValue' => [ 'type' => 'timestamp', ], 'DeleteDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DeleteDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], ], ], 'DeleteFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DeleteObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DeleteSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], ], ], 'DeleteTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetachFromIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DetachFromIndexResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'DetachObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ParentReference', 'LinkName', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'DetachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'DetachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DetachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetachTypedLinkRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'Directory' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'DirectoryArn' => [ 'shape' => 'DirectoryArn', ], 'State' => [ 'shape' => 'DirectoryState', ], 'CreationDateTime' => [ 'shape' => 'Date', ], ], ], 'DirectoryAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryArn' => [ 'type' => 'string', ], 'DirectoryDeletedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Directory', ], ], 'DirectoryName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'DirectoryNotDisabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryNotEnabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', 'DELETED', ], ], 'DisableDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DisableDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'EnableDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'EnableDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'Facet' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FacetName', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], ], ], 'FacetAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetAttribute' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'AttributeDefinition' => [ 'shape' => 'FacetAttributeDefinition', ], 'AttributeReference' => [ 'shape' => 'FacetAttributeReference', ], 'RequiredBehavior' => [ 'shape' => 'RequiredAttributeBehavior', ], ], ], 'FacetAttributeDefinition' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'FacetAttributeType', ], 'DefaultValue' => [ 'shape' => 'TypedAttributeValue', ], 'IsImmutable' => [ 'shape' => 'Bool', ], 'Rules' => [ 'shape' => 'RuleMap', ], ], ], 'FacetAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetAttribute', ], ], 'FacetAttributeReference' => [ 'type' => 'structure', 'required' => [ 'TargetFacetName', 'TargetAttributeName', ], 'members' => [ 'TargetFacetName' => [ 'shape' => 'FacetName', ], 'TargetAttributeName' => [ 'shape' => 'AttributeName', ], ], ], 'FacetAttributeType' => [ 'type' => 'string', 'enum' => [ 'STRING', 'BINARY', 'BOOLEAN', 'NUMBER', 'DATETIME', ], ], 'FacetAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'Attribute' => [ 'shape' => 'FacetAttribute', ], 'Action' => [ 'shape' => 'UpdateActionType', ], ], ], 'FacetAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetAttributeUpdate', ], ], 'FacetInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'FacetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetName', ], ], 'FacetNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'GetAppliedSchemaVersionRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'GetAppliedSchemaVersionResponse' => [ 'type' => 'structure', 'members' => [ 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'GetDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'DirectoryArn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'GetDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'Directory', ], 'members' => [ 'Directory' => [ 'shape' => 'Directory', ], ], ], 'GetFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], ], ], 'GetFacetResponse' => [ 'type' => 'structure', 'members' => [ 'Facet' => [ 'shape' => 'Facet', ], ], ], 'GetLinkAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', 'AttributeNames', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'GetLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'GetObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', 'SchemaFacet', 'AttributeNames', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'GetObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'GetObjectInformationRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'GetObjectInformationResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'GetSchemaAsJsonRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'GetSchemaAsJsonResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'SchemaName', ], 'Document' => [ 'shape' => 'SchemaJsonDocument', ], ], ], 'GetTypedLinkFacetInformationRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], ], ], 'GetTypedLinkFacetInformationResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'IncompatibleSchemaException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IndexAttachment' => [ 'type' => 'structure', 'members' => [ 'IndexedAttributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'IndexAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IndexAttachment', ], ], 'IndexedAttributeMissingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidArnException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidAttachmentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidFacetUpdateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRuleException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidSchemaDocException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTaggingRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LinkAttributeAction' => [ 'type' => 'structure', 'members' => [ 'AttributeActionType' => [ 'shape' => 'UpdateActionType', ], 'AttributeUpdateValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'LinkAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'AttributeKey' => [ 'shape' => 'AttributeKey', ], 'AttributeAction' => [ 'shape' => 'LinkAttributeAction', ], ], ], 'LinkAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LinkAttributeUpdate', ], ], 'LinkName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+', ], 'LinkNameAlreadyInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LinkNameToObjectIdentifierMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'LinkName', ], 'value' => [ 'shape' => 'ObjectIdentifier', ], ], 'ListAppliedSchemaArnsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], 'SchemaArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListAppliedSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAttachedIndicesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListAttachedIndicesResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDevelopmentSchemaArnsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListDevelopmentSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDirectoriesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'state' => [ 'shape' => 'DirectoryState', ], ], ], 'ListDirectoriesResponse' => [ 'type' => 'structure', 'required' => [ 'Directories', ], 'members' => [ 'Directories' => [ 'shape' => 'DirectoryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListFacetAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListFacetAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'FacetAttributeList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListFacetNamesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListFacetNamesResponse' => [ 'type' => 'structure', 'members' => [ 'FacetNames' => [ 'shape' => 'FacetNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIncomingTypedLinksRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'ListIncomingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'LinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'RangesOnIndexedValues' => [ 'shape' => 'ObjectAttributeRangeList', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListIndexResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], 'FacetFilter' => [ 'shape' => 'SchemaFacet', ], ], ], 'ListObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectChildrenRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListObjectChildrenResponse' => [ 'type' => 'structure', 'members' => [ 'Children' => [ 'shape' => 'LinkNameToObjectIdentifierMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectParentPathsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListObjectParentPathsResponse' => [ 'type' => 'structure', 'members' => [ 'PathToObjectIdentifiersList' => [ 'shape' => 'PathToObjectIdentifiersList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectParentsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListObjectParentsResponse' => [ 'type' => 'structure', 'members' => [ 'Parents' => [ 'shape' => 'ObjectIdentifierToLinkNameMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListObjectPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicyIds' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOutgoingTypedLinksRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'ListOutgoingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPolicyAttachmentsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListPolicyAttachmentsResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPublishedSchemaArnsRequest' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListPublishedSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'TagsNumberResults', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTypedLinkFacetAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListTypedLinkFacetAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'TypedLinkAttributeDefinitionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTypedLinkFacetNamesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListTypedLinkFacetNamesResponse' => [ 'type' => 'structure', 'members' => [ 'FacetNames' => [ 'shape' => 'TypedLinkNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LookupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'LookupPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyToPathList' => [ 'shape' => 'PolicyToPathList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'NextToken' => [ 'type' => 'string', ], 'NotIndexException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotNodeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotPolicyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NumberAttributeValue' => [ 'type' => 'string', ], 'NumberResults' => [ 'type' => 'integer', 'min' => 1, ], 'ObjectAlreadyDetachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ObjectAttributeAction' => [ 'type' => 'structure', 'members' => [ 'ObjectAttributeActionType' => [ 'shape' => 'UpdateActionType', ], 'ObjectAttributeUpdateValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'ObjectAttributeRange' => [ 'type' => 'structure', 'members' => [ 'AttributeKey' => [ 'shape' => 'AttributeKey', ], 'Range' => [ 'shape' => 'TypedAttributeValueRange', ], ], ], 'ObjectAttributeRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectAttributeRange', ], ], 'ObjectAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'ObjectAttributeKey' => [ 'shape' => 'AttributeKey', ], 'ObjectAttributeAction' => [ 'shape' => 'ObjectAttributeAction', ], ], ], 'ObjectAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectAttributeUpdate', ], ], 'ObjectIdentifier' => [ 'type' => 'string', ], 'ObjectIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectIdentifier', ], ], 'ObjectIdentifierToLinkNameMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ObjectIdentifier', ], 'value' => [ 'shape' => 'LinkName', ], ], 'ObjectNotDetachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ObjectReference' => [ 'type' => 'structure', 'members' => [ 'Selector' => [ 'shape' => 'SelectorObjectReference', ], ], ], 'ObjectType' => [ 'type' => 'string', 'enum' => [ 'NODE', 'LEAF_NODE', 'POLICY', 'INDEX', ], ], 'PathString' => [ 'type' => 'string', ], 'PathToObjectIdentifiers' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'PathString', ], 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], ], ], 'PathToObjectIdentifiersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PathToObjectIdentifiers', ], ], 'PolicyAttachment' => [ 'type' => 'structure', 'members' => [ 'PolicyId' => [ 'shape' => 'ObjectIdentifier', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], ], ], 'PolicyAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyAttachment', ], ], 'PolicyToPath' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'PathString', ], 'Policies' => [ 'shape' => 'PolicyAttachmentList', ], ], ], 'PolicyToPathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyToPath', ], ], 'PolicyType' => [ 'type' => 'string', ], 'PublishSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'DevelopmentSchemaArn', 'Version', ], 'members' => [ 'DevelopmentSchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Version' => [ 'shape' => 'Version', ], 'MinorVersion' => [ 'shape' => 'Version', ], 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'PublishSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'PutSchemaFromJsonRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Document', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Document' => [ 'shape' => 'SchemaJsonDocument', ], ], ], 'PutSchemaFromJsonResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], ], ], 'RangeMode' => [ 'type' => 'string', 'enum' => [ 'FIRST', 'LAST', 'LAST_BEFORE_MISSING_VALUES', 'INCLUSIVE', 'EXCLUSIVE', ], ], 'RemoveFacetFromObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'RemoveFacetFromObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'RequiredAttributeBehavior' => [ 'type' => 'string', 'enum' => [ 'REQUIRED_ALWAYS', 'NOT_REQUIRED', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RetryableConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Rule' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'RuleType', ], 'Parameters' => [ 'shape' => 'RuleParameterMap', ], ], ], 'RuleKey' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'RuleMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'RuleKey', ], 'value' => [ 'shape' => 'Rule', ], ], 'RuleParameterKey' => [ 'type' => 'string', ], 'RuleParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'RuleParameterKey', ], 'value' => [ 'shape' => 'RuleParameterValue', ], ], 'RuleParameterValue' => [ 'type' => 'string', ], 'RuleType' => [ 'type' => 'string', 'enum' => [ 'BINARY_LENGTH', 'NUMBER_COMPARISON', 'STRING_FROM_SET', 'STRING_LENGTH', ], ], 'SchemaAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SchemaAlreadyPublishedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SchemaFacet' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'FacetName' => [ 'shape' => 'FacetName', ], ], ], 'SchemaFacetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaFacet', ], ], 'SchemaJsonDocument' => [ 'type' => 'string', ], 'SchemaName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'SelectorObjectReference' => [ 'type' => 'string', ], 'StillContainsLinksException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'StringAttributeValue' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'TagsNumberResults' => [ 'type' => 'integer', 'min' => 50, ], 'TypedAttributeValue' => [ 'type' => 'structure', 'members' => [ 'StringValue' => [ 'shape' => 'StringAttributeValue', ], 'BinaryValue' => [ 'shape' => 'BinaryAttributeValue', ], 'BooleanValue' => [ 'shape' => 'BooleanAttributeValue', ], 'NumberValue' => [ 'shape' => 'NumberAttributeValue', ], 'DatetimeValue' => [ 'shape' => 'DatetimeAttributeValue', ], ], ], 'TypedAttributeValueRange' => [ 'type' => 'structure', 'required' => [ 'StartMode', 'EndMode', ], 'members' => [ 'StartMode' => [ 'shape' => 'RangeMode', ], 'StartValue' => [ 'shape' => 'TypedAttributeValue', ], 'EndMode' => [ 'shape' => 'RangeMode', ], 'EndValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'TypedLinkAttributeDefinition' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', 'RequiredBehavior', ], 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'Type' => [ 'shape' => 'FacetAttributeType', ], 'DefaultValue' => [ 'shape' => 'TypedAttributeValue', ], 'IsImmutable' => [ 'shape' => 'Bool', ], 'Rules' => [ 'shape' => 'RuleMap', ], 'RequiredBehavior' => [ 'shape' => 'RequiredAttributeBehavior', ], ], ], 'TypedLinkAttributeDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkAttributeDefinition', ], ], 'TypedLinkAttributeRange' => [ 'type' => 'structure', 'required' => [ 'Range', ], 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'Range' => [ 'shape' => 'TypedAttributeValueRange', ], ], ], 'TypedLinkAttributeRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkAttributeRange', ], ], 'TypedLinkFacet' => [ 'type' => 'structure', 'required' => [ 'Name', 'Attributes', 'IdentityAttributeOrder', ], 'members' => [ 'Name' => [ 'shape' => 'TypedLinkName', ], 'Attributes' => [ 'shape' => 'TypedLinkAttributeDefinitionList', ], 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'TypedLinkFacetAttributeUpdate' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'Action', ], 'members' => [ 'Attribute' => [ 'shape' => 'TypedLinkAttributeDefinition', ], 'Action' => [ 'shape' => 'UpdateActionType', ], ], ], 'TypedLinkFacetAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkFacetAttributeUpdate', ], ], 'TypedLinkName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'TypedLinkNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkName', ], ], 'TypedLinkSchemaAndFacetName' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'TypedLinkName', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'TypedLinkName' => [ 'shape' => 'TypedLinkName', ], ], ], 'TypedLinkSpecifier' => [ 'type' => 'structure', 'required' => [ 'TypedLinkFacet', 'SourceObjectReference', 'TargetObjectReference', 'IdentityAttributeValues', ], 'members' => [ 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'IdentityAttributeValues' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'TypedLinkSpecifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkSpecifier', ], ], 'UnsupportedIndexTypeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateActionType' => [ 'type' => 'string', 'enum' => [ 'CREATE_OR_UPDATE', 'DELETE', ], ], 'UpdateFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'AttributeUpdates' => [ 'shape' => 'FacetAttributeUpdateList', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], ], ], 'UpdateFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateLinkAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', 'AttributeUpdates', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeUpdates' => [ 'shape' => 'LinkAttributeUpdateList', ], ], ], 'UpdateLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', 'AttributeUpdates', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'AttributeUpdates' => [ 'shape' => 'ObjectAttributeUpdateList', ], ], ], 'UpdateObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'UpdateSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'UpdateSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'UpdateTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', 'AttributeUpdates', 'IdentityAttributeOrder', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], 'AttributeUpdates' => [ 'shape' => 'TypedLinkFacetAttributeUpdateList', ], 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'UpdateTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpgradeAppliedSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'PublishedSchemaArn', 'DirectoryArn', ], 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], 'DryRun' => [ 'shape' => 'Bool', ], ], ], 'UpgradeAppliedSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'UpgradePublishedSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'DevelopmentSchemaArn', 'PublishedSchemaArn', 'MinorVersion', ], 'members' => [ 'DevelopmentSchemaArn' => [ 'shape' => 'Arn', ], 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'MinorVersion' => [ 'shape' => 'Version', ], 'DryRun' => [ 'shape' => 'Bool', ], ], ], 'UpgradePublishedSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Version' => [ 'type' => 'string', 'max' => 10, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], ],]; diff --git a/lib/aws/Aws/data/clouddirectory/2016-05-10/paginators-1.json.php b/lib/aws/Aws/data/clouddirectory/2016-05-10/paginators-1.json.php new file mode 100644 index 0000000..8eac6c3 --- /dev/null +++ b/lib/aws/Aws/data/clouddirectory/2016-05-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/clouddirectory/2016-05-10/paginators-1.json +return [ 'pagination' => [ 'ListAppliedSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListAttachedIndices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListDevelopmentSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListDirectories' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListFacetAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListFacetNames' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListIndex' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectChildren' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectParentPaths' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectParents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectPolicies' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPolicyAttachments' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPublishedSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTagsForResource' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTypedLinkFacetAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTypedLinkFacetNames' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'LookupPolicy' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/clouddirectory/2017-01-11/api-2.json.php b/lib/aws/Aws/data/clouddirectory/2017-01-11/api-2.json.php new file mode 100644 index 0000000..4e16c76 --- /dev/null +++ b/lib/aws/Aws/data/clouddirectory/2017-01-11/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/clouddirectory/2017-01-11/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-01-11', 'endpointPrefix' => 'clouddirectory', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon CloudDirectory', 'serviceId' => 'CloudDirectory', 'signatureVersion' => 'v4', 'signingName' => 'clouddirectory', 'uid' => 'clouddirectory-2017-01-11', ], 'operations' => [ 'AddFacetToObject' => [ 'name' => 'AddFacetToObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/facets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AddFacetToObjectRequest', ], 'output' => [ 'shape' => 'AddFacetToObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ApplySchema' => [ 'name' => 'ApplySchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/apply', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ApplySchemaRequest', ], 'output' => [ 'shape' => 'ApplySchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'SchemaAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], ], ], 'AttachObject' => [ 'name' => 'AttachObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachObjectRequest', ], 'output' => [ 'shape' => 'AttachObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'AttachPolicy' => [ 'name' => 'AttachPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachPolicyRequest', ], 'output' => [ 'shape' => 'AttachPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'AttachToIndex' => [ 'name' => 'AttachToIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachToIndexRequest', ], 'output' => [ 'shape' => 'AttachToIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'IndexedAttributeMissingException', ], [ 'shape' => 'NotIndexException', ], ], ], 'AttachTypedLink' => [ 'name' => 'AttachTypedLink', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AttachTypedLinkRequest', ], 'output' => [ 'shape' => 'AttachTypedLinkResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'BatchRead' => [ 'name' => 'BatchRead', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/batchread', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchReadRequest', ], 'output' => [ 'shape' => 'BatchReadResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], ], ], 'BatchWrite' => [ 'name' => 'BatchWrite', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/batchwrite', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchWriteRequest', ], 'output' => [ 'shape' => 'BatchWriteResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'BatchWriteException', ], ], ], 'CreateDirectory' => [ 'name' => 'CreateDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDirectoryRequest', ], 'output' => [ 'shape' => 'CreateDirectoryResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateFacet' => [ 'name' => 'CreateFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateFacetRequest', ], 'output' => [ 'shape' => 'CreateFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetAlreadyExistsException', ], [ 'shape' => 'InvalidRuleException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'CreateIndex' => [ 'name' => 'CreateIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateIndexRequest', ], 'output' => [ 'shape' => 'CreateIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'UnsupportedIndexTypeException', ], ], ], 'CreateObject' => [ 'name' => 'CreateObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateObjectRequest', ], 'output' => [ 'shape' => 'CreateObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'UnsupportedIndexTypeException', ], ], ], 'CreateSchema' => [ 'name' => 'CreateSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSchemaRequest', ], 'output' => [ 'shape' => 'CreateSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'SchemaAlreadyExistsException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'CreateTypedLinkFacet' => [ 'name' => 'CreateTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'CreateTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetAlreadyExistsException', ], [ 'shape' => 'InvalidRuleException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'DeleteDirectory' => [ 'name' => 'DeleteDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteDirectoryRequest', ], 'output' => [ 'shape' => 'DeleteDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryNotDisabledException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'DeleteFacet' => [ 'name' => 'DeleteFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteFacetRequest', ], 'output' => [ 'shape' => 'DeleteFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'FacetInUseException', ], ], ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteObjectRequest', ], 'output' => [ 'shape' => 'DeleteObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ObjectNotDetachedException', ], ], ], 'DeleteSchema' => [ 'name' => 'DeleteSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteSchemaRequest', ], 'output' => [ 'shape' => 'DeleteSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'StillContainsLinksException', ], ], ], 'DeleteTypedLinkFacet' => [ 'name' => 'DeleteTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'DeleteTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'DetachFromIndex' => [ 'name' => 'DetachFromIndex', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachFromIndexRequest', ], 'output' => [ 'shape' => 'DetachFromIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ObjectAlreadyDetachedException', ], [ 'shape' => 'NotIndexException', ], ], ], 'DetachObject' => [ 'name' => 'DetachObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachObjectRequest', ], 'output' => [ 'shape' => 'DetachObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotNodeException', ], ], ], 'DetachPolicy' => [ 'name' => 'DetachPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachPolicyRequest', ], 'output' => [ 'shape' => 'DetachPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'DetachTypedLink' => [ 'name' => 'DetachTypedLink', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/detach', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DetachTypedLinkRequest', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'DisableDirectory' => [ 'name' => 'DisableDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/disable', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisableDirectoryRequest', ], 'output' => [ 'shape' => 'DisableDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'EnableDirectory' => [ 'name' => 'EnableDirectory', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/enable', 'responseCode' => 200, ], 'input' => [ 'shape' => 'EnableDirectoryRequest', ], 'output' => [ 'shape' => 'EnableDirectoryResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DirectoryDeletedException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'InvalidArnException', ], ], ], 'GetAppliedSchemaVersion' => [ 'name' => 'GetAppliedSchemaVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/getappliedschema', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAppliedSchemaVersionRequest', ], 'output' => [ 'shape' => 'GetAppliedSchemaVersionResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetDirectory' => [ 'name' => 'GetDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDirectoryRequest', ], 'output' => [ 'shape' => 'GetDirectoryResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'GetFacet' => [ 'name' => 'GetFacet', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFacetRequest', ], 'output' => [ 'shape' => 'GetFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'GetLinkAttributes' => [ 'name' => 'GetLinkAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attributes/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLinkAttributesRequest', ], 'output' => [ 'shape' => 'GetLinkAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'GetObjectAttributes' => [ 'name' => 'GetObjectAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attributes/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetObjectAttributesRequest', ], 'output' => [ 'shape' => 'GetObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'GetObjectInformation' => [ 'name' => 'GetObjectInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/information', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetObjectInformationRequest', ], 'output' => [ 'shape' => 'GetObjectInformationResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetSchemaAsJson' => [ 'name' => 'GetSchemaAsJson', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/json', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSchemaAsJsonRequest', ], 'output' => [ 'shape' => 'GetSchemaAsJsonResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'GetTypedLinkFacetInformation' => [ 'name' => 'GetTypedLinkFacetInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetTypedLinkFacetInformationRequest', ], 'output' => [ 'shape' => 'GetTypedLinkFacetInformationResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetNotFoundException', ], ], ], 'ListAppliedSchemaArns' => [ 'name' => 'ListAppliedSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/applied', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListAppliedSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListAppliedSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListAttachedIndices' => [ 'name' => 'ListAttachedIndices', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/indices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListAttachedIndicesRequest', ], 'output' => [ 'shape' => 'ListAttachedIndicesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListDevelopmentSchemaArns' => [ 'name' => 'ListDevelopmentSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/development', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDevelopmentSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListDevelopmentSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListDirectories' => [ 'name' => 'ListDirectories', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/directory/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDirectoriesRequest', ], 'output' => [ 'shape' => 'ListDirectoriesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListFacetAttributes' => [ 'name' => 'ListFacetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFacetAttributesRequest', ], 'output' => [ 'shape' => 'ListFacetAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListFacetNames' => [ 'name' => 'ListFacetNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFacetNamesRequest', ], 'output' => [ 'shape' => 'ListFacetNamesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListIncomingTypedLinks' => [ 'name' => 'ListIncomingTypedLinks', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/incoming', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIncomingTypedLinksRequest', ], 'output' => [ 'shape' => 'ListIncomingTypedLinksResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListIndex' => [ 'name' => 'ListIndex', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/index/targets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIndexRequest', ], 'output' => [ 'shape' => 'ListIndexResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotIndexException', ], ], ], 'ListManagedSchemaArns' => [ 'name' => 'ListManagedSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/managed', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListManagedSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListManagedSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListObjectAttributes' => [ 'name' => 'ListObjectAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectAttributesRequest', ], 'output' => [ 'shape' => 'ListObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListObjectChildren' => [ 'name' => 'ListObjectChildren', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/children', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectChildrenRequest', ], 'output' => [ 'shape' => 'ListObjectChildrenResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NotNodeException', ], ], ], 'ListObjectParentPaths' => [ 'name' => 'ListObjectParentPaths', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/parentpaths', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectParentPathsRequest', ], 'output' => [ 'shape' => 'ListObjectParentPathsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListObjectParents' => [ 'name' => 'ListObjectParents', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/parent', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectParentsRequest', ], 'output' => [ 'shape' => 'ListObjectParentsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'CannotListParentOfRootException', ], ], ], 'ListObjectPolicies' => [ 'name' => 'ListObjectPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListObjectPoliciesRequest', ], 'output' => [ 'shape' => 'ListObjectPoliciesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListOutgoingTypedLinks' => [ 'name' => 'ListOutgoingTypedLinks', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/outgoing', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListOutgoingTypedLinksRequest', ], 'output' => [ 'shape' => 'ListOutgoingTypedLinksResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'ListPolicyAttachments' => [ 'name' => 'ListPolicyAttachments', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/attachment', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPolicyAttachmentsRequest', ], 'output' => [ 'shape' => 'ListPolicyAttachmentsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotPolicyException', ], ], ], 'ListPublishedSchemaArns' => [ 'name' => 'ListPublishedSchemaArns', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/published', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPublishedSchemaArnsRequest', ], 'output' => [ 'shape' => 'ListPublishedSchemaArnsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'ListTypedLinkFacetAttributes' => [ 'name' => 'ListTypedLinkFacetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/attributes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTypedLinkFacetAttributesRequest', ], 'output' => [ 'shape' => 'ListTypedLinkFacetAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListTypedLinkFacetNames' => [ 'name' => 'ListTypedLinkFacetNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet/list', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTypedLinkFacetNamesRequest', ], 'output' => [ 'shape' => 'ListTypedLinkFacetNamesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'LookupPolicy' => [ 'name' => 'LookupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/policy/lookup', 'responseCode' => 200, ], 'input' => [ 'shape' => 'LookupPolicyRequest', ], 'output' => [ 'shape' => 'LookupPolicyResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'PublishSchema' => [ 'name' => 'PublishSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/publish', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PublishSchemaRequest', ], 'output' => [ 'shape' => 'PublishSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'SchemaAlreadyPublishedException', ], ], ], 'PutSchemaFromJson' => [ 'name' => 'PutSchemaFromJson', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/json', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutSchemaFromJsonRequest', ], 'output' => [ 'shape' => 'PutSchemaFromJsonResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidSchemaDocException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'RemoveFacetFromObject' => [ 'name' => 'RemoveFacetFromObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/facets/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RemoveFacetFromObjectRequest', ], 'output' => [ 'shape' => 'RemoveFacetFromObjectResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags/add', 'responseCode' => 200, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/tags/remove', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidTaggingRequestException', ], ], ], 'UpdateFacet' => [ 'name' => 'UpdateFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFacetRequest', ], 'output' => [ 'shape' => 'UpdateFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidFacetUpdateException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'UpdateLinkAttributes' => [ 'name' => 'UpdateLinkAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/attributes/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateLinkAttributesRequest', ], 'output' => [ 'shape' => 'UpdateLinkAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'UpdateObjectAttributes' => [ 'name' => 'UpdateObjectAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/object/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateObjectAttributesRequest', ], 'output' => [ 'shape' => 'UpdateObjectAttributesResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'DirectoryNotEnabledException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LinkNameAlreadyInUseException', ], [ 'shape' => 'FacetValidationException', ], ], ], 'UpdateSchema' => [ 'name' => 'UpdateSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/update', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateSchemaRequest', ], 'output' => [ 'shape' => 'UpdateSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateTypedLinkFacet' => [ 'name' => 'UpdateTypedLinkFacet', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/typedlink/facet', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateTypedLinkFacetRequest', ], 'output' => [ 'shape' => 'UpdateTypedLinkFacetResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'FacetValidationException', ], [ 'shape' => 'InvalidFacetUpdateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'FacetNotFoundException', ], [ 'shape' => 'InvalidRuleException', ], ], ], 'UpgradeAppliedSchema' => [ 'name' => 'UpgradeAppliedSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/upgradeapplied', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpgradeAppliedSchemaRequest', ], 'output' => [ 'shape' => 'UpgradeAppliedSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleSchemaException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'SchemaAlreadyExistsException', ], ], ], 'UpgradePublishedSchema' => [ 'name' => 'UpgradePublishedSchema', 'http' => [ 'method' => 'PUT', 'requestUri' => '/amazonclouddirectory/2017-01-11/schema/upgradepublished', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpgradePublishedSchemaRequest', ], 'output' => [ 'shape' => 'UpgradePublishedSchemaResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'RetryableConflictException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleSchemaException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAttachmentException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'AddFacetToObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AddFacetToObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'ApplySchemaRequest' => [ 'type' => 'structure', 'required' => [ 'PublishedSchemaArn', 'DirectoryArn', ], 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'ApplySchemaResponse' => [ 'type' => 'structure', 'members' => [ 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'Arn' => [ 'type' => 'string', ], 'Arns' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], ], 'AttachObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ParentReference', 'ChildReference', 'LinkName', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'ChildReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'AttachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'AttachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AttachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttachToIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'AttachToIndexResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'AttachTypedLinkRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SourceObjectReference', 'TargetObjectReference', 'TypedLinkFacet', 'Attributes', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'Attributes' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'AttachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'AttributeKey' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'FacetName', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'FacetName' => [ 'shape' => 'FacetName', ], 'Name' => [ 'shape' => 'AttributeName', ], ], ], 'AttributeKeyAndValue' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'AttributeKey', ], 'Value' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'AttributeKeyAndValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeKeyAndValue', ], ], 'AttributeKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeKey', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 230, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._:-]*$', ], 'AttributeNameAndValue' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'Value', ], 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'Value' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'AttributeNameAndValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeNameAndValue', ], ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], ], 'BatchAddFacetToObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectAttributeList', 'ObjectReference', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAddFacetToObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchAttachObject' => [ 'type' => 'structure', 'required' => [ 'ParentReference', 'ChildReference', 'LinkName', ], 'members' => [ 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'ChildReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'BatchAttachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'attachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchAttachPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', 'ObjectReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAttachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchAttachToIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', 'TargetReference', ], 'members' => [ 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchAttachToIndexResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchAttachTypedLink' => [ 'type' => 'structure', 'required' => [ 'SourceObjectReference', 'TargetObjectReference', 'TypedLinkFacet', 'Attributes', ], 'members' => [ 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'Attributes' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'BatchAttachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'BatchCreateIndex' => [ 'type' => 'structure', 'required' => [ 'OrderedIndexedAttributeList', 'IsUnique', ], 'members' => [ 'OrderedIndexedAttributeList' => [ 'shape' => 'AttributeKeyList', ], 'IsUnique' => [ 'shape' => 'Bool', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchCreateIndexResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchCreateObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectAttributeList', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacetList', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchCreateObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDeleteObject' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDeleteObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchDetachFromIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', 'TargetReference', ], 'members' => [ 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDetachFromIndexResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDetachObject' => [ 'type' => 'structure', 'required' => [ 'ParentReference', 'LinkName', ], 'members' => [ 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], 'BatchReferenceName' => [ 'shape' => 'BatchReferenceName', ], ], ], 'BatchDetachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'detachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchDetachPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', 'ObjectReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchDetachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchDetachTypedLink' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'BatchDetachTypedLinkResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchGetLinkAttributes' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', 'AttributeNames', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'BatchGetLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'BatchGetObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', 'SchemaFacet', 'AttributeNames', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'BatchGetObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'BatchGetObjectInformation' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchGetObjectInformationResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchListAttachedIndices' => [ 'type' => 'structure', 'required' => [ 'TargetReference', ], 'members' => [ 'TargetReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListAttachedIndicesResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIncomingTypedLinks' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListIncomingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'LinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIndex' => [ 'type' => 'structure', 'required' => [ 'IndexReference', ], 'members' => [ 'RangesOnIndexedValues' => [ 'shape' => 'ObjectAttributeRangeList', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListIndexResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'FacetFilter' => [ 'shape' => 'SchemaFacet', ], ], ], 'BatchListObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectChildren' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectChildrenResponse' => [ 'type' => 'structure', 'members' => [ 'Children' => [ 'shape' => 'LinkNameToObjectIdentifierMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectParentPaths' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectParentPathsResponse' => [ 'type' => 'structure', 'members' => [ 'PathToObjectIdentifiersList' => [ 'shape' => 'PathToObjectIdentifiersList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectParents' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectParentsResponse' => [ 'type' => 'structure', 'members' => [ 'ParentLinks' => [ 'shape' => 'ObjectIdentifierAndLinkNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListObjectPolicies' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListObjectPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicyIds' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListOutgoingTypedLinks' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListOutgoingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchListPolicyAttachments' => [ 'type' => 'structure', 'required' => [ 'PolicyReference', ], 'members' => [ 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchListPolicyAttachmentsResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchLookupPolicy' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'BatchLookupPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyToPathList' => [ 'shape' => 'PolicyToPathList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'BatchOperationIndex' => [ 'type' => 'integer', ], 'BatchReadException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'BatchReadExceptionType', ], 'Message' => [ 'shape' => 'ExceptionMessage', ], ], ], 'BatchReadExceptionType' => [ 'type' => 'string', 'enum' => [ 'ValidationException', 'InvalidArnException', 'ResourceNotFoundException', 'InvalidNextTokenException', 'AccessDeniedException', 'NotNodeException', 'FacetValidationException', 'CannotListParentOfRootException', 'NotIndexException', 'NotPolicyException', 'DirectoryNotEnabledException', 'LimitExceededException', 'InternalServiceException', ], ], 'BatchReadOperation' => [ 'type' => 'structure', 'members' => [ 'ListObjectAttributes' => [ 'shape' => 'BatchListObjectAttributes', ], 'ListObjectChildren' => [ 'shape' => 'BatchListObjectChildren', ], 'ListAttachedIndices' => [ 'shape' => 'BatchListAttachedIndices', ], 'ListObjectParentPaths' => [ 'shape' => 'BatchListObjectParentPaths', ], 'GetObjectInformation' => [ 'shape' => 'BatchGetObjectInformation', ], 'GetObjectAttributes' => [ 'shape' => 'BatchGetObjectAttributes', ], 'ListObjectParents' => [ 'shape' => 'BatchListObjectParents', ], 'ListObjectPolicies' => [ 'shape' => 'BatchListObjectPolicies', ], 'ListPolicyAttachments' => [ 'shape' => 'BatchListPolicyAttachments', ], 'LookupPolicy' => [ 'shape' => 'BatchLookupPolicy', ], 'ListIndex' => [ 'shape' => 'BatchListIndex', ], 'ListOutgoingTypedLinks' => [ 'shape' => 'BatchListOutgoingTypedLinks', ], 'ListIncomingTypedLinks' => [ 'shape' => 'BatchListIncomingTypedLinks', ], 'GetLinkAttributes' => [ 'shape' => 'BatchGetLinkAttributes', ], ], ], 'BatchReadOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchReadOperation', ], ], 'BatchReadOperationResponse' => [ 'type' => 'structure', 'members' => [ 'SuccessfulResponse' => [ 'shape' => 'BatchReadSuccessfulResponse', ], 'ExceptionResponse' => [ 'shape' => 'BatchReadException', ], ], ], 'BatchReadOperationResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchReadOperationResponse', ], ], 'BatchReadRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Operations', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Operations' => [ 'shape' => 'BatchReadOperationList', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'BatchReadResponse' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchReadOperationResponseList', ], ], ], 'BatchReadSuccessfulResponse' => [ 'type' => 'structure', 'members' => [ 'ListObjectAttributes' => [ 'shape' => 'BatchListObjectAttributesResponse', ], 'ListObjectChildren' => [ 'shape' => 'BatchListObjectChildrenResponse', ], 'GetObjectInformation' => [ 'shape' => 'BatchGetObjectInformationResponse', ], 'GetObjectAttributes' => [ 'shape' => 'BatchGetObjectAttributesResponse', ], 'ListAttachedIndices' => [ 'shape' => 'BatchListAttachedIndicesResponse', ], 'ListObjectParentPaths' => [ 'shape' => 'BatchListObjectParentPathsResponse', ], 'ListObjectPolicies' => [ 'shape' => 'BatchListObjectPoliciesResponse', ], 'ListPolicyAttachments' => [ 'shape' => 'BatchListPolicyAttachmentsResponse', ], 'LookupPolicy' => [ 'shape' => 'BatchLookupPolicyResponse', ], 'ListIndex' => [ 'shape' => 'BatchListIndexResponse', ], 'ListOutgoingTypedLinks' => [ 'shape' => 'BatchListOutgoingTypedLinksResponse', ], 'ListIncomingTypedLinks' => [ 'shape' => 'BatchListIncomingTypedLinksResponse', ], 'GetLinkAttributes' => [ 'shape' => 'BatchGetLinkAttributesResponse', ], 'ListObjectParents' => [ 'shape' => 'BatchListObjectParentsResponse', ], ], ], 'BatchReferenceName' => [ 'type' => 'string', ], 'BatchRemoveFacetFromObject' => [ 'type' => 'structure', 'required' => [ 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'BatchRemoveFacetFromObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchUpdateLinkAttributes' => [ 'type' => 'structure', 'required' => [ 'TypedLinkSpecifier', 'AttributeUpdates', ], 'members' => [ 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeUpdates' => [ 'shape' => 'LinkAttributeUpdateList', ], ], ], 'BatchUpdateLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'BatchUpdateObjectAttributes' => [ 'type' => 'structure', 'required' => [ 'ObjectReference', 'AttributeUpdates', ], 'members' => [ 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'AttributeUpdates' => [ 'shape' => 'ObjectAttributeUpdateList', ], ], ], 'BatchUpdateObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'BatchWriteException' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'BatchOperationIndex', ], 'Type' => [ 'shape' => 'BatchWriteExceptionType', ], 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'BatchWriteExceptionType' => [ 'type' => 'string', 'enum' => [ 'InternalServiceException', 'ValidationException', 'InvalidArnException', 'LinkNameAlreadyInUseException', 'StillContainsLinksException', 'FacetValidationException', 'ObjectNotDetachedException', 'ResourceNotFoundException', 'AccessDeniedException', 'InvalidAttachmentException', 'NotIndexException', 'NotNodeException', 'IndexedAttributeMissingException', 'ObjectAlreadyDetachedException', 'NotPolicyException', 'DirectoryNotEnabledException', 'LimitExceededException', 'UnsupportedIndexTypeException', ], ], 'BatchWriteOperation' => [ 'type' => 'structure', 'members' => [ 'CreateObject' => [ 'shape' => 'BatchCreateObject', ], 'AttachObject' => [ 'shape' => 'BatchAttachObject', ], 'DetachObject' => [ 'shape' => 'BatchDetachObject', ], 'UpdateObjectAttributes' => [ 'shape' => 'BatchUpdateObjectAttributes', ], 'DeleteObject' => [ 'shape' => 'BatchDeleteObject', ], 'AddFacetToObject' => [ 'shape' => 'BatchAddFacetToObject', ], 'RemoveFacetFromObject' => [ 'shape' => 'BatchRemoveFacetFromObject', ], 'AttachPolicy' => [ 'shape' => 'BatchAttachPolicy', ], 'DetachPolicy' => [ 'shape' => 'BatchDetachPolicy', ], 'CreateIndex' => [ 'shape' => 'BatchCreateIndex', ], 'AttachToIndex' => [ 'shape' => 'BatchAttachToIndex', ], 'DetachFromIndex' => [ 'shape' => 'BatchDetachFromIndex', ], 'AttachTypedLink' => [ 'shape' => 'BatchAttachTypedLink', ], 'DetachTypedLink' => [ 'shape' => 'BatchDetachTypedLink', ], 'UpdateLinkAttributes' => [ 'shape' => 'BatchUpdateLinkAttributes', ], ], ], 'BatchWriteOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchWriteOperation', ], ], 'BatchWriteOperationResponse' => [ 'type' => 'structure', 'members' => [ 'CreateObject' => [ 'shape' => 'BatchCreateObjectResponse', ], 'AttachObject' => [ 'shape' => 'BatchAttachObjectResponse', ], 'DetachObject' => [ 'shape' => 'BatchDetachObjectResponse', ], 'UpdateObjectAttributes' => [ 'shape' => 'BatchUpdateObjectAttributesResponse', ], 'DeleteObject' => [ 'shape' => 'BatchDeleteObjectResponse', ], 'AddFacetToObject' => [ 'shape' => 'BatchAddFacetToObjectResponse', ], 'RemoveFacetFromObject' => [ 'shape' => 'BatchRemoveFacetFromObjectResponse', ], 'AttachPolicy' => [ 'shape' => 'BatchAttachPolicyResponse', ], 'DetachPolicy' => [ 'shape' => 'BatchDetachPolicyResponse', ], 'CreateIndex' => [ 'shape' => 'BatchCreateIndexResponse', ], 'AttachToIndex' => [ 'shape' => 'BatchAttachToIndexResponse', ], 'DetachFromIndex' => [ 'shape' => 'BatchDetachFromIndexResponse', ], 'AttachTypedLink' => [ 'shape' => 'BatchAttachTypedLinkResponse', ], 'DetachTypedLink' => [ 'shape' => 'BatchDetachTypedLinkResponse', ], 'UpdateLinkAttributes' => [ 'shape' => 'BatchUpdateLinkAttributesResponse', ], ], ], 'BatchWriteOperationResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchWriteOperationResponse', ], ], 'BatchWriteRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Operations', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Operations' => [ 'shape' => 'BatchWriteOperationList', ], ], ], 'BatchWriteResponse' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchWriteOperationResponseList', ], ], ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'Bool' => [ 'type' => 'boolean', ], 'BooleanAttributeValue' => [ 'type' => 'boolean', ], 'CannotListParentOfRootException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ConsistencyLevel' => [ 'type' => 'string', 'enum' => [ 'SERIALIZABLE', 'EVENTUAL', ], ], 'CreateDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'SchemaArn', ], 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'CreateDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'Name', 'ObjectIdentifier', 'AppliedSchemaArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'DirectoryArn', ], 'Name' => [ 'shape' => 'DirectoryName', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'CreateFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'Attributes' => [ 'shape' => 'FacetAttributeList', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], 'FacetStyle' => [ 'shape' => 'FacetStyle', ], ], ], 'CreateFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'OrderedIndexedAttributeList', 'IsUnique', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'OrderedIndexedAttributeList' => [ 'shape' => 'AttributeKeyList', ], 'IsUnique' => [ 'shape' => 'Bool', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'CreateIndexResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'CreateObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacets', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectAttributeList' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'CreateObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'CreateSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'CreateSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'CreateTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Facet', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Facet' => [ 'shape' => 'TypedLinkFacet', ], ], ], 'CreateTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'Date' => [ 'type' => 'timestamp', ], 'DatetimeAttributeValue' => [ 'type' => 'timestamp', ], 'DeleteDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DeleteDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], ], ], 'DeleteFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DeleteObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DeleteSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], ], ], 'DeleteTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetachFromIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DetachFromIndexResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'DetachObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ParentReference', 'LinkName', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ParentReference' => [ 'shape' => 'ObjectReference', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'DetachObjectResponse' => [ 'type' => 'structure', 'members' => [ 'DetachedObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'DetachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'DetachPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetachTypedLinkRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], ], ], 'Directory' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'DirectoryArn' => [ 'shape' => 'DirectoryArn', ], 'State' => [ 'shape' => 'DirectoryState', ], 'CreationDateTime' => [ 'shape' => 'Date', ], ], ], 'DirectoryAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryArn' => [ 'type' => 'string', ], 'DirectoryDeletedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Directory', ], ], 'DirectoryName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'DirectoryNotDisabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryNotEnabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DirectoryState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', 'DELETED', ], ], 'DisableDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'DisableDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'EnableDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'EnableDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'Facet' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FacetName', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], 'FacetStyle' => [ 'shape' => 'FacetStyle', ], ], ], 'FacetAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetAttribute' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'AttributeDefinition' => [ 'shape' => 'FacetAttributeDefinition', ], 'AttributeReference' => [ 'shape' => 'FacetAttributeReference', ], 'RequiredBehavior' => [ 'shape' => 'RequiredAttributeBehavior', ], ], ], 'FacetAttributeDefinition' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'FacetAttributeType', ], 'DefaultValue' => [ 'shape' => 'TypedAttributeValue', ], 'IsImmutable' => [ 'shape' => 'Bool', ], 'Rules' => [ 'shape' => 'RuleMap', ], ], ], 'FacetAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetAttribute', ], ], 'FacetAttributeReference' => [ 'type' => 'structure', 'required' => [ 'TargetFacetName', 'TargetAttributeName', ], 'members' => [ 'TargetFacetName' => [ 'shape' => 'FacetName', ], 'TargetAttributeName' => [ 'shape' => 'AttributeName', ], ], ], 'FacetAttributeType' => [ 'type' => 'string', 'enum' => [ 'STRING', 'BINARY', 'BOOLEAN', 'NUMBER', 'DATETIME', 'VARIANT', ], ], 'FacetAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'Attribute' => [ 'shape' => 'FacetAttribute', ], 'Action' => [ 'shape' => 'UpdateActionType', ], ], ], 'FacetAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetAttributeUpdate', ], ], 'FacetInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'FacetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FacetName', ], ], 'FacetNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FacetStyle' => [ 'type' => 'string', 'enum' => [ 'STATIC', 'DYNAMIC', ], ], 'FacetValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'GetAppliedSchemaVersionRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'GetAppliedSchemaVersionResponse' => [ 'type' => 'structure', 'members' => [ 'AppliedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'GetDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'DirectoryArn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'GetDirectoryResponse' => [ 'type' => 'structure', 'required' => [ 'Directory', ], 'members' => [ 'Directory' => [ 'shape' => 'Directory', ], ], ], 'GetFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], ], ], 'GetFacetResponse' => [ 'type' => 'structure', 'members' => [ 'Facet' => [ 'shape' => 'Facet', ], ], ], 'GetLinkAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', 'AttributeNames', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'GetLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'GetObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', 'SchemaFacet', 'AttributeNames', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'GetObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], ], ], 'GetObjectInformationRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'GetObjectInformationResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaFacets' => [ 'shape' => 'SchemaFacetList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'GetSchemaAsJsonRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], ], ], 'GetSchemaAsJsonResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'SchemaName', ], 'Document' => [ 'shape' => 'SchemaJsonDocument', ], ], ], 'GetTypedLinkFacetInformationRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], ], ], 'GetTypedLinkFacetInformationResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'IncompatibleSchemaException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IndexAttachment' => [ 'type' => 'structure', 'members' => [ 'IndexedAttributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'IndexAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IndexAttachment', ], ], 'IndexedAttributeMissingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidArnException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidAttachmentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidFacetUpdateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRuleException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidSchemaDocException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTaggingRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LinkAttributeAction' => [ 'type' => 'structure', 'members' => [ 'AttributeActionType' => [ 'shape' => 'UpdateActionType', ], 'AttributeUpdateValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'LinkAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'AttributeKey' => [ 'shape' => 'AttributeKey', ], 'AttributeAction' => [ 'shape' => 'LinkAttributeAction', ], ], ], 'LinkAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LinkAttributeUpdate', ], ], 'LinkName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+', ], 'LinkNameAlreadyInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LinkNameToObjectIdentifierMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'LinkName', ], 'value' => [ 'shape' => 'ObjectIdentifier', ], ], 'ListAppliedSchemaArnsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', ], 'SchemaArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListAppliedSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAttachedIndicesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TargetReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TargetReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListAttachedIndicesResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDevelopmentSchemaArnsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListDevelopmentSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDirectoriesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'state' => [ 'shape' => 'DirectoryState', ], ], ], 'ListDirectoriesResponse' => [ 'type' => 'structure', 'required' => [ 'Directories', ], 'members' => [ 'Directories' => [ 'shape' => 'DirectoryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListFacetAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListFacetAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'FacetAttributeList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListFacetNamesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListFacetNamesResponse' => [ 'type' => 'structure', 'members' => [ 'FacetNames' => [ 'shape' => 'FacetNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIncomingTypedLinksRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'ListIncomingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'LinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIndexRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'IndexReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'RangesOnIndexedValues' => [ 'shape' => 'ObjectAttributeRangeList', ], 'IndexReference' => [ 'shape' => 'ObjectReference', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListIndexResponse' => [ 'type' => 'structure', 'members' => [ 'IndexAttachments' => [ 'shape' => 'IndexAttachmentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListManagedSchemaArnsRequest' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListManagedSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], 'FacetFilter' => [ 'shape' => 'SchemaFacet', ], ], ], 'ListObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeKeyAndValueList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectChildrenRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListObjectChildrenResponse' => [ 'type' => 'structure', 'members' => [ 'Children' => [ 'shape' => 'LinkNameToObjectIdentifierMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectParentPathsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListObjectParentPathsResponse' => [ 'type' => 'structure', 'members' => [ 'PathToObjectIdentifiersList' => [ 'shape' => 'PathToObjectIdentifiersList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListObjectParentsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], 'IncludeAllLinksToEachParent' => [ 'shape' => 'Bool', ], ], ], 'ListObjectParentsResponse' => [ 'type' => 'structure', 'members' => [ 'Parents' => [ 'shape' => 'ObjectIdentifierToLinkNameMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ParentLinks' => [ 'shape' => 'ObjectIdentifierAndLinkNameList', ], ], ], 'ListObjectPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListObjectPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicyIds' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOutgoingTypedLinksRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'FilterAttributeRanges' => [ 'shape' => 'TypedLinkAttributeRangeList', ], 'FilterTypedLink' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', ], ], ], 'ListOutgoingTypedLinksResponse' => [ 'type' => 'structure', 'members' => [ 'TypedLinkSpecifiers' => [ 'shape' => 'TypedLinkSpecifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPolicyAttachmentsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'PolicyReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'PolicyReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], 'ConsistencyLevel' => [ 'shape' => 'ConsistencyLevel', 'location' => 'header', 'locationName' => 'x-amz-consistency-level', ], ], ], 'ListPolicyAttachmentsResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPublishedSchemaArnsRequest' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListPublishedSchemaArnsResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArns' => [ 'shape' => 'Arns', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'TagsNumberResults', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTypedLinkFacetAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListTypedLinkFacetAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'TypedLinkAttributeDefinitionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTypedLinkFacetNamesRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'ListTypedLinkFacetNamesResponse' => [ 'type' => 'structure', 'members' => [ 'FacetNames' => [ 'shape' => 'TypedLinkNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LookupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'NumberResults', ], ], ], 'LookupPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyToPathList' => [ 'shape' => 'PolicyToPathList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'NextToken' => [ 'type' => 'string', ], 'NotIndexException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotNodeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotPolicyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NumberAttributeValue' => [ 'type' => 'string', ], 'NumberResults' => [ 'type' => 'integer', 'min' => 1, ], 'ObjectAlreadyDetachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ObjectAttributeAction' => [ 'type' => 'structure', 'members' => [ 'ObjectAttributeActionType' => [ 'shape' => 'UpdateActionType', ], 'ObjectAttributeUpdateValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'ObjectAttributeRange' => [ 'type' => 'structure', 'members' => [ 'AttributeKey' => [ 'shape' => 'AttributeKey', ], 'Range' => [ 'shape' => 'TypedAttributeValueRange', ], ], ], 'ObjectAttributeRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectAttributeRange', ], ], 'ObjectAttributeUpdate' => [ 'type' => 'structure', 'members' => [ 'ObjectAttributeKey' => [ 'shape' => 'AttributeKey', ], 'ObjectAttributeAction' => [ 'shape' => 'ObjectAttributeAction', ], ], ], 'ObjectAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectAttributeUpdate', ], ], 'ObjectIdentifier' => [ 'type' => 'string', ], 'ObjectIdentifierAndLinkNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectIdentifierAndLinkNameTuple', ], ], 'ObjectIdentifierAndLinkNameTuple' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], 'LinkName' => [ 'shape' => 'LinkName', ], ], ], 'ObjectIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectIdentifier', ], ], 'ObjectIdentifierToLinkNameMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ObjectIdentifier', ], 'value' => [ 'shape' => 'LinkName', ], ], 'ObjectNotDetachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ObjectReference' => [ 'type' => 'structure', 'members' => [ 'Selector' => [ 'shape' => 'SelectorObjectReference', ], ], ], 'ObjectType' => [ 'type' => 'string', 'enum' => [ 'NODE', 'LEAF_NODE', 'POLICY', 'INDEX', ], ], 'PathString' => [ 'type' => 'string', ], 'PathToObjectIdentifiers' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'PathString', ], 'ObjectIdentifiers' => [ 'shape' => 'ObjectIdentifierList', ], ], ], 'PathToObjectIdentifiersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PathToObjectIdentifiers', ], ], 'PolicyAttachment' => [ 'type' => 'structure', 'members' => [ 'PolicyId' => [ 'shape' => 'ObjectIdentifier', ], 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], ], ], 'PolicyAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyAttachment', ], ], 'PolicyToPath' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'PathString', ], 'Policies' => [ 'shape' => 'PolicyAttachmentList', ], ], ], 'PolicyToPathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyToPath', ], ], 'PolicyType' => [ 'type' => 'string', ], 'PublishSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'DevelopmentSchemaArn', 'Version', ], 'members' => [ 'DevelopmentSchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Version' => [ 'shape' => 'Version', ], 'MinorVersion' => [ 'shape' => 'Version', ], 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'PublishSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'PutSchemaFromJsonRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Document', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Document' => [ 'shape' => 'SchemaJsonDocument', ], ], ], 'PutSchemaFromJsonResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], ], ], 'RangeMode' => [ 'type' => 'string', 'enum' => [ 'FIRST', 'LAST', 'LAST_BEFORE_MISSING_VALUES', 'INCLUSIVE', 'EXCLUSIVE', ], ], 'RemoveFacetFromObjectRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'SchemaFacet', 'ObjectReference', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'SchemaFacet' => [ 'shape' => 'SchemaFacet', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], ], ], 'RemoveFacetFromObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'RequiredAttributeBehavior' => [ 'type' => 'string', 'enum' => [ 'REQUIRED_ALWAYS', 'NOT_REQUIRED', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RetryableConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Rule' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'RuleType', ], 'Parameters' => [ 'shape' => 'RuleParameterMap', ], ], ], 'RuleKey' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'RuleMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'RuleKey', ], 'value' => [ 'shape' => 'Rule', ], ], 'RuleParameterKey' => [ 'type' => 'string', ], 'RuleParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'RuleParameterKey', ], 'value' => [ 'shape' => 'RuleParameterValue', ], ], 'RuleParameterValue' => [ 'type' => 'string', ], 'RuleType' => [ 'type' => 'string', 'enum' => [ 'BINARY_LENGTH', 'NUMBER_COMPARISON', 'STRING_FROM_SET', 'STRING_LENGTH', ], ], 'SchemaAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SchemaAlreadyPublishedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SchemaFacet' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'FacetName' => [ 'shape' => 'FacetName', ], ], ], 'SchemaFacetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaFacet', ], ], 'SchemaJsonDocument' => [ 'type' => 'string', ], 'SchemaName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'SelectorObjectReference' => [ 'type' => 'string', ], 'StillContainsLinksException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'StringAttributeValue' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'TagsNumberResults' => [ 'type' => 'integer', 'min' => 50, ], 'TypedAttributeValue' => [ 'type' => 'structure', 'members' => [ 'StringValue' => [ 'shape' => 'StringAttributeValue', ], 'BinaryValue' => [ 'shape' => 'BinaryAttributeValue', ], 'BooleanValue' => [ 'shape' => 'BooleanAttributeValue', ], 'NumberValue' => [ 'shape' => 'NumberAttributeValue', ], 'DatetimeValue' => [ 'shape' => 'DatetimeAttributeValue', ], ], ], 'TypedAttributeValueRange' => [ 'type' => 'structure', 'required' => [ 'StartMode', 'EndMode', ], 'members' => [ 'StartMode' => [ 'shape' => 'RangeMode', ], 'StartValue' => [ 'shape' => 'TypedAttributeValue', ], 'EndMode' => [ 'shape' => 'RangeMode', ], 'EndValue' => [ 'shape' => 'TypedAttributeValue', ], ], ], 'TypedLinkAttributeDefinition' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', 'RequiredBehavior', ], 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'Type' => [ 'shape' => 'FacetAttributeType', ], 'DefaultValue' => [ 'shape' => 'TypedAttributeValue', ], 'IsImmutable' => [ 'shape' => 'Bool', ], 'Rules' => [ 'shape' => 'RuleMap', ], 'RequiredBehavior' => [ 'shape' => 'RequiredAttributeBehavior', ], ], ], 'TypedLinkAttributeDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkAttributeDefinition', ], ], 'TypedLinkAttributeRange' => [ 'type' => 'structure', 'required' => [ 'Range', ], 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'Range' => [ 'shape' => 'TypedAttributeValueRange', ], ], ], 'TypedLinkAttributeRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkAttributeRange', ], ], 'TypedLinkFacet' => [ 'type' => 'structure', 'required' => [ 'Name', 'Attributes', 'IdentityAttributeOrder', ], 'members' => [ 'Name' => [ 'shape' => 'TypedLinkName', ], 'Attributes' => [ 'shape' => 'TypedLinkAttributeDefinitionList', ], 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'TypedLinkFacetAttributeUpdate' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'Action', ], 'members' => [ 'Attribute' => [ 'shape' => 'TypedLinkAttributeDefinition', ], 'Action' => [ 'shape' => 'UpdateActionType', ], ], ], 'TypedLinkFacetAttributeUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkFacetAttributeUpdate', ], ], 'TypedLinkName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9._-]*$', ], 'TypedLinkNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkName', ], ], 'TypedLinkSchemaAndFacetName' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'TypedLinkName', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], 'TypedLinkName' => [ 'shape' => 'TypedLinkName', ], ], ], 'TypedLinkSpecifier' => [ 'type' => 'structure', 'required' => [ 'TypedLinkFacet', 'SourceObjectReference', 'TargetObjectReference', 'IdentityAttributeValues', ], 'members' => [ 'TypedLinkFacet' => [ 'shape' => 'TypedLinkSchemaAndFacetName', ], 'SourceObjectReference' => [ 'shape' => 'ObjectReference', ], 'TargetObjectReference' => [ 'shape' => 'ObjectReference', ], 'IdentityAttributeValues' => [ 'shape' => 'AttributeNameAndValueList', ], ], ], 'TypedLinkSpecifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TypedLinkSpecifier', ], ], 'UnsupportedIndexTypeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateActionType' => [ 'type' => 'string', 'enum' => [ 'CREATE_OR_UPDATE', 'DELETE', ], ], 'UpdateFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'FacetName', ], 'AttributeUpdates' => [ 'shape' => 'FacetAttributeUpdateList', ], 'ObjectType' => [ 'shape' => 'ObjectType', ], ], ], 'UpdateFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateLinkAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'TypedLinkSpecifier', 'AttributeUpdates', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'TypedLinkSpecifier' => [ 'shape' => 'TypedLinkSpecifier', ], 'AttributeUpdates' => [ 'shape' => 'LinkAttributeUpdateList', ], ], ], 'UpdateLinkAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateObjectAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryArn', 'ObjectReference', 'AttributeUpdates', ], 'members' => [ 'DirectoryArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'ObjectReference' => [ 'shape' => 'ObjectReference', ], 'AttributeUpdates' => [ 'shape' => 'ObjectAttributeUpdateList', ], ], ], 'UpdateObjectAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'ObjectIdentifier' => [ 'shape' => 'ObjectIdentifier', ], ], ], 'UpdateSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'SchemaName', ], ], ], 'UpdateSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', ], ], ], 'UpdateTypedLinkFacetRequest' => [ 'type' => 'structure', 'required' => [ 'SchemaArn', 'Name', 'AttributeUpdates', 'IdentityAttributeOrder', ], 'members' => [ 'SchemaArn' => [ 'shape' => 'Arn', 'location' => 'header', 'locationName' => 'x-amz-data-partition', ], 'Name' => [ 'shape' => 'TypedLinkName', ], 'AttributeUpdates' => [ 'shape' => 'TypedLinkFacetAttributeUpdateList', ], 'IdentityAttributeOrder' => [ 'shape' => 'AttributeNameList', ], ], ], 'UpdateTypedLinkFacetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpgradeAppliedSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'PublishedSchemaArn', 'DirectoryArn', ], 'members' => [ 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], 'DryRun' => [ 'shape' => 'Bool', ], ], ], 'UpgradeAppliedSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradedSchemaArn' => [ 'shape' => 'Arn', ], 'DirectoryArn' => [ 'shape' => 'Arn', ], ], ], 'UpgradePublishedSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'DevelopmentSchemaArn', 'PublishedSchemaArn', 'MinorVersion', ], 'members' => [ 'DevelopmentSchemaArn' => [ 'shape' => 'Arn', ], 'PublishedSchemaArn' => [ 'shape' => 'Arn', ], 'MinorVersion' => [ 'shape' => 'Version', ], 'DryRun' => [ 'shape' => 'Bool', ], ], ], 'UpgradePublishedSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradedSchemaArn' => [ 'shape' => 'Arn', ], ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Version' => [ 'type' => 'string', 'max' => 10, 'min' => 1, 'pattern' => '^[a-zA-Z0-9._-]*$', ], ],]; diff --git a/lib/aws/Aws/data/clouddirectory/2017-01-11/paginators-1.json.php b/lib/aws/Aws/data/clouddirectory/2017-01-11/paginators-1.json.php new file mode 100644 index 0000000..5e14165 --- /dev/null +++ b/lib/aws/Aws/data/clouddirectory/2017-01-11/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/clouddirectory/2017-01-11/paginators-1.json +return [ 'pagination' => [ 'ListAppliedSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListAttachedIndices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListDevelopmentSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListDirectories' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListFacetAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListFacetNames' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListIndex' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListManagedSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectChildren' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectParentPaths' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectParents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListObjectPolicies' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPolicyAttachments' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPublishedSchemaArns' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTagsForResource' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTypedLinkFacetAttributes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTypedLinkFacetNames' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'LookupPolicy' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/cloudformation/2010-05-15/api-2.json.php b/lib/aws/Aws/data/cloudformation/2010-05-15/api-2.json.php new file mode 100644 index 0000000..f757d2d --- /dev/null +++ b/lib/aws/Aws/data/cloudformation/2010-05-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudformation/2010-05-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-05-15', 'endpointPrefix' => 'cloudformation', 'protocol' => 'query', 'serviceFullName' => 'AWS CloudFormation', 'serviceId' => 'CloudFormation', 'signatureVersion' => 'v4', 'uid' => 'cloudformation-2010-05-15', 'xmlNamespace' => 'http://cloudformation.amazonaws.com/doc/2010-05-15/', ], 'operations' => [ 'CancelUpdateStack' => [ 'name' => 'CancelUpdateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelUpdateStackInput', ], 'errors' => [ [ 'shape' => 'TokenAlreadyExistsException', ], ], ], 'ContinueUpdateRollback' => [ 'name' => 'ContinueUpdateRollback', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ContinueUpdateRollbackInput', ], 'output' => [ 'shape' => 'ContinueUpdateRollbackOutput', 'resultWrapper' => 'ContinueUpdateRollbackResult', ], 'errors' => [ [ 'shape' => 'TokenAlreadyExistsException', ], ], ], 'CreateChangeSet' => [ 'name' => 'CreateChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateChangeSetInput', ], 'output' => [ 'shape' => 'CreateChangeSetOutput', 'resultWrapper' => 'CreateChangeSetResult', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InsufficientCapabilitiesException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateStack' => [ 'name' => 'CreateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStackInput', ], 'output' => [ 'shape' => 'CreateStackOutput', 'resultWrapper' => 'CreateStackResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'TokenAlreadyExistsException', ], [ 'shape' => 'InsufficientCapabilitiesException', ], ], ], 'CreateStackInstances' => [ 'name' => 'CreateStackInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStackInstancesInput', ], 'output' => [ 'shape' => 'CreateStackInstancesOutput', 'resultWrapper' => 'CreateStackInstancesResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'OperationIdAlreadyExistsException', ], [ 'shape' => 'StaleRequestException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateStackSet' => [ 'name' => 'CreateStackSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStackSetInput', ], 'output' => [ 'shape' => 'CreateStackSetOutput', 'resultWrapper' => 'CreateStackSetResult', ], 'errors' => [ [ 'shape' => 'NameAlreadyExistsException', ], [ 'shape' => 'CreatedButModifiedException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteChangeSet' => [ 'name' => 'DeleteChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteChangeSetInput', ], 'output' => [ 'shape' => 'DeleteChangeSetOutput', 'resultWrapper' => 'DeleteChangeSetResult', ], 'errors' => [ [ 'shape' => 'InvalidChangeSetStatusException', ], ], ], 'DeleteStack' => [ 'name' => 'DeleteStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStackInput', ], 'errors' => [ [ 'shape' => 'TokenAlreadyExistsException', ], ], ], 'DeleteStackInstances' => [ 'name' => 'DeleteStackInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStackInstancesInput', ], 'output' => [ 'shape' => 'DeleteStackInstancesOutput', 'resultWrapper' => 'DeleteStackInstancesResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'OperationIdAlreadyExistsException', ], [ 'shape' => 'StaleRequestException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'DeleteStackSet' => [ 'name' => 'DeleteStackSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStackSetInput', ], 'output' => [ 'shape' => 'DeleteStackSetOutput', 'resultWrapper' => 'DeleteStackSetResult', ], 'errors' => [ [ 'shape' => 'StackSetNotEmptyException', ], [ 'shape' => 'OperationInProgressException', ], ], ], 'DescribeAccountLimits' => [ 'name' => 'DescribeAccountLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountLimitsInput', ], 'output' => [ 'shape' => 'DescribeAccountLimitsOutput', 'resultWrapper' => 'DescribeAccountLimitsResult', ], ], 'DescribeChangeSet' => [ 'name' => 'DescribeChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeChangeSetInput', ], 'output' => [ 'shape' => 'DescribeChangeSetOutput', 'resultWrapper' => 'DescribeChangeSetResult', ], 'errors' => [ [ 'shape' => 'ChangeSetNotFoundException', ], ], ], 'DescribeStackDriftDetectionStatus' => [ 'name' => 'DescribeStackDriftDetectionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackDriftDetectionStatusInput', ], 'output' => [ 'shape' => 'DescribeStackDriftDetectionStatusOutput', 'resultWrapper' => 'DescribeStackDriftDetectionStatusResult', ], ], 'DescribeStackEvents' => [ 'name' => 'DescribeStackEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackEventsInput', ], 'output' => [ 'shape' => 'DescribeStackEventsOutput', 'resultWrapper' => 'DescribeStackEventsResult', ], ], 'DescribeStackInstance' => [ 'name' => 'DescribeStackInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackInstanceInput', ], 'output' => [ 'shape' => 'DescribeStackInstanceOutput', 'resultWrapper' => 'DescribeStackInstanceResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'StackInstanceNotFoundException', ], ], ], 'DescribeStackResource' => [ 'name' => 'DescribeStackResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackResourceInput', ], 'output' => [ 'shape' => 'DescribeStackResourceOutput', 'resultWrapper' => 'DescribeStackResourceResult', ], ], 'DescribeStackResourceDrifts' => [ 'name' => 'DescribeStackResourceDrifts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackResourceDriftsInput', ], 'output' => [ 'shape' => 'DescribeStackResourceDriftsOutput', 'resultWrapper' => 'DescribeStackResourceDriftsResult', ], ], 'DescribeStackResources' => [ 'name' => 'DescribeStackResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackResourcesInput', ], 'output' => [ 'shape' => 'DescribeStackResourcesOutput', 'resultWrapper' => 'DescribeStackResourcesResult', ], ], 'DescribeStackSet' => [ 'name' => 'DescribeStackSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackSetInput', ], 'output' => [ 'shape' => 'DescribeStackSetOutput', 'resultWrapper' => 'DescribeStackSetResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], ], ], 'DescribeStackSetOperation' => [ 'name' => 'DescribeStackSetOperation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackSetOperationInput', ], 'output' => [ 'shape' => 'DescribeStackSetOperationOutput', 'resultWrapper' => 'DescribeStackSetOperationResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationNotFoundException', ], ], ], 'DescribeStacks' => [ 'name' => 'DescribeStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStacksInput', ], 'output' => [ 'shape' => 'DescribeStacksOutput', 'resultWrapper' => 'DescribeStacksResult', ], ], 'DetectStackDrift' => [ 'name' => 'DetectStackDrift', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectStackDriftInput', ], 'output' => [ 'shape' => 'DetectStackDriftOutput', 'resultWrapper' => 'DetectStackDriftResult', ], ], 'DetectStackResourceDrift' => [ 'name' => 'DetectStackResourceDrift', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectStackResourceDriftInput', ], 'output' => [ 'shape' => 'DetectStackResourceDriftOutput', 'resultWrapper' => 'DetectStackResourceDriftResult', ], ], 'EstimateTemplateCost' => [ 'name' => 'EstimateTemplateCost', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EstimateTemplateCostInput', ], 'output' => [ 'shape' => 'EstimateTemplateCostOutput', 'resultWrapper' => 'EstimateTemplateCostResult', ], ], 'ExecuteChangeSet' => [ 'name' => 'ExecuteChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecuteChangeSetInput', ], 'output' => [ 'shape' => 'ExecuteChangeSetOutput', 'resultWrapper' => 'ExecuteChangeSetResult', ], 'errors' => [ [ 'shape' => 'InvalidChangeSetStatusException', ], [ 'shape' => 'ChangeSetNotFoundException', ], [ 'shape' => 'InsufficientCapabilitiesException', ], [ 'shape' => 'TokenAlreadyExistsException', ], ], ], 'GetStackPolicy' => [ 'name' => 'GetStackPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetStackPolicyInput', ], 'output' => [ 'shape' => 'GetStackPolicyOutput', 'resultWrapper' => 'GetStackPolicyResult', ], ], 'GetTemplate' => [ 'name' => 'GetTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTemplateInput', ], 'output' => [ 'shape' => 'GetTemplateOutput', 'resultWrapper' => 'GetTemplateResult', ], 'errors' => [ [ 'shape' => 'ChangeSetNotFoundException', ], ], ], 'GetTemplateSummary' => [ 'name' => 'GetTemplateSummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTemplateSummaryInput', ], 'output' => [ 'shape' => 'GetTemplateSummaryOutput', 'resultWrapper' => 'GetTemplateSummaryResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], ], ], 'ListChangeSets' => [ 'name' => 'ListChangeSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListChangeSetsInput', ], 'output' => [ 'shape' => 'ListChangeSetsOutput', 'resultWrapper' => 'ListChangeSetsResult', ], ], 'ListExports' => [ 'name' => 'ListExports', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListExportsInput', ], 'output' => [ 'shape' => 'ListExportsOutput', 'resultWrapper' => 'ListExportsResult', ], ], 'ListImports' => [ 'name' => 'ListImports', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListImportsInput', ], 'output' => [ 'shape' => 'ListImportsOutput', 'resultWrapper' => 'ListImportsResult', ], ], 'ListStackInstances' => [ 'name' => 'ListStackInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStackInstancesInput', ], 'output' => [ 'shape' => 'ListStackInstancesOutput', 'resultWrapper' => 'ListStackInstancesResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], ], ], 'ListStackResources' => [ 'name' => 'ListStackResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStackResourcesInput', ], 'output' => [ 'shape' => 'ListStackResourcesOutput', 'resultWrapper' => 'ListStackResourcesResult', ], ], 'ListStackSetOperationResults' => [ 'name' => 'ListStackSetOperationResults', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStackSetOperationResultsInput', ], 'output' => [ 'shape' => 'ListStackSetOperationResultsOutput', 'resultWrapper' => 'ListStackSetOperationResultsResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationNotFoundException', ], ], ], 'ListStackSetOperations' => [ 'name' => 'ListStackSetOperations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStackSetOperationsInput', ], 'output' => [ 'shape' => 'ListStackSetOperationsOutput', 'resultWrapper' => 'ListStackSetOperationsResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], ], ], 'ListStackSets' => [ 'name' => 'ListStackSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStackSetsInput', ], 'output' => [ 'shape' => 'ListStackSetsOutput', 'resultWrapper' => 'ListStackSetsResult', ], ], 'ListStacks' => [ 'name' => 'ListStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStacksInput', ], 'output' => [ 'shape' => 'ListStacksOutput', 'resultWrapper' => 'ListStacksResult', ], ], 'SetStackPolicy' => [ 'name' => 'SetStackPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetStackPolicyInput', ], ], 'SignalResource' => [ 'name' => 'SignalResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SignalResourceInput', ], ], 'StopStackSetOperation' => [ 'name' => 'StopStackSetOperation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopStackSetOperationInput', ], 'output' => [ 'shape' => 'StopStackSetOperationOutput', 'resultWrapper' => 'StopStackSetOperationResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'UpdateStack' => [ 'name' => 'UpdateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStackInput', ], 'output' => [ 'shape' => 'UpdateStackOutput', 'resultWrapper' => 'UpdateStackResult', ], 'errors' => [ [ 'shape' => 'InsufficientCapabilitiesException', ], [ 'shape' => 'TokenAlreadyExistsException', ], ], ], 'UpdateStackInstances' => [ 'name' => 'UpdateStackInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStackInstancesInput', ], 'output' => [ 'shape' => 'UpdateStackInstancesOutput', 'resultWrapper' => 'UpdateStackInstancesResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'StackInstanceNotFoundException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'OperationIdAlreadyExistsException', ], [ 'shape' => 'StaleRequestException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'UpdateStackSet' => [ 'name' => 'UpdateStackSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStackSetInput', ], 'output' => [ 'shape' => 'UpdateStackSetOutput', 'resultWrapper' => 'UpdateStackSetResult', ], 'errors' => [ [ 'shape' => 'StackSetNotFoundException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'OperationIdAlreadyExistsException', ], [ 'shape' => 'StaleRequestException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'StackInstanceNotFoundException', ], ], ], 'UpdateTerminationProtection' => [ 'name' => 'UpdateTerminationProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTerminationProtectionInput', ], 'output' => [ 'shape' => 'UpdateTerminationProtectionOutput', 'resultWrapper' => 'UpdateTerminationProtectionResult', ], ], 'ValidateTemplate' => [ 'name' => 'ValidateTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ValidateTemplateInput', ], 'output' => [ 'shape' => 'ValidateTemplateOutput', 'resultWrapper' => 'ValidateTemplateResult', ], ], ], 'shapes' => [ 'Account' => [ 'type' => 'string', 'pattern' => '[0-9]{12}', ], 'AccountGateResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'AccountGateStatus', ], 'StatusReason' => [ 'shape' => 'AccountGateStatusReason', ], ], ], 'AccountGateStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'FAILED', 'SKIPPED', ], ], 'AccountGateStatusReason' => [ 'type' => 'string', ], 'AccountLimit' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'LimitName', ], 'Value' => [ 'shape' => 'LimitValue', ], ], ], 'AccountLimitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountLimit', ], ], 'AccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Account', ], ], 'AllowedValue' => [ 'type' => 'string', ], 'AllowedValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedValue', ], ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AlreadyExistsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Arn' => [ 'type' => 'string', ], 'BoxedInteger' => [ 'type' => 'integer', 'box' => true, ], 'BoxedMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'CancelUpdateStackInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'Capabilities' => [ 'type' => 'list', 'member' => [ 'shape' => 'Capability', ], ], 'CapabilitiesReason' => [ 'type' => 'string', ], 'Capability' => [ 'type' => 'string', 'enum' => [ 'CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM', 'CAPABILITY_AUTO_EXPAND', ], ], 'CausingEntity' => [ 'type' => 'string', ], 'Change' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ChangeType', ], 'ResourceChange' => [ 'shape' => 'ResourceChange', ], ], ], 'ChangeAction' => [ 'type' => 'string', 'enum' => [ 'Add', 'Modify', 'Remove', ], ], 'ChangeSetId' => [ 'type' => 'string', 'min' => 1, 'pattern' => 'arn:[-a-zA-Z0-9:/]*', ], 'ChangeSetName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z][-a-zA-Z0-9]*', ], 'ChangeSetNameOrId' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/]*', ], 'ChangeSetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ChangeSetNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ChangeSetStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_PENDING', 'CREATE_IN_PROGRESS', 'CREATE_COMPLETE', 'DELETE_COMPLETE', 'FAILED', ], ], 'ChangeSetStatusReason' => [ 'type' => 'string', ], 'ChangeSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChangeSetSummary', ], ], 'ChangeSetSummary' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'StackName' => [ 'shape' => 'StackName', ], 'ChangeSetId' => [ 'shape' => 'ChangeSetId', ], 'ChangeSetName' => [ 'shape' => 'ChangeSetName', ], 'ExecutionStatus' => [ 'shape' => 'ExecutionStatus', ], 'Status' => [ 'shape' => 'ChangeSetStatus', ], 'StatusReason' => [ 'shape' => 'ChangeSetStatusReason', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'ChangeSetType' => [ 'type' => 'string', 'enum' => [ 'CREATE', 'UPDATE', ], ], 'ChangeSource' => [ 'type' => 'string', 'enum' => [ 'ResourceReference', 'ParameterReference', 'ResourceAttribute', 'DirectModification', 'Automatic', ], ], 'ChangeType' => [ 'type' => 'string', 'enum' => [ 'Resource', ], ], 'Changes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Change', ], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9][-a-zA-Z0-9]*', ], 'ClientToken' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ContinueUpdateRollbackInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ResourcesToSkip' => [ 'shape' => 'ResourcesToSkip', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'ContinueUpdateRollbackOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreateChangeSetInput' => [ 'type' => 'structure', 'required' => [ 'StackName', 'ChangeSetName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'UsePreviousTemplate' => [ 'shape' => 'UsePreviousTemplate', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', ], 'NotificationARNs' => [ 'shape' => 'NotificationARNs', ], 'Tags' => [ 'shape' => 'Tags', ], 'ChangeSetName' => [ 'shape' => 'ChangeSetName', ], 'ClientToken' => [ 'shape' => 'ClientToken', ], 'Description' => [ 'shape' => 'Description', ], 'ChangeSetType' => [ 'shape' => 'ChangeSetType', ], ], ], 'CreateChangeSetOutput' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ChangeSetId', ], 'StackId' => [ 'shape' => 'StackId', ], ], ], 'CreateStackInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'DisableRollback' => [ 'shape' => 'DisableRollback', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', ], 'TimeoutInMinutes' => [ 'shape' => 'TimeoutMinutes', ], 'NotificationARNs' => [ 'shape' => 'NotificationARNs', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'OnFailure' => [ 'shape' => 'OnFailure', ], 'StackPolicyBody' => [ 'shape' => 'StackPolicyBody', ], 'StackPolicyURL' => [ 'shape' => 'StackPolicyURL', ], 'Tags' => [ 'shape' => 'Tags', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'EnableTerminationProtection' => [ 'shape' => 'EnableTerminationProtection', ], ], ], 'CreateStackInstancesInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'Accounts', 'Regions', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'Accounts' => [ 'shape' => 'AccountList', ], 'Regions' => [ 'shape' => 'RegionList', ], 'ParameterOverrides' => [ 'shape' => 'Parameters', ], 'OperationPreferences' => [ 'shape' => 'StackSetOperationPreferences', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateStackInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'CreateStackOutput' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], ], ], 'CreateStackSetInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'Description' => [ 'shape' => 'Description', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'Tags' => [ 'shape' => 'Tags', ], 'AdministrationRoleARN' => [ 'shape' => 'RoleARN', ], 'ExecutionRoleName' => [ 'shape' => 'ExecutionRoleName', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateStackSetOutput' => [ 'type' => 'structure', 'members' => [ 'StackSetId' => [ 'shape' => 'StackSetId', ], ], ], 'CreatedButModifiedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CreatedButModifiedException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'CreationTime' => [ 'type' => 'timestamp', ], 'DeleteChangeSetInput' => [ 'type' => 'structure', 'required' => [ 'ChangeSetName', ], 'members' => [ 'ChangeSetName' => [ 'shape' => 'ChangeSetNameOrId', ], 'StackName' => [ 'shape' => 'StackNameOrId', ], ], ], 'DeleteChangeSetOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteStackInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'RetainResources' => [ 'shape' => 'RetainResources', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'DeleteStackInstancesInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'Accounts', 'Regions', 'RetainStacks', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'Accounts' => [ 'shape' => 'AccountList', ], 'Regions' => [ 'shape' => 'RegionList', ], 'OperationPreferences' => [ 'shape' => 'StackSetOperationPreferences', ], 'RetainStacks' => [ 'shape' => 'RetainStacks', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'DeleteStackInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'DeleteStackSetInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], ], ], 'DeleteStackSetOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeletionTime' => [ 'type' => 'timestamp', ], 'DescribeAccountLimitsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAccountLimitsOutput' => [ 'type' => 'structure', 'members' => [ 'AccountLimits' => [ 'shape' => 'AccountLimitList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeChangeSetInput' => [ 'type' => 'structure', 'required' => [ 'ChangeSetName', ], 'members' => [ 'ChangeSetName' => [ 'shape' => 'ChangeSetNameOrId', ], 'StackName' => [ 'shape' => 'StackNameOrId', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeChangeSetOutput' => [ 'type' => 'structure', 'members' => [ 'ChangeSetName' => [ 'shape' => 'ChangeSetName', ], 'ChangeSetId' => [ 'shape' => 'ChangeSetId', ], 'StackId' => [ 'shape' => 'StackId', ], 'StackName' => [ 'shape' => 'StackName', ], 'Description' => [ 'shape' => 'Description', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'ExecutionStatus' => [ 'shape' => 'ExecutionStatus', ], 'Status' => [ 'shape' => 'ChangeSetStatus', ], 'StatusReason' => [ 'shape' => 'ChangeSetStatusReason', ], 'NotificationARNs' => [ 'shape' => 'NotificationARNs', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'Tags' => [ 'shape' => 'Tags', ], 'Changes' => [ 'shape' => 'Changes', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStackDriftDetectionStatusInput' => [ 'type' => 'structure', 'required' => [ 'StackDriftDetectionId', ], 'members' => [ 'StackDriftDetectionId' => [ 'shape' => 'StackDriftDetectionId', ], ], ], 'DescribeStackDriftDetectionStatusOutput' => [ 'type' => 'structure', 'required' => [ 'StackId', 'StackDriftDetectionId', 'DetectionStatus', 'Timestamp', ], 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'StackDriftDetectionId' => [ 'shape' => 'StackDriftDetectionId', ], 'StackDriftStatus' => [ 'shape' => 'StackDriftStatus', ], 'DetectionStatus' => [ 'shape' => 'StackDriftDetectionStatus', ], 'DetectionStatusReason' => [ 'shape' => 'StackDriftDetectionStatusReason', ], 'DriftedStackResourceCount' => [ 'shape' => 'BoxedInteger', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeStackEventsInput' => [ 'type' => 'structure', 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStackEventsOutput' => [ 'type' => 'structure', 'members' => [ 'StackEvents' => [ 'shape' => 'StackEvents', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStackInstanceInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'StackInstanceAccount', 'StackInstanceRegion', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'StackInstanceAccount' => [ 'shape' => 'Account', ], 'StackInstanceRegion' => [ 'shape' => 'Region', ], ], ], 'DescribeStackInstanceOutput' => [ 'type' => 'structure', 'members' => [ 'StackInstance' => [ 'shape' => 'StackInstance', ], ], ], 'DescribeStackResourceDriftsInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'StackResourceDriftStatusFilters' => [ 'shape' => 'StackResourceDriftStatusFilters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'BoxedMaxResults', ], ], ], 'DescribeStackResourceDriftsOutput' => [ 'type' => 'structure', 'required' => [ 'StackResourceDrifts', ], 'members' => [ 'StackResourceDrifts' => [ 'shape' => 'StackResourceDrifts', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStackResourceInput' => [ 'type' => 'structure', 'required' => [ 'StackName', 'LogicalResourceId', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], ], ], 'DescribeStackResourceOutput' => [ 'type' => 'structure', 'members' => [ 'StackResourceDetail' => [ 'shape' => 'StackResourceDetail', ], ], ], 'DescribeStackResourcesInput' => [ 'type' => 'structure', 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], ], ], 'DescribeStackResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'StackResources' => [ 'shape' => 'StackResources', ], ], ], 'DescribeStackSetInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], ], ], 'DescribeStackSetOperationInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'OperationId', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'DescribeStackSetOperationOutput' => [ 'type' => 'structure', 'members' => [ 'StackSetOperation' => [ 'shape' => 'StackSetOperation', ], ], ], 'DescribeStackSetOutput' => [ 'type' => 'structure', 'members' => [ 'StackSet' => [ 'shape' => 'StackSet', ], ], ], 'DescribeStacksInput' => [ 'type' => 'structure', 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStacksOutput' => [ 'type' => 'structure', 'members' => [ 'Stacks' => [ 'shape' => 'Stacks', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'DetectStackDriftInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'LogicalResourceIds' => [ 'shape' => 'LogicalResourceIds', ], ], ], 'DetectStackDriftOutput' => [ 'type' => 'structure', 'required' => [ 'StackDriftDetectionId', ], 'members' => [ 'StackDriftDetectionId' => [ 'shape' => 'StackDriftDetectionId', ], ], ], 'DetectStackResourceDriftInput' => [ 'type' => 'structure', 'required' => [ 'StackName', 'LogicalResourceId', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], ], ], 'DetectStackResourceDriftOutput' => [ 'type' => 'structure', 'required' => [ 'StackResourceDrift', ], 'members' => [ 'StackResourceDrift' => [ 'shape' => 'StackResourceDrift', ], ], ], 'DifferenceType' => [ 'type' => 'string', 'enum' => [ 'ADD', 'REMOVE', 'NOT_EQUAL', ], ], 'DisableRollback' => [ 'type' => 'boolean', ], 'EnableTerminationProtection' => [ 'type' => 'boolean', ], 'EstimateTemplateCostInput' => [ 'type' => 'structure', 'members' => [ 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'Parameters' => [ 'shape' => 'Parameters', ], ], ], 'EstimateTemplateCostOutput' => [ 'type' => 'structure', 'members' => [ 'Url' => [ 'shape' => 'Url', ], ], ], 'EvaluationType' => [ 'type' => 'string', 'enum' => [ 'Static', 'Dynamic', ], ], 'EventId' => [ 'type' => 'string', ], 'ExecuteChangeSetInput' => [ 'type' => 'structure', 'required' => [ 'ChangeSetName', ], 'members' => [ 'ChangeSetName' => [ 'shape' => 'ChangeSetNameOrId', ], 'StackName' => [ 'shape' => 'StackNameOrId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'ExecuteChangeSetOutput' => [ 'type' => 'structure', 'members' => [], ], 'ExecutionRoleName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z_0-9+=,.@-]+', ], 'ExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'UNAVAILABLE', 'AVAILABLE', 'EXECUTE_IN_PROGRESS', 'EXECUTE_COMPLETE', 'EXECUTE_FAILED', 'OBSOLETE', ], ], 'Export' => [ 'type' => 'structure', 'members' => [ 'ExportingStackId' => [ 'shape' => 'StackId', ], 'Name' => [ 'shape' => 'ExportName', ], 'Value' => [ 'shape' => 'ExportValue', ], ], ], 'ExportName' => [ 'type' => 'string', ], 'ExportValue' => [ 'type' => 'string', ], 'Exports' => [ 'type' => 'list', 'member' => [ 'shape' => 'Export', ], ], 'FailureToleranceCount' => [ 'type' => 'integer', 'min' => 0, ], 'FailureTolerancePercentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'GetStackPolicyInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], ], ], 'GetStackPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'StackPolicyBody' => [ 'shape' => 'StackPolicyBody', ], ], ], 'GetTemplateInput' => [ 'type' => 'structure', 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'ChangeSetName' => [ 'shape' => 'ChangeSetNameOrId', ], 'TemplateStage' => [ 'shape' => 'TemplateStage', ], ], ], 'GetTemplateOutput' => [ 'type' => 'structure', 'members' => [ 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'StagesAvailable' => [ 'shape' => 'StageList', ], ], ], 'GetTemplateSummaryInput' => [ 'type' => 'structure', 'members' => [ 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'StackName' => [ 'shape' => 'StackNameOrId', ], 'StackSetName' => [ 'shape' => 'StackSetNameOrId', ], ], ], 'GetTemplateSummaryOutput' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParameterDeclarations', ], 'Description' => [ 'shape' => 'Description', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'CapabilitiesReason' => [ 'shape' => 'CapabilitiesReason', ], 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], 'Version' => [ 'shape' => 'Version', ], 'Metadata' => [ 'shape' => 'Metadata', ], 'DeclaredTransforms' => [ 'shape' => 'TransformsList', ], ], ], 'Imports' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackName', ], ], 'InsufficientCapabilitiesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientCapabilitiesException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidChangeSetStatusException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidChangeSetStatus', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidOperationException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Key' => [ 'type' => 'string', ], 'LastUpdatedTime' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LimitExceededException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LimitName' => [ 'type' => 'string', ], 'LimitValue' => [ 'type' => 'integer', ], 'ListChangeSetsInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListChangeSetsOutput' => [ 'type' => 'structure', 'members' => [ 'Summaries' => [ 'shape' => 'ChangeSetSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListExportsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListExportsOutput' => [ 'type' => 'structure', 'members' => [ 'Exports' => [ 'shape' => 'Exports', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListImportsInput' => [ 'type' => 'structure', 'required' => [ 'ExportName', ], 'members' => [ 'ExportName' => [ 'shape' => 'ExportName', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListImportsOutput' => [ 'type' => 'structure', 'members' => [ 'Imports' => [ 'shape' => 'Imports', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackInstancesInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'StackInstanceAccount' => [ 'shape' => 'Account', ], 'StackInstanceRegion' => [ 'shape' => 'Region', ], ], ], 'ListStackInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'Summaries' => [ 'shape' => 'StackInstanceSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackResourcesInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'StackResourceSummaries' => [ 'shape' => 'StackResourceSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackSetOperationResultsInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'OperationId', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListStackSetOperationResultsOutput' => [ 'type' => 'structure', 'members' => [ 'Summaries' => [ 'shape' => 'StackSetOperationResultSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackSetOperationsInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListStackSetOperationsOutput' => [ 'type' => 'structure', 'members' => [ 'Summaries' => [ 'shape' => 'StackSetOperationSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStackSetsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Status' => [ 'shape' => 'StackSetStatus', ], ], ], 'ListStackSetsOutput' => [ 'type' => 'structure', 'members' => [ 'Summaries' => [ 'shape' => 'StackSetSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStacksInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'StackStatusFilter' => [ 'shape' => 'StackStatusFilter', ], ], ], 'ListStacksOutput' => [ 'type' => 'structure', 'members' => [ 'StackSummaries' => [ 'shape' => 'StackSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LogicalResourceId' => [ 'type' => 'string', ], 'LogicalResourceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogicalResourceId', ], 'max' => 200, 'min' => 1, ], 'MaxConcurrentCount' => [ 'type' => 'integer', 'min' => 1, ], 'MaxConcurrentPercentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Metadata' => [ 'type' => 'string', ], 'MonitoringTimeInMinutes' => [ 'type' => 'integer', 'max' => 180, 'min' => 0, ], 'NameAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NameAlreadyExistsException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'NoEcho' => [ 'type' => 'boolean', ], 'NotificationARN' => [ 'type' => 'string', ], 'NotificationARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationARN', ], 'max' => 5, ], 'OnFailure' => [ 'type' => 'string', 'enum' => [ 'DO_NOTHING', 'ROLLBACK', 'DELETE', ], ], 'OperationIdAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationIdAlreadyExistsException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'OperationInProgressException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationInProgressException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'OperationNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationNotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'Output' => [ 'type' => 'structure', 'members' => [ 'OutputKey' => [ 'shape' => 'OutputKey', ], 'OutputValue' => [ 'shape' => 'OutputValue', ], 'Description' => [ 'shape' => 'Description', ], 'ExportName' => [ 'shape' => 'ExportName', ], ], ], 'OutputKey' => [ 'type' => 'string', ], 'OutputValue' => [ 'type' => 'string', ], 'Outputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterKey' => [ 'shape' => 'ParameterKey', ], 'ParameterValue' => [ 'shape' => 'ParameterValue', ], 'UsePreviousValue' => [ 'shape' => 'UsePreviousValue', ], 'ResolvedValue' => [ 'shape' => 'ParameterValue', ], ], ], 'ParameterConstraints' => [ 'type' => 'structure', 'members' => [ 'AllowedValues' => [ 'shape' => 'AllowedValues', ], ], ], 'ParameterDeclaration' => [ 'type' => 'structure', 'members' => [ 'ParameterKey' => [ 'shape' => 'ParameterKey', ], 'DefaultValue' => [ 'shape' => 'ParameterValue', ], 'ParameterType' => [ 'shape' => 'ParameterType', ], 'NoEcho' => [ 'shape' => 'NoEcho', ], 'Description' => [ 'shape' => 'Description', ], 'ParameterConstraints' => [ 'shape' => 'ParameterConstraints', ], ], ], 'ParameterDeclarations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterDeclaration', ], ], 'ParameterKey' => [ 'type' => 'string', ], 'ParameterType' => [ 'type' => 'string', ], 'ParameterValue' => [ 'type' => 'string', ], 'Parameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', ], ], 'PhysicalResourceId' => [ 'type' => 'string', ], 'PhysicalResourceIdContext' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhysicalResourceIdContextKeyValuePair', ], 'max' => 5, ], 'PhysicalResourceIdContextKeyValuePair' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'Value' => [ 'shape' => 'Value', ], ], ], 'Properties' => [ 'type' => 'string', ], 'PropertyDifference' => [ 'type' => 'structure', 'required' => [ 'PropertyPath', 'ExpectedValue', 'ActualValue', 'DifferenceType', ], 'members' => [ 'PropertyPath' => [ 'shape' => 'PropertyPath', ], 'ExpectedValue' => [ 'shape' => 'PropertyValue', ], 'ActualValue' => [ 'shape' => 'PropertyValue', ], 'DifferenceType' => [ 'shape' => 'DifferenceType', ], ], ], 'PropertyDifferences' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropertyDifference', ], ], 'PropertyName' => [ 'type' => 'string', ], 'PropertyPath' => [ 'type' => 'string', ], 'PropertyValue' => [ 'type' => 'string', ], 'Reason' => [ 'type' => 'string', ], 'Region' => [ 'type' => 'string', ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', ], ], 'Replacement' => [ 'type' => 'string', 'enum' => [ 'True', 'False', 'Conditional', ], ], 'RequiresRecreation' => [ 'type' => 'string', 'enum' => [ 'Never', 'Conditionally', 'Always', ], ], 'ResourceAttribute' => [ 'type' => 'string', 'enum' => [ 'Properties', 'Metadata', 'CreationPolicy', 'UpdatePolicy', 'DeletionPolicy', 'Tags', ], ], 'ResourceChange' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Replacement' => [ 'shape' => 'Replacement', ], 'Scope' => [ 'shape' => 'Scope', ], 'Details' => [ 'shape' => 'ResourceChangeDetails', ], ], ], 'ResourceChangeDetail' => [ 'type' => 'structure', 'members' => [ 'Target' => [ 'shape' => 'ResourceTargetDefinition', ], 'Evaluation' => [ 'shape' => 'EvaluationType', ], 'ChangeSource' => [ 'shape' => 'ChangeSource', ], 'CausingEntity' => [ 'shape' => 'CausingEntity', ], ], ], 'ResourceChangeDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceChangeDetail', ], ], 'ResourceProperties' => [ 'type' => 'string', ], 'ResourceSignalStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'FAILURE', ], ], 'ResourceSignalUniqueId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ResourceStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'CREATE_FAILED', 'CREATE_COMPLETE', 'DELETE_IN_PROGRESS', 'DELETE_FAILED', 'DELETE_COMPLETE', 'DELETE_SKIPPED', 'UPDATE_IN_PROGRESS', 'UPDATE_FAILED', 'UPDATE_COMPLETE', ], ], 'ResourceStatusReason' => [ 'type' => 'string', ], 'ResourceTargetDefinition' => [ 'type' => 'structure', 'members' => [ 'Attribute' => [ 'shape' => 'ResourceAttribute', ], 'Name' => [ 'shape' => 'PropertyName', ], 'RequiresRecreation' => [ 'shape' => 'RequiresRecreation', ], ], ], 'ResourceToSkip' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9]+|[a-zA-Z][-a-zA-Z0-9]*\\.[a-zA-Z0-9]+', ], 'ResourceType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'ResourcesToSkip' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceToSkip', ], ], 'RetainResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogicalResourceId', ], ], 'RetainStacks' => [ 'type' => 'boolean', ], 'RetainStacksNullable' => [ 'type' => 'boolean', ], 'RoleARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'RollbackConfiguration' => [ 'type' => 'structure', 'members' => [ 'RollbackTriggers' => [ 'shape' => 'RollbackTriggers', ], 'MonitoringTimeInMinutes' => [ 'shape' => 'MonitoringTimeInMinutes', ], ], ], 'RollbackTrigger' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Type', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Type' => [ 'shape' => 'Type', ], ], ], 'RollbackTriggers' => [ 'type' => 'list', 'member' => [ 'shape' => 'RollbackTrigger', ], 'max' => 5, ], 'Scope' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceAttribute', ], ], 'SetStackPolicyInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'StackPolicyBody' => [ 'shape' => 'StackPolicyBody', ], 'StackPolicyURL' => [ 'shape' => 'StackPolicyURL', ], ], ], 'SignalResourceInput' => [ 'type' => 'structure', 'required' => [ 'StackName', 'LogicalResourceId', 'UniqueId', 'Status', ], 'members' => [ 'StackName' => [ 'shape' => 'StackNameOrId', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'UniqueId' => [ 'shape' => 'ResourceSignalUniqueId', ], 'Status' => [ 'shape' => 'ResourceSignalStatus', ], ], ], 'Stack' => [ 'type' => 'structure', 'required' => [ 'StackName', 'CreationTime', 'StackStatus', ], 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'StackName' => [ 'shape' => 'StackName', ], 'ChangeSetId' => [ 'shape' => 'ChangeSetId', ], 'Description' => [ 'shape' => 'Description', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'DeletionTime' => [ 'shape' => 'DeletionTime', ], 'LastUpdatedTime' => [ 'shape' => 'LastUpdatedTime', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', ], 'StackStatus' => [ 'shape' => 'StackStatus', ], 'StackStatusReason' => [ 'shape' => 'StackStatusReason', ], 'DisableRollback' => [ 'shape' => 'DisableRollback', ], 'NotificationARNs' => [ 'shape' => 'NotificationARNs', ], 'TimeoutInMinutes' => [ 'shape' => 'TimeoutMinutes', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'Outputs' => [ 'shape' => 'Outputs', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'Tags' => [ 'shape' => 'Tags', ], 'EnableTerminationProtection' => [ 'shape' => 'EnableTerminationProtection', ], 'ParentId' => [ 'shape' => 'StackId', ], 'RootId' => [ 'shape' => 'StackId', ], 'DriftInformation' => [ 'shape' => 'StackDriftInformation', ], ], ], 'StackDriftDetectionId' => [ 'type' => 'string', 'max' => 36, 'min' => 1, ], 'StackDriftDetectionStatus' => [ 'type' => 'string', 'enum' => [ 'DETECTION_IN_PROGRESS', 'DETECTION_FAILED', 'DETECTION_COMPLETE', ], ], 'StackDriftDetectionStatusReason' => [ 'type' => 'string', ], 'StackDriftInformation' => [ 'type' => 'structure', 'required' => [ 'StackDriftStatus', ], 'members' => [ 'StackDriftStatus' => [ 'shape' => 'StackDriftStatus', ], 'LastCheckTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackDriftInformationSummary' => [ 'type' => 'structure', 'required' => [ 'StackDriftStatus', ], 'members' => [ 'StackDriftStatus' => [ 'shape' => 'StackDriftStatus', ], 'LastCheckTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackDriftStatus' => [ 'type' => 'string', 'enum' => [ 'DRIFTED', 'IN_SYNC', 'UNKNOWN', 'NOT_CHECKED', ], ], 'StackEvent' => [ 'type' => 'structure', 'required' => [ 'StackId', 'EventId', 'StackName', 'Timestamp', ], 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'EventId' => [ 'shape' => 'EventId', ], 'StackName' => [ 'shape' => 'StackName', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'ResourceStatus' => [ 'shape' => 'ResourceStatus', ], 'ResourceStatusReason' => [ 'shape' => 'ResourceStatusReason', ], 'ResourceProperties' => [ 'shape' => 'ResourceProperties', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'StackEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackEvent', ], ], 'StackId' => [ 'type' => 'string', ], 'StackInstance' => [ 'type' => 'structure', 'members' => [ 'StackSetId' => [ 'shape' => 'StackSetId', ], 'Region' => [ 'shape' => 'Region', ], 'Account' => [ 'shape' => 'Account', ], 'StackId' => [ 'shape' => 'StackId', ], 'ParameterOverrides' => [ 'shape' => 'Parameters', ], 'Status' => [ 'shape' => 'StackInstanceStatus', ], 'StatusReason' => [ 'shape' => 'Reason', ], ], ], 'StackInstanceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StackInstanceNotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'StackInstanceStatus' => [ 'type' => 'string', 'enum' => [ 'CURRENT', 'OUTDATED', 'INOPERABLE', ], ], 'StackInstanceSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackInstanceSummary', ], ], 'StackInstanceSummary' => [ 'type' => 'structure', 'members' => [ 'StackSetId' => [ 'shape' => 'StackSetId', ], 'Region' => [ 'shape' => 'Region', ], 'Account' => [ 'shape' => 'Account', ], 'StackId' => [ 'shape' => 'StackId', ], 'Status' => [ 'shape' => 'StackInstanceStatus', ], 'StatusReason' => [ 'shape' => 'Reason', ], ], ], 'StackName' => [ 'type' => 'string', ], 'StackNameOrId' => [ 'type' => 'string', 'min' => 1, 'pattern' => '([a-zA-Z][-a-zA-Z0-9]*)|(arn:\\b(aws|aws-us-gov|aws-cn)\\b:[-a-zA-Z0-9:/._+]*)', ], 'StackPolicyBody' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, ], 'StackPolicyDuringUpdateBody' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, ], 'StackPolicyDuringUpdateURL' => [ 'type' => 'string', 'max' => 1350, 'min' => 1, ], 'StackPolicyURL' => [ 'type' => 'string', 'max' => 1350, 'min' => 1, ], 'StackResource' => [ 'type' => 'structure', 'required' => [ 'LogicalResourceId', 'ResourceType', 'Timestamp', 'ResourceStatus', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'StackId' => [ 'shape' => 'StackId', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'ResourceStatus' => [ 'shape' => 'ResourceStatus', ], 'ResourceStatusReason' => [ 'shape' => 'ResourceStatusReason', ], 'Description' => [ 'shape' => 'Description', ], 'DriftInformation' => [ 'shape' => 'StackResourceDriftInformation', ], ], ], 'StackResourceDetail' => [ 'type' => 'structure', 'required' => [ 'LogicalResourceId', 'ResourceType', 'LastUpdatedTimestamp', 'ResourceStatus', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'StackId' => [ 'shape' => 'StackId', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'LastUpdatedTimestamp' => [ 'shape' => 'Timestamp', ], 'ResourceStatus' => [ 'shape' => 'ResourceStatus', ], 'ResourceStatusReason' => [ 'shape' => 'ResourceStatusReason', ], 'Description' => [ 'shape' => 'Description', ], 'Metadata' => [ 'shape' => 'Metadata', ], 'DriftInformation' => [ 'shape' => 'StackResourceDriftInformation', ], ], ], 'StackResourceDrift' => [ 'type' => 'structure', 'required' => [ 'StackId', 'LogicalResourceId', 'ResourceType', 'StackResourceDriftStatus', 'Timestamp', ], 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'PhysicalResourceIdContext' => [ 'shape' => 'PhysicalResourceIdContext', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ExpectedProperties' => [ 'shape' => 'Properties', ], 'ActualProperties' => [ 'shape' => 'Properties', ], 'PropertyDifferences' => [ 'shape' => 'PropertyDifferences', ], 'StackResourceDriftStatus' => [ 'shape' => 'StackResourceDriftStatus', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackResourceDriftInformation' => [ 'type' => 'structure', 'required' => [ 'StackResourceDriftStatus', ], 'members' => [ 'StackResourceDriftStatus' => [ 'shape' => 'StackResourceDriftStatus', ], 'LastCheckTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackResourceDriftInformationSummary' => [ 'type' => 'structure', 'required' => [ 'StackResourceDriftStatus', ], 'members' => [ 'StackResourceDriftStatus' => [ 'shape' => 'StackResourceDriftStatus', ], 'LastCheckTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackResourceDriftStatus' => [ 'type' => 'string', 'enum' => [ 'IN_SYNC', 'MODIFIED', 'DELETED', 'NOT_CHECKED', ], ], 'StackResourceDriftStatusFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackResourceDriftStatus', ], 'max' => 4, 'min' => 1, ], 'StackResourceDrifts' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackResourceDrift', ], ], 'StackResourceSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackResourceSummary', ], ], 'StackResourceSummary' => [ 'type' => 'structure', 'required' => [ 'LogicalResourceId', 'ResourceType', 'LastUpdatedTimestamp', 'ResourceStatus', ], 'members' => [ 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'LastUpdatedTimestamp' => [ 'shape' => 'Timestamp', ], 'ResourceStatus' => [ 'shape' => 'ResourceStatus', ], 'ResourceStatusReason' => [ 'shape' => 'ResourceStatusReason', ], 'DriftInformation' => [ 'shape' => 'StackResourceDriftInformationSummary', ], ], ], 'StackResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackResource', ], ], 'StackSet' => [ 'type' => 'structure', 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'StackSetId' => [ 'shape' => 'StackSetId', ], 'Description' => [ 'shape' => 'Description', ], 'Status' => [ 'shape' => 'StackSetStatus', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'Tags' => [ 'shape' => 'Tags', ], 'StackSetARN' => [ 'shape' => 'StackSetARN', ], 'AdministrationRoleARN' => [ 'shape' => 'RoleARN', ], 'ExecutionRoleName' => [ 'shape' => 'ExecutionRoleName', ], ], ], 'StackSetARN' => [ 'type' => 'string', ], 'StackSetId' => [ 'type' => 'string', ], 'StackSetName' => [ 'type' => 'string', ], 'StackSetNameOrId' => [ 'type' => 'string', 'pattern' => '[a-zA-Z][-a-zA-Z0-9]*(?::[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12})?', ], 'StackSetNotEmptyException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StackSetNotEmptyException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'StackSetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StackSetNotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'StackSetOperation' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], 'StackSetId' => [ 'shape' => 'StackSetId', ], 'Action' => [ 'shape' => 'StackSetOperationAction', ], 'Status' => [ 'shape' => 'StackSetOperationStatus', ], 'OperationPreferences' => [ 'shape' => 'StackSetOperationPreferences', ], 'RetainStacks' => [ 'shape' => 'RetainStacksNullable', ], 'AdministrationRoleARN' => [ 'shape' => 'RoleARN', ], 'ExecutionRoleName' => [ 'shape' => 'ExecutionRoleName', ], 'CreationTimestamp' => [ 'shape' => 'Timestamp', ], 'EndTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackSetOperationAction' => [ 'type' => 'string', 'enum' => [ 'CREATE', 'UPDATE', 'DELETE', ], ], 'StackSetOperationPreferences' => [ 'type' => 'structure', 'members' => [ 'RegionOrder' => [ 'shape' => 'RegionList', ], 'FailureToleranceCount' => [ 'shape' => 'FailureToleranceCount', ], 'FailureTolerancePercentage' => [ 'shape' => 'FailureTolerancePercentage', ], 'MaxConcurrentCount' => [ 'shape' => 'MaxConcurrentCount', ], 'MaxConcurrentPercentage' => [ 'shape' => 'MaxConcurrentPercentage', ], ], ], 'StackSetOperationResultStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'RUNNING', 'SUCCEEDED', 'FAILED', 'CANCELLED', ], ], 'StackSetOperationResultSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackSetOperationResultSummary', ], ], 'StackSetOperationResultSummary' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], 'Region' => [ 'shape' => 'Region', ], 'Status' => [ 'shape' => 'StackSetOperationResultStatus', ], 'StatusReason' => [ 'shape' => 'Reason', ], 'AccountGateResult' => [ 'shape' => 'AccountGateResult', ], ], ], 'StackSetOperationStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'SUCCEEDED', 'FAILED', 'STOPPING', 'STOPPED', ], ], 'StackSetOperationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackSetOperationSummary', ], ], 'StackSetOperationSummary' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], 'Action' => [ 'shape' => 'StackSetOperationAction', ], 'Status' => [ 'shape' => 'StackSetOperationStatus', ], 'CreationTimestamp' => [ 'shape' => 'Timestamp', ], 'EndTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StackSetStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETED', ], ], 'StackSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackSetSummary', ], ], 'StackSetSummary' => [ 'type' => 'structure', 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'StackSetId' => [ 'shape' => 'StackSetId', ], 'Description' => [ 'shape' => 'Description', ], 'Status' => [ 'shape' => 'StackSetStatus', ], ], ], 'StackStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'CREATE_FAILED', 'CREATE_COMPLETE', 'ROLLBACK_IN_PROGRESS', 'ROLLBACK_FAILED', 'ROLLBACK_COMPLETE', 'DELETE_IN_PROGRESS', 'DELETE_FAILED', 'DELETE_COMPLETE', 'UPDATE_IN_PROGRESS', 'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS', 'UPDATE_COMPLETE', 'UPDATE_ROLLBACK_IN_PROGRESS', 'UPDATE_ROLLBACK_FAILED', 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS', 'UPDATE_ROLLBACK_COMPLETE', 'REVIEW_IN_PROGRESS', ], ], 'StackStatusFilter' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackStatus', ], ], 'StackStatusReason' => [ 'type' => 'string', ], 'StackSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'StackSummary', ], ], 'StackSummary' => [ 'type' => 'structure', 'required' => [ 'StackName', 'CreationTime', 'StackStatus', ], 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], 'StackName' => [ 'shape' => 'StackName', ], 'TemplateDescription' => [ 'shape' => 'TemplateDescription', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastUpdatedTime' => [ 'shape' => 'LastUpdatedTime', ], 'DeletionTime' => [ 'shape' => 'DeletionTime', ], 'StackStatus' => [ 'shape' => 'StackStatus', ], 'StackStatusReason' => [ 'shape' => 'StackStatusReason', ], 'ParentId' => [ 'shape' => 'StackId', ], 'RootId' => [ 'shape' => 'StackId', ], 'DriftInformation' => [ 'shape' => 'StackDriftInformationSummary', ], ], ], 'Stacks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stack', ], ], 'StageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TemplateStage', ], ], 'StaleRequestException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StaleRequestException', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'StopStackSetOperationInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'OperationId', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'StopStackSetOperationOutput' => [ 'type' => 'structure', 'members' => [], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, ], 'TemplateBody' => [ 'type' => 'string', 'min' => 1, ], 'TemplateDescription' => [ 'type' => 'string', ], 'TemplateParameter' => [ 'type' => 'structure', 'members' => [ 'ParameterKey' => [ 'shape' => 'ParameterKey', ], 'DefaultValue' => [ 'shape' => 'ParameterValue', ], 'NoEcho' => [ 'shape' => 'NoEcho', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'TemplateParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'TemplateParameter', ], ], 'TemplateStage' => [ 'type' => 'string', 'enum' => [ 'Original', 'Processed', ], ], 'TemplateURL' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'TimeoutMinutes' => [ 'type' => 'integer', 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TokenAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TokenAlreadyExistsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TransformName' => [ 'type' => 'string', ], 'TransformsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransformName', ], ], 'Type' => [ 'type' => 'string', ], 'UpdateStackInput' => [ 'type' => 'structure', 'required' => [ 'StackName', ], 'members' => [ 'StackName' => [ 'shape' => 'StackName', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'UsePreviousTemplate' => [ 'shape' => 'UsePreviousTemplate', ], 'StackPolicyDuringUpdateBody' => [ 'shape' => 'StackPolicyDuringUpdateBody', ], 'StackPolicyDuringUpdateURL' => [ 'shape' => 'StackPolicyDuringUpdateURL', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', ], 'StackPolicyBody' => [ 'shape' => 'StackPolicyBody', ], 'StackPolicyURL' => [ 'shape' => 'StackPolicyURL', ], 'NotificationARNs' => [ 'shape' => 'NotificationARNs', ], 'Tags' => [ 'shape' => 'Tags', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'UpdateStackInstancesInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', 'Accounts', 'Regions', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetNameOrId', ], 'Accounts' => [ 'shape' => 'AccountList', ], 'Regions' => [ 'shape' => 'RegionList', ], 'ParameterOverrides' => [ 'shape' => 'Parameters', ], 'OperationPreferences' => [ 'shape' => 'StackSetOperationPreferences', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'UpdateStackInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'UpdateStackOutput' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], ], ], 'UpdateStackSetInput' => [ 'type' => 'structure', 'required' => [ 'StackSetName', ], 'members' => [ 'StackSetName' => [ 'shape' => 'StackSetName', ], 'Description' => [ 'shape' => 'Description', ], 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], 'UsePreviousTemplate' => [ 'shape' => 'UsePreviousTemplate', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'Tags' => [ 'shape' => 'Tags', ], 'OperationPreferences' => [ 'shape' => 'StackSetOperationPreferences', ], 'AdministrationRoleARN' => [ 'shape' => 'RoleARN', ], 'ExecutionRoleName' => [ 'shape' => 'ExecutionRoleName', ], 'OperationId' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'Accounts' => [ 'shape' => 'AccountList', ], 'Regions' => [ 'shape' => 'RegionList', ], ], ], 'UpdateStackSetOutput' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'ClientRequestToken', ], ], ], 'UpdateTerminationProtectionInput' => [ 'type' => 'structure', 'required' => [ 'EnableTerminationProtection', 'StackName', ], 'members' => [ 'EnableTerminationProtection' => [ 'shape' => 'EnableTerminationProtection', ], 'StackName' => [ 'shape' => 'StackNameOrId', ], ], ], 'UpdateTerminationProtectionOutput' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'StackId', ], ], ], 'Url' => [ 'type' => 'string', ], 'UsePreviousTemplate' => [ 'type' => 'boolean', ], 'UsePreviousValue' => [ 'type' => 'boolean', ], 'ValidateTemplateInput' => [ 'type' => 'structure', 'members' => [ 'TemplateBody' => [ 'shape' => 'TemplateBody', ], 'TemplateURL' => [ 'shape' => 'TemplateURL', ], ], ], 'ValidateTemplateOutput' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'TemplateParameters', ], 'Description' => [ 'shape' => 'Description', ], 'Capabilities' => [ 'shape' => 'Capabilities', ], 'CapabilitiesReason' => [ 'shape' => 'CapabilitiesReason', ], 'DeclaredTransforms' => [ 'shape' => 'TransformsList', ], ], ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/cloudformation/2010-05-15/paginators-1.json.php b/lib/aws/Aws/data/cloudformation/2010-05-15/paginators-1.json.php new file mode 100644 index 0000000..cace8d3 --- /dev/null +++ b/lib/aws/Aws/data/cloudformation/2010-05-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudformation/2010-05-15/paginators-1.json +return [ 'pagination' => [ 'DescribeStackEvents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'StackEvents', ], 'DescribeStackResourceDrifts' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'DescribeStackResources' => [ 'result_key' => 'StackResources', ], 'DescribeStacks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Stacks', ], 'ListExports' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Exports', ], 'ListImports' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Imports', ], 'ListStackResources' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'StackResourceSummaries', ], 'ListStacks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'StackSummaries', ], ],]; diff --git a/lib/aws/Aws/data/cloudformation/2010-05-15/waiters-2.json.php b/lib/aws/Aws/data/cloudformation/2010-05-15/waiters-2.json.php new file mode 100644 index 0000000..28121af --- /dev/null +++ b/lib/aws/Aws/data/cloudformation/2010-05-15/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudformation/2010-05-15/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'StackExists' => [ 'delay' => 5, 'operation' => 'DescribeStacks', 'maxAttempts' => 20, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'ValidationError', 'state' => 'retry', ], ], ], 'StackCreateComplete' => [ 'delay' => 30, 'operation' => 'DescribeStacks', 'maxAttempts' => 120, 'description' => 'Wait until stack status is CREATE_COMPLETE.', 'acceptors' => [ [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'CREATE_COMPLETE', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'CREATE_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'DELETE_COMPLETE', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'DELETE_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'ROLLBACK_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'ROLLBACK_COMPLETE', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'expected' => 'ValidationError', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'StackDeleteComplete' => [ 'delay' => 30, 'operation' => 'DescribeStacks', 'maxAttempts' => 120, 'description' => 'Wait until stack status is DELETE_COMPLETE.', 'acceptors' => [ [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'DELETE_COMPLETE', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'expected' => 'ValidationError', 'matcher' => 'error', 'state' => 'success', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'DELETE_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'CREATE_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'ROLLBACK_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'UPDATE_ROLLBACK_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'UPDATE_ROLLBACK_IN_PROGRESS', 'matcher' => 'pathAny', 'state' => 'failure', ], ], ], 'StackUpdateComplete' => [ 'delay' => 30, 'maxAttempts' => 120, 'operation' => 'DescribeStacks', 'description' => 'Wait until stack status is UPDATE_COMPLETE.', 'acceptors' => [ [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'UPDATE_COMPLETE', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'expected' => 'UPDATE_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Stacks[].StackStatus', ], [ 'argument' => 'Stacks[].StackStatus', 'expected' => 'UPDATE_ROLLBACK_FAILED', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'expected' => 'UPDATE_ROLLBACK_COMPLETE', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Stacks[].StackStatus', ], [ 'expected' => 'ValidationError', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'ChangeSetCreateComplete' => [ 'delay' => 30, 'operation' => 'DescribeChangeSet', 'maxAttempts' => 120, 'description' => 'Wait until change set status is CREATE_COMPLETE.', 'acceptors' => [ [ 'argument' => 'Status', 'expected' => 'CREATE_COMPLETE', 'matcher' => 'path', 'state' => 'success', ], [ 'argument' => 'Status', 'expected' => 'FAILED', 'matcher' => 'path', 'state' => 'failure', ], [ 'expected' => 'ValidationError', 'matcher' => 'error', 'state' => 'failure', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2015-07-27/api-2.json.php b/lib/aws/Aws/data/cloudfront/2015-07-27/api-2.json.php new file mode 100644 index 0000000..cae91c5 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2015-07-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2015-07-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-07-27', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2015_07_27', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2015_07_27', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-07-27/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'DistributionAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'InvalidOrigin', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'TooManyTrustedSigners', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TrustedSignerDoesNotExist', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidViewerCertificate', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidMinimumProtocolVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyDistributionCNAMEs', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyDistributions', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidDefaultRootObject', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidRelativePath', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidErrorCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidResponseCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidRequiredProtocol', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchOrigin', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'TooManyOrigins', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCacheBehaviors', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCookieNamesInWhiteList', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidForwardCookies', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyHeadersInForwardedValues', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidHeadersForS3Origin', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCertificates', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidLocationCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidGeoRestrictionParameter', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidProtocolSettings', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidTTLOrder', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidWebACLId', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2015_07_27', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-07-27/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'BatchTooLarge', 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], [ 'shape' => 'TooManyInvalidationsInProgress', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2015_07_27', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-07-27/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'StreamingDistributionAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'InvalidOrigin', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'TooManyTrustedSigners', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TrustedSignerDoesNotExist', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyStreamingDistributions', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2015_07_27', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2015_07_27', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-07-27/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'DistributionNotDisabled', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2015_07_27', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-07-27/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'StreamingDistributionNotDisabled', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchStreamingDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidWebACLId', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2015_07_27', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-07-27/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2015_07_27', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-07-27/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'IllegalUpdate', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2015_07_27', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-07-27/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'CNAMEAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'IllegalUpdate', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], [ 'shape' => 'TooManyDistributionCNAMEs', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidDefaultRootObject', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidRelativePath', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidErrorCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidResponseCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyTrustedSigners', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TrustedSignerDoesNotExist', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidViewerCertificate', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidMinimumProtocolVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidRequiredProtocol', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchOrigin', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'TooManyOrigins', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCacheBehaviors', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCookieNamesInWhiteList', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidForwardCookies', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyHeadersInForwardedValues', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidHeadersForS3Origin', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyCertificates', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidLocationCode', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidGeoRestrictionParameter', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidTTLOrder', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidWebACLId', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2015_07_27', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-07-27/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], [ 'shape' => 'CNAMEAlreadyExists', 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], [ 'shape' => 'IllegalUpdate', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidIfMatchVersion', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'MissingBody', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'NoSuchStreamingDistribution', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'PreconditionFailed', 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidArgument', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidOriginAccessIdentity', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TooManyTrustedSigners', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'TrustedSignerDoesNotExist', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InconsistentQuantities', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2015-07-27/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'IAMCertificateId' => [ 'shape' => 'string', ], 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2015-07-27/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2015-07-27/paginators-1.json.php new file mode 100644 index 0000000..39c0229 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2015-07-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2015-07-27/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'output_token' => 'DistributionList.NextMarker', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'output_token' => 'InvalidationList.NextMarker', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'output_token' => 'StreamingDistributionList.NextMarker', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2015-07-27/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2015-07-27/waiters-2.json.php new file mode 100644 index 0000000..6bc3c9e --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2015-07-27/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2015-07-27/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'acceptors' => [ [ 'argument' => 'Distribution.Status', 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', ], ], 'delay' => 60, 'description' => 'Wait until a distribution is deployed.', 'maxAttempts' => 25, 'operation' => 'GetDistribution', ], 'InvalidationCompleted' => [ 'acceptors' => [ [ 'argument' => 'Invalidation.Status', 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', ], ], 'delay' => 20, 'description' => 'Wait until an invalidation has completed.', 'maxAttempts' => 30, 'operation' => 'GetInvalidation', ], 'StreamingDistributionDeployed' => [ 'acceptors' => [ [ 'argument' => 'StreamingDistribution.Status', 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', ], ], 'delay' => 60, 'description' => 'Wait until a streaming distribution is deployed.', 'maxAttempts' => 25, 'operation' => 'GetStreamingDistribution', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-01-28/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-01-28/api-2.json.php new file mode 100644 index 0000000..c327516 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-01-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-01-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'cloudfront-2016-01-28', 'apiVersion' => '2016-01-28', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_01_28', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_01_28', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-01-28/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_01_28', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-01-28/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_01_28', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-01-28/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_01_28', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_01_28', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-01-28/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_01_28', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-01-28/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_01_28', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-01-28/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_01_28', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-01-28/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_01_28', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-01-28/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_01_28', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-01-28/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-01-28/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-01-28/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-01-28/paginators-1.json.php new file mode 100644 index 0000000..c9fb6b7 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-01-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-01-28/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-01-28/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-01-28/waiters-2.json.php new file mode 100644 index 0000000..7642b31 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-01-28/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-01-28/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-01/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-08-01/api-2.json.php new file mode 100644 index 0000000..3ba9773 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'cloudfront-2016-08-01', 'apiVersion' => '2016-08-01', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_08_01', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_08_01', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-01/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_08_01', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-01/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2016_08_01', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-01/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2016_08_01', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-01/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_08_01', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-01/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_08_01', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-01/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_08_01', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-01/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-01/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-01/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-08-01/paginators-1.json.php new file mode 100644 index 0000000..2331e05 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-01/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-01/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-08-01/waiters-2.json.php new file mode 100644 index 0000000..df82e93 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-20/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-08-20/api-2.json.php new file mode 100644 index 0000000..73978b8 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-20/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-20/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'cloudfront-2016-08-20', 'apiVersion' => '2016-08-20', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_08_20', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_08_20', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-20/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_08_20', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-08-20/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2016_08_20', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-20/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2016_08_20', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-08-20/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_08_20', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-20/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_08_20', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-20/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_08_20', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-08-20/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-08-20/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-20/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-08-20/paginators-1.json.php new file mode 100644 index 0000000..f95601b --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-20/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-20/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-08-20/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-08-20/waiters-2.json.php new file mode 100644 index 0000000..c8a6895 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-08-20/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-08-20/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-07/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-09-07/api-2.json.php new file mode 100644 index 0000000..6c75877 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-07/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-07/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'cloudfront-2016-09-07', 'apiVersion' => '2016-09-07', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_09_07', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_09_07', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-07/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_09_07', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-07/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2016_09_07', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-07/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2016_09_07', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-07/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_09_07', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-07/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_09_07', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-07/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_09_07', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-07/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-07/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-07/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-09-07/paginators-1.json.php new file mode 100644 index 0000000..37d727c --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-07/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-07/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-1.json.php new file mode 100644 index 0000000..1f7abe5 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-07/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-2.json.php new file mode 100644 index 0000000..db476be --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-07/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-07/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-29/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-09-29/api-2.json.php new file mode 100644 index 0000000..157bd3b --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-29/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-09-29', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2016-09-07', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_09_29', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_09_29', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-29/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_09_29', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-09-29/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2016_09_29', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-09-29/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2016_09_29', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-09-29/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_09_29', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-29/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_09_29', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-29/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_09_29', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-09-29/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-09-29/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-29/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-09-29/paginators-1.json.php new file mode 100644 index 0000000..28cc066 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-29/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-1.json.php new file mode 100644 index 0000000..1f2ba5b --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-29/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-2.json.php new file mode 100644 index 0000000..216b139 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-09-29/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-09-29/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-11-25/api-2.json.php b/lib/aws/Aws/data/cloudfront/2016-11-25/api-2.json.php new file mode 100644 index 0000000..ac37a36 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-11-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-11-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-25', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2016-11-25', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2016_11_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2016_11_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-11-25/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2016_11_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2016-11-25/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2016_11_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-11-25/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2016_11_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2016-11-25/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2016_11_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-11-25/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2016_11_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-11-25/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2016_11_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2016-11-25/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'viewer-request', 'viewer-response', 'origin-request', 'origin-response', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'LambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'LambdaFunctionARN' => [ 'shape' => 'string', ], 'EventType' => [ 'shape' => 'EventType', ], ], ], 'LambdaFunctionAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionAssociation', 'locationName' => 'LambdaFunctionAssociation', ], ], 'LambdaFunctionAssociations' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LambdaFunctionAssociationList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsWithLambdaAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyLambdaFunctionAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2016-11-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-11-25/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2016-11-25/paginators-1.json.php new file mode 100644 index 0000000..f52e8ff --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-11-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-11-25/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'DistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'output_token' => 'InvalidationList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'output_token' => 'StreamingDistributionList.NextMarker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-1.json.php new file mode 100644 index 0000000..fc680be --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-11-25/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-2.json.php new file mode 100644 index 0000000..6fe0a55 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2016-11-25/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2016-11-25/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-03-25/api-2.json.php b/lib/aws/Aws/data/cloudfront/2017-03-25/api-2.json.php new file mode 100644 index 0000000..92cbd39 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-03-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-03-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-03-25', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2017-03-25', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2017_03_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2017_03_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-03-25/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteServiceLinkedRole' => [ 'name' => 'DeleteServiceLinkedRole2017_03_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-03-25/service-linked-role/{RoleName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteServiceLinkedRoleRequest', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'NoSuchResource', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2017_03_25', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-03-25/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2017_03_25', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-25/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2017_03_25', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-25/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2017_03_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-03-25/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2017_03_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-03-25/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2017_03_25', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-03-25/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], 'OriginReadTimeout' => [ 'shape' => 'integer', ], 'OriginKeepaliveTimeout' => [ 'shape' => 'integer', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteServiceLinkedRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'RoleName', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'viewer-request', 'viewer-response', 'origin-request', 'origin-response', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginKeepaliveTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginReadTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'LambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'LambdaFunctionARN' => [ 'shape' => 'string', ], 'EventType' => [ 'shape' => 'EventType', ], ], ], 'LambdaFunctionAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionAssociation', 'locationName' => 'LambdaFunctionAssociation', ], ], 'LambdaFunctionAssociations' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LambdaFunctionAssociationList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1_2016', 'TLSv1.1_2016', 'TLSv1.2_2018', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'ResourceInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsWithLambdaAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyLambdaFunctionAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-03-25/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-03-25/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2017-03-25/paginators-1.json.php new file mode 100644 index 0000000..87fedcd --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-03-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-03-25/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'output_token' => 'DistributionList.NextMarker', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'output_token' => 'InvalidationList.NextMarker', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'output_token' => 'StreamingDistributionList.NextMarker', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-1.json.php new file mode 100644 index 0000000..687c681 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-03-25/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-2.json.php new file mode 100644 index 0000000..9caa1cf --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-03-25/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-03-25/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-10-30/api-2.json.php b/lib/aws/Aws/data/cloudfront/2017-10-30/api-2.json.php new file mode 100644 index 0000000..835b162 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-10-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-10-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-30', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'serviceId' => 'CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2017-10-30', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateFieldLevelEncryptionConfig' => [ 'name' => 'CreateFieldLevelEncryptionConfig2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/field-level-encryption', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'FieldLevelEncryptionConfigAlreadyExists', ], [ 'shape' => 'TooManyFieldLevelEncryptionConfigs', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'CreateFieldLevelEncryptionProfile' => [ 'name' => 'CreateFieldLevelEncryptionProfile2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/field-level-encryption-profile', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreatePublicKey' => [ 'name' => 'CreatePublicKey2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/public-key', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePublicKeyRequest', ], 'output' => [ 'shape' => 'CreatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'PublicKeyAlreadyExists', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'TooManyPublicKeys', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteFieldLevelEncryptionConfig' => [ 'name' => 'DeleteFieldLevelEncryptionConfig2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/field-level-encryption/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionConfigRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionConfigInUse', ], ], ], 'DeleteFieldLevelEncryptionProfile' => [ 'name' => 'DeleteFieldLevelEncryptionProfile2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/field-level-encryption-profile/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionProfileRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileInUse', ], ], ], 'DeletePublicKey' => [ 'name' => 'DeletePublicKey2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/public-key/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePublicKeyRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'PublicKeyInUse', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2017_10_30', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-30/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetFieldLevelEncryption' => [ 'name' => 'GetFieldLevelEncryption2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionConfig' => [ 'name' => 'GetFieldLevelEncryptionConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionProfile' => [ 'name' => 'GetFieldLevelEncryptionProfile2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption-profile/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetFieldLevelEncryptionProfileConfig' => [ 'name' => 'GetFieldLevelEncryptionProfileConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetPublicKey' => [ 'name' => 'GetPublicKey2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/public-key/{Id}', ], 'input' => [ 'shape' => 'GetPublicKeyRequest', ], 'output' => [ 'shape' => 'GetPublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetPublicKeyConfig' => [ 'name' => 'GetPublicKeyConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/public-key/{Id}/config', ], 'input' => [ 'shape' => 'GetPublicKeyConfigRequest', ], 'output' => [ 'shape' => 'GetPublicKeyConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListFieldLevelEncryptionConfigs' => [ 'name' => 'ListFieldLevelEncryptionConfigs2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionConfigsRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionConfigsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListFieldLevelEncryptionProfiles' => [ 'name' => 'ListFieldLevelEncryptionProfiles2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/field-level-encryption-profile', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionProfilesRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionProfilesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListPublicKeys' => [ 'name' => 'ListPublicKeys2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/public-key', ], 'input' => [ 'shape' => 'ListPublicKeysRequest', ], 'output' => [ 'shape' => 'ListPublicKeysResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2017_10_30', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-10-30/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2017_10_30', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-10-30/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'UpdateFieldLevelEncryptionConfig' => [ 'name' => 'UpdateFieldLevelEncryptionConfig2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'UpdateFieldLevelEncryptionProfile' => [ 'name' => 'UpdateFieldLevelEncryptionProfile2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'UpdatePublicKey' => [ 'name' => 'UpdatePublicKey2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/public-key/{Id}/config', ], 'input' => [ 'shape' => 'UpdatePublicKeyRequest', ], 'output' => [ 'shape' => 'UpdatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CannotChangeImmutablePublicKeyFields', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2017_10_30', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-30/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CannotChangeImmutablePublicKeyFields' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'ContentTypeProfile' => [ 'type' => 'structure', 'required' => [ 'Format', 'ContentType', ], 'members' => [ 'Format' => [ 'shape' => 'Format', ], 'ProfileId' => [ 'shape' => 'string', ], 'ContentType' => [ 'shape' => 'string', ], ], ], 'ContentTypeProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenContentTypeIsUnknown', ], 'members' => [ 'ForwardWhenContentTypeIsUnknown' => [ 'shape' => 'boolean', ], 'ContentTypeProfiles' => [ 'shape' => 'ContentTypeProfiles', ], ], ], 'ContentTypeProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentTypeProfile', 'locationName' => 'ContentTypeProfile', ], ], 'ContentTypeProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'ContentTypeProfileList', ], ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'CreateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'CreateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'CreateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'PublicKeyConfig', ], 'CreatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], 'OriginReadTimeout' => [ 'shape' => 'integer', ], 'OriginKeepaliveTimeout' => [ 'shape' => 'integer', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeletePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'EncryptionEntities' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'EncryptionEntityList', ], ], ], 'EncryptionEntity' => [ 'type' => 'structure', 'required' => [ 'PublicKeyId', 'ProviderId', 'FieldPatterns', ], 'members' => [ 'PublicKeyId' => [ 'shape' => 'string', ], 'ProviderId' => [ 'shape' => 'string', ], 'FieldPatterns' => [ 'shape' => 'FieldPatterns', ], ], ], 'EncryptionEntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EncryptionEntity', 'locationName' => 'EncryptionEntity', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'viewer-request', 'viewer-response', 'origin-request', 'origin-response', ], ], 'FieldLevelEncryption' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], ], ], 'FieldLevelEncryptionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionConfigAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionConfigInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionSummaryList', ], ], ], 'FieldLevelEncryptionProfile' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], ], ], 'FieldLevelEncryptionProfileAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileConfig' => [ 'type' => 'structure', 'required' => [ 'Name', 'CallerReference', 'EncryptionEntities', ], 'members' => [ 'Name' => [ 'shape' => 'string', ], 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], ], ], 'FieldLevelEncryptionProfileInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionProfileSummaryList', ], ], ], 'FieldLevelEncryptionProfileSizeExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FieldLevelEncryptionProfileSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'Name', 'EncryptionEntities', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Name' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'FieldLevelEncryptionProfileSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionProfileSummary', 'locationName' => 'FieldLevelEncryptionProfileSummary', ], ], 'FieldLevelEncryptionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionSummary', 'locationName' => 'FieldLevelEncryptionSummary', ], ], 'FieldPatternList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'FieldPattern', ], ], 'FieldPatterns' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldPatternList', ], ], ], 'Format' => [ 'type' => 'string', 'enum' => [ 'URLEncoded', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'GetFieldLevelEncryptionProfileConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'GetFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'GetFieldLevelEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetPublicKeyConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyConfigResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKeyConfig', ], 'GetPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginKeepaliveTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginReadTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'LambdaFunctionARN' => [ 'type' => 'string', ], 'LambdaFunctionAssociation' => [ 'type' => 'structure', 'required' => [ 'LambdaFunctionARN', 'EventType', ], 'members' => [ 'LambdaFunctionARN' => [ 'shape' => 'LambdaFunctionARN', ], 'EventType' => [ 'shape' => 'EventType', ], ], ], 'LambdaFunctionAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionAssociation', 'locationName' => 'LambdaFunctionAssociation', ], ], 'LambdaFunctionAssociations' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LambdaFunctionAssociationList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListFieldLevelEncryptionConfigsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionConfigsResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionList' => [ 'shape' => 'FieldLevelEncryptionList', ], ], 'payload' => 'FieldLevelEncryptionList', ], 'ListFieldLevelEncryptionProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionProfilesResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileList' => [ 'shape' => 'FieldLevelEncryptionProfileList', ], ], 'payload' => 'FieldLevelEncryptionProfileList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListPublicKeysRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListPublicKeysResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyList' => [ 'shape' => 'PublicKeyList', ], ], 'payload' => 'PublicKeyList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1_2016', 'TLSv1.1_2016', 'TLSv1.2_2018', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionProfile' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchPublicKey' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'PublicKey' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreatedTime', 'PublicKeyConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], ], ], 'PublicKeyAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Name', 'EncodedKey', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeyInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PublicKeySummaryList', ], ], ], 'PublicKeySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Name', 'CreatedTime', 'EncodedKey', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicKeySummary', 'locationName' => 'PublicKeySummary', ], ], 'QueryArgProfile' => [ 'type' => 'structure', 'required' => [ 'QueryArg', 'ProfileId', ], 'members' => [ 'QueryArg' => [ 'shape' => 'string', ], 'ProfileId' => [ 'shape' => 'string', ], ], ], 'QueryArgProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenQueryArgProfileIsUnknown', ], 'members' => [ 'ForwardWhenQueryArgProfileIsUnknown' => [ 'shape' => 'boolean', ], 'QueryArgProfiles' => [ 'shape' => 'QueryArgProfiles', ], ], ], 'QueryArgProfileEmpty' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'QueryArgProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryArgProfile', 'locationName' => 'QueryArgProfile', ], ], 'QueryArgProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryArgProfileList', ], ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsWithLambdaAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionConfigs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionContentTypeProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionEncryptionEntities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionFieldPatterns' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionQueryArgProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyLambdaFunctionAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyPublicKeys' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'UpdateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'UpdateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'UpdateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'UpdatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', 'Id', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'PublicKeyConfig', ], 'UpdatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2017-10-30/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-10-30/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2017-10-30/paginators-1.json.php new file mode 100644 index 0000000..4f22fca --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-10-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-10-30/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'output_token' => 'DistributionList.NextMarker', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'output_token' => 'InvalidationList.NextMarker', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'output_token' => 'StreamingDistributionList.NextMarker', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-10-30/smoke.json.php b/lib/aws/Aws/data/cloudfront/2017-10-30/smoke.json.php new file mode 100644 index 0000000..e3c58d9 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-10-30/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-10-30/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListCloudFrontOriginAccessIdentities', 'input' => [ 'MaxItems' => '1', ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDistribution', 'input' => [ 'Id' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-1.json.php new file mode 100644 index 0000000..c8d04de --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-10-30/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-2.json.php new file mode 100644 index 0000000..9cffd62 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2017-10-30/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2017-10-30/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-06-18/api-2.json.php b/lib/aws/Aws/data/cloudfront/2018-06-18/api-2.json.php new file mode 100644 index 0000000..f054c1d --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-06-18/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-06-18/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-06-18', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'serviceId' => 'CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2018-06-18', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateFieldLevelEncryptionConfig' => [ 'name' => 'CreateFieldLevelEncryptionConfig2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/field-level-encryption', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'FieldLevelEncryptionConfigAlreadyExists', ], [ 'shape' => 'TooManyFieldLevelEncryptionConfigs', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'CreateFieldLevelEncryptionProfile' => [ 'name' => 'CreateFieldLevelEncryptionProfile2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/field-level-encryption-profile', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreatePublicKey' => [ 'name' => 'CreatePublicKey2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/public-key', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePublicKeyRequest', ], 'output' => [ 'shape' => 'CreatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'PublicKeyAlreadyExists', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'TooManyPublicKeys', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteFieldLevelEncryptionConfig' => [ 'name' => 'DeleteFieldLevelEncryptionConfig2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/field-level-encryption/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionConfigRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionConfigInUse', ], ], ], 'DeleteFieldLevelEncryptionProfile' => [ 'name' => 'DeleteFieldLevelEncryptionProfile2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/field-level-encryption-profile/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionProfileRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileInUse', ], ], ], 'DeletePublicKey' => [ 'name' => 'DeletePublicKey2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/public-key/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePublicKeyRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'PublicKeyInUse', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2018_06_18', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-06-18/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetFieldLevelEncryption' => [ 'name' => 'GetFieldLevelEncryption2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionConfig' => [ 'name' => 'GetFieldLevelEncryptionConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionProfile' => [ 'name' => 'GetFieldLevelEncryptionProfile2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption-profile/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetFieldLevelEncryptionProfileConfig' => [ 'name' => 'GetFieldLevelEncryptionProfileConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetPublicKey' => [ 'name' => 'GetPublicKey2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/public-key/{Id}', ], 'input' => [ 'shape' => 'GetPublicKeyRequest', ], 'output' => [ 'shape' => 'GetPublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetPublicKeyConfig' => [ 'name' => 'GetPublicKeyConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/public-key/{Id}/config', ], 'input' => [ 'shape' => 'GetPublicKeyConfigRequest', ], 'output' => [ 'shape' => 'GetPublicKeyConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListFieldLevelEncryptionConfigs' => [ 'name' => 'ListFieldLevelEncryptionConfigs2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionConfigsRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionConfigsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListFieldLevelEncryptionProfiles' => [ 'name' => 'ListFieldLevelEncryptionProfiles2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/field-level-encryption-profile', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionProfilesRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionProfilesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListPublicKeys' => [ 'name' => 'ListPublicKeys2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/public-key', ], 'input' => [ 'shape' => 'ListPublicKeysRequest', ], 'output' => [ 'shape' => 'ListPublicKeysResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2018_06_18', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-06-18/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2018_06_18', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-06-18/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'UpdateFieldLevelEncryptionConfig' => [ 'name' => 'UpdateFieldLevelEncryptionConfig2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'UpdateFieldLevelEncryptionProfile' => [ 'name' => 'UpdateFieldLevelEncryptionProfile2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'UpdatePublicKey' => [ 'name' => 'UpdatePublicKey2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/public-key/{Id}/config', ], 'input' => [ 'shape' => 'UpdatePublicKeyRequest', ], 'output' => [ 'shape' => 'UpdatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CannotChangeImmutablePublicKeyFields', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2018_06_18', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-06-18/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CannotChangeImmutablePublicKeyFields' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'ContentTypeProfile' => [ 'type' => 'structure', 'required' => [ 'Format', 'ContentType', ], 'members' => [ 'Format' => [ 'shape' => 'Format', ], 'ProfileId' => [ 'shape' => 'string', ], 'ContentType' => [ 'shape' => 'string', ], ], ], 'ContentTypeProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenContentTypeIsUnknown', ], 'members' => [ 'ForwardWhenContentTypeIsUnknown' => [ 'shape' => 'boolean', ], 'ContentTypeProfiles' => [ 'shape' => 'ContentTypeProfiles', ], ], ], 'ContentTypeProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentTypeProfile', 'locationName' => 'ContentTypeProfile', ], ], 'ContentTypeProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'ContentTypeProfileList', ], ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'CreateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'CreateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'CreateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'PublicKeyConfig', ], 'CreatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], 'OriginReadTimeout' => [ 'shape' => 'integer', ], 'OriginKeepaliveTimeout' => [ 'shape' => 'integer', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeletePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'EncryptionEntities' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'EncryptionEntityList', ], ], ], 'EncryptionEntity' => [ 'type' => 'structure', 'required' => [ 'PublicKeyId', 'ProviderId', 'FieldPatterns', ], 'members' => [ 'PublicKeyId' => [ 'shape' => 'string', ], 'ProviderId' => [ 'shape' => 'string', ], 'FieldPatterns' => [ 'shape' => 'FieldPatterns', ], ], ], 'EncryptionEntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EncryptionEntity', 'locationName' => 'EncryptionEntity', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'viewer-request', 'viewer-response', 'origin-request', 'origin-response', ], ], 'FieldLevelEncryption' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], ], ], 'FieldLevelEncryptionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionConfigAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionConfigInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionSummaryList', ], ], ], 'FieldLevelEncryptionProfile' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], ], ], 'FieldLevelEncryptionProfileAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileConfig' => [ 'type' => 'structure', 'required' => [ 'Name', 'CallerReference', 'EncryptionEntities', ], 'members' => [ 'Name' => [ 'shape' => 'string', ], 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], ], ], 'FieldLevelEncryptionProfileInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionProfileSummaryList', ], ], ], 'FieldLevelEncryptionProfileSizeExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FieldLevelEncryptionProfileSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'Name', 'EncryptionEntities', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Name' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'FieldLevelEncryptionProfileSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionProfileSummary', 'locationName' => 'FieldLevelEncryptionProfileSummary', ], ], 'FieldLevelEncryptionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionSummary', 'locationName' => 'FieldLevelEncryptionSummary', ], ], 'FieldPatternList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'FieldPattern', ], ], 'FieldPatterns' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldPatternList', ], ], ], 'Format' => [ 'type' => 'string', 'enum' => [ 'URLEncoded', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'GetFieldLevelEncryptionProfileConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'GetFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'GetFieldLevelEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetPublicKeyConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyConfigResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKeyConfig', ], 'GetPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginKeepaliveTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginReadTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'LambdaFunctionARN' => [ 'type' => 'string', ], 'LambdaFunctionAssociation' => [ 'type' => 'structure', 'required' => [ 'LambdaFunctionARN', 'EventType', ], 'members' => [ 'LambdaFunctionARN' => [ 'shape' => 'LambdaFunctionARN', ], 'EventType' => [ 'shape' => 'EventType', ], 'IncludeBody' => [ 'shape' => 'boolean', ], ], ], 'LambdaFunctionAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionAssociation', 'locationName' => 'LambdaFunctionAssociation', ], ], 'LambdaFunctionAssociations' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LambdaFunctionAssociationList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListFieldLevelEncryptionConfigsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionConfigsResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionList' => [ 'shape' => 'FieldLevelEncryptionList', ], ], 'payload' => 'FieldLevelEncryptionList', ], 'ListFieldLevelEncryptionProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionProfilesResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileList' => [ 'shape' => 'FieldLevelEncryptionProfileList', ], ], 'payload' => 'FieldLevelEncryptionProfileList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListPublicKeysRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListPublicKeysResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyList' => [ 'shape' => 'PublicKeyList', ], ], 'payload' => 'PublicKeyList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1_2016', 'TLSv1.1_2016', 'TLSv1.2_2018', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionProfile' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchPublicKey' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'PublicKey' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreatedTime', 'PublicKeyConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], ], ], 'PublicKeyAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Name', 'EncodedKey', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeyInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PublicKeySummaryList', ], ], ], 'PublicKeySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Name', 'CreatedTime', 'EncodedKey', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicKeySummary', 'locationName' => 'PublicKeySummary', ], ], 'QueryArgProfile' => [ 'type' => 'structure', 'required' => [ 'QueryArg', 'ProfileId', ], 'members' => [ 'QueryArg' => [ 'shape' => 'string', ], 'ProfileId' => [ 'shape' => 'string', ], ], ], 'QueryArgProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenQueryArgProfileIsUnknown', ], 'members' => [ 'ForwardWhenQueryArgProfileIsUnknown' => [ 'shape' => 'boolean', ], 'QueryArgProfiles' => [ 'shape' => 'QueryArgProfiles', ], ], ], 'QueryArgProfileEmpty' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'QueryArgProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryArgProfile', 'locationName' => 'QueryArgProfile', ], ], 'QueryArgProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryArgProfileList', ], ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsWithLambdaAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionConfigs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionContentTypeProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionEncryptionEntities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionFieldPatterns' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionQueryArgProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyLambdaFunctionAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyPublicKeys' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'UpdateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'UpdateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'UpdateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'UpdatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', 'Id', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'PublicKeyConfig', ], 'UpdatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-06-18/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-06-18/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2018-06-18/paginators-1.json.php new file mode 100644 index 0000000..61f860c --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-06-18/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-06-18/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'output_token' => 'DistributionList.NextMarker', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'output_token' => 'InvalidationList.NextMarker', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'output_token' => 'StreamingDistributionList.NextMarker', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-06-18/smoke.json.php b/lib/aws/Aws/data/cloudfront/2018-06-18/smoke.json.php new file mode 100644 index 0000000..3fd962b --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-06-18/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-06-18/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListCloudFrontOriginAccessIdentities', 'input' => [ 'MaxItems' => '1', ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDistribution', 'input' => [ 'Id' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-1.json.php new file mode 100644 index 0000000..20f082d --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-06-18/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-2.json.php new file mode 100644 index 0000000..d0070a5 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-06-18/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-06-18/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-11-05/api-2.json.php b/lib/aws/Aws/data/cloudfront/2018-11-05/api-2.json.php new file mode 100644 index 0000000..24972d3 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-11-05/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-11-05/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-11-05', 'endpointPrefix' => 'cloudfront', 'globalEndpoint' => 'cloudfront.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'CloudFront', 'serviceFullName' => 'Amazon CloudFront', 'serviceId' => 'CloudFront', 'signatureVersion' => 'v4', 'uid' => 'cloudfront-2018-11-05', ], 'operations' => [ 'CreateCloudFrontOriginAccessIdentity' => [ 'name' => 'CreateCloudFrontOriginAccessIdentity2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'CreateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'CloudFrontOriginAccessIdentityAlreadyExists', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyCloudFrontOriginAccessIdentities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateDistribution' => [ 'name' => 'CreateDistribution2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionRequest', ], 'output' => [ 'shape' => 'CreateDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyOriginGroupsPerDistribution', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateDistributionWithTags' => [ 'name' => 'CreateDistributionWithTags2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'DistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'TooManyDistributions', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyOriginGroupsPerDistribution', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidProtocolSettings', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'CreateFieldLevelEncryptionConfig' => [ 'name' => 'CreateFieldLevelEncryptionConfig2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/field-level-encryption', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'FieldLevelEncryptionConfigAlreadyExists', ], [ 'shape' => 'TooManyFieldLevelEncryptionConfigs', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'CreateFieldLevelEncryptionProfile' => [ 'name' => 'CreateFieldLevelEncryptionProfile2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/field-level-encryption-profile', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'CreateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'CreateInvalidation' => [ 'name' => 'CreateInvalidation2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/distribution/{DistributionId}/invalidation', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInvalidationRequest', ], 'output' => [ 'shape' => 'CreateInvalidationResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'BatchTooLarge', ], [ 'shape' => 'TooManyInvalidationsInProgress', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreatePublicKey' => [ 'name' => 'CreatePublicKey2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/public-key', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePublicKeyRequest', ], 'output' => [ 'shape' => 'CreatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'PublicKeyAlreadyExists', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'TooManyPublicKeys', ], ], ], 'CreateStreamingDistribution' => [ 'name' => 'CreateStreamingDistribution2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/streaming-distribution', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'CreateStreamingDistributionWithTags' => [ 'name' => 'CreateStreamingDistributionWithTags2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/streaming-distribution?WithTags', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateStreamingDistributionWithTagsRequest', ], 'output' => [ 'shape' => 'CreateStreamingDistributionWithTagsResult', ], 'errors' => [ [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'StreamingDistributionAlreadyExists', ], [ 'shape' => 'InvalidOrigin', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'TooManyStreamingDistributions', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidTagging', ], ], ], 'DeleteCloudFrontOriginAccessIdentity' => [ 'name' => 'DeleteCloudFrontOriginAccessIdentity2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCloudFrontOriginAccessIdentityRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'CloudFrontOriginAccessIdentityInUse', ], ], ], 'DeleteDistribution' => [ 'name' => 'DeleteDistribution2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'DistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteFieldLevelEncryptionConfig' => [ 'name' => 'DeleteFieldLevelEncryptionConfig2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/field-level-encryption/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionConfigRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionConfigInUse', ], ], ], 'DeleteFieldLevelEncryptionProfile' => [ 'name' => 'DeleteFieldLevelEncryptionProfile2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/field-level-encryption-profile/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFieldLevelEncryptionProfileRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileInUse', ], ], ], 'DeletePublicKey' => [ 'name' => 'DeletePublicKey2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/public-key/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePublicKeyRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'PublicKeyInUse', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'DeleteStreamingDistribution' => [ 'name' => 'DeleteStreamingDistribution2018_11_05', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-11-05/streaming-distribution/{Id}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteStreamingDistributionRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'StreamingDistributionNotDisabled', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'GetCloudFrontOriginAccessIdentity' => [ 'name' => 'GetCloudFrontOriginAccessIdentity2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront/{Id}', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetCloudFrontOriginAccessIdentityConfig' => [ 'name' => 'GetCloudFrontOriginAccessIdentityConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigRequest', ], 'output' => [ 'shape' => 'GetCloudFrontOriginAccessIdentityConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistribution' => [ 'name' => 'GetDistribution2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distribution/{Id}', ], 'input' => [ 'shape' => 'GetDistributionRequest', ], 'output' => [ 'shape' => 'GetDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetDistributionConfig' => [ 'name' => 'GetDistributionConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetFieldLevelEncryption' => [ 'name' => 'GetFieldLevelEncryption2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionConfig' => [ 'name' => 'GetFieldLevelEncryptionConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], ], ], 'GetFieldLevelEncryptionProfile' => [ 'name' => 'GetFieldLevelEncryptionProfile2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption-profile/{Id}', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetFieldLevelEncryptionProfileConfig' => [ 'name' => 'GetFieldLevelEncryptionProfileConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigRequest', ], 'output' => [ 'shape' => 'GetFieldLevelEncryptionProfileConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], ], ], 'GetInvalidation' => [ 'name' => 'GetInvalidation2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distribution/{DistributionId}/invalidation/{Id}', ], 'input' => [ 'shape' => 'GetInvalidationRequest', ], 'output' => [ 'shape' => 'GetInvalidationResult', ], 'errors' => [ [ 'shape' => 'NoSuchInvalidation', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetPublicKey' => [ 'name' => 'GetPublicKey2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/public-key/{Id}', ], 'input' => [ 'shape' => 'GetPublicKeyRequest', ], 'output' => [ 'shape' => 'GetPublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetPublicKeyConfig' => [ 'name' => 'GetPublicKeyConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/public-key/{Id}/config', ], 'input' => [ 'shape' => 'GetPublicKeyConfigRequest', ], 'output' => [ 'shape' => 'GetPublicKeyConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'NoSuchPublicKey', ], ], ], 'GetStreamingDistribution' => [ 'name' => 'GetStreamingDistribution2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/streaming-distribution/{Id}', ], 'input' => [ 'shape' => 'GetStreamingDistributionRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'GetStreamingDistributionConfig' => [ 'name' => 'GetStreamingDistributionConfig2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'GetStreamingDistributionConfigRequest', ], 'output' => [ 'shape' => 'GetStreamingDistributionConfigResult', ], 'errors' => [ [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListCloudFrontOriginAccessIdentities' => [ 'name' => 'ListCloudFrontOriginAccessIdentities2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront', ], 'input' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesRequest', ], 'output' => [ 'shape' => 'ListCloudFrontOriginAccessIdentitiesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributions' => [ 'name' => 'ListDistributions2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distribution', ], 'input' => [ 'shape' => 'ListDistributionsRequest', ], 'output' => [ 'shape' => 'ListDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListDistributionsByWebACLId' => [ 'name' => 'ListDistributionsByWebACLId2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distributionsByWebACLId/{WebACLId}', ], 'input' => [ 'shape' => 'ListDistributionsByWebACLIdRequest', ], 'output' => [ 'shape' => 'ListDistributionsByWebACLIdResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidWebACLId', ], ], ], 'ListFieldLevelEncryptionConfigs' => [ 'name' => 'ListFieldLevelEncryptionConfigs2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionConfigsRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionConfigsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListFieldLevelEncryptionProfiles' => [ 'name' => 'ListFieldLevelEncryptionProfiles2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/field-level-encryption-profile', ], 'input' => [ 'shape' => 'ListFieldLevelEncryptionProfilesRequest', ], 'output' => [ 'shape' => 'ListFieldLevelEncryptionProfilesResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListInvalidations' => [ 'name' => 'ListInvalidations2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/distribution/{DistributionId}/invalidation', ], 'input' => [ 'shape' => 'ListInvalidationsRequest', ], 'output' => [ 'shape' => 'ListInvalidationsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'AccessDenied', ], ], ], 'ListPublicKeys' => [ 'name' => 'ListPublicKeys2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/public-key', ], 'input' => [ 'shape' => 'ListPublicKeysRequest', ], 'output' => [ 'shape' => 'ListPublicKeysResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListStreamingDistributions' => [ 'name' => 'ListStreamingDistributions2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/streaming-distribution', ], 'input' => [ 'shape' => 'ListStreamingDistributionsRequest', ], 'output' => [ 'shape' => 'ListStreamingDistributionsResult', ], 'errors' => [ [ 'shape' => 'InvalidArgument', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource2018_11_05', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-11-05/tagging', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'TagResource' => [ 'name' => 'TagResource2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/tagging?Operation=Tag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource2018_11_05', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-11-05/tagging?Operation=Untag', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidTagging', ], [ 'shape' => 'NoSuchResource', ], ], ], 'UpdateCloudFrontOriginAccessIdentity' => [ 'name' => 'UpdateCloudFrontOriginAccessIdentity2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/origin-access-identity/cloudfront/{Id}/config', ], 'input' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityRequest', ], 'output' => [ 'shape' => 'UpdateCloudFrontOriginAccessIdentityResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchCloudFrontOriginAccessIdentity', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InconsistentQuantities', ], ], ], 'UpdateDistribution' => [ 'name' => 'UpdateDistribution2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateDistributionRequest', ], 'output' => [ 'shape' => 'UpdateDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyDistributionCNAMEs', ], [ 'shape' => 'InvalidDefaultRootObject', ], [ 'shape' => 'InvalidRelativePath', ], [ 'shape' => 'InvalidErrorCode', ], [ 'shape' => 'InvalidResponseCode', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InvalidViewerCertificate', ], [ 'shape' => 'InvalidMinimumProtocolVersion', ], [ 'shape' => 'InvalidRequiredProtocol', ], [ 'shape' => 'NoSuchOrigin', ], [ 'shape' => 'TooManyOrigins', ], [ 'shape' => 'TooManyOriginGroupsPerDistribution', ], [ 'shape' => 'TooManyCacheBehaviors', ], [ 'shape' => 'TooManyCookieNamesInWhiteList', ], [ 'shape' => 'InvalidForwardCookies', ], [ 'shape' => 'TooManyHeadersInForwardedValues', ], [ 'shape' => 'InvalidHeadersForS3Origin', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'TooManyCertificates', ], [ 'shape' => 'InvalidLocationCode', ], [ 'shape' => 'InvalidGeoRestrictionParameter', ], [ 'shape' => 'InvalidTTLOrder', ], [ 'shape' => 'InvalidWebACLId', ], [ 'shape' => 'TooManyOriginCustomHeaders', ], [ 'shape' => 'TooManyQueryStringParameters', ], [ 'shape' => 'InvalidQueryStringParameters', ], [ 'shape' => 'TooManyDistributionsWithLambdaAssociations', ], [ 'shape' => 'TooManyLambdaFunctionAssociations', ], [ 'shape' => 'InvalidLambdaFunctionAssociation', ], [ 'shape' => 'InvalidOriginReadTimeout', ], [ 'shape' => 'InvalidOriginKeepaliveTimeout', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior', ], [ 'shape' => 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig', ], ], ], 'UpdateFieldLevelEncryptionConfig' => [ 'name' => 'UpdateFieldLevelEncryptionConfig2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/field-level-encryption/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'NoSuchFieldLevelEncryptionConfig', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyFieldLevelEncryptionQueryArgProfiles', ], [ 'shape' => 'TooManyFieldLevelEncryptionContentTypeProfiles', ], [ 'shape' => 'QueryArgProfileEmpty', ], ], ], 'UpdateFieldLevelEncryptionProfile' => [ 'name' => 'UpdateFieldLevelEncryptionProfile2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/field-level-encryption-profile/{Id}/config', ], 'input' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileRequest', ], 'output' => [ 'shape' => 'UpdateFieldLevelEncryptionProfileResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'FieldLevelEncryptionProfileAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InconsistentQuantities', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'NoSuchFieldLevelEncryptionProfile', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'FieldLevelEncryptionProfileSizeExceeded', ], [ 'shape' => 'TooManyFieldLevelEncryptionEncryptionEntities', ], [ 'shape' => 'TooManyFieldLevelEncryptionFieldPatterns', ], ], ], 'UpdatePublicKey' => [ 'name' => 'UpdatePublicKey2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/public-key/{Id}/config', ], 'input' => [ 'shape' => 'UpdatePublicKeyRequest', ], 'output' => [ 'shape' => 'UpdatePublicKeyResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CannotChangeImmutablePublicKeyFields', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'NoSuchPublicKey', ], [ 'shape' => 'PreconditionFailed', ], ], ], 'UpdateStreamingDistribution' => [ 'name' => 'UpdateStreamingDistribution2018_11_05', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2018-11-05/streaming-distribution/{Id}/config', ], 'input' => [ 'shape' => 'UpdateStreamingDistributionRequest', ], 'output' => [ 'shape' => 'UpdateStreamingDistributionResult', ], 'errors' => [ [ 'shape' => 'AccessDenied', ], [ 'shape' => 'CNAMEAlreadyExists', ], [ 'shape' => 'IllegalUpdate', ], [ 'shape' => 'InvalidIfMatchVersion', ], [ 'shape' => 'MissingBody', ], [ 'shape' => 'NoSuchStreamingDistribution', ], [ 'shape' => 'PreconditionFailed', ], [ 'shape' => 'TooManyStreamingDistributionCNAMEs', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidOriginAccessIdentity', ], [ 'shape' => 'TooManyTrustedSigners', ], [ 'shape' => 'TrustedSignerDoesNotExist', ], [ 'shape' => 'InconsistentQuantities', ], ], ], ], 'shapes' => [ 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'ActiveTrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SignerList', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'CNAME', ], ], 'Aliases' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AliasList', ], ], ], 'AllowedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], 'CachedMethods' => [ 'shape' => 'CachedMethods', ], ], ], 'AwsAccountNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'AwsAccountNumber', ], ], 'BatchTooLarge' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'CNAMEAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CacheBehavior' => [ 'type' => 'structure', 'required' => [ 'PathPattern', 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'PathPattern' => [ 'shape' => 'string', ], 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'CacheBehaviorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheBehavior', 'locationName' => 'CacheBehavior', ], ], 'CacheBehaviors' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CacheBehaviorList', ], ], ], 'CachedMethods' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'MethodsList', ], ], ], 'CannotChangeImmutablePublicKeyFields' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CertificateSource' => [ 'type' => 'string', 'enum' => [ 'cloudfront', 'iam', 'acm', ], ], 'CloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], ], ], 'CloudFrontOriginAccessIdentityAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Comment', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentityInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CloudFrontOriginAccessIdentityList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummaryList', ], ], ], 'CloudFrontOriginAccessIdentitySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'S3CanonicalUserId', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'S3CanonicalUserId' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'CloudFrontOriginAccessIdentitySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFrontOriginAccessIdentitySummary', 'locationName' => 'CloudFrontOriginAccessIdentitySummary', ], ], 'ContentTypeProfile' => [ 'type' => 'structure', 'required' => [ 'Format', 'ContentType', ], 'members' => [ 'Format' => [ 'shape' => 'Format', ], 'ProfileId' => [ 'shape' => 'string', ], 'ContentType' => [ 'shape' => 'string', ], ], ], 'ContentTypeProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenContentTypeIsUnknown', ], 'members' => [ 'ForwardWhenContentTypeIsUnknown' => [ 'shape' => 'boolean', ], 'ContentTypeProfiles' => [ 'shape' => 'ContentTypeProfiles', ], ], ], 'ContentTypeProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentTypeProfile', 'locationName' => 'ContentTypeProfile', ], ], 'ContentTypeProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'ContentTypeProfileList', ], ], ], 'CookieNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'CookieNames' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CookieNameList', ], ], ], 'CookiePreference' => [ 'type' => 'structure', 'required' => [ 'Forward', ], 'members' => [ 'Forward' => [ 'shape' => 'ItemSelection', ], 'WhitelistedNames' => [ 'shape' => 'CookieNames', ], ], ], 'CreateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'CreateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'CreateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'DistributionConfig', ], 'CreateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfigWithTags', ], 'members' => [ 'DistributionConfigWithTags' => [ 'shape' => 'DistributionConfigWithTags', 'locationName' => 'DistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'DistributionConfigWithTags', ], 'CreateDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'CreateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'CreateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'CreateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'CreateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'CreateInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'InvalidationBatch', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', 'locationName' => 'InvalidationBatch', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'InvalidationBatch', ], 'CreateInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'CreatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'PublicKeyConfig', ], 'CreatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'CreateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'StreamingDistributionConfig', ], 'CreateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CreateStreamingDistributionWithTagsRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfigWithTags', ], 'members' => [ 'StreamingDistributionConfigWithTags' => [ 'shape' => 'StreamingDistributionConfigWithTags', 'locationName' => 'StreamingDistributionConfigWithTags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'StreamingDistributionConfigWithTags', ], 'CreateStreamingDistributionWithTagsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'Location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'CustomErrorResponse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'integer', ], 'ResponsePagePath' => [ 'shape' => 'string', ], 'ResponseCode' => [ 'shape' => 'string', ], 'ErrorCachingMinTTL' => [ 'shape' => 'long', ], ], ], 'CustomErrorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomErrorResponse', 'locationName' => 'CustomErrorResponse', ], ], 'CustomErrorResponses' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'CustomErrorResponseList', ], ], ], 'CustomHeaders' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginCustomHeadersList', ], ], ], 'CustomOriginConfig' => [ 'type' => 'structure', 'required' => [ 'HTTPPort', 'HTTPSPort', 'OriginProtocolPolicy', ], 'members' => [ 'HTTPPort' => [ 'shape' => 'integer', ], 'HTTPSPort' => [ 'shape' => 'integer', ], 'OriginProtocolPolicy' => [ 'shape' => 'OriginProtocolPolicy', ], 'OriginSslProtocols' => [ 'shape' => 'OriginSslProtocols', ], 'OriginReadTimeout' => [ 'shape' => 'integer', ], 'OriginKeepaliveTimeout' => [ 'shape' => 'integer', ], ], ], 'DefaultCacheBehavior' => [ 'type' => 'structure', 'required' => [ 'TargetOriginId', 'ForwardedValues', 'TrustedSigners', 'ViewerProtocolPolicy', 'MinTTL', ], 'members' => [ 'TargetOriginId' => [ 'shape' => 'string', ], 'ForwardedValues' => [ 'shape' => 'ForwardedValues', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'ViewerProtocolPolicy' => [ 'shape' => 'ViewerProtocolPolicy', ], 'MinTTL' => [ 'shape' => 'long', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'SmoothStreaming' => [ 'shape' => 'boolean', ], 'DefaultTTL' => [ 'shape' => 'long', ], 'MaxTTL' => [ 'shape' => 'long', ], 'Compress' => [ 'shape' => 'boolean', ], 'LambdaFunctionAssociations' => [ 'shape' => 'LambdaFunctionAssociations', ], 'FieldLevelEncryptionId' => [ 'shape' => 'string', ], ], ], 'DeleteCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeletePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'DeleteStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], ], 'Distribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'InProgressInvalidationBatches', 'DomainName', 'ActiveTrustedSigners', 'DistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'InProgressInvalidationBatches' => [ 'shape' => 'integer', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], ], ], 'DistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Origins', 'DefaultCacheBehavior', 'Comment', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'DefaultRootObject' => [ 'shape' => 'string', ], 'Origins' => [ 'shape' => 'Origins', ], 'OriginGroups' => [ 'shape' => 'OriginGroups', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'LoggingConfig', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Tags', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'DistributionSummaryList', ], ], ], 'DistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'Aliases', 'Origins', 'DefaultCacheBehavior', 'CacheBehaviors', 'CustomErrorResponses', 'Comment', 'PriceClass', 'Enabled', 'ViewerCertificate', 'Restrictions', 'WebACLId', 'HttpVersion', 'IsIPV6Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Origins' => [ 'shape' => 'Origins', ], 'OriginGroups' => [ 'shape' => 'OriginGroups', ], 'DefaultCacheBehavior' => [ 'shape' => 'DefaultCacheBehavior', ], 'CacheBehaviors' => [ 'shape' => 'CacheBehaviors', ], 'CustomErrorResponses' => [ 'shape' => 'CustomErrorResponses', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], 'ViewerCertificate' => [ 'shape' => 'ViewerCertificate', ], 'Restrictions' => [ 'shape' => 'Restrictions', ], 'WebACLId' => [ 'shape' => 'string', ], 'HttpVersion' => [ 'shape' => 'HttpVersion', ], 'IsIPV6Enabled' => [ 'shape' => 'boolean', ], ], ], 'DistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DistributionSummary', 'locationName' => 'DistributionSummary', ], ], 'EncryptionEntities' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'EncryptionEntityList', ], ], ], 'EncryptionEntity' => [ 'type' => 'structure', 'required' => [ 'PublicKeyId', 'ProviderId', 'FieldPatterns', ], 'members' => [ 'PublicKeyId' => [ 'shape' => 'string', ], 'ProviderId' => [ 'shape' => 'string', ], 'FieldPatterns' => [ 'shape' => 'FieldPatterns', ], ], ], 'EncryptionEntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EncryptionEntity', 'locationName' => 'EncryptionEntity', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'viewer-request', 'viewer-response', 'origin-request', 'origin-response', ], ], 'FieldLevelEncryption' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], ], ], 'FieldLevelEncryptionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionConfigAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionConfigInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionSummaryList', ], ], ], 'FieldLevelEncryptionProfile' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'FieldLevelEncryptionProfileConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], ], ], 'FieldLevelEncryptionProfileAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileConfig' => [ 'type' => 'structure', 'required' => [ 'Name', 'CallerReference', 'EncryptionEntities', ], 'members' => [ 'Name' => [ 'shape' => 'string', ], 'CallerReference' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], ], ], 'FieldLevelEncryptionProfileInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FieldLevelEncryptionProfileList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldLevelEncryptionProfileSummaryList', ], ], ], 'FieldLevelEncryptionProfileSizeExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'FieldLevelEncryptionProfileSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', 'Name', 'EncryptionEntities', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Name' => [ 'shape' => 'string', ], 'EncryptionEntities' => [ 'shape' => 'EncryptionEntities', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'FieldLevelEncryptionProfileSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionProfileSummary', 'locationName' => 'FieldLevelEncryptionProfileSummary', ], ], 'FieldLevelEncryptionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'LastModifiedTime', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'Comment' => [ 'shape' => 'string', ], 'QueryArgProfileConfig' => [ 'shape' => 'QueryArgProfileConfig', ], 'ContentTypeProfileConfig' => [ 'shape' => 'ContentTypeProfileConfig', ], ], ], 'FieldLevelEncryptionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldLevelEncryptionSummary', 'locationName' => 'FieldLevelEncryptionSummary', ], ], 'FieldPatternList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'FieldPattern', ], ], 'FieldPatterns' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'FieldPatternList', ], ], ], 'Format' => [ 'type' => 'string', 'enum' => [ 'URLEncoded', ], ], 'ForwardedValues' => [ 'type' => 'structure', 'required' => [ 'QueryString', 'Cookies', ], 'members' => [ 'QueryString' => [ 'shape' => 'boolean', ], 'Cookies' => [ 'shape' => 'CookiePreference', ], 'Headers' => [ 'shape' => 'Headers', ], 'QueryStringCacheKeys' => [ 'shape' => 'QueryStringCacheKeys', ], ], ], 'GeoRestriction' => [ 'type' => 'structure', 'required' => [ 'RestrictionType', 'Quantity', ], 'members' => [ 'RestrictionType' => [ 'shape' => 'GeoRestrictionType', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LocationList', ], ], ], 'GeoRestrictionType' => [ 'type' => 'string', 'enum' => [ 'blacklist', 'whitelist', 'none', ], ], 'GetCloudFrontOriginAccessIdentityConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityConfigResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'GetCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'GetDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'DistributionConfig', ], 'GetDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'GetFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'GetFieldLevelEncryptionProfileConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'GetFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'GetFieldLevelEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetFieldLevelEncryptionResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'GetInvalidationRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', 'Id', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetInvalidationResult' => [ 'type' => 'structure', 'members' => [ 'Invalidation' => [ 'shape' => 'Invalidation', ], ], 'payload' => 'Invalidation', ], 'GetPublicKeyConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyConfigResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKeyConfig', ], 'GetPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetPublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'GetStreamingDistributionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionConfigResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistributionConfig', ], 'GetStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'HeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'Headers' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'HeaderList', ], ], ], 'HttpVersion' => [ 'type' => 'string', 'enum' => [ 'http1.1', 'http2', ], ], 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IllegalUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InconsistentQuantities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDefaultRootObject' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidErrorCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidForwardCookies' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidGeoRestrictionParameter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidHeadersForS3Origin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidIfMatchVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLambdaFunctionAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidLocationCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMinimumProtocolVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginKeepaliveTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidOriginReadTimeout' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidProtocolSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRelativePath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequiredProtocol' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseCode' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTTLOrder' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagging' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidWebACLId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invalidation' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'CreateTime', 'InvalidationBatch', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'InvalidationBatch' => [ 'shape' => 'InvalidationBatch', ], ], ], 'InvalidationBatch' => [ 'type' => 'structure', 'required' => [ 'Paths', 'CallerReference', ], 'members' => [ 'Paths' => [ 'shape' => 'Paths', ], 'CallerReference' => [ 'shape' => 'string', ], ], ], 'InvalidationList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'InvalidationSummaryList', ], ], ], 'InvalidationSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreateTime', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreateTime' => [ 'shape' => 'timestamp', ], 'Status' => [ 'shape' => 'string', ], ], ], 'InvalidationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InvalidationSummary', 'locationName' => 'InvalidationSummary', ], ], 'ItemSelection' => [ 'type' => 'string', 'enum' => [ 'none', 'whitelist', 'all', ], ], 'KeyPairIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'KeyPairId', ], ], 'KeyPairIds' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'KeyPairIdList', ], ], ], 'LambdaFunctionARN' => [ 'type' => 'string', ], 'LambdaFunctionAssociation' => [ 'type' => 'structure', 'required' => [ 'LambdaFunctionARN', 'EventType', ], 'members' => [ 'LambdaFunctionARN' => [ 'shape' => 'LambdaFunctionARN', ], 'EventType' => [ 'shape' => 'EventType', ], 'IncludeBody' => [ 'shape' => 'boolean', ], ], ], 'LambdaFunctionAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionAssociation', 'locationName' => 'LambdaFunctionAssociation', ], ], 'LambdaFunctionAssociations' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'LambdaFunctionAssociationList', ], ], ], 'ListCloudFrontOriginAccessIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListCloudFrontOriginAccessIdentitiesResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentityList' => [ 'shape' => 'CloudFrontOriginAccessIdentityList', ], ], 'payload' => 'CloudFrontOriginAccessIdentityList', ], 'ListDistributionsByWebACLIdRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'WebACLId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'WebACLId', ], ], ], 'ListDistributionsByWebACLIdResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'DistributionList' => [ 'shape' => 'DistributionList', ], ], 'payload' => 'DistributionList', ], 'ListFieldLevelEncryptionConfigsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionConfigsResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionList' => [ 'shape' => 'FieldLevelEncryptionList', ], ], 'payload' => 'FieldLevelEncryptionList', ], 'ListFieldLevelEncryptionProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFieldLevelEncryptionProfilesResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfileList' => [ 'shape' => 'FieldLevelEncryptionProfileList', ], ], 'payload' => 'FieldLevelEncryptionProfileList', ], 'ListInvalidationsRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionId', ], 'members' => [ 'DistributionId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'DistributionId', ], 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListInvalidationsResult' => [ 'type' => 'structure', 'members' => [ 'InvalidationList' => [ 'shape' => 'InvalidationList', ], ], 'payload' => 'InvalidationList', ], 'ListPublicKeysRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListPublicKeysResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyList' => [ 'shape' => 'PublicKeyList', ], ], 'payload' => 'PublicKeyList', ], 'ListStreamingDistributionsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListStreamingDistributionsResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistributionList' => [ 'shape' => 'StreamingDistributionList', ], ], 'payload' => 'StreamingDistributionList', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], 'payload' => 'Tags', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Location', ], ], 'LoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'IncludeCookies', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'IncludeCookies' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Method' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE', ], ], 'MethodsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Method', 'locationName' => 'Method', ], ], 'MinimumProtocolVersion' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1_2016', 'TLSv1.1_2016', 'TLSv1.2_2018', ], ], 'MissingBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoSuchCloudFrontOriginAccessIdentity' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchFieldLevelEncryptionProfile' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchInvalidation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchOrigin' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchPublicKey' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchResource' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchStreamingDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Origin' => [ 'type' => 'structure', 'required' => [ 'Id', 'DomainName', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'DomainName' => [ 'shape' => 'string', ], 'OriginPath' => [ 'shape' => 'string', ], 'CustomHeaders' => [ 'shape' => 'CustomHeaders', ], 'S3OriginConfig' => [ 'shape' => 'S3OriginConfig', ], 'CustomOriginConfig' => [ 'shape' => 'CustomOriginConfig', ], ], ], 'OriginCustomHeader' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'string', ], 'HeaderValue' => [ 'shape' => 'string', ], ], ], 'OriginCustomHeadersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginCustomHeader', 'locationName' => 'OriginCustomHeader', ], ], 'OriginGroup' => [ 'type' => 'structure', 'required' => [ 'Id', 'FailoverCriteria', 'Members', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'FailoverCriteria' => [ 'shape' => 'OriginGroupFailoverCriteria', ], 'Members' => [ 'shape' => 'OriginGroupMembers', ], ], ], 'OriginGroupFailoverCriteria' => [ 'type' => 'structure', 'required' => [ 'StatusCodes', ], 'members' => [ 'StatusCodes' => [ 'shape' => 'StatusCodes', ], ], ], 'OriginGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginGroup', 'locationName' => 'OriginGroup', ], ], 'OriginGroupMember' => [ 'type' => 'structure', 'required' => [ 'OriginId', ], 'members' => [ 'OriginId' => [ 'shape' => 'string', ], ], ], 'OriginGroupMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OriginGroupMember', 'locationName' => 'OriginGroupMember', ], 'max' => 2, 'min' => 2, ], 'OriginGroupMembers' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginGroupMemberList', ], ], ], 'OriginGroups' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginGroupList', ], ], ], 'OriginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', 'locationName' => 'Origin', ], 'min' => 1, ], 'OriginProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'http-only', 'match-viewer', 'https-only', ], ], 'OriginSslProtocols' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'SslProtocolsList', ], ], ], 'Origins' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'OriginList', ], ], ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Path', ], ], 'Paths' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PathList', ], ], ], 'PreconditionFailed' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'PriceClass' => [ 'type' => 'string', 'enum' => [ 'PriceClass_100', 'PriceClass_200', 'PriceClass_All', ], ], 'PublicKey' => [ 'type' => 'structure', 'required' => [ 'Id', 'CreatedTime', 'PublicKeyConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', ], ], ], 'PublicKeyAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'Name', 'EncodedKey', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeyInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PublicKeyList' => [ 'type' => 'structure', 'required' => [ 'MaxItems', 'Quantity', ], 'members' => [ 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'PublicKeySummaryList', ], ], ], 'PublicKeySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Name', 'CreatedTime', 'EncodedKey', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'Name' => [ 'shape' => 'string', ], 'CreatedTime' => [ 'shape' => 'timestamp', ], 'EncodedKey' => [ 'shape' => 'string', ], 'Comment' => [ 'shape' => 'string', ], ], ], 'PublicKeySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicKeySummary', 'locationName' => 'PublicKeySummary', ], ], 'QueryArgProfile' => [ 'type' => 'structure', 'required' => [ 'QueryArg', 'ProfileId', ], 'members' => [ 'QueryArg' => [ 'shape' => 'string', ], 'ProfileId' => [ 'shape' => 'string', ], ], ], 'QueryArgProfileConfig' => [ 'type' => 'structure', 'required' => [ 'ForwardWhenQueryArgProfileIsUnknown', ], 'members' => [ 'ForwardWhenQueryArgProfileIsUnknown' => [ 'shape' => 'boolean', ], 'QueryArgProfiles' => [ 'shape' => 'QueryArgProfiles', ], ], ], 'QueryArgProfileEmpty' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'QueryArgProfileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryArgProfile', 'locationName' => 'QueryArgProfile', ], ], 'QueryArgProfiles' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryArgProfileList', ], ], ], 'QueryStringCacheKeys' => [ 'type' => 'structure', 'required' => [ 'Quantity', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'QueryStringCacheKeysList', ], ], ], 'QueryStringCacheKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', 'locationName' => 'Name', ], ], 'ResourceARN' => [ 'type' => 'string', 'pattern' => 'arn:aws:cloudfront::[0-9]+:.*', ], 'Restrictions' => [ 'type' => 'structure', 'required' => [ 'GeoRestriction', ], 'members' => [ 'GeoRestriction' => [ 'shape' => 'GeoRestriction', ], ], ], 'S3Origin' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'OriginAccessIdentity', ], 'members' => [ 'DomainName' => [ 'shape' => 'string', ], 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'S3OriginConfig' => [ 'type' => 'structure', 'required' => [ 'OriginAccessIdentity', ], 'members' => [ 'OriginAccessIdentity' => [ 'shape' => 'string', ], ], ], 'SSLSupportMethod' => [ 'type' => 'string', 'enum' => [ 'sni-only', 'vip', ], ], 'Signer' => [ 'type' => 'structure', 'members' => [ 'AwsAccountNumber' => [ 'shape' => 'string', ], 'KeyPairIds' => [ 'shape' => 'KeyPairIds', ], ], ], 'SignerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Signer', 'locationName' => 'Signer', ], ], 'SslProtocol' => [ 'type' => 'string', 'enum' => [ 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', ], ], 'SslProtocolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', 'locationName' => 'SslProtocol', ], ], 'StatusCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'integer', 'locationName' => 'StatusCode', ], 'min' => 1, ], 'StatusCodes' => [ 'type' => 'structure', 'required' => [ 'Quantity', 'Items', ], 'members' => [ 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StatusCodeList', ], ], ], 'StreamingDistribution' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'DomainName', 'ActiveTrustedSigners', 'StreamingDistributionConfig', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'ActiveTrustedSigners' => [ 'shape' => 'ActiveTrustedSigners', ], 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], ], ], 'StreamingDistributionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionConfig' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'S3Origin', 'Comment', 'TrustedSigners', 'Enabled', ], 'members' => [ 'CallerReference' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'Comment' => [ 'shape' => 'string', ], 'Logging' => [ 'shape' => 'StreamingLoggingConfig', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionConfigWithTags' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Tags', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'StreamingDistributionList' => [ 'type' => 'structure', 'required' => [ 'Marker', 'MaxItems', 'IsTruncated', 'Quantity', ], 'members' => [ 'Marker' => [ 'shape' => 'string', ], 'NextMarker' => [ 'shape' => 'string', ], 'MaxItems' => [ 'shape' => 'integer', ], 'IsTruncated' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'StreamingDistributionSummaryList', ], ], ], 'StreamingDistributionNotDisabled' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StreamingDistributionSummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'ARN', 'Status', 'LastModifiedTime', 'DomainName', 'S3Origin', 'Aliases', 'TrustedSigners', 'Comment', 'PriceClass', 'Enabled', ], 'members' => [ 'Id' => [ 'shape' => 'string', ], 'ARN' => [ 'shape' => 'string', ], 'Status' => [ 'shape' => 'string', ], 'LastModifiedTime' => [ 'shape' => 'timestamp', ], 'DomainName' => [ 'shape' => 'string', ], 'S3Origin' => [ 'shape' => 'S3Origin', ], 'Aliases' => [ 'shape' => 'Aliases', ], 'TrustedSigners' => [ 'shape' => 'TrustedSigners', ], 'Comment' => [ 'shape' => 'string', ], 'PriceClass' => [ 'shape' => 'PriceClass', ], 'Enabled' => [ 'shape' => 'boolean', ], ], ], 'StreamingDistributionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamingDistributionSummary', 'locationName' => 'StreamingDistributionSummary', ], ], 'StreamingLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Bucket', 'Prefix', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Bucket' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], ], 'TagKeys' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagKeyList', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'Tags', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'Tags', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'TagList', ], ], ], 'TooManyCacheBehaviors' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCertificates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCloudFrontOriginAccessIdentities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyCookieNamesInWhiteList' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyDistributionsWithLambdaAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionConfigs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionContentTypeProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionEncryptionEntities' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionFieldPatterns' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyFieldLevelEncryptionQueryArgProfiles' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyHeadersInForwardedValues' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyInvalidationsInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyLambdaFunctionAssociations' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginCustomHeaders' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOriginGroupsPerDistribution' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyOrigins' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyPublicKeys' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyQueryStringParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributionCNAMEs' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyStreamingDistributions' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrustedSigners' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSignerDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrustedSigners' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'Quantity', ], 'members' => [ 'Enabled' => [ 'shape' => 'boolean', ], 'Quantity' => [ 'shape' => 'integer', ], 'Items' => [ 'shape' => 'AwsAccountNumberList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceARN', 'location' => 'querystring', 'locationName' => 'Resource', ], 'TagKeys' => [ 'shape' => 'TagKeys', 'locationName' => 'TagKeys', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], ], 'payload' => 'TagKeys', ], 'UpdateCloudFrontOriginAccessIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'CloudFrontOriginAccessIdentityConfig', 'Id', ], 'members' => [ 'CloudFrontOriginAccessIdentityConfig' => [ 'shape' => 'CloudFrontOriginAccessIdentityConfig', 'locationName' => 'CloudFrontOriginAccessIdentityConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'CloudFrontOriginAccessIdentityConfig', ], 'UpdateCloudFrontOriginAccessIdentityResult' => [ 'type' => 'structure', 'members' => [ 'CloudFrontOriginAccessIdentity' => [ 'shape' => 'CloudFrontOriginAccessIdentity', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'CloudFrontOriginAccessIdentity', ], 'UpdateDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'DistributionConfig', 'Id', ], 'members' => [ 'DistributionConfig' => [ 'shape' => 'DistributionConfig', 'locationName' => 'DistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'DistributionConfig', ], 'UpdateDistributionResult' => [ 'type' => 'structure', 'members' => [ 'Distribution' => [ 'shape' => 'Distribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'Distribution', ], 'UpdateFieldLevelEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionConfig' => [ 'shape' => 'FieldLevelEncryptionConfig', 'locationName' => 'FieldLevelEncryptionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionConfig', ], 'UpdateFieldLevelEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryption' => [ 'shape' => 'FieldLevelEncryption', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryption', ], 'UpdateFieldLevelEncryptionProfileRequest' => [ 'type' => 'structure', 'required' => [ 'FieldLevelEncryptionProfileConfig', 'Id', ], 'members' => [ 'FieldLevelEncryptionProfileConfig' => [ 'shape' => 'FieldLevelEncryptionProfileConfig', 'locationName' => 'FieldLevelEncryptionProfileConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'FieldLevelEncryptionProfileConfig', ], 'UpdateFieldLevelEncryptionProfileResult' => [ 'type' => 'structure', 'members' => [ 'FieldLevelEncryptionProfile' => [ 'shape' => 'FieldLevelEncryptionProfile', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'FieldLevelEncryptionProfile', ], 'UpdatePublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'PublicKeyConfig', 'Id', ], 'members' => [ 'PublicKeyConfig' => [ 'shape' => 'PublicKeyConfig', 'locationName' => 'PublicKeyConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'PublicKeyConfig', ], 'UpdatePublicKeyResult' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'PublicKey', ], 'UpdateStreamingDistributionRequest' => [ 'type' => 'structure', 'required' => [ 'StreamingDistributionConfig', 'Id', ], 'members' => [ 'StreamingDistributionConfig' => [ 'shape' => 'StreamingDistributionConfig', 'locationName' => 'StreamingDistributionConfig', 'xmlNamespace' => [ 'uri' => 'http://cloudfront.amazonaws.com/doc/2018-11-05/', ], ], 'Id' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'Id', ], 'IfMatch' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'If-Match', ], ], 'payload' => 'StreamingDistributionConfig', ], 'UpdateStreamingDistributionResult' => [ 'type' => 'structure', 'members' => [ 'StreamingDistribution' => [ 'shape' => 'StreamingDistribution', ], 'ETag' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'ETag', ], ], 'payload' => 'StreamingDistribution', ], 'ViewerCertificate' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDefaultCertificate' => [ 'shape' => 'boolean', ], 'IAMCertificateId' => [ 'shape' => 'string', ], 'ACMCertificateArn' => [ 'shape' => 'string', ], 'SSLSupportMethod' => [ 'shape' => 'SSLSupportMethod', ], 'MinimumProtocolVersion' => [ 'shape' => 'MinimumProtocolVersion', ], 'Certificate' => [ 'shape' => 'string', 'deprecated' => true, ], 'CertificateSource' => [ 'shape' => 'CertificateSource', 'deprecated' => true, ], ], ], 'ViewerProtocolPolicy' => [ 'type' => 'string', 'enum' => [ 'allow-all', 'https-only', 'redirect-to-https', ], ], 'boolean' => [ 'type' => 'boolean', ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-11-05/paginators-1.json.php b/lib/aws/Aws/data/cloudfront/2018-11-05/paginators-1.json.php new file mode 100644 index 0000000..09497cb --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-11-05/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-11-05/paginators-1.json +return [ 'pagination' => [ 'ListCloudFrontOriginAccessIdentities' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'CloudFrontOriginAccessIdentityList.IsTruncated', 'output_token' => 'CloudFrontOriginAccessIdentityList.NextMarker', 'result_key' => 'CloudFrontOriginAccessIdentityList.Items', ], 'ListDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'DistributionList.IsTruncated', 'output_token' => 'DistributionList.NextMarker', 'result_key' => 'DistributionList.Items', ], 'ListInvalidations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'InvalidationList.IsTruncated', 'output_token' => 'InvalidationList.NextMarker', 'result_key' => 'InvalidationList.Items', ], 'ListStreamingDistributions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'StreamingDistributionList.IsTruncated', 'output_token' => 'StreamingDistributionList.NextMarker', 'result_key' => 'StreamingDistributionList.Items', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-11-05/smoke.json.php b/lib/aws/Aws/data/cloudfront/2018-11-05/smoke.json.php new file mode 100644 index 0000000..2061d8b --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-11-05/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-11-05/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListCloudFrontOriginAccessIdentities', 'input' => [ 'MaxItems' => '1', ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDistribution', 'input' => [ 'Id' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-1.json.php b/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-1.json.php new file mode 100644 index 0000000..a2e6b0f --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-11-05/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'success_type' => 'output', 'success_path' => 'Status', ], 'StreamingDistributionDeployed' => [ 'operation' => 'GetStreamingDistribution', 'description' => 'Wait until a streaming distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'DistributionDeployed' => [ 'operation' => 'GetDistribution', 'description' => 'Wait until a distribution is deployed.', 'interval' => 60, 'max_attempts' => 25, 'success_value' => 'Deployed', ], 'InvalidationCompleted' => [ 'operation' => 'GetInvalidation', 'description' => 'Wait until an invalidation has completed.', 'interval' => 20, 'max_attempts' => 30, 'success_value' => 'Completed', ], ],]; diff --git a/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-2.json.php b/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-2.json.php new file mode 100644 index 0000000..1454658 --- /dev/null +++ b/lib/aws/Aws/data/cloudfront/2018-11-05/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudfront/2018-11-05/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Distribution.Status', ], ], ], 'InvalidationCompleted' => [ 'delay' => 20, 'operation' => 'GetInvalidation', 'maxAttempts' => 30, 'description' => 'Wait until an invalidation has completed.', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Invalidation.Status', ], ], ], 'StreamingDistributionDeployed' => [ 'delay' => 60, 'operation' => 'GetStreamingDistribution', 'maxAttempts' => 25, 'description' => 'Wait until a streaming distribution is deployed.', 'acceptors' => [ [ 'expected' => 'Deployed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamingDistribution.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudhsm/2014-05-30/api-2.json.php b/lib/aws/Aws/data/cloudhsm/2014-05-30/api-2.json.php new file mode 100644 index 0000000..d02e4d8 --- /dev/null +++ b/lib/aws/Aws/data/cloudhsm/2014-05-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudhsm/2014-05-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-05-30', 'endpointPrefix' => 'cloudhsm', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CloudHSM', 'serviceFullName' => 'Amazon CloudHSM', 'serviceId' => 'CloudHSM', 'signatureVersion' => 'v4', 'targetPrefix' => 'CloudHsmFrontendService', 'uid' => 'cloudhsm-2014-05-30', ], 'operations' => [ 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceRequest', ], 'output' => [ 'shape' => 'AddTagsToResourceResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateHapg' => [ 'name' => 'CreateHapg', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHapgRequest', ], 'output' => [ 'shape' => 'CreateHapgResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateHsm' => [ 'name' => 'CreateHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHsmRequest', ], 'output' => [ 'shape' => 'CreateHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateLunaClient' => [ 'name' => 'CreateLunaClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLunaClientRequest', ], 'output' => [ 'shape' => 'CreateLunaClientResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteHapg' => [ 'name' => 'DeleteHapg', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHapgRequest', ], 'output' => [ 'shape' => 'DeleteHapgResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteHsm' => [ 'name' => 'DeleteHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHsmRequest', ], 'output' => [ 'shape' => 'DeleteHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteLunaClient' => [ 'name' => 'DeleteLunaClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLunaClientRequest', ], 'output' => [ 'shape' => 'DeleteLunaClientResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeHapg' => [ 'name' => 'DescribeHapg', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHapgRequest', ], 'output' => [ 'shape' => 'DescribeHapgResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeHsm' => [ 'name' => 'DescribeHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHsmRequest', ], 'output' => [ 'shape' => 'DescribeHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeLunaClient' => [ 'name' => 'DescribeLunaClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLunaClientRequest', ], 'output' => [ 'shape' => 'DescribeLunaClientResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetConfig' => [ 'name' => 'GetConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConfigRequest', ], 'output' => [ 'shape' => 'GetConfigResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListAvailableZones' => [ 'name' => 'ListAvailableZones', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAvailableZonesRequest', ], 'output' => [ 'shape' => 'ListAvailableZonesResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListHapgs' => [ 'name' => 'ListHapgs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHapgsRequest', ], 'output' => [ 'shape' => 'ListHapgsResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListHsms' => [ 'name' => 'ListHsms', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHsmsRequest', ], 'output' => [ 'shape' => 'ListHsmsResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListLunaClients' => [ 'name' => 'ListLunaClients', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLunaClientsRequest', ], 'output' => [ 'shape' => 'ListLunaClientsResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ModifyHapg' => [ 'name' => 'ModifyHapg', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHapgRequest', ], 'output' => [ 'shape' => 'ModifyHapgResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ModifyHsm' => [ 'name' => 'ModifyHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHsmRequest', ], 'output' => [ 'shape' => 'ModifyHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ModifyLunaClient' => [ 'name' => 'ModifyLunaClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyLunaClientRequest', ], 'output' => [ 'shape' => 'ModifyLunaClientResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceRequest', ], 'output' => [ 'shape' => 'RemoveTagsFromResourceResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInternalException', ], [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'AZ' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9\\-]*', ], 'AZList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AZ', ], ], 'AddTagsToResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagList', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'AddTagsToResourceResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'String', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'Certificate' => [ 'type' => 'string', 'max' => 2400, 'min' => 600, 'pattern' => '[\\w :+=./\\n-]*', ], 'CertificateFingerprint' => [ 'type' => 'string', 'pattern' => '([0-9a-fA-F][0-9a-fA-F]:){15}[0-9a-fA-F][0-9a-fA-F]', ], 'ClientArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:client-[0-9a-f]{8}', ], 'ClientLabel' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9_.-]{2,64}', ], 'ClientList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientArn', ], ], 'ClientToken' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9]{1,64}', ], 'ClientVersion' => [ 'type' => 'string', 'enum' => [ '5.1', '5.3', ], ], 'CloudHsmInternalException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'CloudHsmObjectState' => [ 'type' => 'string', 'enum' => [ 'READY', 'UPDATING', 'DEGRADED', ], ], 'CloudHsmServiceException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], 'retryable' => [ 'shape' => 'Boolean', ], ], 'exception' => true, ], 'CreateHapgRequest' => [ 'type' => 'structure', 'required' => [ 'Label', ], 'members' => [ 'Label' => [ 'shape' => 'Label', ], ], ], 'CreateHapgResponse' => [ 'type' => 'structure', 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], ], ], 'CreateHsmRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'SshKey', 'IamRoleArn', 'SubscriptionType', ], 'members' => [ 'SubnetId' => [ 'shape' => 'SubnetId', 'locationName' => 'SubnetId', ], 'SshKey' => [ 'shape' => 'SshKey', 'locationName' => 'SshKey', ], 'EniIp' => [ 'shape' => 'IpAddress', 'locationName' => 'EniIp', ], 'IamRoleArn' => [ 'shape' => 'IamRoleArn', 'locationName' => 'IamRoleArn', ], 'ExternalId' => [ 'shape' => 'ExternalId', 'locationName' => 'ExternalId', ], 'SubscriptionType' => [ 'shape' => 'SubscriptionType', 'locationName' => 'SubscriptionType', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'locationName' => 'ClientToken', ], 'SyslogIp' => [ 'shape' => 'IpAddress', 'locationName' => 'SyslogIp', ], ], 'locationName' => 'CreateHsmRequest', ], 'CreateHsmResponse' => [ 'type' => 'structure', 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', ], ], ], 'CreateLunaClientRequest' => [ 'type' => 'structure', 'required' => [ 'Certificate', ], 'members' => [ 'Label' => [ 'shape' => 'ClientLabel', ], 'Certificate' => [ 'shape' => 'Certificate', ], ], ], 'CreateLunaClientResponse' => [ 'type' => 'structure', 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], ], ], 'DeleteHapgRequest' => [ 'type' => 'structure', 'required' => [ 'HapgArn', ], 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], ], ], 'DeleteHapgResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'String', ], ], ], 'DeleteHsmRequest' => [ 'type' => 'structure', 'required' => [ 'HsmArn', ], 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', 'locationName' => 'HsmArn', ], ], 'locationName' => 'DeleteHsmRequest', ], 'DeleteHsmResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'String', ], ], ], 'DeleteLunaClientRequest' => [ 'type' => 'structure', 'required' => [ 'ClientArn', ], 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], ], ], 'DeleteLunaClientResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'String', ], ], ], 'DescribeHapgRequest' => [ 'type' => 'structure', 'required' => [ 'HapgArn', ], 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], ], ], 'DescribeHapgResponse' => [ 'type' => 'structure', 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], 'HapgSerial' => [ 'shape' => 'String', ], 'HsmsLastActionFailed' => [ 'shape' => 'HsmList', ], 'HsmsPendingDeletion' => [ 'shape' => 'HsmList', ], 'HsmsPendingRegistration' => [ 'shape' => 'HsmList', ], 'Label' => [ 'shape' => 'Label', ], 'LastModifiedTimestamp' => [ 'shape' => 'Timestamp', ], 'PartitionSerialList' => [ 'shape' => 'PartitionSerialList', ], 'State' => [ 'shape' => 'CloudHsmObjectState', ], ], ], 'DescribeHsmRequest' => [ 'type' => 'structure', 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', ], 'HsmSerialNumber' => [ 'shape' => 'HsmSerialNumber', ], ], ], 'DescribeHsmResponse' => [ 'type' => 'structure', 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', ], 'Status' => [ 'shape' => 'HsmStatus', ], 'StatusDetails' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'AZ', ], 'EniId' => [ 'shape' => 'EniId', ], 'EniIp' => [ 'shape' => 'IpAddress', ], 'SubscriptionType' => [ 'shape' => 'SubscriptionType', ], 'SubscriptionStartDate' => [ 'shape' => 'Timestamp', ], 'SubscriptionEndDate' => [ 'shape' => 'Timestamp', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'IamRoleArn' => [ 'shape' => 'IamRoleArn', ], 'SerialNumber' => [ 'shape' => 'HsmSerialNumber', ], 'VendorName' => [ 'shape' => 'String', ], 'HsmType' => [ 'shape' => 'String', ], 'SoftwareVersion' => [ 'shape' => 'String', ], 'SshPublicKey' => [ 'shape' => 'SshKey', ], 'SshKeyLastUpdated' => [ 'shape' => 'Timestamp', ], 'ServerCertUri' => [ 'shape' => 'String', ], 'ServerCertLastUpdated' => [ 'shape' => 'Timestamp', ], 'Partitions' => [ 'shape' => 'PartitionList', ], ], ], 'DescribeLunaClientRequest' => [ 'type' => 'structure', 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], 'CertificateFingerprint' => [ 'shape' => 'CertificateFingerprint', ], ], ], 'DescribeLunaClientResponse' => [ 'type' => 'structure', 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], 'Certificate' => [ 'shape' => 'Certificate', ], 'CertificateFingerprint' => [ 'shape' => 'CertificateFingerprint', ], 'LastModifiedTimestamp' => [ 'shape' => 'Timestamp', ], 'Label' => [ 'shape' => 'Label', ], ], ], 'EniId' => [ 'type' => 'string', 'pattern' => 'eni-[0-9a-f]{8}', ], 'ExternalId' => [ 'type' => 'string', 'pattern' => '[\\w :+=./-]*', ], 'GetConfigRequest' => [ 'type' => 'structure', 'required' => [ 'ClientArn', 'ClientVersion', 'HapgList', ], 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], 'ClientVersion' => [ 'shape' => 'ClientVersion', ], 'HapgList' => [ 'shape' => 'HapgList', ], ], ], 'GetConfigResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigType' => [ 'shape' => 'String', ], 'ConfigFile' => [ 'shape' => 'String', ], 'ConfigCred' => [ 'shape' => 'String', ], ], ], 'HapgArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hapg-[0-9a-f]{8}', ], 'HapgList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HapgArn', ], ], 'HsmArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}', ], 'HsmList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HsmArn', ], ], 'HsmSerialNumber' => [ 'type' => 'string', 'pattern' => '\\d{1,16}', ], 'HsmStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'RUNNING', 'UPDATING', 'SUSPENDED', 'TERMINATING', 'TERMINATED', 'DEGRADED', ], ], 'IamRoleArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-iso)?:iam::[0-9]{12}:role/[a-zA-Z0-9_\\+=,\\.\\-@]{1,64}', ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', 'pattern' => '\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}', ], 'Label' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9_.-]{1,64}', ], 'ListAvailableZonesRequest' => [ 'type' => 'structure', 'members' => [], ], 'ListAvailableZonesResponse' => [ 'type' => 'structure', 'members' => [ 'AZList' => [ 'shape' => 'AZList', ], ], ], 'ListHapgsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListHapgsResponse' => [ 'type' => 'structure', 'required' => [ 'HapgList', ], 'members' => [ 'HapgList' => [ 'shape' => 'HapgList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListHsmsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListHsmsResponse' => [ 'type' => 'structure', 'members' => [ 'HsmList' => [ 'shape' => 'HsmList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListLunaClientsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListLunaClientsResponse' => [ 'type' => 'structure', 'required' => [ 'ClientList', ], 'members' => [ 'ClientList' => [ 'shape' => 'ClientList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'required' => [ 'TagList', ], 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'ModifyHapgRequest' => [ 'type' => 'structure', 'required' => [ 'HapgArn', ], 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], 'Label' => [ 'shape' => 'Label', ], 'PartitionSerialList' => [ 'shape' => 'PartitionSerialList', ], ], ], 'ModifyHapgResponse' => [ 'type' => 'structure', 'members' => [ 'HapgArn' => [ 'shape' => 'HapgArn', ], ], ], 'ModifyHsmRequest' => [ 'type' => 'structure', 'required' => [ 'HsmArn', ], 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', 'locationName' => 'HsmArn', ], 'SubnetId' => [ 'shape' => 'SubnetId', 'locationName' => 'SubnetId', ], 'EniIp' => [ 'shape' => 'IpAddress', 'locationName' => 'EniIp', ], 'IamRoleArn' => [ 'shape' => 'IamRoleArn', 'locationName' => 'IamRoleArn', ], 'ExternalId' => [ 'shape' => 'ExternalId', 'locationName' => 'ExternalId', ], 'SyslogIp' => [ 'shape' => 'IpAddress', 'locationName' => 'SyslogIp', ], ], 'locationName' => 'ModifyHsmRequest', ], 'ModifyHsmResponse' => [ 'type' => 'structure', 'members' => [ 'HsmArn' => [ 'shape' => 'HsmArn', ], ], ], 'ModifyLunaClientRequest' => [ 'type' => 'structure', 'required' => [ 'ClientArn', 'Certificate', ], 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], 'Certificate' => [ 'shape' => 'Certificate', ], ], ], 'ModifyLunaClientResponse' => [ 'type' => 'structure', 'members' => [ 'ClientArn' => [ 'shape' => 'ClientArn', ], ], ], 'PaginationToken' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9+/]*', ], 'PartitionArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}/partition-[0-9]{6,12}', ], 'PartitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionArn', ], ], 'PartitionSerial' => [ 'type' => 'string', 'pattern' => '\\d{6,12}', ], 'PartitionSerialList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionSerial', ], ], 'RemoveTagsFromResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeyList', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'TagKeyList' => [ 'shape' => 'TagKeyList', ], ], ], 'RemoveTagsFromResourceResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'String', ], ], ], 'SshKey' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9+/= ._:\\\\@-]*', ], 'String' => [ 'type' => 'string', 'pattern' => '[\\w :+=./\\\\-]*', ], 'SubnetId' => [ 'type' => 'string', 'pattern' => 'subnet-[0-9a-f]{8}', ], 'SubscriptionType' => [ 'type' => 'string', 'enum' => [ 'PRODUCTION', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Timestamp' => [ 'type' => 'string', 'pattern' => '\\d*', ], 'VpcId' => [ 'type' => 'string', 'pattern' => 'vpc-[0-9a-f]{8}', ], ],]; diff --git a/lib/aws/Aws/data/cloudhsm/2014-05-30/paginators-1.json.php b/lib/aws/Aws/data/cloudhsm/2014-05-30/paginators-1.json.php new file mode 100644 index 0000000..dd3a16c --- /dev/null +++ b/lib/aws/Aws/data/cloudhsm/2014-05-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudhsm/2014-05-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/cloudhsmv2/2017-04-28/api-2.json.php b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/api-2.json.php new file mode 100644 index 0000000..e522732 --- /dev/null +++ b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudhsmv2/2017-04-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-04-28', 'endpointPrefix' => 'cloudhsmv2', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CloudHSM V2', 'serviceFullName' => 'AWS CloudHSM V2', 'serviceId' => 'CloudHSM V2', 'signatureVersion' => 'v4', 'signingName' => 'cloudhsm', 'targetPrefix' => 'BaldrApiService', 'uid' => 'cloudhsmv2-2017-04-28', ], 'operations' => [ 'CopyBackupToRegion' => [ 'name' => 'CopyBackupToRegion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyBackupToRegionRequest', ], 'output' => [ 'shape' => 'CopyBackupToRegionResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'CreateHsm' => [ 'name' => 'CreateHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHsmRequest', ], 'output' => [ 'shape' => 'CreateHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'DeleteBackup' => [ 'name' => 'DeleteBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBackupRequest', ], 'output' => [ 'shape' => 'DeleteBackupResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterRequest', ], 'output' => [ 'shape' => 'DeleteClusterResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'DeleteHsm' => [ 'name' => 'DeleteHsm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHsmRequest', ], 'output' => [ 'shape' => 'DeleteHsmResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'DescribeBackups' => [ 'name' => 'DescribeBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBackupsRequest', ], 'output' => [ 'shape' => 'DescribeBackupsResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'DescribeClusters' => [ 'name' => 'DescribeClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClustersRequest', ], 'output' => [ 'shape' => 'DescribeClustersResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'InitializeCluster' => [ 'name' => 'InitializeCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InitializeClusterRequest', ], 'output' => [ 'shape' => 'InitializeClusterResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'RestoreBackup' => [ 'name' => 'RestoreBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreBackupRequest', ], 'output' => [ 'shape' => 'RestoreBackupResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmInternalFailureException', ], [ 'shape' => 'CloudHsmServiceException', ], [ 'shape' => 'CloudHsmResourceNotFoundException', ], [ 'shape' => 'CloudHsmInvalidRequestException', ], [ 'shape' => 'CloudHsmAccessDeniedException', ], ], ], ], 'shapes' => [ 'Backup' => [ 'type' => 'structure', 'required' => [ 'BackupId', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'BackupState' => [ 'shape' => 'BackupState', ], 'ClusterId' => [ 'shape' => 'ClusterId', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'CopyTimestamp' => [ 'shape' => 'Timestamp', ], 'SourceRegion' => [ 'shape' => 'Region', ], 'SourceBackup' => [ 'shape' => 'BackupId', ], 'SourceCluster' => [ 'shape' => 'ClusterId', ], 'DeleteTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'BackupId' => [ 'type' => 'string', 'pattern' => 'backup-[2-7a-zA-Z]{11,16}', ], 'BackupPolicy' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', ], ], 'BackupState' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'READY', 'DELETED', 'PENDING_DELETION', ], ], 'Backups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Backup', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'Cert' => [ 'type' => 'string', 'max' => 5000, 'pattern' => '[a-zA-Z0-9+-/=\\s]*', ], 'Certificates' => [ 'type' => 'structure', 'members' => [ 'ClusterCsr' => [ 'shape' => 'Cert', ], 'HsmCertificate' => [ 'shape' => 'Cert', ], 'AwsHardwareCertificate' => [ 'shape' => 'Cert', ], 'ManufacturerHardwareCertificate' => [ 'shape' => 'Cert', ], 'ClusterCertificate' => [ 'shape' => 'Cert', ], ], ], 'CloudHsmAccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'CloudHsmInternalFailureException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'CloudHsmInvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'CloudHsmResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'CloudHsmServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'BackupPolicy' => [ 'shape' => 'BackupPolicy', ], 'ClusterId' => [ 'shape' => 'ClusterId', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'Hsms' => [ 'shape' => 'Hsms', ], 'HsmType' => [ 'shape' => 'HsmType', ], 'PreCoPassword' => [ 'shape' => 'PreCoPassword', ], 'SecurityGroup' => [ 'shape' => 'SecurityGroup', ], 'SourceBackupId' => [ 'shape' => 'BackupId', ], 'State' => [ 'shape' => 'ClusterState', ], 'StateMessage' => [ 'shape' => 'StateMessage', ], 'SubnetMapping' => [ 'shape' => 'ExternalSubnetMapping', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'Certificates' => [ 'shape' => 'Certificates', ], ], ], 'ClusterId' => [ 'type' => 'string', 'pattern' => 'cluster-[2-7a-zA-Z]{11,16}', ], 'ClusterState' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'UNINITIALIZED', 'INITIALIZE_IN_PROGRESS', 'INITIALIZED', 'ACTIVE', 'UPDATE_IN_PROGRESS', 'DELETE_IN_PROGRESS', 'DELETED', 'DEGRADED', ], ], 'Clusters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cluster', ], ], 'CopyBackupToRegionRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationRegion', 'BackupId', ], 'members' => [ 'DestinationRegion' => [ 'shape' => 'Region', ], 'BackupId' => [ 'shape' => 'BackupId', ], ], ], 'CopyBackupToRegionResponse' => [ 'type' => 'structure', 'members' => [ 'DestinationBackup' => [ 'shape' => 'DestinationBackup', ], ], ], 'CreateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetIds', 'HsmType', ], 'members' => [ 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'HsmType' => [ 'shape' => 'HsmType', ], 'SourceBackupId' => [ 'shape' => 'BackupId', ], ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'CreateHsmRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'AvailabilityZone', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'AvailabilityZone' => [ 'shape' => 'ExternalAz', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], ], ], 'CreateHsmResponse' => [ 'type' => 'structure', 'members' => [ 'Hsm' => [ 'shape' => 'Hsm', ], ], ], 'DeleteBackupRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], ], ], 'DeleteBackupResponse' => [ 'type' => 'structure', 'members' => [ 'Backup' => [ 'shape' => 'Backup', ], ], ], 'DeleteClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], ], ], 'DeleteClusterResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteHsmRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'HsmId' => [ 'shape' => 'HsmId', ], 'EniId' => [ 'shape' => 'EniId', ], 'EniIp' => [ 'shape' => 'IpAddress', ], ], ], 'DeleteHsmResponse' => [ 'type' => 'structure', 'members' => [ 'HsmId' => [ 'shape' => 'HsmId', ], ], ], 'DescribeBackupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxSize', ], 'Filters' => [ 'shape' => 'Filters', ], 'SortAscending' => [ 'shape' => 'Boolean', ], ], ], 'DescribeBackupsResponse' => [ 'type' => 'structure', 'members' => [ 'Backups' => [ 'shape' => 'Backups', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeClustersRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'Filters', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxSize', ], ], ], 'DescribeClustersResponse' => [ 'type' => 'structure', 'members' => [ 'Clusters' => [ 'shape' => 'Clusters', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DestinationBackup' => [ 'type' => 'structure', 'members' => [ 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'SourceRegion' => [ 'shape' => 'Region', ], 'SourceBackup' => [ 'shape' => 'BackupId', ], 'SourceCluster' => [ 'shape' => 'ClusterId', ], ], ], 'EniId' => [ 'type' => 'string', 'pattern' => 'eni-[0-9a-fA-F]{8,17}', ], 'ExternalAz' => [ 'type' => 'string', 'pattern' => '[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d[a-z]', ], 'ExternalSubnetMapping' => [ 'type' => 'map', 'key' => [ 'shape' => 'ExternalAz', ], 'value' => [ 'shape' => 'SubnetId', ], ], 'Field' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9_-]+', ], 'Filters' => [ 'type' => 'map', 'key' => [ 'shape' => 'Field', ], 'value' => [ 'shape' => 'Strings', ], ], 'Hsm' => [ 'type' => 'structure', 'required' => [ 'HsmId', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'ExternalAz', ], 'ClusterId' => [ 'shape' => 'ClusterId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'EniId' => [ 'shape' => 'EniId', ], 'EniIp' => [ 'shape' => 'IpAddress', ], 'HsmId' => [ 'shape' => 'HsmId', ], 'State' => [ 'shape' => 'HsmState', ], 'StateMessage' => [ 'shape' => 'String', ], ], ], 'HsmId' => [ 'type' => 'string', 'pattern' => 'hsm-[2-7a-zA-Z]{11,16}', ], 'HsmState' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'ACTIVE', 'DEGRADED', 'DELETE_IN_PROGRESS', 'DELETED', ], ], 'HsmType' => [ 'type' => 'string', 'pattern' => '(hsm1\\.medium)', ], 'Hsms' => [ 'type' => 'list', 'member' => [ 'shape' => 'Hsm', ], ], 'InitializeClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'SignedCert', 'TrustAnchor', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'SignedCert' => [ 'shape' => 'Cert', ], 'TrustAnchor' => [ 'shape' => 'Cert', ], ], ], 'InitializeClusterResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ClusterState', ], 'StateMessage' => [ 'shape' => 'StateMessage', ], ], ], 'IpAddress' => [ 'type' => 'string', 'pattern' => '\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}', ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ClusterId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxSize', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'required' => [ 'TagList', ], 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxSize' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'max' => 256, 'pattern' => '.*', ], 'PreCoPassword' => [ 'type' => 'string', 'max' => 32, 'min' => 7, ], 'Region' => [ 'type' => 'string', 'pattern' => '[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d', ], 'RestoreBackupRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], ], ], 'RestoreBackupResponse' => [ 'type' => 'structure', 'members' => [ 'Backup' => [ 'shape' => 'Backup', ], ], ], 'SecurityGroup' => [ 'type' => 'string', 'pattern' => 'sg-[0-9a-fA-F]', ], 'StateMessage' => [ 'type' => 'string', 'max' => 300, 'pattern' => '.*', ], 'String' => [ 'type' => 'string', ], 'Strings' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubnetId' => [ 'type' => 'string', 'pattern' => 'subnet-[0-9a-fA-F]{8,17}', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], 'max' => 10, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagList', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ClusterId', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagKeyList', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ClusterId', ], 'TagKeyList' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'VpcId' => [ 'type' => 'string', 'pattern' => 'vpc-[0-9a-fA-F]', ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/cloudhsmv2/2017-04-28/paginators-1.json.php b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/paginators-1.json.php new file mode 100644 index 0000000..1edbc96 --- /dev/null +++ b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudhsmv2/2017-04-28/paginators-1.json +return [ 'pagination' => [ 'DescribeBackups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'DescribeClusters' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/cloudhsmv2/2017-04-28/smoke.json.php b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/smoke.json.php new file mode 100644 index 0000000..a09fbf9 --- /dev/null +++ b/lib/aws/Aws/data/cloudhsmv2/2017-04-28/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudhsmv2/2017-04-28/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeClusters', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ListTags', 'input' => [ 'ResourceId' => 'bogus-arn', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/cloudsearch/2013-01-01/api-2.json.php b/lib/aws/Aws/data/cloudsearch/2013-01-01/api-2.json.php new file mode 100644 index 0000000..c5b3a58 --- /dev/null +++ b/lib/aws/Aws/data/cloudsearch/2013-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudsearch/2013-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-01-01', 'endpointPrefix' => 'cloudsearch', 'serviceFullName' => 'Amazon CloudSearch', 'signatureVersion' => 'v4', 'xmlNamespace' => 'http://cloudsearch.amazonaws.com/doc/2013-01-01/', 'protocol' => 'query', 'uid' => 'cloudsearch-2013-01-01', ], 'operations' => [ 'BuildSuggesters' => [ 'name' => 'BuildSuggesters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BuildSuggestersRequest', ], 'output' => [ 'shape' => 'BuildSuggestersResponse', 'resultWrapper' => 'BuildSuggestersResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'CreateDomain' => [ 'name' => 'CreateDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDomainRequest', ], 'output' => [ 'shape' => 'CreateDomainResponse', 'resultWrapper' => 'CreateDomainResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DefineAnalysisScheme' => [ 'name' => 'DefineAnalysisScheme', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DefineAnalysisSchemeRequest', ], 'output' => [ 'shape' => 'DefineAnalysisSchemeResponse', 'resultWrapper' => 'DefineAnalysisSchemeResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DefineExpression' => [ 'name' => 'DefineExpression', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DefineExpressionRequest', ], 'output' => [ 'shape' => 'DefineExpressionResponse', 'resultWrapper' => 'DefineExpressionResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DefineIndexField' => [ 'name' => 'DefineIndexField', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DefineIndexFieldRequest', ], 'output' => [ 'shape' => 'DefineIndexFieldResponse', 'resultWrapper' => 'DefineIndexFieldResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DefineSuggester' => [ 'name' => 'DefineSuggester', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DefineSuggesterRequest', ], 'output' => [ 'shape' => 'DefineSuggesterResponse', 'resultWrapper' => 'DefineSuggesterResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DeleteAnalysisScheme' => [ 'name' => 'DeleteAnalysisScheme', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAnalysisSchemeRequest', ], 'output' => [ 'shape' => 'DeleteAnalysisSchemeResponse', 'resultWrapper' => 'DeleteAnalysisSchemeResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DeleteDomain' => [ 'name' => 'DeleteDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDomainRequest', ], 'output' => [ 'shape' => 'DeleteDomainResponse', 'resultWrapper' => 'DeleteDomainResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], ], ], 'DeleteExpression' => [ 'name' => 'DeleteExpression', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteExpressionRequest', ], 'output' => [ 'shape' => 'DeleteExpressionResponse', 'resultWrapper' => 'DeleteExpressionResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DeleteIndexField' => [ 'name' => 'DeleteIndexField', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIndexFieldRequest', ], 'output' => [ 'shape' => 'DeleteIndexFieldResponse', 'resultWrapper' => 'DeleteIndexFieldResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DeleteSuggester' => [ 'name' => 'DeleteSuggester', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSuggesterRequest', ], 'output' => [ 'shape' => 'DeleteSuggesterResponse', 'resultWrapper' => 'DeleteSuggesterResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeAnalysisSchemes' => [ 'name' => 'DescribeAnalysisSchemes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAnalysisSchemesRequest', ], 'output' => [ 'shape' => 'DescribeAnalysisSchemesResponse', 'resultWrapper' => 'DescribeAnalysisSchemesResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeAvailabilityOptions' => [ 'name' => 'DescribeAvailabilityOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailabilityOptionsRequest', ], 'output' => [ 'shape' => 'DescribeAvailabilityOptionsResponse', 'resultWrapper' => 'DescribeAvailabilityOptionsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'DisabledOperationException', 'error' => [ 'code' => 'DisabledAction', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeDomains' => [ 'name' => 'DescribeDomains', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDomainsRequest', ], 'output' => [ 'shape' => 'DescribeDomainsResponse', 'resultWrapper' => 'DescribeDomainsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], ], ], 'DescribeExpressions' => [ 'name' => 'DescribeExpressions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExpressionsRequest', ], 'output' => [ 'shape' => 'DescribeExpressionsResponse', 'resultWrapper' => 'DescribeExpressionsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeIndexFields' => [ 'name' => 'DescribeIndexFields', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIndexFieldsRequest', ], 'output' => [ 'shape' => 'DescribeIndexFieldsResponse', 'resultWrapper' => 'DescribeIndexFieldsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeScalingParameters' => [ 'name' => 'DescribeScalingParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingParametersRequest', ], 'output' => [ 'shape' => 'DescribeScalingParametersResponse', 'resultWrapper' => 'DescribeScalingParametersResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeServiceAccessPolicies' => [ 'name' => 'DescribeServiceAccessPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServiceAccessPoliciesRequest', ], 'output' => [ 'shape' => 'DescribeServiceAccessPoliciesResponse', 'resultWrapper' => 'DescribeServiceAccessPoliciesResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeSuggesters' => [ 'name' => 'DescribeSuggesters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSuggestersRequest', ], 'output' => [ 'shape' => 'DescribeSuggestersResponse', 'resultWrapper' => 'DescribeSuggestersResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'IndexDocuments' => [ 'name' => 'IndexDocuments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IndexDocumentsRequest', ], 'output' => [ 'shape' => 'IndexDocumentsResponse', 'resultWrapper' => 'IndexDocumentsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'ListDomainNames' => [ 'name' => 'ListDomainNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ListDomainNamesResponse', 'resultWrapper' => 'ListDomainNamesResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], ], ], 'UpdateAvailabilityOptions' => [ 'name' => 'UpdateAvailabilityOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAvailabilityOptionsRequest', ], 'output' => [ 'shape' => 'UpdateAvailabilityOptionsResponse', 'resultWrapper' => 'UpdateAvailabilityOptionsResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'DisabledOperationException', 'error' => [ 'code' => 'DisabledAction', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'UpdateScalingParameters' => [ 'name' => 'UpdateScalingParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateScalingParametersRequest', ], 'output' => [ 'shape' => 'UpdateScalingParametersResponse', 'resultWrapper' => 'UpdateScalingParametersResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'UpdateServiceAccessPolicies' => [ 'name' => 'UpdateServiceAccessPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceAccessPoliciesRequest', ], 'output' => [ 'shape' => 'UpdateServiceAccessPoliciesResponse', 'resultWrapper' => 'UpdateServiceAccessPoliciesResult', ], 'errors' => [ [ 'shape' => 'BaseException', 'exception' => true, ], [ 'shape' => 'InternalException', 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidTypeException', 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], ], 'shapes' => [ 'APIVersion' => [ 'type' => 'string', ], 'ARN' => [ 'type' => 'string', ], 'AccessPoliciesStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'PolicyDocument', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'AlgorithmicStemming' => [ 'type' => 'string', 'enum' => [ 'none', 'minimal', 'light', 'full', ], ], 'AnalysisOptions' => [ 'type' => 'structure', 'members' => [ 'Synonyms' => [ 'shape' => 'String', ], 'Stopwords' => [ 'shape' => 'String', ], 'StemmingDictionary' => [ 'shape' => 'String', ], 'JapaneseTokenizationDictionary' => [ 'shape' => 'String', ], 'AlgorithmicStemming' => [ 'shape' => 'AlgorithmicStemming', ], ], ], 'AnalysisScheme' => [ 'type' => 'structure', 'required' => [ 'AnalysisSchemeName', 'AnalysisSchemeLanguage', ], 'members' => [ 'AnalysisSchemeName' => [ 'shape' => 'StandardName', ], 'AnalysisSchemeLanguage' => [ 'shape' => 'AnalysisSchemeLanguage', ], 'AnalysisOptions' => [ 'shape' => 'AnalysisOptions', ], ], ], 'AnalysisSchemeLanguage' => [ 'type' => 'string', 'enum' => [ 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'eu', 'fa', 'fi', 'fr', 'ga', 'gl', 'he', 'hi', 'hu', 'hy', 'id', 'it', 'ja', 'ko', 'lv', 'mul', 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'th', 'tr', 'zh-Hans', 'zh-Hant', ], ], 'AnalysisSchemeStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'AnalysisScheme', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'AnalysisSchemeStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AnalysisSchemeStatus', ], ], 'AvailabilityOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'MultiAZ', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'BaseException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BuildSuggestersRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'BuildSuggestersResponse' => [ 'type' => 'structure', 'members' => [ 'FieldNames' => [ 'shape' => 'FieldNameList', ], ], ], 'CreateDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'CreateDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainStatus' => [ 'shape' => 'DomainStatus', ], ], ], 'DateArrayOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceFields' => [ 'shape' => 'FieldNameCommaList', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], ], ], 'DateOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], ], ], 'DefineAnalysisSchemeRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'AnalysisScheme', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AnalysisScheme' => [ 'shape' => 'AnalysisScheme', ], ], ], 'DefineAnalysisSchemeResponse' => [ 'type' => 'structure', 'required' => [ 'AnalysisScheme', ], 'members' => [ 'AnalysisScheme' => [ 'shape' => 'AnalysisSchemeStatus', ], ], ], 'DefineExpressionRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'Expression', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Expression' => [ 'shape' => 'Expression', ], ], ], 'DefineExpressionResponse' => [ 'type' => 'structure', 'required' => [ 'Expression', ], 'members' => [ 'Expression' => [ 'shape' => 'ExpressionStatus', ], ], ], 'DefineIndexFieldRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'IndexField', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'IndexField' => [ 'shape' => 'IndexField', ], ], ], 'DefineIndexFieldResponse' => [ 'type' => 'structure', 'required' => [ 'IndexField', ], 'members' => [ 'IndexField' => [ 'shape' => 'IndexFieldStatus', ], ], ], 'DefineSuggesterRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'Suggester', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Suggester' => [ 'shape' => 'Suggester', ], ], ], 'DefineSuggesterResponse' => [ 'type' => 'structure', 'required' => [ 'Suggester', ], 'members' => [ 'Suggester' => [ 'shape' => 'SuggesterStatus', ], ], ], 'DeleteAnalysisSchemeRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'AnalysisSchemeName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AnalysisSchemeName' => [ 'shape' => 'StandardName', ], ], ], 'DeleteAnalysisSchemeResponse' => [ 'type' => 'structure', 'required' => [ 'AnalysisScheme', ], 'members' => [ 'AnalysisScheme' => [ 'shape' => 'AnalysisSchemeStatus', ], ], ], 'DeleteDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'DeleteDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainStatus' => [ 'shape' => 'DomainStatus', ], ], ], 'DeleteExpressionRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'ExpressionName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'ExpressionName' => [ 'shape' => 'StandardName', ], ], ], 'DeleteExpressionResponse' => [ 'type' => 'structure', 'required' => [ 'Expression', ], 'members' => [ 'Expression' => [ 'shape' => 'ExpressionStatus', ], ], ], 'DeleteIndexFieldRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'IndexFieldName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'IndexFieldName' => [ 'shape' => 'DynamicFieldName', ], ], ], 'DeleteIndexFieldResponse' => [ 'type' => 'structure', 'required' => [ 'IndexField', ], 'members' => [ 'IndexField' => [ 'shape' => 'IndexFieldStatus', ], ], ], 'DeleteSuggesterRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'SuggesterName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'SuggesterName' => [ 'shape' => 'StandardName', ], ], ], 'DeleteSuggesterResponse' => [ 'type' => 'structure', 'required' => [ 'Suggester', ], 'members' => [ 'Suggester' => [ 'shape' => 'SuggesterStatus', ], ], ], 'DescribeAnalysisSchemesRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AnalysisSchemeNames' => [ 'shape' => 'StandardNameList', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeAnalysisSchemesResponse' => [ 'type' => 'structure', 'required' => [ 'AnalysisSchemes', ], 'members' => [ 'AnalysisSchemes' => [ 'shape' => 'AnalysisSchemeStatusList', ], ], ], 'DescribeAvailabilityOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeAvailabilityOptionsResponse' => [ 'type' => 'structure', 'members' => [ 'AvailabilityOptions' => [ 'shape' => 'AvailabilityOptionsStatus', ], ], ], 'DescribeDomainsRequest' => [ 'type' => 'structure', 'members' => [ 'DomainNames' => [ 'shape' => 'DomainNameList', ], ], ], 'DescribeDomainsResponse' => [ 'type' => 'structure', 'required' => [ 'DomainStatusList', ], 'members' => [ 'DomainStatusList' => [ 'shape' => 'DomainStatusList', ], ], ], 'DescribeExpressionsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'ExpressionNames' => [ 'shape' => 'StandardNameList', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeExpressionsResponse' => [ 'type' => 'structure', 'required' => [ 'Expressions', ], 'members' => [ 'Expressions' => [ 'shape' => 'ExpressionStatusList', ], ], ], 'DescribeIndexFieldsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'FieldNames' => [ 'shape' => 'DynamicFieldNameList', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeIndexFieldsResponse' => [ 'type' => 'structure', 'required' => [ 'IndexFields', ], 'members' => [ 'IndexFields' => [ 'shape' => 'IndexFieldStatusList', ], ], ], 'DescribeScalingParametersRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'DescribeScalingParametersResponse' => [ 'type' => 'structure', 'required' => [ 'ScalingParameters', ], 'members' => [ 'ScalingParameters' => [ 'shape' => 'ScalingParametersStatus', ], ], ], 'DescribeServiceAccessPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeServiceAccessPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'AccessPolicies', ], 'members' => [ 'AccessPolicies' => [ 'shape' => 'AccessPoliciesStatus', ], ], ], 'DescribeSuggestersRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'SuggesterNames' => [ 'shape' => 'StandardNameList', ], 'Deployed' => [ 'shape' => 'Boolean', ], ], ], 'DescribeSuggestersResponse' => [ 'type' => 'structure', 'required' => [ 'Suggesters', ], 'members' => [ 'Suggesters' => [ 'shape' => 'SuggesterStatusList', ], ], ], 'DisabledOperationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DisabledAction', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'DocumentSuggesterOptions' => [ 'type' => 'structure', 'required' => [ 'SourceField', ], 'members' => [ 'SourceField' => [ 'shape' => 'FieldName', ], 'FuzzyMatching' => [ 'shape' => 'SuggesterFuzzyMatching', ], 'SortExpression' => [ 'shape' => 'String', ], ], ], 'DomainId' => [ 'type' => 'string', 'min' => 1, 'max' => 64, ], 'DomainName' => [ 'type' => 'string', 'min' => 3, 'max' => 28, 'pattern' => '[a-z][a-z0-9\\-]+', ], 'DomainNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainName', ], ], 'DomainNameMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DomainName', ], 'value' => [ 'shape' => 'APIVersion', ], ], 'DomainStatus' => [ 'type' => 'structure', 'required' => [ 'DomainId', 'DomainName', 'RequiresIndexDocuments', ], 'members' => [ 'DomainId' => [ 'shape' => 'DomainId', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'ARN' => [ 'shape' => 'ARN', ], 'Created' => [ 'shape' => 'Boolean', ], 'Deleted' => [ 'shape' => 'Boolean', ], 'DocService' => [ 'shape' => 'ServiceEndpoint', ], 'SearchService' => [ 'shape' => 'ServiceEndpoint', ], 'RequiresIndexDocuments' => [ 'shape' => 'Boolean', ], 'Processing' => [ 'shape' => 'Boolean', ], 'SearchInstanceType' => [ 'shape' => 'SearchInstanceType', ], 'SearchPartitionCount' => [ 'shape' => 'PartitionCount', ], 'SearchInstanceCount' => [ 'shape' => 'InstanceCount', ], 'Limits' => [ 'shape' => 'Limits', ], ], ], 'DomainStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainStatus', ], ], 'Double' => [ 'type' => 'double', ], 'DoubleArrayOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'Double', ], 'SourceFields' => [ 'shape' => 'FieldNameCommaList', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], ], ], 'DoubleOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'Double', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], ], ], 'DynamicFieldName' => [ 'type' => 'string', 'min' => 1, 'max' => 64, 'pattern' => '([a-z][a-z0-9_]*\\*?|\\*[a-z0-9_]*)', ], 'DynamicFieldNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DynamicFieldName', ], ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'Expression' => [ 'type' => 'structure', 'required' => [ 'ExpressionName', 'ExpressionValue', ], 'members' => [ 'ExpressionName' => [ 'shape' => 'StandardName', ], 'ExpressionValue' => [ 'shape' => 'ExpressionValue', ], ], ], 'ExpressionStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'Expression', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'ExpressionStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExpressionStatus', ], ], 'ExpressionValue' => [ 'type' => 'string', 'min' => 1, 'max' => 10240, ], 'FieldName' => [ 'type' => 'string', 'min' => 1, 'max' => 64, 'pattern' => '[a-z][a-z0-9_]*', ], 'FieldNameCommaList' => [ 'type' => 'string', 'pattern' => '\\s*[a-z*][a-z0-9_]*\\*?\\s*(,\\s*[a-z*][a-z0-9_]*\\*?\\s*)*', ], 'FieldNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldName', ], ], 'FieldValue' => [ 'type' => 'string', 'min' => 0, 'max' => 1024, ], 'IndexDocumentsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'IndexDocumentsResponse' => [ 'type' => 'structure', 'members' => [ 'FieldNames' => [ 'shape' => 'FieldNameList', ], ], ], 'IndexField' => [ 'type' => 'structure', 'required' => [ 'IndexFieldName', 'IndexFieldType', ], 'members' => [ 'IndexFieldName' => [ 'shape' => 'DynamicFieldName', ], 'IndexFieldType' => [ 'shape' => 'IndexFieldType', ], 'IntOptions' => [ 'shape' => 'IntOptions', ], 'DoubleOptions' => [ 'shape' => 'DoubleOptions', ], 'LiteralOptions' => [ 'shape' => 'LiteralOptions', ], 'TextOptions' => [ 'shape' => 'TextOptions', ], 'DateOptions' => [ 'shape' => 'DateOptions', ], 'LatLonOptions' => [ 'shape' => 'LatLonOptions', ], 'IntArrayOptions' => [ 'shape' => 'IntArrayOptions', ], 'DoubleArrayOptions' => [ 'shape' => 'DoubleArrayOptions', ], 'LiteralArrayOptions' => [ 'shape' => 'LiteralArrayOptions', ], 'TextArrayOptions' => [ 'shape' => 'TextArrayOptions', ], 'DateArrayOptions' => [ 'shape' => 'DateArrayOptions', ], ], ], 'IndexFieldStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'IndexField', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'IndexFieldStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IndexFieldStatus', ], ], 'IndexFieldType' => [ 'type' => 'string', 'enum' => [ 'int', 'double', 'literal', 'text', 'date', 'latlon', 'int-array', 'double-array', 'literal-array', 'text-array', 'date-array', ], ], 'InstanceCount' => [ 'type' => 'integer', 'min' => 1, ], 'IntArrayOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'Long', ], 'SourceFields' => [ 'shape' => 'FieldNameCommaList', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], ], ], 'IntOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'Long', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], ], ], 'InternalException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InternalException', 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidTypeException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidType', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'LatLonOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'Limits' => [ 'type' => 'structure', 'required' => [ 'MaximumReplicationCount', 'MaximumPartitionCount', ], 'members' => [ 'MaximumReplicationCount' => [ 'shape' => 'MaximumReplicationCount', ], 'MaximumPartitionCount' => [ 'shape' => 'MaximumPartitionCount', ], ], ], 'ListDomainNamesResponse' => [ 'type' => 'structure', 'members' => [ 'DomainNames' => [ 'shape' => 'DomainNameMap', ], ], ], 'LiteralArrayOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceFields' => [ 'shape' => 'FieldNameCommaList', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], ], ], 'LiteralOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'FacetEnabled' => [ 'shape' => 'Boolean', ], 'SearchEnabled' => [ 'shape' => 'Boolean', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaximumPartitionCount' => [ 'type' => 'integer', 'min' => 1, ], 'MaximumReplicationCount' => [ 'type' => 'integer', 'min' => 1, ], 'MultiAZ' => [ 'type' => 'boolean', ], 'OptionState' => [ 'type' => 'string', 'enum' => [ 'RequiresIndexDocuments', 'Processing', 'Active', 'FailedToValidate', ], ], 'OptionStatus' => [ 'type' => 'structure', 'required' => [ 'CreationDate', 'UpdateDate', 'State', ], 'members' => [ 'CreationDate' => [ 'shape' => 'UpdateTimestamp', ], 'UpdateDate' => [ 'shape' => 'UpdateTimestamp', ], 'UpdateVersion' => [ 'shape' => 'UIntValue', ], 'State' => [ 'shape' => 'OptionState', ], 'PendingDeletion' => [ 'shape' => 'Boolean', ], ], ], 'PartitionCount' => [ 'type' => 'integer', 'min' => 1, ], 'PartitionInstanceType' => [ 'type' => 'string', 'enum' => [ 'search.m1.small', 'search.m1.large', 'search.m2.xlarge', 'search.m2.2xlarge', 'search.m3.medium', 'search.m3.large', 'search.m3.xlarge', 'search.m3.2xlarge', ], ], 'PolicyDocument' => [ 'type' => 'string', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'ScalingParameters' => [ 'type' => 'structure', 'members' => [ 'DesiredInstanceType' => [ 'shape' => 'PartitionInstanceType', ], 'DesiredReplicationCount' => [ 'shape' => 'UIntValue', ], 'DesiredPartitionCount' => [ 'shape' => 'UIntValue', ], ], ], 'ScalingParametersStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'ScalingParameters', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'SearchInstanceType' => [ 'type' => 'string', ], 'ServiceEndpoint' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'ServiceUrl', ], ], ], 'ServiceUrl' => [ 'type' => 'string', ], 'StandardName' => [ 'type' => 'string', 'min' => 1, 'max' => 64, 'pattern' => '[a-z][a-z0-9_]*', ], 'StandardNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StandardName', ], ], 'String' => [ 'type' => 'string', ], 'Suggester' => [ 'type' => 'structure', 'required' => [ 'SuggesterName', 'DocumentSuggesterOptions', ], 'members' => [ 'SuggesterName' => [ 'shape' => 'StandardName', ], 'DocumentSuggesterOptions' => [ 'shape' => 'DocumentSuggesterOptions', ], ], ], 'SuggesterFuzzyMatching' => [ 'type' => 'string', 'enum' => [ 'none', 'low', 'high', ], ], 'SuggesterStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'Suggester', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'SuggesterStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SuggesterStatus', ], ], 'TextArrayOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceFields' => [ 'shape' => 'FieldNameCommaList', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'HighlightEnabled' => [ 'shape' => 'Boolean', ], 'AnalysisScheme' => [ 'shape' => 'Word', ], ], ], 'TextOptions' => [ 'type' => 'structure', 'members' => [ 'DefaultValue' => [ 'shape' => 'FieldValue', ], 'SourceField' => [ 'shape' => 'FieldName', ], 'ReturnEnabled' => [ 'shape' => 'Boolean', ], 'SortEnabled' => [ 'shape' => 'Boolean', ], 'HighlightEnabled' => [ 'shape' => 'Boolean', ], 'AnalysisScheme' => [ 'shape' => 'Word', ], ], ], 'UIntValue' => [ 'type' => 'integer', 'min' => 0, ], 'UpdateAvailabilityOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'MultiAZ', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], ], ], 'UpdateAvailabilityOptionsResponse' => [ 'type' => 'structure', 'members' => [ 'AvailabilityOptions' => [ 'shape' => 'AvailabilityOptionsStatus', ], ], ], 'UpdateScalingParametersRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'ScalingParameters', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'ScalingParameters' => [ 'shape' => 'ScalingParameters', ], ], ], 'UpdateScalingParametersResponse' => [ 'type' => 'structure', 'required' => [ 'ScalingParameters', ], 'members' => [ 'ScalingParameters' => [ 'shape' => 'ScalingParametersStatus', ], ], ], 'UpdateServiceAccessPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'AccessPolicies', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AccessPolicies' => [ 'shape' => 'PolicyDocument', ], ], ], 'UpdateServiceAccessPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'AccessPolicies', ], 'members' => [ 'AccessPolicies' => [ 'shape' => 'AccessPoliciesStatus', ], ], ], 'UpdateTimestamp' => [ 'type' => 'timestamp', ], 'Word' => [ 'type' => 'string', 'pattern' => '[\\S]+', ], ],]; diff --git a/lib/aws/Aws/data/cloudsearch/2013-01-01/paginators-1.json.php b/lib/aws/Aws/data/cloudsearch/2013-01-01/paginators-1.json.php new file mode 100644 index 0000000..1c9670c --- /dev/null +++ b/lib/aws/Aws/data/cloudsearch/2013-01-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudsearch/2013-01-01/paginators-1.json +return [ 'pagination' => [ 'DescribeAnalysisSchemes' => [ 'result_key' => 'AnalysisSchemes', ], 'DescribeDomains' => [ 'result_key' => 'DomainStatusList', ], 'DescribeExpressions' => [ 'result_key' => 'Expressions', ], 'DescribeIndexFields' => [ 'result_key' => 'IndexFields', ], 'DescribeSuggesters' => [ 'result_key' => 'Suggesters', ], ],]; diff --git a/lib/aws/Aws/data/cloudsearchdomain/2013-01-01/api-2.json.php b/lib/aws/Aws/data/cloudsearchdomain/2013-01-01/api-2.json.php new file mode 100644 index 0000000..e68e775 --- /dev/null +++ b/lib/aws/Aws/data/cloudsearchdomain/2013-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudsearchdomain/2013-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-01-01', 'endpointPrefix' => 'cloudsearchdomain', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon CloudSearch Domain', 'signatureVersion' => 'v4', 'signingName' => 'cloudsearch', 'uid' => 'cloudsearchdomain-2013-01-01', ], 'operations' => [ 'Search' => [ 'name' => 'Search', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-01-01/search?format=sdk&pretty=true', ], 'input' => [ 'shape' => 'SearchRequest', ], 'output' => [ 'shape' => 'SearchResponse', ], 'errors' => [ [ 'shape' => 'SearchException', ], ], ], 'Suggest' => [ 'name' => 'Suggest', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-01-01/suggest?format=sdk&pretty=true', ], 'input' => [ 'shape' => 'SuggestRequest', ], 'output' => [ 'shape' => 'SuggestResponse', ], 'errors' => [ [ 'shape' => 'SearchException', ], ], ], 'UploadDocuments' => [ 'name' => 'UploadDocuments', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-01-01/documents/batch?format=sdk', ], 'input' => [ 'shape' => 'UploadDocumentsRequest', ], 'output' => [ 'shape' => 'UploadDocumentsResponse', ], 'errors' => [ [ 'shape' => 'DocumentServiceException', ], ], ], ], 'shapes' => [ 'Adds' => [ 'type' => 'long', ], 'Blob' => [ 'type' => 'blob', 'streaming' => true, ], 'Bucket' => [ 'type' => 'structure', 'members' => [ 'value' => [ 'shape' => 'String', ], 'count' => [ 'shape' => 'Long', ], ], ], 'BucketInfo' => [ 'type' => 'structure', 'members' => [ 'buckets' => [ 'shape' => 'BucketList', ], ], ], 'BucketList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Bucket', ], ], 'ContentType' => [ 'type' => 'string', 'enum' => [ 'application/json', 'application/xml', ], ], 'Cursor' => [ 'type' => 'string', ], 'Deletes' => [ 'type' => 'long', ], 'DocumentServiceException' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentServiceWarning' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], ], 'DocumentServiceWarnings' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentServiceWarning', ], ], 'Double' => [ 'type' => 'double', ], 'Expr' => [ 'type' => 'string', ], 'Exprs' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Facet' => [ 'type' => 'string', ], 'Facets' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'BucketInfo', ], ], 'FieldStats' => [ 'type' => 'structure', 'members' => [ 'min' => [ 'shape' => 'String', ], 'max' => [ 'shape' => 'String', ], 'count' => [ 'shape' => 'Long', ], 'missing' => [ 'shape' => 'Long', ], 'sum' => [ 'shape' => 'Double', ], 'sumOfSquares' => [ 'shape' => 'Double', ], 'mean' => [ 'shape' => 'String', ], 'stddev' => [ 'shape' => 'Double', ], ], ], 'FieldValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Fields' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'FieldValue', ], ], 'FilterQuery' => [ 'type' => 'string', ], 'Highlight' => [ 'type' => 'string', ], 'Highlights' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Hit' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'fields' => [ 'shape' => 'Fields', ], 'exprs' => [ 'shape' => 'Exprs', ], 'highlights' => [ 'shape' => 'Highlights', ], ], ], 'HitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Hit', ], ], 'Hits' => [ 'type' => 'structure', 'members' => [ 'found' => [ 'shape' => 'Long', ], 'start' => [ 'shape' => 'Long', ], 'cursor' => [ 'shape' => 'String', ], 'hit' => [ 'shape' => 'HitList', ], ], ], 'Long' => [ 'type' => 'long', ], 'Partial' => [ 'type' => 'boolean', ], 'Query' => [ 'type' => 'string', ], 'QueryOptions' => [ 'type' => 'string', ], 'QueryParser' => [ 'type' => 'string', 'enum' => [ 'simple', 'structured', 'lucene', 'dismax', ], ], 'Return' => [ 'type' => 'string', ], 'SearchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'SearchRequest' => [ 'type' => 'structure', 'required' => [ 'query', ], 'members' => [ 'cursor' => [ 'shape' => 'Cursor', 'location' => 'querystring', 'locationName' => 'cursor', ], 'expr' => [ 'shape' => 'Expr', 'location' => 'querystring', 'locationName' => 'expr', ], 'facet' => [ 'shape' => 'Facet', 'location' => 'querystring', 'locationName' => 'facet', ], 'filterQuery' => [ 'shape' => 'FilterQuery', 'location' => 'querystring', 'locationName' => 'fq', ], 'highlight' => [ 'shape' => 'Highlight', 'location' => 'querystring', 'locationName' => 'highlight', ], 'partial' => [ 'shape' => 'Partial', 'location' => 'querystring', 'locationName' => 'partial', ], 'query' => [ 'shape' => 'Query', 'location' => 'querystring', 'locationName' => 'q', ], 'queryOptions' => [ 'shape' => 'QueryOptions', 'location' => 'querystring', 'locationName' => 'q.options', ], 'queryParser' => [ 'shape' => 'QueryParser', 'location' => 'querystring', 'locationName' => 'q.parser', ], 'return' => [ 'shape' => 'Return', 'location' => 'querystring', 'locationName' => 'return', ], 'size' => [ 'shape' => 'Size', 'location' => 'querystring', 'locationName' => 'size', ], 'sort' => [ 'shape' => 'Sort', 'location' => 'querystring', 'locationName' => 'sort', ], 'start' => [ 'shape' => 'Start', 'location' => 'querystring', 'locationName' => 'start', ], 'stats' => [ 'shape' => 'Stat', 'location' => 'querystring', 'locationName' => 'stats', ], ], ], 'SearchResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'SearchStatus', ], 'hits' => [ 'shape' => 'Hits', ], 'facets' => [ 'shape' => 'Facets', ], 'stats' => [ 'shape' => 'Stats', ], ], ], 'SearchStatus' => [ 'type' => 'structure', 'members' => [ 'timems' => [ 'shape' => 'Long', ], 'rid' => [ 'shape' => 'String', ], ], ], 'Size' => [ 'type' => 'long', ], 'Sort' => [ 'type' => 'string', ], 'Start' => [ 'type' => 'long', ], 'Stat' => [ 'type' => 'string', ], 'Stats' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'FieldStats', ], ], 'String' => [ 'type' => 'string', ], 'SuggestModel' => [ 'type' => 'structure', 'members' => [ 'query' => [ 'shape' => 'String', ], 'found' => [ 'shape' => 'Long', ], 'suggestions' => [ 'shape' => 'Suggestions', ], ], ], 'SuggestRequest' => [ 'type' => 'structure', 'required' => [ 'query', 'suggester', ], 'members' => [ 'query' => [ 'shape' => 'Query', 'location' => 'querystring', 'locationName' => 'q', ], 'suggester' => [ 'shape' => 'Suggester', 'location' => 'querystring', 'locationName' => 'suggester', ], 'size' => [ 'shape' => 'SuggestionsSize', 'location' => 'querystring', 'locationName' => 'size', ], ], ], 'SuggestResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'SuggestStatus', ], 'suggest' => [ 'shape' => 'SuggestModel', ], ], ], 'SuggestStatus' => [ 'type' => 'structure', 'members' => [ 'timems' => [ 'shape' => 'Long', ], 'rid' => [ 'shape' => 'String', ], ], ], 'Suggester' => [ 'type' => 'string', ], 'SuggestionMatch' => [ 'type' => 'structure', 'members' => [ 'suggestion' => [ 'shape' => 'String', ], 'score' => [ 'shape' => 'Long', ], 'id' => [ 'shape' => 'String', ], ], ], 'Suggestions' => [ 'type' => 'list', 'member' => [ 'shape' => 'SuggestionMatch', ], ], 'SuggestionsSize' => [ 'type' => 'long', ], 'UploadDocumentsRequest' => [ 'type' => 'structure', 'required' => [ 'documents', 'contentType', ], 'members' => [ 'documents' => [ 'shape' => 'Blob', ], 'contentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], ], 'payload' => 'documents', ], 'UploadDocumentsResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'String', ], 'adds' => [ 'shape' => 'Adds', ], 'deletes' => [ 'shape' => 'Deletes', ], 'warnings' => [ 'shape' => 'DocumentServiceWarnings', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudtrail/2013-11-01/api-2.json.php b/lib/aws/Aws/data/cloudtrail/2013-11-01/api-2.json.php new file mode 100644 index 0000000..bb26846 --- /dev/null +++ b/lib/aws/Aws/data/cloudtrail/2013-11-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudtrail/2013-11-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-11-01', 'endpointPrefix' => 'cloudtrail', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CloudTrail', 'serviceFullName' => 'AWS CloudTrail', 'serviceId' => 'CloudTrail', 'signatureVersion' => 'v4', 'targetPrefix' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101', 'uid' => 'cloudtrail-2013-11-01', ], 'operations' => [ 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsRequest', ], 'output' => [ 'shape' => 'AddTagsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'CloudTrailARNInvalidException', ], [ 'shape' => 'ResourceTypeNotSupportedException', ], [ 'shape' => 'TagsLimitExceededException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidTagParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], ], 'idempotent' => true, ], 'CreateTrail' => [ 'name' => 'CreateTrail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTrailRequest', ], 'output' => [ 'shape' => 'CreateTrailResponse', ], 'errors' => [ [ 'shape' => 'MaximumNumberOfTrailsExceededException', ], [ 'shape' => 'TrailAlreadyExistsException', ], [ 'shape' => 'S3BucketDoesNotExistException', ], [ 'shape' => 'InsufficientS3BucketPolicyException', ], [ 'shape' => 'InsufficientSnsTopicPolicyException', ], [ 'shape' => 'InsufficientEncryptionPolicyException', ], [ 'shape' => 'InvalidS3BucketNameException', ], [ 'shape' => 'InvalidS3PrefixException', ], [ 'shape' => 'InvalidSnsTopicNameException', ], [ 'shape' => 'InvalidKmsKeyIdException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'TrailNotProvidedException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'KmsKeyNotFoundException', ], [ 'shape' => 'KmsKeyDisabledException', ], [ 'shape' => 'KmsException', ], [ 'shape' => 'InvalidCloudWatchLogsLogGroupArnException', ], [ 'shape' => 'InvalidCloudWatchLogsRoleArnException', ], [ 'shape' => 'CloudWatchLogsDeliveryUnavailableException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'CloudTrailAccessNotEnabledException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'OrganizationsNotInUseException', ], [ 'shape' => 'OrganizationNotInAllFeaturesModeException', ], ], 'idempotent' => true, ], 'DeleteTrail' => [ 'name' => 'DeleteTrail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTrailRequest', ], 'output' => [ 'shape' => 'DeleteTrailResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], ], 'idempotent' => true, ], 'DescribeTrails' => [ 'name' => 'DescribeTrails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrailsRequest', ], 'output' => [ 'shape' => 'DescribeTrailsResponse', ], 'errors' => [ [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], ], 'idempotent' => true, ], 'GetEventSelectors' => [ 'name' => 'GetEventSelectors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetEventSelectorsRequest', ], 'output' => [ 'shape' => 'GetEventSelectorsResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], ], 'idempotent' => true, ], 'GetTrailStatus' => [ 'name' => 'GetTrailStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTrailStatusRequest', ], 'output' => [ 'shape' => 'GetTrailStatusResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], ], 'idempotent' => true, ], 'ListPublicKeys' => [ 'name' => 'ListPublicKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPublicKeysRequest', ], 'output' => [ 'shape' => 'ListPublicKeysResponse', ], 'errors' => [ [ 'shape' => 'InvalidTimeRangeException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidTokenException', ], ], 'idempotent' => true, ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'CloudTrailARNInvalidException', ], [ 'shape' => 'ResourceTypeNotSupportedException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidTokenException', ], ], 'idempotent' => true, ], 'LookupEvents' => [ 'name' => 'LookupEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LookupEventsRequest', ], 'output' => [ 'shape' => 'LookupEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidLookupAttributesException', ], [ 'shape' => 'InvalidTimeRangeException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidNextTokenException', ], ], 'idempotent' => true, ], 'PutEventSelectors' => [ 'name' => 'PutEventSelectors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutEventSelectorsRequest', ], 'output' => [ 'shape' => 'PutEventSelectorsResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], [ 'shape' => 'InvalidEventSelectorsException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], ], 'idempotent' => true, ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsRequest', ], 'output' => [ 'shape' => 'RemoveTagsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'CloudTrailARNInvalidException', ], [ 'shape' => 'ResourceTypeNotSupportedException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidTagParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], ], 'idempotent' => true, ], 'StartLogging' => [ 'name' => 'StartLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartLoggingRequest', ], 'output' => [ 'shape' => 'StartLoggingResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], ], 'idempotent' => true, ], 'StopLogging' => [ 'name' => 'StopLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopLoggingRequest', ], 'output' => [ 'shape' => 'StopLoggingResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], ], 'idempotent' => true, ], 'UpdateTrail' => [ 'name' => 'UpdateTrail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTrailRequest', ], 'output' => [ 'shape' => 'UpdateTrailResponse', ], 'errors' => [ [ 'shape' => 'S3BucketDoesNotExistException', ], [ 'shape' => 'InsufficientS3BucketPolicyException', ], [ 'shape' => 'InsufficientSnsTopicPolicyException', ], [ 'shape' => 'InsufficientEncryptionPolicyException', ], [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidS3BucketNameException', ], [ 'shape' => 'InvalidS3PrefixException', ], [ 'shape' => 'InvalidSnsTopicNameException', ], [ 'shape' => 'InvalidKmsKeyIdException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'TrailNotProvidedException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'InvalidHomeRegionException', ], [ 'shape' => 'KmsKeyNotFoundException', ], [ 'shape' => 'KmsKeyDisabledException', ], [ 'shape' => 'KmsException', ], [ 'shape' => 'InvalidCloudWatchLogsLogGroupArnException', ], [ 'shape' => 'InvalidCloudWatchLogsRoleArnException', ], [ 'shape' => 'CloudWatchLogsDeliveryUnavailableException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'CloudTrailAccessNotEnabledException', ], [ 'shape' => 'InsufficientDependencyServiceAccessPermissionException', ], [ 'shape' => 'OrganizationsNotInUseException', ], [ 'shape' => 'NotOrganizationMasterAccountException', ], [ 'shape' => 'OrganizationNotInAllFeaturesModeException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'AddTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'String', ], 'TagsList' => [ 'shape' => 'TagsList', ], ], ], 'AddTagsResponse' => [ 'type' => 'structure', 'members' => [], ], 'Boolean' => [ 'type' => 'boolean', ], 'ByteBuffer' => [ 'type' => 'blob', ], 'CloudTrailARNInvalidException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CloudTrailAccessNotEnabledException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CloudWatchLogsDeliveryUnavailableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CreateTrailRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'S3BucketName', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'SnsTopicName' => [ 'shape' => 'String', ], 'IncludeGlobalServiceEvents' => [ 'shape' => 'Boolean', ], 'IsMultiRegionTrail' => [ 'shape' => 'Boolean', ], 'EnableLogFileValidation' => [ 'shape' => 'Boolean', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'String', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'IsOrganizationTrail' => [ 'shape' => 'Boolean', ], ], ], 'CreateTrailResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'SnsTopicName' => [ 'shape' => 'String', 'deprecated' => true, ], 'SnsTopicARN' => [ 'shape' => 'String', ], 'IncludeGlobalServiceEvents' => [ 'shape' => 'Boolean', ], 'IsMultiRegionTrail' => [ 'shape' => 'Boolean', ], 'TrailARN' => [ 'shape' => 'String', ], 'LogFileValidationEnabled' => [ 'shape' => 'Boolean', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'String', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'IsOrganizationTrail' => [ 'shape' => 'Boolean', ], ], ], 'DataResource' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'DataResourceValues', ], ], ], 'DataResourceValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'DataResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataResource', ], ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteTrailRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'DeleteTrailResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeTrailsRequest' => [ 'type' => 'structure', 'members' => [ 'trailNameList' => [ 'shape' => 'TrailNameList', ], 'includeShadowTrails' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTrailsResponse' => [ 'type' => 'structure', 'members' => [ 'trailList' => [ 'shape' => 'TrailList', ], ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'EventId' => [ 'shape' => 'String', ], 'EventName' => [ 'shape' => 'String', ], 'ReadOnly' => [ 'shape' => 'String', ], 'AccessKeyId' => [ 'shape' => 'String', ], 'EventTime' => [ 'shape' => 'Date', ], 'EventSource' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'Resources' => [ 'shape' => 'ResourceList', ], 'CloudTrailEvent' => [ 'shape' => 'String', ], ], ], 'EventSelector' => [ 'type' => 'structure', 'members' => [ 'ReadWriteType' => [ 'shape' => 'ReadWriteType', ], 'IncludeManagementEvents' => [ 'shape' => 'Boolean', ], 'DataResources' => [ 'shape' => 'DataResources', ], ], ], 'EventSelectors' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSelector', ], ], 'EventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], ], 'GetEventSelectorsRequest' => [ 'type' => 'structure', 'required' => [ 'TrailName', ], 'members' => [ 'TrailName' => [ 'shape' => 'String', ], ], ], 'GetEventSelectorsResponse' => [ 'type' => 'structure', 'members' => [ 'TrailARN' => [ 'shape' => 'String', ], 'EventSelectors' => [ 'shape' => 'EventSelectors', ], ], ], 'GetTrailStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'GetTrailStatusResponse' => [ 'type' => 'structure', 'members' => [ 'IsLogging' => [ 'shape' => 'Boolean', ], 'LatestDeliveryError' => [ 'shape' => 'String', ], 'LatestNotificationError' => [ 'shape' => 'String', ], 'LatestDeliveryTime' => [ 'shape' => 'Date', ], 'LatestNotificationTime' => [ 'shape' => 'Date', ], 'StartLoggingTime' => [ 'shape' => 'Date', ], 'StopLoggingTime' => [ 'shape' => 'Date', ], 'LatestCloudWatchLogsDeliveryError' => [ 'shape' => 'String', ], 'LatestCloudWatchLogsDeliveryTime' => [ 'shape' => 'Date', ], 'LatestDigestDeliveryTime' => [ 'shape' => 'Date', ], 'LatestDigestDeliveryError' => [ 'shape' => 'String', ], 'LatestDeliveryAttemptTime' => [ 'shape' => 'String', ], 'LatestNotificationAttemptTime' => [ 'shape' => 'String', ], 'LatestNotificationAttemptSucceeded' => [ 'shape' => 'String', ], 'LatestDeliveryAttemptSucceeded' => [ 'shape' => 'String', ], 'TimeLoggingStarted' => [ 'shape' => 'String', ], 'TimeLoggingStopped' => [ 'shape' => 'String', ], ], ], 'InsufficientDependencyServiceAccessPermissionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InsufficientEncryptionPolicyException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InsufficientS3BucketPolicyException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InsufficientSnsTopicPolicyException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidCloudWatchLogsLogGroupArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidCloudWatchLogsRoleArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidEventSelectorsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidHomeRegionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidKmsKeyIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLookupAttributesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidMaxResultsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterCombinationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3BucketNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3PrefixException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSnsTopicNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTagParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTimeRangeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTrailNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'KmsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'KmsKeyDisabledException' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, 'exception' => true, ], 'KmsKeyNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListPublicKeysRequest' => [ 'type' => 'structure', 'members' => [ 'StartTime' => [ 'shape' => 'Date', ], 'EndTime' => [ 'shape' => 'Date', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListPublicKeysResponse' => [ 'type' => 'structure', 'members' => [ 'PublicKeyList' => [ 'shape' => 'PublicKeyList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIdList', ], 'members' => [ 'ResourceIdList' => [ 'shape' => 'ResourceIdList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceTagList' => [ 'shape' => 'ResourceTagList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'LookupAttribute' => [ 'type' => 'structure', 'required' => [ 'AttributeKey', 'AttributeValue', ], 'members' => [ 'AttributeKey' => [ 'shape' => 'LookupAttributeKey', ], 'AttributeValue' => [ 'shape' => 'String', ], ], ], 'LookupAttributeKey' => [ 'type' => 'string', 'enum' => [ 'EventId', 'EventName', 'ReadOnly', 'Username', 'ResourceType', 'ResourceName', 'EventSource', 'AccessKeyId', ], ], 'LookupAttributesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LookupAttribute', ], ], 'LookupEventsRequest' => [ 'type' => 'structure', 'members' => [ 'LookupAttributes' => [ 'shape' => 'LookupAttributesList', ], 'StartTime' => [ 'shape' => 'Date', ], 'EndTime' => [ 'shape' => 'Date', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LookupEventsResponse' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => 'EventsList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'MaximumNumberOfTrailsExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NotOrganizationMasterAccountException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrganizationNotInAllFeaturesModeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrganizationsNotInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PublicKey' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'ByteBuffer', ], 'ValidityStartTime' => [ 'shape' => 'Date', ], 'ValidityEndTime' => [ 'shape' => 'Date', ], 'Fingerprint' => [ 'shape' => 'String', ], ], ], 'PublicKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicKey', ], ], 'PutEventSelectorsRequest' => [ 'type' => 'structure', 'required' => [ 'TrailName', 'EventSelectors', ], 'members' => [ 'TrailName' => [ 'shape' => 'String', ], 'EventSelectors' => [ 'shape' => 'EventSelectors', ], ], ], 'PutEventSelectorsResponse' => [ 'type' => 'structure', 'members' => [ 'TrailARN' => [ 'shape' => 'String', ], 'EventSelectors' => [ 'shape' => 'EventSelectors', ], ], ], 'ReadWriteType' => [ 'type' => 'string', 'enum' => [ 'ReadOnly', 'WriteOnly', 'All', ], ], 'RemoveTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'String', ], 'TagsList' => [ 'shape' => 'TagsList', ], ], ], 'RemoveTagsResponse' => [ 'type' => 'structure', 'members' => [], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'String', ], 'ResourceName' => [ 'shape' => 'String', ], ], ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceTag' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', ], 'TagsList' => [ 'shape' => 'TagsList', ], ], ], 'ResourceTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTag', ], ], 'ResourceTypeNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'S3BucketDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'StartLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'StartLoggingResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'StopLoggingResponse' => [ 'type' => 'structure', 'members' => [], ], 'String' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagsLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'Trail' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'SnsTopicName' => [ 'shape' => 'String', 'deprecated' => true, ], 'SnsTopicARN' => [ 'shape' => 'String', ], 'IncludeGlobalServiceEvents' => [ 'shape' => 'Boolean', ], 'IsMultiRegionTrail' => [ 'shape' => 'Boolean', ], 'HomeRegion' => [ 'shape' => 'String', ], 'TrailARN' => [ 'shape' => 'String', ], 'LogFileValidationEnabled' => [ 'shape' => 'Boolean', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'String', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'HasCustomEventSelectors' => [ 'shape' => 'Boolean', ], 'IsOrganizationTrail' => [ 'shape' => 'Boolean', ], ], ], 'TrailAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TrailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trail', ], ], 'TrailNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TrailNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TrailNotProvidedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UpdateTrailRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'SnsTopicName' => [ 'shape' => 'String', ], 'IncludeGlobalServiceEvents' => [ 'shape' => 'Boolean', ], 'IsMultiRegionTrail' => [ 'shape' => 'Boolean', ], 'EnableLogFileValidation' => [ 'shape' => 'Boolean', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'String', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'IsOrganizationTrail' => [ 'shape' => 'Boolean', ], ], ], 'UpdateTrailResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'SnsTopicName' => [ 'shape' => 'String', 'deprecated' => true, ], 'SnsTopicARN' => [ 'shape' => 'String', ], 'IncludeGlobalServiceEvents' => [ 'shape' => 'Boolean', ], 'IsMultiRegionTrail' => [ 'shape' => 'Boolean', ], 'TrailARN' => [ 'shape' => 'String', ], 'LogFileValidationEnabled' => [ 'shape' => 'Boolean', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'String', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'IsOrganizationTrail' => [ 'shape' => 'Boolean', ], ], ], ],]; diff --git a/lib/aws/Aws/data/cloudtrail/2013-11-01/paginators-1.json.php b/lib/aws/Aws/data/cloudtrail/2013-11-01/paginators-1.json.php new file mode 100644 index 0000000..e53d4af --- /dev/null +++ b/lib/aws/Aws/data/cloudtrail/2013-11-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudtrail/2013-11-01/paginators-1.json +return [ 'pagination' => [ 'DescribeTrails' => [ 'result_key' => 'trailList', ], 'LookupEvents' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Events', ], ],]; diff --git a/lib/aws/Aws/data/cloudtrail/2013-11-01/smoke.json.php b/lib/aws/Aws/data/cloudtrail/2013-11-01/smoke.json.php new file mode 100644 index 0000000..f9844cb --- /dev/null +++ b/lib/aws/Aws/data/cloudtrail/2013-11-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cloudtrail/2013-11-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeTrails', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DeleteTrail', 'input' => [ 'Name' => 'faketrail', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/codebuild/2016-10-06/api-2.json.php b/lib/aws/Aws/data/codebuild/2016-10-06/api-2.json.php new file mode 100644 index 0000000..34dbf5d --- /dev/null +++ b/lib/aws/Aws/data/codebuild/2016-10-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codebuild/2016-10-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-10-06', 'endpointPrefix' => 'codebuild', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS CodeBuild', 'serviceId' => 'CodeBuild', 'signatureVersion' => 'v4', 'targetPrefix' => 'CodeBuild_20161006', 'uid' => 'codebuild-2016-10-06', ], 'operations' => [ 'BatchDeleteBuilds' => [ 'name' => 'BatchDeleteBuilds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteBuildsInput', ], 'output' => [ 'shape' => 'BatchDeleteBuildsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'BatchGetBuilds' => [ 'name' => 'BatchGetBuilds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetBuildsInput', ], 'output' => [ 'shape' => 'BatchGetBuildsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'BatchGetProjects' => [ 'name' => 'BatchGetProjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetProjectsInput', ], 'output' => [ 'shape' => 'BatchGetProjectsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'CreateProject' => [ 'name' => 'CreateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProjectInput', ], 'output' => [ 'shape' => 'CreateProjectOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'AccountLimitExceededException', ], ], ], 'CreateWebhook' => [ 'name' => 'CreateWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWebhookInput', ], 'output' => [ 'shape' => 'CreateWebhookOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OAuthProviderException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteProject' => [ 'name' => 'DeleteProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProjectInput', ], 'output' => [ 'shape' => 'DeleteProjectOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'DeleteSourceCredentials' => [ 'name' => 'DeleteSourceCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSourceCredentialsInput', ], 'output' => [ 'shape' => 'DeleteSourceCredentialsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteWebhook' => [ 'name' => 'DeleteWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebhookInput', ], 'output' => [ 'shape' => 'DeleteWebhookOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OAuthProviderException', ], ], ], 'ImportSourceCredentials' => [ 'name' => 'ImportSourceCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSourceCredentialsInput', ], 'output' => [ 'shape' => 'ImportSourceCredentialsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccountLimitExceededException', ], ], ], 'InvalidateProjectCache' => [ 'name' => 'InvalidateProjectCache', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InvalidateProjectCacheInput', ], 'output' => [ 'shape' => 'InvalidateProjectCacheOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListBuilds' => [ 'name' => 'ListBuilds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBuildsInput', ], 'output' => [ 'shape' => 'ListBuildsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'ListBuildsForProject' => [ 'name' => 'ListBuildsForProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBuildsForProjectInput', ], 'output' => [ 'shape' => 'ListBuildsForProjectOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListCuratedEnvironmentImages' => [ 'name' => 'ListCuratedEnvironmentImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCuratedEnvironmentImagesInput', ], 'output' => [ 'shape' => 'ListCuratedEnvironmentImagesOutput', ], ], 'ListProjects' => [ 'name' => 'ListProjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProjectsInput', ], 'output' => [ 'shape' => 'ListProjectsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'ListSourceCredentials' => [ 'name' => 'ListSourceCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSourceCredentialsInput', ], 'output' => [ 'shape' => 'ListSourceCredentialsOutput', ], ], 'StartBuild' => [ 'name' => 'StartBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartBuildInput', ], 'output' => [ 'shape' => 'StartBuildOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccountLimitExceededException', ], ], ], 'StopBuild' => [ 'name' => 'StopBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopBuildInput', ], 'output' => [ 'shape' => 'StopBuildOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateProject' => [ 'name' => 'UpdateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProjectInput', ], 'output' => [ 'shape' => 'UpdateProjectOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateWebhook' => [ 'name' => 'UpdateWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateWebhookInput', ], 'output' => [ 'shape' => 'UpdateWebhookOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OAuthProviderException', ], ], ], ], 'shapes' => [ 'AccountLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ArtifactNamespace' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BUILD_ID', ], ], 'ArtifactPackaging' => [ 'type' => 'string', 'enum' => [ 'NONE', 'ZIP', ], ], 'ArtifactsType' => [ 'type' => 'string', 'enum' => [ 'CODEPIPELINE', 'S3', 'NO_ARTIFACTS', ], ], 'AuthType' => [ 'type' => 'string', 'enum' => [ 'OAUTH', 'BASIC_AUTH', 'PERSONAL_ACCESS_TOKEN', ], ], 'BatchDeleteBuildsInput' => [ 'type' => 'structure', 'required' => [ 'ids', ], 'members' => [ 'ids' => [ 'shape' => 'BuildIds', ], ], ], 'BatchDeleteBuildsOutput' => [ 'type' => 'structure', 'members' => [ 'buildsDeleted' => [ 'shape' => 'BuildIds', ], 'buildsNotDeleted' => [ 'shape' => 'BuildsNotDeleted', ], ], ], 'BatchGetBuildsInput' => [ 'type' => 'structure', 'required' => [ 'ids', ], 'members' => [ 'ids' => [ 'shape' => 'BuildIds', ], ], ], 'BatchGetBuildsOutput' => [ 'type' => 'structure', 'members' => [ 'builds' => [ 'shape' => 'Builds', ], 'buildsNotFound' => [ 'shape' => 'BuildIds', ], ], ], 'BatchGetProjectsInput' => [ 'type' => 'structure', 'required' => [ 'names', ], 'members' => [ 'names' => [ 'shape' => 'ProjectNames', ], ], ], 'BatchGetProjectsOutput' => [ 'type' => 'structure', 'members' => [ 'projects' => [ 'shape' => 'Projects', ], 'projectsNotFound' => [ 'shape' => 'ProjectNames', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'Build' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'currentPhase' => [ 'shape' => 'String', ], 'buildStatus' => [ 'shape' => 'StatusType', ], 'sourceVersion' => [ 'shape' => 'NonEmptyString', ], 'resolvedSourceVersion' => [ 'shape' => 'NonEmptyString', ], 'projectName' => [ 'shape' => 'NonEmptyString', ], 'phases' => [ 'shape' => 'BuildPhases', ], 'source' => [ 'shape' => 'ProjectSource', ], 'secondarySources' => [ 'shape' => 'ProjectSources', ], 'secondarySourceVersions' => [ 'shape' => 'ProjectSecondarySourceVersions', ], 'artifacts' => [ 'shape' => 'BuildArtifacts', ], 'secondaryArtifacts' => [ 'shape' => 'BuildArtifactsList', ], 'cache' => [ 'shape' => 'ProjectCache', ], 'environment' => [ 'shape' => 'ProjectEnvironment', ], 'serviceRole' => [ 'shape' => 'NonEmptyString', ], 'logs' => [ 'shape' => 'LogsLocation', ], 'timeoutInMinutes' => [ 'shape' => 'WrapperInt', ], 'queuedTimeoutInMinutes' => [ 'shape' => 'WrapperInt', ], 'buildComplete' => [ 'shape' => 'Boolean', ], 'initiator' => [ 'shape' => 'String', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'networkInterface' => [ 'shape' => 'NetworkInterface', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], ], ], 'BuildArtifacts' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'String', ], 'sha256sum' => [ 'shape' => 'String', ], 'md5sum' => [ 'shape' => 'String', ], 'overrideArtifactName' => [ 'shape' => 'WrapperBoolean', ], 'encryptionDisabled' => [ 'shape' => 'WrapperBoolean', ], 'artifactIdentifier' => [ 'shape' => 'String', ], ], ], 'BuildArtifactsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuildArtifacts', ], 'max' => 12, 'min' => 0, ], 'BuildIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 100, 'min' => 1, ], 'BuildNotDeleted' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], 'statusCode' => [ 'shape' => 'String', ], ], ], 'BuildPhase' => [ 'type' => 'structure', 'members' => [ 'phaseType' => [ 'shape' => 'BuildPhaseType', ], 'phaseStatus' => [ 'shape' => 'StatusType', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'durationInSeconds' => [ 'shape' => 'WrapperLong', ], 'contexts' => [ 'shape' => 'PhaseContexts', ], ], ], 'BuildPhaseType' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'QUEUED', 'PROVISIONING', 'DOWNLOAD_SOURCE', 'INSTALL', 'PRE_BUILD', 'BUILD', 'POST_BUILD', 'UPLOAD_ARTIFACTS', 'FINALIZING', 'COMPLETED', ], ], 'BuildPhases' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuildPhase', ], ], 'Builds' => [ 'type' => 'list', 'member' => [ 'shape' => 'Build', ], ], 'BuildsNotDeleted' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuildNotDeleted', ], ], 'CacheMode' => [ 'type' => 'string', 'enum' => [ 'LOCAL_DOCKER_LAYER_CACHE', 'LOCAL_SOURCE_CACHE', 'LOCAL_CUSTOM_CACHE', ], ], 'CacheType' => [ 'type' => 'string', 'enum' => [ 'NO_CACHE', 'S3', 'LOCAL', ], ], 'CloudWatchLogsConfig' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'LogsConfigStatusType', ], 'groupName' => [ 'shape' => 'String', ], 'streamName' => [ 'shape' => 'String', ], ], ], 'ComputeType' => [ 'type' => 'string', 'enum' => [ 'BUILD_GENERAL1_SMALL', 'BUILD_GENERAL1_MEDIUM', 'BUILD_GENERAL1_LARGE', ], ], 'CreateProjectInput' => [ 'type' => 'structure', 'required' => [ 'name', 'source', 'artifacts', 'environment', 'serviceRole', ], 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'description' => [ 'shape' => 'ProjectDescription', ], 'source' => [ 'shape' => 'ProjectSource', ], 'secondarySources' => [ 'shape' => 'ProjectSources', ], 'artifacts' => [ 'shape' => 'ProjectArtifacts', ], 'secondaryArtifacts' => [ 'shape' => 'ProjectArtifactsList', ], 'cache' => [ 'shape' => 'ProjectCache', ], 'environment' => [ 'shape' => 'ProjectEnvironment', ], 'serviceRole' => [ 'shape' => 'NonEmptyString', ], 'timeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'queuedTimeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badgeEnabled' => [ 'shape' => 'WrapperBoolean', ], 'logsConfig' => [ 'shape' => 'LogsConfig', ], ], ], 'CreateProjectOutput' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'CreateWebhookInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'branchFilter' => [ 'shape' => 'String', ], 'filterGroups' => [ 'shape' => 'FilterGroups', ], ], ], 'CreateWebhookOutput' => [ 'type' => 'structure', 'members' => [ 'webhook' => [ 'shape' => 'Webhook', ], ], ], 'CredentialProviderType' => [ 'type' => 'string', 'enum' => [ 'SECRETS_MANAGER', ], ], 'DeleteProjectInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteProjectOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSourceCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteSourceCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteWebhookInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], ], ], 'DeleteWebhookOutput' => [ 'type' => 'structure', 'members' => [], ], 'EnvironmentImage' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'versions' => [ 'shape' => 'ImageVersions', ], ], ], 'EnvironmentImages' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentImage', ], ], 'EnvironmentLanguage' => [ 'type' => 'structure', 'members' => [ 'language' => [ 'shape' => 'LanguageType', ], 'images' => [ 'shape' => 'EnvironmentImages', ], ], ], 'EnvironmentLanguages' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentLanguage', ], ], 'EnvironmentPlatform' => [ 'type' => 'structure', 'members' => [ 'platform' => [ 'shape' => 'PlatformType', ], 'languages' => [ 'shape' => 'EnvironmentLanguages', ], ], ], 'EnvironmentPlatforms' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentPlatform', ], ], 'EnvironmentType' => [ 'type' => 'string', 'enum' => [ 'WINDOWS_CONTAINER', 'LINUX_CONTAINER', ], ], 'EnvironmentVariable' => [ 'type' => 'structure', 'required' => [ 'name', 'value', ], 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], 'value' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'EnvironmentVariableType', ], ], ], 'EnvironmentVariableType' => [ 'type' => 'string', 'enum' => [ 'PLAINTEXT', 'PARAMETER_STORE', ], ], 'EnvironmentVariables' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentVariable', ], ], 'FilterGroup' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebhookFilter', ], ], 'FilterGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterGroup', ], ], 'GitCloneDepth' => [ 'type' => 'integer', 'min' => 0, ], 'GitSubmodulesConfig' => [ 'type' => 'structure', 'required' => [ 'fetchSubmodules', ], 'members' => [ 'fetchSubmodules' => [ 'shape' => 'WrapperBoolean', ], ], ], 'ImagePullCredentialsType' => [ 'type' => 'string', 'enum' => [ 'CODEBUILD', 'SERVICE_ROLE', ], ], 'ImageVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ImportSourceCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'token', 'serverType', 'authType', ], 'members' => [ 'username' => [ 'shape' => 'NonEmptyString', ], 'token' => [ 'shape' => 'SensitiveNonEmptyString', ], 'serverType' => [ 'shape' => 'ServerType', ], 'authType' => [ 'shape' => 'AuthType', ], ], ], 'ImportSourceCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'NonEmptyString', ], ], ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidateProjectCacheInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'NonEmptyString', ], ], ], 'InvalidateProjectCacheOutput' => [ 'type' => 'structure', 'members' => [], ], 'KeyInput' => [ 'type' => 'string', 'max' => 127, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$', ], 'LanguageType' => [ 'type' => 'string', 'enum' => [ 'JAVA', 'PYTHON', 'NODE_JS', 'RUBY', 'GOLANG', 'DOCKER', 'ANDROID', 'DOTNET', 'BASE', 'PHP', ], ], 'ListBuildsForProjectInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'NonEmptyString', ], 'sortOrder' => [ 'shape' => 'SortOrderType', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListBuildsForProjectOutput' => [ 'type' => 'structure', 'members' => [ 'ids' => [ 'shape' => 'BuildIds', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListBuildsInput' => [ 'type' => 'structure', 'members' => [ 'sortOrder' => [ 'shape' => 'SortOrderType', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListBuildsOutput' => [ 'type' => 'structure', 'members' => [ 'ids' => [ 'shape' => 'BuildIds', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListCuratedEnvironmentImagesInput' => [ 'type' => 'structure', 'members' => [], ], 'ListCuratedEnvironmentImagesOutput' => [ 'type' => 'structure', 'members' => [ 'platforms' => [ 'shape' => 'EnvironmentPlatforms', ], ], ], 'ListProjectsInput' => [ 'type' => 'structure', 'members' => [ 'sortBy' => [ 'shape' => 'ProjectSortByType', ], 'sortOrder' => [ 'shape' => 'SortOrderType', ], 'nextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListProjectsOutput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'projects' => [ 'shape' => 'ProjectNames', ], ], ], 'ListSourceCredentialsInput' => [ 'type' => 'structure', 'members' => [], ], 'ListSourceCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'sourceCredentialsInfos' => [ 'shape' => 'SourceCredentialsInfos', ], ], ], 'LogsConfig' => [ 'type' => 'structure', 'members' => [ 'cloudWatchLogs' => [ 'shape' => 'CloudWatchLogsConfig', ], 's3Logs' => [ 'shape' => 'S3LogsConfig', ], ], ], 'LogsConfigStatusType' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'LogsLocation' => [ 'type' => 'structure', 'members' => [ 'groupName' => [ 'shape' => 'String', ], 'streamName' => [ 'shape' => 'String', ], 'deepLink' => [ 'shape' => 'String', ], 's3DeepLink' => [ 'shape' => 'String', ], 'cloudWatchLogs' => [ 'shape' => 'CloudWatchLogsConfig', ], 's3Logs' => [ 'shape' => 'S3LogsConfig', ], ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'subnetId' => [ 'shape' => 'NonEmptyString', ], 'networkInterfaceId' => [ 'shape' => 'NonEmptyString', ], ], ], 'NonEmptyString' => [ 'type' => 'string', 'min' => 1, ], 'OAuthProviderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PhaseContext' => [ 'type' => 'structure', 'members' => [ 'statusCode' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], ], 'PhaseContexts' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhaseContext', ], ], 'PlatformType' => [ 'type' => 'string', 'enum' => [ 'DEBIAN', 'AMAZON_LINUX', 'UBUNTU', 'WINDOWS_SERVER', ], ], 'Project' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'arn' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'ProjectDescription', ], 'source' => [ 'shape' => 'ProjectSource', ], 'secondarySources' => [ 'shape' => 'ProjectSources', ], 'artifacts' => [ 'shape' => 'ProjectArtifacts', ], 'secondaryArtifacts' => [ 'shape' => 'ProjectArtifactsList', ], 'cache' => [ 'shape' => 'ProjectCache', ], 'environment' => [ 'shape' => 'ProjectEnvironment', ], 'serviceRole' => [ 'shape' => 'NonEmptyString', ], 'timeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'queuedTimeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'created' => [ 'shape' => 'Timestamp', ], 'lastModified' => [ 'shape' => 'Timestamp', ], 'webhook' => [ 'shape' => 'Webhook', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badge' => [ 'shape' => 'ProjectBadge', ], 'logsConfig' => [ 'shape' => 'LogsConfig', ], ], ], 'ProjectArtifacts' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'ArtifactsType', ], 'location' => [ 'shape' => 'String', ], 'path' => [ 'shape' => 'String', ], 'namespaceType' => [ 'shape' => 'ArtifactNamespace', ], 'name' => [ 'shape' => 'String', ], 'packaging' => [ 'shape' => 'ArtifactPackaging', ], 'overrideArtifactName' => [ 'shape' => 'WrapperBoolean', ], 'encryptionDisabled' => [ 'shape' => 'WrapperBoolean', ], 'artifactIdentifier' => [ 'shape' => 'String', ], ], ], 'ProjectArtifactsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectArtifacts', ], 'max' => 12, 'min' => 0, ], 'ProjectBadge' => [ 'type' => 'structure', 'members' => [ 'badgeEnabled' => [ 'shape' => 'Boolean', ], 'badgeRequestUrl' => [ 'shape' => 'String', ], ], ], 'ProjectCache' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'CacheType', ], 'location' => [ 'shape' => 'String', ], 'modes' => [ 'shape' => 'ProjectCacheModes', ], ], ], 'ProjectCacheModes' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheMode', ], ], 'ProjectDescription' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'ProjectEnvironment' => [ 'type' => 'structure', 'required' => [ 'type', 'image', 'computeType', ], 'members' => [ 'type' => [ 'shape' => 'EnvironmentType', ], 'image' => [ 'shape' => 'NonEmptyString', ], 'computeType' => [ 'shape' => 'ComputeType', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariables', ], 'privilegedMode' => [ 'shape' => 'WrapperBoolean', ], 'certificate' => [ 'shape' => 'String', ], 'registryCredential' => [ 'shape' => 'RegistryCredential', ], 'imagePullCredentialsType' => [ 'shape' => 'ImagePullCredentialsType', ], ], ], 'ProjectName' => [ 'type' => 'string', 'max' => 255, 'min' => 2, 'pattern' => '[A-Za-z0-9][A-Za-z0-9\\-_]{1,254}', ], 'ProjectNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 100, 'min' => 1, ], 'ProjectSecondarySourceVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSourceVersion', ], 'max' => 12, 'min' => 0, ], 'ProjectSortByType' => [ 'type' => 'string', 'enum' => [ 'NAME', 'CREATED_TIME', 'LAST_MODIFIED_TIME', ], ], 'ProjectSource' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'SourceType', ], 'location' => [ 'shape' => 'String', ], 'gitCloneDepth' => [ 'shape' => 'GitCloneDepth', ], 'gitSubmodulesConfig' => [ 'shape' => 'GitSubmodulesConfig', ], 'buildspec' => [ 'shape' => 'String', ], 'auth' => [ 'shape' => 'SourceAuth', ], 'reportBuildStatus' => [ 'shape' => 'WrapperBoolean', ], 'insecureSsl' => [ 'shape' => 'WrapperBoolean', ], 'sourceIdentifier' => [ 'shape' => 'String', ], ], ], 'ProjectSourceVersion' => [ 'type' => 'structure', 'required' => [ 'sourceIdentifier', 'sourceVersion', ], 'members' => [ 'sourceIdentifier' => [ 'shape' => 'String', ], 'sourceVersion' => [ 'shape' => 'String', ], ], ], 'ProjectSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSource', ], 'max' => 12, 'min' => 0, ], 'Projects' => [ 'type' => 'list', 'member' => [ 'shape' => 'Project', ], ], 'RegistryCredential' => [ 'type' => 'structure', 'required' => [ 'credential', 'credentialProvider', ], 'members' => [ 'credential' => [ 'shape' => 'NonEmptyString', ], 'credentialProvider' => [ 'shape' => 'CredentialProviderType', ], ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'S3LogsConfig' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'LogsConfigStatusType', ], 'location' => [ 'shape' => 'String', ], 'encryptionDisabled' => [ 'shape' => 'WrapperBoolean', ], ], ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 5, ], 'SensitiveNonEmptyString' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], 'ServerType' => [ 'type' => 'string', 'enum' => [ 'GITHUB', 'BITBUCKET', 'GITHUB_ENTERPRISE', ], ], 'SortOrderType' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'SourceAuth' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'SourceAuthType', ], 'resource' => [ 'shape' => 'String', ], ], ], 'SourceAuthType' => [ 'type' => 'string', 'enum' => [ 'OAUTH', ], ], 'SourceCredentialsInfo' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'NonEmptyString', ], 'serverType' => [ 'shape' => 'ServerType', ], 'authType' => [ 'shape' => 'AuthType', ], ], ], 'SourceCredentialsInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceCredentialsInfo', ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'CODECOMMIT', 'CODEPIPELINE', 'GITHUB', 'S3', 'BITBUCKET', 'GITHUB_ENTERPRISE', 'NO_SOURCE', ], ], 'StartBuildInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'NonEmptyString', ], 'secondarySourcesOverride' => [ 'shape' => 'ProjectSources', ], 'secondarySourcesVersionOverride' => [ 'shape' => 'ProjectSecondarySourceVersions', ], 'sourceVersion' => [ 'shape' => 'String', ], 'artifactsOverride' => [ 'shape' => 'ProjectArtifacts', ], 'secondaryArtifactsOverride' => [ 'shape' => 'ProjectArtifactsList', ], 'environmentVariablesOverride' => [ 'shape' => 'EnvironmentVariables', ], 'sourceTypeOverride' => [ 'shape' => 'SourceType', ], 'sourceLocationOverride' => [ 'shape' => 'String', ], 'sourceAuthOverride' => [ 'shape' => 'SourceAuth', ], 'gitCloneDepthOverride' => [ 'shape' => 'GitCloneDepth', ], 'gitSubmodulesConfigOverride' => [ 'shape' => 'GitSubmodulesConfig', ], 'buildspecOverride' => [ 'shape' => 'String', ], 'insecureSslOverride' => [ 'shape' => 'WrapperBoolean', ], 'reportBuildStatusOverride' => [ 'shape' => 'WrapperBoolean', ], 'environmentTypeOverride' => [ 'shape' => 'EnvironmentType', ], 'imageOverride' => [ 'shape' => 'NonEmptyString', ], 'computeTypeOverride' => [ 'shape' => 'ComputeType', ], 'certificateOverride' => [ 'shape' => 'String', ], 'cacheOverride' => [ 'shape' => 'ProjectCache', ], 'serviceRoleOverride' => [ 'shape' => 'NonEmptyString', ], 'privilegedModeOverride' => [ 'shape' => 'WrapperBoolean', ], 'timeoutInMinutesOverride' => [ 'shape' => 'TimeOut', ], 'queuedTimeoutInMinutesOverride' => [ 'shape' => 'TimeOut', ], 'idempotencyToken' => [ 'shape' => 'String', ], 'logsConfigOverride' => [ 'shape' => 'LogsConfig', ], 'registryCredentialOverride' => [ 'shape' => 'RegistryCredential', ], 'imagePullCredentialsTypeOverride' => [ 'shape' => 'ImagePullCredentialsType', ], ], ], 'StartBuildOutput' => [ 'type' => 'structure', 'members' => [ 'build' => [ 'shape' => 'Build', ], ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'FAILED', 'FAULT', 'TIMED_OUT', 'IN_PROGRESS', 'STOPPED', ], ], 'StopBuildInput' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], ], ], 'StopBuildOutput' => [ 'type' => 'structure', 'members' => [ 'build' => [ 'shape' => 'Build', ], ], ], 'String' => [ 'type' => 'string', ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 16, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'KeyInput', ], 'value' => [ 'shape' => 'ValueInput', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'TimeOut' => [ 'type' => 'integer', 'max' => 480, 'min' => 5, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UpdateProjectInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], 'description' => [ 'shape' => 'ProjectDescription', ], 'source' => [ 'shape' => 'ProjectSource', ], 'secondarySources' => [ 'shape' => 'ProjectSources', ], 'artifacts' => [ 'shape' => 'ProjectArtifacts', ], 'secondaryArtifacts' => [ 'shape' => 'ProjectArtifactsList', ], 'cache' => [ 'shape' => 'ProjectCache', ], 'environment' => [ 'shape' => 'ProjectEnvironment', ], 'serviceRole' => [ 'shape' => 'NonEmptyString', ], 'timeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'queuedTimeoutInMinutes' => [ 'shape' => 'TimeOut', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badgeEnabled' => [ 'shape' => 'WrapperBoolean', ], 'logsConfig' => [ 'shape' => 'LogsConfig', ], ], ], 'UpdateProjectOutput' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'UpdateWebhookInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'branchFilter' => [ 'shape' => 'String', ], 'rotateSecret' => [ 'shape' => 'Boolean', ], 'filterGroups' => [ 'shape' => 'FilterGroups', ], ], ], 'UpdateWebhookOutput' => [ 'type' => 'structure', 'members' => [ 'webhook' => [ 'shape' => 'Webhook', ], ], ], 'ValueInput' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$', ], 'VpcConfig' => [ 'type' => 'structure', 'members' => [ 'vpcId' => [ 'shape' => 'NonEmptyString', ], 'subnets' => [ 'shape' => 'Subnets', ], 'securityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], ], ], 'Webhook' => [ 'type' => 'structure', 'members' => [ 'url' => [ 'shape' => 'NonEmptyString', ], 'payloadUrl' => [ 'shape' => 'NonEmptyString', ], 'secret' => [ 'shape' => 'NonEmptyString', ], 'branchFilter' => [ 'shape' => 'String', ], 'filterGroups' => [ 'shape' => 'FilterGroups', ], 'lastModifiedSecret' => [ 'shape' => 'Timestamp', ], ], ], 'WebhookFilter' => [ 'type' => 'structure', 'required' => [ 'type', 'pattern', ], 'members' => [ 'type' => [ 'shape' => 'WebhookFilterType', ], 'pattern' => [ 'shape' => 'String', ], 'excludeMatchedPattern' => [ 'shape' => 'WrapperBoolean', ], ], ], 'WebhookFilterType' => [ 'type' => 'string', 'enum' => [ 'EVENT', 'BASE_REF', 'HEAD_REF', 'ACTOR_ACCOUNT_ID', 'FILE_PATH', ], ], 'WrapperBoolean' => [ 'type' => 'boolean', ], 'WrapperInt' => [ 'type' => 'integer', ], 'WrapperLong' => [ 'type' => 'long', ], ],]; diff --git a/lib/aws/Aws/data/codebuild/2016-10-06/paginators-1.json.php b/lib/aws/Aws/data/codebuild/2016-10-06/paginators-1.json.php new file mode 100644 index 0000000..31155c1 --- /dev/null +++ b/lib/aws/Aws/data/codebuild/2016-10-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codebuild/2016-10-06/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/codebuild/2016-10-06/smoke.json.php b/lib/aws/Aws/data/codebuild/2016-10-06/smoke.json.php new file mode 100644 index 0000000..c2bc24c --- /dev/null +++ b/lib/aws/Aws/data/codebuild/2016-10-06/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codebuild/2016-10-06/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListBuilds', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/codecommit/2015-04-13/api-2.json.php b/lib/aws/Aws/data/codecommit/2015-04-13/api-2.json.php new file mode 100644 index 0000000..84e8430 --- /dev/null +++ b/lib/aws/Aws/data/codecommit/2015-04-13/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codecommit/2015-04-13/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-04-13', 'endpointPrefix' => 'codecommit', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodeCommit', 'serviceFullName' => 'AWS CodeCommit', 'serviceId' => 'CodeCommit', 'signatureVersion' => 'v4', 'targetPrefix' => 'CodeCommit_20150413', 'uid' => 'codecommit-2015-04-13', ], 'operations' => [ 'BatchGetRepositories' => [ 'name' => 'BatchGetRepositories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetRepositoriesInput', ], 'output' => [ 'shape' => 'BatchGetRepositoriesOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNamesRequiredException', ], [ 'shape' => 'MaximumRepositoryNamesExceededException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'CreateBranch' => [ 'name' => 'CreateBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBranchInput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'BranchNameExistsException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'CreateCommit' => [ 'name' => 'CreateCommit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCommitInput', ], 'output' => [ 'shape' => 'CreateCommitOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'ParentCommitIdRequiredException', ], [ 'shape' => 'InvalidParentCommitIdException', ], [ 'shape' => 'ParentCommitDoesNotExistException', ], [ 'shape' => 'ParentCommitIdOutdatedException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'BranchNameIsTagNameException', ], [ 'shape' => 'FileEntryRequiredException', ], [ 'shape' => 'MaximumFileEntriesExceededException', ], [ 'shape' => 'PutFileEntryConflictException', ], [ 'shape' => 'SourceFileOrContentRequiredException', ], [ 'shape' => 'FileContentAndSourceFileSpecifiedException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'SamePathRequestException', ], [ 'shape' => 'FileDoesNotExistException', ], [ 'shape' => 'FileContentSizeLimitExceededException', ], [ 'shape' => 'FolderContentSizeLimitExceededException', ], [ 'shape' => 'InvalidDeletionParameterException', ], [ 'shape' => 'RestrictedSourceFileException', ], [ 'shape' => 'FileModeRequiredException', ], [ 'shape' => 'InvalidFileModeException', ], [ 'shape' => 'NameLengthExceededException', ], [ 'shape' => 'InvalidEmailException', ], [ 'shape' => 'CommitMessageLengthExceededException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'NoChangeException', ], [ 'shape' => 'FileNameConflictsWithDirectoryNameException', ], [ 'shape' => 'DirectoryNameConflictsWithFileNameException', ], [ 'shape' => 'FilePathConflictsWithSubmodulePathException', ], ], ], 'CreatePullRequest' => [ 'name' => 'CreatePullRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePullRequestInput', ], 'output' => [ 'shape' => 'CreatePullRequestOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'ClientRequestTokenRequiredException', ], [ 'shape' => 'InvalidClientRequestTokenException', ], [ 'shape' => 'IdempotencyParameterMismatchException', ], [ 'shape' => 'ReferenceNameRequiredException', ], [ 'shape' => 'InvalidReferenceNameException', ], [ 'shape' => 'ReferenceDoesNotExistException', ], [ 'shape' => 'ReferenceTypeNotSupportedException', ], [ 'shape' => 'TitleRequiredException', ], [ 'shape' => 'InvalidTitleException', ], [ 'shape' => 'InvalidDescriptionException', ], [ 'shape' => 'TargetsRequiredException', ], [ 'shape' => 'InvalidTargetsException', ], [ 'shape' => 'TargetRequiredException', ], [ 'shape' => 'InvalidTargetException', ], [ 'shape' => 'MultipleRepositoriesInPullRequestException', ], [ 'shape' => 'MaximumOpenPullRequestsExceededException', ], [ 'shape' => 'SourceAndDestinationAreSameException', ], ], ], 'CreateRepository' => [ 'name' => 'CreateRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRepositoryInput', ], 'output' => [ 'shape' => 'CreateRepositoryOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameExistsException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'InvalidRepositoryDescriptionException', ], [ 'shape' => 'RepositoryLimitExceededException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'DeleteBranch' => [ 'name' => 'DeleteBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBranchInput', ], 'output' => [ 'shape' => 'DeleteBranchOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'DefaultBranchCannotBeDeletedException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'DeleteCommentContent' => [ 'name' => 'DeleteCommentContent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCommentContentInput', ], 'output' => [ 'shape' => 'DeleteCommentContentOutput', ], 'errors' => [ [ 'shape' => 'CommentDoesNotExistException', ], [ 'shape' => 'CommentIdRequiredException', ], [ 'shape' => 'InvalidCommentIdException', ], [ 'shape' => 'CommentDeletedException', ], ], ], 'DeleteFile' => [ 'name' => 'DeleteFile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFileInput', ], 'output' => [ 'shape' => 'DeleteFileOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'ParentCommitIdRequiredException', ], [ 'shape' => 'InvalidParentCommitIdException', ], [ 'shape' => 'ParentCommitDoesNotExistException', ], [ 'shape' => 'ParentCommitIdOutdatedException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'FileDoesNotExistException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'BranchNameIsTagNameException', ], [ 'shape' => 'NameLengthExceededException', ], [ 'shape' => 'InvalidEmailException', ], [ 'shape' => 'CommitMessageLengthExceededException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'DeleteRepository' => [ 'name' => 'DeleteRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRepositoryInput', ], 'output' => [ 'shape' => 'DeleteRepositoryOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'DescribePullRequestEvents' => [ 'name' => 'DescribePullRequestEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePullRequestEventsInput', ], 'output' => [ 'shape' => 'DescribePullRequestEventsOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'InvalidPullRequestEventTypeException', ], [ 'shape' => 'InvalidActorArnException', ], [ 'shape' => 'ActorDoesNotExistException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidContinuationTokenException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetBlob' => [ 'name' => 'GetBlob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetBlobInput', ], 'output' => [ 'shape' => 'GetBlobOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'BlobIdRequiredException', ], [ 'shape' => 'InvalidBlobIdException', ], [ 'shape' => 'BlobIdDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'FileTooLargeException', ], ], ], 'GetBranch' => [ 'name' => 'GetBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetBranchInput', ], 'output' => [ 'shape' => 'GetBranchOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetComment' => [ 'name' => 'GetComment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCommentInput', ], 'output' => [ 'shape' => 'GetCommentOutput', ], 'errors' => [ [ 'shape' => 'CommentDoesNotExistException', ], [ 'shape' => 'CommentIdRequiredException', ], [ 'shape' => 'InvalidCommentIdException', ], [ 'shape' => 'CommentDeletedException', ], ], ], 'GetCommentsForComparedCommit' => [ 'name' => 'GetCommentsForComparedCommit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCommentsForComparedCommitInput', ], 'output' => [ 'shape' => 'GetCommentsForComparedCommitOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidContinuationTokenException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetCommentsForPullRequest' => [ 'name' => 'GetCommentsForPullRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCommentsForPullRequestInput', ], 'output' => [ 'shape' => 'GetCommentsForPullRequestOutput', ], 'errors' => [ [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidContinuationTokenException', ], [ 'shape' => 'RepositoryNotAssociatedWithPullRequestException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetCommit' => [ 'name' => 'GetCommit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCommitInput', ], 'output' => [ 'shape' => 'GetCommitOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'CommitIdDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetDifferences' => [ 'name' => 'GetDifferences', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDifferencesInput', ], 'output' => [ 'shape' => 'GetDifferencesOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'InvalidContinuationTokenException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'CommitRequiredException', ], [ 'shape' => 'InvalidCommitException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'PathDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetFile' => [ 'name' => 'GetFile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFileInput', ], 'output' => [ 'shape' => 'GetFileOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidCommitException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'FileDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'FileTooLargeException', ], ], ], 'GetFolder' => [ 'name' => 'GetFolder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFolderInput', ], 'output' => [ 'shape' => 'GetFolderOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidCommitException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'FolderDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetMergeConflicts' => [ 'name' => 'GetMergeConflicts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMergeConflictsInput', ], 'output' => [ 'shape' => 'GetMergeConflictsOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'MergeOptionRequiredException', ], [ 'shape' => 'InvalidMergeOptionException', ], [ 'shape' => 'InvalidDestinationCommitSpecifierException', ], [ 'shape' => 'InvalidSourceCommitSpecifierException', ], [ 'shape' => 'CommitRequiredException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidCommitException', ], [ 'shape' => 'TipsDivergenceExceededException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetPullRequest' => [ 'name' => 'GetPullRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPullRequestInput', ], 'output' => [ 'shape' => 'GetPullRequestOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetRepository' => [ 'name' => 'GetRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRepositoryInput', ], 'output' => [ 'shape' => 'GetRepositoryOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'GetRepositoryTriggers' => [ 'name' => 'GetRepositoryTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRepositoryTriggersInput', ], 'output' => [ 'shape' => 'GetRepositoryTriggersOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'ListBranches' => [ 'name' => 'ListBranches', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBranchesInput', ], 'output' => [ 'shape' => 'ListBranchesOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'InvalidContinuationTokenException', ], ], ], 'ListPullRequests' => [ 'name' => 'ListPullRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPullRequestsInput', ], 'output' => [ 'shape' => 'ListPullRequestsOutput', ], 'errors' => [ [ 'shape' => 'InvalidPullRequestStatusException', ], [ 'shape' => 'InvalidAuthorArnException', ], [ 'shape' => 'AuthorDoesNotExistException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'InvalidContinuationTokenException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'ListRepositories' => [ 'name' => 'ListRepositories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRepositoriesInput', ], 'output' => [ 'shape' => 'ListRepositoriesOutput', ], 'errors' => [ [ 'shape' => 'InvalidSortByException', ], [ 'shape' => 'InvalidOrderException', ], [ 'shape' => 'InvalidContinuationTokenException', ], ], ], 'MergePullRequestByFastForward' => [ 'name' => 'MergePullRequestByFastForward', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MergePullRequestByFastForwardInput', ], 'output' => [ 'shape' => 'MergePullRequestByFastForwardOutput', ], 'errors' => [ [ 'shape' => 'ManualMergeRequiredException', ], [ 'shape' => 'PullRequestAlreadyClosedException', ], [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'TipOfSourceReferenceIsDifferentException', ], [ 'shape' => 'ReferenceDoesNotExistException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'PostCommentForComparedCommit' => [ 'name' => 'PostCommentForComparedCommit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PostCommentForComparedCommitInput', ], 'output' => [ 'shape' => 'PostCommentForComparedCommitOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'ClientRequestTokenRequiredException', ], [ 'shape' => 'InvalidClientRequestTokenException', ], [ 'shape' => 'IdempotencyParameterMismatchException', ], [ 'shape' => 'CommentContentRequiredException', ], [ 'shape' => 'CommentContentSizeLimitExceededException', ], [ 'shape' => 'InvalidFileLocationException', ], [ 'shape' => 'InvalidRelativeFileVersionEnumException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidFilePositionException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'BeforeCommitIdAndAfterCommitIdAreSameException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'PathDoesNotExistException', ], ], 'idempotent' => true, ], 'PostCommentForPullRequest' => [ 'name' => 'PostCommentForPullRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PostCommentForPullRequestInput', ], 'output' => [ 'shape' => 'PostCommentForPullRequestOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'RepositoryNotAssociatedWithPullRequestException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'ClientRequestTokenRequiredException', ], [ 'shape' => 'InvalidClientRequestTokenException', ], [ 'shape' => 'IdempotencyParameterMismatchException', ], [ 'shape' => 'CommentContentRequiredException', ], [ 'shape' => 'CommentContentSizeLimitExceededException', ], [ 'shape' => 'InvalidFileLocationException', ], [ 'shape' => 'InvalidRelativeFileVersionEnumException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidFilePositionException', ], [ 'shape' => 'CommitIdRequiredException', ], [ 'shape' => 'InvalidCommitIdException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'CommitDoesNotExistException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'PathDoesNotExistException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'BeforeCommitIdAndAfterCommitIdAreSameException', ], ], 'idempotent' => true, ], 'PostCommentReply' => [ 'name' => 'PostCommentReply', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PostCommentReplyInput', ], 'output' => [ 'shape' => 'PostCommentReplyOutput', ], 'errors' => [ [ 'shape' => 'ClientRequestTokenRequiredException', ], [ 'shape' => 'InvalidClientRequestTokenException', ], [ 'shape' => 'IdempotencyParameterMismatchException', ], [ 'shape' => 'CommentContentRequiredException', ], [ 'shape' => 'CommentContentSizeLimitExceededException', ], [ 'shape' => 'CommentDoesNotExistException', ], [ 'shape' => 'CommentIdRequiredException', ], [ 'shape' => 'InvalidCommentIdException', ], ], 'idempotent' => true, ], 'PutFile' => [ 'name' => 'PutFile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutFileInput', ], 'output' => [ 'shape' => 'PutFileOutput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'ParentCommitIdRequiredException', ], [ 'shape' => 'InvalidParentCommitIdException', ], [ 'shape' => 'ParentCommitDoesNotExistException', ], [ 'shape' => 'ParentCommitIdOutdatedException', ], [ 'shape' => 'FileContentRequiredException', ], [ 'shape' => 'FileContentSizeLimitExceededException', ], [ 'shape' => 'FolderContentSizeLimitExceededException', ], [ 'shape' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'BranchNameIsTagNameException', ], [ 'shape' => 'InvalidFileModeException', ], [ 'shape' => 'NameLengthExceededException', ], [ 'shape' => 'InvalidEmailException', ], [ 'shape' => 'CommitMessageLengthExceededException', ], [ 'shape' => 'InvalidDeletionParameterException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'SameFileContentException', ], [ 'shape' => 'FileNameConflictsWithDirectoryNameException', ], [ 'shape' => 'DirectoryNameConflictsWithFileNameException', ], [ 'shape' => 'FilePathConflictsWithSubmodulePathException', ], ], ], 'PutRepositoryTriggers' => [ 'name' => 'PutRepositoryTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRepositoryTriggersInput', ], 'output' => [ 'shape' => 'PutRepositoryTriggersOutput', ], 'errors' => [ [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryTriggersListRequiredException', ], [ 'shape' => 'MaximumRepositoryTriggersExceededException', ], [ 'shape' => 'InvalidRepositoryTriggerNameException', ], [ 'shape' => 'InvalidRepositoryTriggerDestinationArnException', ], [ 'shape' => 'InvalidRepositoryTriggerRegionException', ], [ 'shape' => 'InvalidRepositoryTriggerCustomDataException', ], [ 'shape' => 'MaximumBranchesExceededException', ], [ 'shape' => 'InvalidRepositoryTriggerBranchNameException', ], [ 'shape' => 'InvalidRepositoryTriggerEventsException', ], [ 'shape' => 'RepositoryTriggerNameRequiredException', ], [ 'shape' => 'RepositoryTriggerDestinationArnRequiredException', ], [ 'shape' => 'RepositoryTriggerBranchNameListRequiredException', ], [ 'shape' => 'RepositoryTriggerEventsListRequiredException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'TestRepositoryTriggers' => [ 'name' => 'TestRepositoryTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestRepositoryTriggersInput', ], 'output' => [ 'shape' => 'TestRepositoryTriggersOutput', ], 'errors' => [ [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'RepositoryTriggersListRequiredException', ], [ 'shape' => 'MaximumRepositoryTriggersExceededException', ], [ 'shape' => 'InvalidRepositoryTriggerNameException', ], [ 'shape' => 'InvalidRepositoryTriggerDestinationArnException', ], [ 'shape' => 'InvalidRepositoryTriggerRegionException', ], [ 'shape' => 'InvalidRepositoryTriggerCustomDataException', ], [ 'shape' => 'MaximumBranchesExceededException', ], [ 'shape' => 'InvalidRepositoryTriggerBranchNameException', ], [ 'shape' => 'InvalidRepositoryTriggerEventsException', ], [ 'shape' => 'RepositoryTriggerNameRequiredException', ], [ 'shape' => 'RepositoryTriggerDestinationArnRequiredException', ], [ 'shape' => 'RepositoryTriggerBranchNameListRequiredException', ], [ 'shape' => 'RepositoryTriggerEventsListRequiredException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'UpdateComment' => [ 'name' => 'UpdateComment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCommentInput', ], 'output' => [ 'shape' => 'UpdateCommentOutput', ], 'errors' => [ [ 'shape' => 'CommentContentRequiredException', ], [ 'shape' => 'CommentContentSizeLimitExceededException', ], [ 'shape' => 'CommentDoesNotExistException', ], [ 'shape' => 'CommentIdRequiredException', ], [ 'shape' => 'InvalidCommentIdException', ], [ 'shape' => 'CommentNotCreatedByCallerException', ], [ 'shape' => 'CommentDeletedException', ], ], ], 'UpdateDefaultBranch' => [ 'name' => 'UpdateDefaultBranch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDefaultBranchInput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'UpdatePullRequestDescription' => [ 'name' => 'UpdatePullRequestDescription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePullRequestDescriptionInput', ], 'output' => [ 'shape' => 'UpdatePullRequestDescriptionOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'InvalidDescriptionException', ], [ 'shape' => 'PullRequestAlreadyClosedException', ], ], ], 'UpdatePullRequestStatus' => [ 'name' => 'UpdatePullRequestStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePullRequestStatusInput', ], 'output' => [ 'shape' => 'UpdatePullRequestStatusOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'InvalidPullRequestStatusUpdateException', ], [ 'shape' => 'InvalidPullRequestStatusException', ], [ 'shape' => 'PullRequestStatusRequiredException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'UpdatePullRequestTitle' => [ 'name' => 'UpdatePullRequestTitle', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePullRequestTitleInput', ], 'output' => [ 'shape' => 'UpdatePullRequestTitleOutput', ], 'errors' => [ [ 'shape' => 'PullRequestDoesNotExistException', ], [ 'shape' => 'InvalidPullRequestIdException', ], [ 'shape' => 'PullRequestIdRequiredException', ], [ 'shape' => 'TitleRequiredException', ], [ 'shape' => 'InvalidTitleException', ], [ 'shape' => 'PullRequestAlreadyClosedException', ], ], ], 'UpdateRepositoryDescription' => [ 'name' => 'UpdateRepositoryDescription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRepositoryDescriptionInput', ], 'errors' => [ [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'InvalidRepositoryNameException', ], [ 'shape' => 'InvalidRepositoryDescriptionException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], ], ], 'UpdateRepositoryName' => [ 'name' => 'UpdateRepositoryName', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRepositoryNameInput', ], 'errors' => [ [ 'shape' => 'RepositoryDoesNotExistException', ], [ 'shape' => 'RepositoryNameExistsException', ], [ 'shape' => 'RepositoryNameRequiredException', ], [ 'shape' => 'InvalidRepositoryNameException', ], ], ], ], 'shapes' => [ 'AccountId' => [ 'type' => 'string', ], 'ActorDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AdditionalData' => [ 'type' => 'string', ], 'Arn' => [ 'type' => 'string', ], 'AuthorDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BatchGetRepositoriesInput' => [ 'type' => 'structure', 'required' => [ 'repositoryNames', ], 'members' => [ 'repositoryNames' => [ 'shape' => 'RepositoryNameList', ], ], ], 'BatchGetRepositoriesOutput' => [ 'type' => 'structure', 'members' => [ 'repositories' => [ 'shape' => 'RepositoryMetadataList', ], 'repositoriesNotFound' => [ 'shape' => 'RepositoryNotFoundList', ], ], ], 'BeforeCommitIdAndAfterCommitIdAreSameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BlobIdDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BlobIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BlobMetadata' => [ 'type' => 'structure', 'members' => [ 'blobId' => [ 'shape' => 'ObjectId', ], 'path' => [ 'shape' => 'Path', ], 'mode' => [ 'shape' => 'Mode', ], ], ], 'BranchDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BranchInfo' => [ 'type' => 'structure', 'members' => [ 'branchName' => [ 'shape' => 'BranchName', ], 'commitId' => [ 'shape' => 'CommitId', ], ], ], 'BranchName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'BranchNameExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BranchNameIsTagNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BranchNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BranchName', ], ], 'BranchNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ChangeTypeEnum' => [ 'type' => 'string', 'enum' => [ 'A', 'M', 'D', ], ], 'ClientRequestToken' => [ 'type' => 'string', ], 'ClientRequestTokenRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CloneUrlHttp' => [ 'type' => 'string', ], 'CloneUrlSsh' => [ 'type' => 'string', ], 'Comment' => [ 'type' => 'structure', 'members' => [ 'commentId' => [ 'shape' => 'CommentId', ], 'content' => [ 'shape' => 'Content', ], 'inReplyTo' => [ 'shape' => 'CommentId', ], 'creationDate' => [ 'shape' => 'CreationDate', ], 'lastModifiedDate' => [ 'shape' => 'LastModifiedDate', ], 'authorArn' => [ 'shape' => 'Arn', ], 'deleted' => [ 'shape' => 'IsCommentDeleted', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'CommentContentRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommentContentSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommentDeletedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommentDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommentId' => [ 'type' => 'string', ], 'CommentIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommentNotCreatedByCallerException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Comments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Comment', ], ], 'CommentsForComparedCommit' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'beforeBlobId' => [ 'shape' => 'ObjectId', ], 'afterBlobId' => [ 'shape' => 'ObjectId', ], 'location' => [ 'shape' => 'Location', ], 'comments' => [ 'shape' => 'Comments', ], ], ], 'CommentsForComparedCommitData' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommentsForComparedCommit', ], ], 'CommentsForPullRequest' => [ 'type' => 'structure', 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'beforeBlobId' => [ 'shape' => 'ObjectId', ], 'afterBlobId' => [ 'shape' => 'ObjectId', ], 'location' => [ 'shape' => 'Location', ], 'comments' => [ 'shape' => 'Comments', ], ], ], 'CommentsForPullRequestData' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommentsForPullRequest', ], ], 'Commit' => [ 'type' => 'structure', 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'treeId' => [ 'shape' => 'ObjectId', ], 'parents' => [ 'shape' => 'ParentList', ], 'message' => [ 'shape' => 'Message', ], 'author' => [ 'shape' => 'UserInfo', ], 'committer' => [ 'shape' => 'UserInfo', ], 'additionalData' => [ 'shape' => 'AdditionalData', ], ], ], 'CommitDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommitId' => [ 'type' => 'string', ], 'CommitIdDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommitIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommitMessageLengthExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CommitName' => [ 'type' => 'string', ], 'CommitRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Content' => [ 'type' => 'string', ], 'CreateBranchInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'branchName', 'commitId', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], 'commitId' => [ 'shape' => 'CommitId', ], ], ], 'CreateCommitInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'branchName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], 'parentCommitId' => [ 'shape' => 'CommitId', ], 'authorName' => [ 'shape' => 'Name', ], 'email' => [ 'shape' => 'Email', ], 'commitMessage' => [ 'shape' => 'Message', ], 'keepEmptyFolders' => [ 'shape' => 'KeepEmptyFolders', ], 'putFiles' => [ 'shape' => 'PutFileEntries', ], 'deleteFiles' => [ 'shape' => 'DeleteFileEntries', ], 'setFileModes' => [ 'shape' => 'SetFileModeEntries', ], ], ], 'CreateCommitOutput' => [ 'type' => 'structure', 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'treeId' => [ 'shape' => 'ObjectId', ], 'filesAdded' => [ 'shape' => 'FilesMetadata', ], 'filesUpdated' => [ 'shape' => 'FilesMetadata', ], 'filesDeleted' => [ 'shape' => 'FilesMetadata', ], ], ], 'CreatePullRequestInput' => [ 'type' => 'structure', 'required' => [ 'title', 'targets', ], 'members' => [ 'title' => [ 'shape' => 'Title', ], 'description' => [ 'shape' => 'Description', ], 'targets' => [ 'shape' => 'TargetList', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreatePullRequestOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequest', ], 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'CreateRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'repositoryDescription' => [ 'shape' => 'RepositoryDescription', ], ], ], 'CreateRepositoryOutput' => [ 'type' => 'structure', 'members' => [ 'repositoryMetadata' => [ 'shape' => 'RepositoryMetadata', ], ], ], 'CreationDate' => [ 'type' => 'timestamp', ], 'Date' => [ 'type' => 'string', ], 'DefaultBranchCannotBeDeletedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeleteBranchInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'branchName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], ], ], 'DeleteBranchOutput' => [ 'type' => 'structure', 'members' => [ 'deletedBranch' => [ 'shape' => 'BranchInfo', ], ], ], 'DeleteCommentContentInput' => [ 'type' => 'structure', 'required' => [ 'commentId', ], 'members' => [ 'commentId' => [ 'shape' => 'CommentId', ], ], ], 'DeleteCommentContentOutput' => [ 'type' => 'structure', 'members' => [ 'comment' => [ 'shape' => 'Comment', ], ], ], 'DeleteFileEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteFileEntry', ], ], 'DeleteFileEntry' => [ 'type' => 'structure', 'required' => [ 'filePath', ], 'members' => [ 'filePath' => [ 'shape' => 'Path', ], ], ], 'DeleteFileInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'branchName', 'filePath', 'parentCommitId', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], 'filePath' => [ 'shape' => 'Path', ], 'parentCommitId' => [ 'shape' => 'CommitId', ], 'keepEmptyFolders' => [ 'shape' => 'KeepEmptyFolders', ], 'commitMessage' => [ 'shape' => 'Message', ], 'name' => [ 'shape' => 'Name', ], 'email' => [ 'shape' => 'Email', ], ], ], 'DeleteFileOutput' => [ 'type' => 'structure', 'required' => [ 'commitId', 'blobId', 'treeId', 'filePath', ], 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'blobId' => [ 'shape' => 'ObjectId', ], 'treeId' => [ 'shape' => 'ObjectId', ], 'filePath' => [ 'shape' => 'Path', ], ], ], 'DeleteRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'DeleteRepositoryOutput' => [ 'type' => 'structure', 'members' => [ 'repositoryId' => [ 'shape' => 'RepositoryId', ], ], ], 'DescribePullRequestEventsInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'pullRequestEventType' => [ 'shape' => 'PullRequestEventType', ], 'actorArn' => [ 'shape' => 'Arn', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribePullRequestEventsOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequestEvents', ], 'members' => [ 'pullRequestEvents' => [ 'shape' => 'PullRequestEventList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 10240, ], 'Difference' => [ 'type' => 'structure', 'members' => [ 'beforeBlob' => [ 'shape' => 'BlobMetadata', ], 'afterBlob' => [ 'shape' => 'BlobMetadata', ], 'changeType' => [ 'shape' => 'ChangeTypeEnum', ], ], ], 'DifferenceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Difference', ], ], 'DirectoryNameConflictsWithFileNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Email' => [ 'type' => 'string', ], 'EncryptionIntegrityChecksFailedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'EncryptionKeyAccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EncryptionKeyDisabledException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EncryptionKeyNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EncryptionKeyUnavailableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EventDate' => [ 'type' => 'timestamp', ], 'File' => [ 'type' => 'structure', 'members' => [ 'blobId' => [ 'shape' => 'ObjectId', ], 'absolutePath' => [ 'shape' => 'Path', ], 'relativePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], ], ], 'FileContent' => [ 'type' => 'blob', 'max' => 6291456, ], 'FileContentAndSourceFileSpecifiedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileContentRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileContentSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileEntryRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'File', ], ], 'FileMetadata' => [ 'type' => 'structure', 'members' => [ 'absolutePath' => [ 'shape' => 'Path', ], 'blobId' => [ 'shape' => 'ObjectId', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], ], ], 'FileModeRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileModeTypeEnum' => [ 'type' => 'string', 'enum' => [ 'EXECUTABLE', 'NORMAL', 'SYMLINK', ], ], 'FileNameConflictsWithDirectoryNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FilePathConflictsWithSubmodulePathException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FilesMetadata' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileMetadata', ], ], 'Folder' => [ 'type' => 'structure', 'members' => [ 'treeId' => [ 'shape' => 'ObjectId', ], 'absolutePath' => [ 'shape' => 'Path', ], 'relativePath' => [ 'shape' => 'Path', ], ], ], 'FolderContentSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FolderDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FolderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Folder', ], ], 'GetBlobInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'blobId', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'blobId' => [ 'shape' => 'ObjectId', ], ], ], 'GetBlobOutput' => [ 'type' => 'structure', 'required' => [ 'content', ], 'members' => [ 'content' => [ 'shape' => 'blob', ], ], ], 'GetBranchInput' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], ], ], 'GetBranchOutput' => [ 'type' => 'structure', 'members' => [ 'branch' => [ 'shape' => 'BranchInfo', ], ], ], 'GetCommentInput' => [ 'type' => 'structure', 'required' => [ 'commentId', ], 'members' => [ 'commentId' => [ 'shape' => 'CommentId', ], ], ], 'GetCommentOutput' => [ 'type' => 'structure', 'members' => [ 'comment' => [ 'shape' => 'Comment', ], ], ], 'GetCommentsForComparedCommitInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'afterCommitId', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetCommentsForComparedCommitOutput' => [ 'type' => 'structure', 'members' => [ 'commentsForComparedCommitData' => [ 'shape' => 'CommentsForComparedCommitData', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetCommentsForPullRequestInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetCommentsForPullRequestOutput' => [ 'type' => 'structure', 'members' => [ 'commentsForPullRequestData' => [ 'shape' => 'CommentsForPullRequestData', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetCommitInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'commitId', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'commitId' => [ 'shape' => 'ObjectId', ], ], ], 'GetCommitOutput' => [ 'type' => 'structure', 'required' => [ 'commit', ], 'members' => [ 'commit' => [ 'shape' => 'Commit', ], ], ], 'GetDifferencesInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'afterCommitSpecifier', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitSpecifier' => [ 'shape' => 'CommitName', ], 'afterCommitSpecifier' => [ 'shape' => 'CommitName', ], 'beforePath' => [ 'shape' => 'Path', ], 'afterPath' => [ 'shape' => 'Path', ], 'MaxResults' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetDifferencesOutput' => [ 'type' => 'structure', 'members' => [ 'differences' => [ 'shape' => 'DifferenceList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetFileInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'filePath', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'commitSpecifier' => [ 'shape' => 'CommitName', ], 'filePath' => [ 'shape' => 'Path', ], ], ], 'GetFileOutput' => [ 'type' => 'structure', 'required' => [ 'commitId', 'blobId', 'filePath', 'fileMode', 'fileSize', 'fileContent', ], 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'blobId' => [ 'shape' => 'ObjectId', ], 'filePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], 'fileSize' => [ 'shape' => 'ObjectSize', ], 'fileContent' => [ 'shape' => 'FileContent', ], ], ], 'GetFolderInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'folderPath', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'commitSpecifier' => [ 'shape' => 'CommitName', ], 'folderPath' => [ 'shape' => 'Path', ], ], ], 'GetFolderOutput' => [ 'type' => 'structure', 'required' => [ 'commitId', 'folderPath', ], 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'folderPath' => [ 'shape' => 'Path', ], 'treeId' => [ 'shape' => 'ObjectId', ], 'subFolders' => [ 'shape' => 'FolderList', ], 'files' => [ 'shape' => 'FileList', ], 'symbolicLinks' => [ 'shape' => 'SymbolicLinkList', ], 'subModules' => [ 'shape' => 'SubModuleList', ], ], ], 'GetMergeConflictsInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'destinationCommitSpecifier', 'sourceCommitSpecifier', 'mergeOption', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'destinationCommitSpecifier' => [ 'shape' => 'CommitName', ], 'sourceCommitSpecifier' => [ 'shape' => 'CommitName', ], 'mergeOption' => [ 'shape' => 'MergeOptionTypeEnum', ], ], ], 'GetMergeConflictsOutput' => [ 'type' => 'structure', 'required' => [ 'mergeable', 'destinationCommitId', 'sourceCommitId', ], 'members' => [ 'mergeable' => [ 'shape' => 'IsMergeable', ], 'destinationCommitId' => [ 'shape' => 'CommitId', ], 'sourceCommitId' => [ 'shape' => 'CommitId', ], ], ], 'GetPullRequestInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], ], ], 'GetPullRequestOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequest', ], 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'GetRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'GetRepositoryOutput' => [ 'type' => 'structure', 'members' => [ 'repositoryMetadata' => [ 'shape' => 'RepositoryMetadata', ], ], ], 'GetRepositoryTriggersInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'GetRepositoryTriggersOutput' => [ 'type' => 'structure', 'members' => [ 'configurationId' => [ 'shape' => 'RepositoryTriggersConfigurationId', ], 'triggers' => [ 'shape' => 'RepositoryTriggersList', ], ], ], 'IdempotencyParameterMismatchException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidActorArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidAuthorArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBlobIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBranchNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidClientRequestTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidCommentIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidCommitException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidCommitIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidContinuationTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeletionParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDescriptionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDestinationCommitSpecifierException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidEmailException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidFileLocationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidFileModeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidFilePositionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidMaxResultsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidMergeOptionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidOrderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParentCommitIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPathException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPullRequestEventTypeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPullRequestIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPullRequestStatusException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPullRequestStatusUpdateException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidReferenceNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRelativeFileVersionEnumException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryDescriptionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerBranchNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerCustomDataException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerDestinationArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerEventsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRepositoryTriggerRegionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSortByException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSourceCommitSpecifierException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTitleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IsCommentDeleted' => [ 'type' => 'boolean', ], 'IsMergeable' => [ 'type' => 'boolean', ], 'IsMerged' => [ 'type' => 'boolean', ], 'IsMove' => [ 'type' => 'boolean', ], 'KeepEmptyFolders' => [ 'type' => 'boolean', ], 'LastModifiedDate' => [ 'type' => 'timestamp', ], 'Limit' => [ 'type' => 'integer', 'box' => true, ], 'ListBranchesInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListBranchesOutput' => [ 'type' => 'structure', 'members' => [ 'branches' => [ 'shape' => 'BranchNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPullRequestsInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'authorArn' => [ 'shape' => 'Arn', ], 'pullRequestStatus' => [ 'shape' => 'PullRequestStatusEnum', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListPullRequestsOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequestIds', ], 'members' => [ 'pullRequestIds' => [ 'shape' => 'PullRequestIdList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListRepositoriesInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'sortBy' => [ 'shape' => 'SortByEnum', ], 'order' => [ 'shape' => 'OrderEnum', ], ], ], 'ListRepositoriesOutput' => [ 'type' => 'structure', 'members' => [ 'repositories' => [ 'shape' => 'RepositoryNameIdPairList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'Location' => [ 'type' => 'structure', 'members' => [ 'filePath' => [ 'shape' => 'Path', ], 'filePosition' => [ 'shape' => 'Position', ], 'relativeFileVersion' => [ 'shape' => 'RelativeFileVersionEnum', ], ], ], 'ManualMergeRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', ], 'MaximumBranchesExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumFileEntriesExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumOpenPullRequestsExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumRepositoryNamesExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumRepositoryTriggersExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MergeMetadata' => [ 'type' => 'structure', 'members' => [ 'isMerged' => [ 'shape' => 'IsMerged', ], 'mergedBy' => [ 'shape' => 'Arn', ], ], ], 'MergeOptionRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MergeOptionTypeEnum' => [ 'type' => 'string', 'enum' => [ 'FAST_FORWARD_MERGE', ], ], 'MergePullRequestByFastForwardInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', 'repositoryName', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'sourceCommitId' => [ 'shape' => 'CommitId', ], ], ], 'MergePullRequestByFastForwardOutput' => [ 'type' => 'structure', 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'Message' => [ 'type' => 'string', ], 'Mode' => [ 'type' => 'string', ], 'MultipleRepositoriesInPullRequestException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Name' => [ 'type' => 'string', ], 'NameLengthExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NoChangeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectId' => [ 'type' => 'string', ], 'ObjectSize' => [ 'type' => 'long', ], 'OrderEnum' => [ 'type' => 'string', 'enum' => [ 'ascending', 'descending', ], ], 'ParentCommitDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParentCommitIdOutdatedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParentCommitIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectId', ], ], 'Path' => [ 'type' => 'string', ], 'PathDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PathRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Position' => [ 'type' => 'long', ], 'PostCommentForComparedCommitInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'afterCommitId', 'content', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'location' => [ 'shape' => 'Location', ], 'content' => [ 'shape' => 'Content', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'PostCommentForComparedCommitOutput' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'beforeBlobId' => [ 'shape' => 'ObjectId', ], 'afterBlobId' => [ 'shape' => 'ObjectId', ], 'location' => [ 'shape' => 'Location', ], 'comment' => [ 'shape' => 'Comment', ], ], ], 'PostCommentForPullRequestInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', 'repositoryName', 'beforeCommitId', 'afterCommitId', 'content', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'location' => [ 'shape' => 'Location', ], 'content' => [ 'shape' => 'Content', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'PostCommentForPullRequestOutput' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'beforeBlobId' => [ 'shape' => 'ObjectId', ], 'afterBlobId' => [ 'shape' => 'ObjectId', ], 'location' => [ 'shape' => 'Location', ], 'comment' => [ 'shape' => 'Comment', ], ], ], 'PostCommentReplyInput' => [ 'type' => 'structure', 'required' => [ 'inReplyTo', 'content', ], 'members' => [ 'inReplyTo' => [ 'shape' => 'CommentId', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'content' => [ 'shape' => 'Content', ], ], ], 'PostCommentReplyOutput' => [ 'type' => 'structure', 'members' => [ 'comment' => [ 'shape' => 'Comment', ], ], ], 'PullRequest' => [ 'type' => 'structure', 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'title' => [ 'shape' => 'Title', ], 'description' => [ 'shape' => 'Description', ], 'lastActivityDate' => [ 'shape' => 'LastModifiedDate', ], 'creationDate' => [ 'shape' => 'CreationDate', ], 'pullRequestStatus' => [ 'shape' => 'PullRequestStatusEnum', ], 'authorArn' => [ 'shape' => 'Arn', ], 'pullRequestTargets' => [ 'shape' => 'PullRequestTargetList', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'PullRequestAlreadyClosedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PullRequestCreatedEventMetadata' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'sourceCommitId' => [ 'shape' => 'CommitId', ], 'destinationCommitId' => [ 'shape' => 'CommitId', ], 'mergeBase' => [ 'shape' => 'CommitId', ], ], ], 'PullRequestDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PullRequestEvent' => [ 'type' => 'structure', 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'eventDate' => [ 'shape' => 'EventDate', ], 'pullRequestEventType' => [ 'shape' => 'PullRequestEventType', ], 'actorArn' => [ 'shape' => 'Arn', ], 'pullRequestCreatedEventMetadata' => [ 'shape' => 'PullRequestCreatedEventMetadata', ], 'pullRequestStatusChangedEventMetadata' => [ 'shape' => 'PullRequestStatusChangedEventMetadata', ], 'pullRequestSourceReferenceUpdatedEventMetadata' => [ 'shape' => 'PullRequestSourceReferenceUpdatedEventMetadata', ], 'pullRequestMergedStateChangedEventMetadata' => [ 'shape' => 'PullRequestMergedStateChangedEventMetadata', ], ], ], 'PullRequestEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PullRequestEvent', ], ], 'PullRequestEventType' => [ 'type' => 'string', 'enum' => [ 'PULL_REQUEST_CREATED', 'PULL_REQUEST_STATUS_CHANGED', 'PULL_REQUEST_SOURCE_REFERENCE_UPDATED', 'PULL_REQUEST_MERGE_STATE_CHANGED', ], ], 'PullRequestId' => [ 'type' => 'string', ], 'PullRequestIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PullRequestId', ], ], 'PullRequestIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PullRequestMergedStateChangedEventMetadata' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'destinationReference' => [ 'shape' => 'ReferenceName', ], 'mergeMetadata' => [ 'shape' => 'MergeMetadata', ], ], ], 'PullRequestSourceReferenceUpdatedEventMetadata' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'beforeCommitId' => [ 'shape' => 'CommitId', ], 'afterCommitId' => [ 'shape' => 'CommitId', ], 'mergeBase' => [ 'shape' => 'CommitId', ], ], ], 'PullRequestStatusChangedEventMetadata' => [ 'type' => 'structure', 'members' => [ 'pullRequestStatus' => [ 'shape' => 'PullRequestStatusEnum', ], ], ], 'PullRequestStatusEnum' => [ 'type' => 'string', 'enum' => [ 'OPEN', 'CLOSED', ], ], 'PullRequestStatusRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PullRequestTarget' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'sourceReference' => [ 'shape' => 'ReferenceName', ], 'destinationReference' => [ 'shape' => 'ReferenceName', ], 'destinationCommit' => [ 'shape' => 'CommitId', ], 'sourceCommit' => [ 'shape' => 'CommitId', ], 'mergeBase' => [ 'shape' => 'CommitId', ], 'mergeMetadata' => [ 'shape' => 'MergeMetadata', ], ], ], 'PullRequestTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PullRequestTarget', ], ], 'PutFileEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutFileEntry', ], ], 'PutFileEntry' => [ 'type' => 'structure', 'required' => [ 'filePath', ], 'members' => [ 'filePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], 'fileContent' => [ 'shape' => 'FileContent', ], 'sourceFile' => [ 'shape' => 'SourceFileSpecifier', ], ], ], 'PutFileEntryConflictException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PutFileInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'branchName', 'fileContent', 'filePath', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'branchName' => [ 'shape' => 'BranchName', ], 'fileContent' => [ 'shape' => 'FileContent', ], 'filePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], 'parentCommitId' => [ 'shape' => 'CommitId', ], 'commitMessage' => [ 'shape' => 'Message', ], 'name' => [ 'shape' => 'Name', ], 'email' => [ 'shape' => 'Email', ], ], ], 'PutFileOutput' => [ 'type' => 'structure', 'required' => [ 'commitId', 'blobId', 'treeId', ], 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'blobId' => [ 'shape' => 'ObjectId', ], 'treeId' => [ 'shape' => 'ObjectId', ], ], ], 'PutRepositoryTriggersInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'triggers', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'triggers' => [ 'shape' => 'RepositoryTriggersList', ], ], ], 'PutRepositoryTriggersOutput' => [ 'type' => 'structure', 'members' => [ 'configurationId' => [ 'shape' => 'RepositoryTriggersConfigurationId', ], ], ], 'ReferenceDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ReferenceName' => [ 'type' => 'string', ], 'ReferenceNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ReferenceTypeNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RelativeFileVersionEnum' => [ 'type' => 'string', 'enum' => [ 'BEFORE', 'AFTER', ], ], 'RepositoryDescription' => [ 'type' => 'string', 'max' => 1000, ], 'RepositoryDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryId' => [ 'type' => 'string', ], 'RepositoryLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryMetadata' => [ 'type' => 'structure', 'members' => [ 'accountId' => [ 'shape' => 'AccountId', ], 'repositoryId' => [ 'shape' => 'RepositoryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'repositoryDescription' => [ 'shape' => 'RepositoryDescription', ], 'defaultBranch' => [ 'shape' => 'BranchName', ], 'lastModifiedDate' => [ 'shape' => 'LastModifiedDate', ], 'creationDate' => [ 'shape' => 'CreationDate', ], 'cloneUrlHttp' => [ 'shape' => 'CloneUrlHttp', ], 'cloneUrlSsh' => [ 'shape' => 'CloneUrlSsh', ], 'Arn' => [ 'shape' => 'Arn', ], ], ], 'RepositoryMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryMetadata', ], ], 'RepositoryName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[\\w\\.-]+', ], 'RepositoryNameExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryNameIdPair' => [ 'type' => 'structure', 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'repositoryId' => [ 'shape' => 'RepositoryId', ], ], ], 'RepositoryNameIdPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryNameIdPair', ], ], 'RepositoryNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryName', ], ], 'RepositoryNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryNamesRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryNotAssociatedWithPullRequestException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryNotFoundList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryName', ], ], 'RepositoryTrigger' => [ 'type' => 'structure', 'required' => [ 'name', 'destinationArn', 'events', ], 'members' => [ 'name' => [ 'shape' => 'RepositoryTriggerName', ], 'destinationArn' => [ 'shape' => 'Arn', ], 'customData' => [ 'shape' => 'RepositoryTriggerCustomData', ], 'branches' => [ 'shape' => 'BranchNameList', ], 'events' => [ 'shape' => 'RepositoryTriggerEventList', ], ], ], 'RepositoryTriggerBranchNameListRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryTriggerCustomData' => [ 'type' => 'string', ], 'RepositoryTriggerDestinationArnRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryTriggerEventEnum' => [ 'type' => 'string', 'enum' => [ 'all', 'updateReference', 'createReference', 'deleteReference', ], ], 'RepositoryTriggerEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryTriggerEventEnum', ], ], 'RepositoryTriggerEventsListRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryTriggerExecutionFailure' => [ 'type' => 'structure', 'members' => [ 'trigger' => [ 'shape' => 'RepositoryTriggerName', ], 'failureMessage' => [ 'shape' => 'RepositoryTriggerExecutionFailureMessage', ], ], ], 'RepositoryTriggerExecutionFailureList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryTriggerExecutionFailure', ], ], 'RepositoryTriggerExecutionFailureMessage' => [ 'type' => 'string', ], 'RepositoryTriggerName' => [ 'type' => 'string', ], 'RepositoryTriggerNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryTriggerName', ], ], 'RepositoryTriggerNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RepositoryTriggersConfigurationId' => [ 'type' => 'string', ], 'RepositoryTriggersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryTrigger', ], ], 'RepositoryTriggersListRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RestrictedSourceFileException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SameFileContentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SamePathRequestException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SetFileModeEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SetFileModeEntry', ], ], 'SetFileModeEntry' => [ 'type' => 'structure', 'required' => [ 'filePath', 'fileMode', ], 'members' => [ 'filePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], ], ], 'SortByEnum' => [ 'type' => 'string', 'enum' => [ 'repositoryName', 'lastModifiedDate', ], ], 'SourceAndDestinationAreSameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SourceFileOrContentRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SourceFileSpecifier' => [ 'type' => 'structure', 'required' => [ 'filePath', ], 'members' => [ 'filePath' => [ 'shape' => 'Path', ], 'isMove' => [ 'shape' => 'IsMove', ], ], ], 'SubModule' => [ 'type' => 'structure', 'members' => [ 'commitId' => [ 'shape' => 'ObjectId', ], 'absolutePath' => [ 'shape' => 'Path', ], 'relativePath' => [ 'shape' => 'Path', ], ], ], 'SubModuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubModule', ], ], 'SymbolicLink' => [ 'type' => 'structure', 'members' => [ 'blobId' => [ 'shape' => 'ObjectId', ], 'absolutePath' => [ 'shape' => 'Path', ], 'relativePath' => [ 'shape' => 'Path', ], 'fileMode' => [ 'shape' => 'FileModeTypeEnum', ], ], ], 'SymbolicLinkList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SymbolicLink', ], ], 'Target' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'sourceReference', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'sourceReference' => [ 'shape' => 'ReferenceName', ], 'destinationReference' => [ 'shape' => 'ReferenceName', ], ], ], 'TargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Target', ], ], 'TargetRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TargetsRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TestRepositoryTriggersInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'triggers', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'triggers' => [ 'shape' => 'RepositoryTriggersList', ], ], ], 'TestRepositoryTriggersOutput' => [ 'type' => 'structure', 'members' => [ 'successfulExecutions' => [ 'shape' => 'RepositoryTriggerNameList', ], 'failedExecutions' => [ 'shape' => 'RepositoryTriggerExecutionFailureList', ], ], ], 'TipOfSourceReferenceIsDifferentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TipsDivergenceExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Title' => [ 'type' => 'string', 'max' => 150, ], 'TitleRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UpdateCommentInput' => [ 'type' => 'structure', 'required' => [ 'commentId', 'content', ], 'members' => [ 'commentId' => [ 'shape' => 'CommentId', ], 'content' => [ 'shape' => 'Content', ], ], ], 'UpdateCommentOutput' => [ 'type' => 'structure', 'members' => [ 'comment' => [ 'shape' => 'Comment', ], ], ], 'UpdateDefaultBranchInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'defaultBranchName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'defaultBranchName' => [ 'shape' => 'BranchName', ], ], ], 'UpdatePullRequestDescriptionInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', 'description', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'description' => [ 'shape' => 'Description', ], ], ], 'UpdatePullRequestDescriptionOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequest', ], 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'UpdatePullRequestStatusInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', 'pullRequestStatus', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'pullRequestStatus' => [ 'shape' => 'PullRequestStatusEnum', ], ], ], 'UpdatePullRequestStatusOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequest', ], 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'UpdatePullRequestTitleInput' => [ 'type' => 'structure', 'required' => [ 'pullRequestId', 'title', ], 'members' => [ 'pullRequestId' => [ 'shape' => 'PullRequestId', ], 'title' => [ 'shape' => 'Title', ], ], ], 'UpdatePullRequestTitleOutput' => [ 'type' => 'structure', 'required' => [ 'pullRequest', ], 'members' => [ 'pullRequest' => [ 'shape' => 'PullRequest', ], ], ], 'UpdateRepositoryDescriptionInput' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'repositoryDescription' => [ 'shape' => 'RepositoryDescription', ], ], ], 'UpdateRepositoryNameInput' => [ 'type' => 'structure', 'required' => [ 'oldName', 'newName', ], 'members' => [ 'oldName' => [ 'shape' => 'RepositoryName', ], 'newName' => [ 'shape' => 'RepositoryName', ], ], ], 'UserInfo' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'email' => [ 'shape' => 'Email', ], 'date' => [ 'shape' => 'Date', ], ], ], 'blob' => [ 'type' => 'blob', ], ],]; diff --git a/lib/aws/Aws/data/codecommit/2015-04-13/paginators-1.json.php b/lib/aws/Aws/data/codecommit/2015-04-13/paginators-1.json.php new file mode 100644 index 0000000..6fbbba9 --- /dev/null +++ b/lib/aws/Aws/data/codecommit/2015-04-13/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codecommit/2015-04-13/paginators-1.json +return [ 'pagination' => [ 'DescribePullRequestEvents' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', ], 'GetCommentsForComparedCommit' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', ], 'GetCommentsForPullRequest' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', ], 'GetDifferences' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListBranches' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'branches', ], 'ListPullRequests' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', ], 'ListRepositories' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'repositories', ], ],]; diff --git a/lib/aws/Aws/data/codecommit/2015-04-13/smoke.json.php b/lib/aws/Aws/data/codecommit/2015-04-13/smoke.json.php new file mode 100644 index 0000000..0374438 --- /dev/null +++ b/lib/aws/Aws/data/codecommit/2015-04-13/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codecommit/2015-04-13/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListRepositories', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ListBranches', 'input' => [ 'repositoryName' => 'fake-repo', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/codedeploy/2014-10-06/api-2.json.php b/lib/aws/Aws/data/codedeploy/2014-10-06/api-2.json.php new file mode 100644 index 0000000..c7026ed --- /dev/null +++ b/lib/aws/Aws/data/codedeploy/2014-10-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codedeploy/2014-10-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-10-06', 'endpointPrefix' => 'codedeploy', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodeDeploy', 'serviceFullName' => 'AWS CodeDeploy', 'serviceId' => 'CodeDeploy', 'signatureVersion' => 'v4', 'targetPrefix' => 'CodeDeploy_20141006', 'uid' => 'codedeploy-2014-10-06', ], 'operations' => [ 'AddTagsToOnPremisesInstances' => [ 'name' => 'AddTagsToOnPremisesInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToOnPremisesInstancesInput', ], 'errors' => [ [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'TagRequiredException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'TagLimitExceededException', ], [ 'shape' => 'InstanceLimitExceededException', ], [ 'shape' => 'InstanceNotRegisteredException', ], ], ], 'BatchGetApplicationRevisions' => [ 'name' => 'BatchGetApplicationRevisions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetApplicationRevisionsInput', ], 'output' => [ 'shape' => 'BatchGetApplicationRevisionsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'RevisionRequiredException', ], [ 'shape' => 'InvalidRevisionException', ], [ 'shape' => 'BatchLimitExceededException', ], ], ], 'BatchGetApplications' => [ 'name' => 'BatchGetApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetApplicationsInput', ], 'output' => [ 'shape' => 'BatchGetApplicationsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'BatchLimitExceededException', ], ], ], 'BatchGetDeploymentGroups' => [ 'name' => 'BatchGetDeploymentGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetDeploymentGroupsInput', ], 'output' => [ 'shape' => 'BatchGetDeploymentGroupsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'BatchLimitExceededException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], ], ], 'BatchGetDeploymentInstances' => [ 'name' => 'BatchGetDeploymentInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetDeploymentInstancesInput', ], 'output' => [ 'shape' => 'BatchGetDeploymentInstancesOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'InstanceIdRequiredException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'BatchLimitExceededException', ], [ 'shape' => 'InvalidComputePlatformException', ], ], 'deprecated' => true, 'deprecatedMessage' => 'This operation is deprecated, use BatchGetDeploymentTargets instead.', ], 'BatchGetDeploymentTargets' => [ 'name' => 'BatchGetDeploymentTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetDeploymentTargetsInput', ], 'output' => [ 'shape' => 'BatchGetDeploymentTargetsOutput', ], 'errors' => [ [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentTargetIdRequiredException', ], [ 'shape' => 'InvalidDeploymentTargetIdException', ], [ 'shape' => 'DeploymentTargetDoesNotExistException', ], [ 'shape' => 'DeploymentTargetListSizeExceededException', ], ], ], 'BatchGetDeployments' => [ 'name' => 'BatchGetDeployments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetDeploymentsInput', ], 'output' => [ 'shape' => 'BatchGetDeploymentsOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'BatchLimitExceededException', ], ], ], 'BatchGetOnPremisesInstances' => [ 'name' => 'BatchGetOnPremisesInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetOnPremisesInstancesInput', ], 'output' => [ 'shape' => 'BatchGetOnPremisesInstancesOutput', ], 'errors' => [ [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'BatchLimitExceededException', ], ], ], 'ContinueDeployment' => [ 'name' => 'ContinueDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ContinueDeploymentInput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentAlreadyCompletedException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'DeploymentIsNotInReadyStateException', ], [ 'shape' => 'UnsupportedActionForDeploymentTypeException', ], [ 'shape' => 'InvalidDeploymentWaitTypeException', ], [ 'shape' => 'InvalidDeploymentStatusException', ], ], ], 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationInput', ], 'output' => [ 'shape' => 'CreateApplicationOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationAlreadyExistsException', ], [ 'shape' => 'ApplicationLimitExceededException', ], [ 'shape' => 'InvalidComputePlatformException', ], ], ], 'CreateDeployment' => [ 'name' => 'CreateDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDeploymentInput', ], 'output' => [ 'shape' => 'CreateDeploymentOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'DeploymentGroupDoesNotExistException', ], [ 'shape' => 'RevisionRequiredException', ], [ 'shape' => 'RevisionDoesNotExistException', ], [ 'shape' => 'InvalidRevisionException', ], [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], [ 'shape' => 'DescriptionTooLongException', ], [ 'shape' => 'DeploymentLimitExceededException', ], [ 'shape' => 'InvalidTargetInstancesException', ], [ 'shape' => 'InvalidAutoRollbackConfigException', ], [ 'shape' => 'InvalidLoadBalancerInfoException', ], [ 'shape' => 'InvalidFileExistsBehaviorException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'InvalidAutoScalingGroupException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidUpdateOutdatedInstancesOnlyValueException', ], [ 'shape' => 'InvalidIgnoreApplicationStopFailuresValueException', ], [ 'shape' => 'InvalidGitHubAccountTokenException', ], ], ], 'CreateDeploymentConfig' => [ 'name' => 'CreateDeploymentConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDeploymentConfigInput', ], 'output' => [ 'shape' => 'CreateDeploymentConfigOutput', ], 'errors' => [ [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigNameRequiredException', ], [ 'shape' => 'DeploymentConfigAlreadyExistsException', ], [ 'shape' => 'InvalidMinimumHealthyHostValueException', ], [ 'shape' => 'DeploymentConfigLimitExceededException', ], [ 'shape' => 'InvalidComputePlatformException', ], [ 'shape' => 'InvalidTrafficRoutingConfigurationException', ], ], ], 'CreateDeploymentGroup' => [ 'name' => 'CreateDeploymentGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDeploymentGroupInput', ], 'output' => [ 'shape' => 'CreateDeploymentGroupOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'DeploymentGroupAlreadyExistsException', ], [ 'shape' => 'InvalidEC2TagException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'InvalidAutoScalingGroupException', ], [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], [ 'shape' => 'RoleRequiredException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'DeploymentGroupLimitExceededException', ], [ 'shape' => 'LifecycleHookLimitExceededException', ], [ 'shape' => 'InvalidTriggerConfigException', ], [ 'shape' => 'TriggerTargetsLimitExceededException', ], [ 'shape' => 'InvalidAlarmConfigException', ], [ 'shape' => 'AlarmsLimitExceededException', ], [ 'shape' => 'InvalidAutoRollbackConfigException', ], [ 'shape' => 'InvalidLoadBalancerInfoException', ], [ 'shape' => 'InvalidDeploymentStyleException', ], [ 'shape' => 'InvalidBlueGreenDeploymentConfigurationException', ], [ 'shape' => 'InvalidEC2TagCombinationException', ], [ 'shape' => 'InvalidOnPremisesTagCombinationException', ], [ 'shape' => 'TagSetListLimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidECSServiceException', ], [ 'shape' => 'InvalidTargetGroupPairException', ], [ 'shape' => 'ECSServiceMappingLimitExceededException', ], ], ], 'DeleteApplication' => [ 'name' => 'DeleteApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationInput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], ], ], 'DeleteDeploymentConfig' => [ 'name' => 'DeleteDeploymentConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeploymentConfigInput', ], 'errors' => [ [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigNameRequiredException', ], [ 'shape' => 'DeploymentConfigInUseException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'DeleteDeploymentGroup' => [ 'name' => 'DeleteDeploymentGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeploymentGroupInput', ], 'output' => [ 'shape' => 'DeleteDeploymentGroupOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'InvalidRoleException', ], ], ], 'DeleteGitHubAccountToken' => [ 'name' => 'DeleteGitHubAccountToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGitHubAccountTokenInput', ], 'output' => [ 'shape' => 'DeleteGitHubAccountTokenOutput', ], 'errors' => [ [ 'shape' => 'GitHubAccountTokenNameRequiredException', ], [ 'shape' => 'GitHubAccountTokenDoesNotExistException', ], [ 'shape' => 'InvalidGitHubAccountTokenNameException', ], [ 'shape' => 'ResourceValidationException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'DeregisterOnPremisesInstance' => [ 'name' => 'DeregisterOnPremisesInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterOnPremisesInstanceInput', ], 'errors' => [ [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'InvalidInstanceNameException', ], ], ], 'GetApplication' => [ 'name' => 'GetApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetApplicationInput', ], 'output' => [ 'shape' => 'GetApplicationOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], ], ], 'GetApplicationRevision' => [ 'name' => 'GetApplicationRevision', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetApplicationRevisionInput', ], 'output' => [ 'shape' => 'GetApplicationRevisionOutput', ], 'errors' => [ [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'RevisionDoesNotExistException', ], [ 'shape' => 'RevisionRequiredException', ], [ 'shape' => 'InvalidRevisionException', ], ], ], 'GetDeployment' => [ 'name' => 'GetDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeploymentInput', ], 'output' => [ 'shape' => 'GetDeploymentOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], ], ], 'GetDeploymentConfig' => [ 'name' => 'GetDeploymentConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeploymentConfigInput', ], 'output' => [ 'shape' => 'GetDeploymentConfigOutput', ], 'errors' => [ [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigNameRequiredException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], [ 'shape' => 'InvalidComputePlatformException', ], ], ], 'GetDeploymentGroup' => [ 'name' => 'GetDeploymentGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeploymentGroupInput', ], 'output' => [ 'shape' => 'GetDeploymentGroupOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'DeploymentGroupDoesNotExistException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], ], ], 'GetDeploymentInstance' => [ 'name' => 'GetDeploymentInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeploymentInstanceInput', ], 'output' => [ 'shape' => 'GetDeploymentInstanceOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'InstanceIdRequiredException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'InstanceDoesNotExistException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'InvalidComputePlatformException', ], ], 'deprecated' => true, 'deprecatedMessage' => 'This operation is deprecated, use GetDeploymentTarget instead.', ], 'GetDeploymentTarget' => [ 'name' => 'GetDeploymentTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeploymentTargetInput', ], 'output' => [ 'shape' => 'GetDeploymentTargetOutput', ], 'errors' => [ [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentTargetIdRequiredException', ], [ 'shape' => 'InvalidDeploymentTargetIdException', ], [ 'shape' => 'DeploymentTargetDoesNotExistException', ], [ 'shape' => 'InvalidInstanceNameException', ], ], ], 'GetOnPremisesInstance' => [ 'name' => 'GetOnPremisesInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOnPremisesInstanceInput', ], 'output' => [ 'shape' => 'GetOnPremisesInstanceOutput', ], 'errors' => [ [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'InstanceNotRegisteredException', ], [ 'shape' => 'InvalidInstanceNameException', ], ], ], 'ListApplicationRevisions' => [ 'name' => 'ListApplicationRevisions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListApplicationRevisionsInput', ], 'output' => [ 'shape' => 'ListApplicationRevisionsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'InvalidSortByException', ], [ 'shape' => 'InvalidSortOrderException', ], [ 'shape' => 'InvalidBucketNameFilterException', ], [ 'shape' => 'InvalidKeyPrefixFilterException', ], [ 'shape' => 'BucketNameFilterRequiredException', ], [ 'shape' => 'InvalidDeployedStateFilterException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListApplications' => [ 'name' => 'ListApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListApplicationsInput', ], 'output' => [ 'shape' => 'ListApplicationsOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListDeploymentConfigs' => [ 'name' => 'ListDeploymentConfigs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeploymentConfigsInput', ], 'output' => [ 'shape' => 'ListDeploymentConfigsOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListDeploymentGroups' => [ 'name' => 'ListDeploymentGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeploymentGroupsInput', ], 'output' => [ 'shape' => 'ListDeploymentGroupsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListDeploymentInstances' => [ 'name' => 'ListDeploymentInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeploymentInstancesInput', ], 'output' => [ 'shape' => 'ListDeploymentInstancesOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentNotStartedException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'InvalidInstanceStatusException', ], [ 'shape' => 'InvalidInstanceTypeException', ], [ 'shape' => 'InvalidDeploymentInstanceTypeException', ], [ 'shape' => 'InvalidTargetFilterNameException', ], [ 'shape' => 'InvalidComputePlatformException', ], ], 'deprecated' => true, 'deprecatedMessage' => 'This operation is deprecated, use ListDeploymentTargets instead.', ], 'ListDeploymentTargets' => [ 'name' => 'ListDeploymentTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeploymentTargetsInput', ], 'output' => [ 'shape' => 'ListDeploymentTargetsOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentNotStartedException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'InvalidInstanceStatusException', ], [ 'shape' => 'InvalidInstanceTypeException', ], [ 'shape' => 'InvalidDeploymentInstanceTypeException', ], ], ], 'ListDeployments' => [ 'name' => 'ListDeployments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeploymentsInput', ], 'output' => [ 'shape' => 'ListDeploymentsOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'DeploymentGroupDoesNotExistException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'InvalidTimeRangeException', ], [ 'shape' => 'InvalidDeploymentStatusException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListGitHubAccountTokenNames' => [ 'name' => 'ListGitHubAccountTokenNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGitHubAccountTokenNamesInput', ], 'output' => [ 'shape' => 'ListGitHubAccountTokenNamesOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceValidationException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'ListOnPremisesInstances' => [ 'name' => 'ListOnPremisesInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOnPremisesInstancesInput', ], 'output' => [ 'shape' => 'ListOnPremisesInstancesOutput', ], 'errors' => [ [ 'shape' => 'InvalidRegistrationStatusException', ], [ 'shape' => 'InvalidTagFilterException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'PutLifecycleEventHookExecutionStatus' => [ 'name' => 'PutLifecycleEventHookExecutionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLifecycleEventHookExecutionStatusInput', ], 'output' => [ 'shape' => 'PutLifecycleEventHookExecutionStatusOutput', ], 'errors' => [ [ 'shape' => 'InvalidLifecycleEventHookExecutionStatusException', ], [ 'shape' => 'InvalidLifecycleEventHookExecutionIdException', ], [ 'shape' => 'LifecycleEventAlreadyCompletedException', ], [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'UnsupportedActionForDeploymentTypeException', ], ], ], 'RegisterApplicationRevision' => [ 'name' => 'RegisterApplicationRevision', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterApplicationRevisionInput', ], 'errors' => [ [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'DescriptionTooLongException', ], [ 'shape' => 'RevisionRequiredException', ], [ 'shape' => 'InvalidRevisionException', ], ], ], 'RegisterOnPremisesInstance' => [ 'name' => 'RegisterOnPremisesInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterOnPremisesInstanceInput', ], 'errors' => [ [ 'shape' => 'InstanceNameAlreadyRegisteredException', ], [ 'shape' => 'IamArnRequiredException', ], [ 'shape' => 'IamSessionArnAlreadyRegisteredException', ], [ 'shape' => 'IamUserArnAlreadyRegisteredException', ], [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'IamUserArnRequiredException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'InvalidIamSessionArnException', ], [ 'shape' => 'InvalidIamUserArnException', ], [ 'shape' => 'MultipleIamArnsProvidedException', ], ], ], 'RemoveTagsFromOnPremisesInstances' => [ 'name' => 'RemoveTagsFromOnPremisesInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromOnPremisesInstancesInput', ], 'errors' => [ [ 'shape' => 'InstanceNameRequiredException', ], [ 'shape' => 'InvalidInstanceNameException', ], [ 'shape' => 'TagRequiredException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'TagLimitExceededException', ], [ 'shape' => 'InstanceLimitExceededException', ], [ 'shape' => 'InstanceNotRegisteredException', ], ], ], 'SkipWaitTimeForInstanceTermination' => [ 'name' => 'SkipWaitTimeForInstanceTermination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SkipWaitTimeForInstanceTerminationInput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentAlreadyCompletedException', ], [ 'shape' => 'InvalidDeploymentIdException', ], [ 'shape' => 'DeploymentNotStartedException', ], [ 'shape' => 'UnsupportedActionForDeploymentTypeException', ], ], 'deprecated' => true, 'deprecatedMessage' => 'This operation is deprecated, use ContinueDeployment with DeploymentWaitType instead.', ], 'StopDeployment' => [ 'name' => 'StopDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDeploymentInput', ], 'output' => [ 'shape' => 'StopDeploymentOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ 'shape' => 'DeploymentGroupDoesNotExistException', ], [ 'shape' => 'DeploymentAlreadyCompletedException', ], [ 'shape' => 'InvalidDeploymentIdException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationInput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationAlreadyExistsException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], ], ], 'UpdateDeploymentGroup' => [ 'name' => 'UpdateDeploymentGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDeploymentGroupInput', ], 'output' => [ 'shape' => 'UpdateDeploymentGroupOutput', ], 'errors' => [ [ 'shape' => 'ApplicationNameRequiredException', ], [ 'shape' => 'InvalidApplicationNameException', ], [ 'shape' => 'ApplicationDoesNotExistException', ], [ 'shape' => 'InvalidDeploymentGroupNameException', ], [ 'shape' => 'DeploymentGroupAlreadyExistsException', ], [ 'shape' => 'DeploymentGroupNameRequiredException', ], [ 'shape' => 'DeploymentGroupDoesNotExistException', ], [ 'shape' => 'InvalidEC2TagException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'InvalidAutoScalingGroupException', ], [ 'shape' => 'InvalidDeploymentConfigNameException', ], [ 'shape' => 'DeploymentConfigDoesNotExistException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'LifecycleHookLimitExceededException', ], [ 'shape' => 'InvalidTriggerConfigException', ], [ 'shape' => 'TriggerTargetsLimitExceededException', ], [ 'shape' => 'InvalidAlarmConfigException', ], [ 'shape' => 'AlarmsLimitExceededException', ], [ 'shape' => 'InvalidAutoRollbackConfigException', ], [ 'shape' => 'InvalidLoadBalancerInfoException', ], [ 'shape' => 'InvalidDeploymentStyleException', ], [ 'shape' => 'InvalidBlueGreenDeploymentConfigurationException', ], [ 'shape' => 'InvalidEC2TagCombinationException', ], [ 'shape' => 'InvalidOnPremisesTagCombinationException', ], [ 'shape' => 'TagSetListLimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidECSServiceException', ], [ 'shape' => 'InvalidTargetGroupPairException', ], [ 'shape' => 'ECSServiceMappingLimitExceededException', ], ], ], ], 'shapes' => [ 'AddTagsToOnPremisesInstancesInput' => [ 'type' => 'structure', 'required' => [ 'tags', 'instanceNames', ], 'members' => [ 'tags' => [ 'shape' => 'TagList', ], 'instanceNames' => [ 'shape' => 'InstanceNameList', ], ], ], 'AdditionalDeploymentStatusInfo' => [ 'type' => 'string', 'deprecated' => true, 'deprecatedMessage' => 'AdditionalDeploymentStatusInfo is deprecated, use DeploymentStatusMessageList instead.', ], 'Alarm' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AlarmName', ], ], ], 'AlarmConfiguration' => [ 'type' => 'structure', 'members' => [ 'enabled' => [ 'shape' => 'Boolean', ], 'ignorePollAlarmFailure' => [ 'shape' => 'Boolean', ], 'alarms' => [ 'shape' => 'AlarmList', ], ], ], 'AlarmList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Alarm', ], ], 'AlarmName' => [ 'type' => 'string', ], 'AlarmsLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AppSpecContent' => [ 'type' => 'structure', 'members' => [ 'content' => [ 'shape' => 'RawStringContent', ], 'sha256' => [ 'shape' => 'RawStringSha256', ], ], ], 'ApplicationAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ApplicationDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ApplicationId' => [ 'type' => 'string', ], 'ApplicationInfo' => [ 'type' => 'structure', 'members' => [ 'applicationId' => [ 'shape' => 'ApplicationId', ], 'applicationName' => [ 'shape' => 'ApplicationName', ], 'createTime' => [ 'shape' => 'Timestamp', ], 'linkedToGitHub' => [ 'shape' => 'Boolean', ], 'gitHubAccountName' => [ 'shape' => 'GitHubAccountTokenName', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], ], ], 'ApplicationLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ApplicationName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ApplicationNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ApplicationRevisionSortBy' => [ 'type' => 'string', 'enum' => [ 'registerTime', 'firstUsedTime', 'lastUsedTime', ], ], 'ApplicationsInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationInfo', ], ], 'ApplicationsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationName', ], ], 'AutoRollbackConfiguration' => [ 'type' => 'structure', 'members' => [ 'enabled' => [ 'shape' => 'Boolean', ], 'events' => [ 'shape' => 'AutoRollbackEventsList', ], ], ], 'AutoRollbackEvent' => [ 'type' => 'string', 'enum' => [ 'DEPLOYMENT_FAILURE', 'DEPLOYMENT_STOP_ON_ALARM', 'DEPLOYMENT_STOP_ON_REQUEST', ], ], 'AutoRollbackEventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoRollbackEvent', ], ], 'AutoScalingGroup' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AutoScalingGroupName', ], 'hook' => [ 'shape' => 'AutoScalingGroupHook', ], ], ], 'AutoScalingGroupHook' => [ 'type' => 'string', ], 'AutoScalingGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingGroup', ], ], 'AutoScalingGroupName' => [ 'type' => 'string', ], 'AutoScalingGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingGroupName', ], ], 'BatchGetApplicationRevisionsInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'revisions', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'revisions' => [ 'shape' => 'RevisionLocationList', ], ], ], 'BatchGetApplicationRevisionsOutput' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'errorMessage' => [ 'shape' => 'ErrorMessage', ], 'revisions' => [ 'shape' => 'RevisionInfoList', ], ], ], 'BatchGetApplicationsInput' => [ 'type' => 'structure', 'required' => [ 'applicationNames', ], 'members' => [ 'applicationNames' => [ 'shape' => 'ApplicationsList', ], ], ], 'BatchGetApplicationsOutput' => [ 'type' => 'structure', 'members' => [ 'applicationsInfo' => [ 'shape' => 'ApplicationsInfoList', ], ], ], 'BatchGetDeploymentGroupsInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'deploymentGroupNames', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupNames' => [ 'shape' => 'DeploymentGroupsList', ], ], ], 'BatchGetDeploymentGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentGroupsInfo' => [ 'shape' => 'DeploymentGroupInfoList', ], 'errorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'BatchGetDeploymentInstancesInput' => [ 'type' => 'structure', 'required' => [ 'deploymentId', 'instanceIds', ], 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'instanceIds' => [ 'shape' => 'InstancesList', ], ], ], 'BatchGetDeploymentInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'instancesSummary' => [ 'shape' => 'InstanceSummaryList', ], 'errorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'BatchGetDeploymentTargetsInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'targetIds' => [ 'shape' => 'TargetIdList', ], ], ], 'BatchGetDeploymentTargetsOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentTargets' => [ 'shape' => 'DeploymentTargetList', ], ], ], 'BatchGetDeploymentsInput' => [ 'type' => 'structure', 'required' => [ 'deploymentIds', ], 'members' => [ 'deploymentIds' => [ 'shape' => 'DeploymentsList', ], ], ], 'BatchGetDeploymentsOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentsInfo' => [ 'shape' => 'DeploymentsInfoList', ], ], ], 'BatchGetOnPremisesInstancesInput' => [ 'type' => 'structure', 'required' => [ 'instanceNames', ], 'members' => [ 'instanceNames' => [ 'shape' => 'InstanceNameList', ], ], ], 'BatchGetOnPremisesInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'instanceInfos' => [ 'shape' => 'InstanceInfoList', ], ], ], 'BatchLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BlueGreenDeploymentConfiguration' => [ 'type' => 'structure', 'members' => [ 'terminateBlueInstancesOnDeploymentSuccess' => [ 'shape' => 'BlueInstanceTerminationOption', ], 'deploymentReadyOption' => [ 'shape' => 'DeploymentReadyOption', ], 'greenFleetProvisioningOption' => [ 'shape' => 'GreenFleetProvisioningOption', ], ], ], 'BlueInstanceTerminationOption' => [ 'type' => 'structure', 'members' => [ 'action' => [ 'shape' => 'InstanceAction', ], 'terminationWaitTimeInMinutes' => [ 'shape' => 'Duration', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BucketNameFilterRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BundleType' => [ 'type' => 'string', 'enum' => [ 'tar', 'tgz', 'zip', 'YAML', 'JSON', ], ], 'CommitId' => [ 'type' => 'string', ], 'ComputePlatform' => [ 'type' => 'string', 'enum' => [ 'Server', 'Lambda', 'ECS', ], ], 'ContinueDeploymentInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'deploymentWaitType' => [ 'shape' => 'DeploymentWaitType', ], ], ], 'CreateApplicationInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], ], ], 'CreateApplicationOutput' => [ 'type' => 'structure', 'members' => [ 'applicationId' => [ 'shape' => 'ApplicationId', ], ], ], 'CreateDeploymentConfigInput' => [ 'type' => 'structure', 'required' => [ 'deploymentConfigName', ], 'members' => [ 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'minimumHealthyHosts' => [ 'shape' => 'MinimumHealthyHosts', ], 'trafficRoutingConfig' => [ 'shape' => 'TrafficRoutingConfig', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], ], ], 'CreateDeploymentConfigOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentConfigId' => [ 'shape' => 'DeploymentConfigId', ], ], ], 'CreateDeploymentGroupInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'deploymentGroupName', 'serviceRoleArn', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'ec2TagFilters' => [ 'shape' => 'EC2TagFilterList', ], 'onPremisesInstanceTagFilters' => [ 'shape' => 'TagFilterList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupNameList', ], 'serviceRoleArn' => [ 'shape' => 'Role', ], 'triggerConfigurations' => [ 'shape' => 'TriggerConfigList', ], 'alarmConfiguration' => [ 'shape' => 'AlarmConfiguration', ], 'autoRollbackConfiguration' => [ 'shape' => 'AutoRollbackConfiguration', ], 'deploymentStyle' => [ 'shape' => 'DeploymentStyle', ], 'blueGreenDeploymentConfiguration' => [ 'shape' => 'BlueGreenDeploymentConfiguration', ], 'loadBalancerInfo' => [ 'shape' => 'LoadBalancerInfo', ], 'ec2TagSet' => [ 'shape' => 'EC2TagSet', ], 'ecsServices' => [ 'shape' => 'ECSServiceList', ], 'onPremisesTagSet' => [ 'shape' => 'OnPremisesTagSet', ], ], ], 'CreateDeploymentGroupOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentGroupId' => [ 'shape' => 'DeploymentGroupId', ], ], ], 'CreateDeploymentInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'revision' => [ 'shape' => 'RevisionLocation', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'description' => [ 'shape' => 'Description', ], 'ignoreApplicationStopFailures' => [ 'shape' => 'Boolean', ], 'targetInstances' => [ 'shape' => 'TargetInstances', ], 'autoRollbackConfiguration' => [ 'shape' => 'AutoRollbackConfiguration', ], 'updateOutdatedInstancesOnly' => [ 'shape' => 'Boolean', ], 'fileExistsBehavior' => [ 'shape' => 'FileExistsBehavior', ], ], ], 'CreateDeploymentOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], ], ], 'DeleteApplicationInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'DeleteDeploymentConfigInput' => [ 'type' => 'structure', 'required' => [ 'deploymentConfigName', ], 'members' => [ 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], ], ], 'DeleteDeploymentGroupInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'deploymentGroupName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], ], ], 'DeleteDeploymentGroupOutput' => [ 'type' => 'structure', 'members' => [ 'hooksNotCleanedUp' => [ 'shape' => 'AutoScalingGroupList', ], ], ], 'DeleteGitHubAccountTokenInput' => [ 'type' => 'structure', 'members' => [ 'tokenName' => [ 'shape' => 'GitHubAccountTokenName', ], ], ], 'DeleteGitHubAccountTokenOutput' => [ 'type' => 'structure', 'members' => [ 'tokenName' => [ 'shape' => 'GitHubAccountTokenName', ], ], ], 'DeploymentAlreadyCompletedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentAlreadyStartedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigId' => [ 'type' => 'string', ], 'DeploymentConfigInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigInfo' => [ 'type' => 'structure', 'members' => [ 'deploymentConfigId' => [ 'shape' => 'DeploymentConfigId', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'minimumHealthyHosts' => [ 'shape' => 'MinimumHealthyHosts', ], 'createTime' => [ 'shape' => 'Timestamp', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], 'trafficRoutingConfig' => [ 'shape' => 'TrafficRoutingConfig', ], ], ], 'DeploymentConfigLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'DeploymentConfigNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentConfigsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentConfigName', ], ], 'DeploymentCreator' => [ 'type' => 'string', 'enum' => [ 'user', 'autoscaling', 'codeDeployRollback', ], ], 'DeploymentDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentGroupAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentGroupDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentGroupId' => [ 'type' => 'string', ], 'DeploymentGroupInfo' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupId' => [ 'shape' => 'DeploymentGroupId', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'ec2TagFilters' => [ 'shape' => 'EC2TagFilterList', ], 'onPremisesInstanceTagFilters' => [ 'shape' => 'TagFilterList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupList', ], 'serviceRoleArn' => [ 'shape' => 'Role', ], 'targetRevision' => [ 'shape' => 'RevisionLocation', ], 'triggerConfigurations' => [ 'shape' => 'TriggerConfigList', ], 'alarmConfiguration' => [ 'shape' => 'AlarmConfiguration', ], 'autoRollbackConfiguration' => [ 'shape' => 'AutoRollbackConfiguration', ], 'deploymentStyle' => [ 'shape' => 'DeploymentStyle', ], 'blueGreenDeploymentConfiguration' => [ 'shape' => 'BlueGreenDeploymentConfiguration', ], 'loadBalancerInfo' => [ 'shape' => 'LoadBalancerInfo', ], 'lastSuccessfulDeployment' => [ 'shape' => 'LastDeploymentInfo', ], 'lastAttemptedDeployment' => [ 'shape' => 'LastDeploymentInfo', ], 'ec2TagSet' => [ 'shape' => 'EC2TagSet', ], 'onPremisesTagSet' => [ 'shape' => 'OnPremisesTagSet', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], 'ecsServices' => [ 'shape' => 'ECSServiceList', ], ], ], 'DeploymentGroupInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentGroupInfo', ], ], 'DeploymentGroupLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentGroupName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'DeploymentGroupNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentGroupName', ], ], 'DeploymentId' => [ 'type' => 'string', ], 'DeploymentIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentInfo' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'previousRevision' => [ 'shape' => 'RevisionLocation', ], 'revision' => [ 'shape' => 'RevisionLocation', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'errorInformation' => [ 'shape' => 'ErrorInformation', ], 'createTime' => [ 'shape' => 'Timestamp', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'completeTime' => [ 'shape' => 'Timestamp', ], 'deploymentOverview' => [ 'shape' => 'DeploymentOverview', ], 'description' => [ 'shape' => 'Description', ], 'creator' => [ 'shape' => 'DeploymentCreator', ], 'ignoreApplicationStopFailures' => [ 'shape' => 'Boolean', ], 'autoRollbackConfiguration' => [ 'shape' => 'AutoRollbackConfiguration', ], 'updateOutdatedInstancesOnly' => [ 'shape' => 'Boolean', ], 'rollbackInfo' => [ 'shape' => 'RollbackInfo', ], 'deploymentStyle' => [ 'shape' => 'DeploymentStyle', ], 'targetInstances' => [ 'shape' => 'TargetInstances', ], 'instanceTerminationWaitTimeStarted' => [ 'shape' => 'Boolean', ], 'blueGreenDeploymentConfiguration' => [ 'shape' => 'BlueGreenDeploymentConfiguration', ], 'loadBalancerInfo' => [ 'shape' => 'LoadBalancerInfo', ], 'additionalDeploymentStatusInfo' => [ 'shape' => 'AdditionalDeploymentStatusInfo', ], 'fileExistsBehavior' => [ 'shape' => 'FileExistsBehavior', ], 'deploymentStatusMessages' => [ 'shape' => 'DeploymentStatusMessageList', ], 'computePlatform' => [ 'shape' => 'ComputePlatform', ], ], ], 'DeploymentIsNotInReadyStateException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentNotStartedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentOption' => [ 'type' => 'string', 'enum' => [ 'WITH_TRAFFIC_CONTROL', 'WITHOUT_TRAFFIC_CONTROL', ], ], 'DeploymentOverview' => [ 'type' => 'structure', 'members' => [ 'Pending' => [ 'shape' => 'InstanceCount', ], 'InProgress' => [ 'shape' => 'InstanceCount', ], 'Succeeded' => [ 'shape' => 'InstanceCount', ], 'Failed' => [ 'shape' => 'InstanceCount', ], 'Skipped' => [ 'shape' => 'InstanceCount', ], 'Ready' => [ 'shape' => 'InstanceCount', ], ], ], 'DeploymentReadyAction' => [ 'type' => 'string', 'enum' => [ 'CONTINUE_DEPLOYMENT', 'STOP_DEPLOYMENT', ], ], 'DeploymentReadyOption' => [ 'type' => 'structure', 'members' => [ 'actionOnTimeout' => [ 'shape' => 'DeploymentReadyAction', ], 'waitTimeInMinutes' => [ 'shape' => 'Duration', ], ], ], 'DeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'Created', 'Queued', 'InProgress', 'Succeeded', 'Failed', 'Stopped', 'Ready', ], ], 'DeploymentStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentStatus', ], ], 'DeploymentStatusMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorMessage', ], ], 'DeploymentStyle' => [ 'type' => 'structure', 'members' => [ 'deploymentType' => [ 'shape' => 'DeploymentType', ], 'deploymentOption' => [ 'shape' => 'DeploymentOption', ], ], ], 'DeploymentTarget' => [ 'type' => 'structure', 'members' => [ 'deploymentTargetType' => [ 'shape' => 'DeploymentTargetType', ], 'instanceTarget' => [ 'shape' => 'InstanceTarget', ], 'lambdaTarget' => [ 'shape' => 'LambdaTarget', ], 'ecsTarget' => [ 'shape' => 'ECSTarget', ], ], ], 'DeploymentTargetDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentTargetIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentTarget', ], ], 'DeploymentTargetListSizeExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'DeploymentTargetType' => [ 'type' => 'string', 'enum' => [ 'InstanceTarget', 'LambdaTarget', 'ECSTarget', ], ], 'DeploymentType' => [ 'type' => 'string', 'enum' => [ 'IN_PLACE', 'BLUE_GREEN', ], ], 'DeploymentWaitType' => [ 'type' => 'string', 'enum' => [ 'READY_WAIT', 'TERMINATION_WAIT', ], ], 'DeploymentsInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentInfo', ], ], 'DeploymentsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentId', ], ], 'DeregisterOnPremisesInstanceInput' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'InstanceName', ], ], ], 'Description' => [ 'type' => 'string', ], 'DescriptionTooLongException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Diagnostics' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'LifecycleErrorCode', ], 'scriptName' => [ 'shape' => 'ScriptName', ], 'message' => [ 'shape' => 'LifecycleMessage', ], 'logTail' => [ 'shape' => 'LogTail', ], ], ], 'Duration' => [ 'type' => 'integer', ], 'EC2TagFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'Value' => [ 'shape' => 'Value', ], 'Type' => [ 'shape' => 'EC2TagFilterType', ], ], ], 'EC2TagFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2TagFilter', ], ], 'EC2TagFilterType' => [ 'type' => 'string', 'enum' => [ 'KEY_ONLY', 'VALUE_ONLY', 'KEY_AND_VALUE', ], ], 'EC2TagSet' => [ 'type' => 'structure', 'members' => [ 'ec2TagSetList' => [ 'shape' => 'EC2TagSetList', ], ], ], 'EC2TagSetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2TagFilterList', ], ], 'ECSClusterName' => [ 'type' => 'string', ], 'ECSService' => [ 'type' => 'structure', 'members' => [ 'serviceName' => [ 'shape' => 'ECSServiceName', ], 'clusterName' => [ 'shape' => 'ECSClusterName', ], ], ], 'ECSServiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ECSService', ], ], 'ECSServiceMappingLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ECSServiceName' => [ 'type' => 'string', ], 'ECSTarget' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'targetId' => [ 'shape' => 'TargetId', ], 'targetArn' => [ 'shape' => 'TargetArn', ], 'lastUpdatedAt' => [ 'shape' => 'Time', ], 'lifecycleEvents' => [ 'shape' => 'LifecycleEventList', ], 'status' => [ 'shape' => 'TargetStatus', ], 'taskSetsInfo' => [ 'shape' => 'ECSTaskSetList', ], ], ], 'ECSTaskSet' => [ 'type' => 'structure', 'members' => [ 'identifer' => [ 'shape' => 'ECSTaskSetIdentifier', ], 'desiredCount' => [ 'shape' => 'ECSTaskSetCount', ], 'pendingCount' => [ 'shape' => 'ECSTaskSetCount', ], 'runningCount' => [ 'shape' => 'ECSTaskSetCount', ], 'status' => [ 'shape' => 'ECSTaskSetStatus', ], 'trafficWeight' => [ 'shape' => 'TrafficWeight', ], 'targetGroup' => [ 'shape' => 'TargetGroupInfo', ], 'taskSetLabel' => [ 'shape' => 'TargetLabel', ], ], ], 'ECSTaskSetCount' => [ 'type' => 'long', ], 'ECSTaskSetIdentifier' => [ 'type' => 'string', ], 'ECSTaskSetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ECSTaskSet', ], ], 'ECSTaskSetStatus' => [ 'type' => 'string', ], 'ELBInfo' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ELBName', ], ], ], 'ELBInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ELBInfo', ], ], 'ELBName' => [ 'type' => 'string', ], 'ETag' => [ 'type' => 'string', ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'DEPLOYMENT_GROUP_MISSING', 'APPLICATION_MISSING', 'REVISION_MISSING', 'IAM_ROLE_MISSING', 'IAM_ROLE_PERMISSIONS', 'NO_EC2_SUBSCRIPTION', 'OVER_MAX_INSTANCES', 'NO_INSTANCES', 'TIMEOUT', 'HEALTH_CONSTRAINTS_INVALID', 'HEALTH_CONSTRAINTS', 'INTERNAL_ERROR', 'THROTTLED', 'ALARM_ACTIVE', 'AGENT_ISSUE', 'AUTO_SCALING_IAM_ROLE_PERMISSIONS', 'AUTO_SCALING_CONFIGURATION', 'MANUAL_STOP', 'MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION', 'MISSING_ELB_INFORMATION', 'MISSING_GITHUB_TOKEN', 'ELASTIC_LOAD_BALANCING_INVALID', 'ELB_INVALID_INSTANCE', 'INVALID_LAMBDA_CONFIGURATION', 'INVALID_LAMBDA_FUNCTION', 'HOOK_EXECUTION_FAILURE', 'AUTOSCALING_VALIDATION_ERROR', 'INVALID_ECS_SERVICE', 'ECS_UPDATE_ERROR', 'INVALID_REVISION', ], ], 'ErrorInformation' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FileExistsBehavior' => [ 'type' => 'string', 'enum' => [ 'DISALLOW', 'OVERWRITE', 'RETAIN', ], ], 'FilterValue' => [ 'type' => 'string', ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], ], 'GenericRevisionInfo' => [ 'type' => 'structure', 'members' => [ 'description' => [ 'shape' => 'Description', ], 'deploymentGroups' => [ 'shape' => 'DeploymentGroupsList', ], 'firstUsedTime' => [ 'shape' => 'Timestamp', ], 'lastUsedTime' => [ 'shape' => 'Timestamp', ], 'registerTime' => [ 'shape' => 'Timestamp', ], ], ], 'GetApplicationInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'GetApplicationOutput' => [ 'type' => 'structure', 'members' => [ 'application' => [ 'shape' => 'ApplicationInfo', ], ], ], 'GetApplicationRevisionInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'revision', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'revision' => [ 'shape' => 'RevisionLocation', ], ], ], 'GetApplicationRevisionOutput' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'revision' => [ 'shape' => 'RevisionLocation', ], 'revisionInfo' => [ 'shape' => 'GenericRevisionInfo', ], ], ], 'GetDeploymentConfigInput' => [ 'type' => 'structure', 'required' => [ 'deploymentConfigName', ], 'members' => [ 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], ], ], 'GetDeploymentConfigOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentConfigInfo' => [ 'shape' => 'DeploymentConfigInfo', ], ], ], 'GetDeploymentGroupInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'deploymentGroupName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], ], ], 'GetDeploymentGroupOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentGroupInfo' => [ 'shape' => 'DeploymentGroupInfo', ], ], ], 'GetDeploymentInput' => [ 'type' => 'structure', 'required' => [ 'deploymentId', ], 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], ], ], 'GetDeploymentInstanceInput' => [ 'type' => 'structure', 'required' => [ 'deploymentId', 'instanceId', ], 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'instanceId' => [ 'shape' => 'InstanceId', ], ], ], 'GetDeploymentInstanceOutput' => [ 'type' => 'structure', 'members' => [ 'instanceSummary' => [ 'shape' => 'InstanceSummary', ], ], ], 'GetDeploymentOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentInfo' => [ 'shape' => 'DeploymentInfo', ], ], ], 'GetDeploymentTargetInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'targetId' => [ 'shape' => 'TargetId', ], ], ], 'GetDeploymentTargetOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentTarget' => [ 'shape' => 'DeploymentTarget', ], ], ], 'GetOnPremisesInstanceInput' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'InstanceName', ], ], ], 'GetOnPremisesInstanceOutput' => [ 'type' => 'structure', 'members' => [ 'instanceInfo' => [ 'shape' => 'InstanceInfo', ], ], ], 'GitHubAccountTokenDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'GitHubAccountTokenName' => [ 'type' => 'string', ], 'GitHubAccountTokenNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GitHubAccountTokenName', ], ], 'GitHubAccountTokenNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'GitHubLocation' => [ 'type' => 'structure', 'members' => [ 'repository' => [ 'shape' => 'Repository', ], 'commitId' => [ 'shape' => 'CommitId', ], ], ], 'GreenFleetProvisioningAction' => [ 'type' => 'string', 'enum' => [ 'DISCOVER_EXISTING', 'COPY_AUTO_SCALING_GROUP', ], ], 'GreenFleetProvisioningOption' => [ 'type' => 'structure', 'members' => [ 'action' => [ 'shape' => 'GreenFleetProvisioningAction', ], ], ], 'IamArnRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IamSessionArn' => [ 'type' => 'string', ], 'IamSessionArnAlreadyRegisteredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IamUserArn' => [ 'type' => 'string', ], 'IamUserArnAlreadyRegisteredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IamUserArnRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceAction' => [ 'type' => 'string', 'enum' => [ 'TERMINATE', 'KEEP_ALIVE', ], ], 'InstanceArn' => [ 'type' => 'string', ], 'InstanceCount' => [ 'type' => 'long', ], 'InstanceDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, 'deprecatedMessage' => 'This exception is deprecated, use DeploymentTargetDoesNotExistException instead.', 'exception' => true, ], 'InstanceId' => [ 'type' => 'string', ], 'InstanceIdRequiredException' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, 'deprecatedMessage' => 'This exception is deprecated, use DeploymentTargetIdRequiredException instead.', 'exception' => true, ], 'InstanceInfo' => [ 'type' => 'structure', 'members' => [ 'instanceName' => [ 'shape' => 'InstanceName', ], 'iamSessionArn' => [ 'shape' => 'IamSessionArn', ], 'iamUserArn' => [ 'shape' => 'IamUserArn', ], 'instanceArn' => [ 'shape' => 'InstanceArn', ], 'registerTime' => [ 'shape' => 'Timestamp', ], 'deregisterTime' => [ 'shape' => 'Timestamp', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'InstanceInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceInfo', ], ], 'InstanceLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceName' => [ 'type' => 'string', ], 'InstanceNameAlreadyRegisteredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceName', ], ], 'InstanceNameRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceNotRegisteredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InstanceStatus' => [ 'type' => 'string', 'deprecated' => true, 'deprecatedMessage' => 'InstanceStatus is deprecated, use TargetStatus instead.', 'enum' => [ 'Pending', 'InProgress', 'Succeeded', 'Failed', 'Skipped', 'Unknown', 'Ready', ], ], 'InstanceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatus', ], ], 'InstanceSummary' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'instanceId' => [ 'shape' => 'InstanceId', ], 'status' => [ 'shape' => 'InstanceStatus', ], 'lastUpdatedAt' => [ 'shape' => 'Timestamp', ], 'lifecycleEvents' => [ 'shape' => 'LifecycleEventList', ], 'instanceType' => [ 'shape' => 'InstanceType', ], ], 'deprecated' => true, 'deprecatedMessage' => 'InstanceSummary is deprecated, use DeploymentTarget instead.', ], 'InstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceSummary', ], ], 'InstanceTarget' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'targetId' => [ 'shape' => 'TargetId', ], 'targetArn' => [ 'shape' => 'TargetArn', ], 'status' => [ 'shape' => 'TargetStatus', ], 'lastUpdatedAt' => [ 'shape' => 'Time', ], 'lifecycleEvents' => [ 'shape' => 'LifecycleEventList', ], 'instanceLabel' => [ 'shape' => 'TargetLabel', ], ], ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 'Blue', 'Green', ], ], 'InstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceType', ], ], 'InstancesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', ], ], 'InvalidAlarmConfigException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidApplicationNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidAutoRollbackConfigException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidAutoScalingGroupException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBlueGreenDeploymentConfigurationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBucketNameFilterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidComputePlatformException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeployedStateFilterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentConfigNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentGroupNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentInstanceTypeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentStatusException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentStyleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentTargetIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeploymentWaitTypeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidEC2TagCombinationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidEC2TagException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidECSServiceException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidFileExistsBehaviorException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidGitHubAccountTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidGitHubAccountTokenNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidIamSessionArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidIamUserArnException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidIgnoreApplicationStopFailuresValueException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidInstanceIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidInstanceNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidInstanceStatusException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidInstanceTypeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidKeyPrefixFilterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLifecycleEventHookExecutionIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLifecycleEventHookExecutionStatusException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLoadBalancerInfoException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidMinimumHealthyHostValueException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidOnPremisesTagCombinationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRegistrationStatusException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRevisionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRoleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSortByException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSortOrderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTagException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTagFilterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetFilterNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetGroupPairException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTargetInstancesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTimeRangeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTrafficRoutingConfigurationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTriggerConfigException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidUpdateOutdatedInstancesOnlyValueException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Key' => [ 'type' => 'string', ], 'LambdaTarget' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'targetId' => [ 'shape' => 'TargetId', ], 'targetArn' => [ 'shape' => 'TargetArn', ], 'status' => [ 'shape' => 'TargetStatus', ], 'lastUpdatedAt' => [ 'shape' => 'Time', ], 'lifecycleEvents' => [ 'shape' => 'LifecycleEventList', ], ], ], 'LastDeploymentInfo' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'createTime' => [ 'shape' => 'Timestamp', ], ], ], 'LifecycleErrorCode' => [ 'type' => 'string', 'enum' => [ 'Success', 'ScriptMissing', 'ScriptNotExecutable', 'ScriptTimedOut', 'ScriptFailed', 'UnknownError', ], ], 'LifecycleEvent' => [ 'type' => 'structure', 'members' => [ 'lifecycleEventName' => [ 'shape' => 'LifecycleEventName', ], 'diagnostics' => [ 'shape' => 'Diagnostics', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'status' => [ 'shape' => 'LifecycleEventStatus', ], ], ], 'LifecycleEventAlreadyCompletedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LifecycleEventHookExecutionId' => [ 'type' => 'string', ], 'LifecycleEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecycleEvent', ], ], 'LifecycleEventName' => [ 'type' => 'string', ], 'LifecycleEventStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Succeeded', 'Failed', 'Skipped', 'Unknown', ], ], 'LifecycleHookLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LifecycleMessage' => [ 'type' => 'string', ], 'ListApplicationRevisionsInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'sortBy' => [ 'shape' => 'ApplicationRevisionSortBy', ], 'sortOrder' => [ 'shape' => 'SortOrder', ], 's3Bucket' => [ 'shape' => 'S3Bucket', ], 's3KeyPrefix' => [ 'shape' => 'S3Key', ], 'deployed' => [ 'shape' => 'ListStateFilterAction', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListApplicationRevisionsOutput' => [ 'type' => 'structure', 'members' => [ 'revisions' => [ 'shape' => 'RevisionLocationList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListApplicationsInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListApplicationsOutput' => [ 'type' => 'structure', 'members' => [ 'applications' => [ 'shape' => 'ApplicationsList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentConfigsInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentConfigsOutput' => [ 'type' => 'structure', 'members' => [ 'deploymentConfigsList' => [ 'shape' => 'DeploymentConfigsList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentGroupsInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroups' => [ 'shape' => 'DeploymentGroupsList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentInstancesInput' => [ 'type' => 'structure', 'required' => [ 'deploymentId', ], 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'instanceStatusFilter' => [ 'shape' => 'InstanceStatusList', ], 'instanceTypeFilter' => [ 'shape' => 'InstanceTypeList', ], ], ], 'ListDeploymentInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'instancesList' => [ 'shape' => 'InstancesList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentTargetsInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'targetFilters' => [ 'shape' => 'TargetFilters', ], ], ], 'ListDeploymentTargetsOutput' => [ 'type' => 'structure', 'members' => [ 'targetIds' => [ 'shape' => 'TargetIdList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentsInput' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'deploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'includeOnlyStatuses' => [ 'shape' => 'DeploymentStatusList', ], 'createTimeRange' => [ 'shape' => 'TimeRange', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeploymentsOutput' => [ 'type' => 'structure', 'members' => [ 'deployments' => [ 'shape' => 'DeploymentsList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListGitHubAccountTokenNamesInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListGitHubAccountTokenNamesOutput' => [ 'type' => 'structure', 'members' => [ 'tokenNameList' => [ 'shape' => 'GitHubAccountTokenNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOnPremisesInstancesInput' => [ 'type' => 'structure', 'members' => [ 'registrationStatus' => [ 'shape' => 'RegistrationStatus', ], 'tagFilters' => [ 'shape' => 'TagFilterList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOnPremisesInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'instanceNames' => [ 'shape' => 'InstanceNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStateFilterAction' => [ 'type' => 'string', 'enum' => [ 'include', 'exclude', 'ignore', ], ], 'ListenerArn' => [ 'type' => 'string', ], 'ListenerArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListenerArn', ], ], 'LoadBalancerInfo' => [ 'type' => 'structure', 'members' => [ 'elbInfoList' => [ 'shape' => 'ELBInfoList', ], 'targetGroupInfoList' => [ 'shape' => 'TargetGroupInfoList', ], 'targetGroupPairInfoList' => [ 'shape' => 'TargetGroupPairInfoList', ], ], ], 'LogTail' => [ 'type' => 'string', ], 'Message' => [ 'type' => 'string', ], 'MinimumHealthyHosts' => [ 'type' => 'structure', 'members' => [ 'value' => [ 'shape' => 'MinimumHealthyHostsValue', ], 'type' => [ 'shape' => 'MinimumHealthyHostsType', ], ], ], 'MinimumHealthyHostsType' => [ 'type' => 'string', 'enum' => [ 'HOST_COUNT', 'FLEET_PERCENT', ], ], 'MinimumHealthyHostsValue' => [ 'type' => 'integer', ], 'MultipleIamArnsProvidedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NullableBoolean' => [ 'type' => 'boolean', ], 'OnPremisesTagSet' => [ 'type' => 'structure', 'members' => [ 'onPremisesTagSetList' => [ 'shape' => 'OnPremisesTagSetList', ], ], ], 'OnPremisesTagSetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilterList', ], ], 'OperationNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Percentage' => [ 'type' => 'integer', ], 'PutLifecycleEventHookExecutionStatusInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'lifecycleEventHookExecutionId' => [ 'shape' => 'LifecycleEventHookExecutionId', ], 'status' => [ 'shape' => 'LifecycleEventStatus', ], ], ], 'PutLifecycleEventHookExecutionStatusOutput' => [ 'type' => 'structure', 'members' => [ 'lifecycleEventHookExecutionId' => [ 'shape' => 'LifecycleEventHookExecutionId', ], ], ], 'RawString' => [ 'type' => 'structure', 'members' => [ 'content' => [ 'shape' => 'RawStringContent', ], 'sha256' => [ 'shape' => 'RawStringSha256', ], ], 'deprecated' => true, 'deprecatedMessage' => 'RawString and String revision type are deprecated, use AppSpecContent type instead.', ], 'RawStringContent' => [ 'type' => 'string', ], 'RawStringSha256' => [ 'type' => 'string', ], 'RegisterApplicationRevisionInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'revision', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'description' => [ 'shape' => 'Description', ], 'revision' => [ 'shape' => 'RevisionLocation', ], ], ], 'RegisterOnPremisesInstanceInput' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'InstanceName', ], 'iamSessionArn' => [ 'shape' => 'IamSessionArn', ], 'iamUserArn' => [ 'shape' => 'IamUserArn', ], ], ], 'RegistrationStatus' => [ 'type' => 'string', 'enum' => [ 'Registered', 'Deregistered', ], ], 'RemoveTagsFromOnPremisesInstancesInput' => [ 'type' => 'structure', 'required' => [ 'tags', 'instanceNames', ], 'members' => [ 'tags' => [ 'shape' => 'TagList', ], 'instanceNames' => [ 'shape' => 'InstanceNameList', ], ], ], 'Repository' => [ 'type' => 'string', ], 'ResourceValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RevisionDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RevisionInfo' => [ 'type' => 'structure', 'members' => [ 'revisionLocation' => [ 'shape' => 'RevisionLocation', ], 'genericRevisionInfo' => [ 'shape' => 'GenericRevisionInfo', ], ], ], 'RevisionInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RevisionInfo', ], ], 'RevisionLocation' => [ 'type' => 'structure', 'members' => [ 'revisionType' => [ 'shape' => 'RevisionLocationType', ], 's3Location' => [ 'shape' => 'S3Location', ], 'gitHubLocation' => [ 'shape' => 'GitHubLocation', ], 'string' => [ 'shape' => 'RawString', ], 'appSpecContent' => [ 'shape' => 'AppSpecContent', ], ], ], 'RevisionLocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RevisionLocation', ], ], 'RevisionLocationType' => [ 'type' => 'string', 'enum' => [ 'S3', 'GitHub', 'String', 'AppSpecContent', ], ], 'RevisionRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Role' => [ 'type' => 'string', ], 'RoleRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RollbackInfo' => [ 'type' => 'structure', 'members' => [ 'rollbackDeploymentId' => [ 'shape' => 'DeploymentId', ], 'rollbackTriggeringDeploymentId' => [ 'shape' => 'DeploymentId', ], 'rollbackMessage' => [ 'shape' => 'Description', ], ], ], 'S3Bucket' => [ 'type' => 'string', ], 'S3Key' => [ 'type' => 'string', ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'bucket' => [ 'shape' => 'S3Bucket', ], 'key' => [ 'shape' => 'S3Key', ], 'bundleType' => [ 'shape' => 'BundleType', ], 'version' => [ 'shape' => 'VersionId', ], 'eTag' => [ 'shape' => 'ETag', ], ], ], 'ScriptName' => [ 'type' => 'string', ], 'SkipWaitTimeForInstanceTerminationInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'ascending', 'descending', ], ], 'StopDeploymentInput' => [ 'type' => 'structure', 'required' => [ 'deploymentId', ], 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], 'autoRollbackEnabled' => [ 'shape' => 'NullableBoolean', ], ], ], 'StopDeploymentOutput' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'StopStatus', ], 'statusMessage' => [ 'shape' => 'Message', ], ], ], 'StopStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Succeeded', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'Value' => [ 'shape' => 'Value', ], ], ], 'TagFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'Value' => [ 'shape' => 'Value', ], 'Type' => [ 'shape' => 'TagFilterType', ], ], ], 'TagFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], ], 'TagFilterType' => [ 'type' => 'string', 'enum' => [ 'KEY_ONLY', 'VALUE_ONLY', 'KEY_AND_VALUE', ], ], 'TagLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagSetListLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TargetArn' => [ 'type' => 'string', ], 'TargetFilterName' => [ 'type' => 'string', 'enum' => [ 'TargetStatus', 'ServerInstanceLabel', ], ], 'TargetFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'TargetFilterName', ], 'value' => [ 'shape' => 'FilterValueList', ], ], 'TargetGroupInfo' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'TargetGroupName', ], ], ], 'TargetGroupInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupInfo', ], ], 'TargetGroupName' => [ 'type' => 'string', ], 'TargetGroupPairInfo' => [ 'type' => 'structure', 'members' => [ 'targetGroups' => [ 'shape' => 'TargetGroupInfoList', ], 'prodTrafficRoute' => [ 'shape' => 'TrafficRoute', ], 'testTrafficRoute' => [ 'shape' => 'TrafficRoute', ], ], ], 'TargetGroupPairInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupPairInfo', ], ], 'TargetId' => [ 'type' => 'string', ], 'TargetIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetId', ], ], 'TargetInstances' => [ 'type' => 'structure', 'members' => [ 'tagFilters' => [ 'shape' => 'EC2TagFilterList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupNameList', ], 'ec2TagSet' => [ 'shape' => 'EC2TagSet', ], ], ], 'TargetLabel' => [ 'type' => 'string', 'enum' => [ 'Blue', 'Green', ], ], 'TargetStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Succeeded', 'Failed', 'Skipped', 'Unknown', 'Ready', ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Time' => [ 'type' => 'timestamp', ], 'TimeBasedCanary' => [ 'type' => 'structure', 'members' => [ 'canaryPercentage' => [ 'shape' => 'Percentage', ], 'canaryInterval' => [ 'shape' => 'WaitTimeInMins', ], ], ], 'TimeBasedLinear' => [ 'type' => 'structure', 'members' => [ 'linearPercentage' => [ 'shape' => 'Percentage', ], 'linearInterval' => [ 'shape' => 'WaitTimeInMins', ], ], ], 'TimeRange' => [ 'type' => 'structure', 'members' => [ 'start' => [ 'shape' => 'Timestamp', ], 'end' => [ 'shape' => 'Timestamp', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TrafficRoute' => [ 'type' => 'structure', 'members' => [ 'listenerArns' => [ 'shape' => 'ListenerArnList', ], ], ], 'TrafficRoutingConfig' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'TrafficRoutingType', ], 'timeBasedCanary' => [ 'shape' => 'TimeBasedCanary', ], 'timeBasedLinear' => [ 'shape' => 'TimeBasedLinear', ], ], ], 'TrafficRoutingType' => [ 'type' => 'string', 'enum' => [ 'TimeBasedCanary', 'TimeBasedLinear', 'AllAtOnce', ], ], 'TrafficWeight' => [ 'type' => 'double', ], 'TriggerConfig' => [ 'type' => 'structure', 'members' => [ 'triggerName' => [ 'shape' => 'TriggerName', ], 'triggerTargetArn' => [ 'shape' => 'TriggerTargetArn', ], 'triggerEvents' => [ 'shape' => 'TriggerEventTypeList', ], ], ], 'TriggerConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TriggerConfig', ], ], 'TriggerEventType' => [ 'type' => 'string', 'enum' => [ 'DeploymentStart', 'DeploymentSuccess', 'DeploymentFailure', 'DeploymentStop', 'DeploymentRollback', 'DeploymentReady', 'InstanceStart', 'InstanceSuccess', 'InstanceFailure', 'InstanceReady', ], ], 'TriggerEventTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TriggerEventType', ], ], 'TriggerName' => [ 'type' => 'string', ], 'TriggerTargetArn' => [ 'type' => 'string', ], 'TriggerTargetsLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UnsupportedActionForDeploymentTypeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UpdateApplicationInput' => [ 'type' => 'structure', 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'newApplicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'UpdateDeploymentGroupInput' => [ 'type' => 'structure', 'required' => [ 'applicationName', 'currentDeploymentGroupName', ], 'members' => [ 'applicationName' => [ 'shape' => 'ApplicationName', ], 'currentDeploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'newDeploymentGroupName' => [ 'shape' => 'DeploymentGroupName', ], 'deploymentConfigName' => [ 'shape' => 'DeploymentConfigName', ], 'ec2TagFilters' => [ 'shape' => 'EC2TagFilterList', ], 'onPremisesInstanceTagFilters' => [ 'shape' => 'TagFilterList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupNameList', ], 'serviceRoleArn' => [ 'shape' => 'Role', ], 'triggerConfigurations' => [ 'shape' => 'TriggerConfigList', ], 'alarmConfiguration' => [ 'shape' => 'AlarmConfiguration', ], 'autoRollbackConfiguration' => [ 'shape' => 'AutoRollbackConfiguration', ], 'deploymentStyle' => [ 'shape' => 'DeploymentStyle', ], 'blueGreenDeploymentConfiguration' => [ 'shape' => 'BlueGreenDeploymentConfiguration', ], 'loadBalancerInfo' => [ 'shape' => 'LoadBalancerInfo', ], 'ec2TagSet' => [ 'shape' => 'EC2TagSet', ], 'ecsServices' => [ 'shape' => 'ECSServiceList', ], 'onPremisesTagSet' => [ 'shape' => 'OnPremisesTagSet', ], ], ], 'UpdateDeploymentGroupOutput' => [ 'type' => 'structure', 'members' => [ 'hooksNotCleanedUp' => [ 'shape' => 'AutoScalingGroupList', ], ], ], 'Value' => [ 'type' => 'string', ], 'VersionId' => [ 'type' => 'string', ], 'WaitTimeInMins' => [ 'type' => 'integer', ], ],]; diff --git a/lib/aws/Aws/data/codedeploy/2014-10-06/paginators-1.json.php b/lib/aws/Aws/data/codedeploy/2014-10-06/paginators-1.json.php new file mode 100644 index 0000000..53f83a2 --- /dev/null +++ b/lib/aws/Aws/data/codedeploy/2014-10-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codedeploy/2014-10-06/paginators-1.json +return [ 'pagination' => [ 'ListApplicationRevisions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'revisions', ], 'ListApplications' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'applications', ], 'ListDeploymentConfigs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'deploymentConfigsList', ], 'ListDeploymentGroups' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'deploymentGroups', ], 'ListDeploymentInstances' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'instancesList', ], 'ListDeployments' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'deployments', ], ],]; diff --git a/lib/aws/Aws/data/codedeploy/2014-10-06/smoke.json.php b/lib/aws/Aws/data/codedeploy/2014-10-06/smoke.json.php new file mode 100644 index 0000000..28c843b --- /dev/null +++ b/lib/aws/Aws/data/codedeploy/2014-10-06/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codedeploy/2014-10-06/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListApplications', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDeployment', 'input' => [ 'deploymentId' => 'd-USUAELQEX', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-1.json.php b/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-1.json.php new file mode 100644 index 0000000..08d03c4 --- /dev/null +++ b/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codedeploy/2014-10-06/waiters-1.json +return [ 'version' => 2, 'waiters' => [ 'DeploymentSuccessful' => [ 'delay' => 15, 'operation' => 'GetDeployment', 'maxAttempts' => 120, 'acceptors' => [ [ 'expected' => 'Succeeded', 'matcher' => 'path', 'state' => 'success', 'argument' => 'deploymentInfo.status', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'deploymentInfo.status', ], [ 'expected' => 'Stopped', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'deploymentInfo.status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-2.json.php b/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-2.json.php new file mode 100644 index 0000000..560ad97 --- /dev/null +++ b/lib/aws/Aws/data/codedeploy/2014-10-06/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codedeploy/2014-10-06/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DeploymentSuccessful' => [ 'delay' => 15, 'operation' => 'GetDeployment', 'maxAttempts' => 120, 'acceptors' => [ [ 'expected' => 'Succeeded', 'matcher' => 'path', 'state' => 'success', 'argument' => 'deploymentInfo.status', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'deploymentInfo.status', ], [ 'expected' => 'Stopped', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'deploymentInfo.status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/codepipeline/2015-07-09/api-2.json.php b/lib/aws/Aws/data/codepipeline/2015-07-09/api-2.json.php new file mode 100644 index 0000000..4df1656 --- /dev/null +++ b/lib/aws/Aws/data/codepipeline/2015-07-09/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codepipeline/2015-07-09/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-07-09', 'endpointPrefix' => 'codepipeline', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodePipeline', 'serviceFullName' => 'AWS CodePipeline', 'serviceId' => 'CodePipeline', 'signatureVersion' => 'v4', 'targetPrefix' => 'CodePipeline_20150709', 'uid' => 'codepipeline-2015-07-09', ], 'operations' => [ 'AcknowledgeJob' => [ 'name' => 'AcknowledgeJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcknowledgeJobInput', ], 'output' => [ 'shape' => 'AcknowledgeJobOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNonceException', ], [ 'shape' => 'JobNotFoundException', ], ], ], 'AcknowledgeThirdPartyJob' => [ 'name' => 'AcknowledgeThirdPartyJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcknowledgeThirdPartyJobInput', ], 'output' => [ 'shape' => 'AcknowledgeThirdPartyJobOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNonceException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InvalidClientTokenException', ], ], ], 'CreateCustomActionType' => [ 'name' => 'CreateCustomActionType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomActionTypeInput', ], 'output' => [ 'shape' => 'CreateCustomActionTypeOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreatePipeline' => [ 'name' => 'CreatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePipelineInput', ], 'output' => [ 'shape' => 'CreatePipelineOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNameInUseException', ], [ 'shape' => 'InvalidStageDeclarationException', ], [ 'shape' => 'InvalidActionDeclarationException', ], [ 'shape' => 'InvalidBlockerDeclarationException', ], [ 'shape' => 'InvalidStructureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteCustomActionType' => [ 'name' => 'DeleteCustomActionType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomActionTypeInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DeletePipeline' => [ 'name' => 'DeletePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePipelineInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DeleteWebhook' => [ 'name' => 'DeleteWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebhookInput', ], 'output' => [ 'shape' => 'DeleteWebhookOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DeregisterWebhookWithThirdParty' => [ 'name' => 'DeregisterWebhookWithThirdParty', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterWebhookWithThirdPartyInput', ], 'output' => [ 'shape' => 'DeregisterWebhookWithThirdPartyOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'WebhookNotFoundException', ], ], ], 'DisableStageTransition' => [ 'name' => 'DisableStageTransition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableStageTransitionInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'StageNotFoundException', ], ], ], 'EnableStageTransition' => [ 'name' => 'EnableStageTransition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableStageTransitionInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'StageNotFoundException', ], ], ], 'GetJobDetails' => [ 'name' => 'GetJobDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobDetailsInput', ], 'output' => [ 'shape' => 'GetJobDetailsOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'JobNotFoundException', ], ], ], 'GetPipeline' => [ 'name' => 'GetPipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPipelineInput', ], 'output' => [ 'shape' => 'GetPipelineOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'PipelineVersionNotFoundException', ], ], ], 'GetPipelineExecution' => [ 'name' => 'GetPipelineExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPipelineExecutionInput', ], 'output' => [ 'shape' => 'GetPipelineExecutionOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'PipelineExecutionNotFoundException', ], ], ], 'GetPipelineState' => [ 'name' => 'GetPipelineState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPipelineStateInput', ], 'output' => [ 'shape' => 'GetPipelineStateOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], ], ], 'GetThirdPartyJobDetails' => [ 'name' => 'GetThirdPartyJobDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetThirdPartyJobDetailsInput', ], 'output' => [ 'shape' => 'GetThirdPartyJobDetailsOutput', ], 'errors' => [ [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidJobException', ], ], ], 'ListActionExecutions' => [ 'name' => 'ListActionExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActionExecutionsInput', ], 'output' => [ 'shape' => 'ListActionExecutionsOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'PipelineExecutionNotFoundException', ], ], ], 'ListActionTypes' => [ 'name' => 'ListActionTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActionTypesInput', ], 'output' => [ 'shape' => 'ListActionTypesOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListPipelineExecutions' => [ 'name' => 'ListPipelineExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPipelineExecutionsInput', ], 'output' => [ 'shape' => 'ListPipelineExecutionsOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListPipelines' => [ 'name' => 'ListPipelines', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPipelinesInput', ], 'output' => [ 'shape' => 'ListPipelinesOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListWebhooks' => [ 'name' => 'ListWebhooks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWebhooksInput', ], 'output' => [ 'shape' => 'ListWebhooksOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'PollForJobs' => [ 'name' => 'PollForJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PollForJobsInput', ], 'output' => [ 'shape' => 'PollForJobsOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ActionTypeNotFoundException', ], ], ], 'PollForThirdPartyJobs' => [ 'name' => 'PollForThirdPartyJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PollForThirdPartyJobsInput', ], 'output' => [ 'shape' => 'PollForThirdPartyJobsOutput', ], 'errors' => [ [ 'shape' => 'ActionTypeNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'PutActionRevision' => [ 'name' => 'PutActionRevision', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutActionRevisionInput', ], 'output' => [ 'shape' => 'PutActionRevisionOutput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'StageNotFoundException', ], [ 'shape' => 'ActionNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'PutApprovalResult' => [ 'name' => 'PutApprovalResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutApprovalResultInput', ], 'output' => [ 'shape' => 'PutApprovalResultOutput', ], 'errors' => [ [ 'shape' => 'InvalidApprovalTokenException', ], [ 'shape' => 'ApprovalAlreadyCompletedException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'StageNotFoundException', ], [ 'shape' => 'ActionNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'PutJobFailureResult' => [ 'name' => 'PutJobFailureResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutJobFailureResultInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InvalidJobStateException', ], ], ], 'PutJobSuccessResult' => [ 'name' => 'PutJobSuccessResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutJobSuccessResultInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InvalidJobStateException', ], ], ], 'PutThirdPartyJobFailureResult' => [ 'name' => 'PutThirdPartyJobFailureResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutThirdPartyJobFailureResultInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'InvalidClientTokenException', ], ], ], 'PutThirdPartyJobSuccessResult' => [ 'name' => 'PutThirdPartyJobSuccessResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutThirdPartyJobSuccessResultInput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'InvalidClientTokenException', ], ], ], 'PutWebhook' => [ 'name' => 'PutWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutWebhookInput', ], 'output' => [ 'shape' => 'PutWebhookOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidWebhookFilterPatternException', ], [ 'shape' => 'InvalidWebhookAuthenticationParametersException', ], [ 'shape' => 'PipelineNotFoundException', ], ], ], 'RegisterWebhookWithThirdParty' => [ 'name' => 'RegisterWebhookWithThirdParty', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterWebhookWithThirdPartyInput', ], 'output' => [ 'shape' => 'RegisterWebhookWithThirdPartyOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'WebhookNotFoundException', ], ], ], 'RetryStageExecution' => [ 'name' => 'RetryStageExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetryStageExecutionInput', ], 'output' => [ 'shape' => 'RetryStageExecutionOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], [ 'shape' => 'StageNotFoundException', ], [ 'shape' => 'StageNotRetryableException', ], [ 'shape' => 'NotLatestPipelineExecutionException', ], ], ], 'StartPipelineExecution' => [ 'name' => 'StartPipelineExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartPipelineExecutionInput', ], 'output' => [ 'shape' => 'StartPipelineExecutionOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'PipelineNotFoundException', ], ], ], 'UpdatePipeline' => [ 'name' => 'UpdatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePipelineInput', ], 'output' => [ 'shape' => 'UpdatePipelineOutput', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidStageDeclarationException', ], [ 'shape' => 'InvalidActionDeclarationException', ], [ 'shape' => 'InvalidBlockerDeclarationException', ], [ 'shape' => 'InvalidStructureException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'AWSRegionName' => [ 'type' => 'string', 'max' => 30, 'min' => 4, ], 'AWSSessionCredentials' => [ 'type' => 'structure', 'required' => [ 'accessKeyId', 'secretAccessKey', 'sessionToken', ], 'members' => [ 'accessKeyId' => [ 'shape' => 'AccessKeyId', ], 'secretAccessKey' => [ 'shape' => 'SecretAccessKey', ], 'sessionToken' => [ 'shape' => 'SessionToken', ], ], 'sensitive' => true, ], 'AccessKeyId' => [ 'type' => 'string', ], 'AccountId' => [ 'type' => 'string', 'pattern' => '[0-9]{12}', ], 'AcknowledgeJobInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'nonce', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'nonce' => [ 'shape' => 'Nonce', ], ], ], 'AcknowledgeJobOutput' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'JobStatus', ], ], ], 'AcknowledgeThirdPartyJobInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'nonce', 'clientToken', ], 'members' => [ 'jobId' => [ 'shape' => 'ThirdPartyJobId', ], 'nonce' => [ 'shape' => 'Nonce', ], 'clientToken' => [ 'shape' => 'ClientToken', ], ], ], 'AcknowledgeThirdPartyJobOutput' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'JobStatus', ], ], ], 'ActionCategory' => [ 'type' => 'string', 'enum' => [ 'Source', 'Build', 'Deploy', 'Test', 'Invoke', 'Approval', ], ], 'ActionConfiguration' => [ 'type' => 'structure', 'members' => [ 'configuration' => [ 'shape' => 'ActionConfigurationMap', ], ], ], 'ActionConfigurationKey' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'ActionConfigurationMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ActionConfigurationKey', ], 'value' => [ 'shape' => 'ActionConfigurationValue', ], ], 'ActionConfigurationProperty' => [ 'type' => 'structure', 'required' => [ 'name', 'required', 'key', 'secret', ], 'members' => [ 'name' => [ 'shape' => 'ActionConfigurationKey', ], 'required' => [ 'shape' => 'Boolean', ], 'key' => [ 'shape' => 'Boolean', ], 'secret' => [ 'shape' => 'Boolean', ], 'queryable' => [ 'shape' => 'Boolean', ], 'description' => [ 'shape' => 'Description', ], 'type' => [ 'shape' => 'ActionConfigurationPropertyType', ], ], ], 'ActionConfigurationPropertyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionConfigurationProperty', ], 'max' => 10, ], 'ActionConfigurationPropertyType' => [ 'type' => 'string', 'enum' => [ 'String', 'Number', 'Boolean', ], ], 'ActionConfigurationQueryableValue' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'ActionConfigurationValue' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ActionContext' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ActionName', ], ], ], 'ActionDeclaration' => [ 'type' => 'structure', 'required' => [ 'name', 'actionTypeId', ], 'members' => [ 'name' => [ 'shape' => 'ActionName', ], 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'runOrder' => [ 'shape' => 'ActionRunOrder', ], 'configuration' => [ 'shape' => 'ActionConfigurationMap', ], 'outputArtifacts' => [ 'shape' => 'OutputArtifactList', ], 'inputArtifacts' => [ 'shape' => 'InputArtifactList', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'region' => [ 'shape' => 'AWSRegionName', ], ], ], 'ActionExecution' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'ActionExecutionStatus', ], 'summary' => [ 'shape' => 'ExecutionSummary', ], 'lastStatusChange' => [ 'shape' => 'Timestamp', ], 'token' => [ 'shape' => 'ActionExecutionToken', ], 'lastUpdatedBy' => [ 'shape' => 'LastUpdatedBy', ], 'externalExecutionId' => [ 'shape' => 'ExecutionId', ], 'externalExecutionUrl' => [ 'shape' => 'Url', ], 'percentComplete' => [ 'shape' => 'Percentage', ], 'errorDetails' => [ 'shape' => 'ErrorDetails', ], ], ], 'ActionExecutionDetail' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], 'actionExecutionId' => [ 'shape' => 'ActionExecutionId', ], 'pipelineVersion' => [ 'shape' => 'PipelineVersion', ], 'stageName' => [ 'shape' => 'StageName', ], 'actionName' => [ 'shape' => 'ActionName', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], 'status' => [ 'shape' => 'ActionExecutionStatus', ], 'input' => [ 'shape' => 'ActionExecutionInput', ], 'output' => [ 'shape' => 'ActionExecutionOutput', ], ], ], 'ActionExecutionDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionExecutionDetail', ], ], 'ActionExecutionFilter' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], ], ], 'ActionExecutionId' => [ 'type' => 'string', ], 'ActionExecutionInput' => [ 'type' => 'structure', 'members' => [ 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'configuration' => [ 'shape' => 'ActionConfigurationMap', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'region' => [ 'shape' => 'AWSRegionName', ], 'inputArtifacts' => [ 'shape' => 'ArtifactDetailList', ], ], ], 'ActionExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'outputArtifacts' => [ 'shape' => 'ArtifactDetailList', ], 'executionResult' => [ 'shape' => 'ActionExecutionResult', ], ], ], 'ActionExecutionResult' => [ 'type' => 'structure', 'members' => [ 'externalExecutionId' => [ 'shape' => 'ExternalExecutionId', ], 'externalExecutionSummary' => [ 'shape' => 'ExternalExecutionSummary', ], 'externalExecutionUrl' => [ 'shape' => 'Url', ], ], ], 'ActionExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Succeeded', 'Failed', ], ], 'ActionExecutionToken' => [ 'type' => 'string', ], 'ActionName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[A-Za-z0-9.@\\-_]+', ], 'ActionNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ActionOwner' => [ 'type' => 'string', 'enum' => [ 'AWS', 'ThirdParty', 'Custom', ], ], 'ActionProvider' => [ 'type' => 'string', 'max' => 25, 'min' => 1, 'pattern' => '[0-9A-Za-z_-]+', ], 'ActionRevision' => [ 'type' => 'structure', 'required' => [ 'revisionId', 'revisionChangeId', 'created', ], 'members' => [ 'revisionId' => [ 'shape' => 'Revision', ], 'revisionChangeId' => [ 'shape' => 'RevisionChangeIdentifier', ], 'created' => [ 'shape' => 'Timestamp', ], ], ], 'ActionRunOrder' => [ 'type' => 'integer', 'max' => 999, 'min' => 1, ], 'ActionState' => [ 'type' => 'structure', 'members' => [ 'actionName' => [ 'shape' => 'ActionName', ], 'currentRevision' => [ 'shape' => 'ActionRevision', ], 'latestExecution' => [ 'shape' => 'ActionExecution', ], 'entityUrl' => [ 'shape' => 'Url', ], 'revisionUrl' => [ 'shape' => 'Url', ], ], ], 'ActionStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionState', ], ], 'ActionType' => [ 'type' => 'structure', 'required' => [ 'id', 'inputArtifactDetails', 'outputArtifactDetails', ], 'members' => [ 'id' => [ 'shape' => 'ActionTypeId', ], 'settings' => [ 'shape' => 'ActionTypeSettings', ], 'actionConfigurationProperties' => [ 'shape' => 'ActionConfigurationPropertyList', ], 'inputArtifactDetails' => [ 'shape' => 'ArtifactDetails', ], 'outputArtifactDetails' => [ 'shape' => 'ArtifactDetails', ], ], ], 'ActionTypeId' => [ 'type' => 'structure', 'required' => [ 'category', 'owner', 'provider', 'version', ], 'members' => [ 'category' => [ 'shape' => 'ActionCategory', ], 'owner' => [ 'shape' => 'ActionOwner', ], 'provider' => [ 'shape' => 'ActionProvider', ], 'version' => [ 'shape' => 'Version', ], ], ], 'ActionTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionType', ], ], 'ActionTypeNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ActionTypeSettings' => [ 'type' => 'structure', 'members' => [ 'thirdPartyConfigurationUrl' => [ 'shape' => 'Url', ], 'entityUrlTemplate' => [ 'shape' => 'UrlTemplate', ], 'executionUrlTemplate' => [ 'shape' => 'UrlTemplate', ], 'revisionUrlTemplate' => [ 'shape' => 'UrlTemplate', ], ], ], 'ApprovalAlreadyCompletedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ApprovalResult' => [ 'type' => 'structure', 'required' => [ 'summary', 'status', ], 'members' => [ 'summary' => [ 'shape' => 'ApprovalSummary', ], 'status' => [ 'shape' => 'ApprovalStatus', ], ], ], 'ApprovalStatus' => [ 'type' => 'string', 'enum' => [ 'Approved', 'Rejected', ], ], 'ApprovalSummary' => [ 'type' => 'string', 'max' => 512, 'min' => 0, ], 'ApprovalToken' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'Artifact' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ArtifactName', ], 'revision' => [ 'shape' => 'Revision', ], 'location' => [ 'shape' => 'ArtifactLocation', ], ], ], 'ArtifactDetail' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ArtifactName', ], 's3location' => [ 'shape' => 'S3Location', ], ], ], 'ArtifactDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ArtifactDetail', ], ], 'ArtifactDetails' => [ 'type' => 'structure', 'required' => [ 'minimumCount', 'maximumCount', ], 'members' => [ 'minimumCount' => [ 'shape' => 'MinimumArtifactCount', ], 'maximumCount' => [ 'shape' => 'MaximumArtifactCount', ], ], ], 'ArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Artifact', ], ], 'ArtifactLocation' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'ArtifactLocationType', ], 's3Location' => [ 'shape' => 'S3ArtifactLocation', ], ], ], 'ArtifactLocationType' => [ 'type' => 'string', 'enum' => [ 'S3', ], ], 'ArtifactName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[a-zA-Z0-9_\\-]+', ], 'ArtifactRevision' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ArtifactName', ], 'revisionId' => [ 'shape' => 'Revision', ], 'revisionChangeIdentifier' => [ 'shape' => 'RevisionChangeIdentifier', ], 'revisionSummary' => [ 'shape' => 'RevisionSummary', ], 'created' => [ 'shape' => 'Timestamp', ], 'revisionUrl' => [ 'shape' => 'Url', ], ], ], 'ArtifactRevisionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ArtifactRevision', ], ], 'ArtifactStore' => [ 'type' => 'structure', 'required' => [ 'type', 'location', ], 'members' => [ 'type' => [ 'shape' => 'ArtifactStoreType', ], 'location' => [ 'shape' => 'ArtifactStoreLocation', ], 'encryptionKey' => [ 'shape' => 'EncryptionKey', ], ], ], 'ArtifactStoreLocation' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '[a-zA-Z0-9\\-\\.]+', ], 'ArtifactStoreMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AWSRegionName', ], 'value' => [ 'shape' => 'ArtifactStore', ], ], 'ArtifactStoreType' => [ 'type' => 'string', 'enum' => [ 'S3', ], ], 'BlockerDeclaration' => [ 'type' => 'structure', 'required' => [ 'name', 'type', ], 'members' => [ 'name' => [ 'shape' => 'BlockerName', ], 'type' => [ 'shape' => 'BlockerType', ], ], ], 'BlockerName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'BlockerType' => [ 'type' => 'string', 'enum' => [ 'Schedule', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'ClientId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-]+$', ], 'ClientToken' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Code' => [ 'type' => 'string', ], 'ContinuationToken' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'CreateCustomActionTypeInput' => [ 'type' => 'structure', 'required' => [ 'category', 'provider', 'version', 'inputArtifactDetails', 'outputArtifactDetails', ], 'members' => [ 'category' => [ 'shape' => 'ActionCategory', ], 'provider' => [ 'shape' => 'ActionProvider', ], 'version' => [ 'shape' => 'Version', ], 'settings' => [ 'shape' => 'ActionTypeSettings', ], 'configurationProperties' => [ 'shape' => 'ActionConfigurationPropertyList', ], 'inputArtifactDetails' => [ 'shape' => 'ArtifactDetails', ], 'outputArtifactDetails' => [ 'shape' => 'ArtifactDetails', ], ], ], 'CreateCustomActionTypeOutput' => [ 'type' => 'structure', 'required' => [ 'actionType', ], 'members' => [ 'actionType' => [ 'shape' => 'ActionType', ], ], ], 'CreatePipelineInput' => [ 'type' => 'structure', 'required' => [ 'pipeline', ], 'members' => [ 'pipeline' => [ 'shape' => 'PipelineDeclaration', ], ], ], 'CreatePipelineOutput' => [ 'type' => 'structure', 'members' => [ 'pipeline' => [ 'shape' => 'PipelineDeclaration', ], ], ], 'CurrentRevision' => [ 'type' => 'structure', 'required' => [ 'revision', 'changeIdentifier', ], 'members' => [ 'revision' => [ 'shape' => 'Revision', ], 'changeIdentifier' => [ 'shape' => 'RevisionChangeIdentifier', ], 'created' => [ 'shape' => 'Time', ], 'revisionSummary' => [ 'shape' => 'RevisionSummary', ], ], ], 'DeleteCustomActionTypeInput' => [ 'type' => 'structure', 'required' => [ 'category', 'provider', 'version', ], 'members' => [ 'category' => [ 'shape' => 'ActionCategory', ], 'provider' => [ 'shape' => 'ActionProvider', ], 'version' => [ 'shape' => 'Version', ], ], ], 'DeletePipelineInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], ], ], 'DeleteWebhookInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'WebhookName', ], ], ], 'DeleteWebhookOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterWebhookWithThirdPartyInput' => [ 'type' => 'structure', 'members' => [ 'webhookName' => [ 'shape' => 'WebhookName', ], ], ], 'DeregisterWebhookWithThirdPartyOutput' => [ 'type' => 'structure', 'members' => [], ], 'Description' => [ 'type' => 'string', 'max' => 160, 'min' => 1, ], 'DisableStageTransitionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'stageName', 'transitionType', 'reason', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stageName' => [ 'shape' => 'StageName', ], 'transitionType' => [ 'shape' => 'StageTransitionType', ], 'reason' => [ 'shape' => 'DisabledReason', ], ], ], 'DisabledReason' => [ 'type' => 'string', 'max' => 300, 'min' => 1, 'pattern' => '[a-zA-Z0-9!@ \\(\\)\\.\\*\\?\\-]+', ], 'EnableStageTransitionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'stageName', 'transitionType', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stageName' => [ 'shape' => 'StageName', ], 'transitionType' => [ 'shape' => 'StageTransitionType', ], ], ], 'Enabled' => [ 'type' => 'boolean', ], 'EncryptionKey' => [ 'type' => 'structure', 'required' => [ 'id', 'type', ], 'members' => [ 'id' => [ 'shape' => 'EncryptionKeyId', ], 'type' => [ 'shape' => 'EncryptionKeyType', ], ], ], 'EncryptionKeyId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'EncryptionKeyType' => [ 'type' => 'string', 'enum' => [ 'KMS', ], ], 'ErrorDetails' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], ], 'ExecutionDetails' => [ 'type' => 'structure', 'members' => [ 'summary' => [ 'shape' => 'ExecutionSummary', ], 'externalExecutionId' => [ 'shape' => 'ExecutionId', ], 'percentComplete' => [ 'shape' => 'Percentage', ], ], ], 'ExecutionId' => [ 'type' => 'string', 'max' => 1500, 'min' => 1, ], 'ExecutionSummary' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ExternalExecutionId' => [ 'type' => 'string', ], 'ExternalExecutionSummary' => [ 'type' => 'string', ], 'FailureDetails' => [ 'type' => 'structure', 'required' => [ 'type', 'message', ], 'members' => [ 'type' => [ 'shape' => 'FailureType', ], 'message' => [ 'shape' => 'Message', ], 'externalExecutionId' => [ 'shape' => 'ExecutionId', ], ], ], 'FailureType' => [ 'type' => 'string', 'enum' => [ 'JobFailed', 'ConfigurationError', 'PermissionError', 'RevisionOutOfSync', 'RevisionUnavailable', 'SystemUnavailable', ], ], 'GetJobDetailsInput' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], ], ], 'GetJobDetailsOutput' => [ 'type' => 'structure', 'members' => [ 'jobDetails' => [ 'shape' => 'JobDetails', ], ], ], 'GetPipelineExecutionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'pipelineExecutionId', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], ], ], 'GetPipelineExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineExecution' => [ 'shape' => 'PipelineExecution', ], ], ], 'GetPipelineInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'version' => [ 'shape' => 'PipelineVersion', ], ], ], 'GetPipelineOutput' => [ 'type' => 'structure', 'members' => [ 'pipeline' => [ 'shape' => 'PipelineDeclaration', ], 'metadata' => [ 'shape' => 'PipelineMetadata', ], ], ], 'GetPipelineStateInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], ], ], 'GetPipelineStateOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'pipelineVersion' => [ 'shape' => 'PipelineVersion', ], 'stageStates' => [ 'shape' => 'StageStateList', ], 'created' => [ 'shape' => 'Timestamp', ], 'updated' => [ 'shape' => 'Timestamp', ], ], ], 'GetThirdPartyJobDetailsInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'clientToken', ], 'members' => [ 'jobId' => [ 'shape' => 'ThirdPartyJobId', ], 'clientToken' => [ 'shape' => 'ClientToken', ], ], ], 'GetThirdPartyJobDetailsOutput' => [ 'type' => 'structure', 'members' => [ 'jobDetails' => [ 'shape' => 'ThirdPartyJobDetails', ], ], ], 'InputArtifact' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'ArtifactName', ], ], ], 'InputArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputArtifact', ], ], 'InvalidActionDeclarationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidApprovalTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBlockerDeclarationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidClientTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidJobException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidJobStateException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNonceException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidStageDeclarationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidStructureException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidWebhookAuthenticationParametersException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidWebhookFilterPatternException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Job' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'JobId', ], 'data' => [ 'shape' => 'JobData', ], 'nonce' => [ 'shape' => 'Nonce', ], 'accountId' => [ 'shape' => 'AccountId', ], ], ], 'JobData' => [ 'type' => 'structure', 'members' => [ 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'actionConfiguration' => [ 'shape' => 'ActionConfiguration', ], 'pipelineContext' => [ 'shape' => 'PipelineContext', ], 'inputArtifacts' => [ 'shape' => 'ArtifactList', ], 'outputArtifacts' => [ 'shape' => 'ArtifactList', ], 'artifactCredentials' => [ 'shape' => 'AWSSessionCredentials', ], 'continuationToken' => [ 'shape' => 'ContinuationToken', ], 'encryptionKey' => [ 'shape' => 'EncryptionKey', ], ], ], 'JobDetails' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'JobId', ], 'data' => [ 'shape' => 'JobData', ], 'accountId' => [ 'shape' => 'AccountId', ], ], ], 'JobId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'JobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], 'JobNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'Created', 'Queued', 'Dispatched', 'InProgress', 'TimedOut', 'Succeeded', 'Failed', ], ], 'JsonPath' => [ 'type' => 'string', 'max' => 150, 'min' => 1, ], 'LastChangedAt' => [ 'type' => 'timestamp', ], 'LastChangedBy' => [ 'type' => 'string', ], 'LastUpdatedBy' => [ 'type' => 'string', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListActionExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'filter' => [ 'shape' => 'ActionExecutionFilter', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListActionExecutionsOutput' => [ 'type' => 'structure', 'members' => [ 'actionExecutionDetails' => [ 'shape' => 'ActionExecutionDetailList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListActionTypesInput' => [ 'type' => 'structure', 'members' => [ 'actionOwnerFilter' => [ 'shape' => 'ActionOwner', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListActionTypesOutput' => [ 'type' => 'structure', 'required' => [ 'actionTypes', ], 'members' => [ 'actionTypes' => [ 'shape' => 'ActionTypeList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPipelineExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPipelineExecutionsOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionSummaries' => [ 'shape' => 'PipelineExecutionSummaryList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPipelinesInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPipelinesOutput' => [ 'type' => 'structure', 'members' => [ 'pipelines' => [ 'shape' => 'PipelineList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListWebhookItem' => [ 'type' => 'structure', 'required' => [ 'definition', 'url', ], 'members' => [ 'definition' => [ 'shape' => 'WebhookDefinition', ], 'url' => [ 'shape' => 'WebhookUrl', ], 'errorMessage' => [ 'shape' => 'WebhookErrorMessage', ], 'errorCode' => [ 'shape' => 'WebhookErrorCode', ], 'lastTriggered' => [ 'shape' => 'WebhookLastTriggered', ], 'arn' => [ 'shape' => 'WebhookArn', ], ], ], 'ListWebhooksInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListWebhooksOutput' => [ 'type' => 'structure', 'members' => [ 'webhooks' => [ 'shape' => 'WebhookList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MatchEquals' => [ 'type' => 'string', 'max' => 150, 'min' => 1, ], 'MaxBatchSize' => [ 'type' => 'integer', 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaximumArtifactCount' => [ 'type' => 'integer', 'max' => 5, 'min' => 0, ], 'Message' => [ 'type' => 'string', 'max' => 5000, 'min' => 1, ], 'MinimumArtifactCount' => [ 'type' => 'integer', 'max' => 5, 'min' => 0, ], 'NextToken' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'Nonce' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'NotLatestPipelineExecutionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OutputArtifact' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'ArtifactName', ], ], ], 'OutputArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputArtifact', ], ], 'Percentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'PipelineArn' => [ 'type' => 'string', 'pattern' => 'arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+', ], 'PipelineContext' => [ 'type' => 'structure', 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stage' => [ 'shape' => 'StageContext', ], 'action' => [ 'shape' => 'ActionContext', ], ], ], 'PipelineDeclaration' => [ 'type' => 'structure', 'required' => [ 'name', 'roleArn', 'stages', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'artifactStore' => [ 'shape' => 'ArtifactStore', ], 'artifactStores' => [ 'shape' => 'ArtifactStoreMap', ], 'stages' => [ 'shape' => 'PipelineStageDeclarationList', ], 'version' => [ 'shape' => 'PipelineVersion', ], ], ], 'PipelineExecution' => [ 'type' => 'structure', 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'pipelineVersion' => [ 'shape' => 'PipelineVersion', ], 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], 'status' => [ 'shape' => 'PipelineExecutionStatus', ], 'artifactRevisions' => [ 'shape' => 'ArtifactRevisionList', ], ], ], 'PipelineExecutionId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'PipelineExecutionNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PipelineExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Succeeded', 'Superseded', 'Failed', ], ], 'PipelineExecutionSummary' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], 'status' => [ 'shape' => 'PipelineExecutionStatus', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], 'sourceRevisions' => [ 'shape' => 'SourceRevisionList', ], ], ], 'PipelineExecutionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineExecutionSummary', ], ], 'PipelineList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineSummary', ], ], 'PipelineMetadata' => [ 'type' => 'structure', 'members' => [ 'pipelineArn' => [ 'shape' => 'PipelineArn', ], 'created' => [ 'shape' => 'Timestamp', ], 'updated' => [ 'shape' => 'Timestamp', ], ], ], 'PipelineName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[A-Za-z0-9.@\\-_]+', ], 'PipelineNameInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PipelineNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PipelineStageDeclarationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StageDeclaration', ], ], 'PipelineSummary' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'version' => [ 'shape' => 'PipelineVersion', ], 'created' => [ 'shape' => 'Timestamp', ], 'updated' => [ 'shape' => 'Timestamp', ], ], ], 'PipelineVersion' => [ 'type' => 'integer', 'min' => 1, ], 'PipelineVersionNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PollForJobsInput' => [ 'type' => 'structure', 'required' => [ 'actionTypeId', ], 'members' => [ 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'maxBatchSize' => [ 'shape' => 'MaxBatchSize', ], 'queryParam' => [ 'shape' => 'QueryParamMap', ], ], ], 'PollForJobsOutput' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'JobList', ], ], ], 'PollForThirdPartyJobsInput' => [ 'type' => 'structure', 'required' => [ 'actionTypeId', ], 'members' => [ 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'maxBatchSize' => [ 'shape' => 'MaxBatchSize', ], ], ], 'PollForThirdPartyJobsOutput' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'ThirdPartyJobList', ], ], ], 'PutActionRevisionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'stageName', 'actionName', 'actionRevision', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stageName' => [ 'shape' => 'StageName', ], 'actionName' => [ 'shape' => 'ActionName', ], 'actionRevision' => [ 'shape' => 'ActionRevision', ], ], ], 'PutActionRevisionOutput' => [ 'type' => 'structure', 'members' => [ 'newRevision' => [ 'shape' => 'Boolean', ], 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], ], ], 'PutApprovalResultInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'stageName', 'actionName', 'result', 'token', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stageName' => [ 'shape' => 'StageName', ], 'actionName' => [ 'shape' => 'ActionName', ], 'result' => [ 'shape' => 'ApprovalResult', ], 'token' => [ 'shape' => 'ApprovalToken', ], ], ], 'PutApprovalResultOutput' => [ 'type' => 'structure', 'members' => [ 'approvedAt' => [ 'shape' => 'Timestamp', ], ], ], 'PutJobFailureResultInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'failureDetails', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'failureDetails' => [ 'shape' => 'FailureDetails', ], ], ], 'PutJobSuccessResultInput' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'currentRevision' => [ 'shape' => 'CurrentRevision', ], 'continuationToken' => [ 'shape' => 'ContinuationToken', ], 'executionDetails' => [ 'shape' => 'ExecutionDetails', ], ], ], 'PutThirdPartyJobFailureResultInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'clientToken', 'failureDetails', ], 'members' => [ 'jobId' => [ 'shape' => 'ThirdPartyJobId', ], 'clientToken' => [ 'shape' => 'ClientToken', ], 'failureDetails' => [ 'shape' => 'FailureDetails', ], ], ], 'PutThirdPartyJobSuccessResultInput' => [ 'type' => 'structure', 'required' => [ 'jobId', 'clientToken', ], 'members' => [ 'jobId' => [ 'shape' => 'ThirdPartyJobId', ], 'clientToken' => [ 'shape' => 'ClientToken', ], 'currentRevision' => [ 'shape' => 'CurrentRevision', ], 'continuationToken' => [ 'shape' => 'ContinuationToken', ], 'executionDetails' => [ 'shape' => 'ExecutionDetails', ], ], ], 'PutWebhookInput' => [ 'type' => 'structure', 'required' => [ 'webhook', ], 'members' => [ 'webhook' => [ 'shape' => 'WebhookDefinition', ], ], ], 'PutWebhookOutput' => [ 'type' => 'structure', 'members' => [ 'webhook' => [ 'shape' => 'ListWebhookItem', ], ], ], 'QueryParamMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ActionConfigurationKey', ], 'value' => [ 'shape' => 'ActionConfigurationQueryableValue', ], 'max' => 1, 'min' => 0, ], 'RegisterWebhookWithThirdPartyInput' => [ 'type' => 'structure', 'members' => [ 'webhookName' => [ 'shape' => 'WebhookName', ], ], ], 'RegisterWebhookWithThirdPartyOutput' => [ 'type' => 'structure', 'members' => [], ], 'RetryStageExecutionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'stageName', 'pipelineExecutionId', 'retryMode', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'stageName' => [ 'shape' => 'StageName', ], 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], 'retryMode' => [ 'shape' => 'StageRetryMode', ], ], ], 'RetryStageExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], ], ], 'Revision' => [ 'type' => 'string', 'max' => 1500, 'min' => 1, ], 'RevisionChangeIdentifier' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'RevisionSummary' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'RoleArn' => [ 'type' => 'string', 'max' => 1024, 'pattern' => 'arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*', ], 'S3ArtifactLocation' => [ 'type' => 'structure', 'required' => [ 'bucketName', 'objectKey', ], 'members' => [ 'bucketName' => [ 'shape' => 'S3BucketName', ], 'objectKey' => [ 'shape' => 'S3ObjectKey', ], ], ], 'S3Bucket' => [ 'type' => 'string', 'max' => 63, 'min' => 3, ], 'S3BucketName' => [ 'type' => 'string', ], 'S3Key' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'bucket' => [ 'shape' => 'S3Bucket', ], 'key' => [ 'shape' => 'S3Key', ], ], ], 'S3ObjectKey' => [ 'type' => 'string', ], 'SecretAccessKey' => [ 'type' => 'string', ], 'SessionToken' => [ 'type' => 'string', ], 'SourceRevision' => [ 'type' => 'structure', 'required' => [ 'actionName', ], 'members' => [ 'actionName' => [ 'shape' => 'ActionName', ], 'revisionId' => [ 'shape' => 'Revision', ], 'revisionSummary' => [ 'shape' => 'RevisionSummary', ], 'revisionUrl' => [ 'shape' => 'Url', ], ], ], 'SourceRevisionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceRevision', ], ], 'StageActionDeclarationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionDeclaration', ], ], 'StageBlockerDeclarationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockerDeclaration', ], ], 'StageContext' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'StageName', ], ], ], 'StageDeclaration' => [ 'type' => 'structure', 'required' => [ 'name', 'actions', ], 'members' => [ 'name' => [ 'shape' => 'StageName', ], 'blockers' => [ 'shape' => 'StageBlockerDeclarationList', ], 'actions' => [ 'shape' => 'StageActionDeclarationList', ], ], ], 'StageExecution' => [ 'type' => 'structure', 'required' => [ 'pipelineExecutionId', 'status', ], 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], 'status' => [ 'shape' => 'StageExecutionStatus', ], ], ], 'StageExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Failed', 'Succeeded', ], ], 'StageName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[A-Za-z0-9.@\\-_]+', ], 'StageNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'StageNotRetryableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'StageRetryMode' => [ 'type' => 'string', 'enum' => [ 'FAILED_ACTIONS', ], ], 'StageState' => [ 'type' => 'structure', 'members' => [ 'stageName' => [ 'shape' => 'StageName', ], 'inboundTransitionState' => [ 'shape' => 'TransitionState', ], 'actionStates' => [ 'shape' => 'ActionStateList', ], 'latestExecution' => [ 'shape' => 'StageExecution', ], ], ], 'StageStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StageState', ], ], 'StageTransitionType' => [ 'type' => 'string', 'enum' => [ 'Inbound', 'Outbound', ], ], 'StartPipelineExecutionInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'StartPipelineExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineExecutionId' => [ 'shape' => 'PipelineExecutionId', ], ], ], 'ThirdPartyJob' => [ 'type' => 'structure', 'members' => [ 'clientId' => [ 'shape' => 'ClientId', ], 'jobId' => [ 'shape' => 'JobId', ], ], ], 'ThirdPartyJobData' => [ 'type' => 'structure', 'members' => [ 'actionTypeId' => [ 'shape' => 'ActionTypeId', ], 'actionConfiguration' => [ 'shape' => 'ActionConfiguration', ], 'pipelineContext' => [ 'shape' => 'PipelineContext', ], 'inputArtifacts' => [ 'shape' => 'ArtifactList', ], 'outputArtifacts' => [ 'shape' => 'ArtifactList', ], 'artifactCredentials' => [ 'shape' => 'AWSSessionCredentials', ], 'continuationToken' => [ 'shape' => 'ContinuationToken', ], 'encryptionKey' => [ 'shape' => 'EncryptionKey', ], ], ], 'ThirdPartyJobDetails' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'ThirdPartyJobId', ], 'data' => [ 'shape' => 'ThirdPartyJobData', ], 'nonce' => [ 'shape' => 'Nonce', ], ], ], 'ThirdPartyJobId' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ThirdPartyJobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThirdPartyJob', ], ], 'Time' => [ 'type' => 'timestamp', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TransitionState' => [ 'type' => 'structure', 'members' => [ 'enabled' => [ 'shape' => 'Enabled', ], 'lastChangedBy' => [ 'shape' => 'LastChangedBy', ], 'lastChangedAt' => [ 'shape' => 'LastChangedAt', ], 'disabledReason' => [ 'shape' => 'DisabledReason', ], ], ], 'UpdatePipelineInput' => [ 'type' => 'structure', 'required' => [ 'pipeline', ], 'members' => [ 'pipeline' => [ 'shape' => 'PipelineDeclaration', ], ], ], 'UpdatePipelineOutput' => [ 'type' => 'structure', 'members' => [ 'pipeline' => [ 'shape' => 'PipelineDeclaration', ], ], ], 'Url' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'UrlTemplate' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Version' => [ 'type' => 'string', 'max' => 9, 'min' => 1, 'pattern' => '[0-9A-Za-z_-]+', ], 'WebhookArn' => [ 'type' => 'string', ], 'WebhookAuthConfiguration' => [ 'type' => 'structure', 'members' => [ 'AllowedIPRange' => [ 'shape' => 'WebhookAuthConfigurationAllowedIPRange', ], 'SecretToken' => [ 'shape' => 'WebhookAuthConfigurationSecretToken', ], ], ], 'WebhookAuthConfigurationAllowedIPRange' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'WebhookAuthConfigurationSecretToken' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'WebhookAuthenticationType' => [ 'type' => 'string', 'enum' => [ 'GITHUB_HMAC', 'IP', 'UNAUTHENTICATED', ], ], 'WebhookDefinition' => [ 'type' => 'structure', 'required' => [ 'name', 'targetPipeline', 'targetAction', 'filters', 'authentication', 'authenticationConfiguration', ], 'members' => [ 'name' => [ 'shape' => 'WebhookName', ], 'targetPipeline' => [ 'shape' => 'PipelineName', ], 'targetAction' => [ 'shape' => 'ActionName', ], 'filters' => [ 'shape' => 'WebhookFilters', ], 'authentication' => [ 'shape' => 'WebhookAuthenticationType', ], 'authenticationConfiguration' => [ 'shape' => 'WebhookAuthConfiguration', ], ], ], 'WebhookErrorCode' => [ 'type' => 'string', ], 'WebhookErrorMessage' => [ 'type' => 'string', ], 'WebhookFilterRule' => [ 'type' => 'structure', 'required' => [ 'jsonPath', ], 'members' => [ 'jsonPath' => [ 'shape' => 'JsonPath', ], 'matchEquals' => [ 'shape' => 'MatchEquals', ], ], ], 'WebhookFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebhookFilterRule', ], 'max' => 5, ], 'WebhookLastTriggered' => [ 'type' => 'timestamp', ], 'WebhookList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListWebhookItem', ], ], 'WebhookName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[A-Za-z0-9.@\\-_]+', ], 'WebhookNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'WebhookUrl' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/codepipeline/2015-07-09/paginators-1.json.php b/lib/aws/Aws/data/codepipeline/2015-07-09/paginators-1.json.php new file mode 100644 index 0000000..9ecdf87 --- /dev/null +++ b/lib/aws/Aws/data/codepipeline/2015-07-09/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codepipeline/2015-07-09/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/codepipeline/2015-07-09/smoke.json.php b/lib/aws/Aws/data/codepipeline/2015-07-09/smoke.json.php new file mode 100644 index 0000000..a41b2c1 --- /dev/null +++ b/lib/aws/Aws/data/codepipeline/2015-07-09/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codepipeline/2015-07-09/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPipelines', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetPipeline', 'input' => [ 'name' => 'fake-pipeline', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/codestar/2017-04-19/api-2.json.php b/lib/aws/Aws/data/codestar/2017-04-19/api-2.json.php new file mode 100644 index 0000000..fd6acb8 --- /dev/null +++ b/lib/aws/Aws/data/codestar/2017-04-19/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codestar/2017-04-19/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-04-19', 'endpointPrefix' => 'codestar', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodeStar', 'serviceFullName' => 'AWS CodeStar', 'serviceId' => 'CodeStar', 'signatureVersion' => 'v4', 'targetPrefix' => 'CodeStar_20170419', 'uid' => 'codestar-2017-04-19', ], 'operations' => [ 'AssociateTeamMember' => [ 'name' => 'AssociateTeamMember', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateTeamMemberRequest', ], 'output' => [ 'shape' => 'AssociateTeamMemberResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'TeamMemberAlreadyAssociatedException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidServiceRoleException', ], [ 'shape' => 'ProjectConfigurationException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateProject' => [ 'name' => 'CreateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProjectRequest', ], 'output' => [ 'shape' => 'CreateProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ProjectCreationFailedException', ], [ 'shape' => 'InvalidServiceRoleException', ], [ 'shape' => 'ProjectConfigurationException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateUserProfile' => [ 'name' => 'CreateUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserProfileRequest', ], 'output' => [ 'shape' => 'CreateUserProfileResult', ], 'errors' => [ [ 'shape' => 'UserProfileAlreadyExistsException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteProject' => [ 'name' => 'DeleteProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProjectRequest', ], 'output' => [ 'shape' => 'DeleteProjectResult', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidServiceRoleException', ], ], ], 'DeleteUserProfile' => [ 'name' => 'DeleteUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserProfileRequest', ], 'output' => [ 'shape' => 'DeleteUserProfileResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DescribeProject' => [ 'name' => 'DescribeProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProjectRequest', ], 'output' => [ 'shape' => 'DescribeProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidServiceRoleException', ], [ 'shape' => 'ProjectConfigurationException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DescribeUserProfile' => [ 'name' => 'DescribeUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserProfileRequest', ], 'output' => [ 'shape' => 'DescribeUserProfileResult', ], 'errors' => [ [ 'shape' => 'UserProfileNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DisassociateTeamMember' => [ 'name' => 'DisassociateTeamMember', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateTeamMemberRequest', ], 'output' => [ 'shape' => 'DisassociateTeamMemberResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidServiceRoleException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'ListProjects' => [ 'name' => 'ListProjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProjectsRequest', ], 'output' => [ 'shape' => 'ListProjectsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListResources' => [ 'name' => 'ListResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourcesRequest', ], 'output' => [ 'shape' => 'ListResourcesResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListTagsForProject' => [ 'name' => 'ListTagsForProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForProjectRequest', ], 'output' => [ 'shape' => 'ListTagsForProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListTeamMembers' => [ 'name' => 'ListTeamMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTeamMembersRequest', ], 'output' => [ 'shape' => 'ListTeamMembersResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListUserProfiles' => [ 'name' => 'ListUserProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserProfilesRequest', ], 'output' => [ 'shape' => 'ListUserProfilesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ValidationException', ], ], ], 'TagProject' => [ 'name' => 'TagProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagProjectRequest', ], 'output' => [ 'shape' => 'TagProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UntagProject' => [ 'name' => 'UntagProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagProjectRequest', ], 'output' => [ 'shape' => 'UntagProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateProject' => [ 'name' => 'UpdateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProjectRequest', ], 'output' => [ 'shape' => 'UpdateProjectResult', ], 'errors' => [ [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpdateTeamMember' => [ 'name' => 'UpdateTeamMember', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTeamMemberRequest', ], 'output' => [ 'shape' => 'UpdateTeamMemberResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ProjectNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidServiceRoleException', ], [ 'shape' => 'ProjectConfigurationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'TeamMemberNotFoundException', ], ], ], 'UpdateUserProfile' => [ 'name' => 'UpdateUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserProfileRequest', ], 'output' => [ 'shape' => 'UpdateUserProfileResult', ], 'errors' => [ [ 'shape' => 'UserProfileNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], ], 'shapes' => [ 'AssociateTeamMemberRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', 'userArn', 'projectRole', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'userArn' => [ 'shape' => 'UserArn', ], 'projectRole' => [ 'shape' => 'Role', ], 'remoteAccessAllowed' => [ 'shape' => 'RemoteAccessAllowed', 'box' => true, ], ], ], 'AssociateTeamMemberResult' => [ 'type' => 'structure', 'members' => [ 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], ], ], 'BucketKey' => [ 'type' => 'string', ], 'BucketName' => [ 'type' => 'string', 'max' => 63, 'min' => 3, ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[\\w:/-]+$', ], 'Code' => [ 'type' => 'structure', 'required' => [ 'source', 'destination', ], 'members' => [ 'source' => [ 'shape' => 'CodeSource', ], 'destination' => [ 'shape' => 'CodeDestination', ], ], ], 'CodeCommitCodeDestination' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'RepositoryName', ], ], ], 'CodeDestination' => [ 'type' => 'structure', 'members' => [ 'codeCommit' => [ 'shape' => 'CodeCommitCodeDestination', ], 'gitHub' => [ 'shape' => 'GitHubCodeDestination', ], ], ], 'CodeSource' => [ 'type' => 'structure', 'required' => [ 's3', ], 'members' => [ 's3' => [ 'shape' => 'S3Location', ], ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CreateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'id', ], 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'id' => [ 'shape' => 'ProjectId', ], 'description' => [ 'shape' => 'ProjectDescription', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'sourceCode' => [ 'shape' => 'SourceCode', ], 'toolchain' => [ 'shape' => 'Toolchain', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateProjectResult' => [ 'type' => 'structure', 'required' => [ 'id', 'arn', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'arn' => [ 'shape' => 'ProjectArn', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'projectTemplateId' => [ 'shape' => 'ProjectTemplateId', ], ], ], 'CreateUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'userArn', 'displayName', 'emailAddress', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], ], ], 'CreateUserProfileResult' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], 'createdTimestamp' => [ 'shape' => 'CreatedTimestamp', ], 'lastModifiedTimestamp' => [ 'shape' => 'LastModifiedTimestamp', ], ], ], 'CreatedTimestamp' => [ 'type' => 'timestamp', ], 'DeleteProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'deleteStack' => [ 'shape' => 'DeleteStack', ], ], ], 'DeleteProjectResult' => [ 'type' => 'structure', 'members' => [ 'stackId' => [ 'shape' => 'StackId', ], 'projectArn' => [ 'shape' => 'ProjectArn', ], ], ], 'DeleteStack' => [ 'type' => 'boolean', ], 'DeleteUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], ], ], 'DeleteUserProfileResult' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], ], ], 'DescribeProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], ], ], 'DescribeProjectResult' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'id' => [ 'shape' => 'ProjectId', ], 'arn' => [ 'shape' => 'ProjectArn', ], 'description' => [ 'shape' => 'ProjectDescription', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'createdTimeStamp' => [ 'shape' => 'CreatedTimestamp', ], 'stackId' => [ 'shape' => 'StackId', ], 'projectTemplateId' => [ 'shape' => 'ProjectTemplateId', ], 'status' => [ 'shape' => 'ProjectStatus', ], ], ], 'DescribeUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], ], ], 'DescribeUserProfileResult' => [ 'type' => 'structure', 'required' => [ 'userArn', 'createdTimestamp', 'lastModifiedTimestamp', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], 'createdTimestamp' => [ 'shape' => 'CreatedTimestamp', ], 'lastModifiedTimestamp' => [ 'shape' => 'LastModifiedTimestamp', ], ], ], 'DisassociateTeamMemberRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', 'userArn', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'userArn' => [ 'shape' => 'UserArn', ], ], ], 'DisassociateTeamMemberResult' => [ 'type' => 'structure', 'members' => [], ], 'Email' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '^[\\w-.+]+@[\\w-.+]+$', 'sensitive' => true, ], 'GitHubCodeDestination' => [ 'type' => 'structure', 'required' => [ 'name', 'type', 'owner', 'privateRepository', 'issuesEnabled', 'token', ], 'members' => [ 'name' => [ 'shape' => 'RepositoryName', ], 'description' => [ 'shape' => 'RepositoryDescription', ], 'type' => [ 'shape' => 'RepositoryType', ], 'owner' => [ 'shape' => 'RepositoryOwner', ], 'privateRepository' => [ 'shape' => 'RepositoryIsPrivate', ], 'issuesEnabled' => [ 'shape' => 'RepositoryEnableIssues', ], 'token' => [ 'shape' => 'GitHubPersonalToken', ], ], ], 'GitHubPersonalToken' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidServiceRoleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LastModifiedTimestamp' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListProjectsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListProjectsResult' => [ 'type' => 'structure', 'required' => [ 'projects', ], 'members' => [ 'projects' => [ 'shape' => 'ProjectsList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListResourcesResult' => [ 'type' => 'structure', 'members' => [ 'resources' => [ 'shape' => 'ResourcesResult', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTagsForProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListTagsForProjectResult' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'Tags', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTeamMembersRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListTeamMembersResult' => [ 'type' => 'structure', 'required' => [ 'teamMembers', ], 'members' => [ 'teamMembers' => [ 'shape' => 'TeamMemberResult', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListUserProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListUserProfilesResult' => [ 'type' => 'structure', 'required' => [ 'userProfiles', ], 'members' => [ 'userProfiles' => [ 'shape' => 'UserProfilesList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '^[\\w/+=]+$', ], 'ProjectAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ProjectArn' => [ 'type' => 'string', 'pattern' => '^arn:aws[^:\\s]*:codestar:[^:\\s]+:[0-9]{12}:project\\/[a-z]([a-z0-9|-])+$', ], 'ProjectConfigurationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ProjectCreationFailedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ProjectDescription' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^$|^\\S(.*\\S)?$', 'sensitive' => true, ], 'ProjectId' => [ 'type' => 'string', 'max' => 15, 'min' => 2, 'pattern' => '^[a-z][a-z0-9-]+$', ], 'ProjectName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', 'sensitive' => true, ], 'ProjectNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ProjectStatus' => [ 'type' => 'structure', 'required' => [ 'state', ], 'members' => [ 'state' => [ 'shape' => 'State', ], 'reason' => [ 'shape' => 'Reason', ], ], ], 'ProjectSummary' => [ 'type' => 'structure', 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'projectArn' => [ 'shape' => 'ProjectArn', ], ], ], 'ProjectTemplateId' => [ 'type' => 'string', 'min' => 1, 'pattern' => '^arn:aws[^:\\s]{0,5}:codestar:[^:\\s]+::project-template(\\/(github|codecommit))?\\/[a-z0-9-]+$', ], 'ProjectsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSummary', ], ], 'Reason' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^$|^\\S(.*\\S)?$', ], 'RemoteAccessAllowed' => [ 'type' => 'boolean', ], 'RepositoryDescription' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', ], 'RepositoryEnableIssues' => [ 'type' => 'boolean', ], 'RepositoryIsPrivate' => [ 'type' => 'boolean', ], 'RepositoryName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^\\S[\\w.-]*$', ], 'RepositoryOwner' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', ], 'RepositoryType' => [ 'type' => 'string', 'pattern' => '^(user|organization|User|Organization)$', ], 'Resource' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'ResourceId', ], ], ], 'ResourceId' => [ 'type' => 'string', 'min' => 11, 'pattern' => '^arn\\:aws\\:\\S.*\\:.*', ], 'ResourcesResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'Role' => [ 'type' => 'string', 'pattern' => '^(Owner|Viewer|Contributor)$', ], 'RoleArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'bucketKey' => [ 'shape' => 'BucketKey', ], ], ], 'SourceCode' => [ 'type' => 'list', 'member' => [ 'shape' => 'Code', ], ], 'SshPublicKey' => [ 'type' => 'string', 'max' => 16384, 'pattern' => '^[\\t\\r\\n\\u0020-\\u00FF]*$', ], 'StackId' => [ 'type' => 'string', 'pattern' => '^arn:aws[^:\\s]*:cloudformation:[^:\\s]+:[0-9]{12}:stack\\/[^:\\s]+\\/[^:\\s]+$', ], 'State' => [ 'type' => 'string', 'pattern' => '^(CreateInProgress|CreateComplete|CreateFailed|DeleteComplete|DeleteFailed|DeleteInProgress|UpdateComplete|UpdateInProgress|UpdateFailed|Unknown)$', ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', 'tags', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'TagProjectResult' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'TeamMember' => [ 'type' => 'structure', 'required' => [ 'userArn', 'projectRole', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'projectRole' => [ 'shape' => 'Role', ], 'remoteAccessAllowed' => [ 'shape' => 'RemoteAccessAllowed', 'box' => true, ], ], ], 'TeamMemberAlreadyAssociatedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TeamMemberNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TeamMemberResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'TeamMember', ], ], 'TemplateParameterKey' => [ 'type' => 'string', 'max' => 30, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', ], 'TemplateParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TemplateParameterKey', ], 'value' => [ 'shape' => 'TemplateParameterValue', ], 'max' => 25, ], 'TemplateParameterValue' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', 'sensitive' => true, ], 'Toolchain' => [ 'type' => 'structure', 'required' => [ 'source', ], 'members' => [ 'source' => [ 'shape' => 'ToolchainSource', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'stackParameters' => [ 'shape' => 'TemplateParameterMap', ], ], ], 'ToolchainSource' => [ 'type' => 'structure', 'required' => [ 's3', ], 'members' => [ 's3' => [ 'shape' => 'S3Location', ], ], ], 'UntagProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', 'tags', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'tags' => [ 'shape' => 'TagKeys', ], ], ], 'UntagProjectResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'id', ], 'members' => [ 'id' => [ 'shape' => 'ProjectId', ], 'name' => [ 'shape' => 'ProjectName', ], 'description' => [ 'shape' => 'ProjectDescription', ], ], ], 'UpdateProjectResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTeamMemberRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', 'userArn', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', ], 'userArn' => [ 'shape' => 'UserArn', ], 'projectRole' => [ 'shape' => 'Role', ], 'remoteAccessAllowed' => [ 'shape' => 'RemoteAccessAllowed', 'box' => true, ], ], ], 'UpdateTeamMemberResult' => [ 'type' => 'structure', 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'projectRole' => [ 'shape' => 'Role', ], 'remoteAccessAllowed' => [ 'shape' => 'RemoteAccessAllowed', 'box' => true, ], ], ], 'UpdateUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], ], ], 'UpdateUserProfileResult' => [ 'type' => 'structure', 'required' => [ 'userArn', ], 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], 'createdTimestamp' => [ 'shape' => 'CreatedTimestamp', ], 'lastModifiedTimestamp' => [ 'shape' => 'LastModifiedTimestamp', ], ], ], 'UserArn' => [ 'type' => 'string', 'max' => 95, 'min' => 32, 'pattern' => '^arn:aws:iam::\\d{12}:user(?:(\\u002F)|(\\u002F[\\u0021-\\u007E]+\\u002F))[\\w+=,.@-]+$', ], 'UserProfileAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UserProfileDisplayName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^\\S(.*\\S)?$', 'sensitive' => true, ], 'UserProfileNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UserProfileSummary' => [ 'type' => 'structure', 'members' => [ 'userArn' => [ 'shape' => 'UserArn', ], 'displayName' => [ 'shape' => 'UserProfileDisplayName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], ], ], 'UserProfilesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserProfileSummary', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/codestar/2017-04-19/paginators-1.json.php b/lib/aws/Aws/data/codestar/2017-04-19/paginators-1.json.php new file mode 100644 index 0000000..f1b0928 --- /dev/null +++ b/lib/aws/Aws/data/codestar/2017-04-19/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codestar/2017-04-19/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/codestar/2017-04-19/smoke.json.php b/lib/aws/Aws/data/codestar/2017-04-19/smoke.json.php new file mode 100644 index 0000000..dbeb94a --- /dev/null +++ b/lib/aws/Aws/data/codestar/2017-04-19/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/codestar/2017-04-19/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListProjects', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/cognito-identity/2014-06-30/api-2.json.php b/lib/aws/Aws/data/cognito-identity/2014-06-30/api-2.json.php new file mode 100644 index 0000000..3ce85bc --- /dev/null +++ b/lib/aws/Aws/data/cognito-identity/2014-06-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-identity/2014-06-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-06-30', 'endpointPrefix' => 'cognito-identity', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Cognito Identity', 'serviceId' => 'Cognito Identity', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSCognitoIdentityService', 'uid' => 'cognito-identity-2014-06-30', ], 'operations' => [ 'CreateIdentityPool' => [ 'name' => 'CreateIdentityPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateIdentityPoolInput', ], 'output' => [ 'shape' => 'IdentityPool', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteIdentities' => [ 'name' => 'DeleteIdentities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIdentitiesInput', ], 'output' => [ 'shape' => 'DeleteIdentitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteIdentityPool' => [ 'name' => 'DeleteIdentityPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIdentityPoolInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeIdentity' => [ 'name' => 'DescribeIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityInput', ], 'output' => [ 'shape' => 'IdentityDescription', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeIdentityPool' => [ 'name' => 'DescribeIdentityPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityPoolInput', ], 'output' => [ 'shape' => 'IdentityPool', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetCredentialsForIdentity' => [ 'name' => 'GetCredentialsForIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCredentialsForIdentityInput', ], 'output' => [ 'shape' => 'GetCredentialsForIdentityResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidIdentityPoolConfigurationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ExternalServiceException', ], ], ], 'GetId' => [ 'name' => 'GetId', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdInput', ], 'output' => [ 'shape' => 'GetIdResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ExternalServiceException', ], ], ], 'GetIdentityPoolRoles' => [ 'name' => 'GetIdentityPoolRoles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityPoolRolesInput', ], 'output' => [ 'shape' => 'GetIdentityPoolRolesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetOpenIdToken' => [ 'name' => 'GetOpenIdToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOpenIdTokenInput', ], 'output' => [ 'shape' => 'GetOpenIdTokenResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ExternalServiceException', ], ], ], 'GetOpenIdTokenForDeveloperIdentity' => [ 'name' => 'GetOpenIdTokenForDeveloperIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOpenIdTokenForDeveloperIdentityInput', ], 'output' => [ 'shape' => 'GetOpenIdTokenForDeveloperIdentityResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'DeveloperUserAlreadyRegisteredException', ], ], ], 'ListIdentities' => [ 'name' => 'ListIdentities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIdentitiesInput', ], 'output' => [ 'shape' => 'ListIdentitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListIdentityPools' => [ 'name' => 'ListIdentityPools', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIdentityPoolsInput', ], 'output' => [ 'shape' => 'ListIdentityPoolsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'LookupDeveloperIdentity' => [ 'name' => 'LookupDeveloperIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LookupDeveloperIdentityInput', ], 'output' => [ 'shape' => 'LookupDeveloperIdentityResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'MergeDeveloperIdentities' => [ 'name' => 'MergeDeveloperIdentities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MergeDeveloperIdentitiesInput', ], 'output' => [ 'shape' => 'MergeDeveloperIdentitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'SetIdentityPoolRoles' => [ 'name' => 'SetIdentityPoolRoles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityPoolRolesInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UnlinkDeveloperIdentity' => [ 'name' => 'UnlinkDeveloperIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnlinkDeveloperIdentityInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UnlinkIdentity' => [ 'name' => 'UnlinkIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnlinkIdentityInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ExternalServiceException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateIdentityPool' => [ 'name' => 'UpdateIdentityPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IdentityPool', ], 'output' => [ 'shape' => 'IdentityPool', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'ARNString' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'AccessKeyString' => [ 'type' => 'string', ], 'AccountId' => [ 'type' => 'string', 'max' => 15, 'min' => 1, 'pattern' => '\\d+', ], 'AmbiguousRoleResolutionType' => [ 'type' => 'string', 'enum' => [ 'AuthenticatedRole', 'Deny', ], ], 'ClaimName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'ClaimValue' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'CognitoIdentityProvider' => [ 'type' => 'structure', 'members' => [ 'ProviderName' => [ 'shape' => 'CognitoIdentityProviderName', ], 'ClientId' => [ 'shape' => 'CognitoIdentityProviderClientId', ], 'ServerSideTokenCheck' => [ 'shape' => 'CognitoIdentityProviderTokenCheck', 'box' => true, ], ], ], 'CognitoIdentityProviderClientId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w_]+', ], 'CognitoIdentityProviderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CognitoIdentityProvider', ], ], 'CognitoIdentityProviderName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w._:/-]+', ], 'CognitoIdentityProviderTokenCheck' => [ 'type' => 'boolean', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'CreateIdentityPoolInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolName', 'AllowUnauthenticatedIdentities', ], 'members' => [ 'IdentityPoolName' => [ 'shape' => 'IdentityPoolName', ], 'AllowUnauthenticatedIdentities' => [ 'shape' => 'IdentityPoolUnauthenticated', ], 'SupportedLoginProviders' => [ 'shape' => 'IdentityProviders', ], 'DeveloperProviderName' => [ 'shape' => 'DeveloperProviderName', ], 'OpenIdConnectProviderARNs' => [ 'shape' => 'OIDCProviderList', ], 'CognitoIdentityProviders' => [ 'shape' => 'CognitoIdentityProviderList', ], 'SamlProviderARNs' => [ 'shape' => 'SAMLProviderList', ], 'IdentityPoolTags' => [ 'shape' => 'IdentityPoolTagsType', ], ], ], 'Credentials' => [ 'type' => 'structure', 'members' => [ 'AccessKeyId' => [ 'shape' => 'AccessKeyString', ], 'SecretKey' => [ 'shape' => 'SecretKeyString', ], 'SessionToken' => [ 'shape' => 'SessionTokenString', ], 'Expiration' => [ 'shape' => 'DateType', ], ], ], 'DateType' => [ 'type' => 'timestamp', ], 'DeleteIdentitiesInput' => [ 'type' => 'structure', 'required' => [ 'IdentityIdsToDelete', ], 'members' => [ 'IdentityIdsToDelete' => [ 'shape' => 'IdentityIdList', ], ], ], 'DeleteIdentitiesResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedIdentityIds' => [ 'shape' => 'UnprocessedIdentityIdList', ], ], ], 'DeleteIdentityPoolInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], ], ], 'DescribeIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityId', ], 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], ], ], 'DescribeIdentityPoolInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], ], ], 'DeveloperProviderName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w._-]+', ], 'DeveloperUserAlreadyRegisteredException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DeveloperUserIdentifier' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'DeveloperUserIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeveloperUserIdentifier', ], ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'AccessDenied', 'InternalServerError', ], ], 'ExternalServiceException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'GetCredentialsForIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityId', ], 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Logins' => [ 'shape' => 'LoginsMap', ], 'CustomRoleArn' => [ 'shape' => 'ARNString', ], ], ], 'GetCredentialsForIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Credentials' => [ 'shape' => 'Credentials', ], ], ], 'GetIdInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'Logins' => [ 'shape' => 'LoginsMap', ], ], ], 'GetIdResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], ], ], 'GetIdentityPoolRolesInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], ], ], 'GetIdentityPoolRolesResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'Roles' => [ 'shape' => 'RolesMap', ], 'RoleMappings' => [ 'shape' => 'RoleMappingMap', ], ], ], 'GetOpenIdTokenForDeveloperIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'Logins', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Logins' => [ 'shape' => 'LoginsMap', ], 'TokenDuration' => [ 'shape' => 'TokenDuration', ], ], ], 'GetOpenIdTokenForDeveloperIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Token' => [ 'shape' => 'OIDCToken', ], ], ], 'GetOpenIdTokenInput' => [ 'type' => 'structure', 'required' => [ 'IdentityId', ], 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Logins' => [ 'shape' => 'LoginsMap', ], ], ], 'GetOpenIdTokenResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Token' => [ 'shape' => 'OIDCToken', ], ], ], 'HideDisabled' => [ 'type' => 'boolean', ], 'IdentitiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityDescription', ], ], 'IdentityDescription' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Logins' => [ 'shape' => 'LoginsList', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], ], ], 'IdentityId' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+:[0-9a-f-]+', ], 'IdentityIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityId', ], 'max' => 60, 'min' => 1, ], 'IdentityPool' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityPoolName', 'AllowUnauthenticatedIdentities', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'IdentityPoolName' => [ 'shape' => 'IdentityPoolName', ], 'AllowUnauthenticatedIdentities' => [ 'shape' => 'IdentityPoolUnauthenticated', ], 'SupportedLoginProviders' => [ 'shape' => 'IdentityProviders', ], 'DeveloperProviderName' => [ 'shape' => 'DeveloperProviderName', ], 'OpenIdConnectProviderARNs' => [ 'shape' => 'OIDCProviderList', ], 'CognitoIdentityProviders' => [ 'shape' => 'CognitoIdentityProviderList', ], 'SamlProviderARNs' => [ 'shape' => 'SAMLProviderList', ], 'IdentityPoolTags' => [ 'shape' => 'IdentityPoolTagsType', ], ], ], 'IdentityPoolId' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+:[0-9a-f-]+', ], 'IdentityPoolName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w ]+', ], 'IdentityPoolShortDescription' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'IdentityPoolName' => [ 'shape' => 'IdentityPoolName', ], ], ], 'IdentityPoolTagsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeysType', ], ], 'IdentityPoolTagsType' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKeysType', ], 'value' => [ 'shape' => 'TagValueType', ], ], 'IdentityPoolUnauthenticated' => [ 'type' => 'boolean', ], 'IdentityPoolsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityPoolShortDescription', ], ], 'IdentityProviderId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w.;_/-]+', ], 'IdentityProviderName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'IdentityProviderToken' => [ 'type' => 'string', 'max' => 50000, 'min' => 1, ], 'IdentityProviders' => [ 'type' => 'map', 'key' => [ 'shape' => 'IdentityProviderName', ], 'value' => [ 'shape' => 'IdentityProviderId', ], 'max' => 10, ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidIdentityPoolConfigurationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListIdentitiesInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'MaxResults', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'MaxResults' => [ 'shape' => 'QueryLimit', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], 'HideDisabled' => [ 'shape' => 'HideDisabled', ], ], ], 'ListIdentitiesResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'Identities' => [ 'shape' => 'IdentitiesList', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListIdentityPoolsInput' => [ 'type' => 'structure', 'required' => [ 'MaxResults', ], 'members' => [ 'MaxResults' => [ 'shape' => 'QueryLimit', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListIdentityPoolsResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPools' => [ 'shape' => 'IdentityPoolsList', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARNString', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'IdentityPoolTagsType', ], ], ], 'LoginsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityProviderName', ], ], 'LoginsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'IdentityProviderName', ], 'value' => [ 'shape' => 'IdentityProviderToken', ], 'max' => 10, ], 'LookupDeveloperIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', ], 'DeveloperUserIdentifier' => [ 'shape' => 'DeveloperUserIdentifier', ], 'MaxResults' => [ 'shape' => 'QueryLimit', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'LookupDeveloperIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'DeveloperUserIdentifierList' => [ 'shape' => 'DeveloperUserIdentifierList', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'MappingRule' => [ 'type' => 'structure', 'required' => [ 'Claim', 'MatchType', 'Value', 'RoleARN', ], 'members' => [ 'Claim' => [ 'shape' => 'ClaimName', ], 'MatchType' => [ 'shape' => 'MappingRuleMatchType', ], 'Value' => [ 'shape' => 'ClaimValue', ], 'RoleARN' => [ 'shape' => 'ARNString', ], ], ], 'MappingRuleMatchType' => [ 'type' => 'string', 'enum' => [ 'Equals', 'Contains', 'StartsWith', 'NotEqual', ], ], 'MappingRulesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MappingRule', ], 'max' => 25, 'min' => 1, ], 'MergeDeveloperIdentitiesInput' => [ 'type' => 'structure', 'required' => [ 'SourceUserIdentifier', 'DestinationUserIdentifier', 'DeveloperProviderName', 'IdentityPoolId', ], 'members' => [ 'SourceUserIdentifier' => [ 'shape' => 'DeveloperUserIdentifier', ], 'DestinationUserIdentifier' => [ 'shape' => 'DeveloperUserIdentifier', ], 'DeveloperProviderName' => [ 'shape' => 'DeveloperProviderName', ], 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], ], ], 'MergeDeveloperIdentitiesResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], ], ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'OIDCProviderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ARNString', ], ], 'OIDCToken' => [ 'type' => 'string', ], 'PaginationKey' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\S]+', ], 'QueryLimit' => [ 'type' => 'integer', 'max' => 60, 'min' => 1, ], 'ResourceConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RoleMapping' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'RoleMappingType', ], 'AmbiguousRoleResolution' => [ 'shape' => 'AmbiguousRoleResolutionType', ], 'RulesConfiguration' => [ 'shape' => 'RulesConfigurationType', ], ], ], 'RoleMappingMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'IdentityProviderName', ], 'value' => [ 'shape' => 'RoleMapping', ], 'max' => 10, ], 'RoleMappingType' => [ 'type' => 'string', 'enum' => [ 'Token', 'Rules', ], ], 'RoleType' => [ 'type' => 'string', 'pattern' => '(un)?authenticated', ], 'RolesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'RoleType', ], 'value' => [ 'shape' => 'ARNString', ], 'max' => 2, ], 'RulesConfigurationType' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'MappingRulesList', ], ], ], 'SAMLProviderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ARNString', ], ], 'SecretKeyString' => [ 'type' => 'string', ], 'SessionTokenString' => [ 'type' => 'string', ], 'SetIdentityPoolRolesInput' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'Roles', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'Roles' => [ 'shape' => 'RolesMap', ], 'RoleMappings' => [ 'shape' => 'RoleMappingMap', ], ], ], 'String' => [ 'type' => 'string', ], 'TagKeysType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARNString', ], 'Tags' => [ 'shape' => 'IdentityPoolTagsType', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TokenDuration' => [ 'type' => 'long', 'max' => 86400, 'min' => 1, ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnlinkDeveloperIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityId', 'IdentityPoolId', 'DeveloperProviderName', 'DeveloperUserIdentifier', ], 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'DeveloperProviderName' => [ 'shape' => 'DeveloperProviderName', ], 'DeveloperUserIdentifier' => [ 'shape' => 'DeveloperUserIdentifier', ], ], ], 'UnlinkIdentityInput' => [ 'type' => 'structure', 'required' => [ 'IdentityId', 'Logins', 'LoginsToRemove', ], 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'Logins' => [ 'shape' => 'LoginsMap', ], 'LoginsToRemove' => [ 'shape' => 'LoginsList', ], ], ], 'UnprocessedIdentityId' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], ], ], 'UnprocessedIdentityIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedIdentityId', ], 'max' => 60, ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ARNString', ], 'TagKeys' => [ 'shape' => 'IdentityPoolTagsListType', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/cognito-identity/2014-06-30/paginators-1.json.php b/lib/aws/Aws/data/cognito-identity/2014-06-30/paginators-1.json.php new file mode 100644 index 0000000..39fed8b --- /dev/null +++ b/lib/aws/Aws/data/cognito-identity/2014-06-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-identity/2014-06-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/cognito-idp/2016-04-18/api-2.json.php b/lib/aws/Aws/data/cognito-idp/2016-04-18/api-2.json.php new file mode 100644 index 0000000..81c60b3 --- /dev/null +++ b/lib/aws/Aws/data/cognito-idp/2016-04-18/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-idp/2016-04-18/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-04-18', 'endpointPrefix' => 'cognito-idp', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Cognito Identity Provider', 'serviceId' => 'Cognito Identity Provider', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSCognitoIdentityProviderService', 'uid' => 'cognito-idp-2016-04-18', ], 'operations' => [ 'AddCustomAttributes' => [ 'name' => 'AddCustomAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddCustomAttributesRequest', ], 'output' => [ 'shape' => 'AddCustomAttributesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserImportInProgressException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminAddUserToGroup' => [ 'name' => 'AdminAddUserToGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminAddUserToGroupRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminConfirmSignUp' => [ 'name' => 'AdminConfirmSignUp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminConfirmSignUpRequest', ], 'output' => [ 'shape' => 'AdminConfirmSignUpResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyFailedAttemptsException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminCreateUser' => [ 'name' => 'AdminCreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminCreateUserRequest', ], 'output' => [ 'shape' => 'AdminCreateUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UsernameExistsException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UnsupportedUserStateException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminDeleteUser' => [ 'name' => 'AdminDeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminDeleteUserRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminDeleteUserAttributes' => [ 'name' => 'AdminDeleteUserAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminDeleteUserAttributesRequest', ], 'output' => [ 'shape' => 'AdminDeleteUserAttributesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminDisableProviderForUser' => [ 'name' => 'AdminDisableProviderForUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminDisableProviderForUserRequest', ], 'output' => [ 'shape' => 'AdminDisableProviderForUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminDisableUser' => [ 'name' => 'AdminDisableUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminDisableUserRequest', ], 'output' => [ 'shape' => 'AdminDisableUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminEnableUser' => [ 'name' => 'AdminEnableUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminEnableUserRequest', ], 'output' => [ 'shape' => 'AdminEnableUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminForgetDevice' => [ 'name' => 'AdminForgetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminForgetDeviceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminGetDevice' => [ 'name' => 'AdminGetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminGetDeviceRequest', ], 'output' => [ 'shape' => 'AdminGetDeviceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'AdminGetUser' => [ 'name' => 'AdminGetUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminGetUserRequest', ], 'output' => [ 'shape' => 'AdminGetUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminInitiateAuth' => [ 'name' => 'AdminInitiateAuth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminInitiateAuthRequest', ], 'output' => [ 'shape' => 'AdminInitiateAuthResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'MFAMethodNotFoundException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], ], ], 'AdminLinkProviderForUser' => [ 'name' => 'AdminLinkProviderForUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminLinkProviderForUserRequest', ], 'output' => [ 'shape' => 'AdminLinkProviderForUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminListDevices' => [ 'name' => 'AdminListDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminListDevicesRequest', ], 'output' => [ 'shape' => 'AdminListDevicesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'AdminListGroupsForUser' => [ 'name' => 'AdminListGroupsForUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminListGroupsForUserRequest', ], 'output' => [ 'shape' => 'AdminListGroupsForUserResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminListUserAuthEvents' => [ 'name' => 'AdminListUserAuthEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminListUserAuthEventsRequest', ], 'output' => [ 'shape' => 'AdminListUserAuthEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserPoolAddOnNotEnabledException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminRemoveUserFromGroup' => [ 'name' => 'AdminRemoveUserFromGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminRemoveUserFromGroupRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminResetUserPassword' => [ 'name' => 'AdminResetUserPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminResetUserPasswordRequest', ], 'output' => [ 'shape' => 'AdminResetUserPasswordResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminRespondToAuthChallenge' => [ 'name' => 'AdminRespondToAuthChallenge', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminRespondToAuthChallengeRequest', ], 'output' => [ 'shape' => 'AdminRespondToAuthChallengeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'MFAMethodNotFoundException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'SoftwareTokenMFANotFoundException', ], ], ], 'AdminSetUserMFAPreference' => [ 'name' => 'AdminSetUserMFAPreference', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminSetUserMFAPreferenceRequest', ], 'output' => [ 'shape' => 'AdminSetUserMFAPreferenceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminSetUserSettings' => [ 'name' => 'AdminSetUserSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminSetUserSettingsRequest', ], 'output' => [ 'shape' => 'AdminSetUserSettingsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminUpdateAuthEventFeedback' => [ 'name' => 'AdminUpdateAuthEventFeedback', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminUpdateAuthEventFeedbackRequest', ], 'output' => [ 'shape' => 'AdminUpdateAuthEventFeedbackResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserPoolAddOnNotEnabledException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminUpdateDeviceStatus' => [ 'name' => 'AdminUpdateDeviceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminUpdateDeviceStatusRequest', ], 'output' => [ 'shape' => 'AdminUpdateDeviceStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminUpdateUserAttributes' => [ 'name' => 'AdminUpdateUserAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminUpdateUserAttributesRequest', ], 'output' => [ 'shape' => 'AdminUpdateUserAttributesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AdminUserGlobalSignOut' => [ 'name' => 'AdminUserGlobalSignOut', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdminUserGlobalSignOutRequest', ], 'output' => [ 'shape' => 'AdminUserGlobalSignOutResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'AssociateSoftwareToken' => [ 'name' => 'AssociateSoftwareToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSoftwareTokenRequest', ], 'output' => [ 'shape' => 'AssociateSoftwareTokenResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'SoftwareTokenMFANotFoundException', ], ], ], 'ChangePassword' => [ 'name' => 'ChangePassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ChangePasswordRequest', ], 'output' => [ 'shape' => 'ChangePasswordResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'ConfirmDevice' => [ 'name' => 'ConfirmDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmDeviceRequest', ], 'output' => [ 'shape' => 'ConfirmDeviceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'UsernameExistsException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ConfirmForgotPassword' => [ 'name' => 'ConfirmForgotPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmForgotPasswordRequest', ], 'output' => [ 'shape' => 'ConfirmForgotPasswordResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'TooManyFailedAttemptsException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'ConfirmSignUp' => [ 'name' => 'ConfirmSignUp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmSignUpRequest', ], 'output' => [ 'shape' => 'ConfirmSignUpResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyFailedAttemptsException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'GroupExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateIdentityProvider' => [ 'name' => 'CreateIdentityProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateIdentityProviderRequest', ], 'output' => [ 'shape' => 'CreateIdentityProviderResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'DuplicateProviderException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateResourceServer' => [ 'name' => 'CreateResourceServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResourceServerRequest', ], 'output' => [ 'shape' => 'CreateResourceServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateUserImportJob' => [ 'name' => 'CreateUserImportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserImportJobRequest', ], 'output' => [ 'shape' => 'CreateUserImportJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateUserPool' => [ 'name' => 'CreateUserPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserPoolRequest', ], 'output' => [ 'shape' => 'CreateUserPoolResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserPoolTaggingException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateUserPoolClient' => [ 'name' => 'CreateUserPoolClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserPoolClientRequest', ], 'output' => [ 'shape' => 'CreateUserPoolClientResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ScopeDoesNotExistException', ], [ 'shape' => 'InvalidOAuthFlowException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'CreateUserPoolDomain' => [ 'name' => 'CreateUserPoolDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserPoolDomainRequest', ], 'output' => [ 'shape' => 'CreateUserPoolDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteIdentityProvider' => [ 'name' => 'DeleteIdentityProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIdentityProviderRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedIdentityProviderException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteResourceServer' => [ 'name' => 'DeleteResourceServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourceServerRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'DeleteUserAttributes' => [ 'name' => 'DeleteUserAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserAttributesRequest', ], 'output' => [ 'shape' => 'DeleteUserAttributesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'DeleteUserPool' => [ 'name' => 'DeleteUserPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserPoolRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserImportInProgressException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteUserPoolClient' => [ 'name' => 'DeleteUserPoolClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserPoolClientRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteUserPoolDomain' => [ 'name' => 'DeleteUserPoolDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserPoolDomainRequest', ], 'output' => [ 'shape' => 'DeleteUserPoolDomainResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeIdentityProvider' => [ 'name' => 'DescribeIdentityProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityProviderRequest', ], 'output' => [ 'shape' => 'DescribeIdentityProviderResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeResourceServer' => [ 'name' => 'DescribeResourceServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeResourceServerRequest', ], 'output' => [ 'shape' => 'DescribeResourceServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeRiskConfiguration' => [ 'name' => 'DescribeRiskConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRiskConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeRiskConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserPoolAddOnNotEnabledException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeUserImportJob' => [ 'name' => 'DescribeUserImportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserImportJobRequest', ], 'output' => [ 'shape' => 'DescribeUserImportJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeUserPool' => [ 'name' => 'DescribeUserPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserPoolRequest', ], 'output' => [ 'shape' => 'DescribeUserPoolResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserPoolTaggingException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeUserPoolClient' => [ 'name' => 'DescribeUserPoolClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserPoolClientRequest', ], 'output' => [ 'shape' => 'DescribeUserPoolClientResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DescribeUserPoolDomain' => [ 'name' => 'DescribeUserPoolDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserPoolDomainRequest', ], 'output' => [ 'shape' => 'DescribeUserPoolDomainResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ForgetDevice' => [ 'name' => 'ForgetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ForgetDeviceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ForgotPassword' => [ 'name' => 'ForgotPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ForgotPasswordRequest', ], 'output' => [ 'shape' => 'ForgotPasswordResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'GetCSVHeader' => [ 'name' => 'GetCSVHeader', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCSVHeaderRequest', ], 'output' => [ 'shape' => 'GetCSVHeaderResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetDevice' => [ 'name' => 'GetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeviceRequest', ], 'output' => [ 'shape' => 'GetDeviceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetGroup' => [ 'name' => 'GetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGroupRequest', ], 'output' => [ 'shape' => 'GetGroupResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetIdentityProviderByIdentifier' => [ 'name' => 'GetIdentityProviderByIdentifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityProviderByIdentifierRequest', ], 'output' => [ 'shape' => 'GetIdentityProviderByIdentifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetSigningCertificate' => [ 'name' => 'GetSigningCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSigningCertificateRequest', ], 'output' => [ 'shape' => 'GetSigningCertificateResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetUICustomization' => [ 'name' => 'GetUICustomization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUICustomizationRequest', ], 'output' => [ 'shape' => 'GetUICustomizationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetUser' => [ 'name' => 'GetUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserRequest', ], 'output' => [ 'shape' => 'GetUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'GetUserAttributeVerificationCode' => [ 'name' => 'GetUserAttributeVerificationCode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserAttributeVerificationCodeRequest', ], 'output' => [ 'shape' => 'GetUserAttributeVerificationCodeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'GetUserPoolMfaConfig' => [ 'name' => 'GetUserPoolMfaConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserPoolMfaConfigRequest', ], 'output' => [ 'shape' => 'GetUserPoolMfaConfigResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GlobalSignOut' => [ 'name' => 'GlobalSignOut', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GlobalSignOutRequest', ], 'output' => [ 'shape' => 'GlobalSignOutResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'InitiateAuth' => [ 'name' => 'InitiateAuth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InitiateAuthRequest', ], 'output' => [ 'shape' => 'InitiateAuthResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListDevices' => [ 'name' => 'ListDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDevicesRequest', ], 'output' => [ 'shape' => 'ListDevicesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupsRequest', ], 'output' => [ 'shape' => 'ListGroupsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListIdentityProviders' => [ 'name' => 'ListIdentityProviders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIdentityProvidersRequest', ], 'output' => [ 'shape' => 'ListIdentityProvidersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListResourceServers' => [ 'name' => 'ListResourceServers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceServersRequest', ], 'output' => [ 'shape' => 'ListResourceServersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListUserImportJobs' => [ 'name' => 'ListUserImportJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserImportJobsRequest', ], 'output' => [ 'shape' => 'ListUserImportJobsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListUserPoolClients' => [ 'name' => 'ListUserPoolClients', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserPoolClientsRequest', ], 'output' => [ 'shape' => 'ListUserPoolClientsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListUserPools' => [ 'name' => 'ListUserPools', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserPoolsRequest', ], 'output' => [ 'shape' => 'ListUserPoolsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListUsersInGroup' => [ 'name' => 'ListUsersInGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsersInGroupRequest', ], 'output' => [ 'shape' => 'ListUsersInGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ResendConfirmationCode' => [ 'name' => 'ResendConfirmationCode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResendConfirmationCodeRequest', ], 'output' => [ 'shape' => 'ResendConfirmationCodeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'RespondToAuthChallenge' => [ 'name' => 'RespondToAuthChallenge', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RespondToAuthChallengeRequest', ], 'output' => [ 'shape' => 'RespondToAuthChallengeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'MFAMethodNotFoundException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'SoftwareTokenMFANotFoundException', ], ], ], 'SetRiskConfiguration' => [ 'name' => 'SetRiskConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetRiskConfigurationRequest', ], 'output' => [ 'shape' => 'SetRiskConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserPoolAddOnNotEnabledException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'SetUICustomization' => [ 'name' => 'SetUICustomization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetUICustomizationRequest', ], 'output' => [ 'shape' => 'SetUICustomizationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'SetUserMFAPreference' => [ 'name' => 'SetUserMFAPreference', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetUserMFAPreferenceRequest', ], 'output' => [ 'shape' => 'SetUserMFAPreferenceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'SetUserPoolMfaConfig' => [ 'name' => 'SetUserPoolMfaConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetUserPoolMfaConfigRequest', ], 'output' => [ 'shape' => 'SetUserPoolMfaConfigResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'SetUserSettings' => [ 'name' => 'SetUserSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetUserSettingsRequest', ], 'output' => [ 'shape' => 'SetUserSettingsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'SignUp' => [ 'name' => 'SignUp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SignUpRequest', ], 'output' => [ 'shape' => 'SignUpResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'UsernameExistsException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'CodeDeliveryFailureException', ], ], 'authtype' => 'none', ], 'StartUserImportJob' => [ 'name' => 'StartUserImportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartUserImportJobRequest', ], 'output' => [ 'shape' => 'StartUserImportJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'StopUserImportJob' => [ 'name' => 'StopUserImportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopUserImportJobRequest', ], 'output' => [ 'shape' => 'StopUserImportJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateAuthEventFeedback' => [ 'name' => 'UpdateAuthEventFeedback', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAuthEventFeedbackRequest', ], 'output' => [ 'shape' => 'UpdateAuthEventFeedbackResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserPoolAddOnNotEnabledException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateDeviceStatus' => [ 'name' => 'UpdateDeviceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDeviceStatusRequest', ], 'output' => [ 'shape' => 'UpdateDeviceStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGroupRequest', ], 'output' => [ 'shape' => 'UpdateGroupResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateIdentityProvider' => [ 'name' => 'UpdateIdentityProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateIdentityProviderRequest', ], 'output' => [ 'shape' => 'UpdateIdentityProviderResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedIdentityProviderException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateResourceServer' => [ 'name' => 'UpdateResourceServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateResourceServerRequest', ], 'output' => [ 'shape' => 'UpdateResourceServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateUserAttributes' => [ 'name' => 'UpdateUserAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserAttributesRequest', ], 'output' => [ 'shape' => 'UpdateUserAttributesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UnexpectedLambdaException', ], [ 'shape' => 'UserLambdaValidationException', ], [ 'shape' => 'InvalidLambdaResponseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'AliasExistsException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], [ 'shape' => 'CodeDeliveryFailureException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], 'UpdateUserPool' => [ 'name' => 'UpdateUserPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserPoolRequest', ], 'output' => [ 'shape' => 'UpdateUserPoolResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UserImportInProgressException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidSmsRoleAccessPolicyException', ], [ 'shape' => 'InvalidSmsRoleTrustRelationshipException', ], [ 'shape' => 'UserPoolTaggingException', ], [ 'shape' => 'InvalidEmailRoleAccessPolicyException', ], ], ], 'UpdateUserPoolClient' => [ 'name' => 'UpdateUserPoolClient', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserPoolClientRequest', ], 'output' => [ 'shape' => 'UpdateUserPoolClientResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ScopeDoesNotExistException', ], [ 'shape' => 'InvalidOAuthFlowException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'UpdateUserPoolDomain' => [ 'name' => 'UpdateUserPoolDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserPoolDomainRequest', ], 'output' => [ 'shape' => 'UpdateUserPoolDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'VerifySoftwareToken' => [ 'name' => 'VerifySoftwareToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifySoftwareTokenRequest', ], 'output' => [ 'shape' => 'VerifySoftwareTokenResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidUserPoolConfigurationException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'EnableSoftwareTokenMFAException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'SoftwareTokenMFANotFoundException', ], [ 'shape' => 'CodeMismatchException', ], ], ], 'VerifyUserAttribute' => [ 'name' => 'VerifyUserAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyUserAttributeRequest', ], 'output' => [ 'shape' => 'VerifyUserAttributeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'CodeMismatchException', ], [ 'shape' => 'ExpiredCodeException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'PasswordResetRequiredException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'UserNotConfirmedException', ], [ 'shape' => 'InternalErrorException', ], ], 'authtype' => 'none', ], ], 'shapes' => [ 'AWSAccountIdType' => [ 'type' => 'string', ], 'AccountTakeoverActionNotifyType' => [ 'type' => 'boolean', ], 'AccountTakeoverActionType' => [ 'type' => 'structure', 'required' => [ 'Notify', 'EventAction', ], 'members' => [ 'Notify' => [ 'shape' => 'AccountTakeoverActionNotifyType', ], 'EventAction' => [ 'shape' => 'AccountTakeoverEventActionType', ], ], ], 'AccountTakeoverActionsType' => [ 'type' => 'structure', 'members' => [ 'LowAction' => [ 'shape' => 'AccountTakeoverActionType', ], 'MediumAction' => [ 'shape' => 'AccountTakeoverActionType', ], 'HighAction' => [ 'shape' => 'AccountTakeoverActionType', ], ], ], 'AccountTakeoverEventActionType' => [ 'type' => 'string', 'enum' => [ 'BLOCK', 'MFA_IF_CONFIGURED', 'MFA_REQUIRED', 'NO_ACTION', ], ], 'AccountTakeoverRiskConfigurationType' => [ 'type' => 'structure', 'required' => [ 'Actions', ], 'members' => [ 'NotifyConfiguration' => [ 'shape' => 'NotifyConfigurationType', ], 'Actions' => [ 'shape' => 'AccountTakeoverActionsType', ], ], ], 'AddCustomAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'CustomAttributes', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'CustomAttributes' => [ 'shape' => 'CustomAttributesListType', ], ], ], 'AddCustomAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminAddUserToGroupRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'GroupName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'GroupName' => [ 'shape' => 'GroupNameType', ], ], ], 'AdminConfirmSignUpRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminConfirmSignUpResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminCreateUserConfigType' => [ 'type' => 'structure', 'members' => [ 'AllowAdminCreateUserOnly' => [ 'shape' => 'BooleanType', ], 'UnusedAccountValidityDays' => [ 'shape' => 'AdminCreateUserUnusedAccountValidityDaysType', ], 'InviteMessageTemplate' => [ 'shape' => 'MessageTemplateType', ], ], ], 'AdminCreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'UserAttributes' => [ 'shape' => 'AttributeListType', ], 'ValidationData' => [ 'shape' => 'AttributeListType', ], 'TemporaryPassword' => [ 'shape' => 'PasswordType', ], 'ForceAliasCreation' => [ 'shape' => 'ForceAliasCreation', ], 'MessageAction' => [ 'shape' => 'MessageActionType', ], 'DesiredDeliveryMediums' => [ 'shape' => 'DeliveryMediumListType', ], ], ], 'AdminCreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'UserType', ], ], ], 'AdminCreateUserUnusedAccountValidityDaysType' => [ 'type' => 'integer', 'max' => 365, 'min' => 0, ], 'AdminDeleteUserAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'UserAttributeNames', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'UserAttributeNames' => [ 'shape' => 'AttributeNameListType', ], ], ], 'AdminDeleteUserAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminDeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminDisableProviderForUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'User', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'StringType', ], 'User' => [ 'shape' => 'ProviderUserIdentifierType', ], ], ], 'AdminDisableProviderForUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminDisableUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminDisableUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminEnableUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminEnableUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminForgetDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'DeviceKey', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], ], ], 'AdminGetDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceKey', 'UserPoolId', 'Username', ], 'members' => [ 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminGetDeviceResponse' => [ 'type' => 'structure', 'required' => [ 'Device', ], 'members' => [ 'Device' => [ 'shape' => 'DeviceType', ], ], ], 'AdminGetUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminGetUserResponse' => [ 'type' => 'structure', 'required' => [ 'Username', ], 'members' => [ 'Username' => [ 'shape' => 'UsernameType', ], 'UserAttributes' => [ 'shape' => 'AttributeListType', ], 'UserCreateDate' => [ 'shape' => 'DateType', ], 'UserLastModifiedDate' => [ 'shape' => 'DateType', ], 'Enabled' => [ 'shape' => 'BooleanType', ], 'UserStatus' => [ 'shape' => 'UserStatusType', ], 'MFAOptions' => [ 'shape' => 'MFAOptionListType', ], 'PreferredMfaSetting' => [ 'shape' => 'StringType', ], 'UserMFASettingList' => [ 'shape' => 'UserMFASettingListType', ], ], ], 'AdminInitiateAuthRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientId', 'AuthFlow', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'AuthFlow' => [ 'shape' => 'AuthFlowType', ], 'AuthParameters' => [ 'shape' => 'AuthParametersType', ], 'ClientMetadata' => [ 'shape' => 'ClientMetadataType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'ContextData' => [ 'shape' => 'ContextDataType', ], ], ], 'AdminInitiateAuthResponse' => [ 'type' => 'structure', 'members' => [ 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'Session' => [ 'shape' => 'SessionType', ], 'ChallengeParameters' => [ 'shape' => 'ChallengeParametersType', ], 'AuthenticationResult' => [ 'shape' => 'AuthenticationResultType', ], ], ], 'AdminLinkProviderForUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'DestinationUser', 'SourceUser', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'StringType', ], 'DestinationUser' => [ 'shape' => 'ProviderUserIdentifierType', ], 'SourceUser' => [ 'shape' => 'ProviderUserIdentifierType', ], ], ], 'AdminLinkProviderForUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminListDevicesRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], ], ], 'AdminListDevicesResponse' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => 'DeviceListType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], ], ], 'AdminListGroupsForUserRequest' => [ 'type' => 'structure', 'required' => [ 'Username', 'UserPoolId', ], 'members' => [ 'Username' => [ 'shape' => 'UsernameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'AdminListGroupsForUserResponse' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupListType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'AdminListUserAuthEventsRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'MaxResults' => [ 'shape' => 'QueryLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'AdminListUserAuthEventsResponse' => [ 'type' => 'structure', 'members' => [ 'AuthEvents' => [ 'shape' => 'AuthEventsType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'AdminRemoveUserFromGroupRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'GroupName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'GroupName' => [ 'shape' => 'GroupNameType', ], ], ], 'AdminResetUserPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminResetUserPasswordResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminRespondToAuthChallengeRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientId', 'ChallengeName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'ChallengeResponses' => [ 'shape' => 'ChallengeResponsesType', ], 'Session' => [ 'shape' => 'SessionType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'ContextData' => [ 'shape' => 'ContextDataType', ], ], ], 'AdminRespondToAuthChallengeResponse' => [ 'type' => 'structure', 'members' => [ 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'Session' => [ 'shape' => 'SessionType', ], 'ChallengeParameters' => [ 'shape' => 'ChallengeParametersType', ], 'AuthenticationResult' => [ 'shape' => 'AuthenticationResultType', ], ], ], 'AdminSetUserMFAPreferenceRequest' => [ 'type' => 'structure', 'required' => [ 'Username', 'UserPoolId', ], 'members' => [ 'SMSMfaSettings' => [ 'shape' => 'SMSMfaSettingsType', ], 'SoftwareTokenMfaSettings' => [ 'shape' => 'SoftwareTokenMfaSettingsType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'AdminSetUserMFAPreferenceResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminSetUserSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'MFAOptions', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'MFAOptions' => [ 'shape' => 'MFAOptionListType', ], ], ], 'AdminSetUserSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminUpdateAuthEventFeedbackRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'EventId', 'FeedbackValue', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'EventId' => [ 'shape' => 'EventIdType', ], 'FeedbackValue' => [ 'shape' => 'FeedbackValueType', ], ], ], 'AdminUpdateAuthEventFeedbackResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminUpdateDeviceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'DeviceKey', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'DeviceRememberedStatus' => [ 'shape' => 'DeviceRememberedStatusType', ], ], ], 'AdminUpdateDeviceStatusResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminUpdateUserAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'UserAttributes', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'UserAttributes' => [ 'shape' => 'AttributeListType', ], ], ], 'AdminUpdateUserAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdminUserGlobalSignOutRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], ], ], 'AdminUserGlobalSignOutResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdvancedSecurityModeType' => [ 'type' => 'string', 'enum' => [ 'OFF', 'AUDIT', 'ENFORCED', ], ], 'AliasAttributeType' => [ 'type' => 'string', 'enum' => [ 'phone_number', 'email', 'preferred_username', ], ], 'AliasAttributesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AliasAttributeType', ], ], 'AliasExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'AnalyticsConfigurationType' => [ 'type' => 'structure', 'required' => [ 'ApplicationId', 'RoleArn', 'ExternalId', ], 'members' => [ 'ApplicationId' => [ 'shape' => 'HexStringType', ], 'RoleArn' => [ 'shape' => 'ArnType', ], 'ExternalId' => [ 'shape' => 'StringType', ], 'UserDataShared' => [ 'shape' => 'BooleanType', ], ], ], 'AnalyticsMetadataType' => [ 'type' => 'structure', 'members' => [ 'AnalyticsEndpointId' => [ 'shape' => 'StringType', ], ], ], 'ArnType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:([\\w+=/,.@-]*)?:[0-9]+:[\\w+=/,.@-]+(:[\\w+=/,.@-]+)?(:[\\w+=/,.@-]+)?', ], 'AssociateSoftwareTokenRequest' => [ 'type' => 'structure', 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'Session' => [ 'shape' => 'SessionType', ], ], ], 'AssociateSoftwareTokenResponse' => [ 'type' => 'structure', 'members' => [ 'SecretCode' => [ 'shape' => 'SecretCodeType', ], 'Session' => [ 'shape' => 'SessionType', ], ], ], 'AttributeDataType' => [ 'type' => 'string', 'enum' => [ 'String', 'Number', 'DateTime', 'Boolean', ], ], 'AttributeListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeType', ], ], 'AttributeMappingKeyType' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'AttributeMappingType' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeMappingKeyType', ], 'value' => [ 'shape' => 'StringType', ], ], 'AttributeNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeNameType', ], ], 'AttributeNameType' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'AttributeType' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AttributeNameType', ], 'Value' => [ 'shape' => 'AttributeValueType', ], ], ], 'AttributeValueType' => [ 'type' => 'string', 'max' => 2048, 'sensitive' => true, ], 'AuthEventType' => [ 'type' => 'structure', 'members' => [ 'EventId' => [ 'shape' => 'StringType', ], 'EventType' => [ 'shape' => 'EventType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'EventResponse' => [ 'shape' => 'EventResponseType', ], 'EventRisk' => [ 'shape' => 'EventRiskType', ], 'ChallengeResponses' => [ 'shape' => 'ChallengeResponseListType', ], 'EventContextData' => [ 'shape' => 'EventContextDataType', ], 'EventFeedback' => [ 'shape' => 'EventFeedbackType', ], ], ], 'AuthEventsType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthEventType', ], ], 'AuthFlowType' => [ 'type' => 'string', 'enum' => [ 'USER_SRP_AUTH', 'REFRESH_TOKEN_AUTH', 'REFRESH_TOKEN', 'CUSTOM_AUTH', 'ADMIN_NO_SRP_AUTH', 'USER_PASSWORD_AUTH', ], ], 'AuthParametersType' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'AuthenticationResultType' => [ 'type' => 'structure', 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'ExpiresIn' => [ 'shape' => 'IntegerType', ], 'TokenType' => [ 'shape' => 'StringType', ], 'RefreshToken' => [ 'shape' => 'TokenModelType', ], 'IdToken' => [ 'shape' => 'TokenModelType', ], 'NewDeviceMetadata' => [ 'shape' => 'NewDeviceMetadataType', ], ], ], 'BlockedIPRangeListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringType', ], 'max' => 20, ], 'BooleanType' => [ 'type' => 'boolean', ], 'CSSType' => [ 'type' => 'string', ], 'CSSVersionType' => [ 'type' => 'string', ], 'CallbackURLsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'RedirectUrlType', ], 'max' => 100, 'min' => 0, ], 'ChallengeName' => [ 'type' => 'string', 'enum' => [ 'Password', 'Mfa', ], ], 'ChallengeNameType' => [ 'type' => 'string', 'enum' => [ 'SMS_MFA', 'SOFTWARE_TOKEN_MFA', 'SELECT_MFA_TYPE', 'MFA_SETUP', 'PASSWORD_VERIFIER', 'CUSTOM_CHALLENGE', 'DEVICE_SRP_AUTH', 'DEVICE_PASSWORD_VERIFIER', 'ADMIN_NO_SRP_AUTH', 'NEW_PASSWORD_REQUIRED', ], ], 'ChallengeParametersType' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'ChallengeResponse' => [ 'type' => 'string', 'enum' => [ 'Success', 'Failure', ], ], 'ChallengeResponseListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChallengeResponseType', ], ], 'ChallengeResponseType' => [ 'type' => 'structure', 'members' => [ 'ChallengeName' => [ 'shape' => 'ChallengeName', ], 'ChallengeResponse' => [ 'shape' => 'ChallengeResponse', ], ], ], 'ChallengeResponsesType' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'ChangePasswordRequest' => [ 'type' => 'structure', 'required' => [ 'PreviousPassword', 'ProposedPassword', 'AccessToken', ], 'members' => [ 'PreviousPassword' => [ 'shape' => 'PasswordType', ], 'ProposedPassword' => [ 'shape' => 'PasswordType', ], 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'ChangePasswordResponse' => [ 'type' => 'structure', 'members' => [], ], 'ClientIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+]+', 'sensitive' => true, ], 'ClientMetadataType' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'ClientNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w\\s+=,.@-]+', ], 'ClientPermissionListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientPermissionType', ], ], 'ClientPermissionType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ClientSecretType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w+]+', 'sensitive' => true, ], 'CodeDeliveryDetailsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeDeliveryDetailsType', ], ], 'CodeDeliveryDetailsType' => [ 'type' => 'structure', 'members' => [ 'Destination' => [ 'shape' => 'StringType', ], 'DeliveryMedium' => [ 'shape' => 'DeliveryMediumType', ], 'AttributeName' => [ 'shape' => 'AttributeNameType', ], ], ], 'CodeDeliveryFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'CodeMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'CompletionMessageType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w]+', ], 'CompromisedCredentialsActionsType' => [ 'type' => 'structure', 'required' => [ 'EventAction', ], 'members' => [ 'EventAction' => [ 'shape' => 'CompromisedCredentialsEventActionType', ], ], ], 'CompromisedCredentialsEventActionType' => [ 'type' => 'string', 'enum' => [ 'BLOCK', 'NO_ACTION', ], ], 'CompromisedCredentialsRiskConfigurationType' => [ 'type' => 'structure', 'required' => [ 'Actions', ], 'members' => [ 'EventFilter' => [ 'shape' => 'EventFiltersType', ], 'Actions' => [ 'shape' => 'CompromisedCredentialsActionsType', ], ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ConfirmDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', 'DeviceKey', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'DeviceSecretVerifierConfig' => [ 'shape' => 'DeviceSecretVerifierConfigType', ], 'DeviceName' => [ 'shape' => 'DeviceNameType', ], ], ], 'ConfirmDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'UserConfirmationNecessary' => [ 'shape' => 'BooleanType', ], ], ], 'ConfirmForgotPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'Username', 'ConfirmationCode', 'Password', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'SecretHash' => [ 'shape' => 'SecretHashType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'ConfirmationCode' => [ 'shape' => 'ConfirmationCodeType', ], 'Password' => [ 'shape' => 'PasswordType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], ], ], 'ConfirmForgotPasswordResponse' => [ 'type' => 'structure', 'members' => [], ], 'ConfirmSignUpRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'Username', 'ConfirmationCode', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'SecretHash' => [ 'shape' => 'SecretHashType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'ConfirmationCode' => [ 'shape' => 'ConfirmationCodeType', ], 'ForceAliasCreation' => [ 'shape' => 'ForceAliasCreation', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], ], ], 'ConfirmSignUpResponse' => [ 'type' => 'structure', 'members' => [], ], 'ConfirmationCodeType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[\\S]+', ], 'ContextDataType' => [ 'type' => 'structure', 'required' => [ 'IpAddress', 'ServerName', 'ServerPath', 'HttpHeaders', ], 'members' => [ 'IpAddress' => [ 'shape' => 'StringType', ], 'ServerName' => [ 'shape' => 'StringType', ], 'ServerPath' => [ 'shape' => 'StringType', ], 'HttpHeaders' => [ 'shape' => 'HttpHeaderList', ], 'EncodedData' => [ 'shape' => 'StringType', ], ], ], 'CreateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserPoolId', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'RoleArn' => [ 'shape' => 'ArnType', ], 'Precedence' => [ 'shape' => 'PrecedenceType', ], ], ], 'CreateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'GroupType', ], ], ], 'CreateIdentityProviderRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ProviderName', 'ProviderType', 'ProviderDetails', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ProviderName' => [ 'shape' => 'ProviderNameTypeV1', ], 'ProviderType' => [ 'shape' => 'IdentityProviderTypeType', ], 'ProviderDetails' => [ 'shape' => 'ProviderDetailsType', ], 'AttributeMapping' => [ 'shape' => 'AttributeMappingType', ], 'IdpIdentifiers' => [ 'shape' => 'IdpIdentifiersListType', ], ], ], 'CreateIdentityProviderResponse' => [ 'type' => 'structure', 'required' => [ 'IdentityProvider', ], 'members' => [ 'IdentityProvider' => [ 'shape' => 'IdentityProviderType', ], ], ], 'CreateResourceServerRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Identifier', 'Name', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Identifier' => [ 'shape' => 'ResourceServerIdentifierType', ], 'Name' => [ 'shape' => 'ResourceServerNameType', ], 'Scopes' => [ 'shape' => 'ResourceServerScopeListType', ], ], ], 'CreateResourceServerResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceServer', ], 'members' => [ 'ResourceServer' => [ 'shape' => 'ResourceServerType', ], ], ], 'CreateUserImportJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', 'UserPoolId', 'CloudWatchLogsRoleArn', ], 'members' => [ 'JobName' => [ 'shape' => 'UserImportJobNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'ArnType', ], ], ], 'CreateUserImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'UserImportJob' => [ 'shape' => 'UserImportJobType', ], ], ], 'CreateUserPoolClientRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientName' => [ 'shape' => 'ClientNameType', ], 'GenerateSecret' => [ 'shape' => 'GenerateSecret', ], 'RefreshTokenValidity' => [ 'shape' => 'RefreshTokenValidityType', ], 'ReadAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'WriteAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'ExplicitAuthFlows' => [ 'shape' => 'ExplicitAuthFlowsListType', ], 'SupportedIdentityProviders' => [ 'shape' => 'SupportedIdentityProvidersListType', ], 'CallbackURLs' => [ 'shape' => 'CallbackURLsListType', ], 'LogoutURLs' => [ 'shape' => 'LogoutURLsListType', ], 'DefaultRedirectURI' => [ 'shape' => 'RedirectUrlType', ], 'AllowedOAuthFlows' => [ 'shape' => 'OAuthFlowsType', ], 'AllowedOAuthScopes' => [ 'shape' => 'ScopeListType', ], 'AllowedOAuthFlowsUserPoolClient' => [ 'shape' => 'BooleanType', ], 'AnalyticsConfiguration' => [ 'shape' => 'AnalyticsConfigurationType', ], ], ], 'CreateUserPoolClientResponse' => [ 'type' => 'structure', 'members' => [ 'UserPoolClient' => [ 'shape' => 'UserPoolClientType', ], ], ], 'CreateUserPoolDomainRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', 'UserPoolId', ], 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'CustomDomainConfig' => [ 'shape' => 'CustomDomainConfigType', ], ], ], 'CreateUserPoolDomainResponse' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDomain' => [ 'shape' => 'DomainType', ], ], ], 'CreateUserPoolRequest' => [ 'type' => 'structure', 'required' => [ 'PoolName', ], 'members' => [ 'PoolName' => [ 'shape' => 'UserPoolNameType', ], 'Policies' => [ 'shape' => 'UserPoolPolicyType', ], 'LambdaConfig' => [ 'shape' => 'LambdaConfigType', ], 'AutoVerifiedAttributes' => [ 'shape' => 'VerifiedAttributesListType', ], 'AliasAttributes' => [ 'shape' => 'AliasAttributesListType', ], 'UsernameAttributes' => [ 'shape' => 'UsernameAttributesListType', ], 'SmsVerificationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'EmailVerificationMessage' => [ 'shape' => 'EmailVerificationMessageType', ], 'EmailVerificationSubject' => [ 'shape' => 'EmailVerificationSubjectType', ], 'VerificationMessageTemplate' => [ 'shape' => 'VerificationMessageTemplateType', ], 'SmsAuthenticationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], 'DeviceConfiguration' => [ 'shape' => 'DeviceConfigurationType', ], 'EmailConfiguration' => [ 'shape' => 'EmailConfigurationType', ], 'SmsConfiguration' => [ 'shape' => 'SmsConfigurationType', ], 'UserPoolTags' => [ 'shape' => 'UserPoolTagsType', ], 'AdminCreateUserConfig' => [ 'shape' => 'AdminCreateUserConfigType', ], 'Schema' => [ 'shape' => 'SchemaAttributesListType', ], 'UserPoolAddOns' => [ 'shape' => 'UserPoolAddOnsType', ], ], ], 'CreateUserPoolResponse' => [ 'type' => 'structure', 'members' => [ 'UserPool' => [ 'shape' => 'UserPoolType', ], ], ], 'CustomAttributeNameType' => [ 'type' => 'string', 'max' => 20, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'CustomAttributesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaAttributeType', ], 'max' => 25, 'min' => 1, ], 'CustomDomainConfigType' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'ArnType', ], ], ], 'DateType' => [ 'type' => 'timestamp', ], 'DefaultEmailOptionType' => [ 'type' => 'string', 'enum' => [ 'CONFIRM_WITH_LINK', 'CONFIRM_WITH_CODE', ], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserPoolId', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'DeleteIdentityProviderRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ProviderName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ProviderName' => [ 'shape' => 'ProviderNameType', ], ], ], 'DeleteResourceServerRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Identifier', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Identifier' => [ 'shape' => 'ResourceServerIdentifierType', ], ], ], 'DeleteUserAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'UserAttributeNames', 'AccessToken', ], 'members' => [ 'UserAttributeNames' => [ 'shape' => 'AttributeNameListType', ], 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'DeleteUserAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUserPoolClientRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], ], ], 'DeleteUserPoolDomainRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', 'UserPoolId', ], 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'DeleteUserPoolDomainResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUserPoolRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'DeliveryMediumListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryMediumType', ], ], 'DeliveryMediumType' => [ 'type' => 'string', 'enum' => [ 'SMS', 'EMAIL', ], ], 'DescribeIdentityProviderRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ProviderName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ProviderName' => [ 'shape' => 'ProviderNameType', ], ], ], 'DescribeIdentityProviderResponse' => [ 'type' => 'structure', 'required' => [ 'IdentityProvider', ], 'members' => [ 'IdentityProvider' => [ 'shape' => 'IdentityProviderType', ], ], ], 'DescribeResourceServerRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Identifier', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Identifier' => [ 'shape' => 'ResourceServerIdentifierType', ], ], ], 'DescribeResourceServerResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceServer', ], 'members' => [ 'ResourceServer' => [ 'shape' => 'ResourceServerType', ], ], ], 'DescribeRiskConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], ], ], 'DescribeRiskConfigurationResponse' => [ 'type' => 'structure', 'required' => [ 'RiskConfiguration', ], 'members' => [ 'RiskConfiguration' => [ 'shape' => 'RiskConfigurationType', ], ], ], 'DescribeUserImportJobRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'JobId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'JobId' => [ 'shape' => 'UserImportJobIdType', ], ], ], 'DescribeUserImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'UserImportJob' => [ 'shape' => 'UserImportJobType', ], ], ], 'DescribeUserPoolClientRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], ], ], 'DescribeUserPoolClientResponse' => [ 'type' => 'structure', 'members' => [ 'UserPoolClient' => [ 'shape' => 'UserPoolClientType', ], ], ], 'DescribeUserPoolDomainRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', ], 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], ], ], 'DescribeUserPoolDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainDescription' => [ 'shape' => 'DomainDescriptionType', ], ], ], 'DescribeUserPoolRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'DescribeUserPoolResponse' => [ 'type' => 'structure', 'members' => [ 'UserPool' => [ 'shape' => 'UserPoolType', ], ], ], 'DescriptionType' => [ 'type' => 'string', 'max' => 2048, ], 'DeviceConfigurationType' => [ 'type' => 'structure', 'members' => [ 'ChallengeRequiredOnNewDevice' => [ 'shape' => 'BooleanType', ], 'DeviceOnlyRememberedOnUserPrompt' => [ 'shape' => 'BooleanType', ], ], ], 'DeviceKeyType' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+_[0-9a-f-]+', ], 'DeviceListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceType', ], ], 'DeviceNameType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'DeviceRememberedStatusType' => [ 'type' => 'string', 'enum' => [ 'remembered', 'not_remembered', ], ], 'DeviceSecretVerifierConfigType' => [ 'type' => 'structure', 'members' => [ 'PasswordVerifier' => [ 'shape' => 'StringType', ], 'Salt' => [ 'shape' => 'StringType', ], ], ], 'DeviceType' => [ 'type' => 'structure', 'members' => [ 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'DeviceAttributes' => [ 'shape' => 'AttributeListType', ], 'DeviceCreateDate' => [ 'shape' => 'DateType', ], 'DeviceLastModifiedDate' => [ 'shape' => 'DateType', ], 'DeviceLastAuthenticatedDate' => [ 'shape' => 'DateType', ], ], ], 'DomainDescriptionType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'AWSAccountId' => [ 'shape' => 'AWSAccountIdType', ], 'Domain' => [ 'shape' => 'DomainType', ], 'S3Bucket' => [ 'shape' => 'S3BucketType', ], 'CloudFrontDistribution' => [ 'shape' => 'StringType', ], 'Version' => [ 'shape' => 'DomainVersionType', ], 'Status' => [ 'shape' => 'DomainStatusType', ], 'CustomDomainConfig' => [ 'shape' => 'CustomDomainConfigType', ], ], ], 'DomainStatusType' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DELETING', 'UPDATING', 'ACTIVE', 'FAILED', ], ], 'DomainType' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-z0-9](?:[a-z0-9\\-]{0,61}[a-z0-9])?$', ], 'DomainVersionType' => [ 'type' => 'string', 'max' => 20, 'min' => 1, ], 'DuplicateProviderException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'EmailAddressType' => [ 'type' => 'string', 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+@[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'EmailConfigurationType' => [ 'type' => 'structure', 'members' => [ 'SourceArn' => [ 'shape' => 'ArnType', ], 'ReplyToEmailAddress' => [ 'shape' => 'EmailAddressType', ], ], ], 'EmailNotificationBodyType' => [ 'type' => 'string', 'max' => 20000, 'min' => 6, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]+', ], 'EmailNotificationSubjectType' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+', ], 'EmailVerificationMessageByLinkType' => [ 'type' => 'string', 'max' => 20000, 'min' => 6, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{##[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*##\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*', ], 'EmailVerificationMessageType' => [ 'type' => 'string', 'max' => 20000, 'min' => 6, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{####\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*', ], 'EmailVerificationSubjectByLinkType' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+', ], 'EmailVerificationSubjectType' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+', ], 'EnableSoftwareTokenMFAException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'EventContextDataType' => [ 'type' => 'structure', 'members' => [ 'IpAddress' => [ 'shape' => 'StringType', ], 'DeviceName' => [ 'shape' => 'StringType', ], 'Timezone' => [ 'shape' => 'StringType', ], 'City' => [ 'shape' => 'StringType', ], 'Country' => [ 'shape' => 'StringType', ], ], ], 'EventFeedbackType' => [ 'type' => 'structure', 'required' => [ 'FeedbackValue', 'Provider', ], 'members' => [ 'FeedbackValue' => [ 'shape' => 'FeedbackValueType', ], 'Provider' => [ 'shape' => 'StringType', ], 'FeedbackDate' => [ 'shape' => 'DateType', ], ], ], 'EventFilterType' => [ 'type' => 'string', 'enum' => [ 'SIGN_IN', 'PASSWORD_CHANGE', 'SIGN_UP', ], ], 'EventFiltersType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventFilterType', ], ], 'EventIdType' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[\\w+-]+', ], 'EventResponseType' => [ 'type' => 'string', 'enum' => [ 'Success', 'Failure', ], ], 'EventRiskType' => [ 'type' => 'structure', 'members' => [ 'RiskDecision' => [ 'shape' => 'RiskDecisionType', ], 'RiskLevel' => [ 'shape' => 'RiskLevelType', ], ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'SignIn', 'SignUp', 'ForgotPassword', ], ], 'ExpiredCodeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ExplicitAuthFlowsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExplicitAuthFlowsType', ], ], 'ExplicitAuthFlowsType' => [ 'type' => 'string', 'enum' => [ 'ADMIN_NO_SRP_AUTH', 'CUSTOM_AUTH_FLOW_ONLY', 'USER_PASSWORD_AUTH', ], ], 'FeedbackValueType' => [ 'type' => 'string', 'enum' => [ 'Valid', 'Invalid', ], ], 'ForceAliasCreation' => [ 'type' => 'boolean', ], 'ForgetDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceKey', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], ], ], 'ForgotPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'Username', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'SecretHash' => [ 'shape' => 'SecretHashType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], ], ], 'ForgotPasswordResponse' => [ 'type' => 'structure', 'members' => [ 'CodeDeliveryDetails' => [ 'shape' => 'CodeDeliveryDetailsType', ], ], ], 'GenerateSecret' => [ 'type' => 'boolean', ], 'GetCSVHeaderRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'GetCSVHeaderResponse' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'CSVHeader' => [ 'shape' => 'ListOfStringTypes', ], ], ], 'GetDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceKey', ], 'members' => [ 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'GetDeviceResponse' => [ 'type' => 'structure', 'required' => [ 'Device', ], 'members' => [ 'Device' => [ 'shape' => 'DeviceType', ], ], ], 'GetGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserPoolId', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'GetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'GroupType', ], ], ], 'GetIdentityProviderByIdentifierRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'IdpIdentifier', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'IdpIdentifier' => [ 'shape' => 'IdpIdentifierType', ], ], ], 'GetIdentityProviderByIdentifierResponse' => [ 'type' => 'structure', 'required' => [ 'IdentityProvider', ], 'members' => [ 'IdentityProvider' => [ 'shape' => 'IdentityProviderType', ], ], ], 'GetSigningCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'GetSigningCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'StringType', ], ], ], 'GetUICustomizationRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], ], ], 'GetUICustomizationResponse' => [ 'type' => 'structure', 'required' => [ 'UICustomization', ], 'members' => [ 'UICustomization' => [ 'shape' => 'UICustomizationType', ], ], ], 'GetUserAttributeVerificationCodeRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', 'AttributeName', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'AttributeName' => [ 'shape' => 'AttributeNameType', ], ], ], 'GetUserAttributeVerificationCodeResponse' => [ 'type' => 'structure', 'members' => [ 'CodeDeliveryDetails' => [ 'shape' => 'CodeDeliveryDetailsType', ], ], ], 'GetUserPoolMfaConfigRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], ], ], 'GetUserPoolMfaConfigResponse' => [ 'type' => 'structure', 'members' => [ 'SmsMfaConfiguration' => [ 'shape' => 'SmsMfaConfigType', ], 'SoftwareTokenMfaConfiguration' => [ 'shape' => 'SoftwareTokenMfaConfigType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], ], ], 'GetUserRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'GetUserResponse' => [ 'type' => 'structure', 'required' => [ 'Username', 'UserAttributes', ], 'members' => [ 'Username' => [ 'shape' => 'UsernameType', ], 'UserAttributes' => [ 'shape' => 'AttributeListType', ], 'MFAOptions' => [ 'shape' => 'MFAOptionListType', ], 'PreferredMfaSetting' => [ 'shape' => 'StringType', ], 'UserMFASettingList' => [ 'shape' => 'UserMFASettingListType', ], ], ], 'GlobalSignOutRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'GlobalSignOutResponse' => [ 'type' => 'structure', 'members' => [], ], 'GroupExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'GroupListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupType', ], ], 'GroupNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'GroupType' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'GroupNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'RoleArn' => [ 'shape' => 'ArnType', ], 'Precedence' => [ 'shape' => 'PrecedenceType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'HexStringType' => [ 'type' => 'string', 'pattern' => '^[0-9a-fA-F]+$', ], 'HttpHeader' => [ 'type' => 'structure', 'members' => [ 'headerName' => [ 'shape' => 'StringType', ], 'headerValue' => [ 'shape' => 'StringType', ], ], ], 'HttpHeaderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HttpHeader', ], ], 'IdentityProviderType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ProviderName' => [ 'shape' => 'ProviderNameType', ], 'ProviderType' => [ 'shape' => 'IdentityProviderTypeType', ], 'ProviderDetails' => [ 'shape' => 'ProviderDetailsType', ], 'AttributeMapping' => [ 'shape' => 'AttributeMappingType', ], 'IdpIdentifiers' => [ 'shape' => 'IdpIdentifiersListType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'IdentityProviderTypeType' => [ 'type' => 'string', 'enum' => [ 'SAML', 'Facebook', 'Google', 'LoginWithAmazon', 'OIDC', ], ], 'IdpIdentifierType' => [ 'type' => 'string', 'max' => 40, 'min' => 1, 'pattern' => '[\\w\\s+=.@-]+', ], 'IdpIdentifiersListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdpIdentifierType', ], 'max' => 50, 'min' => 0, ], 'ImageFileType' => [ 'type' => 'blob', ], 'ImageUrlType' => [ 'type' => 'string', ], 'InitiateAuthRequest' => [ 'type' => 'structure', 'required' => [ 'AuthFlow', 'ClientId', ], 'members' => [ 'AuthFlow' => [ 'shape' => 'AuthFlowType', ], 'AuthParameters' => [ 'shape' => 'AuthParametersType', ], 'ClientMetadata' => [ 'shape' => 'ClientMetadataType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], ], ], 'InitiateAuthResponse' => [ 'type' => 'structure', 'members' => [ 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'Session' => [ 'shape' => 'SessionType', ], 'ChallengeParameters' => [ 'shape' => 'ChallengeParametersType', ], 'AuthenticationResult' => [ 'shape' => 'AuthenticationResultType', ], ], ], 'IntegerType' => [ 'type' => 'integer', ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, 'fault' => true, ], 'InvalidEmailRoleAccessPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidLambdaResponseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidOAuthFlowException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidPasswordException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidSmsRoleAccessPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidSmsRoleTrustRelationshipException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'InvalidUserPoolConfigurationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'LambdaConfigType' => [ 'type' => 'structure', 'members' => [ 'PreSignUp' => [ 'shape' => 'ArnType', ], 'CustomMessage' => [ 'shape' => 'ArnType', ], 'PostConfirmation' => [ 'shape' => 'ArnType', ], 'PreAuthentication' => [ 'shape' => 'ArnType', ], 'PostAuthentication' => [ 'shape' => 'ArnType', ], 'DefineAuthChallenge' => [ 'shape' => 'ArnType', ], 'CreateAuthChallenge' => [ 'shape' => 'ArnType', ], 'VerifyAuthChallengeResponse' => [ 'shape' => 'ArnType', ], 'PreTokenGeneration' => [ 'shape' => 'ArnType', ], 'UserMigration' => [ 'shape' => 'ArnType', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ListDevicesRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], ], ], 'ListDevicesResponse' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => 'DeviceListType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], ], ], 'ListGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupListType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListIdentityProvidersRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'MaxResults' => [ 'shape' => 'ListProvidersLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListIdentityProvidersResponse' => [ 'type' => 'structure', 'required' => [ 'Providers', ], 'members' => [ 'Providers' => [ 'shape' => 'ProvidersListType', ], 'NextToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListOfStringTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringType', ], ], 'ListProvidersLimitType' => [ 'type' => 'integer', 'max' => 60, 'min' => 1, ], 'ListResourceServersLimitType' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'ListResourceServersRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'MaxResults' => [ 'shape' => 'ListResourceServersLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListResourceServersResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceServers', ], 'members' => [ 'ResourceServers' => [ 'shape' => 'ResourceServersListType', ], 'NextToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ArnType', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'UserPoolTagsType', ], ], ], 'ListUserImportJobsRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'MaxResults', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'MaxResults' => [ 'shape' => 'PoolQueryLimitType', ], 'PaginationToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListUserImportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'UserImportJobs' => [ 'shape' => 'UserImportJobsListType', ], 'PaginationToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListUserPoolClientsRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'MaxResults' => [ 'shape' => 'QueryLimit', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListUserPoolClientsResponse' => [ 'type' => 'structure', 'members' => [ 'UserPoolClients' => [ 'shape' => 'UserPoolClientListType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListUserPoolsRequest' => [ 'type' => 'structure', 'required' => [ 'MaxResults', ], 'members' => [ 'NextToken' => [ 'shape' => 'PaginationKeyType', ], 'MaxResults' => [ 'shape' => 'PoolQueryLimitType', ], ], ], 'ListUserPoolsResponse' => [ 'type' => 'structure', 'members' => [ 'UserPools' => [ 'shape' => 'UserPoolListType', ], 'NextToken' => [ 'shape' => 'PaginationKeyType', ], ], ], 'ListUsersInGroupRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'GroupName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'GroupName' => [ 'shape' => 'GroupNameType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListUsersInGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UsersListType', ], 'NextToken' => [ 'shape' => 'PaginationKey', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'AttributesToGet' => [ 'shape' => 'SearchedAttributeNamesListType', ], 'Limit' => [ 'shape' => 'QueryLimitType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], 'Filter' => [ 'shape' => 'UserFilterType', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UsersListType', ], 'PaginationToken' => [ 'shape' => 'SearchPaginationTokenType', ], ], ], 'LogoutURLsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'RedirectUrlType', ], 'max' => 100, 'min' => 0, ], 'LongType' => [ 'type' => 'long', ], 'MFAMethodNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'MFAOptionListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'MFAOptionType', ], ], 'MFAOptionType' => [ 'type' => 'structure', 'members' => [ 'DeliveryMedium' => [ 'shape' => 'DeliveryMediumType', ], 'AttributeName' => [ 'shape' => 'AttributeNameType', ], ], ], 'MessageActionType' => [ 'type' => 'string', 'enum' => [ 'RESEND', 'SUPPRESS', ], ], 'MessageTemplateType' => [ 'type' => 'structure', 'members' => [ 'SMSMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'EmailMessage' => [ 'shape' => 'EmailVerificationMessageType', ], 'EmailSubject' => [ 'shape' => 'EmailVerificationSubjectType', ], ], ], 'MessageType' => [ 'type' => 'string', ], 'NewDeviceMetadataType' => [ 'type' => 'structure', 'members' => [ 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'DeviceGroupKey' => [ 'shape' => 'StringType', ], ], ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'NotifyConfigurationType' => [ 'type' => 'structure', 'required' => [ 'SourceArn', ], 'members' => [ 'From' => [ 'shape' => 'StringType', ], 'ReplyTo' => [ 'shape' => 'StringType', ], 'SourceArn' => [ 'shape' => 'ArnType', ], 'BlockEmail' => [ 'shape' => 'NotifyEmailType', ], 'NoActionEmail' => [ 'shape' => 'NotifyEmailType', ], 'MfaEmail' => [ 'shape' => 'NotifyEmailType', ], ], ], 'NotifyEmailType' => [ 'type' => 'structure', 'required' => [ 'Subject', ], 'members' => [ 'Subject' => [ 'shape' => 'EmailNotificationSubjectType', ], 'HtmlBody' => [ 'shape' => 'EmailNotificationBodyType', ], 'TextBody' => [ 'shape' => 'EmailNotificationBodyType', ], ], ], 'NumberAttributeConstraintsType' => [ 'type' => 'structure', 'members' => [ 'MinValue' => [ 'shape' => 'StringType', ], 'MaxValue' => [ 'shape' => 'StringType', ], ], ], 'OAuthFlowType' => [ 'type' => 'string', 'enum' => [ 'code', 'implicit', 'client_credentials', ], ], 'OAuthFlowsType' => [ 'type' => 'list', 'member' => [ 'shape' => 'OAuthFlowType', ], 'max' => 3, 'min' => 0, ], 'PaginationKey' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\S]+', ], 'PaginationKeyType' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\S]+', ], 'PasswordPolicyMinLengthType' => [ 'type' => 'integer', 'max' => 99, 'min' => 6, ], 'PasswordPolicyType' => [ 'type' => 'structure', 'members' => [ 'MinimumLength' => [ 'shape' => 'PasswordPolicyMinLengthType', ], 'RequireUppercase' => [ 'shape' => 'BooleanType', ], 'RequireLowercase' => [ 'shape' => 'BooleanType', ], 'RequireNumbers' => [ 'shape' => 'BooleanType', ], 'RequireSymbols' => [ 'shape' => 'BooleanType', ], ], ], 'PasswordResetRequiredException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'PasswordType' => [ 'type' => 'string', 'max' => 256, 'min' => 6, 'pattern' => '[\\S]+', 'sensitive' => true, ], 'PoolQueryLimitType' => [ 'type' => 'integer', 'max' => 60, 'min' => 1, ], 'PreSignedUrlType' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'PrecedenceType' => [ 'type' => 'integer', 'min' => 0, ], 'PreconditionNotMetException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ProviderDescription' => [ 'type' => 'structure', 'members' => [ 'ProviderName' => [ 'shape' => 'ProviderNameType', ], 'ProviderType' => [ 'shape' => 'IdentityProviderTypeType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'ProviderDetailsType' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'ProviderNameType' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'ProviderNameTypeV1' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+', ], 'ProviderUserIdentifierType' => [ 'type' => 'structure', 'members' => [ 'ProviderName' => [ 'shape' => 'ProviderNameType', ], 'ProviderAttributeName' => [ 'shape' => 'StringType', ], 'ProviderAttributeValue' => [ 'shape' => 'StringType', ], ], ], 'ProvidersListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProviderDescription', ], 'max' => 50, 'min' => 0, ], 'QueryLimit' => [ 'type' => 'integer', 'max' => 60, 'min' => 1, ], 'QueryLimitType' => [ 'type' => 'integer', 'max' => 60, 'min' => 0, ], 'RedirectUrlType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'RefreshTokenValidityType' => [ 'type' => 'integer', 'max' => 3650, 'min' => 0, ], 'ResendConfirmationCodeRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'Username', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'SecretHash' => [ 'shape' => 'SecretHashType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], ], ], 'ResendConfirmationCodeResponse' => [ 'type' => 'structure', 'members' => [ 'CodeDeliveryDetails' => [ 'shape' => 'CodeDeliveryDetailsType', ], ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ResourceServerIdentifierType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\x21\\x23-\\x5B\\x5D-\\x7E]+', ], 'ResourceServerNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w\\s+=,.@-]+', ], 'ResourceServerScopeDescriptionType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ResourceServerScopeListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceServerScopeType', ], 'max' => 25, ], 'ResourceServerScopeNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\x21\\x23-\\x2E\\x30-\\x5B\\x5D-\\x7E]+', ], 'ResourceServerScopeType' => [ 'type' => 'structure', 'required' => [ 'ScopeName', 'ScopeDescription', ], 'members' => [ 'ScopeName' => [ 'shape' => 'ResourceServerScopeNameType', ], 'ScopeDescription' => [ 'shape' => 'ResourceServerScopeDescriptionType', ], ], ], 'ResourceServerType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Identifier' => [ 'shape' => 'ResourceServerIdentifierType', ], 'Name' => [ 'shape' => 'ResourceServerNameType', ], 'Scopes' => [ 'shape' => 'ResourceServerScopeListType', ], ], ], 'ResourceServersListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceServerType', ], ], 'RespondToAuthChallengeRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'ChallengeName', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'Session' => [ 'shape' => 'SessionType', ], 'ChallengeResponses' => [ 'shape' => 'ChallengeResponsesType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], ], ], 'RespondToAuthChallengeResponse' => [ 'type' => 'structure', 'members' => [ 'ChallengeName' => [ 'shape' => 'ChallengeNameType', ], 'Session' => [ 'shape' => 'SessionType', ], 'ChallengeParameters' => [ 'shape' => 'ChallengeParametersType', ], 'AuthenticationResult' => [ 'shape' => 'AuthenticationResultType', ], ], ], 'RiskConfigurationType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'CompromisedCredentialsRiskConfiguration' => [ 'shape' => 'CompromisedCredentialsRiskConfigurationType', ], 'AccountTakeoverRiskConfiguration' => [ 'shape' => 'AccountTakeoverRiskConfigurationType', ], 'RiskExceptionConfiguration' => [ 'shape' => 'RiskExceptionConfigurationType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], ], ], 'RiskDecisionType' => [ 'type' => 'string', 'enum' => [ 'NoRisk', 'AccountTakeover', 'Block', ], ], 'RiskExceptionConfigurationType' => [ 'type' => 'structure', 'members' => [ 'BlockedIPRangeList' => [ 'shape' => 'BlockedIPRangeListType', ], 'SkippedIPRangeList' => [ 'shape' => 'SkippedIPRangeListType', ], ], ], 'RiskLevelType' => [ 'type' => 'string', 'enum' => [ 'Low', 'Medium', 'High', ], ], 'S3BucketType' => [ 'type' => 'string', 'max' => 1024, 'min' => 3, 'pattern' => '^[0-9A-Za-z\\.\\-_]*(?<!\\.)$', ], 'SMSMfaSettingsType' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'BooleanType', ], 'PreferredMfa' => [ 'shape' => 'BooleanType', ], ], ], 'SchemaAttributeType' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'CustomAttributeNameType', ], 'AttributeDataType' => [ 'shape' => 'AttributeDataType', ], 'DeveloperOnlyAttribute' => [ 'shape' => 'BooleanType', 'box' => true, ], 'Mutable' => [ 'shape' => 'BooleanType', 'box' => true, ], 'Required' => [ 'shape' => 'BooleanType', 'box' => true, ], 'NumberAttributeConstraints' => [ 'shape' => 'NumberAttributeConstraintsType', ], 'StringAttributeConstraints' => [ 'shape' => 'StringAttributeConstraintsType', ], ], ], 'SchemaAttributesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaAttributeType', ], 'max' => 50, 'min' => 1, ], 'ScopeDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'ScopeListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScopeType', ], 'max' => 25, ], 'ScopeType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\x21\\x23-\\x5B\\x5D-\\x7E]+', ], 'SearchPaginationTokenType' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\S]+', ], 'SearchedAttributeNamesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeNameType', ], ], 'SecretCodeType' => [ 'type' => 'string', 'min' => 16, 'pattern' => '[A-Za-z0-9]+', 'sensitive' => true, ], 'SecretHashType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=/]+', 'sensitive' => true, ], 'SessionType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'SetRiskConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'CompromisedCredentialsRiskConfiguration' => [ 'shape' => 'CompromisedCredentialsRiskConfigurationType', ], 'AccountTakeoverRiskConfiguration' => [ 'shape' => 'AccountTakeoverRiskConfigurationType', ], 'RiskExceptionConfiguration' => [ 'shape' => 'RiskExceptionConfigurationType', ], ], ], 'SetRiskConfigurationResponse' => [ 'type' => 'structure', 'required' => [ 'RiskConfiguration', ], 'members' => [ 'RiskConfiguration' => [ 'shape' => 'RiskConfigurationType', ], ], ], 'SetUICustomizationRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'CSS' => [ 'shape' => 'CSSType', ], 'ImageFile' => [ 'shape' => 'ImageFileType', ], ], ], 'SetUICustomizationResponse' => [ 'type' => 'structure', 'required' => [ 'UICustomization', ], 'members' => [ 'UICustomization' => [ 'shape' => 'UICustomizationType', ], ], ], 'SetUserMFAPreferenceRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', ], 'members' => [ 'SMSMfaSettings' => [ 'shape' => 'SMSMfaSettingsType', ], 'SoftwareTokenMfaSettings' => [ 'shape' => 'SoftwareTokenMfaSettingsType', ], 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'SetUserMFAPreferenceResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetUserPoolMfaConfigRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'SmsMfaConfiguration' => [ 'shape' => 'SmsMfaConfigType', ], 'SoftwareTokenMfaConfiguration' => [ 'shape' => 'SoftwareTokenMfaConfigType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], ], ], 'SetUserPoolMfaConfigResponse' => [ 'type' => 'structure', 'members' => [ 'SmsMfaConfiguration' => [ 'shape' => 'SmsMfaConfigType', ], 'SoftwareTokenMfaConfiguration' => [ 'shape' => 'SoftwareTokenMfaConfigType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], ], ], 'SetUserSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', 'MFAOptions', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'MFAOptions' => [ 'shape' => 'MFAOptionListType', ], ], ], 'SetUserSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'SignUpRequest' => [ 'type' => 'structure', 'required' => [ 'ClientId', 'Username', 'Password', ], 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'SecretHash' => [ 'shape' => 'SecretHashType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'Password' => [ 'shape' => 'PasswordType', ], 'UserAttributes' => [ 'shape' => 'AttributeListType', ], 'ValidationData' => [ 'shape' => 'AttributeListType', ], 'AnalyticsMetadata' => [ 'shape' => 'AnalyticsMetadataType', ], 'UserContextData' => [ 'shape' => 'UserContextDataType', ], ], ], 'SignUpResponse' => [ 'type' => 'structure', 'required' => [ 'UserConfirmed', 'UserSub', ], 'members' => [ 'UserConfirmed' => [ 'shape' => 'BooleanType', ], 'CodeDeliveryDetails' => [ 'shape' => 'CodeDeliveryDetailsType', ], 'UserSub' => [ 'shape' => 'StringType', ], ], ], 'SkippedIPRangeListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringType', ], 'max' => 20, ], 'SmsConfigurationType' => [ 'type' => 'structure', 'required' => [ 'SnsCallerArn', ], 'members' => [ 'SnsCallerArn' => [ 'shape' => 'ArnType', ], 'ExternalId' => [ 'shape' => 'StringType', ], ], ], 'SmsMfaConfigType' => [ 'type' => 'structure', 'members' => [ 'SmsAuthenticationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'SmsConfiguration' => [ 'shape' => 'SmsConfigurationType', ], ], ], 'SmsVerificationMessageType' => [ 'type' => 'string', 'max' => 140, 'min' => 6, 'pattern' => '.*\\{####\\}.*', ], 'SoftwareTokenMFANotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'SoftwareTokenMFAUserCodeType' => [ 'type' => 'string', 'max' => 6, 'min' => 6, 'pattern' => '[0-9]+', ], 'SoftwareTokenMfaConfigType' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'BooleanType', ], ], ], 'SoftwareTokenMfaSettingsType' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'BooleanType', ], 'PreferredMfa' => [ 'shape' => 'BooleanType', ], ], ], 'StartUserImportJobRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'JobId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'JobId' => [ 'shape' => 'UserImportJobIdType', ], ], ], 'StartUserImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'UserImportJob' => [ 'shape' => 'UserImportJobType', ], ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'StopUserImportJobRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'JobId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'JobId' => [ 'shape' => 'UserImportJobIdType', ], ], ], 'StopUserImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'UserImportJob' => [ 'shape' => 'UserImportJobType', ], ], ], 'StringAttributeConstraintsType' => [ 'type' => 'structure', 'members' => [ 'MinLength' => [ 'shape' => 'StringType', ], 'MaxLength' => [ 'shape' => 'StringType', ], ], ], 'StringType' => [ 'type' => 'string', ], 'SupportedIdentityProvidersListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProviderNameType', ], ], 'TagKeysType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ArnType', ], 'Tags' => [ 'shape' => 'UserPoolTagsType', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TokenModelType' => [ 'type' => 'string', 'pattern' => '[A-Za-z0-9-_=.]+', 'sensitive' => true, ], 'TooManyFailedAttemptsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UICustomizationType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'ImageUrl' => [ 'shape' => 'ImageUrlType', ], 'CSS' => [ 'shape' => 'CSSType', ], 'CSSVersion' => [ 'shape' => 'CSSVersionType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'UnexpectedLambdaException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UnsupportedIdentityProviderException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UnsupportedUserStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ArnType', ], 'TagKeys' => [ 'shape' => 'UserPoolTagsListType', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateAuthEventFeedbackRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Username', 'EventId', 'FeedbackToken', 'FeedbackValue', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'EventId' => [ 'shape' => 'EventIdType', ], 'FeedbackToken' => [ 'shape' => 'TokenModelType', ], 'FeedbackValue' => [ 'shape' => 'FeedbackValueType', ], ], ], 'UpdateAuthEventFeedbackResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDeviceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', 'DeviceKey', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'DeviceKey' => [ 'shape' => 'DeviceKeyType', ], 'DeviceRememberedStatus' => [ 'shape' => 'DeviceRememberedStatusType', ], ], ], 'UpdateDeviceStatusResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserPoolId', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupNameType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'RoleArn' => [ 'shape' => 'ArnType', ], 'Precedence' => [ 'shape' => 'PrecedenceType', ], ], ], 'UpdateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'GroupType', ], ], ], 'UpdateIdentityProviderRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ProviderName', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ProviderName' => [ 'shape' => 'ProviderNameType', ], 'ProviderDetails' => [ 'shape' => 'ProviderDetailsType', ], 'AttributeMapping' => [ 'shape' => 'AttributeMappingType', ], 'IdpIdentifiers' => [ 'shape' => 'IdpIdentifiersListType', ], ], ], 'UpdateIdentityProviderResponse' => [ 'type' => 'structure', 'required' => [ 'IdentityProvider', ], 'members' => [ 'IdentityProvider' => [ 'shape' => 'IdentityProviderType', ], ], ], 'UpdateResourceServerRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'Identifier', 'Name', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Identifier' => [ 'shape' => 'ResourceServerIdentifierType', ], 'Name' => [ 'shape' => 'ResourceServerNameType', ], 'Scopes' => [ 'shape' => 'ResourceServerScopeListType', ], ], ], 'UpdateResourceServerResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceServer', ], 'members' => [ 'ResourceServer' => [ 'shape' => 'ResourceServerType', ], ], ], 'UpdateUserAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'UserAttributes', 'AccessToken', ], 'members' => [ 'UserAttributes' => [ 'shape' => 'AttributeListType', ], 'AccessToken' => [ 'shape' => 'TokenModelType', ], ], ], 'UpdateUserAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'CodeDeliveryDetailsList' => [ 'shape' => 'CodeDeliveryDetailsListType', ], ], ], 'UpdateUserPoolClientRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', 'ClientId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'ClientName' => [ 'shape' => 'ClientNameType', ], 'RefreshTokenValidity' => [ 'shape' => 'RefreshTokenValidityType', ], 'ReadAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'WriteAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'ExplicitAuthFlows' => [ 'shape' => 'ExplicitAuthFlowsListType', ], 'SupportedIdentityProviders' => [ 'shape' => 'SupportedIdentityProvidersListType', ], 'CallbackURLs' => [ 'shape' => 'CallbackURLsListType', ], 'LogoutURLs' => [ 'shape' => 'LogoutURLsListType', ], 'DefaultRedirectURI' => [ 'shape' => 'RedirectUrlType', ], 'AllowedOAuthFlows' => [ 'shape' => 'OAuthFlowsType', ], 'AllowedOAuthScopes' => [ 'shape' => 'ScopeListType', ], 'AllowedOAuthFlowsUserPoolClient' => [ 'shape' => 'BooleanType', ], 'AnalyticsConfiguration' => [ 'shape' => 'AnalyticsConfigurationType', ], ], ], 'UpdateUserPoolClientResponse' => [ 'type' => 'structure', 'members' => [ 'UserPoolClient' => [ 'shape' => 'UserPoolClientType', ], ], ], 'UpdateUserPoolDomainRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', 'UserPoolId', 'CustomDomainConfig', ], 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'CustomDomainConfig' => [ 'shape' => 'CustomDomainConfigType', ], ], ], 'UpdateUserPoolDomainResponse' => [ 'type' => 'structure', 'members' => [ 'CloudFrontDomain' => [ 'shape' => 'DomainType', ], ], ], 'UpdateUserPoolRequest' => [ 'type' => 'structure', 'required' => [ 'UserPoolId', ], 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'Policies' => [ 'shape' => 'UserPoolPolicyType', ], 'LambdaConfig' => [ 'shape' => 'LambdaConfigType', ], 'AutoVerifiedAttributes' => [ 'shape' => 'VerifiedAttributesListType', ], 'SmsVerificationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'EmailVerificationMessage' => [ 'shape' => 'EmailVerificationMessageType', ], 'EmailVerificationSubject' => [ 'shape' => 'EmailVerificationSubjectType', ], 'VerificationMessageTemplate' => [ 'shape' => 'VerificationMessageTemplateType', ], 'SmsAuthenticationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], 'DeviceConfiguration' => [ 'shape' => 'DeviceConfigurationType', ], 'EmailConfiguration' => [ 'shape' => 'EmailConfigurationType', ], 'SmsConfiguration' => [ 'shape' => 'SmsConfigurationType', ], 'UserPoolTags' => [ 'shape' => 'UserPoolTagsType', ], 'AdminCreateUserConfig' => [ 'shape' => 'AdminCreateUserConfigType', ], 'UserPoolAddOns' => [ 'shape' => 'UserPoolAddOnsType', ], ], ], 'UpdateUserPoolResponse' => [ 'type' => 'structure', 'members' => [], ], 'UserContextDataType' => [ 'type' => 'structure', 'members' => [ 'EncodedData' => [ 'shape' => 'StringType', ], ], ], 'UserFilterType' => [ 'type' => 'string', 'max' => 256, ], 'UserImportInProgressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserImportJobIdType' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => 'import-[0-9a-zA-Z-]+', ], 'UserImportJobNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w\\s+=,.@-]+', ], 'UserImportJobStatusType' => [ 'type' => 'string', 'enum' => [ 'Created', 'Pending', 'InProgress', 'Stopping', 'Expired', 'Stopped', 'Failed', 'Succeeded', ], ], 'UserImportJobType' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'UserImportJobNameType', ], 'JobId' => [ 'shape' => 'UserImportJobIdType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'PreSignedUrl' => [ 'shape' => 'PreSignedUrlType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'StartDate' => [ 'shape' => 'DateType', ], 'CompletionDate' => [ 'shape' => 'DateType', ], 'Status' => [ 'shape' => 'UserImportJobStatusType', ], 'CloudWatchLogsRoleArn' => [ 'shape' => 'ArnType', ], 'ImportedUsers' => [ 'shape' => 'LongType', ], 'SkippedUsers' => [ 'shape' => 'LongType', ], 'FailedUsers' => [ 'shape' => 'LongType', ], 'CompletionMessage' => [ 'shape' => 'CompletionMessageType', ], ], ], 'UserImportJobsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserImportJobType', ], 'max' => 50, 'min' => 1, ], 'UserLambdaValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserMFASettingListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringType', ], ], 'UserNotConfirmedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserPoolAddOnNotEnabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserPoolAddOnsType' => [ 'type' => 'structure', 'required' => [ 'AdvancedSecurityMode', ], 'members' => [ 'AdvancedSecurityMode' => [ 'shape' => 'AdvancedSecurityModeType', ], ], ], 'UserPoolClientDescription' => [ 'type' => 'structure', 'members' => [ 'ClientId' => [ 'shape' => 'ClientIdType', ], 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientName' => [ 'shape' => 'ClientNameType', ], ], ], 'UserPoolClientListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserPoolClientDescription', ], ], 'UserPoolClientType' => [ 'type' => 'structure', 'members' => [ 'UserPoolId' => [ 'shape' => 'UserPoolIdType', ], 'ClientName' => [ 'shape' => 'ClientNameType', ], 'ClientId' => [ 'shape' => 'ClientIdType', ], 'ClientSecret' => [ 'shape' => 'ClientSecretType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'RefreshTokenValidity' => [ 'shape' => 'RefreshTokenValidityType', ], 'ReadAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'WriteAttributes' => [ 'shape' => 'ClientPermissionListType', ], 'ExplicitAuthFlows' => [ 'shape' => 'ExplicitAuthFlowsListType', ], 'SupportedIdentityProviders' => [ 'shape' => 'SupportedIdentityProvidersListType', ], 'CallbackURLs' => [ 'shape' => 'CallbackURLsListType', ], 'LogoutURLs' => [ 'shape' => 'LogoutURLsListType', ], 'DefaultRedirectURI' => [ 'shape' => 'RedirectUrlType', ], 'AllowedOAuthFlows' => [ 'shape' => 'OAuthFlowsType', ], 'AllowedOAuthScopes' => [ 'shape' => 'ScopeListType', ], 'AllowedOAuthFlowsUserPoolClient' => [ 'shape' => 'BooleanType', 'box' => true, ], 'AnalyticsConfiguration' => [ 'shape' => 'AnalyticsConfigurationType', ], ], ], 'UserPoolDescriptionType' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'UserPoolIdType', ], 'Name' => [ 'shape' => 'UserPoolNameType', ], 'LambdaConfig' => [ 'shape' => 'LambdaConfigType', ], 'Status' => [ 'shape' => 'StatusType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'UserPoolIdType' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+_[0-9a-zA-Z]+', ], 'UserPoolListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserPoolDescriptionType', ], ], 'UserPoolMfaType' => [ 'type' => 'string', 'enum' => [ 'OFF', 'ON', 'OPTIONAL', ], ], 'UserPoolNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w\\s+=,.@-]+', ], 'UserPoolPolicyType' => [ 'type' => 'structure', 'members' => [ 'PasswordPolicy' => [ 'shape' => 'PasswordPolicyType', ], ], ], 'UserPoolTaggingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UserPoolTagsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeysType', ], ], 'UserPoolTagsType' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKeysType', ], 'value' => [ 'shape' => 'TagValueType', ], ], 'UserPoolType' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'UserPoolIdType', ], 'Name' => [ 'shape' => 'UserPoolNameType', ], 'Policies' => [ 'shape' => 'UserPoolPolicyType', ], 'LambdaConfig' => [ 'shape' => 'LambdaConfigType', ], 'Status' => [ 'shape' => 'StatusType', ], 'LastModifiedDate' => [ 'shape' => 'DateType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'SchemaAttributes' => [ 'shape' => 'SchemaAttributesListType', ], 'AutoVerifiedAttributes' => [ 'shape' => 'VerifiedAttributesListType', ], 'AliasAttributes' => [ 'shape' => 'AliasAttributesListType', ], 'UsernameAttributes' => [ 'shape' => 'UsernameAttributesListType', ], 'SmsVerificationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'EmailVerificationMessage' => [ 'shape' => 'EmailVerificationMessageType', ], 'EmailVerificationSubject' => [ 'shape' => 'EmailVerificationSubjectType', ], 'VerificationMessageTemplate' => [ 'shape' => 'VerificationMessageTemplateType', ], 'SmsAuthenticationMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'MfaConfiguration' => [ 'shape' => 'UserPoolMfaType', ], 'DeviceConfiguration' => [ 'shape' => 'DeviceConfigurationType', ], 'EstimatedNumberOfUsers' => [ 'shape' => 'IntegerType', ], 'EmailConfiguration' => [ 'shape' => 'EmailConfigurationType', ], 'SmsConfiguration' => [ 'shape' => 'SmsConfigurationType', ], 'UserPoolTags' => [ 'shape' => 'UserPoolTagsType', ], 'SmsConfigurationFailure' => [ 'shape' => 'StringType', ], 'EmailConfigurationFailure' => [ 'shape' => 'StringType', ], 'Domain' => [ 'shape' => 'DomainType', ], 'CustomDomain' => [ 'shape' => 'DomainType', ], 'AdminCreateUserConfig' => [ 'shape' => 'AdminCreateUserConfigType', ], 'UserPoolAddOns' => [ 'shape' => 'UserPoolAddOnsType', ], 'Arn' => [ 'shape' => 'ArnType', ], ], ], 'UserStatusType' => [ 'type' => 'string', 'enum' => [ 'UNCONFIRMED', 'CONFIRMED', 'ARCHIVED', 'COMPROMISED', 'UNKNOWN', 'RESET_REQUIRED', 'FORCE_CHANGE_PASSWORD', ], ], 'UserType' => [ 'type' => 'structure', 'members' => [ 'Username' => [ 'shape' => 'UsernameType', ], 'Attributes' => [ 'shape' => 'AttributeListType', ], 'UserCreateDate' => [ 'shape' => 'DateType', ], 'UserLastModifiedDate' => [ 'shape' => 'DateType', ], 'Enabled' => [ 'shape' => 'BooleanType', ], 'UserStatus' => [ 'shape' => 'UserStatusType', ], 'MFAOptions' => [ 'shape' => 'MFAOptionListType', ], ], ], 'UsernameAttributeType' => [ 'type' => 'string', 'enum' => [ 'phone_number', 'email', ], ], 'UsernameAttributesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsernameAttributeType', ], ], 'UsernameExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'MessageType', ], ], 'exception' => true, ], 'UsernameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', 'sensitive' => true, ], 'UsersListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserType', ], ], 'VerificationMessageTemplateType' => [ 'type' => 'structure', 'members' => [ 'SmsMessage' => [ 'shape' => 'SmsVerificationMessageType', ], 'EmailMessage' => [ 'shape' => 'EmailVerificationMessageType', ], 'EmailSubject' => [ 'shape' => 'EmailVerificationSubjectType', ], 'EmailMessageByLink' => [ 'shape' => 'EmailVerificationMessageByLinkType', ], 'EmailSubjectByLink' => [ 'shape' => 'EmailVerificationSubjectByLinkType', ], 'DefaultEmailOption' => [ 'shape' => 'DefaultEmailOptionType', ], ], ], 'VerifiedAttributeType' => [ 'type' => 'string', 'enum' => [ 'phone_number', 'email', ], ], 'VerifiedAttributesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'VerifiedAttributeType', ], ], 'VerifySoftwareTokenRequest' => [ 'type' => 'structure', 'required' => [ 'UserCode', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'Session' => [ 'shape' => 'SessionType', ], 'UserCode' => [ 'shape' => 'SoftwareTokenMFAUserCodeType', ], 'FriendlyDeviceName' => [ 'shape' => 'StringType', ], ], ], 'VerifySoftwareTokenResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'VerifySoftwareTokenResponseType', ], 'Session' => [ 'shape' => 'SessionType', ], ], ], 'VerifySoftwareTokenResponseType' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'ERROR', ], ], 'VerifyUserAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'AccessToken', 'AttributeName', 'Code', ], 'members' => [ 'AccessToken' => [ 'shape' => 'TokenModelType', ], 'AttributeName' => [ 'shape' => 'AttributeNameType', ], 'Code' => [ 'shape' => 'ConfirmationCodeType', ], ], ], 'VerifyUserAttributeResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/cognito-idp/2016-04-18/paginators-1.json.php b/lib/aws/Aws/data/cognito-idp/2016-04-18/paginators-1.json.php new file mode 100644 index 0000000..73b4ad0 --- /dev/null +++ b/lib/aws/Aws/data/cognito-idp/2016-04-18/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-idp/2016-04-18/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/cognito-idp/2016-04-18/smoke.json.php b/lib/aws/Aws/data/cognito-idp/2016-04-18/smoke.json.php new file mode 100644 index 0000000..8155e2a --- /dev/null +++ b/lib/aws/Aws/data/cognito-idp/2016-04-18/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-idp/2016-04-18/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListUserPools', 'input' => [ 'MaxResults' => 10, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeUserPool', 'input' => [ 'UserPoolId' => 'us-east-1:aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/cognito-sync/2014-06-30/api-2.json.php b/lib/aws/Aws/data/cognito-sync/2014-06-30/api-2.json.php new file mode 100644 index 0000000..269df8d --- /dev/null +++ b/lib/aws/Aws/data/cognito-sync/2014-06-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cognito-sync/2014-06-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-06-30', 'endpointPrefix' => 'cognito-sync', 'jsonVersion' => '1.1', 'serviceFullName' => 'Amazon Cognito Sync', 'signatureVersion' => 'v4', 'protocol' => 'rest-json', 'uid' => 'cognito-sync-2014-06-30', ], 'operations' => [ 'BulkPublish' => [ 'name' => 'BulkPublish', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/bulkpublish', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BulkPublishRequest', ], 'output' => [ 'shape' => 'BulkPublishResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'DuplicateRequestException', 'error' => [ 'code' => 'DuplicateRequest', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'AlreadyStreamedException', 'error' => [ 'code' => 'AlreadyStreamed', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DeleteDataset' => [ 'name' => 'DeleteDataset', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteDatasetRequest', ], 'output' => [ 'shape' => 'DeleteDatasetResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceConflictException', 'error' => [ 'code' => 'ResourceConflict', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeDataset' => [ 'name' => 'DescribeDataset', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeDatasetRequest', ], 'output' => [ 'shape' => 'DescribeDatasetResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeIdentityPoolUsage' => [ 'name' => 'DescribeIdentityPoolUsage', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeIdentityPoolUsageRequest', ], 'output' => [ 'shape' => 'DescribeIdentityPoolUsageResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'DescribeIdentityUsage' => [ 'name' => 'DescribeIdentityUsage', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeIdentityUsageRequest', ], 'output' => [ 'shape' => 'DescribeIdentityUsageResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'GetBulkPublishDetails' => [ 'name' => 'GetBulkPublishDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/getBulkPublishDetails', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBulkPublishDetailsRequest', ], 'output' => [ 'shape' => 'GetBulkPublishDetailsResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'GetCognitoEvents' => [ 'name' => 'GetCognitoEvents', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/events', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCognitoEventsRequest', ], 'output' => [ 'shape' => 'GetCognitoEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'GetIdentityPoolConfiguration' => [ 'name' => 'GetIdentityPoolConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIdentityPoolConfigurationRequest', ], 'output' => [ 'shape' => 'GetIdentityPoolConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'ListDatasets' => [ 'name' => 'ListDatasets', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDatasetsRequest', ], 'output' => [ 'shape' => 'ListDatasetsResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'ListIdentityPoolUsage' => [ 'name' => 'ListIdentityPoolUsage', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIdentityPoolUsageRequest', ], 'output' => [ 'shape' => 'ListIdentityPoolUsageResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'ListRecords' => [ 'name' => 'ListRecords', 'http' => [ 'method' => 'GET', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListRecordsRequest', ], 'output' => [ 'shape' => 'ListRecordsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'RegisterDevice' => [ 'name' => 'RegisterDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/identity/{IdentityId}/device', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RegisterDeviceRequest', ], 'output' => [ 'shape' => 'RegisterDeviceResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidConfigurationException', 'error' => [ 'code' => 'InvalidConfiguration', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'SetCognitoEvents' => [ 'name' => 'SetCognitoEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/events', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SetCognitoEventsRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'SetIdentityPoolConfiguration' => [ 'name' => 'SetIdentityPoolConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SetIdentityPoolConfigurationRequest', ], 'output' => [ 'shape' => 'SetIdentityPoolConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ConcurrentModificationException', 'error' => [ 'code' => 'ConcurrentModification', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], ], ], 'SubscribeToDataset' => [ 'name' => 'SubscribeToDataset', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SubscribeToDatasetRequest', ], 'output' => [ 'shape' => 'SubscribeToDatasetResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidConfigurationException', 'error' => [ 'code' => 'InvalidConfiguration', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'UnsubscribeFromDataset' => [ 'name' => 'UnsubscribeFromDataset', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UnsubscribeFromDatasetRequest', ], 'output' => [ 'shape' => 'UnsubscribeFromDatasetResponse', ], 'errors' => [ [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidConfigurationException', 'error' => [ 'code' => 'InvalidConfiguration', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], ], ], 'UpdateRecords' => [ 'name' => 'UpdateRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateRecordsRequest', ], 'output' => [ 'shape' => 'UpdateRecordsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'NotAuthorizedException', 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'ResourceConflictException', 'error' => [ 'code' => 'ResourceConflict', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InvalidLambdaFunctionOutputException', 'error' => [ 'code' => 'InvalidLambdaFunctionOutput', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'LambdaThrottledException', 'error' => [ 'code' => 'LambdaThrottled', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'TooManyRequestsException', 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], [ 'shape' => 'InternalErrorException', 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], ], 'shapes' => [ 'AlreadyStreamedException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'AlreadyStreamed', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ApplicationArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:sns:[-0-9a-z]+:\\d+:app/[A-Z_]+/[a-zA-Z0-9_.-]+', ], 'ApplicationArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationArn', ], ], 'AssumeRoleArn' => [ 'type' => 'string', 'min' => 20, 'max' => 2048, 'pattern' => 'arn:aws:iam::\\d+:role/.*', ], 'Boolean' => [ 'type' => 'boolean', ], 'BulkPublishRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], ], ], 'BulkPublishResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], ], ], 'BulkPublishStatus' => [ 'type' => 'string', 'enum' => [ 'NOT_STARTED', 'IN_PROGRESS', 'FAILED', 'SUCCEEDED', ], ], 'ClientContext' => [ 'type' => 'string', ], 'CognitoEventType' => [ 'type' => 'string', ], 'CognitoStreams' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'RoleArn' => [ 'shape' => 'AssumeRoleArn', ], 'StreamingStatus' => [ 'shape' => 'StreamingStatus', ], ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'code' => 'ConcurrentModification', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Dataset' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', ], 'CreationDate' => [ 'shape' => 'Date', ], 'LastModifiedDate' => [ 'shape' => 'Date', ], 'LastModifiedBy' => [ 'shape' => 'String', ], 'DataStorage' => [ 'shape' => 'Long', ], 'NumRecords' => [ 'shape' => 'Long', ], ], ], 'DatasetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Dataset', ], ], 'DatasetName' => [ 'type' => 'string', 'min' => 1, 'max' => 128, 'pattern' => '[a-zA-Z0-9_.:-]+', ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], ], ], 'DeleteDatasetResponse' => [ 'type' => 'structure', 'members' => [ 'Dataset' => [ 'shape' => 'Dataset', ], ], ], 'DescribeDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], ], ], 'DescribeDatasetResponse' => [ 'type' => 'structure', 'members' => [ 'Dataset' => [ 'shape' => 'Dataset', ], ], ], 'DescribeIdentityPoolUsageRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], ], ], 'DescribeIdentityPoolUsageResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolUsage' => [ 'shape' => 'IdentityPoolUsage', ], ], ], 'DescribeIdentityUsageRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], ], ], 'DescribeIdentityUsageResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityUsage' => [ 'shape' => 'IdentityUsage', ], ], ], 'DeviceId' => [ 'type' => 'string', 'min' => 1, 'max' => 256, ], 'DuplicateRequestException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'DuplicateRequest', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Events' => [ 'type' => 'map', 'key' => [ 'shape' => 'CognitoEventType', ], 'value' => [ 'shape' => 'LambdaFunctionArn', ], 'max' => 1, ], 'ExceptionMessage' => [ 'type' => 'string', ], 'GetBulkPublishDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], ], ], 'GetBulkPublishDetailsResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'BulkPublishStartTime' => [ 'shape' => 'Date', ], 'BulkPublishCompleteTime' => [ 'shape' => 'Date', ], 'BulkPublishStatus' => [ 'shape' => 'BulkPublishStatus', ], 'FailureMessage' => [ 'shape' => 'String', ], ], ], 'GetCognitoEventsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], ], ], 'GetCognitoEventsResponse' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => 'Events', ], ], ], 'GetIdentityPoolConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], ], ], 'GetIdentityPoolConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'PushSync' => [ 'shape' => 'PushSync', ], 'CognitoStreams' => [ 'shape' => 'CognitoStreams', ], ], ], 'IdentityId' => [ 'type' => 'string', 'min' => 1, 'max' => 55, 'pattern' => '[\\w-]+:[0-9a-f-]+', ], 'IdentityPoolId' => [ 'type' => 'string', 'min' => 1, 'max' => 55, 'pattern' => '[\\w-]+:[0-9a-f-]+', ], 'IdentityPoolUsage' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'SyncSessionsCount' => [ 'shape' => 'Long', ], 'DataStorage' => [ 'shape' => 'Long', ], 'LastModifiedDate' => [ 'shape' => 'Date', ], ], ], 'IdentityPoolUsageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityPoolUsage', ], ], 'IdentityUsage' => [ 'type' => 'structure', 'members' => [ 'IdentityId' => [ 'shape' => 'IdentityId', ], 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'LastModifiedDate' => [ 'shape' => 'Date', ], 'DatasetCount' => [ 'shape' => 'Integer', ], 'DataStorage' => [ 'shape' => 'Long', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'IntegerString' => [ 'type' => 'integer', ], 'InternalErrorException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidConfigurationException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'InvalidConfiguration', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidLambdaFunctionOutputException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'InvalidLambdaFunctionOutput', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LambdaFunctionArn' => [ 'type' => 'string', ], 'LambdaThrottledException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'LambdaThrottled', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ListDatasetsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityId', 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'IntegerString', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListDatasetsResponse' => [ 'type' => 'structure', 'members' => [ 'Datasets' => [ 'shape' => 'DatasetList', ], 'Count' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListIdentityPoolUsageRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'IntegerString', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListIdentityPoolUsageResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolUsages' => [ 'shape' => 'IdentityPoolUsageList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Count' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListRecordsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], 'LastSyncCount' => [ 'shape' => 'Long', 'location' => 'querystring', 'locationName' => 'lastSyncCount', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'IntegerString', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'SyncSessionToken' => [ 'shape' => 'SyncSessionToken', 'location' => 'querystring', 'locationName' => 'syncSessionToken', ], ], ], 'ListRecordsResponse' => [ 'type' => 'structure', 'members' => [ 'Records' => [ 'shape' => 'RecordList', ], 'NextToken' => [ 'shape' => 'String', ], 'Count' => [ 'shape' => 'Integer', ], 'DatasetSyncCount' => [ 'shape' => 'Long', ], 'LastModifiedBy' => [ 'shape' => 'String', ], 'MergedDatasetNames' => [ 'shape' => 'MergedDatasetNameList', ], 'DatasetExists' => [ 'shape' => 'Boolean', ], 'DatasetDeletedAfterRequestedSyncCount' => [ 'shape' => 'Boolean', ], 'SyncSessionToken' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', ], 'MergedDatasetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'NotAuthorizedException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'NotAuthorizedError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'Operation' => [ 'type' => 'string', 'enum' => [ 'replace', 'remove', ], ], 'Platform' => [ 'type' => 'string', 'enum' => [ 'APNS', 'APNS_SANDBOX', 'GCM', 'ADM', ], ], 'PushSync' => [ 'type' => 'structure', 'members' => [ 'ApplicationArns' => [ 'shape' => 'ApplicationArnList', ], 'RoleArn' => [ 'shape' => 'AssumeRoleArn', ], ], ], 'PushToken' => [ 'type' => 'string', ], 'Record' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'RecordKey', ], 'Value' => [ 'shape' => 'RecordValue', ], 'SyncCount' => [ 'shape' => 'Long', ], 'LastModifiedDate' => [ 'shape' => 'Date', ], 'LastModifiedBy' => [ 'shape' => 'String', ], 'DeviceLastModifiedDate' => [ 'shape' => 'Date', ], ], ], 'RecordKey' => [ 'type' => 'string', 'min' => 1, 'max' => 1024, ], 'RecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], ], 'RecordPatch' => [ 'type' => 'structure', 'required' => [ 'Op', 'Key', 'SyncCount', ], 'members' => [ 'Op' => [ 'shape' => 'Operation', ], 'Key' => [ 'shape' => 'RecordKey', ], 'Value' => [ 'shape' => 'RecordValue', ], 'SyncCount' => [ 'shape' => 'Long', ], 'DeviceLastModifiedDate' => [ 'shape' => 'Date', ], ], ], 'RecordPatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordPatch', ], ], 'RecordValue' => [ 'type' => 'string', 'max' => 1048575, ], 'RegisterDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'Platform', 'Token', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'Platform' => [ 'shape' => 'Platform', ], 'Token' => [ 'shape' => 'PushToken', ], ], ], 'RegisterDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => 'DeviceId', ], ], ], 'ResourceConflictException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'ResourceConflict', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SetCognitoEventsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'Events', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'Events' => [ 'shape' => 'Events', ], ], ], 'SetIdentityPoolConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'PushSync' => [ 'shape' => 'PushSync', ], 'CognitoStreams' => [ 'shape' => 'CognitoStreams', ], ], ], 'SetIdentityPoolConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'PushSync' => [ 'shape' => 'PushSync', ], 'CognitoStreams' => [ 'shape' => 'CognitoStreams', ], ], ], 'StreamName' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], 'StreamingStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'String' => [ 'type' => 'string', ], 'SubscribeToDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', 'DeviceId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], 'DeviceId' => [ 'shape' => 'DeviceId', 'location' => 'uri', 'locationName' => 'DeviceId', ], ], ], 'SubscribeToDatasetResponse' => [ 'type' => 'structure', 'members' => [], ], 'SyncSessionToken' => [ 'type' => 'string', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'code' => 'TooManyRequests', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], 'UnsubscribeFromDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', 'DeviceId', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], 'DeviceId' => [ 'shape' => 'DeviceId', 'location' => 'uri', 'locationName' => 'DeviceId', ], ], ], 'UnsubscribeFromDatasetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateRecordsRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityPoolId', 'IdentityId', 'DatasetName', 'SyncSessionToken', ], 'members' => [ 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', 'location' => 'uri', 'locationName' => 'IdentityPoolId', ], 'IdentityId' => [ 'shape' => 'IdentityId', 'location' => 'uri', 'locationName' => 'IdentityId', ], 'DatasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'DatasetName', ], 'DeviceId' => [ 'shape' => 'DeviceId', ], 'RecordPatches' => [ 'shape' => 'RecordPatchList', ], 'SyncSessionToken' => [ 'shape' => 'SyncSessionToken', ], 'ClientContext' => [ 'shape' => 'ClientContext', 'location' => 'header', 'locationName' => 'x-amz-Client-Context', ], ], ], 'UpdateRecordsResponse' => [ 'type' => 'structure', 'members' => [ 'Records' => [ 'shape' => 'RecordList', ], ], ], ],]; diff --git a/lib/aws/Aws/data/comprehend/2017-11-27/api-2.json.php b/lib/aws/Aws/data/comprehend/2017-11-27/api-2.json.php new file mode 100644 index 0000000..88823a9 --- /dev/null +++ b/lib/aws/Aws/data/comprehend/2017-11-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/comprehend/2017-11-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-11-27', 'endpointPrefix' => 'comprehend', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Comprehend', 'serviceId' => 'Comprehend', 'signatureVersion' => 'v4', 'signingName' => 'comprehend', 'targetPrefix' => 'Comprehend_20171127', 'uid' => 'comprehend-2017-11-27', ], 'operations' => [ 'BatchDetectDominantLanguage' => [ 'name' => 'BatchDetectDominantLanguage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDetectDominantLanguageRequest', ], 'output' => [ 'shape' => 'BatchDetectDominantLanguageResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'BatchSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'BatchDetectEntities' => [ 'name' => 'BatchDetectEntities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDetectEntitiesRequest', ], 'output' => [ 'shape' => 'BatchDetectEntitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'BatchSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'BatchDetectKeyPhrases' => [ 'name' => 'BatchDetectKeyPhrases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDetectKeyPhrasesRequest', ], 'output' => [ 'shape' => 'BatchDetectKeyPhrasesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'BatchSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'BatchDetectSentiment' => [ 'name' => 'BatchDetectSentiment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDetectSentimentRequest', ], 'output' => [ 'shape' => 'BatchDetectSentimentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'BatchSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'BatchDetectSyntax' => [ 'name' => 'BatchDetectSyntax', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDetectSyntaxRequest', ], 'output' => [ 'shape' => 'BatchDetectSyntaxResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'BatchSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'CreateDocumentClassifier' => [ 'name' => 'CreateDocumentClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDocumentClassifierRequest', ], 'output' => [ 'shape' => 'CreateDocumentClassifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'CreateEntityRecognizer' => [ 'name' => 'CreateEntityRecognizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEntityRecognizerRequest', ], 'output' => [ 'shape' => 'CreateEntityRecognizerResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DeleteDocumentClassifier' => [ 'name' => 'DeleteDocumentClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDocumentClassifierRequest', ], 'output' => [ 'shape' => 'DeleteDocumentClassifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DeleteEntityRecognizer' => [ 'name' => 'DeleteEntityRecognizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEntityRecognizerRequest', ], 'output' => [ 'shape' => 'DeleteEntityRecognizerResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeDocumentClassificationJob' => [ 'name' => 'DescribeDocumentClassificationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDocumentClassificationJobRequest', ], 'output' => [ 'shape' => 'DescribeDocumentClassificationJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeDocumentClassifier' => [ 'name' => 'DescribeDocumentClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDocumentClassifierRequest', ], 'output' => [ 'shape' => 'DescribeDocumentClassifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeDominantLanguageDetectionJob' => [ 'name' => 'DescribeDominantLanguageDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDominantLanguageDetectionJobRequest', ], 'output' => [ 'shape' => 'DescribeDominantLanguageDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeEntitiesDetectionJob' => [ 'name' => 'DescribeEntitiesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEntitiesDetectionJobRequest', ], 'output' => [ 'shape' => 'DescribeEntitiesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeEntityRecognizer' => [ 'name' => 'DescribeEntityRecognizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEntityRecognizerRequest', ], 'output' => [ 'shape' => 'DescribeEntityRecognizerResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeKeyPhrasesDetectionJob' => [ 'name' => 'DescribeKeyPhrasesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyPhrasesDetectionJobRequest', ], 'output' => [ 'shape' => 'DescribeKeyPhrasesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeSentimentDetectionJob' => [ 'name' => 'DescribeSentimentDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSentimentDetectionJobRequest', ], 'output' => [ 'shape' => 'DescribeSentimentDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeTopicsDetectionJob' => [ 'name' => 'DescribeTopicsDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTopicsDetectionJobRequest', ], 'output' => [ 'shape' => 'DescribeTopicsDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DetectDominantLanguage' => [ 'name' => 'DetectDominantLanguage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectDominantLanguageRequest', ], 'output' => [ 'shape' => 'DetectDominantLanguageResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DetectEntities' => [ 'name' => 'DetectEntities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectEntitiesRequest', ], 'output' => [ 'shape' => 'DetectEntitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DetectKeyPhrases' => [ 'name' => 'DetectKeyPhrases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectKeyPhrasesRequest', ], 'output' => [ 'shape' => 'DetectKeyPhrasesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DetectSentiment' => [ 'name' => 'DetectSentiment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectSentimentRequest', ], 'output' => [ 'shape' => 'DetectSentimentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DetectSyntax' => [ 'name' => 'DetectSyntax', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectSyntaxRequest', ], 'output' => [ 'shape' => 'DetectSyntaxResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListDocumentClassificationJobs' => [ 'name' => 'ListDocumentClassificationJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDocumentClassificationJobsRequest', ], 'output' => [ 'shape' => 'ListDocumentClassificationJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListDocumentClassifiers' => [ 'name' => 'ListDocumentClassifiers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDocumentClassifiersRequest', ], 'output' => [ 'shape' => 'ListDocumentClassifiersResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListDominantLanguageDetectionJobs' => [ 'name' => 'ListDominantLanguageDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDominantLanguageDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListDominantLanguageDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListEntitiesDetectionJobs' => [ 'name' => 'ListEntitiesDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEntitiesDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListEntitiesDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListEntityRecognizers' => [ 'name' => 'ListEntityRecognizers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEntityRecognizersRequest', ], 'output' => [ 'shape' => 'ListEntityRecognizersResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListKeyPhrasesDetectionJobs' => [ 'name' => 'ListKeyPhrasesDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListKeyPhrasesDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListKeyPhrasesDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListSentimentDetectionJobs' => [ 'name' => 'ListSentimentDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSentimentDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListSentimentDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListTopicsDetectionJobs' => [ 'name' => 'ListTopicsDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTopicsDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListTopicsDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartDocumentClassificationJob' => [ 'name' => 'StartDocumentClassificationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDocumentClassificationJobRequest', ], 'output' => [ 'shape' => 'StartDocumentClassificationJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartDominantLanguageDetectionJob' => [ 'name' => 'StartDominantLanguageDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDominantLanguageDetectionJobRequest', ], 'output' => [ 'shape' => 'StartDominantLanguageDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartEntitiesDetectionJob' => [ 'name' => 'StartEntitiesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartEntitiesDetectionJobRequest', ], 'output' => [ 'shape' => 'StartEntitiesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartKeyPhrasesDetectionJob' => [ 'name' => 'StartKeyPhrasesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartKeyPhrasesDetectionJobRequest', ], 'output' => [ 'shape' => 'StartKeyPhrasesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartSentimentDetectionJob' => [ 'name' => 'StartSentimentDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSentimentDetectionJobRequest', ], 'output' => [ 'shape' => 'StartSentimentDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartTopicsDetectionJob' => [ 'name' => 'StartTopicsDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTopicsDetectionJobRequest', ], 'output' => [ 'shape' => 'StartTopicsDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'KmsKeyValidationException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopDominantLanguageDetectionJob' => [ 'name' => 'StopDominantLanguageDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDominantLanguageDetectionJobRequest', ], 'output' => [ 'shape' => 'StopDominantLanguageDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopEntitiesDetectionJob' => [ 'name' => 'StopEntitiesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopEntitiesDetectionJobRequest', ], 'output' => [ 'shape' => 'StopEntitiesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopKeyPhrasesDetectionJob' => [ 'name' => 'StopKeyPhrasesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopKeyPhrasesDetectionJobRequest', ], 'output' => [ 'shape' => 'StopKeyPhrasesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopSentimentDetectionJob' => [ 'name' => 'StopSentimentDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopSentimentDetectionJobRequest', ], 'output' => [ 'shape' => 'StopSentimentDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'JobNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopTrainingDocumentClassifier' => [ 'name' => 'StopTrainingDocumentClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTrainingDocumentClassifierRequest', ], 'output' => [ 'shape' => 'StopTrainingDocumentClassifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StopTrainingEntityRecognizer' => [ 'name' => 'StopTrainingEntityRecognizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTrainingEntityRecognizerRequest', ], 'output' => [ 'shape' => 'StopTrainingEntityRecognizerResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'TooManyTagKeysException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], ], ], ], 'shapes' => [ 'AnyLengthString' => [ 'type' => 'string', ], 'BatchDetectDominantLanguageItemResult' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'Languages' => [ 'shape' => 'ListOfDominantLanguages', ], ], ], 'BatchDetectDominantLanguageRequest' => [ 'type' => 'structure', 'required' => [ 'TextList', ], 'members' => [ 'TextList' => [ 'shape' => 'StringList', ], ], ], 'BatchDetectDominantLanguageResponse' => [ 'type' => 'structure', 'required' => [ 'ResultList', 'ErrorList', ], 'members' => [ 'ResultList' => [ 'shape' => 'ListOfDetectDominantLanguageResult', ], 'ErrorList' => [ 'shape' => 'BatchItemErrorList', ], ], ], 'BatchDetectEntitiesItemResult' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'Entities' => [ 'shape' => 'ListOfEntities', ], ], ], 'BatchDetectEntitiesRequest' => [ 'type' => 'structure', 'required' => [ 'TextList', 'LanguageCode', ], 'members' => [ 'TextList' => [ 'shape' => 'StringList', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'BatchDetectEntitiesResponse' => [ 'type' => 'structure', 'required' => [ 'ResultList', 'ErrorList', ], 'members' => [ 'ResultList' => [ 'shape' => 'ListOfDetectEntitiesResult', ], 'ErrorList' => [ 'shape' => 'BatchItemErrorList', ], ], ], 'BatchDetectKeyPhrasesItemResult' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'KeyPhrases' => [ 'shape' => 'ListOfKeyPhrases', ], ], ], 'BatchDetectKeyPhrasesRequest' => [ 'type' => 'structure', 'required' => [ 'TextList', 'LanguageCode', ], 'members' => [ 'TextList' => [ 'shape' => 'StringList', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'BatchDetectKeyPhrasesResponse' => [ 'type' => 'structure', 'required' => [ 'ResultList', 'ErrorList', ], 'members' => [ 'ResultList' => [ 'shape' => 'ListOfDetectKeyPhrasesResult', ], 'ErrorList' => [ 'shape' => 'BatchItemErrorList', ], ], ], 'BatchDetectSentimentItemResult' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'Sentiment' => [ 'shape' => 'SentimentType', ], 'SentimentScore' => [ 'shape' => 'SentimentScore', ], ], ], 'BatchDetectSentimentRequest' => [ 'type' => 'structure', 'required' => [ 'TextList', 'LanguageCode', ], 'members' => [ 'TextList' => [ 'shape' => 'StringList', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'BatchDetectSentimentResponse' => [ 'type' => 'structure', 'required' => [ 'ResultList', 'ErrorList', ], 'members' => [ 'ResultList' => [ 'shape' => 'ListOfDetectSentimentResult', ], 'ErrorList' => [ 'shape' => 'BatchItemErrorList', ], ], ], 'BatchDetectSyntaxItemResult' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'SyntaxTokens' => [ 'shape' => 'ListOfSyntaxTokens', ], ], ], 'BatchDetectSyntaxRequest' => [ 'type' => 'structure', 'required' => [ 'TextList', 'LanguageCode', ], 'members' => [ 'TextList' => [ 'shape' => 'StringList', ], 'LanguageCode' => [ 'shape' => 'SyntaxLanguageCode', ], ], ], 'BatchDetectSyntaxResponse' => [ 'type' => 'structure', 'required' => [ 'ResultList', 'ErrorList', ], 'members' => [ 'ResultList' => [ 'shape' => 'ListOfDetectSyntaxResult', ], 'ErrorList' => [ 'shape' => 'BatchItemErrorList', ], ], ], 'BatchItemError' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'Integer', ], 'ErrorCode' => [ 'shape' => 'String', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'BatchItemErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchItemError', ], ], 'BatchSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ClassifierEvaluationMetrics' => [ 'type' => 'structure', 'members' => [ 'Accuracy' => [ 'shape' => 'Double', ], 'Precision' => [ 'shape' => 'Double', ], 'Recall' => [ 'shape' => 'Double', ], 'F1Score' => [ 'shape' => 'Double', ], ], ], 'ClassifierMetadata' => [ 'type' => 'structure', 'members' => [ 'NumberOfLabels' => [ 'shape' => 'Integer', ], 'NumberOfTrainedDocuments' => [ 'shape' => 'Integer', ], 'NumberOfTestDocuments' => [ 'shape' => 'Integer', ], 'EvaluationMetrics' => [ 'shape' => 'ClassifierEvaluationMetrics', ], ], ], 'ClientRequestTokenString' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-]+$', ], 'ComprehendArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-]{1,64}/[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'ComprehendArnName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'CreateDocumentClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierName', 'DataAccessRoleArn', 'InputDataConfig', 'LanguageCode', ], 'members' => [ 'DocumentClassifierName' => [ 'shape' => 'ComprehendArnName', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'Tags' => [ 'shape' => 'TagList', ], 'InputDataConfig' => [ 'shape' => 'DocumentClassifierInputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'DocumentClassifierOutputDataConfig', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'CreateDocumentClassifierResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], ], ], 'CreateEntityRecognizerRequest' => [ 'type' => 'structure', 'required' => [ 'RecognizerName', 'DataAccessRoleArn', 'InputDataConfig', 'LanguageCode', ], 'members' => [ 'RecognizerName' => [ 'shape' => 'ComprehendArnName', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'Tags' => [ 'shape' => 'TagList', ], 'InputDataConfig' => [ 'shape' => 'EntityRecognizerInputDataConfig', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'CreateEntityRecognizerResponse' => [ 'type' => 'structure', 'members' => [ 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], ], ], 'DeleteDocumentClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierArn', ], 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], ], ], 'DeleteDocumentClassifierResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteEntityRecognizerRequest' => [ 'type' => 'structure', 'required' => [ 'EntityRecognizerArn', ], 'members' => [ 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], ], ], 'DeleteEntityRecognizerResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeDocumentClassificationJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeDocumentClassificationJobResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassificationJobProperties' => [ 'shape' => 'DocumentClassificationJobProperties', ], ], ], 'DescribeDocumentClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierArn', ], 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], ], ], 'DescribeDocumentClassifierResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassifierProperties' => [ 'shape' => 'DocumentClassifierProperties', ], ], ], 'DescribeDominantLanguageDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeDominantLanguageDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'DominantLanguageDetectionJobProperties' => [ 'shape' => 'DominantLanguageDetectionJobProperties', ], ], ], 'DescribeEntitiesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeEntitiesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'EntitiesDetectionJobProperties' => [ 'shape' => 'EntitiesDetectionJobProperties', ], ], ], 'DescribeEntityRecognizerRequest' => [ 'type' => 'structure', 'required' => [ 'EntityRecognizerArn', ], 'members' => [ 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], ], ], 'DescribeEntityRecognizerResponse' => [ 'type' => 'structure', 'members' => [ 'EntityRecognizerProperties' => [ 'shape' => 'EntityRecognizerProperties', ], ], ], 'DescribeKeyPhrasesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeKeyPhrasesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'KeyPhrasesDetectionJobProperties' => [ 'shape' => 'KeyPhrasesDetectionJobProperties', ], ], ], 'DescribeSentimentDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeSentimentDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'SentimentDetectionJobProperties' => [ 'shape' => 'SentimentDetectionJobProperties', ], ], ], 'DescribeTopicsDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeTopicsDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'TopicsDetectionJobProperties' => [ 'shape' => 'TopicsDetectionJobProperties', ], ], ], 'DetectDominantLanguageRequest' => [ 'type' => 'structure', 'required' => [ 'Text', ], 'members' => [ 'Text' => [ 'shape' => 'String', ], ], ], 'DetectDominantLanguageResponse' => [ 'type' => 'structure', 'members' => [ 'Languages' => [ 'shape' => 'ListOfDominantLanguages', ], ], ], 'DetectEntitiesRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'LanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'String', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'DetectEntitiesResponse' => [ 'type' => 'structure', 'members' => [ 'Entities' => [ 'shape' => 'ListOfEntities', ], ], ], 'DetectKeyPhrasesRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'LanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'String', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'DetectKeyPhrasesResponse' => [ 'type' => 'structure', 'members' => [ 'KeyPhrases' => [ 'shape' => 'ListOfKeyPhrases', ], ], ], 'DetectSentimentRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'LanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'String', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'DetectSentimentResponse' => [ 'type' => 'structure', 'members' => [ 'Sentiment' => [ 'shape' => 'SentimentType', ], 'SentimentScore' => [ 'shape' => 'SentimentScore', ], ], ], 'DetectSyntaxRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'LanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'String', ], 'LanguageCode' => [ 'shape' => 'SyntaxLanguageCode', ], ], ], 'DetectSyntaxResponse' => [ 'type' => 'structure', 'members' => [ 'SyntaxTokens' => [ 'shape' => 'ListOfSyntaxTokens', ], ], ], 'DocumentClassificationJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'DocumentClassificationJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'DocumentClassificationJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentClassificationJobProperties', ], ], 'DocumentClassifierArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'DocumentClassifierFilter' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ModelStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'DocumentClassifierInputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'DocumentClassifierOutputDataConfig' => [ 'type' => 'structure', 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'DocumentClassifierProperties' => [ 'type' => 'structure', 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Status' => [ 'shape' => 'ModelStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'TrainingStartTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'DocumentClassifierInputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'DocumentClassifierOutputDataConfig', ], 'ClassifierMetadata' => [ 'shape' => 'ClassifierMetadata', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'DocumentClassifierPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentClassifierProperties', ], ], 'DominantLanguage' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => 'String', ], 'Score' => [ 'shape' => 'Float', ], ], ], 'DominantLanguageDetectionJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'DominantLanguageDetectionJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'DominantLanguageDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DominantLanguageDetectionJobProperties', ], ], 'Double' => [ 'type' => 'double', ], 'EntitiesDetectionJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'EntitiesDetectionJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'EntitiesDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntitiesDetectionJobProperties', ], ], 'Entity' => [ 'type' => 'structure', 'members' => [ 'Score' => [ 'shape' => 'Float', ], 'Type' => [ 'shape' => 'EntityType', ], 'Text' => [ 'shape' => 'String', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], ], ], 'EntityRecognizerAnnotations' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'EntityRecognizerArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:entity-recognizer/[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'EntityRecognizerDocuments' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'EntityRecognizerEntityList' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'EntityRecognizerEvaluationMetrics' => [ 'type' => 'structure', 'members' => [ 'Precision' => [ 'shape' => 'Double', ], 'Recall' => [ 'shape' => 'Double', ], 'F1Score' => [ 'shape' => 'Double', ], ], ], 'EntityRecognizerFilter' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ModelStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'EntityRecognizerInputDataConfig' => [ 'type' => 'structure', 'required' => [ 'EntityTypes', 'Documents', ], 'members' => [ 'EntityTypes' => [ 'shape' => 'EntityTypesList', ], 'Documents' => [ 'shape' => 'EntityRecognizerDocuments', ], 'Annotations' => [ 'shape' => 'EntityRecognizerAnnotations', ], 'EntityList' => [ 'shape' => 'EntityRecognizerEntityList', ], ], ], 'EntityRecognizerMetadata' => [ 'type' => 'structure', 'members' => [ 'NumberOfTrainedDocuments' => [ 'shape' => 'Integer', ], 'NumberOfTestDocuments' => [ 'shape' => 'Integer', ], 'EvaluationMetrics' => [ 'shape' => 'EntityRecognizerEvaluationMetrics', ], 'EntityTypes' => [ 'shape' => 'EntityRecognizerMetadataEntityTypesList', ], ], ], 'EntityRecognizerMetadataEntityTypesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityRecognizerMetadataEntityTypesListItem', ], ], 'EntityRecognizerMetadataEntityTypesListItem' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'AnyLengthString', ], ], ], 'EntityRecognizerProperties' => [ 'type' => 'structure', 'members' => [ 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Status' => [ 'shape' => 'ModelStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'TrainingStartTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'EntityRecognizerInputDataConfig', ], 'RecognizerMetadata' => [ 'shape' => 'EntityRecognizerMetadata', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'EntityRecognizerPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityRecognizerProperties', ], ], 'EntityType' => [ 'type' => 'string', 'enum' => [ 'PERSON', 'LOCATION', 'ORGANIZATION', 'COMMERCIAL_ITEM', 'EVENT', 'DATE', 'QUANTITY', 'TITLE', 'OTHER', ], ], 'EntityTypeName' => [ 'type' => 'string', 'max' => 64, 'pattern' => '[_A-Z0-9]+', ], 'EntityTypesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityTypesListItem', ], ], 'EntityTypesListItem' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'EntityTypeName', ], ], ], 'Float' => [ 'type' => 'float', ], 'IamRoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+', ], 'InputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], 'InputFormat' => [ 'shape' => 'InputFormat', ], ], ], 'InputFormat' => [ 'type' => 'string', 'enum' => [ 'ONE_DOC_PER_FILE', 'ONE_DOC_PER_LINE', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidFilterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'JobId' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$', ], 'JobName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$', ], 'JobNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'IN_PROGRESS', 'COMPLETED', 'FAILED', 'STOP_REQUESTED', 'STOPPED', ], ], 'KeyPhrase' => [ 'type' => 'structure', 'members' => [ 'Score' => [ 'shape' => 'Float', ], 'Text' => [ 'shape' => 'String', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], ], ], 'KeyPhrasesDetectionJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'KeyPhrasesDetectionJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'KeyPhrasesDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPhrasesDetectionJobProperties', ], ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, ], 'KmsKeyValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'LanguageCode' => [ 'type' => 'string', 'enum' => [ 'en', 'es', 'fr', 'de', 'it', 'pt', ], ], 'ListDocumentClassificationJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'DocumentClassificationJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListDocumentClassificationJobsResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassificationJobPropertiesList' => [ 'shape' => 'DocumentClassificationJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListDocumentClassifiersRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'DocumentClassifierFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListDocumentClassifiersResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassifierPropertiesList' => [ 'shape' => 'DocumentClassifierPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListDominantLanguageDetectionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'DominantLanguageDetectionJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListDominantLanguageDetectionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'DominantLanguageDetectionJobPropertiesList' => [ 'shape' => 'DominantLanguageDetectionJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListEntitiesDetectionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'EntitiesDetectionJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListEntitiesDetectionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'EntitiesDetectionJobPropertiesList' => [ 'shape' => 'EntitiesDetectionJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListEntityRecognizersRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'EntityRecognizerFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListEntityRecognizersResponse' => [ 'type' => 'structure', 'members' => [ 'EntityRecognizerPropertiesList' => [ 'shape' => 'EntityRecognizerPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListKeyPhrasesDetectionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'KeyPhrasesDetectionJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListKeyPhrasesDetectionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'KeyPhrasesDetectionJobPropertiesList' => [ 'shape' => 'KeyPhrasesDetectionJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListOfDetectDominantLanguageResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDetectDominantLanguageItemResult', ], ], 'ListOfDetectEntitiesResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDetectEntitiesItemResult', ], ], 'ListOfDetectKeyPhrasesResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDetectKeyPhrasesItemResult', ], ], 'ListOfDetectSentimentResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDetectSentimentItemResult', ], ], 'ListOfDetectSyntaxResult' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDetectSyntaxItemResult', ], ], 'ListOfDominantLanguages' => [ 'type' => 'list', 'member' => [ 'shape' => 'DominantLanguage', ], ], 'ListOfEntities' => [ 'type' => 'list', 'member' => [ 'shape' => 'Entity', ], ], 'ListOfKeyPhrases' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPhrase', ], ], 'ListOfSyntaxTokens' => [ 'type' => 'list', 'member' => [ 'shape' => 'SyntaxToken', ], ], 'ListSentimentDetectionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'SentimentDetectionJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListSentimentDetectionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'SentimentDetectionJobPropertiesList' => [ 'shape' => 'SentimentDetectionJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ComprehendArn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ComprehendArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ListTopicsDetectionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'TopicsDetectionJobFilter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListTopicsDetectionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'TopicsDetectionJobPropertiesList' => [ 'shape' => 'TopicsDetectionJobPropertiesList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'MaxResultsInteger' => [ 'type' => 'integer', 'max' => 500, 'min' => 1, ], 'ModelStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'TRAINING', 'DELETING', 'STOP_REQUESTED', 'STOPPED', 'IN_ERROR', 'TRAINED', ], ], 'NumberOfTopicsInteger' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'OutputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'PartOfSpeechTag' => [ 'type' => 'structure', 'members' => [ 'Tag' => [ 'shape' => 'PartOfSpeechTagType', ], 'Score' => [ 'shape' => 'Float', ], ], ], 'PartOfSpeechTagType' => [ 'type' => 'string', 'enum' => [ 'ADJ', 'ADP', 'ADV', 'AUX', 'CONJ', 'CCONJ', 'DET', 'INTJ', 'NOUN', 'NUM', 'O', 'PART', 'PRON', 'PROPN', 'PUNCT', 'SCONJ', 'SYM', 'VERB', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'S3Uri' => [ 'type' => 'string', 'max' => 1024, 'pattern' => 's3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?', ], 'SentimentDetectionJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'SentimentDetectionJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'SentimentDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SentimentDetectionJobProperties', ], ], 'SentimentScore' => [ 'type' => 'structure', 'members' => [ 'Positive' => [ 'shape' => 'Float', ], 'Negative' => [ 'shape' => 'Float', ], 'Neutral' => [ 'shape' => 'Float', ], 'Mixed' => [ 'shape' => 'Float', ], ], ], 'SentimentType' => [ 'type' => 'string', 'enum' => [ 'POSITIVE', 'NEGATIVE', 'NEUTRAL', 'MIXED', ], ], 'StartDocumentClassificationJobRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierArn', 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', ], 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartDocumentClassificationJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StartDominantLanguageDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', ], 'members' => [ 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'JobName' => [ 'shape' => 'JobName', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartDominantLanguageDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StartEntitiesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', 'LanguageCode', ], 'members' => [ 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'JobName' => [ 'shape' => 'JobName', ], 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartEntitiesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StartKeyPhrasesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', 'LanguageCode', ], 'members' => [ 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'JobName' => [ 'shape' => 'JobName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartKeyPhrasesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StartSentimentDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', 'LanguageCode', ], 'members' => [ 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'JobName' => [ 'shape' => 'JobName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartSentimentDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StartTopicsDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'InputDataConfig', 'OutputDataConfig', 'DataAccessRoleArn', ], 'members' => [ 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'JobName' => [ 'shape' => 'JobName', ], 'NumberOfTopics' => [ 'shape' => 'NumberOfTopicsInteger', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'StartTopicsDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StopDominantLanguageDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StopDominantLanguageDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StopEntitiesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StopEntitiesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StopKeyPhrasesDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StopKeyPhrasesDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StopSentimentDetectionJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StopSentimentDetectionJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], ], ], 'StopTrainingDocumentClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierArn', ], 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], ], ], 'StopTrainingDocumentClassifierResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopTrainingEntityRecognizerRequest' => [ 'type' => 'structure', 'required' => [ 'EntityRecognizerArn', ], 'members' => [ 'EntityRecognizerArn' => [ 'shape' => 'EntityRecognizerArn', ], ], ], 'StopTrainingEntityRecognizerResponse' => [ 'type' => 'structure', 'members' => [], ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SyntaxLanguageCode' => [ 'type' => 'string', 'enum' => [ 'en', 'es', 'fr', 'de', 'it', 'pt', ], ], 'SyntaxToken' => [ 'type' => 'structure', 'members' => [ 'TokenId' => [ 'shape' => 'Integer', ], 'Text' => [ 'shape' => 'String', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], 'PartOfSpeech' => [ 'shape' => 'PartOfSpeechTag', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ComprehendArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TextSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TooManyTagKeysException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TopicsDetectionJobFilter' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'SubmitTimeBefore' => [ 'shape' => 'Timestamp', ], 'SubmitTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'TopicsDetectionJobProperties' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobName' => [ 'shape' => 'JobName', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'Message' => [ 'shape' => 'AnyLengthString', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'NumberOfTopics' => [ 'shape' => 'Integer', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'TopicsDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicsDetectionJobProperties', ], ], 'UnsupportedLanguageException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ComprehendArn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/comprehend/2017-11-27/paginators-1.json.php b/lib/aws/Aws/data/comprehend/2017-11-27/paginators-1.json.php new file mode 100644 index 0000000..0db1a6b --- /dev/null +++ b/lib/aws/Aws/data/comprehend/2017-11-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/comprehend/2017-11-27/paginators-1.json +return [ 'pagination' => [ 'ListDominantLanguageDetectionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListEntitiesDetectionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListKeyPhrasesDetectionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSentimentDetectionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTopicsDetectionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/comprehendmedical/2018-10-30/api-2.json.php b/lib/aws/Aws/data/comprehendmedical/2018-10-30/api-2.json.php new file mode 100644 index 0000000..b49f8de --- /dev/null +++ b/lib/aws/Aws/data/comprehendmedical/2018-10-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/comprehendmedical/2018-10-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-10-30', 'endpointPrefix' => 'comprehendmedical', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'ComprehendMedical', 'serviceFullName' => 'AWS Comprehend Medical', 'serviceId' => 'ComprehendMedical', 'signatureVersion' => 'v4', 'signingName' => 'comprehendmedical', 'targetPrefix' => 'ComprehendMedical_20181030', 'uid' => 'comprehendmedical-2018-10-30', ], 'operations' => [ 'DetectEntities' => [ 'name' => 'DetectEntities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectEntitiesRequest', ], 'output' => [ 'shape' => 'DetectEntitiesResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidEncodingException', ], [ 'shape' => 'TextSizeLimitExceededException', ], ], ], 'DetectPHI' => [ 'name' => 'DetectPHI', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectPHIRequest', ], 'output' => [ 'shape' => 'DetectPHIResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidEncodingException', ], [ 'shape' => 'TextSizeLimitExceededException', ], ], ], ], 'shapes' => [ 'Attribute' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'EntitySubType', ], 'Score' => [ 'shape' => 'Float', ], 'RelationshipScore' => [ 'shape' => 'Float', ], 'Id' => [ 'shape' => 'Integer', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], 'Text' => [ 'shape' => 'String', ], 'Traits' => [ 'shape' => 'TraitList', ], ], ], 'AttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ], 'AttributeName' => [ 'type' => 'string', 'enum' => [ 'SIGN', 'SYMPTOM', 'DIAGNOSIS', 'NEGATION', ], ], 'BoundedLengthString' => [ 'type' => 'string', 'max' => 20000, 'min' => 1, ], 'DetectEntitiesRequest' => [ 'type' => 'structure', 'required' => [ 'Text', ], 'members' => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], ], ], 'DetectEntitiesResponse' => [ 'type' => 'structure', 'required' => [ 'Entities', ], 'members' => [ 'Entities' => [ 'shape' => 'EntityList', ], 'UnmappedAttributes' => [ 'shape' => 'UnmappedAttributeList', ], 'PaginationToken' => [ 'shape' => 'String', ], ], ], 'DetectPHIRequest' => [ 'type' => 'structure', 'required' => [ 'Text', ], 'members' => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], ], ], 'DetectPHIResponse' => [ 'type' => 'structure', 'required' => [ 'Entities', ], 'members' => [ 'Entities' => [ 'shape' => 'EntityList', ], 'PaginationToken' => [ 'shape' => 'String', ], ], ], 'Entity' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Integer', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], 'Score' => [ 'shape' => 'Float', ], 'Text' => [ 'shape' => 'String', ], 'Category' => [ 'shape' => 'EntityType', ], 'Type' => [ 'shape' => 'EntitySubType', ], 'Traits' => [ 'shape' => 'TraitList', ], 'Attributes' => [ 'shape' => 'AttributeList', ], ], ], 'EntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Entity', ], ], 'EntitySubType' => [ 'type' => 'string', 'enum' => [ 'NAME', 'DOSAGE', 'ROUTE_OR_MODE', 'FORM', 'FREQUENCY', 'DURATION', 'GENERIC_NAME', 'BRAND_NAME', 'STRENGTH', 'RATE', 'ACUITY', 'TEST_NAME', 'TEST_VALUE', 'TEST_UNITS', 'PROCEDURE_NAME', 'TREATMENT_NAME', 'DATE', 'AGE', 'CONTACT_POINT', 'EMAIL', 'IDENTIFIER', 'URL', 'ADDRESS', 'PROFESSION', 'SYSTEM_ORGAN_SITE', 'DIRECTION', 'QUALITY', 'QUANTITY', ], ], 'EntityType' => [ 'type' => 'string', 'enum' => [ 'MEDICATION', 'MEDICAL_CONDITION', 'PROTECTED_HEALTH_INFORMATION', 'TEST_TREATMENT_PROCEDURE', 'ANATOMY', ], ], 'Float' => [ 'type' => 'float', ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidEncodingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'TextSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Trait' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'Score' => [ 'shape' => 'Float', ], ], ], 'TraitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trait', ], ], 'UnmappedAttribute' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'EntityType', ], 'Attribute' => [ 'shape' => 'Attribute', ], ], ], 'UnmappedAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnmappedAttribute', ], ], ],]; diff --git a/lib/aws/Aws/data/comprehendmedical/2018-10-30/paginators-1.json.php b/lib/aws/Aws/data/comprehendmedical/2018-10-30/paginators-1.json.php new file mode 100644 index 0000000..943c96b --- /dev/null +++ b/lib/aws/Aws/data/comprehendmedical/2018-10-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/comprehendmedical/2018-10-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/config/2014-11-12/api-2.json.php b/lib/aws/Aws/data/config/2014-11-12/api-2.json.php new file mode 100644 index 0000000..13b8119 --- /dev/null +++ b/lib/aws/Aws/data/config/2014-11-12/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/config/2014-11-12/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-11-12', 'endpointPrefix' => 'config', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Config Service', 'serviceFullName' => 'AWS Config', 'serviceId' => 'Config Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'StarlingDoveService', 'uid' => 'config-2014-11-12', ], 'operations' => [ 'BatchGetAggregateResourceConfig' => [ 'name' => 'BatchGetAggregateResourceConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetAggregateResourceConfigRequest', ], 'output' => [ 'shape' => 'BatchGetAggregateResourceConfigResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'BatchGetResourceConfig' => [ 'name' => 'BatchGetResourceConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetResourceConfigRequest', ], 'output' => [ 'shape' => 'BatchGetResourceConfigResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], ], ], 'DeleteAggregationAuthorization' => [ 'name' => 'DeleteAggregationAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAggregationAuthorizationRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'DeleteConfigRule' => [ 'name' => 'DeleteConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigRuleRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteConfigurationAggregator' => [ 'name' => 'DeleteConfigurationAggregator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationAggregatorRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'DeleteConfigurationRecorder' => [ 'name' => 'DeleteConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'DeleteDeliveryChannel' => [ 'name' => 'DeleteDeliveryChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeliveryChannelRequest', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], [ 'shape' => 'LastDeliveryChannelDeleteFailedException', ], ], ], 'DeleteEvaluationResults' => [ 'name' => 'DeleteEvaluationResults', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEvaluationResultsRequest', ], 'output' => [ 'shape' => 'DeleteEvaluationResultsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeletePendingAggregationRequest' => [ 'name' => 'DeletePendingAggregationRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePendingAggregationRequestRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'DeleteRemediationConfiguration' => [ 'name' => 'DeleteRemediationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRemediationConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteRemediationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NoSuchRemediationConfigurationException', ], ], ], 'DeleteRetentionConfiguration' => [ 'name' => 'DeleteRetentionConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRetentionConfigurationRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchRetentionConfigurationException', ], ], ], 'DeliverConfigSnapshot' => [ 'name' => 'DeliverConfigSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeliverConfigSnapshotRequest', ], 'output' => [ 'shape' => 'DeliverConfigSnapshotResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'NoRunningConfigurationRecorderException', ], ], ], 'DescribeAggregateComplianceByConfigRules' => [ 'name' => 'DescribeAggregateComplianceByConfigRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAggregateComplianceByConfigRulesRequest', ], 'output' => [ 'shape' => 'DescribeAggregateComplianceByConfigRulesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'DescribeAggregationAuthorizations' => [ 'name' => 'DescribeAggregationAuthorizations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAggregationAuthorizationsRequest', ], 'output' => [ 'shape' => 'DescribeAggregationAuthorizationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidLimitException', ], ], ], 'DescribeComplianceByConfigRule' => [ 'name' => 'DescribeComplianceByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeComplianceByConfigRuleRequest', ], 'output' => [ 'shape' => 'DescribeComplianceByConfigRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeComplianceByResource' => [ 'name' => 'DescribeComplianceByResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeComplianceByResourceRequest', ], 'output' => [ 'shape' => 'DescribeComplianceByResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeConfigRuleEvaluationStatus' => [ 'name' => 'DescribeConfigRuleEvaluationStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigRuleEvaluationStatusRequest', ], 'output' => [ 'shape' => 'DescribeConfigRuleEvaluationStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeConfigRules' => [ 'name' => 'DescribeConfigRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigRulesRequest', ], 'output' => [ 'shape' => 'DescribeConfigRulesResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeConfigurationAggregatorSourcesStatus' => [ 'name' => 'DescribeConfigurationAggregatorSourcesStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationAggregatorSourcesStatusRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationAggregatorSourcesStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidLimitException', ], ], ], 'DescribeConfigurationAggregators' => [ 'name' => 'DescribeConfigurationAggregators', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationAggregatorsRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationAggregatorsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidLimitException', ], ], ], 'DescribeConfigurationRecorderStatus' => [ 'name' => 'DescribeConfigurationRecorderStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationRecorderStatusRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationRecorderStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'DescribeConfigurationRecorders' => [ 'name' => 'DescribeConfigurationRecorders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationRecordersRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationRecordersResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'DescribeDeliveryChannelStatus' => [ 'name' => 'DescribeDeliveryChannelStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeliveryChannelStatusRequest', ], 'output' => [ 'shape' => 'DescribeDeliveryChannelStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], ], ], 'DescribeDeliveryChannels' => [ 'name' => 'DescribeDeliveryChannels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeliveryChannelsRequest', ], 'output' => [ 'shape' => 'DescribeDeliveryChannelsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDeliveryChannelException', ], ], ], 'DescribePendingAggregationRequests' => [ 'name' => 'DescribePendingAggregationRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePendingAggregationRequestsRequest', ], 'output' => [ 'shape' => 'DescribePendingAggregationRequestsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidLimitException', ], ], ], 'DescribeRemediationConfigurations' => [ 'name' => 'DescribeRemediationConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRemediationConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeRemediationConfigurationsResponse', ], ], 'DescribeRemediationExecutionStatus' => [ 'name' => 'DescribeRemediationExecutionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRemediationExecutionStatusRequest', ], 'output' => [ 'shape' => 'DescribeRemediationExecutionStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchRemediationConfigurationException', ], ], ], 'DescribeRetentionConfigurations' => [ 'name' => 'DescribeRetentionConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRetentionConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeRetentionConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'NoSuchRetentionConfigurationException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'GetAggregateComplianceDetailsByConfigRule' => [ 'name' => 'GetAggregateComplianceDetailsByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAggregateComplianceDetailsByConfigRuleRequest', ], 'output' => [ 'shape' => 'GetAggregateComplianceDetailsByConfigRuleResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'GetAggregateConfigRuleComplianceSummary' => [ 'name' => 'GetAggregateConfigRuleComplianceSummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAggregateConfigRuleComplianceSummaryRequest', ], 'output' => [ 'shape' => 'GetAggregateConfigRuleComplianceSummaryResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'GetAggregateDiscoveredResourceCounts' => [ 'name' => 'GetAggregateDiscoveredResourceCounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAggregateDiscoveredResourceCountsRequest', ], 'output' => [ 'shape' => 'GetAggregateDiscoveredResourceCountsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'GetAggregateResourceConfig' => [ 'name' => 'GetAggregateResourceConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAggregateResourceConfigRequest', ], 'output' => [ 'shape' => 'GetAggregateResourceConfigResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], [ 'shape' => 'OversizedConfigurationItemException', ], [ 'shape' => 'ResourceNotDiscoveredException', ], ], ], 'GetComplianceDetailsByConfigRule' => [ 'name' => 'GetComplianceDetailsByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailsByConfigRuleRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailsByConfigRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'GetComplianceDetailsByResource' => [ 'name' => 'GetComplianceDetailsByResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailsByResourceRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailsByResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetComplianceSummaryByConfigRule' => [ 'name' => 'GetComplianceSummaryByConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetComplianceSummaryByConfigRuleResponse', ], ], 'GetComplianceSummaryByResourceType' => [ 'name' => 'GetComplianceSummaryByResourceType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceSummaryByResourceTypeRequest', ], 'output' => [ 'shape' => 'GetComplianceSummaryByResourceTypeResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetDiscoveredResourceCounts' => [ 'name' => 'GetDiscoveredResourceCounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDiscoveredResourceCountsRequest', ], 'output' => [ 'shape' => 'GetDiscoveredResourceCountsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'GetResourceConfigHistory' => [ 'name' => 'GetResourceConfigHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourceConfigHistoryRequest', ], 'output' => [ 'shape' => 'GetResourceConfigHistoryResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidTimeRangeException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'ResourceNotDiscoveredException', ], ], ], 'ListAggregateDiscoveredResources' => [ 'name' => 'ListAggregateDiscoveredResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAggregateDiscoveredResourcesRequest', ], 'output' => [ 'shape' => 'ListAggregateDiscoveredResourcesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoSuchConfigurationAggregatorException', ], ], ], 'ListDiscoveredResources' => [ 'name' => 'ListDiscoveredResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDiscoveredResourcesRequest', ], 'output' => [ 'shape' => 'ListDiscoveredResourcesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'PutAggregationAuthorization' => [ 'name' => 'PutAggregationAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAggregationAuthorizationRequest', ], 'output' => [ 'shape' => 'PutAggregationAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], ], ], 'PutConfigRule' => [ 'name' => 'PutConfigRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConfigRuleRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MaxNumberOfConfigRulesExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], ], ], 'PutConfigurationAggregator' => [ 'name' => 'PutConfigurationAggregator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConfigurationAggregatorRequest', ], 'output' => [ 'shape' => 'PutConfigurationAggregatorResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'OrganizationAccessDeniedException', ], [ 'shape' => 'NoAvailableOrganizationException', ], [ 'shape' => 'OrganizationAllFeaturesNotEnabledException', ], ], ], 'PutConfigurationRecorder' => [ 'name' => 'PutConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'MaxNumberOfConfigurationRecordersExceededException', ], [ 'shape' => 'InvalidConfigurationRecorderNameException', ], [ 'shape' => 'InvalidRoleException', ], [ 'shape' => 'InvalidRecordingGroupException', ], ], ], 'PutDeliveryChannel' => [ 'name' => 'PutDeliveryChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDeliveryChannelRequest', ], 'errors' => [ [ 'shape' => 'MaxNumberOfDeliveryChannelsExceededException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], [ 'shape' => 'InvalidDeliveryChannelNameException', ], [ 'shape' => 'NoSuchBucketException', ], [ 'shape' => 'InvalidS3KeyPrefixException', ], [ 'shape' => 'InvalidSNSTopicARNException', ], [ 'shape' => 'InsufficientDeliveryPolicyException', ], ], ], 'PutEvaluations' => [ 'name' => 'PutEvaluations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutEvaluationsRequest', ], 'output' => [ 'shape' => 'PutEvaluationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidResultTokenException', ], [ 'shape' => 'NoSuchConfigRuleException', ], ], ], 'PutRemediationConfigurations' => [ 'name' => 'PutRemediationConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRemediationConfigurationsRequest', ], 'output' => [ 'shape' => 'PutRemediationConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'PutRetentionConfiguration' => [ 'name' => 'PutRetentionConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRetentionConfigurationRequest', ], 'output' => [ 'shape' => 'PutRetentionConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MaxNumberOfRetentionConfigurationsExceededException', ], ], ], 'SelectResourceConfig' => [ 'name' => 'SelectResourceConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SelectResourceConfigRequest', ], 'output' => [ 'shape' => 'SelectResourceConfigResponse', ], 'errors' => [ [ 'shape' => 'InvalidExpressionException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'StartConfigRulesEvaluation' => [ 'name' => 'StartConfigRulesEvaluation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartConfigRulesEvaluationRequest', ], 'output' => [ 'shape' => 'StartConfigRulesEvaluationResponse', ], 'errors' => [ [ 'shape' => 'NoSuchConfigRuleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'StartConfigurationRecorder' => [ 'name' => 'StartConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], [ 'shape' => 'NoAvailableDeliveryChannelException', ], ], ], 'StartRemediationExecution' => [ 'name' => 'StartRemediationExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartRemediationExecutionRequest', ], 'output' => [ 'shape' => 'StartRemediationExecutionResponse', ], 'errors' => [ [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'NoSuchRemediationConfigurationException', ], ], ], 'StopConfigurationRecorder' => [ 'name' => 'StopConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyTagsException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AccountAggregationSource' => [ 'type' => 'structure', 'required' => [ 'AccountIds', ], 'members' => [ 'AccountIds' => [ 'shape' => 'AccountAggregationSourceAccountList', ], 'AllAwsRegions' => [ 'shape' => 'Boolean', ], 'AwsRegions' => [ 'shape' => 'AggregatorRegionList', ], ], ], 'AccountAggregationSourceAccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], 'min' => 1, ], 'AccountAggregationSourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAggregationSource', ], 'max' => 1, 'min' => 0, ], 'AccountId' => [ 'type' => 'string', 'pattern' => '\\d{12}', ], 'AggregateComplianceByConfigRule' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'ConfigRuleName', ], 'Compliance' => [ 'shape' => 'Compliance', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'AggregateComplianceByConfigRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateComplianceByConfigRule', ], ], 'AggregateComplianceCount' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceSummary' => [ 'shape' => 'ComplianceSummary', ], ], ], 'AggregateComplianceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateComplianceCount', ], ], 'AggregateEvaluationResult' => [ 'type' => 'structure', 'members' => [ 'EvaluationResultIdentifier' => [ 'shape' => 'EvaluationResultIdentifier', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'ResultRecordedTime' => [ 'shape' => 'Date', ], 'ConfigRuleInvokedTime' => [ 'shape' => 'Date', ], 'Annotation' => [ 'shape' => 'StringWithCharLimit256', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'AggregateEvaluationResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateEvaluationResult', ], ], 'AggregateResourceIdentifier' => [ 'type' => 'structure', 'required' => [ 'SourceAccountId', 'SourceRegion', 'ResourceId', 'ResourceType', ], 'members' => [ 'SourceAccountId' => [ 'shape' => 'AccountId', ], 'SourceRegion' => [ 'shape' => 'AwsRegion', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceName' => [ 'shape' => 'ResourceName', ], ], ], 'AggregatedSourceStatus' => [ 'type' => 'structure', 'members' => [ 'SourceId' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'AggregatedSourceType', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], 'LastUpdateStatus' => [ 'shape' => 'AggregatedSourceStatusType', ], 'LastUpdateTime' => [ 'shape' => 'Date', ], 'LastErrorCode' => [ 'shape' => 'String', ], 'LastErrorMessage' => [ 'shape' => 'String', ], ], ], 'AggregatedSourceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregatedSourceStatus', ], ], 'AggregatedSourceStatusType' => [ 'type' => 'string', 'enum' => [ 'FAILED', 'SUCCEEDED', 'OUTDATED', ], ], 'AggregatedSourceStatusTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregatedSourceStatusType', ], 'min' => 1, ], 'AggregatedSourceType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORGANIZATION', ], ], 'AggregationAuthorization' => [ 'type' => 'structure', 'members' => [ 'AggregationAuthorizationArn' => [ 'shape' => 'String', ], 'AuthorizedAccountId' => [ 'shape' => 'AccountId', ], 'AuthorizedAwsRegion' => [ 'shape' => 'AwsRegion', ], 'CreationTime' => [ 'shape' => 'Date', ], ], ], 'AggregationAuthorizationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregationAuthorization', ], ], 'AggregatorRegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], 'min' => 1, ], 'AllSupported' => [ 'type' => 'boolean', ], 'AmazonResourceName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'AvailabilityZone' => [ 'type' => 'string', ], 'AwsRegion' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'BaseConfigurationItem' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], 'accountId' => [ 'shape' => 'AccountId', ], 'configurationItemCaptureTime' => [ 'shape' => 'ConfigurationItemCaptureTime', ], 'configurationItemStatus' => [ 'shape' => 'ConfigurationItemStatus', ], 'configurationStateId' => [ 'shape' => 'ConfigurationStateId', ], 'arn' => [ 'shape' => 'ARN', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'awsRegion' => [ 'shape' => 'AwsRegion', ], 'availabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'resourceCreationTime' => [ 'shape' => 'ResourceCreationTime', ], 'configuration' => [ 'shape' => 'Configuration', ], 'supplementaryConfiguration' => [ 'shape' => 'SupplementaryConfiguration', ], ], ], 'BaseConfigurationItems' => [ 'type' => 'list', 'member' => [ 'shape' => 'BaseConfigurationItem', ], ], 'BaseResourceId' => [ 'type' => 'string', 'max' => 768, 'min' => 1, ], 'BatchGetAggregateResourceConfigRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', 'ResourceIdentifiers', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'ResourceIdentifiers' => [ 'shape' => 'ResourceIdentifiersList', ], ], ], 'BatchGetAggregateResourceConfigResponse' => [ 'type' => 'structure', 'members' => [ 'BaseConfigurationItems' => [ 'shape' => 'BaseConfigurationItems', ], 'UnprocessedResourceIdentifiers' => [ 'shape' => 'UnprocessedResourceIdentifierList', ], ], ], 'BatchGetResourceConfigRequest' => [ 'type' => 'structure', 'required' => [ 'resourceKeys', ], 'members' => [ 'resourceKeys' => [ 'shape' => 'ResourceKeys', ], ], ], 'BatchGetResourceConfigResponse' => [ 'type' => 'structure', 'members' => [ 'baseConfigurationItems' => [ 'shape' => 'BaseConfigurationItems', ], 'unprocessedResourceKeys' => [ 'shape' => 'ResourceKeys', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'ChannelName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ChronologicalOrder' => [ 'type' => 'string', 'enum' => [ 'Reverse', 'Forward', ], ], 'Compliance' => [ 'type' => 'structure', 'members' => [ 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'ComplianceContributorCount' => [ 'shape' => 'ComplianceContributorCount', ], ], ], 'ComplianceByConfigRule' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'Compliance' => [ 'shape' => 'Compliance', ], ], ], 'ComplianceByConfigRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceByConfigRule', ], ], 'ComplianceByResource' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'BaseResourceId', ], 'Compliance' => [ 'shape' => 'Compliance', ], ], ], 'ComplianceByResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceByResource', ], ], 'ComplianceContributorCount' => [ 'type' => 'structure', 'members' => [ 'CappedCount' => [ 'shape' => 'Integer', ], 'CapExceeded' => [ 'shape' => 'Boolean', ], ], ], 'ComplianceResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 100, 'min' => 0, ], 'ComplianceSummariesByResourceType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceSummaryByResourceType', ], ], 'ComplianceSummary' => [ 'type' => 'structure', 'members' => [ 'CompliantResourceCount' => [ 'shape' => 'ComplianceContributorCount', ], 'NonCompliantResourceCount' => [ 'shape' => 'ComplianceContributorCount', ], 'ComplianceSummaryTimestamp' => [ 'shape' => 'Date', ], ], ], 'ComplianceSummaryByResourceType' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceSummary' => [ 'shape' => 'ComplianceSummary', ], ], ], 'ComplianceType' => [ 'type' => 'string', 'enum' => [ 'COMPLIANT', 'NON_COMPLIANT', 'NOT_APPLICABLE', 'INSUFFICIENT_DATA', ], ], 'ComplianceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceType', ], 'max' => 3, 'min' => 0, ], 'ConfigExportDeliveryInfo' => [ 'type' => 'structure', 'members' => [ 'lastStatus' => [ 'shape' => 'DeliveryStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastAttemptTime' => [ 'shape' => 'Date', ], 'lastSuccessfulTime' => [ 'shape' => 'Date', ], 'nextDeliveryTime' => [ 'shape' => 'Date', ], ], ], 'ConfigRule' => [ 'type' => 'structure', 'required' => [ 'Source', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ConfigRuleArn' => [ 'shape' => 'String', ], 'ConfigRuleId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'EmptiableStringWithCharLimit256', ], 'Scope' => [ 'shape' => 'Scope', ], 'Source' => [ 'shape' => 'Source', ], 'InputParameters' => [ 'shape' => 'StringWithCharLimit1024', ], 'MaximumExecutionFrequency' => [ 'shape' => 'MaximumExecutionFrequency', ], 'ConfigRuleState' => [ 'shape' => 'ConfigRuleState', ], 'CreatedBy' => [ 'shape' => 'StringWithCharLimit256', ], ], ], 'ConfigRuleComplianceFilters' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'ConfigRuleName', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'ConfigRuleComplianceSummaryFilters' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'ConfigRuleComplianceSummaryGroupKey' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT_ID', 'AWS_REGION', ], ], 'ConfigRuleEvaluationStatus' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ConfigRuleArn' => [ 'shape' => 'String', ], 'ConfigRuleId' => [ 'shape' => 'String', ], 'LastSuccessfulInvocationTime' => [ 'shape' => 'Date', ], 'LastFailedInvocationTime' => [ 'shape' => 'Date', ], 'LastSuccessfulEvaluationTime' => [ 'shape' => 'Date', ], 'LastFailedEvaluationTime' => [ 'shape' => 'Date', ], 'FirstActivatedTime' => [ 'shape' => 'Date', ], 'LastErrorCode' => [ 'shape' => 'String', ], 'LastErrorMessage' => [ 'shape' => 'String', ], 'FirstEvaluationStarted' => [ 'shape' => 'Boolean', ], ], ], 'ConfigRuleEvaluationStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigRuleEvaluationStatus', ], ], 'ConfigRuleName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ConfigRuleNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit64', ], 'max' => 25, 'min' => 0, ], 'ConfigRuleState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETING', 'DELETING_RESULTS', 'EVALUATING', ], ], 'ConfigRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigRule', ], ], 'ConfigSnapshotDeliveryProperties' => [ 'type' => 'structure', 'members' => [ 'deliveryFrequency' => [ 'shape' => 'MaximumExecutionFrequency', ], ], ], 'ConfigStreamDeliveryInfo' => [ 'type' => 'structure', 'members' => [ 'lastStatus' => [ 'shape' => 'DeliveryStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastStatusChangeTime' => [ 'shape' => 'Date', ], ], ], 'Configuration' => [ 'type' => 'string', ], 'ConfigurationAggregator' => [ 'type' => 'structure', 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'ConfigurationAggregatorArn' => [ 'shape' => 'ConfigurationAggregatorArn', ], 'AccountAggregationSources' => [ 'shape' => 'AccountAggregationSourceList', ], 'OrganizationAggregationSource' => [ 'shape' => 'OrganizationAggregationSource', ], 'CreationTime' => [ 'shape' => 'Date', ], 'LastUpdatedTime' => [ 'shape' => 'Date', ], ], ], 'ConfigurationAggregatorArn' => [ 'type' => 'string', 'pattern' => 'arn:aws[a-z\\-]*:config:[a-z\\-\\d]+:\\d+:config-aggregator/config-aggregator-[a-z\\d]+', ], 'ConfigurationAggregatorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationAggregator', ], ], 'ConfigurationAggregatorName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w\\-]+', ], 'ConfigurationAggregatorNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationAggregatorName', ], 'max' => 10, 'min' => 0, ], 'ConfigurationItem' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], 'accountId' => [ 'shape' => 'AccountId', ], 'configurationItemCaptureTime' => [ 'shape' => 'ConfigurationItemCaptureTime', ], 'configurationItemStatus' => [ 'shape' => 'ConfigurationItemStatus', ], 'configurationStateId' => [ 'shape' => 'ConfigurationStateId', ], 'configurationItemMD5Hash' => [ 'shape' => 'ConfigurationItemMD5Hash', ], 'arn' => [ 'shape' => 'ARN', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'awsRegion' => [ 'shape' => 'AwsRegion', ], 'availabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'resourceCreationTime' => [ 'shape' => 'ResourceCreationTime', ], 'tags' => [ 'shape' => 'Tags', ], 'relatedEvents' => [ 'shape' => 'RelatedEventList', ], 'relationships' => [ 'shape' => 'RelationshipList', ], 'configuration' => [ 'shape' => 'Configuration', ], 'supplementaryConfiguration' => [ 'shape' => 'SupplementaryConfiguration', ], ], ], 'ConfigurationItemCaptureTime' => [ 'type' => 'timestamp', ], 'ConfigurationItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationItem', ], ], 'ConfigurationItemMD5Hash' => [ 'type' => 'string', ], 'ConfigurationItemStatus' => [ 'type' => 'string', 'enum' => [ 'OK', 'ResourceDiscovered', 'ResourceNotRecorded', 'ResourceDeleted', 'ResourceDeletedNotRecorded', ], ], 'ConfigurationRecorder' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'RecorderName', ], 'roleARN' => [ 'shape' => 'String', ], 'recordingGroup' => [ 'shape' => 'RecordingGroup', ], ], ], 'ConfigurationRecorderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationRecorder', ], ], 'ConfigurationRecorderNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecorderName', ], ], 'ConfigurationRecorderStatus' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'lastStartTime' => [ 'shape' => 'Date', ], 'lastStopTime' => [ 'shape' => 'Date', ], 'recording' => [ 'shape' => 'Boolean', ], 'lastStatus' => [ 'shape' => 'RecorderStatus', ], 'lastErrorCode' => [ 'shape' => 'String', ], 'lastErrorMessage' => [ 'shape' => 'String', ], 'lastStatusChangeTime' => [ 'shape' => 'Date', ], ], ], 'ConfigurationRecorderStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationRecorderStatus', ], ], 'ConfigurationStateId' => [ 'type' => 'string', ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteAggregationAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'AuthorizedAccountId', 'AuthorizedAwsRegion', ], 'members' => [ 'AuthorizedAccountId' => [ 'shape' => 'AccountId', ], 'AuthorizedAwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'DeleteConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], ], ], 'DeleteConfigurationAggregatorRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], ], ], 'DeleteConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorderName', ], 'members' => [ 'ConfigurationRecorderName' => [ 'shape' => 'RecorderName', ], ], ], 'DeleteDeliveryChannelRequest' => [ 'type' => 'structure', 'required' => [ 'DeliveryChannelName', ], 'members' => [ 'DeliveryChannelName' => [ 'shape' => 'ChannelName', ], ], ], 'DeleteEvaluationResultsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], ], ], 'DeleteEvaluationResultsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePendingAggregationRequestRequest' => [ 'type' => 'structure', 'required' => [ 'RequesterAccountId', 'RequesterAwsRegion', ], 'members' => [ 'RequesterAccountId' => [ 'shape' => 'AccountId', ], 'RequesterAwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'DeleteRemediationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ResourceType' => [ 'shape' => 'String', ], ], ], 'DeleteRemediationConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRetentionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'RetentionConfigurationName', ], 'members' => [ 'RetentionConfigurationName' => [ 'shape' => 'RetentionConfigurationName', ], ], ], 'DeliverConfigSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'deliveryChannelName', ], 'members' => [ 'deliveryChannelName' => [ 'shape' => 'ChannelName', ], ], ], 'DeliverConfigSnapshotResponse' => [ 'type' => 'structure', 'members' => [ 'configSnapshotId' => [ 'shape' => 'String', ], ], ], 'DeliveryChannel' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ChannelName', ], 's3BucketName' => [ 'shape' => 'String', ], 's3KeyPrefix' => [ 'shape' => 'String', ], 'snsTopicARN' => [ 'shape' => 'String', ], 'configSnapshotDeliveryProperties' => [ 'shape' => 'ConfigSnapshotDeliveryProperties', ], ], ], 'DeliveryChannelList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryChannel', ], ], 'DeliveryChannelNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelName', ], ], 'DeliveryChannelStatus' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'configSnapshotDeliveryInfo' => [ 'shape' => 'ConfigExportDeliveryInfo', ], 'configHistoryDeliveryInfo' => [ 'shape' => 'ConfigExportDeliveryInfo', ], 'configStreamDeliveryInfo' => [ 'shape' => 'ConfigStreamDeliveryInfo', ], ], ], 'DeliveryChannelStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryChannelStatus', ], ], 'DeliveryStatus' => [ 'type' => 'string', 'enum' => [ 'Success', 'Failure', 'Not_Applicable', ], ], 'DescribeAggregateComplianceByConfigRulesRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'Filters' => [ 'shape' => 'ConfigRuleComplianceFilters', ], 'Limit' => [ 'shape' => 'GroupByAPILimit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAggregateComplianceByConfigRulesResponse' => [ 'type' => 'structure', 'members' => [ 'AggregateComplianceByConfigRules' => [ 'shape' => 'AggregateComplianceByConfigRuleList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAggregationAuthorizationsRequest' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeAggregationAuthorizationsResponse' => [ 'type' => 'structure', 'members' => [ 'AggregationAuthorizations' => [ 'shape' => 'AggregationAuthorizationList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComplianceByConfigRuleRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComplianceByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceByConfigRules' => [ 'shape' => 'ComplianceByConfigRules', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeComplianceByResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'BaseResourceId', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeComplianceByResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceByResources' => [ 'shape' => 'ComplianceByResources', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeConfigRuleEvaluationStatusRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], 'NextToken' => [ 'shape' => 'String', ], 'Limit' => [ 'shape' => 'RuleLimit', ], ], ], 'DescribeConfigRuleEvaluationStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigRulesEvaluationStatus' => [ 'shape' => 'ConfigRuleEvaluationStatusList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigRulesRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigRulesResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigRules' => [ 'shape' => 'ConfigRules', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigurationAggregatorSourcesStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'UpdateStatus' => [ 'shape' => 'AggregatedSourceStatusTypeList', ], 'NextToken' => [ 'shape' => 'String', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeConfigurationAggregatorSourcesStatusResponse' => [ 'type' => 'structure', 'members' => [ 'AggregatedSourceStatusList' => [ 'shape' => 'AggregatedSourceStatusList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigurationAggregatorsRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationAggregatorNames' => [ 'shape' => 'ConfigurationAggregatorNameList', ], 'NextToken' => [ 'shape' => 'String', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeConfigurationAggregatorsResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationAggregators' => [ 'shape' => 'ConfigurationAggregatorList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeConfigurationRecorderStatusRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorderNames' => [ 'shape' => 'ConfigurationRecorderNameList', ], ], ], 'DescribeConfigurationRecorderStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecordersStatus' => [ 'shape' => 'ConfigurationRecorderStatusList', ], ], ], 'DescribeConfigurationRecordersRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorderNames' => [ 'shape' => 'ConfigurationRecorderNameList', ], ], ], 'DescribeConfigurationRecordersResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationRecorders' => [ 'shape' => 'ConfigurationRecorderList', ], ], ], 'DescribeDeliveryChannelStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelNames' => [ 'shape' => 'DeliveryChannelNameList', ], ], ], 'DescribeDeliveryChannelStatusResponse' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelsStatus' => [ 'shape' => 'DeliveryChannelStatusList', ], ], ], 'DescribeDeliveryChannelsRequest' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannelNames' => [ 'shape' => 'DeliveryChannelNameList', ], ], ], 'DescribeDeliveryChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'DeliveryChannels' => [ 'shape' => 'DeliveryChannelList', ], ], ], 'DescribePendingAggregationRequestsLimit' => [ 'type' => 'integer', 'max' => 20, 'min' => 0, ], 'DescribePendingAggregationRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'DescribePendingAggregationRequestsLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribePendingAggregationRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'PendingAggregationRequests' => [ 'shape' => 'PendingAggregationRequestList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeRemediationConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleNames', ], 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ConfigRuleNames', ], ], ], 'DescribeRemediationConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'RemediationConfigurations' => [ 'shape' => 'RemediationConfigurations', ], ], ], 'DescribeRemediationExecutionStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ResourceKeys' => [ 'shape' => 'ResourceKeys', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'StringWithCharLimit256', ], ], ], 'DescribeRemediationExecutionStatusResponse' => [ 'type' => 'structure', 'members' => [ 'RemediationExecutionStatuses' => [ 'shape' => 'RemediationExecutionStatuses', ], 'NextToken' => [ 'shape' => 'StringWithCharLimit256', ], ], ], 'DescribeRetentionConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'RetentionConfigurationNames' => [ 'shape' => 'RetentionConfigurationNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeRetentionConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'RetentionConfigurations' => [ 'shape' => 'RetentionConfigurationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DiscoveredResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateResourceIdentifier', ], ], 'EarlierTime' => [ 'type' => 'timestamp', ], 'EmptiableStringWithCharLimit256' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Evaluation' => [ 'type' => 'structure', 'required' => [ 'ComplianceResourceType', 'ComplianceResourceId', 'ComplianceType', 'OrderingTimestamp', ], 'members' => [ 'ComplianceResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceResourceId' => [ 'shape' => 'BaseResourceId', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'Annotation' => [ 'shape' => 'StringWithCharLimit256', ], 'OrderingTimestamp' => [ 'shape' => 'OrderingTimestamp', ], ], ], 'EvaluationResult' => [ 'type' => 'structure', 'members' => [ 'EvaluationResultIdentifier' => [ 'shape' => 'EvaluationResultIdentifier', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'ResultRecordedTime' => [ 'shape' => 'Date', ], 'ConfigRuleInvokedTime' => [ 'shape' => 'Date', ], 'Annotation' => [ 'shape' => 'StringWithCharLimit256', ], 'ResultToken' => [ 'shape' => 'String', ], ], ], 'EvaluationResultIdentifier' => [ 'type' => 'structure', 'members' => [ 'EvaluationResultQualifier' => [ 'shape' => 'EvaluationResultQualifier', ], 'OrderingTimestamp' => [ 'shape' => 'Date', ], ], ], 'EvaluationResultQualifier' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'BaseResourceId', ], ], ], 'EvaluationResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'EvaluationResult', ], ], 'Evaluations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Evaluation', ], 'max' => 100, 'min' => 0, ], 'EventSource' => [ 'type' => 'string', 'enum' => [ 'aws.config', ], ], 'Expression' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'FailedRemediationBatch' => [ 'type' => 'structure', 'members' => [ 'FailureMessage' => [ 'shape' => 'String', ], 'FailedItems' => [ 'shape' => 'RemediationConfigurations', ], ], ], 'FailedRemediationBatches' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedRemediationBatch', ], ], 'FieldInfo' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FieldName', ], ], ], 'FieldInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldInfo', ], ], 'FieldName' => [ 'type' => 'string', ], 'GetAggregateComplianceDetailsByConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', 'ConfigRuleName', 'AccountId', 'AwsRegion', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'ConfigRuleName' => [ 'shape' => 'ConfigRuleName', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'AwsRegion' => [ 'shape' => 'AwsRegion', ], 'ComplianceType' => [ 'shape' => 'ComplianceType', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateComplianceDetailsByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'AggregateEvaluationResults' => [ 'shape' => 'AggregateEvaluationResultList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateConfigRuleComplianceSummaryRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'Filters' => [ 'shape' => 'ConfigRuleComplianceSummaryFilters', ], 'GroupByKey' => [ 'shape' => 'ConfigRuleComplianceSummaryGroupKey', ], 'Limit' => [ 'shape' => 'GroupByAPILimit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateConfigRuleComplianceSummaryResponse' => [ 'type' => 'structure', 'members' => [ 'GroupByKey' => [ 'shape' => 'StringWithCharLimit256', ], 'AggregateComplianceCounts' => [ 'shape' => 'AggregateComplianceCountList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateDiscoveredResourceCountsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'Filters' => [ 'shape' => 'ResourceCountFilters', ], 'GroupByKey' => [ 'shape' => 'ResourceCountGroupKey', ], 'Limit' => [ 'shape' => 'GroupByAPILimit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateDiscoveredResourceCountsResponse' => [ 'type' => 'structure', 'required' => [ 'TotalDiscoveredResources', ], 'members' => [ 'TotalDiscoveredResources' => [ 'shape' => 'Long', ], 'GroupByKey' => [ 'shape' => 'StringWithCharLimit256', ], 'GroupedResourceCounts' => [ 'shape' => 'GroupedResourceCountList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetAggregateResourceConfigRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', 'ResourceIdentifier', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'ResourceIdentifier' => [ 'shape' => 'AggregateResourceIdentifier', ], ], ], 'GetAggregateResourceConfigResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationItem' => [ 'shape' => 'ConfigurationItem', ], ], ], 'GetComplianceDetailsByConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetComplianceDetailsByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetComplianceDetailsByResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', ], 'members' => [ 'ResourceType' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceId' => [ 'shape' => 'BaseResourceId', ], 'ComplianceTypes' => [ 'shape' => 'ComplianceTypes', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetComplianceDetailsByResourceResponse' => [ 'type' => 'structure', 'members' => [ 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetComplianceSummaryByConfigRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceSummary' => [ 'shape' => 'ComplianceSummary', ], ], ], 'GetComplianceSummaryByResourceTypeRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceTypes' => [ 'shape' => 'ResourceTypes', ], ], ], 'GetComplianceSummaryByResourceTypeResponse' => [ 'type' => 'structure', 'members' => [ 'ComplianceSummariesByResourceType' => [ 'shape' => 'ComplianceSummariesByResourceType', ], ], ], 'GetDiscoveredResourceCountsRequest' => [ 'type' => 'structure', 'members' => [ 'resourceTypes' => [ 'shape' => 'ResourceTypes', ], 'limit' => [ 'shape' => 'Limit', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetDiscoveredResourceCountsResponse' => [ 'type' => 'structure', 'members' => [ 'totalDiscoveredResources' => [ 'shape' => 'Long', ], 'resourceCounts' => [ 'shape' => 'ResourceCounts', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetResourceConfigHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resourceId', ], 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'laterTime' => [ 'shape' => 'LaterTime', ], 'earlierTime' => [ 'shape' => 'EarlierTime', ], 'chronologicalOrder' => [ 'shape' => 'ChronologicalOrder', ], 'limit' => [ 'shape' => 'Limit', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetResourceConfigHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'configurationItems' => [ 'shape' => 'ConfigurationItemList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GroupByAPILimit' => [ 'type' => 'integer', 'max' => 1000, 'min' => 0, ], 'GroupedResourceCount' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'ResourceCount', ], 'members' => [ 'GroupName' => [ 'shape' => 'StringWithCharLimit256', ], 'ResourceCount' => [ 'shape' => 'Long', ], ], ], 'GroupedResourceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupedResourceCount', ], ], 'IncludeGlobalResourceTypes' => [ 'type' => 'boolean', ], 'InsufficientDeliveryPolicyException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InsufficientPermissionsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'InvalidConfigurationRecorderNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeliveryChannelNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidExpressionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidLimitException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRecordingGroupException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidResultTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidRoleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3KeyPrefixException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSNSTopicARNException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidTimeRangeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LastDeliveryChannelDeleteFailedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LaterTime' => [ 'type' => 'timestamp', ], 'Limit' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListAggregateDiscoveredResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', 'ResourceType', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Filters' => [ 'shape' => 'ResourceFilters', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAggregateDiscoveredResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifiers' => [ 'shape' => 'DiscoveredResourceIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDiscoveredResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'resourceType', ], 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceIds' => [ 'shape' => 'ResourceIdList', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'limit' => [ 'shape' => 'Limit', ], 'includeDeletedResources' => [ 'shape' => 'Boolean', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDiscoveredResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'resourceIdentifiers' => [ 'shape' => 'ResourceIdentifierList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaxNumberOfConfigRulesExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxNumberOfConfigurationRecordersExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxNumberOfDeliveryChannelsExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxNumberOfRetentionConfigurationsExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaximumExecutionFrequency' => [ 'type' => 'string', 'enum' => [ 'One_Hour', 'Three_Hours', 'Six_Hours', 'Twelve_Hours', 'TwentyFour_Hours', ], ], 'MessageType' => [ 'type' => 'string', 'enum' => [ 'ConfigurationItemChangeNotification', 'ConfigurationSnapshotDeliveryCompleted', 'ScheduledNotification', 'OversizedConfigurationItemChangeNotification', ], ], 'Name' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', ], 'NoAvailableConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoAvailableDeliveryChannelException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoAvailableOrganizationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoRunningConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchBucketException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchConfigRuleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchConfigurationAggregatorException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchConfigurationRecorderException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchDeliveryChannelException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchRemediationConfigurationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchRetentionConfigurationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrderingTimestamp' => [ 'type' => 'timestamp', ], 'OrganizationAccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrganizationAggregationSource' => [ 'type' => 'structure', 'required' => [ 'RoleArn', ], 'members' => [ 'RoleArn' => [ 'shape' => 'String', ], 'AwsRegions' => [ 'shape' => 'AggregatorRegionList', ], 'AllAwsRegions' => [ 'shape' => 'Boolean', ], ], ], 'OrganizationAllFeaturesNotEnabledException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OversizedConfigurationItemException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Owner' => [ 'type' => 'string', 'enum' => [ 'CUSTOM_LAMBDA', 'AWS', ], ], 'PendingAggregationRequest' => [ 'type' => 'structure', 'members' => [ 'RequesterAccountId' => [ 'shape' => 'AccountId', ], 'RequesterAwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'PendingAggregationRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingAggregationRequest', ], ], 'PutAggregationAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'AuthorizedAccountId', 'AuthorizedAwsRegion', ], 'members' => [ 'AuthorizedAccountId' => [ 'shape' => 'AccountId', ], 'AuthorizedAwsRegion' => [ 'shape' => 'AwsRegion', ], ], ], 'PutAggregationAuthorizationResponse' => [ 'type' => 'structure', 'members' => [ 'AggregationAuthorization' => [ 'shape' => 'AggregationAuthorization', ], ], ], 'PutConfigRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRule', ], 'members' => [ 'ConfigRule' => [ 'shape' => 'ConfigRule', ], ], ], 'PutConfigurationAggregatorRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationAggregatorName', ], 'members' => [ 'ConfigurationAggregatorName' => [ 'shape' => 'ConfigurationAggregatorName', ], 'AccountAggregationSources' => [ 'shape' => 'AccountAggregationSourceList', ], 'OrganizationAggregationSource' => [ 'shape' => 'OrganizationAggregationSource', ], ], ], 'PutConfigurationAggregatorResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationAggregator' => [ 'shape' => 'ConfigurationAggregator', ], ], ], 'PutConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorder', ], 'members' => [ 'ConfigurationRecorder' => [ 'shape' => 'ConfigurationRecorder', ], ], ], 'PutDeliveryChannelRequest' => [ 'type' => 'structure', 'required' => [ 'DeliveryChannel', ], 'members' => [ 'DeliveryChannel' => [ 'shape' => 'DeliveryChannel', ], ], ], 'PutEvaluationsRequest' => [ 'type' => 'structure', 'required' => [ 'ResultToken', ], 'members' => [ 'Evaluations' => [ 'shape' => 'Evaluations', ], 'ResultToken' => [ 'shape' => 'String', ], 'TestMode' => [ 'shape' => 'Boolean', ], ], ], 'PutEvaluationsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedEvaluations' => [ 'shape' => 'Evaluations', ], ], ], 'PutRemediationConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'RemediationConfigurations', ], 'members' => [ 'RemediationConfigurations' => [ 'shape' => 'RemediationConfigurations', ], ], ], 'PutRemediationConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedBatches' => [ 'shape' => 'FailedRemediationBatches', ], ], ], 'PutRetentionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'RetentionPeriodInDays', ], 'members' => [ 'RetentionPeriodInDays' => [ 'shape' => 'RetentionPeriodInDays', ], ], ], 'PutRetentionConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'RetentionConfiguration' => [ 'shape' => 'RetentionConfiguration', ], ], ], 'QueryInfo' => [ 'type' => 'structure', 'members' => [ 'SelectFields' => [ 'shape' => 'FieldInfoList', ], ], ], 'RecorderName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'RecorderStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Success', 'Failure', ], ], 'RecordingGroup' => [ 'type' => 'structure', 'members' => [ 'allSupported' => [ 'shape' => 'AllSupported', ], 'includeGlobalResourceTypes' => [ 'shape' => 'IncludeGlobalResourceTypes', ], 'resourceTypes' => [ 'shape' => 'ResourceTypeList', ], ], ], 'ReevaluateConfigRuleNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit64', ], 'max' => 25, 'min' => 1, ], 'RelatedEvent' => [ 'type' => 'string', ], 'RelatedEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelatedEvent', ], ], 'Relationship' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'relationshipName' => [ 'shape' => 'RelationshipName', ], ], ], 'RelationshipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Relationship', ], ], 'RelationshipName' => [ 'type' => 'string', ], 'RemediationConfiguration' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', 'TargetType', 'TargetId', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'TargetType' => [ 'shape' => 'RemediationTargetType', ], 'TargetId' => [ 'shape' => 'StringWithCharLimit256', ], 'TargetVersion' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'RemediationParameters', ], 'ResourceType' => [ 'shape' => 'String', ], ], ], 'RemediationConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemediationConfiguration', ], 'max' => 25, 'min' => 0, ], 'RemediationExecutionState' => [ 'type' => 'string', 'enum' => [ 'QUEUED', 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', ], ], 'RemediationExecutionStatus' => [ 'type' => 'structure', 'members' => [ 'ResourceKey' => [ 'shape' => 'ResourceKey', ], 'State' => [ 'shape' => 'RemediationExecutionState', ], 'StepDetails' => [ 'shape' => 'RemediationExecutionSteps', ], 'InvocationTime' => [ 'shape' => 'Date', ], 'LastUpdatedTime' => [ 'shape' => 'Date', ], ], ], 'RemediationExecutionStatuses' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemediationExecutionStatus', ], ], 'RemediationExecutionStep' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'RemediationExecutionStepState', ], 'ErrorMessage' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'Date', ], 'StopTime' => [ 'shape' => 'Date', ], ], ], 'RemediationExecutionStepState' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'PENDING', 'FAILED', ], ], 'RemediationExecutionSteps' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemediationExecutionStep', ], ], 'RemediationParameterValue' => [ 'type' => 'structure', 'members' => [ 'ResourceValue' => [ 'shape' => 'ResourceValue', ], 'StaticValue' => [ 'shape' => 'StaticValue', ], ], ], 'RemediationParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringWithCharLimit256', ], 'value' => [ 'shape' => 'RemediationParameterValue', ], 'max' => 25, 'min' => 0, ], 'RemediationTargetType' => [ 'type' => 'string', 'enum' => [ 'SSM_DOCUMENT', ], ], 'ResourceCount' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'count' => [ 'shape' => 'Long', ], ], ], 'ResourceCountFilters' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'Region' => [ 'shape' => 'AwsRegion', ], ], ], 'ResourceCountGroupKey' => [ 'type' => 'string', 'enum' => [ 'RESOURCE_TYPE', 'ACCOUNT_ID', 'AWS_REGION', ], ], 'ResourceCounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceCount', ], ], 'ResourceCreationTime' => [ 'type' => 'timestamp', ], 'ResourceDeletionTime' => [ 'type' => 'timestamp', ], 'ResourceFilters' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ResourceName' => [ 'shape' => 'ResourceName', ], 'Region' => [ 'shape' => 'AwsRegion', ], ], ], 'ResourceId' => [ 'type' => 'string', 'max' => 768, 'min' => 1, ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceId', ], ], 'ResourceIdentifier' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'resourceDeletionTime' => [ 'shape' => 'ResourceDeletionTime', ], ], ], 'ResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceIdentifier', ], ], 'ResourceIdentifiersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateResourceIdentifier', ], 'max' => 100, 'min' => 1, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceKey' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resourceId', ], 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceId' => [ 'shape' => 'ResourceId', ], ], ], 'ResourceKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceKey', ], 'max' => 100, 'min' => 1, ], 'ResourceName' => [ 'type' => 'string', ], 'ResourceNotDiscoveredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'AWS::EC2::CustomerGateway', 'AWS::EC2::EIP', 'AWS::EC2::Host', 'AWS::EC2::Instance', 'AWS::EC2::InternetGateway', 'AWS::EC2::NetworkAcl', 'AWS::EC2::NetworkInterface', 'AWS::EC2::RouteTable', 'AWS::EC2::SecurityGroup', 'AWS::EC2::Subnet', 'AWS::CloudTrail::Trail', 'AWS::EC2::Volume', 'AWS::EC2::VPC', 'AWS::EC2::VPNConnection', 'AWS::EC2::VPNGateway', 'AWS::IAM::Group', 'AWS::IAM::Policy', 'AWS::IAM::Role', 'AWS::IAM::User', 'AWS::ACM::Certificate', 'AWS::RDS::DBInstance', 'AWS::RDS::DBSubnetGroup', 'AWS::RDS::DBSecurityGroup', 'AWS::RDS::DBSnapshot', 'AWS::RDS::EventSubscription', 'AWS::ElasticLoadBalancingV2::LoadBalancer', 'AWS::S3::Bucket', 'AWS::SSM::ManagedInstanceInventory', 'AWS::Redshift::Cluster', 'AWS::Redshift::ClusterSnapshot', 'AWS::Redshift::ClusterParameterGroup', 'AWS::Redshift::ClusterSecurityGroup', 'AWS::Redshift::ClusterSubnetGroup', 'AWS::Redshift::EventSubscription', 'AWS::CloudWatch::Alarm', 'AWS::CloudFormation::Stack', 'AWS::DynamoDB::Table', 'AWS::AutoScaling::AutoScalingGroup', 'AWS::AutoScaling::LaunchConfiguration', 'AWS::AutoScaling::ScalingPolicy', 'AWS::AutoScaling::ScheduledAction', 'AWS::CodeBuild::Project', 'AWS::WAF::RateBasedRule', 'AWS::WAF::Rule', 'AWS::WAF::WebACL', 'AWS::WAFRegional::RateBasedRule', 'AWS::WAFRegional::Rule', 'AWS::WAFRegional::WebACL', 'AWS::CloudFront::Distribution', 'AWS::CloudFront::StreamingDistribution', 'AWS::WAF::RuleGroup', 'AWS::WAFRegional::RuleGroup', 'AWS::Lambda::Function', 'AWS::ElasticBeanstalk::Application', 'AWS::ElasticBeanstalk::ApplicationVersion', 'AWS::ElasticBeanstalk::Environment', 'AWS::ElasticLoadBalancing::LoadBalancer', 'AWS::XRay::EncryptionConfig', 'AWS::SSM::AssociationCompliance', 'AWS::SSM::PatchCompliance', 'AWS::Shield::Protection', 'AWS::ShieldRegional::Protection', 'AWS::Config::ResourceCompliance', 'AWS::CodePipeline::Pipeline', ], ], 'ResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'ResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 20, 'min' => 0, ], 'ResourceValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'ResourceValueType', ], ], ], 'ResourceValueType' => [ 'type' => 'string', 'enum' => [ 'RESOURCE_ID', ], ], 'Results' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RetentionConfiguration' => [ 'type' => 'structure', 'required' => [ 'Name', 'RetentionPeriodInDays', ], 'members' => [ 'Name' => [ 'shape' => 'RetentionConfigurationName', ], 'RetentionPeriodInDays' => [ 'shape' => 'RetentionPeriodInDays', ], ], ], 'RetentionConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RetentionConfiguration', ], ], 'RetentionConfigurationName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w\\-]+', ], 'RetentionConfigurationNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RetentionConfigurationName', ], 'max' => 1, 'min' => 0, ], 'RetentionPeriodInDays' => [ 'type' => 'integer', 'max' => 2557, 'min' => 30, ], 'RuleLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 0, ], 'Scope' => [ 'type' => 'structure', 'members' => [ 'ComplianceResourceTypes' => [ 'shape' => 'ComplianceResourceTypes', ], 'TagKey' => [ 'shape' => 'StringWithCharLimit128', ], 'TagValue' => [ 'shape' => 'StringWithCharLimit256', ], 'ComplianceResourceId' => [ 'shape' => 'BaseResourceId', ], ], ], 'SelectResourceConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Expression', ], 'members' => [ 'Expression' => [ 'shape' => 'Expression', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'SelectResourceConfigResponse' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'Results', ], 'QueryInfo' => [ 'shape' => 'QueryInfo', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'Source' => [ 'type' => 'structure', 'required' => [ 'Owner', 'SourceIdentifier', ], 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'SourceIdentifier' => [ 'shape' => 'StringWithCharLimit256', ], 'SourceDetails' => [ 'shape' => 'SourceDetails', ], ], ], 'SourceDetail' => [ 'type' => 'structure', 'members' => [ 'EventSource' => [ 'shape' => 'EventSource', ], 'MessageType' => [ 'shape' => 'MessageType', ], 'MaximumExecutionFrequency' => [ 'shape' => 'MaximumExecutionFrequency', ], ], ], 'SourceDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceDetail', ], 'max' => 25, 'min' => 0, ], 'StartConfigRulesEvaluationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigRuleNames' => [ 'shape' => 'ReevaluateConfigRuleNames', ], ], ], 'StartConfigRulesEvaluationResponse' => [ 'type' => 'structure', 'members' => [], ], 'StartConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorderName', ], 'members' => [ 'ConfigurationRecorderName' => [ 'shape' => 'RecorderName', ], ], ], 'StartRemediationExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigRuleName', 'ResourceKeys', ], 'members' => [ 'ConfigRuleName' => [ 'shape' => 'StringWithCharLimit64', ], 'ResourceKeys' => [ 'shape' => 'ResourceKeys', ], ], ], 'StartRemediationExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'FailureMessage' => [ 'shape' => 'String', ], 'FailedItems' => [ 'shape' => 'ResourceKeys', ], ], ], 'StaticParameterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 25, 'min' => 0, ], 'StaticValue' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'StaticParameterValues', ], ], ], 'StopConfigurationRecorderRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationRecorderName', ], 'members' => [ 'ConfigurationRecorderName' => [ 'shape' => 'RecorderName', ], ], ], 'String' => [ 'type' => 'string', ], 'StringWithCharLimit1024' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'StringWithCharLimit128' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'StringWithCharLimit256' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'StringWithCharLimit64' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'SupplementaryConfiguration' => [ 'type' => 'map', 'key' => [ 'shape' => 'SupplementaryConfigurationName', ], 'value' => [ 'shape' => 'SupplementaryConfigurationValue', ], ], 'SupplementaryConfigurationName' => [ 'type' => 'string', ], 'SupplementaryConfigurationValue' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'Name', ], 'value' => [ 'shape' => 'Value', ], ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UnprocessedResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateResourceIdentifier', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/config/2014-11-12/paginators-1.json.php b/lib/aws/Aws/data/config/2014-11-12/paginators-1.json.php new file mode 100644 index 0000000..4bb8906 --- /dev/null +++ b/lib/aws/Aws/data/config/2014-11-12/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/config/2014-11-12/paginators-1.json +return [ 'pagination' => [ 'DescribeRemediationExecutionStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'result_key' => 'RemediationExecutionStatuses', ], 'GetResourceConfigHistory' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'configurationItems', ], ],]; diff --git a/lib/aws/Aws/data/config/2014-11-12/smoke.json.php b/lib/aws/Aws/data/config/2014-11-12/smoke.json.php new file mode 100644 index 0000000..97dc5a2 --- /dev/null +++ b/lib/aws/Aws/data/config/2014-11-12/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/config/2014-11-12/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeConfigurationRecorders', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetResourceConfigHistory', 'input' => [ 'resourceType' => 'fake-type', 'resourceId' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/connect/2017-08-08/api-2.json.php b/lib/aws/Aws/data/connect/2017-08-08/api-2.json.php new file mode 100644 index 0000000..97d349e --- /dev/null +++ b/lib/aws/Aws/data/connect/2017-08-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/connect/2017-08-08/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-08-08', 'endpointPrefix' => 'connect', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Amazon Connect', 'serviceFullName' => 'Amazon Connect Service', 'serviceId' => 'Connect', 'signatureVersion' => 'v4', 'signingName' => 'connect', 'uid' => 'connect-2017-08-08', ], 'operations' => [ 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'PUT', 'requestUri' => '/users/{InstanceId}', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DuplicateResourceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/users/{InstanceId}/{UserId}', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeUser' => [ 'name' => 'DescribeUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/users/{InstanceId}/{UserId}', ], 'input' => [ 'shape' => 'DescribeUserRequest', ], 'output' => [ 'shape' => 'DescribeUserResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeUserHierarchyGroup' => [ 'name' => 'DescribeUserHierarchyGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}', ], 'input' => [ 'shape' => 'DescribeUserHierarchyGroupRequest', ], 'output' => [ 'shape' => 'DescribeUserHierarchyGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeUserHierarchyStructure' => [ 'name' => 'DescribeUserHierarchyStructure', 'http' => [ 'method' => 'GET', 'requestUri' => '/user-hierarchy-structure/{InstanceId}', ], 'input' => [ 'shape' => 'DescribeUserHierarchyStructureRequest', ], 'output' => [ 'shape' => 'DescribeUserHierarchyStructureResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'GetContactAttributes' => [ 'name' => 'GetContactAttributes', 'http' => [ 'method' => 'GET', 'requestUri' => '/contact/attributes/{InstanceId}/{InitialContactId}', ], 'input' => [ 'shape' => 'GetContactAttributesRequest', ], 'output' => [ 'shape' => 'GetContactAttributesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'GetCurrentMetricData' => [ 'name' => 'GetCurrentMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/metrics/current/{InstanceId}', ], 'input' => [ 'shape' => 'GetCurrentMetricDataRequest', ], 'output' => [ 'shape' => 'GetCurrentMetricDataResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetFederationToken' => [ 'name' => 'GetFederationToken', 'http' => [ 'method' => 'GET', 'requestUri' => '/user/federate/{InstanceId}', ], 'input' => [ 'shape' => 'GetFederationTokenRequest', ], 'output' => [ 'shape' => 'GetFederationTokenResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'UserNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'DuplicateResourceException', ], ], ], 'GetMetricData' => [ 'name' => 'GetMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/metrics/historical/{InstanceId}', ], 'input' => [ 'shape' => 'GetMetricDataRequest', ], 'output' => [ 'shape' => 'GetMetricDataResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListRoutingProfiles' => [ 'name' => 'ListRoutingProfiles', 'http' => [ 'method' => 'GET', 'requestUri' => '/routing-profiles-summary/{InstanceId}', ], 'input' => [ 'shape' => 'ListRoutingProfilesRequest', ], 'output' => [ 'shape' => 'ListRoutingProfilesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListSecurityProfiles' => [ 'name' => 'ListSecurityProfiles', 'http' => [ 'method' => 'GET', 'requestUri' => '/security-profiles-summary/{InstanceId}', ], 'input' => [ 'shape' => 'ListSecurityProfilesRequest', ], 'output' => [ 'shape' => 'ListSecurityProfilesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListUserHierarchyGroups' => [ 'name' => 'ListUserHierarchyGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/user-hierarchy-groups-summary/{InstanceId}', ], 'input' => [ 'shape' => 'ListUserHierarchyGroupsRequest', ], 'output' => [ 'shape' => 'ListUserHierarchyGroupsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/users-summary/{InstanceId}', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'StartOutboundVoiceContact' => [ 'name' => 'StartOutboundVoiceContact', 'http' => [ 'method' => 'PUT', 'requestUri' => '/contact/outbound-voice', ], 'input' => [ 'shape' => 'StartOutboundVoiceContactRequest', ], 'output' => [ 'shape' => 'StartOutboundVoiceContactResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DestinationNotAllowedException', ], [ 'shape' => 'OutboundContactNotPermittedException', ], ], ], 'StopContact' => [ 'name' => 'StopContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/contact/stop', ], 'input' => [ 'shape' => 'StopContactRequest', ], 'output' => [ 'shape' => 'StopContactResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ContactNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateContactAttributes' => [ 'name' => 'UpdateContactAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/contact/attributes', ], 'input' => [ 'shape' => 'UpdateContactAttributesRequest', ], 'output' => [ 'shape' => 'UpdateContactAttributesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateUserHierarchy' => [ 'name' => 'UpdateUserHierarchy', 'http' => [ 'method' => 'POST', 'requestUri' => '/users/{InstanceId}/{UserId}/hierarchy', ], 'input' => [ 'shape' => 'UpdateUserHierarchyRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateUserIdentityInfo' => [ 'name' => 'UpdateUserIdentityInfo', 'http' => [ 'method' => 'POST', 'requestUri' => '/users/{InstanceId}/{UserId}/identity-info', ], 'input' => [ 'shape' => 'UpdateUserIdentityInfoRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateUserPhoneConfig' => [ 'name' => 'UpdateUserPhoneConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/users/{InstanceId}/{UserId}/phone-config', ], 'input' => [ 'shape' => 'UpdateUserPhoneConfigRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateUserRoutingProfile' => [ 'name' => 'UpdateUserRoutingProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/users/{InstanceId}/{UserId}/routing-profile', ], 'input' => [ 'shape' => 'UpdateUserRoutingProfileRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateUserSecurityProfiles' => [ 'name' => 'UpdateUserSecurityProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/users/{InstanceId}/{UserId}/security-profiles', ], 'input' => [ 'shape' => 'UpdateUserSecurityProfilesRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AfterContactWorkTimeLimit' => [ 'type' => 'integer', 'min' => 0, ], 'AgentFirstName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'AgentLastName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'AgentUsername' => [ 'type' => 'string', 'max' => 20, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\_\\-\\.]+', ], 'AttributeName' => [ 'type' => 'string', 'max' => 32767, 'min' => 1, ], 'AttributeValue' => [ 'type' => 'string', 'max' => 32767, 'min' => 0, ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'AutoAccept' => [ 'type' => 'boolean', ], 'Channel' => [ 'type' => 'string', 'enum' => [ 'VOICE', ], ], 'Channels' => [ 'type' => 'list', 'member' => [ 'shape' => 'Channel', ], 'max' => 1, ], 'ClientToken' => [ 'type' => 'string', 'max' => 500, ], 'Comparison' => [ 'type' => 'string', 'enum' => [ 'LT', ], ], 'ContactFlowId' => [ 'type' => 'string', 'max' => 500, ], 'ContactId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ContactNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 410, ], 'exception' => true, ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'Username', 'PhoneConfig', 'SecurityProfileIds', 'RoutingProfileId', 'InstanceId', ], 'members' => [ 'Username' => [ 'shape' => 'AgentUsername', ], 'Password' => [ 'shape' => 'Password', ], 'IdentityInfo' => [ 'shape' => 'UserIdentityInfo', ], 'PhoneConfig' => [ 'shape' => 'UserPhoneConfig', ], 'DirectoryUserId' => [ 'shape' => 'DirectoryUserId', ], 'SecurityProfileIds' => [ 'shape' => 'SecurityProfileIds', ], 'RoutingProfileId' => [ 'shape' => 'RoutingProfileId', ], 'HierarchyGroupId' => [ 'shape' => 'HierarchyGroupId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'UserId', ], 'UserArn' => [ 'shape' => 'ARN', ], ], ], 'Credentials' => [ 'type' => 'structure', 'members' => [ 'AccessToken' => [ 'shape' => 'SecurityToken', ], 'AccessTokenExpiration' => [ 'shape' => 'timestamp', ], 'RefreshToken' => [ 'shape' => 'SecurityToken', ], 'RefreshTokenExpiration' => [ 'shape' => 'timestamp', ], ], ], 'CurrentMetric' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'CurrentMetricName', ], 'Unit' => [ 'shape' => 'Unit', ], ], ], 'CurrentMetricData' => [ 'type' => 'structure', 'members' => [ 'Metric' => [ 'shape' => 'CurrentMetric', ], 'Value' => [ 'shape' => 'Value', 'box' => true, ], ], ], 'CurrentMetricDataCollections' => [ 'type' => 'list', 'member' => [ 'shape' => 'CurrentMetricData', ], ], 'CurrentMetricName' => [ 'type' => 'string', 'enum' => [ 'AGENTS_ONLINE', 'AGENTS_AVAILABLE', 'AGENTS_ON_CALL', 'AGENTS_NON_PRODUCTIVE', 'AGENTS_AFTER_CONTACT_WORK', 'AGENTS_ERROR', 'AGENTS_STAFFED', 'CONTACTS_IN_QUEUE', 'OLDEST_CONTACT_AGE', 'CONTACTS_SCHEDULED', ], ], 'CurrentMetricResult' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Collections' => [ 'shape' => 'CurrentMetricDataCollections', ], ], ], 'CurrentMetricResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'CurrentMetricResult', ], ], 'CurrentMetrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'CurrentMetric', ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'UserId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], ], ], 'DescribeUserHierarchyGroupRequest' => [ 'type' => 'structure', 'required' => [ 'HierarchyGroupId', 'InstanceId', ], 'members' => [ 'HierarchyGroupId' => [ 'shape' => 'HierarchyGroupId', 'location' => 'uri', 'locationName' => 'HierarchyGroupId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'DescribeUserHierarchyGroupResponse' => [ 'type' => 'structure', 'members' => [ 'HierarchyGroup' => [ 'shape' => 'HierarchyGroup', ], ], ], 'DescribeUserHierarchyStructureRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'DescribeUserHierarchyStructureResponse' => [ 'type' => 'structure', 'members' => [ 'HierarchyStructure' => [ 'shape' => 'HierarchyStructure', ], ], ], 'DescribeUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', 'InstanceId', ], 'members' => [ 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'DescribeUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'DestinationNotAllowedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'Dimensions' => [ 'type' => 'structure', 'members' => [ 'Queue' => [ 'shape' => 'QueueReference', ], 'Channel' => [ 'shape' => 'Channel', ], ], ], 'DirectoryUserId' => [ 'type' => 'string', ], 'DuplicateResourceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Email' => [ 'type' => 'string', ], 'Filters' => [ 'type' => 'structure', 'members' => [ 'Queues' => [ 'shape' => 'Queues', ], 'Channels' => [ 'shape' => 'Channels', ], ], ], 'GetContactAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'InitialContactId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'InitialContactId' => [ 'shape' => 'ContactId', 'location' => 'uri', 'locationName' => 'InitialContactId', ], ], ], 'GetContactAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'GetCurrentMetricDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Filters', 'CurrentMetrics', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'Filters', ], 'Groupings' => [ 'shape' => 'Groupings', ], 'CurrentMetrics' => [ 'shape' => 'CurrentMetrics', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult100', 'box' => true, ], ], ], 'GetCurrentMetricDataResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MetricResults' => [ 'shape' => 'CurrentMetricResults', ], 'DataSnapshotTime' => [ 'shape' => 'timestamp', ], ], ], 'GetFederationTokenRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'GetFederationTokenResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], ], ], 'GetMetricDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'StartTime', 'EndTime', 'Filters', 'HistoricalMetrics', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'StartTime' => [ 'shape' => 'timestamp', ], 'EndTime' => [ 'shape' => 'timestamp', ], 'Filters' => [ 'shape' => 'Filters', ], 'Groupings' => [ 'shape' => 'Groupings', ], 'HistoricalMetrics' => [ 'shape' => 'HistoricalMetrics', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult100', 'box' => true, ], ], ], 'GetMetricDataResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MetricResults' => [ 'shape' => 'HistoricalMetricResults', ], ], ], 'Grouping' => [ 'type' => 'string', 'enum' => [ 'QUEUE', 'CHANNEL', ], ], 'Groupings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Grouping', ], 'max' => 2, ], 'HierarchyGroup' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'HierarchyGroupId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Name' => [ 'shape' => 'HierarchyGroupName', ], 'LevelId' => [ 'shape' => 'HierarchyLevelId', ], 'HierarchyPath' => [ 'shape' => 'HierarchyPath', ], ], ], 'HierarchyGroupId' => [ 'type' => 'string', ], 'HierarchyGroupName' => [ 'type' => 'string', ], 'HierarchyGroupSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'HierarchyGroupId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Name' => [ 'shape' => 'HierarchyGroupName', ], ], ], 'HierarchyGroupSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HierarchyGroupSummary', ], ], 'HierarchyLevel' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'HierarchyLevelId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Name' => [ 'shape' => 'HierarchyLevelName', ], ], ], 'HierarchyLevelId' => [ 'type' => 'string', ], 'HierarchyLevelName' => [ 'type' => 'string', ], 'HierarchyPath' => [ 'type' => 'structure', 'members' => [ 'LevelOne' => [ 'shape' => 'HierarchyGroupSummary', ], 'LevelTwo' => [ 'shape' => 'HierarchyGroupSummary', ], 'LevelThree' => [ 'shape' => 'HierarchyGroupSummary', ], 'LevelFour' => [ 'shape' => 'HierarchyGroupSummary', ], 'LevelFive' => [ 'shape' => 'HierarchyGroupSummary', ], ], ], 'HierarchyStructure' => [ 'type' => 'structure', 'members' => [ 'LevelOne' => [ 'shape' => 'HierarchyLevel', ], 'LevelTwo' => [ 'shape' => 'HierarchyLevel', ], 'LevelThree' => [ 'shape' => 'HierarchyLevel', ], 'LevelFour' => [ 'shape' => 'HierarchyLevel', ], 'LevelFive' => [ 'shape' => 'HierarchyLevel', ], ], ], 'HistoricalMetric' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'HistoricalMetricName', ], 'Threshold' => [ 'shape' => 'Threshold', 'box' => true, ], 'Statistic' => [ 'shape' => 'Statistic', ], 'Unit' => [ 'shape' => 'Unit', ], ], ], 'HistoricalMetricData' => [ 'type' => 'structure', 'members' => [ 'Metric' => [ 'shape' => 'HistoricalMetric', ], 'Value' => [ 'shape' => 'Value', 'box' => true, ], ], ], 'HistoricalMetricDataCollections' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoricalMetricData', ], ], 'HistoricalMetricName' => [ 'type' => 'string', 'enum' => [ 'CONTACTS_QUEUED', 'CONTACTS_HANDLED', 'CONTACTS_ABANDONED', 'CONTACTS_CONSULTED', 'CONTACTS_AGENT_HUNG_UP_FIRST', 'CONTACTS_HANDLED_INCOMING', 'CONTACTS_HANDLED_OUTBOUND', 'CONTACTS_HOLD_ABANDONS', 'CONTACTS_TRANSFERRED_IN', 'CONTACTS_TRANSFERRED_OUT', 'CONTACTS_TRANSFERRED_IN_FROM_QUEUE', 'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE', 'CONTACTS_MISSED', 'CALLBACK_CONTACTS_HANDLED', 'API_CONTACTS_HANDLED', 'OCCUPANCY', 'HANDLE_TIME', 'AFTER_CONTACT_WORK_TIME', 'QUEUED_TIME', 'ABANDON_TIME', 'QUEUE_ANSWER_TIME', 'HOLD_TIME', 'INTERACTION_TIME', 'INTERACTION_AND_HOLD_TIME', 'SERVICE_LEVEL', ], ], 'HistoricalMetricResult' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Collections' => [ 'shape' => 'HistoricalMetricDataCollections', ], ], ], 'HistoricalMetricResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoricalMetricResult', ], ], 'HistoricalMetrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoricalMetric', ], ], 'InstanceId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListRoutingProfilesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult1000', 'box' => true, 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListRoutingProfilesResponse' => [ 'type' => 'structure', 'members' => [ 'RoutingProfileSummaryList' => [ 'shape' => 'RoutingProfileSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSecurityProfilesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult1000', 'box' => true, 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListSecurityProfilesResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityProfileSummaryList' => [ 'shape' => 'SecurityProfileSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListUserHierarchyGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult1000', 'box' => true, 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListUserHierarchyGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'UserHierarchyGroupSummaryList' => [ 'shape' => 'HierarchyGroupSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'MaxResult1000', 'box' => true, 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'UserSummaryList' => [ 'shape' => 'UserSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResult100' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxResult1000' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', ], 'OutboundContactNotPermittedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'Password' => [ 'type' => 'string', 'pattern' => '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,64}$/', ], 'PhoneNumber' => [ 'type' => 'string', ], 'PhoneType' => [ 'type' => 'string', 'enum' => [ 'SOFT_PHONE', 'DESK_PHONE', ], ], 'QueueId' => [ 'type' => 'string', ], 'QueueReference' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'QueueId', ], 'Arn' => [ 'shape' => 'ARN', ], ], ], 'Queues' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueueId', ], 'max' => 100, 'min' => 1, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RoutingProfileId' => [ 'type' => 'string', ], 'RoutingProfileName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'RoutingProfileSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'RoutingProfileId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Name' => [ 'shape' => 'RoutingProfileName', ], ], ], 'RoutingProfileSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoutingProfileSummary', ], ], 'SecurityProfileId' => [ 'type' => 'string', ], 'SecurityProfileIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityProfileId', ], 'max' => 10, 'min' => 1, ], 'SecurityProfileName' => [ 'type' => 'string', ], 'SecurityProfileSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'SecurityProfileId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Name' => [ 'shape' => 'SecurityProfileName', ], ], ], 'SecurityProfileSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityProfileSummary', ], ], 'SecurityToken' => [ 'type' => 'string', 'sensitive' => true, ], 'StartOutboundVoiceContactRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationPhoneNumber', 'ContactFlowId', 'InstanceId', ], 'members' => [ 'DestinationPhoneNumber' => [ 'shape' => 'PhoneNumber', ], 'ContactFlowId' => [ 'shape' => 'ContactFlowId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], 'SourcePhoneNumber' => [ 'shape' => 'PhoneNumber', ], 'QueueId' => [ 'shape' => 'QueueId', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'StartOutboundVoiceContactResponse' => [ 'type' => 'structure', 'members' => [ 'ContactId' => [ 'shape' => 'ContactId', ], ], ], 'Statistic' => [ 'type' => 'string', 'enum' => [ 'SUM', 'MAX', 'AVG', ], ], 'StopContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactId', 'InstanceId', ], 'members' => [ 'ContactId' => [ 'shape' => 'ContactId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], ], ], 'StopContactResponse' => [ 'type' => 'structure', 'members' => [], ], 'Threshold' => [ 'type' => 'structure', 'members' => [ 'Comparison' => [ 'shape' => 'Comparison', ], 'ThresholdValue' => [ 'shape' => 'ThresholdValue', 'box' => true, ], ], ], 'ThresholdValue' => [ 'type' => 'double', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'Unit' => [ 'type' => 'string', 'enum' => [ 'SECONDS', 'COUNT', 'PERCENT', ], ], 'UpdateContactAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'InitialContactId', 'InstanceId', 'Attributes', ], 'members' => [ 'InitialContactId' => [ 'shape' => 'ContactId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'UpdateContactAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateUserHierarchyRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', 'InstanceId', ], 'members' => [ 'HierarchyGroupId' => [ 'shape' => 'HierarchyGroupId', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'UpdateUserIdentityInfoRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityInfo', 'UserId', 'InstanceId', ], 'members' => [ 'IdentityInfo' => [ 'shape' => 'UserIdentityInfo', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'UpdateUserPhoneConfigRequest' => [ 'type' => 'structure', 'required' => [ 'PhoneConfig', 'UserId', 'InstanceId', ], 'members' => [ 'PhoneConfig' => [ 'shape' => 'UserPhoneConfig', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'UpdateUserRoutingProfileRequest' => [ 'type' => 'structure', 'required' => [ 'RoutingProfileId', 'UserId', 'InstanceId', ], 'members' => [ 'RoutingProfileId' => [ 'shape' => 'RoutingProfileId', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'UpdateUserSecurityProfilesRequest' => [ 'type' => 'structure', 'required' => [ 'SecurityProfileIds', 'UserId', 'InstanceId', ], 'members' => [ 'SecurityProfileIds' => [ 'shape' => 'SecurityProfileIds', ], 'UserId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'UserId', ], 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'User' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'UserId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Username' => [ 'shape' => 'AgentUsername', ], 'IdentityInfo' => [ 'shape' => 'UserIdentityInfo', ], 'PhoneConfig' => [ 'shape' => 'UserPhoneConfig', ], 'DirectoryUserId' => [ 'shape' => 'DirectoryUserId', ], 'SecurityProfileIds' => [ 'shape' => 'SecurityProfileIds', ], 'RoutingProfileId' => [ 'shape' => 'RoutingProfileId', ], 'HierarchyGroupId' => [ 'shape' => 'HierarchyGroupId', ], ], ], 'UserId' => [ 'type' => 'string', ], 'UserIdentityInfo' => [ 'type' => 'structure', 'members' => [ 'FirstName' => [ 'shape' => 'AgentFirstName', ], 'LastName' => [ 'shape' => 'AgentLastName', ], 'Email' => [ 'shape' => 'Email', ], ], ], 'UserNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'UserPhoneConfig' => [ 'type' => 'structure', 'required' => [ 'PhoneType', ], 'members' => [ 'PhoneType' => [ 'shape' => 'PhoneType', ], 'AutoAccept' => [ 'shape' => 'AutoAccept', ], 'AfterContactWorkTimeLimit' => [ 'shape' => 'AfterContactWorkTimeLimit', ], 'DeskPhoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'UserSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'UserId', ], 'Arn' => [ 'shape' => 'ARN', ], 'Username' => [ 'shape' => 'AgentUsername', ], ], ], 'UserSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserSummary', ], ], 'Value' => [ 'type' => 'double', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/connect/2017-08-08/paginators-1.json.php b/lib/aws/Aws/data/connect/2017-08-08/paginators-1.json.php new file mode 100644 index 0000000..a047990 --- /dev/null +++ b/lib/aws/Aws/data/connect/2017-08-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/connect/2017-08-08/paginators-1.json +return [ 'pagination' => [ 'GetCurrentMetricData' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'GetMetricData' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/cur/2017-01-06/api-2.json.php b/lib/aws/Aws/data/cur/2017-01-06/api-2.json.php new file mode 100644 index 0000000..b2a8c56 --- /dev/null +++ b/lib/aws/Aws/data/cur/2017-01-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cur/2017-01-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-01-06', 'endpointPrefix' => 'cur', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Cost and Usage Report Service', 'serviceId' => 'Cost and Usage Report Service', 'signatureVersion' => 'v4', 'signingName' => 'cur', 'targetPrefix' => 'AWSOrigamiServiceGatewayService', 'uid' => 'cur-2017-01-06', ], 'operations' => [ 'DeleteReportDefinition' => [ 'name' => 'DeleteReportDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReportDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteReportDefinitionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeReportDefinitions' => [ 'name' => 'DescribeReportDefinitions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReportDefinitionsRequest', ], 'output' => [ 'shape' => 'DescribeReportDefinitionsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], ], ], 'PutReportDefinition' => [ 'name' => 'PutReportDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutReportDefinitionRequest', ], 'output' => [ 'shape' => 'PutReportDefinitionResponse', ], 'errors' => [ [ 'shape' => 'DuplicateReportNameException', ], [ 'shape' => 'ReportLimitReachedException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ValidationException', ], ], ], ], 'shapes' => [ 'AWSRegion' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-central-1', 'eu-west-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'eu-north-1', 'ap-northeast-3', ], ], 'AdditionalArtifact' => [ 'type' => 'string', 'enum' => [ 'REDSHIFT', 'QUICKSIGHT', 'ATHENA', ], ], 'AdditionalArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AdditionalArtifact', ], ], 'CompressionFormat' => [ 'type' => 'string', 'enum' => [ 'ZIP', 'GZIP', 'Parquet', ], ], 'DeleteReportDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ReportName' => [ 'shape' => 'ReportName', ], ], ], 'DeleteReportDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'ResponseMessage' => [ 'shape' => 'DeleteResponseMessage', ], ], ], 'DeleteResponseMessage' => [ 'type' => 'string', ], 'DescribeReportDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeReportDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'ReportDefinitions' => [ 'shape' => 'ReportDefinitionList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DuplicateReportNameException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GenericString' => [ 'type' => 'string', ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 5, 'min' => 5, ], 'PutReportDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'ReportDefinition', ], 'members' => [ 'ReportDefinition' => [ 'shape' => 'ReportDefinition', ], ], ], 'PutReportDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'RefreshClosedReports' => [ 'type' => 'boolean', 'box' => true, ], 'ReportDefinition' => [ 'type' => 'structure', 'required' => [ 'ReportName', 'TimeUnit', 'Format', 'Compression', 'AdditionalSchemaElements', 'S3Bucket', 'S3Prefix', 'S3Region', ], 'members' => [ 'ReportName' => [ 'shape' => 'ReportName', ], 'TimeUnit' => [ 'shape' => 'TimeUnit', ], 'Format' => [ 'shape' => 'ReportFormat', ], 'Compression' => [ 'shape' => 'CompressionFormat', ], 'AdditionalSchemaElements' => [ 'shape' => 'SchemaElementList', ], 'S3Bucket' => [ 'shape' => 'S3Bucket', ], 'S3Prefix' => [ 'shape' => 'S3Prefix', ], 'S3Region' => [ 'shape' => 'AWSRegion', ], 'AdditionalArtifacts' => [ 'shape' => 'AdditionalArtifactList', ], 'RefreshClosedReports' => [ 'shape' => 'RefreshClosedReports', ], 'ReportVersioning' => [ 'shape' => 'ReportVersioning', ], ], ], 'ReportDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReportDefinition', ], ], 'ReportFormat' => [ 'type' => 'string', 'enum' => [ 'textORcsv', 'Parquet', ], ], 'ReportLimitReachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReportName' => [ 'type' => 'string', 'max' => 256, 'pattern' => '[0-9A-Za-z!\\-_.*\\\'()]+', ], 'ReportVersioning' => [ 'type' => 'string', 'enum' => [ 'CREATE_NEW_REPORT', 'OVERWRITE_REPORT', ], ], 'S3Bucket' => [ 'type' => 'string', 'max' => 256, ], 'S3Prefix' => [ 'type' => 'string', 'max' => 256, 'pattern' => '[0-9A-Za-z!\\-_.*\\\'()/]*', ], 'SchemaElement' => [ 'type' => 'string', 'enum' => [ 'RESOURCES', ], ], 'SchemaElementList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaElement', ], ], 'TimeUnit' => [ 'type' => 'string', 'enum' => [ 'HOURLY', 'DAILY', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/cur/2017-01-06/paginators-1.json.php b/lib/aws/Aws/data/cur/2017-01-06/paginators-1.json.php new file mode 100644 index 0000000..d906ae0 --- /dev/null +++ b/lib/aws/Aws/data/cur/2017-01-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cur/2017-01-06/paginators-1.json +return [ 'pagination' => [ 'DescribeReportDefinitions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/cur/2017-01-06/smoke.json.php b/lib/aws/Aws/data/cur/2017-01-06/smoke.json.php new file mode 100644 index 0000000..a7e1d1a --- /dev/null +++ b/lib/aws/Aws/data/cur/2017-01-06/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/cur/2017-01-06/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'DescribeReportDefinitions', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/data.iot/2015-05-28/api-2.json.php b/lib/aws/Aws/data/data.iot/2015-05-28/api-2.json.php new file mode 100644 index 0000000..8127b69 --- /dev/null +++ b/lib/aws/Aws/data/data.iot/2015-05-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/data.iot/2015-05-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'iot-data-2015-05-28', 'apiVersion' => '2015-05-28', 'endpointPrefix' => 'data.iot', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS IoT Data Plane', 'signatureVersion' => 'v4', 'signingName' => 'iotdata', ], 'operations' => [ 'DeleteThingShadow' => [ 'name' => 'DeleteThingShadow', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/things/{thingName}/shadow', ], 'input' => [ 'shape' => 'DeleteThingShadowRequest', ], 'output' => [ 'shape' => 'DeleteThingShadowResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'UnsupportedDocumentEncodingException', ], ], ], 'GetThingShadow' => [ 'name' => 'GetThingShadow', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/shadow', ], 'input' => [ 'shape' => 'GetThingShadowRequest', ], 'output' => [ 'shape' => 'GetThingShadowResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'UnsupportedDocumentEncodingException', ], ], ], 'Publish' => [ 'name' => 'Publish', 'http' => [ 'method' => 'POST', 'requestUri' => '/topics/{topic}', ], 'input' => [ 'shape' => 'PublishRequest', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'MethodNotAllowedException', ], ], ], 'UpdateThingShadow' => [ 'name' => 'UpdateThingShadow', 'http' => [ 'method' => 'POST', 'requestUri' => '/things/{thingName}/shadow', ], 'input' => [ 'shape' => 'UpdateThingShadowRequest', ], 'output' => [ 'shape' => 'UpdateThingShadowResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'RequestEntityTooLargeException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'UnsupportedDocumentEncodingException', ], ], ], ], 'shapes' => [ 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DeleteThingShadowRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], ], ], 'DeleteThingShadowResponse' => [ 'type' => 'structure', 'required' => [ 'payload', ], 'members' => [ 'payload' => [ 'shape' => 'JsonDocument', ], ], 'payload' => 'payload', ], 'ErrorMessage' => [ 'type' => 'string', ], 'GetThingShadowRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], ], ], 'GetThingShadowResponse' => [ 'type' => 'structure', 'members' => [ 'payload' => [ 'shape' => 'JsonDocument', ], ], 'payload' => 'payload', ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'JsonDocument' => [ 'type' => 'blob', ], 'MethodNotAllowedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 405, ], 'exception' => true, ], 'Payload' => [ 'type' => 'blob', ], 'PublishRequest' => [ 'type' => 'structure', 'required' => [ 'topic', ], 'members' => [ 'topic' => [ 'shape' => 'Topic', 'location' => 'uri', 'locationName' => 'topic', ], 'qos' => [ 'shape' => 'Qos', 'location' => 'querystring', 'locationName' => 'qos', ], 'payload' => [ 'shape' => 'Payload', ], ], 'payload' => 'payload', ], 'Qos' => [ 'type' => 'integer', 'max' => 1, 'min' => 0, ], 'RequestEntityTooLargeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'ThingName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'Topic' => [ 'type' => 'string', ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UnsupportedDocumentEncodingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 415, ], 'exception' => true, ], 'UpdateThingShadowRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', 'payload', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'payload' => [ 'shape' => 'JsonDocument', ], ], 'payload' => 'payload', ], 'UpdateThingShadowResponse' => [ 'type' => 'structure', 'members' => [ 'payload' => [ 'shape' => 'JsonDocument', ], ], 'payload' => 'payload', ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/datapipeline/2012-10-29/api-2.json.php b/lib/aws/Aws/data/datapipeline/2012-10-29/api-2.json.php new file mode 100644 index 0000000..e200421 --- /dev/null +++ b/lib/aws/Aws/data/datapipeline/2012-10-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/datapipeline/2012-10-29/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-10-29', 'endpointPrefix' => 'datapipeline', 'jsonVersion' => '1.1', 'serviceFullName' => 'AWS Data Pipeline', 'signatureVersion' => 'v4', 'targetPrefix' => 'DataPipeline', 'protocol' => 'json', 'uid' => 'datapipeline-2012-10-29', ], 'operations' => [ 'ActivatePipeline' => [ 'name' => 'ActivatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ActivatePipelineInput', ], 'output' => [ 'shape' => 'ActivatePipelineOutput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'CreatePipeline' => [ 'name' => 'CreatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePipelineInput', ], 'output' => [ 'shape' => 'CreatePipelineOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'DeactivatePipeline' => [ 'name' => 'DeactivatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeactivatePipelineInput', ], 'output' => [ 'shape' => 'DeactivatePipelineOutput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'DeletePipeline' => [ 'name' => 'DeletePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePipelineInput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'DescribeObjects' => [ 'name' => 'DescribeObjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeObjectsInput', ], 'output' => [ 'shape' => 'DescribeObjectsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'DescribePipelines' => [ 'name' => 'DescribePipelines', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePipelinesInput', ], 'output' => [ 'shape' => 'DescribePipelinesOutput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'EvaluateExpression' => [ 'name' => 'EvaluateExpression', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EvaluateExpressionInput', ], 'output' => [ 'shape' => 'EvaluateExpressionOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'TaskNotFoundException', 'exception' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'GetPipelineDefinition' => [ 'name' => 'GetPipelineDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPipelineDefinitionInput', ], 'output' => [ 'shape' => 'GetPipelineDefinitionOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'ListPipelines' => [ 'name' => 'ListPipelines', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPipelinesInput', ], 'output' => [ 'shape' => 'ListPipelinesOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'PollForTask' => [ 'name' => 'PollForTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PollForTaskInput', ], 'output' => [ 'shape' => 'PollForTaskOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'TaskNotFoundException', 'exception' => true, ], ], ], 'PutPipelineDefinition' => [ 'name' => 'PutPipelineDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPipelineDefinitionInput', ], 'output' => [ 'shape' => 'PutPipelineDefinitionOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'QueryObjects' => [ 'name' => 'QueryObjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'QueryObjectsInput', ], 'output' => [ 'shape' => 'QueryObjectsOutput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsInput', ], 'output' => [ 'shape' => 'RemoveTagsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'ReportTaskProgress' => [ 'name' => 'ReportTaskProgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportTaskProgressInput', ], 'output' => [ 'shape' => 'ReportTaskProgressOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'TaskNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'ReportTaskRunnerHeartbeat' => [ 'name' => 'ReportTaskRunnerHeartbeat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportTaskRunnerHeartbeatInput', ], 'output' => [ 'shape' => 'ReportTaskRunnerHeartbeatOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'SetStatus' => [ 'name' => 'SetStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetStatusInput', ], 'errors' => [ [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], ], ], 'SetTaskStatus' => [ 'name' => 'SetTaskStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetTaskStatusInput', ], 'output' => [ 'shape' => 'SetTaskStatusOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'TaskNotFoundException', 'exception' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], 'ValidatePipelineDefinition' => [ 'name' => 'ValidatePipelineDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ValidatePipelineDefinitionInput', ], 'output' => [ 'shape' => 'ValidatePipelineDefinitionOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceError', 'exception' => true, 'fault' => true, ], [ 'shape' => 'InvalidRequestException', 'exception' => true, ], [ 'shape' => 'PipelineNotFoundException', 'exception' => true, ], [ 'shape' => 'PipelineDeletedException', 'exception' => true, ], ], ], ], 'shapes' => [ 'ActivatePipelineInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'parameterValues' => [ 'shape' => 'ParameterValueList', ], 'startTimestamp' => [ 'shape' => 'timestamp', ], ], ], 'ActivatePipelineOutput' => [ 'type' => 'structure', 'members' => [], ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'tags', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'tags' => [ 'shape' => 'tagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreatePipelineInput' => [ 'type' => 'structure', 'required' => [ 'name', 'uniqueId', ], 'members' => [ 'name' => [ 'shape' => 'id', ], 'uniqueId' => [ 'shape' => 'id', ], 'description' => [ 'shape' => 'string', ], 'tags' => [ 'shape' => 'tagList', ], ], ], 'CreatePipelineOutput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], ], ], 'DeactivatePipelineInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'cancelActive' => [ 'shape' => 'cancelActive', ], ], ], 'DeactivatePipelineOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeletePipelineInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], ], ], 'DescribeObjectsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'objectIds', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'objectIds' => [ 'shape' => 'idList', ], 'evaluateExpressions' => [ 'shape' => 'boolean', ], 'marker' => [ 'shape' => 'string', ], ], ], 'DescribeObjectsOutput' => [ 'type' => 'structure', 'required' => [ 'pipelineObjects', ], 'members' => [ 'pipelineObjects' => [ 'shape' => 'PipelineObjectList', ], 'marker' => [ 'shape' => 'string', ], 'hasMoreResults' => [ 'shape' => 'boolean', ], ], ], 'DescribePipelinesInput' => [ 'type' => 'structure', 'required' => [ 'pipelineIds', ], 'members' => [ 'pipelineIds' => [ 'shape' => 'idList', ], ], ], 'DescribePipelinesOutput' => [ 'type' => 'structure', 'required' => [ 'pipelineDescriptionList', ], 'members' => [ 'pipelineDescriptionList' => [ 'shape' => 'PipelineDescriptionList', ], ], ], 'EvaluateExpressionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'objectId', 'expression', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'objectId' => [ 'shape' => 'id', ], 'expression' => [ 'shape' => 'longString', ], ], ], 'EvaluateExpressionOutput' => [ 'type' => 'structure', 'required' => [ 'evaluatedExpression', ], 'members' => [ 'evaluatedExpression' => [ 'shape' => 'longString', ], ], ], 'Field' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'fieldNameString', ], 'stringValue' => [ 'shape' => 'fieldStringValue', ], 'refValue' => [ 'shape' => 'fieldNameString', ], ], ], 'GetPipelineDefinitionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'version' => [ 'shape' => 'string', ], ], ], 'GetPipelineDefinitionOutput' => [ 'type' => 'structure', 'members' => [ 'pipelineObjects' => [ 'shape' => 'PipelineObjectList', ], 'parameterObjects' => [ 'shape' => 'ParameterObjectList', ], 'parameterValues' => [ 'shape' => 'ParameterValueList', ], ], ], 'InstanceIdentity' => [ 'type' => 'structure', 'members' => [ 'document' => [ 'shape' => 'string', ], 'signature' => [ 'shape' => 'string', ], ], ], 'InternalServiceError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'ListPipelinesInput' => [ 'type' => 'structure', 'members' => [ 'marker' => [ 'shape' => 'string', ], ], ], 'ListPipelinesOutput' => [ 'type' => 'structure', 'required' => [ 'pipelineIdList', ], 'members' => [ 'pipelineIdList' => [ 'shape' => 'pipelineList', ], 'marker' => [ 'shape' => 'string', ], 'hasMoreResults' => [ 'shape' => 'boolean', ], ], ], 'Operator' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'OperatorType', ], 'values' => [ 'shape' => 'stringList', ], ], ], 'OperatorType' => [ 'type' => 'string', 'enum' => [ 'EQ', 'REF_EQ', 'LE', 'GE', 'BETWEEN', ], ], 'ParameterAttribute' => [ 'type' => 'structure', 'required' => [ 'key', 'stringValue', ], 'members' => [ 'key' => [ 'shape' => 'attributeNameString', ], 'stringValue' => [ 'shape' => 'attributeValueString', ], ], ], 'ParameterAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterAttribute', ], ], 'ParameterObject' => [ 'type' => 'structure', 'required' => [ 'id', 'attributes', ], 'members' => [ 'id' => [ 'shape' => 'fieldNameString', ], 'attributes' => [ 'shape' => 'ParameterAttributeList', ], ], ], 'ParameterObjectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterObject', ], ], 'ParameterValue' => [ 'type' => 'structure', 'required' => [ 'id', 'stringValue', ], 'members' => [ 'id' => [ 'shape' => 'fieldNameString', ], 'stringValue' => [ 'shape' => 'fieldStringValue', ], ], ], 'ParameterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], ], 'PipelineDeletedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'PipelineDescription' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'name', 'fields', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'name' => [ 'shape' => 'id', ], 'fields' => [ 'shape' => 'fieldList', ], 'description' => [ 'shape' => 'string', ], 'tags' => [ 'shape' => 'tagList', ], ], ], 'PipelineDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineDescription', ], ], 'PipelineIdName' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'id', ], 'name' => [ 'shape' => 'id', ], ], ], 'PipelineNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'PipelineObject' => [ 'type' => 'structure', 'required' => [ 'id', 'name', 'fields', ], 'members' => [ 'id' => [ 'shape' => 'id', ], 'name' => [ 'shape' => 'id', ], 'fields' => [ 'shape' => 'fieldList', ], ], ], 'PipelineObjectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineObject', ], ], 'PipelineObjectMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'id', ], 'value' => [ 'shape' => 'PipelineObject', ], ], 'PollForTaskInput' => [ 'type' => 'structure', 'required' => [ 'workerGroup', ], 'members' => [ 'workerGroup' => [ 'shape' => 'string', ], 'hostname' => [ 'shape' => 'id', ], 'instanceIdentity' => [ 'shape' => 'InstanceIdentity', ], ], ], 'PollForTaskOutput' => [ 'type' => 'structure', 'members' => [ 'taskObject' => [ 'shape' => 'TaskObject', ], ], ], 'PutPipelineDefinitionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'pipelineObjects', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'pipelineObjects' => [ 'shape' => 'PipelineObjectList', ], 'parameterObjects' => [ 'shape' => 'ParameterObjectList', ], 'parameterValues' => [ 'shape' => 'ParameterValueList', ], ], ], 'PutPipelineDefinitionOutput' => [ 'type' => 'structure', 'required' => [ 'errored', ], 'members' => [ 'validationErrors' => [ 'shape' => 'ValidationErrors', ], 'validationWarnings' => [ 'shape' => 'ValidationWarnings', ], 'errored' => [ 'shape' => 'boolean', ], ], ], 'Query' => [ 'type' => 'structure', 'members' => [ 'selectors' => [ 'shape' => 'SelectorList', ], ], ], 'QueryObjectsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'sphere', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'query' => [ 'shape' => 'Query', ], 'sphere' => [ 'shape' => 'string', ], 'marker' => [ 'shape' => 'string', ], 'limit' => [ 'shape' => 'int', ], ], ], 'QueryObjectsOutput' => [ 'type' => 'structure', 'members' => [ 'ids' => [ 'shape' => 'idList', ], 'marker' => [ 'shape' => 'string', ], 'hasMoreResults' => [ 'shape' => 'boolean', ], ], ], 'RemoveTagsInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'tagKeys', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'tagKeys' => [ 'shape' => 'stringList', ], ], ], 'RemoveTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'ReportTaskProgressInput' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'taskId', ], 'fields' => [ 'shape' => 'fieldList', ], ], ], 'ReportTaskProgressOutput' => [ 'type' => 'structure', 'required' => [ 'canceled', ], 'members' => [ 'canceled' => [ 'shape' => 'boolean', ], ], ], 'ReportTaskRunnerHeartbeatInput' => [ 'type' => 'structure', 'required' => [ 'taskrunnerId', ], 'members' => [ 'taskrunnerId' => [ 'shape' => 'id', ], 'workerGroup' => [ 'shape' => 'string', ], 'hostname' => [ 'shape' => 'id', ], ], ], 'ReportTaskRunnerHeartbeatOutput' => [ 'type' => 'structure', 'required' => [ 'terminate', ], 'members' => [ 'terminate' => [ 'shape' => 'boolean', ], ], ], 'Selector' => [ 'type' => 'structure', 'members' => [ 'fieldName' => [ 'shape' => 'string', ], 'operator' => [ 'shape' => 'Operator', ], ], ], 'SelectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Selector', ], ], 'SetStatusInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'objectIds', 'status', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'objectIds' => [ 'shape' => 'idList', ], 'status' => [ 'shape' => 'string', ], ], ], 'SetTaskStatusInput' => [ 'type' => 'structure', 'required' => [ 'taskId', 'taskStatus', ], 'members' => [ 'taskId' => [ 'shape' => 'taskId', ], 'taskStatus' => [ 'shape' => 'TaskStatus', ], 'errorId' => [ 'shape' => 'string', ], 'errorMessage' => [ 'shape' => 'errorMessage', ], 'errorStackTrace' => [ 'shape' => 'string', ], ], ], 'SetTaskStatusOutput' => [ 'type' => 'structure', 'members' => [], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'tagKey', ], 'value' => [ 'shape' => 'tagValue', ], ], ], 'TaskNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'TaskObject' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'taskId', ], 'pipelineId' => [ 'shape' => 'id', ], 'attemptId' => [ 'shape' => 'id', ], 'objects' => [ 'shape' => 'PipelineObjectMap', ], ], ], 'TaskStatus' => [ 'type' => 'string', 'enum' => [ 'FINISHED', 'FAILED', 'FALSE', ], ], 'ValidatePipelineDefinitionInput' => [ 'type' => 'structure', 'required' => [ 'pipelineId', 'pipelineObjects', ], 'members' => [ 'pipelineId' => [ 'shape' => 'id', ], 'pipelineObjects' => [ 'shape' => 'PipelineObjectList', ], 'parameterObjects' => [ 'shape' => 'ParameterObjectList', ], 'parameterValues' => [ 'shape' => 'ParameterValueList', ], ], ], 'ValidatePipelineDefinitionOutput' => [ 'type' => 'structure', 'required' => [ 'errored', ], 'members' => [ 'validationErrors' => [ 'shape' => 'ValidationErrors', ], 'validationWarnings' => [ 'shape' => 'ValidationWarnings', ], 'errored' => [ 'shape' => 'boolean', ], ], ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'id', ], 'errors' => [ 'shape' => 'validationMessages', ], ], ], 'ValidationErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidationError', ], ], 'ValidationWarning' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'id', ], 'warnings' => [ 'shape' => 'validationMessages', ], ], ], 'ValidationWarnings' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidationWarning', ], ], 'attributeNameString' => [ 'type' => 'string', 'min' => 1, 'max' => 256, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'attributeValueString' => [ 'type' => 'string', 'min' => 0, 'max' => 10240, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'boolean' => [ 'type' => 'boolean', ], 'cancelActive' => [ 'type' => 'boolean', ], 'errorMessage' => [ 'type' => 'string', ], 'fieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Field', ], ], 'fieldNameString' => [ 'type' => 'string', 'min' => 1, 'max' => 256, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'fieldStringValue' => [ 'type' => 'string', 'min' => 0, 'max' => 10240, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'id' => [ 'type' => 'string', 'min' => 1, 'max' => 1024, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'idList' => [ 'type' => 'list', 'member' => [ 'shape' => 'id', ], ], 'int' => [ 'type' => 'integer', ], 'longString' => [ 'type' => 'string', 'min' => 0, 'max' => 20971520, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'pipelineList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineIdName', ], ], 'string' => [ 'type' => 'string', 'min' => 0, 'max' => 1024, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'stringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], ], 'tagKey' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], 'tagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'min' => 0, 'max' => 10, ], 'tagValue' => [ 'type' => 'string', 'min' => 0, 'max' => 256, ], 'taskId' => [ 'type' => 'string', 'min' => 1, 'max' => 2048, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'timestamp' => [ 'type' => 'timestamp', ], 'validationMessage' => [ 'type' => 'string', 'min' => 0, 'max' => 10000, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'validationMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'validationMessage', ], ], ],]; diff --git a/lib/aws/Aws/data/datapipeline/2012-10-29/paginators-1.json.php b/lib/aws/Aws/data/datapipeline/2012-10-29/paginators-1.json.php new file mode 100644 index 0000000..8ec259b --- /dev/null +++ b/lib/aws/Aws/data/datapipeline/2012-10-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/datapipeline/2012-10-29/paginators-1.json +return [ 'pagination' => [ 'ListPipelines' => [ 'input_token' => 'marker', 'output_token' => 'marker', 'more_results' => 'hasMoreResults', 'result_key' => 'pipelineIdList', ], 'DescribeObjects' => [ 'input_token' => 'marker', 'output_token' => 'marker', 'more_results' => 'hasMoreResults', 'result_key' => 'pipelineObjects', ], 'DescribePipelines' => [ 'result_key' => 'pipelineDescriptionList', ], 'QueryObjects' => [ 'input_token' => 'marker', 'output_token' => 'marker', 'more_results' => 'hasMoreResults', 'limit_key' => 'limit', 'result_key' => 'ids', ], ],]; diff --git a/lib/aws/Aws/data/datasync/2018-11-09/api-2.json.php b/lib/aws/Aws/data/datasync/2018-11-09/api-2.json.php new file mode 100644 index 0000000..348c49e --- /dev/null +++ b/lib/aws/Aws/data/datasync/2018-11-09/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/datasync/2018-11-09/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-11-09', 'endpointPrefix' => 'datasync', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'DataSync', 'serviceFullName' => 'AWS DataSync', 'serviceId' => 'DataSync', 'signatureVersion' => 'v4', 'signingName' => 'datasync', 'targetPrefix' => 'FmrsService', 'uid' => 'datasync-2018-11-09', ], 'operations' => [ 'CancelTaskExecution' => [ 'name' => 'CancelTaskExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelTaskExecutionRequest', ], 'output' => [ 'shape' => 'CancelTaskExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateAgent' => [ 'name' => 'CreateAgent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAgentRequest', ], 'output' => [ 'shape' => 'CreateAgentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateLocationEfs' => [ 'name' => 'CreateLocationEfs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLocationEfsRequest', ], 'output' => [ 'shape' => 'CreateLocationEfsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateLocationNfs' => [ 'name' => 'CreateLocationNfs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLocationNfsRequest', ], 'output' => [ 'shape' => 'CreateLocationNfsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateLocationS3' => [ 'name' => 'CreateLocationS3', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLocationS3Request', ], 'output' => [ 'shape' => 'CreateLocationS3Response', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateTask' => [ 'name' => 'CreateTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTaskRequest', ], 'output' => [ 'shape' => 'CreateTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteAgent' => [ 'name' => 'DeleteAgent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAgentRequest', ], 'output' => [ 'shape' => 'DeleteAgentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteLocation' => [ 'name' => 'DeleteLocation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLocationRequest', ], 'output' => [ 'shape' => 'DeleteLocationResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteTask' => [ 'name' => 'DeleteTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTaskRequest', ], 'output' => [ 'shape' => 'DeleteTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeAgent' => [ 'name' => 'DescribeAgent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAgentRequest', ], 'output' => [ 'shape' => 'DescribeAgentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeLocationEfs' => [ 'name' => 'DescribeLocationEfs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLocationEfsRequest', ], 'output' => [ 'shape' => 'DescribeLocationEfsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeLocationNfs' => [ 'name' => 'DescribeLocationNfs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLocationNfsRequest', ], 'output' => [ 'shape' => 'DescribeLocationNfsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeLocationS3' => [ 'name' => 'DescribeLocationS3', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLocationS3Request', ], 'output' => [ 'shape' => 'DescribeLocationS3Response', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeTask' => [ 'name' => 'DescribeTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTaskRequest', ], 'output' => [ 'shape' => 'DescribeTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeTaskExecution' => [ 'name' => 'DescribeTaskExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTaskExecutionRequest', ], 'output' => [ 'shape' => 'DescribeTaskExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'ListAgents' => [ 'name' => 'ListAgents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAgentsRequest', ], 'output' => [ 'shape' => 'ListAgentsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'ListLocations' => [ 'name' => 'ListLocations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLocationsRequest', ], 'output' => [ 'shape' => 'ListLocationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTaskExecutions' => [ 'name' => 'ListTaskExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTaskExecutionsRequest', ], 'output' => [ 'shape' => 'ListTaskExecutionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTasks' => [ 'name' => 'ListTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTasksRequest', ], 'output' => [ 'shape' => 'ListTasksResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'StartTaskExecution' => [ 'name' => 'StartTaskExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTaskExecutionRequest', ], 'output' => [ 'shape' => 'StartTaskExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateAgent' => [ 'name' => 'UpdateAgent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAgentRequest', ], 'output' => [ 'shape' => 'UpdateAgentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateTask' => [ 'name' => 'UpdateTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTaskRequest', ], 'output' => [ 'shape' => 'UpdateTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'ActivationKey' => [ 'type' => 'string', 'max' => 29, 'pattern' => '[A-Z0-9]{5}(-[A-Z0-9]{5}){4}', ], 'AgentArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$', ], 'AgentArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentArn', ], 'max' => 64, 'min' => 1, ], 'AgentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentListEntry', ], ], 'AgentListEntry' => [ 'type' => 'structure', 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], 'Name' => [ 'shape' => 'TagValue', ], 'Status' => [ 'shape' => 'AgentStatus', ], ], ], 'AgentStatus' => [ 'type' => 'string', 'enum' => [ 'ONLINE', 'OFFLINE', ], ], 'Atime' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BEST_EFFORT', ], ], 'BytesPerSecond' => [ 'type' => 'long', 'min' => -1, ], 'CancelTaskExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'TaskExecutionArn', ], 'members' => [ 'TaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], ], ], 'CancelTaskExecutionResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateAgentRequest' => [ 'type' => 'structure', 'required' => [ 'ActivationKey', ], 'members' => [ 'ActivationKey' => [ 'shape' => 'ActivationKey', ], 'AgentName' => [ 'shape' => 'TagValue', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateAgentResponse' => [ 'type' => 'structure', 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], ], ], 'CreateLocationEfsRequest' => [ 'type' => 'structure', 'required' => [ 'Subdirectory', 'EfsFilesystemArn', 'Ec2Config', ], 'members' => [ 'Subdirectory' => [ 'shape' => 'Subdirectory', ], 'EfsFilesystemArn' => [ 'shape' => 'EfsFilesystemArn', ], 'Ec2Config' => [ 'shape' => 'Ec2Config', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLocationEfsResponse' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'CreateLocationNfsRequest' => [ 'type' => 'structure', 'required' => [ 'Subdirectory', 'ServerHostname', 'OnPremConfig', ], 'members' => [ 'Subdirectory' => [ 'shape' => 'Subdirectory', ], 'ServerHostname' => [ 'shape' => 'ServerHostname', ], 'OnPremConfig' => [ 'shape' => 'OnPremConfig', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLocationNfsResponse' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'CreateLocationS3Request' => [ 'type' => 'structure', 'required' => [ 'Subdirectory', 'S3BucketArn', 'S3Config', ], 'members' => [ 'Subdirectory' => [ 'shape' => 'Subdirectory', ], 'S3BucketArn' => [ 'shape' => 'S3BucketArn', ], 'S3Config' => [ 'shape' => 'S3Config', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLocationS3Response' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'CreateTaskRequest' => [ 'type' => 'structure', 'required' => [ 'SourceLocationArn', 'DestinationLocationArn', ], 'members' => [ 'SourceLocationArn' => [ 'shape' => 'LocationArn', ], 'DestinationLocationArn' => [ 'shape' => 'LocationArn', ], 'CloudWatchLogGroupArn' => [ 'shape' => 'LogGroupArn', ], 'Name' => [ 'shape' => 'TagValue', ], 'Options' => [ 'shape' => 'Options', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateTaskResponse' => [ 'type' => 'structure', 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], ], ], 'DeleteAgentRequest' => [ 'type' => 'structure', 'required' => [ 'AgentArn', ], 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], ], ], 'DeleteAgentResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLocationRequest' => [ 'type' => 'structure', 'required' => [ 'LocationArn', ], 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'DeleteLocationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTaskRequest' => [ 'type' => 'structure', 'required' => [ 'TaskArn', ], 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], ], ], 'DeleteTaskResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAgentRequest' => [ 'type' => 'structure', 'required' => [ 'AgentArn', ], 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], ], ], 'DescribeAgentResponse' => [ 'type' => 'structure', 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], 'Name' => [ 'shape' => 'TagValue', ], 'Status' => [ 'shape' => 'AgentStatus', ], 'LastConnectionTime' => [ 'shape' => 'Time', ], 'CreationTime' => [ 'shape' => 'Time', ], ], ], 'DescribeLocationEfsRequest' => [ 'type' => 'structure', 'required' => [ 'LocationArn', ], 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'DescribeLocationEfsResponse' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], 'LocationUri' => [ 'shape' => 'LocationUri', ], 'Ec2Config' => [ 'shape' => 'Ec2Config', ], 'CreationTime' => [ 'shape' => 'Time', ], ], ], 'DescribeLocationNfsRequest' => [ 'type' => 'structure', 'required' => [ 'LocationArn', ], 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'DescribeLocationNfsResponse' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], 'LocationUri' => [ 'shape' => 'LocationUri', ], 'OnPremConfig' => [ 'shape' => 'OnPremConfig', ], 'CreationTime' => [ 'shape' => 'Time', ], ], ], 'DescribeLocationS3Request' => [ 'type' => 'structure', 'required' => [ 'LocationArn', ], 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], ], ], 'DescribeLocationS3Response' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], 'LocationUri' => [ 'shape' => 'LocationUri', ], 'S3Config' => [ 'shape' => 'S3Config', ], 'CreationTime' => [ 'shape' => 'Time', ], ], ], 'DescribeTaskExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'TaskExecutionArn', ], 'members' => [ 'TaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], ], ], 'DescribeTaskExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'TaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], 'Status' => [ 'shape' => 'TaskExecutionStatus', ], 'Options' => [ 'shape' => 'Options', ], 'StartTime' => [ 'shape' => 'Time', ], 'EstimatedFilesToTransfer' => [ 'shape' => 'long', ], 'EstimatedBytesToTransfer' => [ 'shape' => 'long', ], 'FilesTransferred' => [ 'shape' => 'long', ], 'BytesWritten' => [ 'shape' => 'long', ], 'BytesTransferred' => [ 'shape' => 'long', ], 'Result' => [ 'shape' => 'TaskExecutionResultDetail', ], ], ], 'DescribeTaskRequest' => [ 'type' => 'structure', 'required' => [ 'TaskArn', ], 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], ], ], 'DescribeTaskResponse' => [ 'type' => 'structure', 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], 'Status' => [ 'shape' => 'TaskStatus', ], 'Name' => [ 'shape' => 'TagValue', ], 'CurrentTaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], 'SourceLocationArn' => [ 'shape' => 'LocationArn', ], 'DestinationLocationArn' => [ 'shape' => 'LocationArn', ], 'CloudWatchLogGroupArn' => [ 'shape' => 'LogGroupArn', ], 'Options' => [ 'shape' => 'Options', ], 'ErrorCode' => [ 'shape' => 'string', ], 'ErrorDetail' => [ 'shape' => 'string', ], 'CreationTime' => [ 'shape' => 'Time', ], ], ], 'Duration' => [ 'type' => 'long', 'min' => 0, ], 'Ec2Config' => [ 'type' => 'structure', 'required' => [ 'SubnetArn', 'SecurityGroupArns', ], 'members' => [ 'SubnetArn' => [ 'shape' => 'Ec2SubnetArn', ], 'SecurityGroupArns' => [ 'shape' => 'Ec2SecurityGroupArnList', ], ], ], 'Ec2SecurityGroupArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$', ], 'Ec2SecurityGroupArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ec2SecurityGroupArn', ], 'max' => 5, 'min' => 1, ], 'Ec2SubnetArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$', ], 'EfsFilesystemArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$', ], 'Gid' => [ 'type' => 'string', 'enum' => [ 'NONE', 'INT_VALUE', 'NAME', 'BOTH', ], ], 'IamRoleArn' => [ 'type' => 'string', 'max' => 2048, 'pattern' => '^arn:(aws|aws-cn):iam::[0-9]{12}:role/.*$', ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], 'errorCode' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'ListAgentsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAgentsResponse' => [ 'type' => 'structure', 'members' => [ 'Agents' => [ 'shape' => 'AgentList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListLocationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListLocationsResponse' => [ 'type' => 'structure', 'members' => [ 'Locations' => [ 'shape' => 'LocationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'TaggableResourceArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTaskExecutionsRequest' => [ 'type' => 'structure', 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTaskExecutionsResponse' => [ 'type' => 'structure', 'members' => [ 'TaskExecutions' => [ 'shape' => 'TaskExecutionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTasksRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTasksResponse' => [ 'type' => 'structure', 'members' => [ 'Tasks' => [ 'shape' => 'TaskList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LocationArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LocationListEntry', ], ], 'LocationListEntry' => [ 'type' => 'structure', 'members' => [ 'LocationArn' => [ 'shape' => 'LocationArn', ], 'LocationUri' => [ 'shape' => 'LocationUri', ], ], ], 'LocationUri' => [ 'type' => 'string', 'pattern' => '(efs|nfs|s3)://[a-zA-Z0-9.\\-]+', ], 'LogGroupArn' => [ 'type' => 'string', 'max' => 562, 'pattern' => '^arn:(aws|aws-cn):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)$', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'Mtime' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PRESERVE', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 93, 'pattern' => '[a-zA-Z0-9=_-]+', ], 'OnPremConfig' => [ 'type' => 'structure', 'required' => [ 'AgentArns', ], 'members' => [ 'AgentArns' => [ 'shape' => 'AgentArnList', ], ], ], 'Options' => [ 'type' => 'structure', 'members' => [ 'VerifyMode' => [ 'shape' => 'VerifyMode', ], 'Atime' => [ 'shape' => 'Atime', ], 'Mtime' => [ 'shape' => 'Mtime', ], 'Uid' => [ 'shape' => 'Uid', ], 'Gid' => [ 'shape' => 'Gid', ], 'PreserveDeletedFiles' => [ 'shape' => 'PreserveDeletedFiles', ], 'PreserveDevices' => [ 'shape' => 'PreserveDevices', ], 'PosixPermissions' => [ 'shape' => 'PosixPermissions', ], 'BytesPerSecond' => [ 'shape' => 'BytesPerSecond', ], ], ], 'PhaseStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'SUCCESS', 'ERROR', ], ], 'PosixPermissions' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BEST_EFFORT', 'PRESERVE', ], ], 'PreserveDeletedFiles' => [ 'type' => 'string', 'enum' => [ 'PRESERVE', 'REMOVE', ], ], 'PreserveDevices' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PRESERVE', ], ], 'S3BucketArn' => [ 'type' => 'string', 'max' => 76, 'pattern' => '^arn:(aws|aws-cn):s3:::([^/]*)$', ], 'S3Config' => [ 'type' => 'structure', 'required' => [ 'BucketAccessRoleArn', ], 'members' => [ 'BucketAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], ], ], 'ServerHostname' => [ 'type' => 'string', 'max' => 255, 'pattern' => '^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])$', ], 'StartTaskExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'TaskArn', ], 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], 'OverrideOptions' => [ 'shape' => 'Options', ], ], ], 'StartTaskExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'TaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], ], ], 'Subdirectory' => [ 'type' => 'string', 'max' => 4096, 'pattern' => '^[a-zA-Z0-9_\\-\\./]+$', ], 'TagKey' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9\\s+=._:/-]{1,128}$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagListEntry', ], 'max' => 55, 'min' => 0, ], 'TagListEntry' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'TaggableResourceArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9\\s+=._:/-]{1,256}$', ], 'TaggableResourceArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location)/(agent|task|loc)-[0-9a-z]{17}$', ], 'TaskArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$', ], 'TaskExecutionArn' => [ 'type' => 'string', 'max' => 128, 'pattern' => '^arn:(aws|aws-cn):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$', ], 'TaskExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskExecutionListEntry', ], ], 'TaskExecutionListEntry' => [ 'type' => 'structure', 'members' => [ 'TaskExecutionArn' => [ 'shape' => 'TaskExecutionArn', ], 'Status' => [ 'shape' => 'TaskExecutionStatus', ], ], ], 'TaskExecutionResultDetail' => [ 'type' => 'structure', 'members' => [ 'PrepareDuration' => [ 'shape' => 'Duration', ], 'PrepareStatus' => [ 'shape' => 'PhaseStatus', ], 'TransferDuration' => [ 'shape' => 'Duration', ], 'TransferStatus' => [ 'shape' => 'PhaseStatus', ], 'VerifyDuration' => [ 'shape' => 'Duration', ], 'VerifyStatus' => [ 'shape' => 'PhaseStatus', ], 'ErrorCode' => [ 'shape' => 'string', ], 'ErrorDetail' => [ 'shape' => 'string', ], ], ], 'TaskExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'LAUNCHING', 'PREPARING', 'TRANSFERRING', 'VERIFYING', 'SUCCESS', 'ERROR', ], ], 'TaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskListEntry', ], ], 'TaskListEntry' => [ 'type' => 'structure', 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], 'Status' => [ 'shape' => 'TaskStatus', ], 'Name' => [ 'shape' => 'TagValue', ], ], ], 'TaskStatus' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'CREATING', 'RUNNING', 'UNAVAILABLE', ], ], 'Time' => [ 'type' => 'timestamp', ], 'Uid' => [ 'type' => 'string', 'enum' => [ 'NONE', 'INT_VALUE', 'NAME', 'BOTH', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Keys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'TaggableResourceArn', ], 'Keys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateAgentRequest' => [ 'type' => 'structure', 'required' => [ 'AgentArn', ], 'members' => [ 'AgentArn' => [ 'shape' => 'AgentArn', ], 'Name' => [ 'shape' => 'TagValue', ], ], ], 'UpdateAgentResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTaskRequest' => [ 'type' => 'structure', 'required' => [ 'TaskArn', ], 'members' => [ 'TaskArn' => [ 'shape' => 'TaskArn', ], 'Options' => [ 'shape' => 'Options', ], 'Name' => [ 'shape' => 'TagValue', ], ], ], 'UpdateTaskResponse' => [ 'type' => 'structure', 'members' => [], ], 'VerifyMode' => [ 'type' => 'string', 'enum' => [ 'POINT_IN_TIME_CONSISTENT', 'NONE', ], ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/datasync/2018-11-09/paginators-1.json.php b/lib/aws/Aws/data/datasync/2018-11-09/paginators-1.json.php new file mode 100644 index 0000000..41ed0e6 --- /dev/null +++ b/lib/aws/Aws/data/datasync/2018-11-09/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/datasync/2018-11-09/paginators-1.json +return [ 'pagination' => [ 'ListAgents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListLocations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTagsForResource' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTaskExecutions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTasks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/dax/2017-04-19/api-2.json.php b/lib/aws/Aws/data/dax/2017-04-19/api-2.json.php new file mode 100644 index 0000000..13f7863 --- /dev/null +++ b/lib/aws/Aws/data/dax/2017-04-19/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dax/2017-04-19/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-04-19', 'endpointPrefix' => 'dax', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon DAX', 'serviceFullName' => 'Amazon DynamoDB Accelerator (DAX)', 'serviceId' => 'DAX', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonDAXV3', 'uid' => 'dax-2017-04-19', ], 'operations' => [ 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResponse', ], 'errors' => [ [ 'shape' => 'ClusterAlreadyExistsFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'SubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterGroupStateFault', ], [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ClusterQuotaForCustomerExceededFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'TagQuotaPerResourceExceeded', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateParameterGroup' => [ 'name' => 'CreateParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateParameterGroupRequest', ], 'output' => [ 'shape' => 'CreateParameterGroupResponse', ], 'errors' => [ [ 'shape' => 'ParameterGroupQuotaExceededFault', ], [ 'shape' => 'ParameterGroupAlreadyExistsFault', ], [ 'shape' => 'InvalidParameterGroupStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateSubnetGroup' => [ 'name' => 'CreateSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubnetGroupRequest', ], 'output' => [ 'shape' => 'CreateSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'SubnetGroupAlreadyExistsFault', ], [ 'shape' => 'SubnetGroupQuotaExceededFault', ], [ 'shape' => 'SubnetQuotaExceededFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], ], ], 'DecreaseReplicationFactor' => [ 'name' => 'DecreaseReplicationFactor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DecreaseReplicationFactorRequest', ], 'output' => [ 'shape' => 'DecreaseReplicationFactorResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'NodeNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterRequest', ], 'output' => [ 'shape' => 'DeleteClusterResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteParameterGroup' => [ 'name' => 'DeleteParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteParameterGroupRequest', ], 'output' => [ 'shape' => 'DeleteParameterGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterGroupStateFault', ], [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteSubnetGroup' => [ 'name' => 'DeleteSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubnetGroupRequest', ], 'output' => [ 'shape' => 'DeleteSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'SubnetGroupInUseFault', ], [ 'shape' => 'SubnetGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], ], ], 'DescribeClusters' => [ 'name' => 'DescribeClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClustersRequest', ], 'output' => [ 'shape' => 'DescribeClustersResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeDefaultParameters' => [ 'name' => 'DescribeDefaultParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDefaultParametersRequest', ], 'output' => [ 'shape' => 'DescribeDefaultParametersResponse', ], 'errors' => [ [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsRequest', ], 'output' => [ 'shape' => 'DescribeEventsResponse', ], 'errors' => [ [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeParameterGroups' => [ 'name' => 'DescribeParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeParameterGroupsRequest', ], 'output' => [ 'shape' => 'DescribeParameterGroupsResponse', ], 'errors' => [ [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeParameters' => [ 'name' => 'DescribeParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeParametersRequest', ], 'output' => [ 'shape' => 'DescribeParametersResponse', ], 'errors' => [ [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeSubnetGroups' => [ 'name' => 'DescribeSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubnetGroupsRequest', ], 'output' => [ 'shape' => 'DescribeSubnetGroupsResponse', ], 'errors' => [ [ 'shape' => 'SubnetGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], ], ], 'IncreaseReplicationFactor' => [ 'name' => 'IncreaseReplicationFactor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IncreaseReplicationFactorRequest', ], 'output' => [ 'shape' => 'IncreaseReplicationFactorResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidARNFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'RebootNode' => [ 'name' => 'RebootNode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootNodeRequest', ], 'output' => [ 'shape' => 'RebootNodeResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'NodeNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'TagQuotaPerResourceExceeded', ], [ 'shape' => 'InvalidARNFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidARNFault', ], [ 'shape' => 'TagNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'UpdateCluster' => [ 'name' => 'UpdateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateClusterRequest', ], 'output' => [ 'shape' => 'UpdateClusterResponse', ], 'errors' => [ [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidParameterGroupStateFault', ], [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'UpdateParameterGroup' => [ 'name' => 'UpdateParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateParameterGroupRequest', ], 'output' => [ 'shape' => 'UpdateParameterGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterGroupStateFault', ], [ 'shape' => 'ParameterGroupNotFoundFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'UpdateSubnetGroup' => [ 'name' => 'UpdateSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSubnetGroupRequest', ], 'output' => [ 'shape' => 'UpdateSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'SubnetGroupNotFoundFault', ], [ 'shape' => 'SubnetQuotaExceededFault', ], [ 'shape' => 'SubnetInUse', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], ], ], ], 'shapes' => [ 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'AwsQueryErrorMessage' => [ 'type' => 'string', ], 'ChangeType' => [ 'type' => 'string', 'enum' => [ 'IMMEDIATE', 'REQUIRES_REBOOT', ], ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ClusterArn' => [ 'shape' => 'String', ], 'TotalNodes' => [ 'shape' => 'IntegerOptional', ], 'ActiveNodes' => [ 'shape' => 'IntegerOptional', ], 'NodeType' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'ClusterDiscoveryEndpoint' => [ 'shape' => 'Endpoint', ], 'NodeIdsToRemove' => [ 'shape' => 'NodeIdentifierList', ], 'Nodes' => [ 'shape' => 'NodeList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfiguration', ], 'SubnetGroup' => [ 'shape' => 'String', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupMembershipList', ], 'IamRoleArn' => [ 'shape' => 'String', ], 'ParameterGroup' => [ 'shape' => 'ParameterGroupStatus', ], 'SSEDescription' => [ 'shape' => 'SSEDescription', ], ], ], 'ClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cluster', ], ], 'ClusterNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterQuotaForCustomerExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'CreateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', 'NodeType', 'ReplicationFactor', 'IamRoleArn', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ReplicationFactor' => [ 'shape' => 'Integer', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'SubnetGroupName' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdentifierList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'IamRoleArn' => [ 'shape' => 'String', ], 'ParameterGroupName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'SSESpecification' => [ 'shape' => 'SSESpecification', ], ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'CreateParameterGroupRequest' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateParameterGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ParameterGroup' => [ 'shape' => 'ParameterGroup', ], ], ], 'CreateSubnetGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetGroupName', 'SubnetIds', ], 'members' => [ 'SubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'CreateSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SubnetGroup' => [ 'shape' => 'SubnetGroup', ], ], ], 'DecreaseReplicationFactorRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', 'NewReplicationFactor', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'NewReplicationFactor' => [ 'shape' => 'Integer', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'NodeIdsToRemove' => [ 'shape' => 'NodeIdentifierList', ], ], ], 'DecreaseReplicationFactorResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], ], ], 'DeleteClusterResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteParameterGroupRequest' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteParameterGroupResponse' => [ 'type' => 'structure', 'members' => [ 'DeletionMessage' => [ 'shape' => 'String', ], ], ], 'DeleteSubnetGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetGroupName', ], 'members' => [ 'SubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'DeletionMessage' => [ 'shape' => 'String', ], ], ], 'DescribeClustersRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterNames' => [ 'shape' => 'ClusterNameList', ], 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeClustersResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'Clusters' => [ 'shape' => 'ClusterList', ], ], ], 'DescribeDefaultParametersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeDefaultParametersResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParameterList', ], ], ], 'DescribeEventsRequest' => [ 'type' => 'structure', 'members' => [ 'SourceName' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeEventsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'DescribeParameterGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupNames' => [ 'shape' => 'ParameterGroupNameList', ], 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeParameterGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'ParameterGroups' => [ 'shape' => 'ParameterGroupList', ], ], ], 'DescribeParametersRequest' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeParametersResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParameterList', ], ], ], 'DescribeSubnetGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'SubnetGroupNames' => [ 'shape' => 'SubnetGroupNameList', ], 'MaxResults' => [ 'shape' => 'IntegerOptional', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeSubnetGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'SubnetGroups' => [ 'shape' => 'SubnetGroupList', ], ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceName' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'Date' => [ 'shape' => 'TStamp', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], ], 'IncreaseReplicationFactorRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', 'NewReplicationFactor', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'NewReplicationFactor' => [ 'shape' => 'Integer', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], ], ], 'IncreaseReplicationFactorResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'InsufficientClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidARNFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterCombinationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'exception' => true, 'synthetic' => true, ], 'InvalidParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'exception' => true, 'synthetic' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IsModifiable' => [ 'type' => 'string', 'enum' => [ 'TRUE', 'FALSE', 'CONDITIONAL', ], ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'Node' => [ 'type' => 'structure', 'members' => [ 'NodeId' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'NodeCreateTime' => [ 'shape' => 'TStamp', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'NodeStatus' => [ 'shape' => 'String', ], 'ParameterGroupStatus' => [ 'shape' => 'String', ], ], ], 'NodeIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'NodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Node', ], ], 'NodeNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NodeQuotaForClusterExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NodeQuotaForCustomerExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NodeTypeSpecificValue' => [ 'type' => 'structure', 'members' => [ 'NodeType' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'NodeTypeSpecificValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeTypeSpecificValue', ], ], 'NotificationConfiguration' => [ 'type' => 'structure', 'members' => [ 'TopicArn' => [ 'shape' => 'String', ], 'TopicStatus' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterType' => [ 'shape' => 'ParameterType', ], 'ParameterValue' => [ 'shape' => 'String', ], 'NodeTypeSpecificValues' => [ 'shape' => 'NodeTypeSpecificValueList', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'IsModifiable', ], 'ChangeType' => [ 'shape' => 'ChangeType', ], ], ], 'ParameterGroup' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'ParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterGroup', ], ], 'ParameterGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], 'NodeIdsToReboot' => [ 'shape' => 'NodeIdentifierList', ], ], ], 'ParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', ], ], 'ParameterNameValue' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], ], ], 'ParameterNameValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterNameValue', ], ], 'ParameterType' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'NODE_TYPE_SPECIFIC', ], ], 'RebootNodeRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', 'NodeId', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'NodeId' => [ 'shape' => 'String', ], ], ], 'RebootNodeResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'SSEDescription' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'SSEStatus', ], ], ], 'SSEEnabled' => [ 'type' => 'boolean', ], 'SSESpecification' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'SSEEnabled', ], ], ], 'SSEStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLING', 'ENABLED', 'DISABLING', 'DISABLED', ], ], 'SecurityGroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupIdentifier' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'SecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupMembership', ], ], 'ServiceLinkedRoleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'CLUSTER', 'PARAMETER_GROUP', 'SUBNET_GROUP', ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'String', ], ], ], 'SubnetGroup' => [ 'type' => 'structure', 'members' => [ 'SubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], ], ], 'SubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SubnetGroupInUseFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SubnetGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetGroup', ], ], 'SubnetGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubnetInUse' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', ], ], 'SubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagQuotaPerResourceExceeded' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'UpdateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterName', ], 'members' => [ 'ClusterName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'NotificationTopicStatus' => [ 'shape' => 'String', ], 'ParameterGroupName' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdentifierList', ], ], ], 'UpdateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'UpdateParameterGroupRequest' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', 'ParameterNameValues', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterNameValues' => [ 'shape' => 'ParameterNameValueList', ], ], ], 'UpdateParameterGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ParameterGroup' => [ 'shape' => 'ParameterGroup', ], ], ], 'UpdateSubnetGroupRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetGroupName', ], 'members' => [ 'SubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'UpdateSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SubnetGroup' => [ 'shape' => 'SubnetGroup', ], ], ], ],]; diff --git a/lib/aws/Aws/data/dax/2017-04-19/paginators-1.json.php b/lib/aws/Aws/data/dax/2017-04-19/paginators-1.json.php new file mode 100644 index 0000000..65f89c8 --- /dev/null +++ b/lib/aws/Aws/data/dax/2017-04-19/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dax/2017-04-19/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/devicefarm/2015-06-23/api-2.json.php b/lib/aws/Aws/data/devicefarm/2015-06-23/api-2.json.php new file mode 100644 index 0000000..db71192 --- /dev/null +++ b/lib/aws/Aws/data/devicefarm/2015-06-23/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/devicefarm/2015-06-23/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-06-23', 'endpointPrefix' => 'devicefarm', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Device Farm', 'serviceId' => 'Device Farm', 'signatureVersion' => 'v4', 'targetPrefix' => 'DeviceFarm_20150623', 'uid' => 'devicefarm-2015-06-23', ], 'operations' => [ 'CreateDevicePool' => [ 'name' => 'CreateDevicePool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDevicePoolRequest', ], 'output' => [ 'shape' => 'CreateDevicePoolResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateInstanceProfile' => [ 'name' => 'CreateInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceProfileRequest', ], 'output' => [ 'shape' => 'CreateInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateNetworkProfile' => [ 'name' => 'CreateNetworkProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkProfileRequest', ], 'output' => [ 'shape' => 'CreateNetworkProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateProject' => [ 'name' => 'CreateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProjectRequest', ], 'output' => [ 'shape' => 'CreateProjectResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateRemoteAccessSession' => [ 'name' => 'CreateRemoteAccessSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRemoteAccessSessionRequest', ], 'output' => [ 'shape' => 'CreateRemoteAccessSessionResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateUpload' => [ 'name' => 'CreateUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUploadRequest', ], 'output' => [ 'shape' => 'CreateUploadResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'CreateVPCEConfiguration' => [ 'name' => 'CreateVPCEConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVPCEConfigurationRequest', ], 'output' => [ 'shape' => 'CreateVPCEConfigurationResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteDevicePool' => [ 'name' => 'DeleteDevicePool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDevicePoolRequest', ], 'output' => [ 'shape' => 'DeleteDevicePoolResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteInstanceProfile' => [ 'name' => 'DeleteInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInstanceProfileRequest', ], 'output' => [ 'shape' => 'DeleteInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteNetworkProfile' => [ 'name' => 'DeleteNetworkProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkProfileRequest', ], 'output' => [ 'shape' => 'DeleteNetworkProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteProject' => [ 'name' => 'DeleteProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProjectRequest', ], 'output' => [ 'shape' => 'DeleteProjectResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteRemoteAccessSession' => [ 'name' => 'DeleteRemoteAccessSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRemoteAccessSessionRequest', ], 'output' => [ 'shape' => 'DeleteRemoteAccessSessionResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteRun' => [ 'name' => 'DeleteRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRunRequest', ], 'output' => [ 'shape' => 'DeleteRunResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteUpload' => [ 'name' => 'DeleteUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUploadRequest', ], 'output' => [ 'shape' => 'DeleteUploadResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'DeleteVPCEConfiguration' => [ 'name' => 'DeleteVPCEConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVPCEConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteVPCEConfigurationResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceAccountException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'GetAccountSettings' => [ 'name' => 'GetAccountSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAccountSettingsRequest', ], 'output' => [ 'shape' => 'GetAccountSettingsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetDevice' => [ 'name' => 'GetDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeviceRequest', ], 'output' => [ 'shape' => 'GetDeviceResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetDeviceInstance' => [ 'name' => 'GetDeviceInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeviceInstanceRequest', ], 'output' => [ 'shape' => 'GetDeviceInstanceResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetDevicePool' => [ 'name' => 'GetDevicePool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDevicePoolRequest', ], 'output' => [ 'shape' => 'GetDevicePoolResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetDevicePoolCompatibility' => [ 'name' => 'GetDevicePoolCompatibility', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDevicePoolCompatibilityRequest', ], 'output' => [ 'shape' => 'GetDevicePoolCompatibilityResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetInstanceProfile' => [ 'name' => 'GetInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceProfileRequest', ], 'output' => [ 'shape' => 'GetInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetJob' => [ 'name' => 'GetJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobRequest', ], 'output' => [ 'shape' => 'GetJobResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetNetworkProfile' => [ 'name' => 'GetNetworkProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetNetworkProfileRequest', ], 'output' => [ 'shape' => 'GetNetworkProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetOfferingStatus' => [ 'name' => 'GetOfferingStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOfferingStatusRequest', ], 'output' => [ 'shape' => 'GetOfferingStatusResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetProject' => [ 'name' => 'GetProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProjectRequest', ], 'output' => [ 'shape' => 'GetProjectResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetRemoteAccessSession' => [ 'name' => 'GetRemoteAccessSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRemoteAccessSessionRequest', ], 'output' => [ 'shape' => 'GetRemoteAccessSessionResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetRun' => [ 'name' => 'GetRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRunRequest', ], 'output' => [ 'shape' => 'GetRunResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetSuite' => [ 'name' => 'GetSuite', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSuiteRequest', ], 'output' => [ 'shape' => 'GetSuiteResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetTest' => [ 'name' => 'GetTest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTestRequest', ], 'output' => [ 'shape' => 'GetTestResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetUpload' => [ 'name' => 'GetUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUploadRequest', ], 'output' => [ 'shape' => 'GetUploadResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'GetVPCEConfiguration' => [ 'name' => 'GetVPCEConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetVPCEConfigurationRequest', ], 'output' => [ 'shape' => 'GetVPCEConfigurationResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'InstallToRemoteAccessSession' => [ 'name' => 'InstallToRemoteAccessSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InstallToRemoteAccessSessionRequest', ], 'output' => [ 'shape' => 'InstallToRemoteAccessSessionResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListArtifacts' => [ 'name' => 'ListArtifacts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListArtifactsRequest', ], 'output' => [ 'shape' => 'ListArtifactsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListDeviceInstances' => [ 'name' => 'ListDeviceInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeviceInstancesRequest', ], 'output' => [ 'shape' => 'ListDeviceInstancesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListDevicePools' => [ 'name' => 'ListDevicePools', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDevicePoolsRequest', ], 'output' => [ 'shape' => 'ListDevicePoolsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListDevices' => [ 'name' => 'ListDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDevicesRequest', ], 'output' => [ 'shape' => 'ListDevicesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListInstanceProfiles' => [ 'name' => 'ListInstanceProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstanceProfilesRequest', ], 'output' => [ 'shape' => 'ListInstanceProfilesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListNetworkProfiles' => [ 'name' => 'ListNetworkProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListNetworkProfilesRequest', ], 'output' => [ 'shape' => 'ListNetworkProfilesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListOfferingPromotions' => [ 'name' => 'ListOfferingPromotions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOfferingPromotionsRequest', ], 'output' => [ 'shape' => 'ListOfferingPromotionsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListOfferingTransactions' => [ 'name' => 'ListOfferingTransactions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOfferingTransactionsRequest', ], 'output' => [ 'shape' => 'ListOfferingTransactionsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListOfferings' => [ 'name' => 'ListOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOfferingsRequest', ], 'output' => [ 'shape' => 'ListOfferingsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListProjects' => [ 'name' => 'ListProjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProjectsRequest', ], 'output' => [ 'shape' => 'ListProjectsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListRemoteAccessSessions' => [ 'name' => 'ListRemoteAccessSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRemoteAccessSessionsRequest', ], 'output' => [ 'shape' => 'ListRemoteAccessSessionsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListRuns' => [ 'name' => 'ListRuns', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRunsRequest', ], 'output' => [ 'shape' => 'ListRunsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListSamples' => [ 'name' => 'ListSamples', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSamplesRequest', ], 'output' => [ 'shape' => 'ListSamplesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListSuites' => [ 'name' => 'ListSuites', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSuitesRequest', ], 'output' => [ 'shape' => 'ListSuitesResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListTests' => [ 'name' => 'ListTests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTestsRequest', ], 'output' => [ 'shape' => 'ListTestsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListUniqueProblems' => [ 'name' => 'ListUniqueProblems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUniqueProblemsRequest', ], 'output' => [ 'shape' => 'ListUniqueProblemsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListUploads' => [ 'name' => 'ListUploads', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUploadsRequest', ], 'output' => [ 'shape' => 'ListUploadsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ListVPCEConfigurations' => [ 'name' => 'ListVPCEConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVPCEConfigurationsRequest', ], 'output' => [ 'shape' => 'ListVPCEConfigurationsResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'PurchaseOffering' => [ 'name' => 'PurchaseOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseOfferingResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'RenewOffering' => [ 'name' => 'RenewOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RenewOfferingRequest', ], 'output' => [ 'shape' => 'RenewOfferingResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NotEligibleException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'ScheduleRun' => [ 'name' => 'ScheduleRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScheduleRunRequest', ], 'output' => [ 'shape' => 'ScheduleRunResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'IdempotencyException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'StopJob' => [ 'name' => 'StopJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopJobRequest', ], 'output' => [ 'shape' => 'StopJobResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'StopRemoteAccessSession' => [ 'name' => 'StopRemoteAccessSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopRemoteAccessSessionRequest', ], 'output' => [ 'shape' => 'StopRemoteAccessSessionResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'StopRun' => [ 'name' => 'StopRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopRunRequest', ], 'output' => [ 'shape' => 'StopRunResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateDeviceInstance' => [ 'name' => 'UpdateDeviceInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDeviceInstanceRequest', ], 'output' => [ 'shape' => 'UpdateDeviceInstanceResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateDevicePool' => [ 'name' => 'UpdateDevicePool', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDevicePoolRequest', ], 'output' => [ 'shape' => 'UpdateDevicePoolResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateInstanceProfile' => [ 'name' => 'UpdateInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateInstanceProfileRequest', ], 'output' => [ 'shape' => 'UpdateInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateNetworkProfile' => [ 'name' => 'UpdateNetworkProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNetworkProfileRequest', ], 'output' => [ 'shape' => 'UpdateNetworkProfileResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateProject' => [ 'name' => 'UpdateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProjectRequest', ], 'output' => [ 'shape' => 'UpdateProjectResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateUpload' => [ 'name' => 'UpdateUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUploadRequest', ], 'output' => [ 'shape' => 'UpdateUploadResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceAccountException', ], ], ], 'UpdateVPCEConfiguration' => [ 'name' => 'UpdateVPCEConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateVPCEConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateVPCEConfigurationResult', ], 'errors' => [ [ 'shape' => 'ArgumentException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceAccountException', ], [ 'shape' => 'InvalidOperationException', ], ], ], ], 'shapes' => [ 'AWSAccountNumber' => [ 'type' => 'string', 'max' => 16, 'min' => 2, ], 'AccountSettings' => [ 'type' => 'structure', 'members' => [ 'awsAccountNumber' => [ 'shape' => 'AWSAccountNumber', ], 'unmeteredDevices' => [ 'shape' => 'PurchasedDevicesMap', ], 'unmeteredRemoteAccessDevices' => [ 'shape' => 'PurchasedDevicesMap', ], 'maxJobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], 'trialMinutes' => [ 'shape' => 'TrialMinutes', ], 'maxSlots' => [ 'shape' => 'MaxSlotMap', ], 'defaultJobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], 'skipAppResign' => [ 'shape' => 'SkipAppResign', ], ], ], 'AccountsCleanup' => [ 'type' => 'boolean', ], 'AmazonResourceName' => [ 'type' => 'string', 'min' => 32, ], 'AmazonResourceNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AmazonResourceName', ], ], 'AndroidPaths' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'AppPackagesCleanup' => [ 'type' => 'boolean', ], 'ArgumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'Artifact' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'ArtifactType', ], 'extension' => [ 'shape' => 'String', ], 'url' => [ 'shape' => 'URL', ], ], ], 'ArtifactCategory' => [ 'type' => 'string', 'enum' => [ 'SCREENSHOT', 'FILE', 'LOG', ], ], 'ArtifactType' => [ 'type' => 'string', 'enum' => [ 'UNKNOWN', 'SCREENSHOT', 'DEVICE_LOG', 'MESSAGE_LOG', 'VIDEO_LOG', 'RESULT_LOG', 'SERVICE_LOG', 'WEBKIT_LOG', 'INSTRUMENTATION_OUTPUT', 'EXERCISER_MONKEY_OUTPUT', 'CALABASH_JSON_OUTPUT', 'CALABASH_PRETTY_OUTPUT', 'CALABASH_STANDARD_OUTPUT', 'CALABASH_JAVA_XML_OUTPUT', 'AUTOMATION_OUTPUT', 'APPIUM_SERVER_OUTPUT', 'APPIUM_JAVA_OUTPUT', 'APPIUM_JAVA_XML_OUTPUT', 'APPIUM_PYTHON_OUTPUT', 'APPIUM_PYTHON_XML_OUTPUT', 'EXPLORER_EVENT_LOG', 'EXPLORER_SUMMARY_LOG', 'APPLICATION_CRASH_REPORT', 'XCTEST_LOG', 'VIDEO', 'CUSTOMER_ARTIFACT', 'CUSTOMER_ARTIFACT_LOG', 'TESTSPEC_OUTPUT', ], ], 'Artifacts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Artifact', ], ], 'BillingMethod' => [ 'type' => 'string', 'enum' => [ 'METERED', 'UNMETERED', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CPU' => [ 'type' => 'structure', 'members' => [ 'frequency' => [ 'shape' => 'String', ], 'architecture' => [ 'shape' => 'String', ], 'clock' => [ 'shape' => 'Double', ], ], ], 'ClientId' => [ 'type' => 'string', 'max' => 64, 'min' => 0, ], 'ContentType' => [ 'type' => 'string', 'max' => 64, 'min' => 0, ], 'Counters' => [ 'type' => 'structure', 'members' => [ 'total' => [ 'shape' => 'Integer', ], 'passed' => [ 'shape' => 'Integer', ], 'failed' => [ 'shape' => 'Integer', ], 'warned' => [ 'shape' => 'Integer', ], 'errored' => [ 'shape' => 'Integer', ], 'stopped' => [ 'shape' => 'Integer', ], 'skipped' => [ 'shape' => 'Integer', ], ], ], 'CreateDevicePoolRequest' => [ 'type' => 'structure', 'required' => [ 'projectArn', 'name', 'rules', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'rules' => [ 'shape' => 'Rules', ], 'maxDevices' => [ 'shape' => 'Integer', ], ], ], 'CreateDevicePoolResult' => [ 'type' => 'structure', 'members' => [ 'devicePool' => [ 'shape' => 'DevicePool', ], ], ], 'CreateInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'packageCleanup' => [ 'shape' => 'Boolean', ], 'excludeAppPackagesFromCleanup' => [ 'shape' => 'PackageIds', ], 'rebootAfterUse' => [ 'shape' => 'Boolean', ], ], ], 'CreateInstanceProfileResult' => [ 'type' => 'structure', 'members' => [ 'instanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'CreateNetworkProfileRequest' => [ 'type' => 'structure', 'required' => [ 'projectArn', 'name', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'NetworkProfileType', ], 'uplinkBandwidthBits' => [ 'shape' => 'Long', ], 'downlinkBandwidthBits' => [ 'shape' => 'Long', ], 'uplinkDelayMs' => [ 'shape' => 'Long', ], 'downlinkDelayMs' => [ 'shape' => 'Long', ], 'uplinkJitterMs' => [ 'shape' => 'Long', ], 'downlinkJitterMs' => [ 'shape' => 'Long', ], 'uplinkLossPercent' => [ 'shape' => 'PercentInteger', ], 'downlinkLossPercent' => [ 'shape' => 'PercentInteger', ], ], ], 'CreateNetworkProfileResult' => [ 'type' => 'structure', 'members' => [ 'networkProfile' => [ 'shape' => 'NetworkProfile', ], ], ], 'CreateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'defaultJobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], ], ], 'CreateProjectResult' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'CreateRemoteAccessSessionConfiguration' => [ 'type' => 'structure', 'members' => [ 'billingMethod' => [ 'shape' => 'BillingMethod', ], 'vpceConfigurationArns' => [ 'shape' => 'AmazonResourceNames', ], ], ], 'CreateRemoteAccessSessionRequest' => [ 'type' => 'structure', 'required' => [ 'projectArn', 'deviceArn', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'deviceArn' => [ 'shape' => 'AmazonResourceName', ], 'instanceArn' => [ 'shape' => 'AmazonResourceName', ], 'sshPublicKey' => [ 'shape' => 'SshPublicKey', ], 'remoteDebugEnabled' => [ 'shape' => 'Boolean', ], 'remoteRecordEnabled' => [ 'shape' => 'Boolean', ], 'remoteRecordAppArn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'clientId' => [ 'shape' => 'ClientId', ], 'configuration' => [ 'shape' => 'CreateRemoteAccessSessionConfiguration', ], 'interactionMode' => [ 'shape' => 'InteractionMode', ], 'skipAppResign' => [ 'shape' => 'Boolean', ], ], ], 'CreateRemoteAccessSessionResult' => [ 'type' => 'structure', 'members' => [ 'remoteAccessSession' => [ 'shape' => 'RemoteAccessSession', ], ], ], 'CreateUploadRequest' => [ 'type' => 'structure', 'required' => [ 'projectArn', 'name', 'type', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'UploadType', ], 'contentType' => [ 'shape' => 'ContentType', ], ], ], 'CreateUploadResult' => [ 'type' => 'structure', 'members' => [ 'upload' => [ 'shape' => 'Upload', ], ], ], 'CreateVPCEConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'vpceConfigurationName', 'vpceServiceName', 'serviceDnsName', ], 'members' => [ 'vpceConfigurationName' => [ 'shape' => 'VPCEConfigurationName', ], 'vpceServiceName' => [ 'shape' => 'VPCEServiceName', ], 'serviceDnsName' => [ 'shape' => 'ServiceDnsName', ], 'vpceConfigurationDescription' => [ 'shape' => 'VPCEConfigurationDescription', ], ], ], 'CreateVPCEConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'vpceConfiguration' => [ 'shape' => 'VPCEConfiguration', ], ], ], 'CurrencyCode' => [ 'type' => 'string', 'enum' => [ 'USD', ], ], 'CustomerArtifactPaths' => [ 'type' => 'structure', 'members' => [ 'iosPaths' => [ 'shape' => 'IosPaths', ], 'androidPaths' => [ 'shape' => 'AndroidPaths', ], 'deviceHostPaths' => [ 'shape' => 'DeviceHostPaths', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteDevicePoolRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteDevicePoolResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteInstanceProfileResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteNetworkProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteNetworkProfileResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProjectRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteProjectResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRemoteAccessSessionRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteRemoteAccessSessionResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRunRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteRunResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUploadRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteUploadResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteVPCEConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'DeleteVPCEConfigurationResult' => [ 'type' => 'structure', 'members' => [], ], 'Device' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'manufacturer' => [ 'shape' => 'String', ], 'model' => [ 'shape' => 'String', ], 'modelId' => [ 'shape' => 'String', ], 'formFactor' => [ 'shape' => 'DeviceFormFactor', ], 'platform' => [ 'shape' => 'DevicePlatform', ], 'os' => [ 'shape' => 'String', ], 'cpu' => [ 'shape' => 'CPU', ], 'resolution' => [ 'shape' => 'Resolution', ], 'heapSize' => [ 'shape' => 'Long', ], 'memory' => [ 'shape' => 'Long', ], 'image' => [ 'shape' => 'String', ], 'carrier' => [ 'shape' => 'String', ], 'radio' => [ 'shape' => 'String', ], 'remoteAccessEnabled' => [ 'shape' => 'Boolean', ], 'remoteDebugEnabled' => [ 'shape' => 'Boolean', ], 'fleetType' => [ 'shape' => 'String', ], 'fleetName' => [ 'shape' => 'String', ], 'instances' => [ 'shape' => 'DeviceInstances', ], 'availability' => [ 'shape' => 'DeviceAvailability', ], ], ], 'DeviceAttribute' => [ 'type' => 'string', 'enum' => [ 'ARN', 'PLATFORM', 'FORM_FACTOR', 'MANUFACTURER', 'REMOTE_ACCESS_ENABLED', 'REMOTE_DEBUG_ENABLED', 'APPIUM_VERSION', 'INSTANCE_ARN', 'INSTANCE_LABELS', 'FLEET_TYPE', 'OS_VERSION', 'MODEL', 'AVAILABILITY', ], ], 'DeviceAvailability' => [ 'type' => 'string', 'enum' => [ 'TEMPORARY_NOT_AVAILABLE', 'BUSY', 'AVAILABLE', 'HIGHLY_AVAILABLE', ], ], 'DeviceFilter' => [ 'type' => 'structure', 'members' => [ 'attribute' => [ 'shape' => 'DeviceFilterAttribute', ], 'operator' => [ 'shape' => 'RuleOperator', ], 'values' => [ 'shape' => 'DeviceFilterValues', ], ], ], 'DeviceFilterAttribute' => [ 'type' => 'string', 'enum' => [ 'ARN', 'PLATFORM', 'OS_VERSION', 'MODEL', 'AVAILABILITY', 'FORM_FACTOR', 'MANUFACTURER', 'REMOTE_ACCESS_ENABLED', 'REMOTE_DEBUG_ENABLED', 'INSTANCE_ARN', 'INSTANCE_LABELS', 'FLEET_TYPE', ], ], 'DeviceFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'DeviceFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceFilter', ], ], 'DeviceFormFactor' => [ 'type' => 'string', 'enum' => [ 'PHONE', 'TABLET', ], ], 'DeviceHostPaths' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'DeviceInstance' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'deviceArn' => [ 'shape' => 'AmazonResourceName', ], 'labels' => [ 'shape' => 'InstanceLabels', ], 'status' => [ 'shape' => 'InstanceStatus', ], 'udid' => [ 'shape' => 'String', ], 'instanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'DeviceInstances' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceInstance', ], ], 'DeviceMinutes' => [ 'type' => 'structure', 'members' => [ 'total' => [ 'shape' => 'Double', ], 'metered' => [ 'shape' => 'Double', ], 'unmetered' => [ 'shape' => 'Double', ], ], ], 'DevicePlatform' => [ 'type' => 'string', 'enum' => [ 'ANDROID', 'IOS', ], ], 'DevicePool' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'DevicePoolType', ], 'rules' => [ 'shape' => 'Rules', ], 'maxDevices' => [ 'shape' => 'Integer', ], ], ], 'DevicePoolCompatibilityResult' => [ 'type' => 'structure', 'members' => [ 'device' => [ 'shape' => 'Device', ], 'compatible' => [ 'shape' => 'Boolean', ], 'incompatibilityMessages' => [ 'shape' => 'IncompatibilityMessages', ], ], ], 'DevicePoolCompatibilityResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'DevicePoolCompatibilityResult', ], ], 'DevicePoolType' => [ 'type' => 'string', 'enum' => [ 'CURATED', 'PRIVATE', ], ], 'DevicePools' => [ 'type' => 'list', 'member' => [ 'shape' => 'DevicePool', ], ], 'DeviceSelectionConfiguration' => [ 'type' => 'structure', 'required' => [ 'filters', 'maxDevices', ], 'members' => [ 'filters' => [ 'shape' => 'DeviceFilters', ], 'maxDevices' => [ 'shape' => 'Integer', ], ], ], 'DeviceSelectionResult' => [ 'type' => 'structure', 'members' => [ 'filters' => [ 'shape' => 'DeviceFilters', ], 'matchedDevicesCount' => [ 'shape' => 'Integer', ], 'maxDevices' => [ 'shape' => 'Integer', ], ], ], 'Devices' => [ 'type' => 'list', 'member' => [ 'shape' => 'Device', ], ], 'Double' => [ 'type' => 'double', ], 'ExecutionConfiguration' => [ 'type' => 'structure', 'members' => [ 'jobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], 'accountsCleanup' => [ 'shape' => 'AccountsCleanup', ], 'appPackagesCleanup' => [ 'shape' => 'AppPackagesCleanup', ], 'videoCapture' => [ 'shape' => 'VideoCapture', ], 'skipAppResign' => [ 'shape' => 'SkipAppResign', ], ], ], 'ExecutionResult' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'PASSED', 'WARNED', 'FAILED', 'SKIPPED', 'ERRORED', 'STOPPED', ], ], 'ExecutionResultCode' => [ 'type' => 'string', 'enum' => [ 'PARSING_FAILED', 'VPC_ENDPOINT_SETUP_FAILED', ], ], 'ExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'PENDING_CONCURRENCY', 'PENDING_DEVICE', 'PROCESSING', 'SCHEDULING', 'PREPARING', 'RUNNING', 'COMPLETED', 'STOPPING', ], ], 'Filter' => [ 'type' => 'string', 'max' => 8192, 'min' => 0, ], 'GetAccountSettingsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAccountSettingsResult' => [ 'type' => 'structure', 'members' => [ 'accountSettings' => [ 'shape' => 'AccountSettings', ], ], ], 'GetDeviceInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetDeviceInstanceResult' => [ 'type' => 'structure', 'members' => [ 'deviceInstance' => [ 'shape' => 'DeviceInstance', ], ], ], 'GetDevicePoolCompatibilityRequest' => [ 'type' => 'structure', 'required' => [ 'devicePoolArn', ], 'members' => [ 'devicePoolArn' => [ 'shape' => 'AmazonResourceName', ], 'appArn' => [ 'shape' => 'AmazonResourceName', ], 'testType' => [ 'shape' => 'TestType', ], 'test' => [ 'shape' => 'ScheduleRunTest', ], 'configuration' => [ 'shape' => 'ScheduleRunConfiguration', ], ], ], 'GetDevicePoolCompatibilityResult' => [ 'type' => 'structure', 'members' => [ 'compatibleDevices' => [ 'shape' => 'DevicePoolCompatibilityResults', ], 'incompatibleDevices' => [ 'shape' => 'DevicePoolCompatibilityResults', ], ], ], 'GetDevicePoolRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetDevicePoolResult' => [ 'type' => 'structure', 'members' => [ 'devicePool' => [ 'shape' => 'DevicePool', ], ], ], 'GetDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetDeviceResult' => [ 'type' => 'structure', 'members' => [ 'device' => [ 'shape' => 'Device', ], ], ], 'GetInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetInstanceProfileResult' => [ 'type' => 'structure', 'members' => [ 'instanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'GetJobRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetJobResult' => [ 'type' => 'structure', 'members' => [ 'job' => [ 'shape' => 'Job', ], ], ], 'GetNetworkProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetNetworkProfileResult' => [ 'type' => 'structure', 'members' => [ 'networkProfile' => [ 'shape' => 'NetworkProfile', ], ], ], 'GetOfferingStatusRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetOfferingStatusResult' => [ 'type' => 'structure', 'members' => [ 'current' => [ 'shape' => 'OfferingStatusMap', ], 'nextPeriod' => [ 'shape' => 'OfferingStatusMap', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetProjectRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetProjectResult' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'GetRemoteAccessSessionRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetRemoteAccessSessionResult' => [ 'type' => 'structure', 'members' => [ 'remoteAccessSession' => [ 'shape' => 'RemoteAccessSession', ], ], ], 'GetRunRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetRunResult' => [ 'type' => 'structure', 'members' => [ 'run' => [ 'shape' => 'Run', ], ], ], 'GetSuiteRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetSuiteResult' => [ 'type' => 'structure', 'members' => [ 'suite' => [ 'shape' => 'Suite', ], ], ], 'GetTestRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetTestResult' => [ 'type' => 'structure', 'members' => [ 'test' => [ 'shape' => 'Test', ], ], ], 'GetUploadRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetUploadResult' => [ 'type' => 'structure', 'members' => [ 'upload' => [ 'shape' => 'Upload', ], ], ], 'GetVPCEConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'GetVPCEConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'vpceConfiguration' => [ 'shape' => 'VPCEConfiguration', ], ], ], 'HostAddress' => [ 'type' => 'string', 'max' => 1024, ], 'IdempotencyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'IncompatibilityMessage' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'DeviceAttribute', ], ], ], 'IncompatibilityMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'IncompatibilityMessage', ], ], 'InstallToRemoteAccessSessionRequest' => [ 'type' => 'structure', 'required' => [ 'remoteAccessSessionArn', 'appArn', ], 'members' => [ 'remoteAccessSessionArn' => [ 'shape' => 'AmazonResourceName', ], 'appArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'InstallToRemoteAccessSessionResult' => [ 'type' => 'structure', 'members' => [ 'appUpload' => [ 'shape' => 'Upload', ], ], ], 'InstanceLabels' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'InstanceProfile' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'packageCleanup' => [ 'shape' => 'Boolean', ], 'excludeAppPackagesFromCleanup' => [ 'shape' => 'PackageIds', ], 'rebootAfterUse' => [ 'shape' => 'Boolean', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], ], ], 'InstanceProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceProfile', ], ], 'InstanceStatus' => [ 'type' => 'string', 'enum' => [ 'IN_USE', 'PREPARING', 'AVAILABLE', 'NOT_AVAILABLE', ], ], 'Integer' => [ 'type' => 'integer', ], 'InteractionMode' => [ 'type' => 'string', 'enum' => [ 'INTERACTIVE', 'NO_VIDEO', 'VIDEO_ONLY', ], 'max' => 64, 'min' => 0, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'IosPaths' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Job' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'TestType', ], 'created' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'started' => [ 'shape' => 'DateTime', ], 'stopped' => [ 'shape' => 'DateTime', ], 'counters' => [ 'shape' => 'Counters', ], 'message' => [ 'shape' => 'Message', ], 'device' => [ 'shape' => 'Device', ], 'instanceArn' => [ 'shape' => 'AmazonResourceName', ], 'deviceMinutes' => [ 'shape' => 'DeviceMinutes', ], 'videoEndpoint' => [ 'shape' => 'String', ], 'videoCapture' => [ 'shape' => 'VideoCapture', ], ], ], 'JobTimeoutMinutes' => [ 'type' => 'integer', ], 'Jobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ListArtifactsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', 'type', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'type' => [ 'shape' => 'ArtifactCategory', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListArtifactsResult' => [ 'type' => 'structure', 'members' => [ 'artifacts' => [ 'shape' => 'Artifacts', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDeviceInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDeviceInstancesResult' => [ 'type' => 'structure', 'members' => [ 'deviceInstances' => [ 'shape' => 'DeviceInstances', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDevicePoolsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'type' => [ 'shape' => 'DevicePoolType', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDevicePoolsResult' => [ 'type' => 'structure', 'members' => [ 'devicePools' => [ 'shape' => 'DevicePools', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListDevicesRequest' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'filters' => [ 'shape' => 'DeviceFilters', ], ], ], 'ListDevicesResult' => [ 'type' => 'structure', 'members' => [ 'devices' => [ 'shape' => 'Devices', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListInstanceProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListInstanceProfilesResult' => [ 'type' => 'structure', 'members' => [ 'instanceProfiles' => [ 'shape' => 'InstanceProfiles', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListJobsResult' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'Jobs', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListNetworkProfilesRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'type' => [ 'shape' => 'NetworkProfileType', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListNetworkProfilesResult' => [ 'type' => 'structure', 'members' => [ 'networkProfiles' => [ 'shape' => 'NetworkProfiles', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingPromotionsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingPromotionsResult' => [ 'type' => 'structure', 'members' => [ 'offeringPromotions' => [ 'shape' => 'OfferingPromotions', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingTransactionsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingTransactionsResult' => [ 'type' => 'structure', 'members' => [ 'offeringTransactions' => [ 'shape' => 'OfferingTransactions', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'offerings' => [ 'shape' => 'Offerings', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListProjectsRequest' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListProjectsResult' => [ 'type' => 'structure', 'members' => [ 'projects' => [ 'shape' => 'Projects', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRemoteAccessSessionsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRemoteAccessSessionsResult' => [ 'type' => 'structure', 'members' => [ 'remoteAccessSessions' => [ 'shape' => 'RemoteAccessSessions', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRunsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRunsResult' => [ 'type' => 'structure', 'members' => [ 'runs' => [ 'shape' => 'Runs', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSamplesRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSamplesResult' => [ 'type' => 'structure', 'members' => [ 'samples' => [ 'shape' => 'Samples', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSuitesRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSuitesResult' => [ 'type' => 'structure', 'members' => [ 'suites' => [ 'shape' => 'Suites', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTestsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTestsResult' => [ 'type' => 'structure', 'members' => [ 'tests' => [ 'shape' => 'Tests', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListUniqueProblemsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListUniqueProblemsResult' => [ 'type' => 'structure', 'members' => [ 'uniqueProblems' => [ 'shape' => 'UniqueProblemsByExecutionResultMap', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListUploadsRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'type' => [ 'shape' => 'UploadType', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListUploadsResult' => [ 'type' => 'structure', 'members' => [ 'uploads' => [ 'shape' => 'Uploads', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListVPCEConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListVPCEConfigurationsResult' => [ 'type' => 'structure', 'members' => [ 'vpceConfigurations' => [ 'shape' => 'VPCEConfigurations', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'Location' => [ 'type' => 'structure', 'required' => [ 'latitude', 'longitude', ], 'members' => [ 'latitude' => [ 'shape' => 'Double', ], 'longitude' => [ 'shape' => 'Double', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaxSlotMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'Integer', ], ], 'Message' => [ 'type' => 'string', 'max' => 16384, 'min' => 0, ], 'Metadata' => [ 'type' => 'string', 'max' => 8192, 'min' => 0, ], 'MonetaryAmount' => [ 'type' => 'structure', 'members' => [ 'amount' => [ 'shape' => 'Double', ], 'currencyCode' => [ 'shape' => 'CurrencyCode', ], ], ], 'Name' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'NetworkProfile' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'NetworkProfileType', ], 'uplinkBandwidthBits' => [ 'shape' => 'Long', ], 'downlinkBandwidthBits' => [ 'shape' => 'Long', ], 'uplinkDelayMs' => [ 'shape' => 'Long', ], 'downlinkDelayMs' => [ 'shape' => 'Long', ], 'uplinkJitterMs' => [ 'shape' => 'Long', ], 'downlinkJitterMs' => [ 'shape' => 'Long', ], 'uplinkLossPercent' => [ 'shape' => 'PercentInteger', ], 'downlinkLossPercent' => [ 'shape' => 'PercentInteger', ], ], ], 'NetworkProfileType' => [ 'type' => 'string', 'enum' => [ 'CURATED', 'PRIVATE', ], ], 'NetworkProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkProfile', ], ], 'NotEligibleException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'Offering' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'OfferingIdentifier', ], 'description' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'OfferingType', ], 'platform' => [ 'shape' => 'DevicePlatform', ], 'recurringCharges' => [ 'shape' => 'RecurringCharges', ], ], ], 'OfferingIdentifier' => [ 'type' => 'string', 'min' => 32, ], 'OfferingPromotion' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'OfferingPromotionIdentifier', ], 'description' => [ 'shape' => 'Message', ], ], ], 'OfferingPromotionIdentifier' => [ 'type' => 'string', 'min' => 4, ], 'OfferingPromotions' => [ 'type' => 'list', 'member' => [ 'shape' => 'OfferingPromotion', ], ], 'OfferingStatus' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'OfferingTransactionType', ], 'offering' => [ 'shape' => 'Offering', ], 'quantity' => [ 'shape' => 'Integer', ], 'effectiveOn' => [ 'shape' => 'DateTime', ], ], ], 'OfferingStatusMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'OfferingIdentifier', ], 'value' => [ 'shape' => 'OfferingStatus', ], ], 'OfferingTransaction' => [ 'type' => 'structure', 'members' => [ 'offeringStatus' => [ 'shape' => 'OfferingStatus', ], 'transactionId' => [ 'shape' => 'TransactionIdentifier', ], 'offeringPromotionId' => [ 'shape' => 'OfferingPromotionIdentifier', ], 'createdOn' => [ 'shape' => 'DateTime', ], 'cost' => [ 'shape' => 'MonetaryAmount', ], ], ], 'OfferingTransactionType' => [ 'type' => 'string', 'enum' => [ 'PURCHASE', 'RENEW', 'SYSTEM', ], ], 'OfferingTransactions' => [ 'type' => 'list', 'member' => [ 'shape' => 'OfferingTransaction', ], ], 'OfferingType' => [ 'type' => 'string', 'enum' => [ 'RECURRING', ], ], 'Offerings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Offering', ], ], 'PackageIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 4, ], 'PercentInteger' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'Problem' => [ 'type' => 'structure', 'members' => [ 'run' => [ 'shape' => 'ProblemDetail', ], 'job' => [ 'shape' => 'ProblemDetail', ], 'suite' => [ 'shape' => 'ProblemDetail', ], 'test' => [ 'shape' => 'ProblemDetail', ], 'device' => [ 'shape' => 'Device', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'message' => [ 'shape' => 'Message', ], ], ], 'ProblemDetail' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], ], ], 'Problems' => [ 'type' => 'list', 'member' => [ 'shape' => 'Problem', ], ], 'Project' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'defaultJobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], 'created' => [ 'shape' => 'DateTime', ], ], ], 'Projects' => [ 'type' => 'list', 'member' => [ 'shape' => 'Project', ], ], 'PurchaseOfferingRequest' => [ 'type' => 'structure', 'members' => [ 'offeringId' => [ 'shape' => 'OfferingIdentifier', ], 'quantity' => [ 'shape' => 'Integer', ], 'offeringPromotionId' => [ 'shape' => 'OfferingPromotionIdentifier', ], ], ], 'PurchaseOfferingResult' => [ 'type' => 'structure', 'members' => [ 'offeringTransaction' => [ 'shape' => 'OfferingTransaction', ], ], ], 'PurchasedDevicesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DevicePlatform', ], 'value' => [ 'shape' => 'Integer', ], ], 'Radios' => [ 'type' => 'structure', 'members' => [ 'wifi' => [ 'shape' => 'Boolean', ], 'bluetooth' => [ 'shape' => 'Boolean', ], 'nfc' => [ 'shape' => 'Boolean', ], 'gps' => [ 'shape' => 'Boolean', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'cost' => [ 'shape' => 'MonetaryAmount', ], 'frequency' => [ 'shape' => 'RecurringChargeFrequency', ], ], ], 'RecurringChargeFrequency' => [ 'type' => 'string', 'enum' => [ 'MONTHLY', ], ], 'RecurringCharges' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', ], ], 'RemoteAccessSession' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'created' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'message' => [ 'shape' => 'Message', ], 'started' => [ 'shape' => 'DateTime', ], 'stopped' => [ 'shape' => 'DateTime', ], 'device' => [ 'shape' => 'Device', ], 'instanceArn' => [ 'shape' => 'AmazonResourceName', ], 'remoteDebugEnabled' => [ 'shape' => 'Boolean', ], 'remoteRecordEnabled' => [ 'shape' => 'Boolean', ], 'remoteRecordAppArn' => [ 'shape' => 'AmazonResourceName', ], 'hostAddress' => [ 'shape' => 'HostAddress', ], 'clientId' => [ 'shape' => 'ClientId', ], 'billingMethod' => [ 'shape' => 'BillingMethod', ], 'deviceMinutes' => [ 'shape' => 'DeviceMinutes', ], 'endpoint' => [ 'shape' => 'String', ], 'deviceUdid' => [ 'shape' => 'String', ], 'interactionMode' => [ 'shape' => 'InteractionMode', ], 'skipAppResign' => [ 'shape' => 'SkipAppResign', ], ], ], 'RemoteAccessSessions' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemoteAccessSession', ], ], 'RenewOfferingRequest' => [ 'type' => 'structure', 'members' => [ 'offeringId' => [ 'shape' => 'OfferingIdentifier', ], 'quantity' => [ 'shape' => 'Integer', ], ], ], 'RenewOfferingResult' => [ 'type' => 'structure', 'members' => [ 'offeringTransaction' => [ 'shape' => 'OfferingTransaction', ], ], ], 'Resolution' => [ 'type' => 'structure', 'members' => [ 'width' => [ 'shape' => 'Integer', ], 'height' => [ 'shape' => 'Integer', ], ], ], 'Rule' => [ 'type' => 'structure', 'members' => [ 'attribute' => [ 'shape' => 'DeviceAttribute', ], 'operator' => [ 'shape' => 'RuleOperator', ], 'value' => [ 'shape' => 'String', ], ], ], 'RuleOperator' => [ 'type' => 'string', 'enum' => [ 'EQUALS', 'LESS_THAN', 'LESS_THAN_OR_EQUALS', 'GREATER_THAN', 'GREATER_THAN_OR_EQUALS', 'IN', 'NOT_IN', 'CONTAINS', ], ], 'Rules' => [ 'type' => 'list', 'member' => [ 'shape' => 'Rule', ], ], 'Run' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'TestType', ], 'platform' => [ 'shape' => 'DevicePlatform', ], 'created' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'started' => [ 'shape' => 'DateTime', ], 'stopped' => [ 'shape' => 'DateTime', ], 'counters' => [ 'shape' => 'Counters', ], 'message' => [ 'shape' => 'Message', ], 'totalJobs' => [ 'shape' => 'Integer', ], 'completedJobs' => [ 'shape' => 'Integer', ], 'billingMethod' => [ 'shape' => 'BillingMethod', ], 'deviceMinutes' => [ 'shape' => 'DeviceMinutes', ], 'networkProfile' => [ 'shape' => 'NetworkProfile', ], 'parsingResultUrl' => [ 'shape' => 'String', ], 'resultCode' => [ 'shape' => 'ExecutionResultCode', ], 'seed' => [ 'shape' => 'Integer', ], 'appUpload' => [ 'shape' => 'AmazonResourceName', ], 'eventCount' => [ 'shape' => 'Integer', ], 'jobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], 'devicePoolArn' => [ 'shape' => 'AmazonResourceName', ], 'locale' => [ 'shape' => 'String', ], 'radios' => [ 'shape' => 'Radios', ], 'location' => [ 'shape' => 'Location', ], 'customerArtifactPaths' => [ 'shape' => 'CustomerArtifactPaths', ], 'webUrl' => [ 'shape' => 'String', ], 'skipAppResign' => [ 'shape' => 'SkipAppResign', ], 'testSpecArn' => [ 'shape' => 'AmazonResourceName', ], 'deviceSelectionResult' => [ 'shape' => 'DeviceSelectionResult', ], ], ], 'Runs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Run', ], ], 'Sample' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'type' => [ 'shape' => 'SampleType', ], 'url' => [ 'shape' => 'URL', ], ], ], 'SampleType' => [ 'type' => 'string', 'enum' => [ 'CPU', 'MEMORY', 'THREADS', 'RX_RATE', 'TX_RATE', 'RX', 'TX', 'NATIVE_FRAMES', 'NATIVE_FPS', 'NATIVE_MIN_DRAWTIME', 'NATIVE_AVG_DRAWTIME', 'NATIVE_MAX_DRAWTIME', 'OPENGL_FRAMES', 'OPENGL_FPS', 'OPENGL_MIN_DRAWTIME', 'OPENGL_AVG_DRAWTIME', 'OPENGL_MAX_DRAWTIME', ], ], 'Samples' => [ 'type' => 'list', 'member' => [ 'shape' => 'Sample', ], ], 'ScheduleRunConfiguration' => [ 'type' => 'structure', 'members' => [ 'extraDataPackageArn' => [ 'shape' => 'AmazonResourceName', ], 'networkProfileArn' => [ 'shape' => 'AmazonResourceName', ], 'locale' => [ 'shape' => 'String', ], 'location' => [ 'shape' => 'Location', ], 'vpceConfigurationArns' => [ 'shape' => 'AmazonResourceNames', ], 'customerArtifactPaths' => [ 'shape' => 'CustomerArtifactPaths', ], 'radios' => [ 'shape' => 'Radios', ], 'auxiliaryApps' => [ 'shape' => 'AmazonResourceNames', ], 'billingMethod' => [ 'shape' => 'BillingMethod', ], ], ], 'ScheduleRunRequest' => [ 'type' => 'structure', 'required' => [ 'projectArn', 'test', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'appArn' => [ 'shape' => 'AmazonResourceName', ], 'devicePoolArn' => [ 'shape' => 'AmazonResourceName', ], 'deviceSelectionConfiguration' => [ 'shape' => 'DeviceSelectionConfiguration', ], 'name' => [ 'shape' => 'Name', ], 'test' => [ 'shape' => 'ScheduleRunTest', ], 'configuration' => [ 'shape' => 'ScheduleRunConfiguration', ], 'executionConfiguration' => [ 'shape' => 'ExecutionConfiguration', ], ], ], 'ScheduleRunResult' => [ 'type' => 'structure', 'members' => [ 'run' => [ 'shape' => 'Run', ], ], ], 'ScheduleRunTest' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'TestType', ], 'testPackageArn' => [ 'shape' => 'AmazonResourceName', ], 'testSpecArn' => [ 'shape' => 'AmazonResourceName', ], 'filter' => [ 'shape' => 'Filter', ], 'parameters' => [ 'shape' => 'TestParameters', ], ], ], 'ServiceAccountException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ServiceDnsName' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'SkipAppResign' => [ 'type' => 'boolean', ], 'SshPublicKey' => [ 'type' => 'string', 'max' => 8192, 'min' => 0, ], 'StopJobRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'StopJobResult' => [ 'type' => 'structure', 'members' => [ 'job' => [ 'shape' => 'Job', ], ], ], 'StopRemoteAccessSessionRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'StopRemoteAccessSessionResult' => [ 'type' => 'structure', 'members' => [ 'remoteAccessSession' => [ 'shape' => 'RemoteAccessSession', ], ], ], 'StopRunRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'StopRunResult' => [ 'type' => 'structure', 'members' => [ 'run' => [ 'shape' => 'Run', ], ], ], 'String' => [ 'type' => 'string', ], 'Suite' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'TestType', ], 'created' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'started' => [ 'shape' => 'DateTime', ], 'stopped' => [ 'shape' => 'DateTime', ], 'counters' => [ 'shape' => 'Counters', ], 'message' => [ 'shape' => 'Message', ], 'deviceMinutes' => [ 'shape' => 'DeviceMinutes', ], ], ], 'Suites' => [ 'type' => 'list', 'member' => [ 'shape' => 'Suite', ], ], 'Test' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'type' => [ 'shape' => 'TestType', ], 'created' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'result' => [ 'shape' => 'ExecutionResult', ], 'started' => [ 'shape' => 'DateTime', ], 'stopped' => [ 'shape' => 'DateTime', ], 'counters' => [ 'shape' => 'Counters', ], 'message' => [ 'shape' => 'Message', ], 'deviceMinutes' => [ 'shape' => 'DeviceMinutes', ], ], ], 'TestParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'TestType' => [ 'type' => 'string', 'enum' => [ 'BUILTIN_FUZZ', 'BUILTIN_EXPLORER', 'WEB_PERFORMANCE_PROFILE', 'APPIUM_JAVA_JUNIT', 'APPIUM_JAVA_TESTNG', 'APPIUM_PYTHON', 'APPIUM_NODE', 'APPIUM_RUBY', 'APPIUM_WEB_JAVA_JUNIT', 'APPIUM_WEB_JAVA_TESTNG', 'APPIUM_WEB_PYTHON', 'APPIUM_WEB_NODE', 'APPIUM_WEB_RUBY', 'CALABASH', 'INSTRUMENTATION', 'UIAUTOMATION', 'UIAUTOMATOR', 'XCTEST', 'XCTEST_UI', 'REMOTE_ACCESS_RECORD', 'REMOTE_ACCESS_REPLAY', ], ], 'Tests' => [ 'type' => 'list', 'member' => [ 'shape' => 'Test', ], ], 'TransactionIdentifier' => [ 'type' => 'string', 'min' => 32, ], 'TrialMinutes' => [ 'type' => 'structure', 'members' => [ 'total' => [ 'shape' => 'Double', ], 'remaining' => [ 'shape' => 'Double', ], ], ], 'URL' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'UniqueProblem' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], 'problems' => [ 'shape' => 'Problems', ], ], ], 'UniqueProblems' => [ 'type' => 'list', 'member' => [ 'shape' => 'UniqueProblem', ], ], 'UniqueProblemsByExecutionResultMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ExecutionResult', ], 'value' => [ 'shape' => 'UniqueProblems', ], ], 'UpdateDeviceInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'profileArn' => [ 'shape' => 'AmazonResourceName', ], 'labels' => [ 'shape' => 'InstanceLabels', ], ], ], 'UpdateDeviceInstanceResult' => [ 'type' => 'structure', 'members' => [ 'deviceInstance' => [ 'shape' => 'DeviceInstance', ], ], ], 'UpdateDevicePoolRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'rules' => [ 'shape' => 'Rules', ], 'maxDevices' => [ 'shape' => 'Integer', ], 'clearMaxDevices' => [ 'shape' => 'Boolean', ], ], ], 'UpdateDevicePoolResult' => [ 'type' => 'structure', 'members' => [ 'devicePool' => [ 'shape' => 'DevicePool', ], ], ], 'UpdateInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'packageCleanup' => [ 'shape' => 'Boolean', ], 'excludeAppPackagesFromCleanup' => [ 'shape' => 'PackageIds', ], 'rebootAfterUse' => [ 'shape' => 'Boolean', ], ], ], 'UpdateInstanceProfileResult' => [ 'type' => 'structure', 'members' => [ 'instanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'UpdateNetworkProfileRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'description' => [ 'shape' => 'Message', ], 'type' => [ 'shape' => 'NetworkProfileType', ], 'uplinkBandwidthBits' => [ 'shape' => 'Long', ], 'downlinkBandwidthBits' => [ 'shape' => 'Long', ], 'uplinkDelayMs' => [ 'shape' => 'Long', ], 'downlinkDelayMs' => [ 'shape' => 'Long', ], 'uplinkJitterMs' => [ 'shape' => 'Long', ], 'downlinkJitterMs' => [ 'shape' => 'Long', ], 'uplinkLossPercent' => [ 'shape' => 'PercentInteger', ], 'downlinkLossPercent' => [ 'shape' => 'PercentInteger', ], ], ], 'UpdateNetworkProfileResult' => [ 'type' => 'structure', 'members' => [ 'networkProfile' => [ 'shape' => 'NetworkProfile', ], ], ], 'UpdateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'defaultJobTimeoutMinutes' => [ 'shape' => 'JobTimeoutMinutes', ], ], ], 'UpdateProjectResult' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'UpdateUploadRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'contentType' => [ 'shape' => 'ContentType', ], 'editContent' => [ 'shape' => 'Boolean', ], ], ], 'UpdateUploadResult' => [ 'type' => 'structure', 'members' => [ 'upload' => [ 'shape' => 'Upload', ], ], ], 'UpdateVPCEConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'vpceConfigurationName' => [ 'shape' => 'VPCEConfigurationName', ], 'vpceServiceName' => [ 'shape' => 'VPCEServiceName', ], 'serviceDnsName' => [ 'shape' => 'ServiceDnsName', ], 'vpceConfigurationDescription' => [ 'shape' => 'VPCEConfigurationDescription', ], ], ], 'UpdateVPCEConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'vpceConfiguration' => [ 'shape' => 'VPCEConfiguration', ], ], ], 'Upload' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'name' => [ 'shape' => 'Name', ], 'created' => [ 'shape' => 'DateTime', ], 'type' => [ 'shape' => 'UploadType', ], 'status' => [ 'shape' => 'UploadStatus', ], 'url' => [ 'shape' => 'URL', ], 'metadata' => [ 'shape' => 'Metadata', ], 'contentType' => [ 'shape' => 'ContentType', ], 'message' => [ 'shape' => 'Message', ], 'category' => [ 'shape' => 'UploadCategory', ], ], ], 'UploadCategory' => [ 'type' => 'string', 'enum' => [ 'CURATED', 'PRIVATE', ], ], 'UploadStatus' => [ 'type' => 'string', 'enum' => [ 'INITIALIZED', 'PROCESSING', 'SUCCEEDED', 'FAILED', ], ], 'UploadType' => [ 'type' => 'string', 'enum' => [ 'ANDROID_APP', 'IOS_APP', 'WEB_APP', 'EXTERNAL_DATA', 'APPIUM_JAVA_JUNIT_TEST_PACKAGE', 'APPIUM_JAVA_TESTNG_TEST_PACKAGE', 'APPIUM_PYTHON_TEST_PACKAGE', 'APPIUM_NODE_TEST_PACKAGE', 'APPIUM_RUBY_TEST_PACKAGE', 'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE', 'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE', 'APPIUM_WEB_PYTHON_TEST_PACKAGE', 'APPIUM_WEB_NODE_TEST_PACKAGE', 'APPIUM_WEB_RUBY_TEST_PACKAGE', 'CALABASH_TEST_PACKAGE', 'INSTRUMENTATION_TEST_PACKAGE', 'UIAUTOMATION_TEST_PACKAGE', 'UIAUTOMATOR_TEST_PACKAGE', 'XCTEST_TEST_PACKAGE', 'XCTEST_UI_TEST_PACKAGE', 'APPIUM_JAVA_JUNIT_TEST_SPEC', 'APPIUM_JAVA_TESTNG_TEST_SPEC', 'APPIUM_PYTHON_TEST_SPEC', 'APPIUM_NODE_TEST_SPEC', 'APPIUM_RUBY_TEST_SPEC', 'APPIUM_WEB_JAVA_JUNIT_TEST_SPEC', 'APPIUM_WEB_JAVA_TESTNG_TEST_SPEC', 'APPIUM_WEB_PYTHON_TEST_SPEC', 'APPIUM_WEB_NODE_TEST_SPEC', 'APPIUM_WEB_RUBY_TEST_SPEC', 'INSTRUMENTATION_TEST_SPEC', 'XCTEST_UI_TEST_SPEC', ], ], 'Uploads' => [ 'type' => 'list', 'member' => [ 'shape' => 'Upload', ], ], 'VPCEConfiguration' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'AmazonResourceName', ], 'vpceConfigurationName' => [ 'shape' => 'VPCEConfigurationName', ], 'vpceServiceName' => [ 'shape' => 'VPCEServiceName', ], 'serviceDnsName' => [ 'shape' => 'ServiceDnsName', ], 'vpceConfigurationDescription' => [ 'shape' => 'VPCEConfigurationDescription', ], ], ], 'VPCEConfigurationDescription' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'VPCEConfigurationName' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'VPCEConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'VPCEConfiguration', ], ], 'VPCEServiceName' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'VideoCapture' => [ 'type' => 'boolean', ], ],]; diff --git a/lib/aws/Aws/data/devicefarm/2015-06-23/paginators-1.json.php b/lib/aws/Aws/data/devicefarm/2015-06-23/paginators-1.json.php new file mode 100644 index 0000000..a88d703 --- /dev/null +++ b/lib/aws/Aws/data/devicefarm/2015-06-23/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/devicefarm/2015-06-23/paginators-1.json +return [ 'pagination' => [ 'GetOfferingStatus' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => [ 'current', 'nextPeriod', ], ], 'ListArtifacts' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'artifacts', ], 'ListDevicePools' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'devicePools', ], 'ListDevices' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'devices', ], 'ListJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'jobs', ], 'ListOfferingTransactions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'offeringTransactions', ], 'ListOfferings' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'offerings', ], 'ListProjects' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'projects', ], 'ListRuns' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'runs', ], 'ListSamples' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'samples', ], 'ListSuites' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'suites', ], 'ListTests' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'tests', ], 'ListUniqueProblems' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'uniqueProblems', ], 'ListUploads' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'result_key' => 'uploads', ], ],]; diff --git a/lib/aws/Aws/data/devicefarm/2015-06-23/smoke.json.php b/lib/aws/Aws/data/devicefarm/2015-06-23/smoke.json.php new file mode 100644 index 0000000..455eaca --- /dev/null +++ b/lib/aws/Aws/data/devicefarm/2015-06-23/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/devicefarm/2015-06-23/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListDevices', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDevice', 'input' => [ 'arn' => 'arn:aws:devicefarm:us-west-2::device:000000000000000000000000fake-arn', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/directconnect/2012-10-25/api-2.json.php b/lib/aws/Aws/data/directconnect/2012-10-25/api-2.json.php new file mode 100644 index 0000000..22f4c5d --- /dev/null +++ b/lib/aws/Aws/data/directconnect/2012-10-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/directconnect/2012-10-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-10-25', 'endpointPrefix' => 'directconnect', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Direct Connect', 'serviceId' => 'Direct Connect', 'signatureVersion' => 'v4', 'targetPrefix' => 'OvertureService', 'uid' => 'directconnect-2012-10-25', ], 'operations' => [ 'AcceptDirectConnectGatewayAssociationProposal' => [ 'name' => 'AcceptDirectConnectGatewayAssociationProposal', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptDirectConnectGatewayAssociationProposalRequest', ], 'output' => [ 'shape' => 'AcceptDirectConnectGatewayAssociationProposalResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AllocateConnectionOnInterconnect' => [ 'name' => 'AllocateConnectionOnInterconnect', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateConnectionOnInterconnectRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], 'deprecated' => true, ], 'AllocateHostedConnection' => [ 'name' => 'AllocateHostedConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateHostedConnectionRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AllocatePrivateVirtualInterface' => [ 'name' => 'AllocatePrivateVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocatePrivateVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AllocatePublicVirtualInterface' => [ 'name' => 'AllocatePublicVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocatePublicVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AssociateConnectionWithLag' => [ 'name' => 'AssociateConnectionWithLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateConnectionWithLagRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AssociateHostedConnection' => [ 'name' => 'AssociateHostedConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateHostedConnectionRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'AssociateVirtualInterface' => [ 'name' => 'AssociateVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'ConfirmConnection' => [ 'name' => 'ConfirmConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmConnectionRequest', ], 'output' => [ 'shape' => 'ConfirmConnectionResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'ConfirmPrivateVirtualInterface' => [ 'name' => 'ConfirmPrivateVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmPrivateVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'ConfirmPrivateVirtualInterfaceResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'ConfirmPublicVirtualInterface' => [ 'name' => 'ConfirmPublicVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmPublicVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'ConfirmPublicVirtualInterfaceResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateBGPPeer' => [ 'name' => 'CreateBGPPeer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBGPPeerRequest', ], 'output' => [ 'shape' => 'CreateBGPPeerResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateConnection' => [ 'name' => 'CreateConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConnectionRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateDirectConnectGateway' => [ 'name' => 'CreateDirectConnectGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDirectConnectGatewayRequest', ], 'output' => [ 'shape' => 'CreateDirectConnectGatewayResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateDirectConnectGatewayAssociation' => [ 'name' => 'CreateDirectConnectGatewayAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDirectConnectGatewayAssociationRequest', ], 'output' => [ 'shape' => 'CreateDirectConnectGatewayAssociationResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateDirectConnectGatewayAssociationProposal' => [ 'name' => 'CreateDirectConnectGatewayAssociationProposal', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDirectConnectGatewayAssociationProposalRequest', ], 'output' => [ 'shape' => 'CreateDirectConnectGatewayAssociationProposalResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateInterconnect' => [ 'name' => 'CreateInterconnect', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInterconnectRequest', ], 'output' => [ 'shape' => 'Interconnect', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreateLag' => [ 'name' => 'CreateLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLagRequest', ], 'output' => [ 'shape' => 'Lag', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreatePrivateVirtualInterface' => [ 'name' => 'CreatePrivateVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePrivateVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'CreatePublicVirtualInterface' => [ 'name' => 'CreatePublicVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePublicVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteBGPPeer' => [ 'name' => 'DeleteBGPPeer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBGPPeerRequest', ], 'output' => [ 'shape' => 'DeleteBGPPeerResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteConnection' => [ 'name' => 'DeleteConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConnectionRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteDirectConnectGateway' => [ 'name' => 'DeleteDirectConnectGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDirectConnectGatewayRequest', ], 'output' => [ 'shape' => 'DeleteDirectConnectGatewayResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteDirectConnectGatewayAssociation' => [ 'name' => 'DeleteDirectConnectGatewayAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDirectConnectGatewayAssociationRequest', ], 'output' => [ 'shape' => 'DeleteDirectConnectGatewayAssociationResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteDirectConnectGatewayAssociationProposal' => [ 'name' => 'DeleteDirectConnectGatewayAssociationProposal', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDirectConnectGatewayAssociationProposalRequest', ], 'output' => [ 'shape' => 'DeleteDirectConnectGatewayAssociationProposalResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteInterconnect' => [ 'name' => 'DeleteInterconnect', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInterconnectRequest', ], 'output' => [ 'shape' => 'DeleteInterconnectResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteLag' => [ 'name' => 'DeleteLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLagRequest', ], 'output' => [ 'shape' => 'Lag', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DeleteVirtualInterface' => [ 'name' => 'DeleteVirtualInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVirtualInterfaceRequest', ], 'output' => [ 'shape' => 'DeleteVirtualInterfaceResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeConnectionLoa' => [ 'name' => 'DescribeConnectionLoa', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConnectionLoaRequest', ], 'output' => [ 'shape' => 'DescribeConnectionLoaResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], 'deprecated' => true, ], 'DescribeConnections' => [ 'name' => 'DescribeConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConnectionsRequest', ], 'output' => [ 'shape' => 'Connections', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeConnectionsOnInterconnect' => [ 'name' => 'DescribeConnectionsOnInterconnect', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConnectionsOnInterconnectRequest', ], 'output' => [ 'shape' => 'Connections', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], 'deprecated' => true, ], 'DescribeDirectConnectGatewayAssociationProposals' => [ 'name' => 'DescribeDirectConnectGatewayAssociationProposals', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectConnectGatewayAssociationProposalsRequest', ], 'output' => [ 'shape' => 'DescribeDirectConnectGatewayAssociationProposalsResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeDirectConnectGatewayAssociations' => [ 'name' => 'DescribeDirectConnectGatewayAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectConnectGatewayAssociationsRequest', ], 'output' => [ 'shape' => 'DescribeDirectConnectGatewayAssociationsResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeDirectConnectGatewayAttachments' => [ 'name' => 'DescribeDirectConnectGatewayAttachments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectConnectGatewayAttachmentsRequest', ], 'output' => [ 'shape' => 'DescribeDirectConnectGatewayAttachmentsResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeDirectConnectGateways' => [ 'name' => 'DescribeDirectConnectGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectConnectGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeDirectConnectGatewaysResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeHostedConnections' => [ 'name' => 'DescribeHostedConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostedConnectionsRequest', ], 'output' => [ 'shape' => 'Connections', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeInterconnectLoa' => [ 'name' => 'DescribeInterconnectLoa', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInterconnectLoaRequest', ], 'output' => [ 'shape' => 'DescribeInterconnectLoaResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], 'deprecated' => true, ], 'DescribeInterconnects' => [ 'name' => 'DescribeInterconnects', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInterconnectsRequest', ], 'output' => [ 'shape' => 'Interconnects', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeLags' => [ 'name' => 'DescribeLags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLagsRequest', ], 'output' => [ 'shape' => 'Lags', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeLoa' => [ 'name' => 'DescribeLoa', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoaRequest', ], 'output' => [ 'shape' => 'Loa', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeLocations' => [ 'name' => 'DescribeLocations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'Locations', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeVirtualGateways' => [ 'name' => 'DescribeVirtualGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'VirtualGateways', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DescribeVirtualInterfaces' => [ 'name' => 'DescribeVirtualInterfaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVirtualInterfacesRequest', ], 'output' => [ 'shape' => 'VirtualInterfaces', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'DisassociateConnectionFromLag' => [ 'name' => 'DisassociateConnectionFromLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateConnectionFromLagRequest', ], 'output' => [ 'shape' => 'Connection', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'DuplicateTagKeysException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'UpdateDirectConnectGatewayAssociation' => [ 'name' => 'UpdateDirectConnectGatewayAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDirectConnectGatewayAssociationRequest', ], 'output' => [ 'shape' => 'UpdateDirectConnectGatewayAssociationResult', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'UpdateLag' => [ 'name' => 'UpdateLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLagRequest', ], 'output' => [ 'shape' => 'Lag', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], 'UpdateVirtualInterfaceAttributes' => [ 'name' => 'UpdateVirtualInterfaceAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateVirtualInterfaceAttributesRequest', ], 'output' => [ 'shape' => 'VirtualInterface', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], ], 'shapes' => [ 'ASN' => [ 'type' => 'integer', ], 'AcceptDirectConnectGatewayAssociationProposalRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'proposalId', 'associatedGatewayOwnerAccount', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'proposalId' => [ 'shape' => 'DirectConnectGatewayAssociationProposalId', ], 'associatedGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'overrideAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'AcceptDirectConnectGatewayAssociationProposalResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociation' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], ], 'AddressFamily' => [ 'type' => 'string', 'enum' => [ 'ipv4', 'ipv6', ], ], 'AllocateConnectionOnInterconnectRequest' => [ 'type' => 'structure', 'required' => [ 'bandwidth', 'connectionName', 'ownerAccount', 'interconnectId', 'vlan', ], 'members' => [ 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'connectionName' => [ 'shape' => 'ConnectionName', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'interconnectId' => [ 'shape' => 'InterconnectId', ], 'vlan' => [ 'shape' => 'VLAN', ], ], ], 'AllocateHostedConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'ownerAccount', 'bandwidth', 'connectionName', 'vlan', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'connectionName' => [ 'shape' => 'ConnectionName', ], 'vlan' => [ 'shape' => 'VLAN', ], ], ], 'AllocatePrivateVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'ownerAccount', 'newPrivateVirtualInterfaceAllocation', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'newPrivateVirtualInterfaceAllocation' => [ 'shape' => 'NewPrivateVirtualInterfaceAllocation', ], ], ], 'AllocatePublicVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'ownerAccount', 'newPublicVirtualInterfaceAllocation', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'newPublicVirtualInterfaceAllocation' => [ 'shape' => 'NewPublicVirtualInterfaceAllocation', ], ], ], 'AmazonAddress' => [ 'type' => 'string', ], 'AssociateConnectionWithLagRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'lagId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'lagId' => [ 'shape' => 'LagId', ], ], ], 'AssociateHostedConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'parentConnectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'parentConnectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'AssociateVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceId', 'connectionId', ], 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'AssociatedGateway' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'GatewayIdentifier', ], 'type' => [ 'shape' => 'GatewayType', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'region' => [ 'shape' => 'Region', ], ], ], 'AssociatedGatewayId' => [ 'type' => 'string', ], 'AvailablePortSpeeds' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortSpeed', ], ], 'AwsDevice' => [ 'type' => 'string', 'deprecated' => true, ], 'AwsDeviceV2' => [ 'type' => 'string', ], 'BGPAuthKey' => [ 'type' => 'string', ], 'BGPPeer' => [ 'type' => 'structure', 'members' => [ 'bgpPeerId' => [ 'shape' => 'BGPPeerId', ], 'asn' => [ 'shape' => 'ASN', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'bgpPeerState' => [ 'shape' => 'BGPPeerState', ], 'bgpStatus' => [ 'shape' => 'BGPStatus', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], ], ], 'BGPPeerId' => [ 'type' => 'string', ], 'BGPPeerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BGPPeer', ], ], 'BGPPeerState' => [ 'type' => 'string', 'enum' => [ 'verifying', 'pending', 'available', 'deleting', 'deleted', ], ], 'BGPStatus' => [ 'type' => 'string', 'enum' => [ 'up', 'down', 'unknown', ], ], 'Bandwidth' => [ 'type' => 'string', ], 'BooleanFlag' => [ 'type' => 'boolean', ], 'CIDR' => [ 'type' => 'string', ], 'ConfirmConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'ConfirmConnectionResponse' => [ 'type' => 'structure', 'members' => [ 'connectionState' => [ 'shape' => 'ConnectionState', ], ], ], 'ConfirmPrivateVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceId', ], 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], ], ], 'ConfirmPrivateVirtualInterfaceResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaceState' => [ 'shape' => 'VirtualInterfaceState', ], ], ], 'ConfirmPublicVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceId', ], 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], ], ], 'ConfirmPublicVirtualInterfaceResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaceState' => [ 'shape' => 'VirtualInterfaceState', ], ], ], 'Connection' => [ 'type' => 'structure', 'members' => [ 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'connectionId' => [ 'shape' => 'ConnectionId', ], 'connectionName' => [ 'shape' => 'ConnectionName', ], 'connectionState' => [ 'shape' => 'ConnectionState', ], 'region' => [ 'shape' => 'Region', ], 'location' => [ 'shape' => 'LocationCode', ], 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'vlan' => [ 'shape' => 'VLAN', ], 'partnerName' => [ 'shape' => 'PartnerName', ], 'loaIssueTime' => [ 'shape' => 'LoaIssueTime', ], 'lagId' => [ 'shape' => 'LagId', ], 'awsDevice' => [ 'shape' => 'AwsDevice', ], 'jumboFrameCapable' => [ 'shape' => 'JumboFrameCapable', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], 'hasLogicalRedundancy' => [ 'shape' => 'HasLogicalRedundancy', ], ], ], 'ConnectionId' => [ 'type' => 'string', ], 'ConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connection', ], ], 'ConnectionName' => [ 'type' => 'string', ], 'ConnectionState' => [ 'type' => 'string', 'enum' => [ 'ordering', 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', 'rejected', 'unknown', ], ], 'Connections' => [ 'type' => 'structure', 'members' => [ 'connections' => [ 'shape' => 'ConnectionList', ], ], ], 'Count' => [ 'type' => 'integer', ], 'CreateBGPPeerRequest' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'newBGPPeer' => [ 'shape' => 'NewBGPPeer', ], ], ], 'CreateBGPPeerResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterface' => [ 'shape' => 'VirtualInterface', ], ], ], 'CreateConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'location', 'bandwidth', 'connectionName', ], 'members' => [ 'location' => [ 'shape' => 'LocationCode', ], 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'connectionName' => [ 'shape' => 'ConnectionName', ], 'lagId' => [ 'shape' => 'LagId', ], ], ], 'CreateDirectConnectGatewayAssociationProposalRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'directConnectGatewayOwnerAccount', 'gatewayId', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'directConnectGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'gatewayId' => [ 'shape' => 'GatewayIdToAssociate', ], 'addAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], 'removeAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'CreateDirectConnectGatewayAssociationProposalResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociationProposal' => [ 'shape' => 'DirectConnectGatewayAssociationProposal', ], ], ], 'CreateDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'gatewayId' => [ 'shape' => 'GatewayIdToAssociate', ], 'addAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], ], ], 'CreateDirectConnectGatewayAssociationResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociation' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], ], 'CreateDirectConnectGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayName', ], 'members' => [ 'directConnectGatewayName' => [ 'shape' => 'DirectConnectGatewayName', ], 'amazonSideAsn' => [ 'shape' => 'LongAsn', ], ], ], 'CreateDirectConnectGatewayResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGateway' => [ 'shape' => 'DirectConnectGateway', ], ], ], 'CreateInterconnectRequest' => [ 'type' => 'structure', 'required' => [ 'interconnectName', 'bandwidth', 'location', ], 'members' => [ 'interconnectName' => [ 'shape' => 'InterconnectName', ], 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'location' => [ 'shape' => 'LocationCode', ], 'lagId' => [ 'shape' => 'LagId', ], ], ], 'CreateLagRequest' => [ 'type' => 'structure', 'required' => [ 'numberOfConnections', 'location', 'connectionsBandwidth', 'lagName', ], 'members' => [ 'numberOfConnections' => [ 'shape' => 'Count', ], 'location' => [ 'shape' => 'LocationCode', ], 'connectionsBandwidth' => [ 'shape' => 'Bandwidth', ], 'lagName' => [ 'shape' => 'LagName', ], 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'CreatePrivateVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'newPrivateVirtualInterface', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'newPrivateVirtualInterface' => [ 'shape' => 'NewPrivateVirtualInterface', ], ], ], 'CreatePublicVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'newPublicVirtualInterface', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'newPublicVirtualInterface' => [ 'shape' => 'NewPublicVirtualInterface', ], ], ], 'CustomerAddress' => [ 'type' => 'string', ], 'DeleteBGPPeerRequest' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'asn' => [ 'shape' => 'ASN', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'bgpPeerId' => [ 'shape' => 'BGPPeerId', ], ], ], 'DeleteBGPPeerResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterface' => [ 'shape' => 'VirtualInterface', ], ], ], 'DeleteConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'DeleteDirectConnectGatewayAssociationProposalRequest' => [ 'type' => 'structure', 'required' => [ 'proposalId', ], 'members' => [ 'proposalId' => [ 'shape' => 'DirectConnectGatewayAssociationProposalId', ], ], ], 'DeleteDirectConnectGatewayAssociationProposalResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociationProposal' => [ 'shape' => 'DirectConnectGatewayAssociationProposal', ], ], ], 'DeleteDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'members' => [ 'associationId' => [ 'shape' => 'DirectConnectGatewayAssociationId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], ], ], 'DeleteDirectConnectGatewayAssociationResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociation' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], ], 'DeleteDirectConnectGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], ], ], 'DeleteDirectConnectGatewayResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGateway' => [ 'shape' => 'DirectConnectGateway', ], ], ], 'DeleteInterconnectRequest' => [ 'type' => 'structure', 'required' => [ 'interconnectId', ], 'members' => [ 'interconnectId' => [ 'shape' => 'InterconnectId', ], ], ], 'DeleteInterconnectResponse' => [ 'type' => 'structure', 'members' => [ 'interconnectState' => [ 'shape' => 'InterconnectState', ], ], ], 'DeleteLagRequest' => [ 'type' => 'structure', 'required' => [ 'lagId', ], 'members' => [ 'lagId' => [ 'shape' => 'LagId', ], ], ], 'DeleteVirtualInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceId', ], 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], ], ], 'DeleteVirtualInterfaceResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaceState' => [ 'shape' => 'VirtualInterfaceState', ], ], ], 'DescribeConnectionLoaRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'providerName' => [ 'shape' => 'ProviderName', ], 'loaContentType' => [ 'shape' => 'LoaContentType', ], ], ], 'DescribeConnectionLoaResponse' => [ 'type' => 'structure', 'members' => [ 'loa' => [ 'shape' => 'Loa', ], ], ], 'DescribeConnectionsOnInterconnectRequest' => [ 'type' => 'structure', 'required' => [ 'interconnectId', ], 'members' => [ 'interconnectId' => [ 'shape' => 'InterconnectId', ], ], ], 'DescribeConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'DescribeDirectConnectGatewayAssociationProposalsRequest' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'proposalId' => [ 'shape' => 'DirectConnectGatewayAssociationProposalId', ], 'associatedGatewayId' => [ 'shape' => 'AssociatedGatewayId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewayAssociationProposalsResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociationProposals' => [ 'shape' => 'DirectConnectGatewayAssociationProposalList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewayAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'associationId' => [ 'shape' => 'DirectConnectGatewayAssociationId', ], 'associatedGatewayId' => [ 'shape' => 'AssociatedGatewayId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], ], ], 'DescribeDirectConnectGatewayAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociations' => [ 'shape' => 'DirectConnectGatewayAssociationList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewayAttachmentsRequest' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewayAttachmentsResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAttachments' => [ 'shape' => 'DirectConnectGatewayAttachmentList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeDirectConnectGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGateways' => [ 'shape' => 'DirectConnectGatewayList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeHostedConnectionsRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'DescribeInterconnectLoaRequest' => [ 'type' => 'structure', 'required' => [ 'interconnectId', ], 'members' => [ 'interconnectId' => [ 'shape' => 'InterconnectId', ], 'providerName' => [ 'shape' => 'ProviderName', ], 'loaContentType' => [ 'shape' => 'LoaContentType', ], ], ], 'DescribeInterconnectLoaResponse' => [ 'type' => 'structure', 'members' => [ 'loa' => [ 'shape' => 'Loa', ], ], ], 'DescribeInterconnectsRequest' => [ 'type' => 'structure', 'members' => [ 'interconnectId' => [ 'shape' => 'InterconnectId', ], ], ], 'DescribeLagsRequest' => [ 'type' => 'structure', 'members' => [ 'lagId' => [ 'shape' => 'LagId', ], ], ], 'DescribeLoaRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'providerName' => [ 'shape' => 'ProviderName', ], 'loaContentType' => [ 'shape' => 'LoaContentType', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArns', ], 'members' => [ 'resourceArns' => [ 'shape' => 'ResourceArnList', ], ], ], 'DescribeTagsResponse' => [ 'type' => 'structure', 'members' => [ 'resourceTags' => [ 'shape' => 'ResourceTagList', ], ], ], 'DescribeVirtualInterfacesRequest' => [ 'type' => 'structure', 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], ], ], 'DirectConnectClientException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DirectConnectGateway' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'directConnectGatewayName' => [ 'shape' => 'DirectConnectGatewayName', ], 'amazonSideAsn' => [ 'shape' => 'LongAsn', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'directConnectGatewayState' => [ 'shape' => 'DirectConnectGatewayState', ], 'stateChangeError' => [ 'shape' => 'StateChangeError', ], ], ], 'DirectConnectGatewayAssociation' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'directConnectGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'associationState' => [ 'shape' => 'DirectConnectGatewayAssociationState', ], 'stateChangeError' => [ 'shape' => 'StateChangeError', ], 'associatedGateway' => [ 'shape' => 'AssociatedGateway', ], 'associationId' => [ 'shape' => 'DirectConnectGatewayAssociationId', ], 'allowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'virtualGatewayRegion' => [ 'shape' => 'VirtualGatewayRegion', ], 'virtualGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], ], ], 'DirectConnectGatewayAssociationId' => [ 'type' => 'string', ], 'DirectConnectGatewayAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], 'DirectConnectGatewayAssociationProposal' => [ 'type' => 'structure', 'members' => [ 'proposalId' => [ 'shape' => 'DirectConnectGatewayAssociationProposalId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'directConnectGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'proposalState' => [ 'shape' => 'DirectConnectGatewayAssociationProposalState', ], 'associatedGateway' => [ 'shape' => 'AssociatedGateway', ], 'existingAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], 'requestedAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'DirectConnectGatewayAssociationProposalId' => [ 'type' => 'string', ], 'DirectConnectGatewayAssociationProposalList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGatewayAssociationProposal', ], ], 'DirectConnectGatewayAssociationProposalState' => [ 'type' => 'string', 'enum' => [ 'requested', 'accepted', 'deleted', ], ], 'DirectConnectGatewayAssociationState' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', 'updating', ], ], 'DirectConnectGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'virtualInterfaceRegion' => [ 'shape' => 'VirtualInterfaceRegion', ], 'virtualInterfaceOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'attachmentState' => [ 'shape' => 'DirectConnectGatewayAttachmentState', ], 'stateChangeError' => [ 'shape' => 'StateChangeError', ], ], ], 'DirectConnectGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGatewayAttachment', ], ], 'DirectConnectGatewayAttachmentState' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'DirectConnectGatewayId' => [ 'type' => 'string', ], 'DirectConnectGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGateway', ], ], 'DirectConnectGatewayName' => [ 'type' => 'string', ], 'DirectConnectGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'DirectConnectServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DisassociateConnectionFromLagRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', 'lagId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], 'lagId' => [ 'shape' => 'LagId', ], ], ], 'DuplicateTagKeysException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GatewayIdToAssociate' => [ 'type' => 'string', ], 'GatewayIdentifier' => [ 'type' => 'string', ], 'GatewayType' => [ 'type' => 'string', 'enum' => [ 'virtualPrivateGateway', ], ], 'HasLogicalRedundancy' => [ 'type' => 'string', 'enum' => [ 'unknown', 'yes', 'no', ], ], 'Interconnect' => [ 'type' => 'structure', 'members' => [ 'interconnectId' => [ 'shape' => 'InterconnectId', ], 'interconnectName' => [ 'shape' => 'InterconnectName', ], 'interconnectState' => [ 'shape' => 'InterconnectState', ], 'region' => [ 'shape' => 'Region', ], 'location' => [ 'shape' => 'LocationCode', ], 'bandwidth' => [ 'shape' => 'Bandwidth', ], 'loaIssueTime' => [ 'shape' => 'LoaIssueTime', ], 'lagId' => [ 'shape' => 'LagId', ], 'awsDevice' => [ 'shape' => 'AwsDevice', ], 'jumboFrameCapable' => [ 'shape' => 'JumboFrameCapable', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], 'hasLogicalRedundancy' => [ 'shape' => 'HasLogicalRedundancy', ], ], ], 'InterconnectId' => [ 'type' => 'string', ], 'InterconnectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Interconnect', ], ], 'InterconnectName' => [ 'type' => 'string', ], 'InterconnectState' => [ 'type' => 'string', 'enum' => [ 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', 'unknown', ], ], 'Interconnects' => [ 'type' => 'structure', 'members' => [ 'interconnects' => [ 'shape' => 'InterconnectList', ], ], ], 'JumboFrameCapable' => [ 'type' => 'boolean', ], 'Lag' => [ 'type' => 'structure', 'members' => [ 'connectionsBandwidth' => [ 'shape' => 'Bandwidth', ], 'numberOfConnections' => [ 'shape' => 'Count', ], 'lagId' => [ 'shape' => 'LagId', ], 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'lagName' => [ 'shape' => 'LagName', ], 'lagState' => [ 'shape' => 'LagState', ], 'location' => [ 'shape' => 'LocationCode', ], 'region' => [ 'shape' => 'Region', ], 'minimumLinks' => [ 'shape' => 'Count', ], 'awsDevice' => [ 'shape' => 'AwsDevice', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], 'connections' => [ 'shape' => 'ConnectionList', ], 'allowsHostedConnections' => [ 'shape' => 'BooleanFlag', ], 'jumboFrameCapable' => [ 'shape' => 'JumboFrameCapable', ], 'hasLogicalRedundancy' => [ 'shape' => 'HasLogicalRedundancy', ], ], ], 'LagId' => [ 'type' => 'string', ], 'LagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Lag', ], ], 'LagName' => [ 'type' => 'string', ], 'LagState' => [ 'type' => 'string', 'enum' => [ 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', 'unknown', ], ], 'Lags' => [ 'type' => 'structure', 'members' => [ 'lags' => [ 'shape' => 'LagList', ], ], ], 'Loa' => [ 'type' => 'structure', 'members' => [ 'loaContent' => [ 'shape' => 'LoaContent', ], 'loaContentType' => [ 'shape' => 'LoaContentType', ], ], ], 'LoaContent' => [ 'type' => 'blob', ], 'LoaContentType' => [ 'type' => 'string', 'enum' => [ 'application/pdf', ], ], 'LoaIssueTime' => [ 'type' => 'timestamp', ], 'Location' => [ 'type' => 'structure', 'members' => [ 'locationCode' => [ 'shape' => 'LocationCode', ], 'locationName' => [ 'shape' => 'LocationName', ], 'region' => [ 'shape' => 'Region', ], 'availablePortSpeeds' => [ 'shape' => 'AvailablePortSpeeds', ], ], ], 'LocationCode' => [ 'type' => 'string', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Location', ], ], 'LocationName' => [ 'type' => 'string', ], 'Locations' => [ 'type' => 'structure', 'members' => [ 'locations' => [ 'shape' => 'LocationList', ], ], ], 'LongAsn' => [ 'type' => 'long', ], 'MTU' => [ 'type' => 'integer', ], 'MaxResultSetSize' => [ 'type' => 'integer', 'box' => true, ], 'NewBGPPeer' => [ 'type' => 'structure', 'members' => [ 'asn' => [ 'shape' => 'ASN', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], ], ], 'NewPrivateVirtualInterface' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceName', 'vlan', 'asn', ], 'members' => [ 'virtualInterfaceName' => [ 'shape' => 'VirtualInterfaceName', ], 'vlan' => [ 'shape' => 'VLAN', ], 'asn' => [ 'shape' => 'ASN', ], 'mtu' => [ 'shape' => 'MTU', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], ], ], 'NewPrivateVirtualInterfaceAllocation' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceName', 'vlan', 'asn', ], 'members' => [ 'virtualInterfaceName' => [ 'shape' => 'VirtualInterfaceName', ], 'vlan' => [ 'shape' => 'VLAN', ], 'asn' => [ 'shape' => 'ASN', ], 'mtu' => [ 'shape' => 'MTU', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], ], ], 'NewPublicVirtualInterface' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceName', 'vlan', 'asn', ], 'members' => [ 'virtualInterfaceName' => [ 'shape' => 'VirtualInterfaceName', ], 'vlan' => [ 'shape' => 'VLAN', ], 'asn' => [ 'shape' => 'ASN', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'routeFilterPrefixes' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'NewPublicVirtualInterfaceAllocation' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceName', 'vlan', 'asn', ], 'members' => [ 'virtualInterfaceName' => [ 'shape' => 'VirtualInterfaceName', ], 'vlan' => [ 'shape' => 'VLAN', ], 'asn' => [ 'shape' => 'ASN', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'routeFilterPrefixes' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'OwnerAccount' => [ 'type' => 'string', ], 'PaginationToken' => [ 'type' => 'string', ], 'PartnerName' => [ 'type' => 'string', ], 'PortSpeed' => [ 'type' => 'string', ], 'ProviderName' => [ 'type' => 'string', ], 'Region' => [ 'type' => 'string', ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], ], 'ResourceTag' => [ 'type' => 'structure', 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'ResourceTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTag', ], ], 'RouteFilterPrefix' => [ 'type' => 'structure', 'members' => [ 'cidr' => [ 'shape' => 'CIDR', ], ], ], 'RouteFilterPrefixList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteFilterPrefix', ], ], 'RouterConfig' => [ 'type' => 'string', ], 'StateChangeError' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'members' => [ 'associationId' => [ 'shape' => 'DirectConnectGatewayAssociationId', ], 'addAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], 'removeAllowedPrefixesToDirectConnectGateway' => [ 'shape' => 'RouteFilterPrefixList', ], ], ], 'UpdateDirectConnectGatewayAssociationResult' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayAssociation' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], ], 'UpdateLagRequest' => [ 'type' => 'structure', 'required' => [ 'lagId', ], 'members' => [ 'lagId' => [ 'shape' => 'LagId', ], 'lagName' => [ 'shape' => 'LagName', ], 'minimumLinks' => [ 'shape' => 'Count', ], ], ], 'UpdateVirtualInterfaceAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'virtualInterfaceId', ], 'members' => [ 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'mtu' => [ 'shape' => 'MTU', ], ], ], 'VLAN' => [ 'type' => 'integer', ], 'VirtualGateway' => [ 'type' => 'structure', 'members' => [ 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'virtualGatewayState' => [ 'shape' => 'VirtualGatewayState', ], ], ], 'VirtualGatewayId' => [ 'type' => 'string', 'deprecated' => true, ], 'VirtualGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualGateway', ], ], 'VirtualGatewayRegion' => [ 'type' => 'string', 'deprecated' => true, ], 'VirtualGatewayState' => [ 'type' => 'string', ], 'VirtualGateways' => [ 'type' => 'structure', 'members' => [ 'virtualGateways' => [ 'shape' => 'VirtualGatewayList', ], ], ], 'VirtualInterface' => [ 'type' => 'structure', 'members' => [ 'ownerAccount' => [ 'shape' => 'OwnerAccount', ], 'virtualInterfaceId' => [ 'shape' => 'VirtualInterfaceId', ], 'location' => [ 'shape' => 'LocationCode', ], 'connectionId' => [ 'shape' => 'ConnectionId', ], 'virtualInterfaceType' => [ 'shape' => 'VirtualInterfaceType', ], 'virtualInterfaceName' => [ 'shape' => 'VirtualInterfaceName', ], 'vlan' => [ 'shape' => 'VLAN', ], 'asn' => [ 'shape' => 'ASN', ], 'amazonSideAsn' => [ 'shape' => 'LongAsn', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'virtualInterfaceState' => [ 'shape' => 'VirtualInterfaceState', ], 'customerRouterConfig' => [ 'shape' => 'RouterConfig', ], 'mtu' => [ 'shape' => 'MTU', ], 'jumboFrameCapable' => [ 'shape' => 'JumboFrameCapable', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'routeFilterPrefixes' => [ 'shape' => 'RouteFilterPrefixList', ], 'bgpPeers' => [ 'shape' => 'BGPPeerList', ], 'region' => [ 'shape' => 'Region', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], ], ], 'VirtualInterfaceId' => [ 'type' => 'string', ], 'VirtualInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualInterface', ], ], 'VirtualInterfaceName' => [ 'type' => 'string', ], 'VirtualInterfaceRegion' => [ 'type' => 'string', ], 'VirtualInterfaceState' => [ 'type' => 'string', 'enum' => [ 'confirming', 'verifying', 'pending', 'available', 'down', 'deleting', 'deleted', 'rejected', 'unknown', ], ], 'VirtualInterfaceType' => [ 'type' => 'string', ], 'VirtualInterfaces' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaces' => [ 'shape' => 'VirtualInterfaceList', ], ], ], ],]; diff --git a/lib/aws/Aws/data/directconnect/2012-10-25/paginators-1.json.php b/lib/aws/Aws/data/directconnect/2012-10-25/paginators-1.json.php new file mode 100644 index 0000000..2a305e8 --- /dev/null +++ b/lib/aws/Aws/data/directconnect/2012-10-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/directconnect/2012-10-25/paginators-1.json +return [ 'pagination' => [ 'DescribeConnections' => [ 'result_key' => 'connections', ], 'DescribeConnectionsOnInterconnect' => [ 'result_key' => 'connections', ], 'DescribeInterconnects' => [ 'result_key' => 'interconnects', ], 'DescribeLocations' => [ 'result_key' => 'locations', ], 'DescribeVirtualGateways' => [ 'result_key' => 'virtualGateways', ], 'DescribeVirtualInterfaces' => [ 'result_key' => 'virtualInterfaces', ], ],]; diff --git a/lib/aws/Aws/data/directconnect/2012-10-25/smoke.json.php b/lib/aws/Aws/data/directconnect/2012-10-25/smoke.json.php new file mode 100644 index 0000000..ce6f8dc --- /dev/null +++ b/lib/aws/Aws/data/directconnect/2012-10-25/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/directconnect/2012-10-25/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeConnections', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeConnections', 'input' => [ 'connectionId' => 'fake-connection', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/discovery/2015-11-01/api-2.json.php b/lib/aws/Aws/data/discovery/2015-11-01/api-2.json.php new file mode 100644 index 0000000..2baeade --- /dev/null +++ b/lib/aws/Aws/data/discovery/2015-11-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/discovery/2015-11-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-11-01', 'endpointPrefix' => 'discovery', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Application Discovery Service', 'serviceId' => 'Application Discovery Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSPoseidonService_V2015_11_01', 'uid' => 'discovery-2015-11-01', ], 'operations' => [ 'AssociateConfigurationItemsToApplication' => [ 'name' => 'AssociateConfigurationItemsToApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateConfigurationItemsToApplicationRequest', ], 'output' => [ 'shape' => 'AssociateConfigurationItemsToApplicationResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'BatchDeleteImportData' => [ 'name' => 'BatchDeleteImportData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteImportDataRequest', ], 'output' => [ 'shape' => 'BatchDeleteImportDataResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationRequest', ], 'output' => [ 'shape' => 'CreateApplicationResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], 'output' => [ 'shape' => 'CreateTagsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DeleteApplications' => [ 'name' => 'DeleteApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationsRequest', ], 'output' => [ 'shape' => 'DeleteApplicationsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], 'output' => [ 'shape' => 'DeleteTagsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DescribeAgents' => [ 'name' => 'DescribeAgents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAgentsRequest', ], 'output' => [ 'shape' => 'DescribeAgentsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DescribeConfigurations' => [ 'name' => 'DescribeConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DescribeContinuousExports' => [ 'name' => 'DescribeContinuousExports', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeContinuousExportsRequest', ], 'output' => [ 'shape' => 'DescribeContinuousExportsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeExportConfigurations' => [ 'name' => 'DescribeExportConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeExportConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], 'deprecated' => true, ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DescribeImportTasks' => [ 'name' => 'DescribeImportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportTasksResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'DisassociateConfigurationItemsFromApplication' => [ 'name' => 'DisassociateConfigurationItemsFromApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateConfigurationItemsFromApplicationRequest', ], 'output' => [ 'shape' => 'DisassociateConfigurationItemsFromApplicationResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'ExportConfigurations' => [ 'name' => 'ExportConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ExportConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], [ 'shape' => 'OperationNotPermittedException', ], ], 'deprecated' => true, ], 'GetDiscoverySummary' => [ 'name' => 'GetDiscoverySummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDiscoverySummaryRequest', ], 'output' => [ 'shape' => 'GetDiscoverySummaryResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'ListConfigurations' => [ 'name' => 'ListConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListConfigurationsRequest', ], 'output' => [ 'shape' => 'ListConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'ListServerNeighbors' => [ 'name' => 'ListServerNeighbors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServerNeighborsRequest', ], 'output' => [ 'shape' => 'ListServerNeighborsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'StartContinuousExport' => [ 'name' => 'StartContinuousExport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartContinuousExportRequest', ], 'output' => [ 'shape' => 'StartContinuousExportResponse', ], 'errors' => [ [ 'shape' => 'ConflictErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'StartDataCollectionByAgentIds' => [ 'name' => 'StartDataCollectionByAgentIds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDataCollectionByAgentIdsRequest', ], 'output' => [ 'shape' => 'StartDataCollectionByAgentIdsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'StartExportTask' => [ 'name' => 'StartExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartExportTaskRequest', ], 'output' => [ 'shape' => 'StartExportTaskResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'StartImportTask' => [ 'name' => 'StartImportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartImportTaskRequest', ], 'output' => [ 'shape' => 'StartImportTaskResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'StopContinuousExport' => [ 'name' => 'StopContinuousExport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopContinuousExportRequest', ], 'output' => [ 'shape' => 'StopContinuousExportResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'StopDataCollectionByAgentIds' => [ 'name' => 'StopDataCollectionByAgentIds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDataCollectionByAgentIdsRequest', ], 'output' => [ 'shape' => 'StopDataCollectionByAgentIdsResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationRequest', ], 'output' => [ 'shape' => 'UpdateApplicationResponse', ], 'errors' => [ [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalErrorException', ], ], ], ], 'shapes' => [ 'AgentConfigurationStatus' => [ 'type' => 'structure', 'members' => [ 'agentId' => [ 'shape' => 'String', ], 'operationSucceeded' => [ 'shape' => 'Boolean', ], 'description' => [ 'shape' => 'String', ], ], ], 'AgentConfigurationStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentConfigurationStatus', ], ], 'AgentId' => [ 'type' => 'string', ], 'AgentIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentId', ], ], 'AgentInfo' => [ 'type' => 'structure', 'members' => [ 'agentId' => [ 'shape' => 'AgentId', ], 'hostName' => [ 'shape' => 'String', ], 'agentNetworkInfoList' => [ 'shape' => 'AgentNetworkInfoList', ], 'connectorId' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'String', ], 'health' => [ 'shape' => 'AgentStatus', ], 'lastHealthPingTime' => [ 'shape' => 'String', ], 'collectionStatus' => [ 'shape' => 'String', ], 'agentType' => [ 'shape' => 'String', ], 'registeredTime' => [ 'shape' => 'String', ], ], ], 'AgentNetworkInfo' => [ 'type' => 'structure', 'members' => [ 'ipAddress' => [ 'shape' => 'String', ], 'macAddress' => [ 'shape' => 'String', ], ], ], 'AgentNetworkInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentNetworkInfo', ], ], 'AgentStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', 'RUNNING', 'UNKNOWN', 'BLACKLISTED', 'SHUTDOWN', ], ], 'AgentsInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentInfo', ], ], 'ApplicationId' => [ 'type' => 'string', ], 'ApplicationIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationId', ], ], 'AssociateConfigurationItemsToApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'applicationConfigurationId', 'configurationIds', ], 'members' => [ 'applicationConfigurationId' => [ 'shape' => 'ApplicationId', ], 'configurationIds' => [ 'shape' => 'ConfigurationIdList', ], ], ], 'AssociateConfigurationItemsToApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'AuthorizationErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'BatchDeleteImportDataError' => [ 'type' => 'structure', 'members' => [ 'importTaskId' => [ 'shape' => 'ImportTaskIdentifier', ], 'errorCode' => [ 'shape' => 'BatchDeleteImportDataErrorCode', ], 'errorDescription' => [ 'shape' => 'BatchDeleteImportDataErrorDescription', ], ], ], 'BatchDeleteImportDataErrorCode' => [ 'type' => 'string', 'enum' => [ 'NOT_FOUND', 'INTERNAL_SERVER_ERROR', ], ], 'BatchDeleteImportDataErrorDescription' => [ 'type' => 'string', ], 'BatchDeleteImportDataErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchDeleteImportDataError', ], ], 'BatchDeleteImportDataRequest' => [ 'type' => 'structure', 'required' => [ 'importTaskIds', ], 'members' => [ 'importTaskIds' => [ 'shape' => 'ToDeleteIdentifierList', ], ], ], 'BatchDeleteImportDataResponse' => [ 'type' => 'structure', 'members' => [ 'errors' => [ 'shape' => 'BatchDeleteImportDataErrorList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BoxedInteger' => [ 'type' => 'integer', 'box' => true, ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'Condition' => [ 'type' => 'string', ], 'Configuration' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'ConfigurationId' => [ 'type' => 'string', ], 'ConfigurationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationId', ], ], 'ConfigurationItemType' => [ 'type' => 'string', 'enum' => [ 'SERVER', 'PROCESS', 'CONNECTION', 'APPLICATION', ], ], 'ConfigurationTag' => [ 'type' => 'structure', 'members' => [ 'configurationType' => [ 'shape' => 'ConfigurationItemType', ], 'configurationId' => [ 'shape' => 'ConfigurationId', ], 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'timeOfCreation' => [ 'shape' => 'TimeStamp', ], ], ], 'ConfigurationTagSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationTag', ], ], 'Configurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Configuration', ], ], 'ConfigurationsDownloadUrl' => [ 'type' => 'string', ], 'ConfigurationsExportId' => [ 'type' => 'string', ], 'ConflictErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ContinuousExportDescription' => [ 'type' => 'structure', 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], 'status' => [ 'shape' => 'ContinuousExportStatus', ], 'statusDetail' => [ 'shape' => 'StringMax255', ], 's3Bucket' => [ 'shape' => 'S3Bucket', ], 'startTime' => [ 'shape' => 'TimeStamp', ], 'stopTime' => [ 'shape' => 'TimeStamp', ], 'dataSource' => [ 'shape' => 'DataSource', ], 'schemaStorageConfig' => [ 'shape' => 'SchemaStorageConfig', ], ], ], 'ContinuousExportDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContinuousExportDescription', ], ], 'ContinuousExportIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationsExportId', ], ], 'ContinuousExportStatus' => [ 'type' => 'string', 'enum' => [ 'START_IN_PROGRESS', 'START_FAILED', 'ACTIVE', 'ERROR', 'STOP_IN_PROGRESS', 'STOP_FAILED', 'INACTIVE', ], ], 'CreateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], ], ], 'CreateApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'configurationId' => [ 'shape' => 'String', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationIds', 'tags', ], 'members' => [ 'configurationIds' => [ 'shape' => 'ConfigurationIdList', ], 'tags' => [ 'shape' => 'TagSet', ], ], ], 'CreateTagsResponse' => [ 'type' => 'structure', 'members' => [], ], 'CustomerAgentInfo' => [ 'type' => 'structure', 'required' => [ 'activeAgents', 'healthyAgents', 'blackListedAgents', 'shutdownAgents', 'unhealthyAgents', 'totalAgents', 'unknownAgents', ], 'members' => [ 'activeAgents' => [ 'shape' => 'Integer', ], 'healthyAgents' => [ 'shape' => 'Integer', ], 'blackListedAgents' => [ 'shape' => 'Integer', ], 'shutdownAgents' => [ 'shape' => 'Integer', ], 'unhealthyAgents' => [ 'shape' => 'Integer', ], 'totalAgents' => [ 'shape' => 'Integer', ], 'unknownAgents' => [ 'shape' => 'Integer', ], ], ], 'CustomerConnectorInfo' => [ 'type' => 'structure', 'required' => [ 'activeConnectors', 'healthyConnectors', 'blackListedConnectors', 'shutdownConnectors', 'unhealthyConnectors', 'totalConnectors', 'unknownConnectors', ], 'members' => [ 'activeConnectors' => [ 'shape' => 'Integer', ], 'healthyConnectors' => [ 'shape' => 'Integer', ], 'blackListedConnectors' => [ 'shape' => 'Integer', ], 'shutdownConnectors' => [ 'shape' => 'Integer', ], 'unhealthyConnectors' => [ 'shape' => 'Integer', ], 'totalConnectors' => [ 'shape' => 'Integer', ], 'unknownConnectors' => [ 'shape' => 'Integer', ], ], ], 'DataSource' => [ 'type' => 'string', 'enum' => [ 'AGENT', ], ], 'DatabaseName' => [ 'type' => 'string', 'max' => 252, 'min' => 1, ], 'DeleteApplicationsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationIds', ], 'members' => [ 'configurationIds' => [ 'shape' => 'ApplicationIdsList', ], ], ], 'DeleteApplicationsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationIds', ], 'members' => [ 'configurationIds' => [ 'shape' => 'ConfigurationIdList', ], 'tags' => [ 'shape' => 'TagSet', ], ], ], 'DeleteTagsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAgentsRequest' => [ 'type' => 'structure', 'members' => [ 'agentIds' => [ 'shape' => 'AgentIds', ], 'filters' => [ 'shape' => 'Filters', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAgentsResponse' => [ 'type' => 'structure', 'members' => [ 'agentsInfo' => [ 'shape' => 'AgentsInfo', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeConfigurationsAttribute' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'DescribeConfigurationsAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeConfigurationsAttribute', ], ], 'DescribeConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationIds', ], 'members' => [ 'configurationIds' => [ 'shape' => 'ConfigurationIdList', ], ], ], 'DescribeConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'configurations' => [ 'shape' => 'DescribeConfigurationsAttributes', ], ], ], 'DescribeContinuousExportsMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'DescribeContinuousExportsRequest' => [ 'type' => 'structure', 'members' => [ 'exportIds' => [ 'shape' => 'ContinuousExportIds', ], 'maxResults' => [ 'shape' => 'DescribeContinuousExportsMaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeContinuousExportsResponse' => [ 'type' => 'structure', 'members' => [ 'descriptions' => [ 'shape' => 'ContinuousExportDescriptions', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeExportConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'exportIds' => [ 'shape' => 'ExportIds', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeExportConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'exportsInfo' => [ 'shape' => 'ExportsInfo', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'exportIds' => [ 'shape' => 'ExportIds', ], 'filters' => [ 'shape' => 'ExportFilters', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeExportTasksResponse' => [ 'type' => 'structure', 'members' => [ 'exportsInfo' => [ 'shape' => 'ExportsInfo', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeImportTasksFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportTaskFilter', ], ], 'DescribeImportTasksMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'DescribeImportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'filters' => [ 'shape' => 'DescribeImportTasksFilterList', ], 'maxResults' => [ 'shape' => 'DescribeImportTasksMaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeImportTasksResponse' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'tasks' => [ 'shape' => 'ImportTaskList', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'members' => [ 'filters' => [ 'shape' => 'TagFilters', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeTagsResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'ConfigurationTagSet', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DisassociateConfigurationItemsFromApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'applicationConfigurationId', 'configurationIds', ], 'members' => [ 'applicationConfigurationId' => [ 'shape' => 'ApplicationId', ], 'configurationIds' => [ 'shape' => 'ConfigurationIdList', ], ], ], 'DisassociateConfigurationItemsFromApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'ExportConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], ], ], 'ExportDataFormat' => [ 'type' => 'string', 'enum' => [ 'CSV', 'GRAPHML', ], ], 'ExportDataFormats' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportDataFormat', ], ], 'ExportFilter' => [ 'type' => 'structure', 'required' => [ 'name', 'values', 'condition', ], 'members' => [ 'name' => [ 'shape' => 'FilterName', ], 'values' => [ 'shape' => 'FilterValues', ], 'condition' => [ 'shape' => 'Condition', ], ], ], 'ExportFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportFilter', ], ], 'ExportIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationsExportId', ], ], 'ExportInfo' => [ 'type' => 'structure', 'required' => [ 'exportId', 'exportStatus', 'statusMessage', 'exportRequestTime', ], 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], 'exportStatus' => [ 'shape' => 'ExportStatus', ], 'statusMessage' => [ 'shape' => 'ExportStatusMessage', ], 'configurationsDownloadUrl' => [ 'shape' => 'ConfigurationsDownloadUrl', ], 'exportRequestTime' => [ 'shape' => 'ExportRequestTime', ], 'isTruncated' => [ 'shape' => 'Boolean', ], 'requestedStartTime' => [ 'shape' => 'TimeStamp', ], 'requestedEndTime' => [ 'shape' => 'TimeStamp', ], ], ], 'ExportRequestTime' => [ 'type' => 'timestamp', ], 'ExportStatus' => [ 'type' => 'string', 'enum' => [ 'FAILED', 'SUCCEEDED', 'IN_PROGRESS', ], ], 'ExportStatusMessage' => [ 'type' => 'string', ], 'ExportsInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportInfo', ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'name', 'values', 'condition', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'values' => [ 'shape' => 'FilterValues', ], 'condition' => [ 'shape' => 'Condition', ], ], ], 'FilterName' => [ 'type' => 'string', ], 'FilterValue' => [ 'type' => 'string', ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'GetDiscoverySummaryRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetDiscoverySummaryResponse' => [ 'type' => 'structure', 'members' => [ 'servers' => [ 'shape' => 'Long', ], 'applications' => [ 'shape' => 'Long', ], 'serversMappedToApplications' => [ 'shape' => 'Long', ], 'serversMappedtoTags' => [ 'shape' => 'Long', ], 'agentSummary' => [ 'shape' => 'CustomerAgentInfo', ], 'connectorSummary' => [ 'shape' => 'CustomerConnectorInfo', ], ], ], 'ImportStatus' => [ 'type' => 'string', 'enum' => [ 'IMPORT_IN_PROGRESS', 'IMPORT_COMPLETE', 'IMPORT_FAILED', 'IMPORT_FAILED_SERVER_LIMIT_EXCEEDED', 'IMPORT_FAILED_RECORD_LIMIT_EXCEEDED', 'DELETE_IN_PROGRESS', 'DELETE_COMPLETE', 'DELETE_FAILED', 'DELETE_FAILED_LIMIT_EXCEEDED', ], ], 'ImportTask' => [ 'type' => 'structure', 'members' => [ 'importTaskId' => [ 'shape' => 'ImportTaskIdentifier', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'name' => [ 'shape' => 'ImportTaskName', ], 'importUrl' => [ 'shape' => 'ImportURL', ], 'status' => [ 'shape' => 'ImportStatus', ], 'importRequestTime' => [ 'shape' => 'TimeStamp', ], 'importCompletionTime' => [ 'shape' => 'TimeStamp', ], 'importDeletedTime' => [ 'shape' => 'TimeStamp', ], 'serverImportSuccess' => [ 'shape' => 'Integer', ], 'serverImportFailure' => [ 'shape' => 'Integer', ], 'applicationImportSuccess' => [ 'shape' => 'Integer', ], 'applicationImportFailure' => [ 'shape' => 'Integer', ], 'errorsAndFailedEntriesZip' => [ 'shape' => 'S3PresignedUrl', ], ], ], 'ImportTaskFilter' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ImportTaskFilterName', ], 'values' => [ 'shape' => 'ImportTaskFilterValueList', ], ], ], 'ImportTaskFilterName' => [ 'type' => 'string', 'enum' => [ 'IMPORT_TASK_ID', 'STATUS', 'NAME', ], ], 'ImportTaskFilterValue' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ImportTaskFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportTaskFilterValue', ], 'max' => 100, 'min' => 1, ], 'ImportTaskIdentifier' => [ 'type' => 'string', ], 'ImportTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportTask', ], ], 'ImportTaskName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ImportURL' => [ 'type' => 'string', 'max' => 4000, 'min' => 1, ], 'Integer' => [ 'type' => 'integer', ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ListConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationType', ], 'members' => [ 'configurationType' => [ 'shape' => 'ConfigurationItemType', ], 'filters' => [ 'shape' => 'Filters', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'orderBy' => [ 'shape' => 'OrderByList', ], ], ], 'ListConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'configurations' => [ 'shape' => 'Configurations', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListServerNeighborsRequest' => [ 'type' => 'structure', 'required' => [ 'configurationId', ], 'members' => [ 'configurationId' => [ 'shape' => 'ConfigurationId', ], 'portInformationNeeded' => [ 'shape' => 'Boolean', ], 'neighborConfigurationIds' => [ 'shape' => 'ConfigurationIdList', ], 'maxResults' => [ 'shape' => 'Integer', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListServerNeighborsResponse' => [ 'type' => 'structure', 'required' => [ 'neighbors', ], 'members' => [ 'neighbors' => [ 'shape' => 'NeighborDetailsList', ], 'nextToken' => [ 'shape' => 'String', ], 'knownDependencyCount' => [ 'shape' => 'Long', ], ], ], 'Long' => [ 'type' => 'long', ], 'Message' => [ 'type' => 'string', ], 'NeighborConnectionDetail' => [ 'type' => 'structure', 'required' => [ 'sourceServerId', 'destinationServerId', 'connectionsCount', ], 'members' => [ 'sourceServerId' => [ 'shape' => 'ConfigurationId', ], 'destinationServerId' => [ 'shape' => 'ConfigurationId', ], 'destinationPort' => [ 'shape' => 'BoxedInteger', ], 'transportProtocol' => [ 'shape' => 'String', ], 'connectionsCount' => [ 'shape' => 'Long', ], ], ], 'NeighborDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NeighborConnectionDetail', ], ], 'NextToken' => [ 'type' => 'string', ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'OrderByElement' => [ 'type' => 'structure', 'required' => [ 'fieldName', ], 'members' => [ 'fieldName' => [ 'shape' => 'String', ], 'sortOrder' => [ 'shape' => 'orderString', ], ], ], 'OrderByList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderByElement', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'S3Bucket' => [ 'type' => 'string', ], 'S3PresignedUrl' => [ 'type' => 'string', ], 'SchemaStorageConfig' => [ 'type' => 'map', 'key' => [ 'shape' => 'DatabaseName', ], 'value' => [ 'shape' => 'String', ], ], 'ServerInternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'Message', ], ], 'exception' => true, 'fault' => true, ], 'StartContinuousExportRequest' => [ 'type' => 'structure', 'members' => [], ], 'StartContinuousExportResponse' => [ 'type' => 'structure', 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], 's3Bucket' => [ 'shape' => 'S3Bucket', ], 'startTime' => [ 'shape' => 'TimeStamp', ], 'dataSource' => [ 'shape' => 'DataSource', ], 'schemaStorageConfig' => [ 'shape' => 'SchemaStorageConfig', ], ], ], 'StartDataCollectionByAgentIdsRequest' => [ 'type' => 'structure', 'required' => [ 'agentIds', ], 'members' => [ 'agentIds' => [ 'shape' => 'AgentIds', ], ], ], 'StartDataCollectionByAgentIdsResponse' => [ 'type' => 'structure', 'members' => [ 'agentsConfigurationStatus' => [ 'shape' => 'AgentConfigurationStatusList', ], ], ], 'StartExportTaskRequest' => [ 'type' => 'structure', 'members' => [ 'exportDataFormat' => [ 'shape' => 'ExportDataFormats', ], 'filters' => [ 'shape' => 'ExportFilters', ], 'startTime' => [ 'shape' => 'TimeStamp', ], 'endTime' => [ 'shape' => 'TimeStamp', ], ], ], 'StartExportTaskResponse' => [ 'type' => 'structure', 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], ], ], 'StartImportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'importUrl', ], 'members' => [ 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'name' => [ 'shape' => 'ImportTaskName', ], 'importUrl' => [ 'shape' => 'ImportURL', ], ], ], 'StartImportTaskResponse' => [ 'type' => 'structure', 'members' => [ 'task' => [ 'shape' => 'ImportTask', ], ], ], 'StopContinuousExportRequest' => [ 'type' => 'structure', 'required' => [ 'exportId', ], 'members' => [ 'exportId' => [ 'shape' => 'ConfigurationsExportId', ], ], ], 'StopContinuousExportResponse' => [ 'type' => 'structure', 'members' => [ 'startTime' => [ 'shape' => 'TimeStamp', ], 'stopTime' => [ 'shape' => 'TimeStamp', ], ], ], 'StopDataCollectionByAgentIdsRequest' => [ 'type' => 'structure', 'required' => [ 'agentIds', ], 'members' => [ 'agentIds' => [ 'shape' => 'AgentIds', ], ], ], 'StopDataCollectionByAgentIdsResponse' => [ 'type' => 'structure', 'members' => [ 'agentsConfigurationStatus' => [ 'shape' => 'AgentConfigurationStatusList', ], ], ], 'String' => [ 'type' => 'string', ], 'StringMax255' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagFilter' => [ 'type' => 'structure', 'required' => [ 'name', 'values', ], 'members' => [ 'name' => [ 'shape' => 'FilterName', ], 'values' => [ 'shape' => 'FilterValues', ], ], ], 'TagFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], ], 'TagKey' => [ 'type' => 'string', ], 'TagSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', ], 'TimeStamp' => [ 'type' => 'timestamp', ], 'ToDeleteIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportTaskIdentifier', ], 'max' => 10, 'min' => 1, ], 'UpdateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'configurationId', ], 'members' => [ 'configurationId' => [ 'shape' => 'ApplicationId', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], ], ], 'UpdateApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'orderString' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], ],]; diff --git a/lib/aws/Aws/data/discovery/2015-11-01/paginators-1.json.php b/lib/aws/Aws/data/discovery/2015-11-01/paginators-1.json.php new file mode 100644 index 0000000..e627ebc --- /dev/null +++ b/lib/aws/Aws/data/discovery/2015-11-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/discovery/2015-11-01/paginators-1.json +return [ 'pagination' => [ 'DescribeContinuousExports' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'DescribeImportTasks' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/discovery/2015-11-01/smoke.json.php b/lib/aws/Aws/data/discovery/2015-11-01/smoke.json.php new file mode 100644 index 0000000..bda742b --- /dev/null +++ b/lib/aws/Aws/data/discovery/2015-11-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/discovery/2015-11-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeAgents', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/dlm/2018-01-12/api-2.json.php b/lib/aws/Aws/data/dlm/2018-01-12/api-2.json.php new file mode 100644 index 0000000..b7440d4 --- /dev/null +++ b/lib/aws/Aws/data/dlm/2018-01-12/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dlm/2018-01-12/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-01-12', 'endpointPrefix' => 'dlm', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Amazon DLM', 'serviceFullName' => 'Amazon Data Lifecycle Manager', 'serviceId' => 'DLM', 'signatureVersion' => 'v4', 'signingName' => 'dlm', 'uid' => 'dlm-2018-01-12', ], 'operations' => [ 'CreateLifecyclePolicy' => [ 'name' => 'CreateLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/policies', ], 'input' => [ 'shape' => 'CreateLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'CreateLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DeleteLifecyclePolicy' => [ 'name' => 'DeleteLifecyclePolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/policies/{policyId}/', ], 'input' => [ 'shape' => 'DeleteLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'DeleteLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetLifecyclePolicies' => [ 'name' => 'GetLifecyclePolicies', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies', ], 'input' => [ 'shape' => 'GetLifecyclePoliciesRequest', ], 'output' => [ 'shape' => 'GetLifecyclePoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetLifecyclePolicy' => [ 'name' => 'GetLifecyclePolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies/{policyId}/', ], 'input' => [ 'shape' => 'GetLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'GetLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateLifecyclePolicy' => [ 'name' => 'UpdateLifecyclePolicy', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/policies/{policyId}', ], 'input' => [ 'shape' => 'UpdateLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'UpdateLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'CopyTags' => [ 'type' => 'boolean', ], 'Count' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'CreateLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ExecutionRoleArn', 'Description', 'State', 'PolicyDetails', ], 'members' => [ 'ExecutionRoleArn' => [ 'shape' => 'ExecutionRoleArn', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'State' => [ 'shape' => 'SettablePolicyStateValues', ], 'PolicyDetails' => [ 'shape' => 'PolicyDetails', ], ], ], 'CreateLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], ], ], 'CreateRule' => [ 'type' => 'structure', 'required' => [ 'Interval', 'IntervalUnit', ], 'members' => [ 'Interval' => [ 'shape' => 'Interval', ], 'IntervalUnit' => [ 'shape' => 'IntervalUnitValues', ], 'Times' => [ 'shape' => 'TimesList', ], ], ], 'DeleteLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', 'location' => 'uri', 'locationName' => 'policyId', ], ], ], 'DeleteLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExecutionRoleArn' => [ 'type' => 'string', ], 'GetLifecyclePoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'PolicyIds' => [ 'shape' => 'PolicyIdList', 'location' => 'querystring', 'locationName' => 'policyIds', ], 'State' => [ 'shape' => 'GettablePolicyStateValues', 'location' => 'querystring', 'locationName' => 'state', ], 'ResourceTypes' => [ 'shape' => 'ResourceTypeValuesList', 'location' => 'querystring', 'locationName' => 'resourceTypes', ], 'TargetTags' => [ 'shape' => 'TargetTagsFilterList', 'location' => 'querystring', 'locationName' => 'targetTags', ], 'TagsToAdd' => [ 'shape' => 'TagsToAddFilterList', 'location' => 'querystring', 'locationName' => 'tagsToAdd', ], ], ], 'GetLifecyclePoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'Policies' => [ 'shape' => 'LifecyclePolicySummaryList', ], ], ], 'GetLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', 'location' => 'uri', 'locationName' => 'policyId', ], ], ], 'GetLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'LifecyclePolicy', ], ], ], 'GettablePolicyStateValues' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', 'ERROR', ], ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'Code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'Interval' => [ 'type' => 'integer', 'min' => 1, ], 'IntervalUnitValues' => [ 'type' => 'string', 'enum' => [ 'HOURS', ], ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'Code' => [ 'shape' => 'ErrorCode', ], 'RequiredParameters' => [ 'shape' => 'ParameterList', ], 'MutuallyExclusiveParameters' => [ 'shape' => 'ParameterList', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LifecyclePolicy' => [ 'type' => 'structure', 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'State' => [ 'shape' => 'GettablePolicyStateValues', ], 'ExecutionRoleArn' => [ 'shape' => 'ExecutionRoleArn', ], 'DateCreated' => [ 'shape' => 'Timestamp', ], 'DateModified' => [ 'shape' => 'Timestamp', ], 'PolicyDetails' => [ 'shape' => 'PolicyDetails', ], ], ], 'LifecyclePolicySummary' => [ 'type' => 'structure', 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'State' => [ 'shape' => 'GettablePolicyStateValues', ], ], ], 'LifecyclePolicySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecyclePolicySummary', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'Code' => [ 'shape' => 'ErrorCode', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'Parameter' => [ 'type' => 'string', ], 'ParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', ], ], 'PolicyDescription' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'PolicyDetails' => [ 'type' => 'structure', 'members' => [ 'ResourceTypes' => [ 'shape' => 'ResourceTypeValuesList', ], 'TargetTags' => [ 'shape' => 'TargetTagList', ], 'Schedules' => [ 'shape' => 'ScheduleList', ], ], ], 'PolicyId' => [ 'type' => 'string', ], 'PolicyIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyId', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'Code' => [ 'shape' => 'ErrorCode', ], 'ResourceType' => [ 'shape' => 'String', ], 'ResourceIds' => [ 'shape' => 'PolicyIdList', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ResourceTypeValues' => [ 'type' => 'string', 'enum' => [ 'VOLUME', ], ], 'ResourceTypeValuesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTypeValues', ], 'max' => 1, 'min' => 1, ], 'RetainRule' => [ 'type' => 'structure', 'required' => [ 'Count', ], 'members' => [ 'Count' => [ 'shape' => 'Count', ], ], ], 'Schedule' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ScheduleName', ], 'CopyTags' => [ 'shape' => 'CopyTags', ], 'TagsToAdd' => [ 'shape' => 'TagsToAddList', ], 'CreateRule' => [ 'shape' => 'CreateRule', ], 'RetainRule' => [ 'shape' => 'RetainRule', ], ], ], 'ScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Schedule', ], 'max' => 1, 'min' => 1, ], 'ScheduleName' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'SettablePolicyStateValues' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'String' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagFilter' => [ 'type' => 'string', ], 'TagsToAddFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], 'max' => 50, 'min' => 0, ], 'TagsToAddList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'TargetTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TargetTagsFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], 'max' => 50, 'min' => 1, ], 'Time' => [ 'type' => 'string', 'pattern' => '^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$', ], 'TimesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Time', ], 'max' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'UpdateLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', 'location' => 'uri', 'locationName' => 'policyId', ], 'ExecutionRoleArn' => [ 'shape' => 'ExecutionRoleArn', ], 'State' => [ 'shape' => 'SettablePolicyStateValues', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'PolicyDetails' => [ 'shape' => 'PolicyDetails', ], ], ], 'UpdateLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/dlm/2018-01-12/paginators-1.json.php b/lib/aws/Aws/data/dlm/2018-01-12/paginators-1.json.php new file mode 100644 index 0000000..f17eb0c --- /dev/null +++ b/lib/aws/Aws/data/dlm/2018-01-12/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dlm/2018-01-12/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/dms/2016-01-01/api-2.json.php b/lib/aws/Aws/data/dms/2016-01-01/api-2.json.php new file mode 100644 index 0000000..5be07f3 --- /dev/null +++ b/lib/aws/Aws/data/dms/2016-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dms/2016-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-01-01', 'endpointPrefix' => 'dms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Database Migration Service', 'serviceId' => 'Database Migration Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonDMSv20160101', 'uid' => 'dms-2016-01-01', ], 'operations' => [ 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'output' => [ 'shape' => 'AddTagsToResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'ApplyPendingMaintenanceAction' => [ 'name' => 'ApplyPendingMaintenanceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplyPendingMaintenanceActionMessage', ], 'output' => [ 'shape' => 'ApplyPendingMaintenanceActionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'CreateEndpoint' => [ 'name' => 'CreateEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEndpointMessage', ], 'output' => [ 'shape' => 'CreateEndpointResponse', ], 'errors' => [ [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'AccessDeniedFault', ], ], ], 'CreateEventSubscription' => [ 'name' => 'CreateEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEventSubscriptionMessage', ], 'output' => [ 'shape' => 'CreateEventSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'KMSAccessDeniedFault', ], [ 'shape' => 'KMSDisabledFault', ], [ 'shape' => 'KMSInvalidStateFault', ], [ 'shape' => 'KMSNotFoundFault', ], [ 'shape' => 'KMSThrottlingFault', ], ], ], 'CreateReplicationInstance' => [ 'name' => 'CreateReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReplicationInstanceMessage', ], 'output' => [ 'shape' => 'CreateReplicationInstanceResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'InsufficientResourceCapacityFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ReplicationSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CreateReplicationSubnetGroup' => [ 'name' => 'CreateReplicationSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReplicationSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateReplicationSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'ReplicationSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'CreateReplicationTask' => [ 'name' => 'CreateReplicationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReplicationTaskMessage', ], 'output' => [ 'shape' => 'CreateReplicationTaskResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedFault', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], ], ], 'DeleteCertificate' => [ 'name' => 'DeleteCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCertificateMessage', ], 'output' => [ 'shape' => 'DeleteCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'DeleteEndpoint' => [ 'name' => 'DeleteEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEndpointMessage', ], 'output' => [ 'shape' => 'DeleteEndpointResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'DeleteEventSubscription' => [ 'name' => 'DeleteEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEventSubscriptionMessage', ], 'output' => [ 'shape' => 'DeleteEventSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'DeleteReplicationInstance' => [ 'name' => 'DeleteReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReplicationInstanceMessage', ], 'output' => [ 'shape' => 'DeleteReplicationInstanceResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DeleteReplicationSubnetGroup' => [ 'name' => 'DeleteReplicationSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReplicationSubnetGroupMessage', ], 'output' => [ 'shape' => 'DeleteReplicationSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DeleteReplicationTask' => [ 'name' => 'DeleteReplicationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReplicationTaskMessage', ], 'output' => [ 'shape' => 'DeleteReplicationTaskResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesMessage', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResponse', ], ], 'DescribeCertificates' => [ 'name' => 'DescribeCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCertificatesMessage', ], 'output' => [ 'shape' => 'DescribeCertificatesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeConnections' => [ 'name' => 'DescribeConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConnectionsMessage', ], 'output' => [ 'shape' => 'DescribeConnectionsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeEndpointTypes' => [ 'name' => 'DescribeEndpointTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointTypesMessage', ], 'output' => [ 'shape' => 'DescribeEndpointTypesResponse', ], ], 'DescribeEndpoints' => [ 'name' => 'DescribeEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointsMessage', ], 'output' => [ 'shape' => 'DescribeEndpointsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'DescribeEventCategoriesResponse', ], ], 'DescribeEventSubscriptions' => [ 'name' => 'DescribeEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventSubscriptionsMessage', ], 'output' => [ 'shape' => 'DescribeEventSubscriptionsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'DescribeEventsResponse', ], ], 'DescribeOrderableReplicationInstances' => [ 'name' => 'DescribeOrderableReplicationInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableReplicationInstancesMessage', ], 'output' => [ 'shape' => 'DescribeOrderableReplicationInstancesResponse', ], ], 'DescribePendingMaintenanceActions' => [ 'name' => 'DescribePendingMaintenanceActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePendingMaintenanceActionsMessage', ], 'output' => [ 'shape' => 'DescribePendingMaintenanceActionsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeRefreshSchemasStatus' => [ 'name' => 'DescribeRefreshSchemasStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRefreshSchemasStatusMessage', ], 'output' => [ 'shape' => 'DescribeRefreshSchemasStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeReplicationInstanceTaskLogs' => [ 'name' => 'DescribeReplicationInstanceTaskLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationInstanceTaskLogsMessage', ], 'output' => [ 'shape' => 'DescribeReplicationInstanceTaskLogsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'DescribeReplicationInstances' => [ 'name' => 'DescribeReplicationInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationInstancesMessage', ], 'output' => [ 'shape' => 'DescribeReplicationInstancesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeReplicationSubnetGroups' => [ 'name' => 'DescribeReplicationSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationSubnetGroupsMessage', ], 'output' => [ 'shape' => 'DescribeReplicationSubnetGroupsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeReplicationTaskAssessmentResults' => [ 'name' => 'DescribeReplicationTaskAssessmentResults', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationTaskAssessmentResultsMessage', ], 'output' => [ 'shape' => 'DescribeReplicationTaskAssessmentResultsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeReplicationTasks' => [ 'name' => 'DescribeReplicationTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationTasksMessage', ], 'output' => [ 'shape' => 'DescribeReplicationTasksResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeSchemas' => [ 'name' => 'DescribeSchemas', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSchemasMessage', ], 'output' => [ 'shape' => 'DescribeSchemasResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeTableStatistics' => [ 'name' => 'DescribeTableStatistics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTableStatisticsMessage', ], 'output' => [ 'shape' => 'DescribeTableStatisticsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'ImportCertificate' => [ 'name' => 'ImportCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportCertificateMessage', ], 'output' => [ 'shape' => 'ImportCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'InvalidCertificateFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'ModifyEndpoint' => [ 'name' => 'ModifyEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEndpointMessage', ], 'output' => [ 'shape' => 'ModifyEndpointResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'AccessDeniedFault', ], ], ], 'ModifyEventSubscription' => [ 'name' => 'ModifyEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEventSubscriptionMessage', ], 'output' => [ 'shape' => 'ModifyEventSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'KMSAccessDeniedFault', ], [ 'shape' => 'KMSDisabledFault', ], [ 'shape' => 'KMSInvalidStateFault', ], [ 'shape' => 'KMSNotFoundFault', ], [ 'shape' => 'KMSThrottlingFault', ], ], ], 'ModifyReplicationInstance' => [ 'name' => 'ModifyReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationInstanceMessage', ], 'output' => [ 'shape' => 'ModifyReplicationInstanceResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedFault', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InsufficientResourceCapacityFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'UpgradeDependencyFailureFault', ], ], ], 'ModifyReplicationSubnetGroup' => [ 'name' => 'ModifyReplicationSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyReplicationSubnetGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'ReplicationSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'ModifyReplicationTask' => [ 'name' => 'ModifyReplicationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationTaskMessage', ], 'output' => [ 'shape' => 'ModifyReplicationTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'RebootReplicationInstance' => [ 'name' => 'RebootReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootReplicationInstanceMessage', ], 'output' => [ 'shape' => 'RebootReplicationInstanceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'RefreshSchemas' => [ 'name' => 'RefreshSchemas', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RefreshSchemasMessage', ], 'output' => [ 'shape' => 'RefreshSchemasResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], ], ], 'ReloadTables' => [ 'name' => 'ReloadTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReloadTablesMessage', ], 'output' => [ 'shape' => 'ReloadTablesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'output' => [ 'shape' => 'RemoveTagsFromResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'StartReplicationTask' => [ 'name' => 'StartReplicationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartReplicationTaskMessage', ], 'output' => [ 'shape' => 'StartReplicationTaskResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'AccessDeniedFault', ], ], ], 'StartReplicationTaskAssessment' => [ 'name' => 'StartReplicationTaskAssessment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartReplicationTaskAssessmentMessage', ], 'output' => [ 'shape' => 'StartReplicationTaskAssessmentResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'StopReplicationTask' => [ 'name' => 'StopReplicationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopReplicationTaskMessage', ], 'output' => [ 'shape' => 'StopReplicationTaskResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], ], ], 'TestConnection' => [ 'name' => 'TestConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestConnectionMessage', ], 'output' => [ 'shape' => 'TestConnectionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidResourceStateFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'ResourceQuotaExceededFault', ], ], ], ], 'shapes' => [ 'AccessDeniedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AccountQuota' => [ 'type' => 'structure', 'members' => [ 'AccountQuotaName' => [ 'shape' => 'String', ], 'Used' => [ 'shape' => 'Long', ], 'Max' => [ 'shape' => 'Long', ], ], ], 'AccountQuotaList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountQuota', ], ], 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsToResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'ApplyPendingMaintenanceActionMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', 'ApplyAction', 'OptInType', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ApplyAction' => [ 'shape' => 'String', ], 'OptInType' => [ 'shape' => 'String', ], ], ], 'ApplyPendingMaintenanceActionResponse' => [ 'type' => 'structure', 'members' => [ 'ResourcePendingMaintenanceActions' => [ 'shape' => 'ResourcePendingMaintenanceActions', ], ], ], 'AuthMechanismValue' => [ 'type' => 'string', 'enum' => [ 'default', 'mongodb_cr', 'scram_sha_1', ], ], 'AuthTypeValue' => [ 'type' => 'string', 'enum' => [ 'no', 'password', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'AvailabilityZonesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'Certificate' => [ 'type' => 'structure', 'members' => [ 'CertificateIdentifier' => [ 'shape' => 'String', ], 'CertificateCreationDate' => [ 'shape' => 'TStamp', ], 'CertificatePem' => [ 'shape' => 'String', ], 'CertificateWallet' => [ 'shape' => 'CertificateWallet', ], 'CertificateArn' => [ 'shape' => 'String', ], 'CertificateOwner' => [ 'shape' => 'String', ], 'ValidFromDate' => [ 'shape' => 'TStamp', ], 'ValidToDate' => [ 'shape' => 'TStamp', ], 'SigningAlgorithm' => [ 'shape' => 'String', ], 'KeyLength' => [ 'shape' => 'IntegerOptional', ], ], ], 'CertificateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Certificate', ], ], 'CertificateWallet' => [ 'type' => 'blob', ], 'CompressionTypeValue' => [ 'type' => 'string', 'enum' => [ 'none', 'gzip', ], ], 'Connection' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'EndpointArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'LastFailureMessage' => [ 'shape' => 'String', ], 'EndpointIdentifier' => [ 'shape' => 'String', ], 'ReplicationInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'ConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connection', ], ], 'CreateEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointIdentifier', 'EndpointType', 'EngineName', ], 'members' => [ 'EndpointIdentifier' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'ReplicationEndpointTypeValue', ], 'EngineName' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'SecretString', ], 'ServerName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'ExtraConnectionAttributes' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'CertificateArn' => [ 'shape' => 'String', ], 'SslMode' => [ 'shape' => 'DmsSslModeValue', ], 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'ExternalTableDefinition' => [ 'shape' => 'String', ], 'DynamoDbSettings' => [ 'shape' => 'DynamoDbSettings', ], 'S3Settings' => [ 'shape' => 'S3Settings', ], 'DmsTransferSettings' => [ 'shape' => 'DmsTransferSettings', ], 'MongoDbSettings' => [ 'shape' => 'MongoDbSettings', ], 'KinesisSettings' => [ 'shape' => 'KinesisSettings', ], 'ElasticsearchSettings' => [ 'shape' => 'ElasticsearchSettings', ], 'RedshiftSettings' => [ 'shape' => 'RedshiftSettings', ], ], ], 'CreateEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'Endpoint', ], ], ], 'CreateEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SnsTopicArn', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEventSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'CreateReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceIdentifier', 'ReplicationInstanceClass', ], 'members' => [ 'ReplicationInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'ReplicationInstanceClass' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ReplicationSubnetGroupIdentifier' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'DnsNameServers' => [ 'shape' => 'String', ], ], ], 'CreateReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], 'CreateReplicationSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationSubnetGroupIdentifier', 'ReplicationSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'ReplicationSubnetGroupIdentifier' => [ 'shape' => 'String', ], 'ReplicationSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateReplicationSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationSubnetGroup' => [ 'shape' => 'ReplicationSubnetGroup', ], ], ], 'CreateReplicationTaskMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskIdentifier', 'SourceEndpointArn', 'TargetEndpointArn', 'ReplicationInstanceArn', 'MigrationType', 'TableMappings', ], 'members' => [ 'ReplicationTaskIdentifier' => [ 'shape' => 'String', ], 'SourceEndpointArn' => [ 'shape' => 'String', ], 'TargetEndpointArn' => [ 'shape' => 'String', ], 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'MigrationType' => [ 'shape' => 'MigrationTypeValue', ], 'TableMappings' => [ 'shape' => 'String', ], 'ReplicationTaskSettings' => [ 'shape' => 'String', ], 'CdcStartTime' => [ 'shape' => 'TStamp', ], 'CdcStartPosition' => [ 'shape' => 'String', ], 'CdcStopPosition' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateReplicationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'DataFormatValue' => [ 'type' => 'string', 'enum' => [ 'csv', 'parquet', ], ], 'DeleteCertificateMessage' => [ 'type' => 'structure', 'required' => [ 'CertificateArn', ], 'members' => [ 'CertificateArn' => [ 'shape' => 'String', ], ], ], 'DeleteCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'Certificate', ], ], ], 'DeleteEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'DeleteEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'Endpoint', ], ], ], 'DeleteEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'DeleteReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], ], ], 'DeleteReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], 'DeleteReplicationSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationSubnetGroupIdentifier', ], 'members' => [ 'ReplicationSubnetGroupIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteReplicationSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReplicationTaskMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], ], ], 'DeleteReplicationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'DescribeAccountAttributesMessage' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'AccountQuotas' => [ 'shape' => 'AccountQuotaList', ], ], ], 'DescribeCertificatesMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeCertificatesResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Certificates' => [ 'shape' => 'CertificateList', ], ], ], 'DescribeConnectionsMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeConnectionsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Connections' => [ 'shape' => 'ConnectionList', ], ], ], 'DescribeEndpointTypesMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEndpointTypesResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'SupportedEndpointTypes' => [ 'shape' => 'SupportedEndpointTypeList', ], ], ], 'DescribeEndpointsMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Endpoints' => [ 'shape' => 'EndpointList', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeEventCategoriesResponse' => [ 'type' => 'structure', 'members' => [ 'EventCategoryGroupList' => [ 'shape' => 'EventCategoryGroupList', ], ], ], 'DescribeEventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEventSubscriptionsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'EventSubscriptionsList' => [ 'shape' => 'EventSubscriptionsList', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEventsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'DescribeOrderableReplicationInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableReplicationInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'OrderableReplicationInstances' => [ 'shape' => 'OrderableReplicationInstanceList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribePendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], ], ], 'DescribePendingMaintenanceActionsResponse' => [ 'type' => 'structure', 'members' => [ 'PendingMaintenanceActions' => [ 'shape' => 'PendingMaintenanceActions', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeRefreshSchemasStatusMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'DescribeRefreshSchemasStatusResponse' => [ 'type' => 'structure', 'members' => [ 'RefreshSchemasStatus' => [ 'shape' => 'RefreshSchemasStatus', ], ], ], 'DescribeReplicationInstanceTaskLogsMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationInstanceTaskLogsResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ReplicationInstanceTaskLogs' => [ 'shape' => 'ReplicationInstanceTaskLogsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReplicationInstances' => [ 'shape' => 'ReplicationInstanceList', ], ], ], 'DescribeReplicationSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationSubnetGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReplicationSubnetGroups' => [ 'shape' => 'ReplicationSubnetGroups', ], ], ], 'DescribeReplicationTaskAssessmentResultsMessage' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationTaskAssessmentResultsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'BucketName' => [ 'shape' => 'String', ], 'ReplicationTaskAssessmentResults' => [ 'shape' => 'ReplicationTaskAssessmentResultList', ], ], ], 'DescribeReplicationTasksMessage' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'WithoutSettings' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeReplicationTasksResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReplicationTasks' => [ 'shape' => 'ReplicationTaskList', ], ], ], 'DescribeSchemasMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeSchemasResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Schemas' => [ 'shape' => 'SchemaList', ], ], ], 'DescribeTableStatisticsMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeTableStatisticsResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'TableStatistics' => [ 'shape' => 'TableStatisticsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DmsSslModeValue' => [ 'type' => 'string', 'enum' => [ 'none', 'require', 'verify-ca', 'verify-full', ], ], 'DmsTransferSettings' => [ 'type' => 'structure', 'members' => [ 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'BucketName' => [ 'shape' => 'String', ], ], ], 'DynamoDbSettings' => [ 'type' => 'structure', 'required' => [ 'ServiceAccessRoleArn', ], 'members' => [ 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], ], ], 'ElasticsearchSettings' => [ 'type' => 'structure', 'required' => [ 'ServiceAccessRoleArn', 'EndpointUri', ], 'members' => [ 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'EndpointUri' => [ 'shape' => 'String', ], 'FullLoadErrorPercentage' => [ 'shape' => 'IntegerOptional', ], 'ErrorRetryDuration' => [ 'shape' => 'IntegerOptional', ], ], ], 'EncodingTypeValue' => [ 'type' => 'string', 'enum' => [ 'plain', 'plain-dictionary', 'rle-dictionary', ], ], 'EncryptionModeValue' => [ 'type' => 'string', 'enum' => [ 'sse-s3', 'sse-kms', ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'EndpointIdentifier' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'ReplicationEndpointTypeValue', ], 'EngineName' => [ 'shape' => 'String', ], 'EngineDisplayName' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'ServerName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'ExtraConnectionAttributes' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EndpointArn' => [ 'shape' => 'String', ], 'CertificateArn' => [ 'shape' => 'String', ], 'SslMode' => [ 'shape' => 'DmsSslModeValue', ], 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'ExternalTableDefinition' => [ 'shape' => 'String', ], 'ExternalId' => [ 'shape' => 'String', ], 'DynamoDbSettings' => [ 'shape' => 'DynamoDbSettings', ], 'S3Settings' => [ 'shape' => 'S3Settings', ], 'DmsTransferSettings' => [ 'shape' => 'DmsTransferSettings', ], 'MongoDbSettings' => [ 'shape' => 'MongoDbSettings', ], 'KinesisSettings' => [ 'shape' => 'KinesisSettings', ], 'ElasticsearchSettings' => [ 'shape' => 'ElasticsearchSettings', ], 'RedshiftSettings' => [ 'shape' => 'RedshiftSettings', ], ], ], 'EndpointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Endpoint', ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Date' => [ 'shape' => 'TStamp', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'EventCategoryGroup' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], ], ], 'EventCategoryGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoryGroup', ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], ], 'EventSubscription' => [ 'type' => 'structure', 'members' => [ 'CustomerAwsId' => [ 'shape' => 'String', ], 'CustSubscriptionId' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubscriptionCreationTime' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIdsList' => [ 'shape' => 'SourceIdsList', ], 'EventCategoriesList' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'EventSubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ImportCertificateMessage' => [ 'type' => 'structure', 'required' => [ 'CertificateIdentifier', ], 'members' => [ 'CertificateIdentifier' => [ 'shape' => 'String', ], 'CertificatePem' => [ 'shape' => 'String', ], 'CertificateWallet' => [ 'shape' => 'CertificateWallet', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ImportCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'Certificate', ], ], ], 'InsufficientResourceCapacityFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidCertificateFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidResourceStateFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSAccessDeniedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSDisabledFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSInvalidStateFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSKeyNotAccessibleFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSNotFoundFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KMSThrottlingFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'KinesisSettings' => [ 'type' => 'structure', 'members' => [ 'StreamArn' => [ 'shape' => 'String', ], 'MessageFormat' => [ 'shape' => 'MessageFormatValue', ], 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'Long' => [ 'type' => 'long', ], 'MessageFormatValue' => [ 'type' => 'string', 'enum' => [ 'json', ], ], 'MigrationTypeValue' => [ 'type' => 'string', 'enum' => [ 'full-load', 'cdc', 'full-load-and-cdc', ], ], 'ModifyEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'EndpointIdentifier' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'ReplicationEndpointTypeValue', ], 'EngineName' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'SecretString', ], 'ServerName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'ExtraConnectionAttributes' => [ 'shape' => 'String', ], 'CertificateArn' => [ 'shape' => 'String', ], 'SslMode' => [ 'shape' => 'DmsSslModeValue', ], 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'ExternalTableDefinition' => [ 'shape' => 'String', ], 'DynamoDbSettings' => [ 'shape' => 'DynamoDbSettings', ], 'S3Settings' => [ 'shape' => 'S3Settings', ], 'DmsTransferSettings' => [ 'shape' => 'DmsTransferSettings', ], 'MongoDbSettings' => [ 'shape' => 'MongoDbSettings', ], 'KinesisSettings' => [ 'shape' => 'KinesisSettings', ], 'ElasticsearchSettings' => [ 'shape' => 'ElasticsearchSettings', ], 'RedshiftSettings' => [ 'shape' => 'RedshiftSettings', ], ], ], 'ModifyEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'Endpoint', ], ], ], 'ModifyEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyEventSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'ModifyReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'ReplicationInstanceClass' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AllowMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'ReplicationInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'ModifyReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], 'ModifyReplicationSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationSubnetGroupIdentifier', 'SubnetIds', ], 'members' => [ 'ReplicationSubnetGroupIdentifier' => [ 'shape' => 'String', ], 'ReplicationSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyReplicationSubnetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationSubnetGroup' => [ 'shape' => 'ReplicationSubnetGroup', ], ], ], 'ModifyReplicationTaskMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'ReplicationTaskIdentifier' => [ 'shape' => 'String', ], 'MigrationType' => [ 'shape' => 'MigrationTypeValue', ], 'TableMappings' => [ 'shape' => 'String', ], 'ReplicationTaskSettings' => [ 'shape' => 'String', ], 'CdcStartTime' => [ 'shape' => 'TStamp', ], 'CdcStartPosition' => [ 'shape' => 'String', ], 'CdcStopPosition' => [ 'shape' => 'String', ], ], ], 'ModifyReplicationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'MongoDbSettings' => [ 'type' => 'structure', 'members' => [ 'Username' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'SecretString', ], 'ServerName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'AuthType' => [ 'shape' => 'AuthTypeValue', ], 'AuthMechanism' => [ 'shape' => 'AuthMechanismValue', ], 'NestingLevel' => [ 'shape' => 'NestingLevelValue', ], 'ExtractDocId' => [ 'shape' => 'String', ], 'DocsToInvestigate' => [ 'shape' => 'String', ], 'AuthSource' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'NestingLevelValue' => [ 'type' => 'string', 'enum' => [ 'none', 'one', ], ], 'OrderableReplicationInstance' => [ 'type' => 'structure', 'members' => [ 'EngineVersion' => [ 'shape' => 'String', ], 'ReplicationInstanceClass' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'MinAllocatedStorage' => [ 'shape' => 'Integer', ], 'MaxAllocatedStorage' => [ 'shape' => 'Integer', ], 'DefaultAllocatedStorage' => [ 'shape' => 'Integer', ], 'IncludedAllocatedStorage' => [ 'shape' => 'Integer', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZonesList', ], ], ], 'OrderableReplicationInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableReplicationInstance', ], ], 'ParquetVersionValue' => [ 'type' => 'string', 'enum' => [ 'parquet-1-0', 'parquet-2-0', ], ], 'PendingMaintenanceAction' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'String', ], 'AutoAppliedAfterDate' => [ 'shape' => 'TStamp', ], 'ForcedApplyDate' => [ 'shape' => 'TStamp', ], 'OptInStatus' => [ 'shape' => 'String', ], 'CurrentApplyDate' => [ 'shape' => 'TStamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'PendingMaintenanceActionDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingMaintenanceAction', ], ], 'PendingMaintenanceActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePendingMaintenanceActions', ], ], 'RebootReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], 'RedshiftSettings' => [ 'type' => 'structure', 'members' => [ 'AcceptAnyDate' => [ 'shape' => 'BooleanOptional', ], 'AfterConnectScript' => [ 'shape' => 'String', ], 'BucketFolder' => [ 'shape' => 'String', ], 'BucketName' => [ 'shape' => 'String', ], 'ConnectionTimeout' => [ 'shape' => 'IntegerOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DateFormat' => [ 'shape' => 'String', ], 'EmptyAsNull' => [ 'shape' => 'BooleanOptional', ], 'EncryptionMode' => [ 'shape' => 'EncryptionModeValue', ], 'FileTransferUploadStreams' => [ 'shape' => 'IntegerOptional', ], 'LoadTimeout' => [ 'shape' => 'IntegerOptional', ], 'MaxFileSize' => [ 'shape' => 'IntegerOptional', ], 'Password' => [ 'shape' => 'SecretString', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'RemoveQuotes' => [ 'shape' => 'BooleanOptional', ], 'ReplaceInvalidChars' => [ 'shape' => 'String', ], 'ReplaceChars' => [ 'shape' => 'String', ], 'ServerName' => [ 'shape' => 'String', ], 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'ServerSideEncryptionKmsKeyId' => [ 'shape' => 'String', ], 'TimeFormat' => [ 'shape' => 'String', ], 'TrimBlanks' => [ 'shape' => 'BooleanOptional', ], 'TruncateColumns' => [ 'shape' => 'BooleanOptional', ], 'Username' => [ 'shape' => 'String', ], 'WriteBufferSize' => [ 'shape' => 'IntegerOptional', ], ], ], 'RefreshSchemasMessage' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', 'ReplicationInstanceArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'ReplicationInstanceArn' => [ 'shape' => 'String', ], ], ], 'RefreshSchemasResponse' => [ 'type' => 'structure', 'members' => [ 'RefreshSchemasStatus' => [ 'shape' => 'RefreshSchemasStatus', ], ], ], 'RefreshSchemasStatus' => [ 'type' => 'structure', 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'RefreshSchemasStatusTypeValue', ], 'LastRefreshDate' => [ 'shape' => 'TStamp', ], 'LastFailureMessage' => [ 'shape' => 'String', ], ], ], 'RefreshSchemasStatusTypeValue' => [ 'type' => 'string', 'enum' => [ 'successful', 'failed', 'refreshing', ], ], 'ReloadOptionValue' => [ 'type' => 'string', 'enum' => [ 'data-reload', 'validate-only', ], ], 'ReloadTablesMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', 'TablesToReload', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'TablesToReload' => [ 'shape' => 'TableListToReload', ], 'ReloadOption' => [ 'shape' => 'ReloadOptionValue', ], ], ], 'ReloadTablesResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'RemoveTagsFromResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'ReplicationEndpointTypeValue' => [ 'type' => 'string', 'enum' => [ 'source', 'target', ], ], 'ReplicationInstance' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstanceIdentifier' => [ 'shape' => 'String', ], 'ReplicationInstanceClass' => [ 'shape' => 'String', ], 'ReplicationInstanceStatus' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ReplicationSubnetGroup' => [ 'shape' => 'ReplicationSubnetGroup', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'ReplicationPendingModifiedValues', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ReplicationInstancePublicIpAddress' => [ 'shape' => 'String', 'deprecated' => true, ], 'ReplicationInstancePrivateIpAddress' => [ 'shape' => 'String', 'deprecated' => true, ], 'ReplicationInstancePublicIpAddresses' => [ 'shape' => 'ReplicationInstancePublicIpAddressList', ], 'ReplicationInstancePrivateIpAddresses' => [ 'shape' => 'ReplicationInstancePrivateIpAddressList', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', ], 'SecondaryAvailabilityZone' => [ 'shape' => 'String', ], 'FreeUntil' => [ 'shape' => 'TStamp', ], 'DnsNameServers' => [ 'shape' => 'String', ], ], ], 'ReplicationInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationInstance', ], ], 'ReplicationInstancePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReplicationInstancePublicIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReplicationInstanceTaskLog' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskName' => [ 'shape' => 'String', ], 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'ReplicationInstanceTaskLogSize' => [ 'shape' => 'Long', ], ], ], 'ReplicationInstanceTaskLogsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationInstanceTaskLog', ], ], 'ReplicationPendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstanceClass' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], ], ], 'ReplicationSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'ReplicationSubnetGroupIdentifier' => [ 'shape' => 'String', ], 'ReplicationSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], ], ], 'ReplicationSubnetGroupDoesNotCoverEnoughAZs' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ReplicationSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationSubnetGroup', ], ], 'ReplicationTask' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskIdentifier' => [ 'shape' => 'String', ], 'SourceEndpointArn' => [ 'shape' => 'String', ], 'TargetEndpointArn' => [ 'shape' => 'String', ], 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'MigrationType' => [ 'shape' => 'MigrationTypeValue', ], 'TableMappings' => [ 'shape' => 'String', ], 'ReplicationTaskSettings' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'LastFailureMessage' => [ 'shape' => 'String', ], 'StopReason' => [ 'shape' => 'String', ], 'ReplicationTaskCreationDate' => [ 'shape' => 'TStamp', ], 'ReplicationTaskStartDate' => [ 'shape' => 'TStamp', ], 'CdcStartPosition' => [ 'shape' => 'String', ], 'CdcStopPosition' => [ 'shape' => 'String', ], 'RecoveryCheckpoint' => [ 'shape' => 'String', ], 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'ReplicationTaskStats' => [ 'shape' => 'ReplicationTaskStats', ], ], ], 'ReplicationTaskAssessmentResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationTaskIdentifier' => [ 'shape' => 'String', ], 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'ReplicationTaskLastAssessmentDate' => [ 'shape' => 'TStamp', ], 'AssessmentStatus' => [ 'shape' => 'String', ], 'AssessmentResultsFile' => [ 'shape' => 'String', ], 'AssessmentResults' => [ 'shape' => 'String', ], 'S3ObjectUrl' => [ 'shape' => 'String', ], ], ], 'ReplicationTaskAssessmentResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationTaskAssessmentResult', ], ], 'ReplicationTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationTask', ], ], 'ReplicationTaskStats' => [ 'type' => 'structure', 'members' => [ 'FullLoadProgressPercent' => [ 'shape' => 'Integer', ], 'ElapsedTimeMillis' => [ 'shape' => 'Long', ], 'TablesLoaded' => [ 'shape' => 'Integer', ], 'TablesLoading' => [ 'shape' => 'Integer', ], 'TablesQueued' => [ 'shape' => 'Integer', ], 'TablesErrored' => [ 'shape' => 'Integer', ], ], ], 'ResourceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], 'resourceArn' => [ 'shape' => 'ResourceArn', ], ], 'exception' => true, ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourcePendingMaintenanceActions' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'PendingMaintenanceActionDetails' => [ 'shape' => 'PendingMaintenanceActionDetails', ], ], ], 'ResourceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'S3Settings' => [ 'type' => 'structure', 'members' => [ 'ServiceAccessRoleArn' => [ 'shape' => 'String', ], 'ExternalTableDefinition' => [ 'shape' => 'String', ], 'CsvRowDelimiter' => [ 'shape' => 'String', ], 'CsvDelimiter' => [ 'shape' => 'String', ], 'BucketFolder' => [ 'shape' => 'String', ], 'BucketName' => [ 'shape' => 'String', ], 'CompressionType' => [ 'shape' => 'CompressionTypeValue', ], 'EncryptionMode' => [ 'shape' => 'EncryptionModeValue', ], 'ServerSideEncryptionKmsKeyId' => [ 'shape' => 'String', ], 'DataFormat' => [ 'shape' => 'DataFormatValue', ], 'EncodingType' => [ 'shape' => 'EncodingTypeValue', ], 'DictPageSizeLimit' => [ 'shape' => 'IntegerOptional', ], 'RowGroupLength' => [ 'shape' => 'IntegerOptional', ], 'DataPageSize' => [ 'shape' => 'IntegerOptional', ], 'ParquetVersion' => [ 'shape' => 'ParquetVersionValue', ], 'EnableStatistics' => [ 'shape' => 'BooleanOptional', ], 'CdcInsertsOnly' => [ 'shape' => 'BooleanOptional', ], ], ], 'SNSInvalidTopicFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'SNSNoAuthorizationFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'SchemaList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SecretString' => [ 'type' => 'string', 'sensitive' => true, ], 'SourceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'replication-instance', ], ], 'StartReplicationTaskAssessmentMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], ], ], 'StartReplicationTaskAssessmentResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'StartReplicationTaskMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', 'StartReplicationTaskType', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], 'StartReplicationTaskType' => [ 'shape' => 'StartReplicationTaskTypeValue', ], 'CdcStartTime' => [ 'shape' => 'TStamp', ], 'CdcStartPosition' => [ 'shape' => 'String', ], 'CdcStopPosition' => [ 'shape' => 'String', ], ], ], 'StartReplicationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'StartReplicationTaskTypeValue' => [ 'type' => 'string', 'enum' => [ 'start-replication', 'resume-processing', 'reload-target', ], ], 'StopReplicationTaskMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationTaskArn', ], 'members' => [ 'ReplicationTaskArn' => [ 'shape' => 'String', ], ], ], 'StopReplicationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationTask' => [ 'shape' => 'ReplicationTask', ], ], ], 'StorageQuotaExceededFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', ], ], 'SupportedEndpointType' => [ 'type' => 'structure', 'members' => [ 'EngineName' => [ 'shape' => 'String', ], 'SupportsCDC' => [ 'shape' => 'Boolean', ], 'EndpointType' => [ 'shape' => 'ReplicationEndpointTypeValue', ], 'EngineDisplayName' => [ 'shape' => 'String', ], ], ], 'SupportedEndpointTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedEndpointType', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'TableListToReload' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableToReload', ], ], 'TableStatistics' => [ 'type' => 'structure', 'members' => [ 'SchemaName' => [ 'shape' => 'String', ], 'TableName' => [ 'shape' => 'String', ], 'Inserts' => [ 'shape' => 'Long', ], 'Deletes' => [ 'shape' => 'Long', ], 'Updates' => [ 'shape' => 'Long', ], 'Ddls' => [ 'shape' => 'Long', ], 'FullLoadRows' => [ 'shape' => 'Long', ], 'FullLoadCondtnlChkFailedRows' => [ 'shape' => 'Long', ], 'FullLoadErrorRows' => [ 'shape' => 'Long', ], 'LastUpdateTime' => [ 'shape' => 'TStamp', ], 'TableState' => [ 'shape' => 'String', ], 'ValidationPendingRecords' => [ 'shape' => 'Long', ], 'ValidationFailedRecords' => [ 'shape' => 'Long', ], 'ValidationSuspendedRecords' => [ 'shape' => 'Long', ], 'ValidationState' => [ 'shape' => 'String', ], 'ValidationStateDetails' => [ 'shape' => 'String', ], ], ], 'TableStatisticsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableStatistics', ], ], 'TableToReload' => [ 'type' => 'structure', 'members' => [ 'SchemaName' => [ 'shape' => 'String', ], 'TableName' => [ 'shape' => 'String', ], ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TestConnectionMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', 'EndpointArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'TestConnectionResponse' => [ 'type' => 'structure', 'members' => [ 'Connection' => [ 'shape' => 'Connection', ], ], ], 'UpgradeDependencyFailureFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', ], ], ],]; diff --git a/lib/aws/Aws/data/dms/2016-01-01/paginators-1.json.php b/lib/aws/Aws/data/dms/2016-01-01/paginators-1.json.php new file mode 100644 index 0000000..892fba9 --- /dev/null +++ b/lib/aws/Aws/data/dms/2016-01-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dms/2016-01-01/paginators-1.json +return [ 'pagination' => [ 'DescribeCertificates' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeConnections' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeEndpointTypes' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeEndpoints' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeOrderableReplicationInstances' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribePendingMaintenanceActions' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeReplicationInstanceTaskLogs' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeReplicationInstances' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeReplicationSubnetGroups' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeReplicationTaskAssessmentResults' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeReplicationTasks' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeSchemas' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], 'DescribeTableStatistics' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'limit_key' => 'MaxRecords', ], ],]; diff --git a/lib/aws/Aws/data/dms/2016-01-01/smoke.json.php b/lib/aws/Aws/data/dms/2016-01-01/smoke.json.php new file mode 100644 index 0000000..e2359e4 --- /dev/null +++ b/lib/aws/Aws/data/dms/2016-01-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dms/2016-01-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeEndpoints', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeTableStatistics', 'input' => [ 'ReplicationTaskArn' => 'arn:aws:acm:region:123456789012', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/dms/2016-01-01/waiters-2.json.php b/lib/aws/Aws/data/dms/2016-01-01/waiters-2.json.php new file mode 100644 index 0000000..a4c4810 --- /dev/null +++ b/lib/aws/Aws/data/dms/2016-01-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dms/2016-01-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'TestConnectionSucceeds' => [ 'acceptors' => [ [ 'argument' => 'Connections[].Status', 'expected' => 'successful', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'Connections[].Status', 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 5, 'description' => 'Wait until testing connection succeeds.', 'maxAttempts' => 60, 'operation' => 'DescribeConnections', ], 'EndpointDeleted' => [ 'acceptors' => [ [ 'expected' => 'ResourceNotFoundFault', 'matcher' => 'error', 'state' => 'success', ], [ 'argument' => 'Endpoints[].Status', 'expected' => 'active', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'Endpoints[].Status', 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 5, 'description' => 'Wait until testing endpoint is deleted.', 'maxAttempts' => 60, 'operation' => 'DescribeEndpoints', ], 'ReplicationInstanceAvailable' => [ 'acceptors' => [ [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'incompatible-credentials', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'incompatible-network', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'inaccessible-encryption-credentials', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 60, 'description' => 'Wait until DMS replication instance is available.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationInstances', ], 'ReplicationInstanceDeleted' => [ 'acceptors' => [ [ 'argument' => 'ReplicationInstances[].ReplicationInstanceStatus', 'expected' => 'available', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'expected' => 'ResourceNotFoundFault', 'matcher' => 'error', 'state' => 'success', ], ], 'delay' => 15, 'description' => 'Wait until DMS replication instance is deleted.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationInstances', ], 'ReplicationTaskReady' => [ 'acceptors' => [ [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'ready', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'starting', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'running', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopped', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'testing', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until DMS replication task is ready.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationTasks', ], 'ReplicationTaskStopped' => [ 'acceptors' => [ [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'ready', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'starting', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'running', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'testing', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until DMS replication task is stopped.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationTasks', ], 'ReplicationTaskRunning' => [ 'acceptors' => [ [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'running', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'ready', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopped', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'testing', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until DMS replication task is running.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationTasks', ], 'ReplicationTaskDeleted' => [ 'acceptors' => [ [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'ready', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'stopped', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'running', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'ReplicationTasks[].Status', 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'expected' => 'ResourceNotFoundFault', 'matcher' => 'error', 'state' => 'success', ], ], 'delay' => 15, 'description' => 'Wait until DMS replication task is deleted.', 'maxAttempts' => 60, 'operation' => 'DescribeReplicationTasks', ], ],]; diff --git a/lib/aws/Aws/data/docdb/2014-10-31/api-2.json.php b/lib/aws/Aws/data/docdb/2014-10-31/api-2.json.php new file mode 100644 index 0000000..de62730 --- /dev/null +++ b/lib/aws/Aws/data/docdb/2014-10-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/docdb/2014-10-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-10-31', 'endpointPrefix' => 'rds', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon DocDB', 'serviceFullName' => 'Amazon DocumentDB with MongoDB compatibility', 'serviceId' => 'DocDB', 'signatureVersion' => 'v4', 'signingName' => 'rds', 'uid' => 'docdb-2014-10-31', 'xmlNamespace' => 'http://rds.amazonaws.com/doc/2014-10-31/', ], 'operations' => [ 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ApplyPendingMaintenanceAction' => [ 'name' => 'ApplyPendingMaintenanceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplyPendingMaintenanceActionMessage', ], 'output' => [ 'shape' => 'ApplyPendingMaintenanceActionResult', 'resultWrapper' => 'ApplyPendingMaintenanceActionResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'CopyDBClusterParameterGroup' => [ 'name' => 'CopyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBClusterParameterGroupResult', 'resultWrapper' => 'CopyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CopyDBClusterSnapshot' => [ 'name' => 'CopyDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CopyDBClusterSnapshotResult', 'resultWrapper' => 'CopyDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CreateDBCluster' => [ 'name' => 'CreateDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterMessage', ], 'output' => [ 'shape' => 'CreateDBClusterResult', 'resultWrapper' => 'CreateDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], ], ], 'CreateDBClusterParameterGroup' => [ 'name' => 'CreateDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBClusterParameterGroupResult', 'resultWrapper' => 'CreateDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBClusterSnapshot' => [ 'name' => 'CreateDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CreateDBClusterSnapshotResult', 'resultWrapper' => 'CreateDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'CreateDBInstance' => [ 'name' => 'CreateDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceResult', 'resultWrapper' => 'CreateDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CreateDBSubnetGroup' => [ 'name' => 'CreateDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSubnetGroupResult', 'resultWrapper' => 'CreateDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'DBSubnetGroupQuotaExceededFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'DeleteDBCluster' => [ 'name' => 'DeleteDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterResult', 'resultWrapper' => 'DeleteDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'DeleteDBClusterParameterGroup' => [ 'name' => 'DeleteDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBClusterSnapshot' => [ 'name' => 'DeleteDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterSnapshotResult', 'resultWrapper' => 'DeleteDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DeleteDBInstance' => [ 'name' => 'DeleteDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBInstanceMessage', ], 'output' => [ 'shape' => 'DeleteDBInstanceResult', 'resultWrapper' => 'DeleteDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'DeleteDBSubnetGroup' => [ 'name' => 'DeleteDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidDBSubnetStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DescribeDBClusterParameterGroups' => [ 'name' => 'DescribeDBClusterParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupsMessage', 'resultWrapper' => 'DescribeDBClusterParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterParameters' => [ 'name' => 'DescribeDBClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParametersMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupDetails', 'resultWrapper' => 'DescribeDBClusterParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterSnapshotAttributes' => [ 'name' => 'DescribeDBClusterSnapshotAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesMessage', ], 'output' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesResult', 'resultWrapper' => 'DescribeDBClusterSnapshotAttributesResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusterSnapshots' => [ 'name' => 'DescribeDBClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotsMessage', ], 'output' => [ 'shape' => 'DBClusterSnapshotMessage', 'resultWrapper' => 'DescribeDBClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusters' => [ 'name' => 'DescribeDBClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClustersMessage', ], 'output' => [ 'shape' => 'DBClusterMessage', 'resultWrapper' => 'DescribeDBClustersResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'DescribeDBEngineVersions' => [ 'name' => 'DescribeDBEngineVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBEngineVersionsMessage', ], 'output' => [ 'shape' => 'DBEngineVersionMessage', 'resultWrapper' => 'DescribeDBEngineVersionsResult', ], ], 'DescribeDBInstances' => [ 'name' => 'DescribeDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBInstancesMessage', ], 'output' => [ 'shape' => 'DBInstanceMessage', 'resultWrapper' => 'DescribeDBInstancesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBSubnetGroups' => [ 'name' => 'DescribeDBSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSubnetGroupsMessage', ], 'output' => [ 'shape' => 'DBSubnetGroupMessage', 'resultWrapper' => 'DescribeDBSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DescribeEngineDefaultClusterParameters' => [ 'name' => 'DescribeEngineDefaultClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultClusterParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultClusterParametersResult', 'resultWrapper' => 'DescribeEngineDefaultClusterParametersResult', ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'EventCategoriesMessage', 'resultWrapper' => 'DescribeEventCategoriesResult', ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeOrderableDBInstanceOptions' => [ 'name' => 'DescribeOrderableDBInstanceOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableDBInstanceOptionsMessage', ], 'output' => [ 'shape' => 'OrderableDBInstanceOptionsMessage', 'resultWrapper' => 'DescribeOrderableDBInstanceOptionsResult', ], ], 'DescribePendingMaintenanceActions' => [ 'name' => 'DescribePendingMaintenanceActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePendingMaintenanceActionsMessage', ], 'output' => [ 'shape' => 'PendingMaintenanceActionsMessage', 'resultWrapper' => 'DescribePendingMaintenanceActionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'FailoverDBCluster' => [ 'name' => 'FailoverDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'FailoverDBClusterMessage', ], 'output' => [ 'shape' => 'FailoverDBClusterResult', 'resultWrapper' => 'FailoverDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ModifyDBCluster' => [ 'name' => 'ModifyDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterResult', 'resultWrapper' => 'ModifyDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterAlreadyExistsFault', ], ], ], 'ModifyDBClusterParameterGroup' => [ 'name' => 'ModifyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBClusterSnapshotAttribute' => [ 'name' => 'ModifyDBClusterSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeResult', 'resultWrapper' => 'ModifyDBClusterSnapshotAttributeResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SharedSnapshotQuotaExceededFault', ], ], ], 'ModifyDBInstance' => [ 'name' => 'ModifyDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBInstanceMessage', ], 'output' => [ 'shape' => 'ModifyDBInstanceResult', 'resultWrapper' => 'ModifyDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'DBUpgradeDependencyFailureFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'CertificateNotFoundFault', ], ], ], 'ModifyDBSubnetGroup' => [ 'name' => 'ModifyDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyDBSubnetGroupResult', 'resultWrapper' => 'ModifyDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'RebootDBInstance' => [ 'name' => 'RebootDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootDBInstanceMessage', ], 'output' => [ 'shape' => 'RebootDBInstanceResult', 'resultWrapper' => 'RebootDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ResetDBClusterParameterGroup' => [ 'name' => 'ResetDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ResetDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'RestoreDBClusterFromSnapshot' => [ 'name' => 'RestoreDBClusterFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterFromSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterFromSnapshotResult', 'resultWrapper' => 'RestoreDBClusterFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'RestoreDBClusterToPointInTime' => [ 'name' => 'RestoreDBClusterToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterToPointInTimeMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterToPointInTimeResult', 'resultWrapper' => 'RestoreDBClusterToPointInTimeResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], ], ], ], 'shapes' => [ 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ApplyMethod' => [ 'type' => 'string', 'enum' => [ 'immediate', 'pending-reboot', ], ], 'ApplyPendingMaintenanceActionMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceIdentifier', 'ApplyAction', 'OptInType', ], 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'ApplyAction' => [ 'shape' => 'String', ], 'OptInType' => [ 'shape' => 'String', ], ], ], 'ApplyPendingMaintenanceActionResult' => [ 'type' => 'structure', 'members' => [ 'ResourcePendingMaintenanceActions' => [ 'shape' => 'ResourcePendingMaintenanceActions', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AttributeValue', ], ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'AvailabilityZone', ], ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AvailabilityZone', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'CertificateNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CertificateNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CloudwatchLogsExportConfiguration' => [ 'type' => 'structure', 'members' => [ 'EnableLogTypes' => [ 'shape' => 'LogTypeList', ], 'DisableLogTypes' => [ 'shape' => 'LogTypeList', ], ], ], 'CopyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupDescription', ], 'members' => [ 'SourceDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CopyDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterSnapshotIdentifier', 'TargetDBClusterSnapshotIdentifier', ], 'members' => [ 'SourceDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'CopyTags' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CreateDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], ], 'CreateDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CreateDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'CreateDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'DBClusterIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CreateDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBInstanceClass', 'Engine', 'DBClusterIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], ], ], 'CreateDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'DBSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'DBCluster' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroup' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'String', ], 'EarliestRestorableTime' => [ 'shape' => 'TStamp', ], 'Endpoint' => [ 'shape' => 'String', ], 'ReaderEndpoint' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'DBClusterMembers' => [ 'shape' => 'DBClusterMemberList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'HostedZoneId' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbClusterResourceId' => [ 'shape' => 'String', ], 'DBClusterArn' => [ 'shape' => 'String', ], 'AssociatedRoles' => [ 'shape' => 'DBClusterRoles', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], 'wrapper' => true, ], 'DBClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBCluster', 'locationName' => 'DBCluster', ], ], 'DBClusterMember' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'IsClusterWriter' => [ 'shape' => 'Boolean', ], 'DBClusterParameterGroupStatus' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], ], 'wrapper' => true, ], 'DBClusterMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterMember', 'locationName' => 'DBClusterMember', ], ], 'DBClusterMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusters' => [ 'shape' => 'DBClusterList', ], ], ], 'DBClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DBClusterParameterGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBClusterParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterParameterGroup', 'locationName' => 'DBClusterParameterGroup', ], ], 'DBClusterParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterParameterGroups' => [ 'shape' => 'DBClusterParameterGroupList', ], ], ], 'DBClusterQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterQuotaExceededFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRole' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBClusterRoles' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterRole', 'locationName' => 'DBClusterRole', ], ], 'DBClusterSnapshot' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Engine' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'VpcId' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'Integer', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DBClusterSnapshotArn' => [ 'shape' => 'String', ], 'SourceDBClusterSnapshotArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBClusterSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterSnapshotAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', ], 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], ], ], 'DBClusterSnapshotAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshotAttribute', 'locationName' => 'DBClusterSnapshotAttribute', ], ], 'DBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotAttributes' => [ 'shape' => 'DBClusterSnapshotAttributeList', ], ], 'wrapper' => true, ], 'DBClusterSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshot', 'locationName' => 'DBClusterSnapshot', ], ], 'DBClusterSnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterSnapshots' => [ 'shape' => 'DBClusterSnapshotList', ], ], ], 'DBClusterSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBEngineVersion' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'DBEngineDescription' => [ 'shape' => 'String', ], 'DBEngineVersionDescription' => [ 'shape' => 'String', ], 'ValidUpgradeTarget' => [ 'shape' => 'ValidUpgradeTargetList', ], 'ExportableLogTypes' => [ 'shape' => 'LogTypeList', ], 'SupportsLogExportsToCloudwatchLogs' => [ 'shape' => 'Boolean', ], ], ], 'DBEngineVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBEngineVersion', 'locationName' => 'DBEngineVersion', ], ], 'DBEngineVersionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBEngineVersions' => [ 'shape' => 'DBEngineVersionList', ], ], ], 'DBInstance' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'DBInstanceStatus' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'Integer', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', ], 'StatusInfos' => [ 'shape' => 'DBInstanceStatusInfoList', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbiResourceId' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceArn' => [ 'shape' => 'String', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], 'wrapper' => true, ], 'DBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstance', 'locationName' => 'DBInstance', ], ], 'DBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBInstances' => [ 'shape' => 'DBInstanceList', ], ], ], 'DBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceStatusInfo' => [ 'type' => 'structure', 'members' => [ 'StatusType' => [ 'shape' => 'String', ], 'Normal' => [ 'shape' => 'Boolean', ], 'Status' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'DBInstanceStatusInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceStatusInfo', 'locationName' => 'DBInstanceStatusInfo', ], ], 'DBParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], 'DBSubnetGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupDoesNotCoverEnoughAZs' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupDoesNotCoverEnoughAZs', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSubnetGroups' => [ 'shape' => 'DBSubnetGroups', ], ], ], 'DBSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSubnetGroup', 'locationName' => 'DBSubnetGroup', ], ], 'DBSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBUpgradeDependencyFailureFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBUpgradeDependencyFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DeleteDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'DeleteDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'DeleteDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'DeleteDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'DescribeDBClusterSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'IncludeShared' => [ 'shape' => 'Boolean', ], 'IncludePublic' => [ 'shape' => 'Boolean', ], ], ], 'DescribeDBClustersMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBEngineVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'DefaultOnly' => [ 'shape' => 'Boolean', ], 'ListSupportedCharacterSets' => [ 'shape' => 'BooleanOptional', ], 'ListSupportedTimezones' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'Engine', ], 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Vpc' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribePendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'HostedZoneId' => [ 'shape' => 'String', ], ], ], 'EngineDefaults' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Date' => [ 'shape' => 'TStamp', ], 'SourceArn' => [ 'shape' => 'String', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'EventCategory', ], ], 'EventCategoriesMap' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], ], 'wrapper' => true, ], 'EventCategoriesMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoriesMap', 'locationName' => 'EventCategoriesMap', ], ], 'EventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'EventCategoriesMapList' => [ 'shape' => 'EventCategoriesMapList', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'FailoverDBClusterMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'TargetDBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'FailoverDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Value', ], ], 'InstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBClusterCapacityFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBInstanceCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBInstanceCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientStorageClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientStorageClusterCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidDBClusterSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterSnapshotStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBInstanceStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBInstanceState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRestoreFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRestoreFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSKeyNotAccessibleFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'KMSKeyNotAccessibleFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'LogTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ModifyDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'NewDBClusterIdentifier' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'CloudwatchLogsExportConfiguration' => [ 'shape' => 'CloudwatchLogsExportConfiguration', ], 'EngineVersion' => [ 'shape' => 'String', ], ], ], 'ModifyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'Parameters', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'ModifyDBClusterSnapshotAttributeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'AttributeName', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'AttributeName' => [ 'shape' => 'String', ], 'ValuesToAdd' => [ 'shape' => 'AttributeValueList', ], 'ValuesToRemove' => [ 'shape' => 'AttributeValueList', ], ], ], 'ModifyDBClusterSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'ModifyDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'NewDBInstanceIdentifier' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], ], ], 'ModifyDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ModifyDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'OrderableDBInstanceOption' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'Vpc' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'OrderableDBInstanceOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableDBInstanceOption', 'locationName' => 'OrderableDBInstanceOption', ], ], 'OrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OrderableDBInstanceOptions' => [ 'shape' => 'OrderableDBInstanceOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'ApplyMethod' => [ 'shape' => 'ApplyMethod', ], ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingCloudwatchLogsExports' => [ 'type' => 'structure', 'members' => [ 'LogTypesToEnable' => [ 'shape' => 'LogTypeList', ], 'LogTypesToDisable' => [ 'shape' => 'LogTypeList', ], ], ], 'PendingMaintenanceAction' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'String', ], 'AutoAppliedAfterDate' => [ 'shape' => 'TStamp', ], 'ForcedApplyDate' => [ 'shape' => 'TStamp', ], 'OptInStatus' => [ 'shape' => 'String', ], 'CurrentApplyDate' => [ 'shape' => 'TStamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'PendingMaintenanceActionDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingMaintenanceAction', 'locationName' => 'PendingMaintenanceAction', ], ], 'PendingMaintenanceActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePendingMaintenanceActions', 'locationName' => 'ResourcePendingMaintenanceActions', ], ], 'PendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'PendingMaintenanceActions' => [ 'shape' => 'PendingMaintenanceActions', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'DBInstanceClass' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PendingCloudwatchLogsExports' => [ 'shape' => 'PendingCloudwatchLogsExports', ], ], ], 'RebootDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'ResetDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResourcePendingMaintenanceActions' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'PendingMaintenanceActionDetails' => [ 'shape' => 'PendingMaintenanceActionDetails', ], ], 'wrapper' => true, ], 'RestoreDBClusterFromSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SnapshotIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], ], 'RestoreDBClusterFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'RestoreDBClusterToPointInTimeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SourceDBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SourceDBClusterIdentifier' => [ 'shape' => 'String', ], 'RestoreToTime' => [ 'shape' => 'TStamp', ], 'UseLatestRestorableTime' => [ 'shape' => 'Boolean', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], ], 'RestoreDBClusterToPointInTimeResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'SharedSnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SharedSnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'db-instance', 'db-parameter-group', 'db-security-group', 'db-snapshot', 'db-cluster', 'db-cluster-snapshot', ], ], 'StorageQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'StorageTypeNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageTypeNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetAlreadyInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagListMessage' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'UpgradeTarget' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'AutoUpgrade' => [ 'shape' => 'Boolean', ], 'IsMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], ], ], 'ValidUpgradeTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpgradeTarget', 'locationName' => 'UpgradeTarget', ], ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcSecurityGroupId', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', 'locationName' => 'VpcSecurityGroupMembership', ], ], ],]; diff --git a/lib/aws/Aws/data/docdb/2014-10-31/paginators-1.json.php b/lib/aws/Aws/data/docdb/2014-10-31/paginators-1.json.php new file mode 100644 index 0000000..54b7f57 --- /dev/null +++ b/lib/aws/Aws/data/docdb/2014-10-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/docdb/2014-10-31/paginators-1.json +return [ 'pagination' => [ 'DescribeDBClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBClusters', ], 'DescribeDBEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBEngineVersions', ], 'DescribeDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstances', ], 'DescribeDBSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSubnetGroups', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeOrderableDBInstanceOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableDBInstanceOptions', ], 'ListTagsForResource' => [ 'result_key' => 'TagList', ], ],]; diff --git a/lib/aws/Aws/data/docdb/2014-10-31/smoke.json.php b/lib/aws/Aws/data/docdb/2014-10-31/smoke.json.php new file mode 100644 index 0000000..6d89693 --- /dev/null +++ b/lib/aws/Aws/data/docdb/2014-10-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/docdb/2014-10-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeDBEngineVersions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeDBInstances', 'input' => [ 'DBInstanceIdentifier' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/docdb/2014-10-31/waiters-2.json.php b/lib/aws/Aws/data/docdb/2014-10-31/waiters-2.json.php new file mode 100644 index 0000000..c8d5349 --- /dev/null +++ b/lib/aws/Aws/data/docdb/2014-10-31/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/docdb/2014-10-31/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DBInstanceAvailable' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-restore', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-parameters', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], 'DBInstanceDeleted' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'DBInstanceNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'resetting-master-credentials', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ds/2015-04-16/api-2.json.php b/lib/aws/Aws/data/ds/2015-04-16/api-2.json.php new file mode 100644 index 0000000..b5cd962 --- /dev/null +++ b/lib/aws/Aws/data/ds/2015-04-16/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ds/2015-04-16/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-04-16', 'endpointPrefix' => 'ds', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Directory Service', 'serviceFullName' => 'AWS Directory Service', 'serviceId' => 'Directory Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'DirectoryService_20150416', 'uid' => 'ds-2015-04-16', ], 'operations' => [ 'AcceptSharedDirectory' => [ 'name' => 'AcceptSharedDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptSharedDirectoryRequest', ], 'output' => [ 'shape' => 'AcceptSharedDirectoryResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryAlreadySharedException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'AddIpRoutes' => [ 'name' => 'AddIpRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddIpRoutesRequest', ], 'output' => [ 'shape' => 'AddIpRoutesResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'IpRouteLimitExceededException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceRequest', ], 'output' => [ 'shape' => 'AddTagsToResourceResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TagLimitExceededException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CancelSchemaExtension' => [ 'name' => 'CancelSchemaExtension', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSchemaExtensionRequest', ], 'output' => [ 'shape' => 'CancelSchemaExtensionResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ConnectDirectory' => [ 'name' => 'ConnectDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConnectDirectoryRequest', ], 'output' => [ 'shape' => 'ConnectDirectoryResult', ], 'errors' => [ [ 'shape' => 'DirectoryLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateAlias' => [ 'name' => 'CreateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAliasRequest', ], 'output' => [ 'shape' => 'CreateAliasResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateComputer' => [ 'name' => 'CreateComputer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateComputerRequest', ], 'output' => [ 'shape' => 'CreateComputerResult', ], 'errors' => [ [ 'shape' => 'AuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateConditionalForwarder' => [ 'name' => 'CreateConditionalForwarder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConditionalForwarderRequest', ], 'output' => [ 'shape' => 'CreateConditionalForwarderResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateDirectory' => [ 'name' => 'CreateDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDirectoryRequest', ], 'output' => [ 'shape' => 'CreateDirectoryResult', ], 'errors' => [ [ 'shape' => 'DirectoryLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateLogSubscription' => [ 'name' => 'CreateLogSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLogSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateLogSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateMicrosoftAD' => [ 'name' => 'CreateMicrosoftAD', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateMicrosoftADRequest', ], 'output' => [ 'shape' => 'CreateMicrosoftADResult', ], 'errors' => [ [ 'shape' => 'DirectoryLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotRequest', ], 'output' => [ 'shape' => 'CreateSnapshotResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'SnapshotLimitExceededException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'CreateTrust' => [ 'name' => 'CreateTrust', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTrustRequest', ], 'output' => [ 'shape' => 'CreateTrustResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeleteConditionalForwarder' => [ 'name' => 'DeleteConditionalForwarder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConditionalForwarderRequest', ], 'output' => [ 'shape' => 'DeleteConditionalForwarderResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DeleteDirectory' => [ 'name' => 'DeleteDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDirectoryRequest', ], 'output' => [ 'shape' => 'DeleteDirectoryResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DeleteLogSubscription' => [ 'name' => 'DeleteLogSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLogSubscriptionRequest', ], 'output' => [ 'shape' => 'DeleteLogSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotRequest', ], 'output' => [ 'shape' => 'DeleteSnapshotResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DeleteTrust' => [ 'name' => 'DeleteTrust', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTrustRequest', ], 'output' => [ 'shape' => 'DeleteTrustResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeregisterEventTopic' => [ 'name' => 'DeregisterEventTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterEventTopicRequest', ], 'output' => [ 'shape' => 'DeregisterEventTopicResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeConditionalForwarders' => [ 'name' => 'DescribeConditionalForwarders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConditionalForwardersRequest', ], 'output' => [ 'shape' => 'DescribeConditionalForwardersResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeDirectories' => [ 'name' => 'DescribeDirectories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDirectoriesRequest', ], 'output' => [ 'shape' => 'DescribeDirectoriesResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeDomainControllers' => [ 'name' => 'DescribeDomainControllers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDomainControllersRequest', ], 'output' => [ 'shape' => 'DescribeDomainControllersResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DescribeEventTopics' => [ 'name' => 'DescribeEventTopics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventTopicsRequest', ], 'output' => [ 'shape' => 'DescribeEventTopicsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeSharedDirectories' => [ 'name' => 'DescribeSharedDirectories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSharedDirectoriesRequest', ], 'output' => [ 'shape' => 'DescribeSharedDirectoriesResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DescribeTrusts' => [ 'name' => 'DescribeTrusts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrustsRequest', ], 'output' => [ 'shape' => 'DescribeTrustsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DisableRadius' => [ 'name' => 'DisableRadius', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableRadiusRequest', ], 'output' => [ 'shape' => 'DisableRadiusResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'DisableSso' => [ 'name' => 'DisableSso', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableSsoRequest', ], 'output' => [ 'shape' => 'DisableSsoResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'AuthenticationFailedException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'EnableRadius' => [ 'name' => 'EnableRadius', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableRadiusRequest', ], 'output' => [ 'shape' => 'EnableRadiusResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'EnableSso' => [ 'name' => 'EnableSso', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableSsoRequest', ], 'output' => [ 'shape' => 'EnableSsoResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InsufficientPermissionsException', ], [ 'shape' => 'AuthenticationFailedException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'GetDirectoryLimits' => [ 'name' => 'GetDirectoryLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDirectoryLimitsRequest', ], 'output' => [ 'shape' => 'GetDirectoryLimitsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'GetSnapshotLimits' => [ 'name' => 'GetSnapshotLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSnapshotLimitsRequest', ], 'output' => [ 'shape' => 'GetSnapshotLimitsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ListIpRoutes' => [ 'name' => 'ListIpRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIpRoutesRequest', ], 'output' => [ 'shape' => 'ListIpRoutesResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ListLogSubscriptions' => [ 'name' => 'ListLogSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLogSubscriptionsRequest', ], 'output' => [ 'shape' => 'ListLogSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ListSchemaExtensions' => [ 'name' => 'ListSchemaExtensions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSchemaExtensionsRequest', ], 'output' => [ 'shape' => 'ListSchemaExtensionsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'RegisterEventTopic' => [ 'name' => 'RegisterEventTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterEventTopicRequest', ], 'output' => [ 'shape' => 'RegisterEventTopicResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'RejectSharedDirectory' => [ 'name' => 'RejectSharedDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectSharedDirectoryRequest', ], 'output' => [ 'shape' => 'RejectSharedDirectoryResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryAlreadySharedException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'RemoveIpRoutes' => [ 'name' => 'RemoveIpRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveIpRoutesRequest', ], 'output' => [ 'shape' => 'RemoveIpRoutesResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceRequest', ], 'output' => [ 'shape' => 'RemoveTagsFromResourceResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ResetUserPassword' => [ 'name' => 'ResetUserPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetUserPasswordRequest', ], 'output' => [ 'shape' => 'ResetUserPasswordResult', ], 'errors' => [ [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'UserDoesNotExistException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'RestoreFromSnapshot' => [ 'name' => 'RestoreFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreFromSnapshotRequest', ], 'output' => [ 'shape' => 'RestoreFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'ShareDirectory' => [ 'name' => 'ShareDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ShareDirectoryRequest', ], 'output' => [ 'shape' => 'ShareDirectoryResult', ], 'errors' => [ [ 'shape' => 'DirectoryAlreadySharedException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidTargetException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ShareLimitExceededException', ], [ 'shape' => 'OrganizationsException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ServiceException', ], ], ], 'StartSchemaExtension' => [ 'name' => 'StartSchemaExtension', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSchemaExtensionRequest', ], 'output' => [ 'shape' => 'StartSchemaExtensionResult', ], 'errors' => [ [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'SnapshotLimitExceededException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'UnshareDirectory' => [ 'name' => 'UnshareDirectory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnshareDirectoryRequest', ], 'output' => [ 'shape' => 'UnshareDirectoryResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidTargetException', ], [ 'shape' => 'DirectoryNotSharedException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'UpdateConditionalForwarder' => [ 'name' => 'UpdateConditionalForwarder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConditionalForwarderRequest', ], 'output' => [ 'shape' => 'UpdateConditionalForwarderResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'UpdateNumberOfDomainControllers' => [ 'name' => 'UpdateNumberOfDomainControllers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNumberOfDomainControllersRequest', ], 'output' => [ 'shape' => 'UpdateNumberOfDomainControllersResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'DomainControllerLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'UpdateRadius' => [ 'name' => 'UpdateRadius', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRadiusRequest', ], 'output' => [ 'shape' => 'UpdateRadiusResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'UpdateTrust' => [ 'name' => 'UpdateTrust', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTrustRequest', ], 'output' => [ 'shape' => 'UpdateTrustResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], ], ], 'VerifyTrust' => [ 'name' => 'VerifyTrust', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyTrustRequest', ], 'output' => [ 'shape' => 'VerifyTrustResult', ], 'errors' => [ [ 'shape' => 'EntityDoesNotExistException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], ], 'shapes' => [ 'AcceptSharedDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'SharedDirectoryId', ], 'members' => [ 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'AcceptSharedDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'SharedDirectory' => [ 'shape' => 'SharedDirectory', ], ], ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'AccessUrl' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AddIpRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'IpRoutes', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'IpRoutes' => [ 'shape' => 'IpRoutes', ], 'UpdateSecurityGroupForDirectoryControllers' => [ 'shape' => 'UpdateSecurityGroupForDirectoryControllers', ], ], ], 'AddIpRoutesResult' => [ 'type' => 'structure', 'members' => [], ], 'AddTagsToResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'Tags', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'AddTagsToResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'AddedDateTime' => [ 'type' => 'timestamp', ], 'AliasName' => [ 'type' => 'string', 'max' => 62, 'min' => 1, 'pattern' => '^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*', ], 'Attribute' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'AttributeName', ], 'Value' => [ 'shape' => 'AttributeValue', ], ], ], 'AttributeName' => [ 'type' => 'string', 'min' => 1, ], 'AttributeValue' => [ 'type' => 'string', ], 'Attributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ], 'AuthenticationFailedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'AvailabilityZone' => [ 'type' => 'string', ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', ], ], 'CancelSchemaExtensionRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'SchemaExtensionId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'SchemaExtensionId' => [ 'shape' => 'SchemaExtensionId', ], ], ], 'CancelSchemaExtensionResult' => [ 'type' => 'structure', 'members' => [], ], 'CidrIp' => [ 'type' => 'string', 'pattern' => '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([1-9]|[1-2][0-9]|3[0-2]))$', ], 'CidrIps' => [ 'type' => 'list', 'member' => [ 'shape' => 'CidrIp', ], ], 'ClientException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'CloudOnlyDirectoriesLimitReached' => [ 'type' => 'boolean', ], 'Computer' => [ 'type' => 'structure', 'members' => [ 'ComputerId' => [ 'shape' => 'SID', ], 'ComputerName' => [ 'shape' => 'ComputerName', ], 'ComputerAttributes' => [ 'shape' => 'Attributes', ], ], ], 'ComputerName' => [ 'type' => 'string', 'max' => 15, 'min' => 1, ], 'ComputerPassword' => [ 'type' => 'string', 'max' => 64, 'min' => 8, 'pattern' => '[\\u0020-\\u00FF]+', 'sensitive' => true, ], 'ConditionalForwarder' => [ 'type' => 'structure', 'members' => [ 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], 'DnsIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], 'ReplicationScope' => [ 'shape' => 'ReplicationScope', ], ], ], 'ConditionalForwarders' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConditionalForwarder', ], ], 'ConnectDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Password', 'Size', 'ConnectSettings', ], 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'ShortName' => [ 'shape' => 'DirectoryShortName', ], 'Password' => [ 'shape' => 'ConnectPassword', ], 'Description' => [ 'shape' => 'Description', ], 'Size' => [ 'shape' => 'DirectorySize', ], 'ConnectSettings' => [ 'shape' => 'DirectoryConnectSettings', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ConnectDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'ConnectPassword' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'sensitive' => true, ], 'ConnectedDirectoriesLimitReached' => [ 'type' => 'boolean', ], 'CreateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'Alias', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'Alias' => [ 'shape' => 'AliasName', ], ], ], 'CreateAliasResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'Alias' => [ 'shape' => 'AliasName', ], ], ], 'CreateComputerRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'ComputerName', 'Password', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'ComputerName' => [ 'shape' => 'ComputerName', ], 'Password' => [ 'shape' => 'ComputerPassword', ], 'OrganizationalUnitDistinguishedName' => [ 'shape' => 'OrganizationalUnitDN', ], 'ComputerAttributes' => [ 'shape' => 'Attributes', ], ], ], 'CreateComputerResult' => [ 'type' => 'structure', 'members' => [ 'Computer' => [ 'shape' => 'Computer', ], ], ], 'CreateConditionalForwarderRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RemoteDomainName', 'DnsIpAddrs', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], 'DnsIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], ], ], 'CreateConditionalForwarderResult' => [ 'type' => 'structure', 'members' => [], ], 'CreateDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Password', 'Size', ], 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'ShortName' => [ 'shape' => 'DirectoryShortName', ], 'Password' => [ 'shape' => 'Password', ], 'Description' => [ 'shape' => 'Description', ], 'Size' => [ 'shape' => 'DirectorySize', ], 'VpcSettings' => [ 'shape' => 'DirectoryVpcSettings', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'CreateLogSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'LogGroupName', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'LogGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'CreateLogSubscriptionResult' => [ 'type' => 'structure', 'members' => [], ], 'CreateMicrosoftADRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Password', 'VpcSettings', ], 'members' => [ 'Name' => [ 'shape' => 'DirectoryName', ], 'ShortName' => [ 'shape' => 'DirectoryShortName', ], 'Password' => [ 'shape' => 'Password', ], 'Description' => [ 'shape' => 'Description', ], 'VpcSettings' => [ 'shape' => 'DirectoryVpcSettings', ], 'Edition' => [ 'shape' => 'DirectoryEdition', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateMicrosoftADResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'CreateSnapshotBeforeSchemaExtension' => [ 'type' => 'boolean', ], 'CreateSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'Name' => [ 'shape' => 'SnapshotName', ], ], ], 'CreateSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'CreateTrustRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RemoteDomainName', 'TrustPassword', 'TrustDirection', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], 'TrustPassword' => [ 'shape' => 'TrustPassword', ], 'TrustDirection' => [ 'shape' => 'TrustDirection', ], 'TrustType' => [ 'shape' => 'TrustType', ], 'ConditionalForwarderIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], 'SelectiveAuth' => [ 'shape' => 'SelectiveAuth', ], ], ], 'CreateTrustResult' => [ 'type' => 'structure', 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'CreatedDateTime' => [ 'type' => 'timestamp', ], 'CustomerId' => [ 'type' => 'string', 'pattern' => '^(\\d{12})$', ], 'CustomerUserName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^(?!.*\\\\|.*"|.*\\/|.*\\[|.*\\]|.*:|.*;|.*\\||.*=|.*,|.*\\+|.*\\*|.*\\?|.*<|.*>|.*@).*$', ], 'DeleteAssociatedConditionalForwarder' => [ 'type' => 'boolean', ], 'DeleteConditionalForwarderRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RemoteDomainName', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], ], ], 'DeleteConditionalForwarderResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'DeleteDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'DeleteLogSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'DeleteLogSubscriptionResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'DeleteSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'DeleteTrustRequest' => [ 'type' => 'structure', 'required' => [ 'TrustId', ], 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], 'DeleteAssociatedConditionalForwarder' => [ 'shape' => 'DeleteAssociatedConditionalForwarder', ], ], ], 'DeleteTrustResult' => [ 'type' => 'structure', 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'DeregisterEventTopicRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'TopicName', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TopicName' => [ 'shape' => 'TopicName', ], ], ], 'DeregisterEventTopicResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeConditionalForwardersRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RemoteDomainNames' => [ 'shape' => 'RemoteDomainNames', ], ], ], 'DescribeConditionalForwardersResult' => [ 'type' => 'structure', 'members' => [ 'ConditionalForwarders' => [ 'shape' => 'ConditionalForwarders', ], ], ], 'DescribeDirectoriesRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryIds' => [ 'shape' => 'DirectoryIds', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeDirectoriesResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryDescriptions' => [ 'shape' => 'DirectoryDescriptions', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeDomainControllersRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'DomainControllerIds' => [ 'shape' => 'DomainControllerIds', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeDomainControllersResult' => [ 'type' => 'structure', 'members' => [ 'DomainControllers' => [ 'shape' => 'DomainControllers', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeEventTopicsRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TopicNames' => [ 'shape' => 'TopicNames', ], ], ], 'DescribeEventTopicsResult' => [ 'type' => 'structure', 'members' => [ 'EventTopics' => [ 'shape' => 'EventTopics', ], ], ], 'DescribeSharedDirectoriesRequest' => [ 'type' => 'structure', 'required' => [ 'OwnerDirectoryId', ], 'members' => [ 'OwnerDirectoryId' => [ 'shape' => 'DirectoryId', ], 'SharedDirectoryIds' => [ 'shape' => 'DirectoryIds', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeSharedDirectoriesResult' => [ 'type' => 'structure', 'members' => [ 'SharedDirectories' => [ 'shape' => 'SharedDirectories', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'SnapshotIds' => [ 'shape' => 'SnapshotIds', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Snapshots' => [ 'shape' => 'Snapshots', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeTrustsRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TrustIds' => [ 'shape' => 'TrustIds', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DescribeTrustsResult' => [ 'type' => 'structure', 'members' => [ 'Trusts' => [ 'shape' => 'Trusts', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 128, 'min' => 0, 'pattern' => '^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$', ], 'DesiredNumberOfDomainControllers' => [ 'type' => 'integer', 'min' => 2, ], 'DirectoryAlreadySharedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'DirectoryConnectSettings' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'SubnetIds', 'CustomerDnsIps', 'CustomerUserName', ], 'members' => [ 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'CustomerDnsIps' => [ 'shape' => 'DnsIpAddrs', ], 'CustomerUserName' => [ 'shape' => 'UserName', ], ], ], 'DirectoryConnectSettingsDescription' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'CustomerUserName' => [ 'shape' => 'UserName', ], 'SecurityGroupId' => [ 'shape' => 'SecurityGroupId', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'ConnectIps' => [ 'shape' => 'IpAddrs', ], ], ], 'DirectoryDescription' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'Name' => [ 'shape' => 'DirectoryName', ], 'ShortName' => [ 'shape' => 'DirectoryShortName', ], 'Size' => [ 'shape' => 'DirectorySize', ], 'Edition' => [ 'shape' => 'DirectoryEdition', ], 'Alias' => [ 'shape' => 'AliasName', ], 'AccessUrl' => [ 'shape' => 'AccessUrl', ], 'Description' => [ 'shape' => 'Description', ], 'DnsIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], 'Stage' => [ 'shape' => 'DirectoryStage', ], 'ShareStatus' => [ 'shape' => 'ShareStatus', ], 'ShareMethod' => [ 'shape' => 'ShareMethod', ], 'ShareNotes' => [ 'shape' => 'Notes', ], 'LaunchTime' => [ 'shape' => 'LaunchTime', ], 'StageLastUpdatedDateTime' => [ 'shape' => 'LastUpdatedDateTime', ], 'Type' => [ 'shape' => 'DirectoryType', ], 'VpcSettings' => [ 'shape' => 'DirectoryVpcSettingsDescription', ], 'ConnectSettings' => [ 'shape' => 'DirectoryConnectSettingsDescription', ], 'RadiusSettings' => [ 'shape' => 'RadiusSettings', ], 'RadiusStatus' => [ 'shape' => 'RadiusStatus', ], 'StageReason' => [ 'shape' => 'StageReason', ], 'SsoEnabled' => [ 'shape' => 'SsoEnabled', ], 'DesiredNumberOfDomainControllers' => [ 'shape' => 'DesiredNumberOfDomainControllers', ], 'OwnerDirectoryDescription' => [ 'shape' => 'OwnerDirectoryDescription', ], ], ], 'DirectoryDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectoryDescription', ], ], 'DirectoryEdition' => [ 'type' => 'string', 'enum' => [ 'Enterprise', 'Standard', ], ], 'DirectoryId' => [ 'type' => 'string', 'pattern' => '^d-[0-9a-f]{10}$', ], 'DirectoryIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectoryId', ], ], 'DirectoryLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'DirectoryLimits' => [ 'type' => 'structure', 'members' => [ 'CloudOnlyDirectoriesLimit' => [ 'shape' => 'Limit', ], 'CloudOnlyDirectoriesCurrentCount' => [ 'shape' => 'Limit', ], 'CloudOnlyDirectoriesLimitReached' => [ 'shape' => 'CloudOnlyDirectoriesLimitReached', ], 'CloudOnlyMicrosoftADLimit' => [ 'shape' => 'Limit', ], 'CloudOnlyMicrosoftADCurrentCount' => [ 'shape' => 'Limit', ], 'CloudOnlyMicrosoftADLimitReached' => [ 'shape' => 'CloudOnlyDirectoriesLimitReached', ], 'ConnectedDirectoriesLimit' => [ 'shape' => 'Limit', ], 'ConnectedDirectoriesCurrentCount' => [ 'shape' => 'Limit', ], 'ConnectedDirectoriesLimitReached' => [ 'shape' => 'ConnectedDirectoriesLimitReached', ], ], ], 'DirectoryName' => [ 'type' => 'string', 'pattern' => '^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+$', ], 'DirectoryNotSharedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'DirectoryShortName' => [ 'type' => 'string', 'pattern' => '^[^\\\\/:*?\\"\\<\\>|.]+[^\\\\/:*?\\"<>|]*$', ], 'DirectorySize' => [ 'type' => 'string', 'enum' => [ 'Small', 'Large', ], ], 'DirectoryStage' => [ 'type' => 'string', 'enum' => [ 'Requested', 'Creating', 'Created', 'Active', 'Inoperable', 'Impaired', 'Restoring', 'RestoreFailed', 'Deleting', 'Deleted', 'Failed', ], ], 'DirectoryType' => [ 'type' => 'string', 'enum' => [ 'SimpleAD', 'ADConnector', 'MicrosoftAD', 'SharedMicrosoftAD', ], ], 'DirectoryUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'DirectoryVpcSettings' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'SubnetIds', ], 'members' => [ 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], ], ], 'DirectoryVpcSettingsDescription' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupId' => [ 'shape' => 'SecurityGroupId', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'DisableRadiusRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'DisableRadiusResult' => [ 'type' => 'structure', 'members' => [], ], 'DisableSsoRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'UserName', ], 'Password' => [ 'shape' => 'ConnectPassword', ], ], ], 'DisableSsoResult' => [ 'type' => 'structure', 'members' => [], ], 'DnsIpAddrs' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddr', ], ], 'DomainController' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'DomainControllerId' => [ 'shape' => 'DomainControllerId', ], 'DnsIpAddr' => [ 'shape' => 'IpAddr', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'AvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'Status' => [ 'shape' => 'DomainControllerStatus', ], 'StatusReason' => [ 'shape' => 'DomainControllerStatusReason', ], 'LaunchTime' => [ 'shape' => 'LaunchTime', ], 'StatusLastUpdatedDateTime' => [ 'shape' => 'LastUpdatedDateTime', ], ], ], 'DomainControllerId' => [ 'type' => 'string', 'pattern' => '^dc-[0-9a-f]{10}$', ], 'DomainControllerIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainControllerId', ], ], 'DomainControllerLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'DomainControllerStatus' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Active', 'Impaired', 'Restoring', 'Deleting', 'Deleted', 'Failed', ], ], 'DomainControllerStatusReason' => [ 'type' => 'string', ], 'DomainControllers' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainController', ], ], 'EnableRadiusRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RadiusSettings', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RadiusSettings' => [ 'shape' => 'RadiusSettings', ], ], ], 'EnableRadiusResult' => [ 'type' => 'structure', 'members' => [], ], 'EnableSsoRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'UserName', ], 'Password' => [ 'shape' => 'ConnectPassword', ], ], ], 'EnableSsoResult' => [ 'type' => 'structure', 'members' => [], ], 'EndDateTime' => [ 'type' => 'timestamp', ], 'EntityAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'EntityDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'EventTopic' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TopicName' => [ 'shape' => 'TopicName', ], 'TopicArn' => [ 'shape' => 'TopicArn', ], 'CreatedDateTime' => [ 'shape' => 'CreatedDateTime', ], 'Status' => [ 'shape' => 'TopicStatus', ], ], ], 'EventTopics' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventTopic', ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'GetDirectoryLimitsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetDirectoryLimitsResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryLimits' => [ 'shape' => 'DirectoryLimits', ], ], ], 'GetSnapshotLimitsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'GetSnapshotLimitsResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotLimits' => [ 'shape' => 'SnapshotLimits', ], ], ], 'InsufficientPermissionsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'InvalidPasswordException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'InvalidTargetException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'IpAddr' => [ 'type' => 'string', 'pattern' => '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$', ], 'IpAddrs' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddr', ], ], 'IpRoute' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'CidrIp', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'IpRouteInfo' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'CidrIp' => [ 'shape' => 'CidrIp', ], 'IpRouteStatusMsg' => [ 'shape' => 'IpRouteStatusMsg', ], 'AddedDateTime' => [ 'shape' => 'AddedDateTime', ], 'IpRouteStatusReason' => [ 'shape' => 'IpRouteStatusReason', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'IpRouteLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'IpRouteStatusMsg' => [ 'type' => 'string', 'enum' => [ 'Adding', 'Added', 'Removing', 'Removed', 'AddFailed', 'RemoveFailed', ], ], 'IpRouteStatusReason' => [ 'type' => 'string', ], 'IpRoutes' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRoute', ], ], 'IpRoutesInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRouteInfo', ], ], 'LastUpdatedDateTime' => [ 'type' => 'timestamp', ], 'LaunchTime' => [ 'type' => 'timestamp', ], 'LdifContent' => [ 'type' => 'string', 'max' => 500000, 'min' => 1, ], 'Limit' => [ 'type' => 'integer', 'min' => 0, ], 'ListIpRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'ListIpRoutesResult' => [ 'type' => 'structure', 'members' => [ 'IpRoutesInfo' => [ 'shape' => 'IpRoutesInfo', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListLogSubscriptionsRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'ListLogSubscriptionsResult' => [ 'type' => 'structure', 'members' => [ 'LogSubscriptions' => [ 'shape' => 'LogSubscriptions', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSchemaExtensionsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'ListSchemaExtensionsResult' => [ 'type' => 'structure', 'members' => [ 'SchemaExtensionsInfo' => [ 'shape' => 'SchemaExtensionsInfo', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LogGroupName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[-._/#A-Za-z0-9]+', ], 'LogSubscription' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'LogGroupName' => [ 'shape' => 'LogGroupName', ], 'SubscriptionCreatedDateTime' => [ 'shape' => 'SubscriptionCreatedDateTime', ], ], ], 'LogSubscriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogSubscription', ], ], 'ManualSnapshotsLimitReached' => [ 'type' => 'boolean', ], 'NextToken' => [ 'type' => 'string', ], 'Notes' => [ 'type' => 'string', 'max' => 1024, 'sensitive' => true, ], 'OrganizationalUnitDN' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], 'OrganizationsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'OwnerDirectoryDescription' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'AccountId' => [ 'shape' => 'CustomerId', ], 'DnsIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], 'VpcSettings' => [ 'shape' => 'DirectoryVpcSettingsDescription', ], 'RadiusSettings' => [ 'shape' => 'RadiusSettings', ], 'RadiusStatus' => [ 'shape' => 'RadiusStatus', ], ], ], 'Password' => [ 'type' => 'string', 'pattern' => '(?=^.{8,64}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s]))^.*', 'sensitive' => true, ], 'PortNumber' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1025, ], 'RadiusAuthenticationProtocol' => [ 'type' => 'string', 'enum' => [ 'PAP', 'CHAP', 'MS-CHAPv1', 'MS-CHAPv2', ], ], 'RadiusDisplayLabel' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'RadiusRetries' => [ 'type' => 'integer', 'max' => 10, 'min' => 0, ], 'RadiusSettings' => [ 'type' => 'structure', 'members' => [ 'RadiusServers' => [ 'shape' => 'Servers', ], 'RadiusPort' => [ 'shape' => 'PortNumber', ], 'RadiusTimeout' => [ 'shape' => 'RadiusTimeout', ], 'RadiusRetries' => [ 'shape' => 'RadiusRetries', ], 'SharedSecret' => [ 'shape' => 'RadiusSharedSecret', ], 'AuthenticationProtocol' => [ 'shape' => 'RadiusAuthenticationProtocol', ], 'DisplayLabel' => [ 'shape' => 'RadiusDisplayLabel', ], 'UseSameUsername' => [ 'shape' => 'UseSameUsername', ], ], ], 'RadiusSharedSecret' => [ 'type' => 'string', 'max' => 512, 'min' => 8, 'sensitive' => true, ], 'RadiusStatus' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Completed', 'Failed', ], ], 'RadiusTimeout' => [ 'type' => 'integer', 'max' => 20, 'min' => 1, ], 'RegisterEventTopicRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'TopicName', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TopicName' => [ 'shape' => 'TopicName', ], ], ], 'RegisterEventTopicResult' => [ 'type' => 'structure', 'members' => [], ], 'RejectSharedDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'SharedDirectoryId', ], 'members' => [ 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'RejectSharedDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'RemoteDomainName' => [ 'type' => 'string', 'pattern' => '^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+[.]?$', ], 'RemoteDomainNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemoteDomainName', ], ], 'RemoveIpRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'CidrIps', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'CidrIps' => [ 'shape' => 'CidrIps', ], ], ], 'RemoveIpRoutesResult' => [ 'type' => 'structure', 'members' => [], ], 'RemoveTagsFromResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagKeys', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'RemoveTagsFromResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'ReplicationScope' => [ 'type' => 'string', 'enum' => [ 'Domain', ], ], 'RequestId' => [ 'type' => 'string', 'pattern' => '^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$', ], 'ResetUserPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'UserName', 'NewPassword', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'CustomerUserName', ], 'NewPassword' => [ 'shape' => 'UserPassword', ], ], ], 'ResetUserPasswordResult' => [ 'type' => 'structure', 'members' => [], ], 'ResourceId' => [ 'type' => 'string', 'pattern' => '^[d]-[0-9a-f]{10}$', ], 'RestoreFromSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'RestoreFromSnapshotResult' => [ 'type' => 'structure', 'members' => [], ], 'SID' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[&\\w+-.@]+', ], 'SchemaExtensionId' => [ 'type' => 'string', 'pattern' => '^e-[0-9a-f]{10}$', ], 'SchemaExtensionInfo' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'SchemaExtensionId' => [ 'shape' => 'SchemaExtensionId', ], 'Description' => [ 'shape' => 'Description', ], 'SchemaExtensionStatus' => [ 'shape' => 'SchemaExtensionStatus', ], 'SchemaExtensionStatusReason' => [ 'shape' => 'SchemaExtensionStatusReason', ], 'StartDateTime' => [ 'shape' => 'StartDateTime', ], 'EndDateTime' => [ 'shape' => 'EndDateTime', ], ], ], 'SchemaExtensionStatus' => [ 'type' => 'string', 'enum' => [ 'Initializing', 'CreatingSnapshot', 'UpdatingSchema', 'Replicating', 'CancelInProgress', 'RollbackInProgress', 'Cancelled', 'Failed', 'Completed', ], ], 'SchemaExtensionStatusReason' => [ 'type' => 'string', ], 'SchemaExtensionsInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'SchemaExtensionInfo', ], ], 'SecurityGroupId' => [ 'type' => 'string', 'pattern' => '^(sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$', ], 'SelectiveAuth' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'Server' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Servers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Server', ], ], 'ServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, 'fault' => true, ], 'ShareDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'ShareTarget', 'ShareMethod', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'ShareNotes' => [ 'shape' => 'Notes', ], 'ShareTarget' => [ 'shape' => 'ShareTarget', ], 'ShareMethod' => [ 'shape' => 'ShareMethod', ], ], ], 'ShareDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'ShareLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'ShareMethod' => [ 'type' => 'string', 'enum' => [ 'ORGANIZATIONS', 'HANDSHAKE', ], ], 'ShareStatus' => [ 'type' => 'string', 'enum' => [ 'Shared', 'PendingAcceptance', 'Rejected', 'Rejecting', 'RejectFailed', 'Sharing', 'ShareFailed', 'Deleted', 'Deleting', ], ], 'ShareTarget' => [ 'type' => 'structure', 'required' => [ 'Id', 'Type', ], 'members' => [ 'Id' => [ 'shape' => 'TargetId', ], 'Type' => [ 'shape' => 'TargetType', ], ], ], 'SharedDirectories' => [ 'type' => 'list', 'member' => [ 'shape' => 'SharedDirectory', ], ], 'SharedDirectory' => [ 'type' => 'structure', 'members' => [ 'OwnerAccountId' => [ 'shape' => 'CustomerId', ], 'OwnerDirectoryId' => [ 'shape' => 'DirectoryId', ], 'ShareMethod' => [ 'shape' => 'ShareMethod', ], 'SharedAccountId' => [ 'shape' => 'CustomerId', ], 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], 'ShareStatus' => [ 'shape' => 'ShareStatus', ], 'ShareNotes' => [ 'shape' => 'Notes', ], 'CreatedDateTime' => [ 'shape' => 'CreatedDateTime', ], 'LastUpdatedDateTime' => [ 'shape' => 'LastUpdatedDateTime', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'Type' => [ 'shape' => 'SnapshotType', ], 'Name' => [ 'shape' => 'SnapshotName', ], 'Status' => [ 'shape' => 'SnapshotStatus', ], 'StartTime' => [ 'shape' => 'StartTime', ], ], ], 'SnapshotId' => [ 'type' => 'string', 'pattern' => '^s-[0-9a-f]{10}$', ], 'SnapshotIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotId', ], ], 'SnapshotLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'SnapshotLimits' => [ 'type' => 'structure', 'members' => [ 'ManualSnapshotsLimit' => [ 'shape' => 'Limit', ], 'ManualSnapshotsCurrentCount' => [ 'shape' => 'Limit', ], 'ManualSnapshotsLimitReached' => [ 'shape' => 'ManualSnapshotsLimitReached', ], ], ], 'SnapshotName' => [ 'type' => 'string', 'max' => 128, 'min' => 0, 'pattern' => '^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$', ], 'SnapshotStatus' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Completed', 'Failed', ], ], 'SnapshotType' => [ 'type' => 'string', 'enum' => [ 'Auto', 'Manual', ], ], 'Snapshots' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', ], ], 'SsoEnabled' => [ 'type' => 'boolean', ], 'StageReason' => [ 'type' => 'string', ], 'StartDateTime' => [ 'type' => 'timestamp', ], 'StartSchemaExtensionRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'CreateSnapshotBeforeSchemaExtension', 'LdifContent', 'Description', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'CreateSnapshotBeforeSchemaExtension' => [ 'shape' => 'CreateSnapshotBeforeSchemaExtension', ], 'LdifContent' => [ 'shape' => 'LdifContent', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'StartSchemaExtensionResult' => [ 'type' => 'structure', 'members' => [ 'SchemaExtensionId' => [ 'shape' => 'SchemaExtensionId', ], ], ], 'StartTime' => [ 'type' => 'timestamp', ], 'StateLastUpdatedDateTime' => [ 'type' => 'timestamp', ], 'SubnetId' => [ 'type' => 'string', 'pattern' => '^(subnet-[0-9a-f]{8}|subnet-[0-9a-f]{17})$', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], ], 'SubscriptionCreatedDateTime' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TargetId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'TargetType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', ], ], 'TopicArn' => [ 'type' => 'string', ], 'TopicName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'TopicNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicName', ], ], 'TopicStatus' => [ 'type' => 'string', 'enum' => [ 'Registered', 'Topic not found', 'Failed', 'Deleted', ], ], 'Trust' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'TrustId' => [ 'shape' => 'TrustId', ], 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], 'TrustType' => [ 'shape' => 'TrustType', ], 'TrustDirection' => [ 'shape' => 'TrustDirection', ], 'TrustState' => [ 'shape' => 'TrustState', ], 'CreatedDateTime' => [ 'shape' => 'CreatedDateTime', ], 'LastUpdatedDateTime' => [ 'shape' => 'LastUpdatedDateTime', ], 'StateLastUpdatedDateTime' => [ 'shape' => 'StateLastUpdatedDateTime', ], 'TrustStateReason' => [ 'shape' => 'TrustStateReason', ], 'SelectiveAuth' => [ 'shape' => 'SelectiveAuth', ], ], ], 'TrustDirection' => [ 'type' => 'string', 'enum' => [ 'One-Way: Outgoing', 'One-Way: Incoming', 'Two-Way', ], ], 'TrustId' => [ 'type' => 'string', 'pattern' => '^t-[0-9a-f]{10}$', ], 'TrustIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrustId', ], ], 'TrustPassword' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '(.|\\s)*\\S(.|\\s)*', 'sensitive' => true, ], 'TrustState' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Created', 'Verifying', 'VerifyFailed', 'Verified', 'Updating', 'UpdateFailed', 'Updated', 'Deleting', 'Deleted', 'Failed', ], ], 'TrustStateReason' => [ 'type' => 'string', ], 'TrustType' => [ 'type' => 'string', 'enum' => [ 'Forest', 'External', ], ], 'Trusts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trust', ], ], 'UnshareDirectoryRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'UnshareTarget', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UnshareTarget' => [ 'shape' => 'UnshareTarget', ], ], ], 'UnshareDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'SharedDirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], 'UnshareTarget' => [ 'type' => 'structure', 'required' => [ 'Id', 'Type', ], 'members' => [ 'Id' => [ 'shape' => 'TargetId', ], 'Type' => [ 'shape' => 'TargetType', ], ], ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'UpdateConditionalForwarderRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RemoteDomainName', 'DnsIpAddrs', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RemoteDomainName' => [ 'shape' => 'RemoteDomainName', ], 'DnsIpAddrs' => [ 'shape' => 'DnsIpAddrs', ], ], ], 'UpdateConditionalForwarderResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNumberOfDomainControllersRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'DesiredNumber', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'DesiredNumber' => [ 'shape' => 'DesiredNumberOfDomainControllers', ], ], ], 'UpdateNumberOfDomainControllersResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateRadiusRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'RadiusSettings', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'RadiusSettings' => [ 'shape' => 'RadiusSettings', ], ], ], 'UpdateRadiusResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSecurityGroupForDirectoryControllers' => [ 'type' => 'boolean', ], 'UpdateTrustRequest' => [ 'type' => 'structure', 'required' => [ 'TrustId', ], 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], 'SelectiveAuth' => [ 'shape' => 'SelectiveAuth', ], ], ], 'UpdateTrustResult' => [ 'type' => 'structure', 'members' => [ 'RequestId' => [ 'shape' => 'RequestId', ], 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'UseSameUsername' => [ 'type' => 'boolean', ], 'UserDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'RequestId' => [ 'shape' => 'RequestId', ], ], 'exception' => true, ], 'UserName' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[a-zA-Z0-9._-]+', ], 'UserPassword' => [ 'type' => 'string', 'max' => 127, 'min' => 1, 'sensitive' => true, ], 'VerifyTrustRequest' => [ 'type' => 'structure', 'required' => [ 'TrustId', ], 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'VerifyTrustResult' => [ 'type' => 'structure', 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'VpcId' => [ 'type' => 'string', 'pattern' => '^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$', ], ],]; diff --git a/lib/aws/Aws/data/ds/2015-04-16/paginators-1.json.php b/lib/aws/Aws/data/ds/2015-04-16/paginators-1.json.php new file mode 100644 index 0000000..f7729bf --- /dev/null +++ b/lib/aws/Aws/data/ds/2015-04-16/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ds/2015-04-16/paginators-1.json +return [ 'pagination' => [ 'DescribeDomainControllers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'Limit', ], ],]; diff --git a/lib/aws/Aws/data/ds/2015-04-16/smoke.json.php b/lib/aws/Aws/data/ds/2015-04-16/smoke.json.php new file mode 100644 index 0000000..91c72f4 --- /dev/null +++ b/lib/aws/Aws/data/ds/2015-04-16/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ds/2015-04-16/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeDirectories', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'CreateDirectory', 'input' => [ 'Name' => '', 'Password' => '', 'Size' => '', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2011-12-05/api-2.json.php b/lib/aws/Aws/data/dynamodb/2011-12-05/api-2.json.php new file mode 100644 index 0000000..06f0d66 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2011-12-05/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2011-12-05/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2011-12-05', 'endpointPrefix' => 'dynamodb', 'jsonVersion' => '1.0', 'protocol' => 'json', 'serviceAbbreviation' => 'DynamoDB', 'serviceFullName' => 'Amazon DynamoDB', 'serviceId' => 'DynamoDB', 'signatureVersion' => 'v4', 'targetPrefix' => 'DynamoDB_20111205', 'uid' => 'dynamodb-2011-12-05', ], 'operations' => [ 'BatchGetItem' => [ 'name' => 'BatchGetItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetItemInput', ], 'output' => [ 'shape' => 'BatchGetItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'BatchWriteItem' => [ 'name' => 'BatchWriteItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchWriteItemInput', ], 'output' => [ 'shape' => 'BatchWriteItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateTable' => [ 'name' => 'CreateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTableInput', ], 'output' => [ 'shape' => 'CreateTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteItem' => [ 'name' => 'DeleteItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteItemInput', ], 'output' => [ 'shape' => 'DeleteItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteTable' => [ 'name' => 'DeleteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTableInput', ], 'output' => [ 'shape' => 'DeleteTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTable' => [ 'name' => 'DescribeTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTableInput', ], 'output' => [ 'shape' => 'DescribeTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetItem' => [ 'name' => 'GetItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetItemInput', ], 'output' => [ 'shape' => 'GetItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListTables' => [ 'name' => 'ListTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTablesInput', ], 'output' => [ 'shape' => 'ListTablesOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'PutItem' => [ 'name' => 'PutItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutItemInput', ], 'output' => [ 'shape' => 'PutItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'Query' => [ 'name' => 'Query', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'QueryInput', ], 'output' => [ 'shape' => 'QueryOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'Scan' => [ 'name' => 'Scan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScanInput', ], 'output' => [ 'shape' => 'ScanOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateItem' => [ 'name' => 'UpdateItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateItemInput', ], 'output' => [ 'shape' => 'UpdateItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateTable' => [ 'name' => 'UpdateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTableInput', ], 'output' => [ 'shape' => 'UpdateTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], ], 'shapes' => [ 'AttributeAction' => [ 'type' => 'string', 'enum' => [ 'ADD', 'PUT', 'DELETE', ], ], 'AttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 65535, ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], 'min' => 1, ], 'AttributeUpdates' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValueUpdate', ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'S' => [ 'shape' => 'StringAttributeValue', ], 'N' => [ 'shape' => 'NumberAttributeValue', ], 'B' => [ 'shape' => 'BinaryAttributeValue', ], 'SS' => [ 'shape' => 'StringSetAttributeValue', ], 'NS' => [ 'shape' => 'NumberSetAttributeValue', ], 'BS' => [ 'shape' => 'BinarySetAttributeValue', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', ], ], 'AttributeValueUpdate' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'AttributeValue', ], 'Action' => [ 'shape' => 'AttributeAction', ], ], ], 'BatchGetItemInput' => [ 'type' => 'structure', 'required' => [ 'RequestItems', ], 'members' => [ 'RequestItems' => [ 'shape' => 'BatchGetRequestMap', ], ], ], 'BatchGetItemOutput' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchGetResponseMap', ], 'UnprocessedKeys' => [ 'shape' => 'BatchGetRequestMap', ], ], ], 'BatchGetRequestMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'KeysAndAttributes', ], 'max' => 100, 'min' => 1, ], 'BatchGetResponseMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'BatchResponse', ], ], 'BatchResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'BatchWriteItemInput' => [ 'type' => 'structure', 'required' => [ 'RequestItems', ], 'members' => [ 'RequestItems' => [ 'shape' => 'BatchWriteItemRequestMap', ], ], ], 'BatchWriteItemOutput' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchWriteResponseMap', ], 'UnprocessedItems' => [ 'shape' => 'BatchWriteItemRequestMap', ], ], ], 'BatchWriteItemRequestMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'WriteRequests', ], 'max' => 25, 'min' => 1, ], 'BatchWriteResponse' => [ 'type' => 'structure', 'members' => [ 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'BatchWriteResponseMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'BatchWriteResponse', ], ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'BinarySetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'BinaryAttributeValue', ], ], 'BooleanObject' => [ 'type' => 'boolean', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'EQ', 'NE', 'IN', 'LE', 'LT', 'GE', 'GT', 'BETWEEN', 'NOT_NULL', 'NULL', 'CONTAINS', 'NOT_CONTAINS', 'BEGINS_WITH', ], ], 'Condition' => [ 'type' => 'structure', 'required' => [ 'ComparisonOperator', ], 'members' => [ 'AttributeValueList' => [ 'shape' => 'AttributeValueList', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], ], ], 'ConditionalCheckFailedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConsistentRead' => [ 'type' => 'boolean', ], 'ConsumedCapacityUnits' => [ 'type' => 'double', ], 'CreateTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'KeySchema', 'ProvisionedThroughput', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'CreateTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], ], ], 'DeleteItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'DeleteRequest' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], ], ], 'DeleteTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DeleteTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'DescribeTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeTableOutput' => [ 'type' => 'structure', 'members' => [ 'Table' => [ 'shape' => 'TableDescription', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpectedAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'ExpectedAttributeValue', ], ], 'ExpectedAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'AttributeValue', ], 'Exists' => [ 'shape' => 'BooleanObject', ], ], ], 'FilterConditionMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'Condition', ], ], 'GetItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], ], ], 'GetItemOutput' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'ItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeMap', ], ], 'Key' => [ 'type' => 'structure', 'required' => [ 'HashKeyElement', ], 'members' => [ 'HashKeyElement' => [ 'shape' => 'AttributeValue', ], 'RangeKeyElement' => [ 'shape' => 'AttributeValue', ], ], ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Key', ], 'max' => 100, 'min' => 1, ], 'KeySchema' => [ 'type' => 'structure', 'required' => [ 'HashKeyElement', ], 'members' => [ 'HashKeyElement' => [ 'shape' => 'KeySchemaElement', ], 'RangeKeyElement' => [ 'shape' => 'KeySchemaElement', ], ], ], 'KeySchemaAttributeName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'KeySchemaElement' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'AttributeType', ], 'members' => [ 'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ], 'AttributeType' => [ 'shape' => 'ScalarAttributeType', ], ], ], 'KeysAndAttributes' => [ 'type' => 'structure', 'required' => [ 'Keys', ], 'members' => [ 'Keys' => [ 'shape' => 'KeyList', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListTablesInput' => [ 'type' => 'structure', 'members' => [ 'ExclusiveStartTableName' => [ 'shape' => 'TableName', ], 'Limit' => [ 'shape' => 'ListTablesInputLimit', ], ], ], 'ListTablesInputLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ListTablesOutput' => [ 'type' => 'structure', 'members' => [ 'TableNames' => [ 'shape' => 'TableNameList', ], 'LastEvaluatedTableName' => [ 'shape' => 'TableName', ], ], ], 'Long' => [ 'type' => 'long', ], 'NumberAttributeValue' => [ 'type' => 'string', ], 'NumberSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'NumberAttributeValue', ], ], 'PositiveIntegerObject' => [ 'type' => 'integer', 'min' => 1, ], 'PositiveLongObject' => [ 'type' => 'long', 'min' => 1, ], 'ProvisionedThroughput' => [ 'type' => 'structure', 'required' => [ 'ReadCapacityUnits', 'WriteCapacityUnits', ], 'members' => [ 'ReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'WriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], ], ], 'ProvisionedThroughputDescription' => [ 'type' => 'structure', 'members' => [ 'LastIncreaseDateTime' => [ 'shape' => 'Date', ], 'LastDecreaseDateTime' => [ 'shape' => 'Date', ], 'NumberOfDecreasesToday' => [ 'shape' => 'PositiveLongObject', ], 'ReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'WriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], ], ], 'ProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PutItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Item', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], ], ], 'PutItemInputAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'PutItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'PutRequest' => [ 'type' => 'structure', 'required' => [ 'Item', ], 'members' => [ 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], ], ], 'QueryInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'HashKeyValue', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], 'Count' => [ 'shape' => 'BooleanObject', ], 'HashKeyValue' => [ 'shape' => 'AttributeValue', ], 'RangeKeyCondition' => [ 'shape' => 'Condition', ], 'ScanIndexForward' => [ 'shape' => 'BooleanObject', ], 'ExclusiveStartKey' => [ 'shape' => 'Key', ], ], ], 'QueryOutput' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'Count' => [ 'shape' => 'Integer', ], 'LastEvaluatedKey' => [ 'shape' => 'Key', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReturnValue' => [ 'type' => 'string', 'enum' => [ 'NONE', 'ALL_OLD', 'UPDATED_OLD', 'ALL_NEW', 'UPDATED_NEW', ], ], 'ScalarAttributeType' => [ 'type' => 'string', 'enum' => [ 'S', 'N', 'B', ], ], 'ScanInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'Count' => [ 'shape' => 'BooleanObject', ], 'ScanFilter' => [ 'shape' => 'FilterConditionMap', ], 'ExclusiveStartKey' => [ 'shape' => 'Key', ], ], ], 'ScanOutput' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'Count' => [ 'shape' => 'Integer', ], 'ScannedCount' => [ 'shape' => 'Integer', ], 'LastEvaluatedKey' => [ 'shape' => 'Key', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'String' => [ 'type' => 'string', ], 'StringAttributeValue' => [ 'type' => 'string', ], 'StringSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringAttributeValue', ], ], 'TableDescription' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'TableStatus' => [ 'shape' => 'TableStatus', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughputDescription', ], 'TableSizeBytes' => [ 'shape' => 'Long', ], 'ItemCount' => [ 'shape' => 'Long', ], ], ], 'TableName' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'TableNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableName', ], ], 'TableStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'ACTIVE', ], ], 'UpdateItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', 'AttributeUpdates', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'AttributeUpdates' => [ 'shape' => 'AttributeUpdates', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], ], ], 'UpdateItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'UpdateTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'ProvisionedThroughput', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'UpdateTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'WriteRequest' => [ 'type' => 'structure', 'members' => [ 'PutRequest' => [ 'shape' => 'PutRequest', ], 'DeleteRequest' => [ 'shape' => 'DeleteRequest', ], ], ], 'WriteRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'WriteRequest', ], 'max' => 25, 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2011-12-05/paginators-1.json.php b/lib/aws/Aws/data/dynamodb/2011-12-05/paginators-1.json.php new file mode 100644 index 0000000..8853c61 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2011-12-05/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2011-12-05/paginators-1.json +return [ 'pagination' => [ 'BatchGetItem' => [ 'input_token' => 'RequestItems', 'output_token' => 'UnprocessedKeys', ], 'ListTables' => [ 'input_token' => 'ExclusiveStartTableName', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedTableName', 'result_key' => 'TableNames', ], 'Query' => [ 'input_token' => 'ExclusiveStartKey', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedKey', 'result_key' => 'Items', ], 'Scan' => [ 'input_token' => 'ExclusiveStartKey', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedKey', 'result_key' => 'Items', ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2011-12-05/smoke.json.php b/lib/aws/Aws/data/dynamodb/2011-12-05/smoke.json.php new file mode 100644 index 0000000..66aa9d9 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2011-12-05/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2011-12-05/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListTables', 'input' => [ 'Limit' => 1, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeTable', 'input' => [ 'TableName' => 'fake-table', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-1.json.php b/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-1.json.php new file mode 100644 index 0000000..bc96e34 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2011-12-05/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 20, 'max_attempts' => 25, ], '__TableState' => [ 'operation' => 'DescribeTable', ], 'TableExists' => [ 'extends' => '__TableState', 'description' => 'Wait until a table exists and can be accessed', 'ignore_errors' => [ 'ResourceNotFoundException', ], 'success_type' => 'output', 'success_path' => 'Table.TableStatus', 'success_value' => 'ACTIVE', ], 'TableNotExists' => [ 'extends' => '__TableState', 'description' => 'Wait until a table is deleted', 'success_type' => 'error', 'success_value' => 'ResourceNotFoundException', ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-2.json.php b/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-2.json.php new file mode 100644 index 0000000..93035c1 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2011-12-05/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2011-12-05/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'TableExists' => [ 'delay' => 20, 'operation' => 'DescribeTable', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'ACTIVE', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Table.TableStatus', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'TableNotExists' => [ 'delay' => 20, 'operation' => 'DescribeTable', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2012-08-10/api-2.json.php b/lib/aws/Aws/data/dynamodb/2012-08-10/api-2.json.php new file mode 100644 index 0000000..0a39000 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2012-08-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-08-10', 'endpointPrefix' => 'dynamodb', 'jsonVersion' => '1.0', 'protocol' => 'json', 'serviceAbbreviation' => 'DynamoDB', 'serviceFullName' => 'Amazon DynamoDB', 'serviceId' => 'DynamoDB', 'signatureVersion' => 'v4', 'targetPrefix' => 'DynamoDB_20120810', 'uid' => 'dynamodb-2012-08-10', ], 'operations' => [ 'BatchGetItem' => [ 'name' => 'BatchGetItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetItemInput', ], 'output' => [ 'shape' => 'BatchGetItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'BatchWriteItem' => [ 'name' => 'BatchWriteItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchWriteItemInput', ], 'output' => [ 'shape' => 'BatchWriteItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ItemCollectionSizeLimitExceededException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'CreateBackup' => [ 'name' => 'CreateBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBackupInput', ], 'output' => [ 'shape' => 'CreateBackupOutput', ], 'errors' => [ [ 'shape' => 'TableNotFoundException', ], [ 'shape' => 'TableInUseException', ], [ 'shape' => 'ContinuousBackupsUnavailableException', ], [ 'shape' => 'BackupInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'CreateGlobalTable' => [ 'name' => 'CreateGlobalTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGlobalTableInput', ], 'output' => [ 'shape' => 'CreateGlobalTableOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'GlobalTableAlreadyExistsException', ], [ 'shape' => 'TableNotFoundException', ], ], 'endpointdiscovery' => [], ], 'CreateTable' => [ 'name' => 'CreateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTableInput', ], 'output' => [ 'shape' => 'CreateTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DeleteBackup' => [ 'name' => 'DeleteBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBackupInput', ], 'output' => [ 'shape' => 'DeleteBackupOutput', ], 'errors' => [ [ 'shape' => 'BackupNotFoundException', ], [ 'shape' => 'BackupInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DeleteItem' => [ 'name' => 'DeleteItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteItemInput', ], 'output' => [ 'shape' => 'DeleteItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ItemCollectionSizeLimitExceededException', ], [ 'shape' => 'TransactionConflictException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DeleteTable' => [ 'name' => 'DeleteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTableInput', ], 'output' => [ 'shape' => 'DeleteTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeBackup' => [ 'name' => 'DescribeBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBackupInput', ], 'output' => [ 'shape' => 'DescribeBackupOutput', ], 'errors' => [ [ 'shape' => 'BackupNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeContinuousBackups' => [ 'name' => 'DescribeContinuousBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeContinuousBackupsInput', ], 'output' => [ 'shape' => 'DescribeContinuousBackupsOutput', ], 'errors' => [ [ 'shape' => 'TableNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeEndpoints' => [ 'name' => 'DescribeEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeEndpointsResponse', ], 'endpointoperation' => true, ], 'DescribeGlobalTable' => [ 'name' => 'DescribeGlobalTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGlobalTableInput', ], 'output' => [ 'shape' => 'DescribeGlobalTableOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'GlobalTableNotFoundException', ], ], 'endpointdiscovery' => [], ], 'DescribeGlobalTableSettings' => [ 'name' => 'DescribeGlobalTableSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGlobalTableSettingsInput', ], 'output' => [ 'shape' => 'DescribeGlobalTableSettingsOutput', ], 'errors' => [ [ 'shape' => 'GlobalTableNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeLimits' => [ 'name' => 'DescribeLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLimitsInput', ], 'output' => [ 'shape' => 'DescribeLimitsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeTable' => [ 'name' => 'DescribeTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTableInput', ], 'output' => [ 'shape' => 'DescribeTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'DescribeTimeToLive' => [ 'name' => 'DescribeTimeToLive', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTimeToLiveInput', ], 'output' => [ 'shape' => 'DescribeTimeToLiveOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'GetItem' => [ 'name' => 'GetItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetItemInput', ], 'output' => [ 'shape' => 'GetItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'ListBackups' => [ 'name' => 'ListBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBackupsInput', ], 'output' => [ 'shape' => 'ListBackupsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'ListGlobalTables' => [ 'name' => 'ListGlobalTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGlobalTablesInput', ], 'output' => [ 'shape' => 'ListGlobalTablesOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'ListTables' => [ 'name' => 'ListTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTablesInput', ], 'output' => [ 'shape' => 'ListTablesOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'ListTagsOfResource' => [ 'name' => 'ListTagsOfResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsOfResourceInput', ], 'output' => [ 'shape' => 'ListTagsOfResourceOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'PutItem' => [ 'name' => 'PutItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutItemInput', ], 'output' => [ 'shape' => 'PutItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ItemCollectionSizeLimitExceededException', ], [ 'shape' => 'TransactionConflictException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'Query' => [ 'name' => 'Query', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'QueryInput', ], 'output' => [ 'shape' => 'QueryOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'RestoreTableFromBackup' => [ 'name' => 'RestoreTableFromBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreTableFromBackupInput', ], 'output' => [ 'shape' => 'RestoreTableFromBackupOutput', ], 'errors' => [ [ 'shape' => 'TableAlreadyExistsException', ], [ 'shape' => 'TableInUseException', ], [ 'shape' => 'BackupNotFoundException', ], [ 'shape' => 'BackupInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'RestoreTableToPointInTime' => [ 'name' => 'RestoreTableToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreTableToPointInTimeInput', ], 'output' => [ 'shape' => 'RestoreTableToPointInTimeOutput', ], 'errors' => [ [ 'shape' => 'TableAlreadyExistsException', ], [ 'shape' => 'TableNotFoundException', ], [ 'shape' => 'TableInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidRestoreTimeException', ], [ 'shape' => 'PointInTimeRecoveryUnavailableException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'Scan' => [ 'name' => 'Scan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScanInput', ], 'output' => [ 'shape' => 'ScanOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceInUseException', ], ], 'endpointdiscovery' => [], ], 'TransactGetItems' => [ 'name' => 'TransactGetItems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TransactGetItemsInput', ], 'output' => [ 'shape' => 'TransactGetItemsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TransactionCanceledException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'TransactWriteItems' => [ 'name' => 'TransactWriteItems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TransactWriteItemsInput', ], 'output' => [ 'shape' => 'TransactWriteItemsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TransactionCanceledException', ], [ 'shape' => 'TransactionInProgressException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceInUseException', ], ], 'endpointdiscovery' => [], ], 'UpdateContinuousBackups' => [ 'name' => 'UpdateContinuousBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateContinuousBackupsInput', ], 'output' => [ 'shape' => 'UpdateContinuousBackupsOutput', ], 'errors' => [ [ 'shape' => 'TableNotFoundException', ], [ 'shape' => 'ContinuousBackupsUnavailableException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'UpdateGlobalTable' => [ 'name' => 'UpdateGlobalTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGlobalTableInput', ], 'output' => [ 'shape' => 'UpdateGlobalTableOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'GlobalTableNotFoundException', ], [ 'shape' => 'ReplicaAlreadyExistsException', ], [ 'shape' => 'ReplicaNotFoundException', ], [ 'shape' => 'TableNotFoundException', ], ], 'endpointdiscovery' => [], ], 'UpdateGlobalTableSettings' => [ 'name' => 'UpdateGlobalTableSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGlobalTableSettingsInput', ], 'output' => [ 'shape' => 'UpdateGlobalTableSettingsOutput', ], 'errors' => [ [ 'shape' => 'GlobalTableNotFoundException', ], [ 'shape' => 'ReplicaNotFoundException', ], [ 'shape' => 'IndexNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'UpdateItem' => [ 'name' => 'UpdateItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateItemInput', ], 'output' => [ 'shape' => 'UpdateItemOutput', ], 'errors' => [ [ 'shape' => 'ConditionalCheckFailedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ItemCollectionSizeLimitExceededException', ], [ 'shape' => 'TransactionConflictException', ], [ 'shape' => 'RequestLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'UpdateTable' => [ 'name' => 'UpdateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTableInput', ], 'output' => [ 'shape' => 'UpdateTableOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'UpdateTimeToLive' => [ 'name' => 'UpdateTimeToLive', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTimeToLiveInput', ], 'output' => [ 'shape' => 'UpdateTimeToLiveOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], ], 'shapes' => [ 'AttributeAction' => [ 'type' => 'string', 'enum' => [ 'ADD', 'PUT', 'DELETE', ], ], 'AttributeDefinition' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'AttributeType', ], 'members' => [ 'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ], 'AttributeType' => [ 'shape' => 'ScalarAttributeType', ], ], ], 'AttributeDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeDefinition', ], ], 'AttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 65535, ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], 'min' => 1, ], 'AttributeUpdates' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValueUpdate', ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'S' => [ 'shape' => 'StringAttributeValue', ], 'N' => [ 'shape' => 'NumberAttributeValue', ], 'B' => [ 'shape' => 'BinaryAttributeValue', ], 'SS' => [ 'shape' => 'StringSetAttributeValue', ], 'NS' => [ 'shape' => 'NumberSetAttributeValue', ], 'BS' => [ 'shape' => 'BinarySetAttributeValue', ], 'M' => [ 'shape' => 'MapAttributeValue', ], 'L' => [ 'shape' => 'ListAttributeValue', ], 'NULL' => [ 'shape' => 'NullAttributeValue', ], 'BOOL' => [ 'shape' => 'BooleanAttributeValue', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', ], ], 'AttributeValueUpdate' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'AttributeValue', ], 'Action' => [ 'shape' => 'AttributeAction', ], ], ], 'AutoScalingPolicyDescription' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'AutoScalingPolicyName', ], 'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'AutoScalingTargetTrackingScalingPolicyConfigurationDescription', ], ], ], 'AutoScalingPolicyDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingPolicyDescription', ], ], 'AutoScalingPolicyName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '\\p{Print}+', ], 'AutoScalingPolicyUpdate' => [ 'type' => 'structure', 'required' => [ 'TargetTrackingScalingPolicyConfiguration', ], 'members' => [ 'PolicyName' => [ 'shape' => 'AutoScalingPolicyName', ], 'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'AutoScalingTargetTrackingScalingPolicyConfigurationUpdate', ], ], ], 'AutoScalingRoleArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'AutoScalingSettingsDescription' => [ 'type' => 'structure', 'members' => [ 'MinimumUnits' => [ 'shape' => 'PositiveLongObject', ], 'MaximumUnits' => [ 'shape' => 'PositiveLongObject', ], 'AutoScalingDisabled' => [ 'shape' => 'BooleanObject', ], 'AutoScalingRoleArn' => [ 'shape' => 'String', ], 'ScalingPolicies' => [ 'shape' => 'AutoScalingPolicyDescriptionList', ], ], ], 'AutoScalingSettingsUpdate' => [ 'type' => 'structure', 'members' => [ 'MinimumUnits' => [ 'shape' => 'PositiveLongObject', ], 'MaximumUnits' => [ 'shape' => 'PositiveLongObject', ], 'AutoScalingDisabled' => [ 'shape' => 'BooleanObject', ], 'AutoScalingRoleArn' => [ 'shape' => 'AutoScalingRoleArn', ], 'ScalingPolicyUpdate' => [ 'shape' => 'AutoScalingPolicyUpdate', ], ], ], 'AutoScalingTargetTrackingScalingPolicyConfigurationDescription' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'DisableScaleIn' => [ 'shape' => 'BooleanObject', ], 'ScaleInCooldown' => [ 'shape' => 'IntegerObject', ], 'ScaleOutCooldown' => [ 'shape' => 'IntegerObject', ], 'TargetValue' => [ 'shape' => 'Double', ], ], ], 'AutoScalingTargetTrackingScalingPolicyConfigurationUpdate' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'DisableScaleIn' => [ 'shape' => 'BooleanObject', ], 'ScaleInCooldown' => [ 'shape' => 'IntegerObject', ], 'ScaleOutCooldown' => [ 'shape' => 'IntegerObject', ], 'TargetValue' => [ 'shape' => 'Double', ], ], ], 'Backfilling' => [ 'type' => 'boolean', ], 'BackupArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 37, ], 'BackupCreationDateTime' => [ 'type' => 'timestamp', ], 'BackupDescription' => [ 'type' => 'structure', 'members' => [ 'BackupDetails' => [ 'shape' => 'BackupDetails', ], 'SourceTableDetails' => [ 'shape' => 'SourceTableDetails', ], 'SourceTableFeatureDetails' => [ 'shape' => 'SourceTableFeatureDetails', ], ], ], 'BackupDetails' => [ 'type' => 'structure', 'required' => [ 'BackupArn', 'BackupName', 'BackupStatus', 'BackupType', 'BackupCreationDateTime', ], 'members' => [ 'BackupArn' => [ 'shape' => 'BackupArn', ], 'BackupName' => [ 'shape' => 'BackupName', ], 'BackupSizeBytes' => [ 'shape' => 'BackupSizeBytes', ], 'BackupStatus' => [ 'shape' => 'BackupStatus', ], 'BackupType' => [ 'shape' => 'BackupType', ], 'BackupCreationDateTime' => [ 'shape' => 'BackupCreationDateTime', ], 'BackupExpiryDateTime' => [ 'shape' => 'Date', ], ], ], 'BackupInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'BackupName' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'BackupNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'BackupSizeBytes' => [ 'type' => 'long', 'min' => 0, ], 'BackupStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DELETED', 'AVAILABLE', ], ], 'BackupSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupSummary', ], ], 'BackupSummary' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'TableId' => [ 'shape' => 'TableId', ], 'TableArn' => [ 'shape' => 'TableArn', ], 'BackupArn' => [ 'shape' => 'BackupArn', ], 'BackupName' => [ 'shape' => 'BackupName', ], 'BackupCreationDateTime' => [ 'shape' => 'BackupCreationDateTime', ], 'BackupExpiryDateTime' => [ 'shape' => 'Date', ], 'BackupStatus' => [ 'shape' => 'BackupStatus', ], 'BackupType' => [ 'shape' => 'BackupType', ], 'BackupSizeBytes' => [ 'shape' => 'BackupSizeBytes', ], ], ], 'BackupType' => [ 'type' => 'string', 'enum' => [ 'USER', 'SYSTEM', 'AWS_BACKUP', ], ], 'BackupTypeFilter' => [ 'type' => 'string', 'enum' => [ 'USER', 'SYSTEM', 'AWS_BACKUP', 'ALL', ], ], 'BackupsInputLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'BatchGetItemInput' => [ 'type' => 'structure', 'required' => [ 'RequestItems', ], 'members' => [ 'RequestItems' => [ 'shape' => 'BatchGetRequestMap', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], ], ], 'BatchGetItemOutput' => [ 'type' => 'structure', 'members' => [ 'Responses' => [ 'shape' => 'BatchGetResponseMap', ], 'UnprocessedKeys' => [ 'shape' => 'BatchGetRequestMap', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ], ], ], 'BatchGetRequestMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'KeysAndAttributes', ], 'max' => 100, 'min' => 1, ], 'BatchGetResponseMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'ItemList', ], ], 'BatchWriteItemInput' => [ 'type' => 'structure', 'required' => [ 'RequestItems', ], 'members' => [ 'RequestItems' => [ 'shape' => 'BatchWriteItemRequestMap', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ], ], ], 'BatchWriteItemOutput' => [ 'type' => 'structure', 'members' => [ 'UnprocessedItems' => [ 'shape' => 'BatchWriteItemRequestMap', ], 'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetricsPerTable', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ], ], ], 'BatchWriteItemRequestMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'WriteRequests', ], 'max' => 25, 'min' => 1, ], 'BillingMode' => [ 'type' => 'string', 'enum' => [ 'PROVISIONED', 'PAY_PER_REQUEST', ], ], 'BillingModeSummary' => [ 'type' => 'structure', 'members' => [ 'BillingMode' => [ 'shape' => 'BillingMode', ], 'LastUpdateToPayPerRequestDateTime' => [ 'shape' => 'Date', ], ], ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'BinarySetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'BinaryAttributeValue', ], ], 'BooleanAttributeValue' => [ 'type' => 'boolean', ], 'BooleanObject' => [ 'type' => 'boolean', ], 'CancellationReason' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'AttributeMap', ], 'Code' => [ 'shape' => 'Code', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], ], 'CancellationReasonList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancellationReason', ], 'max' => 10, 'min' => 1, ], 'Capacity' => [ 'type' => 'structure', 'members' => [ 'ReadCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], 'WriteCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], 'CapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 36, 'min' => 1, ], 'Code' => [ 'type' => 'string', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'EQ', 'NE', 'IN', 'LE', 'LT', 'GE', 'GT', 'BETWEEN', 'NOT_NULL', 'NULL', 'CONTAINS', 'NOT_CONTAINS', 'BEGINS_WITH', ], ], 'Condition' => [ 'type' => 'structure', 'required' => [ 'ComparisonOperator', ], 'members' => [ 'AttributeValueList' => [ 'shape' => 'AttributeValueList', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], ], ], 'ConditionCheck' => [ 'type' => 'structure', 'required' => [ 'Key', 'TableName', 'ConditionExpression', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'TableName' => [ 'shape' => 'TableName', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], 'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ], ], ], 'ConditionExpression' => [ 'type' => 'string', ], 'ConditionalCheckFailedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConditionalOperator' => [ 'type' => 'string', 'enum' => [ 'AND', 'OR', ], ], 'ConsistentRead' => [ 'type' => 'boolean', ], 'ConsumedCapacity' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'CapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], 'ReadCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], 'WriteCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], 'Table' => [ 'shape' => 'Capacity', ], 'LocalSecondaryIndexes' => [ 'shape' => 'SecondaryIndexesCapacityMap', ], 'GlobalSecondaryIndexes' => [ 'shape' => 'SecondaryIndexesCapacityMap', ], ], ], 'ConsumedCapacityMultiple' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConsumedCapacity', ], ], 'ConsumedCapacityUnits' => [ 'type' => 'double', ], 'ContinuousBackupsDescription' => [ 'type' => 'structure', 'required' => [ 'ContinuousBackupsStatus', ], 'members' => [ 'ContinuousBackupsStatus' => [ 'shape' => 'ContinuousBackupsStatus', ], 'PointInTimeRecoveryDescription' => [ 'shape' => 'PointInTimeRecoveryDescription', ], ], ], 'ContinuousBackupsStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'ContinuousBackupsUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CreateBackupInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'BackupName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'BackupName' => [ 'shape' => 'BackupName', ], ], ], 'CreateBackupOutput' => [ 'type' => 'structure', 'members' => [ 'BackupDetails' => [ 'shape' => 'BackupDetails', ], ], ], 'CreateGlobalSecondaryIndexAction' => [ 'type' => 'structure', 'required' => [ 'IndexName', 'KeySchema', 'Projection', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'CreateGlobalTableInput' => [ 'type' => 'structure', 'required' => [ 'GlobalTableName', 'ReplicationGroup', ], 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'ReplicationGroup' => [ 'shape' => 'ReplicaList', ], ], ], 'CreateGlobalTableOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ], ], 'CreateReplicaAction' => [ 'type' => 'structure', 'required' => [ 'RegionName', ], 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ], ], 'CreateTableInput' => [ 'type' => 'structure', 'required' => [ 'AttributeDefinitions', 'TableName', 'KeySchema', ], 'members' => [ 'AttributeDefinitions' => [ 'shape' => 'AttributeDefinitions', ], 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'LocalSecondaryIndexes' => [ 'shape' => 'LocalSecondaryIndexList', ], 'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexList', ], 'BillingMode' => [ 'shape' => 'BillingMode', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], 'StreamSpecification' => [ 'shape' => 'StreamSpecification', ], 'SSESpecification' => [ 'shape' => 'SSESpecification', ], ], ], 'CreateTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'Date' => [ 'type' => 'timestamp', ], 'Delete' => [ 'type' => 'structure', 'required' => [ 'Key', 'TableName', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'TableName' => [ 'shape' => 'TableName', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], 'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ], ], ], 'DeleteBackupInput' => [ 'type' => 'structure', 'required' => [ 'BackupArn', ], 'members' => [ 'BackupArn' => [ 'shape' => 'BackupArn', ], ], ], 'DeleteBackupOutput' => [ 'type' => 'structure', 'members' => [ 'BackupDescription' => [ 'shape' => 'BackupDescription', ], ], ], 'DeleteGlobalSecondaryIndexAction' => [ 'type' => 'structure', 'required' => [ 'IndexName', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], ], ], 'DeleteItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ConditionalOperator' => [ 'shape' => 'ConditionalOperator', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], ], ], 'DeleteItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], 'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ], ], ], 'DeleteReplicaAction' => [ 'type' => 'structure', 'required' => [ 'RegionName', ], 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ], ], 'DeleteRequest' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], ], ], 'DeleteTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DeleteTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'DescribeBackupInput' => [ 'type' => 'structure', 'required' => [ 'BackupArn', ], 'members' => [ 'BackupArn' => [ 'shape' => 'BackupArn', ], ], ], 'DescribeBackupOutput' => [ 'type' => 'structure', 'members' => [ 'BackupDescription' => [ 'shape' => 'BackupDescription', ], ], ], 'DescribeContinuousBackupsInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeContinuousBackupsOutput' => [ 'type' => 'structure', 'members' => [ 'ContinuousBackupsDescription' => [ 'shape' => 'ContinuousBackupsDescription', ], ], ], 'DescribeEndpointsRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEndpointsResponse' => [ 'type' => 'structure', 'required' => [ 'Endpoints', ], 'members' => [ 'Endpoints' => [ 'shape' => 'Endpoints', ], ], ], 'DescribeGlobalTableInput' => [ 'type' => 'structure', 'required' => [ 'GlobalTableName', ], 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeGlobalTableOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ], ], 'DescribeGlobalTableSettingsInput' => [ 'type' => 'structure', 'required' => [ 'GlobalTableName', ], 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeGlobalTableSettingsOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'ReplicaSettings' => [ 'shape' => 'ReplicaSettingsDescriptionList', ], ], ], 'DescribeLimitsInput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeLimitsOutput' => [ 'type' => 'structure', 'members' => [ 'AccountMaxReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'AccountMaxWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'TableMaxReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'TableMaxWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], ], ], 'DescribeTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeTableOutput' => [ 'type' => 'structure', 'members' => [ 'Table' => [ 'shape' => 'TableDescription', ], ], ], 'DescribeTimeToLiveInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], ], ], 'DescribeTimeToLiveOutput' => [ 'type' => 'structure', 'members' => [ 'TimeToLiveDescription' => [ 'shape' => 'TimeToLiveDescription', ], ], ], 'Double' => [ 'type' => 'double', ], 'Endpoint' => [ 'type' => 'structure', 'required' => [ 'Address', 'CachePeriodInMinutes', ], 'members' => [ 'Address' => [ 'shape' => 'String', ], 'CachePeriodInMinutes' => [ 'shape' => 'Long', ], ], ], 'Endpoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'Endpoint', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpectedAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'ExpectedAttributeValue', ], ], 'ExpectedAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'AttributeValue', ], 'Exists' => [ 'shape' => 'BooleanObject', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'AttributeValueList' => [ 'shape' => 'AttributeValueList', ], ], ], 'ExpressionAttributeNameMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ExpressionAttributeNameVariable', ], 'value' => [ 'shape' => 'AttributeName', ], ], 'ExpressionAttributeNameVariable' => [ 'type' => 'string', ], 'ExpressionAttributeValueMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ExpressionAttributeValueVariable', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'ExpressionAttributeValueVariable' => [ 'type' => 'string', ], 'FilterConditionMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'Condition', ], ], 'Get' => [ 'type' => 'structure', 'required' => [ 'Key', 'TableName', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'TableName' => [ 'shape' => 'TableName', ], 'ProjectionExpression' => [ 'shape' => 'ProjectionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], ], ], 'GetItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ProjectionExpression' => [ 'shape' => 'ProjectionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], ], ], 'GetItemOutput' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], ], ], 'GlobalSecondaryIndex' => [ 'type' => 'structure', 'required' => [ 'IndexName', 'KeySchema', 'Projection', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'GlobalSecondaryIndexDescription' => [ 'type' => 'structure', 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], 'IndexStatus' => [ 'shape' => 'IndexStatus', ], 'Backfilling' => [ 'shape' => 'Backfilling', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughputDescription', ], 'IndexSizeBytes' => [ 'shape' => 'Long', ], 'ItemCount' => [ 'shape' => 'Long', ], 'IndexArn' => [ 'shape' => 'String', ], ], ], 'GlobalSecondaryIndexDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalSecondaryIndexDescription', ], ], 'GlobalSecondaryIndexInfo' => [ 'type' => 'structure', 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'GlobalSecondaryIndexList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalSecondaryIndex', ], ], 'GlobalSecondaryIndexUpdate' => [ 'type' => 'structure', 'members' => [ 'Update' => [ 'shape' => 'UpdateGlobalSecondaryIndexAction', ], 'Create' => [ 'shape' => 'CreateGlobalSecondaryIndexAction', ], 'Delete' => [ 'shape' => 'DeleteGlobalSecondaryIndexAction', ], ], ], 'GlobalSecondaryIndexUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalSecondaryIndexUpdate', ], ], 'GlobalSecondaryIndexes' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalSecondaryIndexInfo', ], ], 'GlobalTable' => [ 'type' => 'structure', 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'ReplicationGroup' => [ 'shape' => 'ReplicaList', ], ], ], 'GlobalTableAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'GlobalTableArnString' => [ 'type' => 'string', ], 'GlobalTableDescription' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicaDescriptionList', ], 'GlobalTableArn' => [ 'shape' => 'GlobalTableArnString', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'GlobalTableStatus' => [ 'shape' => 'GlobalTableStatus', ], 'GlobalTableName' => [ 'shape' => 'TableName', ], ], ], 'GlobalTableGlobalSecondaryIndexSettingsUpdate' => [ 'type' => 'structure', 'required' => [ 'IndexName', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'ProvisionedWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ProvisionedWriteCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ], ], ], 'GlobalTableGlobalSecondaryIndexSettingsUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalTableGlobalSecondaryIndexSettingsUpdate', ], 'max' => 20, 'min' => 1, ], 'GlobalTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalTable', ], ], 'GlobalTableNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'GlobalTableStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', 'UPDATING', ], ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IndexName' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'IndexNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IndexStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'ACTIVE', ], ], 'Integer' => [ 'type' => 'integer', ], 'IntegerObject' => [ 'type' => 'integer', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidRestoreTimeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ItemCollectionKeyAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'ItemCollectionMetrics' => [ 'type' => 'structure', 'members' => [ 'ItemCollectionKey' => [ 'shape' => 'ItemCollectionKeyAttributeMap', ], 'SizeEstimateRangeGB' => [ 'shape' => 'ItemCollectionSizeEstimateRange', ], ], ], 'ItemCollectionMetricsMultiple' => [ 'type' => 'list', 'member' => [ 'shape' => 'ItemCollectionMetrics', ], ], 'ItemCollectionMetricsPerTable' => [ 'type' => 'map', 'key' => [ 'shape' => 'TableName', ], 'value' => [ 'shape' => 'ItemCollectionMetricsMultiple', ], ], 'ItemCollectionSizeEstimateBound' => [ 'type' => 'double', ], 'ItemCollectionSizeEstimateRange' => [ 'type' => 'list', 'member' => [ 'shape' => 'ItemCollectionSizeEstimateBound', ], ], 'ItemCollectionSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ItemCount' => [ 'type' => 'long', 'min' => 0, ], 'ItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeMap', ], ], 'ItemResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'AttributeMap', ], ], ], 'ItemResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ItemResponse', ], 'max' => 10, 'min' => 1, ], 'KMSMasterKeyArn' => [ 'type' => 'string', ], 'KMSMasterKeyId' => [ 'type' => 'string', ], 'Key' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'KeyConditions' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'Condition', ], ], 'KeyExpression' => [ 'type' => 'string', ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Key', ], 'max' => 100, 'min' => 1, ], 'KeySchema' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeySchemaElement', ], 'max' => 2, 'min' => 1, ], 'KeySchemaAttributeName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'KeySchemaElement' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'KeyType', ], 'members' => [ 'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ], 'KeyType' => [ 'shape' => 'KeyType', ], ], ], 'KeyType' => [ 'type' => 'string', 'enum' => [ 'HASH', 'RANGE', ], ], 'KeysAndAttributes' => [ 'type' => 'structure', 'required' => [ 'Keys', ], 'members' => [ 'Keys' => [ 'shape' => 'KeyList', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], 'ProjectionExpression' => [ 'shape' => 'ProjectionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', ], ], 'ListBackupsInput' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Limit' => [ 'shape' => 'BackupsInputLimit', ], 'TimeRangeLowerBound' => [ 'shape' => 'TimeRangeLowerBound', ], 'TimeRangeUpperBound' => [ 'shape' => 'TimeRangeUpperBound', ], 'ExclusiveStartBackupArn' => [ 'shape' => 'BackupArn', ], 'BackupType' => [ 'shape' => 'BackupTypeFilter', ], ], ], 'ListBackupsOutput' => [ 'type' => 'structure', 'members' => [ 'BackupSummaries' => [ 'shape' => 'BackupSummaries', ], 'LastEvaluatedBackupArn' => [ 'shape' => 'BackupArn', ], ], ], 'ListGlobalTablesInput' => [ 'type' => 'structure', 'members' => [ 'ExclusiveStartGlobalTableName' => [ 'shape' => 'TableName', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'RegionName' => [ 'shape' => 'RegionName', ], ], ], 'ListGlobalTablesOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTables' => [ 'shape' => 'GlobalTableList', ], 'LastEvaluatedGlobalTableName' => [ 'shape' => 'TableName', ], ], ], 'ListTablesInput' => [ 'type' => 'structure', 'members' => [ 'ExclusiveStartTableName' => [ 'shape' => 'TableName', ], 'Limit' => [ 'shape' => 'ListTablesInputLimit', ], ], ], 'ListTablesInputLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ListTablesOutput' => [ 'type' => 'structure', 'members' => [ 'TableNames' => [ 'shape' => 'TableNameList', ], 'LastEvaluatedTableName' => [ 'shape' => 'TableName', ], ], ], 'ListTagsOfResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArnString', ], 'NextToken' => [ 'shape' => 'NextTokenString', ], ], ], 'ListTagsOfResourceOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextTokenString', ], ], ], 'LocalSecondaryIndex' => [ 'type' => 'structure', 'required' => [ 'IndexName', 'KeySchema', 'Projection', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], ], ], 'LocalSecondaryIndexDescription' => [ 'type' => 'structure', 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], 'IndexSizeBytes' => [ 'shape' => 'Long', ], 'ItemCount' => [ 'shape' => 'Long', ], 'IndexArn' => [ 'shape' => 'String', ], ], ], 'LocalSecondaryIndexDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LocalSecondaryIndexDescription', ], ], 'LocalSecondaryIndexInfo' => [ 'type' => 'structure', 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Projection' => [ 'shape' => 'Projection', ], ], ], 'LocalSecondaryIndexList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LocalSecondaryIndex', ], ], 'LocalSecondaryIndexes' => [ 'type' => 'list', 'member' => [ 'shape' => 'LocalSecondaryIndexInfo', ], ], 'Long' => [ 'type' => 'long', ], 'MapAttributeValue' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'NextTokenString' => [ 'type' => 'string', ], 'NonKeyAttributeName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'NonKeyAttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonKeyAttributeName', ], 'max' => 20, 'min' => 1, ], 'NonNegativeLongObject' => [ 'type' => 'long', 'min' => 0, ], 'NullAttributeValue' => [ 'type' => 'boolean', ], 'NumberAttributeValue' => [ 'type' => 'string', ], 'NumberSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'NumberAttributeValue', ], ], 'PointInTimeRecoveryDescription' => [ 'type' => 'structure', 'members' => [ 'PointInTimeRecoveryStatus' => [ 'shape' => 'PointInTimeRecoveryStatus', ], 'EarliestRestorableDateTime' => [ 'shape' => 'Date', ], 'LatestRestorableDateTime' => [ 'shape' => 'Date', ], ], ], 'PointInTimeRecoverySpecification' => [ 'type' => 'structure', 'required' => [ 'PointInTimeRecoveryEnabled', ], 'members' => [ 'PointInTimeRecoveryEnabled' => [ 'shape' => 'BooleanObject', ], ], ], 'PointInTimeRecoveryStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'PointInTimeRecoveryUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PositiveIntegerObject' => [ 'type' => 'integer', 'min' => 1, ], 'PositiveLongObject' => [ 'type' => 'long', 'min' => 1, ], 'Projection' => [ 'type' => 'structure', 'members' => [ 'ProjectionType' => [ 'shape' => 'ProjectionType', ], 'NonKeyAttributes' => [ 'shape' => 'NonKeyAttributeNameList', ], ], ], 'ProjectionExpression' => [ 'type' => 'string', ], 'ProjectionType' => [ 'type' => 'string', 'enum' => [ 'ALL', 'KEYS_ONLY', 'INCLUDE', ], ], 'ProvisionedThroughput' => [ 'type' => 'structure', 'required' => [ 'ReadCapacityUnits', 'WriteCapacityUnits', ], 'members' => [ 'ReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'WriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], ], ], 'ProvisionedThroughputDescription' => [ 'type' => 'structure', 'members' => [ 'LastIncreaseDateTime' => [ 'shape' => 'Date', ], 'LastDecreaseDateTime' => [ 'shape' => 'Date', ], 'NumberOfDecreasesToday' => [ 'shape' => 'PositiveLongObject', ], 'ReadCapacityUnits' => [ 'shape' => 'NonNegativeLongObject', ], 'WriteCapacityUnits' => [ 'shape' => 'NonNegativeLongObject', ], ], ], 'ProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Put' => [ 'type' => 'structure', 'required' => [ 'Item', 'TableName', ], 'members' => [ 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], 'TableName' => [ 'shape' => 'TableName', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], 'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ], ], ], 'PutItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Item', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ], 'ConditionalOperator' => [ 'shape' => 'ConditionalOperator', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], ], ], 'PutItemInputAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'PutItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], 'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ], ], ], 'PutRequest' => [ 'type' => 'structure', 'required' => [ 'Item', ], 'members' => [ 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], ], ], 'QueryInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'IndexName' => [ 'shape' => 'IndexName', ], 'Select' => [ 'shape' => 'Select', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], 'KeyConditions' => [ 'shape' => 'KeyConditions', ], 'QueryFilter' => [ 'shape' => 'FilterConditionMap', ], 'ConditionalOperator' => [ 'shape' => 'ConditionalOperator', ], 'ScanIndexForward' => [ 'shape' => 'BooleanObject', ], 'ExclusiveStartKey' => [ 'shape' => 'Key', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ProjectionExpression' => [ 'shape' => 'ProjectionExpression', ], 'FilterExpression' => [ 'shape' => 'ConditionExpression', ], 'KeyConditionExpression' => [ 'shape' => 'KeyExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], ], ], 'QueryOutput' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'Count' => [ 'shape' => 'Integer', ], 'ScannedCount' => [ 'shape' => 'Integer', ], 'LastEvaluatedKey' => [ 'shape' => 'Key', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], ], ], 'RegionName' => [ 'type' => 'string', ], 'Replica' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ], ], 'ReplicaAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicaDescription' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ], ], 'ReplicaDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaDescription', ], ], 'ReplicaGlobalSecondaryIndexSettingsDescription' => [ 'type' => 'structure', 'required' => [ 'IndexName', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'IndexStatus' => [ 'shape' => 'IndexStatus', ], 'ProvisionedReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ProvisionedReadCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ], 'ProvisionedWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ProvisionedWriteCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ], ], ], 'ReplicaGlobalSecondaryIndexSettingsDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsDescription', ], ], 'ReplicaGlobalSecondaryIndexSettingsUpdate' => [ 'type' => 'structure', 'required' => [ 'IndexName', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'ProvisionedReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ProvisionedReadCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ], ], ], 'ReplicaGlobalSecondaryIndexSettingsUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsUpdate', ], 'max' => 20, 'min' => 1, ], 'ReplicaList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Replica', ], ], 'ReplicaNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicaSettingsDescription' => [ 'type' => 'structure', 'required' => [ 'RegionName', ], 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], 'ReplicaStatus' => [ 'shape' => 'ReplicaStatus', ], 'ReplicaBillingModeSummary' => [ 'shape' => 'BillingModeSummary', ], 'ReplicaProvisionedReadCapacityUnits' => [ 'shape' => 'NonNegativeLongObject', ], 'ReplicaProvisionedReadCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ], 'ReplicaProvisionedWriteCapacityUnits' => [ 'shape' => 'NonNegativeLongObject', ], 'ReplicaProvisionedWriteCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ], 'ReplicaGlobalSecondaryIndexSettings' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsDescriptionList', ], ], ], 'ReplicaSettingsDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaSettingsDescription', ], ], 'ReplicaSettingsUpdate' => [ 'type' => 'structure', 'required' => [ 'RegionName', ], 'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], 'ReplicaProvisionedReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ], 'ReplicaGlobalSecondaryIndexSettingsUpdate' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsUpdateList', ], ], ], 'ReplicaSettingsUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaSettingsUpdate', ], 'max' => 50, 'min' => 1, ], 'ReplicaStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'ACTIVE', ], ], 'ReplicaUpdate' => [ 'type' => 'structure', 'members' => [ 'Create' => [ 'shape' => 'CreateReplicaAction', ], 'Delete' => [ 'shape' => 'DeleteReplicaAction', ], ], ], 'ReplicaUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicaUpdate', ], ], 'RequestLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceArnString' => [ 'type' => 'string', 'max' => 1283, 'min' => 1, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RestoreInProgress' => [ 'type' => 'boolean', ], 'RestoreSummary' => [ 'type' => 'structure', 'required' => [ 'RestoreDateTime', 'RestoreInProgress', ], 'members' => [ 'SourceBackupArn' => [ 'shape' => 'BackupArn', ], 'SourceTableArn' => [ 'shape' => 'TableArn', ], 'RestoreDateTime' => [ 'shape' => 'Date', ], 'RestoreInProgress' => [ 'shape' => 'RestoreInProgress', ], ], ], 'RestoreTableFromBackupInput' => [ 'type' => 'structure', 'required' => [ 'TargetTableName', 'BackupArn', ], 'members' => [ 'TargetTableName' => [ 'shape' => 'TableName', ], 'BackupArn' => [ 'shape' => 'BackupArn', ], ], ], 'RestoreTableFromBackupOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'RestoreTableToPointInTimeInput' => [ 'type' => 'structure', 'required' => [ 'SourceTableName', 'TargetTableName', ], 'members' => [ 'SourceTableName' => [ 'shape' => 'TableName', ], 'TargetTableName' => [ 'shape' => 'TableName', ], 'UseLatestRestorableTime' => [ 'shape' => 'BooleanObject', ], 'RestoreDateTime' => [ 'shape' => 'Date', ], ], ], 'RestoreTableToPointInTimeOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'ReturnConsumedCapacity' => [ 'type' => 'string', 'enum' => [ 'INDEXES', 'TOTAL', 'NONE', ], ], 'ReturnItemCollectionMetrics' => [ 'type' => 'string', 'enum' => [ 'SIZE', 'NONE', ], ], 'ReturnValue' => [ 'type' => 'string', 'enum' => [ 'NONE', 'ALL_OLD', 'UPDATED_OLD', 'ALL_NEW', 'UPDATED_NEW', ], ], 'ReturnValuesOnConditionCheckFailure' => [ 'type' => 'string', 'enum' => [ 'ALL_OLD', 'NONE', ], ], 'SSEDescription' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'SSEStatus', ], 'SSEType' => [ 'shape' => 'SSEType', ], 'KMSMasterKeyArn' => [ 'shape' => 'KMSMasterKeyArn', ], ], ], 'SSEEnabled' => [ 'type' => 'boolean', ], 'SSESpecification' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'SSEEnabled', ], 'SSEType' => [ 'shape' => 'SSEType', ], 'KMSMasterKeyId' => [ 'shape' => 'KMSMasterKeyId', ], ], ], 'SSEStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLING', 'ENABLED', 'DISABLING', 'DISABLED', 'UPDATING', ], ], 'SSEType' => [ 'type' => 'string', 'enum' => [ 'AES256', 'KMS', ], ], 'ScalarAttributeType' => [ 'type' => 'string', 'enum' => [ 'S', 'N', 'B', ], ], 'ScanInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'IndexName' => [ 'shape' => 'IndexName', ], 'AttributesToGet' => [ 'shape' => 'AttributeNameList', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'Select' => [ 'shape' => 'Select', ], 'ScanFilter' => [ 'shape' => 'FilterConditionMap', ], 'ConditionalOperator' => [ 'shape' => 'ConditionalOperator', ], 'ExclusiveStartKey' => [ 'shape' => 'Key', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'TotalSegments' => [ 'shape' => 'ScanTotalSegments', ], 'Segment' => [ 'shape' => 'ScanSegment', ], 'ProjectionExpression' => [ 'shape' => 'ProjectionExpression', ], 'FilterExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], 'ConsistentRead' => [ 'shape' => 'ConsistentRead', ], ], ], 'ScanOutput' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'Count' => [ 'shape' => 'Integer', ], 'ScannedCount' => [ 'shape' => 'Integer', ], 'LastEvaluatedKey' => [ 'shape' => 'Key', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], ], ], 'ScanSegment' => [ 'type' => 'integer', 'max' => 999999, 'min' => 0, ], 'ScanTotalSegments' => [ 'type' => 'integer', 'max' => 1000000, 'min' => 1, ], 'SecondaryIndexesCapacityMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'IndexName', ], 'value' => [ 'shape' => 'Capacity', ], ], 'Select' => [ 'type' => 'string', 'enum' => [ 'ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'SPECIFIC_ATTRIBUTES', 'COUNT', ], ], 'SourceTableDetails' => [ 'type' => 'structure', 'required' => [ 'TableName', 'TableId', 'KeySchema', 'TableCreationDateTime', 'ProvisionedThroughput', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'TableId' => [ 'shape' => 'TableId', ], 'TableArn' => [ 'shape' => 'TableArn', ], 'TableSizeBytes' => [ 'shape' => 'Long', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'TableCreationDateTime' => [ 'shape' => 'TableCreationDateTime', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], 'ItemCount' => [ 'shape' => 'ItemCount', ], 'BillingMode' => [ 'shape' => 'BillingMode', ], ], ], 'SourceTableFeatureDetails' => [ 'type' => 'structure', 'members' => [ 'LocalSecondaryIndexes' => [ 'shape' => 'LocalSecondaryIndexes', ], 'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexes', ], 'StreamDescription' => [ 'shape' => 'StreamSpecification', ], 'TimeToLiveDescription' => [ 'shape' => 'TimeToLiveDescription', ], 'SSEDescription' => [ 'shape' => 'SSEDescription', ], ], ], 'StreamArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 37, ], 'StreamEnabled' => [ 'type' => 'boolean', ], 'StreamSpecification' => [ 'type' => 'structure', 'members' => [ 'StreamEnabled' => [ 'shape' => 'StreamEnabled', ], 'StreamViewType' => [ 'shape' => 'StreamViewType', ], ], ], 'StreamViewType' => [ 'type' => 'string', 'enum' => [ 'NEW_IMAGE', 'OLD_IMAGE', 'NEW_AND_OLD_IMAGES', 'KEYS_ONLY', ], ], 'String' => [ 'type' => 'string', ], 'StringAttributeValue' => [ 'type' => 'string', ], 'StringSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringAttributeValue', ], ], 'TableAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TableArn' => [ 'type' => 'string', ], 'TableCreationDateTime' => [ 'type' => 'timestamp', ], 'TableDescription' => [ 'type' => 'structure', 'members' => [ 'AttributeDefinitions' => [ 'shape' => 'AttributeDefinitions', ], 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'TableStatus' => [ 'shape' => 'TableStatus', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughputDescription', ], 'TableSizeBytes' => [ 'shape' => 'Long', ], 'ItemCount' => [ 'shape' => 'Long', ], 'TableArn' => [ 'shape' => 'String', ], 'TableId' => [ 'shape' => 'TableId', ], 'BillingModeSummary' => [ 'shape' => 'BillingModeSummary', ], 'LocalSecondaryIndexes' => [ 'shape' => 'LocalSecondaryIndexDescriptionList', ], 'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexDescriptionList', ], 'StreamSpecification' => [ 'shape' => 'StreamSpecification', ], 'LatestStreamLabel' => [ 'shape' => 'String', ], 'LatestStreamArn' => [ 'shape' => 'StreamArn', ], 'RestoreSummary' => [ 'shape' => 'RestoreSummary', ], 'SSEDescription' => [ 'shape' => 'SSEDescription', ], ], ], 'TableId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'TableInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TableName' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'TableNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableName', ], ], 'TableNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TableStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'UPDATING', 'DELETING', 'ACTIVE', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKeyString', ], 'Value' => [ 'shape' => 'TagValueString', ], ], ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeyString', ], ], 'TagKeyString' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArnString', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagValueString' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TimeRangeLowerBound' => [ 'type' => 'timestamp', ], 'TimeRangeUpperBound' => [ 'type' => 'timestamp', ], 'TimeToLiveAttributeName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'TimeToLiveDescription' => [ 'type' => 'structure', 'members' => [ 'TimeToLiveStatus' => [ 'shape' => 'TimeToLiveStatus', ], 'AttributeName' => [ 'shape' => 'TimeToLiveAttributeName', ], ], ], 'TimeToLiveEnabled' => [ 'type' => 'boolean', ], 'TimeToLiveSpecification' => [ 'type' => 'structure', 'required' => [ 'Enabled', 'AttributeName', ], 'members' => [ 'Enabled' => [ 'shape' => 'TimeToLiveEnabled', ], 'AttributeName' => [ 'shape' => 'TimeToLiveAttributeName', ], ], ], 'TimeToLiveStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLING', 'DISABLING', 'ENABLED', 'DISABLED', ], ], 'TransactGetItem' => [ 'type' => 'structure', 'required' => [ 'Get', ], 'members' => [ 'Get' => [ 'shape' => 'Get', ], ], ], 'TransactGetItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransactGetItem', ], 'max' => 10, 'min' => 1, ], 'TransactGetItemsInput' => [ 'type' => 'structure', 'required' => [ 'TransactItems', ], 'members' => [ 'TransactItems' => [ 'shape' => 'TransactGetItemList', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], ], ], 'TransactGetItemsOutput' => [ 'type' => 'structure', 'members' => [ 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ], 'Responses' => [ 'shape' => 'ItemResponseList', ], ], ], 'TransactWriteItem' => [ 'type' => 'structure', 'members' => [ 'ConditionCheck' => [ 'shape' => 'ConditionCheck', ], 'Put' => [ 'shape' => 'Put', ], 'Delete' => [ 'shape' => 'Delete', ], 'Update' => [ 'shape' => 'Update', ], ], ], 'TransactWriteItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransactWriteItem', ], 'max' => 10, 'min' => 1, ], 'TransactWriteItemsInput' => [ 'type' => 'structure', 'required' => [ 'TransactItems', ], 'members' => [ 'TransactItems' => [ 'shape' => 'TransactWriteItemList', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'TransactWriteItemsOutput' => [ 'type' => 'structure', 'members' => [ 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ], 'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetricsPerTable', ], ], ], 'TransactionCanceledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'CancellationReasons' => [ 'shape' => 'CancellationReasonList', ], ], 'exception' => true, ], 'TransactionConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TransactionInProgressException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArnString', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'Update' => [ 'type' => 'structure', 'required' => [ 'Key', 'UpdateExpression', 'TableName', ], 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'UpdateExpression' => [ 'shape' => 'UpdateExpression', ], 'TableName' => [ 'shape' => 'TableName', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], 'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ], ], ], 'UpdateContinuousBackupsInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'PointInTimeRecoverySpecification', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'PointInTimeRecoverySpecification' => [ 'shape' => 'PointInTimeRecoverySpecification', ], ], ], 'UpdateContinuousBackupsOutput' => [ 'type' => 'structure', 'members' => [ 'ContinuousBackupsDescription' => [ 'shape' => 'ContinuousBackupsDescription', ], ], ], 'UpdateExpression' => [ 'type' => 'string', ], 'UpdateGlobalSecondaryIndexAction' => [ 'type' => 'structure', 'required' => [ 'IndexName', 'ProvisionedThroughput', ], 'members' => [ 'IndexName' => [ 'shape' => 'IndexName', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], ], ], 'UpdateGlobalTableInput' => [ 'type' => 'structure', 'required' => [ 'GlobalTableName', 'ReplicaUpdates', ], 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'ReplicaUpdates' => [ 'shape' => 'ReplicaUpdateList', ], ], ], 'UpdateGlobalTableOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ], ], 'UpdateGlobalTableSettingsInput' => [ 'type' => 'structure', 'required' => [ 'GlobalTableName', ], 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'GlobalTableBillingMode' => [ 'shape' => 'BillingMode', ], 'GlobalTableProvisionedWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ], 'GlobalTableGlobalSecondaryIndexSettingsUpdate' => [ 'shape' => 'GlobalTableGlobalSecondaryIndexSettingsUpdateList', ], 'ReplicaSettingsUpdate' => [ 'shape' => 'ReplicaSettingsUpdateList', ], ], ], 'UpdateGlobalTableSettingsOutput' => [ 'type' => 'structure', 'members' => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], 'ReplicaSettings' => [ 'shape' => 'ReplicaSettingsDescriptionList', ], ], ], 'UpdateItemInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'Key', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Key' => [ 'shape' => 'Key', ], 'AttributeUpdates' => [ 'shape' => 'AttributeUpdates', ], 'Expected' => [ 'shape' => 'ExpectedAttributeMap', ], 'ConditionalOperator' => [ 'shape' => 'ConditionalOperator', ], 'ReturnValues' => [ 'shape' => 'ReturnValue', ], 'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ], 'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ], 'UpdateExpression' => [ 'shape' => 'UpdateExpression', ], 'ConditionExpression' => [ 'shape' => 'ConditionExpression', ], 'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ], 'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ], ], ], 'UpdateItemOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AttributeMap', ], 'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ], 'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ], ], ], 'UpdateTableInput' => [ 'type' => 'structure', 'required' => [ 'TableName', ], 'members' => [ 'AttributeDefinitions' => [ 'shape' => 'AttributeDefinitions', ], 'TableName' => [ 'shape' => 'TableName', ], 'BillingMode' => [ 'shape' => 'BillingMode', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], 'GlobalSecondaryIndexUpdates' => [ 'shape' => 'GlobalSecondaryIndexUpdateList', ], 'StreamSpecification' => [ 'shape' => 'StreamSpecification', ], 'SSESpecification' => [ 'shape' => 'SSESpecification', ], ], ], 'UpdateTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'UpdateTimeToLiveInput' => [ 'type' => 'structure', 'required' => [ 'TableName', 'TimeToLiveSpecification', ], 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'TimeToLiveSpecification' => [ 'shape' => 'TimeToLiveSpecification', ], ], ], 'UpdateTimeToLiveOutput' => [ 'type' => 'structure', 'members' => [ 'TimeToLiveSpecification' => [ 'shape' => 'TimeToLiveSpecification', ], ], ], 'WriteRequest' => [ 'type' => 'structure', 'members' => [ 'PutRequest' => [ 'shape' => 'PutRequest', ], 'DeleteRequest' => [ 'shape' => 'DeleteRequest', ], ], ], 'WriteRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'WriteRequest', ], 'max' => 25, 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2012-08-10/paginators-1.json.php b/lib/aws/Aws/data/dynamodb/2012-08-10/paginators-1.json.php new file mode 100644 index 0000000..afc6d6a --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2012-08-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/paginators-1.json +return [ 'pagination' => [ 'BatchGetItem' => [ 'input_token' => 'RequestItems', 'output_token' => 'UnprocessedKeys', ], 'ListTables' => [ 'input_token' => 'ExclusiveStartTableName', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedTableName', 'result_key' => 'TableNames', ], 'Query' => [ 'input_token' => 'ExclusiveStartKey', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedKey', 'result_key' => 'Items', ], 'Scan' => [ 'input_token' => 'ExclusiveStartKey', 'limit_key' => 'Limit', 'output_token' => 'LastEvaluatedKey', 'result_key' => 'Items', ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2012-08-10/smoke.json.php b/lib/aws/Aws/data/dynamodb/2012-08-10/smoke.json.php new file mode 100644 index 0000000..9957d03 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2012-08-10/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListTables', 'input' => [ 'Limit' => 1, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeTable', 'input' => [ 'TableName' => 'fake-table', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-1.json.php b/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-1.json.php new file mode 100644 index 0000000..ec329fa --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 20, 'max_attempts' => 25, ], '__TableState' => [ 'operation' => 'DescribeTable', ], 'TableExists' => [ 'extends' => '__TableState', 'ignore_errors' => [ 'ResourceNotFoundException', ], 'success_type' => 'output', 'success_path' => 'Table.TableStatus', 'success_value' => 'ACTIVE', ], 'TableNotExists' => [ 'extends' => '__TableState', 'success_type' => 'error', 'success_value' => 'ResourceNotFoundException', ], ],]; diff --git a/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-2.json.php b/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-2.json.php new file mode 100644 index 0000000..0bf1801 --- /dev/null +++ b/lib/aws/Aws/data/dynamodb/2012-08-10/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'TableExists' => [ 'delay' => 20, 'operation' => 'DescribeTable', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'ACTIVE', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Table.TableStatus', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'TableNotExists' => [ 'delay' => 20, 'operation' => 'DescribeTable', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2015-10-01/api-2.json.php b/lib/aws/Aws/data/ec2/2015-10-01/api-2.json.php new file mode 100644 index 0000000..a645265 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2015-10-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2015-10-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'ec2-2015-10-01', 'apiVersion' => '2015-10-01', 'endpointPrefix' => 'ec2', 'protocol' => 'ec2', 'serviceAbbreviation' => 'Amazon EC2', 'serviceFullName' => 'Amazon Elastic Compute Cloud', 'signatureVersion' => 'v4', 'xmlNamespace' => 'http://ec2.amazonaws.com/doc/2015-10-01', ], 'operations' => [ 'AcceptVpcPeeringConnection' => [ 'name' => 'AcceptVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'AcceptVpcPeeringConnectionResult', ], ], 'AllocateAddress' => [ 'name' => 'AllocateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateAddressRequest', ], 'output' => [ 'shape' => 'AllocateAddressResult', ], ], 'AllocateHosts' => [ 'name' => 'AllocateHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateHostsRequest', ], 'output' => [ 'shape' => 'AllocateHostsResult', ], ], 'AssignPrivateIpAddresses' => [ 'name' => 'AssignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignPrivateIpAddressesRequest', ], ], 'AssociateAddress' => [ 'name' => 'AssociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAddressRequest', ], 'output' => [ 'shape' => 'AssociateAddressResult', ], ], 'AssociateDhcpOptions' => [ 'name' => 'AssociateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDhcpOptionsRequest', ], ], 'AssociateRouteTable' => [ 'name' => 'AssociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateRouteTableRequest', ], 'output' => [ 'shape' => 'AssociateRouteTableResult', ], ], 'AttachClassicLinkVpc' => [ 'name' => 'AttachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'AttachClassicLinkVpcResult', ], ], 'AttachInternetGateway' => [ 'name' => 'AttachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInternetGatewayRequest', ], ], 'AttachNetworkInterface' => [ 'name' => 'AttachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'AttachNetworkInterfaceResult', ], ], 'AttachVolume' => [ 'name' => 'AttachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'AttachVpnGateway' => [ 'name' => 'AttachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVpnGatewayRequest', ], 'output' => [ 'shape' => 'AttachVpnGatewayResult', ], ], 'AuthorizeSecurityGroupEgress' => [ 'name' => 'AuthorizeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupEgressRequest', ], ], 'AuthorizeSecurityGroupIngress' => [ 'name' => 'AuthorizeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupIngressRequest', ], ], 'BundleInstance' => [ 'name' => 'BundleInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BundleInstanceRequest', ], 'output' => [ 'shape' => 'BundleInstanceResult', ], ], 'CancelBundleTask' => [ 'name' => 'CancelBundleTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelBundleTaskRequest', ], 'output' => [ 'shape' => 'CancelBundleTaskResult', ], ], 'CancelConversionTask' => [ 'name' => 'CancelConversionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelConversionRequest', ], ], 'CancelExportTask' => [ 'name' => 'CancelExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelExportTaskRequest', ], ], 'CancelImportTask' => [ 'name' => 'CancelImportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelImportTaskRequest', ], 'output' => [ 'shape' => 'CancelImportTaskResult', ], ], 'CancelReservedInstancesListing' => [ 'name' => 'CancelReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CancelReservedInstancesListingResult', ], ], 'CancelSpotFleetRequests' => [ 'name' => 'CancelSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotFleetRequestsResponse', ], ], 'CancelSpotInstanceRequests' => [ 'name' => 'CancelSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotInstanceRequestsResult', ], ], 'ConfirmProductInstance' => [ 'name' => 'ConfirmProductInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmProductInstanceRequest', ], 'output' => [ 'shape' => 'ConfirmProductInstanceResult', ], ], 'CopyImage' => [ 'name' => 'CopyImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyImageRequest', ], 'output' => [ 'shape' => 'CopyImageResult', ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotRequest', ], 'output' => [ 'shape' => 'CopySnapshotResult', ], ], 'CreateCustomerGateway' => [ 'name' => 'CreateCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomerGatewayRequest', ], 'output' => [ 'shape' => 'CreateCustomerGatewayResult', ], ], 'CreateDhcpOptions' => [ 'name' => 'CreateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDhcpOptionsRequest', ], 'output' => [ 'shape' => 'CreateDhcpOptionsResult', ], ], 'CreateFlowLogs' => [ 'name' => 'CreateFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFlowLogsRequest', ], 'output' => [ 'shape' => 'CreateFlowLogsResult', ], ], 'CreateImage' => [ 'name' => 'CreateImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageRequest', ], 'output' => [ 'shape' => 'CreateImageResult', ], ], 'CreateInstanceExportTask' => [ 'name' => 'CreateInstanceExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceExportTaskRequest', ], 'output' => [ 'shape' => 'CreateInstanceExportTaskResult', ], ], 'CreateInternetGateway' => [ 'name' => 'CreateInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInternetGatewayRequest', ], 'output' => [ 'shape' => 'CreateInternetGatewayResult', ], ], 'CreateKeyPair' => [ 'name' => 'CreateKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyPairRequest', ], 'output' => [ 'shape' => 'KeyPair', ], ], 'CreateNatGateway' => [ 'name' => 'CreateNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNatGatewayRequest', ], 'output' => [ 'shape' => 'CreateNatGatewayResult', ], ], 'CreateNetworkAcl' => [ 'name' => 'CreateNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclRequest', ], 'output' => [ 'shape' => 'CreateNetworkAclResult', ], ], 'CreateNetworkAclEntry' => [ 'name' => 'CreateNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclEntryRequest', ], ], 'CreateNetworkInterface' => [ 'name' => 'CreateNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'CreateNetworkInterfaceResult', ], ], 'CreatePlacementGroup' => [ 'name' => 'CreatePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlacementGroupRequest', ], ], 'CreateReservedInstancesListing' => [ 'name' => 'CreateReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CreateReservedInstancesListingResult', ], ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteRequest', ], 'output' => [ 'shape' => 'CreateRouteResult', ], ], 'CreateRouteTable' => [ 'name' => 'CreateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteTableRequest', ], 'output' => [ 'shape' => 'CreateRouteTableResult', ], ], 'CreateSecurityGroup' => [ 'name' => 'CreateSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityGroupRequest', ], 'output' => [ 'shape' => 'CreateSecurityGroupResult', ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotRequest', ], 'output' => [ 'shape' => 'Snapshot', ], ], 'CreateSpotDatafeedSubscription' => [ 'name' => 'CreateSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateSpotDatafeedSubscriptionResult', ], ], 'CreateSubnet' => [ 'name' => 'CreateSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubnetRequest', ], 'output' => [ 'shape' => 'CreateSubnetResult', ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], ], 'CreateVolume' => [ 'name' => 'CreateVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVolumeRequest', ], 'output' => [ 'shape' => 'Volume', ], ], 'CreateVpc' => [ 'name' => 'CreateVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcRequest', ], 'output' => [ 'shape' => 'CreateVpcResult', ], ], 'CreateVpcEndpoint' => [ 'name' => 'CreateVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointResult', ], ], 'CreateVpcPeeringConnection' => [ 'name' => 'CreateVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpcPeeringConnectionResult', ], ], 'CreateVpnConnection' => [ 'name' => 'CreateVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpnConnectionResult', ], ], 'CreateVpnConnectionRoute' => [ 'name' => 'CreateVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRouteRequest', ], ], 'CreateVpnGateway' => [ 'name' => 'CreateVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnGatewayRequest', ], 'output' => [ 'shape' => 'CreateVpnGatewayResult', ], ], 'DeleteCustomerGateway' => [ 'name' => 'DeleteCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomerGatewayRequest', ], ], 'DeleteDhcpOptions' => [ 'name' => 'DeleteDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDhcpOptionsRequest', ], ], 'DeleteFlowLogs' => [ 'name' => 'DeleteFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFlowLogsRequest', ], 'output' => [ 'shape' => 'DeleteFlowLogsResult', ], ], 'DeleteInternetGateway' => [ 'name' => 'DeleteInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInternetGatewayRequest', ], ], 'DeleteKeyPair' => [ 'name' => 'DeleteKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKeyPairRequest', ], ], 'DeleteNatGateway' => [ 'name' => 'DeleteNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNatGatewayRequest', ], 'output' => [ 'shape' => 'DeleteNatGatewayResult', ], ], 'DeleteNetworkAcl' => [ 'name' => 'DeleteNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclRequest', ], ], 'DeleteNetworkAclEntry' => [ 'name' => 'DeleteNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclEntryRequest', ], ], 'DeleteNetworkInterface' => [ 'name' => 'DeleteNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkInterfaceRequest', ], ], 'DeletePlacementGroup' => [ 'name' => 'DeletePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlacementGroupRequest', ], ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteRequest', ], ], 'DeleteRouteTable' => [ 'name' => 'DeleteRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteTableRequest', ], ], 'DeleteSecurityGroup' => [ 'name' => 'DeleteSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityGroupRequest', ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotRequest', ], ], 'DeleteSpotDatafeedSubscription' => [ 'name' => 'DeleteSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSpotDatafeedSubscriptionRequest', ], ], 'DeleteSubnet' => [ 'name' => 'DeleteSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubnetRequest', ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], ], 'DeleteVolume' => [ 'name' => 'DeleteVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVolumeRequest', ], ], 'DeleteVpc' => [ 'name' => 'DeleteVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcRequest', ], ], 'DeleteVpcEndpoints' => [ 'name' => 'DeleteVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointsResult', ], ], 'DeleteVpcPeeringConnection' => [ 'name' => 'DeleteVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'DeleteVpcPeeringConnectionResult', ], ], 'DeleteVpnConnection' => [ 'name' => 'DeleteVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRequest', ], ], 'DeleteVpnConnectionRoute' => [ 'name' => 'DeleteVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRouteRequest', ], ], 'DeleteVpnGateway' => [ 'name' => 'DeleteVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnGatewayRequest', ], ], 'DeregisterImage' => [ 'name' => 'DeregisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterImageRequest', ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResult', ], ], 'DescribeAddresses' => [ 'name' => 'DescribeAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressesRequest', ], 'output' => [ 'shape' => 'DescribeAddressesResult', ], ], 'DescribeAvailabilityZones' => [ 'name' => 'DescribeAvailabilityZones', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailabilityZonesRequest', ], 'output' => [ 'shape' => 'DescribeAvailabilityZonesResult', ], ], 'DescribeBundleTasks' => [ 'name' => 'DescribeBundleTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBundleTasksRequest', ], 'output' => [ 'shape' => 'DescribeBundleTasksResult', ], ], 'DescribeClassicLinkInstances' => [ 'name' => 'DescribeClassicLinkInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClassicLinkInstancesRequest', ], 'output' => [ 'shape' => 'DescribeClassicLinkInstancesResult', ], ], 'DescribeConversionTasks' => [ 'name' => 'DescribeConversionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConversionTasksRequest', ], 'output' => [ 'shape' => 'DescribeConversionTasksResult', ], ], 'DescribeCustomerGateways' => [ 'name' => 'DescribeCustomerGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCustomerGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeCustomerGatewaysResult', ], ], 'DescribeDhcpOptions' => [ 'name' => 'DescribeDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDhcpOptionsRequest', ], 'output' => [ 'shape' => 'DescribeDhcpOptionsResult', ], ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResult', ], ], 'DescribeFlowLogs' => [ 'name' => 'DescribeFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFlowLogsRequest', ], 'output' => [ 'shape' => 'DescribeFlowLogsResult', ], ], 'DescribeHosts' => [ 'name' => 'DescribeHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostsRequest', ], 'output' => [ 'shape' => 'DescribeHostsResult', ], ], 'DescribeIdFormat' => [ 'name' => 'DescribeIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdFormatResult', ], ], 'DescribeImageAttribute' => [ 'name' => 'DescribeImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImageAttributeRequest', ], 'output' => [ 'shape' => 'ImageAttribute', ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResult', ], ], 'DescribeImportImageTasks' => [ 'name' => 'DescribeImportImageTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportImageTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportImageTasksResult', ], ], 'DescribeImportSnapshotTasks' => [ 'name' => 'DescribeImportSnapshotTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportSnapshotTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportSnapshotTasksResult', ], ], 'DescribeInstanceAttribute' => [ 'name' => 'DescribeInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceAttributeRequest', ], 'output' => [ 'shape' => 'InstanceAttribute', ], ], 'DescribeInstanceStatus' => [ 'name' => 'DescribeInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceStatusRequest', ], 'output' => [ 'shape' => 'DescribeInstanceStatusResult', ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesRequest', ], 'output' => [ 'shape' => 'DescribeInstancesResult', ], ], 'DescribeInternetGateways' => [ 'name' => 'DescribeInternetGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInternetGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeInternetGatewaysResult', ], ], 'DescribeKeyPairs' => [ 'name' => 'DescribeKeyPairs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyPairsRequest', ], 'output' => [ 'shape' => 'DescribeKeyPairsResult', ], ], 'DescribeMovingAddresses' => [ 'name' => 'DescribeMovingAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMovingAddressesRequest', ], 'output' => [ 'shape' => 'DescribeMovingAddressesResult', ], ], 'DescribeNatGateways' => [ 'name' => 'DescribeNatGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNatGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeNatGatewaysResult', ], ], 'DescribeNetworkAcls' => [ 'name' => 'DescribeNetworkAcls', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkAclsRequest', ], 'output' => [ 'shape' => 'DescribeNetworkAclsResult', ], ], 'DescribeNetworkInterfaceAttribute' => [ 'name' => 'DescribeNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfaceAttributeRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfaceAttributeResult', ], ], 'DescribeNetworkInterfaces' => [ 'name' => 'DescribeNetworkInterfaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfacesRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfacesResult', ], ], 'DescribePlacementGroups' => [ 'name' => 'DescribePlacementGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlacementGroupsRequest', ], 'output' => [ 'shape' => 'DescribePlacementGroupsResult', ], ], 'DescribePrefixLists' => [ 'name' => 'DescribePrefixLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePrefixListsRequest', ], 'output' => [ 'shape' => 'DescribePrefixListsResult', ], ], 'DescribeRegions' => [ 'name' => 'DescribeRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRegionsRequest', ], 'output' => [ 'shape' => 'DescribeRegionsResult', ], ], 'DescribeReservedInstances' => [ 'name' => 'DescribeReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesResult', ], ], 'DescribeReservedInstancesListings' => [ 'name' => 'DescribeReservedInstancesListings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesListingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesListingsResult', ], ], 'DescribeReservedInstancesModifications' => [ 'name' => 'DescribeReservedInstancesModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesModificationsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesModificationsResult', ], ], 'DescribeReservedInstancesOfferings' => [ 'name' => 'DescribeReservedInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesOfferingsResult', ], ], 'DescribeRouteTables' => [ 'name' => 'DescribeRouteTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRouteTablesRequest', ], 'output' => [ 'shape' => 'DescribeRouteTablesResult', ], ], 'DescribeScheduledInstanceAvailability' => [ 'name' => 'DescribeScheduledInstanceAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityResult', ], ], 'DescribeScheduledInstances' => [ 'name' => 'DescribeScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstancesRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstancesResult', ], ], 'DescribeSecurityGroupReferences' => [ 'name' => 'DescribeSecurityGroupReferences', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupReferencesRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupReferencesResult', ], ], 'DescribeSecurityGroups' => [ 'name' => 'DescribeSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupsResult', ], ], 'DescribeSnapshotAttribute' => [ 'name' => 'DescribeSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotAttributeRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotAttributeResult', ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotsResult', ], ], 'DescribeSpotDatafeedSubscription' => [ 'name' => 'DescribeSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionResult', ], ], 'DescribeSpotFleetInstances' => [ 'name' => 'DescribeSpotFleetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetInstancesRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetInstancesResponse', ], ], 'DescribeSpotFleetRequestHistory' => [ 'name' => 'DescribeSpotFleetRequestHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestHistoryResponse', ], ], 'DescribeSpotFleetRequests' => [ 'name' => 'DescribeSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestsResponse', ], ], 'DescribeSpotInstanceRequests' => [ 'name' => 'DescribeSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotInstanceRequestsResult', ], ], 'DescribeSpotPriceHistory' => [ 'name' => 'DescribeSpotPriceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotPriceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotPriceHistoryResult', ], ], 'DescribeStaleSecurityGroups' => [ 'name' => 'DescribeStaleSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStaleSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeStaleSecurityGroupsResult', ], ], 'DescribeSubnets' => [ 'name' => 'DescribeSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubnetsRequest', ], 'output' => [ 'shape' => 'DescribeSubnetsResult', ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResult', ], ], 'DescribeVolumeAttribute' => [ 'name' => 'DescribeVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVolumeAttributeResult', ], ], 'DescribeVolumeStatus' => [ 'name' => 'DescribeVolumeStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeStatusRequest', ], 'output' => [ 'shape' => 'DescribeVolumeStatusResult', ], ], 'DescribeVolumes' => [ 'name' => 'DescribeVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesRequest', ], 'output' => [ 'shape' => 'DescribeVolumesResult', ], ], 'DescribeVpcAttribute' => [ 'name' => 'DescribeVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVpcAttributeResult', ], ], 'DescribeVpcClassicLink' => [ 'name' => 'DescribeVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkResult', ], ], 'DescribeVpcClassicLinkDnsSupport' => [ 'name' => 'DescribeVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportResult', ], ], 'DescribeVpcEndpointServices' => [ 'name' => 'DescribeVpcEndpointServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServicesRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServicesResult', ], ], 'DescribeVpcEndpoints' => [ 'name' => 'DescribeVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointsResult', ], ], 'DescribeVpcPeeringConnections' => [ 'name' => 'DescribeVpcPeeringConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcPeeringConnectionsResult', ], ], 'DescribeVpcs' => [ 'name' => 'DescribeVpcs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcsRequest', ], 'output' => [ 'shape' => 'DescribeVpcsResult', ], ], 'DescribeVpnConnections' => [ 'name' => 'DescribeVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpnConnectionsResult', ], ], 'DescribeVpnGateways' => [ 'name' => 'DescribeVpnGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeVpnGatewaysResult', ], ], 'DetachClassicLinkVpc' => [ 'name' => 'DetachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'DetachClassicLinkVpcResult', ], ], 'DetachInternetGateway' => [ 'name' => 'DetachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInternetGatewayRequest', ], ], 'DetachNetworkInterface' => [ 'name' => 'DetachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachNetworkInterfaceRequest', ], ], 'DetachVolume' => [ 'name' => 'DetachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'DetachVpnGateway' => [ 'name' => 'DetachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVpnGatewayRequest', ], ], 'DisableVgwRoutePropagation' => [ 'name' => 'DisableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVgwRoutePropagationRequest', ], ], 'DisableVpcClassicLink' => [ 'name' => 'DisableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkResult', ], ], 'DisableVpcClassicLinkDnsSupport' => [ 'name' => 'DisableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportResult', ], ], 'DisassociateAddress' => [ 'name' => 'DisassociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAddressRequest', ], ], 'DisassociateRouteTable' => [ 'name' => 'DisassociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateRouteTableRequest', ], ], 'EnableVgwRoutePropagation' => [ 'name' => 'EnableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVgwRoutePropagationRequest', ], ], 'EnableVolumeIO' => [ 'name' => 'EnableVolumeIO', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVolumeIORequest', ], ], 'EnableVpcClassicLink' => [ 'name' => 'EnableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkResult', ], ], 'EnableVpcClassicLinkDnsSupport' => [ 'name' => 'EnableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportResult', ], ], 'GetConsoleOutput' => [ 'name' => 'GetConsoleOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleOutputRequest', ], 'output' => [ 'shape' => 'GetConsoleOutputResult', ], ], 'GetConsoleScreenshot' => [ 'name' => 'GetConsoleScreenshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleScreenshotRequest', ], 'output' => [ 'shape' => 'GetConsoleScreenshotResult', ], ], 'GetPasswordData' => [ 'name' => 'GetPasswordData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPasswordDataRequest', ], 'output' => [ 'shape' => 'GetPasswordDataResult', ], ], 'ImportImage' => [ 'name' => 'ImportImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportImageRequest', ], 'output' => [ 'shape' => 'ImportImageResult', ], ], 'ImportInstance' => [ 'name' => 'ImportInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportInstanceRequest', ], 'output' => [ 'shape' => 'ImportInstanceResult', ], ], 'ImportKeyPair' => [ 'name' => 'ImportKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyPairRequest', ], 'output' => [ 'shape' => 'ImportKeyPairResult', ], ], 'ImportSnapshot' => [ 'name' => 'ImportSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSnapshotRequest', ], 'output' => [ 'shape' => 'ImportSnapshotResult', ], ], 'ImportVolume' => [ 'name' => 'ImportVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportVolumeRequest', ], 'output' => [ 'shape' => 'ImportVolumeResult', ], ], 'ModifyHosts' => [ 'name' => 'ModifyHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHostsRequest', ], 'output' => [ 'shape' => 'ModifyHostsResult', ], ], 'ModifyIdFormat' => [ 'name' => 'ModifyIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdFormatRequest', ], ], 'ModifyImageAttribute' => [ 'name' => 'ModifyImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyImageAttributeRequest', ], ], 'ModifyInstanceAttribute' => [ 'name' => 'ModifyInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceAttributeRequest', ], ], 'ModifyInstancePlacement' => [ 'name' => 'ModifyInstancePlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstancePlacementRequest', ], 'output' => [ 'shape' => 'ModifyInstancePlacementResult', ], ], 'ModifyNetworkInterfaceAttribute' => [ 'name' => 'ModifyNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyNetworkInterfaceAttributeRequest', ], ], 'ModifyReservedInstances' => [ 'name' => 'ModifyReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReservedInstancesRequest', ], 'output' => [ 'shape' => 'ModifyReservedInstancesResult', ], ], 'ModifySnapshotAttribute' => [ 'name' => 'ModifySnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotAttributeRequest', ], ], 'ModifySpotFleetRequest' => [ 'name' => 'ModifySpotFleetRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySpotFleetRequestRequest', ], 'output' => [ 'shape' => 'ModifySpotFleetRequestResponse', ], ], 'ModifySubnetAttribute' => [ 'name' => 'ModifySubnetAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySubnetAttributeRequest', ], ], 'ModifyVolumeAttribute' => [ 'name' => 'ModifyVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVolumeAttributeRequest', ], ], 'ModifyVpcAttribute' => [ 'name' => 'ModifyVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcAttributeRequest', ], ], 'ModifyVpcEndpoint' => [ 'name' => 'ModifyVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointResult', ], ], 'ModifyVpcPeeringConnectionOptions' => [ 'name' => 'ModifyVpcPeeringConnectionOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsRequest', ], 'output' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsResult', ], ], 'MonitorInstances' => [ 'name' => 'MonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MonitorInstancesRequest', ], 'output' => [ 'shape' => 'MonitorInstancesResult', ], ], 'MoveAddressToVpc' => [ 'name' => 'MoveAddressToVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MoveAddressToVpcRequest', ], 'output' => [ 'shape' => 'MoveAddressToVpcResult', ], ], 'PurchaseReservedInstancesOffering' => [ 'name' => 'PurchaseReservedInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedInstancesOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseReservedInstancesOfferingResult', ], ], 'PurchaseScheduledInstances' => [ 'name' => 'PurchaseScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseScheduledInstancesRequest', ], 'output' => [ 'shape' => 'PurchaseScheduledInstancesResult', ], ], 'RebootInstances' => [ 'name' => 'RebootInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstancesRequest', ], ], 'RegisterImage' => [ 'name' => 'RegisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterImageRequest', ], 'output' => [ 'shape' => 'RegisterImageResult', ], ], 'RejectVpcPeeringConnection' => [ 'name' => 'RejectVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'RejectVpcPeeringConnectionResult', ], ], 'ReleaseAddress' => [ 'name' => 'ReleaseAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseAddressRequest', ], ], 'ReleaseHosts' => [ 'name' => 'ReleaseHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseHostsRequest', ], 'output' => [ 'shape' => 'ReleaseHostsResult', ], ], 'ReplaceNetworkAclAssociation' => [ 'name' => 'ReplaceNetworkAclAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceNetworkAclAssociationResult', ], ], 'ReplaceNetworkAclEntry' => [ 'name' => 'ReplaceNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclEntryRequest', ], ], 'ReplaceRoute' => [ 'name' => 'ReplaceRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteRequest', ], ], 'ReplaceRouteTableAssociation' => [ 'name' => 'ReplaceRouteTableAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteTableAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceRouteTableAssociationResult', ], ], 'ReportInstanceStatus' => [ 'name' => 'ReportInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportInstanceStatusRequest', ], ], 'RequestSpotFleet' => [ 'name' => 'RequestSpotFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotFleetRequest', ], 'output' => [ 'shape' => 'RequestSpotFleetResponse', ], ], 'RequestSpotInstances' => [ 'name' => 'RequestSpotInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotInstancesRequest', ], 'output' => [ 'shape' => 'RequestSpotInstancesResult', ], ], 'ResetImageAttribute' => [ 'name' => 'ResetImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetImageAttributeRequest', ], ], 'ResetInstanceAttribute' => [ 'name' => 'ResetInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetInstanceAttributeRequest', ], ], 'ResetNetworkInterfaceAttribute' => [ 'name' => 'ResetNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetNetworkInterfaceAttributeRequest', ], ], 'ResetSnapshotAttribute' => [ 'name' => 'ResetSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetSnapshotAttributeRequest', ], ], 'RestoreAddressToClassic' => [ 'name' => 'RestoreAddressToClassic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreAddressToClassicRequest', ], 'output' => [ 'shape' => 'RestoreAddressToClassicResult', ], ], 'RevokeSecurityGroupEgress' => [ 'name' => 'RevokeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupEgressRequest', ], ], 'RevokeSecurityGroupIngress' => [ 'name' => 'RevokeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupIngressRequest', ], ], 'RunInstances' => [ 'name' => 'RunInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunInstancesRequest', ], 'output' => [ 'shape' => 'Reservation', ], ], 'RunScheduledInstances' => [ 'name' => 'RunScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunScheduledInstancesRequest', ], 'output' => [ 'shape' => 'RunScheduledInstancesResult', ], ], 'StartInstances' => [ 'name' => 'StartInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstancesRequest', ], 'output' => [ 'shape' => 'StartInstancesResult', ], ], 'StopInstances' => [ 'name' => 'StopInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstancesRequest', ], 'output' => [ 'shape' => 'StopInstancesResult', ], ], 'TerminateInstances' => [ 'name' => 'TerminateInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateInstancesRequest', ], 'output' => [ 'shape' => 'TerminateInstancesResult', ], ], 'UnassignPrivateIpAddresses' => [ 'name' => 'UnassignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignPrivateIpAddressesRequest', ], ], 'UnmonitorInstances' => [ 'name' => 'UnmonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnmonitorInstancesRequest', ], 'output' => [ 'shape' => 'UnmonitorInstancesResult', ], ], ], 'shapes' => [ 'AcceptVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'AcceptVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', 'locationName' => 'attributeName', ], 'AttributeValues' => [ 'shape' => 'AccountAttributeValueList', 'locationName' => 'attributeValueSet', ], ], ], 'AccountAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', 'locationName' => 'item', ], ], 'AccountAttributeName' => [ 'type' => 'string', 'enum' => [ 'supported-platforms', 'default-vpc', ], ], 'AccountAttributeNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeName', 'locationName' => 'attributeName', ], ], 'AccountAttributeValue' => [ 'type' => 'structure', 'members' => [ 'AttributeValue' => [ 'shape' => 'String', 'locationName' => 'attributeValue', ], ], ], 'AccountAttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeValue', 'locationName' => 'item', ], ], 'ActiveInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], ], ], 'ActiveInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActiveInstance', 'locationName' => 'item', ], ], 'Address' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'NetworkInterfaceOwnerId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceOwnerId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', 'locationName' => 'item', ], ], 'Affinity' => [ 'type' => 'string', 'enum' => [ 'default', 'host', ], ], 'AllocateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Domain' => [ 'shape' => 'DomainType', ], ], ], 'AllocateAddressResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], ], ], 'AllocateHostsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'Quantity', 'AvailabilityZone', ], 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Quantity' => [ 'shape' => 'Integer', 'locationName' => 'quantity', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'AllocateHostsResult' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'hostIdSet', ], ], ], 'AllocationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AllocationId', ], ], 'AllocationState' => [ 'type' => 'string', 'enum' => [ 'available', 'under-assessment', 'permanent-failure', 'released', 'released-permanent-failure', ], ], 'AllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowestPrice', 'diversified', ], ], 'ArchitectureValues' => [ 'type' => 'string', 'enum' => [ 'i386', 'x86_64', ], ], 'AssignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AllowReassignment' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassignment', ], ], ], 'AssociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'AllowReassociation' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassociation', ], ], ], 'AssociateAddressResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AssociateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AssociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'AssociateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AttachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', 'Groups', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'AttachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'AttachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AttachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'InstanceId', 'DeviceIndex', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], ], ], 'AttachNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], ], ], 'AttachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', 'InstanceId', 'Device', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpcAttachment' => [ 'shape' => 'VpcAttachment', 'locationName' => 'attachment', ], ], ], 'AttachmentStatus' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'AttributeBooleanValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', 'locationName' => 'value', ], ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'AuthorizeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'AuthorizeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'AutoPlacement' => [ 'type' => 'string', 'enum' => [ 'on', 'off', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'ZoneName' => [ 'shape' => 'String', 'locationName' => 'zoneName', ], 'State' => [ 'shape' => 'AvailabilityZoneState', 'locationName' => 'zoneState', ], 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Messages' => [ 'shape' => 'AvailabilityZoneMessageList', 'locationName' => 'messageSet', ], ], ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'item', ], ], 'AvailabilityZoneMessage' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'AvailabilityZoneMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZoneMessage', 'locationName' => 'item', ], ], 'AvailabilityZoneState' => [ 'type' => 'string', 'enum' => [ 'available', 'information', 'impaired', 'unavailable', ], ], 'AvailableCapacity' => [ 'type' => 'structure', 'members' => [ 'AvailableInstanceCapacity' => [ 'shape' => 'AvailableInstanceCapacityList', 'locationName' => 'availableInstanceCapacity', ], 'AvailableVCpus' => [ 'shape' => 'Integer', 'locationName' => 'availableVCpus', ], ], ], 'AvailableInstanceCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCapacity', 'locationName' => 'item', ], ], 'BatchState' => [ 'type' => 'string', 'enum' => [ 'submitted', 'active', 'cancelled', 'failed', 'cancelled_running', 'cancelled_terminating', 'modifying', ], ], 'Blob' => [ 'type' => 'blob', ], 'BlobAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Blob', 'locationName' => 'value', ], ], ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsBlockDevice', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'BlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'item', ], ], 'BlockDeviceMappingRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BundleIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'BundleId', ], ], 'BundleInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Storage', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'Storage' => [ 'shape' => 'Storage', ], ], ], 'BundleInstanceResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'BundleTask' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'BundleId' => [ 'shape' => 'String', 'locationName' => 'bundleId', ], 'State' => [ 'shape' => 'BundleTaskState', 'locationName' => 'state', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Storage' => [ 'shape' => 'Storage', 'locationName' => 'storage', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'BundleTaskError' => [ 'shape' => 'BundleTaskError', 'locationName' => 'error', ], ], ], 'BundleTaskError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'BundleTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleTask', 'locationName' => 'item', ], ], 'BundleTaskState' => [ 'type' => 'string', 'enum' => [ 'pending', 'waiting-for-shutdown', 'bundling', 'storing', 'cancelling', 'complete', 'failed', ], ], 'CancelBatchErrorCode' => [ 'type' => 'string', 'enum' => [ 'fleetRequestIdDoesNotExist', 'fleetRequestIdMalformed', 'fleetRequestNotInCancellableState', 'unexpectedError', ], ], 'CancelBundleTaskRequest' => [ 'type' => 'structure', 'required' => [ 'BundleId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleId' => [ 'shape' => 'String', ], ], ], 'CancelBundleTaskResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'CancelConversionRequest' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ReasonMessage' => [ 'shape' => 'String', 'locationName' => 'reasonMessage', ], ], ], 'CancelExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ExportTaskId', ], 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], ], ], 'CancelImportTaskRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskId' => [ 'shape' => 'String', ], 'CancelReason' => [ 'shape' => 'String', ], ], ], 'CancelImportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'PreviousState' => [ 'shape' => 'String', 'locationName' => 'previousState', ], ], ], 'CancelReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesListingId', ], 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], ], ], 'CancelReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CancelSpotFleetRequestsError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'Error', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'Error' => [ 'shape' => 'CancelSpotFleetRequestsError', 'locationName' => 'error', ], ], ], 'CancelSpotFleetRequestsErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsErrorItem', 'locationName' => 'item', ], ], 'CancelSpotFleetRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestIds', 'TerminateInstances', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'TerminateInstances' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstances', ], ], ], 'CancelSpotFleetRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'UnsuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsErrorSet', 'locationName' => 'unsuccessfulFleetRequestSet', ], 'SuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsSuccessSet', 'locationName' => 'successfulFleetRequestSet', ], ], ], 'CancelSpotFleetRequestsSuccessItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'CurrentSpotFleetRequestState', 'PreviousSpotFleetRequestState', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'CurrentSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'currentSpotFleetRequestState', ], 'PreviousSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'previousSpotFleetRequestState', ], ], ], 'CancelSpotFleetRequestsSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsSuccessItem', 'locationName' => 'item', ], ], 'CancelSpotInstanceRequestState' => [ 'type' => 'string', 'enum' => [ 'active', 'open', 'closed', 'cancelled', 'completed', ], ], 'CancelSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotInstanceRequestIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], ], ], 'CancelSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'CancelledSpotInstanceRequests' => [ 'shape' => 'CancelledSpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'CancelledSpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'State' => [ 'shape' => 'CancelSpotInstanceRequestState', 'locationName' => 'state', ], ], ], 'CancelledSpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelledSpotInstanceRequest', 'locationName' => 'item', ], ], 'ClassicLinkDnsSupport' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkDnsSupported' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkDnsSupported', ], ], ], 'ClassicLinkDnsSupportList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkDnsSupport', 'locationName' => 'item', ], ], 'ClassicLinkInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ClassicLinkInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkInstance', 'locationName' => 'item', ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'UploadStart' => [ 'shape' => 'DateTime', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'Comment' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ProductCode' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceResult' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ContainerFormat' => [ 'type' => 'string', 'enum' => [ 'ova', ], ], 'ConversionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ConversionTask' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', 'State', ], 'members' => [ 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ExpirationTime' => [ 'shape' => 'String', 'locationName' => 'expirationTime', ], 'ImportInstance' => [ 'shape' => 'ImportInstanceTaskDetails', 'locationName' => 'importInstance', ], 'ImportVolume' => [ 'shape' => 'ImportVolumeTaskDetails', 'locationName' => 'importVolume', ], 'State' => [ 'shape' => 'ConversionTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ConversionTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'CopyImageRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceImageId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceImageId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopyImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CopySnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceSnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceSnapshotId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', 'locationName' => 'destinationRegion', ], 'PresignedUrl' => [ 'shape' => 'String', 'locationName' => 'presignedUrl', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], ], ], 'CreateCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'PublicIp', 'BgpAsn', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'IpAddress', ], 'BgpAsn' => [ 'shape' => 'Integer', ], ], ], 'CreateCustomerGatewayResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateway' => [ 'shape' => 'CustomerGateway', 'locationName' => 'customerGateway', ], ], ], 'CreateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpConfigurations', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpConfigurations' => [ 'shape' => 'NewDhcpConfigurationList', 'locationName' => 'dhcpConfiguration', ], ], ], 'CreateDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptions', 'locationName' => 'dhcpOptions', ], ], ], 'CreateFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIds', 'ResourceType', 'TrafficType', 'LogGroupName', 'DeliverLogsPermissionArn', ], 'members' => [ 'ResourceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'FlowLogsResourceType', ], 'TrafficType' => [ 'shape' => 'TrafficType', ], 'LogGroupName' => [ 'shape' => 'String', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'flowLogIdSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'CreateImageRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NoReboot' => [ 'shape' => 'Boolean', 'locationName' => 'noReboot', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'blockDeviceMapping', ], ], ], 'CreateImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CreateInstanceExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3TaskSpecification', 'locationName' => 'exportToS3', ], ], ], 'CreateInstanceExportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ExportTask' => [ 'shape' => 'ExportTask', 'locationName' => 'exportTask', ], ], ], 'CreateInternetGatewayRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateway' => [ 'shape' => 'InternetGateway', 'locationName' => 'internetGateway', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'AllocationId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGateway' => [ 'shape' => 'NatGateway', 'locationName' => 'natGateway', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'CreateNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateNetworkAclResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcl' => [ 'shape' => 'NetworkAcl', 'locationName' => 'networkAcl', ], ], ], 'CreateNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterface' => [ 'shape' => 'NetworkInterface', 'locationName' => 'networkInterface', ], ], ], 'CreatePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Strategy', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], ], ], 'CreateReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesId', 'InstanceCount', 'PriceSchedules', 'ClientToken', ], 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleSpecificationList', 'locationName' => 'priceSchedules', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CreateRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'CreateRouteResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'CreateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'RouteTable' => [ 'shape' => 'RouteTable', 'locationName' => 'routeTable', ], ], ], 'CreateSecurityGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Description', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'GroupDescription', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'CreateSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'CreateSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], ], ], 'CreateSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'CreateSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'CidrBlock' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateSubnetResult' => [ 'type' => 'structure', 'members' => [ 'Subnet' => [ 'shape' => 'Subnet', 'locationName' => 'subnet', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', 'Tags', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'CreateVolumePermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'CreateVolumePermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateVolumePermission', 'locationName' => 'item', ], ], 'CreateVolumePermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'CreateVolumePermissionList', ], 'Remove' => [ 'shape' => 'CreateVolumePermissionList', ], ], ], 'CreateVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Size' => [ 'shape' => 'Integer', ], 'SnapshotId' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'ServiceName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'ServiceName' => [ 'shape' => 'String', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoint' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'vpcEndpoint', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeerVpcId' => [ 'shape' => 'String', 'locationName' => 'peerVpcId', ], 'PeerOwnerId' => [ 'shape' => 'String', 'locationName' => 'peerOwnerId', ], ], ], 'CreateVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'CreateVpcRequest' => [ 'type' => 'structure', 'required' => [ 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CidrBlock' => [ 'shape' => 'String', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], ], ], 'CreateVpcResult' => [ 'type' => 'structure', 'members' => [ 'Vpc' => [ 'shape' => 'Vpc', 'locationName' => 'vpc', ], ], ], 'CreateVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'CustomerGatewayId', 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'String', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'VpnConnectionOptionsSpecification', 'locationName' => 'options', ], ], ], 'CreateVpnConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnection' => [ 'shape' => 'VpnConnection', 'locationName' => 'vpnConnection', ], ], ], 'CreateVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateway' => [ 'shape' => 'VpnGateway', 'locationName' => 'vpnGateway', ], ], ], 'CurrencyCodeValues' => [ 'type' => 'string', 'enum' => [ 'USD', ], ], 'CustomerGateway' => [ 'type' => 'structure', 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], 'IpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'BgpAsn' => [ 'shape' => 'String', 'locationName' => 'bgpAsn', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'CustomerGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CustomerGatewayId', ], ], 'CustomerGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerGateway', 'locationName' => 'item', ], ], 'DatafeedSubscriptionState' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'CustomerGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], ], ], 'DeleteFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'FlowLogIds', ], 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], ], ], 'DeleteFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], ], ], 'DeleteKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'NatGatewayId', ], 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'DeleteNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Egress', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], ], ], 'DeleteNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'DeleteNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'DeletePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'DeleteRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], ], ], 'DeleteRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'DeleteSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'DeleteSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'resourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tag', ], ], ], 'DeleteVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], ], ], 'DeleteVpcEndpointsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'DeleteVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'DeleteVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteVpcRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'DeleteVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], ], ], 'DeregisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], ], ], 'DescribeAccountAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttributeNames' => [ 'shape' => 'AccountAttributeNameStringList', 'locationName' => 'attributeName', ], ], ], 'DescribeAccountAttributesResult' => [ 'type' => 'structure', 'members' => [ 'AccountAttributes' => [ 'shape' => 'AccountAttributeList', 'locationName' => 'accountAttributeSet', ], ], ], 'DescribeAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'PublicIpStringList', 'locationName' => 'PublicIp', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AllocationIds' => [ 'shape' => 'AllocationIdList', 'locationName' => 'AllocationId', ], ], ], 'DescribeAddressesResult' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'AddressList', 'locationName' => 'addressesSet', ], ], ], 'DescribeAvailabilityZonesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ZoneNames' => [ 'shape' => 'ZoneNameStringList', 'locationName' => 'ZoneName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeAvailabilityZonesResult' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', 'locationName' => 'availabilityZoneInfo', ], ], ], 'DescribeBundleTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleIds' => [ 'shape' => 'BundleIdStringList', 'locationName' => 'BundleId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeBundleTasksResult' => [ 'type' => 'structure', 'members' => [ 'BundleTasks' => [ 'shape' => 'BundleTaskList', 'locationName' => 'bundleInstanceTasksSet', ], ], ], 'DescribeClassicLinkInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeClassicLinkInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'ClassicLinkInstanceList', 'locationName' => 'instancesSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeConversionTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConversionTask', 'locationName' => 'item', ], ], 'DescribeConversionTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'ConversionTaskIds' => [ 'shape' => 'ConversionIdStringList', 'locationName' => 'conversionTaskId', ], ], ], 'DescribeConversionTasksResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTasks' => [ 'shape' => 'DescribeConversionTaskList', 'locationName' => 'conversionTasks', ], ], ], 'DescribeCustomerGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayIds' => [ 'shape' => 'CustomerGatewayIdStringList', 'locationName' => 'CustomerGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeCustomerGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateways' => [ 'shape' => 'CustomerGatewayList', 'locationName' => 'customerGatewaySet', ], ], ], 'DescribeDhcpOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsIds' => [ 'shape' => 'DhcpOptionsIdStringList', 'locationName' => 'DhcpOptionsId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptionsList', 'locationName' => 'dhcpOptionsSet', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'ExportTaskIds' => [ 'shape' => 'ExportTaskIdStringList', 'locationName' => 'exportTaskId', ], ], ], 'DescribeExportTasksResult' => [ 'type' => 'structure', 'members' => [ 'ExportTasks' => [ 'shape' => 'ExportTaskList', 'locationName' => 'exportTaskSet', ], ], ], 'DescribeFlowLogsRequest' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogs' => [ 'shape' => 'FlowLogSet', 'locationName' => 'flowLogSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostsRequest' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'Filter' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeHostsResult' => [ 'type' => 'structure', 'members' => [ 'Hosts' => [ 'shape' => 'HostList', 'locationName' => 'hostSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', ], ], ], 'DescribeIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ImageAttributeName', ], ], ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageIds' => [ 'shape' => 'ImageIdStringList', 'locationName' => 'ImageId', ], 'Owners' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'ExecutableUsers' => [ 'shape' => 'ExecutableByStringList', 'locationName' => 'ExecutableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'ImageList', 'locationName' => 'imagesSet', ], ], ], 'DescribeImportImageTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportImageTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportImageTasks' => [ 'shape' => 'ImportImageTaskList', 'locationName' => 'importImageTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeImportSnapshotTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportSnapshotTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportSnapshotTasks' => [ 'shape' => 'ImportSnapshotTaskList', 'locationName' => 'importSnapshotTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'DescribeInstanceStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'IncludeAllInstances' => [ 'shape' => 'Boolean', 'locationName' => 'includeAllInstances', ], ], ], 'DescribeInstanceStatusResult' => [ 'type' => 'structure', 'members' => [ 'InstanceStatuses' => [ 'shape' => 'InstanceStatusList', 'locationName' => 'instanceStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Reservations' => [ 'shape' => 'ReservationList', 'locationName' => 'reservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], ], ], 'DescribeKeyPairsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyNames' => [ 'shape' => 'KeyNameStringList', 'locationName' => 'KeyName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeKeyPairsResult' => [ 'type' => 'structure', 'members' => [ 'KeyPairs' => [ 'shape' => 'KeyPairList', 'locationName' => 'keySet', ], ], ], 'DescribeMovingAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'ValueStringList', 'locationName' => 'publicIp', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeMovingAddressesResult' => [ 'type' => 'structure', 'members' => [ 'MovingAddressStatuses' => [ 'shape' => 'MovingAddressStatusSet', 'locationName' => 'movingAddressStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNatGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'NatGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NatGatewayId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeNatGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'NatGateways' => [ 'shape' => 'NatGatewayList', 'locationName' => 'natGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], ], ], 'DescribeNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Attribute' => [ 'shape' => 'NetworkInterfaceAttribute', 'locationName' => 'attribute', ], ], ], 'DescribeNetworkInterfaceAttributeResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], ], ], 'DescribeNetworkInterfacesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceIds' => [ 'shape' => 'NetworkInterfaceIdList', 'locationName' => 'NetworkInterfaceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeNetworkInterfacesResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaces' => [ 'shape' => 'NetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], ], ], 'DescribePlacementGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'PlacementGroupStringList', 'locationName' => 'groupName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribePlacementGroupsResult' => [ 'type' => 'structure', 'members' => [ 'PlacementGroups' => [ 'shape' => 'PlacementGroupList', 'locationName' => 'placementGroupSet', ], ], ], 'DescribePrefixListsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'PrefixListIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'PrefixListId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribePrefixListsResult' => [ 'type' => 'structure', 'members' => [ 'PrefixLists' => [ 'shape' => 'PrefixListSet', 'locationName' => 'prefixListSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeRegionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RegionNames' => [ 'shape' => 'RegionNameStringList', 'locationName' => 'RegionName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRegionsResult' => [ 'type' => 'structure', 'members' => [ 'Regions' => [ 'shape' => 'RegionList', 'locationName' => 'regionInfo', ], ], ], 'DescribeReservedInstancesListingsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filters', ], ], ], 'DescribeReservedInstancesListingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'DescribeReservedInstancesModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationIds' => [ 'shape' => 'ReservedInstancesModificationIdStringList', 'locationName' => 'ReservedInstancesModificationId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeReservedInstancesModificationsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModifications' => [ 'shape' => 'ReservedInstancesModificationList', 'locationName' => 'reservedInstancesModificationsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingIds' => [ 'shape' => 'ReservedInstancesOfferingIdStringList', 'locationName' => 'ReservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'IncludeMarketplace' => [ 'shape' => 'Boolean', ], 'MinDuration' => [ 'shape' => 'Long', ], 'MaxDuration' => [ 'shape' => 'Long', ], 'MaxInstanceCount' => [ 'shape' => 'Integer', ], ], ], 'DescribeReservedInstancesOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferings' => [ 'shape' => 'ReservedInstancesOfferingList', 'locationName' => 'reservedInstancesOfferingsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], ], ], 'DescribeReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstances' => [ 'shape' => 'ReservedInstancesList', 'locationName' => 'reservedInstancesSet', ], ], ], 'DescribeRouteTablesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'RouteTables' => [ 'shape' => 'RouteTableList', 'locationName' => 'routeTableSet', ], ], ], 'DescribeScheduledInstanceAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'Recurrence', 'FirstSlotStartTimeRange', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrenceRequest', ], 'FirstSlotStartTimeRange' => [ 'shape' => 'SlotDateTimeRangeRequest', ], 'MinSlotDurationInHours' => [ 'shape' => 'Integer', ], 'MaxSlotDurationInHours' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstanceAvailabilityResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceAvailabilitySet' => [ 'shape' => 'ScheduledInstanceAvailabilitySet', 'locationName' => 'scheduledInstanceAvailabilitySet', ], ], ], 'DescribeScheduledInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ScheduledInstanceIds' => [ 'shape' => 'ScheduledInstanceIdRequestSet', 'locationName' => 'ScheduledInstanceId', ], 'SlotStartTimeRange' => [ 'shape' => 'SlotStartTimeRangeRequest', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceSet' => [ 'shape' => 'ScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'DescribeSecurityGroupReferencesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'GroupIds', ], ], ], 'DescribeSecurityGroupReferencesResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupReferenceSet' => [ 'shape' => 'SecurityGroupReferences', 'locationName' => 'securityGroupReferenceSet', ], ], ], 'DescribeSecurityGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroupList', 'locationName' => 'securityGroupInfo', ], ], ], 'DescribeSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'DescribeSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'CreateVolumePermissions' => [ 'shape' => 'CreateVolumePermissionList', 'locationName' => 'createVolumePermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotIds' => [ 'shape' => 'SnapshotIdStringList', 'locationName' => 'SnapshotId', ], 'OwnerIds' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'RestorableByUserIds' => [ 'shape' => 'RestorableByStringList', 'locationName' => 'RestorableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Snapshots' => [ 'shape' => 'SnapshotList', 'locationName' => 'snapshotSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'DescribeSpotFleetInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetInstancesResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'ActiveInstances', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'ActiveInstances' => [ 'shape' => 'ActiveInstanceSet', 'locationName' => 'activeInstanceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestHistoryResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', 'LastEvaluatedTime', 'HistoryRecords', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'LastEvaluatedTime' => [ 'shape' => 'DateTime', 'locationName' => 'lastEvaluatedTime', ], 'HistoryRecords' => [ 'shape' => 'HistoryRecords', 'locationName' => 'historyRecordSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestsResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfigs', ], 'members' => [ 'SpotFleetRequestConfigs' => [ 'shape' => 'SpotFleetRequestConfigSet', 'locationName' => 'spotFleetRequestConfigSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'DescribeSpotPriceHistoryRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'InstanceTypes' => [ 'shape' => 'InstanceTypeList', 'locationName' => 'InstanceType', ], 'ProductDescriptions' => [ 'shape' => 'ProductDescriptionList', 'locationName' => 'ProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotPriceHistoryResult' => [ 'type' => 'structure', 'members' => [ 'SpotPriceHistory' => [ 'shape' => 'SpotPriceHistoryList', 'locationName' => 'spotPriceHistorySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeStaleSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStaleSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'StaleSecurityGroupSet' => [ 'shape' => 'StaleSecurityGroupSet', 'locationName' => 'staleSecurityGroupSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSubnetsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetIds' => [ 'shape' => 'SubnetIdStringList', 'locationName' => 'SubnetId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSubnetsResult' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'SubnetList', 'locationName' => 'subnetSet', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTagsResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagDescriptionList', 'locationName' => 'tagSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VolumeAttributeName', ], ], ], 'DescribeVolumeAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'autoEnableIO', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeVolumeStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeVolumeStatusResult' => [ 'type' => 'structure', 'members' => [ 'VolumeStatuses' => [ 'shape' => 'VolumeStatusList', 'locationName' => 'volumeStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeVolumesResult' => [ 'type' => 'structure', 'members' => [ 'Volumes' => [ 'shape' => 'VolumeList', 'locationName' => 'volumeSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VpcAttributeName', ], ], ], 'DescribeVpcAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsSupport', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsHostnames', ], ], ], 'DescribeVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'ClassicLinkDnsSupportList', 'locationName' => 'vpcs', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcClassicLinkList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpcEndpointServicesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServicesResult' => [ 'type' => 'structure', 'members' => [ 'ServiceNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'serviceNameSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoints' => [ 'shape' => 'VpcEndpointSet', 'locationName' => 'vpcEndpointSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], ], ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpnConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionIds' => [ 'shape' => 'VpnConnectionIdStringList', 'locationName' => 'VpnConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnections' => [ 'shape' => 'VpnConnectionList', 'locationName' => 'vpnConnectionSet', ], ], ], 'DescribeVpnGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayIds' => [ 'shape' => 'VpnGatewayIdStringList', 'locationName' => 'VpnGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateways' => [ 'shape' => 'VpnGatewayList', 'locationName' => 'vpnGatewaySet', ], ], ], 'DetachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DetachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'AttachmentId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'DetachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'DetachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeviceType' => [ 'type' => 'string', 'enum' => [ 'ebs', 'instance-store', ], ], 'DhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'DhcpConfigurationValueList', 'locationName' => 'valueSet', ], ], ], 'DhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpConfiguration', 'locationName' => 'item', ], ], 'DhcpConfigurationValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', 'locationName' => 'item', ], ], 'DhcpOptions' => [ 'type' => 'structure', 'members' => [ 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'DhcpConfigurations' => [ 'shape' => 'DhcpConfigurationList', 'locationName' => 'dhcpConfigurationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'DhcpOptionsIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DhcpOptionsId', ], ], 'DhcpOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpOptions', 'locationName' => 'item', ], ], 'DisableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DisableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisassociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AssociationId' => [ 'shape' => 'String', ], ], ], 'DisassociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'DiskImage' => [ 'type' => 'structure', 'members' => [ 'Image' => [ 'shape' => 'DiskImageDetail', ], 'Description' => [ 'shape' => 'String', ], 'Volume' => [ 'shape' => 'VolumeDetail', ], ], ], 'DiskImageDescription' => [ 'type' => 'structure', 'required' => [ 'Format', 'Size', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], 'Checksum' => [ 'shape' => 'String', 'locationName' => 'checksum', ], ], ], 'DiskImageDetail' => [ 'type' => 'structure', 'required' => [ 'Format', 'Bytes', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Bytes' => [ 'shape' => 'Long', 'locationName' => 'bytes', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], ], ], 'DiskImageFormat' => [ 'type' => 'string', 'enum' => [ 'VMDK', 'RAW', 'VHD', ], ], 'DiskImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskImage', ], ], 'DiskImageVolumeDescription' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'DomainType' => [ 'type' => 'string', 'enum' => [ 'vpc', 'standard', ], ], 'Double' => [ 'type' => 'double', ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], ], ], 'EbsInstanceBlockDevice' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EbsInstanceBlockDeviceSpecification' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EnableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'EnableVolumeIORequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EnableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'EnableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EnableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'EnableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EventCode' => [ 'type' => 'string', 'enum' => [ 'instance-reboot', 'system-reboot', 'system-maintenance', 'instance-retirement', 'instance-stop', ], ], 'EventInformation' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'EventSubType' => [ 'shape' => 'String', 'locationName' => 'eventSubType', ], 'EventDescription' => [ 'shape' => 'String', 'locationName' => 'eventDescription', ], ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'instanceChange', 'fleetRequestChange', 'error', ], ], 'ExcessCapacityTerminationPolicy' => [ 'type' => 'string', 'enum' => [ 'noTermination', 'default', ], ], 'ExecutableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExecutableBy', ], ], 'ExportEnvironment' => [ 'type' => 'string', 'enum' => [ 'citrix', 'vmware', 'microsoft', ], ], 'ExportTask' => [ 'type' => 'structure', 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'State' => [ 'shape' => 'ExportTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceExportDetails' => [ 'shape' => 'InstanceExportDetails', 'locationName' => 'instanceExport', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3Task', 'locationName' => 'exportToS3', ], ], ], 'ExportTaskIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExportTaskId', ], ], 'ExportTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportTask', 'locationName' => 'item', ], ], 'ExportTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'ExportToS3Task' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'ExportToS3TaskSpecification' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Prefix' => [ 'shape' => 'String', 'locationName' => 's3Prefix', ], ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'request', 'maintain', ], ], 'Float' => [ 'type' => 'float', ], 'FlowLog' => [ 'type' => 'structure', 'members' => [ 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'FlowLogId' => [ 'shape' => 'String', 'locationName' => 'flowLogId', ], 'FlowLogStatus' => [ 'shape' => 'String', 'locationName' => 'flowLogStatus', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'TrafficType' => [ 'shape' => 'TrafficType', 'locationName' => 'trafficType', ], 'LogGroupName' => [ 'shape' => 'String', 'locationName' => 'logGroupName', ], 'DeliverLogsStatus' => [ 'shape' => 'String', 'locationName' => 'deliverLogsStatus', ], 'DeliverLogsErrorMessage' => [ 'shape' => 'String', 'locationName' => 'deliverLogsErrorMessage', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', 'locationName' => 'deliverLogsPermissionArn', ], ], ], 'FlowLogSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FlowLog', 'locationName' => 'item', ], ], 'FlowLogsResourceType' => [ 'type' => 'string', 'enum' => [ 'VPC', 'Subnet', 'NetworkInterface', ], ], 'GatewayType' => [ 'type' => 'string', 'enum' => [ 'ipsec.1', ], ], 'GetConsoleOutputRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetConsoleOutputResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'Output' => [ 'shape' => 'String', 'locationName' => 'output', ], ], ], 'GetConsoleScreenshotRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'WakeUp' => [ 'shape' => 'Boolean', ], ], ], 'GetConsoleScreenshotResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageData' => [ 'shape' => 'String', 'locationName' => 'imageData', ], ], ], 'GetPasswordDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetPasswordDataResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'PasswordData' => [ 'shape' => 'String', 'locationName' => 'passwordData', ], ], ], 'GroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], 'GroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'GroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupIdentifier', 'locationName' => 'item', ], ], 'GroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'GroupNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'GroupName', ], ], 'HistoryRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'EventType', 'EventInformation', ], 'members' => [ 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'EventInformation' => [ 'shape' => 'EventInformation', 'locationName' => 'eventInformation', ], ], ], 'HistoryRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryRecord', 'locationName' => 'item', ], ], 'Host' => [ 'type' => 'structure', 'members' => [ 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'HostProperties' => [ 'shape' => 'HostProperties', 'locationName' => 'hostProperties', ], 'State' => [ 'shape' => 'AllocationState', 'locationName' => 'state', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Instances' => [ 'shape' => 'HostInstanceList', 'locationName' => 'instances', ], 'AvailableCapacity' => [ 'shape' => 'AvailableCapacity', 'locationName' => 'availableCapacity', ], ], ], 'HostInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostInstance', 'locationName' => 'item', ], ], 'HostList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Host', 'locationName' => 'item', ], ], 'HostProperties' => [ 'type' => 'structure', 'members' => [ 'Sockets' => [ 'shape' => 'Integer', 'locationName' => 'sockets', ], 'Cores' => [ 'shape' => 'Integer', 'locationName' => 'cores', ], 'TotalVCpus' => [ 'shape' => 'Integer', 'locationName' => 'totalVCpus', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostTenancy' => [ 'type' => 'string', 'enum' => [ 'dedicated', 'host', ], ], 'HypervisorType' => [ 'type' => 'string', 'enum' => [ 'ovm', 'xen', ], ], 'IamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'IamInstanceProfileSpecification' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'IcmpTypeCode' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'Integer', 'locationName' => 'type', ], 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], ], ], 'IdFormat' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], 'Deadline' => [ 'shape' => 'DateTime', 'locationName' => 'deadline', ], ], ], 'IdFormatList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdFormat', 'locationName' => 'item', ], ], 'Image' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImageLocation' => [ 'shape' => 'String', 'locationName' => 'imageLocation', ], 'State' => [ 'shape' => 'ImageState', 'locationName' => 'imageState', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'imageOwnerId', ], 'CreationDate' => [ 'shape' => 'String', 'locationName' => 'creationDate', ], 'Public' => [ 'shape' => 'Boolean', 'locationName' => 'isPublic', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'ImageType' => [ 'shape' => 'ImageTypeValues', 'locationName' => 'imageType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'ImageOwnerAlias' => [ 'shape' => 'String', 'locationName' => 'imageOwnerAlias', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], ], ], 'ImageAttribute' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'LaunchPermissions' => [ 'shape' => 'LaunchPermissionList', 'locationName' => 'launchPermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], ], ], 'ImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'description', 'kernel', 'ramdisk', 'launchPermission', 'productCodes', 'blockDeviceMapping', 'sriovNetSupport', ], ], 'ImageDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], 'DeviceName' => [ 'shape' => 'String', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'ImageDiskContainerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageDiskContainer', 'locationName' => 'item', ], ], 'ImageIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImageId', ], ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', 'locationName' => 'item', ], ], 'ImageState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'invalid', 'deregistered', 'transient', 'failed', 'error', ], ], 'ImageTypeValues' => [ 'type' => 'string', 'enum' => [ 'machine', 'kernel', 'ramdisk', ], ], 'ImportImageRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainers' => [ 'shape' => 'ImageDiskContainerList', 'locationName' => 'DiskContainer', ], 'LicenseType' => [ 'shape' => 'String', ], 'Hypervisor' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportImageResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportImageTask', 'locationName' => 'item', ], ], 'ImportInstanceLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'GroupNames' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'GroupId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'UserData' => [ 'shape' => 'UserData', 'locationName' => 'userData', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'Monitoring' => [ 'shape' => 'Boolean', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'ImportInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Platform', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'LaunchSpecification' => [ 'shape' => 'ImportInstanceLaunchSpecification', 'locationName' => 'launchSpecification', ], 'DiskImages' => [ 'shape' => 'DiskImageList', 'locationName' => 'diskImage', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'ImportInstanceResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportInstanceTaskDetails' => [ 'type' => 'structure', 'required' => [ 'Volumes', ], 'members' => [ 'Volumes' => [ 'shape' => 'ImportInstanceVolumeDetailSet', 'locationName' => 'volumes', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailItem' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', 'Status', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportInstanceVolumeDetailItem', 'locationName' => 'item', ], ], 'ImportKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', 'PublicKeyMaterial', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'PublicKeyMaterial' => [ 'shape' => 'Blob', 'locationName' => 'publicKeyMaterial', ], ], ], 'ImportKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'ImportSnapshotRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainer' => [ 'shape' => 'SnapshotDiskContainer', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportSnapshotTask', 'locationName' => 'item', ], ], 'ImportTaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImportTaskId', ], ], 'ImportVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDetail', 'locationName' => 'image', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Volume' => [ 'shape' => 'VolumeDetail', 'locationName' => 'volume', ], ], ], 'ImportVolumeResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportVolumeTaskDetails' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'State' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'StateTransitionReason' => [ 'shape' => 'String', 'locationName' => 'reason', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'AmiLaunchIndex' => [ 'shape' => 'Integer', 'locationName' => 'amiLaunchIndex', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'LaunchTime' => [ 'shape' => 'DateTime', 'locationName' => 'launchTime', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PublicIpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'InstanceLifecycle' => [ 'shape' => 'InstanceLifecycleType', 'locationName' => 'instanceLifecycle', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], ], ], 'InstanceAttribute' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'AttributeValue', 'locationName' => 'userData', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'RootDeviceName' => [ 'shape' => 'AttributeValue', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], ], ], 'InstanceAttributeName' => [ 'type' => 'string', 'enum' => [ 'instanceType', 'kernel', 'ramdisk', 'userData', 'disableApiTermination', 'instanceInitiatedShutdownBehavior', 'rootDeviceName', 'blockDeviceMapping', 'productCodes', 'sourceDestCheck', 'groupSet', 'ebsOptimized', 'sriovNetSupport', ], ], 'InstanceBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDevice', 'locationName' => 'ebs', ], ], ], 'InstanceBlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMapping', 'locationName' => 'item', ], ], 'InstanceBlockDeviceMappingSpecification' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDeviceSpecification', 'locationName' => 'ebs', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'InstanceBlockDeviceMappingSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMappingSpecification', 'locationName' => 'item', ], ], 'InstanceCapacity' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'AvailableCapacity' => [ 'shape' => 'Integer', 'locationName' => 'availableCapacity', ], 'TotalCapacity' => [ 'shape' => 'Integer', 'locationName' => 'totalCapacity', ], ], ], 'InstanceCount' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ListingState', 'locationName' => 'state', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], ], ], 'InstanceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCount', 'locationName' => 'item', ], ], 'InstanceExportDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'InstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'InstanceIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'InstanceId', ], ], 'InstanceLifecycleType' => [ 'type' => 'string', 'enum' => [ 'spot', 'scheduled', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', 'locationName' => 'item', ], ], 'InstanceMonitoring' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], ], ], 'InstanceMonitoringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceMonitoring', 'locationName' => 'item', ], ], 'InstanceNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'InstanceNetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], 'PrivateIpAddresses' => [ 'shape' => 'InstancePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], ], ], 'InstanceNetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], ], ], 'InstanceNetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'InstanceNetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterface', 'locationName' => 'item', ], ], 'InstanceNetworkInterfaceSpecification' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddressesSet', 'queryName' => 'PrivateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', 'locationName' => 'associatePublicIpAddress', ], ], ], 'InstanceNetworkInterfaceSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterfaceSpecification', 'locationName' => 'item', ], ], 'InstancePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'InstancePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePrivateIpAddress', 'locationName' => 'item', ], ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], 'Name' => [ 'shape' => 'InstanceStateName', 'locationName' => 'name', ], ], ], 'InstanceStateChange' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CurrentState' => [ 'shape' => 'InstanceState', 'locationName' => 'currentState', ], 'PreviousState' => [ 'shape' => 'InstanceState', 'locationName' => 'previousState', ], ], ], 'InstanceStateChangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStateChange', 'locationName' => 'item', ], ], 'InstanceStateName' => [ 'type' => 'string', 'enum' => [ 'pending', 'running', 'shutting-down', 'terminated', 'stopping', 'stopped', ], ], 'InstanceStatus' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Events' => [ 'shape' => 'InstanceStatusEventList', 'locationName' => 'eventsSet', ], 'InstanceState' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'SystemStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'systemStatus', ], 'InstanceStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'instanceStatus', ], ], ], 'InstanceStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'StatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'StatusType', 'locationName' => 'status', ], 'ImpairedSince' => [ 'shape' => 'DateTime', 'locationName' => 'impairedSince', ], ], ], 'InstanceStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusDetails', 'locationName' => 'item', ], ], 'InstanceStatusEvent' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], ], ], 'InstanceStatusEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusEvent', 'locationName' => 'item', ], ], 'InstanceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatus', 'locationName' => 'item', ], ], 'InstanceStatusSummary' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'SummaryStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'InstanceStatusDetailsList', 'locationName' => 'details', ], ], ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 't1.micro', 'm1.small', 'm1.medium', 'm1.large', 'm1.xlarge', 'm3.medium', 'm3.large', 'm3.xlarge', 'm3.2xlarge', 'm4.large', 'm4.xlarge', 'm4.2xlarge', 'm4.4xlarge', 'm4.10xlarge', 't2.nano', 't2.micro', 't2.small', 't2.medium', 't2.large', 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge', 'cr1.8xlarge', 'x1.4xlarge', 'x1.8xlarge', 'x1.16xlarge', 'x1.32xlarge', 'i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge', 'hi1.4xlarge', 'hs1.8xlarge', 'c1.medium', 'c1.xlarge', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'c4.large', 'c4.xlarge', 'c4.2xlarge', 'c4.4xlarge', 'c4.8xlarge', 'cc1.4xlarge', 'cc2.8xlarge', 'g2.2xlarge', 'g2.8xlarge', 'cg1.4xlarge', 'r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge', 'd2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge', ], ], 'InstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceType', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternetGateway' => [ 'type' => 'structure', 'members' => [ 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'Attachments' => [ 'shape' => 'InternetGatewayAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'InternetGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'InternetGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGatewayAttachment', 'locationName' => 'item', ], ], 'InternetGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGateway', 'locationName' => 'item', ], ], 'IpPermission' => [ 'type' => 'structure', 'members' => [ 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairList', 'locationName' => 'groups', ], 'IpRanges' => [ 'shape' => 'IpRangeList', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdList', 'locationName' => 'prefixListIds', ], ], ], 'IpPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpPermission', 'locationName' => 'item', ], ], 'IpRange' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], ], ], 'IpRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRange', 'locationName' => 'item', ], ], 'IpRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'KeyNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'KeyName', ], ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyMaterial' => [ 'shape' => 'String', 'locationName' => 'keyMaterial', ], ], ], 'KeyPairInfo' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'KeyPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPairInfo', 'locationName' => 'item', ], ], 'LaunchPermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'LaunchPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchPermission', 'locationName' => 'item', ], ], 'LaunchPermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'LaunchPermissionList', ], 'Remove' => [ 'shape' => 'LaunchPermissionList', ], ], ], 'LaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], ], ], 'LaunchSpecsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetLaunchSpecification', 'locationName' => 'item', ], 'min' => 1, ], 'ListingState' => [ 'type' => 'string', 'enum' => [ 'available', 'sold', 'cancelled', 'pending', ], ], 'ListingStatus' => [ 'type' => 'string', 'enum' => [ 'active', 'pending', 'cancelled', 'closed', ], ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 255, 'min' => 5, ], 'ModifyHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', 'AutoPlacement', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], ], ], 'ModifyHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ModifyIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', ], 'members' => [ 'Resource' => [ 'shape' => 'String', ], 'UseLongIds' => [ 'shape' => 'Boolean', ], ], ], 'ModifyImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'String', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'UserGroups' => [ 'shape' => 'UserGroupStringList', 'locationName' => 'UserGroup', ], 'ProductCodes' => [ 'shape' => 'ProductCodeStringList', 'locationName' => 'ProductCode', ], 'Value' => [ 'shape' => 'String', ], 'LaunchPermission' => [ 'shape' => 'LaunchPermissionModifications', ], 'Description' => [ 'shape' => 'AttributeValue', ], ], ], 'ModifyInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingSpecificationList', 'locationName' => 'blockDeviceMapping', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'Kernel' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'Ramdisk' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'BlobAttributeValue', 'locationName' => 'userData', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], ], ], 'ModifyInstancePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Tenancy' => [ 'shape' => 'HostTenancy', 'locationName' => 'tenancy', ], 'Affinity' => [ 'shape' => 'Affinity', 'locationName' => 'affinity', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], ], ], 'ModifyInstancePlacementResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachmentChanges', 'locationName' => 'attachment', ], ], ], 'ModifyReservedInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesIds', 'TargetConfigurations', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'TargetConfigurations' => [ 'shape' => 'ReservedInstancesConfigurationList', 'locationName' => 'ReservedInstancesConfigurationSetItemType', ], ], ], 'ModifyReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], ], ], 'ModifySnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'UserGroup', ], 'CreateVolumePermission' => [ 'shape' => 'CreateVolumePermissionModifications', ], ], ], 'ModifySpotFleetRequestRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], ], ], 'ModifySpotFleetRequestResponse' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifySubnetAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointId' => [ 'shape' => 'String', ], 'ResetPolicy' => [ 'shape' => 'Boolean', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'AddRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddRouteTableId', ], 'RemoveRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveRouteTableId', ], ], ], 'ModifyVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcPeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', ], 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], ], ], 'ModifyVpcPeeringConnectionOptionsResult' => [ 'type' => 'structure', 'members' => [ 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'requesterPeeringConnectionOptions', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'accepterPeeringConnectionOptions', ], ], ], 'MonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'MonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'Monitoring' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'MonitoringState', 'locationName' => 'state', ], ], ], 'MonitoringState' => [ 'type' => 'string', 'enum' => [ 'disabled', 'disabling', 'enabled', 'pending', ], ], 'MoveAddressToVpcRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'MoveAddressToVpcResult' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'MoveStatus' => [ 'type' => 'string', 'enum' => [ 'movingToVpc', 'restoringToClassic', ], ], 'MovingAddressStatus' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'MoveStatus' => [ 'shape' => 'MoveStatus', 'locationName' => 'moveStatus', ], ], ], 'MovingAddressStatusSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'MovingAddressStatus', 'locationName' => 'item', ], ], 'NatGateway' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'DeleteTime' => [ 'shape' => 'DateTime', 'locationName' => 'deleteTime', ], 'NatGatewayAddresses' => [ 'shape' => 'NatGatewayAddressList', 'locationName' => 'natGatewayAddressSet', ], 'State' => [ 'shape' => 'NatGatewayState', 'locationName' => 'state', ], 'FailureCode' => [ 'shape' => 'String', 'locationName' => 'failureCode', ], 'FailureMessage' => [ 'shape' => 'String', 'locationName' => 'failureMessage', ], 'ProvisionedBandwidth' => [ 'shape' => 'ProvisionedBandwidth', 'locationName' => 'provisionedBandwidth', ], ], ], 'NatGatewayAddress' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'PrivateIp' => [ 'shape' => 'String', 'locationName' => 'privateIp', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'NatGatewayAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGatewayAddress', 'locationName' => 'item', ], ], 'NatGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGateway', 'locationName' => 'item', ], ], 'NatGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'failed', 'available', 'deleting', 'deleted', ], ], 'NetworkAcl' => [ 'type' => 'structure', 'members' => [ 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'default', ], 'Entries' => [ 'shape' => 'NetworkAclEntryList', 'locationName' => 'entrySet', ], 'Associations' => [ 'shape' => 'NetworkAclAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'NetworkAclAssociation' => [ 'type' => 'structure', 'members' => [ 'NetworkAclAssociationId' => [ 'shape' => 'String', 'locationName' => 'networkAclAssociationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'NetworkAclAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclAssociation', 'locationName' => 'item', ], ], 'NetworkAclEntry' => [ 'type' => 'structure', 'members' => [ 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'icmpTypeCode', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'NetworkAclEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclEntry', 'locationName' => 'item', ], ], 'NetworkAclList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAcl', 'locationName' => 'item', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'RequesterManaged' => [ 'shape' => 'Boolean', 'locationName' => 'requesterManaged', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], 'TagSet' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PrivateIpAddresses' => [ 'shape' => 'NetworkInterfacePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], 'InterfaceType' => [ 'shape' => 'NetworkInterfaceType', 'locationName' => 'interfaceType', ], ], ], 'NetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'NetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttachmentChanges' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttribute' => [ 'type' => 'string', 'enum' => [ 'description', 'groupSet', 'sourceDestCheck', 'attachment', ], ], 'NetworkInterfaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'NetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', 'locationName' => 'item', ], ], 'NetworkInterfacePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'NetworkInterfacePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfacePrivateIpAddress', 'locationName' => 'item', ], ], 'NetworkInterfaceStatus' => [ 'type' => 'string', 'enum' => [ 'available', 'attaching', 'in-use', 'detaching', ], ], 'NetworkInterfaceType' => [ 'type' => 'string', 'enum' => [ 'interface', 'natGateway', ], ], 'NewDhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'NewDhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NewDhcpConfiguration', 'locationName' => 'item', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'OccurrenceDayRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'OccurenceDay', ], ], 'OccurrenceDaySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'item', ], ], 'OfferingTypeValues' => [ 'type' => 'string', 'enum' => [ 'Heavy Utilization', 'Medium Utilization', 'Light Utilization', 'No Upfront', 'Partial Upfront', 'All Upfront', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'add', 'remove', ], ], 'OwnerStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Owner', ], ], 'PeeringConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], ], ], 'PeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc', 'AllowEgressFromLocalVpcToRemoteClassicLink', ], 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', ], ], ], 'PermissionGroup' => [ 'type' => 'string', 'enum' => [ 'all', ], ], 'Placement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'Affinity' => [ 'shape' => 'String', 'locationName' => 'affinity', ], ], ], 'PlacementGroup' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], 'State' => [ 'shape' => 'PlacementGroupState', 'locationName' => 'state', ], ], ], 'PlacementGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementGroup', 'locationName' => 'item', ], ], 'PlacementGroupState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'PlacementGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PlacementStrategy' => [ 'type' => 'string', 'enum' => [ 'cluster', ], ], 'PlatformValues' => [ 'type' => 'string', 'enum' => [ 'Windows', ], ], 'PortRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', 'locationName' => 'from', ], 'To' => [ 'shape' => 'Integer', 'locationName' => 'to', ], ], ], 'PrefixList' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], 'PrefixListName' => [ 'shape' => 'String', 'locationName' => 'prefixListName', ], 'Cidrs' => [ 'shape' => 'ValueStringList', 'locationName' => 'cidrSet', ], ], ], 'PrefixListId' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], ], ], 'PrefixListIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixListId', 'locationName' => 'item', ], ], 'PrefixListIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'PrefixListSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixList', 'locationName' => 'item', ], ], 'PriceSchedule' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Active' => [ 'shape' => 'Boolean', 'locationName' => 'active', ], ], ], 'PriceScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceSchedule', 'locationName' => 'item', ], ], 'PriceScheduleSpecification' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'PriceScheduleSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceScheduleSpecification', 'locationName' => 'item', ], ], 'PricingDetail' => [ 'type' => 'structure', 'members' => [ 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], ], ], 'PricingDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PricingDetail', 'locationName' => 'item', ], ], 'PrivateIpAddressConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesPrivateIpAddressConfig', 'locationName' => 'PrivateIpAddressConfigSet', ], ], 'PrivateIpAddressSpecification' => [ 'type' => 'structure', 'required' => [ 'PrivateIpAddress', ], 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], ], ], 'PrivateIpAddressSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIpAddressSpecification', 'locationName' => 'item', ], ], 'PrivateIpAddressStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PrivateIpAddress', ], ], 'ProductCode' => [ 'type' => 'structure', 'members' => [ 'ProductCodeId' => [ 'shape' => 'String', 'locationName' => 'productCode', ], 'ProductCodeType' => [ 'shape' => 'ProductCodeValues', 'locationName' => 'type', ], ], ], 'ProductCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductCode', 'locationName' => 'item', ], ], 'ProductCodeStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ProductCode', ], ], 'ProductCodeValues' => [ 'type' => 'string', 'enum' => [ 'devpay', 'marketplace', ], ], 'ProductDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PropagatingVgw' => [ 'type' => 'structure', 'members' => [ 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], ], ], 'PropagatingVgwList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropagatingVgw', 'locationName' => 'item', ], ], 'ProvisionedBandwidth' => [ 'type' => 'structure', 'members' => [ 'Provisioned' => [ 'shape' => 'String', 'locationName' => 'provisioned', ], 'Requested' => [ 'shape' => 'String', 'locationName' => 'requested', ], 'RequestTime' => [ 'shape' => 'DateTime', 'locationName' => 'requestTime', ], 'ProvisionTime' => [ 'shape' => 'DateTime', 'locationName' => 'provisionTime', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'PublicIpStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PublicIp', ], ], 'PurchaseRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseToken', 'InstanceCount', ], 'members' => [ 'PurchaseToken' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], ], ], 'PurchaseRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PurchaseRequest', 'locationName' => 'PurchaseRequest', ], 'min' => 1, ], 'PurchaseReservedInstancesOfferingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesOfferingId', 'InstanceCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingId' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'LimitPrice' => [ 'shape' => 'ReservedInstanceLimitPrice', 'locationName' => 'limitPrice', ], ], ], 'PurchaseReservedInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'PurchaseScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseRequests', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'PurchaseRequests' => [ 'shape' => 'PurchaseRequestSet', 'locationName' => 'PurchaseRequest', ], ], ], 'PurchaseScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceSet' => [ 'shape' => 'PurchasedScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'PurchasedScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'RIProductDescription' => [ 'type' => 'string', 'enum' => [ 'Linux/UNIX', 'Linux/UNIX (Amazon VPC)', 'Windows', 'Windows (Amazon VPC)', ], ], 'ReasonCodesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReportInstanceReasonCodes', 'locationName' => 'item', ], ], 'RebootInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'RecurringChargeFrequency', 'locationName' => 'frequency', ], 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], ], ], 'RecurringChargeFrequency' => [ 'type' => 'string', 'enum' => [ 'Hourly', ], ], 'RecurringChargesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'item', ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Endpoint' => [ 'shape' => 'String', 'locationName' => 'regionEndpoint', ], ], ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', 'locationName' => 'item', ], ], 'RegionNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'RegionName', ], ], 'RegisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageLocation' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'String', 'locationName' => 'virtualizationType', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], ], ], 'RegisterImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'RejectVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'RejectVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ReleaseAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], ], ], 'ReleaseHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], ], ], 'ReleaseHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ReplaceNetworkAclAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'ReplaceNetworkAclAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReplaceNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'ReplaceRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'ReplaceRouteTableAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'ReplaceRouteTableAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReportInstanceReasonCodes' => [ 'type' => 'string', 'enum' => [ 'instance-stuck-in-state', 'unresponsive', 'not-accepting-credentials', 'password-not-available', 'performance-network', 'performance-instance-store', 'performance-ebs-volume', 'performance-other', 'other', ], ], 'ReportInstanceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Instances', 'Status', 'ReasonCodes', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Instances' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'instanceId', ], 'Status' => [ 'shape' => 'ReportStatusType', 'locationName' => 'status', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'ReasonCodes' => [ 'shape' => 'ReasonCodesList', 'locationName' => 'reasonCode', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ReportStatusType' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', ], ], 'RequestHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestSpotFleetRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfig', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], ], ], 'RequestSpotFleetResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'RequestSpotInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'LaunchSpecification' => [ 'shape' => 'RequestSpotLaunchSpecification', ], ], ], 'RequestSpotInstancesResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'RequestSpotLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroup', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'Reservation' => [ 'type' => 'structure', 'members' => [ 'ReservationId' => [ 'shape' => 'String', 'locationName' => 'reservationId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Instances' => [ 'shape' => 'InstanceList', 'locationName' => 'instancesSet', ], ], ], 'ReservationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reservation', 'locationName' => 'item', ], ], 'ReservedInstanceLimitPrice' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'ReservedInstanceState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'active', 'payment-failed', 'retired', ], ], 'ReservedInstances' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'State' => [ 'shape' => 'ReservedInstanceState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], ], ], 'ReservedInstancesConfiguration' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], ], ], 'ReservedInstancesConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'item', ], ], 'ReservedInstancesId' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'ReservedInstancesIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesId', ], ], 'ReservedInstancesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstances', 'locationName' => 'item', ], ], 'ReservedInstancesListing' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'Status' => [ 'shape' => 'ListingStatus', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceCounts' => [ 'shape' => 'InstanceCountList', 'locationName' => 'instanceCounts', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleList', 'locationName' => 'priceSchedules', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesListingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesListing', 'locationName' => 'item', ], ], 'ReservedInstancesModification' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedIntancesIds', 'locationName' => 'reservedInstancesSet', ], 'ModificationResults' => [ 'shape' => 'ReservedInstancesModificationResultList', 'locationName' => 'modificationResultSet', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'EffectiveDate' => [ 'shape' => 'DateTime', 'locationName' => 'effectiveDate', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesModificationIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesModificationId', ], ], 'ReservedInstancesModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModification', 'locationName' => 'item', ], ], 'ReservedInstancesModificationResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'TargetConfiguration' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'targetConfiguration', ], ], ], 'ReservedInstancesModificationResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModificationResult', 'locationName' => 'item', ], ], 'ReservedInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'Marketplace' => [ 'shape' => 'Boolean', 'locationName' => 'marketplace', ], 'PricingDetails' => [ 'shape' => 'PricingDetailsList', 'locationName' => 'pricingDetailsSet', ], ], ], 'ReservedInstancesOfferingIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReservedInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesOffering', 'locationName' => 'item', ], ], 'ReservedIntancesIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesId', 'locationName' => 'item', ], ], 'ResetImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'launchPermission', ], ], 'ResetImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ResetImageAttributeName', ], ], ], 'ResetInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'ResetNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'String', 'locationName' => 'sourceDestCheck', ], ], ], 'ResetSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'customer-gateway', 'dhcp-options', 'image', 'instance', 'internet-gateway', 'network-acl', 'network-interface', 'reserved-instances', 'route-table', 'snapshot', 'spot-instances-request', 'subnet', 'security-group', 'volume', 'vpc', 'vpn-connection', 'vpn-gateway', ], ], 'ResponseHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RestorableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RestoreAddressToClassicRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RestoreAddressToClassicResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RevokeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'RevokeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'Route' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationPrefixListId' => [ 'shape' => 'String', 'locationName' => 'destinationPrefixListId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'State' => [ 'shape' => 'RouteState', 'locationName' => 'state', ], 'Origin' => [ 'shape' => 'RouteOrigin', 'locationName' => 'origin', ], ], ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Route', 'locationName' => 'item', ], ], 'RouteOrigin' => [ 'type' => 'string', 'enum' => [ 'CreateRouteTable', 'CreateRoute', 'EnableVgwRoutePropagation', ], ], 'RouteState' => [ 'type' => 'string', 'enum' => [ 'active', 'blackhole', ], ], 'RouteTable' => [ 'type' => 'structure', 'members' => [ 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Routes' => [ 'shape' => 'RouteList', 'locationName' => 'routeSet', ], 'Associations' => [ 'shape' => 'RouteTableAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PropagatingVgws' => [ 'shape' => 'PropagatingVgwList', 'locationName' => 'propagatingVgwSet', ], ], ], 'RouteTableAssociation' => [ 'type' => 'structure', 'members' => [ 'RouteTableAssociationId' => [ 'shape' => 'String', 'locationName' => 'routeTableAssociationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Main' => [ 'shape' => 'Boolean', 'locationName' => 'main', ], ], ], 'RouteTableAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTableAssociation', 'locationName' => 'item', ], ], 'RouteTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTable', 'locationName' => 'item', ], ], 'RuleAction' => [ 'type' => 'string', 'enum' => [ 'allow', 'deny', ], ], 'RunInstancesMonitoringEnabled' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'RunInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'MinCount', 'MaxCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'MinCount' => [ 'shape' => 'Integer', ], 'MaxCount' => [ 'shape' => 'Integer', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'Placement' => [ 'shape' => 'Placement', ], 'KernelId' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', ], 'SubnetId' => [ 'shape' => 'String', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], ], ], 'RunScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduledInstanceId', 'LaunchSpecification', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'ScheduledInstanceId' => [ 'shape' => 'String', ], 'LaunchSpecification' => [ 'shape' => 'ScheduledInstancesLaunchSpecification', ], ], ], 'RunScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceIdSet' => [ 'shape' => 'InstanceIdSet', 'locationName' => 'instanceIdSet', ], ], ], 'S3Storage' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'AWSAccessKeyId' => [ 'shape' => 'String', ], 'UploadPolicy' => [ 'shape' => 'Blob', 'locationName' => 'uploadPolicy', ], 'UploadPolicySignature' => [ 'shape' => 'String', 'locationName' => 'uploadPolicySignature', ], ], ], 'ScheduledInstance' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceId' => [ 'shape' => 'String', 'locationName' => 'scheduledInstanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'PreviousSlotEndTime' => [ 'shape' => 'DateTime', 'locationName' => 'previousSlotEndTime', ], 'NextSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'nextSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'TermStartDate' => [ 'shape' => 'DateTime', 'locationName' => 'termStartDate', ], 'TermEndDate' => [ 'shape' => 'DateTime', 'locationName' => 'termEndDate', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], ], ], 'ScheduledInstanceAvailability' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'PurchaseToken' => [ 'shape' => 'String', 'locationName' => 'purchaseToken', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'FirstSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'firstSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'AvailableInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'availableInstanceCount', ], 'MinTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'minTermDurationInDays', ], 'MaxTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'maxTermDurationInDays', ], ], ], 'ScheduledInstanceAvailabilitySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstanceAvailability', 'locationName' => 'item', ], ], 'ScheduledInstanceIdRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ScheduledInstanceId', ], ], 'ScheduledInstanceRecurrence' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', 'locationName' => 'frequency', ], 'Interval' => [ 'shape' => 'Integer', 'locationName' => 'interval', ], 'OccurrenceDaySet' => [ 'shape' => 'OccurrenceDaySet', 'locationName' => 'occurrenceDaySet', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', 'locationName' => 'occurrenceRelativeToEnd', ], 'OccurrenceUnit' => [ 'shape' => 'String', 'locationName' => 'occurrenceUnit', ], ], ], 'ScheduledInstanceRecurrenceRequest' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', ], 'Interval' => [ 'shape' => 'Integer', ], 'OccurrenceDays' => [ 'shape' => 'OccurrenceDayRequestSet', 'locationName' => 'OccurrenceDay', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', ], 'OccurrenceUnit' => [ 'shape' => 'String', ], ], ], 'ScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'ScheduledInstancesBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'NoDevice' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'ScheduledInstancesEbs', ], ], ], 'ScheduledInstancesBlockDeviceMappingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesBlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'ScheduledInstancesEbs' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesIamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesLaunchSpecification' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'ImageId' => [ 'shape' => 'String', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'Placement' => [ 'shape' => 'ScheduledInstancesPlacement', ], 'KernelId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'ScheduledInstancesBlockDeviceMappingSet', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'ScheduledInstancesMonitoring', ], 'SubnetId' => [ 'shape' => 'String', ], 'NetworkInterfaces' => [ 'shape' => 'ScheduledInstancesNetworkInterfaceSet', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'ScheduledInstancesIamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'DeviceIndex' => [ 'shape' => 'Integer', ], 'SubnetId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'PrivateIpAddressConfigs' => [ 'shape' => 'PrivateIpAddressConfigSet', 'locationName' => 'PrivateIpAddressConfig', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'Groups' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'Group', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterfaceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesNetworkInterface', 'locationName' => 'NetworkInterface', ], ], 'ScheduledInstancesPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesPrivateIpAddressConfig' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', ], 'Primary' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesSecurityGroupIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'groupDescription', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'IpPermissionsEgress' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissionsEgress', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SecurityGroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', 'locationName' => 'item', ], ], 'SecurityGroupReference' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'ReferencingVpcId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'ReferencingVpcId' => [ 'shape' => 'String', 'locationName' => 'referencingVpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'SecurityGroupReferences' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupReference', 'locationName' => 'item', ], ], 'SecurityGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroup', ], ], 'ShutdownBehavior' => [ 'type' => 'string', 'enum' => [ 'stop', 'terminate', ], ], 'SlotDateTimeRangeRequest' => [ 'type' => 'structure', 'required' => [ 'EarliestTime', 'LatestTime', ], 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'SlotStartTimeRangeRequest' => [ 'type' => 'structure', 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'State' => [ 'shape' => 'SnapshotState', 'locationName' => 'status', ], 'StateMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'OwnerAlias' => [ 'shape' => 'String', 'locationName' => 'ownerAlias', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'DataEncryptionKeyId' => [ 'shape' => 'String', 'locationName' => 'dataEncryptionKeyId', ], ], ], 'SnapshotAttributeName' => [ 'type' => 'string', 'enum' => [ 'productCodes', 'createVolumePermission', ], ], 'SnapshotDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SnapshotDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotDetail', 'locationName' => 'item', ], ], 'SnapshotDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], ], ], 'SnapshotIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SnapshotId', ], ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'item', ], ], 'SnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'completed', 'error', ], ], 'SnapshotTaskDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SpotDatafeedSubscription' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'State' => [ 'shape' => 'DatafeedSubscriptionState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], ], ], 'SpotFleetLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'SpotFleetMonitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], ], ], 'SpotFleetMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'SpotFleetRequestConfig' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'SpotFleetRequestState', 'SpotFleetRequestConfig', 'CreateTime', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'SpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'spotFleetRequestState', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], ], ], 'SpotFleetRequestConfigData' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', 'TargetCapacity', 'IamFleetRole', 'LaunchSpecifications', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstancesWithExpiration', ], 'IamFleetRole' => [ 'shape' => 'String', 'locationName' => 'iamFleetRole', ], 'LaunchSpecifications' => [ 'shape' => 'LaunchSpecsList', 'locationName' => 'launchSpecifications', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'AllocationStrategy' => [ 'shape' => 'AllocationStrategy', 'locationName' => 'allocationStrategy', ], 'FulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledCapacity', ], 'Type' => [ 'shape' => 'FleetType', 'locationName' => 'type', ], ], ], 'SpotFleetRequestConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetRequestConfig', 'locationName' => 'item', ], ], 'SpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'State' => [ 'shape' => 'SpotInstanceState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], 'Status' => [ 'shape' => 'SpotInstanceStatus', 'locationName' => 'status', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'LaunchSpecification' => [ 'shape' => 'LaunchSpecification', 'locationName' => 'launchSpecification', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'ActualBlockHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'actualBlockHourlyPrice', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'LaunchedAvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'launchedAvailabilityZone', ], ], ], 'SpotInstanceRequestIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SpotInstanceRequestId', ], ], 'SpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotInstanceRequest', 'locationName' => 'item', ], ], 'SpotInstanceState' => [ 'type' => 'string', 'enum' => [ 'open', 'active', 'closed', 'cancelled', 'failed', ], ], 'SpotInstanceStateFault' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceType' => [ 'type' => 'string', 'enum' => [ 'one-time', 'persistent', ], ], 'SpotPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'SpotPrice' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'SpotPriceHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotPrice', 'locationName' => 'item', ], ], 'StaleIpPermission' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'IpRanges' => [ 'shape' => 'IpRanges', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdSet', 'locationName' => 'prefixListIds', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairSet', 'locationName' => 'groups', ], ], ], 'StaleIpPermissionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleIpPermission', 'locationName' => 'item', ], ], 'StaleSecurityGroup' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'StaleIpPermissions' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissions', ], 'StaleIpPermissionsEgress' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissionsEgress', ], ], ], 'StaleSecurityGroupSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleSecurityGroup', 'locationName' => 'item', ], ], 'StartInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'StartInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StartingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'State' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Available', 'Deleting', 'Deleted', ], ], 'StateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'MoveInProgress', 'InVpc', 'InClassic', ], ], 'StatusName' => [ 'type' => 'string', 'enum' => [ 'reachability', ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'passed', 'failed', 'insufficient-data', 'initializing', ], ], 'StopInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'StopInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StoppingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'Storage' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Storage', ], ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'State' => [ 'shape' => 'SubnetState', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'AvailableIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'availableIpAddressCount', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'DefaultForAz' => [ 'shape' => 'Boolean', 'locationName' => 'defaultForAz', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'Boolean', 'locationName' => 'mapPublicIpOnLaunch', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SubnetIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetId', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'item', ], ], 'SubnetState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'SummaryStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', 'not-applicable', 'initializing', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', 'locationName' => 'item', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'item', ], ], 'TelemetryStatus' => [ 'type' => 'string', 'enum' => [ 'UP', 'DOWN', ], ], 'Tenancy' => [ 'type' => 'string', 'enum' => [ 'default', 'dedicated', 'host', ], ], 'TerminateInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'TerminateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'TerminatingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'TrafficType' => [ 'type' => 'string', 'enum' => [ 'ACCEPT', 'REJECT', 'ALL', ], ], 'UnassignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'PrivateIpAddresses', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], ], ], 'UnmonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'UnmonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'UnsuccessfulItem' => [ 'type' => 'structure', 'required' => [ 'Error', ], 'members' => [ 'Error' => [ 'shape' => 'UnsuccessfulItemError', 'locationName' => 'error', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], ], ], 'UnsuccessfulItemError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'UnsuccessfulItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UnsuccessfulItemSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UserBucket' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', ], 'S3Key' => [ 'shape' => 'String', ], ], ], 'UserBucketDetails' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'UserData' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'String', 'locationName' => 'data', ], ], ], 'UserGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserGroup', ], ], 'UserIdGroupPair' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'PeeringStatus' => [ 'shape' => 'String', 'locationName' => 'peeringStatus', ], ], ], 'UserIdGroupPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdGroupPairSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserId', ], ], 'ValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'VgwTelemetry' => [ 'type' => 'structure', 'members' => [ 'OutsideIpAddress' => [ 'shape' => 'String', 'locationName' => 'outsideIpAddress', ], 'Status' => [ 'shape' => 'TelemetryStatus', 'locationName' => 'status', ], 'LastStatusChange' => [ 'shape' => 'DateTime', 'locationName' => 'lastStatusChange', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'AcceptedRouteCount' => [ 'shape' => 'Integer', 'locationName' => 'acceptedRouteCount', ], ], ], 'VgwTelemetryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VgwTelemetry', 'locationName' => 'item', ], ], 'VirtualizationType' => [ 'type' => 'string', 'enum' => [ 'hvm', 'paravirtual', ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Size' => [ 'shape' => 'Integer', 'locationName' => 'size', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'State' => [ 'shape' => 'VolumeState', 'locationName' => 'status', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'Attachments' => [ 'shape' => 'VolumeAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'VolumeAttachment' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Device' => [ 'shape' => 'String', 'locationName' => 'device', ], 'State' => [ 'shape' => 'VolumeAttachmentState', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'VolumeAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeAttachment', 'locationName' => 'item', ], ], 'VolumeAttachmentState' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'VolumeAttributeName' => [ 'type' => 'string', 'enum' => [ 'autoEnableIO', 'productCodes', ], ], 'VolumeDetail' => [ 'type' => 'structure', 'required' => [ 'Size', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'VolumeIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VolumeId', ], ], 'VolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', 'locationName' => 'item', ], ], 'VolumeState' => [ 'type' => 'string', 'enum' => [ 'creating', 'available', 'in-use', 'deleting', 'deleted', 'error', ], ], 'VolumeStatusAction' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusAction', 'locationName' => 'item', ], ], 'VolumeStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'VolumeStatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'VolumeStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusDetails', 'locationName' => 'item', ], ], 'VolumeStatusEvent' => [ 'type' => 'structure', 'members' => [ 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusEventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusEvent', 'locationName' => 'item', ], ], 'VolumeStatusInfo' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'VolumeStatusInfoStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'VolumeStatusDetailsList', 'locationName' => 'details', ], ], ], 'VolumeStatusInfoStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', ], ], 'VolumeStatusItem' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatusInfo', 'locationName' => 'volumeStatus', ], 'Events' => [ 'shape' => 'VolumeStatusEventsList', 'locationName' => 'eventsSet', ], 'Actions' => [ 'shape' => 'VolumeStatusActionsList', 'locationName' => 'actionsSet', ], ], ], 'VolumeStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusItem', 'locationName' => 'item', ], ], 'VolumeStatusName' => [ 'type' => 'string', 'enum' => [ 'io-enabled', 'io-performance', ], ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'standard', 'io1', 'gp2', 'sc1', 'st1', ], ], 'Vpc' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'VpcState', 'locationName' => 'state', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'isDefault', ], ], ], 'VpcAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'VpcAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcAttachment', 'locationName' => 'item', ], ], 'VpcAttributeName' => [ 'type' => 'string', 'enum' => [ 'enableDnsSupport', 'enableDnsHostnames', ], ], 'VpcClassicLink' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkEnabled' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkEnabled', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpcClassicLinkIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcClassicLinkList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcClassicLink', 'locationName' => 'item', ], ], 'VpcEndpoint' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'State' => [ 'shape' => 'State', 'locationName' => 'state', ], 'PolicyDocument' => [ 'shape' => 'String', 'locationName' => 'policyDocument', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'routeTableIdSet', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', 'locationName' => 'creationTimestamp', ], ], ], 'VpcEndpointSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'item', ], ], 'VpcIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Vpc', 'locationName' => 'item', ], ], 'VpcPeeringConnection' => [ 'type' => 'structure', 'members' => [ 'AccepterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'accepterVpcInfo', ], 'ExpirationTime' => [ 'shape' => 'DateTime', 'locationName' => 'expirationTime', ], 'RequesterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'requesterVpcInfo', ], 'Status' => [ 'shape' => 'VpcPeeringConnectionStateReason', 'locationName' => 'status', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'VpcPeeringConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'item', ], ], 'VpcPeeringConnectionOptionsDescription' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], ], ], 'VpcPeeringConnectionStateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'VpcPeeringConnectionStateReasonCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'VpcPeeringConnectionStateReasonCode' => [ 'type' => 'string', 'enum' => [ 'initiating-request', 'pending-acceptance', 'active', 'deleted', 'rejected', 'failed', 'expired', 'provisioning', 'deleting', ], ], 'VpcPeeringConnectionVpcInfo' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeeringOptions' => [ 'shape' => 'VpcPeeringConnectionOptionsDescription', 'locationName' => 'peeringOptions', ], ], ], 'VpcState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'VpnConnection' => [ 'type' => 'structure', 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpnConnectionId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'CustomerGatewayConfiguration' => [ 'shape' => 'String', 'locationName' => 'customerGatewayConfiguration', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VgwTelemetry' => [ 'shape' => 'VgwTelemetryList', 'locationName' => 'vgwTelemetry', ], 'Options' => [ 'shape' => 'VpnConnectionOptions', 'locationName' => 'options', ], 'Routes' => [ 'shape' => 'VpnStaticRouteList', 'locationName' => 'routes', ], ], ], 'VpnConnectionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnConnectionId', ], ], 'VpnConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnConnection', 'locationName' => 'item', ], ], 'VpnConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnConnectionOptionsSpecification' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnGateway' => [ 'type' => 'structure', 'members' => [ 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VpcAttachments' => [ 'shape' => 'VpcAttachmentList', 'locationName' => 'attachments', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpnGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnGatewayId', ], ], 'VpnGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnGateway', 'locationName' => 'item', ], ], 'VpnState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'VpnStaticRoute' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'Source' => [ 'shape' => 'VpnStaticRouteSource', 'locationName' => 'source', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], ], ], 'VpnStaticRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnStaticRoute', 'locationName' => 'item', ], ], 'VpnStaticRouteSource' => [ 'type' => 'string', 'enum' => [ 'Static', ], ], 'ZoneNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneName', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2015-10-01/paginators-1.json.php b/lib/aws/Aws/data/ec2/2015-10-01/paginators-1.json.php new file mode 100644 index 0000000..b605ae2 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2015-10-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2015-10-01/paginators-1.json +return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeRouteTables' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Snapshots', ], 'DescribeSpotInstanceRequests' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Tags', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Volumes', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],]; diff --git a/lib/aws/Aws/data/ec2/2015-10-01/waiters-1.json.php b/lib/aws/Aws/data/ec2/2015-10-01/waiters-1.json.php new file mode 100644 index 0000000..3dccee6 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2015-10-01/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2015-10-01/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 15, 'max_attempts' => 40, 'acceptor_type' => 'output', ], '__InstanceState' => [ 'operation' => 'DescribeInstances', 'acceptor_path' => 'Reservations[].Instances[].State.Name', ], '__InstanceStatus' => [ 'operation' => 'DescribeInstanceStatus', 'success_value' => 'ok', ], 'SystemStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].SystemStatus.Status', ], 'InstanceStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].InstanceStatus.Status', ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'acceptor_path' => 'Images[].State', 'success_value' => 'available', 'failure_value' => [ 'failed', ], ], 'InstanceRunning' => [ 'extends' => '__InstanceState', 'success_value' => 'running', 'failure_value' => [ 'shutting-down', 'terminated', 'stopping', ], ], 'InstanceStopped' => [ 'extends' => '__InstanceState', 'success_value' => 'stopped', 'failure_value' => [ 'pending', 'terminated', ], ], 'InstanceTerminated' => [ 'extends' => '__InstanceState', 'success_value' => 'terminated', 'failure_value' => [ 'pending', 'stopping', ], ], '__ExportTaskState' => [ 'operation' => 'DescribeExportTasks', 'acceptor_path' => 'ExportTasks[].State', ], 'ExportTaskCompleted' => [ 'extends' => '__ExportTaskState', 'success_value' => 'completed', ], 'ExportTaskCancelled' => [ 'extends' => '__ExportTaskState', 'success_value' => 'cancelled', ], 'SnapshotCompleted' => [ 'operation' => 'DescribeSnapshots', 'success_path' => 'Snapshots[].State', 'success_value' => 'completed', ], 'SubnetAvailable' => [ 'operation' => 'DescribeSubnets', 'success_path' => 'Subnets[].State', 'success_value' => 'available', ], '__VolumeStatus' => [ 'operation' => 'DescribeVolumes', 'acceptor_path' => 'Volumes[].State', ], 'VolumeAvailable' => [ 'extends' => '__VolumeStatus', 'success_value' => 'available', 'failure_value' => [ 'deleted', ], ], 'VolumeInUse' => [ 'extends' => '__VolumeStatus', 'success_value' => 'in-use', 'failure_value' => [ 'deleted', ], ], 'VolumeDeleted' => [ 'extends' => '__VolumeStatus', 'success_type' => 'error', 'success_value' => 'InvalidVolume.NotFound', ], 'VpcAvailable' => [ 'operation' => 'DescribeVpcs', 'success_path' => 'Vpcs[].State', 'success_value' => 'available', ], '__VpnConnectionState' => [ 'operation' => 'DescribeVpnConnections', 'acceptor_path' => 'VpnConnections[].State', ], 'VpnConnectionAvailable' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'available', 'failure_value' => [ 'deleting', 'deleted', ], ], 'VpnConnectionDeleted' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'deleted', 'failure_value' => [ 'pending', ], ], 'BundleTaskComplete' => [ 'operation' => 'DescribeBundleTasks', 'acceptor_path' => 'BundleTasks[].State', 'success_value' => 'complete', 'failure_value' => [ 'failed', ], ], '__ConversionTaskState' => [ 'operation' => 'DescribeConversionTasks', 'acceptor_path' => 'ConversionTasks[].State', ], 'ConversionTaskCompleted' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'completed', 'failure_value' => [ 'cancelled', 'cancelling', ], ], 'ConversionTaskCancelled' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'cancelled', ], '__CustomerGatewayState' => [ 'operation' => 'DescribeCustomerGateways', 'acceptor_path' => 'CustomerGateways[].State', ], 'CustomerGatewayAvailable' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'available', 'failure_value' => [ 'deleted', 'deleting', ], ], 'ConversionTaskDeleted' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'deleted', ], '__SpotInstanceRequestState' => [ 'operation' => 'DescribeSpotInstanceRequests', 'acceptor_path' => 'SpotInstanceRequests[].Status.Code', ], 'SpotInstanceRequestFulfilled' => [ 'extends' => '__SpotInstanceRequestState', 'success_value' => 'fulfilled', 'failure_value' => [ 'schedule-expired', 'canceled-before-fulfillment', 'bad-parameters', 'system-error', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2015-10-01/waiters-2.json.php b/lib/aws/Aws/data/ec2/2015-10-01/waiters-2.json.php new file mode 100644 index 0000000..45deded --- /dev/null +++ b/lib/aws/Aws/data/ec2/2015-10-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2015-10-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceExists' => [ 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'DescribeInstances', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Reservations[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'BundleTaskComplete' => [ 'delay' => 15, 'operation' => 'DescribeBundleTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'complete', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'BundleTasks[].State', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'BundleTasks[].State', ], ], ], 'ConversionTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelled', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelling', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskDeleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'CustomerGatewayAvailable' => [ 'delay' => 15, 'operation' => 'DescribeCustomerGateways', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], ], ], 'ExportTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ExportTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ImageExists' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Images[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidAMIID.NotFound', 'state' => 'retry', ], ], ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Images[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Images[].State', 'expected' => 'failed', ], ], ], 'InstanceRunning' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'running', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'shutting-down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].InstanceStatus.Status', 'expected' => 'ok', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStopped' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'InstanceTerminated' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'terminated', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'KeyPairExists' => [ 'operation' => 'DescribeKeyPairs', 'delay' => 5, 'maxAttempts' => 6, 'acceptors' => [ [ 'expected' => true, 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'length(KeyPairs[].KeyName) > `0`', ], [ 'expected' => 'InvalidKeyPair.NotFound', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'NatGatewayAvailable' => [ 'operation' => 'DescribeNatGateways', 'delay' => 15, 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'NatGateways[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'failed', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleting', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleted', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'NatGatewayNotFound', ], ], ], 'NetworkInterfaceAvailable' => [ 'operation' => 'DescribeNetworkInterfaces', 'delay' => 20, 'maxAttempts' => 10, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'NetworkInterfaces[].Status', ], [ 'expected' => 'InvalidNetworkInterfaceID.NotFound', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'PasswordDataAvailable' => [ 'operation' => 'GetPasswordData', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'length(PasswordData) > `0`', 'expected' => true, ], ], ], 'SnapshotCompleted' => [ 'delay' => 15, 'operation' => 'DescribeSnapshots', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Snapshots[].State', ], ], ], 'SpotInstanceRequestFulfilled' => [ 'operation' => 'DescribeSpotInstanceRequests', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'fulfilled', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'schedule-expired', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'canceled-before-fulfillment', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'bad-parameters', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'system-error', ], ], ], 'SubnetAvailable' => [ 'delay' => 15, 'operation' => 'DescribeSubnets', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Subnets[].State', ], ], ], 'SystemStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].SystemStatus.Status', 'expected' => 'ok', ], ], ], 'VolumeAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VolumeDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'matcher' => 'error', 'expected' => 'InvalidVolume.NotFound', 'state' => 'success', ], ], ], 'VolumeInUse' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'in-use', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VpcAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpcs', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Vpcs[].State', ], ], ], 'VpcExists' => [ 'operation' => 'DescribeVpcs', 'delay' => 1, 'maxAttempts' => 5, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcID.NotFound', 'state' => 'retry', ], ], ], 'VpnConnectionAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpnConnectionDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpcPeeringConnectionExists' => [ 'delay' => 15, 'operation' => 'DescribeVpcPeeringConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcPeeringConnectionID.NotFound', 'state' => 'retry', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-04-01/api-2.json.php b/lib/aws/Aws/data/ec2/2016-04-01/api-2.json.php new file mode 100644 index 0000000..9845cb9 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-04-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-04-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'ec2-2016-04-01', 'apiVersion' => '2016-04-01', 'endpointPrefix' => 'ec2', 'protocol' => 'ec2', 'serviceAbbreviation' => 'Amazon EC2', 'serviceFullName' => 'Amazon Elastic Compute Cloud', 'signatureVersion' => 'v4', 'xmlNamespace' => 'http://ec2.amazonaws.com/doc/2016-04-01', ], 'operations' => [ 'AcceptVpcPeeringConnection' => [ 'name' => 'AcceptVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'AcceptVpcPeeringConnectionResult', ], ], 'AllocateAddress' => [ 'name' => 'AllocateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateAddressRequest', ], 'output' => [ 'shape' => 'AllocateAddressResult', ], ], 'AllocateHosts' => [ 'name' => 'AllocateHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateHostsRequest', ], 'output' => [ 'shape' => 'AllocateHostsResult', ], ], 'AssignPrivateIpAddresses' => [ 'name' => 'AssignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignPrivateIpAddressesRequest', ], ], 'AssociateAddress' => [ 'name' => 'AssociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAddressRequest', ], 'output' => [ 'shape' => 'AssociateAddressResult', ], ], 'AssociateDhcpOptions' => [ 'name' => 'AssociateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDhcpOptionsRequest', ], ], 'AssociateRouteTable' => [ 'name' => 'AssociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateRouteTableRequest', ], 'output' => [ 'shape' => 'AssociateRouteTableResult', ], ], 'AttachClassicLinkVpc' => [ 'name' => 'AttachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'AttachClassicLinkVpcResult', ], ], 'AttachInternetGateway' => [ 'name' => 'AttachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInternetGatewayRequest', ], ], 'AttachNetworkInterface' => [ 'name' => 'AttachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'AttachNetworkInterfaceResult', ], ], 'AttachVolume' => [ 'name' => 'AttachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'AttachVpnGateway' => [ 'name' => 'AttachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVpnGatewayRequest', ], 'output' => [ 'shape' => 'AttachVpnGatewayResult', ], ], 'AuthorizeSecurityGroupEgress' => [ 'name' => 'AuthorizeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupEgressRequest', ], ], 'AuthorizeSecurityGroupIngress' => [ 'name' => 'AuthorizeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupIngressRequest', ], ], 'BundleInstance' => [ 'name' => 'BundleInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BundleInstanceRequest', ], 'output' => [ 'shape' => 'BundleInstanceResult', ], ], 'CancelBundleTask' => [ 'name' => 'CancelBundleTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelBundleTaskRequest', ], 'output' => [ 'shape' => 'CancelBundleTaskResult', ], ], 'CancelConversionTask' => [ 'name' => 'CancelConversionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelConversionRequest', ], ], 'CancelExportTask' => [ 'name' => 'CancelExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelExportTaskRequest', ], ], 'CancelImportTask' => [ 'name' => 'CancelImportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelImportTaskRequest', ], 'output' => [ 'shape' => 'CancelImportTaskResult', ], ], 'CancelReservedInstancesListing' => [ 'name' => 'CancelReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CancelReservedInstancesListingResult', ], ], 'CancelSpotFleetRequests' => [ 'name' => 'CancelSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotFleetRequestsResponse', ], ], 'CancelSpotInstanceRequests' => [ 'name' => 'CancelSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotInstanceRequestsResult', ], ], 'ConfirmProductInstance' => [ 'name' => 'ConfirmProductInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmProductInstanceRequest', ], 'output' => [ 'shape' => 'ConfirmProductInstanceResult', ], ], 'CopyImage' => [ 'name' => 'CopyImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyImageRequest', ], 'output' => [ 'shape' => 'CopyImageResult', ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotRequest', ], 'output' => [ 'shape' => 'CopySnapshotResult', ], ], 'CreateCustomerGateway' => [ 'name' => 'CreateCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomerGatewayRequest', ], 'output' => [ 'shape' => 'CreateCustomerGatewayResult', ], ], 'CreateDhcpOptions' => [ 'name' => 'CreateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDhcpOptionsRequest', ], 'output' => [ 'shape' => 'CreateDhcpOptionsResult', ], ], 'CreateFlowLogs' => [ 'name' => 'CreateFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFlowLogsRequest', ], 'output' => [ 'shape' => 'CreateFlowLogsResult', ], ], 'CreateImage' => [ 'name' => 'CreateImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageRequest', ], 'output' => [ 'shape' => 'CreateImageResult', ], ], 'CreateInstanceExportTask' => [ 'name' => 'CreateInstanceExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceExportTaskRequest', ], 'output' => [ 'shape' => 'CreateInstanceExportTaskResult', ], ], 'CreateInternetGateway' => [ 'name' => 'CreateInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInternetGatewayRequest', ], 'output' => [ 'shape' => 'CreateInternetGatewayResult', ], ], 'CreateKeyPair' => [ 'name' => 'CreateKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyPairRequest', ], 'output' => [ 'shape' => 'KeyPair', ], ], 'CreateNatGateway' => [ 'name' => 'CreateNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNatGatewayRequest', ], 'output' => [ 'shape' => 'CreateNatGatewayResult', ], ], 'CreateNetworkAcl' => [ 'name' => 'CreateNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclRequest', ], 'output' => [ 'shape' => 'CreateNetworkAclResult', ], ], 'CreateNetworkAclEntry' => [ 'name' => 'CreateNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclEntryRequest', ], ], 'CreateNetworkInterface' => [ 'name' => 'CreateNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'CreateNetworkInterfaceResult', ], ], 'CreatePlacementGroup' => [ 'name' => 'CreatePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlacementGroupRequest', ], ], 'CreateReservedInstancesListing' => [ 'name' => 'CreateReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CreateReservedInstancesListingResult', ], ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteRequest', ], 'output' => [ 'shape' => 'CreateRouteResult', ], ], 'CreateRouteTable' => [ 'name' => 'CreateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteTableRequest', ], 'output' => [ 'shape' => 'CreateRouteTableResult', ], ], 'CreateSecurityGroup' => [ 'name' => 'CreateSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityGroupRequest', ], 'output' => [ 'shape' => 'CreateSecurityGroupResult', ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotRequest', ], 'output' => [ 'shape' => 'Snapshot', ], ], 'CreateSpotDatafeedSubscription' => [ 'name' => 'CreateSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateSpotDatafeedSubscriptionResult', ], ], 'CreateSubnet' => [ 'name' => 'CreateSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubnetRequest', ], 'output' => [ 'shape' => 'CreateSubnetResult', ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], ], 'CreateVolume' => [ 'name' => 'CreateVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVolumeRequest', ], 'output' => [ 'shape' => 'Volume', ], ], 'CreateVpc' => [ 'name' => 'CreateVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcRequest', ], 'output' => [ 'shape' => 'CreateVpcResult', ], ], 'CreateVpcEndpoint' => [ 'name' => 'CreateVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointResult', ], ], 'CreateVpcPeeringConnection' => [ 'name' => 'CreateVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpcPeeringConnectionResult', ], ], 'CreateVpnConnection' => [ 'name' => 'CreateVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpnConnectionResult', ], ], 'CreateVpnConnectionRoute' => [ 'name' => 'CreateVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRouteRequest', ], ], 'CreateVpnGateway' => [ 'name' => 'CreateVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnGatewayRequest', ], 'output' => [ 'shape' => 'CreateVpnGatewayResult', ], ], 'DeleteCustomerGateway' => [ 'name' => 'DeleteCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomerGatewayRequest', ], ], 'DeleteDhcpOptions' => [ 'name' => 'DeleteDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDhcpOptionsRequest', ], ], 'DeleteFlowLogs' => [ 'name' => 'DeleteFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFlowLogsRequest', ], 'output' => [ 'shape' => 'DeleteFlowLogsResult', ], ], 'DeleteInternetGateway' => [ 'name' => 'DeleteInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInternetGatewayRequest', ], ], 'DeleteKeyPair' => [ 'name' => 'DeleteKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKeyPairRequest', ], ], 'DeleteNatGateway' => [ 'name' => 'DeleteNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNatGatewayRequest', ], 'output' => [ 'shape' => 'DeleteNatGatewayResult', ], ], 'DeleteNetworkAcl' => [ 'name' => 'DeleteNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclRequest', ], ], 'DeleteNetworkAclEntry' => [ 'name' => 'DeleteNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclEntryRequest', ], ], 'DeleteNetworkInterface' => [ 'name' => 'DeleteNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkInterfaceRequest', ], ], 'DeletePlacementGroup' => [ 'name' => 'DeletePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlacementGroupRequest', ], ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteRequest', ], ], 'DeleteRouteTable' => [ 'name' => 'DeleteRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteTableRequest', ], ], 'DeleteSecurityGroup' => [ 'name' => 'DeleteSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityGroupRequest', ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotRequest', ], ], 'DeleteSpotDatafeedSubscription' => [ 'name' => 'DeleteSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSpotDatafeedSubscriptionRequest', ], ], 'DeleteSubnet' => [ 'name' => 'DeleteSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubnetRequest', ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], ], 'DeleteVolume' => [ 'name' => 'DeleteVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVolumeRequest', ], ], 'DeleteVpc' => [ 'name' => 'DeleteVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcRequest', ], ], 'DeleteVpcEndpoints' => [ 'name' => 'DeleteVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointsResult', ], ], 'DeleteVpcPeeringConnection' => [ 'name' => 'DeleteVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'DeleteVpcPeeringConnectionResult', ], ], 'DeleteVpnConnection' => [ 'name' => 'DeleteVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRequest', ], ], 'DeleteVpnConnectionRoute' => [ 'name' => 'DeleteVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRouteRequest', ], ], 'DeleteVpnGateway' => [ 'name' => 'DeleteVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnGatewayRequest', ], ], 'DeregisterImage' => [ 'name' => 'DeregisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterImageRequest', ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResult', ], ], 'DescribeAddresses' => [ 'name' => 'DescribeAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressesRequest', ], 'output' => [ 'shape' => 'DescribeAddressesResult', ], ], 'DescribeAvailabilityZones' => [ 'name' => 'DescribeAvailabilityZones', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailabilityZonesRequest', ], 'output' => [ 'shape' => 'DescribeAvailabilityZonesResult', ], ], 'DescribeBundleTasks' => [ 'name' => 'DescribeBundleTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBundleTasksRequest', ], 'output' => [ 'shape' => 'DescribeBundleTasksResult', ], ], 'DescribeClassicLinkInstances' => [ 'name' => 'DescribeClassicLinkInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClassicLinkInstancesRequest', ], 'output' => [ 'shape' => 'DescribeClassicLinkInstancesResult', ], ], 'DescribeConversionTasks' => [ 'name' => 'DescribeConversionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConversionTasksRequest', ], 'output' => [ 'shape' => 'DescribeConversionTasksResult', ], ], 'DescribeCustomerGateways' => [ 'name' => 'DescribeCustomerGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCustomerGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeCustomerGatewaysResult', ], ], 'DescribeDhcpOptions' => [ 'name' => 'DescribeDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDhcpOptionsRequest', ], 'output' => [ 'shape' => 'DescribeDhcpOptionsResult', ], ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResult', ], ], 'DescribeFlowLogs' => [ 'name' => 'DescribeFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFlowLogsRequest', ], 'output' => [ 'shape' => 'DescribeFlowLogsResult', ], ], 'DescribeHostReservationOfferings' => [ 'name' => 'DescribeHostReservationOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationOfferingsResult', ], ], 'DescribeHostReservations' => [ 'name' => 'DescribeHostReservations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationsResult', ], ], 'DescribeHosts' => [ 'name' => 'DescribeHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostsRequest', ], 'output' => [ 'shape' => 'DescribeHostsResult', ], ], 'DescribeIdFormat' => [ 'name' => 'DescribeIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdFormatResult', ], ], 'DescribeIdentityIdFormat' => [ 'name' => 'DescribeIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdentityIdFormatResult', ], ], 'DescribeImageAttribute' => [ 'name' => 'DescribeImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImageAttributeRequest', ], 'output' => [ 'shape' => 'ImageAttribute', ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResult', ], ], 'DescribeImportImageTasks' => [ 'name' => 'DescribeImportImageTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportImageTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportImageTasksResult', ], ], 'DescribeImportSnapshotTasks' => [ 'name' => 'DescribeImportSnapshotTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportSnapshotTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportSnapshotTasksResult', ], ], 'DescribeInstanceAttribute' => [ 'name' => 'DescribeInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceAttributeRequest', ], 'output' => [ 'shape' => 'InstanceAttribute', ], ], 'DescribeInstanceStatus' => [ 'name' => 'DescribeInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceStatusRequest', ], 'output' => [ 'shape' => 'DescribeInstanceStatusResult', ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesRequest', ], 'output' => [ 'shape' => 'DescribeInstancesResult', ], ], 'DescribeInternetGateways' => [ 'name' => 'DescribeInternetGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInternetGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeInternetGatewaysResult', ], ], 'DescribeKeyPairs' => [ 'name' => 'DescribeKeyPairs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyPairsRequest', ], 'output' => [ 'shape' => 'DescribeKeyPairsResult', ], ], 'DescribeMovingAddresses' => [ 'name' => 'DescribeMovingAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMovingAddressesRequest', ], 'output' => [ 'shape' => 'DescribeMovingAddressesResult', ], ], 'DescribeNatGateways' => [ 'name' => 'DescribeNatGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNatGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeNatGatewaysResult', ], ], 'DescribeNetworkAcls' => [ 'name' => 'DescribeNetworkAcls', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkAclsRequest', ], 'output' => [ 'shape' => 'DescribeNetworkAclsResult', ], ], 'DescribeNetworkInterfaceAttribute' => [ 'name' => 'DescribeNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfaceAttributeRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfaceAttributeResult', ], ], 'DescribeNetworkInterfaces' => [ 'name' => 'DescribeNetworkInterfaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfacesRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfacesResult', ], ], 'DescribePlacementGroups' => [ 'name' => 'DescribePlacementGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlacementGroupsRequest', ], 'output' => [ 'shape' => 'DescribePlacementGroupsResult', ], ], 'DescribePrefixLists' => [ 'name' => 'DescribePrefixLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePrefixListsRequest', ], 'output' => [ 'shape' => 'DescribePrefixListsResult', ], ], 'DescribeRegions' => [ 'name' => 'DescribeRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRegionsRequest', ], 'output' => [ 'shape' => 'DescribeRegionsResult', ], ], 'DescribeReservedInstances' => [ 'name' => 'DescribeReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesResult', ], ], 'DescribeReservedInstancesListings' => [ 'name' => 'DescribeReservedInstancesListings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesListingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesListingsResult', ], ], 'DescribeReservedInstancesModifications' => [ 'name' => 'DescribeReservedInstancesModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesModificationsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesModificationsResult', ], ], 'DescribeReservedInstancesOfferings' => [ 'name' => 'DescribeReservedInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesOfferingsResult', ], ], 'DescribeRouteTables' => [ 'name' => 'DescribeRouteTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRouteTablesRequest', ], 'output' => [ 'shape' => 'DescribeRouteTablesResult', ], ], 'DescribeScheduledInstanceAvailability' => [ 'name' => 'DescribeScheduledInstanceAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityResult', ], ], 'DescribeScheduledInstances' => [ 'name' => 'DescribeScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstancesRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstancesResult', ], ], 'DescribeSecurityGroupReferences' => [ 'name' => 'DescribeSecurityGroupReferences', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupReferencesRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupReferencesResult', ], ], 'DescribeSecurityGroups' => [ 'name' => 'DescribeSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupsResult', ], ], 'DescribeSnapshotAttribute' => [ 'name' => 'DescribeSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotAttributeRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotAttributeResult', ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotsResult', ], ], 'DescribeSpotDatafeedSubscription' => [ 'name' => 'DescribeSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionResult', ], ], 'DescribeSpotFleetInstances' => [ 'name' => 'DescribeSpotFleetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetInstancesRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetInstancesResponse', ], ], 'DescribeSpotFleetRequestHistory' => [ 'name' => 'DescribeSpotFleetRequestHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestHistoryResponse', ], ], 'DescribeSpotFleetRequests' => [ 'name' => 'DescribeSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestsResponse', ], ], 'DescribeSpotInstanceRequests' => [ 'name' => 'DescribeSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotInstanceRequestsResult', ], ], 'DescribeSpotPriceHistory' => [ 'name' => 'DescribeSpotPriceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotPriceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotPriceHistoryResult', ], ], 'DescribeStaleSecurityGroups' => [ 'name' => 'DescribeStaleSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStaleSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeStaleSecurityGroupsResult', ], ], 'DescribeSubnets' => [ 'name' => 'DescribeSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubnetsRequest', ], 'output' => [ 'shape' => 'DescribeSubnetsResult', ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResult', ], ], 'DescribeVolumeAttribute' => [ 'name' => 'DescribeVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVolumeAttributeResult', ], ], 'DescribeVolumeStatus' => [ 'name' => 'DescribeVolumeStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeStatusRequest', ], 'output' => [ 'shape' => 'DescribeVolumeStatusResult', ], ], 'DescribeVolumes' => [ 'name' => 'DescribeVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesRequest', ], 'output' => [ 'shape' => 'DescribeVolumesResult', ], ], 'DescribeVpcAttribute' => [ 'name' => 'DescribeVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVpcAttributeResult', ], ], 'DescribeVpcClassicLink' => [ 'name' => 'DescribeVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkResult', ], ], 'DescribeVpcClassicLinkDnsSupport' => [ 'name' => 'DescribeVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportResult', ], ], 'DescribeVpcEndpointServices' => [ 'name' => 'DescribeVpcEndpointServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServicesRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServicesResult', ], ], 'DescribeVpcEndpoints' => [ 'name' => 'DescribeVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointsResult', ], ], 'DescribeVpcPeeringConnections' => [ 'name' => 'DescribeVpcPeeringConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcPeeringConnectionsResult', ], ], 'DescribeVpcs' => [ 'name' => 'DescribeVpcs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcsRequest', ], 'output' => [ 'shape' => 'DescribeVpcsResult', ], ], 'DescribeVpnConnections' => [ 'name' => 'DescribeVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpnConnectionsResult', ], ], 'DescribeVpnGateways' => [ 'name' => 'DescribeVpnGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeVpnGatewaysResult', ], ], 'DetachClassicLinkVpc' => [ 'name' => 'DetachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'DetachClassicLinkVpcResult', ], ], 'DetachInternetGateway' => [ 'name' => 'DetachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInternetGatewayRequest', ], ], 'DetachNetworkInterface' => [ 'name' => 'DetachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachNetworkInterfaceRequest', ], ], 'DetachVolume' => [ 'name' => 'DetachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'DetachVpnGateway' => [ 'name' => 'DetachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVpnGatewayRequest', ], ], 'DisableVgwRoutePropagation' => [ 'name' => 'DisableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVgwRoutePropagationRequest', ], ], 'DisableVpcClassicLink' => [ 'name' => 'DisableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkResult', ], ], 'DisableVpcClassicLinkDnsSupport' => [ 'name' => 'DisableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportResult', ], ], 'DisassociateAddress' => [ 'name' => 'DisassociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAddressRequest', ], ], 'DisassociateRouteTable' => [ 'name' => 'DisassociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateRouteTableRequest', ], ], 'EnableVgwRoutePropagation' => [ 'name' => 'EnableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVgwRoutePropagationRequest', ], ], 'EnableVolumeIO' => [ 'name' => 'EnableVolumeIO', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVolumeIORequest', ], ], 'EnableVpcClassicLink' => [ 'name' => 'EnableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkResult', ], ], 'EnableVpcClassicLinkDnsSupport' => [ 'name' => 'EnableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportResult', ], ], 'GetConsoleOutput' => [ 'name' => 'GetConsoleOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleOutputRequest', ], 'output' => [ 'shape' => 'GetConsoleOutputResult', ], ], 'GetConsoleScreenshot' => [ 'name' => 'GetConsoleScreenshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleScreenshotRequest', ], 'output' => [ 'shape' => 'GetConsoleScreenshotResult', ], ], 'GetHostReservationPurchasePreview' => [ 'name' => 'GetHostReservationPurchasePreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetHostReservationPurchasePreviewRequest', ], 'output' => [ 'shape' => 'GetHostReservationPurchasePreviewResult', ], ], 'GetPasswordData' => [ 'name' => 'GetPasswordData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPasswordDataRequest', ], 'output' => [ 'shape' => 'GetPasswordDataResult', ], ], 'ImportImage' => [ 'name' => 'ImportImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportImageRequest', ], 'output' => [ 'shape' => 'ImportImageResult', ], ], 'ImportInstance' => [ 'name' => 'ImportInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportInstanceRequest', ], 'output' => [ 'shape' => 'ImportInstanceResult', ], ], 'ImportKeyPair' => [ 'name' => 'ImportKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyPairRequest', ], 'output' => [ 'shape' => 'ImportKeyPairResult', ], ], 'ImportSnapshot' => [ 'name' => 'ImportSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSnapshotRequest', ], 'output' => [ 'shape' => 'ImportSnapshotResult', ], ], 'ImportVolume' => [ 'name' => 'ImportVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportVolumeRequest', ], 'output' => [ 'shape' => 'ImportVolumeResult', ], ], 'ModifyHosts' => [ 'name' => 'ModifyHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHostsRequest', ], 'output' => [ 'shape' => 'ModifyHostsResult', ], ], 'ModifyIdFormat' => [ 'name' => 'ModifyIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdFormatRequest', ], ], 'ModifyIdentityIdFormat' => [ 'name' => 'ModifyIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdentityIdFormatRequest', ], ], 'ModifyImageAttribute' => [ 'name' => 'ModifyImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyImageAttributeRequest', ], ], 'ModifyInstanceAttribute' => [ 'name' => 'ModifyInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceAttributeRequest', ], ], 'ModifyInstancePlacement' => [ 'name' => 'ModifyInstancePlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstancePlacementRequest', ], 'output' => [ 'shape' => 'ModifyInstancePlacementResult', ], ], 'ModifyNetworkInterfaceAttribute' => [ 'name' => 'ModifyNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyNetworkInterfaceAttributeRequest', ], ], 'ModifyReservedInstances' => [ 'name' => 'ModifyReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReservedInstancesRequest', ], 'output' => [ 'shape' => 'ModifyReservedInstancesResult', ], ], 'ModifySnapshotAttribute' => [ 'name' => 'ModifySnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotAttributeRequest', ], ], 'ModifySpotFleetRequest' => [ 'name' => 'ModifySpotFleetRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySpotFleetRequestRequest', ], 'output' => [ 'shape' => 'ModifySpotFleetRequestResponse', ], ], 'ModifySubnetAttribute' => [ 'name' => 'ModifySubnetAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySubnetAttributeRequest', ], ], 'ModifyVolumeAttribute' => [ 'name' => 'ModifyVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVolumeAttributeRequest', ], ], 'ModifyVpcAttribute' => [ 'name' => 'ModifyVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcAttributeRequest', ], ], 'ModifyVpcEndpoint' => [ 'name' => 'ModifyVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointResult', ], ], 'ModifyVpcPeeringConnectionOptions' => [ 'name' => 'ModifyVpcPeeringConnectionOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsRequest', ], 'output' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsResult', ], ], 'MonitorInstances' => [ 'name' => 'MonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MonitorInstancesRequest', ], 'output' => [ 'shape' => 'MonitorInstancesResult', ], ], 'MoveAddressToVpc' => [ 'name' => 'MoveAddressToVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MoveAddressToVpcRequest', ], 'output' => [ 'shape' => 'MoveAddressToVpcResult', ], ], 'PurchaseHostReservation' => [ 'name' => 'PurchaseHostReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseHostReservationRequest', ], 'output' => [ 'shape' => 'PurchaseHostReservationResult', ], ], 'PurchaseReservedInstancesOffering' => [ 'name' => 'PurchaseReservedInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedInstancesOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseReservedInstancesOfferingResult', ], ], 'PurchaseScheduledInstances' => [ 'name' => 'PurchaseScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseScheduledInstancesRequest', ], 'output' => [ 'shape' => 'PurchaseScheduledInstancesResult', ], ], 'RebootInstances' => [ 'name' => 'RebootInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstancesRequest', ], ], 'RegisterImage' => [ 'name' => 'RegisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterImageRequest', ], 'output' => [ 'shape' => 'RegisterImageResult', ], ], 'RejectVpcPeeringConnection' => [ 'name' => 'RejectVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'RejectVpcPeeringConnectionResult', ], ], 'ReleaseAddress' => [ 'name' => 'ReleaseAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseAddressRequest', ], ], 'ReleaseHosts' => [ 'name' => 'ReleaseHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseHostsRequest', ], 'output' => [ 'shape' => 'ReleaseHostsResult', ], ], 'ReplaceNetworkAclAssociation' => [ 'name' => 'ReplaceNetworkAclAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceNetworkAclAssociationResult', ], ], 'ReplaceNetworkAclEntry' => [ 'name' => 'ReplaceNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclEntryRequest', ], ], 'ReplaceRoute' => [ 'name' => 'ReplaceRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteRequest', ], ], 'ReplaceRouteTableAssociation' => [ 'name' => 'ReplaceRouteTableAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteTableAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceRouteTableAssociationResult', ], ], 'ReportInstanceStatus' => [ 'name' => 'ReportInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportInstanceStatusRequest', ], ], 'RequestSpotFleet' => [ 'name' => 'RequestSpotFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotFleetRequest', ], 'output' => [ 'shape' => 'RequestSpotFleetResponse', ], ], 'RequestSpotInstances' => [ 'name' => 'RequestSpotInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotInstancesRequest', ], 'output' => [ 'shape' => 'RequestSpotInstancesResult', ], ], 'ResetImageAttribute' => [ 'name' => 'ResetImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetImageAttributeRequest', ], ], 'ResetInstanceAttribute' => [ 'name' => 'ResetInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetInstanceAttributeRequest', ], ], 'ResetNetworkInterfaceAttribute' => [ 'name' => 'ResetNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetNetworkInterfaceAttributeRequest', ], ], 'ResetSnapshotAttribute' => [ 'name' => 'ResetSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetSnapshotAttributeRequest', ], ], 'RestoreAddressToClassic' => [ 'name' => 'RestoreAddressToClassic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreAddressToClassicRequest', ], 'output' => [ 'shape' => 'RestoreAddressToClassicResult', ], ], 'RevokeSecurityGroupEgress' => [ 'name' => 'RevokeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupEgressRequest', ], ], 'RevokeSecurityGroupIngress' => [ 'name' => 'RevokeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupIngressRequest', ], ], 'RunInstances' => [ 'name' => 'RunInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunInstancesRequest', ], 'output' => [ 'shape' => 'Reservation', ], ], 'RunScheduledInstances' => [ 'name' => 'RunScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunScheduledInstancesRequest', ], 'output' => [ 'shape' => 'RunScheduledInstancesResult', ], ], 'StartInstances' => [ 'name' => 'StartInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstancesRequest', ], 'output' => [ 'shape' => 'StartInstancesResult', ], ], 'StopInstances' => [ 'name' => 'StopInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstancesRequest', ], 'output' => [ 'shape' => 'StopInstancesResult', ], ], 'TerminateInstances' => [ 'name' => 'TerminateInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateInstancesRequest', ], 'output' => [ 'shape' => 'TerminateInstancesResult', ], ], 'UnassignPrivateIpAddresses' => [ 'name' => 'UnassignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignPrivateIpAddressesRequest', ], ], 'UnmonitorInstances' => [ 'name' => 'UnmonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnmonitorInstancesRequest', ], 'output' => [ 'shape' => 'UnmonitorInstancesResult', ], ], ], 'shapes' => [ 'AcceptVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'AcceptVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', 'locationName' => 'attributeName', ], 'AttributeValues' => [ 'shape' => 'AccountAttributeValueList', 'locationName' => 'attributeValueSet', ], ], ], 'AccountAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', 'locationName' => 'item', ], ], 'AccountAttributeName' => [ 'type' => 'string', 'enum' => [ 'supported-platforms', 'default-vpc', ], ], 'AccountAttributeNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeName', 'locationName' => 'attributeName', ], ], 'AccountAttributeValue' => [ 'type' => 'structure', 'members' => [ 'AttributeValue' => [ 'shape' => 'String', 'locationName' => 'attributeValue', ], ], ], 'AccountAttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeValue', 'locationName' => 'item', ], ], 'ActiveInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], ], ], 'ActiveInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActiveInstance', 'locationName' => 'item', ], ], 'ActivityStatus' => [ 'type' => 'string', 'enum' => [ 'error', 'pending_fulfillment', 'pending_termination', 'fulfilled', ], ], 'Address' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'NetworkInterfaceOwnerId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceOwnerId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', 'locationName' => 'item', ], ], 'Affinity' => [ 'type' => 'string', 'enum' => [ 'default', 'host', ], ], 'AllocateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Domain' => [ 'shape' => 'DomainType', ], ], ], 'AllocateAddressResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], ], ], 'AllocateHostsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'Quantity', 'AvailabilityZone', ], 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Quantity' => [ 'shape' => 'Integer', 'locationName' => 'quantity', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'AllocateHostsResult' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'hostIdSet', ], ], ], 'AllocationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AllocationId', ], ], 'AllocationState' => [ 'type' => 'string', 'enum' => [ 'available', 'under-assessment', 'permanent-failure', 'released', 'released-permanent-failure', ], ], 'AllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowestPrice', 'diversified', ], ], 'ArchitectureValues' => [ 'type' => 'string', 'enum' => [ 'i386', 'x86_64', ], ], 'AssignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AllowReassignment' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassignment', ], ], ], 'AssociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'AllowReassociation' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassociation', ], ], ], 'AssociateAddressResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AssociateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AssociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'AssociateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AttachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', 'Groups', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'AttachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'AttachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AttachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'InstanceId', 'DeviceIndex', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], ], ], 'AttachNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], ], ], 'AttachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', 'InstanceId', 'Device', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpcAttachment' => [ 'shape' => 'VpcAttachment', 'locationName' => 'attachment', ], ], ], 'AttachmentStatus' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'AttributeBooleanValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', 'locationName' => 'value', ], ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'AuthorizeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'AuthorizeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'AutoPlacement' => [ 'type' => 'string', 'enum' => [ 'on', 'off', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'ZoneName' => [ 'shape' => 'String', 'locationName' => 'zoneName', ], 'State' => [ 'shape' => 'AvailabilityZoneState', 'locationName' => 'zoneState', ], 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Messages' => [ 'shape' => 'AvailabilityZoneMessageList', 'locationName' => 'messageSet', ], ], ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'item', ], ], 'AvailabilityZoneMessage' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'AvailabilityZoneMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZoneMessage', 'locationName' => 'item', ], ], 'AvailabilityZoneState' => [ 'type' => 'string', 'enum' => [ 'available', 'information', 'impaired', 'unavailable', ], ], 'AvailableCapacity' => [ 'type' => 'structure', 'members' => [ 'AvailableInstanceCapacity' => [ 'shape' => 'AvailableInstanceCapacityList', 'locationName' => 'availableInstanceCapacity', ], 'AvailableVCpus' => [ 'shape' => 'Integer', 'locationName' => 'availableVCpus', ], ], ], 'AvailableInstanceCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCapacity', 'locationName' => 'item', ], ], 'BatchState' => [ 'type' => 'string', 'enum' => [ 'submitted', 'active', 'cancelled', 'failed', 'cancelled_running', 'cancelled_terminating', 'modifying', ], ], 'Blob' => [ 'type' => 'blob', ], 'BlobAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Blob', 'locationName' => 'value', ], ], ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsBlockDevice', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'BlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'item', ], ], 'BlockDeviceMappingRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BundleIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'BundleId', ], ], 'BundleInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Storage', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'Storage' => [ 'shape' => 'Storage', ], ], ], 'BundleInstanceResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'BundleTask' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'BundleId' => [ 'shape' => 'String', 'locationName' => 'bundleId', ], 'State' => [ 'shape' => 'BundleTaskState', 'locationName' => 'state', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Storage' => [ 'shape' => 'Storage', 'locationName' => 'storage', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'BundleTaskError' => [ 'shape' => 'BundleTaskError', 'locationName' => 'error', ], ], ], 'BundleTaskError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'BundleTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleTask', 'locationName' => 'item', ], ], 'BundleTaskState' => [ 'type' => 'string', 'enum' => [ 'pending', 'waiting-for-shutdown', 'bundling', 'storing', 'cancelling', 'complete', 'failed', ], ], 'CancelBatchErrorCode' => [ 'type' => 'string', 'enum' => [ 'fleetRequestIdDoesNotExist', 'fleetRequestIdMalformed', 'fleetRequestNotInCancellableState', 'unexpectedError', ], ], 'CancelBundleTaskRequest' => [ 'type' => 'structure', 'required' => [ 'BundleId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleId' => [ 'shape' => 'String', ], ], ], 'CancelBundleTaskResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'CancelConversionRequest' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ReasonMessage' => [ 'shape' => 'String', 'locationName' => 'reasonMessage', ], ], ], 'CancelExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ExportTaskId', ], 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], ], ], 'CancelImportTaskRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskId' => [ 'shape' => 'String', ], 'CancelReason' => [ 'shape' => 'String', ], ], ], 'CancelImportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'PreviousState' => [ 'shape' => 'String', 'locationName' => 'previousState', ], ], ], 'CancelReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesListingId', ], 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], ], ], 'CancelReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CancelSpotFleetRequestsError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'Error', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'Error' => [ 'shape' => 'CancelSpotFleetRequestsError', 'locationName' => 'error', ], ], ], 'CancelSpotFleetRequestsErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsErrorItem', 'locationName' => 'item', ], ], 'CancelSpotFleetRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestIds', 'TerminateInstances', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'TerminateInstances' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstances', ], ], ], 'CancelSpotFleetRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'UnsuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsErrorSet', 'locationName' => 'unsuccessfulFleetRequestSet', ], 'SuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsSuccessSet', 'locationName' => 'successfulFleetRequestSet', ], ], ], 'CancelSpotFleetRequestsSuccessItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'CurrentSpotFleetRequestState', 'PreviousSpotFleetRequestState', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'CurrentSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'currentSpotFleetRequestState', ], 'PreviousSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'previousSpotFleetRequestState', ], ], ], 'CancelSpotFleetRequestsSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsSuccessItem', 'locationName' => 'item', ], ], 'CancelSpotInstanceRequestState' => [ 'type' => 'string', 'enum' => [ 'active', 'open', 'closed', 'cancelled', 'completed', ], ], 'CancelSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotInstanceRequestIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], ], ], 'CancelSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'CancelledSpotInstanceRequests' => [ 'shape' => 'CancelledSpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'CancelledSpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'State' => [ 'shape' => 'CancelSpotInstanceRequestState', 'locationName' => 'state', ], ], ], 'CancelledSpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelledSpotInstanceRequest', 'locationName' => 'item', ], ], 'ClassicLinkDnsSupport' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkDnsSupported' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkDnsSupported', ], ], ], 'ClassicLinkDnsSupportList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkDnsSupport', 'locationName' => 'item', ], ], 'ClassicLinkInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ClassicLinkInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkInstance', 'locationName' => 'item', ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'UploadStart' => [ 'shape' => 'DateTime', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'Comment' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ProductCode' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceResult' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ContainerFormat' => [ 'type' => 'string', 'enum' => [ 'ova', ], ], 'ConversionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ConversionTask' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', 'State', ], 'members' => [ 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ExpirationTime' => [ 'shape' => 'String', 'locationName' => 'expirationTime', ], 'ImportInstance' => [ 'shape' => 'ImportInstanceTaskDetails', 'locationName' => 'importInstance', ], 'ImportVolume' => [ 'shape' => 'ImportVolumeTaskDetails', 'locationName' => 'importVolume', ], 'State' => [ 'shape' => 'ConversionTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ConversionTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'CopyImageRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceImageId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceImageId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopyImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CopySnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceSnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceSnapshotId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', 'locationName' => 'destinationRegion', ], 'PresignedUrl' => [ 'shape' => 'String', 'locationName' => 'presignedUrl', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], ], ], 'CreateCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'PublicIp', 'BgpAsn', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'IpAddress', ], 'BgpAsn' => [ 'shape' => 'Integer', ], ], ], 'CreateCustomerGatewayResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateway' => [ 'shape' => 'CustomerGateway', 'locationName' => 'customerGateway', ], ], ], 'CreateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpConfigurations', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpConfigurations' => [ 'shape' => 'NewDhcpConfigurationList', 'locationName' => 'dhcpConfiguration', ], ], ], 'CreateDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptions', 'locationName' => 'dhcpOptions', ], ], ], 'CreateFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIds', 'ResourceType', 'TrafficType', 'LogGroupName', 'DeliverLogsPermissionArn', ], 'members' => [ 'ResourceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'FlowLogsResourceType', ], 'TrafficType' => [ 'shape' => 'TrafficType', ], 'LogGroupName' => [ 'shape' => 'String', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'flowLogIdSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'CreateImageRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NoReboot' => [ 'shape' => 'Boolean', 'locationName' => 'noReboot', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'blockDeviceMapping', ], ], ], 'CreateImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CreateInstanceExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3TaskSpecification', 'locationName' => 'exportToS3', ], ], ], 'CreateInstanceExportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ExportTask' => [ 'shape' => 'ExportTask', 'locationName' => 'exportTask', ], ], ], 'CreateInternetGatewayRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateway' => [ 'shape' => 'InternetGateway', 'locationName' => 'internetGateway', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'AllocationId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGateway' => [ 'shape' => 'NatGateway', 'locationName' => 'natGateway', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'CreateNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateNetworkAclResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcl' => [ 'shape' => 'NetworkAcl', 'locationName' => 'networkAcl', ], ], ], 'CreateNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterface' => [ 'shape' => 'NetworkInterface', 'locationName' => 'networkInterface', ], ], ], 'CreatePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Strategy', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], ], ], 'CreateReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesId', 'InstanceCount', 'PriceSchedules', 'ClientToken', ], 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleSpecificationList', 'locationName' => 'priceSchedules', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CreateRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'CreateRouteResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'CreateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'RouteTable' => [ 'shape' => 'RouteTable', 'locationName' => 'routeTable', ], ], ], 'CreateSecurityGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Description', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'GroupDescription', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'CreateSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'CreateSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], ], ], 'CreateSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'CreateSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'CidrBlock' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateSubnetResult' => [ 'type' => 'structure', 'members' => [ 'Subnet' => [ 'shape' => 'Subnet', 'locationName' => 'subnet', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', 'Tags', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'CreateVolumePermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'CreateVolumePermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateVolumePermission', 'locationName' => 'item', ], ], 'CreateVolumePermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'CreateVolumePermissionList', ], 'Remove' => [ 'shape' => 'CreateVolumePermissionList', ], ], ], 'CreateVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Size' => [ 'shape' => 'Integer', ], 'SnapshotId' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'ServiceName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'ServiceName' => [ 'shape' => 'String', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoint' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'vpcEndpoint', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeerVpcId' => [ 'shape' => 'String', 'locationName' => 'peerVpcId', ], 'PeerOwnerId' => [ 'shape' => 'String', 'locationName' => 'peerOwnerId', ], ], ], 'CreateVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'CreateVpcRequest' => [ 'type' => 'structure', 'required' => [ 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CidrBlock' => [ 'shape' => 'String', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], ], ], 'CreateVpcResult' => [ 'type' => 'structure', 'members' => [ 'Vpc' => [ 'shape' => 'Vpc', 'locationName' => 'vpc', ], ], ], 'CreateVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'CustomerGatewayId', 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'String', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'VpnConnectionOptionsSpecification', 'locationName' => 'options', ], ], ], 'CreateVpnConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnection' => [ 'shape' => 'VpnConnection', 'locationName' => 'vpnConnection', ], ], ], 'CreateVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateway' => [ 'shape' => 'VpnGateway', 'locationName' => 'vpnGateway', ], ], ], 'CurrencyCodeValues' => [ 'type' => 'string', 'enum' => [ 'USD', ], ], 'CustomerGateway' => [ 'type' => 'structure', 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], 'IpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'BgpAsn' => [ 'shape' => 'String', 'locationName' => 'bgpAsn', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'CustomerGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CustomerGatewayId', ], ], 'CustomerGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerGateway', 'locationName' => 'item', ], ], 'DatafeedSubscriptionState' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'CustomerGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], ], ], 'DeleteFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'FlowLogIds', ], 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], ], ], 'DeleteFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], ], ], 'DeleteKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'NatGatewayId', ], 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'DeleteNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Egress', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], ], ], 'DeleteNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'DeleteNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'DeletePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'DeleteRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], ], ], 'DeleteRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'DeleteSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'DeleteSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'resourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tag', ], ], ], 'DeleteVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], ], ], 'DeleteVpcEndpointsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'DeleteVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'DeleteVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteVpcRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'DeleteVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], ], ], 'DeregisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], ], ], 'DescribeAccountAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttributeNames' => [ 'shape' => 'AccountAttributeNameStringList', 'locationName' => 'attributeName', ], ], ], 'DescribeAccountAttributesResult' => [ 'type' => 'structure', 'members' => [ 'AccountAttributes' => [ 'shape' => 'AccountAttributeList', 'locationName' => 'accountAttributeSet', ], ], ], 'DescribeAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'PublicIpStringList', 'locationName' => 'PublicIp', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AllocationIds' => [ 'shape' => 'AllocationIdList', 'locationName' => 'AllocationId', ], ], ], 'DescribeAddressesResult' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'AddressList', 'locationName' => 'addressesSet', ], ], ], 'DescribeAvailabilityZonesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ZoneNames' => [ 'shape' => 'ZoneNameStringList', 'locationName' => 'ZoneName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeAvailabilityZonesResult' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', 'locationName' => 'availabilityZoneInfo', ], ], ], 'DescribeBundleTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleIds' => [ 'shape' => 'BundleIdStringList', 'locationName' => 'BundleId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeBundleTasksResult' => [ 'type' => 'structure', 'members' => [ 'BundleTasks' => [ 'shape' => 'BundleTaskList', 'locationName' => 'bundleInstanceTasksSet', ], ], ], 'DescribeClassicLinkInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeClassicLinkInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'ClassicLinkInstanceList', 'locationName' => 'instancesSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeConversionTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConversionTask', 'locationName' => 'item', ], ], 'DescribeConversionTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'ConversionTaskIds' => [ 'shape' => 'ConversionIdStringList', 'locationName' => 'conversionTaskId', ], ], ], 'DescribeConversionTasksResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTasks' => [ 'shape' => 'DescribeConversionTaskList', 'locationName' => 'conversionTasks', ], ], ], 'DescribeCustomerGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayIds' => [ 'shape' => 'CustomerGatewayIdStringList', 'locationName' => 'CustomerGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeCustomerGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateways' => [ 'shape' => 'CustomerGatewayList', 'locationName' => 'customerGatewaySet', ], ], ], 'DescribeDhcpOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsIds' => [ 'shape' => 'DhcpOptionsIdStringList', 'locationName' => 'DhcpOptionsId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptionsList', 'locationName' => 'dhcpOptionsSet', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'ExportTaskIds' => [ 'shape' => 'ExportTaskIdStringList', 'locationName' => 'exportTaskId', ], ], ], 'DescribeExportTasksResult' => [ 'type' => 'structure', 'members' => [ 'ExportTasks' => [ 'shape' => 'ExportTaskList', 'locationName' => 'exportTaskSet', ], ], ], 'DescribeFlowLogsRequest' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogs' => [ 'shape' => 'FlowLogSet', 'locationName' => 'flowLogSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostReservationOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'MinDuration' => [ 'shape' => 'Integer', ], 'MaxDuration' => [ 'shape' => 'Integer', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'OfferingSet' => [ 'shape' => 'HostOfferingSet', 'locationName' => 'offeringSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostReservationsRequest' => [ 'type' => 'structure', 'members' => [ 'HostReservationIdSet' => [ 'shape' => 'HostReservationIdSet', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationsResult' => [ 'type' => 'structure', 'members' => [ 'HostReservationSet' => [ 'shape' => 'HostReservationSet', 'locationName' => 'hostReservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostsRequest' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'Filter' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeHostsResult' => [ 'type' => 'structure', 'members' => [ 'Hosts' => [ 'shape' => 'HostList', 'locationName' => 'hostSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', ], ], ], 'DescribeIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'PrincipalArn', ], 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], ], ], 'DescribeIdentityIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ImageAttributeName', ], ], ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageIds' => [ 'shape' => 'ImageIdStringList', 'locationName' => 'ImageId', ], 'Owners' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'ExecutableUsers' => [ 'shape' => 'ExecutableByStringList', 'locationName' => 'ExecutableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'ImageList', 'locationName' => 'imagesSet', ], ], ], 'DescribeImportImageTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportImageTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportImageTasks' => [ 'shape' => 'ImportImageTaskList', 'locationName' => 'importImageTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeImportSnapshotTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportSnapshotTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportSnapshotTasks' => [ 'shape' => 'ImportSnapshotTaskList', 'locationName' => 'importSnapshotTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'DescribeInstanceStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'IncludeAllInstances' => [ 'shape' => 'Boolean', 'locationName' => 'includeAllInstances', ], ], ], 'DescribeInstanceStatusResult' => [ 'type' => 'structure', 'members' => [ 'InstanceStatuses' => [ 'shape' => 'InstanceStatusList', 'locationName' => 'instanceStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Reservations' => [ 'shape' => 'ReservationList', 'locationName' => 'reservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], ], ], 'DescribeKeyPairsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyNames' => [ 'shape' => 'KeyNameStringList', 'locationName' => 'KeyName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeKeyPairsResult' => [ 'type' => 'structure', 'members' => [ 'KeyPairs' => [ 'shape' => 'KeyPairList', 'locationName' => 'keySet', ], ], ], 'DescribeMovingAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'ValueStringList', 'locationName' => 'publicIp', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeMovingAddressesResult' => [ 'type' => 'structure', 'members' => [ 'MovingAddressStatuses' => [ 'shape' => 'MovingAddressStatusSet', 'locationName' => 'movingAddressStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNatGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'NatGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NatGatewayId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeNatGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'NatGateways' => [ 'shape' => 'NatGatewayList', 'locationName' => 'natGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], ], ], 'DescribeNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Attribute' => [ 'shape' => 'NetworkInterfaceAttribute', 'locationName' => 'attribute', ], ], ], 'DescribeNetworkInterfaceAttributeResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], ], ], 'DescribeNetworkInterfacesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceIds' => [ 'shape' => 'NetworkInterfaceIdList', 'locationName' => 'NetworkInterfaceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeNetworkInterfacesResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaces' => [ 'shape' => 'NetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], ], ], 'DescribePlacementGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'PlacementGroupStringList', 'locationName' => 'groupName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribePlacementGroupsResult' => [ 'type' => 'structure', 'members' => [ 'PlacementGroups' => [ 'shape' => 'PlacementGroupList', 'locationName' => 'placementGroupSet', ], ], ], 'DescribePrefixListsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'PrefixListIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'PrefixListId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribePrefixListsResult' => [ 'type' => 'structure', 'members' => [ 'PrefixLists' => [ 'shape' => 'PrefixListSet', 'locationName' => 'prefixListSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeRegionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RegionNames' => [ 'shape' => 'RegionNameStringList', 'locationName' => 'RegionName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRegionsResult' => [ 'type' => 'structure', 'members' => [ 'Regions' => [ 'shape' => 'RegionList', 'locationName' => 'regionInfo', ], ], ], 'DescribeReservedInstancesListingsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filters', ], ], ], 'DescribeReservedInstancesListingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'DescribeReservedInstancesModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationIds' => [ 'shape' => 'ReservedInstancesModificationIdStringList', 'locationName' => 'ReservedInstancesModificationId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeReservedInstancesModificationsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModifications' => [ 'shape' => 'ReservedInstancesModificationList', 'locationName' => 'reservedInstancesModificationsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingIds' => [ 'shape' => 'ReservedInstancesOfferingIdStringList', 'locationName' => 'ReservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'IncludeMarketplace' => [ 'shape' => 'Boolean', ], 'MinDuration' => [ 'shape' => 'Long', ], 'MaxDuration' => [ 'shape' => 'Long', ], 'MaxInstanceCount' => [ 'shape' => 'Integer', ], ], ], 'DescribeReservedInstancesOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferings' => [ 'shape' => 'ReservedInstancesOfferingList', 'locationName' => 'reservedInstancesOfferingsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], ], ], 'DescribeReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstances' => [ 'shape' => 'ReservedInstancesList', 'locationName' => 'reservedInstancesSet', ], ], ], 'DescribeRouteTablesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'RouteTables' => [ 'shape' => 'RouteTableList', 'locationName' => 'routeTableSet', ], ], ], 'DescribeScheduledInstanceAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'Recurrence', 'FirstSlotStartTimeRange', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrenceRequest', ], 'FirstSlotStartTimeRange' => [ 'shape' => 'SlotDateTimeRangeRequest', ], 'MinSlotDurationInHours' => [ 'shape' => 'Integer', ], 'MaxSlotDurationInHours' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstanceAvailabilityResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceAvailabilitySet' => [ 'shape' => 'ScheduledInstanceAvailabilitySet', 'locationName' => 'scheduledInstanceAvailabilitySet', ], ], ], 'DescribeScheduledInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ScheduledInstanceIds' => [ 'shape' => 'ScheduledInstanceIdRequestSet', 'locationName' => 'ScheduledInstanceId', ], 'SlotStartTimeRange' => [ 'shape' => 'SlotStartTimeRangeRequest', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceSet' => [ 'shape' => 'ScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'DescribeSecurityGroupReferencesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'GroupIds', ], ], ], 'DescribeSecurityGroupReferencesResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupReferenceSet' => [ 'shape' => 'SecurityGroupReferences', 'locationName' => 'securityGroupReferenceSet', ], ], ], 'DescribeSecurityGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroupList', 'locationName' => 'securityGroupInfo', ], ], ], 'DescribeSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'DescribeSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'CreateVolumePermissions' => [ 'shape' => 'CreateVolumePermissionList', 'locationName' => 'createVolumePermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotIds' => [ 'shape' => 'SnapshotIdStringList', 'locationName' => 'SnapshotId', ], 'OwnerIds' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'RestorableByUserIds' => [ 'shape' => 'RestorableByStringList', 'locationName' => 'RestorableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Snapshots' => [ 'shape' => 'SnapshotList', 'locationName' => 'snapshotSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'DescribeSpotFleetInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetInstancesResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'ActiveInstances', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'ActiveInstances' => [ 'shape' => 'ActiveInstanceSet', 'locationName' => 'activeInstanceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestHistoryResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', 'LastEvaluatedTime', 'HistoryRecords', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'LastEvaluatedTime' => [ 'shape' => 'DateTime', 'locationName' => 'lastEvaluatedTime', ], 'HistoryRecords' => [ 'shape' => 'HistoryRecords', 'locationName' => 'historyRecordSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestsResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfigs', ], 'members' => [ 'SpotFleetRequestConfigs' => [ 'shape' => 'SpotFleetRequestConfigSet', 'locationName' => 'spotFleetRequestConfigSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'DescribeSpotPriceHistoryRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'InstanceTypes' => [ 'shape' => 'InstanceTypeList', 'locationName' => 'InstanceType', ], 'ProductDescriptions' => [ 'shape' => 'ProductDescriptionList', 'locationName' => 'ProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotPriceHistoryResult' => [ 'type' => 'structure', 'members' => [ 'SpotPriceHistory' => [ 'shape' => 'SpotPriceHistoryList', 'locationName' => 'spotPriceHistorySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeStaleSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStaleSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'StaleSecurityGroupSet' => [ 'shape' => 'StaleSecurityGroupSet', 'locationName' => 'staleSecurityGroupSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSubnetsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetIds' => [ 'shape' => 'SubnetIdStringList', 'locationName' => 'SubnetId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSubnetsResult' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'SubnetList', 'locationName' => 'subnetSet', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTagsResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagDescriptionList', 'locationName' => 'tagSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VolumeAttributeName', ], ], ], 'DescribeVolumeAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'autoEnableIO', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeVolumeStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeVolumeStatusResult' => [ 'type' => 'structure', 'members' => [ 'VolumeStatuses' => [ 'shape' => 'VolumeStatusList', 'locationName' => 'volumeStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeVolumesResult' => [ 'type' => 'structure', 'members' => [ 'Volumes' => [ 'shape' => 'VolumeList', 'locationName' => 'volumeSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VpcAttributeName', ], ], ], 'DescribeVpcAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsSupport', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsHostnames', ], ], ], 'DescribeVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'ClassicLinkDnsSupportList', 'locationName' => 'vpcs', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcClassicLinkList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpcEndpointServicesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServicesResult' => [ 'type' => 'structure', 'members' => [ 'ServiceNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'serviceNameSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoints' => [ 'shape' => 'VpcEndpointSet', 'locationName' => 'vpcEndpointSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], ], ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpnConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionIds' => [ 'shape' => 'VpnConnectionIdStringList', 'locationName' => 'VpnConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnections' => [ 'shape' => 'VpnConnectionList', 'locationName' => 'vpnConnectionSet', ], ], ], 'DescribeVpnGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayIds' => [ 'shape' => 'VpnGatewayIdStringList', 'locationName' => 'VpnGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateways' => [ 'shape' => 'VpnGatewayList', 'locationName' => 'vpnGatewaySet', ], ], ], 'DetachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DetachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'AttachmentId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'DetachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'DetachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeviceType' => [ 'type' => 'string', 'enum' => [ 'ebs', 'instance-store', ], ], 'DhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'DhcpConfigurationValueList', 'locationName' => 'valueSet', ], ], ], 'DhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpConfiguration', 'locationName' => 'item', ], ], 'DhcpConfigurationValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', 'locationName' => 'item', ], ], 'DhcpOptions' => [ 'type' => 'structure', 'members' => [ 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'DhcpConfigurations' => [ 'shape' => 'DhcpConfigurationList', 'locationName' => 'dhcpConfigurationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'DhcpOptionsIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DhcpOptionsId', ], ], 'DhcpOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpOptions', 'locationName' => 'item', ], ], 'DisableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DisableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisassociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AssociationId' => [ 'shape' => 'String', ], ], ], 'DisassociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'DiskImage' => [ 'type' => 'structure', 'members' => [ 'Image' => [ 'shape' => 'DiskImageDetail', ], 'Description' => [ 'shape' => 'String', ], 'Volume' => [ 'shape' => 'VolumeDetail', ], ], ], 'DiskImageDescription' => [ 'type' => 'structure', 'required' => [ 'Format', 'Size', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], 'Checksum' => [ 'shape' => 'String', 'locationName' => 'checksum', ], ], ], 'DiskImageDetail' => [ 'type' => 'structure', 'required' => [ 'Format', 'Bytes', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Bytes' => [ 'shape' => 'Long', 'locationName' => 'bytes', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], ], ], 'DiskImageFormat' => [ 'type' => 'string', 'enum' => [ 'VMDK', 'RAW', 'VHD', ], ], 'DiskImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskImage', ], ], 'DiskImageVolumeDescription' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'DomainType' => [ 'type' => 'string', 'enum' => [ 'vpc', 'standard', ], ], 'Double' => [ 'type' => 'double', ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], ], ], 'EbsInstanceBlockDevice' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EbsInstanceBlockDeviceSpecification' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EnableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'EnableVolumeIORequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EnableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'EnableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EnableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'EnableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EventCode' => [ 'type' => 'string', 'enum' => [ 'instance-reboot', 'system-reboot', 'system-maintenance', 'instance-retirement', 'instance-stop', ], ], 'EventInformation' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'EventSubType' => [ 'shape' => 'String', 'locationName' => 'eventSubType', ], 'EventDescription' => [ 'shape' => 'String', 'locationName' => 'eventDescription', ], ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'instanceChange', 'fleetRequestChange', 'error', ], ], 'ExcessCapacityTerminationPolicy' => [ 'type' => 'string', 'enum' => [ 'noTermination', 'default', ], ], 'ExecutableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExecutableBy', ], ], 'ExportEnvironment' => [ 'type' => 'string', 'enum' => [ 'citrix', 'vmware', 'microsoft', ], ], 'ExportTask' => [ 'type' => 'structure', 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'State' => [ 'shape' => 'ExportTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceExportDetails' => [ 'shape' => 'InstanceExportDetails', 'locationName' => 'instanceExport', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3Task', 'locationName' => 'exportToS3', ], ], ], 'ExportTaskIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExportTaskId', ], ], 'ExportTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportTask', 'locationName' => 'item', ], ], 'ExportTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'ExportToS3Task' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'ExportToS3TaskSpecification' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Prefix' => [ 'shape' => 'String', 'locationName' => 's3Prefix', ], ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'request', 'maintain', ], ], 'Float' => [ 'type' => 'float', ], 'FlowLog' => [ 'type' => 'structure', 'members' => [ 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'FlowLogId' => [ 'shape' => 'String', 'locationName' => 'flowLogId', ], 'FlowLogStatus' => [ 'shape' => 'String', 'locationName' => 'flowLogStatus', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'TrafficType' => [ 'shape' => 'TrafficType', 'locationName' => 'trafficType', ], 'LogGroupName' => [ 'shape' => 'String', 'locationName' => 'logGroupName', ], 'DeliverLogsStatus' => [ 'shape' => 'String', 'locationName' => 'deliverLogsStatus', ], 'DeliverLogsErrorMessage' => [ 'shape' => 'String', 'locationName' => 'deliverLogsErrorMessage', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', 'locationName' => 'deliverLogsPermissionArn', ], ], ], 'FlowLogSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FlowLog', 'locationName' => 'item', ], ], 'FlowLogsResourceType' => [ 'type' => 'string', 'enum' => [ 'VPC', 'Subnet', 'NetworkInterface', ], ], 'GatewayType' => [ 'type' => 'string', 'enum' => [ 'ipsec.1', ], ], 'GetConsoleOutputRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetConsoleOutputResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'Output' => [ 'shape' => 'String', 'locationName' => 'output', ], ], ], 'GetConsoleScreenshotRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'WakeUp' => [ 'shape' => 'Boolean', ], ], ], 'GetConsoleScreenshotResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageData' => [ 'shape' => 'String', 'locationName' => 'imageData', ], ], ], 'GetHostReservationPurchasePreviewRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', 'HostIdSet', ], 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], ], ], 'GetHostReservationPurchasePreviewResult' => [ 'type' => 'structure', 'members' => [ 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'GetPasswordDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetPasswordDataResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'PasswordData' => [ 'shape' => 'String', 'locationName' => 'passwordData', ], ], ], 'GroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], 'GroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'GroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupIdentifier', 'locationName' => 'item', ], ], 'GroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'GroupNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'GroupName', ], ], 'HistoryRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'EventType', 'EventInformation', ], 'members' => [ 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'EventInformation' => [ 'shape' => 'EventInformation', 'locationName' => 'eventInformation', ], ], ], 'HistoryRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryRecord', 'locationName' => 'item', ], ], 'Host' => [ 'type' => 'structure', 'members' => [ 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'HostProperties' => [ 'shape' => 'HostProperties', 'locationName' => 'hostProperties', ], 'State' => [ 'shape' => 'AllocationState', 'locationName' => 'state', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Instances' => [ 'shape' => 'HostInstanceList', 'locationName' => 'instances', ], 'AvailableCapacity' => [ 'shape' => 'AvailableCapacity', 'locationName' => 'availableCapacity', ], ], ], 'HostInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostInstance', 'locationName' => 'item', ], ], 'HostList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Host', 'locationName' => 'item', ], ], 'HostOffering' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], ], ], 'HostOfferingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostOffering', ], ], 'HostProperties' => [ 'type' => 'structure', 'members' => [ 'Sockets' => [ 'shape' => 'Integer', 'locationName' => 'sockets', ], 'Cores' => [ 'shape' => 'Integer', 'locationName' => 'cores', ], 'TotalVCpus' => [ 'shape' => 'Integer', 'locationName' => 'totalVCpus', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostReservation' => [ 'type' => 'structure', 'members' => [ 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], ], ], 'HostReservationIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'HostReservationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostReservation', ], ], 'HostTenancy' => [ 'type' => 'string', 'enum' => [ 'dedicated', 'host', ], ], 'HypervisorType' => [ 'type' => 'string', 'enum' => [ 'ovm', 'xen', ], ], 'IamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'IamInstanceProfileSpecification' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'IcmpTypeCode' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'Integer', 'locationName' => 'type', ], 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], ], ], 'IdFormat' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], 'Deadline' => [ 'shape' => 'DateTime', 'locationName' => 'deadline', ], ], ], 'IdFormatList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdFormat', 'locationName' => 'item', ], ], 'Image' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImageLocation' => [ 'shape' => 'String', 'locationName' => 'imageLocation', ], 'State' => [ 'shape' => 'ImageState', 'locationName' => 'imageState', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'imageOwnerId', ], 'CreationDate' => [ 'shape' => 'String', 'locationName' => 'creationDate', ], 'Public' => [ 'shape' => 'Boolean', 'locationName' => 'isPublic', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'ImageType' => [ 'shape' => 'ImageTypeValues', 'locationName' => 'imageType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'ImageOwnerAlias' => [ 'shape' => 'String', 'locationName' => 'imageOwnerAlias', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], ], ], 'ImageAttribute' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'LaunchPermissions' => [ 'shape' => 'LaunchPermissionList', 'locationName' => 'launchPermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], ], ], 'ImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'description', 'kernel', 'ramdisk', 'launchPermission', 'productCodes', 'blockDeviceMapping', 'sriovNetSupport', ], ], 'ImageDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], 'DeviceName' => [ 'shape' => 'String', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'ImageDiskContainerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageDiskContainer', 'locationName' => 'item', ], ], 'ImageIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImageId', ], ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', 'locationName' => 'item', ], ], 'ImageState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'invalid', 'deregistered', 'transient', 'failed', 'error', ], ], 'ImageTypeValues' => [ 'type' => 'string', 'enum' => [ 'machine', 'kernel', 'ramdisk', ], ], 'ImportImageRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainers' => [ 'shape' => 'ImageDiskContainerList', 'locationName' => 'DiskContainer', ], 'LicenseType' => [ 'shape' => 'String', ], 'Hypervisor' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportImageResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportImageTask', 'locationName' => 'item', ], ], 'ImportInstanceLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'GroupNames' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'GroupId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'UserData' => [ 'shape' => 'UserData', 'locationName' => 'userData', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'Monitoring' => [ 'shape' => 'Boolean', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'ImportInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Platform', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'LaunchSpecification' => [ 'shape' => 'ImportInstanceLaunchSpecification', 'locationName' => 'launchSpecification', ], 'DiskImages' => [ 'shape' => 'DiskImageList', 'locationName' => 'diskImage', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'ImportInstanceResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportInstanceTaskDetails' => [ 'type' => 'structure', 'required' => [ 'Volumes', ], 'members' => [ 'Volumes' => [ 'shape' => 'ImportInstanceVolumeDetailSet', 'locationName' => 'volumes', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailItem' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', 'Status', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportInstanceVolumeDetailItem', 'locationName' => 'item', ], ], 'ImportKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', 'PublicKeyMaterial', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'PublicKeyMaterial' => [ 'shape' => 'Blob', 'locationName' => 'publicKeyMaterial', ], ], ], 'ImportKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'ImportSnapshotRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainer' => [ 'shape' => 'SnapshotDiskContainer', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportSnapshotTask', 'locationName' => 'item', ], ], 'ImportTaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImportTaskId', ], ], 'ImportVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDetail', 'locationName' => 'image', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Volume' => [ 'shape' => 'VolumeDetail', 'locationName' => 'volume', ], ], ], 'ImportVolumeResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportVolumeTaskDetails' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'State' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'StateTransitionReason' => [ 'shape' => 'String', 'locationName' => 'reason', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'AmiLaunchIndex' => [ 'shape' => 'Integer', 'locationName' => 'amiLaunchIndex', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'LaunchTime' => [ 'shape' => 'DateTime', 'locationName' => 'launchTime', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PublicIpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'InstanceLifecycle' => [ 'shape' => 'InstanceLifecycleType', 'locationName' => 'instanceLifecycle', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], ], ], 'InstanceAttribute' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'AttributeValue', 'locationName' => 'userData', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'RootDeviceName' => [ 'shape' => 'AttributeValue', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], ], ], 'InstanceAttributeName' => [ 'type' => 'string', 'enum' => [ 'instanceType', 'kernel', 'ramdisk', 'userData', 'disableApiTermination', 'instanceInitiatedShutdownBehavior', 'rootDeviceName', 'blockDeviceMapping', 'productCodes', 'sourceDestCheck', 'groupSet', 'ebsOptimized', 'sriovNetSupport', 'enaSupport', ], ], 'InstanceBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDevice', 'locationName' => 'ebs', ], ], ], 'InstanceBlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMapping', 'locationName' => 'item', ], ], 'InstanceBlockDeviceMappingSpecification' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDeviceSpecification', 'locationName' => 'ebs', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'InstanceBlockDeviceMappingSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMappingSpecification', 'locationName' => 'item', ], ], 'InstanceCapacity' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'AvailableCapacity' => [ 'shape' => 'Integer', 'locationName' => 'availableCapacity', ], 'TotalCapacity' => [ 'shape' => 'Integer', 'locationName' => 'totalCapacity', ], ], ], 'InstanceCount' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ListingState', 'locationName' => 'state', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], ], ], 'InstanceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCount', 'locationName' => 'item', ], ], 'InstanceExportDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'InstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'InstanceIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'InstanceId', ], ], 'InstanceLifecycleType' => [ 'type' => 'string', 'enum' => [ 'spot', 'scheduled', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', 'locationName' => 'item', ], ], 'InstanceMonitoring' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], ], ], 'InstanceMonitoringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceMonitoring', 'locationName' => 'item', ], ], 'InstanceNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'InstanceNetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], 'PrivateIpAddresses' => [ 'shape' => 'InstancePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], ], ], 'InstanceNetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], ], ], 'InstanceNetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'InstanceNetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterface', 'locationName' => 'item', ], ], 'InstanceNetworkInterfaceSpecification' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddressesSet', 'queryName' => 'PrivateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', 'locationName' => 'associatePublicIpAddress', ], ], ], 'InstanceNetworkInterfaceSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterfaceSpecification', 'locationName' => 'item', ], ], 'InstancePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'InstancePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePrivateIpAddress', 'locationName' => 'item', ], ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], 'Name' => [ 'shape' => 'InstanceStateName', 'locationName' => 'name', ], ], ], 'InstanceStateChange' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CurrentState' => [ 'shape' => 'InstanceState', 'locationName' => 'currentState', ], 'PreviousState' => [ 'shape' => 'InstanceState', 'locationName' => 'previousState', ], ], ], 'InstanceStateChangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStateChange', 'locationName' => 'item', ], ], 'InstanceStateName' => [ 'type' => 'string', 'enum' => [ 'pending', 'running', 'shutting-down', 'terminated', 'stopping', 'stopped', ], ], 'InstanceStatus' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Events' => [ 'shape' => 'InstanceStatusEventList', 'locationName' => 'eventsSet', ], 'InstanceState' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'SystemStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'systemStatus', ], 'InstanceStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'instanceStatus', ], ], ], 'InstanceStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'StatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'StatusType', 'locationName' => 'status', ], 'ImpairedSince' => [ 'shape' => 'DateTime', 'locationName' => 'impairedSince', ], ], ], 'InstanceStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusDetails', 'locationName' => 'item', ], ], 'InstanceStatusEvent' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], ], ], 'InstanceStatusEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusEvent', 'locationName' => 'item', ], ], 'InstanceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatus', 'locationName' => 'item', ], ], 'InstanceStatusSummary' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'SummaryStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'InstanceStatusDetailsList', 'locationName' => 'details', ], ], ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 't1.micro', 't2.nano', 't2.micro', 't2.small', 't2.medium', 't2.large', 'm1.small', 'm1.medium', 'm1.large', 'm1.xlarge', 'm3.medium', 'm3.large', 'm3.xlarge', 'm3.2xlarge', 'm4.large', 'm4.xlarge', 'm4.2xlarge', 'm4.4xlarge', 'm4.10xlarge', 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge', 'cr1.8xlarge', 'r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge', 'x1.4xlarge', 'x1.8xlarge', 'x1.16xlarge', 'x1.32xlarge', 'i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge', 'hi1.4xlarge', 'hs1.8xlarge', 'c1.medium', 'c1.xlarge', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'c4.large', 'c4.xlarge', 'c4.2xlarge', 'c4.4xlarge', 'c4.8xlarge', 'cc1.4xlarge', 'cc2.8xlarge', 'g2.2xlarge', 'g2.8xlarge', 'cg1.4xlarge', 'd2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge', ], ], 'InstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceType', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternetGateway' => [ 'type' => 'structure', 'members' => [ 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'Attachments' => [ 'shape' => 'InternetGatewayAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'InternetGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'InternetGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGatewayAttachment', 'locationName' => 'item', ], ], 'InternetGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGateway', 'locationName' => 'item', ], ], 'IpPermission' => [ 'type' => 'structure', 'members' => [ 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairList', 'locationName' => 'groups', ], 'IpRanges' => [ 'shape' => 'IpRangeList', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdList', 'locationName' => 'prefixListIds', ], ], ], 'IpPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpPermission', 'locationName' => 'item', ], ], 'IpRange' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], ], ], 'IpRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRange', 'locationName' => 'item', ], ], 'IpRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'KeyNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'KeyName', ], ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyMaterial' => [ 'shape' => 'String', 'locationName' => 'keyMaterial', ], ], ], 'KeyPairInfo' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'KeyPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPairInfo', 'locationName' => 'item', ], ], 'LaunchPermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'LaunchPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchPermission', 'locationName' => 'item', ], ], 'LaunchPermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'LaunchPermissionList', ], 'Remove' => [ 'shape' => 'LaunchPermissionList', ], ], ], 'LaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], ], ], 'LaunchSpecsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetLaunchSpecification', 'locationName' => 'item', ], 'min' => 1, ], 'ListingState' => [ 'type' => 'string', 'enum' => [ 'available', 'sold', 'cancelled', 'pending', ], ], 'ListingStatus' => [ 'type' => 'string', 'enum' => [ 'active', 'pending', 'cancelled', 'closed', ], ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 255, 'min' => 5, ], 'ModifyHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', 'AutoPlacement', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], ], ], 'ModifyHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ModifyIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', ], 'members' => [ 'Resource' => [ 'shape' => 'String', ], 'UseLongIds' => [ 'shape' => 'Boolean', ], ], ], 'ModifyIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', 'PrincipalArn', ], 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], ], ], 'ModifyImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'String', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'UserGroups' => [ 'shape' => 'UserGroupStringList', 'locationName' => 'UserGroup', ], 'ProductCodes' => [ 'shape' => 'ProductCodeStringList', 'locationName' => 'ProductCode', ], 'Value' => [ 'shape' => 'String', ], 'LaunchPermission' => [ 'shape' => 'LaunchPermissionModifications', ], 'Description' => [ 'shape' => 'AttributeValue', ], ], ], 'ModifyInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingSpecificationList', 'locationName' => 'blockDeviceMapping', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'Kernel' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'Ramdisk' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'BlobAttributeValue', 'locationName' => 'userData', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], ], ], 'ModifyInstancePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Tenancy' => [ 'shape' => 'HostTenancy', 'locationName' => 'tenancy', ], 'Affinity' => [ 'shape' => 'Affinity', 'locationName' => 'affinity', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], ], ], 'ModifyInstancePlacementResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachmentChanges', 'locationName' => 'attachment', ], ], ], 'ModifyReservedInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesIds', 'TargetConfigurations', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'TargetConfigurations' => [ 'shape' => 'ReservedInstancesConfigurationList', 'locationName' => 'ReservedInstancesConfigurationSetItemType', ], ], ], 'ModifyReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], ], ], 'ModifySnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'UserGroup', ], 'CreateVolumePermission' => [ 'shape' => 'CreateVolumePermissionModifications', ], ], ], 'ModifySpotFleetRequestRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], ], ], 'ModifySpotFleetRequestResponse' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifySubnetAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointId' => [ 'shape' => 'String', ], 'ResetPolicy' => [ 'shape' => 'Boolean', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'AddRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddRouteTableId', ], 'RemoveRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveRouteTableId', ], ], ], 'ModifyVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcPeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', ], 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], ], ], 'ModifyVpcPeeringConnectionOptionsResult' => [ 'type' => 'structure', 'members' => [ 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'requesterPeeringConnectionOptions', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'accepterPeeringConnectionOptions', ], ], ], 'MonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'MonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'Monitoring' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'MonitoringState', 'locationName' => 'state', ], ], ], 'MonitoringState' => [ 'type' => 'string', 'enum' => [ 'disabled', 'disabling', 'enabled', 'pending', ], ], 'MoveAddressToVpcRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'MoveAddressToVpcResult' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'MoveStatus' => [ 'type' => 'string', 'enum' => [ 'movingToVpc', 'restoringToClassic', ], ], 'MovingAddressStatus' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'MoveStatus' => [ 'shape' => 'MoveStatus', 'locationName' => 'moveStatus', ], ], ], 'MovingAddressStatusSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'MovingAddressStatus', 'locationName' => 'item', ], ], 'NatGateway' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'DeleteTime' => [ 'shape' => 'DateTime', 'locationName' => 'deleteTime', ], 'NatGatewayAddresses' => [ 'shape' => 'NatGatewayAddressList', 'locationName' => 'natGatewayAddressSet', ], 'State' => [ 'shape' => 'NatGatewayState', 'locationName' => 'state', ], 'FailureCode' => [ 'shape' => 'String', 'locationName' => 'failureCode', ], 'FailureMessage' => [ 'shape' => 'String', 'locationName' => 'failureMessage', ], 'ProvisionedBandwidth' => [ 'shape' => 'ProvisionedBandwidth', 'locationName' => 'provisionedBandwidth', ], ], ], 'NatGatewayAddress' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'PrivateIp' => [ 'shape' => 'String', 'locationName' => 'privateIp', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'NatGatewayAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGatewayAddress', 'locationName' => 'item', ], ], 'NatGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGateway', 'locationName' => 'item', ], ], 'NatGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'failed', 'available', 'deleting', 'deleted', ], ], 'NetworkAcl' => [ 'type' => 'structure', 'members' => [ 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'default', ], 'Entries' => [ 'shape' => 'NetworkAclEntryList', 'locationName' => 'entrySet', ], 'Associations' => [ 'shape' => 'NetworkAclAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'NetworkAclAssociation' => [ 'type' => 'structure', 'members' => [ 'NetworkAclAssociationId' => [ 'shape' => 'String', 'locationName' => 'networkAclAssociationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'NetworkAclAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclAssociation', 'locationName' => 'item', ], ], 'NetworkAclEntry' => [ 'type' => 'structure', 'members' => [ 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'icmpTypeCode', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'NetworkAclEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclEntry', 'locationName' => 'item', ], ], 'NetworkAclList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAcl', 'locationName' => 'item', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'RequesterManaged' => [ 'shape' => 'Boolean', 'locationName' => 'requesterManaged', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], 'TagSet' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PrivateIpAddresses' => [ 'shape' => 'NetworkInterfacePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], 'InterfaceType' => [ 'shape' => 'NetworkInterfaceType', 'locationName' => 'interfaceType', ], ], ], 'NetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'NetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttachmentChanges' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttribute' => [ 'type' => 'string', 'enum' => [ 'description', 'groupSet', 'sourceDestCheck', 'attachment', ], ], 'NetworkInterfaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'NetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', 'locationName' => 'item', ], ], 'NetworkInterfacePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'NetworkInterfacePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfacePrivateIpAddress', 'locationName' => 'item', ], ], 'NetworkInterfaceStatus' => [ 'type' => 'string', 'enum' => [ 'available', 'attaching', 'in-use', 'detaching', ], ], 'NetworkInterfaceType' => [ 'type' => 'string', 'enum' => [ 'interface', 'natGateway', ], ], 'NewDhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'NewDhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NewDhcpConfiguration', 'locationName' => 'item', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'OccurrenceDayRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'OccurenceDay', ], ], 'OccurrenceDaySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'item', ], ], 'OfferingTypeValues' => [ 'type' => 'string', 'enum' => [ 'Heavy Utilization', 'Medium Utilization', 'Light Utilization', 'No Upfront', 'Partial Upfront', 'All Upfront', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'add', 'remove', ], ], 'OwnerStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Owner', ], ], 'PaymentOption' => [ 'type' => 'string', 'enum' => [ 'AllUpfront', 'PartialUpfront', 'NoUpfront', ], ], 'PeeringConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], ], ], 'PeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', ], ], ], 'PermissionGroup' => [ 'type' => 'string', 'enum' => [ 'all', ], ], 'Placement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'Affinity' => [ 'shape' => 'String', 'locationName' => 'affinity', ], ], ], 'PlacementGroup' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], 'State' => [ 'shape' => 'PlacementGroupState', 'locationName' => 'state', ], ], ], 'PlacementGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementGroup', 'locationName' => 'item', ], ], 'PlacementGroupState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'PlacementGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PlacementStrategy' => [ 'type' => 'string', 'enum' => [ 'cluster', ], ], 'PlatformValues' => [ 'type' => 'string', 'enum' => [ 'Windows', ], ], 'PortRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', 'locationName' => 'from', ], 'To' => [ 'shape' => 'Integer', 'locationName' => 'to', ], ], ], 'PrefixList' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], 'PrefixListName' => [ 'shape' => 'String', 'locationName' => 'prefixListName', ], 'Cidrs' => [ 'shape' => 'ValueStringList', 'locationName' => 'cidrSet', ], ], ], 'PrefixListId' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], ], ], 'PrefixListIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixListId', 'locationName' => 'item', ], ], 'PrefixListIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'PrefixListSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixList', 'locationName' => 'item', ], ], 'PriceSchedule' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Active' => [ 'shape' => 'Boolean', 'locationName' => 'active', ], ], ], 'PriceScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceSchedule', 'locationName' => 'item', ], ], 'PriceScheduleSpecification' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'PriceScheduleSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceScheduleSpecification', 'locationName' => 'item', ], ], 'PricingDetail' => [ 'type' => 'structure', 'members' => [ 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], ], ], 'PricingDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PricingDetail', 'locationName' => 'item', ], ], 'PrivateIpAddressConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesPrivateIpAddressConfig', 'locationName' => 'PrivateIpAddressConfigSet', ], ], 'PrivateIpAddressSpecification' => [ 'type' => 'structure', 'required' => [ 'PrivateIpAddress', ], 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], ], ], 'PrivateIpAddressSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIpAddressSpecification', 'locationName' => 'item', ], ], 'PrivateIpAddressStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PrivateIpAddress', ], ], 'ProductCode' => [ 'type' => 'structure', 'members' => [ 'ProductCodeId' => [ 'shape' => 'String', 'locationName' => 'productCode', ], 'ProductCodeType' => [ 'shape' => 'ProductCodeValues', 'locationName' => 'type', ], ], ], 'ProductCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductCode', 'locationName' => 'item', ], ], 'ProductCodeStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ProductCode', ], ], 'ProductCodeValues' => [ 'type' => 'string', 'enum' => [ 'devpay', 'marketplace', ], ], 'ProductDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PropagatingVgw' => [ 'type' => 'structure', 'members' => [ 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], ], ], 'PropagatingVgwList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropagatingVgw', 'locationName' => 'item', ], ], 'ProvisionedBandwidth' => [ 'type' => 'structure', 'members' => [ 'Provisioned' => [ 'shape' => 'String', 'locationName' => 'provisioned', ], 'Requested' => [ 'shape' => 'String', 'locationName' => 'requested', ], 'RequestTime' => [ 'shape' => 'DateTime', 'locationName' => 'requestTime', ], 'ProvisionTime' => [ 'shape' => 'DateTime', 'locationName' => 'provisionTime', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'PublicIpStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PublicIp', ], ], 'Purchase' => [ 'type' => 'structure', 'members' => [ 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], ], ], 'PurchaseHostReservationRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', 'HostIdSet', ], 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], 'LimitPrice' => [ 'shape' => 'String', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'PurchaseHostReservationResult' => [ 'type' => 'structure', 'members' => [ 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'PurchaseRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseToken', 'InstanceCount', ], 'members' => [ 'PurchaseToken' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], ], ], 'PurchaseRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PurchaseRequest', 'locationName' => 'PurchaseRequest', ], 'min' => 1, ], 'PurchaseReservedInstancesOfferingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesOfferingId', 'InstanceCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingId' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'LimitPrice' => [ 'shape' => 'ReservedInstanceLimitPrice', 'locationName' => 'limitPrice', ], ], ], 'PurchaseReservedInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'PurchaseScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseRequests', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'PurchaseRequests' => [ 'shape' => 'PurchaseRequestSet', 'locationName' => 'PurchaseRequest', ], ], ], 'PurchaseScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceSet' => [ 'shape' => 'PurchasedScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'PurchaseSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Purchase', ], ], 'PurchasedScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'RIProductDescription' => [ 'type' => 'string', 'enum' => [ 'Linux/UNIX', 'Linux/UNIX (Amazon VPC)', 'Windows', 'Windows (Amazon VPC)', ], ], 'ReasonCodesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReportInstanceReasonCodes', 'locationName' => 'item', ], ], 'RebootInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'RecurringChargeFrequency', 'locationName' => 'frequency', ], 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], ], ], 'RecurringChargeFrequency' => [ 'type' => 'string', 'enum' => [ 'Hourly', ], ], 'RecurringChargesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'item', ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Endpoint' => [ 'shape' => 'String', 'locationName' => 'regionEndpoint', ], ], ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', 'locationName' => 'item', ], ], 'RegionNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'RegionName', ], ], 'RegisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageLocation' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'String', 'locationName' => 'virtualizationType', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], ], ], 'RegisterImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'RejectVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'RejectVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ReleaseAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], ], ], 'ReleaseHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], ], ], 'ReleaseHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ReplaceNetworkAclAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'ReplaceNetworkAclAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReplaceNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'ReplaceRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'ReplaceRouteTableAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'ReplaceRouteTableAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReportInstanceReasonCodes' => [ 'type' => 'string', 'enum' => [ 'instance-stuck-in-state', 'unresponsive', 'not-accepting-credentials', 'password-not-available', 'performance-network', 'performance-instance-store', 'performance-ebs-volume', 'performance-other', 'other', ], ], 'ReportInstanceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Instances', 'Status', 'ReasonCodes', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Instances' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'instanceId', ], 'Status' => [ 'shape' => 'ReportStatusType', 'locationName' => 'status', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'ReasonCodes' => [ 'shape' => 'ReasonCodesList', 'locationName' => 'reasonCode', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ReportStatusType' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', ], ], 'RequestHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestSpotFleetRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfig', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], ], ], 'RequestSpotFleetResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'RequestSpotInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'LaunchSpecification' => [ 'shape' => 'RequestSpotLaunchSpecification', ], ], ], 'RequestSpotInstancesResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'RequestSpotLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroup', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'Reservation' => [ 'type' => 'structure', 'members' => [ 'ReservationId' => [ 'shape' => 'String', 'locationName' => 'reservationId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Instances' => [ 'shape' => 'InstanceList', 'locationName' => 'instancesSet', ], ], ], 'ReservationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reservation', 'locationName' => 'item', ], ], 'ReservationState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'payment-failed', 'active', 'retired', ], ], 'ReservedInstanceLimitPrice' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'ReservedInstanceState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'active', 'payment-failed', 'retired', ], ], 'ReservedInstances' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'State' => [ 'shape' => 'ReservedInstanceState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], ], ], 'ReservedInstancesConfiguration' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], ], ], 'ReservedInstancesConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'item', ], ], 'ReservedInstancesId' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'ReservedInstancesIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesId', ], ], 'ReservedInstancesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstances', 'locationName' => 'item', ], ], 'ReservedInstancesListing' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'Status' => [ 'shape' => 'ListingStatus', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceCounts' => [ 'shape' => 'InstanceCountList', 'locationName' => 'instanceCounts', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleList', 'locationName' => 'priceSchedules', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesListingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesListing', 'locationName' => 'item', ], ], 'ReservedInstancesModification' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedIntancesIds', 'locationName' => 'reservedInstancesSet', ], 'ModificationResults' => [ 'shape' => 'ReservedInstancesModificationResultList', 'locationName' => 'modificationResultSet', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'EffectiveDate' => [ 'shape' => 'DateTime', 'locationName' => 'effectiveDate', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesModificationIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesModificationId', ], ], 'ReservedInstancesModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModification', 'locationName' => 'item', ], ], 'ReservedInstancesModificationResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'TargetConfiguration' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'targetConfiguration', ], ], ], 'ReservedInstancesModificationResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModificationResult', 'locationName' => 'item', ], ], 'ReservedInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'Marketplace' => [ 'shape' => 'Boolean', 'locationName' => 'marketplace', ], 'PricingDetails' => [ 'shape' => 'PricingDetailsList', 'locationName' => 'pricingDetailsSet', ], ], ], 'ReservedInstancesOfferingIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReservedInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesOffering', 'locationName' => 'item', ], ], 'ReservedIntancesIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesId', 'locationName' => 'item', ], ], 'ResetImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'launchPermission', ], ], 'ResetImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ResetImageAttributeName', ], ], ], 'ResetInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'ResetNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'String', 'locationName' => 'sourceDestCheck', ], ], ], 'ResetSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'customer-gateway', 'dhcp-options', 'image', 'instance', 'internet-gateway', 'network-acl', 'network-interface', 'reserved-instances', 'route-table', 'snapshot', 'spot-instances-request', 'subnet', 'security-group', 'volume', 'vpc', 'vpn-connection', 'vpn-gateway', ], ], 'ResponseHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ResponseHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RestorableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RestoreAddressToClassicRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RestoreAddressToClassicResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RevokeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'RevokeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'Route' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationPrefixListId' => [ 'shape' => 'String', 'locationName' => 'destinationPrefixListId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'State' => [ 'shape' => 'RouteState', 'locationName' => 'state', ], 'Origin' => [ 'shape' => 'RouteOrigin', 'locationName' => 'origin', ], ], ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Route', 'locationName' => 'item', ], ], 'RouteOrigin' => [ 'type' => 'string', 'enum' => [ 'CreateRouteTable', 'CreateRoute', 'EnableVgwRoutePropagation', ], ], 'RouteState' => [ 'type' => 'string', 'enum' => [ 'active', 'blackhole', ], ], 'RouteTable' => [ 'type' => 'structure', 'members' => [ 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Routes' => [ 'shape' => 'RouteList', 'locationName' => 'routeSet', ], 'Associations' => [ 'shape' => 'RouteTableAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PropagatingVgws' => [ 'shape' => 'PropagatingVgwList', 'locationName' => 'propagatingVgwSet', ], ], ], 'RouteTableAssociation' => [ 'type' => 'structure', 'members' => [ 'RouteTableAssociationId' => [ 'shape' => 'String', 'locationName' => 'routeTableAssociationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Main' => [ 'shape' => 'Boolean', 'locationName' => 'main', ], ], ], 'RouteTableAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTableAssociation', 'locationName' => 'item', ], ], 'RouteTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTable', 'locationName' => 'item', ], ], 'RuleAction' => [ 'type' => 'string', 'enum' => [ 'allow', 'deny', ], ], 'RunInstancesMonitoringEnabled' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'RunInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'MinCount', 'MaxCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'MinCount' => [ 'shape' => 'Integer', ], 'MaxCount' => [ 'shape' => 'Integer', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'Placement' => [ 'shape' => 'Placement', ], 'KernelId' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', ], 'SubnetId' => [ 'shape' => 'String', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], ], ], 'RunScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduledInstanceId', 'LaunchSpecification', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'ScheduledInstanceId' => [ 'shape' => 'String', ], 'LaunchSpecification' => [ 'shape' => 'ScheduledInstancesLaunchSpecification', ], ], ], 'RunScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceIdSet' => [ 'shape' => 'InstanceIdSet', 'locationName' => 'instanceIdSet', ], ], ], 'S3Storage' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'AWSAccessKeyId' => [ 'shape' => 'String', ], 'UploadPolicy' => [ 'shape' => 'Blob', 'locationName' => 'uploadPolicy', ], 'UploadPolicySignature' => [ 'shape' => 'String', 'locationName' => 'uploadPolicySignature', ], ], ], 'ScheduledInstance' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceId' => [ 'shape' => 'String', 'locationName' => 'scheduledInstanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'PreviousSlotEndTime' => [ 'shape' => 'DateTime', 'locationName' => 'previousSlotEndTime', ], 'NextSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'nextSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'TermStartDate' => [ 'shape' => 'DateTime', 'locationName' => 'termStartDate', ], 'TermEndDate' => [ 'shape' => 'DateTime', 'locationName' => 'termEndDate', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], ], ], 'ScheduledInstanceAvailability' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'PurchaseToken' => [ 'shape' => 'String', 'locationName' => 'purchaseToken', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'FirstSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'firstSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'AvailableInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'availableInstanceCount', ], 'MinTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'minTermDurationInDays', ], 'MaxTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'maxTermDurationInDays', ], ], ], 'ScheduledInstanceAvailabilitySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstanceAvailability', 'locationName' => 'item', ], ], 'ScheduledInstanceIdRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ScheduledInstanceId', ], ], 'ScheduledInstanceRecurrence' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', 'locationName' => 'frequency', ], 'Interval' => [ 'shape' => 'Integer', 'locationName' => 'interval', ], 'OccurrenceDaySet' => [ 'shape' => 'OccurrenceDaySet', 'locationName' => 'occurrenceDaySet', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', 'locationName' => 'occurrenceRelativeToEnd', ], 'OccurrenceUnit' => [ 'shape' => 'String', 'locationName' => 'occurrenceUnit', ], ], ], 'ScheduledInstanceRecurrenceRequest' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', ], 'Interval' => [ 'shape' => 'Integer', ], 'OccurrenceDays' => [ 'shape' => 'OccurrenceDayRequestSet', 'locationName' => 'OccurrenceDay', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', ], 'OccurrenceUnit' => [ 'shape' => 'String', ], ], ], 'ScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'ScheduledInstancesBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'NoDevice' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'ScheduledInstancesEbs', ], ], ], 'ScheduledInstancesBlockDeviceMappingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesBlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'ScheduledInstancesEbs' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesIamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesLaunchSpecification' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'ImageId' => [ 'shape' => 'String', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'Placement' => [ 'shape' => 'ScheduledInstancesPlacement', ], 'KernelId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'ScheduledInstancesBlockDeviceMappingSet', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'ScheduledInstancesMonitoring', ], 'SubnetId' => [ 'shape' => 'String', ], 'NetworkInterfaces' => [ 'shape' => 'ScheduledInstancesNetworkInterfaceSet', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'ScheduledInstancesIamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'DeviceIndex' => [ 'shape' => 'Integer', ], 'SubnetId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'PrivateIpAddressConfigs' => [ 'shape' => 'PrivateIpAddressConfigSet', 'locationName' => 'PrivateIpAddressConfig', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'Groups' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'Group', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterfaceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesNetworkInterface', 'locationName' => 'NetworkInterface', ], ], 'ScheduledInstancesPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesPrivateIpAddressConfig' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', ], 'Primary' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesSecurityGroupIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'groupDescription', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'IpPermissionsEgress' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissionsEgress', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SecurityGroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', 'locationName' => 'item', ], ], 'SecurityGroupReference' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'ReferencingVpcId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'ReferencingVpcId' => [ 'shape' => 'String', 'locationName' => 'referencingVpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'SecurityGroupReferences' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupReference', 'locationName' => 'item', ], ], 'SecurityGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroup', ], ], 'ShutdownBehavior' => [ 'type' => 'string', 'enum' => [ 'stop', 'terminate', ], ], 'SlotDateTimeRangeRequest' => [ 'type' => 'structure', 'required' => [ 'EarliestTime', 'LatestTime', ], 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'SlotStartTimeRangeRequest' => [ 'type' => 'structure', 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'State' => [ 'shape' => 'SnapshotState', 'locationName' => 'status', ], 'StateMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'OwnerAlias' => [ 'shape' => 'String', 'locationName' => 'ownerAlias', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'DataEncryptionKeyId' => [ 'shape' => 'String', 'locationName' => 'dataEncryptionKeyId', ], ], ], 'SnapshotAttributeName' => [ 'type' => 'string', 'enum' => [ 'productCodes', 'createVolumePermission', ], ], 'SnapshotDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SnapshotDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotDetail', 'locationName' => 'item', ], ], 'SnapshotDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], ], ], 'SnapshotIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SnapshotId', ], ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'item', ], ], 'SnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'completed', 'error', ], ], 'SnapshotTaskDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SpotDatafeedSubscription' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'State' => [ 'shape' => 'DatafeedSubscriptionState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], ], ], 'SpotFleetLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'SpotFleetMonitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], ], ], 'SpotFleetMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'SpotFleetRequestConfig' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'SpotFleetRequestState', 'SpotFleetRequestConfig', 'CreateTime', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'SpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'spotFleetRequestState', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'ActivityStatus' => [ 'shape' => 'ActivityStatus', 'locationName' => 'activityStatus', ], ], ], 'SpotFleetRequestConfigData' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', 'TargetCapacity', 'IamFleetRole', 'LaunchSpecifications', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstancesWithExpiration', ], 'IamFleetRole' => [ 'shape' => 'String', 'locationName' => 'iamFleetRole', ], 'LaunchSpecifications' => [ 'shape' => 'LaunchSpecsList', 'locationName' => 'launchSpecifications', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'AllocationStrategy' => [ 'shape' => 'AllocationStrategy', 'locationName' => 'allocationStrategy', ], 'FulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledCapacity', ], 'Type' => [ 'shape' => 'FleetType', 'locationName' => 'type', ], ], ], 'SpotFleetRequestConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetRequestConfig', 'locationName' => 'item', ], ], 'SpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'State' => [ 'shape' => 'SpotInstanceState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], 'Status' => [ 'shape' => 'SpotInstanceStatus', 'locationName' => 'status', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'LaunchSpecification' => [ 'shape' => 'LaunchSpecification', 'locationName' => 'launchSpecification', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'ActualBlockHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'actualBlockHourlyPrice', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'LaunchedAvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'launchedAvailabilityZone', ], ], ], 'SpotInstanceRequestIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SpotInstanceRequestId', ], ], 'SpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotInstanceRequest', 'locationName' => 'item', ], ], 'SpotInstanceState' => [ 'type' => 'string', 'enum' => [ 'open', 'active', 'closed', 'cancelled', 'failed', ], ], 'SpotInstanceStateFault' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceType' => [ 'type' => 'string', 'enum' => [ 'one-time', 'persistent', ], ], 'SpotPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'SpotPrice' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'SpotPriceHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotPrice', 'locationName' => 'item', ], ], 'StaleIpPermission' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'IpRanges' => [ 'shape' => 'IpRanges', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdSet', 'locationName' => 'prefixListIds', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairSet', 'locationName' => 'groups', ], ], ], 'StaleIpPermissionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleIpPermission', 'locationName' => 'item', ], ], 'StaleSecurityGroup' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'StaleIpPermissions' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissions', ], 'StaleIpPermissionsEgress' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissionsEgress', ], ], ], 'StaleSecurityGroupSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleSecurityGroup', 'locationName' => 'item', ], ], 'StartInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'StartInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StartingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'State' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Available', 'Deleting', 'Deleted', ], ], 'StateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'MoveInProgress', 'InVpc', 'InClassic', ], ], 'StatusName' => [ 'type' => 'string', 'enum' => [ 'reachability', ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'passed', 'failed', 'insufficient-data', 'initializing', ], ], 'StopInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'StopInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StoppingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'Storage' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Storage', ], ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'State' => [ 'shape' => 'SubnetState', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'AvailableIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'availableIpAddressCount', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'DefaultForAz' => [ 'shape' => 'Boolean', 'locationName' => 'defaultForAz', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'Boolean', 'locationName' => 'mapPublicIpOnLaunch', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SubnetIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetId', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'item', ], ], 'SubnetState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'SummaryStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', 'not-applicable', 'initializing', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', 'locationName' => 'item', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'item', ], ], 'TelemetryStatus' => [ 'type' => 'string', 'enum' => [ 'UP', 'DOWN', ], ], 'Tenancy' => [ 'type' => 'string', 'enum' => [ 'default', 'dedicated', 'host', ], ], 'TerminateInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'TerminateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'TerminatingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'TrafficType' => [ 'type' => 'string', 'enum' => [ 'ACCEPT', 'REJECT', 'ALL', ], ], 'UnassignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'PrivateIpAddresses', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], ], ], 'UnmonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'UnmonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'UnsuccessfulItem' => [ 'type' => 'structure', 'required' => [ 'Error', ], 'members' => [ 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'Error' => [ 'shape' => 'UnsuccessfulItemError', 'locationName' => 'error', ], ], ], 'UnsuccessfulItemError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'UnsuccessfulItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UnsuccessfulItemSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UserBucket' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', ], 'S3Key' => [ 'shape' => 'String', ], ], ], 'UserBucketDetails' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'UserData' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'String', 'locationName' => 'data', ], ], ], 'UserGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserGroup', ], ], 'UserIdGroupPair' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'PeeringStatus' => [ 'shape' => 'String', 'locationName' => 'peeringStatus', ], ], ], 'UserIdGroupPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdGroupPairSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserId', ], ], 'ValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'VgwTelemetry' => [ 'type' => 'structure', 'members' => [ 'OutsideIpAddress' => [ 'shape' => 'String', 'locationName' => 'outsideIpAddress', ], 'Status' => [ 'shape' => 'TelemetryStatus', 'locationName' => 'status', ], 'LastStatusChange' => [ 'shape' => 'DateTime', 'locationName' => 'lastStatusChange', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'AcceptedRouteCount' => [ 'shape' => 'Integer', 'locationName' => 'acceptedRouteCount', ], ], ], 'VgwTelemetryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VgwTelemetry', 'locationName' => 'item', ], ], 'VirtualizationType' => [ 'type' => 'string', 'enum' => [ 'hvm', 'paravirtual', ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Size' => [ 'shape' => 'Integer', 'locationName' => 'size', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'State' => [ 'shape' => 'VolumeState', 'locationName' => 'status', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'Attachments' => [ 'shape' => 'VolumeAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'VolumeAttachment' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Device' => [ 'shape' => 'String', 'locationName' => 'device', ], 'State' => [ 'shape' => 'VolumeAttachmentState', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'VolumeAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeAttachment', 'locationName' => 'item', ], ], 'VolumeAttachmentState' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'VolumeAttributeName' => [ 'type' => 'string', 'enum' => [ 'autoEnableIO', 'productCodes', ], ], 'VolumeDetail' => [ 'type' => 'structure', 'required' => [ 'Size', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'VolumeIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VolumeId', ], ], 'VolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', 'locationName' => 'item', ], ], 'VolumeState' => [ 'type' => 'string', 'enum' => [ 'creating', 'available', 'in-use', 'deleting', 'deleted', 'error', ], ], 'VolumeStatusAction' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusAction', 'locationName' => 'item', ], ], 'VolumeStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'VolumeStatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'VolumeStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusDetails', 'locationName' => 'item', ], ], 'VolumeStatusEvent' => [ 'type' => 'structure', 'members' => [ 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusEventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusEvent', 'locationName' => 'item', ], ], 'VolumeStatusInfo' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'VolumeStatusInfoStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'VolumeStatusDetailsList', 'locationName' => 'details', ], ], ], 'VolumeStatusInfoStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', ], ], 'VolumeStatusItem' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatusInfo', 'locationName' => 'volumeStatus', ], 'Events' => [ 'shape' => 'VolumeStatusEventsList', 'locationName' => 'eventsSet', ], 'Actions' => [ 'shape' => 'VolumeStatusActionsList', 'locationName' => 'actionsSet', ], ], ], 'VolumeStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusItem', 'locationName' => 'item', ], ], 'VolumeStatusName' => [ 'type' => 'string', 'enum' => [ 'io-enabled', 'io-performance', ], ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'standard', 'io1', 'gp2', 'sc1', 'st1', ], ], 'Vpc' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'VpcState', 'locationName' => 'state', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'isDefault', ], ], ], 'VpcAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'VpcAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcAttachment', 'locationName' => 'item', ], ], 'VpcAttributeName' => [ 'type' => 'string', 'enum' => [ 'enableDnsSupport', 'enableDnsHostnames', ], ], 'VpcClassicLink' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkEnabled' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkEnabled', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpcClassicLinkIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcClassicLinkList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcClassicLink', 'locationName' => 'item', ], ], 'VpcEndpoint' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'State' => [ 'shape' => 'State', 'locationName' => 'state', ], 'PolicyDocument' => [ 'shape' => 'String', 'locationName' => 'policyDocument', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'routeTableIdSet', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', 'locationName' => 'creationTimestamp', ], ], ], 'VpcEndpointSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'item', ], ], 'VpcIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Vpc', 'locationName' => 'item', ], ], 'VpcPeeringConnection' => [ 'type' => 'structure', 'members' => [ 'AccepterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'accepterVpcInfo', ], 'ExpirationTime' => [ 'shape' => 'DateTime', 'locationName' => 'expirationTime', ], 'RequesterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'requesterVpcInfo', ], 'Status' => [ 'shape' => 'VpcPeeringConnectionStateReason', 'locationName' => 'status', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'VpcPeeringConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'item', ], ], 'VpcPeeringConnectionOptionsDescription' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], ], ], 'VpcPeeringConnectionStateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'VpcPeeringConnectionStateReasonCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'VpcPeeringConnectionStateReasonCode' => [ 'type' => 'string', 'enum' => [ 'initiating-request', 'pending-acceptance', 'active', 'deleted', 'rejected', 'failed', 'expired', 'provisioning', 'deleting', ], ], 'VpcPeeringConnectionVpcInfo' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeeringOptions' => [ 'shape' => 'VpcPeeringConnectionOptionsDescription', 'locationName' => 'peeringOptions', ], ], ], 'VpcState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'VpnConnection' => [ 'type' => 'structure', 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpnConnectionId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'CustomerGatewayConfiguration' => [ 'shape' => 'String', 'locationName' => 'customerGatewayConfiguration', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VgwTelemetry' => [ 'shape' => 'VgwTelemetryList', 'locationName' => 'vgwTelemetry', ], 'Options' => [ 'shape' => 'VpnConnectionOptions', 'locationName' => 'options', ], 'Routes' => [ 'shape' => 'VpnStaticRouteList', 'locationName' => 'routes', ], ], ], 'VpnConnectionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnConnectionId', ], ], 'VpnConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnConnection', 'locationName' => 'item', ], ], 'VpnConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnConnectionOptionsSpecification' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnGateway' => [ 'type' => 'structure', 'members' => [ 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VpcAttachments' => [ 'shape' => 'VpcAttachmentList', 'locationName' => 'attachments', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpnGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnGatewayId', ], ], 'VpnGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnGateway', 'locationName' => 'item', ], ], 'VpnState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'VpnStaticRoute' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'Source' => [ 'shape' => 'VpnStaticRouteSource', 'locationName' => 'source', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], ], ], 'VpnStaticRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnStaticRoute', 'locationName' => 'item', ], ], 'VpnStaticRouteSource' => [ 'type' => 'string', 'enum' => [ 'Static', ], ], 'ZoneNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneName', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-04-01/paginators-1.json.php b/lib/aws/Aws/data/ec2/2016-04-01/paginators-1.json.php new file mode 100644 index 0000000..7741ba6 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-04-01/paginators-1.json +return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeRouteTables' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Snapshots', ], 'DescribeSpotInstanceRequests' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Tags', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Volumes', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-04-01/waiters-2.json.php b/lib/aws/Aws/data/ec2/2016-04-01/waiters-2.json.php new file mode 100644 index 0000000..87a2ebf --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-04-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-04-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceExists' => [ 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'DescribeInstances', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Reservations[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'BundleTaskComplete' => [ 'delay' => 15, 'operation' => 'DescribeBundleTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'complete', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'BundleTasks[].State', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'BundleTasks[].State', ], ], ], 'ConversionTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelled', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelling', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskDeleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'CustomerGatewayAvailable' => [ 'delay' => 15, 'operation' => 'DescribeCustomerGateways', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], ], ], 'ExportTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ExportTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ImageExists' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Images[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidAMIID.NotFound', 'state' => 'retry', ], ], ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Images[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Images[].State', 'expected' => 'failed', ], ], ], 'InstanceRunning' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'running', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'shutting-down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].InstanceStatus.Status', 'expected' => 'ok', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStopped' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'InstanceTerminated' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'terminated', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'KeyPairExists' => [ 'operation' => 'DescribeKeyPairs', 'delay' => 5, 'maxAttempts' => 6, 'acceptors' => [ [ 'expected' => true, 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'length(KeyPairs[].KeyName) > `0`', ], [ 'expected' => 'InvalidKeyPair.NotFound', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'NatGatewayAvailable' => [ 'operation' => 'DescribeNatGateways', 'delay' => 15, 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'NatGateways[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'failed', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleting', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleted', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'NatGatewayNotFound', ], ], ], 'NetworkInterfaceAvailable' => [ 'operation' => 'DescribeNetworkInterfaces', 'delay' => 20, 'maxAttempts' => 10, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'NetworkInterfaces[].Status', ], [ 'expected' => 'InvalidNetworkInterfaceID.NotFound', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'PasswordDataAvailable' => [ 'operation' => 'GetPasswordData', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'length(PasswordData) > `0`', 'expected' => true, ], ], ], 'SnapshotCompleted' => [ 'delay' => 15, 'operation' => 'DescribeSnapshots', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Snapshots[].State', ], ], ], 'SpotInstanceRequestFulfilled' => [ 'operation' => 'DescribeSpotInstanceRequests', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'fulfilled', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'schedule-expired', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'canceled-before-fulfillment', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'bad-parameters', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'system-error', ], ], ], 'SubnetAvailable' => [ 'delay' => 15, 'operation' => 'DescribeSubnets', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Subnets[].State', ], ], ], 'SystemStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].SystemStatus.Status', 'expected' => 'ok', ], ], ], 'VolumeAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VolumeDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'matcher' => 'error', 'expected' => 'InvalidVolume.NotFound', 'state' => 'success', ], ], ], 'VolumeInUse' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'in-use', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VpcAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpcs', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Vpcs[].State', ], ], ], 'VpcExists' => [ 'operation' => 'DescribeVpcs', 'delay' => 1, 'maxAttempts' => 5, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcID.NotFound', 'state' => 'retry', ], ], ], 'VpnConnectionAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpnConnectionDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpcPeeringConnectionExists' => [ 'delay' => 15, 'operation' => 'DescribeVpcPeeringConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcPeeringConnectionID.NotFound', 'state' => 'retry', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-09-15/api-2.json.php b/lib/aws/Aws/data/ec2/2016-09-15/api-2.json.php new file mode 100644 index 0000000..c2142ad --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-09-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-09-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'ec2-2016-09-15', 'apiVersion' => '2016-09-15', 'endpointPrefix' => 'ec2', 'protocol' => 'ec2', 'serviceAbbreviation' => 'Amazon EC2', 'serviceFullName' => 'Amazon Elastic Compute Cloud', 'signatureVersion' => 'v4', 'xmlNamespace' => 'http://ec2.amazonaws.com/doc/2016-09-15', ], 'operations' => [ 'AcceptReservedInstancesExchangeQuote' => [ 'name' => 'AcceptReservedInstancesExchangeQuote', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptReservedInstancesExchangeQuoteRequest', ], 'output' => [ 'shape' => 'AcceptReservedInstancesExchangeQuoteResult', ], ], 'AcceptVpcPeeringConnection' => [ 'name' => 'AcceptVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'AcceptVpcPeeringConnectionResult', ], ], 'AllocateAddress' => [ 'name' => 'AllocateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateAddressRequest', ], 'output' => [ 'shape' => 'AllocateAddressResult', ], ], 'AllocateHosts' => [ 'name' => 'AllocateHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateHostsRequest', ], 'output' => [ 'shape' => 'AllocateHostsResult', ], ], 'AssignPrivateIpAddresses' => [ 'name' => 'AssignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignPrivateIpAddressesRequest', ], ], 'AssociateAddress' => [ 'name' => 'AssociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAddressRequest', ], 'output' => [ 'shape' => 'AssociateAddressResult', ], ], 'AssociateDhcpOptions' => [ 'name' => 'AssociateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDhcpOptionsRequest', ], ], 'AssociateRouteTable' => [ 'name' => 'AssociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateRouteTableRequest', ], 'output' => [ 'shape' => 'AssociateRouteTableResult', ], ], 'AttachClassicLinkVpc' => [ 'name' => 'AttachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'AttachClassicLinkVpcResult', ], ], 'AttachInternetGateway' => [ 'name' => 'AttachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInternetGatewayRequest', ], ], 'AttachNetworkInterface' => [ 'name' => 'AttachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'AttachNetworkInterfaceResult', ], ], 'AttachVolume' => [ 'name' => 'AttachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'AttachVpnGateway' => [ 'name' => 'AttachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVpnGatewayRequest', ], 'output' => [ 'shape' => 'AttachVpnGatewayResult', ], ], 'AuthorizeSecurityGroupEgress' => [ 'name' => 'AuthorizeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupEgressRequest', ], ], 'AuthorizeSecurityGroupIngress' => [ 'name' => 'AuthorizeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupIngressRequest', ], ], 'BundleInstance' => [ 'name' => 'BundleInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BundleInstanceRequest', ], 'output' => [ 'shape' => 'BundleInstanceResult', ], ], 'CancelBundleTask' => [ 'name' => 'CancelBundleTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelBundleTaskRequest', ], 'output' => [ 'shape' => 'CancelBundleTaskResult', ], ], 'CancelConversionTask' => [ 'name' => 'CancelConversionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelConversionRequest', ], ], 'CancelExportTask' => [ 'name' => 'CancelExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelExportTaskRequest', ], ], 'CancelImportTask' => [ 'name' => 'CancelImportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelImportTaskRequest', ], 'output' => [ 'shape' => 'CancelImportTaskResult', ], ], 'CancelReservedInstancesListing' => [ 'name' => 'CancelReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CancelReservedInstancesListingResult', ], ], 'CancelSpotFleetRequests' => [ 'name' => 'CancelSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotFleetRequestsResponse', ], ], 'CancelSpotInstanceRequests' => [ 'name' => 'CancelSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotInstanceRequestsResult', ], ], 'ConfirmProductInstance' => [ 'name' => 'ConfirmProductInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmProductInstanceRequest', ], 'output' => [ 'shape' => 'ConfirmProductInstanceResult', ], ], 'CopyImage' => [ 'name' => 'CopyImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyImageRequest', ], 'output' => [ 'shape' => 'CopyImageResult', ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotRequest', ], 'output' => [ 'shape' => 'CopySnapshotResult', ], ], 'CreateCustomerGateway' => [ 'name' => 'CreateCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomerGatewayRequest', ], 'output' => [ 'shape' => 'CreateCustomerGatewayResult', ], ], 'CreateDhcpOptions' => [ 'name' => 'CreateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDhcpOptionsRequest', ], 'output' => [ 'shape' => 'CreateDhcpOptionsResult', ], ], 'CreateFlowLogs' => [ 'name' => 'CreateFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFlowLogsRequest', ], 'output' => [ 'shape' => 'CreateFlowLogsResult', ], ], 'CreateImage' => [ 'name' => 'CreateImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageRequest', ], 'output' => [ 'shape' => 'CreateImageResult', ], ], 'CreateInstanceExportTask' => [ 'name' => 'CreateInstanceExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceExportTaskRequest', ], 'output' => [ 'shape' => 'CreateInstanceExportTaskResult', ], ], 'CreateInternetGateway' => [ 'name' => 'CreateInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInternetGatewayRequest', ], 'output' => [ 'shape' => 'CreateInternetGatewayResult', ], ], 'CreateKeyPair' => [ 'name' => 'CreateKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyPairRequest', ], 'output' => [ 'shape' => 'KeyPair', ], ], 'CreateNatGateway' => [ 'name' => 'CreateNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNatGatewayRequest', ], 'output' => [ 'shape' => 'CreateNatGatewayResult', ], ], 'CreateNetworkAcl' => [ 'name' => 'CreateNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclRequest', ], 'output' => [ 'shape' => 'CreateNetworkAclResult', ], ], 'CreateNetworkAclEntry' => [ 'name' => 'CreateNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclEntryRequest', ], ], 'CreateNetworkInterface' => [ 'name' => 'CreateNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'CreateNetworkInterfaceResult', ], ], 'CreatePlacementGroup' => [ 'name' => 'CreatePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlacementGroupRequest', ], ], 'CreateReservedInstancesListing' => [ 'name' => 'CreateReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CreateReservedInstancesListingResult', ], ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteRequest', ], 'output' => [ 'shape' => 'CreateRouteResult', ], ], 'CreateRouteTable' => [ 'name' => 'CreateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteTableRequest', ], 'output' => [ 'shape' => 'CreateRouteTableResult', ], ], 'CreateSecurityGroup' => [ 'name' => 'CreateSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityGroupRequest', ], 'output' => [ 'shape' => 'CreateSecurityGroupResult', ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotRequest', ], 'output' => [ 'shape' => 'Snapshot', ], ], 'CreateSpotDatafeedSubscription' => [ 'name' => 'CreateSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateSpotDatafeedSubscriptionResult', ], ], 'CreateSubnet' => [ 'name' => 'CreateSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubnetRequest', ], 'output' => [ 'shape' => 'CreateSubnetResult', ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], ], 'CreateVolume' => [ 'name' => 'CreateVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVolumeRequest', ], 'output' => [ 'shape' => 'Volume', ], ], 'CreateVpc' => [ 'name' => 'CreateVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcRequest', ], 'output' => [ 'shape' => 'CreateVpcResult', ], ], 'CreateVpcEndpoint' => [ 'name' => 'CreateVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointResult', ], ], 'CreateVpcPeeringConnection' => [ 'name' => 'CreateVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpcPeeringConnectionResult', ], ], 'CreateVpnConnection' => [ 'name' => 'CreateVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpnConnectionResult', ], ], 'CreateVpnConnectionRoute' => [ 'name' => 'CreateVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRouteRequest', ], ], 'CreateVpnGateway' => [ 'name' => 'CreateVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnGatewayRequest', ], 'output' => [ 'shape' => 'CreateVpnGatewayResult', ], ], 'DeleteCustomerGateway' => [ 'name' => 'DeleteCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomerGatewayRequest', ], ], 'DeleteDhcpOptions' => [ 'name' => 'DeleteDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDhcpOptionsRequest', ], ], 'DeleteFlowLogs' => [ 'name' => 'DeleteFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFlowLogsRequest', ], 'output' => [ 'shape' => 'DeleteFlowLogsResult', ], ], 'DeleteInternetGateway' => [ 'name' => 'DeleteInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInternetGatewayRequest', ], ], 'DeleteKeyPair' => [ 'name' => 'DeleteKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKeyPairRequest', ], ], 'DeleteNatGateway' => [ 'name' => 'DeleteNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNatGatewayRequest', ], 'output' => [ 'shape' => 'DeleteNatGatewayResult', ], ], 'DeleteNetworkAcl' => [ 'name' => 'DeleteNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclRequest', ], ], 'DeleteNetworkAclEntry' => [ 'name' => 'DeleteNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclEntryRequest', ], ], 'DeleteNetworkInterface' => [ 'name' => 'DeleteNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkInterfaceRequest', ], ], 'DeletePlacementGroup' => [ 'name' => 'DeletePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlacementGroupRequest', ], ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteRequest', ], ], 'DeleteRouteTable' => [ 'name' => 'DeleteRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteTableRequest', ], ], 'DeleteSecurityGroup' => [ 'name' => 'DeleteSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityGroupRequest', ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotRequest', ], ], 'DeleteSpotDatafeedSubscription' => [ 'name' => 'DeleteSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSpotDatafeedSubscriptionRequest', ], ], 'DeleteSubnet' => [ 'name' => 'DeleteSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubnetRequest', ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], ], 'DeleteVolume' => [ 'name' => 'DeleteVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVolumeRequest', ], ], 'DeleteVpc' => [ 'name' => 'DeleteVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcRequest', ], ], 'DeleteVpcEndpoints' => [ 'name' => 'DeleteVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointsResult', ], ], 'DeleteVpcPeeringConnection' => [ 'name' => 'DeleteVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'DeleteVpcPeeringConnectionResult', ], ], 'DeleteVpnConnection' => [ 'name' => 'DeleteVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRequest', ], ], 'DeleteVpnConnectionRoute' => [ 'name' => 'DeleteVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRouteRequest', ], ], 'DeleteVpnGateway' => [ 'name' => 'DeleteVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnGatewayRequest', ], ], 'DeregisterImage' => [ 'name' => 'DeregisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterImageRequest', ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResult', ], ], 'DescribeAddresses' => [ 'name' => 'DescribeAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressesRequest', ], 'output' => [ 'shape' => 'DescribeAddressesResult', ], ], 'DescribeAvailabilityZones' => [ 'name' => 'DescribeAvailabilityZones', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailabilityZonesRequest', ], 'output' => [ 'shape' => 'DescribeAvailabilityZonesResult', ], ], 'DescribeBundleTasks' => [ 'name' => 'DescribeBundleTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBundleTasksRequest', ], 'output' => [ 'shape' => 'DescribeBundleTasksResult', ], ], 'DescribeClassicLinkInstances' => [ 'name' => 'DescribeClassicLinkInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClassicLinkInstancesRequest', ], 'output' => [ 'shape' => 'DescribeClassicLinkInstancesResult', ], ], 'DescribeConversionTasks' => [ 'name' => 'DescribeConversionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConversionTasksRequest', ], 'output' => [ 'shape' => 'DescribeConversionTasksResult', ], ], 'DescribeCustomerGateways' => [ 'name' => 'DescribeCustomerGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCustomerGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeCustomerGatewaysResult', ], ], 'DescribeDhcpOptions' => [ 'name' => 'DescribeDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDhcpOptionsRequest', ], 'output' => [ 'shape' => 'DescribeDhcpOptionsResult', ], ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResult', ], ], 'DescribeFlowLogs' => [ 'name' => 'DescribeFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFlowLogsRequest', ], 'output' => [ 'shape' => 'DescribeFlowLogsResult', ], ], 'DescribeHostReservationOfferings' => [ 'name' => 'DescribeHostReservationOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationOfferingsResult', ], ], 'DescribeHostReservations' => [ 'name' => 'DescribeHostReservations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationsResult', ], ], 'DescribeHosts' => [ 'name' => 'DescribeHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostsRequest', ], 'output' => [ 'shape' => 'DescribeHostsResult', ], ], 'DescribeIdFormat' => [ 'name' => 'DescribeIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdFormatResult', ], ], 'DescribeIdentityIdFormat' => [ 'name' => 'DescribeIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdentityIdFormatResult', ], ], 'DescribeImageAttribute' => [ 'name' => 'DescribeImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImageAttributeRequest', ], 'output' => [ 'shape' => 'ImageAttribute', ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResult', ], ], 'DescribeImportImageTasks' => [ 'name' => 'DescribeImportImageTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportImageTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportImageTasksResult', ], ], 'DescribeImportSnapshotTasks' => [ 'name' => 'DescribeImportSnapshotTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportSnapshotTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportSnapshotTasksResult', ], ], 'DescribeInstanceAttribute' => [ 'name' => 'DescribeInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceAttributeRequest', ], 'output' => [ 'shape' => 'InstanceAttribute', ], ], 'DescribeInstanceStatus' => [ 'name' => 'DescribeInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceStatusRequest', ], 'output' => [ 'shape' => 'DescribeInstanceStatusResult', ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesRequest', ], 'output' => [ 'shape' => 'DescribeInstancesResult', ], ], 'DescribeInternetGateways' => [ 'name' => 'DescribeInternetGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInternetGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeInternetGatewaysResult', ], ], 'DescribeKeyPairs' => [ 'name' => 'DescribeKeyPairs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyPairsRequest', ], 'output' => [ 'shape' => 'DescribeKeyPairsResult', ], ], 'DescribeMovingAddresses' => [ 'name' => 'DescribeMovingAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMovingAddressesRequest', ], 'output' => [ 'shape' => 'DescribeMovingAddressesResult', ], ], 'DescribeNatGateways' => [ 'name' => 'DescribeNatGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNatGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeNatGatewaysResult', ], ], 'DescribeNetworkAcls' => [ 'name' => 'DescribeNetworkAcls', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkAclsRequest', ], 'output' => [ 'shape' => 'DescribeNetworkAclsResult', ], ], 'DescribeNetworkInterfaceAttribute' => [ 'name' => 'DescribeNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfaceAttributeRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfaceAttributeResult', ], ], 'DescribeNetworkInterfaces' => [ 'name' => 'DescribeNetworkInterfaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfacesRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfacesResult', ], ], 'DescribePlacementGroups' => [ 'name' => 'DescribePlacementGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlacementGroupsRequest', ], 'output' => [ 'shape' => 'DescribePlacementGroupsResult', ], ], 'DescribePrefixLists' => [ 'name' => 'DescribePrefixLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePrefixListsRequest', ], 'output' => [ 'shape' => 'DescribePrefixListsResult', ], ], 'DescribeRegions' => [ 'name' => 'DescribeRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRegionsRequest', ], 'output' => [ 'shape' => 'DescribeRegionsResult', ], ], 'DescribeReservedInstances' => [ 'name' => 'DescribeReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesResult', ], ], 'DescribeReservedInstancesListings' => [ 'name' => 'DescribeReservedInstancesListings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesListingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesListingsResult', ], ], 'DescribeReservedInstancesModifications' => [ 'name' => 'DescribeReservedInstancesModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesModificationsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesModificationsResult', ], ], 'DescribeReservedInstancesOfferings' => [ 'name' => 'DescribeReservedInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesOfferingsResult', ], ], 'DescribeRouteTables' => [ 'name' => 'DescribeRouteTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRouteTablesRequest', ], 'output' => [ 'shape' => 'DescribeRouteTablesResult', ], ], 'DescribeScheduledInstanceAvailability' => [ 'name' => 'DescribeScheduledInstanceAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityResult', ], ], 'DescribeScheduledInstances' => [ 'name' => 'DescribeScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstancesRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstancesResult', ], ], 'DescribeSecurityGroupReferences' => [ 'name' => 'DescribeSecurityGroupReferences', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupReferencesRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupReferencesResult', ], ], 'DescribeSecurityGroups' => [ 'name' => 'DescribeSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupsResult', ], ], 'DescribeSnapshotAttribute' => [ 'name' => 'DescribeSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotAttributeRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotAttributeResult', ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotsResult', ], ], 'DescribeSpotDatafeedSubscription' => [ 'name' => 'DescribeSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionResult', ], ], 'DescribeSpotFleetInstances' => [ 'name' => 'DescribeSpotFleetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetInstancesRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetInstancesResponse', ], ], 'DescribeSpotFleetRequestHistory' => [ 'name' => 'DescribeSpotFleetRequestHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestHistoryResponse', ], ], 'DescribeSpotFleetRequests' => [ 'name' => 'DescribeSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestsResponse', ], ], 'DescribeSpotInstanceRequests' => [ 'name' => 'DescribeSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotInstanceRequestsResult', ], ], 'DescribeSpotPriceHistory' => [ 'name' => 'DescribeSpotPriceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotPriceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotPriceHistoryResult', ], ], 'DescribeStaleSecurityGroups' => [ 'name' => 'DescribeStaleSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStaleSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeStaleSecurityGroupsResult', ], ], 'DescribeSubnets' => [ 'name' => 'DescribeSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubnetsRequest', ], 'output' => [ 'shape' => 'DescribeSubnetsResult', ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResult', ], ], 'DescribeVolumeAttribute' => [ 'name' => 'DescribeVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVolumeAttributeResult', ], ], 'DescribeVolumeStatus' => [ 'name' => 'DescribeVolumeStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeStatusRequest', ], 'output' => [ 'shape' => 'DescribeVolumeStatusResult', ], ], 'DescribeVolumes' => [ 'name' => 'DescribeVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesRequest', ], 'output' => [ 'shape' => 'DescribeVolumesResult', ], ], 'DescribeVpcAttribute' => [ 'name' => 'DescribeVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVpcAttributeResult', ], ], 'DescribeVpcClassicLink' => [ 'name' => 'DescribeVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkResult', ], ], 'DescribeVpcClassicLinkDnsSupport' => [ 'name' => 'DescribeVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportResult', ], ], 'DescribeVpcEndpointServices' => [ 'name' => 'DescribeVpcEndpointServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServicesRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServicesResult', ], ], 'DescribeVpcEndpoints' => [ 'name' => 'DescribeVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointsResult', ], ], 'DescribeVpcPeeringConnections' => [ 'name' => 'DescribeVpcPeeringConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcPeeringConnectionsResult', ], ], 'DescribeVpcs' => [ 'name' => 'DescribeVpcs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcsRequest', ], 'output' => [ 'shape' => 'DescribeVpcsResult', ], ], 'DescribeVpnConnections' => [ 'name' => 'DescribeVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpnConnectionsResult', ], ], 'DescribeVpnGateways' => [ 'name' => 'DescribeVpnGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeVpnGatewaysResult', ], ], 'DetachClassicLinkVpc' => [ 'name' => 'DetachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'DetachClassicLinkVpcResult', ], ], 'DetachInternetGateway' => [ 'name' => 'DetachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInternetGatewayRequest', ], ], 'DetachNetworkInterface' => [ 'name' => 'DetachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachNetworkInterfaceRequest', ], ], 'DetachVolume' => [ 'name' => 'DetachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'DetachVpnGateway' => [ 'name' => 'DetachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVpnGatewayRequest', ], ], 'DisableVgwRoutePropagation' => [ 'name' => 'DisableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVgwRoutePropagationRequest', ], ], 'DisableVpcClassicLink' => [ 'name' => 'DisableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkResult', ], ], 'DisableVpcClassicLinkDnsSupport' => [ 'name' => 'DisableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportResult', ], ], 'DisassociateAddress' => [ 'name' => 'DisassociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAddressRequest', ], ], 'DisassociateRouteTable' => [ 'name' => 'DisassociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateRouteTableRequest', ], ], 'EnableVgwRoutePropagation' => [ 'name' => 'EnableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVgwRoutePropagationRequest', ], ], 'EnableVolumeIO' => [ 'name' => 'EnableVolumeIO', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVolumeIORequest', ], ], 'EnableVpcClassicLink' => [ 'name' => 'EnableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkResult', ], ], 'EnableVpcClassicLinkDnsSupport' => [ 'name' => 'EnableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportResult', ], ], 'GetConsoleOutput' => [ 'name' => 'GetConsoleOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleOutputRequest', ], 'output' => [ 'shape' => 'GetConsoleOutputResult', ], ], 'GetConsoleScreenshot' => [ 'name' => 'GetConsoleScreenshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleScreenshotRequest', ], 'output' => [ 'shape' => 'GetConsoleScreenshotResult', ], ], 'GetHostReservationPurchasePreview' => [ 'name' => 'GetHostReservationPurchasePreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetHostReservationPurchasePreviewRequest', ], 'output' => [ 'shape' => 'GetHostReservationPurchasePreviewResult', ], ], 'GetPasswordData' => [ 'name' => 'GetPasswordData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPasswordDataRequest', ], 'output' => [ 'shape' => 'GetPasswordDataResult', ], ], 'GetReservedInstancesExchangeQuote' => [ 'name' => 'GetReservedInstancesExchangeQuote', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservedInstancesExchangeQuoteRequest', ], 'output' => [ 'shape' => 'GetReservedInstancesExchangeQuoteResult', ], ], 'ImportImage' => [ 'name' => 'ImportImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportImageRequest', ], 'output' => [ 'shape' => 'ImportImageResult', ], ], 'ImportInstance' => [ 'name' => 'ImportInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportInstanceRequest', ], 'output' => [ 'shape' => 'ImportInstanceResult', ], ], 'ImportKeyPair' => [ 'name' => 'ImportKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyPairRequest', ], 'output' => [ 'shape' => 'ImportKeyPairResult', ], ], 'ImportSnapshot' => [ 'name' => 'ImportSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSnapshotRequest', ], 'output' => [ 'shape' => 'ImportSnapshotResult', ], ], 'ImportVolume' => [ 'name' => 'ImportVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportVolumeRequest', ], 'output' => [ 'shape' => 'ImportVolumeResult', ], ], 'ModifyHosts' => [ 'name' => 'ModifyHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHostsRequest', ], 'output' => [ 'shape' => 'ModifyHostsResult', ], ], 'ModifyIdFormat' => [ 'name' => 'ModifyIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdFormatRequest', ], ], 'ModifyIdentityIdFormat' => [ 'name' => 'ModifyIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdentityIdFormatRequest', ], ], 'ModifyImageAttribute' => [ 'name' => 'ModifyImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyImageAttributeRequest', ], ], 'ModifyInstanceAttribute' => [ 'name' => 'ModifyInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceAttributeRequest', ], ], 'ModifyInstancePlacement' => [ 'name' => 'ModifyInstancePlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstancePlacementRequest', ], 'output' => [ 'shape' => 'ModifyInstancePlacementResult', ], ], 'ModifyNetworkInterfaceAttribute' => [ 'name' => 'ModifyNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyNetworkInterfaceAttributeRequest', ], ], 'ModifyReservedInstances' => [ 'name' => 'ModifyReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReservedInstancesRequest', ], 'output' => [ 'shape' => 'ModifyReservedInstancesResult', ], ], 'ModifySnapshotAttribute' => [ 'name' => 'ModifySnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotAttributeRequest', ], ], 'ModifySpotFleetRequest' => [ 'name' => 'ModifySpotFleetRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySpotFleetRequestRequest', ], 'output' => [ 'shape' => 'ModifySpotFleetRequestResponse', ], ], 'ModifySubnetAttribute' => [ 'name' => 'ModifySubnetAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySubnetAttributeRequest', ], ], 'ModifyVolumeAttribute' => [ 'name' => 'ModifyVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVolumeAttributeRequest', ], ], 'ModifyVpcAttribute' => [ 'name' => 'ModifyVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcAttributeRequest', ], ], 'ModifyVpcEndpoint' => [ 'name' => 'ModifyVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointResult', ], ], 'ModifyVpcPeeringConnectionOptions' => [ 'name' => 'ModifyVpcPeeringConnectionOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsRequest', ], 'output' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsResult', ], ], 'MonitorInstances' => [ 'name' => 'MonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MonitorInstancesRequest', ], 'output' => [ 'shape' => 'MonitorInstancesResult', ], ], 'MoveAddressToVpc' => [ 'name' => 'MoveAddressToVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MoveAddressToVpcRequest', ], 'output' => [ 'shape' => 'MoveAddressToVpcResult', ], ], 'PurchaseHostReservation' => [ 'name' => 'PurchaseHostReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseHostReservationRequest', ], 'output' => [ 'shape' => 'PurchaseHostReservationResult', ], ], 'PurchaseReservedInstancesOffering' => [ 'name' => 'PurchaseReservedInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedInstancesOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseReservedInstancesOfferingResult', ], ], 'PurchaseScheduledInstances' => [ 'name' => 'PurchaseScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseScheduledInstancesRequest', ], 'output' => [ 'shape' => 'PurchaseScheduledInstancesResult', ], ], 'RebootInstances' => [ 'name' => 'RebootInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstancesRequest', ], ], 'RegisterImage' => [ 'name' => 'RegisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterImageRequest', ], 'output' => [ 'shape' => 'RegisterImageResult', ], ], 'RejectVpcPeeringConnection' => [ 'name' => 'RejectVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'RejectVpcPeeringConnectionResult', ], ], 'ReleaseAddress' => [ 'name' => 'ReleaseAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseAddressRequest', ], ], 'ReleaseHosts' => [ 'name' => 'ReleaseHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseHostsRequest', ], 'output' => [ 'shape' => 'ReleaseHostsResult', ], ], 'ReplaceNetworkAclAssociation' => [ 'name' => 'ReplaceNetworkAclAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceNetworkAclAssociationResult', ], ], 'ReplaceNetworkAclEntry' => [ 'name' => 'ReplaceNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclEntryRequest', ], ], 'ReplaceRoute' => [ 'name' => 'ReplaceRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteRequest', ], ], 'ReplaceRouteTableAssociation' => [ 'name' => 'ReplaceRouteTableAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteTableAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceRouteTableAssociationResult', ], ], 'ReportInstanceStatus' => [ 'name' => 'ReportInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportInstanceStatusRequest', ], ], 'RequestSpotFleet' => [ 'name' => 'RequestSpotFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotFleetRequest', ], 'output' => [ 'shape' => 'RequestSpotFleetResponse', ], ], 'RequestSpotInstances' => [ 'name' => 'RequestSpotInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotInstancesRequest', ], 'output' => [ 'shape' => 'RequestSpotInstancesResult', ], ], 'ResetImageAttribute' => [ 'name' => 'ResetImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetImageAttributeRequest', ], ], 'ResetInstanceAttribute' => [ 'name' => 'ResetInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetInstanceAttributeRequest', ], ], 'ResetNetworkInterfaceAttribute' => [ 'name' => 'ResetNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetNetworkInterfaceAttributeRequest', ], ], 'ResetSnapshotAttribute' => [ 'name' => 'ResetSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetSnapshotAttributeRequest', ], ], 'RestoreAddressToClassic' => [ 'name' => 'RestoreAddressToClassic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreAddressToClassicRequest', ], 'output' => [ 'shape' => 'RestoreAddressToClassicResult', ], ], 'RevokeSecurityGroupEgress' => [ 'name' => 'RevokeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupEgressRequest', ], ], 'RevokeSecurityGroupIngress' => [ 'name' => 'RevokeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupIngressRequest', ], ], 'RunInstances' => [ 'name' => 'RunInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunInstancesRequest', ], 'output' => [ 'shape' => 'Reservation', ], ], 'RunScheduledInstances' => [ 'name' => 'RunScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunScheduledInstancesRequest', ], 'output' => [ 'shape' => 'RunScheduledInstancesResult', ], ], 'StartInstances' => [ 'name' => 'StartInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstancesRequest', ], 'output' => [ 'shape' => 'StartInstancesResult', ], ], 'StopInstances' => [ 'name' => 'StopInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstancesRequest', ], 'output' => [ 'shape' => 'StopInstancesResult', ], ], 'TerminateInstances' => [ 'name' => 'TerminateInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateInstancesRequest', ], 'output' => [ 'shape' => 'TerminateInstancesResult', ], ], 'UnassignPrivateIpAddresses' => [ 'name' => 'UnassignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignPrivateIpAddressesRequest', ], ], 'UnmonitorInstances' => [ 'name' => 'UnmonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnmonitorInstancesRequest', ], 'output' => [ 'shape' => 'UnmonitorInstancesResult', ], ], ], 'shapes' => [ 'AcceptReservedInstancesExchangeQuoteRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ReservedInstanceIds' => [ 'shape' => 'ReservedInstanceIdSet', 'locationName' => 'ReservedInstanceId', ], 'TargetConfigurations' => [ 'shape' => 'TargetConfigurationRequestSet', 'locationName' => 'TargetConfiguration', ], ], ], 'AcceptReservedInstancesExchangeQuoteResult' => [ 'type' => 'structure', 'members' => [ 'ExchangeId' => [ 'shape' => 'String', 'locationName' => 'exchangeId', ], ], ], 'AcceptVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'AcceptVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', 'locationName' => 'attributeName', ], 'AttributeValues' => [ 'shape' => 'AccountAttributeValueList', 'locationName' => 'attributeValueSet', ], ], ], 'AccountAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', 'locationName' => 'item', ], ], 'AccountAttributeName' => [ 'type' => 'string', 'enum' => [ 'supported-platforms', 'default-vpc', ], ], 'AccountAttributeNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeName', 'locationName' => 'attributeName', ], ], 'AccountAttributeValue' => [ 'type' => 'structure', 'members' => [ 'AttributeValue' => [ 'shape' => 'String', 'locationName' => 'attributeValue', ], ], ], 'AccountAttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeValue', 'locationName' => 'item', ], ], 'ActiveInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], ], ], 'ActiveInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActiveInstance', 'locationName' => 'item', ], ], 'ActivityStatus' => [ 'type' => 'string', 'enum' => [ 'error', 'pending_fulfillment', 'pending_termination', 'fulfilled', ], ], 'Address' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'NetworkInterfaceOwnerId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceOwnerId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', 'locationName' => 'item', ], ], 'Affinity' => [ 'type' => 'string', 'enum' => [ 'default', 'host', ], ], 'AllocateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Domain' => [ 'shape' => 'DomainType', ], ], ], 'AllocateAddressResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], ], ], 'AllocateHostsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'Quantity', 'AvailabilityZone', ], 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Quantity' => [ 'shape' => 'Integer', 'locationName' => 'quantity', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'AllocateHostsResult' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'hostIdSet', ], ], ], 'AllocationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AllocationId', ], ], 'AllocationState' => [ 'type' => 'string', 'enum' => [ 'available', 'under-assessment', 'permanent-failure', 'released', 'released-permanent-failure', ], ], 'AllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowestPrice', 'diversified', ], ], 'ArchitectureValues' => [ 'type' => 'string', 'enum' => [ 'i386', 'x86_64', ], ], 'AssignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AllowReassignment' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassignment', ], ], ], 'AssociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'AllowReassociation' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassociation', ], ], ], 'AssociateAddressResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AssociateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AssociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'AssociateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AttachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', 'Groups', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'AttachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'AttachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AttachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'InstanceId', 'DeviceIndex', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], ], ], 'AttachNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], ], ], 'AttachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', 'InstanceId', 'Device', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'AttachVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpcAttachment' => [ 'shape' => 'VpcAttachment', 'locationName' => 'attachment', ], ], ], 'AttachmentStatus' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'AttributeBooleanValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', 'locationName' => 'value', ], ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'AuthorizeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'AuthorizeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'AutoPlacement' => [ 'type' => 'string', 'enum' => [ 'on', 'off', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'ZoneName' => [ 'shape' => 'String', 'locationName' => 'zoneName', ], 'State' => [ 'shape' => 'AvailabilityZoneState', 'locationName' => 'zoneState', ], 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Messages' => [ 'shape' => 'AvailabilityZoneMessageList', 'locationName' => 'messageSet', ], ], ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'item', ], ], 'AvailabilityZoneMessage' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'AvailabilityZoneMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZoneMessage', 'locationName' => 'item', ], ], 'AvailabilityZoneState' => [ 'type' => 'string', 'enum' => [ 'available', 'information', 'impaired', 'unavailable', ], ], 'AvailableCapacity' => [ 'type' => 'structure', 'members' => [ 'AvailableInstanceCapacity' => [ 'shape' => 'AvailableInstanceCapacityList', 'locationName' => 'availableInstanceCapacity', ], 'AvailableVCpus' => [ 'shape' => 'Integer', 'locationName' => 'availableVCpus', ], ], ], 'AvailableInstanceCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCapacity', 'locationName' => 'item', ], ], 'BatchState' => [ 'type' => 'string', 'enum' => [ 'submitted', 'active', 'cancelled', 'failed', 'cancelled_running', 'cancelled_terminating', 'modifying', ], ], 'Blob' => [ 'type' => 'blob', ], 'BlobAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Blob', 'locationName' => 'value', ], ], ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsBlockDevice', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'BlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'item', ], ], 'BlockDeviceMappingRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BundleIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'BundleId', ], ], 'BundleInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Storage', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], 'Storage' => [ 'shape' => 'Storage', ], ], ], 'BundleInstanceResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'BundleTask' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'BundleId' => [ 'shape' => 'String', 'locationName' => 'bundleId', ], 'State' => [ 'shape' => 'BundleTaskState', 'locationName' => 'state', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Storage' => [ 'shape' => 'Storage', 'locationName' => 'storage', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'BundleTaskError' => [ 'shape' => 'BundleTaskError', 'locationName' => 'error', ], ], ], 'BundleTaskError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'BundleTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleTask', 'locationName' => 'item', ], ], 'BundleTaskState' => [ 'type' => 'string', 'enum' => [ 'pending', 'waiting-for-shutdown', 'bundling', 'storing', 'cancelling', 'complete', 'failed', ], ], 'CancelBatchErrorCode' => [ 'type' => 'string', 'enum' => [ 'fleetRequestIdDoesNotExist', 'fleetRequestIdMalformed', 'fleetRequestNotInCancellableState', 'unexpectedError', ], ], 'CancelBundleTaskRequest' => [ 'type' => 'structure', 'required' => [ 'BundleId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleId' => [ 'shape' => 'String', ], ], ], 'CancelBundleTaskResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'CancelConversionRequest' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ReasonMessage' => [ 'shape' => 'String', 'locationName' => 'reasonMessage', ], ], ], 'CancelExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ExportTaskId', ], 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], ], ], 'CancelImportTaskRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskId' => [ 'shape' => 'String', ], 'CancelReason' => [ 'shape' => 'String', ], ], ], 'CancelImportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'PreviousState' => [ 'shape' => 'String', 'locationName' => 'previousState', ], ], ], 'CancelReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesListingId', ], 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], ], ], 'CancelReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CancelSpotFleetRequestsError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'Error', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'Error' => [ 'shape' => 'CancelSpotFleetRequestsError', 'locationName' => 'error', ], ], ], 'CancelSpotFleetRequestsErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsErrorItem', 'locationName' => 'item', ], ], 'CancelSpotFleetRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestIds', 'TerminateInstances', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'TerminateInstances' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstances', ], ], ], 'CancelSpotFleetRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'UnsuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsErrorSet', 'locationName' => 'unsuccessfulFleetRequestSet', ], 'SuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsSuccessSet', 'locationName' => 'successfulFleetRequestSet', ], ], ], 'CancelSpotFleetRequestsSuccessItem' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'CurrentSpotFleetRequestState', 'PreviousSpotFleetRequestState', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'CurrentSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'currentSpotFleetRequestState', ], 'PreviousSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'previousSpotFleetRequestState', ], ], ], 'CancelSpotFleetRequestsSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsSuccessItem', 'locationName' => 'item', ], ], 'CancelSpotInstanceRequestState' => [ 'type' => 'string', 'enum' => [ 'active', 'open', 'closed', 'cancelled', 'completed', ], ], 'CancelSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotInstanceRequestIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], ], ], 'CancelSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'CancelledSpotInstanceRequests' => [ 'shape' => 'CancelledSpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'CancelledSpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'State' => [ 'shape' => 'CancelSpotInstanceRequestState', 'locationName' => 'state', ], ], ], 'CancelledSpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelledSpotInstanceRequest', 'locationName' => 'item', ], ], 'ClassicLinkDnsSupport' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkDnsSupported' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkDnsSupported', ], ], ], 'ClassicLinkDnsSupportList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkDnsSupport', 'locationName' => 'item', ], ], 'ClassicLinkInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ClassicLinkInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkInstance', 'locationName' => 'item', ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'UploadStart' => [ 'shape' => 'DateTime', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'Comment' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ProductCode' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'ConfirmProductInstanceResult' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ContainerFormat' => [ 'type' => 'string', 'enum' => [ 'ova', ], ], 'ConversionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ConversionTask' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', 'State', ], 'members' => [ 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ExpirationTime' => [ 'shape' => 'String', 'locationName' => 'expirationTime', ], 'ImportInstance' => [ 'shape' => 'ImportInstanceTaskDetails', 'locationName' => 'importInstance', ], 'ImportVolume' => [ 'shape' => 'ImportVolumeTaskDetails', 'locationName' => 'importVolume', ], 'State' => [ 'shape' => 'ConversionTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ConversionTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'CopyImageRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceImageId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceImageId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopyImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CopySnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceSnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceSnapshotId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', 'locationName' => 'destinationRegion', ], 'PresignedUrl' => [ 'shape' => 'String', 'locationName' => 'presignedUrl', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], ], ], 'CreateCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'PublicIp', 'BgpAsn', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'IpAddress', ], 'BgpAsn' => [ 'shape' => 'Integer', ], ], ], 'CreateCustomerGatewayResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateway' => [ 'shape' => 'CustomerGateway', 'locationName' => 'customerGateway', ], ], ], 'CreateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpConfigurations', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpConfigurations' => [ 'shape' => 'NewDhcpConfigurationList', 'locationName' => 'dhcpConfiguration', ], ], ], 'CreateDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptions', 'locationName' => 'dhcpOptions', ], ], ], 'CreateFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIds', 'ResourceType', 'TrafficType', 'LogGroupName', 'DeliverLogsPermissionArn', ], 'members' => [ 'ResourceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'FlowLogsResourceType', ], 'TrafficType' => [ 'shape' => 'TrafficType', ], 'LogGroupName' => [ 'shape' => 'String', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'flowLogIdSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'CreateImageRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NoReboot' => [ 'shape' => 'Boolean', 'locationName' => 'noReboot', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'blockDeviceMapping', ], ], ], 'CreateImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CreateInstanceExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3TaskSpecification', 'locationName' => 'exportToS3', ], ], ], 'CreateInstanceExportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ExportTask' => [ 'shape' => 'ExportTask', 'locationName' => 'exportTask', ], ], ], 'CreateInternetGatewayRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateway' => [ 'shape' => 'InternetGateway', 'locationName' => 'internetGateway', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', 'AllocationId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGateway' => [ 'shape' => 'NatGateway', 'locationName' => 'natGateway', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'CreateNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateNetworkAclResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcl' => [ 'shape' => 'NetworkAcl', 'locationName' => 'networkAcl', ], ], ], 'CreateNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterface' => [ 'shape' => 'NetworkInterface', 'locationName' => 'networkInterface', ], ], ], 'CreatePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Strategy', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], ], ], 'CreateReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesId', 'InstanceCount', 'PriceSchedules', 'ClientToken', ], 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleSpecificationList', 'locationName' => 'priceSchedules', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CreateRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'CreateRouteResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'CreateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'RouteTable' => [ 'shape' => 'RouteTable', 'locationName' => 'routeTable', ], ], ], 'CreateSecurityGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'Description', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'GroupDescription', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'CreateSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'CreateSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], ], ], 'CreateSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'CreateSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'CidrBlock' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateSubnetResult' => [ 'type' => 'structure', 'members' => [ 'Subnet' => [ 'shape' => 'Subnet', 'locationName' => 'subnet', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', 'Tags', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'CreateVolumePermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'CreateVolumePermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateVolumePermission', 'locationName' => 'item', ], ], 'CreateVolumePermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'CreateVolumePermissionList', ], 'Remove' => [ 'shape' => 'CreateVolumePermissionList', ], ], ], 'CreateVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Size' => [ 'shape' => 'Integer', ], 'SnapshotId' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'ServiceName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'ServiceName' => [ 'shape' => 'String', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoint' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'vpcEndpoint', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeerVpcId' => [ 'shape' => 'String', 'locationName' => 'peerVpcId', ], 'PeerOwnerId' => [ 'shape' => 'String', 'locationName' => 'peerOwnerId', ], ], ], 'CreateVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'CreateVpcRequest' => [ 'type' => 'structure', 'required' => [ 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CidrBlock' => [ 'shape' => 'String', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], ], ], 'CreateVpcResult' => [ 'type' => 'structure', 'members' => [ 'Vpc' => [ 'shape' => 'Vpc', 'locationName' => 'vpc', ], ], ], 'CreateVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'CustomerGatewayId', 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'String', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'VpnConnectionOptionsSpecification', 'locationName' => 'options', ], ], ], 'CreateVpnConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnection' => [ 'shape' => 'VpnConnection', 'locationName' => 'vpnConnection', ], ], ], 'CreateVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Type' => [ 'shape' => 'GatewayType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateway' => [ 'shape' => 'VpnGateway', 'locationName' => 'vpnGateway', ], ], ], 'CurrencyCodeValues' => [ 'type' => 'string', 'enum' => [ 'USD', ], ], 'CustomerGateway' => [ 'type' => 'structure', 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], 'IpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'BgpAsn' => [ 'shape' => 'String', 'locationName' => 'bgpAsn', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'CustomerGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CustomerGatewayId', ], ], 'CustomerGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerGateway', 'locationName' => 'item', ], ], 'DatafeedSubscriptionState' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'CustomerGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsId' => [ 'shape' => 'String', ], ], ], 'DeleteFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'FlowLogIds', ], 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], ], ], 'DeleteFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], ], ], 'DeleteKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'NatGatewayId', ], 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'DeleteNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Egress', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], ], ], 'DeleteNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'DeleteNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'DeletePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'DeleteRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], ], ], 'DeleteRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'DeleteSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'DeleteSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'resourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tag', ], ], ], 'DeleteVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], ], ], 'DeleteVpcEndpointsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'DeleteVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'DeleteVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteVpcRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', 'DestinationCidrBlock', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], ], ], 'DeleteVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], ], ], 'DeregisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], ], ], 'DescribeAccountAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttributeNames' => [ 'shape' => 'AccountAttributeNameStringList', 'locationName' => 'attributeName', ], ], ], 'DescribeAccountAttributesResult' => [ 'type' => 'structure', 'members' => [ 'AccountAttributes' => [ 'shape' => 'AccountAttributeList', 'locationName' => 'accountAttributeSet', ], ], ], 'DescribeAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'PublicIpStringList', 'locationName' => 'PublicIp', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AllocationIds' => [ 'shape' => 'AllocationIdList', 'locationName' => 'AllocationId', ], ], ], 'DescribeAddressesResult' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'AddressList', 'locationName' => 'addressesSet', ], ], ], 'DescribeAvailabilityZonesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ZoneNames' => [ 'shape' => 'ZoneNameStringList', 'locationName' => 'ZoneName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeAvailabilityZonesResult' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', 'locationName' => 'availabilityZoneInfo', ], ], ], 'DescribeBundleTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'BundleIds' => [ 'shape' => 'BundleIdStringList', 'locationName' => 'BundleId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeBundleTasksResult' => [ 'type' => 'structure', 'members' => [ 'BundleTasks' => [ 'shape' => 'BundleTaskList', 'locationName' => 'bundleInstanceTasksSet', ], ], ], 'DescribeClassicLinkInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeClassicLinkInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'ClassicLinkInstanceList', 'locationName' => 'instancesSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeConversionTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConversionTask', 'locationName' => 'item', ], ], 'DescribeConversionTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ConversionTaskIds' => [ 'shape' => 'ConversionIdStringList', 'locationName' => 'conversionTaskId', ], ], ], 'DescribeConversionTasksResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTasks' => [ 'shape' => 'DescribeConversionTaskList', 'locationName' => 'conversionTasks', ], ], ], 'DescribeCustomerGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'CustomerGatewayIds' => [ 'shape' => 'CustomerGatewayIdStringList', 'locationName' => 'CustomerGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeCustomerGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateways' => [ 'shape' => 'CustomerGatewayList', 'locationName' => 'customerGatewaySet', ], ], ], 'DescribeDhcpOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'DhcpOptionsIds' => [ 'shape' => 'DhcpOptionsIdStringList', 'locationName' => 'DhcpOptionsId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptionsList', 'locationName' => 'dhcpOptionsSet', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'ExportTaskIds' => [ 'shape' => 'ExportTaskIdStringList', 'locationName' => 'exportTaskId', ], ], ], 'DescribeExportTasksResult' => [ 'type' => 'structure', 'members' => [ 'ExportTasks' => [ 'shape' => 'ExportTaskList', 'locationName' => 'exportTaskSet', ], ], ], 'DescribeFlowLogsRequest' => [ 'type' => 'structure', 'members' => [ 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogs' => [ 'shape' => 'FlowLogSet', 'locationName' => 'flowLogSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostReservationOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'MinDuration' => [ 'shape' => 'Integer', ], 'MaxDuration' => [ 'shape' => 'Integer', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'OfferingSet' => [ 'shape' => 'HostOfferingSet', 'locationName' => 'offeringSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostReservationsRequest' => [ 'type' => 'structure', 'members' => [ 'HostReservationIdSet' => [ 'shape' => 'HostReservationIdSet', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationsResult' => [ 'type' => 'structure', 'members' => [ 'HostReservationSet' => [ 'shape' => 'HostReservationSet', 'locationName' => 'hostReservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostsRequest' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'Filter' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeHostsResult' => [ 'type' => 'structure', 'members' => [ 'Hosts' => [ 'shape' => 'HostList', 'locationName' => 'hostSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', ], ], ], 'DescribeIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'PrincipalArn', ], 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], ], ], 'DescribeIdentityIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ImageAttributeName', ], ], ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageIds' => [ 'shape' => 'ImageIdStringList', 'locationName' => 'ImageId', ], 'Owners' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'ExecutableUsers' => [ 'shape' => 'ExecutableByStringList', 'locationName' => 'ExecutableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'ImageList', 'locationName' => 'imagesSet', ], ], ], 'DescribeImportImageTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportImageTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportImageTasks' => [ 'shape' => 'ImportImageTaskList', 'locationName' => 'importImageTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeImportSnapshotTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeImportSnapshotTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportSnapshotTasks' => [ 'shape' => 'ImportSnapshotTaskList', 'locationName' => 'importSnapshotTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'DescribeInstanceStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'IncludeAllInstances' => [ 'shape' => 'Boolean', 'locationName' => 'includeAllInstances', ], ], ], 'DescribeInstanceStatusResult' => [ 'type' => 'structure', 'members' => [ 'InstanceStatuses' => [ 'shape' => 'InstanceStatusList', 'locationName' => 'instanceStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Reservations' => [ 'shape' => 'ReservationList', 'locationName' => 'reservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], ], ], 'DescribeKeyPairsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyNames' => [ 'shape' => 'KeyNameStringList', 'locationName' => 'KeyName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeKeyPairsResult' => [ 'type' => 'structure', 'members' => [ 'KeyPairs' => [ 'shape' => 'KeyPairList', 'locationName' => 'keySet', ], ], ], 'DescribeMovingAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIps' => [ 'shape' => 'ValueStringList', 'locationName' => 'publicIp', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeMovingAddressesResult' => [ 'type' => 'structure', 'members' => [ 'MovingAddressStatuses' => [ 'shape' => 'MovingAddressStatusSet', 'locationName' => 'movingAddressStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNatGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'NatGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NatGatewayId', ], 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeNatGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'NatGateways' => [ 'shape' => 'NatGatewayList', 'locationName' => 'natGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], ], ], 'DescribeNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Attribute' => [ 'shape' => 'NetworkInterfaceAttribute', 'locationName' => 'attribute', ], ], ], 'DescribeNetworkInterfaceAttributeResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], ], ], 'DescribeNetworkInterfacesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceIds' => [ 'shape' => 'NetworkInterfaceIdList', 'locationName' => 'NetworkInterfaceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], ], ], 'DescribeNetworkInterfacesResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaces' => [ 'shape' => 'NetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], ], ], 'DescribePlacementGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'PlacementGroupStringList', 'locationName' => 'groupName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribePlacementGroupsResult' => [ 'type' => 'structure', 'members' => [ 'PlacementGroups' => [ 'shape' => 'PlacementGroupList', 'locationName' => 'placementGroupSet', ], ], ], 'DescribePrefixListsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'PrefixListIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'PrefixListId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribePrefixListsResult' => [ 'type' => 'structure', 'members' => [ 'PrefixLists' => [ 'shape' => 'PrefixListSet', 'locationName' => 'prefixListSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeRegionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RegionNames' => [ 'shape' => 'RegionNameStringList', 'locationName' => 'RegionName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRegionsResult' => [ 'type' => 'structure', 'members' => [ 'Regions' => [ 'shape' => 'RegionList', 'locationName' => 'regionInfo', ], ], ], 'DescribeReservedInstancesListingsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeReservedInstancesListingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'DescribeReservedInstancesModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationIds' => [ 'shape' => 'ReservedInstancesModificationIdStringList', 'locationName' => 'ReservedInstancesModificationId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeReservedInstancesModificationsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModifications' => [ 'shape' => 'ReservedInstancesModificationList', 'locationName' => 'reservedInstancesModificationsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingIds' => [ 'shape' => 'ReservedInstancesOfferingIdStringList', 'locationName' => 'ReservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'IncludeMarketplace' => [ 'shape' => 'Boolean', ], 'MinDuration' => [ 'shape' => 'Long', ], 'MaxDuration' => [ 'shape' => 'Long', ], 'MaxInstanceCount' => [ 'shape' => 'Integer', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', ], ], ], 'DescribeReservedInstancesOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferings' => [ 'shape' => 'ReservedInstancesOfferingList', 'locationName' => 'reservedInstancesOfferingsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', ], ], ], 'DescribeReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstances' => [ 'shape' => 'ReservedInstancesList', 'locationName' => 'reservedInstancesSet', ], ], ], 'DescribeRouteTablesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'RouteTables' => [ 'shape' => 'RouteTableList', 'locationName' => 'routeTableSet', ], ], ], 'DescribeScheduledInstanceAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'Recurrence', 'FirstSlotStartTimeRange', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrenceRequest', ], 'FirstSlotStartTimeRange' => [ 'shape' => 'SlotDateTimeRangeRequest', ], 'MinSlotDurationInHours' => [ 'shape' => 'Integer', ], 'MaxSlotDurationInHours' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstanceAvailabilityResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceAvailabilitySet' => [ 'shape' => 'ScheduledInstanceAvailabilitySet', 'locationName' => 'scheduledInstanceAvailabilitySet', ], ], ], 'DescribeScheduledInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ScheduledInstanceIds' => [ 'shape' => 'ScheduledInstanceIdRequestSet', 'locationName' => 'ScheduledInstanceId', ], 'SlotStartTimeRange' => [ 'shape' => 'SlotStartTimeRangeRequest', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceSet' => [ 'shape' => 'ScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'DescribeSecurityGroupReferencesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'GroupIds', ], ], ], 'DescribeSecurityGroupReferencesResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupReferenceSet' => [ 'shape' => 'SecurityGroupReferences', 'locationName' => 'securityGroupReferenceSet', ], ], ], 'DescribeSecurityGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroupList', 'locationName' => 'securityGroupInfo', ], ], ], 'DescribeSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'DescribeSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'CreateVolumePermissions' => [ 'shape' => 'CreateVolumePermissionList', 'locationName' => 'createVolumePermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotIds' => [ 'shape' => 'SnapshotIdStringList', 'locationName' => 'SnapshotId', ], 'OwnerIds' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'RestorableByUserIds' => [ 'shape' => 'RestorableByStringList', 'locationName' => 'RestorableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Snapshots' => [ 'shape' => 'SnapshotList', 'locationName' => 'snapshotSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'DescribeSpotFleetInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetInstancesResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'ActiveInstances', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'ActiveInstances' => [ 'shape' => 'ActiveInstanceSet', 'locationName' => 'activeInstanceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestHistoryResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', 'LastEvaluatedTime', 'HistoryRecords', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'LastEvaluatedTime' => [ 'shape' => 'DateTime', 'locationName' => 'lastEvaluatedTime', ], 'HistoryRecords' => [ 'shape' => 'HistoryRecords', 'locationName' => 'historyRecordSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotFleetRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeSpotFleetRequestsResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfigs', ], 'members' => [ 'SpotFleetRequestConfigs' => [ 'shape' => 'SpotFleetRequestConfigSet', 'locationName' => 'spotFleetRequestConfigSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'DescribeSpotPriceHistoryRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'InstanceTypes' => [ 'shape' => 'InstanceTypeList', 'locationName' => 'InstanceType', ], 'ProductDescriptions' => [ 'shape' => 'ProductDescriptionList', 'locationName' => 'ProductDescription', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotPriceHistoryResult' => [ 'type' => 'structure', 'members' => [ 'SpotPriceHistory' => [ 'shape' => 'SpotPriceHistoryList', 'locationName' => 'spotPriceHistorySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeStaleSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeStaleSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'StaleSecurityGroupSet' => [ 'shape' => 'StaleSecurityGroupSet', 'locationName' => 'staleSecurityGroupSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSubnetsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SubnetIds' => [ 'shape' => 'SubnetIdStringList', 'locationName' => 'SubnetId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeSubnetsResult' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'SubnetList', 'locationName' => 'subnetSet', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTagsResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagDescriptionList', 'locationName' => 'tagSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VolumeAttributeName', ], ], ], 'DescribeVolumeAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'autoEnableIO', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'DescribeVolumeStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeVolumeStatusResult' => [ 'type' => 'structure', 'members' => [ 'VolumeStatuses' => [ 'shape' => 'VolumeStatusList', 'locationName' => 'volumeStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], ], ], 'DescribeVolumesResult' => [ 'type' => 'structure', 'members' => [ 'Volumes' => [ 'shape' => 'VolumeList', 'locationName' => 'volumeSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'VpcAttributeName', ], ], ], 'DescribeVpcAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsSupport', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsHostnames', ], ], ], 'DescribeVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'ClassicLinkDnsSupportList', 'locationName' => 'vpcs', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcClassicLinkRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcClassicLinkList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpcEndpointServicesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServicesResult' => [ 'type' => 'structure', 'members' => [ 'ServiceNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'serviceNameSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoints' => [ 'shape' => 'VpcEndpointSet', 'locationName' => 'vpcEndpointSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], ], ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpnConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnConnectionIds' => [ 'shape' => 'VpnConnectionIdStringList', 'locationName' => 'VpnConnectionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnections' => [ 'shape' => 'VpnConnectionList', 'locationName' => 'vpnConnectionSet', ], ], ], 'DescribeVpnGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayIds' => [ 'shape' => 'VpnGatewayIdStringList', 'locationName' => 'VpnGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeVpnGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateways' => [ 'shape' => 'VpnGatewayList', 'locationName' => 'vpnGatewaySet', ], ], ], 'DetachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DetachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'AttachmentId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'DetachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Device' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'DetachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DeviceType' => [ 'type' => 'string', 'enum' => [ 'ebs', 'instance-store', ], ], 'DhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'DhcpConfigurationValueList', 'locationName' => 'valueSet', ], ], ], 'DhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpConfiguration', 'locationName' => 'item', ], ], 'DhcpConfigurationValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', 'locationName' => 'item', ], ], 'DhcpOptions' => [ 'type' => 'structure', 'members' => [ 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'DhcpConfigurations' => [ 'shape' => 'DhcpConfigurationList', 'locationName' => 'dhcpConfigurationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'DhcpOptionsIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DhcpOptionsId', ], ], 'DhcpOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpOptions', 'locationName' => 'item', ], ], 'DisableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DisableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisassociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AssociationId' => [ 'shape' => 'String', ], ], ], 'DisassociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'DiskImage' => [ 'type' => 'structure', 'members' => [ 'Image' => [ 'shape' => 'DiskImageDetail', ], 'Description' => [ 'shape' => 'String', ], 'Volume' => [ 'shape' => 'VolumeDetail', ], ], ], 'DiskImageDescription' => [ 'type' => 'structure', 'required' => [ 'Format', 'Size', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], 'Checksum' => [ 'shape' => 'String', 'locationName' => 'checksum', ], ], ], 'DiskImageDetail' => [ 'type' => 'structure', 'required' => [ 'Format', 'Bytes', 'ImportManifestUrl', ], 'members' => [ 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'Bytes' => [ 'shape' => 'Long', 'locationName' => 'bytes', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], ], ], 'DiskImageFormat' => [ 'type' => 'string', 'enum' => [ 'VMDK', 'RAW', 'VHD', ], ], 'DiskImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskImage', ], ], 'DiskImageVolumeDescription' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'DomainType' => [ 'type' => 'string', 'enum' => [ 'vpc', 'standard', ], ], 'Double' => [ 'type' => 'double', ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], ], ], 'EbsInstanceBlockDevice' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EbsInstanceBlockDeviceSpecification' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'EnableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'GatewayId', ], 'members' => [ 'RouteTableId' => [ 'shape' => 'String', ], 'GatewayId' => [ 'shape' => 'String', ], ], ], 'EnableVolumeIORequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EnableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'EnableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EnableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'EnableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EventCode' => [ 'type' => 'string', 'enum' => [ 'instance-reboot', 'system-reboot', 'system-maintenance', 'instance-retirement', 'instance-stop', ], ], 'EventInformation' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'EventSubType' => [ 'shape' => 'String', 'locationName' => 'eventSubType', ], 'EventDescription' => [ 'shape' => 'String', 'locationName' => 'eventDescription', ], ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'instanceChange', 'fleetRequestChange', 'error', ], ], 'ExcessCapacityTerminationPolicy' => [ 'type' => 'string', 'enum' => [ 'noTermination', 'default', ], ], 'ExecutableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExecutableBy', ], ], 'ExportEnvironment' => [ 'type' => 'string', 'enum' => [ 'citrix', 'vmware', 'microsoft', ], ], 'ExportTask' => [ 'type' => 'structure', 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'State' => [ 'shape' => 'ExportTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceExportDetails' => [ 'shape' => 'InstanceExportDetails', 'locationName' => 'instanceExport', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3Task', 'locationName' => 'exportToS3', ], ], ], 'ExportTaskIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExportTaskId', ], ], 'ExportTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportTask', 'locationName' => 'item', ], ], 'ExportTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'ExportToS3Task' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'ExportToS3TaskSpecification' => [ 'type' => 'structure', 'members' => [ 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Prefix' => [ 'shape' => 'String', 'locationName' => 's3Prefix', ], ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'request', 'maintain', ], ], 'Float' => [ 'type' => 'float', ], 'FlowLog' => [ 'type' => 'structure', 'members' => [ 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'FlowLogId' => [ 'shape' => 'String', 'locationName' => 'flowLogId', ], 'FlowLogStatus' => [ 'shape' => 'String', 'locationName' => 'flowLogStatus', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'TrafficType' => [ 'shape' => 'TrafficType', 'locationName' => 'trafficType', ], 'LogGroupName' => [ 'shape' => 'String', 'locationName' => 'logGroupName', ], 'DeliverLogsStatus' => [ 'shape' => 'String', 'locationName' => 'deliverLogsStatus', ], 'DeliverLogsErrorMessage' => [ 'shape' => 'String', 'locationName' => 'deliverLogsErrorMessage', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', 'locationName' => 'deliverLogsPermissionArn', ], ], ], 'FlowLogSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FlowLog', 'locationName' => 'item', ], ], 'FlowLogsResourceType' => [ 'type' => 'string', 'enum' => [ 'VPC', 'Subnet', 'NetworkInterface', ], ], 'GatewayType' => [ 'type' => 'string', 'enum' => [ 'ipsec.1', ], ], 'GetConsoleOutputRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetConsoleOutputResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'Output' => [ 'shape' => 'String', 'locationName' => 'output', ], ], ], 'GetConsoleScreenshotRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'WakeUp' => [ 'shape' => 'Boolean', ], ], ], 'GetConsoleScreenshotResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageData' => [ 'shape' => 'String', 'locationName' => 'imageData', ], ], ], 'GetHostReservationPurchasePreviewRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', 'HostIdSet', ], 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], ], ], 'GetHostReservationPurchasePreviewResult' => [ 'type' => 'structure', 'members' => [ 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'GetPasswordDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetPasswordDataResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'PasswordData' => [ 'shape' => 'String', 'locationName' => 'passwordData', ], ], ], 'GetReservedInstancesExchangeQuoteRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ReservedInstanceIds' => [ 'shape' => 'ReservedInstanceIdSet', 'locationName' => 'ReservedInstanceId', ], 'TargetConfigurations' => [ 'shape' => 'TargetConfigurationRequestSet', 'locationName' => 'TargetConfiguration', ], ], ], 'GetReservedInstancesExchangeQuoteResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstanceValueSet' => [ 'shape' => 'ReservedInstanceReservationValueSet', 'locationName' => 'reservedInstanceValueSet', ], 'ReservedInstanceValueRollup' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservedInstanceValueRollup', ], 'TargetConfigurationValueSet' => [ 'shape' => 'TargetReservationValueSet', 'locationName' => 'targetConfigurationValueSet', ], 'TargetConfigurationValueRollup' => [ 'shape' => 'ReservationValue', 'locationName' => 'targetConfigurationValueRollup', ], 'PaymentDue' => [ 'shape' => 'String', 'locationName' => 'paymentDue', ], 'CurrencyCode' => [ 'shape' => 'String', 'locationName' => 'currencyCode', ], 'OutputReservedInstancesWillExpireAt' => [ 'shape' => 'DateTime', 'locationName' => 'outputReservedInstancesWillExpireAt', ], 'IsValidExchange' => [ 'shape' => 'Boolean', 'locationName' => 'isValidExchange', ], 'ValidationFailureReason' => [ 'shape' => 'String', 'locationName' => 'validationFailureReason', ], ], ], 'GroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], 'GroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'GroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupIdentifier', 'locationName' => 'item', ], ], 'GroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'GroupNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'GroupName', ], ], 'HistoryRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'EventType', 'EventInformation', ], 'members' => [ 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'EventInformation' => [ 'shape' => 'EventInformation', 'locationName' => 'eventInformation', ], ], ], 'HistoryRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryRecord', 'locationName' => 'item', ], ], 'Host' => [ 'type' => 'structure', 'members' => [ 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'HostProperties' => [ 'shape' => 'HostProperties', 'locationName' => 'hostProperties', ], 'State' => [ 'shape' => 'AllocationState', 'locationName' => 'state', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Instances' => [ 'shape' => 'HostInstanceList', 'locationName' => 'instances', ], 'AvailableCapacity' => [ 'shape' => 'AvailableCapacity', 'locationName' => 'availableCapacity', ], ], ], 'HostInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostInstance', 'locationName' => 'item', ], ], 'HostList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Host', 'locationName' => 'item', ], ], 'HostOffering' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], ], ], 'HostOfferingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostOffering', ], ], 'HostProperties' => [ 'type' => 'structure', 'members' => [ 'Sockets' => [ 'shape' => 'Integer', 'locationName' => 'sockets', ], 'Cores' => [ 'shape' => 'Integer', 'locationName' => 'cores', ], 'TotalVCpus' => [ 'shape' => 'Integer', 'locationName' => 'totalVCpus', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostReservation' => [ 'type' => 'structure', 'members' => [ 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], ], ], 'HostReservationIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'HostReservationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostReservation', ], ], 'HostTenancy' => [ 'type' => 'string', 'enum' => [ 'dedicated', 'host', ], ], 'HypervisorType' => [ 'type' => 'string', 'enum' => [ 'ovm', 'xen', ], ], 'IamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'IamInstanceProfileSpecification' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'IcmpTypeCode' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'Integer', 'locationName' => 'type', ], 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], ], ], 'IdFormat' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], 'Deadline' => [ 'shape' => 'DateTime', 'locationName' => 'deadline', ], ], ], 'IdFormatList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdFormat', 'locationName' => 'item', ], ], 'Image' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImageLocation' => [ 'shape' => 'String', 'locationName' => 'imageLocation', ], 'State' => [ 'shape' => 'ImageState', 'locationName' => 'imageState', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'imageOwnerId', ], 'CreationDate' => [ 'shape' => 'String', 'locationName' => 'creationDate', ], 'Public' => [ 'shape' => 'Boolean', 'locationName' => 'isPublic', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'ImageType' => [ 'shape' => 'ImageTypeValues', 'locationName' => 'imageType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'ImageOwnerAlias' => [ 'shape' => 'String', 'locationName' => 'imageOwnerAlias', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], ], ], 'ImageAttribute' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'LaunchPermissions' => [ 'shape' => 'LaunchPermissionList', 'locationName' => 'launchPermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], ], ], 'ImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'description', 'kernel', 'ramdisk', 'launchPermission', 'productCodes', 'blockDeviceMapping', 'sriovNetSupport', ], ], 'ImageDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], 'DeviceName' => [ 'shape' => 'String', ], 'SnapshotId' => [ 'shape' => 'String', ], ], ], 'ImageDiskContainerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageDiskContainer', 'locationName' => 'item', ], ], 'ImageIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImageId', ], ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', 'locationName' => 'item', ], ], 'ImageState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'invalid', 'deregistered', 'transient', 'failed', 'error', ], ], 'ImageTypeValues' => [ 'type' => 'string', 'enum' => [ 'machine', 'kernel', 'ramdisk', ], ], 'ImportImageRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainers' => [ 'shape' => 'ImageDiskContainerList', 'locationName' => 'DiskContainer', ], 'LicenseType' => [ 'shape' => 'String', ], 'Hypervisor' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportImageResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'ImportImageTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportImageTask', 'locationName' => 'item', ], ], 'ImportInstanceLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'GroupNames' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'GroupName', ], 'GroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'GroupId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'UserData' => [ 'shape' => 'UserData', 'locationName' => 'userData', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'Monitoring' => [ 'shape' => 'Boolean', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'ImportInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Platform', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'LaunchSpecification' => [ 'shape' => 'ImportInstanceLaunchSpecification', 'locationName' => 'launchSpecification', ], 'DiskImages' => [ 'shape' => 'DiskImageList', 'locationName' => 'diskImage', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'ImportInstanceResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportInstanceTaskDetails' => [ 'type' => 'structure', 'required' => [ 'Volumes', ], 'members' => [ 'Volumes' => [ 'shape' => 'ImportInstanceVolumeDetailSet', 'locationName' => 'volumes', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailItem' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', 'Status', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportInstanceVolumeDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportInstanceVolumeDetailItem', 'locationName' => 'item', ], ], 'ImportKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', 'PublicKeyMaterial', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'PublicKeyMaterial' => [ 'shape' => 'Blob', 'locationName' => 'publicKeyMaterial', ], ], ], 'ImportKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'ImportSnapshotRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainer' => [ 'shape' => 'SnapshotDiskContainer', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTask' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ImportSnapshotTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportSnapshotTask', 'locationName' => 'item', ], ], 'ImportTaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImportTaskId', ], ], 'ImportVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Image' => [ 'shape' => 'DiskImageDetail', 'locationName' => 'image', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Volume' => [ 'shape' => 'VolumeDetail', 'locationName' => 'volume', ], ], ], 'ImportVolumeResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportVolumeTaskDetails' => [ 'type' => 'structure', 'required' => [ 'BytesConverted', 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'State' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'StateTransitionReason' => [ 'shape' => 'String', 'locationName' => 'reason', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'AmiLaunchIndex' => [ 'shape' => 'Integer', 'locationName' => 'amiLaunchIndex', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'LaunchTime' => [ 'shape' => 'DateTime', 'locationName' => 'launchTime', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PublicIpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'InstanceLifecycle' => [ 'shape' => 'InstanceLifecycleType', 'locationName' => 'instanceLifecycle', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], ], ], 'InstanceAttribute' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'AttributeValue', 'locationName' => 'userData', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'RootDeviceName' => [ 'shape' => 'AttributeValue', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], ], ], 'InstanceAttributeName' => [ 'type' => 'string', 'enum' => [ 'instanceType', 'kernel', 'ramdisk', 'userData', 'disableApiTermination', 'instanceInitiatedShutdownBehavior', 'rootDeviceName', 'blockDeviceMapping', 'productCodes', 'sourceDestCheck', 'groupSet', 'ebsOptimized', 'sriovNetSupport', 'enaSupport', ], ], 'InstanceBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDevice', 'locationName' => 'ebs', ], ], ], 'InstanceBlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMapping', 'locationName' => 'item', ], ], 'InstanceBlockDeviceMappingSpecification' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDeviceSpecification', 'locationName' => 'ebs', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'InstanceBlockDeviceMappingSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMappingSpecification', 'locationName' => 'item', ], ], 'InstanceCapacity' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'AvailableCapacity' => [ 'shape' => 'Integer', 'locationName' => 'availableCapacity', ], 'TotalCapacity' => [ 'shape' => 'Integer', 'locationName' => 'totalCapacity', ], ], ], 'InstanceCount' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ListingState', 'locationName' => 'state', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], ], ], 'InstanceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCount', 'locationName' => 'item', ], ], 'InstanceExportDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'InstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'InstanceIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'InstanceId', ], ], 'InstanceLifecycleType' => [ 'type' => 'string', 'enum' => [ 'spot', 'scheduled', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', 'locationName' => 'item', ], ], 'InstanceMonitoring' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], ], ], 'InstanceMonitoringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceMonitoring', 'locationName' => 'item', ], ], 'InstanceNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'InstanceNetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], 'PrivateIpAddresses' => [ 'shape' => 'InstancePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], ], ], 'InstanceNetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], ], ], 'InstanceNetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'InstanceNetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterface', 'locationName' => 'item', ], ], 'InstanceNetworkInterfaceSpecification' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddressesSet', 'queryName' => 'PrivateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', 'locationName' => 'associatePublicIpAddress', ], ], ], 'InstanceNetworkInterfaceSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterfaceSpecification', 'locationName' => 'item', ], ], 'InstancePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'InstancePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePrivateIpAddress', 'locationName' => 'item', ], ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], 'Name' => [ 'shape' => 'InstanceStateName', 'locationName' => 'name', ], ], ], 'InstanceStateChange' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CurrentState' => [ 'shape' => 'InstanceState', 'locationName' => 'currentState', ], 'PreviousState' => [ 'shape' => 'InstanceState', 'locationName' => 'previousState', ], ], ], 'InstanceStateChangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStateChange', 'locationName' => 'item', ], ], 'InstanceStateName' => [ 'type' => 'string', 'enum' => [ 'pending', 'running', 'shutting-down', 'terminated', 'stopping', 'stopped', ], ], 'InstanceStatus' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Events' => [ 'shape' => 'InstanceStatusEventList', 'locationName' => 'eventsSet', ], 'InstanceState' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'SystemStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'systemStatus', ], 'InstanceStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'instanceStatus', ], ], ], 'InstanceStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'StatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'StatusType', 'locationName' => 'status', ], 'ImpairedSince' => [ 'shape' => 'DateTime', 'locationName' => 'impairedSince', ], ], ], 'InstanceStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusDetails', 'locationName' => 'item', ], ], 'InstanceStatusEvent' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], ], ], 'InstanceStatusEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusEvent', 'locationName' => 'item', ], ], 'InstanceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatus', 'locationName' => 'item', ], ], 'InstanceStatusSummary' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'SummaryStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'InstanceStatusDetailsList', 'locationName' => 'details', ], ], ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 't1.micro', 't2.nano', 't2.micro', 't2.small', 't2.medium', 't2.large', 'm1.small', 'm1.medium', 'm1.large', 'm1.xlarge', 'm3.medium', 'm3.large', 'm3.xlarge', 'm3.2xlarge', 'm4.large', 'm4.xlarge', 'm4.2xlarge', 'm4.4xlarge', 'm4.10xlarge', 'm4.16xlarge', 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge', 'cr1.8xlarge', 'r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge', 'x1.16xlarge', 'x1.32xlarge', 'i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge', 'hi1.4xlarge', 'hs1.8xlarge', 'c1.medium', 'c1.xlarge', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'c4.large', 'c4.xlarge', 'c4.2xlarge', 'c4.4xlarge', 'c4.8xlarge', 'cc1.4xlarge', 'cc2.8xlarge', 'g2.2xlarge', 'g2.8xlarge', 'cg1.4xlarge', 'p2.xlarge', 'p2.8xlarge', 'p2.16xlarge', 'd2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge', ], ], 'InstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceType', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternetGateway' => [ 'type' => 'structure', 'members' => [ 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'Attachments' => [ 'shape' => 'InternetGatewayAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'InternetGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'InternetGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGatewayAttachment', 'locationName' => 'item', ], ], 'InternetGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGateway', 'locationName' => 'item', ], ], 'IpPermission' => [ 'type' => 'structure', 'members' => [ 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairList', 'locationName' => 'groups', ], 'IpRanges' => [ 'shape' => 'IpRangeList', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdList', 'locationName' => 'prefixListIds', ], ], ], 'IpPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpPermission', 'locationName' => 'item', ], ], 'IpRange' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], ], ], 'IpRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRange', 'locationName' => 'item', ], ], 'IpRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'KeyNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'KeyName', ], ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyMaterial' => [ 'shape' => 'String', 'locationName' => 'keyMaterial', ], ], ], 'KeyPairInfo' => [ 'type' => 'structure', 'members' => [ 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], ], ], 'KeyPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPairInfo', 'locationName' => 'item', ], ], 'LaunchPermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'LaunchPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchPermission', 'locationName' => 'item', ], ], 'LaunchPermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'LaunchPermissionList', ], 'Remove' => [ 'shape' => 'LaunchPermissionList', ], ], ], 'LaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], ], ], 'LaunchSpecsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetLaunchSpecification', 'locationName' => 'item', ], 'min' => 1, ], 'ListingState' => [ 'type' => 'string', 'enum' => [ 'available', 'sold', 'cancelled', 'pending', ], ], 'ListingStatus' => [ 'type' => 'string', 'enum' => [ 'active', 'pending', 'cancelled', 'closed', ], ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 255, 'min' => 5, ], 'ModifyHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', 'AutoPlacement', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], ], ], 'ModifyHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ModifyIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', ], 'members' => [ 'Resource' => [ 'shape' => 'String', ], 'UseLongIds' => [ 'shape' => 'Boolean', ], ], ], 'ModifyIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', 'PrincipalArn', ], 'members' => [ 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], ], ], 'ModifyImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'String', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'UserGroups' => [ 'shape' => 'UserGroupStringList', 'locationName' => 'UserGroup', ], 'ProductCodes' => [ 'shape' => 'ProductCodeStringList', 'locationName' => 'ProductCode', ], 'Value' => [ 'shape' => 'String', ], 'LaunchPermission' => [ 'shape' => 'LaunchPermissionModifications', ], 'Description' => [ 'shape' => 'AttributeValue', ], ], ], 'ModifyInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingSpecificationList', 'locationName' => 'blockDeviceMapping', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'Kernel' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'Ramdisk' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'UserData' => [ 'shape' => 'BlobAttributeValue', 'locationName' => 'userData', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], ], ], 'ModifyInstancePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Tenancy' => [ 'shape' => 'HostTenancy', 'locationName' => 'tenancy', ], 'Affinity' => [ 'shape' => 'Affinity', 'locationName' => 'affinity', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], ], ], 'ModifyInstancePlacementResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachmentChanges', 'locationName' => 'attachment', ], ], ], 'ModifyReservedInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesIds', 'TargetConfigurations', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'TargetConfigurations' => [ 'shape' => 'ReservedInstancesConfigurationList', 'locationName' => 'ReservedInstancesConfigurationSetItemType', ], ], ], 'ModifyReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], ], ], 'ModifySnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'UserGroup', ], 'CreateVolumePermission' => [ 'shape' => 'CreateVolumePermissionModifications', ], ], ], 'ModifySpotFleetRequestRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], ], ], 'ModifySpotFleetRequestResponse' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifySubnetAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', ], 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', ], ], ], 'ModifyVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointId' => [ 'shape' => 'String', ], 'ResetPolicy' => [ 'shape' => 'Boolean', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'AddRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddRouteTableId', ], 'RemoveRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveRouteTableId', ], ], ], 'ModifyVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcPeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', ], 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], ], ], 'ModifyVpcPeeringConnectionOptionsResult' => [ 'type' => 'structure', 'members' => [ 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'requesterPeeringConnectionOptions', ], 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'accepterPeeringConnectionOptions', ], ], ], 'MonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'MonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'Monitoring' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'MonitoringState', 'locationName' => 'state', ], ], ], 'MonitoringState' => [ 'type' => 'string', 'enum' => [ 'disabled', 'disabling', 'enabled', 'pending', ], ], 'MoveAddressToVpcRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'MoveAddressToVpcResult' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'MoveStatus' => [ 'type' => 'string', 'enum' => [ 'movingToVpc', 'restoringToClassic', ], ], 'MovingAddressStatus' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'MoveStatus' => [ 'shape' => 'MoveStatus', 'locationName' => 'moveStatus', ], ], ], 'MovingAddressStatusSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'MovingAddressStatus', 'locationName' => 'item', ], ], 'NatGateway' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'DeleteTime' => [ 'shape' => 'DateTime', 'locationName' => 'deleteTime', ], 'NatGatewayAddresses' => [ 'shape' => 'NatGatewayAddressList', 'locationName' => 'natGatewayAddressSet', ], 'State' => [ 'shape' => 'NatGatewayState', 'locationName' => 'state', ], 'FailureCode' => [ 'shape' => 'String', 'locationName' => 'failureCode', ], 'FailureMessage' => [ 'shape' => 'String', 'locationName' => 'failureMessage', ], 'ProvisionedBandwidth' => [ 'shape' => 'ProvisionedBandwidth', 'locationName' => 'provisionedBandwidth', ], ], ], 'NatGatewayAddress' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'PrivateIp' => [ 'shape' => 'String', 'locationName' => 'privateIp', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'NatGatewayAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGatewayAddress', 'locationName' => 'item', ], ], 'NatGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGateway', 'locationName' => 'item', ], ], 'NatGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'failed', 'available', 'deleting', 'deleted', ], ], 'NetworkAcl' => [ 'type' => 'structure', 'members' => [ 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'default', ], 'Entries' => [ 'shape' => 'NetworkAclEntryList', 'locationName' => 'entrySet', ], 'Associations' => [ 'shape' => 'NetworkAclAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'NetworkAclAssociation' => [ 'type' => 'structure', 'members' => [ 'NetworkAclAssociationId' => [ 'shape' => 'String', 'locationName' => 'networkAclAssociationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'NetworkAclAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclAssociation', 'locationName' => 'item', ], ], 'NetworkAclEntry' => [ 'type' => 'structure', 'members' => [ 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'icmpTypeCode', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'NetworkAclEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclEntry', 'locationName' => 'item', ], ], 'NetworkAclList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAcl', 'locationName' => 'item', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'RequesterManaged' => [ 'shape' => 'Boolean', 'locationName' => 'requesterManaged', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], 'TagSet' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PrivateIpAddresses' => [ 'shape' => 'NetworkInterfacePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], 'InterfaceType' => [ 'shape' => 'NetworkInterfaceType', 'locationName' => 'interfaceType', ], ], ], 'NetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'NetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttachmentChanges' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttribute' => [ 'type' => 'string', 'enum' => [ 'description', 'groupSet', 'sourceDestCheck', 'attachment', ], ], 'NetworkInterfaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'NetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', 'locationName' => 'item', ], ], 'NetworkInterfacePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], ], ], 'NetworkInterfacePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfacePrivateIpAddress', 'locationName' => 'item', ], ], 'NetworkInterfaceStatus' => [ 'type' => 'string', 'enum' => [ 'available', 'attaching', 'in-use', 'detaching', ], ], 'NetworkInterfaceType' => [ 'type' => 'string', 'enum' => [ 'interface', 'natGateway', ], ], 'NewDhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'NewDhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NewDhcpConfiguration', 'locationName' => 'item', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'OccurrenceDayRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'OccurenceDay', ], ], 'OccurrenceDaySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'item', ], ], 'OfferingClassType' => [ 'type' => 'string', 'enum' => [ 'standard', 'convertible', ], ], 'OfferingTypeValues' => [ 'type' => 'string', 'enum' => [ 'Heavy Utilization', 'Medium Utilization', 'Light Utilization', 'No Upfront', 'Partial Upfront', 'All Upfront', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'add', 'remove', ], ], 'OwnerStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Owner', ], ], 'PaymentOption' => [ 'type' => 'string', 'enum' => [ 'AllUpfront', 'PartialUpfront', 'NoUpfront', ], ], 'PeeringConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], ], ], 'PeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', ], ], ], 'PermissionGroup' => [ 'type' => 'string', 'enum' => [ 'all', ], ], 'Placement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'Affinity' => [ 'shape' => 'String', 'locationName' => 'affinity', ], ], ], 'PlacementGroup' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], 'State' => [ 'shape' => 'PlacementGroupState', 'locationName' => 'state', ], ], ], 'PlacementGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementGroup', 'locationName' => 'item', ], ], 'PlacementGroupState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'PlacementGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PlacementStrategy' => [ 'type' => 'string', 'enum' => [ 'cluster', ], ], 'PlatformValues' => [ 'type' => 'string', 'enum' => [ 'Windows', ], ], 'PortRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', 'locationName' => 'from', ], 'To' => [ 'shape' => 'Integer', 'locationName' => 'to', ], ], ], 'PrefixList' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], 'PrefixListName' => [ 'shape' => 'String', 'locationName' => 'prefixListName', ], 'Cidrs' => [ 'shape' => 'ValueStringList', 'locationName' => 'cidrSet', ], ], ], 'PrefixListId' => [ 'type' => 'structure', 'members' => [ 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], ], ], 'PrefixListIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixListId', 'locationName' => 'item', ], ], 'PrefixListIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'PrefixListSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixList', 'locationName' => 'item', ], ], 'PriceSchedule' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Active' => [ 'shape' => 'Boolean', 'locationName' => 'active', ], ], ], 'PriceScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceSchedule', 'locationName' => 'item', ], ], 'PriceScheduleSpecification' => [ 'type' => 'structure', 'members' => [ 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'PriceScheduleSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceScheduleSpecification', 'locationName' => 'item', ], ], 'PricingDetail' => [ 'type' => 'structure', 'members' => [ 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], ], ], 'PricingDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PricingDetail', 'locationName' => 'item', ], ], 'PrivateIpAddressConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesPrivateIpAddressConfig', 'locationName' => 'PrivateIpAddressConfigSet', ], ], 'PrivateIpAddressSpecification' => [ 'type' => 'structure', 'required' => [ 'PrivateIpAddress', ], 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], ], ], 'PrivateIpAddressSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIpAddressSpecification', 'locationName' => 'item', ], ], 'PrivateIpAddressStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PrivateIpAddress', ], ], 'ProductCode' => [ 'type' => 'structure', 'members' => [ 'ProductCodeId' => [ 'shape' => 'String', 'locationName' => 'productCode', ], 'ProductCodeType' => [ 'shape' => 'ProductCodeValues', 'locationName' => 'type', ], ], ], 'ProductCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductCode', 'locationName' => 'item', ], ], 'ProductCodeStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ProductCode', ], ], 'ProductCodeValues' => [ 'type' => 'string', 'enum' => [ 'devpay', 'marketplace', ], ], 'ProductDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PropagatingVgw' => [ 'type' => 'structure', 'members' => [ 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], ], ], 'PropagatingVgwList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropagatingVgw', 'locationName' => 'item', ], ], 'ProvisionedBandwidth' => [ 'type' => 'structure', 'members' => [ 'Provisioned' => [ 'shape' => 'String', 'locationName' => 'provisioned', ], 'Requested' => [ 'shape' => 'String', 'locationName' => 'requested', ], 'RequestTime' => [ 'shape' => 'DateTime', 'locationName' => 'requestTime', ], 'ProvisionTime' => [ 'shape' => 'DateTime', 'locationName' => 'provisionTime', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'PublicIpStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PublicIp', ], ], 'Purchase' => [ 'type' => 'structure', 'members' => [ 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], ], ], 'PurchaseHostReservationRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', 'HostIdSet', ], 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], 'LimitPrice' => [ 'shape' => 'String', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'PurchaseHostReservationResult' => [ 'type' => 'structure', 'members' => [ 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'PurchaseRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseToken', 'InstanceCount', ], 'members' => [ 'PurchaseToken' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], ], ], 'PurchaseRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PurchaseRequest', 'locationName' => 'PurchaseRequest', ], 'min' => 1, ], 'PurchaseReservedInstancesOfferingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesOfferingId', 'InstanceCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReservedInstancesOfferingId' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'LimitPrice' => [ 'shape' => 'ReservedInstanceLimitPrice', 'locationName' => 'limitPrice', ], ], ], 'PurchaseReservedInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'PurchaseScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseRequests', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'PurchaseRequests' => [ 'shape' => 'PurchaseRequestSet', 'locationName' => 'PurchaseRequest', ], ], ], 'PurchaseScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceSet' => [ 'shape' => 'PurchasedScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'PurchaseSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Purchase', ], ], 'PurchasedScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'RIProductDescription' => [ 'type' => 'string', 'enum' => [ 'Linux/UNIX', 'Linux/UNIX (Amazon VPC)', 'Windows', 'Windows (Amazon VPC)', ], ], 'ReasonCodesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReportInstanceReasonCodes', 'locationName' => 'item', ], ], 'RebootInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'RecurringChargeFrequency', 'locationName' => 'frequency', ], 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], ], ], 'RecurringChargeFrequency' => [ 'type' => 'string', 'enum' => [ 'Hourly', ], ], 'RecurringChargesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'item', ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'Endpoint' => [ 'shape' => 'String', 'locationName' => 'regionEndpoint', ], ], ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', 'locationName' => 'item', ], ], 'RegionNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'RegionName', ], ], 'RegisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageLocation' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'VirtualizationType' => [ 'shape' => 'String', 'locationName' => 'virtualizationType', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], ], ], 'RegisterImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'RejectVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'RejectVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ReleaseAddressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllocationId' => [ 'shape' => 'String', ], ], ], 'ReleaseHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], ], ], 'ReleaseHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ReplaceNetworkAclAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'ReplaceNetworkAclAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReplaceNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', 'RuleNumber', 'Protocol', 'RuleAction', 'Egress', 'CidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], ], ], 'ReplaceRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'ReplaceRouteTableAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'ReplaceRouteTableAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReportInstanceReasonCodes' => [ 'type' => 'string', 'enum' => [ 'instance-stuck-in-state', 'unresponsive', 'not-accepting-credentials', 'password-not-available', 'performance-network', 'performance-instance-store', 'performance-ebs-volume', 'performance-other', 'other', ], ], 'ReportInstanceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Instances', 'Status', 'ReasonCodes', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Instances' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'instanceId', ], 'Status' => [ 'shape' => 'ReportStatusType', 'locationName' => 'status', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'ReasonCodes' => [ 'shape' => 'ReasonCodesList', 'locationName' => 'reasonCode', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ReportStatusType' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', ], ], 'RequestHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestSpotFleetRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfig', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], ], ], 'RequestSpotFleetResponse' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'RequestSpotInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'LaunchSpecification' => [ 'shape' => 'RequestSpotLaunchSpecification', ], ], ], 'RequestSpotInstancesResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'RequestSpotLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroup', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroupId', ], ], ], 'Reservation' => [ 'type' => 'structure', 'members' => [ 'ReservationId' => [ 'shape' => 'String', 'locationName' => 'reservationId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Instances' => [ 'shape' => 'InstanceList', 'locationName' => 'instancesSet', ], ], ], 'ReservationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reservation', 'locationName' => 'item', ], ], 'ReservationState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'payment-failed', 'active', 'retired', ], ], 'ReservationValue' => [ 'type' => 'structure', 'members' => [ 'RemainingTotalValue' => [ 'shape' => 'String', 'locationName' => 'remainingTotalValue', ], 'RemainingUpfrontValue' => [ 'shape' => 'String', 'locationName' => 'remainingUpfrontValue', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], ], ], 'ReservedInstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstanceId', ], ], 'ReservedInstanceLimitPrice' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'ReservedInstanceReservationValue' => [ 'type' => 'structure', 'members' => [ 'ReservedInstanceId' => [ 'shape' => 'String', 'locationName' => 'reservedInstanceId', ], 'ReservationValue' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservationValue', ], ], ], 'ReservedInstanceReservationValueSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstanceReservationValue', 'locationName' => 'item', ], ], 'ReservedInstanceState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'active', 'payment-failed', 'retired', ], ], 'ReservedInstances' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'State' => [ 'shape' => 'ReservedInstanceState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', 'locationName' => 'offeringClass', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], ], ], 'ReservedInstancesConfiguration' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], ], ], 'ReservedInstancesConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'item', ], ], 'ReservedInstancesId' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'ReservedInstancesIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesId', ], ], 'ReservedInstancesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstances', 'locationName' => 'item', ], ], 'ReservedInstancesListing' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'Status' => [ 'shape' => 'ListingStatus', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'InstanceCounts' => [ 'shape' => 'InstanceCountList', 'locationName' => 'instanceCounts', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleList', 'locationName' => 'priceSchedules', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesListingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesListing', 'locationName' => 'item', ], ], 'ReservedInstancesModification' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedIntancesIds', 'locationName' => 'reservedInstancesSet', ], 'ModificationResults' => [ 'shape' => 'ReservedInstancesModificationResultList', 'locationName' => 'modificationResultSet', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], 'EffectiveDate' => [ 'shape' => 'DateTime', 'locationName' => 'effectiveDate', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'ReservedInstancesModificationIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesModificationId', ], ], 'ReservedInstancesModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModification', 'locationName' => 'item', ], ], 'ReservedInstancesModificationResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'TargetConfiguration' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'targetConfiguration', ], ], ], 'ReservedInstancesModificationResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModificationResult', 'locationName' => 'item', ], ], 'ReservedInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesOfferingId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'Marketplace' => [ 'shape' => 'Boolean', 'locationName' => 'marketplace', ], 'PricingDetails' => [ 'shape' => 'PricingDetailsList', 'locationName' => 'pricingDetailsSet', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', 'locationName' => 'offeringClass', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], ], ], 'ReservedInstancesOfferingIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReservedInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesOffering', 'locationName' => 'item', ], ], 'ReservedIntancesIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesId', 'locationName' => 'item', ], ], 'ResetImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'launchPermission', ], ], 'ResetImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ResetImageAttributeName', ], ], ], 'ResetInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], ], ], 'ResetNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'String', 'locationName' => 'sourceDestCheck', ], ], ], 'ResetSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], ], ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'customer-gateway', 'dhcp-options', 'image', 'instance', 'internet-gateway', 'network-acl', 'network-interface', 'reserved-instances', 'route-table', 'snapshot', 'spot-instances-request', 'subnet', 'security-group', 'volume', 'vpc', 'vpn-connection', 'vpn-gateway', ], ], 'ResponseHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ResponseHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RestorableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RestoreAddressToClassicRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RestoreAddressToClassicResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RevokeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], ], ], 'RevokeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', ], 'GroupId' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'IpProtocol' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'ToPort' => [ 'shape' => 'Integer', ], 'CidrIp' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'Route' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationPrefixListId' => [ 'shape' => 'String', 'locationName' => 'destinationPrefixListId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'State' => [ 'shape' => 'RouteState', 'locationName' => 'state', ], 'Origin' => [ 'shape' => 'RouteOrigin', 'locationName' => 'origin', ], ], ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Route', 'locationName' => 'item', ], ], 'RouteOrigin' => [ 'type' => 'string', 'enum' => [ 'CreateRouteTable', 'CreateRoute', 'EnableVgwRoutePropagation', ], ], 'RouteState' => [ 'type' => 'string', 'enum' => [ 'active', 'blackhole', ], ], 'RouteTable' => [ 'type' => 'structure', 'members' => [ 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Routes' => [ 'shape' => 'RouteList', 'locationName' => 'routeSet', ], 'Associations' => [ 'shape' => 'RouteTableAssociationList', 'locationName' => 'associationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PropagatingVgws' => [ 'shape' => 'PropagatingVgwList', 'locationName' => 'propagatingVgwSet', ], ], ], 'RouteTableAssociation' => [ 'type' => 'structure', 'members' => [ 'RouteTableAssociationId' => [ 'shape' => 'String', 'locationName' => 'routeTableAssociationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Main' => [ 'shape' => 'Boolean', 'locationName' => 'main', ], ], ], 'RouteTableAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTableAssociation', 'locationName' => 'item', ], ], 'RouteTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTable', 'locationName' => 'item', ], ], 'RuleAction' => [ 'type' => 'string', 'enum' => [ 'allow', 'deny', ], ], 'RunInstancesMonitoringEnabled' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'RunInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', 'MinCount', 'MaxCount', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ImageId' => [ 'shape' => 'String', ], 'MinCount' => [ 'shape' => 'Integer', ], 'MaxCount' => [ 'shape' => 'Integer', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'Placement' => [ 'shape' => 'Placement', ], 'KernelId' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', ], 'SubnetId' => [ 'shape' => 'String', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], ], ], 'RunScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ScheduledInstanceId', 'LaunchSpecification', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'ScheduledInstanceId' => [ 'shape' => 'String', ], 'LaunchSpecification' => [ 'shape' => 'ScheduledInstancesLaunchSpecification', ], ], ], 'RunScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceIdSet' => [ 'shape' => 'InstanceIdSet', 'locationName' => 'instanceIdSet', ], ], ], 'S3Storage' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'AWSAccessKeyId' => [ 'shape' => 'String', ], 'UploadPolicy' => [ 'shape' => 'Blob', 'locationName' => 'uploadPolicy', ], 'UploadPolicySignature' => [ 'shape' => 'String', 'locationName' => 'uploadPolicySignature', ], ], ], 'ScheduledInstance' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceId' => [ 'shape' => 'String', 'locationName' => 'scheduledInstanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'PreviousSlotEndTime' => [ 'shape' => 'DateTime', 'locationName' => 'previousSlotEndTime', ], 'NextSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'nextSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'TermStartDate' => [ 'shape' => 'DateTime', 'locationName' => 'termStartDate', ], 'TermEndDate' => [ 'shape' => 'DateTime', 'locationName' => 'termEndDate', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], ], ], 'ScheduledInstanceAvailability' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'PurchaseToken' => [ 'shape' => 'String', 'locationName' => 'purchaseToken', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'FirstSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'firstSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], 'AvailableInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'availableInstanceCount', ], 'MinTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'minTermDurationInDays', ], 'MaxTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'maxTermDurationInDays', ], ], ], 'ScheduledInstanceAvailabilitySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstanceAvailability', 'locationName' => 'item', ], ], 'ScheduledInstanceIdRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ScheduledInstanceId', ], ], 'ScheduledInstanceRecurrence' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', 'locationName' => 'frequency', ], 'Interval' => [ 'shape' => 'Integer', 'locationName' => 'interval', ], 'OccurrenceDaySet' => [ 'shape' => 'OccurrenceDaySet', 'locationName' => 'occurrenceDaySet', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', 'locationName' => 'occurrenceRelativeToEnd', ], 'OccurrenceUnit' => [ 'shape' => 'String', 'locationName' => 'occurrenceUnit', ], ], ], 'ScheduledInstanceRecurrenceRequest' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', ], 'Interval' => [ 'shape' => 'Integer', ], 'OccurrenceDays' => [ 'shape' => 'OccurrenceDayRequestSet', 'locationName' => 'OccurrenceDay', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', ], 'OccurrenceUnit' => [ 'shape' => 'String', ], ], ], 'ScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'ScheduledInstancesBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'NoDevice' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'ScheduledInstancesEbs', ], ], ], 'ScheduledInstancesBlockDeviceMappingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesBlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'ScheduledInstancesEbs' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesIamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesLaunchSpecification' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'ImageId' => [ 'shape' => 'String', ], 'KeyName' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'SecurityGroupId', ], 'UserData' => [ 'shape' => 'String', ], 'Placement' => [ 'shape' => 'ScheduledInstancesPlacement', ], 'KernelId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'RamdiskId' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'ScheduledInstancesBlockDeviceMappingSet', 'locationName' => 'BlockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'ScheduledInstancesMonitoring', ], 'SubnetId' => [ 'shape' => 'String', ], 'NetworkInterfaces' => [ 'shape' => 'ScheduledInstancesNetworkInterfaceSet', 'locationName' => 'NetworkInterface', ], 'IamInstanceProfile' => [ 'shape' => 'ScheduledInstancesIamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'DeviceIndex' => [ 'shape' => 'Integer', ], 'SubnetId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'PrivateIpAddressConfigs' => [ 'shape' => 'PrivateIpAddressConfigSet', 'locationName' => 'PrivateIpAddressConfig', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', ], 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'Groups' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'Group', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterfaceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesNetworkInterface', 'locationName' => 'NetworkInterface', ], ], 'ScheduledInstancesPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesPrivateIpAddressConfig' => [ 'type' => 'structure', 'members' => [ 'PrivateIpAddress' => [ 'shape' => 'String', ], 'Primary' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesSecurityGroupIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'groupDescription', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'IpPermissionsEgress' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissionsEgress', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SecurityGroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', 'locationName' => 'item', ], ], 'SecurityGroupReference' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'ReferencingVpcId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'ReferencingVpcId' => [ 'shape' => 'String', 'locationName' => 'referencingVpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'SecurityGroupReferences' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupReference', 'locationName' => 'item', ], ], 'SecurityGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroup', ], ], 'ShutdownBehavior' => [ 'type' => 'string', 'enum' => [ 'stop', 'terminate', ], ], 'SlotDateTimeRangeRequest' => [ 'type' => 'structure', 'required' => [ 'EarliestTime', 'LatestTime', ], 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'SlotStartTimeRangeRequest' => [ 'type' => 'structure', 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'State' => [ 'shape' => 'SnapshotState', 'locationName' => 'status', ], 'StateMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'OwnerAlias' => [ 'shape' => 'String', 'locationName' => 'ownerAlias', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'DataEncryptionKeyId' => [ 'shape' => 'String', 'locationName' => 'dataEncryptionKeyId', ], ], ], 'SnapshotAttributeName' => [ 'type' => 'string', 'enum' => [ 'productCodes', 'createVolumePermission', ], ], 'SnapshotDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SnapshotDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotDetail', 'locationName' => 'item', ], ], 'SnapshotDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], ], ], 'SnapshotIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SnapshotId', ], ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'item', ], ], 'SnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'completed', 'error', ], ], 'SnapshotTaskDetail' => [ 'type' => 'structure', 'members' => [ 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'SpotDatafeedSubscription' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'State' => [ 'shape' => 'DatafeedSubscriptionState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], ], ], 'SpotFleetLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'Monitoring' => [ 'shape' => 'SpotFleetMonitoring', 'locationName' => 'monitoring', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], ], ], 'SpotFleetMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'SpotFleetRequestConfig' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'SpotFleetRequestState', 'SpotFleetRequestConfig', 'CreateTime', ], 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'SpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'spotFleetRequestState', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'ActivityStatus' => [ 'shape' => 'ActivityStatus', 'locationName' => 'activityStatus', ], ], ], 'SpotFleetRequestConfigData' => [ 'type' => 'structure', 'required' => [ 'SpotPrice', 'TargetCapacity', 'IamFleetRole', 'LaunchSpecifications', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstancesWithExpiration', ], 'IamFleetRole' => [ 'shape' => 'String', 'locationName' => 'iamFleetRole', ], 'LaunchSpecifications' => [ 'shape' => 'LaunchSpecsList', 'locationName' => 'launchSpecifications', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'AllocationStrategy' => [ 'shape' => 'AllocationStrategy', 'locationName' => 'allocationStrategy', ], 'FulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledCapacity', ], 'Type' => [ 'shape' => 'FleetType', 'locationName' => 'type', ], ], ], 'SpotFleetRequestConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetRequestConfig', 'locationName' => 'item', ], ], 'SpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'State' => [ 'shape' => 'SpotInstanceState', 'locationName' => 'state', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], 'Status' => [ 'shape' => 'SpotInstanceStatus', 'locationName' => 'status', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'LaunchSpecification' => [ 'shape' => 'LaunchSpecification', 'locationName' => 'launchSpecification', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'ActualBlockHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'actualBlockHourlyPrice', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'LaunchedAvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'launchedAvailabilityZone', ], ], ], 'SpotInstanceRequestIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SpotInstanceRequestId', ], ], 'SpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotInstanceRequest', 'locationName' => 'item', ], ], 'SpotInstanceState' => [ 'type' => 'string', 'enum' => [ 'open', 'active', 'closed', 'cancelled', 'failed', ], ], 'SpotInstanceStateFault' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceType' => [ 'type' => 'string', 'enum' => [ 'one-time', 'persistent', ], ], 'SpotPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'SpotPrice' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], ], ], 'SpotPriceHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotPrice', 'locationName' => 'item', ], ], 'StaleIpPermission' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'IpRanges' => [ 'shape' => 'IpRanges', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdSet', 'locationName' => 'prefixListIds', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairSet', 'locationName' => 'groups', ], ], ], 'StaleIpPermissionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleIpPermission', 'locationName' => 'item', ], ], 'StaleSecurityGroup' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'StaleIpPermissions' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissions', ], 'StaleIpPermissionsEgress' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissionsEgress', ], ], ], 'StaleSecurityGroupSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleSecurityGroup', 'locationName' => 'item', ], ], 'StartInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'StartInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StartingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'State' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Available', 'Deleting', 'Deleted', ], ], 'StateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'MoveInProgress', 'InVpc', 'InClassic', ], ], 'StatusName' => [ 'type' => 'string', 'enum' => [ 'reachability', ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'passed', 'failed', 'insufficient-data', 'initializing', ], ], 'StopInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'StopInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StoppingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'Storage' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Storage', ], ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'State' => [ 'shape' => 'SubnetState', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'AvailableIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'availableIpAddressCount', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'DefaultForAz' => [ 'shape' => 'Boolean', 'locationName' => 'defaultForAz', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'Boolean', 'locationName' => 'mapPublicIpOnLaunch', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SubnetIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetId', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'item', ], ], 'SubnetState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'SummaryStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', 'not-applicable', 'initializing', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', 'locationName' => 'item', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'item', ], ], 'TargetConfiguration' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], ], ], 'TargetConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', ], 'members' => [ 'OfferingId' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], ], ], 'TargetConfigurationRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetConfigurationRequest', 'locationName' => 'TargetConfigurationRequest', ], ], 'TargetReservationValue' => [ 'type' => 'structure', 'members' => [ 'TargetConfiguration' => [ 'shape' => 'TargetConfiguration', 'locationName' => 'targetConfiguration', ], 'ReservationValue' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservationValue', ], ], ], 'TargetReservationValueSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetReservationValue', 'locationName' => 'item', ], ], 'TelemetryStatus' => [ 'type' => 'string', 'enum' => [ 'UP', 'DOWN', ], ], 'Tenancy' => [ 'type' => 'string', 'enum' => [ 'default', 'dedicated', 'host', ], ], 'TerminateInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'TerminateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'TerminatingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'TrafficType' => [ 'type' => 'string', 'enum' => [ 'ACCEPT', 'REJECT', 'ALL', ], ], 'UnassignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'PrivateIpAddresses', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], ], ], 'UnmonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], ], ], 'UnmonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'UnsuccessfulItem' => [ 'type' => 'structure', 'required' => [ 'Error', ], 'members' => [ 'Error' => [ 'shape' => 'UnsuccessfulItemError', 'locationName' => 'error', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], ], ], 'UnsuccessfulItemError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'UnsuccessfulItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UnsuccessfulItemSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UserBucket' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', ], 'S3Key' => [ 'shape' => 'String', ], ], ], 'UserBucketDetails' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'UserData' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'String', 'locationName' => 'data', ], ], ], 'UserGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserGroup', ], ], 'UserIdGroupPair' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], 'PeeringStatus' => [ 'shape' => 'String', 'locationName' => 'peeringStatus', ], ], ], 'UserIdGroupPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdGroupPairSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserId', ], ], 'ValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'VgwTelemetry' => [ 'type' => 'structure', 'members' => [ 'OutsideIpAddress' => [ 'shape' => 'String', 'locationName' => 'outsideIpAddress', ], 'Status' => [ 'shape' => 'TelemetryStatus', 'locationName' => 'status', ], 'LastStatusChange' => [ 'shape' => 'DateTime', 'locationName' => 'lastStatusChange', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'AcceptedRouteCount' => [ 'shape' => 'Integer', 'locationName' => 'acceptedRouteCount', ], ], ], 'VgwTelemetryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VgwTelemetry', 'locationName' => 'item', ], ], 'VirtualizationType' => [ 'type' => 'string', 'enum' => [ 'hvm', 'paravirtual', ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Size' => [ 'shape' => 'Integer', 'locationName' => 'size', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'State' => [ 'shape' => 'VolumeState', 'locationName' => 'status', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'Attachments' => [ 'shape' => 'VolumeAttachmentList', 'locationName' => 'attachmentSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], ], ], 'VolumeAttachment' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Device' => [ 'shape' => 'String', 'locationName' => 'device', ], 'State' => [ 'shape' => 'VolumeAttachmentState', 'locationName' => 'status', ], 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'VolumeAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeAttachment', 'locationName' => 'item', ], ], 'VolumeAttachmentState' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'VolumeAttributeName' => [ 'type' => 'string', 'enum' => [ 'autoEnableIO', 'productCodes', ], ], 'VolumeDetail' => [ 'type' => 'structure', 'required' => [ 'Size', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'VolumeIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VolumeId', ], ], 'VolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', 'locationName' => 'item', ], ], 'VolumeState' => [ 'type' => 'string', 'enum' => [ 'creating', 'available', 'in-use', 'deleting', 'deleted', 'error', ], ], 'VolumeStatusAction' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusAction', 'locationName' => 'item', ], ], 'VolumeStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'VolumeStatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'VolumeStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusDetails', 'locationName' => 'item', ], ], 'VolumeStatusEvent' => [ 'type' => 'structure', 'members' => [ 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], ], ], 'VolumeStatusEventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusEvent', 'locationName' => 'item', ], ], 'VolumeStatusInfo' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'VolumeStatusInfoStatus', 'locationName' => 'status', ], 'Details' => [ 'shape' => 'VolumeStatusDetailsList', 'locationName' => 'details', ], ], ], 'VolumeStatusInfoStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', ], ], 'VolumeStatusItem' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatusInfo', 'locationName' => 'volumeStatus', ], 'Events' => [ 'shape' => 'VolumeStatusEventsList', 'locationName' => 'eventsSet', ], 'Actions' => [ 'shape' => 'VolumeStatusActionsList', 'locationName' => 'actionsSet', ], ], ], 'VolumeStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusItem', 'locationName' => 'item', ], ], 'VolumeStatusName' => [ 'type' => 'string', 'enum' => [ 'io-enabled', 'io-performance', ], ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'standard', 'io1', 'gp2', 'sc1', 'st1', ], ], 'Vpc' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'VpcState', 'locationName' => 'state', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'isDefault', ], ], ], 'VpcAttachment' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], ], ], 'VpcAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcAttachment', 'locationName' => 'item', ], ], 'VpcAttributeName' => [ 'type' => 'string', 'enum' => [ 'enableDnsSupport', 'enableDnsHostnames', ], ], 'VpcClassicLink' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ClassicLinkEnabled' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkEnabled', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpcClassicLinkIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcClassicLinkList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcClassicLink', 'locationName' => 'item', ], ], 'VpcEndpoint' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'State' => [ 'shape' => 'State', 'locationName' => 'state', ], 'PolicyDocument' => [ 'shape' => 'String', 'locationName' => 'policyDocument', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'routeTableIdSet', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', 'locationName' => 'creationTimestamp', ], ], ], 'VpcEndpointSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'item', ], ], 'VpcIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Vpc', 'locationName' => 'item', ], ], 'VpcPeeringConnection' => [ 'type' => 'structure', 'members' => [ 'AccepterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'accepterVpcInfo', ], 'ExpirationTime' => [ 'shape' => 'DateTime', 'locationName' => 'expirationTime', ], 'RequesterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'requesterVpcInfo', ], 'Status' => [ 'shape' => 'VpcPeeringConnectionStateReason', 'locationName' => 'status', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'VpcPeeringConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'item', ], ], 'VpcPeeringConnectionOptionsDescription' => [ 'type' => 'structure', 'members' => [ 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], ], ], 'VpcPeeringConnectionStateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'VpcPeeringConnectionStateReasonCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'VpcPeeringConnectionStateReasonCode' => [ 'type' => 'string', 'enum' => [ 'initiating-request', 'pending-acceptance', 'active', 'deleted', 'rejected', 'failed', 'expired', 'provisioning', 'deleting', ], ], 'VpcPeeringConnectionVpcInfo' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeeringOptions' => [ 'shape' => 'VpcPeeringConnectionOptionsDescription', 'locationName' => 'peeringOptions', ], ], ], 'VpcState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'VpnConnection' => [ 'type' => 'structure', 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpnConnectionId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'CustomerGatewayConfiguration' => [ 'shape' => 'String', 'locationName' => 'customerGatewayConfiguration', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VgwTelemetry' => [ 'shape' => 'VgwTelemetryList', 'locationName' => 'vgwTelemetry', ], 'Options' => [ 'shape' => 'VpnConnectionOptions', 'locationName' => 'options', ], 'Routes' => [ 'shape' => 'VpnStaticRouteList', 'locationName' => 'routes', ], ], ], 'VpnConnectionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnConnectionId', ], ], 'VpnConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnConnection', 'locationName' => 'item', ], ], 'VpnConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnConnectionOptionsSpecification' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnGateway' => [ 'type' => 'structure', 'members' => [ 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'VpcAttachments' => [ 'shape' => 'VpcAttachmentList', 'locationName' => 'attachments', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpnGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnGatewayId', ], ], 'VpnGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnGateway', 'locationName' => 'item', ], ], 'VpnState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'VpnStaticRoute' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'Source' => [ 'shape' => 'VpnStaticRouteSource', 'locationName' => 'source', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], ], ], 'VpnStaticRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnStaticRoute', 'locationName' => 'item', ], ], 'VpnStaticRouteSource' => [ 'type' => 'string', 'enum' => [ 'Static', ], ], 'ZoneNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneName', ], ], 'scope' => [ 'type' => 'string', 'enum' => [ 'Availability Zone', 'Region', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-09-15/paginators-1.json.php b/lib/aws/Aws/data/ec2/2016-09-15/paginators-1.json.php new file mode 100644 index 0000000..af6864d --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-09-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-09-15/paginators-1.json +return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeRouteTables' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Snapshots', ], 'DescribeSpotInstanceRequests' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Tags', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Volumes', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-09-15/waiters-1.json.php b/lib/aws/Aws/data/ec2/2016-09-15/waiters-1.json.php new file mode 100644 index 0000000..392005f --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-09-15/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-09-15/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 15, 'max_attempts' => 40, 'acceptor_type' => 'output', ], '__InstanceState' => [ 'operation' => 'DescribeInstances', 'acceptor_path' => 'Reservations[].Instances[].State.Name', ], '__InstanceStatus' => [ 'operation' => 'DescribeInstanceStatus', 'success_value' => 'ok', ], 'SystemStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].SystemStatus.Status', ], 'InstanceStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].InstanceStatus.Status', ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'acceptor_path' => 'Images[].State', 'success_value' => 'available', 'failure_value' => [ 'failed', ], ], 'InstanceRunning' => [ 'extends' => '__InstanceState', 'success_value' => 'running', 'failure_value' => [ 'shutting-down', 'terminated', 'stopping', ], ], 'InstanceStopped' => [ 'extends' => '__InstanceState', 'success_value' => 'stopped', 'failure_value' => [ 'pending', 'terminated', ], ], 'InstanceTerminated' => [ 'extends' => '__InstanceState', 'success_value' => 'terminated', 'failure_value' => [ 'pending', 'stopping', ], ], '__ExportTaskState' => [ 'operation' => 'DescribeExportTasks', 'acceptor_path' => 'ExportTasks[].State', ], 'ExportTaskCompleted' => [ 'extends' => '__ExportTaskState', 'success_value' => 'completed', ], 'ExportTaskCancelled' => [ 'extends' => '__ExportTaskState', 'success_value' => 'cancelled', ], 'SnapshotCompleted' => [ 'operation' => 'DescribeSnapshots', 'success_path' => 'Snapshots[].State', 'success_value' => 'completed', ], 'SubnetAvailable' => [ 'operation' => 'DescribeSubnets', 'success_path' => 'Subnets[].State', 'success_value' => 'available', ], '__VolumeStatus' => [ 'operation' => 'DescribeVolumes', 'acceptor_path' => 'Volumes[].State', ], 'VolumeAvailable' => [ 'extends' => '__VolumeStatus', 'success_value' => 'available', 'failure_value' => [ 'deleted', ], ], 'VolumeInUse' => [ 'extends' => '__VolumeStatus', 'success_value' => 'in-use', 'failure_value' => [ 'deleted', ], ], 'VolumeDeleted' => [ 'extends' => '__VolumeStatus', 'success_type' => 'error', 'success_value' => 'InvalidVolume.NotFound', ], 'VpcAvailable' => [ 'operation' => 'DescribeVpcs', 'success_path' => 'Vpcs[].State', 'success_value' => 'available', ], '__VpnConnectionState' => [ 'operation' => 'DescribeVpnConnections', 'acceptor_path' => 'VpnConnections[].State', ], 'VpnConnectionAvailable' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'available', 'failure_value' => [ 'deleting', 'deleted', ], ], 'VpnConnectionDeleted' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'deleted', 'failure_value' => [ 'pending', ], ], 'BundleTaskComplete' => [ 'operation' => 'DescribeBundleTasks', 'acceptor_path' => 'BundleTasks[].State', 'success_value' => 'complete', 'failure_value' => [ 'failed', ], ], '__ConversionTaskState' => [ 'operation' => 'DescribeConversionTasks', 'acceptor_path' => 'ConversionTasks[].State', ], 'ConversionTaskCompleted' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'completed', 'failure_value' => [ 'cancelled', 'cancelling', ], ], 'ConversionTaskCancelled' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'cancelled', ], '__CustomerGatewayState' => [ 'operation' => 'DescribeCustomerGateways', 'acceptor_path' => 'CustomerGateways[].State', ], 'CustomerGatewayAvailable' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'available', 'failure_value' => [ 'deleted', 'deleting', ], ], 'ConversionTaskDeleted' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'deleted', ], '__SpotInstanceRequestState' => [ 'operation' => 'DescribeSpotInstanceRequests', 'acceptor_path' => 'SpotInstanceRequests[].Status.Code', ], 'SpotInstanceRequestFulfilled' => [ 'extends' => '__SpotInstanceRequestState', 'success_value' => 'fulfilled', 'failure_value' => [ 'schedule-expired', 'canceled-before-fulfillment', 'bad-parameters', 'system-error', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-09-15/waiters-2.json.php b/lib/aws/Aws/data/ec2/2016-09-15/waiters-2.json.php new file mode 100644 index 0000000..d1f9116 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-09-15/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-09-15/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceExists' => [ 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'DescribeInstances', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Reservations[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'BundleTaskComplete' => [ 'delay' => 15, 'operation' => 'DescribeBundleTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'complete', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'BundleTasks[].State', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'BundleTasks[].State', ], ], ], 'ConversionTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelled', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelling', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskDeleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'CustomerGatewayAvailable' => [ 'delay' => 15, 'operation' => 'DescribeCustomerGateways', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], ], ], 'ExportTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ExportTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ImageExists' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Images[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidAMIID.NotFound', 'state' => 'retry', ], ], ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Images[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Images[].State', 'expected' => 'failed', ], ], ], 'InstanceRunning' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'running', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'shutting-down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].InstanceStatus.Status', 'expected' => 'ok', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStopped' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'InstanceTerminated' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'terminated', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'KeyPairExists' => [ 'operation' => 'DescribeKeyPairs', 'delay' => 5, 'maxAttempts' => 6, 'acceptors' => [ [ 'expected' => true, 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'length(KeyPairs[].KeyName) > `0`', ], [ 'expected' => 'InvalidKeyPair.NotFound', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'NatGatewayAvailable' => [ 'operation' => 'DescribeNatGateways', 'delay' => 15, 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'NatGateways[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'failed', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleting', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleted', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'NatGatewayNotFound', ], ], ], 'NetworkInterfaceAvailable' => [ 'operation' => 'DescribeNetworkInterfaces', 'delay' => 20, 'maxAttempts' => 10, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'NetworkInterfaces[].Status', ], [ 'expected' => 'InvalidNetworkInterfaceID.NotFound', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'PasswordDataAvailable' => [ 'operation' => 'GetPasswordData', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'length(PasswordData) > `0`', 'expected' => true, ], ], ], 'SnapshotCompleted' => [ 'delay' => 15, 'operation' => 'DescribeSnapshots', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Snapshots[].State', ], ], ], 'SpotInstanceRequestFulfilled' => [ 'operation' => 'DescribeSpotInstanceRequests', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'fulfilled', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'schedule-expired', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'canceled-before-fulfillment', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'bad-parameters', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'system-error', ], ], ], 'SubnetAvailable' => [ 'delay' => 15, 'operation' => 'DescribeSubnets', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Subnets[].State', ], ], ], 'SystemStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].SystemStatus.Status', 'expected' => 'ok', ], ], ], 'VolumeAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VolumeDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'matcher' => 'error', 'expected' => 'InvalidVolume.NotFound', 'state' => 'success', ], ], ], 'VolumeInUse' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'in-use', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VpcAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpcs', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Vpcs[].State', ], ], ], 'VpcExists' => [ 'operation' => 'DescribeVpcs', 'delay' => 1, 'maxAttempts' => 5, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcID.NotFound', 'state' => 'retry', ], ], ], 'VpnConnectionAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpnConnectionDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpcPeeringConnectionExists' => [ 'delay' => 15, 'operation' => 'DescribeVpcPeeringConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcPeeringConnectionID.NotFound', 'state' => 'retry', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-11-15/api-2.json.php b/lib/aws/Aws/data/ec2/2016-11-15/api-2.json.php new file mode 100644 index 0000000..4bc0b1e --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-11-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-15', 'endpointPrefix' => 'ec2', 'protocol' => 'ec2', 'serviceAbbreviation' => 'Amazon EC2', 'serviceFullName' => 'Amazon Elastic Compute Cloud', 'serviceId' => 'EC2', 'signatureVersion' => 'v4', 'uid' => 'ec2-2016-11-15', 'xmlNamespace' => 'http://ec2.amazonaws.com/doc/2016-11-15', ], 'operations' => [ 'AcceptReservedInstancesExchangeQuote' => [ 'name' => 'AcceptReservedInstancesExchangeQuote', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptReservedInstancesExchangeQuoteRequest', ], 'output' => [ 'shape' => 'AcceptReservedInstancesExchangeQuoteResult', ], ], 'AcceptTransitGatewayVpcAttachment' => [ 'name' => 'AcceptTransitGatewayVpcAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptTransitGatewayVpcAttachmentRequest', ], 'output' => [ 'shape' => 'AcceptTransitGatewayVpcAttachmentResult', ], ], 'AcceptVpcEndpointConnections' => [ 'name' => 'AcceptVpcEndpointConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptVpcEndpointConnectionsRequest', ], 'output' => [ 'shape' => 'AcceptVpcEndpointConnectionsResult', ], ], 'AcceptVpcPeeringConnection' => [ 'name' => 'AcceptVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'AcceptVpcPeeringConnectionResult', ], ], 'AdvertiseByoipCidr' => [ 'name' => 'AdvertiseByoipCidr', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AdvertiseByoipCidrRequest', ], 'output' => [ 'shape' => 'AdvertiseByoipCidrResult', ], ], 'AllocateAddress' => [ 'name' => 'AllocateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateAddressRequest', ], 'output' => [ 'shape' => 'AllocateAddressResult', ], ], 'AllocateHosts' => [ 'name' => 'AllocateHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateHostsRequest', ], 'output' => [ 'shape' => 'AllocateHostsResult', ], ], 'ApplySecurityGroupsToClientVpnTargetNetwork' => [ 'name' => 'ApplySecurityGroupsToClientVpnTargetNetwork', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplySecurityGroupsToClientVpnTargetNetworkRequest', ], 'output' => [ 'shape' => 'ApplySecurityGroupsToClientVpnTargetNetworkResult', ], ], 'AssignIpv6Addresses' => [ 'name' => 'AssignIpv6Addresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignIpv6AddressesRequest', ], 'output' => [ 'shape' => 'AssignIpv6AddressesResult', ], ], 'AssignPrivateIpAddresses' => [ 'name' => 'AssignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignPrivateIpAddressesRequest', ], ], 'AssociateAddress' => [ 'name' => 'AssociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAddressRequest', ], 'output' => [ 'shape' => 'AssociateAddressResult', ], ], 'AssociateClientVpnTargetNetwork' => [ 'name' => 'AssociateClientVpnTargetNetwork', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateClientVpnTargetNetworkRequest', ], 'output' => [ 'shape' => 'AssociateClientVpnTargetNetworkResult', ], ], 'AssociateDhcpOptions' => [ 'name' => 'AssociateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDhcpOptionsRequest', ], ], 'AssociateIamInstanceProfile' => [ 'name' => 'AssociateIamInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateIamInstanceProfileRequest', ], 'output' => [ 'shape' => 'AssociateIamInstanceProfileResult', ], ], 'AssociateRouteTable' => [ 'name' => 'AssociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateRouteTableRequest', ], 'output' => [ 'shape' => 'AssociateRouteTableResult', ], ], 'AssociateSubnetCidrBlock' => [ 'name' => 'AssociateSubnetCidrBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSubnetCidrBlockRequest', ], 'output' => [ 'shape' => 'AssociateSubnetCidrBlockResult', ], ], 'AssociateTransitGatewayRouteTable' => [ 'name' => 'AssociateTransitGatewayRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateTransitGatewayRouteTableRequest', ], 'output' => [ 'shape' => 'AssociateTransitGatewayRouteTableResult', ], ], 'AssociateVpcCidrBlock' => [ 'name' => 'AssociateVpcCidrBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateVpcCidrBlockRequest', ], 'output' => [ 'shape' => 'AssociateVpcCidrBlockResult', ], ], 'AttachClassicLinkVpc' => [ 'name' => 'AttachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'AttachClassicLinkVpcResult', ], ], 'AttachInternetGateway' => [ 'name' => 'AttachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInternetGatewayRequest', ], ], 'AttachNetworkInterface' => [ 'name' => 'AttachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'AttachNetworkInterfaceResult', ], ], 'AttachVolume' => [ 'name' => 'AttachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'AttachVpnGateway' => [ 'name' => 'AttachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVpnGatewayRequest', ], 'output' => [ 'shape' => 'AttachVpnGatewayResult', ], ], 'AuthorizeClientVpnIngress' => [ 'name' => 'AuthorizeClientVpnIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeClientVpnIngressRequest', ], 'output' => [ 'shape' => 'AuthorizeClientVpnIngressResult', ], ], 'AuthorizeSecurityGroupEgress' => [ 'name' => 'AuthorizeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupEgressRequest', ], ], 'AuthorizeSecurityGroupIngress' => [ 'name' => 'AuthorizeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSecurityGroupIngressRequest', ], ], 'BundleInstance' => [ 'name' => 'BundleInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BundleInstanceRequest', ], 'output' => [ 'shape' => 'BundleInstanceResult', ], ], 'CancelBundleTask' => [ 'name' => 'CancelBundleTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelBundleTaskRequest', ], 'output' => [ 'shape' => 'CancelBundleTaskResult', ], ], 'CancelCapacityReservation' => [ 'name' => 'CancelCapacityReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelCapacityReservationRequest', ], 'output' => [ 'shape' => 'CancelCapacityReservationResult', ], ], 'CancelConversionTask' => [ 'name' => 'CancelConversionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelConversionRequest', ], ], 'CancelExportTask' => [ 'name' => 'CancelExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelExportTaskRequest', ], ], 'CancelImportTask' => [ 'name' => 'CancelImportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelImportTaskRequest', ], 'output' => [ 'shape' => 'CancelImportTaskResult', ], ], 'CancelReservedInstancesListing' => [ 'name' => 'CancelReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CancelReservedInstancesListingResult', ], ], 'CancelSpotFleetRequests' => [ 'name' => 'CancelSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotFleetRequestsResponse', ], ], 'CancelSpotInstanceRequests' => [ 'name' => 'CancelSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'CancelSpotInstanceRequestsResult', ], ], 'ConfirmProductInstance' => [ 'name' => 'ConfirmProductInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmProductInstanceRequest', ], 'output' => [ 'shape' => 'ConfirmProductInstanceResult', ], ], 'CopyFpgaImage' => [ 'name' => 'CopyFpgaImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyFpgaImageRequest', ], 'output' => [ 'shape' => 'CopyFpgaImageResult', ], ], 'CopyImage' => [ 'name' => 'CopyImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyImageRequest', ], 'output' => [ 'shape' => 'CopyImageResult', ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotRequest', ], 'output' => [ 'shape' => 'CopySnapshotResult', ], ], 'CreateCapacityReservation' => [ 'name' => 'CreateCapacityReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCapacityReservationRequest', ], 'output' => [ 'shape' => 'CreateCapacityReservationResult', ], ], 'CreateClientVpnEndpoint' => [ 'name' => 'CreateClientVpnEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClientVpnEndpointRequest', ], 'output' => [ 'shape' => 'CreateClientVpnEndpointResult', ], ], 'CreateClientVpnRoute' => [ 'name' => 'CreateClientVpnRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClientVpnRouteRequest', ], 'output' => [ 'shape' => 'CreateClientVpnRouteResult', ], ], 'CreateCustomerGateway' => [ 'name' => 'CreateCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomerGatewayRequest', ], 'output' => [ 'shape' => 'CreateCustomerGatewayResult', ], ], 'CreateDefaultSubnet' => [ 'name' => 'CreateDefaultSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDefaultSubnetRequest', ], 'output' => [ 'shape' => 'CreateDefaultSubnetResult', ], ], 'CreateDefaultVpc' => [ 'name' => 'CreateDefaultVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDefaultVpcRequest', ], 'output' => [ 'shape' => 'CreateDefaultVpcResult', ], ], 'CreateDhcpOptions' => [ 'name' => 'CreateDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDhcpOptionsRequest', ], 'output' => [ 'shape' => 'CreateDhcpOptionsResult', ], ], 'CreateEgressOnlyInternetGateway' => [ 'name' => 'CreateEgressOnlyInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEgressOnlyInternetGatewayRequest', ], 'output' => [ 'shape' => 'CreateEgressOnlyInternetGatewayResult', ], ], 'CreateFleet' => [ 'name' => 'CreateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFleetRequest', ], 'output' => [ 'shape' => 'CreateFleetResult', ], ], 'CreateFlowLogs' => [ 'name' => 'CreateFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFlowLogsRequest', ], 'output' => [ 'shape' => 'CreateFlowLogsResult', ], ], 'CreateFpgaImage' => [ 'name' => 'CreateFpgaImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFpgaImageRequest', ], 'output' => [ 'shape' => 'CreateFpgaImageResult', ], ], 'CreateImage' => [ 'name' => 'CreateImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateImageRequest', ], 'output' => [ 'shape' => 'CreateImageResult', ], ], 'CreateInstanceExportTask' => [ 'name' => 'CreateInstanceExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceExportTaskRequest', ], 'output' => [ 'shape' => 'CreateInstanceExportTaskResult', ], ], 'CreateInternetGateway' => [ 'name' => 'CreateInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInternetGatewayRequest', ], 'output' => [ 'shape' => 'CreateInternetGatewayResult', ], ], 'CreateKeyPair' => [ 'name' => 'CreateKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyPairRequest', ], 'output' => [ 'shape' => 'KeyPair', ], ], 'CreateLaunchTemplate' => [ 'name' => 'CreateLaunchTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLaunchTemplateRequest', ], 'output' => [ 'shape' => 'CreateLaunchTemplateResult', ], ], 'CreateLaunchTemplateVersion' => [ 'name' => 'CreateLaunchTemplateVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLaunchTemplateVersionRequest', ], 'output' => [ 'shape' => 'CreateLaunchTemplateVersionResult', ], ], 'CreateNatGateway' => [ 'name' => 'CreateNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNatGatewayRequest', ], 'output' => [ 'shape' => 'CreateNatGatewayResult', ], ], 'CreateNetworkAcl' => [ 'name' => 'CreateNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclRequest', ], 'output' => [ 'shape' => 'CreateNetworkAclResult', ], ], 'CreateNetworkAclEntry' => [ 'name' => 'CreateNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkAclEntryRequest', ], ], 'CreateNetworkInterface' => [ 'name' => 'CreateNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkInterfaceRequest', ], 'output' => [ 'shape' => 'CreateNetworkInterfaceResult', ], ], 'CreateNetworkInterfacePermission' => [ 'name' => 'CreateNetworkInterfacePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNetworkInterfacePermissionRequest', ], 'output' => [ 'shape' => 'CreateNetworkInterfacePermissionResult', ], ], 'CreatePlacementGroup' => [ 'name' => 'CreatePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlacementGroupRequest', ], ], 'CreateReservedInstancesListing' => [ 'name' => 'CreateReservedInstancesListing', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReservedInstancesListingRequest', ], 'output' => [ 'shape' => 'CreateReservedInstancesListingResult', ], ], 'CreateRoute' => [ 'name' => 'CreateRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteRequest', ], 'output' => [ 'shape' => 'CreateRouteResult', ], ], 'CreateRouteTable' => [ 'name' => 'CreateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRouteTableRequest', ], 'output' => [ 'shape' => 'CreateRouteTableResult', ], ], 'CreateSecurityGroup' => [ 'name' => 'CreateSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityGroupRequest', ], 'output' => [ 'shape' => 'CreateSecurityGroupResult', ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotRequest', ], 'output' => [ 'shape' => 'Snapshot', ], ], 'CreateSpotDatafeedSubscription' => [ 'name' => 'CreateSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateSpotDatafeedSubscriptionResult', ], ], 'CreateSubnet' => [ 'name' => 'CreateSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubnetRequest', ], 'output' => [ 'shape' => 'CreateSubnetResult', ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], ], 'CreateTransitGateway' => [ 'name' => 'CreateTransitGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTransitGatewayRequest', ], 'output' => [ 'shape' => 'CreateTransitGatewayResult', ], ], 'CreateTransitGatewayRoute' => [ 'name' => 'CreateTransitGatewayRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTransitGatewayRouteRequest', ], 'output' => [ 'shape' => 'CreateTransitGatewayRouteResult', ], ], 'CreateTransitGatewayRouteTable' => [ 'name' => 'CreateTransitGatewayRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTransitGatewayRouteTableRequest', ], 'output' => [ 'shape' => 'CreateTransitGatewayRouteTableResult', ], ], 'CreateTransitGatewayVpcAttachment' => [ 'name' => 'CreateTransitGatewayVpcAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTransitGatewayVpcAttachmentRequest', ], 'output' => [ 'shape' => 'CreateTransitGatewayVpcAttachmentResult', ], ], 'CreateVolume' => [ 'name' => 'CreateVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVolumeRequest', ], 'output' => [ 'shape' => 'Volume', ], ], 'CreateVpc' => [ 'name' => 'CreateVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcRequest', ], 'output' => [ 'shape' => 'CreateVpcResult', ], ], 'CreateVpcEndpoint' => [ 'name' => 'CreateVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointResult', ], ], 'CreateVpcEndpointConnectionNotification' => [ 'name' => 'CreateVpcEndpointConnectionNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointConnectionNotificationRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointConnectionNotificationResult', ], ], 'CreateVpcEndpointServiceConfiguration' => [ 'name' => 'CreateVpcEndpointServiceConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcEndpointServiceConfigurationRequest', ], 'output' => [ 'shape' => 'CreateVpcEndpointServiceConfigurationResult', ], ], 'CreateVpcPeeringConnection' => [ 'name' => 'CreateVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpcPeeringConnectionResult', ], ], 'CreateVpnConnection' => [ 'name' => 'CreateVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRequest', ], 'output' => [ 'shape' => 'CreateVpnConnectionResult', ], ], 'CreateVpnConnectionRoute' => [ 'name' => 'CreateVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnConnectionRouteRequest', ], ], 'CreateVpnGateway' => [ 'name' => 'CreateVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpnGatewayRequest', ], 'output' => [ 'shape' => 'CreateVpnGatewayResult', ], ], 'DeleteClientVpnEndpoint' => [ 'name' => 'DeleteClientVpnEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClientVpnEndpointRequest', ], 'output' => [ 'shape' => 'DeleteClientVpnEndpointResult', ], ], 'DeleteClientVpnRoute' => [ 'name' => 'DeleteClientVpnRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClientVpnRouteRequest', ], 'output' => [ 'shape' => 'DeleteClientVpnRouteResult', ], ], 'DeleteCustomerGateway' => [ 'name' => 'DeleteCustomerGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomerGatewayRequest', ], ], 'DeleteDhcpOptions' => [ 'name' => 'DeleteDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDhcpOptionsRequest', ], ], 'DeleteEgressOnlyInternetGateway' => [ 'name' => 'DeleteEgressOnlyInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEgressOnlyInternetGatewayRequest', ], 'output' => [ 'shape' => 'DeleteEgressOnlyInternetGatewayResult', ], ], 'DeleteFleets' => [ 'name' => 'DeleteFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFleetsRequest', ], 'output' => [ 'shape' => 'DeleteFleetsResult', ], ], 'DeleteFlowLogs' => [ 'name' => 'DeleteFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFlowLogsRequest', ], 'output' => [ 'shape' => 'DeleteFlowLogsResult', ], ], 'DeleteFpgaImage' => [ 'name' => 'DeleteFpgaImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFpgaImageRequest', ], 'output' => [ 'shape' => 'DeleteFpgaImageResult', ], ], 'DeleteInternetGateway' => [ 'name' => 'DeleteInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInternetGatewayRequest', ], ], 'DeleteKeyPair' => [ 'name' => 'DeleteKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKeyPairRequest', ], ], 'DeleteLaunchTemplate' => [ 'name' => 'DeleteLaunchTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLaunchTemplateRequest', ], 'output' => [ 'shape' => 'DeleteLaunchTemplateResult', ], ], 'DeleteLaunchTemplateVersions' => [ 'name' => 'DeleteLaunchTemplateVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLaunchTemplateVersionsRequest', ], 'output' => [ 'shape' => 'DeleteLaunchTemplateVersionsResult', ], ], 'DeleteNatGateway' => [ 'name' => 'DeleteNatGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNatGatewayRequest', ], 'output' => [ 'shape' => 'DeleteNatGatewayResult', ], ], 'DeleteNetworkAcl' => [ 'name' => 'DeleteNetworkAcl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclRequest', ], ], 'DeleteNetworkAclEntry' => [ 'name' => 'DeleteNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkAclEntryRequest', ], ], 'DeleteNetworkInterface' => [ 'name' => 'DeleteNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkInterfaceRequest', ], ], 'DeleteNetworkInterfacePermission' => [ 'name' => 'DeleteNetworkInterfacePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNetworkInterfacePermissionRequest', ], 'output' => [ 'shape' => 'DeleteNetworkInterfacePermissionResult', ], ], 'DeletePlacementGroup' => [ 'name' => 'DeletePlacementGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlacementGroupRequest', ], ], 'DeleteRoute' => [ 'name' => 'DeleteRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteRequest', ], ], 'DeleteRouteTable' => [ 'name' => 'DeleteRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRouteTableRequest', ], ], 'DeleteSecurityGroup' => [ 'name' => 'DeleteSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityGroupRequest', ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotRequest', ], ], 'DeleteSpotDatafeedSubscription' => [ 'name' => 'DeleteSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSpotDatafeedSubscriptionRequest', ], ], 'DeleteSubnet' => [ 'name' => 'DeleteSubnet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubnetRequest', ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], ], 'DeleteTransitGateway' => [ 'name' => 'DeleteTransitGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTransitGatewayRequest', ], 'output' => [ 'shape' => 'DeleteTransitGatewayResult', ], ], 'DeleteTransitGatewayRoute' => [ 'name' => 'DeleteTransitGatewayRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTransitGatewayRouteRequest', ], 'output' => [ 'shape' => 'DeleteTransitGatewayRouteResult', ], ], 'DeleteTransitGatewayRouteTable' => [ 'name' => 'DeleteTransitGatewayRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTransitGatewayRouteTableRequest', ], 'output' => [ 'shape' => 'DeleteTransitGatewayRouteTableResult', ], ], 'DeleteTransitGatewayVpcAttachment' => [ 'name' => 'DeleteTransitGatewayVpcAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTransitGatewayVpcAttachmentRequest', ], 'output' => [ 'shape' => 'DeleteTransitGatewayVpcAttachmentResult', ], ], 'DeleteVolume' => [ 'name' => 'DeleteVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVolumeRequest', ], ], 'DeleteVpc' => [ 'name' => 'DeleteVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcRequest', ], ], 'DeleteVpcEndpointConnectionNotifications' => [ 'name' => 'DeleteVpcEndpointConnectionNotifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointConnectionNotificationsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointConnectionNotificationsResult', ], ], 'DeleteVpcEndpointServiceConfigurations' => [ 'name' => 'DeleteVpcEndpointServiceConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointServiceConfigurationsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointServiceConfigurationsResult', ], ], 'DeleteVpcEndpoints' => [ 'name' => 'DeleteVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DeleteVpcEndpointsResult', ], ], 'DeleteVpcPeeringConnection' => [ 'name' => 'DeleteVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'DeleteVpcPeeringConnectionResult', ], ], 'DeleteVpnConnection' => [ 'name' => 'DeleteVpnConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRequest', ], ], 'DeleteVpnConnectionRoute' => [ 'name' => 'DeleteVpnConnectionRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnConnectionRouteRequest', ], ], 'DeleteVpnGateway' => [ 'name' => 'DeleteVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpnGatewayRequest', ], ], 'DeprovisionByoipCidr' => [ 'name' => 'DeprovisionByoipCidr', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeprovisionByoipCidrRequest', ], 'output' => [ 'shape' => 'DeprovisionByoipCidrResult', ], ], 'DeregisterImage' => [ 'name' => 'DeregisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterImageRequest', ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResult', ], ], 'DescribeAddresses' => [ 'name' => 'DescribeAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressesRequest', ], 'output' => [ 'shape' => 'DescribeAddressesResult', ], ], 'DescribeAggregateIdFormat' => [ 'name' => 'DescribeAggregateIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAggregateIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeAggregateIdFormatResult', ], ], 'DescribeAvailabilityZones' => [ 'name' => 'DescribeAvailabilityZones', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailabilityZonesRequest', ], 'output' => [ 'shape' => 'DescribeAvailabilityZonesResult', ], ], 'DescribeBundleTasks' => [ 'name' => 'DescribeBundleTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBundleTasksRequest', ], 'output' => [ 'shape' => 'DescribeBundleTasksResult', ], ], 'DescribeByoipCidrs' => [ 'name' => 'DescribeByoipCidrs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeByoipCidrsRequest', ], 'output' => [ 'shape' => 'DescribeByoipCidrsResult', ], ], 'DescribeCapacityReservations' => [ 'name' => 'DescribeCapacityReservations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCapacityReservationsRequest', ], 'output' => [ 'shape' => 'DescribeCapacityReservationsResult', ], ], 'DescribeClassicLinkInstances' => [ 'name' => 'DescribeClassicLinkInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClassicLinkInstancesRequest', ], 'output' => [ 'shape' => 'DescribeClassicLinkInstancesResult', ], ], 'DescribeClientVpnAuthorizationRules' => [ 'name' => 'DescribeClientVpnAuthorizationRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientVpnAuthorizationRulesRequest', ], 'output' => [ 'shape' => 'DescribeClientVpnAuthorizationRulesResult', ], ], 'DescribeClientVpnConnections' => [ 'name' => 'DescribeClientVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientVpnConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeClientVpnConnectionsResult', ], ], 'DescribeClientVpnEndpoints' => [ 'name' => 'DescribeClientVpnEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientVpnEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeClientVpnEndpointsResult', ], ], 'DescribeClientVpnRoutes' => [ 'name' => 'DescribeClientVpnRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientVpnRoutesRequest', ], 'output' => [ 'shape' => 'DescribeClientVpnRoutesResult', ], ], 'DescribeClientVpnTargetNetworks' => [ 'name' => 'DescribeClientVpnTargetNetworks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientVpnTargetNetworksRequest', ], 'output' => [ 'shape' => 'DescribeClientVpnTargetNetworksResult', ], ], 'DescribeConversionTasks' => [ 'name' => 'DescribeConversionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConversionTasksRequest', ], 'output' => [ 'shape' => 'DescribeConversionTasksResult', ], ], 'DescribeCustomerGateways' => [ 'name' => 'DescribeCustomerGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCustomerGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeCustomerGatewaysResult', ], ], 'DescribeDhcpOptions' => [ 'name' => 'DescribeDhcpOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDhcpOptionsRequest', ], 'output' => [ 'shape' => 'DescribeDhcpOptionsResult', ], ], 'DescribeEgressOnlyInternetGateways' => [ 'name' => 'DescribeEgressOnlyInternetGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEgressOnlyInternetGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeEgressOnlyInternetGatewaysResult', ], ], 'DescribeElasticGpus' => [ 'name' => 'DescribeElasticGpus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeElasticGpusRequest', ], 'output' => [ 'shape' => 'DescribeElasticGpusResult', ], ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResult', ], ], 'DescribeFleetHistory' => [ 'name' => 'DescribeFleetHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetHistoryRequest', ], 'output' => [ 'shape' => 'DescribeFleetHistoryResult', ], ], 'DescribeFleetInstances' => [ 'name' => 'DescribeFleetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetInstancesRequest', ], 'output' => [ 'shape' => 'DescribeFleetInstancesResult', ], ], 'DescribeFleets' => [ 'name' => 'DescribeFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetsRequest', ], 'output' => [ 'shape' => 'DescribeFleetsResult', ], ], 'DescribeFlowLogs' => [ 'name' => 'DescribeFlowLogs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFlowLogsRequest', ], 'output' => [ 'shape' => 'DescribeFlowLogsResult', ], ], 'DescribeFpgaImageAttribute' => [ 'name' => 'DescribeFpgaImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFpgaImageAttributeRequest', ], 'output' => [ 'shape' => 'DescribeFpgaImageAttributeResult', ], ], 'DescribeFpgaImages' => [ 'name' => 'DescribeFpgaImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFpgaImagesRequest', ], 'output' => [ 'shape' => 'DescribeFpgaImagesResult', ], ], 'DescribeHostReservationOfferings' => [ 'name' => 'DescribeHostReservationOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationOfferingsResult', ], ], 'DescribeHostReservations' => [ 'name' => 'DescribeHostReservations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostReservationsRequest', ], 'output' => [ 'shape' => 'DescribeHostReservationsResult', ], ], 'DescribeHosts' => [ 'name' => 'DescribeHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHostsRequest', ], 'output' => [ 'shape' => 'DescribeHostsResult', ], ], 'DescribeIamInstanceProfileAssociations' => [ 'name' => 'DescribeIamInstanceProfileAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIamInstanceProfileAssociationsRequest', ], 'output' => [ 'shape' => 'DescribeIamInstanceProfileAssociationsResult', ], ], 'DescribeIdFormat' => [ 'name' => 'DescribeIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdFormatResult', ], ], 'DescribeIdentityIdFormat' => [ 'name' => 'DescribeIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIdentityIdFormatRequest', ], 'output' => [ 'shape' => 'DescribeIdentityIdFormatResult', ], ], 'DescribeImageAttribute' => [ 'name' => 'DescribeImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImageAttributeRequest', ], 'output' => [ 'shape' => 'ImageAttribute', ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResult', ], ], 'DescribeImportImageTasks' => [ 'name' => 'DescribeImportImageTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportImageTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportImageTasksResult', ], ], 'DescribeImportSnapshotTasks' => [ 'name' => 'DescribeImportSnapshotTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImportSnapshotTasksRequest', ], 'output' => [ 'shape' => 'DescribeImportSnapshotTasksResult', ], ], 'DescribeInstanceAttribute' => [ 'name' => 'DescribeInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceAttributeRequest', ], 'output' => [ 'shape' => 'InstanceAttribute', ], ], 'DescribeInstanceCreditSpecifications' => [ 'name' => 'DescribeInstanceCreditSpecifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceCreditSpecificationsRequest', ], 'output' => [ 'shape' => 'DescribeInstanceCreditSpecificationsResult', ], ], 'DescribeInstanceStatus' => [ 'name' => 'DescribeInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceStatusRequest', ], 'output' => [ 'shape' => 'DescribeInstanceStatusResult', ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesRequest', ], 'output' => [ 'shape' => 'DescribeInstancesResult', ], ], 'DescribeInternetGateways' => [ 'name' => 'DescribeInternetGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInternetGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeInternetGatewaysResult', ], ], 'DescribeKeyPairs' => [ 'name' => 'DescribeKeyPairs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyPairsRequest', ], 'output' => [ 'shape' => 'DescribeKeyPairsResult', ], ], 'DescribeLaunchTemplateVersions' => [ 'name' => 'DescribeLaunchTemplateVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLaunchTemplateVersionsRequest', ], 'output' => [ 'shape' => 'DescribeLaunchTemplateVersionsResult', ], ], 'DescribeLaunchTemplates' => [ 'name' => 'DescribeLaunchTemplates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLaunchTemplatesRequest', ], 'output' => [ 'shape' => 'DescribeLaunchTemplatesResult', ], ], 'DescribeMovingAddresses' => [ 'name' => 'DescribeMovingAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMovingAddressesRequest', ], 'output' => [ 'shape' => 'DescribeMovingAddressesResult', ], ], 'DescribeNatGateways' => [ 'name' => 'DescribeNatGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNatGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeNatGatewaysResult', ], ], 'DescribeNetworkAcls' => [ 'name' => 'DescribeNetworkAcls', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkAclsRequest', ], 'output' => [ 'shape' => 'DescribeNetworkAclsResult', ], ], 'DescribeNetworkInterfaceAttribute' => [ 'name' => 'DescribeNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfaceAttributeRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfaceAttributeResult', ], ], 'DescribeNetworkInterfacePermissions' => [ 'name' => 'DescribeNetworkInterfacePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfacePermissionsRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfacePermissionsResult', ], ], 'DescribeNetworkInterfaces' => [ 'name' => 'DescribeNetworkInterfaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNetworkInterfacesRequest', ], 'output' => [ 'shape' => 'DescribeNetworkInterfacesResult', ], ], 'DescribePlacementGroups' => [ 'name' => 'DescribePlacementGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlacementGroupsRequest', ], 'output' => [ 'shape' => 'DescribePlacementGroupsResult', ], ], 'DescribePrefixLists' => [ 'name' => 'DescribePrefixLists', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePrefixListsRequest', ], 'output' => [ 'shape' => 'DescribePrefixListsResult', ], ], 'DescribePrincipalIdFormat' => [ 'name' => 'DescribePrincipalIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePrincipalIdFormatRequest', ], 'output' => [ 'shape' => 'DescribePrincipalIdFormatResult', ], ], 'DescribePublicIpv4Pools' => [ 'name' => 'DescribePublicIpv4Pools', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePublicIpv4PoolsRequest', ], 'output' => [ 'shape' => 'DescribePublicIpv4PoolsResult', ], ], 'DescribeRegions' => [ 'name' => 'DescribeRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRegionsRequest', ], 'output' => [ 'shape' => 'DescribeRegionsResult', ], ], 'DescribeReservedInstances' => [ 'name' => 'DescribeReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesResult', ], ], 'DescribeReservedInstancesListings' => [ 'name' => 'DescribeReservedInstancesListings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesListingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesListingsResult', ], ], 'DescribeReservedInstancesModifications' => [ 'name' => 'DescribeReservedInstancesModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesModificationsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesModificationsResult', ], ], 'DescribeReservedInstancesOfferings' => [ 'name' => 'DescribeReservedInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedInstancesOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedInstancesOfferingsResult', ], ], 'DescribeRouteTables' => [ 'name' => 'DescribeRouteTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRouteTablesRequest', ], 'output' => [ 'shape' => 'DescribeRouteTablesResult', ], ], 'DescribeScheduledInstanceAvailability' => [ 'name' => 'DescribeScheduledInstanceAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstanceAvailabilityResult', ], ], 'DescribeScheduledInstances' => [ 'name' => 'DescribeScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScheduledInstancesRequest', ], 'output' => [ 'shape' => 'DescribeScheduledInstancesResult', ], ], 'DescribeSecurityGroupReferences' => [ 'name' => 'DescribeSecurityGroupReferences', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupReferencesRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupReferencesResult', ], ], 'DescribeSecurityGroups' => [ 'name' => 'DescribeSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeSecurityGroupsResult', ], ], 'DescribeSnapshotAttribute' => [ 'name' => 'DescribeSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotAttributeRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotAttributeResult', ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsRequest', ], 'output' => [ 'shape' => 'DescribeSnapshotsResult', ], ], 'DescribeSpotDatafeedSubscription' => [ 'name' => 'DescribeSpotDatafeedSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionRequest', ], 'output' => [ 'shape' => 'DescribeSpotDatafeedSubscriptionResult', ], ], 'DescribeSpotFleetInstances' => [ 'name' => 'DescribeSpotFleetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetInstancesRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetInstancesResponse', ], ], 'DescribeSpotFleetRequestHistory' => [ 'name' => 'DescribeSpotFleetRequestHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestHistoryResponse', ], ], 'DescribeSpotFleetRequests' => [ 'name' => 'DescribeSpotFleetRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotFleetRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotFleetRequestsResponse', ], ], 'DescribeSpotInstanceRequests' => [ 'name' => 'DescribeSpotInstanceRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotInstanceRequestsRequest', ], 'output' => [ 'shape' => 'DescribeSpotInstanceRequestsResult', ], ], 'DescribeSpotPriceHistory' => [ 'name' => 'DescribeSpotPriceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSpotPriceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeSpotPriceHistoryResult', ], ], 'DescribeStaleSecurityGroups' => [ 'name' => 'DescribeStaleSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStaleSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeStaleSecurityGroupsResult', ], ], 'DescribeSubnets' => [ 'name' => 'DescribeSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubnetsRequest', ], 'output' => [ 'shape' => 'DescribeSubnetsResult', ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResult', ], ], 'DescribeTransitGatewayAttachments' => [ 'name' => 'DescribeTransitGatewayAttachments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTransitGatewayAttachmentsRequest', ], 'output' => [ 'shape' => 'DescribeTransitGatewayAttachmentsResult', ], ], 'DescribeTransitGatewayRouteTables' => [ 'name' => 'DescribeTransitGatewayRouteTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTransitGatewayRouteTablesRequest', ], 'output' => [ 'shape' => 'DescribeTransitGatewayRouteTablesResult', ], ], 'DescribeTransitGatewayVpcAttachments' => [ 'name' => 'DescribeTransitGatewayVpcAttachments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTransitGatewayVpcAttachmentsRequest', ], 'output' => [ 'shape' => 'DescribeTransitGatewayVpcAttachmentsResult', ], ], 'DescribeTransitGateways' => [ 'name' => 'DescribeTransitGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTransitGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeTransitGatewaysResult', ], ], 'DescribeVolumeAttribute' => [ 'name' => 'DescribeVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVolumeAttributeResult', ], ], 'DescribeVolumeStatus' => [ 'name' => 'DescribeVolumeStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumeStatusRequest', ], 'output' => [ 'shape' => 'DescribeVolumeStatusResult', ], ], 'DescribeVolumes' => [ 'name' => 'DescribeVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesRequest', ], 'output' => [ 'shape' => 'DescribeVolumesResult', ], ], 'DescribeVolumesModifications' => [ 'name' => 'DescribeVolumesModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesModificationsRequest', ], 'output' => [ 'shape' => 'DescribeVolumesModificationsResult', ], ], 'DescribeVpcAttribute' => [ 'name' => 'DescribeVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcAttributeRequest', ], 'output' => [ 'shape' => 'DescribeVpcAttributeResult', ], ], 'DescribeVpcClassicLink' => [ 'name' => 'DescribeVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkResult', ], ], 'DescribeVpcClassicLinkDnsSupport' => [ 'name' => 'DescribeVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DescribeVpcClassicLinkDnsSupportResult', ], ], 'DescribeVpcEndpointConnectionNotifications' => [ 'name' => 'DescribeVpcEndpointConnectionNotifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointConnectionNotificationsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointConnectionNotificationsResult', ], ], 'DescribeVpcEndpointConnections' => [ 'name' => 'DescribeVpcEndpointConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointConnectionsResult', ], ], 'DescribeVpcEndpointServiceConfigurations' => [ 'name' => 'DescribeVpcEndpointServiceConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServiceConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServiceConfigurationsResult', ], ], 'DescribeVpcEndpointServicePermissions' => [ 'name' => 'DescribeVpcEndpointServicePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServicePermissionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServicePermissionsResult', ], ], 'DescribeVpcEndpointServices' => [ 'name' => 'DescribeVpcEndpointServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointServicesRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointServicesResult', ], ], 'DescribeVpcEndpoints' => [ 'name' => 'DescribeVpcEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeVpcEndpointsResult', ], ], 'DescribeVpcPeeringConnections' => [ 'name' => 'DescribeVpcPeeringConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpcPeeringConnectionsResult', ], ], 'DescribeVpcs' => [ 'name' => 'DescribeVpcs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcsRequest', ], 'output' => [ 'shape' => 'DescribeVpcsResult', ], ], 'DescribeVpnConnections' => [ 'name' => 'DescribeVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnConnectionsRequest', ], 'output' => [ 'shape' => 'DescribeVpnConnectionsResult', ], ], 'DescribeVpnGateways' => [ 'name' => 'DescribeVpnGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpnGatewaysRequest', ], 'output' => [ 'shape' => 'DescribeVpnGatewaysResult', ], ], 'DetachClassicLinkVpc' => [ 'name' => 'DetachClassicLinkVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachClassicLinkVpcRequest', ], 'output' => [ 'shape' => 'DetachClassicLinkVpcResult', ], ], 'DetachInternetGateway' => [ 'name' => 'DetachInternetGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInternetGatewayRequest', ], ], 'DetachNetworkInterface' => [ 'name' => 'DetachNetworkInterface', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachNetworkInterfaceRequest', ], ], 'DetachVolume' => [ 'name' => 'DetachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVolumeRequest', ], 'output' => [ 'shape' => 'VolumeAttachment', ], ], 'DetachVpnGateway' => [ 'name' => 'DetachVpnGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVpnGatewayRequest', ], ], 'DisableTransitGatewayRouteTablePropagation' => [ 'name' => 'DisableTransitGatewayRouteTablePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableTransitGatewayRouteTablePropagationRequest', ], 'output' => [ 'shape' => 'DisableTransitGatewayRouteTablePropagationResult', ], ], 'DisableVgwRoutePropagation' => [ 'name' => 'DisableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVgwRoutePropagationRequest', ], ], 'DisableVpcClassicLink' => [ 'name' => 'DisableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkResult', ], ], 'DisableVpcClassicLinkDnsSupport' => [ 'name' => 'DisableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'DisableVpcClassicLinkDnsSupportResult', ], ], 'DisassociateAddress' => [ 'name' => 'DisassociateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAddressRequest', ], ], 'DisassociateClientVpnTargetNetwork' => [ 'name' => 'DisassociateClientVpnTargetNetwork', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateClientVpnTargetNetworkRequest', ], 'output' => [ 'shape' => 'DisassociateClientVpnTargetNetworkResult', ], ], 'DisassociateIamInstanceProfile' => [ 'name' => 'DisassociateIamInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateIamInstanceProfileRequest', ], 'output' => [ 'shape' => 'DisassociateIamInstanceProfileResult', ], ], 'DisassociateRouteTable' => [ 'name' => 'DisassociateRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateRouteTableRequest', ], ], 'DisassociateSubnetCidrBlock' => [ 'name' => 'DisassociateSubnetCidrBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateSubnetCidrBlockRequest', ], 'output' => [ 'shape' => 'DisassociateSubnetCidrBlockResult', ], ], 'DisassociateTransitGatewayRouteTable' => [ 'name' => 'DisassociateTransitGatewayRouteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateTransitGatewayRouteTableRequest', ], 'output' => [ 'shape' => 'DisassociateTransitGatewayRouteTableResult', ], ], 'DisassociateVpcCidrBlock' => [ 'name' => 'DisassociateVpcCidrBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateVpcCidrBlockRequest', ], 'output' => [ 'shape' => 'DisassociateVpcCidrBlockResult', ], ], 'EnableTransitGatewayRouteTablePropagation' => [ 'name' => 'EnableTransitGatewayRouteTablePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableTransitGatewayRouteTablePropagationRequest', ], 'output' => [ 'shape' => 'EnableTransitGatewayRouteTablePropagationResult', ], ], 'EnableVgwRoutePropagation' => [ 'name' => 'EnableVgwRoutePropagation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVgwRoutePropagationRequest', ], ], 'EnableVolumeIO' => [ 'name' => 'EnableVolumeIO', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVolumeIORequest', ], ], 'EnableVpcClassicLink' => [ 'name' => 'EnableVpcClassicLink', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkResult', ], ], 'EnableVpcClassicLinkDnsSupport' => [ 'name' => 'EnableVpcClassicLinkDnsSupport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportRequest', ], 'output' => [ 'shape' => 'EnableVpcClassicLinkDnsSupportResult', ], ], 'ExportClientVpnClientCertificateRevocationList' => [ 'name' => 'ExportClientVpnClientCertificateRevocationList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportClientVpnClientCertificateRevocationListRequest', ], 'output' => [ 'shape' => 'ExportClientVpnClientCertificateRevocationListResult', ], ], 'ExportClientVpnClientConfiguration' => [ 'name' => 'ExportClientVpnClientConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportClientVpnClientConfigurationRequest', ], 'output' => [ 'shape' => 'ExportClientVpnClientConfigurationResult', ], ], 'ExportTransitGatewayRoutes' => [ 'name' => 'ExportTransitGatewayRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportTransitGatewayRoutesRequest', ], 'output' => [ 'shape' => 'ExportTransitGatewayRoutesResult', ], ], 'GetConsoleOutput' => [ 'name' => 'GetConsoleOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleOutputRequest', ], 'output' => [ 'shape' => 'GetConsoleOutputResult', ], ], 'GetConsoleScreenshot' => [ 'name' => 'GetConsoleScreenshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConsoleScreenshotRequest', ], 'output' => [ 'shape' => 'GetConsoleScreenshotResult', ], ], 'GetHostReservationPurchasePreview' => [ 'name' => 'GetHostReservationPurchasePreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetHostReservationPurchasePreviewRequest', ], 'output' => [ 'shape' => 'GetHostReservationPurchasePreviewResult', ], ], 'GetLaunchTemplateData' => [ 'name' => 'GetLaunchTemplateData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLaunchTemplateDataRequest', ], 'output' => [ 'shape' => 'GetLaunchTemplateDataResult', ], ], 'GetPasswordData' => [ 'name' => 'GetPasswordData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPasswordDataRequest', ], 'output' => [ 'shape' => 'GetPasswordDataResult', ], ], 'GetReservedInstancesExchangeQuote' => [ 'name' => 'GetReservedInstancesExchangeQuote', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservedInstancesExchangeQuoteRequest', ], 'output' => [ 'shape' => 'GetReservedInstancesExchangeQuoteResult', ], ], 'GetTransitGatewayAttachmentPropagations' => [ 'name' => 'GetTransitGatewayAttachmentPropagations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTransitGatewayAttachmentPropagationsRequest', ], 'output' => [ 'shape' => 'GetTransitGatewayAttachmentPropagationsResult', ], ], 'GetTransitGatewayRouteTableAssociations' => [ 'name' => 'GetTransitGatewayRouteTableAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTransitGatewayRouteTableAssociationsRequest', ], 'output' => [ 'shape' => 'GetTransitGatewayRouteTableAssociationsResult', ], ], 'GetTransitGatewayRouteTablePropagations' => [ 'name' => 'GetTransitGatewayRouteTablePropagations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTransitGatewayRouteTablePropagationsRequest', ], 'output' => [ 'shape' => 'GetTransitGatewayRouteTablePropagationsResult', ], ], 'ImportClientVpnClientCertificateRevocationList' => [ 'name' => 'ImportClientVpnClientCertificateRevocationList', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportClientVpnClientCertificateRevocationListRequest', ], 'output' => [ 'shape' => 'ImportClientVpnClientCertificateRevocationListResult', ], ], 'ImportImage' => [ 'name' => 'ImportImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportImageRequest', ], 'output' => [ 'shape' => 'ImportImageResult', ], ], 'ImportInstance' => [ 'name' => 'ImportInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportInstanceRequest', ], 'output' => [ 'shape' => 'ImportInstanceResult', ], ], 'ImportKeyPair' => [ 'name' => 'ImportKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyPairRequest', ], 'output' => [ 'shape' => 'ImportKeyPairResult', ], ], 'ImportSnapshot' => [ 'name' => 'ImportSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSnapshotRequest', ], 'output' => [ 'shape' => 'ImportSnapshotResult', ], ], 'ImportVolume' => [ 'name' => 'ImportVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportVolumeRequest', ], 'output' => [ 'shape' => 'ImportVolumeResult', ], ], 'ModifyCapacityReservation' => [ 'name' => 'ModifyCapacityReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyCapacityReservationRequest', ], 'output' => [ 'shape' => 'ModifyCapacityReservationResult', ], ], 'ModifyClientVpnEndpoint' => [ 'name' => 'ModifyClientVpnEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClientVpnEndpointRequest', ], 'output' => [ 'shape' => 'ModifyClientVpnEndpointResult', ], ], 'ModifyFleet' => [ 'name' => 'ModifyFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyFleetRequest', ], 'output' => [ 'shape' => 'ModifyFleetResult', ], ], 'ModifyFpgaImageAttribute' => [ 'name' => 'ModifyFpgaImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyFpgaImageAttributeRequest', ], 'output' => [ 'shape' => 'ModifyFpgaImageAttributeResult', ], ], 'ModifyHosts' => [ 'name' => 'ModifyHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyHostsRequest', ], 'output' => [ 'shape' => 'ModifyHostsResult', ], ], 'ModifyIdFormat' => [ 'name' => 'ModifyIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdFormatRequest', ], ], 'ModifyIdentityIdFormat' => [ 'name' => 'ModifyIdentityIdFormat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyIdentityIdFormatRequest', ], ], 'ModifyImageAttribute' => [ 'name' => 'ModifyImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyImageAttributeRequest', ], ], 'ModifyInstanceAttribute' => [ 'name' => 'ModifyInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceAttributeRequest', ], ], 'ModifyInstanceCapacityReservationAttributes' => [ 'name' => 'ModifyInstanceCapacityReservationAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceCapacityReservationAttributesRequest', ], 'output' => [ 'shape' => 'ModifyInstanceCapacityReservationAttributesResult', ], ], 'ModifyInstanceCreditSpecification' => [ 'name' => 'ModifyInstanceCreditSpecification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceCreditSpecificationRequest', ], 'output' => [ 'shape' => 'ModifyInstanceCreditSpecificationResult', ], ], 'ModifyInstanceEventStartTime' => [ 'name' => 'ModifyInstanceEventStartTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceEventStartTimeRequest', ], 'output' => [ 'shape' => 'ModifyInstanceEventStartTimeResult', ], ], 'ModifyInstancePlacement' => [ 'name' => 'ModifyInstancePlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstancePlacementRequest', ], 'output' => [ 'shape' => 'ModifyInstancePlacementResult', ], ], 'ModifyLaunchTemplate' => [ 'name' => 'ModifyLaunchTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyLaunchTemplateRequest', ], 'output' => [ 'shape' => 'ModifyLaunchTemplateResult', ], ], 'ModifyNetworkInterfaceAttribute' => [ 'name' => 'ModifyNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyNetworkInterfaceAttributeRequest', ], ], 'ModifyReservedInstances' => [ 'name' => 'ModifyReservedInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReservedInstancesRequest', ], 'output' => [ 'shape' => 'ModifyReservedInstancesResult', ], ], 'ModifySnapshotAttribute' => [ 'name' => 'ModifySnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotAttributeRequest', ], ], 'ModifySpotFleetRequest' => [ 'name' => 'ModifySpotFleetRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySpotFleetRequestRequest', ], 'output' => [ 'shape' => 'ModifySpotFleetRequestResponse', ], ], 'ModifySubnetAttribute' => [ 'name' => 'ModifySubnetAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySubnetAttributeRequest', ], ], 'ModifyTransitGatewayVpcAttachment' => [ 'name' => 'ModifyTransitGatewayVpcAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyTransitGatewayVpcAttachmentRequest', ], 'output' => [ 'shape' => 'ModifyTransitGatewayVpcAttachmentResult', ], ], 'ModifyVolume' => [ 'name' => 'ModifyVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVolumeRequest', ], 'output' => [ 'shape' => 'ModifyVolumeResult', ], ], 'ModifyVolumeAttribute' => [ 'name' => 'ModifyVolumeAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVolumeAttributeRequest', ], ], 'ModifyVpcAttribute' => [ 'name' => 'ModifyVpcAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcAttributeRequest', ], ], 'ModifyVpcEndpoint' => [ 'name' => 'ModifyVpcEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointResult', ], ], 'ModifyVpcEndpointConnectionNotification' => [ 'name' => 'ModifyVpcEndpointConnectionNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointConnectionNotificationRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointConnectionNotificationResult', ], ], 'ModifyVpcEndpointServiceConfiguration' => [ 'name' => 'ModifyVpcEndpointServiceConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointServiceConfigurationRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointServiceConfigurationResult', ], ], 'ModifyVpcEndpointServicePermissions' => [ 'name' => 'ModifyVpcEndpointServicePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcEndpointServicePermissionsRequest', ], 'output' => [ 'shape' => 'ModifyVpcEndpointServicePermissionsResult', ], ], 'ModifyVpcPeeringConnectionOptions' => [ 'name' => 'ModifyVpcPeeringConnectionOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsRequest', ], 'output' => [ 'shape' => 'ModifyVpcPeeringConnectionOptionsResult', ], ], 'ModifyVpcTenancy' => [ 'name' => 'ModifyVpcTenancy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyVpcTenancyRequest', ], 'output' => [ 'shape' => 'ModifyVpcTenancyResult', ], ], 'MonitorInstances' => [ 'name' => 'MonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MonitorInstancesRequest', ], 'output' => [ 'shape' => 'MonitorInstancesResult', ], ], 'MoveAddressToVpc' => [ 'name' => 'MoveAddressToVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MoveAddressToVpcRequest', ], 'output' => [ 'shape' => 'MoveAddressToVpcResult', ], ], 'ProvisionByoipCidr' => [ 'name' => 'ProvisionByoipCidr', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ProvisionByoipCidrRequest', ], 'output' => [ 'shape' => 'ProvisionByoipCidrResult', ], ], 'PurchaseHostReservation' => [ 'name' => 'PurchaseHostReservation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseHostReservationRequest', ], 'output' => [ 'shape' => 'PurchaseHostReservationResult', ], ], 'PurchaseReservedInstancesOffering' => [ 'name' => 'PurchaseReservedInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedInstancesOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseReservedInstancesOfferingResult', ], ], 'PurchaseScheduledInstances' => [ 'name' => 'PurchaseScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseScheduledInstancesRequest', ], 'output' => [ 'shape' => 'PurchaseScheduledInstancesResult', ], ], 'RebootInstances' => [ 'name' => 'RebootInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstancesRequest', ], ], 'RegisterImage' => [ 'name' => 'RegisterImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterImageRequest', ], 'output' => [ 'shape' => 'RegisterImageResult', ], ], 'RejectTransitGatewayVpcAttachment' => [ 'name' => 'RejectTransitGatewayVpcAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectTransitGatewayVpcAttachmentRequest', ], 'output' => [ 'shape' => 'RejectTransitGatewayVpcAttachmentResult', ], ], 'RejectVpcEndpointConnections' => [ 'name' => 'RejectVpcEndpointConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectVpcEndpointConnectionsRequest', ], 'output' => [ 'shape' => 'RejectVpcEndpointConnectionsResult', ], ], 'RejectVpcPeeringConnection' => [ 'name' => 'RejectVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectVpcPeeringConnectionRequest', ], 'output' => [ 'shape' => 'RejectVpcPeeringConnectionResult', ], ], 'ReleaseAddress' => [ 'name' => 'ReleaseAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseAddressRequest', ], ], 'ReleaseHosts' => [ 'name' => 'ReleaseHosts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseHostsRequest', ], 'output' => [ 'shape' => 'ReleaseHostsResult', ], ], 'ReplaceIamInstanceProfileAssociation' => [ 'name' => 'ReplaceIamInstanceProfileAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceIamInstanceProfileAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceIamInstanceProfileAssociationResult', ], ], 'ReplaceNetworkAclAssociation' => [ 'name' => 'ReplaceNetworkAclAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceNetworkAclAssociationResult', ], ], 'ReplaceNetworkAclEntry' => [ 'name' => 'ReplaceNetworkAclEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceNetworkAclEntryRequest', ], ], 'ReplaceRoute' => [ 'name' => 'ReplaceRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteRequest', ], ], 'ReplaceRouteTableAssociation' => [ 'name' => 'ReplaceRouteTableAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceRouteTableAssociationRequest', ], 'output' => [ 'shape' => 'ReplaceRouteTableAssociationResult', ], ], 'ReplaceTransitGatewayRoute' => [ 'name' => 'ReplaceTransitGatewayRoute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReplaceTransitGatewayRouteRequest', ], 'output' => [ 'shape' => 'ReplaceTransitGatewayRouteResult', ], ], 'ReportInstanceStatus' => [ 'name' => 'ReportInstanceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReportInstanceStatusRequest', ], ], 'RequestSpotFleet' => [ 'name' => 'RequestSpotFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotFleetRequest', ], 'output' => [ 'shape' => 'RequestSpotFleetResponse', ], ], 'RequestSpotInstances' => [ 'name' => 'RequestSpotInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestSpotInstancesRequest', ], 'output' => [ 'shape' => 'RequestSpotInstancesResult', ], ], 'ResetFpgaImageAttribute' => [ 'name' => 'ResetFpgaImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetFpgaImageAttributeRequest', ], 'output' => [ 'shape' => 'ResetFpgaImageAttributeResult', ], ], 'ResetImageAttribute' => [ 'name' => 'ResetImageAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetImageAttributeRequest', ], ], 'ResetInstanceAttribute' => [ 'name' => 'ResetInstanceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetInstanceAttributeRequest', ], ], 'ResetNetworkInterfaceAttribute' => [ 'name' => 'ResetNetworkInterfaceAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetNetworkInterfaceAttributeRequest', ], ], 'ResetSnapshotAttribute' => [ 'name' => 'ResetSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetSnapshotAttributeRequest', ], ], 'RestoreAddressToClassic' => [ 'name' => 'RestoreAddressToClassic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreAddressToClassicRequest', ], 'output' => [ 'shape' => 'RestoreAddressToClassicResult', ], ], 'RevokeClientVpnIngress' => [ 'name' => 'RevokeClientVpnIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeClientVpnIngressRequest', ], 'output' => [ 'shape' => 'RevokeClientVpnIngressResult', ], ], 'RevokeSecurityGroupEgress' => [ 'name' => 'RevokeSecurityGroupEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupEgressRequest', ], ], 'RevokeSecurityGroupIngress' => [ 'name' => 'RevokeSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSecurityGroupIngressRequest', ], ], 'RunInstances' => [ 'name' => 'RunInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunInstancesRequest', ], 'output' => [ 'shape' => 'Reservation', ], ], 'RunScheduledInstances' => [ 'name' => 'RunScheduledInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunScheduledInstancesRequest', ], 'output' => [ 'shape' => 'RunScheduledInstancesResult', ], ], 'SearchTransitGatewayRoutes' => [ 'name' => 'SearchTransitGatewayRoutes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchTransitGatewayRoutesRequest', ], 'output' => [ 'shape' => 'SearchTransitGatewayRoutesResult', ], ], 'StartInstances' => [ 'name' => 'StartInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstancesRequest', ], 'output' => [ 'shape' => 'StartInstancesResult', ], ], 'StopInstances' => [ 'name' => 'StopInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstancesRequest', ], 'output' => [ 'shape' => 'StopInstancesResult', ], ], 'TerminateClientVpnConnections' => [ 'name' => 'TerminateClientVpnConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateClientVpnConnectionsRequest', ], 'output' => [ 'shape' => 'TerminateClientVpnConnectionsResult', ], ], 'TerminateInstances' => [ 'name' => 'TerminateInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateInstancesRequest', ], 'output' => [ 'shape' => 'TerminateInstancesResult', ], ], 'UnassignIpv6Addresses' => [ 'name' => 'UnassignIpv6Addresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignIpv6AddressesRequest', ], 'output' => [ 'shape' => 'UnassignIpv6AddressesResult', ], ], 'UnassignPrivateIpAddresses' => [ 'name' => 'UnassignPrivateIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignPrivateIpAddressesRequest', ], ], 'UnmonitorInstances' => [ 'name' => 'UnmonitorInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnmonitorInstancesRequest', ], 'output' => [ 'shape' => 'UnmonitorInstancesResult', ], ], 'UpdateSecurityGroupRuleDescriptionsEgress' => [ 'name' => 'UpdateSecurityGroupRuleDescriptionsEgress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSecurityGroupRuleDescriptionsEgressRequest', ], 'output' => [ 'shape' => 'UpdateSecurityGroupRuleDescriptionsEgressResult', ], ], 'UpdateSecurityGroupRuleDescriptionsIngress' => [ 'name' => 'UpdateSecurityGroupRuleDescriptionsIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSecurityGroupRuleDescriptionsIngressRequest', ], 'output' => [ 'shape' => 'UpdateSecurityGroupRuleDescriptionsIngressResult', ], ], 'WithdrawByoipCidr' => [ 'name' => 'WithdrawByoipCidr', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'WithdrawByoipCidrRequest', ], 'output' => [ 'shape' => 'WithdrawByoipCidrResult', ], ], ], 'shapes' => [ 'AcceptReservedInstancesExchangeQuoteRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ReservedInstanceIds' => [ 'shape' => 'ReservedInstanceIdSet', 'locationName' => 'ReservedInstanceId', ], 'TargetConfigurations' => [ 'shape' => 'TargetConfigurationRequestSet', 'locationName' => 'TargetConfiguration', ], ], ], 'AcceptReservedInstancesExchangeQuoteResult' => [ 'type' => 'structure', 'members' => [ 'ExchangeId' => [ 'shape' => 'String', 'locationName' => 'exchangeId', ], ], ], 'AcceptTransitGatewayVpcAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'AcceptTransitGatewayVpcAttachmentResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachment' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'transitGatewayVpcAttachment', ], ], ], 'AcceptVpcEndpointConnectionsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'AcceptVpcEndpointConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'AcceptVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'AcceptVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', 'locationName' => 'attributeName', ], 'AttributeValues' => [ 'shape' => 'AccountAttributeValueList', 'locationName' => 'attributeValueSet', ], ], ], 'AccountAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', 'locationName' => 'item', ], ], 'AccountAttributeName' => [ 'type' => 'string', 'enum' => [ 'supported-platforms', 'default-vpc', ], ], 'AccountAttributeNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeName', 'locationName' => 'attributeName', ], ], 'AccountAttributeValue' => [ 'type' => 'structure', 'members' => [ 'AttributeValue' => [ 'shape' => 'String', 'locationName' => 'attributeValue', ], ], ], 'AccountAttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttributeValue', 'locationName' => 'item', ], ], 'ActiveInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'InstanceHealth' => [ 'shape' => 'InstanceHealthStatus', 'locationName' => 'instanceHealth', ], ], ], 'ActiveInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActiveInstance', 'locationName' => 'item', ], ], 'ActivityStatus' => [ 'type' => 'string', 'enum' => [ 'error', 'pending_fulfillment', 'pending_termination', 'fulfilled', ], ], 'Address' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'NetworkInterfaceOwnerId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceOwnerId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'PublicIpv4Pool' => [ 'shape' => 'String', 'locationName' => 'publicIpv4Pool', ], ], ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', 'locationName' => 'item', ], ], 'AdvertiseByoipCidrRequest' => [ 'type' => 'structure', 'required' => [ 'Cidr', ], 'members' => [ 'Cidr' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'AdvertiseByoipCidrResult' => [ 'type' => 'structure', 'members' => [ 'ByoipCidr' => [ 'shape' => 'ByoipCidr', 'locationName' => 'byoipCidr', ], ], ], 'Affinity' => [ 'type' => 'string', 'enum' => [ 'default', 'host', ], ], 'AllocateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], 'Address' => [ 'shape' => 'String', ], 'PublicIpv4Pool' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AllocateAddressResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'PublicIpv4Pool' => [ 'shape' => 'String', 'locationName' => 'publicIpv4Pool', ], 'Domain' => [ 'shape' => 'DomainType', 'locationName' => 'domain', ], ], ], 'AllocateHostsRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', 'InstanceType', 'Quantity', ], 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Quantity' => [ 'shape' => 'Integer', 'locationName' => 'quantity', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], ], ], 'AllocateHostsResult' => [ 'type' => 'structure', 'members' => [ 'HostIds' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'hostIdSet', ], ], ], 'AllocationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AllocationId', ], ], 'AllocationState' => [ 'type' => 'string', 'enum' => [ 'available', 'under-assessment', 'permanent-failure', 'released', 'released-permanent-failure', ], ], 'AllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowestPrice', 'diversified', ], ], 'AllowedPrincipal' => [ 'type' => 'structure', 'members' => [ 'PrincipalType' => [ 'shape' => 'PrincipalType', 'locationName' => 'principalType', ], 'Principal' => [ 'shape' => 'String', 'locationName' => 'principal', ], ], ], 'AllowedPrincipalSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedPrincipal', 'locationName' => 'item', ], ], 'ApplySecurityGroupsToClientVpnTargetNetworkRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'VpcId', 'SecurityGroupIds', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'ClientVpnSecurityGroupIdSet', 'locationName' => 'SecurityGroupId', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ApplySecurityGroupsToClientVpnTargetNetworkResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupIds' => [ 'shape' => 'ClientVpnSecurityGroupIdSet', 'locationName' => 'securityGroupIds', ], ], ], 'ArchitectureValues' => [ 'type' => 'string', 'enum' => [ 'i386', 'x86_64', 'arm64', ], ], 'AssignIpv6AddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'Ipv6AddressCount' => [ 'shape' => 'Integer', 'locationName' => 'ipv6AddressCount', ], 'Ipv6Addresses' => [ 'shape' => 'Ipv6AddressList', 'locationName' => 'ipv6Addresses', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'AssignIpv6AddressesResult' => [ 'type' => 'structure', 'members' => [ 'AssignedIpv6Addresses' => [ 'shape' => 'Ipv6AddressList', 'locationName' => 'assignedIpv6Addresses', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'AssignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'AllowReassignment' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassignment', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], ], ], 'AssociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'AllowReassociation' => [ 'shape' => 'Boolean', 'locationName' => 'allowReassociation', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'AssociateAddressResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AssociateClientVpnTargetNetworkRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'SubnetId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'SubnetId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'AssociateClientVpnTargetNetworkResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Status' => [ 'shape' => 'AssociationStatus', 'locationName' => 'status', ], ], ], 'AssociateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', 'VpcId', ], 'members' => [ 'DhcpOptionsId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AssociateIamInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'IamInstanceProfile', 'InstanceId', ], 'members' => [ 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'AssociateIamInstanceProfileResult' => [ 'type' => 'structure', 'members' => [ 'IamInstanceProfileAssociation' => [ 'shape' => 'IamInstanceProfileAssociation', 'locationName' => 'iamInstanceProfileAssociation', ], ], ], 'AssociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', 'SubnetId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'AssociateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'AssociateSubnetCidrBlockRequest' => [ 'type' => 'structure', 'required' => [ 'Ipv6CidrBlock', 'SubnetId', ], 'members' => [ 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'AssociateSubnetCidrBlockResult' => [ 'type' => 'structure', 'members' => [ 'Ipv6CidrBlockAssociation' => [ 'shape' => 'SubnetIpv6CidrBlockAssociation', 'locationName' => 'ipv6CidrBlockAssociation', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'AssociateTransitGatewayRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'AssociateTransitGatewayRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'TransitGatewayAssociation', 'locationName' => 'association', ], ], ], 'AssociateVpcCidrBlockRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'AmazonProvidedIpv6CidrBlock' => [ 'shape' => 'Boolean', 'locationName' => 'amazonProvidedIpv6CidrBlock', ], 'CidrBlock' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AssociateVpcCidrBlockResult' => [ 'type' => 'structure', 'members' => [ 'Ipv6CidrBlockAssociation' => [ 'shape' => 'VpcIpv6CidrBlockAssociation', 'locationName' => 'ipv6CidrBlockAssociation', ], 'CidrBlockAssociation' => [ 'shape' => 'VpcCidrBlockAssociation', 'locationName' => 'cidrBlockAssociation', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AssociatedNetworkType' => [ 'type' => 'string', 'enum' => [ 'vpc', ], ], 'AssociatedTargetNetwork' => [ 'type' => 'structure', 'members' => [ 'NetworkId' => [ 'shape' => 'String', 'locationName' => 'networkId', ], 'NetworkType' => [ 'shape' => 'AssociatedNetworkType', 'locationName' => 'networkType', ], ], ], 'AssociatedTargetNetworkSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociatedTargetNetwork', 'locationName' => 'item', ], ], 'AssociationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AssociationId', ], ], 'AssociationStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'AssociationStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'AssociationStatusCode' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'association-failed', 'disassociating', 'disassociated', ], ], 'AttachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'Groups', 'InstanceId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AttachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'AttachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'AttachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'DeviceIndex', 'InstanceId', 'NetworkInterfaceId', ], 'members' => [ 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'AttachNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], ], ], 'AttachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'Device', 'InstanceId', 'VolumeId', ], 'members' => [ 'Device' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'VolumeId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AttachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'VpnGatewayId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AttachVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpcAttachment' => [ 'shape' => 'VpcAttachment', 'locationName' => 'attachment', ], ], ], 'AttachmentStatus' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', ], ], 'AttributeBooleanValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', 'locationName' => 'value', ], ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'AuthorizationRule' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'AccessAll' => [ 'shape' => 'Boolean', 'locationName' => 'accessAll', ], 'DestinationCidr' => [ 'shape' => 'String', 'locationName' => 'destinationCidr', ], 'Status' => [ 'shape' => 'ClientVpnAuthorizationRuleStatus', 'locationName' => 'status', ], ], ], 'AuthorizationRuleSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthorizationRule', 'locationName' => 'item', ], ], 'AuthorizeClientVpnIngressRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'TargetNetworkCidr', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'TargetNetworkCidr' => [ 'shape' => 'String', ], 'AccessGroupId' => [ 'shape' => 'String', ], 'AuthorizeAllGroups' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'AuthorizeClientVpnIngressResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ClientVpnAuthorizationRuleStatus', 'locationName' => 'status', ], ], ], 'AuthorizeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], ], ], 'AuthorizeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'GroupId' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], 'IpProtocol' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'ToPort' => [ 'shape' => 'Integer', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AutoAcceptSharedAttachmentsValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'AutoPlacement' => [ 'type' => 'string', 'enum' => [ 'on', 'off', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'AvailabilityZoneState', 'locationName' => 'zoneState', ], 'Messages' => [ 'shape' => 'AvailabilityZoneMessageList', 'locationName' => 'messageSet', ], 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], 'ZoneName' => [ 'shape' => 'String', 'locationName' => 'zoneName', ], 'ZoneId' => [ 'shape' => 'String', 'locationName' => 'zoneId', ], ], ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'item', ], ], 'AvailabilityZoneMessage' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'AvailabilityZoneMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZoneMessage', 'locationName' => 'item', ], ], 'AvailabilityZoneState' => [ 'type' => 'string', 'enum' => [ 'available', 'information', 'impaired', 'unavailable', ], ], 'AvailableCapacity' => [ 'type' => 'structure', 'members' => [ 'AvailableInstanceCapacity' => [ 'shape' => 'AvailableInstanceCapacityList', 'locationName' => 'availableInstanceCapacity', ], 'AvailableVCpus' => [ 'shape' => 'Integer', 'locationName' => 'availableVCpus', ], ], ], 'AvailableInstanceCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCapacity', 'locationName' => 'item', ], ], 'BatchState' => [ 'type' => 'string', 'enum' => [ 'submitted', 'active', 'cancelled', 'failed', 'cancelled_running', 'cancelled_terminating', 'modifying', ], ], 'BillingProductList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'Blob' => [ 'type' => 'blob', ], 'BlobAttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Blob', 'locationName' => 'value', ], ], ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'Ebs' => [ 'shape' => 'EbsBlockDevice', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'BlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'item', ], ], 'BlockDeviceMappingRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BundleIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'BundleId', ], ], 'BundleInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Storage', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'Storage' => [ 'shape' => 'Storage', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'BundleInstanceResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'BundleTask' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => 'String', 'locationName' => 'bundleId', ], 'BundleTaskError' => [ 'shape' => 'BundleTaskError', 'locationName' => 'error', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'State' => [ 'shape' => 'BundleTaskState', 'locationName' => 'state', ], 'Storage' => [ 'shape' => 'Storage', 'locationName' => 'storage', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], ], ], 'BundleTaskError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'BundleTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleTask', 'locationName' => 'item', ], ], 'BundleTaskState' => [ 'type' => 'string', 'enum' => [ 'pending', 'waiting-for-shutdown', 'bundling', 'storing', 'cancelling', 'complete', 'failed', ], ], 'ByoipCidr' => [ 'type' => 'structure', 'members' => [ 'Cidr' => [ 'shape' => 'String', 'locationName' => 'cidr', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'State' => [ 'shape' => 'ByoipCidrState', 'locationName' => 'state', ], ], ], 'ByoipCidrSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByoipCidr', 'locationName' => 'item', ], ], 'ByoipCidrState' => [ 'type' => 'string', 'enum' => [ 'advertised', 'deprovisioned', 'failed-deprovision', 'failed-provision', 'pending-deprovision', 'pending-provision', 'provisioned', ], ], 'CancelBatchErrorCode' => [ 'type' => 'string', 'enum' => [ 'fleetRequestIdDoesNotExist', 'fleetRequestIdMalformed', 'fleetRequestNotInCancellableState', 'unexpectedError', ], ], 'CancelBundleTaskRequest' => [ 'type' => 'structure', 'required' => [ 'BundleId', ], 'members' => [ 'BundleId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CancelBundleTaskResult' => [ 'type' => 'structure', 'members' => [ 'BundleTask' => [ 'shape' => 'BundleTask', 'locationName' => 'bundleInstanceTask', ], ], ], 'CancelCapacityReservationRequest' => [ 'type' => 'structure', 'required' => [ 'CapacityReservationId', ], 'members' => [ 'CapacityReservationId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CancelCapacityReservationResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'CancelConversionRequest' => [ 'type' => 'structure', 'required' => [ 'ConversionTaskId', ], 'members' => [ 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'ReasonMessage' => [ 'shape' => 'String', 'locationName' => 'reasonMessage', ], ], ], 'CancelExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ExportTaskId', ], 'members' => [ 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], ], ], 'CancelImportTaskRequest' => [ 'type' => 'structure', 'members' => [ 'CancelReason' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'ImportTaskId' => [ 'shape' => 'String', ], ], ], 'CancelImportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'PreviousState' => [ 'shape' => 'String', 'locationName' => 'previousState', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], ], ], 'CancelReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesListingId', ], 'members' => [ 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], ], ], 'CancelReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CancelSpotFleetRequestsError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'members' => [ 'Error' => [ 'shape' => 'CancelSpotFleetRequestsError', 'locationName' => 'error', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'CancelSpotFleetRequestsErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsErrorItem', 'locationName' => 'item', ], ], 'CancelSpotFleetRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestIds', 'TerminateInstances', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], 'TerminateInstances' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstances', ], ], ], 'CancelSpotFleetRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'SuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsSuccessSet', 'locationName' => 'successfulFleetRequestSet', ], 'UnsuccessfulFleetRequests' => [ 'shape' => 'CancelSpotFleetRequestsErrorSet', 'locationName' => 'unsuccessfulFleetRequestSet', ], ], ], 'CancelSpotFleetRequestsSuccessItem' => [ 'type' => 'structure', 'members' => [ 'CurrentSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'currentSpotFleetRequestState', ], 'PreviousSpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'previousSpotFleetRequestState', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'CancelSpotFleetRequestsSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelSpotFleetRequestsSuccessItem', 'locationName' => 'item', ], ], 'CancelSpotInstanceRequestState' => [ 'type' => 'string', 'enum' => [ 'active', 'open', 'closed', 'cancelled', 'completed', ], ], 'CancelSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'SpotInstanceRequestIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], ], ], 'CancelSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'CancelledSpotInstanceRequests' => [ 'shape' => 'CancelledSpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'CancelledSpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'State' => [ 'shape' => 'CancelSpotInstanceRequestState', 'locationName' => 'state', ], ], ], 'CancelledSpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelledSpotInstanceRequest', 'locationName' => 'item', ], ], 'CapacityReservation' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationId' => [ 'shape' => 'String', 'locationName' => 'capacityReservationId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'InstancePlatform' => [ 'shape' => 'CapacityReservationInstancePlatform', 'locationName' => 'instancePlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Tenancy' => [ 'shape' => 'CapacityReservationTenancy', 'locationName' => 'tenancy', ], 'TotalInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'totalInstanceCount', ], 'AvailableInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'availableInstanceCount', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'EphemeralStorage' => [ 'shape' => 'Boolean', 'locationName' => 'ephemeralStorage', ], 'State' => [ 'shape' => 'CapacityReservationState', 'locationName' => 'state', ], 'EndDate' => [ 'shape' => 'DateTime', 'locationName' => 'endDate', ], 'EndDateType' => [ 'shape' => 'EndDateType', 'locationName' => 'endDateType', ], 'InstanceMatchCriteria' => [ 'shape' => 'InstanceMatchCriteria', 'locationName' => 'instanceMatchCriteria', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'CapacityReservationIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'CapacityReservationInstancePlatform' => [ 'type' => 'string', 'enum' => [ 'Linux/UNIX', 'Red Hat Enterprise Linux', 'SUSE Linux', 'Windows', 'Windows with SQL Server', 'Windows with SQL Server Enterprise', 'Windows with SQL Server Standard', 'Windows with SQL Server Web', 'Linux with SQL Server Standard', 'Linux with SQL Server Web', 'Linux with SQL Server Enterprise', ], ], 'CapacityReservationPreference' => [ 'type' => 'string', 'enum' => [ 'open', 'none', ], ], 'CapacityReservationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CapacityReservation', 'locationName' => 'item', ], ], 'CapacityReservationSpecification' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationPreference' => [ 'shape' => 'CapacityReservationPreference', ], 'CapacityReservationTarget' => [ 'shape' => 'CapacityReservationTarget', ], ], ], 'CapacityReservationSpecificationResponse' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationPreference' => [ 'shape' => 'CapacityReservationPreference', 'locationName' => 'capacityReservationPreference', ], 'CapacityReservationTarget' => [ 'shape' => 'CapacityReservationTargetResponse', 'locationName' => 'capacityReservationTarget', ], ], ], 'CapacityReservationState' => [ 'type' => 'string', 'enum' => [ 'active', 'expired', 'cancelled', 'pending', 'failed', ], ], 'CapacityReservationTarget' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationId' => [ 'shape' => 'String', ], ], ], 'CapacityReservationTargetResponse' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationId' => [ 'shape' => 'String', 'locationName' => 'capacityReservationId', ], ], ], 'CapacityReservationTenancy' => [ 'type' => 'string', 'enum' => [ 'default', 'dedicated', ], ], 'CertificateAuthentication' => [ 'type' => 'structure', 'members' => [ 'ClientRootCertificateChain' => [ 'shape' => 'String', 'locationName' => 'clientRootCertificateChain', ], ], ], 'CertificateAuthenticationRequest' => [ 'type' => 'structure', 'members' => [ 'ClientRootCertificateChainArn' => [ 'shape' => 'String', ], ], ], 'CidrAuthorizationContext' => [ 'type' => 'structure', 'required' => [ 'Message', 'Signature', ], 'members' => [ 'Message' => [ 'shape' => 'String', ], 'Signature' => [ 'shape' => 'String', ], ], ], 'CidrBlock' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], ], ], 'CidrBlockSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CidrBlock', 'locationName' => 'item', ], ], 'ClassicLinkDnsSupport' => [ 'type' => 'structure', 'members' => [ 'ClassicLinkDnsSupported' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkDnsSupported', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'ClassicLinkDnsSupportList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkDnsSupport', 'locationName' => 'item', ], ], 'ClassicLinkInstance' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'ClassicLinkInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLinkInstance', 'locationName' => 'item', ], ], 'ClassicLoadBalancer' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'ClassicLoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLoadBalancer', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'ClassicLoadBalancersConfig' => [ 'type' => 'structure', 'members' => [ 'ClassicLoadBalancers' => [ 'shape' => 'ClassicLoadBalancers', 'locationName' => 'classicLoadBalancers', ], ], ], 'ClientCertificateRevocationListStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClientCertificateRevocationListStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ClientCertificateRevocationListStatusCode' => [ 'type' => 'string', 'enum' => [ 'pending', 'active', ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'String', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'UploadStart' => [ 'shape' => 'DateTime', ], ], ], 'ClientVpnAuthentication' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ClientVpnAuthenticationType', 'locationName' => 'type', ], 'ActiveDirectory' => [ 'shape' => 'DirectoryServiceAuthentication', 'locationName' => 'activeDirectory', ], 'MutualAuthentication' => [ 'shape' => 'CertificateAuthentication', 'locationName' => 'mutualAuthentication', ], ], ], 'ClientVpnAuthenticationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientVpnAuthentication', 'locationName' => 'item', ], ], 'ClientVpnAuthenticationRequest' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ClientVpnAuthenticationType', ], 'ActiveDirectory' => [ 'shape' => 'DirectoryServiceAuthenticationRequest', ], 'MutualAuthentication' => [ 'shape' => 'CertificateAuthenticationRequest', ], ], ], 'ClientVpnAuthenticationRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientVpnAuthenticationRequest', ], ], 'ClientVpnAuthenticationType' => [ 'type' => 'string', 'enum' => [ 'certificate-authentication', 'directory-service-authentication', ], ], 'ClientVpnAuthorizationRuleStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClientVpnAuthorizationRuleStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ClientVpnAuthorizationRuleStatusCode' => [ 'type' => 'string', 'enum' => [ 'authorizing', 'active', 'failed', 'revoking', ], ], 'ClientVpnConnection' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Timestamp' => [ 'shape' => 'String', 'locationName' => 'timestamp', ], 'ConnectionId' => [ 'shape' => 'String', 'locationName' => 'connectionId', ], 'Username' => [ 'shape' => 'String', 'locationName' => 'username', ], 'ConnectionEstablishedTime' => [ 'shape' => 'String', 'locationName' => 'connectionEstablishedTime', ], 'IngressBytes' => [ 'shape' => 'String', 'locationName' => 'ingressBytes', ], 'EgressBytes' => [ 'shape' => 'String', 'locationName' => 'egressBytes', ], 'IngressPackets' => [ 'shape' => 'String', 'locationName' => 'ingressPackets', ], 'EgressPackets' => [ 'shape' => 'String', 'locationName' => 'egressPackets', ], 'ClientIp' => [ 'shape' => 'String', 'locationName' => 'clientIp', ], 'CommonName' => [ 'shape' => 'String', 'locationName' => 'commonName', ], 'Status' => [ 'shape' => 'ClientVpnConnectionStatus', 'locationName' => 'status', ], 'ConnectionEndTime' => [ 'shape' => 'String', 'locationName' => 'connectionEndTime', ], ], ], 'ClientVpnConnectionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientVpnConnection', 'locationName' => 'item', ], ], 'ClientVpnConnectionStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClientVpnConnectionStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ClientVpnConnectionStatusCode' => [ 'type' => 'string', 'enum' => [ 'active', 'failed-to-terminate', 'terminating', 'terminated', ], ], 'ClientVpnEndpoint' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Status' => [ 'shape' => 'ClientVpnEndpointStatus', 'locationName' => 'status', ], 'CreationTime' => [ 'shape' => 'String', 'locationName' => 'creationTime', ], 'DeletionTime' => [ 'shape' => 'String', 'locationName' => 'deletionTime', ], 'DnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'ClientCidrBlock' => [ 'shape' => 'String', 'locationName' => 'clientCidrBlock', ], 'DnsServers' => [ 'shape' => 'ValueStringList', 'locationName' => 'dnsServer', ], 'SplitTunnel' => [ 'shape' => 'Boolean', 'locationName' => 'splitTunnel', ], 'VpnProtocol' => [ 'shape' => 'VpnProtocol', 'locationName' => 'vpnProtocol', ], 'TransportProtocol' => [ 'shape' => 'TransportProtocol', 'locationName' => 'transportProtocol', ], 'AssociatedTargetNetworks' => [ 'shape' => 'AssociatedTargetNetworkSet', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.', 'locationName' => 'associatedTargetNetwork', ], 'ServerCertificateArn' => [ 'shape' => 'String', 'locationName' => 'serverCertificateArn', ], 'AuthenticationOptions' => [ 'shape' => 'ClientVpnAuthenticationList', 'locationName' => 'authenticationOptions', ], 'ConnectionLogOptions' => [ 'shape' => 'ConnectionLogResponseOptions', 'locationName' => 'connectionLogOptions', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ClientVpnEndpointStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClientVpnEndpointStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ClientVpnEndpointStatusCode' => [ 'type' => 'string', 'enum' => [ 'pending-associate', 'available', 'deleting', 'deleted', ], ], 'ClientVpnRoute' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'DestinationCidr' => [ 'shape' => 'String', 'locationName' => 'destinationCidr', ], 'TargetSubnet' => [ 'shape' => 'String', 'locationName' => 'targetSubnet', ], 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], 'Origin' => [ 'shape' => 'String', 'locationName' => 'origin', ], 'Status' => [ 'shape' => 'ClientVpnRouteStatus', 'locationName' => 'status', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'ClientVpnRouteSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientVpnRoute', 'locationName' => 'item', ], ], 'ClientVpnRouteStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClientVpnRouteStatusCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ClientVpnRouteStatusCode' => [ 'type' => 'string', 'enum' => [ 'creating', 'active', 'failed', 'deleting', ], ], 'ClientVpnSecurityGroupIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ConfirmProductInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'ProductCode', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'ProductCode' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ConfirmProductInstanceResult' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ConnectionLogOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'CloudwatchLogGroup' => [ 'shape' => 'String', ], 'CloudwatchLogStream' => [ 'shape' => 'String', ], ], ], 'ConnectionLogResponseOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'CloudwatchLogGroup' => [ 'shape' => 'String', ], 'CloudwatchLogStream' => [ 'shape' => 'String', ], ], ], 'ConnectionNotification' => [ 'type' => 'structure', 'members' => [ 'ConnectionNotificationId' => [ 'shape' => 'String', 'locationName' => 'connectionNotificationId', ], 'ServiceId' => [ 'shape' => 'String', 'locationName' => 'serviceId', ], 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'ConnectionNotificationType' => [ 'shape' => 'ConnectionNotificationType', 'locationName' => 'connectionNotificationType', ], 'ConnectionNotificationArn' => [ 'shape' => 'String', 'locationName' => 'connectionNotificationArn', ], 'ConnectionEvents' => [ 'shape' => 'ValueStringList', 'locationName' => 'connectionEvents', ], 'ConnectionNotificationState' => [ 'shape' => 'ConnectionNotificationState', 'locationName' => 'connectionNotificationState', ], ], ], 'ConnectionNotificationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConnectionNotification', 'locationName' => 'item', ], ], 'ConnectionNotificationState' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'ConnectionNotificationType' => [ 'type' => 'string', 'enum' => [ 'Topic', ], ], 'ContainerFormat' => [ 'type' => 'string', 'enum' => [ 'ova', ], ], 'ConversionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ConversionTask' => [ 'type' => 'structure', 'members' => [ 'ConversionTaskId' => [ 'shape' => 'String', 'locationName' => 'conversionTaskId', ], 'ExpirationTime' => [ 'shape' => 'String', 'locationName' => 'expirationTime', ], 'ImportInstance' => [ 'shape' => 'ImportInstanceTaskDetails', 'locationName' => 'importInstance', ], 'ImportVolume' => [ 'shape' => 'ImportVolumeTaskDetails', 'locationName' => 'importVolume', ], 'State' => [ 'shape' => 'ConversionTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ConversionTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'CopyFpgaImageRequest' => [ 'type' => 'structure', 'required' => [ 'SourceFpgaImageId', 'SourceRegion', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'SourceFpgaImageId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'SourceRegion' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CopyFpgaImageResult' => [ 'type' => 'structure', 'members' => [ 'FpgaImageId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageId', ], ], ], 'CopyImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'SourceImageId', 'SourceRegion', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'Name' => [ 'shape' => 'String', ], 'SourceImageId' => [ 'shape' => 'String', ], 'SourceRegion' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CopyImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CopySnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SourceRegion', 'SourceSnapshotId', ], 'members' => [ 'Description' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', 'locationName' => 'destinationRegion', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'PresignedUrl' => [ 'shape' => 'String', 'locationName' => 'presignedUrl', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceSnapshotId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], ], ], 'CpuOptions' => [ 'type' => 'structure', 'members' => [ 'CoreCount' => [ 'shape' => 'Integer', 'locationName' => 'coreCount', ], 'ThreadsPerCore' => [ 'shape' => 'Integer', 'locationName' => 'threadsPerCore', ], ], ], 'CpuOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'CoreCount' => [ 'shape' => 'Integer', ], 'ThreadsPerCore' => [ 'shape' => 'Integer', ], ], ], 'CreateCapacityReservationRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'InstancePlatform', 'AvailabilityZone', 'InstanceCount', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'InstancePlatform' => [ 'shape' => 'CapacityReservationInstancePlatform', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'Tenancy' => [ 'shape' => 'CapacityReservationTenancy', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'EphemeralStorage' => [ 'shape' => 'Boolean', ], 'EndDate' => [ 'shape' => 'DateTime', ], 'EndDateType' => [ 'shape' => 'EndDateType', ], 'InstanceMatchCriteria' => [ 'shape' => 'InstanceMatchCriteria', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateCapacityReservationResult' => [ 'type' => 'structure', 'members' => [ 'CapacityReservation' => [ 'shape' => 'CapacityReservation', 'locationName' => 'capacityReservation', ], ], ], 'CreateClientVpnEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ClientCidrBlock', 'ServerCertificateArn', 'AuthenticationOptions', 'ConnectionLogOptions', ], 'members' => [ 'ClientCidrBlock' => [ 'shape' => 'String', ], 'ServerCertificateArn' => [ 'shape' => 'String', ], 'AuthenticationOptions' => [ 'shape' => 'ClientVpnAuthenticationRequestList', 'locationName' => 'Authentication', ], 'ConnectionLogOptions' => [ 'shape' => 'ConnectionLogOptions', ], 'DnsServers' => [ 'shape' => 'ValueStringList', ], 'TransportProtocol' => [ 'shape' => 'TransportProtocol', ], 'Description' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], ], ], 'CreateClientVpnEndpointResult' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Status' => [ 'shape' => 'ClientVpnEndpointStatus', 'locationName' => 'status', ], 'DnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], ], ], 'CreateClientVpnRouteRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'DestinationCidrBlock', 'TargetVpcSubnetId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'TargetVpcSubnetId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateClientVpnRouteResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ClientVpnRouteStatus', 'locationName' => 'status', ], ], ], 'CreateCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'BgpAsn', 'PublicIp', 'Type', ], 'members' => [ 'BgpAsn' => [ 'shape' => 'Integer', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'IpAddress', ], 'Type' => [ 'shape' => 'GatewayType', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateCustomerGatewayResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateway' => [ 'shape' => 'CustomerGateway', 'locationName' => 'customerGateway', ], ], ], 'CreateDefaultSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateDefaultSubnetResult' => [ 'type' => 'structure', 'members' => [ 'Subnet' => [ 'shape' => 'Subnet', 'locationName' => 'subnet', ], ], ], 'CreateDefaultVpcRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateDefaultVpcResult' => [ 'type' => 'structure', 'members' => [ 'Vpc' => [ 'shape' => 'Vpc', 'locationName' => 'vpc', ], ], ], 'CreateDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpConfigurations', ], 'members' => [ 'DhcpConfigurations' => [ 'shape' => 'NewDhcpConfigurationList', 'locationName' => 'dhcpConfiguration', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptions', 'locationName' => 'dhcpOptions', ], ], ], 'CreateEgressOnlyInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'CreateEgressOnlyInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'EgressOnlyInternetGateway' => [ 'shape' => 'EgressOnlyInternetGateway', 'locationName' => 'egressOnlyInternetGateway', ], ], ], 'CreateFleetError' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateAndOverrides' => [ 'shape' => 'LaunchTemplateAndOverridesResponse', 'locationName' => 'launchTemplateAndOverrides', ], 'Lifecycle' => [ 'shape' => 'InstanceLifecycle', 'locationName' => 'lifecycle', ], 'ErrorCode' => [ 'shape' => 'String', 'locationName' => 'errorCode', ], 'ErrorMessage' => [ 'shape' => 'String', 'locationName' => 'errorMessage', ], ], ], 'CreateFleetErrorsSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateFleetError', 'locationName' => 'item', ], ], 'CreateFleetInstance' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateAndOverrides' => [ 'shape' => 'LaunchTemplateAndOverridesResponse', 'locationName' => 'launchTemplateAndOverrides', ], 'Lifecycle' => [ 'shape' => 'InstanceLifecycle', 'locationName' => 'lifecycle', ], 'InstanceIds' => [ 'shape' => 'InstanceIdsSet', 'locationName' => 'instanceIds', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'CreateFleetInstancesSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateFleetInstance', 'locationName' => 'item', ], ], 'CreateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'LaunchTemplateConfigs', 'TargetCapacitySpecification', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'SpotOptions' => [ 'shape' => 'SpotOptionsRequest', ], 'OnDemandOptions' => [ 'shape' => 'OnDemandOptionsRequest', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'FleetExcessCapacityTerminationPolicy', ], 'LaunchTemplateConfigs' => [ 'shape' => 'FleetLaunchTemplateConfigListRequest', ], 'TargetCapacitySpecification' => [ 'shape' => 'TargetCapacitySpecificationRequest', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', ], 'Type' => [ 'shape' => 'FleetType', ], 'ValidFrom' => [ 'shape' => 'DateTime', ], 'ValidUntil' => [ 'shape' => 'DateTime', ], 'ReplaceUnhealthyInstances' => [ 'shape' => 'Boolean', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], ], ], 'CreateFleetResult' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], 'Errors' => [ 'shape' => 'CreateFleetErrorsSet', 'locationName' => 'errorSet', ], 'Instances' => [ 'shape' => 'CreateFleetInstancesSet', 'locationName' => 'fleetInstanceSet', ], ], ], 'CreateFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIds', 'ResourceType', 'TrafficType', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', ], 'LogGroupName' => [ 'shape' => 'String', ], 'ResourceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'FlowLogsResourceType', ], 'TrafficType' => [ 'shape' => 'TrafficType', ], 'LogDestinationType' => [ 'shape' => 'LogDestinationType', ], 'LogDestination' => [ 'shape' => 'String', ], ], ], 'CreateFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'flowLogIdSet', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'CreateFpgaImageRequest' => [ 'type' => 'structure', 'required' => [ 'InputStorageLocation', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InputStorageLocation' => [ 'shape' => 'StorageLocation', ], 'LogsStorageLocation' => [ 'shape' => 'StorageLocation', ], 'Description' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateFpgaImageResult' => [ 'type' => 'structure', 'members' => [ 'FpgaImageId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageId', ], 'FpgaImageGlobalId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageGlobalId', ], ], ], 'CreateImageRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Name', ], 'members' => [ 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'blockDeviceMapping', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'NoReboot' => [ 'shape' => 'Boolean', 'locationName' => 'noReboot', ], ], ], 'CreateImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'CreateInstanceExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3TaskSpecification', 'locationName' => 'exportToS3', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'CreateInstanceExportTaskResult' => [ 'type' => 'structure', 'members' => [ 'ExportTask' => [ 'shape' => 'ExportTask', 'locationName' => 'exportTask', ], ], ], 'CreateInternetGatewayRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateway' => [ 'shape' => 'InternetGateway', 'locationName' => 'internetGateway', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'KeyName' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateLaunchTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'LaunchTemplateName', 'LaunchTemplateData', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'VersionDescription' => [ 'shape' => 'VersionDescription', ], 'LaunchTemplateData' => [ 'shape' => 'RequestLaunchTemplateData', ], ], ], 'CreateLaunchTemplateResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplate' => [ 'shape' => 'LaunchTemplate', 'locationName' => 'launchTemplate', ], ], ], 'CreateLaunchTemplateVersionRequest' => [ 'type' => 'structure', 'required' => [ 'LaunchTemplateData', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'SourceVersion' => [ 'shape' => 'String', ], 'VersionDescription' => [ 'shape' => 'VersionDescription', ], 'LaunchTemplateData' => [ 'shape' => 'RequestLaunchTemplateData', ], ], ], 'CreateLaunchTemplateVersionResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateVersion' => [ 'shape' => 'LaunchTemplateVersion', 'locationName' => 'launchTemplateVersion', ], ], ], 'CreateNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'AllocationId', 'SubnetId', ], 'members' => [ 'AllocationId' => [ 'shape' => 'String', ], 'ClientToken' => [ 'shape' => 'String', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'CreateNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'NatGateway' => [ 'shape' => 'NatGateway', 'locationName' => 'natGateway', ], ], ], 'CreateNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'Egress', 'NetworkAclId', 'Protocol', 'RuleAction', 'RuleNumber', ], 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], ], ], 'CreateNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateNetworkAclResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcl' => [ 'shape' => 'NetworkAcl', 'locationName' => 'networkAcl', ], ], ], 'CreateNetworkInterfacePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'Permission', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'AwsAccountId' => [ 'shape' => 'String', ], 'AwsService' => [ 'shape' => 'String', ], 'Permission' => [ 'shape' => 'InterfacePermissionType', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateNetworkInterfacePermissionResult' => [ 'type' => 'structure', 'members' => [ 'InterfacePermission' => [ 'shape' => 'NetworkInterfacePermission', 'locationName' => 'interfacePermission', ], ], ], 'CreateNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', 'locationName' => 'ipv6AddressCount', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressList', 'locationName' => 'ipv6Addresses', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'CreateNetworkInterfaceResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterface' => [ 'shape' => 'NetworkInterface', 'locationName' => 'networkInterface', ], ], ], 'CreatePlacementGroupRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], 'PartitionCount' => [ 'shape' => 'Integer', ], ], ], 'CreateReservedInstancesListingRequest' => [ 'type' => 'structure', 'required' => [ 'ClientToken', 'InstanceCount', 'PriceSchedules', 'ReservedInstancesId', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleSpecificationList', 'locationName' => 'priceSchedules', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'CreateReservedInstancesListingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'CreateRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationIpv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationIpv6CidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EgressOnlyInternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'egressOnlyInternetGatewayId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'TransitGatewayId' => [ 'shape' => 'String', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'CreateRouteResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'CreateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'CreateRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'RouteTable' => [ 'shape' => 'RouteTable', 'locationName' => 'routeTable', ], ], ], 'CreateSecurityGroupRequest' => [ 'type' => 'structure', 'required' => [ 'Description', 'GroupName', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'GroupDescription', ], 'GroupName' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'CreateSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'Description' => [ 'shape' => 'String', ], 'VolumeId' => [ 'shape' => 'String', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], ], ], 'CreateSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'CreateSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'CidrBlock', 'VpcId', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'AvailabilityZoneId' => [ 'shape' => 'String', ], 'CidrBlock' => [ 'shape' => 'String', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateSubnetResult' => [ 'type' => 'structure', 'members' => [ 'Subnet' => [ 'shape' => 'Subnet', 'locationName' => 'subnet', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', 'Tags', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'CreateTransitGatewayRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'TransitGatewayRequestOptions', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateTransitGatewayResult' => [ 'type' => 'structure', 'members' => [ 'TransitGateway' => [ 'shape' => 'TransitGateway', 'locationName' => 'transitGateway', ], ], ], 'CreateTransitGatewayRouteRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationCidrBlock', 'TransitGatewayRouteTableId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'Blackhole' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateTransitGatewayRouteResult' => [ 'type' => 'structure', 'members' => [ 'Route' => [ 'shape' => 'TransitGatewayRoute', 'locationName' => 'route', ], ], ], 'CreateTransitGatewayRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayId', ], 'members' => [ 'TransitGatewayId' => [ 'shape' => 'String', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateTransitGatewayRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTable' => [ 'shape' => 'TransitGatewayRouteTable', 'locationName' => 'transitGatewayRouteTable', ], ], ], 'CreateTransitGatewayVpcAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayId', 'VpcId', 'SubnetIds', ], 'members' => [ 'TransitGatewayId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'ValueStringList', ], 'Options' => [ 'shape' => 'CreateTransitGatewayVpcAttachmentRequestOptions', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'CreateTransitGatewayVpcAttachmentRequestOptions' => [ 'type' => 'structure', 'members' => [ 'DnsSupport' => [ 'shape' => 'DnsSupportValue', ], 'Ipv6Support' => [ 'shape' => 'Ipv6SupportValue', ], ], ], 'CreateTransitGatewayVpcAttachmentResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachment' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'transitGatewayVpcAttachment', ], ], ], 'CreateVolumePermission' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], ], ], 'CreateVolumePermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateVolumePermission', 'locationName' => 'item', ], ], 'CreateVolumePermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'CreateVolumePermissionList', ], 'Remove' => [ 'shape' => 'CreateVolumePermissionList', ], ], ], 'CreateVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'Iops' => [ 'shape' => 'Integer', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Size' => [ 'shape' => 'Integer', ], 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], ], ], 'CreateVpcEndpointConnectionNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionNotificationArn', 'ConnectionEvents', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'VpcEndpointId' => [ 'shape' => 'String', ], 'ConnectionNotificationArn' => [ 'shape' => 'String', ], 'ConnectionEvents' => [ 'shape' => 'ValueStringList', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointConnectionNotificationResult' => [ 'type' => 'structure', 'members' => [ 'ConnectionNotification' => [ 'shape' => 'ConnectionNotification', 'locationName' => 'connectionNotification', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'ServiceName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointType' => [ 'shape' => 'VpcEndpointType', ], 'VpcId' => [ 'shape' => 'String', ], 'ServiceName' => [ 'shape' => 'String', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'SubnetIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SubnetId', ], 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroupId', ], 'ClientToken' => [ 'shape' => 'String', ], 'PrivateDnsEnabled' => [ 'shape' => 'Boolean', ], ], ], 'CreateVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoint' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'vpcEndpoint', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcEndpointServiceConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkLoadBalancerArns', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'AcceptanceRequired' => [ 'shape' => 'Boolean', ], 'NetworkLoadBalancerArns' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkLoadBalancerArn', ], 'ClientToken' => [ 'shape' => 'String', ], ], ], 'CreateVpcEndpointServiceConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'ServiceConfiguration' => [ 'shape' => 'ServiceConfiguration', 'locationName' => 'serviceConfiguration', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], ], ], 'CreateVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PeerOwnerId' => [ 'shape' => 'String', 'locationName' => 'peerOwnerId', ], 'PeerVpcId' => [ 'shape' => 'String', 'locationName' => 'peerVpcId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'PeerRegion' => [ 'shape' => 'String', ], ], ], 'CreateVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnection' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'vpcPeeringConnection', ], ], ], 'CreateVpcRequest' => [ 'type' => 'structure', 'required' => [ 'CidrBlock', ], 'members' => [ 'CidrBlock' => [ 'shape' => 'String', ], 'AmazonProvidedIpv6CidrBlock' => [ 'shape' => 'Boolean', 'locationName' => 'amazonProvidedIpv6CidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], ], ], 'CreateVpcResult' => [ 'type' => 'structure', 'members' => [ 'Vpc' => [ 'shape' => 'Vpc', 'locationName' => 'vpc', ], ], ], 'CreateVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'CustomerGatewayId', 'Type', ], 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'TransitGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Options' => [ 'shape' => 'VpnConnectionOptionsSpecification', 'locationName' => 'options', ], ], ], 'CreateVpnConnectionResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnection' => [ 'shape' => 'VpnConnection', 'locationName' => 'vpnConnection', ], ], ], 'CreateVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationCidrBlock', 'VpnConnectionId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'VpnConnectionId' => [ 'shape' => 'String', ], ], ], 'CreateVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'GatewayType', ], 'AmazonSideAsn' => [ 'shape' => 'Long', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'CreateVpnGatewayResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateway' => [ 'shape' => 'VpnGateway', 'locationName' => 'vpnGateway', ], ], ], 'CreditSpecification' => [ 'type' => 'structure', 'members' => [ 'CpuCredits' => [ 'shape' => 'String', 'locationName' => 'cpuCredits', ], ], ], 'CreditSpecificationRequest' => [ 'type' => 'structure', 'required' => [ 'CpuCredits', ], 'members' => [ 'CpuCredits' => [ 'shape' => 'String', ], ], ], 'CurrencyCodeValues' => [ 'type' => 'string', 'enum' => [ 'USD', ], ], 'CustomerGateway' => [ 'type' => 'structure', 'members' => [ 'BgpAsn' => [ 'shape' => 'String', 'locationName' => 'bgpAsn', ], 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'IpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'State' => [ 'shape' => 'String', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'CustomerGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CustomerGatewayId', ], ], 'CustomerGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerGateway', 'locationName' => 'item', ], ], 'DatafeedSubscriptionState' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DefaultRouteTableAssociationValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'DefaultRouteTablePropagationValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'DefaultTargetCapacityType' => [ 'type' => 'string', 'enum' => [ 'spot', 'on-demand', ], ], 'DeleteClientVpnEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteClientVpnEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ClientVpnEndpointStatus', 'locationName' => 'status', ], ], ], 'DeleteClientVpnRouteRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'DestinationCidrBlock', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'TargetVpcSubnetId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteClientVpnRouteResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ClientVpnRouteStatus', 'locationName' => 'status', ], ], ], 'DeleteCustomerGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'CustomerGatewayId', ], 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteDhcpOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'DhcpOptionsId', ], 'members' => [ 'DhcpOptionsId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteEgressOnlyInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'EgressOnlyInternetGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'EgressOnlyInternetGatewayId' => [ 'shape' => 'EgressOnlyInternetGatewayId', ], ], ], 'DeleteEgressOnlyInternetGatewayResult' => [ 'type' => 'structure', 'members' => [ 'ReturnCode' => [ 'shape' => 'Boolean', 'locationName' => 'returnCode', ], ], ], 'DeleteFleetError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'DeleteFleetErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'DeleteFleetErrorCode' => [ 'type' => 'string', 'enum' => [ 'fleetIdDoesNotExist', 'fleetIdMalformed', 'fleetNotInDeletableState', 'unexpectedError', ], ], 'DeleteFleetErrorItem' => [ 'type' => 'structure', 'members' => [ 'Error' => [ 'shape' => 'DeleteFleetError', 'locationName' => 'error', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], ], ], 'DeleteFleetErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteFleetErrorItem', 'locationName' => 'item', ], ], 'DeleteFleetSuccessItem' => [ 'type' => 'structure', 'members' => [ 'CurrentFleetState' => [ 'shape' => 'FleetStateCode', 'locationName' => 'currentFleetState', ], 'PreviousFleetState' => [ 'shape' => 'FleetStateCode', 'locationName' => 'previousFleetState', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], ], ], 'DeleteFleetSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteFleetSuccessItem', 'locationName' => 'item', ], ], 'DeleteFleetsRequest' => [ 'type' => 'structure', 'required' => [ 'FleetIds', 'TerminateInstances', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FleetIds' => [ 'shape' => 'FleetIdSet', 'locationName' => 'FleetId', ], 'TerminateInstances' => [ 'shape' => 'Boolean', ], ], ], 'DeleteFleetsResult' => [ 'type' => 'structure', 'members' => [ 'SuccessfulFleetDeletions' => [ 'shape' => 'DeleteFleetSuccessSet', 'locationName' => 'successfulFleetDeletionSet', ], 'UnsuccessfulFleetDeletions' => [ 'shape' => 'DeleteFleetErrorSet', 'locationName' => 'unsuccessfulFleetDeletionSet', ], ], ], 'DeleteFlowLogsRequest' => [ 'type' => 'structure', 'required' => [ 'FlowLogIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], ], ], 'DeleteFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteFpgaImageRequest' => [ 'type' => 'structure', 'required' => [ 'FpgaImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FpgaImageId' => [ 'shape' => 'String', ], ], ], 'DeleteFpgaImageResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], ], ], 'DeleteKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', ], 'members' => [ 'KeyName' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteLaunchTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], ], ], 'DeleteLaunchTemplateResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplate' => [ 'shape' => 'LaunchTemplate', 'locationName' => 'launchTemplate', ], ], ], 'DeleteLaunchTemplateVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'Versions', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'Versions' => [ 'shape' => 'VersionStringList', 'locationName' => 'LaunchTemplateVersion', ], ], ], 'DeleteLaunchTemplateVersionsResponseErrorItem' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', 'locationName' => 'launchTemplateId', ], 'LaunchTemplateName' => [ 'shape' => 'String', 'locationName' => 'launchTemplateName', ], 'VersionNumber' => [ 'shape' => 'Long', 'locationName' => 'versionNumber', ], 'ResponseError' => [ 'shape' => 'ResponseError', 'locationName' => 'responseError', ], ], ], 'DeleteLaunchTemplateVersionsResponseErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteLaunchTemplateVersionsResponseErrorItem', 'locationName' => 'item', ], ], 'DeleteLaunchTemplateVersionsResponseSuccessItem' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', 'locationName' => 'launchTemplateId', ], 'LaunchTemplateName' => [ 'shape' => 'String', 'locationName' => 'launchTemplateName', ], 'VersionNumber' => [ 'shape' => 'Long', 'locationName' => 'versionNumber', ], ], ], 'DeleteLaunchTemplateVersionsResponseSuccessSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteLaunchTemplateVersionsResponseSuccessItem', 'locationName' => 'item', ], ], 'DeleteLaunchTemplateVersionsResult' => [ 'type' => 'structure', 'members' => [ 'SuccessfullyDeletedLaunchTemplateVersions' => [ 'shape' => 'DeleteLaunchTemplateVersionsResponseSuccessSet', 'locationName' => 'successfullyDeletedLaunchTemplateVersionSet', ], 'UnsuccessfullyDeletedLaunchTemplateVersions' => [ 'shape' => 'DeleteLaunchTemplateVersionsResponseErrorSet', 'locationName' => 'unsuccessfullyDeletedLaunchTemplateVersionSet', ], ], ], 'DeleteNatGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'NatGatewayId', ], 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', ], ], ], 'DeleteNatGatewayResult' => [ 'type' => 'structure', 'members' => [ 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], ], ], 'DeleteNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'Egress', 'NetworkAclId', 'RuleNumber', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], ], ], 'DeleteNetworkAclRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkAclId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'DeleteNetworkInterfacePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfacePermissionId', ], 'members' => [ 'NetworkInterfacePermissionId' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteNetworkInterfacePermissionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'DeletePlacementGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'DeleteRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationIpv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationIpv6CidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'DeleteRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'DeleteSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'SnapshotId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteSubnetRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resources', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Resources' => [ 'shape' => 'ResourceIdList', 'locationName' => 'resourceId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tag', ], ], ], 'DeleteTransitGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayId', ], 'members' => [ 'TransitGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteTransitGatewayResult' => [ 'type' => 'structure', 'members' => [ 'TransitGateway' => [ 'shape' => 'TransitGateway', 'locationName' => 'transitGateway', ], ], ], 'DeleteTransitGatewayRouteRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'DestinationCidrBlock', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteTransitGatewayRouteResult' => [ 'type' => 'structure', 'members' => [ 'Route' => [ 'shape' => 'TransitGatewayRoute', 'locationName' => 'route', ], ], ], 'DeleteTransitGatewayRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteTransitGatewayRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTable' => [ 'shape' => 'TransitGatewayRouteTable', 'locationName' => 'transitGatewayRouteTable', ], ], ], 'DeleteTransitGatewayVpcAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeleteTransitGatewayVpcAttachmentResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachment' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'transitGatewayVpcAttachment', ], ], ], 'DeleteVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteVpcEndpointConnectionNotificationsRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionNotificationIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ConnectionNotificationIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ConnectionNotificationId', ], ], ], 'DeleteVpcEndpointConnectionNotificationsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcEndpointServiceConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ServiceId', ], ], ], 'DeleteVpcEndpointServiceConfigurationsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcEndpointsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'DeleteVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'DeleteVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'DeleteVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DeleteVpcRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteVpnConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpnConnectionId', ], 'members' => [ 'VpnConnectionId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeleteVpnConnectionRouteRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationCidrBlock', 'VpnConnectionId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'VpnConnectionId' => [ 'shape' => 'String', ], ], ], 'DeleteVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpnGatewayId', ], 'members' => [ 'VpnGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeprovisionByoipCidrRequest' => [ 'type' => 'structure', 'required' => [ 'Cidr', ], 'members' => [ 'Cidr' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DeprovisionByoipCidrResult' => [ 'type' => 'structure', 'members' => [ 'ByoipCidr' => [ 'shape' => 'ByoipCidr', 'locationName' => 'byoipCidr', ], ], ], 'DeregisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'ImageId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeAccountAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'AttributeNames' => [ 'shape' => 'AccountAttributeNameStringList', 'locationName' => 'attributeName', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeAccountAttributesResult' => [ 'type' => 'structure', 'members' => [ 'AccountAttributes' => [ 'shape' => 'AccountAttributeList', 'locationName' => 'accountAttributeSet', ], ], ], 'DescribeAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'PublicIps' => [ 'shape' => 'PublicIpStringList', 'locationName' => 'PublicIp', ], 'AllocationIds' => [ 'shape' => 'AllocationIdList', 'locationName' => 'AllocationId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeAddressesResult' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'AddressList', 'locationName' => 'addressesSet', ], ], ], 'DescribeAggregateIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeAggregateIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'UseLongIdsAggregated' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIdsAggregated', ], 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeAvailabilityZonesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'ZoneNames' => [ 'shape' => 'ZoneNameStringList', 'locationName' => 'ZoneName', ], 'ZoneIds' => [ 'shape' => 'ZoneIdStringList', 'locationName' => 'ZoneId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeAvailabilityZonesResult' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', 'locationName' => 'availabilityZoneInfo', ], ], ], 'DescribeBundleTasksRequest' => [ 'type' => 'structure', 'members' => [ 'BundleIds' => [ 'shape' => 'BundleIdStringList', 'locationName' => 'BundleId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeBundleTasksResult' => [ 'type' => 'structure', 'members' => [ 'BundleTasks' => [ 'shape' => 'BundleTaskList', 'locationName' => 'bundleInstanceTasksSet', ], ], ], 'DescribeByoipCidrsRequest' => [ 'type' => 'structure', 'required' => [ 'MaxResults', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeByoipCidrsResult' => [ 'type' => 'structure', 'members' => [ 'ByoipCidrs' => [ 'shape' => 'ByoipCidrSet', 'locationName' => 'byoipCidrSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeCapacityReservationsRequest' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationIds' => [ 'shape' => 'CapacityReservationIdSet', 'locationName' => 'CapacityReservationId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeCapacityReservationsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'CapacityReservations' => [ 'shape' => 'CapacityReservationSet', 'locationName' => 'capacityReservationSet', ], ], ], 'DescribeClassicLinkInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeClassicLinkInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'ClassicLinkInstanceList', 'locationName' => 'instancesSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeClientVpnAuthorizationRulesRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeClientVpnAuthorizationRulesResult' => [ 'type' => 'structure', 'members' => [ 'AuthorizationRules' => [ 'shape' => 'AuthorizationRuleSet', 'locationName' => 'authorizationRule', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeClientVpnConnectionsRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeClientVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'Connections' => [ 'shape' => 'ClientVpnConnectionSet', 'locationName' => 'connections', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeClientVpnEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ClientVpnEndpointId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeClientVpnEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpoints' => [ 'shape' => 'EndpointSet', 'locationName' => 'clientVpnEndpoint', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeClientVpnRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeClientVpnRoutesResult' => [ 'type' => 'structure', 'members' => [ 'Routes' => [ 'shape' => 'ClientVpnRouteSet', 'locationName' => 'routes', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeClientVpnTargetNetworksRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'AssociationIds' => [ 'shape' => 'ValueStringList', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeClientVpnTargetNetworksResult' => [ 'type' => 'structure', 'members' => [ 'ClientVpnTargetNetworks' => [ 'shape' => 'TargetNetworkSet', 'locationName' => 'clientVpnTargetNetworks', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeConversionTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConversionTask', 'locationName' => 'item', ], ], 'DescribeConversionTasksRequest' => [ 'type' => 'structure', 'members' => [ 'ConversionTaskIds' => [ 'shape' => 'ConversionIdStringList', 'locationName' => 'conversionTaskId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeConversionTasksResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTasks' => [ 'shape' => 'DescribeConversionTaskList', 'locationName' => 'conversionTasks', ], ], ], 'DescribeCustomerGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'CustomerGatewayIds' => [ 'shape' => 'CustomerGatewayIdStringList', 'locationName' => 'CustomerGatewayId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeCustomerGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'CustomerGateways' => [ 'shape' => 'CustomerGatewayList', 'locationName' => 'customerGatewaySet', ], ], ], 'DescribeDhcpOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'DhcpOptionsIds' => [ 'shape' => 'DhcpOptionsIdStringList', 'locationName' => 'DhcpOptionsId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeDhcpOptionsResult' => [ 'type' => 'structure', 'members' => [ 'DhcpOptions' => [ 'shape' => 'DhcpOptionsList', 'locationName' => 'dhcpOptionsSet', ], ], ], 'DescribeEgressOnlyInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'EgressOnlyInternetGatewayIds' => [ 'shape' => 'EgressOnlyInternetGatewayIdList', 'locationName' => 'EgressOnlyInternetGatewayId', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeEgressOnlyInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'EgressOnlyInternetGateways' => [ 'shape' => 'EgressOnlyInternetGatewayList', 'locationName' => 'egressOnlyInternetGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeElasticGpusRequest' => [ 'type' => 'structure', 'members' => [ 'ElasticGpuIds' => [ 'shape' => 'ElasticGpuIdSet', 'locationName' => 'ElasticGpuId', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeElasticGpusResult' => [ 'type' => 'structure', 'members' => [ 'ElasticGpuSet' => [ 'shape' => 'ElasticGpuSet', 'locationName' => 'elasticGpuSet', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'ExportTaskIds' => [ 'shape' => 'ExportTaskIdStringList', 'locationName' => 'exportTaskId', ], ], ], 'DescribeExportTasksResult' => [ 'type' => 'structure', 'members' => [ 'ExportTasks' => [ 'shape' => 'ExportTaskList', 'locationName' => 'exportTaskSet', ], ], ], 'DescribeFleetError' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateAndOverrides' => [ 'shape' => 'LaunchTemplateAndOverridesResponse', 'locationName' => 'launchTemplateAndOverrides', ], 'Lifecycle' => [ 'shape' => 'InstanceLifecycle', 'locationName' => 'lifecycle', ], 'ErrorCode' => [ 'shape' => 'String', 'locationName' => 'errorCode', ], 'ErrorMessage' => [ 'shape' => 'String', 'locationName' => 'errorMessage', ], ], ], 'DescribeFleetHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'StartTime', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'EventType' => [ 'shape' => 'FleetEventType', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', ], 'StartTime' => [ 'shape' => 'DateTime', ], ], ], 'DescribeFleetHistoryResult' => [ 'type' => 'structure', 'members' => [ 'HistoryRecords' => [ 'shape' => 'HistoryRecordSet', 'locationName' => 'historyRecordSet', ], 'LastEvaluatedTime' => [ 'shape' => 'DateTime', 'locationName' => 'lastEvaluatedTime', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], ], ], 'DescribeFleetInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeFleetInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ActiveInstances' => [ 'shape' => 'ActiveInstanceSet', 'locationName' => 'activeInstanceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], ], ], 'DescribeFleetsErrorSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeFleetError', 'locationName' => 'item', ], ], 'DescribeFleetsInstances' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateAndOverrides' => [ 'shape' => 'LaunchTemplateAndOverridesResponse', 'locationName' => 'launchTemplateAndOverrides', ], 'Lifecycle' => [ 'shape' => 'InstanceLifecycle', 'locationName' => 'lifecycle', ], 'InstanceIds' => [ 'shape' => 'InstanceIdsSet', 'locationName' => 'instanceIds', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'DescribeFleetsInstancesSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeFleetsInstances', 'locationName' => 'item', ], ], 'DescribeFleetsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'FleetIds' => [ 'shape' => 'FleetIdSet', 'locationName' => 'FleetId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeFleetsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Fleets' => [ 'shape' => 'FleetSet', 'locationName' => 'fleetSet', ], ], ], 'DescribeFlowLogsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filter' => [ 'shape' => 'FilterList', ], 'FlowLogIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'FlowLogId', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeFlowLogsResult' => [ 'type' => 'structure', 'members' => [ 'FlowLogs' => [ 'shape' => 'FlowLogSet', 'locationName' => 'flowLogSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeFpgaImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'FpgaImageId', 'Attribute', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FpgaImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'FpgaImageAttributeName', ], ], ], 'DescribeFpgaImageAttributeResult' => [ 'type' => 'structure', 'members' => [ 'FpgaImageAttribute' => [ 'shape' => 'FpgaImageAttribute', 'locationName' => 'fpgaImageAttribute', ], ], ], 'DescribeFpgaImagesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FpgaImageIds' => [ 'shape' => 'FpgaImageIdList', 'locationName' => 'FpgaImageId', ], 'Owners' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeFpgaImagesResult' => [ 'type' => 'structure', 'members' => [ 'FpgaImages' => [ 'shape' => 'FpgaImageList', 'locationName' => 'fpgaImageSet', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeHostReservationOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'FilterList', ], 'MaxDuration' => [ 'shape' => 'Integer', ], 'MaxResults' => [ 'shape' => 'DescribeHostReservationsMaxResults', ], 'MinDuration' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'OfferingSet' => [ 'shape' => 'HostOfferingSet', 'locationName' => 'offeringSet', ], ], ], 'DescribeHostReservationsMaxResults' => [ 'type' => 'integer', 'max' => 500, 'min' => 5, ], 'DescribeHostReservationsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'FilterList', ], 'HostReservationIdSet' => [ 'shape' => 'HostReservationIdSet', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationsResult' => [ 'type' => 'structure', 'members' => [ 'HostReservationSet' => [ 'shape' => 'HostReservationSet', 'locationName' => 'hostReservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeHostsResult' => [ 'type' => 'structure', 'members' => [ 'Hosts' => [ 'shape' => 'HostList', 'locationName' => 'hostSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeIamInstanceProfileAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'AssociationIds' => [ 'shape' => 'AssociationIdList', 'locationName' => 'AssociationId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeIamInstanceProfileAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'IamInstanceProfileAssociations' => [ 'shape' => 'IamInstanceProfileAssociationSet', 'locationName' => 'iamInstanceProfileAssociationSet', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'DescribeIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'String', ], ], ], 'DescribeIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'PrincipalArn', ], 'members' => [ 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], ], ], 'DescribeIdentityIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'DescribeImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'ImageId', ], 'members' => [ 'Attribute' => [ 'shape' => 'ImageAttributeName', ], 'ImageId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'members' => [ 'ExecutableUsers' => [ 'shape' => 'ExecutableByStringList', 'locationName' => 'ExecutableBy', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'ImageIds' => [ 'shape' => 'ImageIdStringList', 'locationName' => 'ImageId', ], 'Owners' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'ImageList', 'locationName' => 'imagesSet', ], ], ], 'DescribeImportImageTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImportImageTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportImageTasks' => [ 'shape' => 'ImportImageTaskList', 'locationName' => 'importImageTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeImportSnapshotTasksRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', ], 'ImportTaskIds' => [ 'shape' => 'ImportTaskIdList', 'locationName' => 'ImportTaskId', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeImportSnapshotTasksResult' => [ 'type' => 'structure', 'members' => [ 'ImportSnapshotTasks' => [ 'shape' => 'ImportSnapshotTaskList', 'locationName' => 'importSnapshotTaskSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'InstanceId', ], 'members' => [ 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'DescribeInstanceCreditSpecificationsMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'DescribeInstanceCreditSpecificationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'DescribeInstanceCreditSpecificationsMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeInstanceCreditSpecificationsResult' => [ 'type' => 'structure', 'members' => [ 'InstanceCreditSpecifications' => [ 'shape' => 'InstanceCreditSpecificationList', 'locationName' => 'instanceCreditSpecificationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstanceStatusRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'IncludeAllInstances' => [ 'shape' => 'Boolean', 'locationName' => 'includeAllInstances', ], ], ], 'DescribeInstanceStatusResult' => [ 'type' => 'structure', 'members' => [ 'InstanceStatuses' => [ 'shape' => 'InstanceStatusList', 'locationName' => 'instanceStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Reservations' => [ 'shape' => 'ReservationList', 'locationName' => 'reservationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeInternetGatewaysMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'DescribeInternetGatewaysMaxResults', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeKeyPairsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'KeyNames' => [ 'shape' => 'KeyNameStringList', 'locationName' => 'KeyName', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeKeyPairsResult' => [ 'type' => 'structure', 'members' => [ 'KeyPairs' => [ 'shape' => 'KeyPairList', 'locationName' => 'keySet', ], ], ], 'DescribeLaunchTemplateVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'Versions' => [ 'shape' => 'VersionStringList', 'locationName' => 'LaunchTemplateVersion', ], 'MinVersion' => [ 'shape' => 'String', ], 'MaxVersion' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], ], ], 'DescribeLaunchTemplateVersionsResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateVersions' => [ 'shape' => 'LaunchTemplateVersionSet', 'locationName' => 'launchTemplateVersionSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeLaunchTemplatesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'LaunchTemplateIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'LaunchTemplateId', ], 'LaunchTemplateNames' => [ 'shape' => 'LaunchTemplateNameStringList', 'locationName' => 'LaunchTemplateName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeLaunchTemplatesResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplates' => [ 'shape' => 'LaunchTemplateSet', 'locationName' => 'launchTemplates', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeMovingAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'PublicIps' => [ 'shape' => 'ValueStringList', 'locationName' => 'publicIp', ], ], ], 'DescribeMovingAddressesResult' => [ 'type' => 'structure', 'members' => [ 'MovingAddressStatuses' => [ 'shape' => 'MovingAddressStatusSet', 'locationName' => 'movingAddressStatusSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNatGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'FilterList', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NatGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NatGatewayId', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeNatGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'NatGateways' => [ 'shape' => 'NatGatewayList', 'locationName' => 'natGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkAclsMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'DescribeNetworkAclsMaxResults', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'Attribute' => [ 'shape' => 'NetworkInterfaceAttribute', 'locationName' => 'attribute', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'DescribeNetworkInterfaceAttributeResult' => [ 'type' => 'structure', 'members' => [ 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], ], ], 'DescribeNetworkInterfacePermissionsRequest' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfacePermissionIds' => [ 'shape' => 'NetworkInterfacePermissionIdList', 'locationName' => 'NetworkInterfacePermissionId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeNetworkInterfacePermissionsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfacePermissions' => [ 'shape' => 'NetworkInterfacePermissionList', 'locationName' => 'networkInterfacePermissions', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeNetworkInterfacesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceIds' => [ 'shape' => 'NetworkInterfaceIdList', 'locationName' => 'NetworkInterfaceId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeNetworkInterfacesResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaces' => [ 'shape' => 'NetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribePlacementGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupNames' => [ 'shape' => 'PlacementGroupStringList', 'locationName' => 'groupName', ], ], ], 'DescribePlacementGroupsResult' => [ 'type' => 'structure', 'members' => [ 'PlacementGroups' => [ 'shape' => 'PlacementGroupList', 'locationName' => 'placementGroupSet', ], ], ], 'DescribePrefixListsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'PrefixListIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'PrefixListId', ], ], ], 'DescribePrefixListsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'PrefixLists' => [ 'shape' => 'PrefixListSet', 'locationName' => 'prefixListSet', ], ], ], 'DescribePrincipalIdFormatRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Resources' => [ 'shape' => 'ResourceList', 'locationName' => 'Resource', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribePrincipalIdFormatResult' => [ 'type' => 'structure', 'members' => [ 'Principals' => [ 'shape' => 'PrincipalIdFormatList', 'locationName' => 'principalSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribePublicIpv4PoolsRequest' => [ 'type' => 'structure', 'members' => [ 'PoolIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'PoolId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'PoolMaxResults', ], ], ], 'DescribePublicIpv4PoolsResult' => [ 'type' => 'structure', 'members' => [ 'PublicIpv4Pools' => [ 'shape' => 'PublicIpv4PoolSet', 'locationName' => 'publicIpv4PoolSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeRegionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'RegionNames' => [ 'shape' => 'RegionNameStringList', 'locationName' => 'RegionName', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeRegionsResult' => [ 'type' => 'structure', 'members' => [ 'Regions' => [ 'shape' => 'RegionList', 'locationName' => 'regionInfo', ], ], ], 'DescribeReservedInstancesListingsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], ], ], 'DescribeReservedInstancesListingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesListings' => [ 'shape' => 'ReservedInstancesListingList', 'locationName' => 'reservedInstancesListingsSet', ], ], ], 'DescribeReservedInstancesModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'ReservedInstancesModificationIds' => [ 'shape' => 'ReservedInstancesModificationIdStringList', 'locationName' => 'ReservedInstancesModificationId', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesModificationsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ReservedInstancesModifications' => [ 'shape' => 'ReservedInstancesModificationList', 'locationName' => 'reservedInstancesModificationsSet', ], ], ], 'DescribeReservedInstancesOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'IncludeMarketplace' => [ 'shape' => 'Boolean', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'MaxDuration' => [ 'shape' => 'Long', ], 'MaxInstanceCount' => [ 'shape' => 'Integer', ], 'MinDuration' => [ 'shape' => 'Long', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', ], 'ReservedInstancesOfferingIds' => [ 'shape' => 'ReservedInstancesOfferingIdStringList', 'locationName' => 'ReservedInstancesOfferingId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], ], ], 'DescribeReservedInstancesOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesOfferings' => [ 'shape' => 'ReservedInstancesOfferingList', 'locationName' => 'reservedInstancesOfferingsSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], ], ], 'DescribeReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstances' => [ 'shape' => 'ReservedInstancesList', 'locationName' => 'reservedInstancesSet', ], ], ], 'DescribeRouteTablesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RouteTableId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'RouteTables' => [ 'shape' => 'RouteTableList', 'locationName' => 'routeTableSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeScheduledInstanceAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'FirstSlotStartTimeRange', 'Recurrence', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'FirstSlotStartTimeRange' => [ 'shape' => 'SlotDateTimeRangeRequest', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'MaxSlotDurationInHours' => [ 'shape' => 'Integer', ], 'MinSlotDurationInHours' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrenceRequest', ], ], ], 'DescribeScheduledInstanceAvailabilityResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceAvailabilitySet' => [ 'shape' => 'ScheduledInstanceAvailabilitySet', 'locationName' => 'scheduledInstanceAvailabilitySet', ], ], ], 'DescribeScheduledInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'ScheduledInstanceIds' => [ 'shape' => 'ScheduledInstanceIdRequestSet', 'locationName' => 'ScheduledInstanceId', ], 'SlotStartTimeRange' => [ 'shape' => 'SlotStartTimeRangeRequest', ], ], ], 'DescribeScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ScheduledInstanceSet' => [ 'shape' => 'ScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'DescribeSecurityGroupReferencesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'GroupIds', ], ], ], 'DescribeSecurityGroupReferencesResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupReferenceSet' => [ 'shape' => 'SecurityGroupReferences', 'locationName' => 'securityGroupReferenceSet', ], ], ], 'DescribeSecurityGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'GroupIds' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'GroupName', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroupList', 'locationName' => 'securityGroupInfo', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'SnapshotId', ], 'members' => [ 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'SnapshotId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'CreateVolumePermissions' => [ 'shape' => 'CreateVolumePermissionList', 'locationName' => 'createVolumePermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], ], ], 'DescribeSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'OwnerIds' => [ 'shape' => 'OwnerStringList', 'locationName' => 'Owner', ], 'RestorableByUserIds' => [ 'shape' => 'RestorableByStringList', 'locationName' => 'RestorableBy', ], 'SnapshotIds' => [ 'shape' => 'SnapshotIdStringList', 'locationName' => 'SnapshotId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Snapshots' => [ 'shape' => 'SnapshotList', 'locationName' => 'snapshotSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotDatafeedSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSpotDatafeedSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'SpotDatafeedSubscription' => [ 'shape' => 'SpotDatafeedSubscription', 'locationName' => 'spotDatafeedSubscription', ], ], ], 'DescribeSpotFleetInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'DescribeSpotFleetInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'ActiveInstances' => [ 'shape' => 'ActiveInstanceSet', 'locationName' => 'activeInstanceSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'DescribeSpotFleetRequestHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', 'StartTime', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], ], ], 'DescribeSpotFleetRequestHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'HistoryRecords' => [ 'shape' => 'HistoryRecords', 'locationName' => 'historyRecordSet', ], 'LastEvaluatedTime' => [ 'shape' => 'DateTime', 'locationName' => 'lastEvaluatedTime', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], ], ], 'DescribeSpotFleetRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'spotFleetRequestId', ], ], ], 'DescribeSpotFleetRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotFleetRequestConfigs' => [ 'shape' => 'SpotFleetRequestConfigSet', 'locationName' => 'spotFleetRequestConfigSet', ], ], ], 'DescribeSpotInstanceRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotInstanceRequestIds' => [ 'shape' => 'SpotInstanceRequestIdList', 'locationName' => 'SpotInstanceRequestId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeSpotPriceHistoryRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'InstanceTypes' => [ 'shape' => 'InstanceTypeList', 'locationName' => 'InstanceType', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'ProductDescriptions' => [ 'shape' => 'ProductDescriptionList', 'locationName' => 'ProductDescription', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], ], ], 'DescribeSpotPriceHistoryResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'SpotPriceHistory' => [ 'shape' => 'SpotPriceHistoryList', 'locationName' => 'spotPriceHistorySet', ], ], ], 'DescribeStaleSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'VpcId' => [ 'shape' => 'String', ], ], ], 'DescribeStaleSecurityGroupsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'StaleSecurityGroupSet' => [ 'shape' => 'StaleSecurityGroupSet', 'locationName' => 'staleSecurityGroupSet', ], ], ], 'DescribeSubnetsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'SubnetIds' => [ 'shape' => 'SubnetIdStringList', 'locationName' => 'SubnetId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeSubnetsResult' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'SubnetList', 'locationName' => 'subnetSet', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTagsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'Tags' => [ 'shape' => 'TagDescriptionList', 'locationName' => 'tagSet', ], ], ], 'DescribeTransitGatewayAttachmentsRequest' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentIds' => [ 'shape' => 'TransitGatewayAttachmentIdStringList', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTransitGatewayAttachmentsResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachments' => [ 'shape' => 'TransitGatewayAttachmentList', 'locationName' => 'transitGatewayAttachments', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTransitGatewayRouteTablesRequest' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTableIds' => [ 'shape' => 'TransitGatewayRouteTableIdStringList', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTransitGatewayRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTables' => [ 'shape' => 'TransitGatewayRouteTableList', 'locationName' => 'transitGatewayRouteTables', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTransitGatewayVpcAttachmentsRequest' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentIds' => [ 'shape' => 'TransitGatewayAttachmentIdStringList', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTransitGatewayVpcAttachmentsResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachments' => [ 'shape' => 'TransitGatewayVpcAttachmentList', 'locationName' => 'transitGatewayVpcAttachments', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeTransitGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayIds' => [ 'shape' => 'TransitGatewayIdStringList', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTransitGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'TransitGateways' => [ 'shape' => 'TransitGatewayList', 'locationName' => 'transitGatewaySet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'VolumeId', ], 'members' => [ 'Attribute' => [ 'shape' => 'VolumeAttributeName', ], 'VolumeId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVolumeAttributeResult' => [ 'type' => 'structure', 'members' => [ 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'autoEnableIO', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'DescribeVolumeStatusRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVolumeStatusResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'VolumeStatuses' => [ 'shape' => 'VolumeStatusList', 'locationName' => 'volumeStatusSet', ], ], ], 'DescribeVolumesModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeVolumesModificationsResult' => [ 'type' => 'structure', 'members' => [ 'VolumesModifications' => [ 'shape' => 'VolumeModificationList', 'locationName' => 'volumeModificationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VolumeIds' => [ 'shape' => 'VolumeIdStringList', 'locationName' => 'VolumeId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'MaxResults' => [ 'shape' => 'Integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVolumesResult' => [ 'type' => 'structure', 'members' => [ 'Volumes' => [ 'shape' => 'VolumeList', 'locationName' => 'volumeSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'VpcId', ], 'members' => [ 'Attribute' => [ 'shape' => 'VpcAttributeName', ], 'VpcId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVpcAttributeResult' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsHostnames', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enableDnsSupport', ], ], ], 'DescribeVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', ], ], ], 'DescribeVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], 'Vpcs' => [ 'shape' => 'ClassicLinkDnsSupportList', 'locationName' => 'vpcs', ], ], ], 'DescribeVpcClassicLinkRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcIds' => [ 'shape' => 'VpcClassicLinkIdList', 'locationName' => 'VpcId', ], ], ], 'DescribeVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcClassicLinkList', 'locationName' => 'vpcSet', ], ], ], 'DescribeVpcEndpointConnectionNotificationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ConnectionNotificationId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointConnectionNotificationsResult' => [ 'type' => 'structure', 'members' => [ 'ConnectionNotificationSet' => [ 'shape' => 'ConnectionNotificationSet', 'locationName' => 'connectionNotificationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointConnections' => [ 'shape' => 'VpcEndpointConnectionSet', 'locationName' => 'vpcEndpointConnectionSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointServiceConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'ServiceId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServiceConfigurationsResult' => [ 'type' => 'structure', 'members' => [ 'ServiceConfigurations' => [ 'shape' => 'ServiceConfigurationSet', 'locationName' => 'serviceConfigurationSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointServicePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServicePermissionsResult' => [ 'type' => 'structure', 'members' => [ 'AllowedPrincipals' => [ 'shape' => 'AllowedPrincipalSet', 'locationName' => 'allowedPrincipals', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointServicesRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'ServiceName', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointServicesResult' => [ 'type' => 'structure', 'members' => [ 'ServiceNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'serviceNameSet', ], 'ServiceDetails' => [ 'shape' => 'ServiceDetailSet', 'locationName' => 'serviceDetailSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeVpcEndpointsResult' => [ 'type' => 'structure', 'members' => [ 'VpcEndpoints' => [ 'shape' => 'VpcEndpointSet', 'locationName' => 'vpcEndpointSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcPeeringConnectionsMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'DescribeVpcPeeringConnectionsMaxResults', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpcsMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'DescribeVpcsMaxResults', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'DescribeVpnConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VpnConnectionIds' => [ 'shape' => 'VpnConnectionIdStringList', 'locationName' => 'VpnConnectionId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpnConnections' => [ 'shape' => 'VpnConnectionList', 'locationName' => 'vpnConnectionSet', ], ], ], 'DescribeVpnGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VpnGatewayIds' => [ 'shape' => 'VpnGatewayIdStringList', 'locationName' => 'VpnGatewayId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVpnGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'VpnGateways' => [ 'shape' => 'VpnGatewayList', 'locationName' => 'vpnGatewaySet', ], ], ], 'DetachClassicLinkVpcRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachClassicLinkVpcResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DetachInternetGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'InternetGatewayId', 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DetachNetworkInterfaceRequest' => [ 'type' => 'structure', 'required' => [ 'AttachmentId', ], 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'DetachVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'Device' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'VolumeId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DetachVpnGatewayRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'VpnGatewayId', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DeviceType' => [ 'type' => 'string', 'enum' => [ 'ebs', 'instance-store', ], ], 'DhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'DhcpConfigurationValueList', 'locationName' => 'valueSet', ], ], ], 'DhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpConfiguration', 'locationName' => 'item', ], ], 'DhcpConfigurationValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', 'locationName' => 'item', ], ], 'DhcpOptions' => [ 'type' => 'structure', 'members' => [ 'DhcpConfigurations' => [ 'shape' => 'DhcpConfigurationList', 'locationName' => 'dhcpConfigurationSet', ], 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'DhcpOptionsIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DhcpOptionsId', ], ], 'DhcpOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DhcpOptions', 'locationName' => 'item', ], ], 'DirectoryServiceAuthentication' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'String', 'locationName' => 'directoryId', ], ], ], 'DirectoryServiceAuthenticationRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'String', ], ], ], 'DisableTransitGatewayRouteTablePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DisableTransitGatewayRouteTablePropagationResult' => [ 'type' => 'structure', 'members' => [ 'Propagation' => [ 'shape' => 'TransitGatewayPropagation', 'locationName' => 'propagation', ], ], ], 'DisableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'GatewayId', 'RouteTableId', ], 'members' => [ 'GatewayId' => [ 'shape' => 'String', ], 'RouteTableId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'DisableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DisableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'DisassociateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DisassociateClientVpnTargetNetworkRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'AssociationId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'AssociationId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DisassociateClientVpnTargetNetworkResult' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Status' => [ 'shape' => 'AssociationStatus', 'locationName' => 'status', ], ], ], 'DisassociateIamInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', ], ], ], 'DisassociateIamInstanceProfileResult' => [ 'type' => 'structure', 'members' => [ 'IamInstanceProfileAssociation' => [ 'shape' => 'IamInstanceProfileAssociation', 'locationName' => 'iamInstanceProfileAssociation', ], ], ], 'DisassociateRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DisassociateSubnetCidrBlockRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'DisassociateSubnetCidrBlockResult' => [ 'type' => 'structure', 'members' => [ 'Ipv6CidrBlockAssociation' => [ 'shape' => 'SubnetIpv6CidrBlockAssociation', 'locationName' => 'ipv6CidrBlockAssociation', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'DisassociateTransitGatewayRouteTableRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'DisassociateTransitGatewayRouteTableResult' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'TransitGatewayAssociation', 'locationName' => 'association', ], ], ], 'DisassociateVpcCidrBlockRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], ], ], 'DisassociateVpcCidrBlockResult' => [ 'type' => 'structure', 'members' => [ 'Ipv6CidrBlockAssociation' => [ 'shape' => 'VpcIpv6CidrBlockAssociation', 'locationName' => 'ipv6CidrBlockAssociation', ], 'CidrBlockAssociation' => [ 'shape' => 'VpcCidrBlockAssociation', 'locationName' => 'cidrBlockAssociation', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'DiskImage' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Image' => [ 'shape' => 'DiskImageDetail', ], 'Volume' => [ 'shape' => 'VolumeDetail', ], ], ], 'DiskImageDescription' => [ 'type' => 'structure', 'members' => [ 'Checksum' => [ 'shape' => 'String', 'locationName' => 'checksum', ], 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'DiskImageDetail' => [ 'type' => 'structure', 'required' => [ 'Bytes', 'Format', 'ImportManifestUrl', ], 'members' => [ 'Bytes' => [ 'shape' => 'Long', 'locationName' => 'bytes', ], 'Format' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'format', ], 'ImportManifestUrl' => [ 'shape' => 'String', 'locationName' => 'importManifestUrl', ], ], ], 'DiskImageFormat' => [ 'type' => 'string', 'enum' => [ 'VMDK', 'RAW', 'VHD', ], ], 'DiskImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskImage', ], ], 'DiskImageVolumeDescription' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'DnsEntry' => [ 'type' => 'structure', 'members' => [ 'DnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'HostedZoneId' => [ 'shape' => 'String', 'locationName' => 'hostedZoneId', ], ], ], 'DnsEntrySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'DnsEntry', 'locationName' => 'item', ], ], 'DnsServersOptionsModifyStructure' => [ 'type' => 'structure', 'members' => [ 'CustomDnsServers' => [ 'shape' => 'ValueStringList', ], 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'DnsSupportValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'DomainType' => [ 'type' => 'string', 'enum' => [ 'vpc', 'standard', ], ], 'Double' => [ 'type' => 'double', ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'EbsInstanceBlockDevice' => [ 'type' => 'structure', 'members' => [ 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EbsInstanceBlockDeviceSpecification' => [ 'type' => 'structure', 'members' => [ 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EgressOnlyInternetGateway' => [ 'type' => 'structure', 'members' => [ 'Attachments' => [ 'shape' => 'InternetGatewayAttachmentList', 'locationName' => 'attachmentSet', ], 'EgressOnlyInternetGatewayId' => [ 'shape' => 'EgressOnlyInternetGatewayId', 'locationName' => 'egressOnlyInternetGatewayId', ], ], ], 'EgressOnlyInternetGatewayId' => [ 'type' => 'string', ], 'EgressOnlyInternetGatewayIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EgressOnlyInternetGatewayId', 'locationName' => 'item', ], ], 'EgressOnlyInternetGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EgressOnlyInternetGateway', 'locationName' => 'item', ], ], 'ElasticGpuAssociation' => [ 'type' => 'structure', 'members' => [ 'ElasticGpuId' => [ 'shape' => 'String', 'locationName' => 'elasticGpuId', ], 'ElasticGpuAssociationId' => [ 'shape' => 'String', 'locationName' => 'elasticGpuAssociationId', ], 'ElasticGpuAssociationState' => [ 'shape' => 'String', 'locationName' => 'elasticGpuAssociationState', ], 'ElasticGpuAssociationTime' => [ 'shape' => 'String', 'locationName' => 'elasticGpuAssociationTime', ], ], ], 'ElasticGpuAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticGpuAssociation', 'locationName' => 'item', ], ], 'ElasticGpuHealth' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ElasticGpuStatus', 'locationName' => 'status', ], ], ], 'ElasticGpuIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ElasticGpuSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticGpus', 'locationName' => 'item', ], ], 'ElasticGpuSpecification' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'String', ], ], ], 'ElasticGpuSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticGpuSpecification', 'locationName' => 'ElasticGpuSpecification', ], ], 'ElasticGpuSpecificationResponse' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], ], ], 'ElasticGpuSpecificationResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticGpuSpecificationResponse', 'locationName' => 'item', ], ], 'ElasticGpuSpecifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticGpuSpecification', 'locationName' => 'item', ], ], 'ElasticGpuState' => [ 'type' => 'string', 'enum' => [ 'ATTACHED', ], ], 'ElasticGpuStatus' => [ 'type' => 'string', 'enum' => [ 'OK', 'IMPAIRED', ], ], 'ElasticGpus' => [ 'type' => 'structure', 'members' => [ 'ElasticGpuId' => [ 'shape' => 'String', 'locationName' => 'elasticGpuId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'ElasticGpuType' => [ 'shape' => 'String', 'locationName' => 'elasticGpuType', ], 'ElasticGpuHealth' => [ 'shape' => 'ElasticGpuHealth', 'locationName' => 'elasticGpuHealth', ], 'ElasticGpuState' => [ 'shape' => 'ElasticGpuState', 'locationName' => 'elasticGpuState', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'ElasticInferenceAccelerator' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'String', ], ], ], 'ElasticInferenceAcceleratorAssociation' => [ 'type' => 'structure', 'members' => [ 'ElasticInferenceAcceleratorArn' => [ 'shape' => 'String', 'locationName' => 'elasticInferenceAcceleratorArn', ], 'ElasticInferenceAcceleratorAssociationId' => [ 'shape' => 'String', 'locationName' => 'elasticInferenceAcceleratorAssociationId', ], 'ElasticInferenceAcceleratorAssociationState' => [ 'shape' => 'String', 'locationName' => 'elasticInferenceAcceleratorAssociationState', ], 'ElasticInferenceAcceleratorAssociationTime' => [ 'shape' => 'DateTime', 'locationName' => 'elasticInferenceAcceleratorAssociationTime', ], ], ], 'ElasticInferenceAcceleratorAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticInferenceAcceleratorAssociation', 'locationName' => 'item', ], ], 'ElasticInferenceAccelerators' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticInferenceAccelerator', 'locationName' => 'item', ], ], 'EnableTransitGatewayRouteTablePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'EnableTransitGatewayRouteTablePropagationResult' => [ 'type' => 'structure', 'members' => [ 'Propagation' => [ 'shape' => 'TransitGatewayPropagation', 'locationName' => 'propagation', ], ], ], 'EnableVgwRoutePropagationRequest' => [ 'type' => 'structure', 'required' => [ 'GatewayId', 'RouteTableId', ], 'members' => [ 'GatewayId' => [ 'shape' => 'String', ], 'RouteTableId' => [ 'shape' => 'String', ], ], ], 'EnableVolumeIORequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], ], ], 'EnableVpcClassicLinkDnsSupportRequest' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'String', ], ], ], 'EnableVpcClassicLinkDnsSupportResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EnableVpcClassicLinkRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'EnableVpcClassicLinkResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'EndDateType' => [ 'type' => 'string', 'enum' => [ 'unlimited', 'limited', ], ], 'EndpointSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientVpnEndpoint', 'locationName' => 'item', ], ], 'EventCode' => [ 'type' => 'string', 'enum' => [ 'instance-reboot', 'system-reboot', 'system-maintenance', 'instance-retirement', 'instance-stop', ], ], 'EventInformation' => [ 'type' => 'structure', 'members' => [ 'EventDescription' => [ 'shape' => 'String', 'locationName' => 'eventDescription', ], 'EventSubType' => [ 'shape' => 'String', 'locationName' => 'eventSubType', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'instanceChange', 'fleetRequestChange', 'error', ], ], 'ExcessCapacityTerminationPolicy' => [ 'type' => 'string', 'enum' => [ 'noTermination', 'default', ], ], 'ExecutableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExecutableBy', ], ], 'ExportClientVpnClientCertificateRevocationListRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ExportClientVpnClientCertificateRevocationListResult' => [ 'type' => 'structure', 'members' => [ 'CertificateRevocationList' => [ 'shape' => 'String', 'locationName' => 'certificateRevocationList', ], 'Status' => [ 'shape' => 'ClientCertificateRevocationListStatus', 'locationName' => 'status', ], ], ], 'ExportClientVpnClientConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ExportClientVpnClientConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'ClientConfiguration' => [ 'shape' => 'String', 'locationName' => 'clientConfiguration', ], ], ], 'ExportEnvironment' => [ 'type' => 'string', 'enum' => [ 'citrix', 'vmware', 'microsoft', ], ], 'ExportTask' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'ExportTaskId' => [ 'shape' => 'String', 'locationName' => 'exportTaskId', ], 'ExportToS3Task' => [ 'shape' => 'ExportToS3Task', 'locationName' => 'exportToS3', ], 'InstanceExportDetails' => [ 'shape' => 'InstanceExportDetails', 'locationName' => 'instanceExport', ], 'State' => [ 'shape' => 'ExportTaskState', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'ExportTaskIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ExportTaskId', ], ], 'ExportTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportTask', 'locationName' => 'item', ], ], 'ExportTaskState' => [ 'type' => 'string', 'enum' => [ 'active', 'cancelling', 'cancelled', 'completed', ], ], 'ExportToS3Task' => [ 'type' => 'structure', 'members' => [ 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'ExportToS3TaskSpecification' => [ 'type' => 'structure', 'members' => [ 'ContainerFormat' => [ 'shape' => 'ContainerFormat', 'locationName' => 'containerFormat', ], 'DiskImageFormat' => [ 'shape' => 'DiskImageFormat', 'locationName' => 'diskImageFormat', ], 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Prefix' => [ 'shape' => 'String', 'locationName' => 's3Prefix', ], ], ], 'ExportTransitGatewayRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'S3Bucket', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'S3Bucket' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ExportTransitGatewayRoutesResult' => [ 'type' => 'structure', 'members' => [ 'S3Location' => [ 'shape' => 'String', 'locationName' => 's3Location', ], ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FleetActivityStatus' => [ 'type' => 'string', 'enum' => [ 'error', 'pending-fulfillment', 'pending-termination', 'fulfilled', ], ], 'FleetData' => [ 'type' => 'structure', 'members' => [ 'ActivityStatus' => [ 'shape' => 'FleetActivityStatus', 'locationName' => 'activityStatus', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', 'locationName' => 'fleetId', ], 'FleetState' => [ 'shape' => 'FleetStateCode', 'locationName' => 'fleetState', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'FleetExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'FulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledCapacity', ], 'FulfilledOnDemandCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledOnDemandCapacity', ], 'LaunchTemplateConfigs' => [ 'shape' => 'FleetLaunchTemplateConfigList', 'locationName' => 'launchTemplateConfigs', ], 'TargetCapacitySpecification' => [ 'shape' => 'TargetCapacitySpecification', 'locationName' => 'targetCapacitySpecification', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstancesWithExpiration', ], 'Type' => [ 'shape' => 'FleetType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'ReplaceUnhealthyInstances' => [ 'shape' => 'Boolean', 'locationName' => 'replaceUnhealthyInstances', ], 'SpotOptions' => [ 'shape' => 'SpotOptions', 'locationName' => 'spotOptions', ], 'OnDemandOptions' => [ 'shape' => 'OnDemandOptions', 'locationName' => 'onDemandOptions', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Errors' => [ 'shape' => 'DescribeFleetsErrorSet', 'locationName' => 'errorSet', ], 'Instances' => [ 'shape' => 'DescribeFleetsInstancesSet', 'locationName' => 'fleetInstanceSet', ], ], ], 'FleetEventType' => [ 'type' => 'string', 'enum' => [ 'instance-change', 'fleet-change', 'service-error', ], ], 'FleetExcessCapacityTerminationPolicy' => [ 'type' => 'string', 'enum' => [ 'no-termination', 'termination', ], ], 'FleetIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetIdentifier', ], ], 'FleetIdentifier' => [ 'type' => 'string', ], 'FleetLaunchTemplateConfig' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateSpecification' => [ 'shape' => 'FleetLaunchTemplateSpecification', 'locationName' => 'launchTemplateSpecification', ], 'Overrides' => [ 'shape' => 'FleetLaunchTemplateOverridesList', 'locationName' => 'overrides', ], ], ], 'FleetLaunchTemplateConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetLaunchTemplateConfig', 'locationName' => 'item', ], ], 'FleetLaunchTemplateConfigListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetLaunchTemplateConfigRequest', 'locationName' => 'item', ], 'max' => 50, ], 'FleetLaunchTemplateConfigRequest' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateSpecification' => [ 'shape' => 'FleetLaunchTemplateSpecificationRequest', ], 'Overrides' => [ 'shape' => 'FleetLaunchTemplateOverridesListRequest', ], ], ], 'FleetLaunchTemplateOverrides' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'MaxPrice' => [ 'shape' => 'String', 'locationName' => 'maxPrice', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'Priority' => [ 'shape' => 'Double', 'locationName' => 'priority', ], 'Placement' => [ 'shape' => 'PlacementResponse', 'locationName' => 'placement', ], ], ], 'FleetLaunchTemplateOverridesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetLaunchTemplateOverrides', 'locationName' => 'item', ], ], 'FleetLaunchTemplateOverridesListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetLaunchTemplateOverridesRequest', 'locationName' => 'item', ], 'max' => 50, ], 'FleetLaunchTemplateOverridesRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', ], 'MaxPrice' => [ 'shape' => 'String', ], 'SubnetId' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'WeightedCapacity' => [ 'shape' => 'Double', ], 'Priority' => [ 'shape' => 'Double', ], 'Placement' => [ 'shape' => 'Placement', ], ], ], 'FleetLaunchTemplateSpecification' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', 'locationName' => 'launchTemplateId', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', 'locationName' => 'launchTemplateName', ], 'Version' => [ 'shape' => 'String', 'locationName' => 'version', ], ], ], 'FleetLaunchTemplateSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'Version' => [ 'shape' => 'String', ], ], ], 'FleetOnDemandAllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowest-price', 'prioritized', ], ], 'FleetSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetData', 'locationName' => 'item', ], ], 'FleetStateCode' => [ 'type' => 'string', 'enum' => [ 'submitted', 'active', 'deleted', 'failed', 'deleted-running', 'deleted-terminating', 'modifying', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'request', 'maintain', 'instant', ], ], 'Float' => [ 'type' => 'float', ], 'FlowLog' => [ 'type' => 'structure', 'members' => [ 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'DeliverLogsErrorMessage' => [ 'shape' => 'String', 'locationName' => 'deliverLogsErrorMessage', ], 'DeliverLogsPermissionArn' => [ 'shape' => 'String', 'locationName' => 'deliverLogsPermissionArn', ], 'DeliverLogsStatus' => [ 'shape' => 'String', 'locationName' => 'deliverLogsStatus', ], 'FlowLogId' => [ 'shape' => 'String', 'locationName' => 'flowLogId', ], 'FlowLogStatus' => [ 'shape' => 'String', 'locationName' => 'flowLogStatus', ], 'LogGroupName' => [ 'shape' => 'String', 'locationName' => 'logGroupName', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'TrafficType' => [ 'shape' => 'TrafficType', 'locationName' => 'trafficType', ], 'LogDestinationType' => [ 'shape' => 'LogDestinationType', 'locationName' => 'logDestinationType', ], 'LogDestination' => [ 'shape' => 'String', 'locationName' => 'logDestination', ], ], ], 'FlowLogSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'FlowLog', 'locationName' => 'item', ], ], 'FlowLogsResourceType' => [ 'type' => 'string', 'enum' => [ 'VPC', 'Subnet', 'NetworkInterface', ], ], 'FpgaImage' => [ 'type' => 'structure', 'members' => [ 'FpgaImageId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageId', ], 'FpgaImageGlobalId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageGlobalId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'ShellVersion' => [ 'shape' => 'String', 'locationName' => 'shellVersion', ], 'PciId' => [ 'shape' => 'PciId', 'locationName' => 'pciId', ], 'State' => [ 'shape' => 'FpgaImageState', 'locationName' => 'state', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'OwnerAlias' => [ 'shape' => 'String', 'locationName' => 'ownerAlias', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tags', ], 'Public' => [ 'shape' => 'Boolean', 'locationName' => 'public', ], 'DataRetentionSupport' => [ 'shape' => 'Boolean', 'locationName' => 'dataRetentionSupport', ], ], ], 'FpgaImageAttribute' => [ 'type' => 'structure', 'members' => [ 'FpgaImageId' => [ 'shape' => 'String', 'locationName' => 'fpgaImageId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'LoadPermissions' => [ 'shape' => 'LoadPermissionList', 'locationName' => 'loadPermissions', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], ], ], 'FpgaImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'description', 'name', 'loadPermission', 'productCodes', ], ], 'FpgaImageIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'FpgaImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FpgaImage', 'locationName' => 'item', ], ], 'FpgaImageState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'FpgaImageStateCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'FpgaImageStateCode' => [ 'type' => 'string', 'enum' => [ 'pending', 'failed', 'available', 'unavailable', ], ], 'GatewayType' => [ 'type' => 'string', 'enum' => [ 'ipsec.1', ], ], 'GetConsoleOutputRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Latest' => [ 'shape' => 'Boolean', ], ], ], 'GetConsoleOutputResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Output' => [ 'shape' => 'String', 'locationName' => 'output', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'GetConsoleScreenshotRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'WakeUp' => [ 'shape' => 'Boolean', ], ], ], 'GetConsoleScreenshotResult' => [ 'type' => 'structure', 'members' => [ 'ImageData' => [ 'shape' => 'String', 'locationName' => 'imageData', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'GetHostReservationPurchasePreviewRequest' => [ 'type' => 'structure', 'required' => [ 'HostIdSet', 'OfferingId', ], 'members' => [ 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'GetHostReservationPurchasePreviewResult' => [ 'type' => 'structure', 'members' => [ 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], ], ], 'GetLaunchTemplateDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'GetLaunchTemplateDataResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateData' => [ 'shape' => 'ResponseLaunchTemplateData', 'locationName' => 'launchTemplateData', ], ], ], 'GetPasswordDataRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'GetPasswordDataResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PasswordData' => [ 'shape' => 'String', 'locationName' => 'passwordData', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'GetReservedInstancesExchangeQuoteRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstanceIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ReservedInstanceIds' => [ 'shape' => 'ReservedInstanceIdSet', 'locationName' => 'ReservedInstanceId', ], 'TargetConfigurations' => [ 'shape' => 'TargetConfigurationRequestSet', 'locationName' => 'TargetConfiguration', ], ], ], 'GetReservedInstancesExchangeQuoteResult' => [ 'type' => 'structure', 'members' => [ 'CurrencyCode' => [ 'shape' => 'String', 'locationName' => 'currencyCode', ], 'IsValidExchange' => [ 'shape' => 'Boolean', 'locationName' => 'isValidExchange', ], 'OutputReservedInstancesWillExpireAt' => [ 'shape' => 'DateTime', 'locationName' => 'outputReservedInstancesWillExpireAt', ], 'PaymentDue' => [ 'shape' => 'String', 'locationName' => 'paymentDue', ], 'ReservedInstanceValueRollup' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservedInstanceValueRollup', ], 'ReservedInstanceValueSet' => [ 'shape' => 'ReservedInstanceReservationValueSet', 'locationName' => 'reservedInstanceValueSet', ], 'TargetConfigurationValueRollup' => [ 'shape' => 'ReservationValue', 'locationName' => 'targetConfigurationValueRollup', ], 'TargetConfigurationValueSet' => [ 'shape' => 'TargetReservationValueSet', 'locationName' => 'targetConfigurationValueSet', ], 'ValidationFailureReason' => [ 'shape' => 'String', 'locationName' => 'validationFailureReason', ], ], ], 'GetTransitGatewayAttachmentPropagationsRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'GetTransitGatewayAttachmentPropagationsResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentPropagations' => [ 'shape' => 'TransitGatewayAttachmentPropagationList', 'locationName' => 'transitGatewayAttachmentPropagations', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'GetTransitGatewayRouteTableAssociationsRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'GetTransitGatewayRouteTableAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'Associations' => [ 'shape' => 'TransitGatewayRouteTableAssociationList', 'locationName' => 'associations', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'GetTransitGatewayRouteTablePropagationsRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'NextToken' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'GetTransitGatewayRouteTablePropagationsResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTablePropagations' => [ 'shape' => 'TransitGatewayRouteTablePropagationList', 'locationName' => 'transitGatewayRouteTablePropagations', ], 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], ], ], 'GroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], 'GroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], ], ], 'GroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupIdentifier', 'locationName' => 'item', ], ], 'GroupIdentifierSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupIdentifier', 'locationName' => 'item', ], ], 'GroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'GroupNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'GroupName', ], ], 'HibernationOptions' => [ 'type' => 'structure', 'members' => [ 'Configured' => [ 'shape' => 'Boolean', 'locationName' => 'configured', ], ], ], 'HibernationOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'Configured' => [ 'shape' => 'Boolean', ], ], ], 'HistoryRecord' => [ 'type' => 'structure', 'members' => [ 'EventInformation' => [ 'shape' => 'EventInformation', 'locationName' => 'eventInformation', ], 'EventType' => [ 'shape' => 'EventType', 'locationName' => 'eventType', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'HistoryRecordEntry' => [ 'type' => 'structure', 'members' => [ 'EventInformation' => [ 'shape' => 'EventInformation', 'locationName' => 'eventInformation', ], 'EventType' => [ 'shape' => 'FleetEventType', 'locationName' => 'eventType', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'HistoryRecordSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryRecordEntry', 'locationName' => 'item', ], ], 'HistoryRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryRecord', 'locationName' => 'item', ], ], 'Host' => [ 'type' => 'structure', 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'AvailableCapacity' => [ 'shape' => 'AvailableCapacity', 'locationName' => 'availableCapacity', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'HostProperties' => [ 'shape' => 'HostProperties', 'locationName' => 'hostProperties', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'Instances' => [ 'shape' => 'HostInstanceList', 'locationName' => 'instances', ], 'State' => [ 'shape' => 'AllocationState', 'locationName' => 'state', ], 'AllocationTime' => [ 'shape' => 'DateTime', 'locationName' => 'allocationTime', ], 'ReleaseTime' => [ 'shape' => 'DateTime', 'locationName' => 'releaseTime', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'HostInstance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], ], ], 'HostInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostInstance', 'locationName' => 'item', ], ], 'HostList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Host', 'locationName' => 'item', ], ], 'HostOffering' => [ 'type' => 'structure', 'members' => [ 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], ], ], 'HostOfferingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostOffering', 'locationName' => 'item', ], ], 'HostProperties' => [ 'type' => 'structure', 'members' => [ 'Cores' => [ 'shape' => 'Integer', 'locationName' => 'cores', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'Sockets' => [ 'shape' => 'Integer', 'locationName' => 'sockets', ], 'TotalVCpus' => [ 'shape' => 'Integer', 'locationName' => 'totalVCpus', ], ], ], 'HostReservation' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'HostReservationIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'HostReservationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostReservation', 'locationName' => 'item', ], ], 'HostTenancy' => [ 'type' => 'string', 'enum' => [ 'dedicated', 'host', ], ], 'HypervisorType' => [ 'type' => 'string', 'enum' => [ 'ovm', 'xen', ], ], 'IamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Id' => [ 'shape' => 'String', 'locationName' => 'id', ], ], ], 'IamInstanceProfileAssociation' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'State' => [ 'shape' => 'IamInstanceProfileAssociationState', 'locationName' => 'state', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'IamInstanceProfileAssociationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'IamInstanceProfileAssociation', 'locationName' => 'item', ], ], 'IamInstanceProfileAssociationState' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', ], ], 'IamInstanceProfileSpecification' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'IcmpTypeCode' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], 'Type' => [ 'shape' => 'Integer', 'locationName' => 'type', ], ], ], 'IdFormat' => [ 'type' => 'structure', 'members' => [ 'Deadline' => [ 'shape' => 'DateTime', 'locationName' => 'deadline', ], 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], ], ], 'IdFormatList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdFormat', 'locationName' => 'item', ], ], 'Image' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'CreationDate' => [ 'shape' => 'String', 'locationName' => 'creationDate', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImageLocation' => [ 'shape' => 'String', 'locationName' => 'imageLocation', ], 'ImageType' => [ 'shape' => 'ImageTypeValues', 'locationName' => 'imageType', ], 'Public' => [ 'shape' => 'Boolean', 'locationName' => 'isPublic', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'imageOwnerId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'State' => [ 'shape' => 'ImageState', 'locationName' => 'imageState', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], 'ImageOwnerAlias' => [ 'shape' => 'String', 'locationName' => 'imageOwnerAlias', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], ], ], 'ImageAttribute' => [ 'type' => 'structure', 'members' => [ 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'LaunchPermissions' => [ 'shape' => 'LaunchPermissionList', 'locationName' => 'launchPermission', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], ], ], 'ImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'description', 'kernel', 'ramdisk', 'launchPermission', 'productCodes', 'blockDeviceMapping', 'sriovNetSupport', ], ], 'ImageDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'DeviceName' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'SnapshotId' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], ], ], 'ImageDiskContainerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageDiskContainer', 'locationName' => 'item', ], ], 'ImageIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImageId', ], ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', 'locationName' => 'item', ], ], 'ImageState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'invalid', 'deregistered', 'transient', 'failed', 'error', ], ], 'ImageTypeValues' => [ 'type' => 'string', 'enum' => [ 'machine', 'kernel', 'ramdisk', ], ], 'ImportClientVpnClientCertificateRevocationListRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'CertificateRevocationList', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'CertificateRevocationList' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ImportClientVpnClientCertificateRevocationListResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ImportImageRequest' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'String', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainers' => [ 'shape' => 'ImageDiskContainerList', 'locationName' => 'DiskContainer', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'Hypervisor' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'LicenseType' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportImageResult' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'ImportImageTask' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'String', 'locationName' => 'architecture', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'LicenseType' => [ 'shape' => 'String', 'locationName' => 'licenseType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'SnapshotDetails' => [ 'shape' => 'SnapshotDetailList', 'locationName' => 'snapshotDetailSet', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'ImportImageTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportImageTask', 'locationName' => 'item', ], ], 'ImportInstanceLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'GroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'GroupId', ], 'GroupNames' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'GroupName', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Monitoring' => [ 'shape' => 'Boolean', 'locationName' => 'monitoring', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'UserData' => [ 'shape' => 'UserData', 'locationName' => 'userData', ], ], ], 'ImportInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Platform', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DiskImages' => [ 'shape' => 'DiskImageList', 'locationName' => 'diskImage', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'LaunchSpecification' => [ 'shape' => 'ImportInstanceLaunchSpecification', 'locationName' => 'launchSpecification', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], ], ], 'ImportInstanceResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportInstanceTaskDetails' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'Volumes' => [ 'shape' => 'ImportInstanceVolumeDetailSet', 'locationName' => 'volumes', ], ], ], 'ImportInstanceVolumeDetailItem' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], ], ], 'ImportInstanceVolumeDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportInstanceVolumeDetailItem', 'locationName' => 'item', ], ], 'ImportKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'KeyName', 'PublicKeyMaterial', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'PublicKeyMaterial' => [ 'shape' => 'Blob', 'locationName' => 'publicKeyMaterial', ], ], ], 'ImportKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], ], ], 'ImportSnapshotRequest' => [ 'type' => 'structure', 'members' => [ 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainer' => [ 'shape' => 'SnapshotDiskContainer', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'RoleName' => [ 'shape' => 'String', ], ], ], 'ImportSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], ], ], 'ImportSnapshotTask' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], 'SnapshotTaskDetail' => [ 'shape' => 'SnapshotTaskDetail', 'locationName' => 'snapshotTaskDetail', ], ], ], 'ImportSnapshotTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportSnapshotTask', 'locationName' => 'item', ], ], 'ImportTaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ImportTaskId', ], ], 'ImportVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'AvailabilityZone', 'Image', 'Volume', ], 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Image' => [ 'shape' => 'DiskImageDetail', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'VolumeDetail', 'locationName' => 'volume', ], ], ], 'ImportVolumeResult' => [ 'type' => 'structure', 'members' => [ 'ConversionTask' => [ 'shape' => 'ConversionTask', 'locationName' => 'conversionTask', ], ], ], 'ImportVolumeTaskDetails' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'BytesConverted' => [ 'shape' => 'Long', 'locationName' => 'bytesConverted', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Image' => [ 'shape' => 'DiskImageDescription', 'locationName' => 'image', ], 'Volume' => [ 'shape' => 'DiskImageVolumeDescription', 'locationName' => 'volume', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'AmiLaunchIndex' => [ 'shape' => 'Integer', 'locationName' => 'amiLaunchIndex', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'LaunchTime' => [ 'shape' => 'DateTime', 'locationName' => 'launchTime', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], 'Placement' => [ 'shape' => 'Placement', 'locationName' => 'placement', ], 'Platform' => [ 'shape' => 'PlatformValues', 'locationName' => 'platform', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'dnsName', ], 'PublicIpAddress' => [ 'shape' => 'String', 'locationName' => 'ipAddress', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'State' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'StateTransitionReason' => [ 'shape' => 'String', 'locationName' => 'reason', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], 'Hypervisor' => [ 'shape' => 'HypervisorType', 'locationName' => 'hypervisor', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'InstanceLifecycle' => [ 'shape' => 'InstanceLifecycleType', 'locationName' => 'instanceLifecycle', ], 'ElasticGpuAssociations' => [ 'shape' => 'ElasticGpuAssociationList', 'locationName' => 'elasticGpuAssociationSet', ], 'ElasticInferenceAcceleratorAssociations' => [ 'shape' => 'ElasticInferenceAcceleratorAssociationList', 'locationName' => 'elasticInferenceAcceleratorAssociationSet', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceList', 'locationName' => 'networkInterfaceSet', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'RootDeviceType' => [ 'shape' => 'DeviceType', 'locationName' => 'rootDeviceType', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'StateReason' => [ 'shape' => 'StateReason', 'locationName' => 'stateReason', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', 'locationName' => 'virtualizationType', ], 'CpuOptions' => [ 'shape' => 'CpuOptions', 'locationName' => 'cpuOptions', ], 'CapacityReservationId' => [ 'shape' => 'String', 'locationName' => 'capacityReservationId', ], 'CapacityReservationSpecification' => [ 'shape' => 'CapacityReservationSpecificationResponse', 'locationName' => 'capacityReservationSpecification', ], 'HibernationOptions' => [ 'shape' => 'HibernationOptions', 'locationName' => 'hibernationOptions', ], 'Licenses' => [ 'shape' => 'LicenseList', 'locationName' => 'licenseSet', ], ], ], 'InstanceAttribute' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'ProductCodes' => [ 'shape' => 'ProductCodeList', 'locationName' => 'productCodes', ], 'RamdiskId' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'RootDeviceName' => [ 'shape' => 'AttributeValue', 'locationName' => 'rootDeviceName', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'UserData' => [ 'shape' => 'AttributeValue', 'locationName' => 'userData', ], ], ], 'InstanceAttributeName' => [ 'type' => 'string', 'enum' => [ 'instanceType', 'kernel', 'ramdisk', 'userData', 'disableApiTermination', 'instanceInitiatedShutdownBehavior', 'rootDeviceName', 'blockDeviceMapping', 'productCodes', 'sourceDestCheck', 'groupSet', 'ebsOptimized', 'sriovNetSupport', 'enaSupport', ], ], 'InstanceBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDevice', 'locationName' => 'ebs', ], ], ], 'InstanceBlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMapping', 'locationName' => 'item', ], ], 'InstanceBlockDeviceMappingSpecification' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'Ebs' => [ 'shape' => 'EbsInstanceBlockDeviceSpecification', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], ], ], 'InstanceBlockDeviceMappingSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceBlockDeviceMappingSpecification', 'locationName' => 'item', ], ], 'InstanceCapacity' => [ 'type' => 'structure', 'members' => [ 'AvailableCapacity' => [ 'shape' => 'Integer', 'locationName' => 'availableCapacity', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'TotalCapacity' => [ 'shape' => 'Integer', 'locationName' => 'totalCapacity', ], ], ], 'InstanceCount' => [ 'type' => 'structure', 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'State' => [ 'shape' => 'ListingState', 'locationName' => 'state', ], ], ], 'InstanceCountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCount', 'locationName' => 'item', ], ], 'InstanceCreditSpecification' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'CpuCredits' => [ 'shape' => 'String', 'locationName' => 'cpuCredits', ], ], ], 'InstanceCreditSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCreditSpecification', 'locationName' => 'item', ], ], 'InstanceCreditSpecificationListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceCreditSpecificationRequest', 'locationName' => 'item', ], ], 'InstanceCreditSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'CpuCredits' => [ 'shape' => 'String', ], ], ], 'InstanceEventId' => [ 'type' => 'string', ], 'InstanceExportDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'InstanceHealthStatus' => [ 'type' => 'string', 'enum' => [ 'healthy', 'unhealthy', ], ], 'InstanceId' => [ 'type' => 'string', ], 'InstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'InstanceIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'InstanceId', ], ], 'InstanceIdsSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', 'locationName' => 'item', ], ], 'InstanceInterruptionBehavior' => [ 'type' => 'string', 'enum' => [ 'hibernate', 'stop', 'terminate', ], ], 'InstanceIpv6Address' => [ 'type' => 'structure', 'members' => [ 'Ipv6Address' => [ 'shape' => 'String', 'locationName' => 'ipv6Address', ], ], ], 'InstanceIpv6AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceIpv6Address', 'locationName' => 'item', ], ], 'InstanceIpv6AddressListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceIpv6AddressRequest', 'locationName' => 'InstanceIpv6Address', ], ], 'InstanceIpv6AddressRequest' => [ 'type' => 'structure', 'members' => [ 'Ipv6Address' => [ 'shape' => 'String', ], ], ], 'InstanceLifecycle' => [ 'type' => 'string', 'enum' => [ 'spot', 'on-demand', ], ], 'InstanceLifecycleType' => [ 'type' => 'string', 'enum' => [ 'spot', 'scheduled', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', 'locationName' => 'item', ], ], 'InstanceMarketOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'MarketType' => [ 'shape' => 'MarketType', ], 'SpotOptions' => [ 'shape' => 'SpotMarketOptions', ], ], ], 'InstanceMatchCriteria' => [ 'type' => 'string', 'enum' => [ 'open', 'targeted', ], ], 'InstanceMonitoring' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Monitoring' => [ 'shape' => 'Monitoring', 'locationName' => 'monitoring', ], ], ], 'InstanceMonitoringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceMonitoring', 'locationName' => 'item', ], ], 'InstanceNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], 'Attachment' => [ 'shape' => 'InstanceNetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressList', 'locationName' => 'ipv6AddressesSet', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'InstancePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'InstanceNetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'InstanceNetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], ], ], 'InstanceNetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterface', 'locationName' => 'item', ], ], 'InstanceNetworkInterfaceSpecification' => [ 'type' => 'structure', 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', 'locationName' => 'associatePublicIpAddress', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', 'locationName' => 'ipv6AddressCount', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressList', 'locationName' => 'ipv6AddressesSet', 'queryName' => 'Ipv6Addresses', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddressesSet', 'queryName' => 'PrivateIpAddresses', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'InstanceNetworkInterfaceSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceNetworkInterfaceSpecification', 'locationName' => 'item', ], ], 'InstancePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'InstanceNetworkInterfaceAssociation', 'locationName' => 'association', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'InstancePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePrivateIpAddress', 'locationName' => 'item', ], ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'Integer', 'locationName' => 'code', ], 'Name' => [ 'shape' => 'InstanceStateName', 'locationName' => 'name', ], ], ], 'InstanceStateChange' => [ 'type' => 'structure', 'members' => [ 'CurrentState' => [ 'shape' => 'InstanceState', 'locationName' => 'currentState', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'PreviousState' => [ 'shape' => 'InstanceState', 'locationName' => 'previousState', ], ], ], 'InstanceStateChangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStateChange', 'locationName' => 'item', ], ], 'InstanceStateName' => [ 'type' => 'string', 'enum' => [ 'pending', 'running', 'shutting-down', 'terminated', 'stopping', 'stopped', ], ], 'InstanceStatus' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Events' => [ 'shape' => 'InstanceStatusEventList', 'locationName' => 'eventsSet', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceState' => [ 'shape' => 'InstanceState', 'locationName' => 'instanceState', ], 'InstanceStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'instanceStatus', ], 'SystemStatus' => [ 'shape' => 'InstanceStatusSummary', 'locationName' => 'systemStatus', ], ], ], 'InstanceStatusDetails' => [ 'type' => 'structure', 'members' => [ 'ImpairedSince' => [ 'shape' => 'DateTime', 'locationName' => 'impairedSince', ], 'Name' => [ 'shape' => 'StatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'StatusType', 'locationName' => 'status', ], ], ], 'InstanceStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusDetails', 'locationName' => 'item', ], ], 'InstanceStatusEvent' => [ 'type' => 'structure', 'members' => [ 'InstanceEventId' => [ 'shape' => 'InstanceEventId', 'locationName' => 'instanceEventId', ], 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], 'NotBeforeDeadline' => [ 'shape' => 'DateTime', 'locationName' => 'notBeforeDeadline', ], ], ], 'InstanceStatusEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatusEvent', 'locationName' => 'item', ], ], 'InstanceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceStatus', 'locationName' => 'item', ], ], 'InstanceStatusSummary' => [ 'type' => 'structure', 'members' => [ 'Details' => [ 'shape' => 'InstanceStatusDetailsList', 'locationName' => 'details', ], 'Status' => [ 'shape' => 'SummaryStatus', 'locationName' => 'status', ], ], ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 't1.micro', 't2.nano', 't2.micro', 't2.small', 't2.medium', 't2.large', 't2.xlarge', 't2.2xlarge', 't3.nano', 't3.micro', 't3.small', 't3.medium', 't3.large', 't3.xlarge', 't3.2xlarge', 'm1.small', 'm1.medium', 'm1.large', 'm1.xlarge', 'm3.medium', 'm3.large', 'm3.xlarge', 'm3.2xlarge', 'm4.large', 'm4.xlarge', 'm4.2xlarge', 'm4.4xlarge', 'm4.10xlarge', 'm4.16xlarge', 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge', 'cr1.8xlarge', 'r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge', 'r4.large', 'r4.xlarge', 'r4.2xlarge', 'r4.4xlarge', 'r4.8xlarge', 'r4.16xlarge', 'r5.large', 'r5.xlarge', 'r5.2xlarge', 'r5.4xlarge', 'r5.12xlarge', 'r5.24xlarge', 'r5.metal', 'r5a.large', 'r5a.xlarge', 'r5a.2xlarge', 'r5a.4xlarge', 'r5a.12xlarge', 'r5a.24xlarge', 'r5d.large', 'r5d.xlarge', 'r5d.2xlarge', 'r5d.4xlarge', 'r5d.12xlarge', 'r5d.24xlarge', 'r5d.metal', 'r5ad.large', 'r5ad.xlarge', 'r5ad.2xlarge', 'r5ad.4xlarge', 'r5ad.8xlarge', 'r5ad.12xlarge', 'r5ad.16xlarge', 'r5ad.24xlarge', 'x1.16xlarge', 'x1.32xlarge', 'x1e.xlarge', 'x1e.2xlarge', 'x1e.4xlarge', 'x1e.8xlarge', 'x1e.16xlarge', 'x1e.32xlarge', 'i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge', 'i3.large', 'i3.xlarge', 'i3.2xlarge', 'i3.4xlarge', 'i3.8xlarge', 'i3.16xlarge', 'i3.metal', 'hi1.4xlarge', 'hs1.8xlarge', 'c1.medium', 'c1.xlarge', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'c4.large', 'c4.xlarge', 'c4.2xlarge', 'c4.4xlarge', 'c4.8xlarge', 'c5.large', 'c5.xlarge', 'c5.2xlarge', 'c5.4xlarge', 'c5.9xlarge', 'c5.18xlarge', 'c5d.large', 'c5d.xlarge', 'c5d.2xlarge', 'c5d.4xlarge', 'c5d.9xlarge', 'c5d.18xlarge', 'c5n.large', 'c5n.xlarge', 'c5n.2xlarge', 'c5n.4xlarge', 'c5n.9xlarge', 'c5n.18xlarge', 'cc1.4xlarge', 'cc2.8xlarge', 'g2.2xlarge', 'g2.8xlarge', 'g3.4xlarge', 'g3.8xlarge', 'g3.16xlarge', 'g3s.xlarge', 'cg1.4xlarge', 'p2.xlarge', 'p2.8xlarge', 'p2.16xlarge', 'p3.2xlarge', 'p3.8xlarge', 'p3.16xlarge', 'p3dn.24xlarge', 'd2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge', 'f1.2xlarge', 'f1.4xlarge', 'f1.16xlarge', 'm5.large', 'm5.xlarge', 'm5.2xlarge', 'm5.4xlarge', 'm5.12xlarge', 'm5.24xlarge', 'm5.metal', 'm5a.large', 'm5a.xlarge', 'm5a.2xlarge', 'm5a.4xlarge', 'm5a.12xlarge', 'm5a.24xlarge', 'm5d.large', 'm5d.xlarge', 'm5d.2xlarge', 'm5d.4xlarge', 'm5d.12xlarge', 'm5d.24xlarge', 'm5d.metal', 'm5ad.large', 'm5ad.xlarge', 'm5ad.2xlarge', 'm5ad.4xlarge', 'm5ad.8xlarge', 'm5ad.12xlarge', 'm5ad.16xlarge', 'm5ad.24xlarge', 'h1.2xlarge', 'h1.4xlarge', 'h1.8xlarge', 'h1.16xlarge', 'z1d.large', 'z1d.xlarge', 'z1d.2xlarge', 'z1d.3xlarge', 'z1d.6xlarge', 'z1d.12xlarge', 'z1d.metal', 'u-6tb1.metal', 'u-9tb1.metal', 'u-12tb1.metal', 'a1.medium', 'a1.large', 'a1.xlarge', 'a1.2xlarge', 'a1.4xlarge', ], ], 'InstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceType', ], ], 'Integer' => [ 'type' => 'integer', ], 'InterfacePermissionType' => [ 'type' => 'string', 'enum' => [ 'INSTANCE-ATTACH', 'EIP-ASSOCIATE', ], ], 'InternetGateway' => [ 'type' => 'structure', 'members' => [ 'Attachments' => [ 'shape' => 'InternetGatewayAttachmentList', 'locationName' => 'attachmentSet', ], 'InternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'internetGatewayId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'InternetGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'InternetGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGatewayAttachment', 'locationName' => 'item', ], ], 'InternetGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InternetGateway', 'locationName' => 'item', ], ], 'IpPermission' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'IpRanges' => [ 'shape' => 'IpRangeList', 'locationName' => 'ipRanges', ], 'Ipv6Ranges' => [ 'shape' => 'Ipv6RangeList', 'locationName' => 'ipv6Ranges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdList', 'locationName' => 'prefixListIds', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairList', 'locationName' => 'groups', ], ], ], 'IpPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpPermission', 'locationName' => 'item', ], ], 'IpRange' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'IpRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRange', 'locationName' => 'item', ], ], 'IpRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'Ipv6Address' => [ 'type' => 'string', ], 'Ipv6AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'Ipv6CidrBlock' => [ 'type' => 'structure', 'members' => [ 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], ], ], 'Ipv6CidrBlockSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ipv6CidrBlock', 'locationName' => 'item', ], ], 'Ipv6Range' => [ 'type' => 'structure', 'members' => [ 'CidrIpv6' => [ 'shape' => 'String', 'locationName' => 'cidrIpv6', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], ], ], 'Ipv6RangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ipv6Range', 'locationName' => 'item', ], ], 'Ipv6SupportValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'KeyNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'KeyName', ], ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyMaterial' => [ 'shape' => 'String', 'locationName' => 'keyMaterial', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], ], ], 'KeyPairInfo' => [ 'type' => 'structure', 'members' => [ 'KeyFingerprint' => [ 'shape' => 'String', 'locationName' => 'keyFingerprint', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], ], ], 'KeyPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPairInfo', 'locationName' => 'item', ], ], 'LaunchPermission' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], ], ], 'LaunchPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchPermission', 'locationName' => 'item', ], ], 'LaunchPermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'LaunchPermissionList', ], 'Remove' => [ 'shape' => 'LaunchPermissionList', ], ], ], 'LaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], ], ], 'LaunchSpecsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetLaunchSpecification', 'locationName' => 'item', ], ], 'LaunchTemplate' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', 'locationName' => 'launchTemplateId', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', 'locationName' => 'launchTemplateName', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'CreatedBy' => [ 'shape' => 'String', 'locationName' => 'createdBy', ], 'DefaultVersionNumber' => [ 'shape' => 'Long', 'locationName' => 'defaultVersionNumber', ], 'LatestVersionNumber' => [ 'shape' => 'Long', 'locationName' => 'latestVersionNumber', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'LaunchTemplateAndOverridesResponse' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateSpecification' => [ 'shape' => 'FleetLaunchTemplateSpecification', 'locationName' => 'launchTemplateSpecification', ], 'Overrides' => [ 'shape' => 'FleetLaunchTemplateOverrides', 'locationName' => 'overrides', ], ], ], 'LaunchTemplateBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'VirtualName' => [ 'shape' => 'String', 'locationName' => 'virtualName', ], 'Ebs' => [ 'shape' => 'LaunchTemplateEbsBlockDevice', 'locationName' => 'ebs', ], 'NoDevice' => [ 'shape' => 'String', 'locationName' => 'noDevice', ], ], ], 'LaunchTemplateBlockDeviceMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateBlockDeviceMapping', 'locationName' => 'item', ], ], 'LaunchTemplateBlockDeviceMappingRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'LaunchTemplateEbsBlockDeviceRequest', ], 'NoDevice' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateBlockDeviceMappingRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateBlockDeviceMappingRequest', 'locationName' => 'BlockDeviceMapping', ], ], 'LaunchTemplateCapacityReservationSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationPreference' => [ 'shape' => 'CapacityReservationPreference', ], 'CapacityReservationTarget' => [ 'shape' => 'CapacityReservationTarget', ], ], ], 'LaunchTemplateCapacityReservationSpecificationResponse' => [ 'type' => 'structure', 'members' => [ 'CapacityReservationPreference' => [ 'shape' => 'CapacityReservationPreference', 'locationName' => 'capacityReservationPreference', ], 'CapacityReservationTarget' => [ 'shape' => 'CapacityReservationTargetResponse', 'locationName' => 'capacityReservationTarget', ], ], ], 'LaunchTemplateConfig' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateSpecification' => [ 'shape' => 'FleetLaunchTemplateSpecification', 'locationName' => 'launchTemplateSpecification', ], 'Overrides' => [ 'shape' => 'LaunchTemplateOverridesList', 'locationName' => 'overrides', ], ], ], 'LaunchTemplateConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateConfig', 'locationName' => 'item', ], ], 'LaunchTemplateCpuOptions' => [ 'type' => 'structure', 'members' => [ 'CoreCount' => [ 'shape' => 'Integer', 'locationName' => 'coreCount', ], 'ThreadsPerCore' => [ 'shape' => 'Integer', 'locationName' => 'threadsPerCore', ], ], ], 'LaunchTemplateCpuOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'CoreCount' => [ 'shape' => 'Integer', ], 'ThreadsPerCore' => [ 'shape' => 'Integer', ], ], ], 'LaunchTemplateEbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], ], ], 'LaunchTemplateEbsBlockDeviceRequest' => [ 'type' => 'structure', 'members' => [ 'Encrypted' => [ 'shape' => 'Boolean', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'Iops' => [ 'shape' => 'Integer', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], ], ], 'LaunchTemplateElasticInferenceAccelerator' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateElasticInferenceAcceleratorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateElasticInferenceAccelerator', 'locationName' => 'item', ], ], 'LaunchTemplateElasticInferenceAcceleratorResponse' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', 'locationName' => 'type', ], ], ], 'LaunchTemplateElasticInferenceAcceleratorResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateElasticInferenceAcceleratorResponse', 'locationName' => 'item', ], ], 'LaunchTemplateErrorCode' => [ 'type' => 'string', 'enum' => [ 'launchTemplateIdDoesNotExist', 'launchTemplateIdMalformed', 'launchTemplateNameDoesNotExist', 'launchTemplateNameMalformed', 'launchTemplateVersionDoesNotExist', 'unexpectedError', ], ], 'LaunchTemplateHibernationOptions' => [ 'type' => 'structure', 'members' => [ 'Configured' => [ 'shape' => 'Boolean', 'locationName' => 'configured', ], ], ], 'LaunchTemplateHibernationOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'Configured' => [ 'shape' => 'Boolean', ], ], ], 'LaunchTemplateIamInstanceProfileSpecification' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'LaunchTemplateIamInstanceProfileSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateInstanceMarketOptions' => [ 'type' => 'structure', 'members' => [ 'MarketType' => [ 'shape' => 'MarketType', 'locationName' => 'marketType', ], 'SpotOptions' => [ 'shape' => 'LaunchTemplateSpotMarketOptions', 'locationName' => 'spotOptions', ], ], ], 'LaunchTemplateInstanceMarketOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'MarketType' => [ 'shape' => 'MarketType', ], 'SpotOptions' => [ 'shape' => 'LaunchTemplateSpotMarketOptionsRequest', ], ], ], 'LaunchTemplateInstanceNetworkInterfaceSpecification' => [ 'type' => 'structure', 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', 'locationName' => 'associatePublicIpAddress', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'groupSet', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', 'locationName' => 'ipv6AddressCount', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressList', 'locationName' => 'ipv6AddressesSet', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', 'locationName' => 'privateIpAddressesSet', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'secondaryPrivateIpAddressCount', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'LaunchTemplateInstanceNetworkInterfaceSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateInstanceNetworkInterfaceSpecification', 'locationName' => 'item', ], ], 'LaunchTemplateInstanceNetworkInterfaceSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DeviceIndex' => [ 'shape' => 'Integer', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressListRequest', ], 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressSpecificationList', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateInstanceNetworkInterfaceSpecificationRequest', 'locationName' => 'InstanceNetworkInterfaceSpecification', ], ], 'LaunchTemplateLicenseConfiguration' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', 'locationName' => 'licenseConfigurationArn', ], ], ], 'LaunchTemplateLicenseConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateLicenseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateLicenseConfiguration', 'locationName' => 'item', ], ], 'LaunchTemplateLicenseSpecificationListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateLicenseConfigurationRequest', 'locationName' => 'item', ], ], 'LaunchTemplateName' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '[a-zA-Z0-9\\(\\)\\.\\-/_]+', ], 'LaunchTemplateNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateName', 'locationName' => 'item', ], ], 'LaunchTemplateOverrides' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'Priority' => [ 'shape' => 'Double', 'locationName' => 'priority', ], ], ], 'LaunchTemplateOverridesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateOverrides', 'locationName' => 'item', ], ], 'LaunchTemplatePlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Affinity' => [ 'shape' => 'String', 'locationName' => 'affinity', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], 'SpreadDomain' => [ 'shape' => 'String', 'locationName' => 'spreadDomain', ], ], ], 'LaunchTemplatePlacementRequest' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'Affinity' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'HostId' => [ 'shape' => 'String', ], 'Tenancy' => [ 'shape' => 'Tenancy', ], 'SpreadDomain' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplate', 'locationName' => 'item', ], ], 'LaunchTemplateSpecification' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'LaunchTemplateSpotMarketOptions' => [ 'type' => 'structure', 'members' => [ 'MaxPrice' => [ 'shape' => 'String', 'locationName' => 'maxPrice', ], 'SpotInstanceType' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'spotInstanceType', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', 'locationName' => 'instanceInterruptionBehavior', ], ], ], 'LaunchTemplateSpotMarketOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxPrice' => [ 'shape' => 'String', ], 'SpotInstanceType' => [ 'shape' => 'SpotInstanceType', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', ], 'ValidUntil' => [ 'shape' => 'DateTime', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', ], ], ], 'LaunchTemplateTagSpecification' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'LaunchTemplateTagSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateTagSpecification', 'locationName' => 'item', ], ], 'LaunchTemplateTagSpecificationRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'LaunchTemplateTagSpecificationRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateTagSpecificationRequest', 'locationName' => 'LaunchTemplateTagSpecificationRequest', ], ], 'LaunchTemplateVersion' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplateId' => [ 'shape' => 'String', 'locationName' => 'launchTemplateId', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', 'locationName' => 'launchTemplateName', ], 'VersionNumber' => [ 'shape' => 'Long', 'locationName' => 'versionNumber', ], 'VersionDescription' => [ 'shape' => 'VersionDescription', 'locationName' => 'versionDescription', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'CreatedBy' => [ 'shape' => 'String', 'locationName' => 'createdBy', ], 'DefaultVersion' => [ 'shape' => 'Boolean', 'locationName' => 'defaultVersion', ], 'LaunchTemplateData' => [ 'shape' => 'ResponseLaunchTemplateData', 'locationName' => 'launchTemplateData', ], ], ], 'LaunchTemplateVersionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplateVersion', 'locationName' => 'item', ], ], 'LaunchTemplatesMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'LaunchTemplatesMonitoringRequest' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'LicenseConfiguration' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', 'locationName' => 'licenseConfigurationArn', ], ], ], 'LicenseConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'LicenseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseConfiguration', 'locationName' => 'item', ], ], 'LicenseSpecificationListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseConfigurationRequest', 'locationName' => 'item', ], ], 'ListingState' => [ 'type' => 'string', 'enum' => [ 'available', 'sold', 'cancelled', 'pending', ], ], 'ListingStatus' => [ 'type' => 'string', 'enum' => [ 'active', 'pending', 'cancelled', 'closed', ], ], 'LoadBalancersConfig' => [ 'type' => 'structure', 'members' => [ 'ClassicLoadBalancersConfig' => [ 'shape' => 'ClassicLoadBalancersConfig', 'locationName' => 'classicLoadBalancersConfig', ], 'TargetGroupsConfig' => [ 'shape' => 'TargetGroupsConfig', 'locationName' => 'targetGroupsConfig', ], ], ], 'LoadPermission' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'Group' => [ 'shape' => 'PermissionGroup', 'locationName' => 'group', ], ], ], 'LoadPermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadPermission', 'locationName' => 'item', ], ], 'LoadPermissionListRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadPermissionRequest', 'locationName' => 'item', ], ], 'LoadPermissionModifications' => [ 'type' => 'structure', 'members' => [ 'Add' => [ 'shape' => 'LoadPermissionListRequest', ], 'Remove' => [ 'shape' => 'LoadPermissionListRequest', ], ], ], 'LoadPermissionRequest' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'PermissionGroup', ], 'UserId' => [ 'shape' => 'String', ], ], ], 'LogDestinationType' => [ 'type' => 'string', 'enum' => [ 'cloud-watch-logs', 's3', ], ], 'Long' => [ 'type' => 'long', ], 'MarketType' => [ 'type' => 'string', 'enum' => [ 'spot', ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 255, 'min' => 5, ], 'ModifyCapacityReservationRequest' => [ 'type' => 'structure', 'required' => [ 'CapacityReservationId', ], 'members' => [ 'CapacityReservationId' => [ 'shape' => 'String', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'EndDate' => [ 'shape' => 'DateTime', ], 'EndDateType' => [ 'shape' => 'EndDateType', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ModifyCapacityReservationResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyClientVpnEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'ServerCertificateArn' => [ 'shape' => 'String', ], 'ConnectionLogOptions' => [ 'shape' => 'ConnectionLogOptions', ], 'DnsServers' => [ 'shape' => 'DnsServersOptionsModifyStructure', ], 'Description' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ModifyClientVpnEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyFleetRequest' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'TargetCapacitySpecification', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'FleetExcessCapacityTerminationPolicy', ], 'FleetId' => [ 'shape' => 'FleetIdentifier', ], 'TargetCapacitySpecification' => [ 'shape' => 'TargetCapacitySpecificationRequest', ], ], ], 'ModifyFleetResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyFpgaImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'FpgaImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FpgaImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'FpgaImageAttributeName', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'UserGroups' => [ 'shape' => 'UserGroupStringList', 'locationName' => 'UserGroup', ], 'ProductCodes' => [ 'shape' => 'ProductCodeStringList', 'locationName' => 'ProductCode', ], 'LoadPermission' => [ 'shape' => 'LoadPermissionModifications', ], 'Description' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'ModifyFpgaImageAttributeResult' => [ 'type' => 'structure', 'members' => [ 'FpgaImageAttribute' => [ 'shape' => 'FpgaImageAttribute', 'locationName' => 'fpgaImageAttribute', ], ], ], 'ModifyHostsRequest' => [ 'type' => 'structure', 'required' => [ 'AutoPlacement', 'HostIds', ], 'members' => [ 'AutoPlacement' => [ 'shape' => 'AutoPlacement', 'locationName' => 'autoPlacement', ], 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], ], ], 'ModifyHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ModifyIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'UseLongIds', ], 'members' => [ 'Resource' => [ 'shape' => 'String', ], 'UseLongIds' => [ 'shape' => 'Boolean', ], ], ], 'ModifyIdentityIdFormatRequest' => [ 'type' => 'structure', 'required' => [ 'PrincipalArn', 'Resource', 'UseLongIds', ], 'members' => [ 'PrincipalArn' => [ 'shape' => 'String', 'locationName' => 'principalArn', ], 'Resource' => [ 'shape' => 'String', 'locationName' => 'resource', ], 'UseLongIds' => [ 'shape' => 'Boolean', 'locationName' => 'useLongIds', ], ], ], 'ModifyImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'Attribute' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'AttributeValue', ], 'ImageId' => [ 'shape' => 'String', ], 'LaunchPermission' => [ 'shape' => 'LaunchPermissionModifications', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'ProductCodes' => [ 'shape' => 'ProductCodeStringList', 'locationName' => 'ProductCode', ], 'UserGroups' => [ 'shape' => 'UserGroupStringList', 'locationName' => 'UserGroup', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'Value' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ModifyInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', ], 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'BlockDeviceMappings' => [ 'shape' => 'InstanceBlockDeviceMappingSpecificationList', 'locationName' => 'blockDeviceMapping', ], 'DisableApiTermination' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'disableApiTermination', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EbsOptimized' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'ebsOptimized', ], 'EnaSupport' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'enaSupport', ], 'Groups' => [ 'shape' => 'GroupIdStringList', 'locationName' => 'GroupId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'InstanceType' => [ 'shape' => 'AttributeValue', 'locationName' => 'instanceType', ], 'Kernel' => [ 'shape' => 'AttributeValue', 'locationName' => 'kernel', ], 'Ramdisk' => [ 'shape' => 'AttributeValue', 'locationName' => 'ramdisk', ], 'SriovNetSupport' => [ 'shape' => 'AttributeValue', 'locationName' => 'sriovNetSupport', ], 'UserData' => [ 'shape' => 'BlobAttributeValue', 'locationName' => 'userData', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'ModifyInstanceCapacityReservationAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'CapacityReservationSpecification', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'CapacityReservationSpecification' => [ 'shape' => 'CapacityReservationSpecification', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ModifyInstanceCapacityReservationAttributesResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyInstanceCreditSpecificationRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceCreditSpecifications', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'InstanceCreditSpecifications' => [ 'shape' => 'InstanceCreditSpecificationListRequest', 'locationName' => 'InstanceCreditSpecification', ], ], ], 'ModifyInstanceCreditSpecificationResult' => [ 'type' => 'structure', 'members' => [ 'SuccessfulInstanceCreditSpecifications' => [ 'shape' => 'SuccessfulInstanceCreditSpecificationSet', 'locationName' => 'successfulInstanceCreditSpecificationSet', ], 'UnsuccessfulInstanceCreditSpecifications' => [ 'shape' => 'UnsuccessfulInstanceCreditSpecificationSet', 'locationName' => 'unsuccessfulInstanceCreditSpecificationSet', ], ], ], 'ModifyInstanceEventStartTimeRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'InstanceEventId', 'NotBefore', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'InstanceEventId' => [ 'shape' => 'String', ], 'NotBefore' => [ 'shape' => 'DateTime', ], ], ], 'ModifyInstanceEventStartTimeResult' => [ 'type' => 'structure', 'members' => [ 'Event' => [ 'shape' => 'InstanceStatusEvent', 'locationName' => 'event', ], ], ], 'ModifyInstancePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'Affinity' => [ 'shape' => 'Affinity', 'locationName' => 'affinity', ], 'GroupName' => [ 'shape' => 'String', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Tenancy' => [ 'shape' => 'HostTenancy', 'locationName' => 'tenancy', ], 'PartitionNumber' => [ 'shape' => 'Integer', ], ], ], 'ModifyInstancePlacementResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyLaunchTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ClientToken' => [ 'shape' => 'String', ], 'LaunchTemplateId' => [ 'shape' => 'String', ], 'LaunchTemplateName' => [ 'shape' => 'LaunchTemplateName', ], 'DefaultVersion' => [ 'shape' => 'String', 'locationName' => 'SetDefaultVersion', ], ], ], 'ModifyLaunchTemplateResult' => [ 'type' => 'structure', 'members' => [ 'LaunchTemplate' => [ 'shape' => 'LaunchTemplate', 'locationName' => 'launchTemplate', ], ], ], 'ModifyNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachmentChanges', 'locationName' => 'attachment', ], 'Description' => [ 'shape' => 'AttributeValue', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Groups' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'AttributeBooleanValue', 'locationName' => 'sourceDestCheck', ], ], ], 'ModifyReservedInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedInstancesIds', 'TargetConfigurations', ], 'members' => [ 'ReservedInstancesIds' => [ 'shape' => 'ReservedInstancesIdStringList', 'locationName' => 'ReservedInstancesId', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'TargetConfigurations' => [ 'shape' => 'ReservedInstancesConfigurationList', 'locationName' => 'ReservedInstancesConfigurationSetItemType', ], ], ], 'ModifyReservedInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], ], ], 'ModifySnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SnapshotId', ], 'members' => [ 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'CreateVolumePermission' => [ 'shape' => 'CreateVolumePermissionModifications', ], 'GroupNames' => [ 'shape' => 'GroupNameStringList', 'locationName' => 'UserGroup', ], 'OperationType' => [ 'shape' => 'OperationType', ], 'SnapshotId' => [ 'shape' => 'String', ], 'UserIds' => [ 'shape' => 'UserIdStringList', 'locationName' => 'UserId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ModifySpotFleetRequestRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestId', ], 'members' => [ 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], ], ], 'ModifySpotFleetRequestResponse' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifySubnetAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'AssignIpv6AddressOnCreation' => [ 'shape' => 'AttributeBooleanValue', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'AttributeBooleanValue', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'ModifyTransitGatewayVpcAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'AddSubnetIds' => [ 'shape' => 'ValueStringList', ], 'RemoveSubnetIds' => [ 'shape' => 'ValueStringList', ], 'Options' => [ 'shape' => 'ModifyTransitGatewayVpcAttachmentRequestOptions', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ModifyTransitGatewayVpcAttachmentRequestOptions' => [ 'type' => 'structure', 'members' => [ 'DnsSupport' => [ 'shape' => 'DnsSupportValue', ], 'Ipv6Support' => [ 'shape' => 'Ipv6SupportValue', ], ], ], 'ModifyTransitGatewayVpcAttachmentResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachment' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'transitGatewayVpcAttachment', ], ], ], 'ModifyVolumeAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'AutoEnableIO' => [ 'shape' => 'AttributeBooleanValue', ], 'VolumeId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ModifyVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VolumeId' => [ 'shape' => 'String', ], 'Size' => [ 'shape' => 'Integer', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'Iops' => [ 'shape' => 'Integer', ], ], ], 'ModifyVolumeResult' => [ 'type' => 'structure', 'members' => [ 'VolumeModification' => [ 'shape' => 'VolumeModification', 'locationName' => 'volumeModification', ], ], ], 'ModifyVpcAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', ], 'members' => [ 'EnableDnsHostnames' => [ 'shape' => 'AttributeBooleanValue', ], 'EnableDnsSupport' => [ 'shape' => 'AttributeBooleanValue', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'ModifyVpcEndpointConnectionNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionNotificationId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ConnectionNotificationId' => [ 'shape' => 'String', ], 'ConnectionNotificationArn' => [ 'shape' => 'String', ], 'ConnectionEvents' => [ 'shape' => 'ValueStringList', ], ], ], 'ModifyVpcEndpointConnectionNotificationResult' => [ 'type' => 'structure', 'members' => [ 'ReturnValue' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'VpcEndpointId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'VpcEndpointId' => [ 'shape' => 'String', ], 'ResetPolicy' => [ 'shape' => 'Boolean', ], 'PolicyDocument' => [ 'shape' => 'String', ], 'AddRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddRouteTableId', ], 'RemoveRouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveRouteTableId', ], 'AddSubnetIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddSubnetId', ], 'RemoveSubnetIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveSubnetId', ], 'AddSecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddSecurityGroupId', ], 'RemoveSecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveSecurityGroupId', ], 'PrivateDnsEnabled' => [ 'shape' => 'Boolean', ], ], ], 'ModifyVpcEndpointResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcEndpointServiceConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'AcceptanceRequired' => [ 'shape' => 'Boolean', ], 'AddNetworkLoadBalancerArns' => [ 'shape' => 'ValueStringList', 'locationName' => 'AddNetworkLoadBalancerArn', ], 'RemoveNetworkLoadBalancerArns' => [ 'shape' => 'ValueStringList', 'locationName' => 'RemoveNetworkLoadBalancerArn', ], ], ], 'ModifyVpcEndpointServiceConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcEndpointServicePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'AddAllowedPrincipals' => [ 'shape' => 'ValueStringList', ], 'RemoveAllowedPrincipals' => [ 'shape' => 'ValueStringList', ], ], ], 'ModifyVpcEndpointServicePermissionsResult' => [ 'type' => 'structure', 'members' => [ 'ReturnValue' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ModifyVpcPeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptionsRequest', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', ], ], ], 'ModifyVpcPeeringConnectionOptionsResult' => [ 'type' => 'structure', 'members' => [ 'AccepterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'accepterPeeringConnectionOptions', ], 'RequesterPeeringConnectionOptions' => [ 'shape' => 'PeeringConnectionOptions', 'locationName' => 'requesterPeeringConnectionOptions', ], ], ], 'ModifyVpcTenancyRequest' => [ 'type' => 'structure', 'required' => [ 'VpcId', 'InstanceTenancy', ], 'members' => [ 'VpcId' => [ 'shape' => 'String', ], 'InstanceTenancy' => [ 'shape' => 'VpcTenancy', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ModifyVpcTenancyResult' => [ 'type' => 'structure', 'members' => [ 'ReturnValue' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'MonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'MonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'Monitoring' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'MonitoringState', 'locationName' => 'state', ], ], ], 'MonitoringState' => [ 'type' => 'string', 'enum' => [ 'disabled', 'disabling', 'enabled', 'pending', ], ], 'MoveAddressToVpcRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'MoveAddressToVpcResult' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'MoveStatus' => [ 'type' => 'string', 'enum' => [ 'movingToVpc', 'restoringToClassic', ], ], 'MovingAddressStatus' => [ 'type' => 'structure', 'members' => [ 'MoveStatus' => [ 'shape' => 'MoveStatus', 'locationName' => 'moveStatus', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'MovingAddressStatusSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'MovingAddressStatus', 'locationName' => 'item', ], ], 'NatGateway' => [ 'type' => 'structure', 'members' => [ 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'DeleteTime' => [ 'shape' => 'DateTime', 'locationName' => 'deleteTime', ], 'FailureCode' => [ 'shape' => 'String', 'locationName' => 'failureCode', ], 'FailureMessage' => [ 'shape' => 'String', 'locationName' => 'failureMessage', ], 'NatGatewayAddresses' => [ 'shape' => 'NatGatewayAddressList', 'locationName' => 'natGatewayAddressSet', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'ProvisionedBandwidth' => [ 'shape' => 'ProvisionedBandwidth', 'locationName' => 'provisionedBandwidth', ], 'State' => [ 'shape' => 'NatGatewayState', 'locationName' => 'state', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'NatGatewayAddress' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIp' => [ 'shape' => 'String', 'locationName' => 'privateIp', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'NatGatewayAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGatewayAddress', 'locationName' => 'item', ], ], 'NatGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NatGateway', 'locationName' => 'item', ], ], 'NatGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'failed', 'available', 'deleting', 'deleted', ], ], 'NetworkAcl' => [ 'type' => 'structure', 'members' => [ 'Associations' => [ 'shape' => 'NetworkAclAssociationList', 'locationName' => 'associationSet', ], 'Entries' => [ 'shape' => 'NetworkAclEntryList', 'locationName' => 'entrySet', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'default', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], ], ], 'NetworkAclAssociation' => [ 'type' => 'structure', 'members' => [ 'NetworkAclAssociationId' => [ 'shape' => 'String', 'locationName' => 'networkAclAssociationId', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'NetworkAclAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclAssociation', 'locationName' => 'item', ], ], 'NetworkAclEntry' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'icmpTypeCode', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], ], ], 'NetworkAclEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAclEntry', 'locationName' => 'item', ], ], 'NetworkAclList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkAcl', 'locationName' => 'item', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], 'Attachment' => [ 'shape' => 'NetworkInterfaceAttachment', 'locationName' => 'attachment', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'InterfaceType' => [ 'shape' => 'NetworkInterfaceType', 'locationName' => 'interfaceType', ], 'Ipv6Addresses' => [ 'shape' => 'NetworkInterfaceIpv6AddressesList', 'locationName' => 'ipv6AddressesSet', ], 'MacAddress' => [ 'shape' => 'String', 'locationName' => 'macAddress', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'NetworkInterfacePrivateIpAddressList', 'locationName' => 'privateIpAddressesSet', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'RequesterManaged' => [ 'shape' => 'Boolean', 'locationName' => 'requesterManaged', ], 'SourceDestCheck' => [ 'shape' => 'Boolean', 'locationName' => 'sourceDestCheck', ], 'Status' => [ 'shape' => 'NetworkInterfaceStatus', 'locationName' => 'status', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'TagSet' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'NetworkInterfaceAssociation' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'IpOwnerId' => [ 'shape' => 'String', 'locationName' => 'ipOwnerId', ], 'PublicDnsName' => [ 'shape' => 'String', 'locationName' => 'publicDnsName', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'NetworkInterfaceAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], 'DeviceIndex' => [ 'shape' => 'Integer', 'locationName' => 'deviceIndex', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'Status' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'status', ], ], ], 'NetworkInterfaceAttachmentChanges' => [ 'type' => 'structure', 'members' => [ 'AttachmentId' => [ 'shape' => 'String', 'locationName' => 'attachmentId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'NetworkInterfaceAttribute' => [ 'type' => 'string', 'enum' => [ 'description', 'groupSet', 'sourceDestCheck', 'attachment', ], ], 'NetworkInterfaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'NetworkInterfaceIpv6Address' => [ 'type' => 'structure', 'members' => [ 'Ipv6Address' => [ 'shape' => 'String', 'locationName' => 'ipv6Address', ], ], ], 'NetworkInterfaceIpv6AddressesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfaceIpv6Address', 'locationName' => 'item', ], ], 'NetworkInterfaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', 'locationName' => 'item', ], ], 'NetworkInterfacePermission' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfacePermissionId' => [ 'shape' => 'String', 'locationName' => 'networkInterfacePermissionId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'AwsAccountId' => [ 'shape' => 'String', 'locationName' => 'awsAccountId', ], 'AwsService' => [ 'shape' => 'String', 'locationName' => 'awsService', ], 'Permission' => [ 'shape' => 'InterfacePermissionType', 'locationName' => 'permission', ], 'PermissionState' => [ 'shape' => 'NetworkInterfacePermissionState', 'locationName' => 'permissionState', ], ], ], 'NetworkInterfacePermissionIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'NetworkInterfacePermissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfacePermission', 'locationName' => 'item', ], ], 'NetworkInterfacePermissionState' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'NetworkInterfacePermissionStateCode', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'NetworkInterfacePermissionStateCode' => [ 'type' => 'string', 'enum' => [ 'pending', 'granted', 'revoking', 'revoked', ], ], 'NetworkInterfacePrivateIpAddress' => [ 'type' => 'structure', 'members' => [ 'Association' => [ 'shape' => 'NetworkInterfaceAssociation', 'locationName' => 'association', ], 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'NetworkInterfacePrivateIpAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfacePrivateIpAddress', 'locationName' => 'item', ], ], 'NetworkInterfaceStatus' => [ 'type' => 'string', 'enum' => [ 'available', 'associated', 'attaching', 'in-use', 'detaching', ], ], 'NetworkInterfaceType' => [ 'type' => 'string', 'enum' => [ 'interface', 'natGateway', ], ], 'NewDhcpConfiguration' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Values' => [ 'shape' => 'ValueStringList', 'locationName' => 'Value', ], ], ], 'NewDhcpConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NewDhcpConfiguration', 'locationName' => 'item', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'OccurrenceDayRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'OccurenceDay', ], ], 'OccurrenceDaySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', 'locationName' => 'item', ], ], 'OfferingClassType' => [ 'type' => 'string', 'enum' => [ 'standard', 'convertible', ], ], 'OfferingTypeValues' => [ 'type' => 'string', 'enum' => [ 'Heavy Utilization', 'Medium Utilization', 'Light Utilization', 'No Upfront', 'Partial Upfront', 'All Upfront', ], ], 'OnDemandAllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowestPrice', 'prioritized', ], ], 'OnDemandOptions' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'FleetOnDemandAllocationStrategy', 'locationName' => 'allocationStrategy', ], 'SingleInstanceType' => [ 'shape' => 'Boolean', 'locationName' => 'singleInstanceType', ], 'SingleAvailabilityZone' => [ 'shape' => 'Boolean', 'locationName' => 'singleAvailabilityZone', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'minTargetCapacity', ], ], ], 'OnDemandOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'FleetOnDemandAllocationStrategy', ], 'SingleInstanceType' => [ 'shape' => 'Boolean', ], 'SingleAvailabilityZone' => [ 'shape' => 'Boolean', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', ], ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'add', 'remove', ], ], 'OwnerStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Owner', ], ], 'PaymentOption' => [ 'type' => 'string', 'enum' => [ 'AllUpfront', 'PartialUpfront', 'NoUpfront', ], ], 'PciId' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => 'String', ], 'VendorId' => [ 'shape' => 'String', ], 'SubsystemId' => [ 'shape' => 'String', ], 'SubsystemVendorId' => [ 'shape' => 'String', ], ], ], 'PeeringConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], ], ], 'PeeringConnectionOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', ], 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', ], ], ], 'PermissionGroup' => [ 'type' => 'string', 'enum' => [ 'all', ], ], 'Placement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Affinity' => [ 'shape' => 'String', 'locationName' => 'affinity', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'PartitionNumber' => [ 'shape' => 'Integer', 'locationName' => 'partitionNumber', ], 'HostId' => [ 'shape' => 'String', 'locationName' => 'hostId', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], 'SpreadDomain' => [ 'shape' => 'String', 'locationName' => 'spreadDomain', ], ], ], 'PlacementGroup' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'State' => [ 'shape' => 'PlacementGroupState', 'locationName' => 'state', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], 'PartitionCount' => [ 'shape' => 'Integer', 'locationName' => 'partitionCount', ], ], ], 'PlacementGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementGroup', 'locationName' => 'item', ], ], 'PlacementGroupState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'PlacementGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PlacementResponse' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'PlacementStrategy' => [ 'type' => 'string', 'enum' => [ 'cluster', 'spread', 'partition', ], ], 'PlatformValues' => [ 'type' => 'string', 'enum' => [ 'Windows', ], ], 'PoolMaxResults' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'PortRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', 'locationName' => 'from', ], 'To' => [ 'shape' => 'Integer', 'locationName' => 'to', ], ], ], 'PrefixList' => [ 'type' => 'structure', 'members' => [ 'Cidrs' => [ 'shape' => 'ValueStringList', 'locationName' => 'cidrSet', ], 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], 'PrefixListName' => [ 'shape' => 'String', 'locationName' => 'prefixListName', ], ], ], 'PrefixListId' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PrefixListId' => [ 'shape' => 'String', 'locationName' => 'prefixListId', ], ], ], 'PrefixListIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixListId', 'locationName' => 'item', ], ], 'PrefixListIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'PrefixListSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrefixList', 'locationName' => 'item', ], ], 'PriceSchedule' => [ 'type' => 'structure', 'members' => [ 'Active' => [ 'shape' => 'Boolean', 'locationName' => 'active', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], ], ], 'PriceScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceSchedule', 'locationName' => 'item', ], ], 'PriceScheduleSpecification' => [ 'type' => 'structure', 'members' => [ 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], 'Term' => [ 'shape' => 'Long', 'locationName' => 'term', ], ], ], 'PriceScheduleSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceScheduleSpecification', 'locationName' => 'item', ], ], 'PricingDetail' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => 'Integer', 'locationName' => 'count', ], 'Price' => [ 'shape' => 'Double', 'locationName' => 'price', ], ], ], 'PricingDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PricingDetail', 'locationName' => 'item', ], ], 'PrincipalIdFormat' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], 'Statuses' => [ 'shape' => 'IdFormatList', 'locationName' => 'statusSet', ], ], ], 'PrincipalIdFormatList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrincipalIdFormat', 'locationName' => 'item', ], ], 'PrincipalType' => [ 'type' => 'string', 'enum' => [ 'All', 'Service', 'OrganizationUnit', 'Account', 'User', 'Role', ], ], 'PrivateIpAddressConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesPrivateIpAddressConfig', 'locationName' => 'PrivateIpAddressConfigSet', ], ], 'PrivateIpAddressSpecification' => [ 'type' => 'structure', 'members' => [ 'Primary' => [ 'shape' => 'Boolean', 'locationName' => 'primary', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], ], ], 'PrivateIpAddressSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIpAddressSpecification', 'locationName' => 'item', ], ], 'PrivateIpAddressStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PrivateIpAddress', ], ], 'ProductCode' => [ 'type' => 'structure', 'members' => [ 'ProductCodeId' => [ 'shape' => 'String', 'locationName' => 'productCode', ], 'ProductCodeType' => [ 'shape' => 'ProductCodeValues', 'locationName' => 'type', ], ], ], 'ProductCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductCode', 'locationName' => 'item', ], ], 'ProductCodeStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ProductCode', ], ], 'ProductCodeValues' => [ 'type' => 'string', 'enum' => [ 'devpay', 'marketplace', ], ], 'ProductDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PropagatingVgw' => [ 'type' => 'structure', 'members' => [ 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], ], ], 'PropagatingVgwList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropagatingVgw', 'locationName' => 'item', ], ], 'ProvisionByoipCidrRequest' => [ 'type' => 'structure', 'required' => [ 'Cidr', ], 'members' => [ 'Cidr' => [ 'shape' => 'String', ], 'CidrAuthorizationContext' => [ 'shape' => 'CidrAuthorizationContext', ], 'Description' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ProvisionByoipCidrResult' => [ 'type' => 'structure', 'members' => [ 'ByoipCidr' => [ 'shape' => 'ByoipCidr', 'locationName' => 'byoipCidr', ], ], ], 'ProvisionedBandwidth' => [ 'type' => 'structure', 'members' => [ 'ProvisionTime' => [ 'shape' => 'DateTime', 'locationName' => 'provisionTime', ], 'Provisioned' => [ 'shape' => 'String', 'locationName' => 'provisioned', ], 'RequestTime' => [ 'shape' => 'DateTime', 'locationName' => 'requestTime', ], 'Requested' => [ 'shape' => 'String', 'locationName' => 'requested', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'PublicIpStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PublicIp', ], ], 'PublicIpv4Pool' => [ 'type' => 'structure', 'members' => [ 'PoolId' => [ 'shape' => 'String', 'locationName' => 'poolId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'PoolAddressRanges' => [ 'shape' => 'PublicIpv4PoolRangeSet', 'locationName' => 'poolAddressRangeSet', ], 'TotalAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'totalAddressCount', ], 'TotalAvailableAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'totalAvailableAddressCount', ], ], ], 'PublicIpv4PoolRange' => [ 'type' => 'structure', 'members' => [ 'FirstAddress' => [ 'shape' => 'String', 'locationName' => 'firstAddress', ], 'LastAddress' => [ 'shape' => 'String', 'locationName' => 'lastAddress', ], 'AddressCount' => [ 'shape' => 'Integer', 'locationName' => 'addressCount', ], 'AvailableAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'availableAddressCount', ], ], ], 'PublicIpv4PoolRangeSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicIpv4PoolRange', 'locationName' => 'item', ], ], 'PublicIpv4PoolSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PublicIpv4Pool', 'locationName' => 'item', ], ], 'Purchase' => [ 'type' => 'structure', 'members' => [ 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => 'Integer', 'locationName' => 'duration', ], 'HostIdSet' => [ 'shape' => 'ResponseHostIdSet', 'locationName' => 'hostIdSet', ], 'HostReservationId' => [ 'shape' => 'String', 'locationName' => 'hostReservationId', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'InstanceFamily' => [ 'shape' => 'String', 'locationName' => 'instanceFamily', ], 'PaymentOption' => [ 'shape' => 'PaymentOption', 'locationName' => 'paymentOption', ], 'UpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'upfrontPrice', ], ], ], 'PurchaseHostReservationRequest' => [ 'type' => 'structure', 'required' => [ 'HostIdSet', 'OfferingId', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', ], 'HostIdSet' => [ 'shape' => 'RequestHostIdSet', ], 'LimitPrice' => [ 'shape' => 'String', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'PurchaseHostReservationResult' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'Purchase' => [ 'shape' => 'PurchaseSet', 'locationName' => 'purchase', ], 'TotalHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'totalHourlyPrice', ], 'TotalUpfrontPrice' => [ 'shape' => 'String', 'locationName' => 'totalUpfrontPrice', ], ], ], 'PurchaseRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceCount', 'PurchaseToken', ], 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', ], 'PurchaseToken' => [ 'shape' => 'String', ], ], ], 'PurchaseRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'PurchaseRequest', 'locationName' => 'PurchaseRequest', ], 'min' => 1, ], 'PurchaseReservedInstancesOfferingRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceCount', 'ReservedInstancesOfferingId', ], 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', ], 'ReservedInstancesOfferingId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'LimitPrice' => [ 'shape' => 'ReservedInstanceLimitPrice', 'locationName' => 'limitPrice', ], ], ], 'PurchaseReservedInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'PurchaseScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'PurchaseRequests', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'DryRun' => [ 'shape' => 'Boolean', ], 'PurchaseRequests' => [ 'shape' => 'PurchaseRequestSet', 'locationName' => 'PurchaseRequest', ], ], ], 'PurchaseScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'ScheduledInstanceSet' => [ 'shape' => 'PurchasedScheduledInstanceSet', 'locationName' => 'scheduledInstanceSet', ], ], ], 'PurchaseSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Purchase', 'locationName' => 'item', ], ], 'PurchasedScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'RIProductDescription' => [ 'type' => 'string', 'enum' => [ 'Linux/UNIX', 'Linux/UNIX (Amazon VPC)', 'Windows', 'Windows (Amazon VPC)', ], ], 'ReasonCodesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReportInstanceReasonCodes', 'locationName' => 'item', ], ], 'RebootInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], 'Frequency' => [ 'shape' => 'RecurringChargeFrequency', 'locationName' => 'frequency', ], ], ], 'RecurringChargeFrequency' => [ 'type' => 'string', 'enum' => [ 'Hourly', ], ], 'RecurringChargesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'item', ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'String', 'locationName' => 'regionEndpoint', ], 'RegionName' => [ 'shape' => 'String', 'locationName' => 'regionName', ], ], ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', 'locationName' => 'item', ], ], 'RegionNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'RegionName', ], ], 'RegisterImageRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'ImageLocation' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'ArchitectureValues', 'locationName' => 'architecture', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EnaSupport' => [ 'shape' => 'Boolean', 'locationName' => 'enaSupport', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], 'BillingProducts' => [ 'shape' => 'BillingProductList', 'locationName' => 'BillingProduct', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'RootDeviceName' => [ 'shape' => 'String', 'locationName' => 'rootDeviceName', ], 'SriovNetSupport' => [ 'shape' => 'String', 'locationName' => 'sriovNetSupport', ], 'VirtualizationType' => [ 'shape' => 'String', 'locationName' => 'virtualizationType', ], ], ], 'RegisterImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], ], ], 'RejectTransitGatewayVpcAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayAttachmentId', ], 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'RejectTransitGatewayVpcAttachmentResult' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayVpcAttachment' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'transitGatewayVpcAttachment', ], ], ], 'RejectVpcEndpointConnectionsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'VpcEndpointIds', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'ServiceId' => [ 'shape' => 'String', ], 'VpcEndpointIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcEndpointId', ], ], ], 'RejectVpcEndpointConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemSet', 'locationName' => 'unsuccessful', ], ], ], 'RejectVpcPeeringConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'VpcPeeringConnectionId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'RejectVpcPeeringConnectionResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ReleaseAddressRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationId' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ReleaseHostsRequest' => [ 'type' => 'structure', 'required' => [ 'HostIds', ], 'members' => [ 'HostIds' => [ 'shape' => 'RequestHostIdList', 'locationName' => 'hostId', ], ], ], 'ReleaseHostsResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'ResponseHostIdList', 'locationName' => 'successful', ], 'Unsuccessful' => [ 'shape' => 'UnsuccessfulItemList', 'locationName' => 'unsuccessful', ], ], ], 'ReplaceIamInstanceProfileAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'IamInstanceProfile', 'AssociationId', ], 'members' => [ 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', ], 'AssociationId' => [ 'shape' => 'String', ], ], ], 'ReplaceIamInstanceProfileAssociationResult' => [ 'type' => 'structure', 'members' => [ 'IamInstanceProfileAssociation' => [ 'shape' => 'IamInstanceProfileAssociation', 'locationName' => 'iamInstanceProfileAssociation', ], ], ], 'ReplaceNetworkAclAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'NetworkAclId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], ], ], 'ReplaceNetworkAclAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReplaceNetworkAclEntryRequest' => [ 'type' => 'structure', 'required' => [ 'Egress', 'NetworkAclId', 'Protocol', 'RuleAction', 'RuleNumber', ], 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Egress' => [ 'shape' => 'Boolean', 'locationName' => 'egress', ], 'IcmpTypeCode' => [ 'shape' => 'IcmpTypeCode', 'locationName' => 'Icmp', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'NetworkAclId' => [ 'shape' => 'String', 'locationName' => 'networkAclId', ], 'PortRange' => [ 'shape' => 'PortRange', 'locationName' => 'portRange', ], 'Protocol' => [ 'shape' => 'String', 'locationName' => 'protocol', ], 'RuleAction' => [ 'shape' => 'RuleAction', 'locationName' => 'ruleAction', ], 'RuleNumber' => [ 'shape' => 'Integer', 'locationName' => 'ruleNumber', ], ], ], 'ReplaceRouteRequest' => [ 'type' => 'structure', 'required' => [ 'RouteTableId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationIpv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationIpv6CidrBlock', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EgressOnlyInternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'egressOnlyInternetGatewayId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'TransitGatewayId' => [ 'shape' => 'String', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'ReplaceRouteTableAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'RouteTableId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], ], ], 'ReplaceRouteTableAssociationResult' => [ 'type' => 'structure', 'members' => [ 'NewAssociationId' => [ 'shape' => 'String', 'locationName' => 'newAssociationId', ], ], ], 'ReplaceTransitGatewayRouteRequest' => [ 'type' => 'structure', 'required' => [ 'DestinationCidrBlock', 'TransitGatewayRouteTableId', ], 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', ], 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', ], 'Blackhole' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'ReplaceTransitGatewayRouteResult' => [ 'type' => 'structure', 'members' => [ 'Route' => [ 'shape' => 'TransitGatewayRoute', 'locationName' => 'route', ], ], ], 'ReportInstanceReasonCodes' => [ 'type' => 'string', 'enum' => [ 'instance-stuck-in-state', 'unresponsive', 'not-accepting-credentials', 'password-not-available', 'performance-network', 'performance-instance-store', 'performance-ebs-volume', 'performance-other', 'other', ], ], 'ReportInstanceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Instances', 'ReasonCodes', 'Status', ], 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], 'Instances' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'instanceId', ], 'ReasonCodes' => [ 'shape' => 'ReasonCodesList', 'locationName' => 'reasonCode', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'Status' => [ 'shape' => 'ReportStatusType', 'locationName' => 'status', ], ], ], 'ReportStatusType' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', ], ], 'RequestHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'RequestLaunchTemplateData' => [ 'type' => 'structure', 'members' => [ 'KernelId' => [ 'shape' => 'String', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'IamInstanceProfile' => [ 'shape' => 'LaunchTemplateIamInstanceProfileSpecificationRequest', ], 'BlockDeviceMappings' => [ 'shape' => 'LaunchTemplateBlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'NetworkInterfaces' => [ 'shape' => 'LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList', 'locationName' => 'NetworkInterface', ], 'ImageId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'KeyName' => [ 'shape' => 'String', ], 'Monitoring' => [ 'shape' => 'LaunchTemplatesMonitoringRequest', ], 'Placement' => [ 'shape' => 'LaunchTemplatePlacementRequest', ], 'RamDiskId' => [ 'shape' => 'String', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', ], 'UserData' => [ 'shape' => 'String', ], 'TagSpecifications' => [ 'shape' => 'LaunchTemplateTagSpecificationRequestList', 'locationName' => 'TagSpecification', ], 'ElasticGpuSpecifications' => [ 'shape' => 'ElasticGpuSpecificationList', 'locationName' => 'ElasticGpuSpecification', ], 'ElasticInferenceAccelerators' => [ 'shape' => 'LaunchTemplateElasticInferenceAcceleratorList', 'locationName' => 'ElasticInferenceAccelerator', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'InstanceMarketOptions' => [ 'shape' => 'LaunchTemplateInstanceMarketOptionsRequest', ], 'CreditSpecification' => [ 'shape' => 'CreditSpecificationRequest', ], 'CpuOptions' => [ 'shape' => 'LaunchTemplateCpuOptionsRequest', ], 'CapacityReservationSpecification' => [ 'shape' => 'LaunchTemplateCapacityReservationSpecificationRequest', ], 'HibernationOptions' => [ 'shape' => 'LaunchTemplateHibernationOptionsRequest', ], 'LicenseSpecifications' => [ 'shape' => 'LaunchTemplateLicenseSpecificationListRequest', 'locationName' => 'LicenseSpecification', ], ], ], 'RequestSpotFleetRequest' => [ 'type' => 'structure', 'required' => [ 'SpotFleetRequestConfig', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], ], ], 'RequestSpotFleetResponse' => [ 'type' => 'structure', 'members' => [ 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], ], ], 'RequestSpotInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'LaunchSpecification' => [ 'shape' => 'RequestSpotLaunchSpecification', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', ], ], ], 'RequestSpotInstancesResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], 'RequestSpotLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroupId', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'SecurityGroup', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', 'locationName' => 'monitoring', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'NetworkInterface', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], ], ], 'Reservation' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'Instances' => [ 'shape' => 'InstanceList', 'locationName' => 'instancesSet', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'RequesterId' => [ 'shape' => 'String', 'locationName' => 'requesterId', ], 'ReservationId' => [ 'shape' => 'String', 'locationName' => 'reservationId', ], ], ], 'ReservationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reservation', 'locationName' => 'item', ], ], 'ReservationState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'payment-failed', 'active', 'retired', ], ], 'ReservationValue' => [ 'type' => 'structure', 'members' => [ 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'RemainingTotalValue' => [ 'shape' => 'String', 'locationName' => 'remainingTotalValue', ], 'RemainingUpfrontValue' => [ 'shape' => 'String', 'locationName' => 'remainingUpfrontValue', ], ], ], 'ReservedInstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstanceId', ], ], 'ReservedInstanceLimitPrice' => [ 'type' => 'structure', 'members' => [ 'Amount' => [ 'shape' => 'Double', 'locationName' => 'amount', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], ], ], 'ReservedInstanceReservationValue' => [ 'type' => 'structure', 'members' => [ 'ReservationValue' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservationValue', ], 'ReservedInstanceId' => [ 'shape' => 'String', 'locationName' => 'reservedInstanceId', ], ], ], 'ReservedInstanceReservationValueSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstanceReservationValue', 'locationName' => 'item', ], ], 'ReservedInstanceState' => [ 'type' => 'string', 'enum' => [ 'payment-pending', 'active', 'payment-failed', 'retired', ], ], 'ReservedInstances' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'End' => [ 'shape' => 'DateTime', 'locationName' => 'end', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'Start' => [ 'shape' => 'DateTime', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservedInstanceState', 'locationName' => 'state', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', 'locationName' => 'offeringClass', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'ReservedInstancesConfiguration' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], ], ], 'ReservedInstancesConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'item', ], ], 'ReservedInstancesId' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], ], ], 'ReservedInstancesIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesId', ], ], 'ReservedInstancesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstances', 'locationName' => 'item', ], ], 'ReservedInstancesListing' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'InstanceCounts' => [ 'shape' => 'InstanceCountList', 'locationName' => 'instanceCounts', ], 'PriceSchedules' => [ 'shape' => 'PriceScheduleList', 'locationName' => 'priceSchedules', ], 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'ReservedInstancesListingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesListingId', ], 'Status' => [ 'shape' => 'ListingStatus', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], ], ], 'ReservedInstancesListingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesListing', 'locationName' => 'item', ], ], 'ReservedInstancesModification' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'EffectiveDate' => [ 'shape' => 'DateTime', 'locationName' => 'effectiveDate', ], 'ModificationResults' => [ 'shape' => 'ReservedInstancesModificationResultList', 'locationName' => 'modificationResultSet', ], 'ReservedInstancesIds' => [ 'shape' => 'ReservedIntancesIds', 'locationName' => 'reservedInstancesSet', ], 'ReservedInstancesModificationId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesModificationId', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'UpdateDate' => [ 'shape' => 'DateTime', 'locationName' => 'updateDate', ], ], ], 'ReservedInstancesModificationIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReservedInstancesModificationId', ], ], 'ReservedInstancesModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModification', 'locationName' => 'item', ], ], 'ReservedInstancesModificationResult' => [ 'type' => 'structure', 'members' => [ 'ReservedInstancesId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesId', ], 'TargetConfiguration' => [ 'shape' => 'ReservedInstancesConfiguration', 'locationName' => 'targetConfiguration', ], ], ], 'ReservedInstancesModificationResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesModificationResult', 'locationName' => 'item', ], ], 'ReservedInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Duration' => [ 'shape' => 'Long', 'locationName' => 'duration', ], 'FixedPrice' => [ 'shape' => 'Float', 'locationName' => 'fixedPrice', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'ReservedInstancesOfferingId' => [ 'shape' => 'String', 'locationName' => 'reservedInstancesOfferingId', ], 'UsagePrice' => [ 'shape' => 'Float', 'locationName' => 'usagePrice', ], 'CurrencyCode' => [ 'shape' => 'CurrencyCodeValues', 'locationName' => 'currencyCode', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'Marketplace' => [ 'shape' => 'Boolean', 'locationName' => 'marketplace', ], 'OfferingClass' => [ 'shape' => 'OfferingClassType', 'locationName' => 'offeringClass', ], 'OfferingType' => [ 'shape' => 'OfferingTypeValues', 'locationName' => 'offeringType', ], 'PricingDetails' => [ 'shape' => 'PricingDetailsList', 'locationName' => 'pricingDetailsSet', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargesList', 'locationName' => 'recurringCharges', ], 'Scope' => [ 'shape' => 'scope', 'locationName' => 'scope', ], ], ], 'ReservedInstancesOfferingIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ReservedInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesOffering', 'locationName' => 'item', ], ], 'ReservedIntancesIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedInstancesId', 'locationName' => 'item', ], ], 'ResetFpgaImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'loadPermission', ], ], 'ResetFpgaImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'FpgaImageId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'FpgaImageId' => [ 'shape' => 'String', ], 'Attribute' => [ 'shape' => 'ResetFpgaImageAttributeName', ], ], ], 'ResetFpgaImageAttributeResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'ResetImageAttributeName' => [ 'type' => 'string', 'enum' => [ 'launchPermission', ], ], 'ResetImageAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'ImageId', ], 'members' => [ 'Attribute' => [ 'shape' => 'ResetImageAttributeName', ], 'ImageId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ResetInstanceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'InstanceId', ], 'members' => [ 'Attribute' => [ 'shape' => 'InstanceAttributeName', 'locationName' => 'attribute', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'ResetNetworkInterfaceAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'SourceDestCheck' => [ 'shape' => 'String', 'locationName' => 'sourceDestCheck', ], ], ], 'ResetSnapshotAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'Attribute', 'SnapshotId', ], 'members' => [ 'Attribute' => [ 'shape' => 'SnapshotAttributeName', ], 'SnapshotId' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'client-vpn-endpoint', 'customer-gateway', 'dedicated-host', 'dhcp-options', 'elastic-ip', 'fleet', 'fpga-image', 'host-reservation', 'image', 'instance', 'internet-gateway', 'launch-template', 'natgateway', 'network-acl', 'network-interface', 'reserved-instances', 'route-table', 'security-group', 'snapshot', 'spot-instances-request', 'subnet', 'transit-gateway', 'transit-gateway-attachment', 'transit-gateway-route-table', 'volume', 'vpc', 'vpc-peering-connection', 'vpn-connection', 'vpn-gateway', ], ], 'ResponseError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'LaunchTemplateErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'ResponseHostIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ResponseHostIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'ResponseLaunchTemplateData' => [ 'type' => 'structure', 'members' => [ 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'IamInstanceProfile' => [ 'shape' => 'LaunchTemplateIamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'BlockDeviceMappings' => [ 'shape' => 'LaunchTemplateBlockDeviceMappingList', 'locationName' => 'blockDeviceMappingSet', ], 'NetworkInterfaces' => [ 'shape' => 'LaunchTemplateInstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'Monitoring' => [ 'shape' => 'LaunchTemplatesMonitoring', 'locationName' => 'monitoring', ], 'Placement' => [ 'shape' => 'LaunchTemplatePlacement', 'locationName' => 'placement', ], 'RamDiskId' => [ 'shape' => 'String', 'locationName' => 'ramDiskId', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', 'locationName' => 'disableApiTermination', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'TagSpecifications' => [ 'shape' => 'LaunchTemplateTagSpecificationList', 'locationName' => 'tagSpecificationSet', ], 'ElasticGpuSpecifications' => [ 'shape' => 'ElasticGpuSpecificationResponseList', 'locationName' => 'elasticGpuSpecificationSet', ], 'ElasticInferenceAccelerators' => [ 'shape' => 'LaunchTemplateElasticInferenceAcceleratorResponseList', 'locationName' => 'elasticInferenceAcceleratorSet', ], 'SecurityGroupIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'securityGroupIdSet', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'securityGroupSet', ], 'InstanceMarketOptions' => [ 'shape' => 'LaunchTemplateInstanceMarketOptions', 'locationName' => 'instanceMarketOptions', ], 'CreditSpecification' => [ 'shape' => 'CreditSpecification', 'locationName' => 'creditSpecification', ], 'CpuOptions' => [ 'shape' => 'LaunchTemplateCpuOptions', 'locationName' => 'cpuOptions', ], 'CapacityReservationSpecification' => [ 'shape' => 'LaunchTemplateCapacityReservationSpecificationResponse', 'locationName' => 'capacityReservationSpecification', ], 'HibernationOptions' => [ 'shape' => 'LaunchTemplateHibernationOptions', 'locationName' => 'hibernationOptions', ], 'LicenseSpecifications' => [ 'shape' => 'LaunchTemplateLicenseList', 'locationName' => 'licenseSet', ], ], ], 'RestorableByStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RestoreAddressToClassicRequest' => [ 'type' => 'structure', 'required' => [ 'PublicIp', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], ], ], 'RestoreAddressToClassicResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'RevokeClientVpnIngressRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', 'TargetNetworkCidr', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'TargetNetworkCidr' => [ 'shape' => 'String', ], 'AccessGroupId' => [ 'shape' => 'String', ], 'RevokeAllGroups' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'RevokeClientVpnIngressResult' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ClientVpnAuthorizationRuleStatus', 'locationName' => 'status', ], ], ], 'RevokeSecurityGroupEgressRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'CidrIp' => [ 'shape' => 'String', 'locationName' => 'cidrIp', ], 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupName', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', 'locationName' => 'sourceSecurityGroupOwnerId', ], ], ], 'RevokeSecurityGroupIngressRequest' => [ 'type' => 'structure', 'members' => [ 'CidrIp' => [ 'shape' => 'String', ], 'FromPort' => [ 'shape' => 'Integer', ], 'GroupId' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], 'IpProtocol' => [ 'shape' => 'String', ], 'SourceSecurityGroupName' => [ 'shape' => 'String', ], 'SourceSecurityGroupOwnerId' => [ 'shape' => 'String', ], 'ToPort' => [ 'shape' => 'Integer', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'Route' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'DestinationIpv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationIpv6CidrBlock', ], 'DestinationPrefixListId' => [ 'shape' => 'String', 'locationName' => 'destinationPrefixListId', ], 'EgressOnlyInternetGatewayId' => [ 'shape' => 'String', 'locationName' => 'egressOnlyInternetGatewayId', ], 'GatewayId' => [ 'shape' => 'String', 'locationName' => 'gatewayId', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'InstanceOwnerId' => [ 'shape' => 'String', 'locationName' => 'instanceOwnerId', ], 'NatGatewayId' => [ 'shape' => 'String', 'locationName' => 'natGatewayId', ], 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'Origin' => [ 'shape' => 'RouteOrigin', 'locationName' => 'origin', ], 'State' => [ 'shape' => 'RouteState', 'locationName' => 'state', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'RouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Route', 'locationName' => 'item', ], ], 'RouteOrigin' => [ 'type' => 'string', 'enum' => [ 'CreateRouteTable', 'CreateRoute', 'EnableVgwRoutePropagation', ], ], 'RouteState' => [ 'type' => 'string', 'enum' => [ 'active', 'blackhole', ], ], 'RouteTable' => [ 'type' => 'structure', 'members' => [ 'Associations' => [ 'shape' => 'RouteTableAssociationList', 'locationName' => 'associationSet', ], 'PropagatingVgws' => [ 'shape' => 'PropagatingVgwList', 'locationName' => 'propagatingVgwSet', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'Routes' => [ 'shape' => 'RouteList', 'locationName' => 'routeSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], ], ], 'RouteTableAssociation' => [ 'type' => 'structure', 'members' => [ 'Main' => [ 'shape' => 'Boolean', 'locationName' => 'main', ], 'RouteTableAssociationId' => [ 'shape' => 'String', 'locationName' => 'routeTableAssociationId', ], 'RouteTableId' => [ 'shape' => 'String', 'locationName' => 'routeTableId', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], ], ], 'RouteTableAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTableAssociation', 'locationName' => 'item', ], ], 'RouteTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RouteTable', 'locationName' => 'item', ], ], 'RuleAction' => [ 'type' => 'string', 'enum' => [ 'allow', 'deny', ], ], 'RunInstancesMonitoringEnabled' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'RunInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'MaxCount', 'MinCount', ], 'members' => [ 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingRequestList', 'locationName' => 'BlockDeviceMapping', ], 'ImageId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', ], 'Ipv6Addresses' => [ 'shape' => 'InstanceIpv6AddressList', 'locationName' => 'Ipv6Address', ], 'KernelId' => [ 'shape' => 'String', ], 'KeyName' => [ 'shape' => 'String', ], 'MaxCount' => [ 'shape' => 'Integer', ], 'MinCount' => [ 'shape' => 'Integer', ], 'Monitoring' => [ 'shape' => 'RunInstancesMonitoringEnabled', ], 'Placement' => [ 'shape' => 'Placement', ], 'RamdiskId' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'SubnetId' => [ 'shape' => 'String', ], 'UserData' => [ 'shape' => 'String', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'DisableApiTermination' => [ 'shape' => 'Boolean', 'locationName' => 'disableApiTermination', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'InstanceInitiatedShutdownBehavior' => [ 'shape' => 'ShutdownBehavior', 'locationName' => 'instanceInitiatedShutdownBehavior', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterface', ], 'PrivateIpAddress' => [ 'shape' => 'String', 'locationName' => 'privateIpAddress', ], 'ElasticGpuSpecification' => [ 'shape' => 'ElasticGpuSpecifications', ], 'ElasticInferenceAccelerators' => [ 'shape' => 'ElasticInferenceAccelerators', 'locationName' => 'ElasticInferenceAccelerator', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'InstanceMarketOptions' => [ 'shape' => 'InstanceMarketOptionsRequest', ], 'CreditSpecification' => [ 'shape' => 'CreditSpecificationRequest', ], 'CpuOptions' => [ 'shape' => 'CpuOptionsRequest', ], 'CapacityReservationSpecification' => [ 'shape' => 'CapacityReservationSpecification', ], 'HibernationOptions' => [ 'shape' => 'HibernationOptionsRequest', ], 'LicenseSpecifications' => [ 'shape' => 'LicenseSpecificationListRequest', 'locationName' => 'LicenseSpecification', ], ], ], 'RunScheduledInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'LaunchSpecification', 'ScheduledInstanceId', ], 'members' => [ 'ClientToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], 'DryRun' => [ 'shape' => 'Boolean', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'LaunchSpecification' => [ 'shape' => 'ScheduledInstancesLaunchSpecification', ], 'ScheduledInstanceId' => [ 'shape' => 'String', ], ], ], 'RunScheduledInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceIdSet' => [ 'shape' => 'InstanceIdSet', 'locationName' => 'instanceIdSet', ], ], ], 'S3Storage' => [ 'type' => 'structure', 'members' => [ 'AWSAccessKeyId' => [ 'shape' => 'String', ], 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'UploadPolicy' => [ 'shape' => 'Blob', 'locationName' => 'uploadPolicy', ], 'UploadPolicySignature' => [ 'shape' => 'String', 'locationName' => 'uploadPolicySignature', ], ], ], 'ScheduledInstance' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'CreateDate' => [ 'shape' => 'DateTime', 'locationName' => 'createDate', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'NextSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'nextSlotStartTime', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'PreviousSlotEndTime' => [ 'shape' => 'DateTime', 'locationName' => 'previousSlotEndTime', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'ScheduledInstanceId' => [ 'shape' => 'String', 'locationName' => 'scheduledInstanceId', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'TermEndDate' => [ 'shape' => 'DateTime', 'locationName' => 'termEndDate', ], 'TermStartDate' => [ 'shape' => 'DateTime', 'locationName' => 'termStartDate', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], ], ], 'ScheduledInstanceAvailability' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'AvailableInstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'availableInstanceCount', ], 'FirstSlotStartTime' => [ 'shape' => 'DateTime', 'locationName' => 'firstSlotStartTime', ], 'HourlyPrice' => [ 'shape' => 'String', 'locationName' => 'hourlyPrice', ], 'InstanceType' => [ 'shape' => 'String', 'locationName' => 'instanceType', ], 'MaxTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'maxTermDurationInDays', ], 'MinTermDurationInDays' => [ 'shape' => 'Integer', 'locationName' => 'minTermDurationInDays', ], 'NetworkPlatform' => [ 'shape' => 'String', 'locationName' => 'networkPlatform', ], 'Platform' => [ 'shape' => 'String', 'locationName' => 'platform', ], 'PurchaseToken' => [ 'shape' => 'String', 'locationName' => 'purchaseToken', ], 'Recurrence' => [ 'shape' => 'ScheduledInstanceRecurrence', 'locationName' => 'recurrence', ], 'SlotDurationInHours' => [ 'shape' => 'Integer', 'locationName' => 'slotDurationInHours', ], 'TotalScheduledInstanceHours' => [ 'shape' => 'Integer', 'locationName' => 'totalScheduledInstanceHours', ], ], ], 'ScheduledInstanceAvailabilitySet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstanceAvailability', 'locationName' => 'item', ], ], 'ScheduledInstanceIdRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ScheduledInstanceId', ], ], 'ScheduledInstanceRecurrence' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', 'locationName' => 'frequency', ], 'Interval' => [ 'shape' => 'Integer', 'locationName' => 'interval', ], 'OccurrenceDaySet' => [ 'shape' => 'OccurrenceDaySet', 'locationName' => 'occurrenceDaySet', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', 'locationName' => 'occurrenceRelativeToEnd', ], 'OccurrenceUnit' => [ 'shape' => 'String', 'locationName' => 'occurrenceUnit', ], ], ], 'ScheduledInstanceRecurrenceRequest' => [ 'type' => 'structure', 'members' => [ 'Frequency' => [ 'shape' => 'String', ], 'Interval' => [ 'shape' => 'Integer', ], 'OccurrenceDays' => [ 'shape' => 'OccurrenceDayRequestSet', 'locationName' => 'OccurrenceDay', ], 'OccurrenceRelativeToEnd' => [ 'shape' => 'Boolean', ], 'OccurrenceUnit' => [ 'shape' => 'String', ], ], ], 'ScheduledInstanceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstance', 'locationName' => 'item', ], ], 'ScheduledInstancesBlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'ScheduledInstancesEbs', ], 'NoDevice' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesBlockDeviceMappingSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesBlockDeviceMapping', 'locationName' => 'BlockDeviceMapping', ], ], 'ScheduledInstancesEbs' => [ 'type' => 'structure', 'members' => [ 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'Iops' => [ 'shape' => 'Integer', ], 'SnapshotId' => [ 'shape' => 'String', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'VolumeType' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesIamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesIpv6Address' => [ 'type' => 'structure', 'members' => [ 'Ipv6Address' => [ 'shape' => 'Ipv6Address', ], ], ], 'ScheduledInstancesIpv6AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesIpv6Address', 'locationName' => 'Ipv6Address', ], ], 'ScheduledInstancesLaunchSpecification' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'BlockDeviceMappings' => [ 'shape' => 'ScheduledInstancesBlockDeviceMappingSet', 'locationName' => 'BlockDeviceMapping', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'IamInstanceProfile' => [ 'shape' => 'ScheduledInstancesIamInstanceProfile', ], 'ImageId' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'KernelId' => [ 'shape' => 'String', ], 'KeyName' => [ 'shape' => 'String', ], 'Monitoring' => [ 'shape' => 'ScheduledInstancesMonitoring', ], 'NetworkInterfaces' => [ 'shape' => 'ScheduledInstancesNetworkInterfaceSet', 'locationName' => 'NetworkInterface', ], 'Placement' => [ 'shape' => 'ScheduledInstancesPlacement', ], 'RamdiskId' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'SecurityGroupId', ], 'SubnetId' => [ 'shape' => 'String', ], 'UserData' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'ScheduledInstancesNetworkInterface' => [ 'type' => 'structure', 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], 'Description' => [ 'shape' => 'String', ], 'DeviceIndex' => [ 'shape' => 'Integer', ], 'Groups' => [ 'shape' => 'ScheduledInstancesSecurityGroupIdSet', 'locationName' => 'Group', ], 'Ipv6AddressCount' => [ 'shape' => 'Integer', ], 'Ipv6Addresses' => [ 'shape' => 'ScheduledInstancesIpv6AddressList', 'locationName' => 'Ipv6Address', ], 'NetworkInterfaceId' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'PrivateIpAddressConfigs' => [ 'shape' => 'PrivateIpAddressConfigSet', 'locationName' => 'PrivateIpAddressConfig', ], 'SecondaryPrivateIpAddressCount' => [ 'shape' => 'Integer', ], 'SubnetId' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesNetworkInterfaceSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledInstancesNetworkInterface', 'locationName' => 'NetworkInterface', ], ], 'ScheduledInstancesPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesPrivateIpAddressConfig' => [ 'type' => 'structure', 'members' => [ 'Primary' => [ 'shape' => 'Boolean', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], ], ], 'ScheduledInstancesSecurityGroupIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SearchTransitGatewayRoutesRequest' => [ 'type' => 'structure', 'required' => [ 'TransitGatewayRouteTableId', 'Filters', ], 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'MaxResults' => [ 'shape' => 'TransitGatewayMaxResults', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'SearchTransitGatewayRoutesResult' => [ 'type' => 'structure', 'members' => [ 'Routes' => [ 'shape' => 'TransitGatewayRouteList', 'locationName' => 'routeSet', ], 'AdditionalRoutesAvailable' => [ 'shape' => 'Boolean', 'locationName' => 'additionalRoutesAvailable', ], ], ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'groupDescription', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissions', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'IpPermissionsEgress' => [ 'shape' => 'IpPermissionList', 'locationName' => 'ipPermissionsEgress', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'SecurityGroupIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], ], ], 'SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', 'locationName' => 'item', ], ], 'SecurityGroupReference' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'ReferencingVpcId' => [ 'shape' => 'String', 'locationName' => 'referencingVpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'SecurityGroupReferences' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupReference', 'locationName' => 'item', ], ], 'SecurityGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroup', ], ], 'ServiceConfiguration' => [ 'type' => 'structure', 'members' => [ 'ServiceType' => [ 'shape' => 'ServiceTypeDetailSet', 'locationName' => 'serviceType', ], 'ServiceId' => [ 'shape' => 'String', 'locationName' => 'serviceId', ], 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'ServiceState' => [ 'shape' => 'ServiceState', 'locationName' => 'serviceState', ], 'AvailabilityZones' => [ 'shape' => 'ValueStringList', 'locationName' => 'availabilityZoneSet', ], 'AcceptanceRequired' => [ 'shape' => 'Boolean', 'locationName' => 'acceptanceRequired', ], 'NetworkLoadBalancerArns' => [ 'shape' => 'ValueStringList', 'locationName' => 'networkLoadBalancerArnSet', ], 'BaseEndpointDnsNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'baseEndpointDnsNameSet', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], ], ], 'ServiceConfigurationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceConfiguration', 'locationName' => 'item', ], ], 'ServiceDetail' => [ 'type' => 'structure', 'members' => [ 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'ServiceType' => [ 'shape' => 'ServiceTypeDetailSet', 'locationName' => 'serviceType', ], 'AvailabilityZones' => [ 'shape' => 'ValueStringList', 'locationName' => 'availabilityZoneSet', ], 'Owner' => [ 'shape' => 'String', 'locationName' => 'owner', ], 'BaseEndpointDnsNames' => [ 'shape' => 'ValueStringList', 'locationName' => 'baseEndpointDnsNameSet', ], 'PrivateDnsName' => [ 'shape' => 'String', 'locationName' => 'privateDnsName', ], 'VpcEndpointPolicySupported' => [ 'shape' => 'Boolean', 'locationName' => 'vpcEndpointPolicySupported', ], 'AcceptanceRequired' => [ 'shape' => 'Boolean', 'locationName' => 'acceptanceRequired', ], ], ], 'ServiceDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceDetail', 'locationName' => 'item', ], ], 'ServiceState' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Available', 'Deleting', 'Deleted', 'Failed', ], ], 'ServiceType' => [ 'type' => 'string', 'enum' => [ 'Interface', 'Gateway', ], ], 'ServiceTypeDetail' => [ 'type' => 'structure', 'members' => [ 'ServiceType' => [ 'shape' => 'ServiceType', 'locationName' => 'serviceType', ], ], ], 'ServiceTypeDetailSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceTypeDetail', 'locationName' => 'item', ], ], 'ShutdownBehavior' => [ 'type' => 'string', 'enum' => [ 'stop', 'terminate', ], ], 'SlotDateTimeRangeRequest' => [ 'type' => 'structure', 'required' => [ 'EarliestTime', 'LatestTime', ], 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'SlotStartTimeRangeRequest' => [ 'type' => 'structure', 'members' => [ 'EarliestTime' => [ 'shape' => 'DateTime', ], 'LatestTime' => [ 'shape' => 'DateTime', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'DataEncryptionKeyId' => [ 'shape' => 'String', 'locationName' => 'dataEncryptionKeyId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'State' => [ 'shape' => 'SnapshotState', 'locationName' => 'status', ], 'StateMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'VolumeSize' => [ 'shape' => 'Integer', 'locationName' => 'volumeSize', ], 'OwnerAlias' => [ 'shape' => 'String', 'locationName' => 'ownerAlias', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'SnapshotAttributeName' => [ 'type' => 'string', 'enum' => [ 'productCodes', 'createVolumePermission', ], ], 'SnapshotDetail' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DeviceName' => [ 'shape' => 'String', 'locationName' => 'deviceName', ], 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], ], ], 'SnapshotDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotDetail', 'locationName' => 'item', ], ], 'SnapshotDiskContainer' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', ], 'Format' => [ 'shape' => 'String', ], 'Url' => [ 'shape' => 'String', ], 'UserBucket' => [ 'shape' => 'UserBucket', ], ], ], 'SnapshotIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SnapshotId', ], ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'item', ], ], 'SnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'completed', 'error', ], ], 'SnapshotTaskDetail' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'DiskImageSize' => [ 'shape' => 'Double', 'locationName' => 'diskImageSize', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'Format' => [ 'shape' => 'String', 'locationName' => 'format', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'Progress' => [ 'shape' => 'String', 'locationName' => 'progress', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'Url' => [ 'shape' => 'String', 'locationName' => 'url', ], 'UserBucket' => [ 'shape' => 'UserBucketDetails', 'locationName' => 'userBucket', ], ], ], 'SpotAllocationStrategy' => [ 'type' => 'string', 'enum' => [ 'lowest-price', 'diversified', ], ], 'SpotDatafeedSubscription' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'String', 'locationName' => 'bucket', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Prefix' => [ 'shape' => 'String', 'locationName' => 'prefix', ], 'State' => [ 'shape' => 'DatafeedSubscriptionState', 'locationName' => 'state', ], ], ], 'SpotFleetLaunchSpecification' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'GroupIdentifierList', 'locationName' => 'groupSet', ], 'AddressingType' => [ 'shape' => 'String', 'locationName' => 'addressingType', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappingList', 'locationName' => 'blockDeviceMapping', ], 'EbsOptimized' => [ 'shape' => 'Boolean', 'locationName' => 'ebsOptimized', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfileSpecification', 'locationName' => 'iamInstanceProfile', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'KernelId' => [ 'shape' => 'String', 'locationName' => 'kernelId', ], 'KeyName' => [ 'shape' => 'String', 'locationName' => 'keyName', ], 'Monitoring' => [ 'shape' => 'SpotFleetMonitoring', 'locationName' => 'monitoring', ], 'NetworkInterfaces' => [ 'shape' => 'InstanceNetworkInterfaceSpecificationList', 'locationName' => 'networkInterfaceSet', ], 'Placement' => [ 'shape' => 'SpotPlacement', 'locationName' => 'placement', ], 'RamdiskId' => [ 'shape' => 'String', 'locationName' => 'ramdiskId', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'UserData' => [ 'shape' => 'String', 'locationName' => 'userData', ], 'WeightedCapacity' => [ 'shape' => 'Double', 'locationName' => 'weightedCapacity', ], 'TagSpecifications' => [ 'shape' => 'SpotFleetTagSpecificationList', 'locationName' => 'tagSpecificationSet', ], ], ], 'SpotFleetMonitoring' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', 'locationName' => 'enabled', ], ], ], 'SpotFleetRequestConfig' => [ 'type' => 'structure', 'members' => [ 'ActivityStatus' => [ 'shape' => 'ActivityStatus', 'locationName' => 'activityStatus', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'SpotFleetRequestConfig' => [ 'shape' => 'SpotFleetRequestConfigData', 'locationName' => 'spotFleetRequestConfig', ], 'SpotFleetRequestId' => [ 'shape' => 'String', 'locationName' => 'spotFleetRequestId', ], 'SpotFleetRequestState' => [ 'shape' => 'BatchState', 'locationName' => 'spotFleetRequestState', ], ], ], 'SpotFleetRequestConfigData' => [ 'type' => 'structure', 'required' => [ 'IamFleetRole', 'TargetCapacity', ], 'members' => [ 'AllocationStrategy' => [ 'shape' => 'AllocationStrategy', 'locationName' => 'allocationStrategy', ], 'OnDemandAllocationStrategy' => [ 'shape' => 'OnDemandAllocationStrategy', 'locationName' => 'onDemandAllocationStrategy', ], 'ClientToken' => [ 'shape' => 'String', 'locationName' => 'clientToken', ], 'ExcessCapacityTerminationPolicy' => [ 'shape' => 'ExcessCapacityTerminationPolicy', 'locationName' => 'excessCapacityTerminationPolicy', ], 'FulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'fulfilledCapacity', ], 'OnDemandFulfilledCapacity' => [ 'shape' => 'Double', 'locationName' => 'onDemandFulfilledCapacity', ], 'IamFleetRole' => [ 'shape' => 'String', 'locationName' => 'iamFleetRole', ], 'LaunchSpecifications' => [ 'shape' => 'LaunchSpecsList', 'locationName' => 'launchSpecifications', ], 'LaunchTemplateConfigs' => [ 'shape' => 'LaunchTemplateConfigList', 'locationName' => 'launchTemplateConfigs', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'TargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'targetCapacity', ], 'OnDemandTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'onDemandTargetCapacity', ], 'TerminateInstancesWithExpiration' => [ 'shape' => 'Boolean', 'locationName' => 'terminateInstancesWithExpiration', ], 'Type' => [ 'shape' => 'FleetType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'ReplaceUnhealthyInstances' => [ 'shape' => 'Boolean', 'locationName' => 'replaceUnhealthyInstances', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', 'locationName' => 'instanceInterruptionBehavior', ], 'LoadBalancersConfig' => [ 'shape' => 'LoadBalancersConfig', 'locationName' => 'loadBalancersConfig', ], 'InstancePoolsToUseCount' => [ 'shape' => 'Integer', 'locationName' => 'instancePoolsToUseCount', ], ], ], 'SpotFleetRequestConfigSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetRequestConfig', 'locationName' => 'item', ], ], 'SpotFleetTagSpecification' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tag', ], ], ], 'SpotFleetTagSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotFleetTagSpecification', 'locationName' => 'item', ], ], 'SpotInstanceInterruptionBehavior' => [ 'type' => 'string', 'enum' => [ 'hibernate', 'stop', 'terminate', ], ], 'SpotInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'ActualBlockHourlyPrice' => [ 'shape' => 'String', 'locationName' => 'actualBlockHourlyPrice', ], 'AvailabilityZoneGroup' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneGroup', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', 'locationName' => 'blockDurationMinutes', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'Fault' => [ 'shape' => 'SpotInstanceStateFault', 'locationName' => 'fault', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'LaunchGroup' => [ 'shape' => 'String', 'locationName' => 'launchGroup', ], 'LaunchSpecification' => [ 'shape' => 'LaunchSpecification', 'locationName' => 'launchSpecification', ], 'LaunchedAvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'launchedAvailabilityZone', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'SpotInstanceRequestId' => [ 'shape' => 'String', 'locationName' => 'spotInstanceRequestId', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'State' => [ 'shape' => 'SpotInstanceState', 'locationName' => 'state', ], 'Status' => [ 'shape' => 'SpotInstanceStatus', 'locationName' => 'status', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'Type' => [ 'shape' => 'SpotInstanceType', 'locationName' => 'type', ], 'ValidFrom' => [ 'shape' => 'DateTime', 'locationName' => 'validFrom', ], 'ValidUntil' => [ 'shape' => 'DateTime', 'locationName' => 'validUntil', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', 'locationName' => 'instanceInterruptionBehavior', ], ], ], 'SpotInstanceRequestIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SpotInstanceRequestId', ], ], 'SpotInstanceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotInstanceRequest', 'locationName' => 'item', ], ], 'SpotInstanceState' => [ 'type' => 'string', 'enum' => [ 'open', 'active', 'closed', 'cancelled', 'failed', ], ], 'SpotInstanceStateFault' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'SpotInstanceStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], 'UpdateTime' => [ 'shape' => 'DateTime', 'locationName' => 'updateTime', ], ], ], 'SpotInstanceType' => [ 'type' => 'string', 'enum' => [ 'one-time', 'persistent', ], ], 'SpotMarketOptions' => [ 'type' => 'structure', 'members' => [ 'MaxPrice' => [ 'shape' => 'String', ], 'SpotInstanceType' => [ 'shape' => 'SpotInstanceType', ], 'BlockDurationMinutes' => [ 'shape' => 'Integer', ], 'ValidUntil' => [ 'shape' => 'DateTime', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'InstanceInterruptionBehavior', ], ], ], 'SpotOptions' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'SpotAllocationStrategy', 'locationName' => 'allocationStrategy', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'SpotInstanceInterruptionBehavior', 'locationName' => 'instanceInterruptionBehavior', ], 'InstancePoolsToUseCount' => [ 'shape' => 'Integer', 'locationName' => 'instancePoolsToUseCount', ], 'SingleInstanceType' => [ 'shape' => 'Boolean', 'locationName' => 'singleInstanceType', ], 'SingleAvailabilityZone' => [ 'shape' => 'Boolean', 'locationName' => 'singleAvailabilityZone', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'minTargetCapacity', ], ], ], 'SpotOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'SpotAllocationStrategy', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'SpotInstanceInterruptionBehavior', ], 'InstancePoolsToUseCount' => [ 'shape' => 'Integer', ], 'SingleInstanceType' => [ 'shape' => 'Boolean', ], 'SingleAvailabilityZone' => [ 'shape' => 'Boolean', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', ], ], ], 'SpotPlacement' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Tenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'tenancy', ], ], ], 'SpotPrice' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'InstanceType' => [ 'shape' => 'InstanceType', 'locationName' => 'instanceType', ], 'ProductDescription' => [ 'shape' => 'RIProductDescription', 'locationName' => 'productDescription', ], 'SpotPrice' => [ 'shape' => 'String', 'locationName' => 'spotPrice', ], 'Timestamp' => [ 'shape' => 'DateTime', 'locationName' => 'timestamp', ], ], ], 'SpotPriceHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpotPrice', 'locationName' => 'item', ], ], 'StaleIpPermission' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'Integer', 'locationName' => 'fromPort', ], 'IpProtocol' => [ 'shape' => 'String', 'locationName' => 'ipProtocol', ], 'IpRanges' => [ 'shape' => 'IpRanges', 'locationName' => 'ipRanges', ], 'PrefixListIds' => [ 'shape' => 'PrefixListIdSet', 'locationName' => 'prefixListIds', ], 'ToPort' => [ 'shape' => 'Integer', 'locationName' => 'toPort', ], 'UserIdGroupPairs' => [ 'shape' => 'UserIdGroupPairSet', 'locationName' => 'groups', ], ], ], 'StaleIpPermissionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleIpPermission', 'locationName' => 'item', ], ], 'StaleSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'StaleIpPermissions' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissions', ], 'StaleIpPermissionsEgress' => [ 'shape' => 'StaleIpPermissionSet', 'locationName' => 'staleIpPermissionsEgress', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'StaleSecurityGroupSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaleSecurityGroup', 'locationName' => 'item', ], ], 'StartInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'AdditionalInfo' => [ 'shape' => 'String', 'locationName' => 'additionalInfo', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'StartInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StartingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'State' => [ 'type' => 'string', 'enum' => [ 'PendingAcceptance', 'Pending', 'Available', 'Deleting', 'Deleted', 'Rejected', 'Failed', 'Expired', ], ], 'StateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'MoveInProgress', 'InVpc', 'InClassic', ], ], 'StatusName' => [ 'type' => 'string', 'enum' => [ 'reachability', ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'passed', 'failed', 'insufficient-data', 'initializing', ], ], 'StopInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'Hibernate' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'Force' => [ 'shape' => 'Boolean', 'locationName' => 'force', ], ], ], 'StopInstancesResult' => [ 'type' => 'structure', 'members' => [ 'StoppingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'Storage' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Storage', ], ], ], 'StorageLocation' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'String', ], 'Key' => [ 'shape' => 'String', ], ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'AvailabilityZoneId' => [ 'shape' => 'String', 'locationName' => 'availabilityZoneId', ], 'AvailableIpAddressCount' => [ 'shape' => 'Integer', 'locationName' => 'availableIpAddressCount', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DefaultForAz' => [ 'shape' => 'Boolean', 'locationName' => 'defaultForAz', ], 'MapPublicIpOnLaunch' => [ 'shape' => 'Boolean', 'locationName' => 'mapPublicIpOnLaunch', ], 'State' => [ 'shape' => 'SubnetState', 'locationName' => 'state', ], 'SubnetId' => [ 'shape' => 'String', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'AssignIpv6AddressOnCreation' => [ 'shape' => 'Boolean', 'locationName' => 'assignIpv6AddressOnCreation', ], 'Ipv6CidrBlockAssociationSet' => [ 'shape' => 'SubnetIpv6CidrBlockAssociationSet', 'locationName' => 'ipv6CidrBlockAssociationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'SubnetArn' => [ 'shape' => 'String', 'locationName' => 'subnetArn', ], ], ], 'SubnetCidrBlockState' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'SubnetCidrBlockStateCode', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'SubnetCidrBlockStateCode' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', 'failing', 'failed', ], ], 'SubnetIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetId', ], ], 'SubnetIpv6CidrBlockAssociation' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'Ipv6CidrBlockState' => [ 'shape' => 'SubnetCidrBlockState', 'locationName' => 'ipv6CidrBlockState', ], ], ], 'SubnetIpv6CidrBlockAssociationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetIpv6CidrBlockAssociation', 'locationName' => 'item', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'item', ], ], 'SubnetState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'SuccessfulInstanceCreditSpecificationItem' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], ], ], 'SuccessfulInstanceCreditSpecificationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'SuccessfulInstanceCreditSpecificationItem', 'locationName' => 'item', ], ], 'SummaryStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', 'not-applicable', 'initializing', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', 'locationName' => 'key', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Value' => [ 'shape' => 'String', 'locationName' => 'value', ], ], ], 'TagDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', 'locationName' => 'item', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'item', ], ], 'TagSpecification' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', 'locationName' => 'resourceType', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'Tag', ], ], ], 'TagSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagSpecification', 'locationName' => 'item', ], ], 'TargetCapacitySpecification' => [ 'type' => 'structure', 'members' => [ 'TotalTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'totalTargetCapacity', ], 'OnDemandTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'onDemandTargetCapacity', ], 'SpotTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'spotTargetCapacity', ], 'DefaultTargetCapacityType' => [ 'shape' => 'DefaultTargetCapacityType', 'locationName' => 'defaultTargetCapacityType', ], ], ], 'TargetCapacitySpecificationRequest' => [ 'type' => 'structure', 'required' => [ 'TotalTargetCapacity', ], 'members' => [ 'TotalTargetCapacity' => [ 'shape' => 'Integer', ], 'OnDemandTargetCapacity' => [ 'shape' => 'Integer', ], 'SpotTargetCapacity' => [ 'shape' => 'Integer', ], 'DefaultTargetCapacityType' => [ 'shape' => 'DefaultTargetCapacityType', ], ], ], 'TargetConfiguration' => [ 'type' => 'structure', 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', 'locationName' => 'instanceCount', ], 'OfferingId' => [ 'shape' => 'String', 'locationName' => 'offeringId', ], ], ], 'TargetConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'OfferingId', ], 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'TargetConfigurationRequestSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetConfigurationRequest', 'locationName' => 'TargetConfigurationRequest', ], ], 'TargetGroup' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], ], ], 'TargetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroup', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'TargetGroupsConfig' => [ 'type' => 'structure', 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', 'locationName' => 'targetGroups', ], ], ], 'TargetNetwork' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'TargetNetworkId' => [ 'shape' => 'String', 'locationName' => 'targetNetworkId', ], 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Status' => [ 'shape' => 'AssociationStatus', 'locationName' => 'status', ], 'SecurityGroups' => [ 'shape' => 'ValueStringList', 'locationName' => 'securityGroups', ], ], ], 'TargetNetworkSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetNetwork', 'locationName' => 'item', ], ], 'TargetReservationValue' => [ 'type' => 'structure', 'members' => [ 'ReservationValue' => [ 'shape' => 'ReservationValue', 'locationName' => 'reservationValue', ], 'TargetConfiguration' => [ 'shape' => 'TargetConfiguration', 'locationName' => 'targetConfiguration', ], ], ], 'TargetReservationValueSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetReservationValue', 'locationName' => 'item', ], ], 'TelemetryStatus' => [ 'type' => 'string', 'enum' => [ 'UP', 'DOWN', ], ], 'Tenancy' => [ 'type' => 'string', 'enum' => [ 'default', 'dedicated', 'host', ], ], 'TerminateClientVpnConnectionsRequest' => [ 'type' => 'structure', 'required' => [ 'ClientVpnEndpointId', ], 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', ], 'ConnectionId' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'TerminateClientVpnConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'ClientVpnEndpointId' => [ 'shape' => 'String', 'locationName' => 'clientVpnEndpointId', ], 'Username' => [ 'shape' => 'String', 'locationName' => 'username', ], 'ConnectionStatuses' => [ 'shape' => 'TerminateConnectionStatusSet', 'locationName' => 'connectionStatuses', ], ], ], 'TerminateConnectionStatus' => [ 'type' => 'structure', 'members' => [ 'ConnectionId' => [ 'shape' => 'String', 'locationName' => 'connectionId', ], 'PreviousStatus' => [ 'shape' => 'ClientVpnConnectionStatus', 'locationName' => 'previousStatus', ], 'CurrentStatus' => [ 'shape' => 'ClientVpnConnectionStatus', 'locationName' => 'currentStatus', ], ], ], 'TerminateConnectionStatusSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'TerminateConnectionStatus', 'locationName' => 'item', ], ], 'TerminateInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'TerminateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'TerminatingInstances' => [ 'shape' => 'InstanceStateChangeList', 'locationName' => 'instancesSet', ], ], ], 'TrafficType' => [ 'type' => 'string', 'enum' => [ 'ACCEPT', 'REJECT', 'ALL', ], ], 'TransitGateway' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'TransitGatewayArn' => [ 'shape' => 'String', 'locationName' => 'transitGatewayArn', ], 'State' => [ 'shape' => 'TransitGatewayState', 'locationName' => 'state', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'Options' => [ 'shape' => 'TransitGatewayOptions', 'locationName' => 'options', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'TransitGatewayAssociation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayRouteTableId', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], 'State' => [ 'shape' => 'TransitGatewayAssociationState', 'locationName' => 'state', ], ], ], 'TransitGatewayAssociationState' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', ], ], 'TransitGatewayAttachment' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'TransitGatewayOwnerId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayOwnerId', ], 'ResourceOwnerId' => [ 'shape' => 'String', 'locationName' => 'resourceOwnerId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'State' => [ 'shape' => 'TransitGatewayAttachmentState', 'locationName' => 'state', ], 'Association' => [ 'shape' => 'TransitGatewayAttachmentAssociation', 'locationName' => 'association', ], 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'TransitGatewayAttachmentAssociation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayRouteTableId', ], 'State' => [ 'shape' => 'TransitGatewayAssociationState', 'locationName' => 'state', ], ], ], 'TransitGatewayAttachmentIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TransitGatewayAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayAttachment', 'locationName' => 'item', ], ], 'TransitGatewayAttachmentPropagation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayRouteTableId', ], 'State' => [ 'shape' => 'TransitGatewayPropagationState', 'locationName' => 'state', ], ], ], 'TransitGatewayAttachmentPropagationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayAttachmentPropagation', 'locationName' => 'item', ], ], 'TransitGatewayAttachmentResourceType' => [ 'type' => 'string', 'enum' => [ 'vpc', 'vpn', ], ], 'TransitGatewayAttachmentState' => [ 'type' => 'string', 'enum' => [ 'pendingAcceptance', 'rollingBack', 'pending', 'available', 'modifying', 'deleting', 'deleted', 'failed', 'rejected', 'rejecting', 'failing', ], ], 'TransitGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'TransitGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGateway', 'locationName' => 'item', ], ], 'TransitGatewayMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 5, ], 'TransitGatewayOptions' => [ 'type' => 'structure', 'members' => [ 'AmazonSideAsn' => [ 'shape' => 'Long', 'locationName' => 'amazonSideAsn', ], 'AutoAcceptSharedAttachments' => [ 'shape' => 'AutoAcceptSharedAttachmentsValue', 'locationName' => 'autoAcceptSharedAttachments', ], 'DefaultRouteTableAssociation' => [ 'shape' => 'DefaultRouteTableAssociationValue', 'locationName' => 'defaultRouteTableAssociation', ], 'AssociationDefaultRouteTableId' => [ 'shape' => 'String', 'locationName' => 'associationDefaultRouteTableId', ], 'DefaultRouteTablePropagation' => [ 'shape' => 'DefaultRouteTablePropagationValue', 'locationName' => 'defaultRouteTablePropagation', ], 'PropagationDefaultRouteTableId' => [ 'shape' => 'String', 'locationName' => 'propagationDefaultRouteTableId', ], 'VpnEcmpSupport' => [ 'shape' => 'VpnEcmpSupportValue', 'locationName' => 'vpnEcmpSupport', ], 'DnsSupport' => [ 'shape' => 'DnsSupportValue', 'locationName' => 'dnsSupport', ], ], ], 'TransitGatewayPropagation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], 'TransitGatewayRouteTableId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayRouteTableId', ], 'State' => [ 'shape' => 'TransitGatewayPropagationState', 'locationName' => 'state', ], ], ], 'TransitGatewayPropagationState' => [ 'type' => 'string', 'enum' => [ 'enabling', 'enabled', 'disabling', 'disabled', ], ], 'TransitGatewayRequestOptions' => [ 'type' => 'structure', 'members' => [ 'AmazonSideAsn' => [ 'shape' => 'Long', ], 'AutoAcceptSharedAttachments' => [ 'shape' => 'AutoAcceptSharedAttachmentsValue', ], 'DefaultRouteTableAssociation' => [ 'shape' => 'DefaultRouteTableAssociationValue', ], 'DefaultRouteTablePropagation' => [ 'shape' => 'DefaultRouteTablePropagationValue', ], 'VpnEcmpSupport' => [ 'shape' => 'VpnEcmpSupportValue', ], 'DnsSupport' => [ 'shape' => 'DnsSupportValue', ], ], ], 'TransitGatewayRoute' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'TransitGatewayAttachments' => [ 'shape' => 'TransitGatewayRouteAttachmentList', 'locationName' => 'transitGatewayAttachments', ], 'Type' => [ 'shape' => 'TransitGatewayRouteType', 'locationName' => 'type', ], 'State' => [ 'shape' => 'TransitGatewayRouteState', 'locationName' => 'state', ], ], ], 'TransitGatewayRouteAttachment' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], ], ], 'TransitGatewayRouteAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayRouteAttachment', 'locationName' => 'item', ], ], 'TransitGatewayRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayRoute', 'locationName' => 'item', ], ], 'TransitGatewayRouteState' => [ 'type' => 'string', 'enum' => [ 'pending', 'active', 'blackhole', 'deleting', 'deleted', ], ], 'TransitGatewayRouteTable' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayRouteTableId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayRouteTableId', ], 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'State' => [ 'shape' => 'TransitGatewayRouteTableState', 'locationName' => 'state', ], 'DefaultAssociationRouteTable' => [ 'shape' => 'Boolean', 'locationName' => 'defaultAssociationRouteTable', ], 'DefaultPropagationRouteTable' => [ 'shape' => 'Boolean', 'locationName' => 'defaultPropagationRouteTable', ], 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'TransitGatewayRouteTableAssociation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], 'State' => [ 'shape' => 'TransitGatewayAssociationState', 'locationName' => 'state', ], ], ], 'TransitGatewayRouteTableAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayRouteTableAssociation', 'locationName' => 'item', ], ], 'TransitGatewayRouteTableIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'TransitGatewayRouteTableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayRouteTable', 'locationName' => 'item', ], ], 'TransitGatewayRouteTablePropagation' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], 'ResourceType' => [ 'shape' => 'TransitGatewayAttachmentResourceType', 'locationName' => 'resourceType', ], 'State' => [ 'shape' => 'TransitGatewayPropagationState', 'locationName' => 'state', ], ], ], 'TransitGatewayRouteTablePropagationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayRouteTablePropagation', 'locationName' => 'item', ], ], 'TransitGatewayRouteTableState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'TransitGatewayRouteType' => [ 'type' => 'string', 'enum' => [ 'static', 'propagated', ], ], 'TransitGatewayState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'modifying', 'deleting', 'deleted', ], ], 'TransitGatewayVpcAttachment' => [ 'type' => 'structure', 'members' => [ 'TransitGatewayAttachmentId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayAttachmentId', ], 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'VpcOwnerId' => [ 'shape' => 'String', 'locationName' => 'vpcOwnerId', ], 'State' => [ 'shape' => 'TransitGatewayAttachmentState', 'locationName' => 'state', ], 'SubnetIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'subnetIds', ], 'CreationTime' => [ 'shape' => 'DateTime', 'locationName' => 'creationTime', ], 'Options' => [ 'shape' => 'TransitGatewayVpcAttachmentOptions', 'locationName' => 'options', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'TransitGatewayVpcAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransitGatewayVpcAttachment', 'locationName' => 'item', ], ], 'TransitGatewayVpcAttachmentOptions' => [ 'type' => 'structure', 'members' => [ 'DnsSupport' => [ 'shape' => 'DnsSupportValue', 'locationName' => 'dnsSupport', ], 'Ipv6Support' => [ 'shape' => 'Ipv6SupportValue', 'locationName' => 'ipv6Support', ], ], ], 'TransportProtocol' => [ 'type' => 'string', 'enum' => [ 'tcp', 'udp', ], ], 'TunnelOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnTunnelOptionsSpecification', 'locationName' => 'item', ], ], 'UnassignIpv6AddressesRequest' => [ 'type' => 'structure', 'required' => [ 'Ipv6Addresses', 'NetworkInterfaceId', ], 'members' => [ 'Ipv6Addresses' => [ 'shape' => 'Ipv6AddressList', 'locationName' => 'ipv6Addresses', ], 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], ], ], 'UnassignIpv6AddressesResult' => [ 'type' => 'structure', 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'UnassignedIpv6Addresses' => [ 'shape' => 'Ipv6AddressList', 'locationName' => 'unassignedIpv6Addresses', ], ], ], 'UnassignPrivateIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'NetworkInterfaceId', 'PrivateIpAddresses', ], 'members' => [ 'NetworkInterfaceId' => [ 'shape' => 'String', 'locationName' => 'networkInterfaceId', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddressStringList', 'locationName' => 'privateIpAddress', ], ], ], 'UnmonitorInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'UnmonitorInstancesResult' => [ 'type' => 'structure', 'members' => [ 'InstanceMonitorings' => [ 'shape' => 'InstanceMonitoringList', 'locationName' => 'instancesSet', ], ], ], 'UnsuccessfulInstanceCreditSpecificationErrorCode' => [ 'type' => 'string', 'enum' => [ 'InvalidInstanceID.Malformed', 'InvalidInstanceID.NotFound', 'IncorrectInstanceState', 'InstanceCreditSpecification.NotSupported', ], ], 'UnsuccessfulInstanceCreditSpecificationItem' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'Error' => [ 'shape' => 'UnsuccessfulInstanceCreditSpecificationItemError', 'locationName' => 'error', ], ], ], 'UnsuccessfulInstanceCreditSpecificationItemError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'UnsuccessfulInstanceCreditSpecificationErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'UnsuccessfulInstanceCreditSpecificationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulInstanceCreditSpecificationItem', 'locationName' => 'item', ], ], 'UnsuccessfulItem' => [ 'type' => 'structure', 'members' => [ 'Error' => [ 'shape' => 'UnsuccessfulItemError', 'locationName' => 'error', ], 'ResourceId' => [ 'shape' => 'String', 'locationName' => 'resourceId', ], ], ], 'UnsuccessfulItemError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'UnsuccessfulItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UnsuccessfulItemSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnsuccessfulItem', 'locationName' => 'item', ], ], 'UpdateSecurityGroupRuleDescriptionsEgressRequest' => [ 'type' => 'structure', 'required' => [ 'IpPermissions', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'UpdateSecurityGroupRuleDescriptionsEgressResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'UpdateSecurityGroupRuleDescriptionsIngressRequest' => [ 'type' => 'structure', 'required' => [ 'IpPermissions', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'GroupId' => [ 'shape' => 'String', ], 'GroupName' => [ 'shape' => 'String', ], 'IpPermissions' => [ 'shape' => 'IpPermissionList', ], ], ], 'UpdateSecurityGroupRuleDescriptionsIngressResult' => [ 'type' => 'structure', 'members' => [ 'Return' => [ 'shape' => 'Boolean', 'locationName' => 'return', ], ], ], 'UserBucket' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', ], 'S3Key' => [ 'shape' => 'String', ], ], ], 'UserBucketDetails' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'String', 'locationName' => 's3Bucket', ], 'S3Key' => [ 'shape' => 'String', 'locationName' => 's3Key', ], ], ], 'UserData' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => 'String', 'locationName' => 'data', ], ], ], 'UserGroupStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserGroup', ], ], 'UserIdGroupPair' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'GroupId' => [ 'shape' => 'String', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'PeeringStatus' => [ 'shape' => 'String', 'locationName' => 'peeringStatus', ], 'UserId' => [ 'shape' => 'String', 'locationName' => 'userId', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'UserIdGroupPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdGroupPairSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserIdGroupPair', 'locationName' => 'item', ], ], 'UserIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'UserId', ], ], 'ValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'VersionDescription' => [ 'type' => 'string', 'max' => 255, ], 'VersionStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'VgwTelemetry' => [ 'type' => 'structure', 'members' => [ 'AcceptedRouteCount' => [ 'shape' => 'Integer', 'locationName' => 'acceptedRouteCount', ], 'LastStatusChange' => [ 'shape' => 'DateTime', 'locationName' => 'lastStatusChange', ], 'OutsideIpAddress' => [ 'shape' => 'String', 'locationName' => 'outsideIpAddress', ], 'Status' => [ 'shape' => 'TelemetryStatus', 'locationName' => 'status', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'VgwTelemetryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VgwTelemetry', 'locationName' => 'item', ], ], 'VirtualizationType' => [ 'type' => 'string', 'enum' => [ 'hvm', 'paravirtual', ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'Attachments' => [ 'shape' => 'VolumeAttachmentList', 'locationName' => 'attachmentSet', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'CreateTime' => [ 'shape' => 'DateTime', 'locationName' => 'createTime', ], 'Encrypted' => [ 'shape' => 'Boolean', 'locationName' => 'encrypted', ], 'KmsKeyId' => [ 'shape' => 'String', 'locationName' => 'kmsKeyId', ], 'Size' => [ 'shape' => 'Integer', 'locationName' => 'size', ], 'SnapshotId' => [ 'shape' => 'String', 'locationName' => 'snapshotId', ], 'State' => [ 'shape' => 'VolumeState', 'locationName' => 'status', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'Iops' => [ 'shape' => 'Integer', 'locationName' => 'iops', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'volumeType', ], ], ], 'VolumeAttachment' => [ 'type' => 'structure', 'members' => [ 'AttachTime' => [ 'shape' => 'DateTime', 'locationName' => 'attachTime', ], 'Device' => [ 'shape' => 'String', 'locationName' => 'device', ], 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'State' => [ 'shape' => 'VolumeAttachmentState', 'locationName' => 'status', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', 'locationName' => 'deleteOnTermination', ], ], ], 'VolumeAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeAttachment', 'locationName' => 'item', ], ], 'VolumeAttachmentState' => [ 'type' => 'string', 'enum' => [ 'attaching', 'attached', 'detaching', 'detached', 'busy', ], ], 'VolumeAttributeName' => [ 'type' => 'string', 'enum' => [ 'autoEnableIO', 'productCodes', ], ], 'VolumeDetail' => [ 'type' => 'structure', 'required' => [ 'Size', ], 'members' => [ 'Size' => [ 'shape' => 'Long', 'locationName' => 'size', ], ], ], 'VolumeIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VolumeId', ], ], 'VolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', 'locationName' => 'item', ], ], 'VolumeModification' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'ModificationState' => [ 'shape' => 'VolumeModificationState', 'locationName' => 'modificationState', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], 'TargetSize' => [ 'shape' => 'Integer', 'locationName' => 'targetSize', ], 'TargetIops' => [ 'shape' => 'Integer', 'locationName' => 'targetIops', ], 'TargetVolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'targetVolumeType', ], 'OriginalSize' => [ 'shape' => 'Integer', 'locationName' => 'originalSize', ], 'OriginalIops' => [ 'shape' => 'Integer', 'locationName' => 'originalIops', ], 'OriginalVolumeType' => [ 'shape' => 'VolumeType', 'locationName' => 'originalVolumeType', ], 'Progress' => [ 'shape' => 'Long', 'locationName' => 'progress', ], 'StartTime' => [ 'shape' => 'DateTime', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'DateTime', 'locationName' => 'endTime', ], ], ], 'VolumeModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeModification', 'locationName' => 'item', ], ], 'VolumeModificationState' => [ 'type' => 'string', 'enum' => [ 'modifying', 'optimizing', 'completed', 'failed', ], ], 'VolumeState' => [ 'type' => 'string', 'enum' => [ 'creating', 'available', 'in-use', 'deleting', 'deleted', 'error', ], ], 'VolumeStatusAction' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], ], ], 'VolumeStatusActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusAction', 'locationName' => 'item', ], ], 'VolumeStatusDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'VolumeStatusName', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'String', 'locationName' => 'status', ], ], ], 'VolumeStatusDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusDetails', 'locationName' => 'item', ], ], 'VolumeStatusEvent' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'EventId' => [ 'shape' => 'String', 'locationName' => 'eventId', ], 'EventType' => [ 'shape' => 'String', 'locationName' => 'eventType', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], ], ], 'VolumeStatusEventsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusEvent', 'locationName' => 'item', ], ], 'VolumeStatusInfo' => [ 'type' => 'structure', 'members' => [ 'Details' => [ 'shape' => 'VolumeStatusDetailsList', 'locationName' => 'details', ], 'Status' => [ 'shape' => 'VolumeStatusInfoStatus', 'locationName' => 'status', ], ], ], 'VolumeStatusInfoStatus' => [ 'type' => 'string', 'enum' => [ 'ok', 'impaired', 'insufficient-data', ], ], 'VolumeStatusItem' => [ 'type' => 'structure', 'members' => [ 'Actions' => [ 'shape' => 'VolumeStatusActionsList', 'locationName' => 'actionsSet', ], 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'Events' => [ 'shape' => 'VolumeStatusEventsList', 'locationName' => 'eventsSet', ], 'VolumeId' => [ 'shape' => 'String', 'locationName' => 'volumeId', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatusInfo', 'locationName' => 'volumeStatus', ], ], ], 'VolumeStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeStatusItem', 'locationName' => 'item', ], ], 'VolumeStatusName' => [ 'type' => 'string', 'enum' => [ 'io-enabled', 'io-performance', ], ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'standard', 'io1', 'gp2', 'sc1', 'st1', ], ], 'Vpc' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'DhcpOptionsId' => [ 'shape' => 'String', 'locationName' => 'dhcpOptionsId', ], 'State' => [ 'shape' => 'VpcState', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'InstanceTenancy' => [ 'shape' => 'Tenancy', 'locationName' => 'instanceTenancy', ], 'Ipv6CidrBlockAssociationSet' => [ 'shape' => 'VpcIpv6CidrBlockAssociationSet', 'locationName' => 'ipv6CidrBlockAssociationSet', ], 'CidrBlockAssociationSet' => [ 'shape' => 'VpcCidrBlockAssociationSet', 'locationName' => 'cidrBlockAssociationSet', ], 'IsDefault' => [ 'shape' => 'Boolean', 'locationName' => 'isDefault', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpcAttachment' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'AttachmentStatus', 'locationName' => 'state', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'VpcAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcAttachment', 'locationName' => 'item', ], ], 'VpcAttributeName' => [ 'type' => 'string', 'enum' => [ 'enableDnsSupport', 'enableDnsHostnames', ], ], 'VpcCidrBlockAssociation' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'CidrBlockState' => [ 'shape' => 'VpcCidrBlockState', 'locationName' => 'cidrBlockState', ], ], ], 'VpcCidrBlockAssociationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcCidrBlockAssociation', 'locationName' => 'item', ], ], 'VpcCidrBlockState' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'VpcCidrBlockStateCode', 'locationName' => 'state', ], 'StatusMessage' => [ 'shape' => 'String', 'locationName' => 'statusMessage', ], ], ], 'VpcCidrBlockStateCode' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', 'failing', 'failed', ], ], 'VpcClassicLink' => [ 'type' => 'structure', 'members' => [ 'ClassicLinkEnabled' => [ 'shape' => 'Boolean', 'locationName' => 'classicLinkEnabled', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], ], ], 'VpcClassicLinkIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcClassicLinkList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcClassicLink', 'locationName' => 'item', ], ], 'VpcEndpoint' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'VpcEndpointType' => [ 'shape' => 'VpcEndpointType', 'locationName' => 'vpcEndpointType', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'ServiceName' => [ 'shape' => 'String', 'locationName' => 'serviceName', ], 'State' => [ 'shape' => 'State', 'locationName' => 'state', ], 'PolicyDocument' => [ 'shape' => 'String', 'locationName' => 'policyDocument', ], 'RouteTableIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'routeTableIdSet', ], 'SubnetIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'subnetIdSet', ], 'Groups' => [ 'shape' => 'GroupIdentifierSet', 'locationName' => 'groupSet', ], 'PrivateDnsEnabled' => [ 'shape' => 'Boolean', 'locationName' => 'privateDnsEnabled', ], 'NetworkInterfaceIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'networkInterfaceIdSet', ], 'DnsEntries' => [ 'shape' => 'DnsEntrySet', 'locationName' => 'dnsEntrySet', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', 'locationName' => 'creationTimestamp', ], ], ], 'VpcEndpointConnection' => [ 'type' => 'structure', 'members' => [ 'ServiceId' => [ 'shape' => 'String', 'locationName' => 'serviceId', ], 'VpcEndpointId' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointId', ], 'VpcEndpointOwner' => [ 'shape' => 'String', 'locationName' => 'vpcEndpointOwner', ], 'VpcEndpointState' => [ 'shape' => 'State', 'locationName' => 'vpcEndpointState', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', 'locationName' => 'creationTimestamp', ], ], ], 'VpcEndpointConnectionSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcEndpointConnection', 'locationName' => 'item', ], ], 'VpcEndpointSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcEndpoint', 'locationName' => 'item', ], ], 'VpcEndpointType' => [ 'type' => 'string', 'enum' => [ 'Interface', 'Gateway', ], ], 'VpcIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcId', ], ], 'VpcIpv6CidrBlockAssociation' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'String', 'locationName' => 'associationId', ], 'Ipv6CidrBlock' => [ 'shape' => 'String', 'locationName' => 'ipv6CidrBlock', ], 'Ipv6CidrBlockState' => [ 'shape' => 'VpcCidrBlockState', 'locationName' => 'ipv6CidrBlockState', ], ], ], 'VpcIpv6CidrBlockAssociationSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcIpv6CidrBlockAssociation', 'locationName' => 'item', ], ], 'VpcList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Vpc', 'locationName' => 'item', ], ], 'VpcPeeringConnection' => [ 'type' => 'structure', 'members' => [ 'AccepterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'accepterVpcInfo', ], 'ExpirationTime' => [ 'shape' => 'DateTime', 'locationName' => 'expirationTime', ], 'RequesterVpcInfo' => [ 'shape' => 'VpcPeeringConnectionVpcInfo', 'locationName' => 'requesterVpcInfo', ], 'Status' => [ 'shape' => 'VpcPeeringConnectionStateReason', 'locationName' => 'status', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VpcPeeringConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpcPeeringConnectionId', ], ], ], 'VpcPeeringConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringConnection', 'locationName' => 'item', ], ], 'VpcPeeringConnectionOptionsDescription' => [ 'type' => 'structure', 'members' => [ 'AllowDnsResolutionFromRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowDnsResolutionFromRemoteVpc', ], 'AllowEgressFromLocalClassicLinkToRemoteVpc' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalClassicLinkToRemoteVpc', ], 'AllowEgressFromLocalVpcToRemoteClassicLink' => [ 'shape' => 'Boolean', 'locationName' => 'allowEgressFromLocalVpcToRemoteClassicLink', ], ], ], 'VpcPeeringConnectionStateReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'VpcPeeringConnectionStateReasonCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'VpcPeeringConnectionStateReasonCode' => [ 'type' => 'string', 'enum' => [ 'initiating-request', 'pending-acceptance', 'active', 'deleted', 'rejected', 'failed', 'expired', 'provisioning', 'deleting', ], ], 'VpcPeeringConnectionVpcInfo' => [ 'type' => 'structure', 'members' => [ 'CidrBlock' => [ 'shape' => 'String', 'locationName' => 'cidrBlock', ], 'Ipv6CidrBlockSet' => [ 'shape' => 'Ipv6CidrBlockSet', 'locationName' => 'ipv6CidrBlockSet', ], 'CidrBlockSet' => [ 'shape' => 'CidrBlockSet', 'locationName' => 'cidrBlockSet', ], 'OwnerId' => [ 'shape' => 'String', 'locationName' => 'ownerId', ], 'PeeringOptions' => [ 'shape' => 'VpcPeeringConnectionOptionsDescription', 'locationName' => 'peeringOptions', ], 'VpcId' => [ 'shape' => 'String', 'locationName' => 'vpcId', ], 'Region' => [ 'shape' => 'String', 'locationName' => 'region', ], ], ], 'VpcState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', ], ], 'VpcTenancy' => [ 'type' => 'string', 'enum' => [ 'default', ], ], 'VpnConnection' => [ 'type' => 'structure', 'members' => [ 'CustomerGatewayConfiguration' => [ 'shape' => 'String', 'locationName' => 'customerGatewayConfiguration', ], 'CustomerGatewayId' => [ 'shape' => 'String', 'locationName' => 'customerGatewayId', ], 'Category' => [ 'shape' => 'String', 'locationName' => 'category', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'VpnConnectionId' => [ 'shape' => 'String', 'locationName' => 'vpnConnectionId', ], 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'TransitGatewayId' => [ 'shape' => 'String', 'locationName' => 'transitGatewayId', ], 'Options' => [ 'shape' => 'VpnConnectionOptions', 'locationName' => 'options', ], 'Routes' => [ 'shape' => 'VpnStaticRouteList', 'locationName' => 'routes', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], 'VgwTelemetry' => [ 'shape' => 'VgwTelemetryList', 'locationName' => 'vgwTelemetry', ], ], ], 'VpnConnectionIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnConnectionId', ], ], 'VpnConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnConnection', 'locationName' => 'item', ], ], 'VpnConnectionOptions' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], ], ], 'VpnConnectionOptionsSpecification' => [ 'type' => 'structure', 'members' => [ 'StaticRoutesOnly' => [ 'shape' => 'Boolean', 'locationName' => 'staticRoutesOnly', ], 'TunnelOptions' => [ 'shape' => 'TunnelOptionsList', ], ], ], 'VpnEcmpSupportValue' => [ 'type' => 'string', 'enum' => [ 'enable', 'disable', ], ], 'VpnGateway' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'String', 'locationName' => 'availabilityZone', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'GatewayType', 'locationName' => 'type', ], 'VpcAttachments' => [ 'shape' => 'VpcAttachmentList', 'locationName' => 'attachments', ], 'VpnGatewayId' => [ 'shape' => 'String', 'locationName' => 'vpnGatewayId', ], 'AmazonSideAsn' => [ 'shape' => 'Long', 'locationName' => 'amazonSideAsn', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], 'VpnGatewayIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpnGatewayId', ], ], 'VpnGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnGateway', 'locationName' => 'item', ], ], 'VpnProtocol' => [ 'type' => 'string', 'enum' => [ 'openvpn', ], ], 'VpnState' => [ 'type' => 'string', 'enum' => [ 'pending', 'available', 'deleting', 'deleted', ], ], 'VpnStaticRoute' => [ 'type' => 'structure', 'members' => [ 'DestinationCidrBlock' => [ 'shape' => 'String', 'locationName' => 'destinationCidrBlock', ], 'Source' => [ 'shape' => 'VpnStaticRouteSource', 'locationName' => 'source', ], 'State' => [ 'shape' => 'VpnState', 'locationName' => 'state', ], ], ], 'VpnStaticRouteList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpnStaticRoute', 'locationName' => 'item', ], ], 'VpnStaticRouteSource' => [ 'type' => 'string', 'enum' => [ 'Static', ], ], 'VpnTunnelOptionsSpecification' => [ 'type' => 'structure', 'members' => [ 'TunnelInsideCidr' => [ 'shape' => 'String', ], 'PreSharedKey' => [ 'shape' => 'String', ], ], ], 'WithdrawByoipCidrRequest' => [ 'type' => 'structure', 'required' => [ 'Cidr', ], 'members' => [ 'Cidr' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'WithdrawByoipCidrResult' => [ 'type' => 'structure', 'members' => [ 'ByoipCidr' => [ 'shape' => 'ByoipCidr', 'locationName' => 'byoipCidr', ], ], ], 'ZoneIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneId', ], ], 'ZoneNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneName', ], ], 'scope' => [ 'type' => 'string', 'enum' => [ 'Availability Zone', 'Region', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-11-15/paginators-1.json.php b/lib/aws/Aws/data/ec2/2016-11-15/paginators-1.json.php new file mode 100644 index 0000000..0eeb164 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-11-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/paginators-1.json +return [ 'pagination' => [ 'DescribeAccountAttributes' => [ 'result_key' => 'AccountAttributes', ], 'DescribeAddresses' => [ 'result_key' => 'Addresses', ], 'DescribeAvailabilityZones' => [ 'result_key' => 'AvailabilityZones', ], 'DescribeBundleTasks' => [ 'result_key' => 'BundleTasks', ], 'DescribeByoipCidrs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ByoipCidrs', ], 'DescribeCapacityReservations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'CapacityReservations', ], 'DescribeClassicLinkInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Instances', ], 'DescribeClientVpnAuthorizationRules' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'AuthorizationRules', ], 'DescribeClientVpnConnections' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Connections', ], 'DescribeClientVpnEndpoints' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ClientVpnEndpoints', ], 'DescribeClientVpnRoutes' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Routes', ], 'DescribeClientVpnTargetNetworks' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ClientVpnTargetNetworks', ], 'DescribeConversionTasks' => [ 'result_key' => 'ConversionTasks', ], 'DescribeCustomerGateways' => [ 'result_key' => 'CustomerGateways', ], 'DescribeDhcpOptions' => [ 'result_key' => 'DhcpOptions', ], 'DescribeEgressOnlyInternetGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'EgressOnlyInternetGateways', ], 'DescribeExportTasks' => [ 'result_key' => 'ExportTasks', ], 'DescribeFleets' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Fleets', ], 'DescribeFlowLogs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'FlowLogs', ], 'DescribeFpgaImages' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'FpgaImages', ], 'DescribeHostReservationOfferings' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'OfferingSet', ], 'DescribeHostReservations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'HostReservationSet', ], 'DescribeHosts' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Hosts', ], 'DescribeIamInstanceProfileAssociations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'IamInstanceProfileAssociations', ], 'DescribeImages' => [ 'result_key' => 'Images', ], 'DescribeImportImageTasks' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ImportImageTasks', ], 'DescribeImportSnapshotTasks' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ImportSnapshotTasks', ], 'DescribeInstanceCreditSpecifications' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceCreditSpecifications', ], 'DescribeInstanceStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeLaunchTemplateVersions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'LaunchTemplateVersions', ], 'DescribeLaunchTemplates' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'LaunchTemplates', ], 'DescribeMovingAddresses' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'MovingAddressStatuses', ], 'DescribeNatGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NatGateways', ], 'DescribeNetworkAcls' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfacePermissions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkInterfacePermissions', ], 'DescribeNetworkInterfaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], 'DescribePrefixLists' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'PrefixLists', ], 'DescribePrincipalIdFormat' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Principals', ], 'DescribePublicIpv4Pools' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'PublicIpv4Pools', ], 'DescribeRegions' => [ 'result_key' => 'Regions', ], 'DescribeReservedInstances' => [ 'result_key' => 'ReservedInstances', ], 'DescribeReservedInstancesListings' => [ 'result_key' => 'ReservedInstancesListings', ], 'DescribeReservedInstancesModifications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesModifications', ], 'DescribeReservedInstancesOfferings' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ReservedInstancesOfferings', ], 'DescribeRouteTables' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'RouteTables', ], 'DescribeScheduledInstanceAvailability' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ScheduledInstanceAvailabilitySet', ], 'DescribeScheduledInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ScheduledInstanceSet', ], 'DescribeSecurityGroups' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SecurityGroups', ], 'DescribeSnapshots' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Snapshots', ], 'DescribeSpotFleetRequests' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotFleetRequestConfigs', ], 'DescribeSpotInstanceRequests' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotPriceHistory', ], 'DescribeStaleSecurityGroups' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'StaleSecurityGroupSet', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], 'DescribeTransitGatewayAttachments' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGatewayAttachments', ], 'DescribeTransitGatewayRouteTables' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGatewayRouteTables', ], 'DescribeTransitGatewayVpcAttachments' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGatewayVpcAttachments', ], 'DescribeTransitGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGateways', ], 'DescribeVolumeStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VolumeStatuses', ], 'DescribeVolumes' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Volumes', ], 'DescribeVolumesModifications' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VolumesModifications', ], 'DescribeVpcClassicLinkDnsSupport' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Vpcs', ], 'DescribeVpcEndpointConnectionNotifications' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ConnectionNotificationSet', ], 'DescribeVpcEndpointConnections' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VpcEndpointConnections', ], 'DescribeVpcEndpointServiceConfigurations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ServiceConfigurations', ], 'DescribeVpcEndpointServicePermissions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'AllowedPrincipals', ], 'DescribeVpcEndpoints' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VpcEndpoints', ], 'DescribeVpcPeeringConnections' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpcs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Vpcs', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], 'GetTransitGatewayAttachmentPropagations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGatewayAttachmentPropagations', ], 'GetTransitGatewayRouteTableAssociations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Associations', ], 'GetTransitGatewayRouteTablePropagations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'TransitGatewayRouteTablePropagations', ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-11-15/smoke.json.php b/lib/aws/Aws/data/ec2/2016-11-15/smoke.json.php new file mode 100644 index 0000000..15ebd9f --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-11-15/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeRegions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeInstances', 'input' => [ 'InstanceIds' => [ 'i-12345678', ], ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-11-15/waiters-1.json.php b/lib/aws/Aws/data/ec2/2016-11-15/waiters-1.json.php new file mode 100644 index 0000000..987ecac --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-11-15/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 15, 'max_attempts' => 40, 'acceptor_type' => 'output', ], '__InstanceState' => [ 'operation' => 'DescribeInstances', 'acceptor_path' => 'Reservations[].Instances[].State.Name', ], '__InstanceStatus' => [ 'operation' => 'DescribeInstanceStatus', 'success_value' => 'ok', ], 'SystemStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].SystemStatus.Status', ], 'InstanceStatusOk' => [ 'extends' => '__InstanceStatus', 'acceptor_path' => 'InstanceStatuses[].InstanceStatus.Status', ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'acceptor_path' => 'Images[].State', 'success_value' => 'available', 'failure_value' => [ 'failed', ], ], 'InstanceRunning' => [ 'extends' => '__InstanceState', 'success_value' => 'running', 'failure_value' => [ 'shutting-down', 'terminated', 'stopping', ], ], 'InstanceStopped' => [ 'extends' => '__InstanceState', 'success_value' => 'stopped', 'failure_value' => [ 'pending', 'terminated', ], ], 'InstanceTerminated' => [ 'extends' => '__InstanceState', 'success_value' => 'terminated', 'failure_value' => [ 'pending', 'stopping', ], ], '__ExportTaskState' => [ 'operation' => 'DescribeExportTasks', 'acceptor_path' => 'ExportTasks[].State', ], 'ExportTaskCompleted' => [ 'extends' => '__ExportTaskState', 'success_value' => 'completed', ], 'ExportTaskCancelled' => [ 'extends' => '__ExportTaskState', 'success_value' => 'cancelled', ], 'SnapshotCompleted' => [ 'operation' => 'DescribeSnapshots', 'success_path' => 'Snapshots[].State', 'success_value' => 'completed', ], 'SubnetAvailable' => [ 'operation' => 'DescribeSubnets', 'success_path' => 'Subnets[].State', 'success_value' => 'available', ], '__VolumeStatus' => [ 'operation' => 'DescribeVolumes', 'acceptor_path' => 'Volumes[].State', ], 'VolumeAvailable' => [ 'extends' => '__VolumeStatus', 'success_value' => 'available', 'failure_value' => [ 'deleted', ], ], 'VolumeInUse' => [ 'extends' => '__VolumeStatus', 'success_value' => 'in-use', 'failure_value' => [ 'deleted', ], ], 'VolumeDeleted' => [ 'extends' => '__VolumeStatus', 'success_type' => 'error', 'success_value' => 'InvalidVolume.NotFound', ], 'VpcAvailable' => [ 'operation' => 'DescribeVpcs', 'success_path' => 'Vpcs[].State', 'success_value' => 'available', ], '__VpnConnectionState' => [ 'operation' => 'DescribeVpnConnections', 'acceptor_path' => 'VpnConnections[].State', ], 'VpnConnectionAvailable' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'available', 'failure_value' => [ 'deleting', 'deleted', ], ], 'VpnConnectionDeleted' => [ 'extends' => '__VpnConnectionState', 'success_value' => 'deleted', 'failure_value' => [ 'pending', ], ], 'BundleTaskComplete' => [ 'operation' => 'DescribeBundleTasks', 'acceptor_path' => 'BundleTasks[].State', 'success_value' => 'complete', 'failure_value' => [ 'failed', ], ], '__ConversionTaskState' => [ 'operation' => 'DescribeConversionTasks', 'acceptor_path' => 'ConversionTasks[].State', ], 'ConversionTaskCompleted' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'completed', 'failure_value' => [ 'cancelled', 'cancelling', ], ], 'ConversionTaskCancelled' => [ 'extends' => '__ConversionTaskState', 'success_value' => 'cancelled', ], '__CustomerGatewayState' => [ 'operation' => 'DescribeCustomerGateways', 'acceptor_path' => 'CustomerGateways[].State', ], 'CustomerGatewayAvailable' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'available', 'failure_value' => [ 'deleted', 'deleting', ], ], 'ConversionTaskDeleted' => [ 'extends' => '__CustomerGatewayState', 'success_value' => 'deleted', ], '__SpotInstanceRequestState' => [ 'operation' => 'DescribeSpotInstanceRequests', 'acceptor_path' => 'SpotInstanceRequests[].Status.Code', ], 'SpotInstanceRequestFulfilled' => [ 'extends' => '__SpotInstanceRequestState', 'success_value' => 'fulfilled', 'failure_value' => [ 'schedule-expired', 'canceled-before-fulfillment', 'bad-parameters', 'system-error', ], ], ],]; diff --git a/lib/aws/Aws/data/ec2/2016-11-15/waiters-2.json.php b/lib/aws/Aws/data/ec2/2016-11-15/waiters-2.json.php new file mode 100644 index 0000000..5a6ea86 --- /dev/null +++ b/lib/aws/Aws/data/ec2/2016-11-15/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ec2/2016-11-15/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceExists' => [ 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'DescribeInstances', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Reservations[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'BundleTaskComplete' => [ 'delay' => 15, 'operation' => 'DescribeBundleTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'complete', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'BundleTasks[].State', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'BundleTasks[].State', ], ], ], 'ConversionTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelled', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], [ 'expected' => 'cancelling', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'ConversionTasks[].State', ], ], ], 'ConversionTaskDeleted' => [ 'delay' => 15, 'operation' => 'DescribeConversionTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ConversionTasks[].State', ], ], ], 'CustomerGatewayAvailable' => [ 'delay' => 15, 'operation' => 'DescribeCustomerGateways', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'CustomerGateways[].State', ], ], ], 'ExportTaskCancelled' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'cancelled', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ExportTaskCompleted' => [ 'delay' => 15, 'operation' => 'DescribeExportTasks', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'ExportTasks[].State', ], ], ], 'ImageExists' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(Images[]) > `0`', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidAMIID.NotFound', 'state' => 'retry', ], ], ], 'ImageAvailable' => [ 'operation' => 'DescribeImages', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Images[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Images[].State', 'expected' => 'failed', ], ], ], 'InstanceRunning' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'running', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'shutting-down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].InstanceStatus.Status', 'expected' => 'ok', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstanceID.NotFound', 'state' => 'retry', ], ], ], 'InstanceStopped' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'InstanceTerminated' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'terminated', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Reservations[].Instances[].State.Name', ], ], ], 'KeyPairExists' => [ 'operation' => 'DescribeKeyPairs', 'delay' => 5, 'maxAttempts' => 6, 'acceptors' => [ [ 'expected' => true, 'matcher' => 'path', 'state' => 'success', 'argument' => 'length(KeyPairs[].KeyName) > `0`', ], [ 'expected' => 'InvalidKeyPair.NotFound', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'NatGatewayAvailable' => [ 'operation' => 'DescribeNatGateways', 'delay' => 15, 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'NatGateways[].State', 'expected' => 'available', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'failed', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleting', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'NatGateways[].State', 'expected' => 'deleted', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'NatGatewayNotFound', ], ], ], 'NetworkInterfaceAvailable' => [ 'operation' => 'DescribeNetworkInterfaces', 'delay' => 20, 'maxAttempts' => 10, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'NetworkInterfaces[].Status', ], [ 'expected' => 'InvalidNetworkInterfaceID.NotFound', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'PasswordDataAvailable' => [ 'operation' => 'GetPasswordData', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'length(PasswordData) > `0`', 'expected' => true, ], ], ], 'SnapshotCompleted' => [ 'delay' => 15, 'operation' => 'DescribeSnapshots', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'completed', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Snapshots[].State', ], ], ], 'SpotInstanceRequestFulfilled' => [ 'operation' => 'DescribeSpotInstanceRequests', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'fulfilled', ], [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'request-canceled-and-instance-running', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'schedule-expired', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'canceled-before-fulfillment', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'bad-parameters', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'SpotInstanceRequests[].Status.Code', 'expected' => 'system-error', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'InvalidSpotInstanceRequestID.NotFound', ], ], ], 'SubnetAvailable' => [ 'delay' => 15, 'operation' => 'DescribeSubnets', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Subnets[].State', ], ], ], 'SystemStatusOk' => [ 'operation' => 'DescribeInstanceStatus', 'maxAttempts' => 40, 'delay' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'InstanceStatuses[].SystemStatus.Status', 'expected' => 'ok', ], ], ], 'VolumeAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VolumeDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'matcher' => 'error', 'expected' => 'InvalidVolume.NotFound', 'state' => 'success', ], ], ], 'VolumeInUse' => [ 'delay' => 15, 'operation' => 'DescribeVolumes', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'in-use', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Volumes[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Volumes[].State', ], ], ], 'VpcAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpcs', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Vpcs[].State', ], ], ], 'VpcExists' => [ 'operation' => 'DescribeVpcs', 'delay' => 1, 'maxAttempts' => 5, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcID.NotFound', 'state' => 'retry', ], ], ], 'VpnConnectionAvailable' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpnConnectionDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVpnConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpnConnections[].State', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'VpnConnections[].State', ], ], ], 'VpcPeeringConnectionExists' => [ 'delay' => 15, 'operation' => 'DescribeVpcPeeringConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcPeeringConnectionID.NotFound', 'state' => 'retry', ], ], ], 'VpcPeeringConnectionDeleted' => [ 'delay' => 15, 'operation' => 'DescribeVpcPeeringConnections', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VpcPeeringConnections[].Status.Code', ], [ 'matcher' => 'error', 'expected' => 'InvalidVpcPeeringConnectionID.NotFound', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ecr/2015-09-21/api-2.json.php b/lib/aws/Aws/data/ecr/2015-09-21/api-2.json.php new file mode 100644 index 0000000..b3902cc --- /dev/null +++ b/lib/aws/Aws/data/ecr/2015-09-21/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecr/2015-09-21/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-09-21', 'endpointPrefix' => 'api.ecr', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon ECR', 'serviceFullName' => 'Amazon EC2 Container Registry', 'serviceId' => 'ECR', 'signatureVersion' => 'v4', 'signingName' => 'ecr', 'targetPrefix' => 'AmazonEC2ContainerRegistry_V20150921', 'uid' => 'ecr-2015-09-21', ], 'operations' => [ 'BatchCheckLayerAvailability' => [ 'name' => 'BatchCheckLayerAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchCheckLayerAvailabilityRequest', ], 'output' => [ 'shape' => 'BatchCheckLayerAvailabilityResponse', ], 'errors' => [ [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerException', ], ], ], 'BatchDeleteImage' => [ 'name' => 'BatchDeleteImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteImageRequest', ], 'output' => [ 'shape' => 'BatchDeleteImageResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'BatchGetImage' => [ 'name' => 'BatchGetImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetImageRequest', ], 'output' => [ 'shape' => 'BatchGetImageResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'CompleteLayerUpload' => [ 'name' => 'CompleteLayerUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CompleteLayerUploadRequest', ], 'output' => [ 'shape' => 'CompleteLayerUploadResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'UploadNotFoundException', ], [ 'shape' => 'InvalidLayerException', ], [ 'shape' => 'LayerPartTooSmallException', ], [ 'shape' => 'LayerAlreadyExistsException', ], [ 'shape' => 'EmptyUploadException', ], ], ], 'CreateRepository' => [ 'name' => 'CreateRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRepositoryRequest', ], 'output' => [ 'shape' => 'CreateRepositoryResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidTagParameterException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'RepositoryAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteLifecyclePolicy' => [ 'name' => 'DeleteLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'DeleteLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'LifecyclePolicyNotFoundException', ], ], ], 'DeleteRepository' => [ 'name' => 'DeleteRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRepositoryRequest', ], 'output' => [ 'shape' => 'DeleteRepositoryResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'RepositoryNotEmptyException', ], ], ], 'DeleteRepositoryPolicy' => [ 'name' => 'DeleteRepositoryPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRepositoryPolicyRequest', ], 'output' => [ 'shape' => 'DeleteRepositoryPolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'RepositoryPolicyNotFoundException', ], ], ], 'DescribeImages' => [ 'name' => 'DescribeImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeImagesRequest', ], 'output' => [ 'shape' => 'DescribeImagesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'ImageNotFoundException', ], ], ], 'DescribeRepositories' => [ 'name' => 'DescribeRepositories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRepositoriesRequest', ], 'output' => [ 'shape' => 'DescribeRepositoriesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'GetAuthorizationToken' => [ 'name' => 'GetAuthorizationToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAuthorizationTokenRequest', ], 'output' => [ 'shape' => 'GetAuthorizationTokenResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'GetDownloadUrlForLayer' => [ 'name' => 'GetDownloadUrlForLayer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDownloadUrlForLayerRequest', ], 'output' => [ 'shape' => 'GetDownloadUrlForLayerResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LayersNotFoundException', ], [ 'shape' => 'LayerInaccessibleException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'GetLifecyclePolicy' => [ 'name' => 'GetLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'GetLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'LifecyclePolicyNotFoundException', ], ], ], 'GetLifecyclePolicyPreview' => [ 'name' => 'GetLifecyclePolicyPreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLifecyclePolicyPreviewRequest', ], 'output' => [ 'shape' => 'GetLifecyclePolicyPreviewResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'LifecyclePolicyPreviewNotFoundException', ], ], ], 'GetRepositoryPolicy' => [ 'name' => 'GetRepositoryPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRepositoryPolicyRequest', ], 'output' => [ 'shape' => 'GetRepositoryPolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'RepositoryPolicyNotFoundException', ], ], ], 'InitiateLayerUpload' => [ 'name' => 'InitiateLayerUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InitiateLayerUploadRequest', ], 'output' => [ 'shape' => 'InitiateLayerUploadResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'ListImages' => [ 'name' => 'ListImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListImagesRequest', ], 'output' => [ 'shape' => 'ListImagesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'ServerException', ], ], ], 'PutImage' => [ 'name' => 'PutImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutImageRequest', ], 'output' => [ 'shape' => 'PutImageResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'ImageAlreadyExistsException', ], [ 'shape' => 'LayersNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'PutLifecyclePolicy' => [ 'name' => 'PutLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLifecyclePolicyRequest', ], 'output' => [ 'shape' => 'PutLifecyclePolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'SetRepositoryPolicy' => [ 'name' => 'SetRepositoryPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetRepositoryPolicyRequest', ], 'output' => [ 'shape' => 'SetRepositoryPolicyResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], ], ], 'StartLifecyclePolicyPreview' => [ 'name' => 'StartLifecyclePolicyPreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartLifecyclePolicyPreviewRequest', ], 'output' => [ 'shape' => 'StartLifecyclePolicyPreviewResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'LifecyclePolicyNotFoundException', ], [ 'shape' => 'LifecyclePolicyPreviewInProgressException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidTagParameterException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'ServerException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidTagParameterException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'ServerException', ], ], ], 'UploadLayerPart' => [ 'name' => 'UploadLayerPart', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UploadLayerPartRequest', ], 'output' => [ 'shape' => 'UploadLayerPartResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidLayerPartException', ], [ 'shape' => 'RepositoryNotFoundException', ], [ 'shape' => 'UploadNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'Arn' => [ 'type' => 'string', ], 'AuthorizationData' => [ 'type' => 'structure', 'members' => [ 'authorizationToken' => [ 'shape' => 'Base64', ], 'expiresAt' => [ 'shape' => 'ExpirationTimestamp', ], 'proxyEndpoint' => [ 'shape' => 'ProxyEndpoint', ], ], ], 'AuthorizationDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthorizationData', ], ], 'Base64' => [ 'type' => 'string', 'pattern' => '^\\S+$', ], 'BatchCheckLayerAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'layerDigests', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'layerDigests' => [ 'shape' => 'BatchedOperationLayerDigestList', ], ], ], 'BatchCheckLayerAvailabilityResponse' => [ 'type' => 'structure', 'members' => [ 'layers' => [ 'shape' => 'LayerList', ], 'failures' => [ 'shape' => 'LayerFailureList', ], ], ], 'BatchDeleteImageRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'imageIds', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], ], ], 'BatchDeleteImageResponse' => [ 'type' => 'structure', 'members' => [ 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], 'failures' => [ 'shape' => 'ImageFailureList', ], ], ], 'BatchGetImageRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'imageIds', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], 'acceptedMediaTypes' => [ 'shape' => 'MediaTypeList', ], ], ], 'BatchGetImageResponse' => [ 'type' => 'structure', 'members' => [ 'images' => [ 'shape' => 'ImageList', ], 'failures' => [ 'shape' => 'ImageFailureList', ], ], ], 'BatchedOperationLayerDigest' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], 'BatchedOperationLayerDigestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchedOperationLayerDigest', ], 'max' => 100, 'min' => 1, ], 'CompleteLayerUploadRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'uploadId', 'layerDigests', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'uploadId' => [ 'shape' => 'UploadId', ], 'layerDigests' => [ 'shape' => 'LayerDigestList', ], ], ], 'CompleteLayerUploadResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'uploadId' => [ 'shape' => 'UploadId', ], 'layerDigest' => [ 'shape' => 'LayerDigest', ], ], ], 'CreateRepositoryRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRepositoryResponse' => [ 'type' => 'structure', 'members' => [ 'repository' => [ 'shape' => 'Repository', ], ], ], 'CreationTimestamp' => [ 'type' => 'timestamp', ], 'DeleteLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'DeleteLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], 'lastEvaluatedAt' => [ 'shape' => 'EvaluationTimestamp', ], ], ], 'DeleteRepositoryPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'DeleteRepositoryPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'policyText' => [ 'shape' => 'RepositoryPolicyText', ], ], ], 'DeleteRepositoryRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'force' => [ 'shape' => 'ForceFlag', ], ], ], 'DeleteRepositoryResponse' => [ 'type' => 'structure', 'members' => [ 'repository' => [ 'shape' => 'Repository', ], ], ], 'DescribeImagesFilter' => [ 'type' => 'structure', 'members' => [ 'tagStatus' => [ 'shape' => 'TagStatus', ], ], ], 'DescribeImagesRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filter' => [ 'shape' => 'DescribeImagesFilter', ], ], ], 'DescribeImagesResponse' => [ 'type' => 'structure', 'members' => [ 'imageDetails' => [ 'shape' => 'ImageDetailList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeRepositoriesRequest' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryNames' => [ 'shape' => 'RepositoryNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeRepositoriesResponse' => [ 'type' => 'structure', 'members' => [ 'repositories' => [ 'shape' => 'RepositoryList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'EmptyUploadException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'EvaluationTimestamp' => [ 'type' => 'timestamp', ], 'ExceptionMessage' => [ 'type' => 'string', ], 'ExpirationTimestamp' => [ 'type' => 'timestamp', ], 'ForceFlag' => [ 'type' => 'boolean', ], 'GetAuthorizationTokenRegistryIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegistryId', ], 'max' => 10, 'min' => 1, ], 'GetAuthorizationTokenRequest' => [ 'type' => 'structure', 'members' => [ 'registryIds' => [ 'shape' => 'GetAuthorizationTokenRegistryIdList', ], ], ], 'GetAuthorizationTokenResponse' => [ 'type' => 'structure', 'members' => [ 'authorizationData' => [ 'shape' => 'AuthorizationDataList', ], ], ], 'GetDownloadUrlForLayerRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'layerDigest', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'layerDigest' => [ 'shape' => 'LayerDigest', ], ], ], 'GetDownloadUrlForLayerResponse' => [ 'type' => 'structure', 'members' => [ 'downloadUrl' => [ 'shape' => 'Url', ], 'layerDigest' => [ 'shape' => 'LayerDigest', ], ], ], 'GetLifecyclePolicyPreviewRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'LifecyclePreviewMaxResults', ], 'filter' => [ 'shape' => 'LifecyclePolicyPreviewFilter', ], ], ], 'GetLifecyclePolicyPreviewResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], 'status' => [ 'shape' => 'LifecyclePolicyPreviewStatus', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'previewResults' => [ 'shape' => 'LifecyclePolicyPreviewResultList', ], 'summary' => [ 'shape' => 'LifecyclePolicyPreviewSummary', ], ], ], 'GetLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'GetLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], 'lastEvaluatedAt' => [ 'shape' => 'EvaluationTimestamp', ], ], ], 'GetRepositoryPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'GetRepositoryPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'policyText' => [ 'shape' => 'RepositoryPolicyText', ], ], ], 'Image' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageId' => [ 'shape' => 'ImageIdentifier', ], 'imageManifest' => [ 'shape' => 'ImageManifest', ], ], ], 'ImageActionType' => [ 'type' => 'string', 'enum' => [ 'EXPIRE', ], ], 'ImageAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ImageCount' => [ 'type' => 'integer', 'min' => 0, ], 'ImageDetail' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageDigest' => [ 'shape' => 'ImageDigest', ], 'imageTags' => [ 'shape' => 'ImageTagList', ], 'imageSizeInBytes' => [ 'shape' => 'ImageSizeInBytes', ], 'imagePushedAt' => [ 'shape' => 'PushTimestamp', ], ], ], 'ImageDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageDetail', ], ], 'ImageDigest' => [ 'type' => 'string', ], 'ImageFailure' => [ 'type' => 'structure', 'members' => [ 'imageId' => [ 'shape' => 'ImageIdentifier', ], 'failureCode' => [ 'shape' => 'ImageFailureCode', ], 'failureReason' => [ 'shape' => 'ImageFailureReason', ], ], ], 'ImageFailureCode' => [ 'type' => 'string', 'enum' => [ 'InvalidImageDigest', 'InvalidImageTag', 'ImageTagDoesNotMatchDigest', 'ImageNotFound', 'MissingDigestAndTag', ], ], 'ImageFailureList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageFailure', ], ], 'ImageFailureReason' => [ 'type' => 'string', ], 'ImageIdentifier' => [ 'type' => 'structure', 'members' => [ 'imageDigest' => [ 'shape' => 'ImageDigest', ], 'imageTag' => [ 'shape' => 'ImageTag', ], ], ], 'ImageIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageIdentifier', ], 'max' => 100, 'min' => 1, ], 'ImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Image', ], ], 'ImageManifest' => [ 'type' => 'string', ], 'ImageNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ImageSizeInBytes' => [ 'type' => 'long', ], 'ImageTag' => [ 'type' => 'string', ], 'ImageTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageTag', ], ], 'InitiateLayerUploadRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], ], ], 'InitiateLayerUploadResponse' => [ 'type' => 'structure', 'members' => [ 'uploadId' => [ 'shape' => 'UploadId', ], 'partSize' => [ 'shape' => 'PartSize', ], ], ], 'InvalidLayerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidLayerPartException' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'uploadId' => [ 'shape' => 'UploadId', ], 'lastValidByteReceived' => [ 'shape' => 'PartSize', ], 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidTagParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Layer' => [ 'type' => 'structure', 'members' => [ 'layerDigest' => [ 'shape' => 'LayerDigest', ], 'layerAvailability' => [ 'shape' => 'LayerAvailability', ], 'layerSize' => [ 'shape' => 'LayerSizeInBytes', ], 'mediaType' => [ 'shape' => 'MediaType', ], ], ], 'LayerAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LayerAvailability' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'UNAVAILABLE', ], ], 'LayerDigest' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+', ], 'LayerDigestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LayerDigest', ], 'max' => 100, 'min' => 1, ], 'LayerFailure' => [ 'type' => 'structure', 'members' => [ 'layerDigest' => [ 'shape' => 'BatchedOperationLayerDigest', ], 'failureCode' => [ 'shape' => 'LayerFailureCode', ], 'failureReason' => [ 'shape' => 'LayerFailureReason', ], ], ], 'LayerFailureCode' => [ 'type' => 'string', 'enum' => [ 'InvalidLayerDigest', 'MissingLayerDigest', ], ], 'LayerFailureList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LayerFailure', ], ], 'LayerFailureReason' => [ 'type' => 'string', ], 'LayerInaccessibleException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LayerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Layer', ], ], 'LayerPartBlob' => [ 'type' => 'blob', ], 'LayerPartTooSmallException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LayerSizeInBytes' => [ 'type' => 'long', ], 'LayersNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LifecyclePolicyNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LifecyclePolicyPreviewFilter' => [ 'type' => 'structure', 'members' => [ 'tagStatus' => [ 'shape' => 'TagStatus', ], ], ], 'LifecyclePolicyPreviewInProgressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LifecyclePolicyPreviewNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'LifecyclePolicyPreviewResult' => [ 'type' => 'structure', 'members' => [ 'imageTags' => [ 'shape' => 'ImageTagList', ], 'imageDigest' => [ 'shape' => 'ImageDigest', ], 'imagePushedAt' => [ 'shape' => 'PushTimestamp', ], 'action' => [ 'shape' => 'LifecyclePolicyRuleAction', ], 'appliedRulePriority' => [ 'shape' => 'LifecyclePolicyRulePriority', ], ], ], 'LifecyclePolicyPreviewResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecyclePolicyPreviewResult', ], ], 'LifecyclePolicyPreviewStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'COMPLETE', 'EXPIRED', 'FAILED', ], ], 'LifecyclePolicyPreviewSummary' => [ 'type' => 'structure', 'members' => [ 'expiringImageTotalCount' => [ 'shape' => 'ImageCount', ], ], ], 'LifecyclePolicyRuleAction' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'ImageActionType', ], ], ], 'LifecyclePolicyRulePriority' => [ 'type' => 'integer', 'min' => 1, ], 'LifecyclePolicyText' => [ 'type' => 'string', 'max' => 30720, 'min' => 100, ], 'LifecyclePreviewMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ListImagesFilter' => [ 'type' => 'structure', 'members' => [ 'tagStatus' => [ 'shape' => 'TagStatus', ], ], ], 'ListImagesRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filter' => [ 'shape' => 'ListImagesFilter', ], ], ], 'ListImagesResponse' => [ 'type' => 'structure', 'members' => [ 'imageIds' => [ 'shape' => 'ImageIdentifierList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagList', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'MediaType' => [ 'type' => 'string', ], 'MediaTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MediaType', ], 'max' => 100, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', ], 'PartSize' => [ 'type' => 'long', 'min' => 0, ], 'ProxyEndpoint' => [ 'type' => 'string', ], 'PushTimestamp' => [ 'type' => 'timestamp', ], 'PutImageRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'imageManifest', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'imageManifest' => [ 'shape' => 'ImageManifest', ], 'imageTag' => [ 'shape' => 'ImageTag', ], ], ], 'PutImageResponse' => [ 'type' => 'structure', 'members' => [ 'image' => [ 'shape' => 'Image', ], ], ], 'PutLifecyclePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'lifecyclePolicyText', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], ], ], 'PutLifecyclePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], ], ], 'RegistryId' => [ 'type' => 'string', 'pattern' => '[0-9]{12}', ], 'Repository' => [ 'type' => 'structure', 'members' => [ 'repositoryArn' => [ 'shape' => 'Arn', ], 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'repositoryUri' => [ 'shape' => 'Url', ], 'createdAt' => [ 'shape' => 'CreationTimestamp', ], ], ], 'RepositoryAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'RepositoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Repository', ], ], 'RepositoryName' => [ 'type' => 'string', 'max' => 256, 'min' => 2, 'pattern' => '(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*', ], 'RepositoryNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RepositoryName', ], 'max' => 100, 'min' => 1, ], 'RepositoryNotEmptyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'RepositoryNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'RepositoryPolicyNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'RepositoryPolicyText' => [ 'type' => 'string', 'max' => 10240, 'min' => 0, ], 'ServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, 'fault' => true, ], 'SetRepositoryPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'policyText', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'policyText' => [ 'shape' => 'RepositoryPolicyText', ], 'force' => [ 'shape' => 'ForceFlag', ], ], ], 'SetRepositoryPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'policyText' => [ 'shape' => 'RepositoryPolicyText', ], ], ], 'StartLifecyclePolicyPreviewRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], ], ], 'StartLifecyclePolicyPreviewResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'lifecyclePolicyText' => [ 'shape' => 'LifecyclePolicyText', ], 'status' => [ 'shape' => 'LifecyclePolicyPreviewStatus', ], ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagStatus' => [ 'type' => 'string', 'enum' => [ 'TAGGED', 'UNTAGGED', 'ANY', ], ], 'TagValue' => [ 'type' => 'string', ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UploadId' => [ 'type' => 'string', 'pattern' => '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}', ], 'UploadLayerPartRequest' => [ 'type' => 'structure', 'required' => [ 'repositoryName', 'uploadId', 'partFirstByte', 'partLastByte', 'layerPartBlob', ], 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'uploadId' => [ 'shape' => 'UploadId', ], 'partFirstByte' => [ 'shape' => 'PartSize', ], 'partLastByte' => [ 'shape' => 'PartSize', ], 'layerPartBlob' => [ 'shape' => 'LayerPartBlob', ], ], ], 'UploadLayerPartResponse' => [ 'type' => 'structure', 'members' => [ 'registryId' => [ 'shape' => 'RegistryId', ], 'repositoryName' => [ 'shape' => 'RepositoryName', ], 'uploadId' => [ 'shape' => 'UploadId', ], 'lastByteReceived' => [ 'shape' => 'PartSize', ], ], ], 'UploadNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Url' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/ecr/2015-09-21/paginators-1.json.php b/lib/aws/Aws/data/ecr/2015-09-21/paginators-1.json.php new file mode 100644 index 0000000..f97f545 --- /dev/null +++ b/lib/aws/Aws/data/ecr/2015-09-21/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecr/2015-09-21/paginators-1.json +return [ 'pagination' => [ 'DescribeImages' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'imageDetails', ], 'DescribeRepositories' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'repositories', ], 'ListImages' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'imageIds', ], ],]; diff --git a/lib/aws/Aws/data/ecr/2015-09-21/smoke.json.php b/lib/aws/Aws/data/ecr/2015-09-21/smoke.json.php new file mode 100644 index 0000000..3e04e2e --- /dev/null +++ b/lib/aws/Aws/data/ecr/2015-09-21/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecr/2015-09-21/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeRepositories', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ListImages', 'input' => [ 'repositoryName' => 'not-a-real-repository', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/ecs/2014-11-13/api-2.json.php b/lib/aws/Aws/data/ecs/2014-11-13/api-2.json.php new file mode 100644 index 0000000..a489a06 --- /dev/null +++ b/lib/aws/Aws/data/ecs/2014-11-13/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecs/2014-11-13/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-11-13', 'endpointPrefix' => 'ecs', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon ECS', 'serviceFullName' => 'Amazon EC2 Container Service', 'serviceId' => 'ECS', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonEC2ContainerServiceV20141113', 'uid' => 'ecs-2014-11-13', ], 'operations' => [ 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'CreateService' => [ 'name' => 'CreateService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServiceRequest', ], 'output' => [ 'shape' => 'CreateServiceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'PlatformUnknownException', ], [ 'shape' => 'PlatformTaskDefinitionIncompatibilityException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'CreateTaskSet' => [ 'name' => 'CreateTaskSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTaskSetRequest', ], 'output' => [ 'shape' => 'CreateTaskSetResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'PlatformUnknownException', ], [ 'shape' => 'PlatformTaskDefinitionIncompatibilityException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], ], ], 'DeleteAccountSetting' => [ 'name' => 'DeleteAccountSetting', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAccountSettingRequest', ], 'output' => [ 'shape' => 'DeleteAccountSettingResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'DeleteAttributes' => [ 'name' => 'DeleteAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAttributesRequest', ], 'output' => [ 'shape' => 'DeleteAttributesResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'TargetNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterRequest', ], 'output' => [ 'shape' => 'DeleteClusterResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ClusterContainsContainerInstancesException', ], [ 'shape' => 'ClusterContainsServicesException', ], [ 'shape' => 'ClusterContainsTasksException', ], ], ], 'DeleteService' => [ 'name' => 'DeleteService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServiceRequest', ], 'output' => [ 'shape' => 'DeleteServiceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ServiceNotFoundException', ], ], ], 'DeleteTaskSet' => [ 'name' => 'DeleteTaskSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTaskSetRequest', ], 'output' => [ 'shape' => 'DeleteTaskSetResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], [ 'shape' => 'TaskSetNotFoundException', ], ], ], 'DeregisterContainerInstance' => [ 'name' => 'DeregisterContainerInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterContainerInstanceRequest', ], 'output' => [ 'shape' => 'DeregisterContainerInstanceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'DeregisterTaskDefinition' => [ 'name' => 'DeregisterTaskDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterTaskDefinitionRequest', ], 'output' => [ 'shape' => 'DeregisterTaskDefinitionResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'DescribeClusters' => [ 'name' => 'DescribeClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClustersRequest', ], 'output' => [ 'shape' => 'DescribeClustersResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'DescribeContainerInstances' => [ 'name' => 'DescribeContainerInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeContainerInstancesRequest', ], 'output' => [ 'shape' => 'DescribeContainerInstancesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'DescribeServices' => [ 'name' => 'DescribeServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServicesRequest', ], 'output' => [ 'shape' => 'DescribeServicesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'DescribeTaskDefinition' => [ 'name' => 'DescribeTaskDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTaskDefinitionRequest', ], 'output' => [ 'shape' => 'DescribeTaskDefinitionResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'DescribeTaskSets' => [ 'name' => 'DescribeTaskSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTaskSetsRequest', ], 'output' => [ 'shape' => 'DescribeTaskSetsResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], ], ], 'DescribeTasks' => [ 'name' => 'DescribeTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTasksRequest', ], 'output' => [ 'shape' => 'DescribeTasksResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'DiscoverPollEndpoint' => [ 'name' => 'DiscoverPollEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DiscoverPollEndpointRequest', ], 'output' => [ 'shape' => 'DiscoverPollEndpointResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], ], ], 'ListAccountSettings' => [ 'name' => 'ListAccountSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAccountSettingsRequest', ], 'output' => [ 'shape' => 'ListAccountSettingsResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListAttributes' => [ 'name' => 'ListAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAttributesRequest', ], 'output' => [ 'shape' => 'ListAttributesResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListClusters' => [ 'name' => 'ListClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListClustersRequest', ], 'output' => [ 'shape' => 'ListClustersResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListContainerInstances' => [ 'name' => 'ListContainerInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListContainerInstancesRequest', ], 'output' => [ 'shape' => 'ListContainerInstancesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'ListServices' => [ 'name' => 'ListServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServicesRequest', ], 'output' => [ 'shape' => 'ListServicesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListTaskDefinitionFamilies' => [ 'name' => 'ListTaskDefinitionFamilies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTaskDefinitionFamiliesRequest', ], 'output' => [ 'shape' => 'ListTaskDefinitionFamiliesResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListTaskDefinitions' => [ 'name' => 'ListTaskDefinitions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTaskDefinitionsRequest', ], 'output' => [ 'shape' => 'ListTaskDefinitionsResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListTasks' => [ 'name' => 'ListTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTasksRequest', ], 'output' => [ 'shape' => 'ListTasksResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ServiceNotFoundException', ], ], ], 'PutAccountSetting' => [ 'name' => 'PutAccountSetting', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAccountSettingRequest', ], 'output' => [ 'shape' => 'PutAccountSettingResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'PutAccountSettingDefault' => [ 'name' => 'PutAccountSettingDefault', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAccountSettingDefaultRequest', ], 'output' => [ 'shape' => 'PutAccountSettingDefaultResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'PutAttributes' => [ 'name' => 'PutAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAttributesRequest', ], 'output' => [ 'shape' => 'PutAttributesResponse', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'TargetNotFoundException', ], [ 'shape' => 'AttributeLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'RegisterContainerInstance' => [ 'name' => 'RegisterContainerInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterContainerInstanceRequest', ], 'output' => [ 'shape' => 'RegisterContainerInstanceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'RegisterTaskDefinition' => [ 'name' => 'RegisterTaskDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterTaskDefinitionRequest', ], 'output' => [ 'shape' => 'RegisterTaskDefinitionResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'RunTask' => [ 'name' => 'RunTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunTaskRequest', ], 'output' => [ 'shape' => 'RunTaskResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'PlatformUnknownException', ], [ 'shape' => 'PlatformTaskDefinitionIncompatibilityException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'BlockedException', ], ], ], 'StartTask' => [ 'name' => 'StartTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTaskRequest', ], 'output' => [ 'shape' => 'StartTaskResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'StopTask' => [ 'name' => 'StopTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTaskRequest', ], 'output' => [ 'shape' => 'StopTaskResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'SubmitContainerStateChange' => [ 'name' => 'SubmitContainerStateChange', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SubmitContainerStateChangeRequest', ], 'output' => [ 'shape' => 'SubmitContainerStateChangeResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'SubmitTaskStateChange' => [ 'name' => 'SubmitTaskStateChange', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SubmitTaskStateChangeRequest', ], 'output' => [ 'shape' => 'SubmitTaskStateChangeResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'UpdateContainerAgent' => [ 'name' => 'UpdateContainerAgent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateContainerAgentRequest', ], 'output' => [ 'shape' => 'UpdateContainerAgentResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UpdateInProgressException', ], [ 'shape' => 'NoUpdateAvailableException', ], [ 'shape' => 'MissingVersionException', ], ], ], 'UpdateContainerInstancesState' => [ 'name' => 'UpdateContainerInstancesState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateContainerInstancesStateRequest', ], 'output' => [ 'shape' => 'UpdateContainerInstancesStateResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], ], ], 'UpdateService' => [ 'name' => 'UpdateService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceRequest', ], 'output' => [ 'shape' => 'UpdateServiceResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], [ 'shape' => 'PlatformUnknownException', ], [ 'shape' => 'PlatformTaskDefinitionIncompatibilityException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'UpdateServicePrimaryTaskSet' => [ 'name' => 'UpdateServicePrimaryTaskSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServicePrimaryTaskSetRequest', ], 'output' => [ 'shape' => 'UpdateServicePrimaryTaskSetResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], [ 'shape' => 'TaskSetNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'UpdateTaskSet' => [ 'name' => 'UpdateTaskSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTaskSetRequest', ], 'output' => [ 'shape' => 'UpdateTaskSetResponse', ], 'errors' => [ [ 'shape' => 'ServerException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClusterNotFoundException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceNotFoundException', ], [ 'shape' => 'ServiceNotActiveException', ], [ 'shape' => 'TaskSetNotFoundException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AgentUpdateStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'STAGING', 'STAGED', 'UPDATING', 'UPDATED', 'FAILED', ], ], 'AssignPublicIp' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Attachment' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'details' => [ 'shape' => 'AttachmentDetails', ], ], ], 'AttachmentDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValuePair', ], ], 'AttachmentStateChange' => [ 'type' => 'structure', 'required' => [ 'attachmentArn', 'status', ], 'members' => [ 'attachmentArn' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], ], ], 'AttachmentStateChanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentStateChange', ], ], 'Attachments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attachment', ], ], 'Attribute' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'targetType' => [ 'shape' => 'TargetType', ], 'targetId' => [ 'shape' => 'String', ], ], ], 'AttributeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Attributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ], 'AwsVpcConfiguration' => [ 'type' => 'structure', 'required' => [ 'subnets', ], 'members' => [ 'subnets' => [ 'shape' => 'StringList', ], 'securityGroups' => [ 'shape' => 'StringList', ], 'assignPublicIp' => [ 'shape' => 'AssignPublicIp', ], ], ], 'BlockedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BoxedBoolean' => [ 'type' => 'boolean', 'box' => true, ], 'BoxedInteger' => [ 'type' => 'integer', 'box' => true, ], 'ClientException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'clusterArn' => [ 'shape' => 'String', ], 'clusterName' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'registeredContainerInstancesCount' => [ 'shape' => 'Integer', ], 'runningTasksCount' => [ 'shape' => 'Integer', ], 'pendingTasksCount' => [ 'shape' => 'Integer', ], 'activeServicesCount' => [ 'shape' => 'Integer', ], 'statistics' => [ 'shape' => 'Statistics', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'ClusterContainsContainerInstancesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterContainsServicesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterContainsTasksException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterField' => [ 'type' => 'string', 'enum' => [ 'STATISTICS', 'TAGS', ], ], 'ClusterFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterField', ], ], 'ClusterNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Clusters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cluster', ], ], 'Compatibility' => [ 'type' => 'string', 'enum' => [ 'EC2', 'FARGATE', ], ], 'CompatibilityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Compatibility', ], ], 'Connectivity' => [ 'type' => 'string', 'enum' => [ 'CONNECTED', 'DISCONNECTED', ], ], 'Container' => [ 'type' => 'structure', 'members' => [ 'containerArn' => [ 'shape' => 'String', ], 'taskArn' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'lastStatus' => [ 'shape' => 'String', ], 'exitCode' => [ 'shape' => 'BoxedInteger', ], 'reason' => [ 'shape' => 'String', ], 'networkBindings' => [ 'shape' => 'NetworkBindings', ], 'networkInterfaces' => [ 'shape' => 'NetworkInterfaces', ], 'healthStatus' => [ 'shape' => 'HealthStatus', ], 'cpu' => [ 'shape' => 'String', ], 'memory' => [ 'shape' => 'String', ], 'memoryReservation' => [ 'shape' => 'String', ], 'gpuIds' => [ 'shape' => 'GpuIds', ], ], ], 'ContainerCondition' => [ 'type' => 'string', 'enum' => [ 'START', 'COMPLETE', 'SUCCESS', 'HEALTHY', ], ], 'ContainerDefinition' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'image' => [ 'shape' => 'String', ], 'repositoryCredentials' => [ 'shape' => 'RepositoryCredentials', ], 'cpu' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'BoxedInteger', ], 'memoryReservation' => [ 'shape' => 'BoxedInteger', ], 'links' => [ 'shape' => 'StringList', ], 'portMappings' => [ 'shape' => 'PortMappingList', ], 'essential' => [ 'shape' => 'BoxedBoolean', ], 'entryPoint' => [ 'shape' => 'StringList', ], 'command' => [ 'shape' => 'StringList', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], 'mountPoints' => [ 'shape' => 'MountPointList', ], 'volumesFrom' => [ 'shape' => 'VolumeFromList', ], 'linuxParameters' => [ 'shape' => 'LinuxParameters', ], 'secrets' => [ 'shape' => 'SecretList', ], 'dependsOn' => [ 'shape' => 'ContainerDependencies', ], 'startTimeout' => [ 'shape' => 'BoxedInteger', ], 'stopTimeout' => [ 'shape' => 'BoxedInteger', ], 'hostname' => [ 'shape' => 'String', ], 'user' => [ 'shape' => 'String', ], 'workingDirectory' => [ 'shape' => 'String', ], 'disableNetworking' => [ 'shape' => 'BoxedBoolean', ], 'privileged' => [ 'shape' => 'BoxedBoolean', ], 'readonlyRootFilesystem' => [ 'shape' => 'BoxedBoolean', ], 'dnsServers' => [ 'shape' => 'StringList', ], 'dnsSearchDomains' => [ 'shape' => 'StringList', ], 'extraHosts' => [ 'shape' => 'HostEntryList', ], 'dockerSecurityOptions' => [ 'shape' => 'StringList', ], 'interactive' => [ 'shape' => 'BoxedBoolean', ], 'pseudoTerminal' => [ 'shape' => 'BoxedBoolean', ], 'dockerLabels' => [ 'shape' => 'DockerLabelsMap', ], 'ulimits' => [ 'shape' => 'UlimitList', ], 'logConfiguration' => [ 'shape' => 'LogConfiguration', ], 'healthCheck' => [ 'shape' => 'HealthCheck', ], 'systemControls' => [ 'shape' => 'SystemControls', ], 'resourceRequirements' => [ 'shape' => 'ResourceRequirements', ], ], ], 'ContainerDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerDefinition', ], ], 'ContainerDependencies' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerDependency', ], ], 'ContainerDependency' => [ 'type' => 'structure', 'required' => [ 'containerName', 'condition', ], 'members' => [ 'containerName' => [ 'shape' => 'String', ], 'condition' => [ 'shape' => 'ContainerCondition', ], ], ], 'ContainerInstance' => [ 'type' => 'structure', 'members' => [ 'containerInstanceArn' => [ 'shape' => 'String', ], 'ec2InstanceId' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Long', ], 'versionInfo' => [ 'shape' => 'VersionInfo', ], 'remainingResources' => [ 'shape' => 'Resources', ], 'registeredResources' => [ 'shape' => 'Resources', ], 'status' => [ 'shape' => 'String', ], 'agentConnected' => [ 'shape' => 'Boolean', ], 'runningTasksCount' => [ 'shape' => 'Integer', ], 'pendingTasksCount' => [ 'shape' => 'Integer', ], 'agentUpdateStatus' => [ 'shape' => 'AgentUpdateStatus', ], 'attributes' => [ 'shape' => 'Attributes', ], 'registeredAt' => [ 'shape' => 'Timestamp', ], 'attachments' => [ 'shape' => 'Attachments', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'ContainerInstanceField' => [ 'type' => 'string', 'enum' => [ 'TAGS', ], ], 'ContainerInstanceFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerInstanceField', ], ], 'ContainerInstanceStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DRAINING', ], ], 'ContainerInstances' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerInstance', ], ], 'ContainerOverride' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'command' => [ 'shape' => 'StringList', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], 'cpu' => [ 'shape' => 'BoxedInteger', ], 'memory' => [ 'shape' => 'BoxedInteger', ], 'memoryReservation' => [ 'shape' => 'BoxedInteger', ], 'resourceRequirements' => [ 'shape' => 'ResourceRequirements', ], ], ], 'ContainerOverrides' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerOverride', ], ], 'ContainerStateChange' => [ 'type' => 'structure', 'members' => [ 'containerName' => [ 'shape' => 'String', ], 'exitCode' => [ 'shape' => 'BoxedInteger', ], 'networkBindings' => [ 'shape' => 'NetworkBindings', ], 'reason' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], ], ], 'ContainerStateChanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerStateChange', ], ], 'Containers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Container', ], ], 'CreateClusterRequest' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'CreateServiceRequest' => [ 'type' => 'structure', 'required' => [ 'serviceName', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'serviceName' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'loadBalancers' => [ 'shape' => 'LoadBalancers', ], 'serviceRegistries' => [ 'shape' => 'ServiceRegistries', ], 'desiredCount' => [ 'shape' => 'BoxedInteger', ], 'clientToken' => [ 'shape' => 'String', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'role' => [ 'shape' => 'String', ], 'deploymentConfiguration' => [ 'shape' => 'DeploymentConfiguration', ], 'placementConstraints' => [ 'shape' => 'PlacementConstraints', ], 'placementStrategy' => [ 'shape' => 'PlacementStrategies', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'healthCheckGracePeriodSeconds' => [ 'shape' => 'BoxedInteger', ], 'schedulingStrategy' => [ 'shape' => 'SchedulingStrategy', ], 'deploymentController' => [ 'shape' => 'DeploymentController', ], 'tags' => [ 'shape' => 'Tags', ], 'enableECSManagedTags' => [ 'shape' => 'Boolean', ], 'propagateTags' => [ 'shape' => 'PropagateTags', ], ], ], 'CreateServiceResponse' => [ 'type' => 'structure', 'members' => [ 'service' => [ 'shape' => 'Service', ], ], ], 'CreateTaskSetRequest' => [ 'type' => 'structure', 'required' => [ 'service', 'cluster', 'taskDefinition', ], 'members' => [ 'service' => [ 'shape' => 'String', ], 'cluster' => [ 'shape' => 'String', ], 'externalId' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'loadBalancers' => [ 'shape' => 'LoadBalancers', ], 'serviceRegistries' => [ 'shape' => 'ServiceRegistries', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'scale' => [ 'shape' => 'Scale', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'CreateTaskSetResponse' => [ 'type' => 'structure', 'members' => [ 'taskSet' => [ 'shape' => 'TaskSet', ], ], ], 'DeleteAccountSettingRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'SettingName', ], 'principalArn' => [ 'shape' => 'String', ], ], ], 'DeleteAccountSettingResponse' => [ 'type' => 'structure', 'members' => [ 'setting' => [ 'shape' => 'Setting', ], ], ], 'DeleteAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'attributes', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'attributes' => [ 'shape' => 'Attributes', ], ], ], 'DeleteAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'Attributes', ], ], ], 'DeleteClusterRequest' => [ 'type' => 'structure', 'required' => [ 'cluster', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], ], ], 'DeleteClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteServiceRequest' => [ 'type' => 'structure', 'required' => [ 'service', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'force' => [ 'shape' => 'BoxedBoolean', ], ], ], 'DeleteServiceResponse' => [ 'type' => 'structure', 'members' => [ 'service' => [ 'shape' => 'Service', ], ], ], 'DeleteTaskSetRequest' => [ 'type' => 'structure', 'required' => [ 'cluster', 'service', 'taskSet', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'taskSet' => [ 'shape' => 'String', ], 'force' => [ 'shape' => 'BoxedBoolean', ], ], ], 'DeleteTaskSetResponse' => [ 'type' => 'structure', 'members' => [ 'taskSet' => [ 'shape' => 'TaskSet', ], ], ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'desiredCount' => [ 'shape' => 'Integer', ], 'pendingCount' => [ 'shape' => 'Integer', ], 'runningCount' => [ 'shape' => 'Integer', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'updatedAt' => [ 'shape' => 'Timestamp', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], ], ], 'DeploymentConfiguration' => [ 'type' => 'structure', 'members' => [ 'maximumPercent' => [ 'shape' => 'BoxedInteger', ], 'minimumHealthyPercent' => [ 'shape' => 'BoxedInteger', ], ], ], 'DeploymentController' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'DeploymentControllerType', ], ], ], 'DeploymentControllerType' => [ 'type' => 'string', 'enum' => [ 'ECS', 'CODE_DEPLOY', 'EXTERNAL', ], ], 'Deployments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Deployment', ], ], 'DeregisterContainerInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'containerInstance', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'containerInstance' => [ 'shape' => 'String', ], 'force' => [ 'shape' => 'BoxedBoolean', ], ], ], 'DeregisterContainerInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstance' => [ 'shape' => 'ContainerInstance', ], ], ], 'DeregisterTaskDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'taskDefinition', ], 'members' => [ 'taskDefinition' => [ 'shape' => 'String', ], ], ], 'DeregisterTaskDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinition' => [ 'shape' => 'TaskDefinition', ], ], ], 'DescribeClustersRequest' => [ 'type' => 'structure', 'members' => [ 'clusters' => [ 'shape' => 'StringList', ], 'include' => [ 'shape' => 'ClusterFieldList', ], ], ], 'DescribeClustersResponse' => [ 'type' => 'structure', 'members' => [ 'clusters' => [ 'shape' => 'Clusters', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeContainerInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'containerInstances', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'containerInstances' => [ 'shape' => 'StringList', ], 'include' => [ 'shape' => 'ContainerInstanceFieldList', ], ], ], 'DescribeContainerInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstances' => [ 'shape' => 'ContainerInstances', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeServicesRequest' => [ 'type' => 'structure', 'required' => [ 'services', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'services' => [ 'shape' => 'StringList', ], 'include' => [ 'shape' => 'ServiceFieldList', ], ], ], 'DescribeServicesResponse' => [ 'type' => 'structure', 'members' => [ 'services' => [ 'shape' => 'Services', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeTaskDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'taskDefinition', ], 'members' => [ 'taskDefinition' => [ 'shape' => 'String', ], 'include' => [ 'shape' => 'TaskDefinitionFieldList', ], ], ], 'DescribeTaskDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinition' => [ 'shape' => 'TaskDefinition', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'DescribeTaskSetsRequest' => [ 'type' => 'structure', 'required' => [ 'cluster', 'service', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'taskSets' => [ 'shape' => 'StringList', ], ], ], 'DescribeTaskSetsResponse' => [ 'type' => 'structure', 'members' => [ 'taskSets' => [ 'shape' => 'TaskSets', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeTasksRequest' => [ 'type' => 'structure', 'required' => [ 'tasks', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'tasks' => [ 'shape' => 'StringList', ], 'include' => [ 'shape' => 'TaskFieldList', ], ], ], 'DescribeTasksResponse' => [ 'type' => 'structure', 'members' => [ 'tasks' => [ 'shape' => 'Tasks', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DesiredStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'PENDING', 'STOPPED', ], ], 'Device' => [ 'type' => 'structure', 'required' => [ 'hostPath', ], 'members' => [ 'hostPath' => [ 'shape' => 'String', ], 'containerPath' => [ 'shape' => 'String', ], 'permissions' => [ 'shape' => 'DeviceCgroupPermissions', ], ], ], 'DeviceCgroupPermission' => [ 'type' => 'string', 'enum' => [ 'read', 'write', 'mknod', ], ], 'DeviceCgroupPermissions' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceCgroupPermission', ], ], 'DevicesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Device', ], ], 'DiscoverPollEndpointRequest' => [ 'type' => 'structure', 'members' => [ 'containerInstance' => [ 'shape' => 'String', ], 'cluster' => [ 'shape' => 'String', ], ], ], 'DiscoverPollEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'endpoint' => [ 'shape' => 'String', ], 'telemetryEndpoint' => [ 'shape' => 'String', ], ], ], 'DockerLabelsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'DockerVolumeConfiguration' => [ 'type' => 'structure', 'members' => [ 'scope' => [ 'shape' => 'Scope', ], 'autoprovision' => [ 'shape' => 'BoxedBoolean', ], 'driver' => [ 'shape' => 'String', ], 'driverOpts' => [ 'shape' => 'StringMap', ], 'labels' => [ 'shape' => 'StringMap', ], ], ], 'Double' => [ 'type' => 'double', ], 'EnvironmentVariables' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValuePair', ], ], 'Failure' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'String', ], 'reason' => [ 'shape' => 'String', ], ], ], 'Failures' => [ 'type' => 'list', 'member' => [ 'shape' => 'Failure', ], ], 'GpuIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'HealthCheck' => [ 'type' => 'structure', 'required' => [ 'command', ], 'members' => [ 'command' => [ 'shape' => 'StringList', ], 'interval' => [ 'shape' => 'BoxedInteger', ], 'timeout' => [ 'shape' => 'BoxedInteger', ], 'retries' => [ 'shape' => 'BoxedInteger', ], 'startPeriod' => [ 'shape' => 'BoxedInteger', ], ], ], 'HealthStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', 'UNKNOWN', ], ], 'HostEntry' => [ 'type' => 'structure', 'required' => [ 'hostname', 'ipAddress', ], 'members' => [ 'hostname' => [ 'shape' => 'String', ], 'ipAddress' => [ 'shape' => 'String', ], ], ], 'HostEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostEntry', ], ], 'HostVolumeProperties' => [ 'type' => 'structure', 'members' => [ 'sourcePath' => [ 'shape' => 'String', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IpcMode' => [ 'type' => 'string', 'enum' => [ 'host', 'task', 'none', ], ], 'KernelCapabilities' => [ 'type' => 'structure', 'members' => [ 'add' => [ 'shape' => 'StringList', ], 'drop' => [ 'shape' => 'StringList', ], ], ], 'KeyValuePair' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], ], 'LaunchType' => [ 'type' => 'string', 'enum' => [ 'EC2', 'FARGATE', ], ], 'LinuxParameters' => [ 'type' => 'structure', 'members' => [ 'capabilities' => [ 'shape' => 'KernelCapabilities', ], 'devices' => [ 'shape' => 'DevicesList', ], 'initProcessEnabled' => [ 'shape' => 'BoxedBoolean', ], 'sharedMemorySize' => [ 'shape' => 'BoxedInteger', ], 'tmpfs' => [ 'shape' => 'TmpfsList', ], ], ], 'ListAccountSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SettingName', ], 'value' => [ 'shape' => 'String', ], 'principalArn' => [ 'shape' => 'String', ], 'effectiveSettings' => [ 'shape' => 'Boolean', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'Integer', ], ], ], 'ListAccountSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'settings' => [ 'shape' => 'Settings', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'targetType', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'targetType' => [ 'shape' => 'TargetType', ], 'attributeName' => [ 'shape' => 'String', ], 'attributeValue' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], ], ], 'ListAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'Attributes', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListClustersRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], ], ], 'ListClustersResponse' => [ 'type' => 'structure', 'members' => [ 'clusterArns' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListContainerInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'filter' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], 'status' => [ 'shape' => 'ContainerInstanceStatus', ], ], ], 'ListContainerInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstanceArns' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListServicesRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'schedulingStrategy' => [ 'shape' => 'SchedulingStrategy', ], ], ], 'ListServicesResponse' => [ 'type' => 'structure', 'members' => [ 'serviceArns' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'Tags', ], ], ], 'ListTaskDefinitionFamiliesRequest' => [ 'type' => 'structure', 'members' => [ 'familyPrefix' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'TaskDefinitionFamilyStatus', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], ], ], 'ListTaskDefinitionFamiliesResponse' => [ 'type' => 'structure', 'members' => [ 'families' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListTaskDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'familyPrefix' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'TaskDefinitionStatus', ], 'sort' => [ 'shape' => 'SortOrder', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], ], ], 'ListTaskDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinitionArns' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListTasksRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'containerInstance' => [ 'shape' => 'String', ], 'family' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'BoxedInteger', ], 'startedBy' => [ 'shape' => 'String', ], 'serviceName' => [ 'shape' => 'String', ], 'desiredStatus' => [ 'shape' => 'DesiredStatus', ], 'launchType' => [ 'shape' => 'LaunchType', ], ], ], 'ListTasksResponse' => [ 'type' => 'structure', 'members' => [ 'taskArns' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'LoadBalancer' => [ 'type' => 'structure', 'members' => [ 'targetGroupArn' => [ 'shape' => 'String', ], 'loadBalancerName' => [ 'shape' => 'String', ], 'containerName' => [ 'shape' => 'String', ], 'containerPort' => [ 'shape' => 'BoxedInteger', ], ], ], 'LoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancer', ], ], 'LogConfiguration' => [ 'type' => 'structure', 'required' => [ 'logDriver', ], 'members' => [ 'logDriver' => [ 'shape' => 'LogDriver', ], 'options' => [ 'shape' => 'LogConfigurationOptionsMap', ], ], ], 'LogConfigurationOptionsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'LogDriver' => [ 'type' => 'string', 'enum' => [ 'json-file', 'syslog', 'journald', 'gelf', 'fluentd', 'awslogs', 'splunk', ], ], 'Long' => [ 'type' => 'long', ], 'MissingVersionException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MountPoint' => [ 'type' => 'structure', 'members' => [ 'sourceVolume' => [ 'shape' => 'String', ], 'containerPath' => [ 'shape' => 'String', ], 'readOnly' => [ 'shape' => 'BoxedBoolean', ], ], ], 'MountPointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MountPoint', ], ], 'NetworkBinding' => [ 'type' => 'structure', 'members' => [ 'bindIP' => [ 'shape' => 'String', ], 'containerPort' => [ 'shape' => 'BoxedInteger', ], 'hostPort' => [ 'shape' => 'BoxedInteger', ], 'protocol' => [ 'shape' => 'TransportProtocol', ], ], ], 'NetworkBindings' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkBinding', ], ], 'NetworkConfiguration' => [ 'type' => 'structure', 'members' => [ 'awsvpcConfiguration' => [ 'shape' => 'AwsVpcConfiguration', ], ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'attachmentId' => [ 'shape' => 'String', ], 'privateIpv4Address' => [ 'shape' => 'String', ], 'ipv6Address' => [ 'shape' => 'String', ], ], ], 'NetworkInterfaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', ], ], 'NetworkMode' => [ 'type' => 'string', 'enum' => [ 'bridge', 'host', 'awsvpc', 'none', ], ], 'NoUpdateAvailableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PidMode' => [ 'type' => 'string', 'enum' => [ 'host', 'task', ], ], 'PlacementConstraint' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'PlacementConstraintType', ], 'expression' => [ 'shape' => 'String', ], ], ], 'PlacementConstraintType' => [ 'type' => 'string', 'enum' => [ 'distinctInstance', 'memberOf', ], ], 'PlacementConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementConstraint', ], ], 'PlacementStrategies' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementStrategy', ], ], 'PlacementStrategy' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'PlacementStrategyType', ], 'field' => [ 'shape' => 'String', ], ], ], 'PlacementStrategyType' => [ 'type' => 'string', 'enum' => [ 'random', 'spread', 'binpack', ], ], 'PlatformDevice' => [ 'type' => 'structure', 'required' => [ 'id', 'type', ], 'members' => [ 'id' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'PlatformDeviceType', ], ], ], 'PlatformDeviceType' => [ 'type' => 'string', 'enum' => [ 'GPU', ], ], 'PlatformDevices' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformDevice', ], ], 'PlatformTaskDefinitionIncompatibilityException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PlatformUnknownException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'PortMapping' => [ 'type' => 'structure', 'members' => [ 'containerPort' => [ 'shape' => 'BoxedInteger', ], 'hostPort' => [ 'shape' => 'BoxedInteger', ], 'protocol' => [ 'shape' => 'TransportProtocol', ], ], ], 'PortMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortMapping', ], ], 'PropagateTags' => [ 'type' => 'string', 'enum' => [ 'TASK_DEFINITION', 'SERVICE', ], ], 'ProxyConfiguration' => [ 'type' => 'structure', 'required' => [ 'containerName', ], 'members' => [ 'type' => [ 'shape' => 'ProxyConfigurationType', ], 'containerName' => [ 'shape' => 'String', ], 'properties' => [ 'shape' => 'ProxyConfigurationProperties', ], ], ], 'ProxyConfigurationProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValuePair', ], ], 'ProxyConfigurationType' => [ 'type' => 'string', 'enum' => [ 'APPMESH', ], ], 'PutAccountSettingDefaultRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'value', ], 'members' => [ 'name' => [ 'shape' => 'SettingName', ], 'value' => [ 'shape' => 'String', ], ], ], 'PutAccountSettingDefaultResponse' => [ 'type' => 'structure', 'members' => [ 'setting' => [ 'shape' => 'Setting', ], ], ], 'PutAccountSettingRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'value', ], 'members' => [ 'name' => [ 'shape' => 'SettingName', ], 'value' => [ 'shape' => 'String', ], 'principalArn' => [ 'shape' => 'String', ], ], ], 'PutAccountSettingResponse' => [ 'type' => 'structure', 'members' => [ 'setting' => [ 'shape' => 'Setting', ], ], ], 'PutAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'attributes', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'attributes' => [ 'shape' => 'Attributes', ], ], ], 'PutAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'Attributes', ], ], ], 'RegisterContainerInstanceRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'instanceIdentityDocument' => [ 'shape' => 'String', ], 'instanceIdentityDocumentSignature' => [ 'shape' => 'String', ], 'totalResources' => [ 'shape' => 'Resources', ], 'versionInfo' => [ 'shape' => 'VersionInfo', ], 'containerInstanceArn' => [ 'shape' => 'String', ], 'attributes' => [ 'shape' => 'Attributes', ], 'platformDevices' => [ 'shape' => 'PlatformDevices', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'RegisterContainerInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstance' => [ 'shape' => 'ContainerInstance', ], ], ], 'RegisterTaskDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'family', 'containerDefinitions', ], 'members' => [ 'family' => [ 'shape' => 'String', ], 'taskRoleArn' => [ 'shape' => 'String', ], 'executionRoleArn' => [ 'shape' => 'String', ], 'networkMode' => [ 'shape' => 'NetworkMode', ], 'containerDefinitions' => [ 'shape' => 'ContainerDefinitions', ], 'volumes' => [ 'shape' => 'VolumeList', ], 'placementConstraints' => [ 'shape' => 'TaskDefinitionPlacementConstraints', ], 'requiresCompatibilities' => [ 'shape' => 'CompatibilityList', ], 'cpu' => [ 'shape' => 'String', ], 'memory' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'Tags', ], 'pidMode' => [ 'shape' => 'PidMode', ], 'ipcMode' => [ 'shape' => 'IpcMode', ], 'proxyConfiguration' => [ 'shape' => 'ProxyConfiguration', ], ], ], 'RegisterTaskDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinition' => [ 'shape' => 'TaskDefinition', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'RepositoryCredentials' => [ 'type' => 'structure', 'required' => [ 'credentialsParameter', ], 'members' => [ 'credentialsParameter' => [ 'shape' => 'String', ], ], ], 'RequiresAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'String', ], 'doubleValue' => [ 'shape' => 'Double', ], 'longValue' => [ 'shape' => 'Long', ], 'integerValue' => [ 'shape' => 'Integer', ], 'stringSetValue' => [ 'shape' => 'StringList', ], ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceRequirement' => [ 'type' => 'structure', 'required' => [ 'value', 'type', ], 'members' => [ 'value' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'ResourceType', ], ], ], 'ResourceRequirements' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceRequirement', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'GPU', ], ], 'Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'RunTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskDefinition', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'overrides' => [ 'shape' => 'TaskOverride', ], 'count' => [ 'shape' => 'BoxedInteger', ], 'startedBy' => [ 'shape' => 'String', ], 'group' => [ 'shape' => 'String', ], 'placementConstraints' => [ 'shape' => 'PlacementConstraints', ], 'placementStrategy' => [ 'shape' => 'PlacementStrategies', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'tags' => [ 'shape' => 'Tags', ], 'enableECSManagedTags' => [ 'shape' => 'Boolean', ], 'propagateTags' => [ 'shape' => 'PropagateTags', ], ], ], 'RunTaskResponse' => [ 'type' => 'structure', 'members' => [ 'tasks' => [ 'shape' => 'Tasks', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'Scale' => [ 'type' => 'structure', 'members' => [ 'value' => [ 'shape' => 'Double', ], 'unit' => [ 'shape' => 'ScaleUnit', ], ], ], 'ScaleUnit' => [ 'type' => 'string', 'enum' => [ 'PERCENT', ], ], 'SchedulingStrategy' => [ 'type' => 'string', 'enum' => [ 'REPLICA', 'DAEMON', ], ], 'Scope' => [ 'type' => 'string', 'enum' => [ 'task', 'shared', ], ], 'Secret' => [ 'type' => 'structure', 'required' => [ 'name', 'valueFrom', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'valueFrom' => [ 'shape' => 'String', ], ], ], 'SecretList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Secret', ], ], 'ServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'Service' => [ 'type' => 'structure', 'members' => [ 'serviceArn' => [ 'shape' => 'String', ], 'serviceName' => [ 'shape' => 'String', ], 'clusterArn' => [ 'shape' => 'String', ], 'loadBalancers' => [ 'shape' => 'LoadBalancers', ], 'serviceRegistries' => [ 'shape' => 'ServiceRegistries', ], 'status' => [ 'shape' => 'String', ], 'desiredCount' => [ 'shape' => 'Integer', ], 'runningCount' => [ 'shape' => 'Integer', ], 'pendingCount' => [ 'shape' => 'Integer', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'deploymentConfiguration' => [ 'shape' => 'DeploymentConfiguration', ], 'taskSets' => [ 'shape' => 'TaskSets', ], 'deployments' => [ 'shape' => 'Deployments', ], 'roleArn' => [ 'shape' => 'String', ], 'events' => [ 'shape' => 'ServiceEvents', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'placementConstraints' => [ 'shape' => 'PlacementConstraints', ], 'placementStrategy' => [ 'shape' => 'PlacementStrategies', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'healthCheckGracePeriodSeconds' => [ 'shape' => 'BoxedInteger', ], 'schedulingStrategy' => [ 'shape' => 'SchedulingStrategy', ], 'deploymentController' => [ 'shape' => 'DeploymentController', ], 'tags' => [ 'shape' => 'Tags', ], 'createdBy' => [ 'shape' => 'String', ], 'enableECSManagedTags' => [ 'shape' => 'Boolean', ], 'propagateTags' => [ 'shape' => 'PropagateTags', ], ], ], 'ServiceEvent' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'message' => [ 'shape' => 'String', ], ], ], 'ServiceEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceEvent', ], ], 'ServiceField' => [ 'type' => 'string', 'enum' => [ 'TAGS', ], ], 'ServiceFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceField', ], ], 'ServiceNotActiveException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ServiceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ServiceRegistries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceRegistry', ], ], 'ServiceRegistry' => [ 'type' => 'structure', 'members' => [ 'registryArn' => [ 'shape' => 'String', ], 'port' => [ 'shape' => 'BoxedInteger', ], 'containerName' => [ 'shape' => 'String', ], 'containerPort' => [ 'shape' => 'BoxedInteger', ], ], ], 'Services' => [ 'type' => 'list', 'member' => [ 'shape' => 'Service', ], ], 'Setting' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SettingName', ], 'value' => [ 'shape' => 'String', ], 'principalArn' => [ 'shape' => 'String', ], ], ], 'SettingName' => [ 'type' => 'string', 'enum' => [ 'serviceLongArnFormat', 'taskLongArnFormat', 'containerInstanceLongArnFormat', ], ], 'Settings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Setting', ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], 'StabilityStatus' => [ 'type' => 'string', 'enum' => [ 'STEADY_STATE', 'STABILIZING', ], ], 'StartTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskDefinition', 'containerInstances', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'overrides' => [ 'shape' => 'TaskOverride', ], 'containerInstances' => [ 'shape' => 'StringList', ], 'startedBy' => [ 'shape' => 'String', ], 'group' => [ 'shape' => 'String', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'tags' => [ 'shape' => 'Tags', ], 'enableECSManagedTags' => [ 'shape' => 'Boolean', ], 'propagateTags' => [ 'shape' => 'PropagateTags', ], ], ], 'StartTaskResponse' => [ 'type' => 'structure', 'members' => [ 'tasks' => [ 'shape' => 'Tasks', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'Statistics' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValuePair', ], ], 'StopTaskRequest' => [ 'type' => 'structure', 'required' => [ 'task', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'task' => [ 'shape' => 'String', ], 'reason' => [ 'shape' => 'String', ], ], ], 'StopTaskResponse' => [ 'type' => 'structure', 'members' => [ 'task' => [ 'shape' => 'Task', ], ], ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'StringMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'SubmitContainerStateChangeRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'task' => [ 'shape' => 'String', ], 'containerName' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'exitCode' => [ 'shape' => 'BoxedInteger', ], 'reason' => [ 'shape' => 'String', ], 'networkBindings' => [ 'shape' => 'NetworkBindings', ], ], ], 'SubmitContainerStateChangeResponse' => [ 'type' => 'structure', 'members' => [ 'acknowledgment' => [ 'shape' => 'String', ], ], ], 'SubmitTaskStateChangeRequest' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'task' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'reason' => [ 'shape' => 'String', ], 'containers' => [ 'shape' => 'ContainerStateChanges', ], 'attachments' => [ 'shape' => 'AttachmentStateChanges', ], 'pullStartedAt' => [ 'shape' => 'Timestamp', ], 'pullStoppedAt' => [ 'shape' => 'Timestamp', ], 'executionStoppedAt' => [ 'shape' => 'Timestamp', ], ], ], 'SubmitTaskStateChangeResponse' => [ 'type' => 'structure', 'members' => [ 'acknowledgment' => [ 'shape' => 'String', ], ], ], 'SystemControl' => [ 'type' => 'structure', 'members' => [ 'namespace' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], ], 'SystemControls' => [ 'type' => 'list', 'member' => [ 'shape' => 'SystemControl', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'TargetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TargetType' => [ 'type' => 'string', 'enum' => [ 'container-instance', ], ], 'Task' => [ 'type' => 'structure', 'members' => [ 'taskArn' => [ 'shape' => 'String', ], 'clusterArn' => [ 'shape' => 'String', ], 'taskDefinitionArn' => [ 'shape' => 'String', ], 'containerInstanceArn' => [ 'shape' => 'String', ], 'overrides' => [ 'shape' => 'TaskOverride', ], 'lastStatus' => [ 'shape' => 'String', ], 'desiredStatus' => [ 'shape' => 'String', ], 'cpu' => [ 'shape' => 'String', ], 'memory' => [ 'shape' => 'String', ], 'containers' => [ 'shape' => 'Containers', ], 'startedBy' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Long', ], 'stoppedReason' => [ 'shape' => 'String', ], 'stopCode' => [ 'shape' => 'TaskStopCode', ], 'connectivity' => [ 'shape' => 'Connectivity', ], 'connectivityAt' => [ 'shape' => 'Timestamp', ], 'pullStartedAt' => [ 'shape' => 'Timestamp', ], 'pullStoppedAt' => [ 'shape' => 'Timestamp', ], 'executionStoppedAt' => [ 'shape' => 'Timestamp', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'startedAt' => [ 'shape' => 'Timestamp', ], 'stoppingAt' => [ 'shape' => 'Timestamp', ], 'stoppedAt' => [ 'shape' => 'Timestamp', ], 'group' => [ 'shape' => 'String', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'attachments' => [ 'shape' => 'Attachments', ], 'healthStatus' => [ 'shape' => 'HealthStatus', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'TaskDefinition' => [ 'type' => 'structure', 'members' => [ 'taskDefinitionArn' => [ 'shape' => 'String', ], 'containerDefinitions' => [ 'shape' => 'ContainerDefinitions', ], 'family' => [ 'shape' => 'String', ], 'taskRoleArn' => [ 'shape' => 'String', ], 'executionRoleArn' => [ 'shape' => 'String', ], 'networkMode' => [ 'shape' => 'NetworkMode', ], 'revision' => [ 'shape' => 'Integer', ], 'volumes' => [ 'shape' => 'VolumeList', ], 'status' => [ 'shape' => 'TaskDefinitionStatus', ], 'requiresAttributes' => [ 'shape' => 'RequiresAttributes', ], 'placementConstraints' => [ 'shape' => 'TaskDefinitionPlacementConstraints', ], 'compatibilities' => [ 'shape' => 'CompatibilityList', ], 'requiresCompatibilities' => [ 'shape' => 'CompatibilityList', ], 'cpu' => [ 'shape' => 'String', ], 'memory' => [ 'shape' => 'String', ], 'pidMode' => [ 'shape' => 'PidMode', ], 'ipcMode' => [ 'shape' => 'IpcMode', ], 'proxyConfiguration' => [ 'shape' => 'ProxyConfiguration', ], ], ], 'TaskDefinitionFamilyStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', 'ALL', ], ], 'TaskDefinitionField' => [ 'type' => 'string', 'enum' => [ 'TAGS', ], ], 'TaskDefinitionFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskDefinitionField', ], ], 'TaskDefinitionPlacementConstraint' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'TaskDefinitionPlacementConstraintType', ], 'expression' => [ 'shape' => 'String', ], ], ], 'TaskDefinitionPlacementConstraintType' => [ 'type' => 'string', 'enum' => [ 'memberOf', ], ], 'TaskDefinitionPlacementConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskDefinitionPlacementConstraint', ], ], 'TaskDefinitionStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', ], ], 'TaskField' => [ 'type' => 'string', 'enum' => [ 'TAGS', ], ], 'TaskFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskField', ], ], 'TaskOverride' => [ 'type' => 'structure', 'members' => [ 'containerOverrides' => [ 'shape' => 'ContainerOverrides', ], 'taskRoleArn' => [ 'shape' => 'String', ], 'executionRoleArn' => [ 'shape' => 'String', ], ], ], 'TaskSet' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'taskSetArn' => [ 'shape' => 'String', ], 'serviceArn' => [ 'shape' => 'String', ], 'clusterArn' => [ 'shape' => 'String', ], 'startedBy' => [ 'shape' => 'String', ], 'externalId' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'taskDefinition' => [ 'shape' => 'String', ], 'computedDesiredCount' => [ 'shape' => 'Integer', ], 'pendingCount' => [ 'shape' => 'Integer', ], 'runningCount' => [ 'shape' => 'Integer', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'updatedAt' => [ 'shape' => 'Timestamp', ], 'launchType' => [ 'shape' => 'LaunchType', ], 'platformVersion' => [ 'shape' => 'String', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'loadBalancers' => [ 'shape' => 'LoadBalancers', ], 'serviceRegistries' => [ 'shape' => 'ServiceRegistries', ], 'scale' => [ 'shape' => 'Scale', ], 'stabilityStatus' => [ 'shape' => 'StabilityStatus', ], 'stabilityStatusAt' => [ 'shape' => 'Timestamp', ], ], ], 'TaskSetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TaskSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskSet', ], ], 'TaskStopCode' => [ 'type' => 'string', 'enum' => [ 'TaskFailedToStart', 'EssentialContainerExited', 'UserInitiated', ], ], 'Tasks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Task', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Tmpfs' => [ 'type' => 'structure', 'required' => [ 'containerPath', 'size', ], 'members' => [ 'containerPath' => [ 'shape' => 'String', ], 'size' => [ 'shape' => 'Integer', ], 'mountOptions' => [ 'shape' => 'StringList', ], ], ], 'TmpfsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tmpfs', ], ], 'TransportProtocol' => [ 'type' => 'string', 'enum' => [ 'tcp', 'udp', ], ], 'Ulimit' => [ 'type' => 'structure', 'required' => [ 'name', 'softLimit', 'hardLimit', ], 'members' => [ 'name' => [ 'shape' => 'UlimitName', ], 'softLimit' => [ 'shape' => 'Integer', ], 'hardLimit' => [ 'shape' => 'Integer', ], ], ], 'UlimitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ulimit', ], ], 'UlimitName' => [ 'type' => 'string', 'enum' => [ 'core', 'cpu', 'data', 'fsize', 'locks', 'memlock', 'msgqueue', 'nice', 'nofile', 'nproc', 'rss', 'rtprio', 'rttime', 'sigpending', 'stack', ], ], 'UnsupportedFeatureException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'String', ], 'tagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateContainerAgentRequest' => [ 'type' => 'structure', 'required' => [ 'containerInstance', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'containerInstance' => [ 'shape' => 'String', ], ], ], 'UpdateContainerAgentResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstance' => [ 'shape' => 'ContainerInstance', ], ], ], 'UpdateContainerInstancesStateRequest' => [ 'type' => 'structure', 'required' => [ 'containerInstances', 'status', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'containerInstances' => [ 'shape' => 'StringList', ], 'status' => [ 'shape' => 'ContainerInstanceStatus', ], ], ], 'UpdateContainerInstancesStateResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstances' => [ 'shape' => 'ContainerInstances', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'UpdateInProgressException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UpdateServicePrimaryTaskSetRequest' => [ 'type' => 'structure', 'required' => [ 'cluster', 'service', 'primaryTaskSet', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'primaryTaskSet' => [ 'shape' => 'String', ], ], ], 'UpdateServicePrimaryTaskSetResponse' => [ 'type' => 'structure', 'members' => [ 'taskSet' => [ 'shape' => 'TaskSet', ], ], ], 'UpdateServiceRequest' => [ 'type' => 'structure', 'required' => [ 'service', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'desiredCount' => [ 'shape' => 'BoxedInteger', ], 'taskDefinition' => [ 'shape' => 'String', ], 'deploymentConfiguration' => [ 'shape' => 'DeploymentConfiguration', ], 'networkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'platformVersion' => [ 'shape' => 'String', ], 'forceNewDeployment' => [ 'shape' => 'Boolean', ], 'healthCheckGracePeriodSeconds' => [ 'shape' => 'BoxedInteger', ], ], ], 'UpdateServiceResponse' => [ 'type' => 'structure', 'members' => [ 'service' => [ 'shape' => 'Service', ], ], ], 'UpdateTaskSetRequest' => [ 'type' => 'structure', 'required' => [ 'cluster', 'service', 'taskSet', 'scale', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'service' => [ 'shape' => 'String', ], 'taskSet' => [ 'shape' => 'String', ], 'scale' => [ 'shape' => 'Scale', ], ], ], 'UpdateTaskSetResponse' => [ 'type' => 'structure', 'members' => [ 'taskSet' => [ 'shape' => 'TaskSet', ], ], ], 'VersionInfo' => [ 'type' => 'structure', 'members' => [ 'agentVersion' => [ 'shape' => 'String', ], 'agentHash' => [ 'shape' => 'String', ], 'dockerVersion' => [ 'shape' => 'String', ], ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'host' => [ 'shape' => 'HostVolumeProperties', ], 'dockerVolumeConfiguration' => [ 'shape' => 'DockerVolumeConfiguration', ], ], ], 'VolumeFrom' => [ 'type' => 'structure', 'members' => [ 'sourceContainer' => [ 'shape' => 'String', ], 'readOnly' => [ 'shape' => 'BoxedBoolean', ], ], ], 'VolumeFromList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeFrom', ], ], 'VolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', ], ], ],]; diff --git a/lib/aws/Aws/data/ecs/2014-11-13/paginators-1.json.php b/lib/aws/Aws/data/ecs/2014-11-13/paginators-1.json.php new file mode 100644 index 0000000..94af3ae --- /dev/null +++ b/lib/aws/Aws/data/ecs/2014-11-13/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecs/2014-11-13/paginators-1.json +return [ 'pagination' => [ 'ListClusters' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'clusterArns', ], 'ListContainerInstances' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'containerInstanceArns', ], 'ListServices' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'serviceArns', ], 'ListTaskDefinitionFamilies' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'families', ], 'ListTaskDefinitions' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'taskDefinitionArns', ], 'ListTasks' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'taskArns', ], ],]; diff --git a/lib/aws/Aws/data/ecs/2014-11-13/smoke.json.php b/lib/aws/Aws/data/ecs/2014-11-13/smoke.json.php new file mode 100644 index 0000000..9ffefee --- /dev/null +++ b/lib/aws/Aws/data/ecs/2014-11-13/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecs/2014-11-13/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListClusters', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'StopTask', 'input' => [ 'task' => 'xxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxx', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/ecs/2014-11-13/waiters-2.json.php b/lib/aws/Aws/data/ecs/2014-11-13/waiters-2.json.php new file mode 100644 index 0000000..49c03e1 --- /dev/null +++ b/lib/aws/Aws/data/ecs/2014-11-13/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ecs/2014-11-13/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'TasksRunning' => [ 'delay' => 6, 'operation' => 'DescribeTasks', 'maxAttempts' => 100, 'acceptors' => [ [ 'expected' => 'STOPPED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'tasks[].lastStatus', ], [ 'expected' => 'MISSING', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'failures[].reason', ], [ 'expected' => 'RUNNING', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'tasks[].lastStatus', ], ], ], 'TasksStopped' => [ 'delay' => 6, 'operation' => 'DescribeTasks', 'maxAttempts' => 100, 'acceptors' => [ [ 'expected' => 'STOPPED', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'tasks[].lastStatus', ], ], ], 'ServicesStable' => [ 'delay' => 15, 'operation' => 'DescribeServices', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'MISSING', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'failures[].reason', ], [ 'expected' => 'DRAINING', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'services[].status', ], [ 'expected' => 'INACTIVE', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'services[].status', ], [ 'expected' => true, 'matcher' => 'path', 'state' => 'success', 'argument' => 'length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`', ], ], ], 'ServicesInactive' => [ 'delay' => 15, 'operation' => 'DescribeServices', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'MISSING', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'failures[].reason', ], [ 'expected' => 'INACTIVE', 'matcher' => 'pathAny', 'state' => 'success', 'argument' => 'services[].status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/eks/2017-11-01/api-2.json.php b/lib/aws/Aws/data/eks/2017-11-01/api-2.json.php new file mode 100644 index 0000000..45769c2 --- /dev/null +++ b/lib/aws/Aws/data/eks/2017-11-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/eks/2017-11-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-11-01', 'endpointPrefix' => 'eks', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Amazon EKS', 'serviceFullName' => 'Amazon Elastic Container Service for Kubernetes', 'serviceId' => 'EKS', 'signatureVersion' => 'v4', 'signingName' => 'eks', 'uid' => 'eks-2017-11-01', ], 'operations' => [ 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/clusters', ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnsupportedAvailabilityZoneException', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/clusters/{name}', ], 'input' => [ 'shape' => 'DeleteClusterRequest', ], 'output' => [ 'shape' => 'DeleteClusterResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeCluster' => [ 'name' => 'DescribeCluster', 'http' => [ 'method' => 'GET', 'requestUri' => '/clusters/{name}', ], 'input' => [ 'shape' => 'DescribeClusterRequest', ], 'output' => [ 'shape' => 'DescribeClusterResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeUpdate' => [ 'name' => 'DescribeUpdate', 'http' => [ 'method' => 'GET', 'requestUri' => '/clusters/{name}/updates/{updateId}', ], 'input' => [ 'shape' => 'DescribeUpdateRequest', ], 'output' => [ 'shape' => 'DescribeUpdateResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListClusters' => [ 'name' => 'ListClusters', 'http' => [ 'method' => 'GET', 'requestUri' => '/clusters', ], 'input' => [ 'shape' => 'ListClustersRequest', ], 'output' => [ 'shape' => 'ListClustersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListUpdates' => [ 'name' => 'ListUpdates', 'http' => [ 'method' => 'GET', 'requestUri' => '/clusters/{name}/updates', ], 'input' => [ 'shape' => 'ListUpdatesRequest', ], 'output' => [ 'shape' => 'ListUpdatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateClusterConfig' => [ 'name' => 'UpdateClusterConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/clusters/{name}/update-config', ], 'input' => [ 'shape' => 'UpdateClusterConfigRequest', ], 'output' => [ 'shape' => 'UpdateClusterConfigResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateClusterVersion' => [ 'name' => 'UpdateClusterVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/clusters/{name}/updates', ], 'input' => [ 'shape' => 'UpdateClusterVersionRequest', ], 'output' => [ 'shape' => 'UpdateClusterVersionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ClientException', ], [ 'shape' => 'ServerException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'Boolean' => [ 'type' => 'boolean', ], 'BoxedBoolean' => [ 'type' => 'boolean', 'box' => true, ], 'Certificate' => [ 'type' => 'structure', 'members' => [ 'data' => [ 'shape' => 'String', ], ], ], 'ClientException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'arn' => [ 'shape' => 'String', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'String', ], 'endpoint' => [ 'shape' => 'String', ], 'roleArn' => [ 'shape' => 'String', ], 'resourcesVpcConfig' => [ 'shape' => 'VpcConfigResponse', ], 'logging' => [ 'shape' => 'Logging', ], 'status' => [ 'shape' => 'ClusterStatus', ], 'certificateAuthority' => [ 'shape' => 'Certificate', ], 'clientRequestToken' => [ 'shape' => 'String', ], 'platformVersion' => [ 'shape' => 'String', ], ], ], 'ClusterName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^[0-9A-Za-z][A-Za-z0-9\\-_]*', ], 'ClusterStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', 'FAILED', ], ], 'CreateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'roleArn', 'resourcesVpcConfig', ], 'members' => [ 'name' => [ 'shape' => 'ClusterName', ], 'version' => [ 'shape' => 'String', ], 'roleArn' => [ 'shape' => 'String', ], 'resourcesVpcConfig' => [ 'shape' => 'VpcConfigRequest', ], 'logging' => [ 'shape' => 'Logging', ], 'clientRequestToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteClusterRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DeleteClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'DescribeClusterRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DescribeClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'DescribeUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'updateId', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], 'updateId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'updateId', ], ], ], 'DescribeUpdateResponse' => [ 'type' => 'structure', 'members' => [ 'update' => [ 'shape' => 'Update', ], ], ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'SubnetNotFound', 'SecurityGroupNotFound', 'EniLimitReached', 'IpNotAvailable', 'AccessDenied', 'OperationNotPermitted', 'VpcIdNotFound', 'Unknown', ], ], 'ErrorDetail' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'ErrorCode', ], 'errorMessage' => [ 'shape' => 'String', ], 'resourceIds' => [ 'shape' => 'StringList', ], ], ], 'ErrorDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorDetail', ], ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListClustersRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'ListClustersRequestMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListClustersRequestMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'ListClustersResponse' => [ 'type' => 'structure', 'members' => [ 'clusters' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListUpdatesRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'ListUpdatesRequestMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListUpdatesRequestMaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'ListUpdatesResponse' => [ 'type' => 'structure', 'members' => [ 'updateIds' => [ 'shape' => 'StringList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'LogSetup' => [ 'type' => 'structure', 'members' => [ 'types' => [ 'shape' => 'LogTypes', ], 'enabled' => [ 'shape' => 'BoxedBoolean', ], ], ], 'LogSetups' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogSetup', ], ], 'LogType' => [ 'type' => 'string', 'enum' => [ 'api', 'audit', 'authenticator', 'controllerManager', 'scheduler', ], ], 'LogTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogType', ], ], 'Logging' => [ 'type' => 'structure', 'members' => [ 'clusterLogging' => [ 'shape' => 'LogSetups', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ServerException' => [ 'type' => 'structure', 'members' => [ 'clusterName' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnsupportedAvailabilityZoneException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], 'clusterName' => [ 'shape' => 'String', ], 'validZones' => [ 'shape' => 'StringList', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Update' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'UpdateStatus', ], 'type' => [ 'shape' => 'UpdateType', ], 'params' => [ 'shape' => 'UpdateParams', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'errors' => [ 'shape' => 'ErrorDetails', ], ], ], 'UpdateClusterConfigRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], 'resourcesVpcConfig' => [ 'shape' => 'VpcConfigRequest', ], 'logging' => [ 'shape' => 'Logging', ], 'clientRequestToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], ], ], 'UpdateClusterConfigResponse' => [ 'type' => 'structure', 'members' => [ 'update' => [ 'shape' => 'Update', ], ], ], 'UpdateClusterVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'String', ], 'clientRequestToken' => [ 'shape' => 'String', 'idempotencyToken' => true, ], ], ], 'UpdateClusterVersionResponse' => [ 'type' => 'structure', 'members' => [ 'update' => [ 'shape' => 'Update', ], ], ], 'UpdateParam' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'UpdateParamType', ], 'value' => [ 'shape' => 'String', ], ], ], 'UpdateParamType' => [ 'type' => 'string', 'enum' => [ 'Version', 'PlatformVersion', 'EndpointPrivateAccess', 'EndpointPublicAccess', 'ClusterLogging', ], ], 'UpdateParams' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpdateParam', ], ], 'UpdateStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Failed', 'Cancelled', 'Successful', ], ], 'UpdateType' => [ 'type' => 'string', 'enum' => [ 'VersionUpdate', 'EndpointAccessUpdate', 'LoggingUpdate', ], ], 'VpcConfigRequest' => [ 'type' => 'structure', 'members' => [ 'subnetIds' => [ 'shape' => 'StringList', ], 'securityGroupIds' => [ 'shape' => 'StringList', ], 'endpointPublicAccess' => [ 'shape' => 'BoxedBoolean', ], 'endpointPrivateAccess' => [ 'shape' => 'BoxedBoolean', ], ], ], 'VpcConfigResponse' => [ 'type' => 'structure', 'members' => [ 'subnetIds' => [ 'shape' => 'StringList', ], 'securityGroupIds' => [ 'shape' => 'StringList', ], 'vpcId' => [ 'shape' => 'String', ], 'endpointPublicAccess' => [ 'shape' => 'Boolean', ], 'endpointPrivateAccess' => [ 'shape' => 'Boolean', ], ], ], ],]; diff --git a/lib/aws/Aws/data/eks/2017-11-01/paginators-1.json.php b/lib/aws/Aws/data/eks/2017-11-01/paginators-1.json.php new file mode 100644 index 0000000..2a33e03 --- /dev/null +++ b/lib/aws/Aws/data/eks/2017-11-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/eks/2017-11-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/eks/2017-11-01/waiters-2.json.php b/lib/aws/Aws/data/eks/2017-11-01/waiters-2.json.php new file mode 100644 index 0000000..c31be82 --- /dev/null +++ b/lib/aws/Aws/data/eks/2017-11-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/eks/2017-11-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'ClusterActive' => [ 'delay' => 30, 'operation' => 'DescribeCluster', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'DELETING', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'cluster.status', ], [ 'expected' => 'FAILED', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'cluster.status', ], [ 'expected' => 'ACTIVE', 'matcher' => 'path', 'state' => 'success', 'argument' => 'cluster.status', ], ], ], 'ClusterDeleted' => [ 'delay' => 30, 'operation' => 'DescribeCluster', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'ACTIVE', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'cluster.status', ], [ 'expected' => 'CREATING', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'cluster.status', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/elasticache/2015-02-02/api-2.json.php b/lib/aws/Aws/data/elasticache/2015-02-02/api-2.json.php new file mode 100644 index 0000000..a04b323 --- /dev/null +++ b/lib/aws/Aws/data/elasticache/2015-02-02/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticache/2015-02-02/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-02-02', 'endpointPrefix' => 'elasticache', 'protocol' => 'query', 'serviceFullName' => 'Amazon ElastiCache', 'serviceId' => 'ElastiCache', 'signatureVersion' => 'v4', 'uid' => 'elasticache-2015-02-02', 'xmlNamespace' => 'http://elasticache.amazonaws.com/doc/2015-02-02/', ], 'operations' => [ 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'AddTagsToResourceResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'TagQuotaPerResourceExceeded', ], [ 'shape' => 'InvalidARNFault', ], ], ], 'AuthorizeCacheSecurityGroupIngress' => [ 'name' => 'AuthorizeCacheSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeCacheSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'AuthorizeCacheSecurityGroupIngressResult', 'resultWrapper' => 'AuthorizeCacheSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidCacheSecurityGroupStateFault', ], [ 'shape' => 'AuthorizationAlreadyExistsFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotMessage', ], 'output' => [ 'shape' => 'CopySnapshotResult', 'resultWrapper' => 'CopySnapshotResult', ], 'errors' => [ [ 'shape' => 'SnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidSnapshotStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateCacheCluster' => [ 'name' => 'CreateCacheCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCacheClusterMessage', ], 'output' => [ 'shape' => 'CreateCacheClusterResult', 'resultWrapper' => 'CreateCacheClusterResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'CacheClusterAlreadyExistsFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'CacheSubnetGroupNotFoundFault', ], [ 'shape' => 'ClusterQuotaForCustomerExceededFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'TagQuotaPerResourceExceeded', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateCacheParameterGroup' => [ 'name' => 'CreateCacheParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCacheParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateCacheParameterGroupResult', 'resultWrapper' => 'CreateCacheParameterGroupResult', ], 'errors' => [ [ 'shape' => 'CacheParameterGroupQuotaExceededFault', ], [ 'shape' => 'CacheParameterGroupAlreadyExistsFault', ], [ 'shape' => 'InvalidCacheParameterGroupStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateCacheSecurityGroup' => [ 'name' => 'CreateCacheSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCacheSecurityGroupMessage', ], 'output' => [ 'shape' => 'CreateCacheSecurityGroupResult', 'resultWrapper' => 'CreateCacheSecurityGroupResult', ], 'errors' => [ [ 'shape' => 'CacheSecurityGroupAlreadyExistsFault', ], [ 'shape' => 'CacheSecurityGroupQuotaExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateCacheSubnetGroup' => [ 'name' => 'CreateCacheSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCacheSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateCacheSubnetGroupResult', 'resultWrapper' => 'CreateCacheSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'CacheSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'CacheSubnetGroupQuotaExceededFault', ], [ 'shape' => 'CacheSubnetQuotaExceededFault', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'CreateReplicationGroup' => [ 'name' => 'CreateReplicationGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReplicationGroupMessage', ], 'output' => [ 'shape' => 'CreateReplicationGroupResult', 'resultWrapper' => 'CreateReplicationGroupResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'ReplicationGroupAlreadyExistsFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'CacheSubnetGroupNotFoundFault', ], [ 'shape' => 'ClusterQuotaForCustomerExceededFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'TagQuotaPerResourceExceeded', ], [ 'shape' => 'NodeGroupsPerReplicationGroupQuotaExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotMessage', ], 'output' => [ 'shape' => 'CreateSnapshotResult', 'resultWrapper' => 'CreateSnapshotResult', ], 'errors' => [ [ 'shape' => 'SnapshotAlreadyExistsFault', ], [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'SnapshotFeatureNotSupportedFault', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'DecreaseReplicaCount' => [ 'name' => 'DecreaseReplicaCount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DecreaseReplicaCountMessage', ], 'output' => [ 'shape' => 'DecreaseReplicaCountResult', 'resultWrapper' => 'DecreaseReplicaCountResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'ClusterQuotaForCustomerExceededFault', ], [ 'shape' => 'NodeGroupsPerReplicationGroupQuotaExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'ServiceLinkedRoleNotFoundFault', ], [ 'shape' => 'NoOperationFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteCacheCluster' => [ 'name' => 'DeleteCacheCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCacheClusterMessage', ], 'output' => [ 'shape' => 'DeleteCacheClusterResult', 'resultWrapper' => 'DeleteCacheClusterResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'SnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotFeatureNotSupportedFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteCacheParameterGroup' => [ 'name' => 'DeleteCacheParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCacheParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidCacheParameterGroupStateFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteCacheSecurityGroup' => [ 'name' => 'DeleteCacheSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCacheSecurityGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidCacheSecurityGroupStateFault', ], [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteCacheSubnetGroup' => [ 'name' => 'DeleteCacheSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCacheSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'CacheSubnetGroupInUse', ], [ 'shape' => 'CacheSubnetGroupNotFoundFault', ], ], ], 'DeleteReplicationGroup' => [ 'name' => 'DeleteReplicationGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReplicationGroupMessage', ], 'output' => [ 'shape' => 'DeleteReplicationGroupResult', 'resultWrapper' => 'DeleteReplicationGroupResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'SnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotFeatureNotSupportedFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DeleteSnapshot' => [ 'name' => 'DeleteSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteSnapshotResult', 'resultWrapper' => 'DeleteSnapshotResult', ], 'errors' => [ [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'InvalidSnapshotStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeCacheClusters' => [ 'name' => 'DescribeCacheClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheClustersMessage', ], 'output' => [ 'shape' => 'CacheClusterMessage', 'resultWrapper' => 'DescribeCacheClustersResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeCacheEngineVersions' => [ 'name' => 'DescribeCacheEngineVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheEngineVersionsMessage', ], 'output' => [ 'shape' => 'CacheEngineVersionMessage', 'resultWrapper' => 'DescribeCacheEngineVersionsResult', ], ], 'DescribeCacheParameterGroups' => [ 'name' => 'DescribeCacheParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheParameterGroupsMessage', ], 'output' => [ 'shape' => 'CacheParameterGroupsMessage', 'resultWrapper' => 'DescribeCacheParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeCacheParameters' => [ 'name' => 'DescribeCacheParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheParametersMessage', ], 'output' => [ 'shape' => 'CacheParameterGroupDetails', 'resultWrapper' => 'DescribeCacheParametersResult', ], 'errors' => [ [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeCacheSecurityGroups' => [ 'name' => 'DescribeCacheSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheSecurityGroupsMessage', ], 'output' => [ 'shape' => 'CacheSecurityGroupMessage', 'resultWrapper' => 'DescribeCacheSecurityGroupsResult', ], 'errors' => [ [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeCacheSubnetGroups' => [ 'name' => 'DescribeCacheSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheSubnetGroupsMessage', ], 'output' => [ 'shape' => 'CacheSubnetGroupMessage', 'resultWrapper' => 'DescribeCacheSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'CacheSubnetGroupNotFoundFault', ], ], ], 'DescribeEngineDefaultParameters' => [ 'name' => 'DescribeEngineDefaultParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultParametersResult', 'resultWrapper' => 'DescribeEngineDefaultParametersResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeReplicationGroups' => [ 'name' => 'DescribeReplicationGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReplicationGroupsMessage', ], 'output' => [ 'shape' => 'ReplicationGroupMessage', 'resultWrapper' => 'DescribeReplicationGroupsResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeReservedCacheNodes' => [ 'name' => 'DescribeReservedCacheNodes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedCacheNodesMessage', ], 'output' => [ 'shape' => 'ReservedCacheNodeMessage', 'resultWrapper' => 'DescribeReservedCacheNodesResult', ], 'errors' => [ [ 'shape' => 'ReservedCacheNodeNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeReservedCacheNodesOfferings' => [ 'name' => 'DescribeReservedCacheNodesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedCacheNodesOfferingsMessage', ], 'output' => [ 'shape' => 'ReservedCacheNodesOfferingMessage', 'resultWrapper' => 'DescribeReservedCacheNodesOfferingsResult', ], 'errors' => [ [ 'shape' => 'ReservedCacheNodesOfferingNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'DescribeSnapshots' => [ 'name' => 'DescribeSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotsMessage', ], 'output' => [ 'shape' => 'DescribeSnapshotsListMessage', 'resultWrapper' => 'DescribeSnapshotsResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'IncreaseReplicaCount' => [ 'name' => 'IncreaseReplicaCount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IncreaseReplicaCountMessage', ], 'output' => [ 'shape' => 'IncreaseReplicaCountResult', 'resultWrapper' => 'IncreaseReplicaCountResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'ClusterQuotaForCustomerExceededFault', ], [ 'shape' => 'NodeGroupsPerReplicationGroupQuotaExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'NoOperationFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'ListAllowedNodeTypeModifications' => [ 'name' => 'ListAllowedNodeTypeModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAllowedNodeTypeModificationsMessage', ], 'output' => [ 'shape' => 'AllowedNodeTypeModificationsMessage', 'resultWrapper' => 'ListAllowedNodeTypeModificationsResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'InvalidARNFault', ], ], ], 'ModifyCacheCluster' => [ 'name' => 'ModifyCacheCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyCacheClusterMessage', ], 'output' => [ 'shape' => 'ModifyCacheClusterResult', 'resultWrapper' => 'ModifyCacheClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidCacheSecurityGroupStateFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'ModifyCacheParameterGroup' => [ 'name' => 'ModifyCacheParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyCacheParameterGroupMessage', ], 'output' => [ 'shape' => 'CacheParameterGroupNameMessage', 'resultWrapper' => 'ModifyCacheParameterGroupResult', ], 'errors' => [ [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidCacheParameterGroupStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'ModifyCacheSubnetGroup' => [ 'name' => 'ModifyCacheSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyCacheSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyCacheSubnetGroupResult', 'resultWrapper' => 'ModifyCacheSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'CacheSubnetGroupNotFoundFault', ], [ 'shape' => 'CacheSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetInUse', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'ModifyReplicationGroup' => [ 'name' => 'ModifyReplicationGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationGroupMessage', ], 'output' => [ 'shape' => 'ModifyReplicationGroupResult', 'resultWrapper' => 'ModifyReplicationGroupResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidCacheSecurityGroupStateFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'NodeQuotaForClusterExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'ModifyReplicationGroupShardConfiguration' => [ 'name' => 'ModifyReplicationGroupShardConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationGroupShardConfigurationMessage', ], 'output' => [ 'shape' => 'ModifyReplicationGroupShardConfigurationResult', 'resultWrapper' => 'ModifyReplicationGroupShardConfigurationResult', ], 'errors' => [ [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InsufficientCacheClusterCapacityFault', ], [ 'shape' => 'NodeGroupsPerReplicationGroupQuotaExceededFault', ], [ 'shape' => 'NodeQuotaForCustomerExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'PurchaseReservedCacheNodesOffering' => [ 'name' => 'PurchaseReservedCacheNodesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedCacheNodesOfferingMessage', ], 'output' => [ 'shape' => 'PurchaseReservedCacheNodesOfferingResult', 'resultWrapper' => 'PurchaseReservedCacheNodesOfferingResult', ], 'errors' => [ [ 'shape' => 'ReservedCacheNodesOfferingNotFoundFault', ], [ 'shape' => 'ReservedCacheNodeAlreadyExistsFault', ], [ 'shape' => 'ReservedCacheNodeQuotaExceededFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'RebootCacheCluster' => [ 'name' => 'RebootCacheCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootCacheClusterMessage', ], 'output' => [ 'shape' => 'RebootCacheClusterResult', 'resultWrapper' => 'RebootCacheClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'CacheClusterNotFoundFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'RemoveTagsFromResourceResult', ], 'errors' => [ [ 'shape' => 'CacheClusterNotFoundFault', ], [ 'shape' => 'SnapshotNotFoundFault', ], [ 'shape' => 'InvalidARNFault', ], [ 'shape' => 'TagNotFoundFault', ], ], ], 'ResetCacheParameterGroup' => [ 'name' => 'ResetCacheParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetCacheParameterGroupMessage', ], 'output' => [ 'shape' => 'CacheParameterGroupNameMessage', 'resultWrapper' => 'ResetCacheParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidCacheParameterGroupStateFault', ], [ 'shape' => 'CacheParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'RevokeCacheSecurityGroupIngress' => [ 'name' => 'RevokeCacheSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeCacheSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'RevokeCacheSecurityGroupIngressResult', 'resultWrapper' => 'RevokeCacheSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'CacheSecurityGroupNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'InvalidCacheSecurityGroupStateFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], 'TestFailover' => [ 'name' => 'TestFailover', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestFailoverMessage', ], 'output' => [ 'shape' => 'TestFailoverResult', 'resultWrapper' => 'TestFailoverResult', ], 'errors' => [ [ 'shape' => 'APICallRateForCustomerExceededFault', ], [ 'shape' => 'InvalidCacheClusterStateFault', ], [ 'shape' => 'InvalidReplicationGroupStateFault', ], [ 'shape' => 'NodeGroupNotFoundFault', ], [ 'shape' => 'ReplicationGroupNotFoundFault', ], [ 'shape' => 'TestFailoverNotAvailableFault', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidParameterCombinationException', ], ], ], ], 'shapes' => [ 'APICallRateForCustomerExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'APICallRateForCustomerExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AZMode' => [ 'type' => 'string', 'enum' => [ 'single-az', 'cross-az', ], ], 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AllowedNodeGroupId' => [ 'type' => 'string', 'max' => 4, 'min' => 1, 'pattern' => '\\d+', ], 'AllowedNodeTypeModificationsMessage' => [ 'type' => 'structure', 'members' => [ 'ScaleUpModifications' => [ 'shape' => 'NodeTypeList', ], ], ], 'AuthorizationAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizeCacheSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSecurityGroupName', 'EC2SecurityGroupName', 'EC2SecurityGroupOwnerId', ], 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'AuthorizeCacheSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'CacheSecurityGroup' => [ 'shape' => 'CacheSecurityGroup', ], ], ], 'AutomaticFailoverStatus' => [ 'type' => 'string', 'enum' => [ 'enabled', 'disabled', 'enabling', 'disabling', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'AvailabilityZonesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AvailabilityZone', ], ], 'AwsQueryErrorMessage' => [ 'type' => 'string', ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'CacheCluster' => [ 'type' => 'structure', 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'ConfigurationEndpoint' => [ 'shape' => 'Endpoint', ], 'ClientDownloadLandingPage' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheClusterStatus' => [ 'shape' => 'String', ], 'NumCacheNodes' => [ 'shape' => 'IntegerOptional', ], 'PreferredAvailabilityZone' => [ 'shape' => 'String', ], 'CacheClusterCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfiguration', ], 'CacheSecurityGroups' => [ 'shape' => 'CacheSecurityGroupMembershipList', ], 'CacheParameterGroup' => [ 'shape' => 'CacheParameterGroupStatus', ], 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheNodes' => [ 'shape' => 'CacheNodeList', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupMembershipList', ], 'ReplicationGroupId' => [ 'shape' => 'String', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'AuthTokenEnabled' => [ 'shape' => 'BooleanOptional', ], 'TransitEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], 'AtRestEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], ], 'wrapper' => true, ], 'CacheClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheClusterAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheCluster', 'locationName' => 'CacheCluster', ], ], 'CacheClusterMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'CacheClusters' => [ 'shape' => 'CacheClusterList', ], ], ], 'CacheClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheClusterNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CacheEngineVersion' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'CacheEngineDescription' => [ 'shape' => 'String', ], 'CacheEngineVersionDescription' => [ 'shape' => 'String', ], ], ], 'CacheEngineVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheEngineVersion', 'locationName' => 'CacheEngineVersion', ], ], 'CacheEngineVersionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'CacheEngineVersions' => [ 'shape' => 'CacheEngineVersionList', ], ], ], 'CacheNode' => [ 'type' => 'structure', 'members' => [ 'CacheNodeId' => [ 'shape' => 'String', ], 'CacheNodeStatus' => [ 'shape' => 'String', ], 'CacheNodeCreateTime' => [ 'shape' => 'TStamp', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'ParameterGroupStatus' => [ 'shape' => 'String', ], 'SourceCacheNodeId' => [ 'shape' => 'String', ], 'CustomerAvailabilityZone' => [ 'shape' => 'String', ], ], ], 'CacheNodeIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CacheNodeId', ], ], 'CacheNodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheNode', 'locationName' => 'CacheNode', ], ], 'CacheNodeTypeSpecificParameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'CacheNodeTypeSpecificValues' => [ 'shape' => 'CacheNodeTypeSpecificValueList', ], 'ChangeType' => [ 'shape' => 'ChangeType', ], ], ], 'CacheNodeTypeSpecificParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheNodeTypeSpecificParameter', 'locationName' => 'CacheNodeTypeSpecificParameter', ], ], 'CacheNodeTypeSpecificValue' => [ 'type' => 'structure', 'members' => [ 'CacheNodeType' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'CacheNodeTypeSpecificValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheNodeTypeSpecificValue', 'locationName' => 'CacheNodeTypeSpecificValue', ], ], 'CacheParameterGroup' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'CacheParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], 'CacheNodeTypeSpecificParameters' => [ 'shape' => 'CacheNodeTypeSpecificParametersList', ], ], ], 'CacheParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheParameterGroup', 'locationName' => 'CacheParameterGroup', ], ], 'CacheParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], ], ], 'CacheParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CacheParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], 'CacheNodeIdsToReboot' => [ 'shape' => 'CacheNodeIdsList', ], ], ], 'CacheParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'CacheParameterGroups' => [ 'shape' => 'CacheParameterGroupList', ], ], ], 'CacheSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', ], 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'EC2SecurityGroups' => [ 'shape' => 'EC2SecurityGroupList', ], ], 'wrapper' => true, ], 'CacheSecurityGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSecurityGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'CacheSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheSecurityGroupMembership', 'locationName' => 'CacheSecurityGroup', ], ], 'CacheSecurityGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'CacheSecurityGroups' => [ 'shape' => 'CacheSecurityGroups', ], ], ], 'CacheSecurityGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'CacheSecurityGroupName', ], ], 'CacheSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CacheSecurityGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'QuotaExceeded.CacheSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheSecurityGroup', 'locationName' => 'CacheSecurityGroup', ], ], 'CacheSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], ], 'wrapper' => true, ], 'CacheSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSubnetGroupInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSubnetGroupInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'CacheSubnetGroups' => [ 'shape' => 'CacheSubnetGroups', ], ], ], 'CacheSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSubnetGroupNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CacheSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'CacheSubnetGroup', 'locationName' => 'CacheSubnetGroup', ], ], 'CacheSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CacheSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ChangeType' => [ 'type' => 'string', 'enum' => [ 'immediate', 'requires-reboot', ], ], 'ClusterIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ClusterId', ], ], 'ClusterQuotaForCustomerExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterQuotaForCustomerExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ConfigureShard' => [ 'type' => 'structure', 'required' => [ 'NodeGroupId', 'NewReplicaCount', ], 'members' => [ 'NodeGroupId' => [ 'shape' => 'AllowedNodeGroupId', ], 'NewReplicaCount' => [ 'shape' => 'Integer', ], 'PreferredAvailabilityZones' => [ 'shape' => 'PreferredAvailabilityZoneList', ], ], ], 'CopySnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceSnapshotName', 'TargetSnapshotName', ], 'members' => [ 'SourceSnapshotName' => [ 'shape' => 'String', ], 'TargetSnapshotName' => [ 'shape' => 'String', ], 'TargetBucket' => [ 'shape' => 'String', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'CreateCacheClusterMessage' => [ 'type' => 'structure', 'required' => [ 'CacheClusterId', ], 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'ReplicationGroupId' => [ 'shape' => 'String', ], 'AZMode' => [ 'shape' => 'AZMode', ], 'PreferredAvailabilityZone' => [ 'shape' => 'String', ], 'PreferredAvailabilityZones' => [ 'shape' => 'PreferredAvailabilityZoneList', ], 'NumCacheNodes' => [ 'shape' => 'IntegerOptional', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheSecurityGroupNames' => [ 'shape' => 'CacheSecurityGroupNameList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdsList', ], 'Tags' => [ 'shape' => 'TagList', ], 'SnapshotArns' => [ 'shape' => 'SnapshotArnsList', ], 'SnapshotName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'AuthToken' => [ 'shape' => 'String', ], ], ], 'CreateCacheClusterResult' => [ 'type' => 'structure', 'members' => [ 'CacheCluster' => [ 'shape' => 'CacheCluster', ], ], ], 'CreateCacheParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupName', 'CacheParameterGroupFamily', 'Description', ], 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateCacheParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroup' => [ 'shape' => 'CacheParameterGroup', ], ], ], 'CreateCacheSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSecurityGroupName', 'Description', ], 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateCacheSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'CacheSecurityGroup' => [ 'shape' => 'CacheSecurityGroup', ], ], ], 'CreateCacheSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSubnetGroupName', 'CacheSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'CreateCacheSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'CacheSubnetGroup' => [ 'shape' => 'CacheSubnetGroup', ], ], ], 'CreateReplicationGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', 'ReplicationGroupDescription', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'ReplicationGroupDescription' => [ 'shape' => 'String', ], 'PrimaryClusterId' => [ 'shape' => 'String', ], 'AutomaticFailoverEnabled' => [ 'shape' => 'BooleanOptional', ], 'NumCacheClusters' => [ 'shape' => 'IntegerOptional', ], 'PreferredCacheClusterAZs' => [ 'shape' => 'AvailabilityZonesList', ], 'NumNodeGroups' => [ 'shape' => 'IntegerOptional', ], 'ReplicasPerNodeGroup' => [ 'shape' => 'IntegerOptional', ], 'NodeGroupConfiguration' => [ 'shape' => 'NodeGroupConfigurationList', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheSecurityGroupNames' => [ 'shape' => 'CacheSecurityGroupNameList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdsList', ], 'Tags' => [ 'shape' => 'TagList', ], 'SnapshotArns' => [ 'shape' => 'SnapshotArnsList', ], 'SnapshotName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'AuthToken' => [ 'shape' => 'String', ], 'TransitEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], 'AtRestEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateReplicationGroupResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'CreateSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotName', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'CacheClusterId' => [ 'shape' => 'String', ], 'SnapshotName' => [ 'shape' => 'String', ], ], ], 'CreateSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'DecreaseReplicaCountMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', 'ApplyImmediately', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'NewReplicaCount' => [ 'shape' => 'IntegerOptional', ], 'ReplicaConfiguration' => [ 'shape' => 'ReplicaConfigurationList', ], 'ReplicasToRemove' => [ 'shape' => 'RemoveReplicasList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], ], ], 'DecreaseReplicaCountResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'DeleteCacheClusterMessage' => [ 'type' => 'structure', 'required' => [ 'CacheClusterId', ], 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'FinalSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteCacheClusterResult' => [ 'type' => 'structure', 'members' => [ 'CacheCluster' => [ 'shape' => 'CacheCluster', ], ], ], 'DeleteCacheParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupName', ], 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteCacheSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSecurityGroupName', ], 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteCacheSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSubnetGroupName', ], 'members' => [ 'CacheSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteReplicationGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'RetainPrimaryCluster' => [ 'shape' => 'BooleanOptional', ], 'FinalSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteReplicationGroupResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'DeleteSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotName', ], 'members' => [ 'SnapshotName' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'DescribeCacheClustersMessage' => [ 'type' => 'structure', 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'ShowCacheNodeInfo' => [ 'shape' => 'BooleanOptional', ], 'ShowCacheClustersNotInReplicationGroups' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeCacheEngineVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'DefaultOnly' => [ 'shape' => 'Boolean', ], ], ], 'DescribeCacheParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeCacheParametersMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupName', ], 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeCacheSecurityGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeCacheSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupFamily', ], 'members' => [ 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReplicationGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedCacheNodesMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedCacheNodeId' => [ 'shape' => 'String', ], 'ReservedCacheNodesOfferingId' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedCacheNodesOfferingsMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedCacheNodesOfferingId' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeSnapshotsListMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Snapshots' => [ 'shape' => 'SnapshotList', ], ], ], 'DescribeSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'CacheClusterId' => [ 'shape' => 'String', ], 'SnapshotName' => [ 'shape' => 'String', ], 'SnapshotSource' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'ShowNodeGroupConfig' => [ 'shape' => 'BooleanOptional', ], ], ], 'Double' => [ 'type' => 'double', ], 'EC2SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'EC2SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2SecurityGroup', 'locationName' => 'EC2SecurityGroup', ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], ], ], 'EngineDefaults' => [ 'type' => 'structure', 'members' => [ 'CacheParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], 'CacheNodeTypeSpecificParameters' => [ 'shape' => 'CacheNodeTypeSpecificParametersList', ], ], 'wrapper' => true, ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'Date' => [ 'shape' => 'TStamp', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'IncreaseReplicaCountMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', 'ApplyImmediately', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'NewReplicaCount' => [ 'shape' => 'IntegerOptional', ], 'ReplicaConfiguration' => [ 'shape' => 'ReplicaConfigurationList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], ], ], 'IncreaseReplicaCountResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'InsufficientCacheClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientCacheClusterCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidARNFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidARN', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidCacheClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidCacheClusterState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidCacheParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidCacheParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidCacheSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidCacheSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidParameterCombinationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterCombination', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, 'synthetic' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterValue', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, 'synthetic' => true, ], 'InvalidReplicationGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidReplicationGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListAllowedNodeTypeModificationsMessage' => [ 'type' => 'structure', 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'ReplicationGroupId' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], ], ], 'ModifyCacheClusterMessage' => [ 'type' => 'structure', 'required' => [ 'CacheClusterId', ], 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'NumCacheNodes' => [ 'shape' => 'IntegerOptional', ], 'CacheNodeIdsToRemove' => [ 'shape' => 'CacheNodeIdsList', ], 'AZMode' => [ 'shape' => 'AZMode', ], 'NewAvailabilityZones' => [ 'shape' => 'PreferredAvailabilityZoneList', ], 'CacheSecurityGroupNames' => [ 'shape' => 'CacheSecurityGroupNameList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdsList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'NotificationTopicStatus' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], ], ], 'ModifyCacheClusterResult' => [ 'type' => 'structure', 'members' => [ 'CacheCluster' => [ 'shape' => 'CacheCluster', ], ], ], 'ModifyCacheParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupName', 'ParameterNameValues', ], 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'ParameterNameValues' => [ 'shape' => 'ParameterNameValueList', ], ], ], 'ModifyCacheSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSubnetGroupName', ], 'members' => [ 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyCacheSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'CacheSubnetGroup' => [ 'shape' => 'CacheSubnetGroup', ], ], ], 'ModifyReplicationGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'ReplicationGroupDescription' => [ 'shape' => 'String', ], 'PrimaryClusterId' => [ 'shape' => 'String', ], 'SnapshottingClusterId' => [ 'shape' => 'String', ], 'AutomaticFailoverEnabled' => [ 'shape' => 'BooleanOptional', ], 'CacheSecurityGroupNames' => [ 'shape' => 'CacheSecurityGroupNameList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdsList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'NotificationTopicArn' => [ 'shape' => 'String', ], 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'NotificationTopicStatus' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'NodeGroupId' => [ 'shape' => 'String', 'deprecated' => true, ], ], ], 'ModifyReplicationGroupResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'ModifyReplicationGroupShardConfigurationMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', 'NodeGroupCount', 'ApplyImmediately', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'NodeGroupCount' => [ 'shape' => 'Integer', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'ReshardingConfiguration' => [ 'shape' => 'ReshardingConfigurationList', ], 'NodeGroupsToRemove' => [ 'shape' => 'NodeGroupsToRemoveList', ], 'NodeGroupsToRetain' => [ 'shape' => 'NodeGroupsToRetainList', ], ], ], 'ModifyReplicationGroupShardConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'NoOperationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NoOperationFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NodeGroup' => [ 'type' => 'structure', 'members' => [ 'NodeGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PrimaryEndpoint' => [ 'shape' => 'Endpoint', ], 'Slots' => [ 'shape' => 'String', ], 'NodeGroupMembers' => [ 'shape' => 'NodeGroupMemberList', ], ], ], 'NodeGroupConfiguration' => [ 'type' => 'structure', 'members' => [ 'NodeGroupId' => [ 'shape' => 'AllowedNodeGroupId', ], 'Slots' => [ 'shape' => 'String', ], 'ReplicaCount' => [ 'shape' => 'IntegerOptional', ], 'PrimaryAvailabilityZone' => [ 'shape' => 'String', ], 'ReplicaAvailabilityZones' => [ 'shape' => 'AvailabilityZonesList', ], ], ], 'NodeGroupConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeGroupConfiguration', 'locationName' => 'NodeGroupConfiguration', ], ], 'NodeGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeGroup', 'locationName' => 'NodeGroup', ], ], 'NodeGroupMember' => [ 'type' => 'structure', 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'CacheNodeId' => [ 'shape' => 'String', ], 'ReadEndpoint' => [ 'shape' => 'Endpoint', ], 'PreferredAvailabilityZone' => [ 'shape' => 'String', ], 'CurrentRole' => [ 'shape' => 'String', ], ], ], 'NodeGroupMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeGroupMember', 'locationName' => 'NodeGroupMember', ], ], 'NodeGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NodeGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'NodeGroupsPerReplicationGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NodeGroupsPerReplicationGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NodeGroupsToRemoveList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedNodeGroupId', 'locationName' => 'NodeGroupToRemove', ], ], 'NodeGroupsToRetainList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedNodeGroupId', 'locationName' => 'NodeGroupToRetain', ], ], 'NodeQuotaForClusterExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NodeQuotaForClusterExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NodeQuotaForCustomerExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NodeQuotaForCustomerExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NodeSnapshot' => [ 'type' => 'structure', 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'NodeGroupId' => [ 'shape' => 'String', ], 'CacheNodeId' => [ 'shape' => 'String', ], 'NodeGroupConfiguration' => [ 'shape' => 'NodeGroupConfiguration', ], 'CacheSize' => [ 'shape' => 'String', ], 'CacheNodeCreateTime' => [ 'shape' => 'TStamp', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], ], 'wrapper' => true, ], 'NodeSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeSnapshot', 'locationName' => 'NodeSnapshot', ], ], 'NodeTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'NotificationConfiguration' => [ 'type' => 'structure', 'members' => [ 'TopicArn' => [ 'shape' => 'String', ], 'TopicStatus' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'ChangeType' => [ 'shape' => 'ChangeType', ], ], ], 'ParameterNameValue' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], ], ], 'ParameterNameValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterNameValue', 'locationName' => 'ParameterNameValue', ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingAutomaticFailoverStatus' => [ 'type' => 'string', 'enum' => [ 'enabled', 'disabled', ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'NumCacheNodes' => [ 'shape' => 'IntegerOptional', ], 'CacheNodeIdsToRemove' => [ 'shape' => 'CacheNodeIdsList', ], 'EngineVersion' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], ], ], 'PreferredAvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'PreferredAvailabilityZone', ], ], 'PurchaseReservedCacheNodesOfferingMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedCacheNodesOfferingId', ], 'members' => [ 'ReservedCacheNodesOfferingId' => [ 'shape' => 'String', ], 'ReservedCacheNodeId' => [ 'shape' => 'String', ], 'CacheNodeCount' => [ 'shape' => 'IntegerOptional', ], ], ], 'PurchaseReservedCacheNodesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedCacheNode' => [ 'shape' => 'ReservedCacheNode', ], ], ], 'RebootCacheClusterMessage' => [ 'type' => 'structure', 'required' => [ 'CacheClusterId', 'CacheNodeIdsToReboot', ], 'members' => [ 'CacheClusterId' => [ 'shape' => 'String', ], 'CacheNodeIdsToReboot' => [ 'shape' => 'CacheNodeIdsList', ], ], ], 'RebootCacheClusterResult' => [ 'type' => 'structure', 'members' => [ 'CacheCluster' => [ 'shape' => 'CacheCluster', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'RecurringChargeAmount' => [ 'shape' => 'Double', ], 'RecurringChargeFrequency' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'RecurringChargeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'RecurringCharge', ], ], 'RemoveReplicasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'ReplicaConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigureShard', 'locationName' => 'ConfigureShard', ], ], 'ReplicationGroup' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'ReplicationGroupPendingModifiedValues', ], 'MemberClusters' => [ 'shape' => 'ClusterIdList', ], 'NodeGroups' => [ 'shape' => 'NodeGroupList', ], 'SnapshottingClusterId' => [ 'shape' => 'String', ], 'AutomaticFailover' => [ 'shape' => 'AutomaticFailoverStatus', ], 'ConfigurationEndpoint' => [ 'shape' => 'Endpoint', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'ClusterEnabled' => [ 'shape' => 'BooleanOptional', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'AuthTokenEnabled' => [ 'shape' => 'BooleanOptional', ], 'TransitEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], 'AtRestEncryptionEnabled' => [ 'shape' => 'BooleanOptional', ], ], 'wrapper' => true, ], 'ReplicationGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReplicationGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReplicationGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationGroup', 'locationName' => 'ReplicationGroup', ], ], 'ReplicationGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReplicationGroups' => [ 'shape' => 'ReplicationGroupList', ], ], ], 'ReplicationGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReplicationGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReplicationGroupPendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'PrimaryClusterId' => [ 'shape' => 'String', ], 'AutomaticFailoverStatus' => [ 'shape' => 'PendingAutomaticFailoverStatus', ], 'Resharding' => [ 'shape' => 'ReshardingStatus', ], ], ], 'ReservedCacheNode' => [ 'type' => 'structure', 'members' => [ 'ReservedCacheNodeId' => [ 'shape' => 'String', ], 'ReservedCacheNodesOfferingId' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CacheNodeCount' => [ 'shape' => 'Integer', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], 'ReservationARN' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'ReservedCacheNodeAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedCacheNodeAlreadyExists', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedCacheNodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedCacheNode', 'locationName' => 'ReservedCacheNode', ], ], 'ReservedCacheNodeMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedCacheNodes' => [ 'shape' => 'ReservedCacheNodeList', ], ], ], 'ReservedCacheNodeNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedCacheNodeNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedCacheNodeQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedCacheNodeQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReservedCacheNodesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedCacheNodesOfferingId' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], 'wrapper' => true, ], 'ReservedCacheNodesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedCacheNodesOffering', 'locationName' => 'ReservedCacheNodesOffering', ], ], 'ReservedCacheNodesOfferingMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedCacheNodesOfferings' => [ 'shape' => 'ReservedCacheNodesOfferingList', ], ], ], 'ReservedCacheNodesOfferingNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedCacheNodesOfferingNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResetCacheParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'CacheParameterGroupName', ], 'members' => [ 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'ParameterNameValues' => [ 'shape' => 'ParameterNameValueList', ], ], ], 'ReshardingConfiguration' => [ 'type' => 'structure', 'members' => [ 'NodeGroupId' => [ 'shape' => 'AllowedNodeGroupId', ], 'PreferredAvailabilityZones' => [ 'shape' => 'AvailabilityZonesList', ], ], ], 'ReshardingConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReshardingConfiguration', 'locationName' => 'ReshardingConfiguration', ], ], 'ReshardingStatus' => [ 'type' => 'structure', 'members' => [ 'SlotMigration' => [ 'shape' => 'SlotMigration', ], ], ], 'RevokeCacheSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'CacheSecurityGroupName', 'EC2SecurityGroupName', 'EC2SecurityGroupOwnerId', ], 'members' => [ 'CacheSecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'RevokeCacheSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'CacheSecurityGroup' => [ 'shape' => 'CacheSecurityGroup', ], ], ], 'SecurityGroupIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SecurityGroupId', ], ], 'SecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'SecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupMembership', ], ], 'ServiceLinkedRoleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ServiceLinkedRoleNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SlotMigration' => [ 'type' => 'structure', 'members' => [ 'ProgressPercentage' => [ 'shape' => 'Double', ], ], ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'SnapshotName' => [ 'shape' => 'String', ], 'ReplicationGroupId' => [ 'shape' => 'String', ], 'ReplicationGroupDescription' => [ 'shape' => 'String', ], 'CacheClusterId' => [ 'shape' => 'String', ], 'SnapshotStatus' => [ 'shape' => 'String', ], 'SnapshotSource' => [ 'shape' => 'String', ], 'CacheNodeType' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'NumCacheNodes' => [ 'shape' => 'IntegerOptional', ], 'PreferredAvailabilityZone' => [ 'shape' => 'String', ], 'CacheClusterCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'TopicArn' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'CacheParameterGroupName' => [ 'shape' => 'String', ], 'CacheSubnetGroupName' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'SnapshotRetentionLimit' => [ 'shape' => 'IntegerOptional', ], 'SnapshotWindow' => [ 'shape' => 'String', ], 'NumNodeGroups' => [ 'shape' => 'IntegerOptional', ], 'AutomaticFailover' => [ 'shape' => 'AutomaticFailoverStatus', ], 'NodeSnapshots' => [ 'shape' => 'NodeSnapshotList', ], ], 'wrapper' => true, ], 'SnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotArnsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SnapshotArn', ], ], 'SnapshotFeatureNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotFeatureNotSupportedFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'Snapshot', ], ], 'SnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'cache-cluster', 'cache-parameter-group', 'cache-security-group', 'cache-subnet-group', 'replication-group', ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], ], ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagListMessage' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'TagNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TagNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'TagQuotaPerResourceExceeded' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TagQuotaPerResourceExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TestFailoverMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationGroupId', 'NodeGroupId', ], 'members' => [ 'ReplicationGroupId' => [ 'shape' => 'String', ], 'NodeGroupId' => [ 'shape' => 'AllowedNodeGroupId', ], ], ], 'TestFailoverNotAvailableFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TestFailoverNotAvailableFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TestFailoverResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], ],]; diff --git a/lib/aws/Aws/data/elasticache/2015-02-02/paginators-1.json.php b/lib/aws/Aws/data/elasticache/2015-02-02/paginators-1.json.php new file mode 100644 index 0000000..f0c52dd --- /dev/null +++ b/lib/aws/Aws/data/elasticache/2015-02-02/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticache/2015-02-02/paginators-1.json +return [ 'pagination' => [ 'DescribeCacheClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'CacheClusters', ], 'DescribeCacheEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'CacheEngineVersions', ], 'DescribeCacheParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'CacheParameterGroups', ], 'DescribeCacheParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeCacheSecurityGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'CacheSecurityGroups', ], 'DescribeCacheSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'CacheSubnetGroups', ], 'DescribeEngineDefaultParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'EngineDefaults.Marker', 'result_key' => 'EngineDefaults.Parameters', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeReplicationGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReplicationGroups', ], 'DescribeReservedCacheNodes' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedCacheNodes', ], 'DescribeReservedCacheNodesOfferings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedCacheNodesOfferings', ], 'DescribeSnapshots' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Snapshots', ], ],]; diff --git a/lib/aws/Aws/data/elasticache/2015-02-02/smoke.json.php b/lib/aws/Aws/data/elasticache/2015-02-02/smoke.json.php new file mode 100644 index 0000000..bef8553 --- /dev/null +++ b/lib/aws/Aws/data/elasticache/2015-02-02/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticache/2015-02-02/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeEvents', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeCacheClusters', 'input' => [ 'CacheClusterId' => 'fake_cluster', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticache/2015-02-02/waiters-2.json.php b/lib/aws/Aws/data/elasticache/2015-02-02/waiters-2.json.php new file mode 100644 index 0000000..71d09a7 --- /dev/null +++ b/lib/aws/Aws/data/elasticache/2015-02-02/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticache/2015-02-02/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'CacheClusterAvailable' => [ 'acceptors' => [ [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'incompatible-network', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'restore-failed', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until ElastiCache cluster is available.', 'maxAttempts' => 40, 'operation' => 'DescribeCacheClusters', ], 'CacheClusterDeleted' => [ 'acceptors' => [ [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'expected' => 'CacheClusterNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'available', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'incompatible-network', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'restore-failed', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'argument' => 'CacheClusters[].CacheClusterStatus', 'expected' => 'snapshotting', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until ElastiCache cluster is deleted.', 'maxAttempts' => 40, 'operation' => 'DescribeCacheClusters', ], 'ReplicationGroupAvailable' => [ 'acceptors' => [ [ 'argument' => 'ReplicationGroups[].Status', 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationGroups[].Status', 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', ], ], 'delay' => 15, 'description' => 'Wait until ElastiCache replication group is available.', 'maxAttempts' => 40, 'operation' => 'DescribeReplicationGroups', ], 'ReplicationGroupDeleted' => [ 'acceptors' => [ [ 'argument' => 'ReplicationGroups[].Status', 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'argument' => 'ReplicationGroups[].Status', 'expected' => 'available', 'matcher' => 'pathAny', 'state' => 'failure', ], [ 'expected' => 'ReplicationGroupNotFoundFault', 'matcher' => 'error', 'state' => 'success', ], ], 'delay' => 15, 'description' => 'Wait until ElastiCache replication group is deleted.', 'maxAttempts' => 40, 'operation' => 'DescribeReplicationGroups', ], ],]; diff --git a/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/api-2.json.php b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/api-2.json.php new file mode 100644 index 0000000..fd6fbe3 --- /dev/null +++ b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticbeanstalk/2010-12-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-12-01', 'endpointPrefix' => 'elasticbeanstalk', 'protocol' => 'query', 'serviceAbbreviation' => 'Elastic Beanstalk', 'serviceFullName' => 'AWS Elastic Beanstalk', 'serviceId' => 'Elastic Beanstalk', 'signatureVersion' => 'v4', 'uid' => 'elasticbeanstalk-2010-12-01', 'xmlNamespace' => 'http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/', ], 'operations' => [ 'AbortEnvironmentUpdate' => [ 'name' => 'AbortEnvironmentUpdate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AbortEnvironmentUpdateMessage', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'ApplyEnvironmentManagedAction' => [ 'name' => 'ApplyEnvironmentManagedAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplyEnvironmentManagedActionRequest', ], 'output' => [ 'shape' => 'ApplyEnvironmentManagedActionResult', 'resultWrapper' => 'ApplyEnvironmentManagedActionResult', ], 'errors' => [ [ 'shape' => 'ElasticBeanstalkServiceException', ], [ 'shape' => 'ManagedActionInvalidStateException', ], ], ], 'CheckDNSAvailability' => [ 'name' => 'CheckDNSAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CheckDNSAvailabilityMessage', ], 'output' => [ 'shape' => 'CheckDNSAvailabilityResultMessage', 'resultWrapper' => 'CheckDNSAvailabilityResult', ], ], 'ComposeEnvironments' => [ 'name' => 'ComposeEnvironments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ComposeEnvironmentsMessage', ], 'output' => [ 'shape' => 'EnvironmentDescriptionsMessage', 'resultWrapper' => 'ComposeEnvironmentsResult', ], 'errors' => [ [ 'shape' => 'TooManyEnvironmentsException', ], [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationMessage', ], 'output' => [ 'shape' => 'ApplicationDescriptionMessage', 'resultWrapper' => 'CreateApplicationResult', ], 'errors' => [ [ 'shape' => 'TooManyApplicationsException', ], ], ], 'CreateApplicationVersion' => [ 'name' => 'CreateApplicationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationVersionMessage', ], 'output' => [ 'shape' => 'ApplicationVersionDescriptionMessage', 'resultWrapper' => 'CreateApplicationVersionResult', ], 'errors' => [ [ 'shape' => 'TooManyApplicationsException', ], [ 'shape' => 'TooManyApplicationVersionsException', ], [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'S3LocationNotInServiceRegionException', ], [ 'shape' => 'CodeBuildNotInServiceRegionException', ], ], ], 'CreateConfigurationTemplate' => [ 'name' => 'CreateConfigurationTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConfigurationTemplateMessage', ], 'output' => [ 'shape' => 'ConfigurationSettingsDescription', 'resultWrapper' => 'CreateConfigurationTemplateResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'TooManyBucketsException', ], [ 'shape' => 'TooManyConfigurationTemplatesException', ], ], ], 'CreateEnvironment' => [ 'name' => 'CreateEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEnvironmentMessage', ], 'output' => [ 'shape' => 'EnvironmentDescription', 'resultWrapper' => 'CreateEnvironmentResult', ], 'errors' => [ [ 'shape' => 'TooManyEnvironmentsException', ], [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'CreatePlatformVersion' => [ 'name' => 'CreatePlatformVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlatformVersionRequest', ], 'output' => [ 'shape' => 'CreatePlatformVersionResult', 'resultWrapper' => 'CreatePlatformVersionResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], [ 'shape' => 'TooManyPlatformsException', ], ], ], 'CreateStorageLocation' => [ 'name' => 'CreateStorageLocation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'CreateStorageLocationResultMessage', 'resultWrapper' => 'CreateStorageLocationResult', ], 'errors' => [ [ 'shape' => 'TooManyBucketsException', ], [ 'shape' => 'S3SubscriptionRequiredException', ], [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'DeleteApplication' => [ 'name' => 'DeleteApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationMessage', ], 'errors' => [ [ 'shape' => 'OperationInProgressException', ], ], ], 'DeleteApplicationVersion' => [ 'name' => 'DeleteApplicationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationVersionMessage', ], 'errors' => [ [ 'shape' => 'SourceBundleDeletionException', ], [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'S3LocationNotInServiceRegionException', ], ], ], 'DeleteConfigurationTemplate' => [ 'name' => 'DeleteConfigurationTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationTemplateMessage', ], 'errors' => [ [ 'shape' => 'OperationInProgressException', ], ], ], 'DeleteEnvironmentConfiguration' => [ 'name' => 'DeleteEnvironmentConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEnvironmentConfigurationMessage', ], ], 'DeletePlatformVersion' => [ 'name' => 'DeletePlatformVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlatformVersionRequest', ], 'output' => [ 'shape' => 'DeletePlatformVersionResult', 'resultWrapper' => 'DeletePlatformVersionResult', ], 'errors' => [ [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], [ 'shape' => 'PlatformVersionStillReferencedException', ], ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResult', 'resultWrapper' => 'DescribeAccountAttributesResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'DescribeApplicationVersions' => [ 'name' => 'DescribeApplicationVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationVersionsMessage', ], 'output' => [ 'shape' => 'ApplicationVersionDescriptionsMessage', 'resultWrapper' => 'DescribeApplicationVersionsResult', ], ], 'DescribeApplications' => [ 'name' => 'DescribeApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationsMessage', ], 'output' => [ 'shape' => 'ApplicationDescriptionsMessage', 'resultWrapper' => 'DescribeApplicationsResult', ], ], 'DescribeConfigurationOptions' => [ 'name' => 'DescribeConfigurationOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationOptionsMessage', ], 'output' => [ 'shape' => 'ConfigurationOptionsDescription', 'resultWrapper' => 'DescribeConfigurationOptionsResult', ], 'errors' => [ [ 'shape' => 'TooManyBucketsException', ], ], ], 'DescribeConfigurationSettings' => [ 'name' => 'DescribeConfigurationSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationSettingsMessage', ], 'output' => [ 'shape' => 'ConfigurationSettingsDescriptions', 'resultWrapper' => 'DescribeConfigurationSettingsResult', ], 'errors' => [ [ 'shape' => 'TooManyBucketsException', ], ], ], 'DescribeEnvironmentHealth' => [ 'name' => 'DescribeEnvironmentHealth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentHealthRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentHealthResult', 'resultWrapper' => 'DescribeEnvironmentHealthResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'DescribeEnvironmentManagedActionHistory' => [ 'name' => 'DescribeEnvironmentManagedActionHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentManagedActionHistoryRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentManagedActionHistoryResult', 'resultWrapper' => 'DescribeEnvironmentManagedActionHistoryResult', ], 'errors' => [ [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'DescribeEnvironmentManagedActions' => [ 'name' => 'DescribeEnvironmentManagedActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentManagedActionsRequest', ], 'output' => [ 'shape' => 'DescribeEnvironmentManagedActionsResult', 'resultWrapper' => 'DescribeEnvironmentManagedActionsResult', ], 'errors' => [ [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'DescribeEnvironmentResources' => [ 'name' => 'DescribeEnvironmentResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentResourcesMessage', ], 'output' => [ 'shape' => 'EnvironmentResourceDescriptionsMessage', 'resultWrapper' => 'DescribeEnvironmentResourcesResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'DescribeEnvironments' => [ 'name' => 'DescribeEnvironments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEnvironmentsMessage', ], 'output' => [ 'shape' => 'EnvironmentDescriptionsMessage', 'resultWrapper' => 'DescribeEnvironmentsResult', ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventDescriptionsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeInstancesHealth' => [ 'name' => 'DescribeInstancesHealth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesHealthRequest', ], 'output' => [ 'shape' => 'DescribeInstancesHealthResult', 'resultWrapper' => 'DescribeInstancesHealthResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'DescribePlatformVersion' => [ 'name' => 'DescribePlatformVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlatformVersionRequest', ], 'output' => [ 'shape' => 'DescribePlatformVersionResult', 'resultWrapper' => 'DescribePlatformVersionResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'ListAvailableSolutionStacks' => [ 'name' => 'ListAvailableSolutionStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ListAvailableSolutionStacksResultMessage', 'resultWrapper' => 'ListAvailableSolutionStacksResult', ], ], 'ListPlatformVersions' => [ 'name' => 'ListPlatformVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPlatformVersionsRequest', ], 'output' => [ 'shape' => 'ListPlatformVersionsResult', 'resultWrapper' => 'ListPlatformVersionsResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'ElasticBeanstalkServiceException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'ResourceTagsDescriptionMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceTypeNotSupportedException', ], ], ], 'RebuildEnvironment' => [ 'name' => 'RebuildEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebuildEnvironmentMessage', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'RequestEnvironmentInfo' => [ 'name' => 'RequestEnvironmentInfo', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestEnvironmentInfoMessage', ], ], 'RestartAppServer' => [ 'name' => 'RestartAppServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestartAppServerMessage', ], ], 'RetrieveEnvironmentInfo' => [ 'name' => 'RetrieveEnvironmentInfo', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetrieveEnvironmentInfoMessage', ], 'output' => [ 'shape' => 'RetrieveEnvironmentInfoResultMessage', 'resultWrapper' => 'RetrieveEnvironmentInfoResult', ], ], 'SwapEnvironmentCNAMEs' => [ 'name' => 'SwapEnvironmentCNAMEs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SwapEnvironmentCNAMEsMessage', ], ], 'TerminateEnvironment' => [ 'name' => 'TerminateEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateEnvironmentMessage', ], 'output' => [ 'shape' => 'EnvironmentDescription', 'resultWrapper' => 'TerminateEnvironmentResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationMessage', ], 'output' => [ 'shape' => 'ApplicationDescriptionMessage', 'resultWrapper' => 'UpdateApplicationResult', ], ], 'UpdateApplicationResourceLifecycle' => [ 'name' => 'UpdateApplicationResourceLifecycle', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationResourceLifecycleMessage', ], 'output' => [ 'shape' => 'ApplicationResourceLifecycleDescriptionMessage', 'resultWrapper' => 'UpdateApplicationResourceLifecycleResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], ], ], 'UpdateApplicationVersion' => [ 'name' => 'UpdateApplicationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationVersionMessage', ], 'output' => [ 'shape' => 'ApplicationVersionDescriptionMessage', 'resultWrapper' => 'UpdateApplicationVersionResult', ], ], 'UpdateConfigurationTemplate' => [ 'name' => 'UpdateConfigurationTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConfigurationTemplateMessage', ], 'output' => [ 'shape' => 'ConfigurationSettingsDescription', 'resultWrapper' => 'UpdateConfigurationTemplateResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'TooManyBucketsException', ], ], ], 'UpdateEnvironment' => [ 'name' => 'UpdateEnvironment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEnvironmentMessage', ], 'output' => [ 'shape' => 'EnvironmentDescription', 'resultWrapper' => 'UpdateEnvironmentResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'TooManyBucketsException', ], ], ], 'UpdateTagsForResource' => [ 'name' => 'UpdateTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTagsForResourceMessage', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceTypeNotSupportedException', ], ], ], 'ValidateConfigurationSettings' => [ 'name' => 'ValidateConfigurationSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ValidateConfigurationSettingsMessage', ], 'output' => [ 'shape' => 'ConfigurationSettingsValidationMessages', 'resultWrapper' => 'ValidateConfigurationSettingsResult', ], 'errors' => [ [ 'shape' => 'InsufficientPrivilegesException', ], [ 'shape' => 'TooManyBucketsException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AbortEnvironmentUpdateMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'AbortableOperationInProgress' => [ 'type' => 'boolean', ], 'ActionHistoryStatus' => [ 'type' => 'string', 'enum' => [ 'Completed', 'Failed', 'Unknown', ], ], 'ActionStatus' => [ 'type' => 'string', 'enum' => [ 'Scheduled', 'Pending', 'Running', 'Unknown', ], ], 'ActionType' => [ 'type' => 'string', 'enum' => [ 'InstanceRefresh', 'PlatformUpdate', 'Unknown', ], ], 'ApplicationArn' => [ 'type' => 'string', ], 'ApplicationDescription' => [ 'type' => 'structure', 'members' => [ 'ApplicationArn' => [ 'shape' => 'ApplicationArn', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'Description' => [ 'shape' => 'Description', ], 'DateCreated' => [ 'shape' => 'CreationDate', ], 'DateUpdated' => [ 'shape' => 'UpdateDate', ], 'Versions' => [ 'shape' => 'VersionLabelsList', ], 'ConfigurationTemplates' => [ 'shape' => 'ConfigurationTemplateNamesList', ], 'ResourceLifecycleConfig' => [ 'shape' => 'ApplicationResourceLifecycleConfig', ], ], ], 'ApplicationDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationDescription', ], ], 'ApplicationDescriptionMessage' => [ 'type' => 'structure', 'members' => [ 'Application' => [ 'shape' => 'ApplicationDescription', ], ], ], 'ApplicationDescriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Applications' => [ 'shape' => 'ApplicationDescriptionList', ], ], ], 'ApplicationMetrics' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => 'NullableInteger', ], 'RequestCount' => [ 'shape' => 'RequestCount', ], 'StatusCodes' => [ 'shape' => 'StatusCodes', ], 'Latency' => [ 'shape' => 'Latency', ], ], ], 'ApplicationName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ApplicationNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationName', ], ], 'ApplicationResourceLifecycleConfig' => [ 'type' => 'structure', 'members' => [ 'ServiceRole' => [ 'shape' => 'String', ], 'VersionLifecycleConfig' => [ 'shape' => 'ApplicationVersionLifecycleConfig', ], ], ], 'ApplicationResourceLifecycleDescriptionMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ResourceLifecycleConfig' => [ 'shape' => 'ApplicationResourceLifecycleConfig', ], ], ], 'ApplicationVersionArn' => [ 'type' => 'string', ], 'ApplicationVersionDescription' => [ 'type' => 'structure', 'members' => [ 'ApplicationVersionArn' => [ 'shape' => 'ApplicationVersionArn', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'Description' => [ 'shape' => 'Description', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'SourceBuildInformation' => [ 'shape' => 'SourceBuildInformation', ], 'BuildArn' => [ 'shape' => 'String', ], 'SourceBundle' => [ 'shape' => 'S3Location', ], 'DateCreated' => [ 'shape' => 'CreationDate', ], 'DateUpdated' => [ 'shape' => 'UpdateDate', ], 'Status' => [ 'shape' => 'ApplicationVersionStatus', ], ], ], 'ApplicationVersionDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationVersionDescription', ], ], 'ApplicationVersionDescriptionMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationVersion' => [ 'shape' => 'ApplicationVersionDescription', ], ], ], 'ApplicationVersionDescriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationVersions' => [ 'shape' => 'ApplicationVersionDescriptionList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ApplicationVersionLifecycleConfig' => [ 'type' => 'structure', 'members' => [ 'MaxCountRule' => [ 'shape' => 'MaxCountRule', ], 'MaxAgeRule' => [ 'shape' => 'MaxAgeRule', ], ], ], 'ApplicationVersionProccess' => [ 'type' => 'boolean', ], 'ApplicationVersionStatus' => [ 'type' => 'string', 'enum' => [ 'Processed', 'Unprocessed', 'Failed', 'Processing', 'Building', ], ], 'ApplyEnvironmentManagedActionRequest' => [ 'type' => 'structure', 'required' => [ 'ActionId', ], 'members' => [ 'EnvironmentName' => [ 'shape' => 'String', ], 'EnvironmentId' => [ 'shape' => 'String', ], 'ActionId' => [ 'shape' => 'String', ], ], ], 'ApplyEnvironmentManagedActionResult' => [ 'type' => 'structure', 'members' => [ 'ActionId' => [ 'shape' => 'String', ], 'ActionDescription' => [ 'shape' => 'String', ], 'ActionType' => [ 'shape' => 'ActionType', ], 'Status' => [ 'shape' => 'String', ], ], ], 'AutoCreateApplication' => [ 'type' => 'boolean', ], 'AutoScalingGroup' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceId', ], ], ], 'AutoScalingGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingGroup', ], ], 'AvailableSolutionStackDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SolutionStackDescription', ], ], 'AvailableSolutionStackNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SolutionStackName', ], ], 'BoxedBoolean' => [ 'type' => 'boolean', ], 'BoxedInt' => [ 'type' => 'integer', ], 'BuildConfiguration' => [ 'type' => 'structure', 'required' => [ 'CodeBuildServiceRole', 'Image', ], 'members' => [ 'ArtifactName' => [ 'shape' => 'String', ], 'CodeBuildServiceRole' => [ 'shape' => 'NonEmptyString', ], 'ComputeType' => [ 'shape' => 'ComputeType', ], 'Image' => [ 'shape' => 'NonEmptyString', ], 'TimeoutInMinutes' => [ 'shape' => 'BoxedInt', ], ], ], 'Builder' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'ARN', ], ], ], 'CPUUtilization' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'NullableDouble', ], 'Nice' => [ 'shape' => 'NullableDouble', ], 'System' => [ 'shape' => 'NullableDouble', ], 'Idle' => [ 'shape' => 'NullableDouble', ], 'IOWait' => [ 'shape' => 'NullableDouble', ], 'IRQ' => [ 'shape' => 'NullableDouble', ], 'SoftIRQ' => [ 'shape' => 'NullableDouble', ], 'Privileged' => [ 'shape' => 'NullableDouble', ], ], ], 'Cause' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Causes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cause', ], ], 'CheckDNSAvailabilityMessage' => [ 'type' => 'structure', 'required' => [ 'CNAMEPrefix', ], 'members' => [ 'CNAMEPrefix' => [ 'shape' => 'DNSCnamePrefix', ], ], ], 'CheckDNSAvailabilityResultMessage' => [ 'type' => 'structure', 'members' => [ 'Available' => [ 'shape' => 'CnameAvailability', ], 'FullyQualifiedCNAME' => [ 'shape' => 'DNSCname', ], ], ], 'CnameAvailability' => [ 'type' => 'boolean', ], 'CodeBuildNotInServiceRegionException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CodeBuildNotInServiceRegionException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ComposeEnvironmentsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'GroupName' => [ 'shape' => 'GroupName', ], 'VersionLabels' => [ 'shape' => 'VersionLabels', ], ], ], 'ComputeType' => [ 'type' => 'string', 'enum' => [ 'BUILD_GENERAL1_SMALL', 'BUILD_GENERAL1_MEDIUM', 'BUILD_GENERAL1_LARGE', ], ], 'ConfigurationDeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'deployed', 'pending', 'failed', ], ], 'ConfigurationOptionDefaultValue' => [ 'type' => 'string', ], 'ConfigurationOptionDescription' => [ 'type' => 'structure', 'members' => [ 'Namespace' => [ 'shape' => 'OptionNamespace', ], 'Name' => [ 'shape' => 'ConfigurationOptionName', ], 'DefaultValue' => [ 'shape' => 'ConfigurationOptionDefaultValue', ], 'ChangeSeverity' => [ 'shape' => 'ConfigurationOptionSeverity', ], 'UserDefined' => [ 'shape' => 'UserDefinedOption', ], 'ValueType' => [ 'shape' => 'ConfigurationOptionValueType', ], 'ValueOptions' => [ 'shape' => 'ConfigurationOptionPossibleValues', ], 'MinValue' => [ 'shape' => 'OptionRestrictionMinValue', ], 'MaxValue' => [ 'shape' => 'OptionRestrictionMaxValue', ], 'MaxLength' => [ 'shape' => 'OptionRestrictionMaxLength', ], 'Regex' => [ 'shape' => 'OptionRestrictionRegex', ], ], ], 'ConfigurationOptionDescriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationOptionDescription', ], ], 'ConfigurationOptionName' => [ 'type' => 'string', ], 'ConfigurationOptionPossibleValue' => [ 'type' => 'string', ], 'ConfigurationOptionPossibleValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationOptionPossibleValue', ], ], 'ConfigurationOptionSetting' => [ 'type' => 'structure', 'members' => [ 'ResourceName' => [ 'shape' => 'ResourceName', ], 'Namespace' => [ 'shape' => 'OptionNamespace', ], 'OptionName' => [ 'shape' => 'ConfigurationOptionName', ], 'Value' => [ 'shape' => 'ConfigurationOptionValue', ], ], ], 'ConfigurationOptionSettingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationOptionSetting', ], ], 'ConfigurationOptionSeverity' => [ 'type' => 'string', ], 'ConfigurationOptionValue' => [ 'type' => 'string', ], 'ConfigurationOptionValueType' => [ 'type' => 'string', 'enum' => [ 'Scalar', 'List', ], ], 'ConfigurationOptionsDescription' => [ 'type' => 'structure', 'members' => [ 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'Options' => [ 'shape' => 'ConfigurationOptionDescriptionsList', ], ], ], 'ConfigurationSettingsDescription' => [ 'type' => 'structure', 'members' => [ 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'Description' => [ 'shape' => 'Description', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'DeploymentStatus' => [ 'shape' => 'ConfigurationDeploymentStatus', ], 'DateCreated' => [ 'shape' => 'CreationDate', ], 'DateUpdated' => [ 'shape' => 'UpdateDate', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], ], ], 'ConfigurationSettingsDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationSettingsDescription', ], ], 'ConfigurationSettingsDescriptions' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSettings' => [ 'shape' => 'ConfigurationSettingsDescriptionList', ], ], ], 'ConfigurationSettingsValidationMessages' => [ 'type' => 'structure', 'members' => [ 'Messages' => [ 'shape' => 'ValidationMessagesList', ], ], ], 'ConfigurationTemplateName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ConfigurationTemplateNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationTemplateName', ], ], 'CreateApplicationMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'Description' => [ 'shape' => 'Description', ], 'ResourceLifecycleConfig' => [ 'shape' => 'ApplicationResourceLifecycleConfig', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateApplicationVersionMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'VersionLabel', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'Description' => [ 'shape' => 'Description', ], 'SourceBuildInformation' => [ 'shape' => 'SourceBuildInformation', ], 'SourceBundle' => [ 'shape' => 'S3Location', ], 'BuildConfiguration' => [ 'shape' => 'BuildConfiguration', ], 'AutoCreateApplication' => [ 'shape' => 'AutoCreateApplication', ], 'Process' => [ 'shape' => 'ApplicationVersionProccess', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateConfigurationTemplateMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'TemplateName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'SourceConfiguration' => [ 'shape' => 'SourceConfiguration', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'Description' => [ 'shape' => 'Description', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateEnvironmentMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'GroupName' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'Description', ], 'CNAMEPrefix' => [ 'shape' => 'DNSCnamePrefix', ], 'Tier' => [ 'shape' => 'EnvironmentTier', ], 'Tags' => [ 'shape' => 'Tags', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], 'OptionsToRemove' => [ 'shape' => 'OptionsSpecifierList', ], ], ], 'CreatePlatformVersionRequest' => [ 'type' => 'structure', 'required' => [ 'PlatformName', 'PlatformVersion', 'PlatformDefinitionBundle', ], 'members' => [ 'PlatformName' => [ 'shape' => 'PlatformName', ], 'PlatformVersion' => [ 'shape' => 'PlatformVersion', ], 'PlatformDefinitionBundle' => [ 'shape' => 'S3Location', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreatePlatformVersionResult' => [ 'type' => 'structure', 'members' => [ 'PlatformSummary' => [ 'shape' => 'PlatformSummary', ], 'Builder' => [ 'shape' => 'Builder', ], ], ], 'CreateStorageLocationResultMessage' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'S3Bucket', ], ], ], 'CreationDate' => [ 'type' => 'timestamp', ], 'CustomAmi' => [ 'type' => 'structure', 'members' => [ 'VirtualizationType' => [ 'shape' => 'VirtualizationType', ], 'ImageId' => [ 'shape' => 'ImageId', ], ], ], 'CustomAmiList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomAmi', ], ], 'DNSCname' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'DNSCnamePrefix' => [ 'type' => 'string', 'max' => 63, 'min' => 4, ], 'DeleteApplicationMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TerminateEnvByForce' => [ 'shape' => 'TerminateEnvForce', ], ], ], 'DeleteApplicationVersionMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'VersionLabel', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'DeleteSourceBundle' => [ 'shape' => 'DeleteSourceBundle', ], ], ], 'DeleteConfigurationTemplateMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'TemplateName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], ], ], 'DeleteEnvironmentConfigurationMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'EnvironmentName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'DeletePlatformVersionRequest' => [ 'type' => 'structure', 'members' => [ 'PlatformArn' => [ 'shape' => 'PlatformArn', ], ], ], 'DeletePlatformVersionResult' => [ 'type' => 'structure', 'members' => [ 'PlatformSummary' => [ 'shape' => 'PlatformSummary', ], ], ], 'DeleteSourceBundle' => [ 'type' => 'boolean', ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'VersionLabel' => [ 'shape' => 'String', ], 'DeploymentId' => [ 'shape' => 'NullableLong', ], 'Status' => [ 'shape' => 'String', ], 'DeploymentTime' => [ 'shape' => 'DeploymentTimestamp', ], ], ], 'DeploymentTimestamp' => [ 'type' => 'timestamp', ], 'DescribeAccountAttributesResult' => [ 'type' => 'structure', 'members' => [ 'ResourceQuotas' => [ 'shape' => 'ResourceQuotas', ], ], ], 'DescribeApplicationVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabels' => [ 'shape' => 'VersionLabelsList', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'DescribeApplicationsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationNames' => [ 'shape' => 'ApplicationNamesList', ], ], ], 'DescribeConfigurationOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'Options' => [ 'shape' => 'OptionsSpecifierList', ], ], ], 'DescribeConfigurationSettingsMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'DescribeEnvironmentHealthRequest' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'AttributeNames' => [ 'shape' => 'EnvironmentHealthAttributes', ], ], ], 'DescribeEnvironmentHealthResult' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'HealthStatus' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'EnvironmentHealth', ], 'Color' => [ 'shape' => 'String', ], 'Causes' => [ 'shape' => 'Causes', ], 'ApplicationMetrics' => [ 'shape' => 'ApplicationMetrics', ], 'InstancesHealth' => [ 'shape' => 'InstanceHealthSummary', ], 'RefreshedAt' => [ 'shape' => 'RefreshedAt', ], ], ], 'DescribeEnvironmentManagedActionHistoryRequest' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxItems' => [ 'shape' => 'Integer', ], ], ], 'DescribeEnvironmentManagedActionHistoryResult' => [ 'type' => 'structure', 'members' => [ 'ManagedActionHistoryItems' => [ 'shape' => 'ManagedActionHistoryItems', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeEnvironmentManagedActionsRequest' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'String', ], 'EnvironmentId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'ActionStatus', ], ], ], 'DescribeEnvironmentManagedActionsResult' => [ 'type' => 'structure', 'members' => [ 'ManagedActions' => [ 'shape' => 'ManagedActions', ], ], ], 'DescribeEnvironmentResourcesMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'DescribeEnvironmentsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'EnvironmentIds' => [ 'shape' => 'EnvironmentIdList', ], 'EnvironmentNames' => [ 'shape' => 'EnvironmentNamesList', ], 'IncludeDeleted' => [ 'shape' => 'IncludeDeleted', ], 'IncludedDeletedBackTo' => [ 'shape' => 'IncludeDeletedBackTo', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'RequestId' => [ 'shape' => 'RequestId', ], 'Severity' => [ 'shape' => 'EventSeverity', ], 'StartTime' => [ 'shape' => 'TimeFilterStart', ], 'EndTime' => [ 'shape' => 'TimeFilterEnd', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'DescribeInstancesHealthRequest' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'AttributeNames' => [ 'shape' => 'InstancesHealthAttributes', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstancesHealthResult' => [ 'type' => 'structure', 'members' => [ 'InstanceHealthList' => [ 'shape' => 'InstanceHealthList', ], 'RefreshedAt' => [ 'shape' => 'RefreshedAt', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribePlatformVersionRequest' => [ 'type' => 'structure', 'members' => [ 'PlatformArn' => [ 'shape' => 'PlatformArn', ], ], ], 'DescribePlatformVersionResult' => [ 'type' => 'structure', 'members' => [ 'PlatformDescription' => [ 'shape' => 'PlatformDescription', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 200, ], 'Ec2InstanceId' => [ 'type' => 'string', ], 'ElasticBeanstalkServiceException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'EndpointURL' => [ 'type' => 'string', ], 'EnvironmentArn' => [ 'type' => 'string', ], 'EnvironmentDescription' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'Description' => [ 'shape' => 'Description', ], 'EndpointURL' => [ 'shape' => 'EndpointURL', ], 'CNAME' => [ 'shape' => 'DNSCname', ], 'DateCreated' => [ 'shape' => 'CreationDate', ], 'DateUpdated' => [ 'shape' => 'UpdateDate', ], 'Status' => [ 'shape' => 'EnvironmentStatus', ], 'AbortableOperationInProgress' => [ 'shape' => 'AbortableOperationInProgress', ], 'Health' => [ 'shape' => 'EnvironmentHealth', ], 'HealthStatus' => [ 'shape' => 'EnvironmentHealthStatus', ], 'Resources' => [ 'shape' => 'EnvironmentResourcesDescription', ], 'Tier' => [ 'shape' => 'EnvironmentTier', ], 'EnvironmentLinks' => [ 'shape' => 'EnvironmentLinks', ], 'EnvironmentArn' => [ 'shape' => 'EnvironmentArn', ], ], ], 'EnvironmentDescriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentDescription', ], ], 'EnvironmentDescriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Environments' => [ 'shape' => 'EnvironmentDescriptionsList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'EnvironmentHealth' => [ 'type' => 'string', 'enum' => [ 'Green', 'Yellow', 'Red', 'Grey', ], ], 'EnvironmentHealthAttribute' => [ 'type' => 'string', 'enum' => [ 'Status', 'Color', 'Causes', 'ApplicationMetrics', 'InstancesHealth', 'All', 'HealthStatus', 'RefreshedAt', ], ], 'EnvironmentHealthAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentHealthAttribute', ], ], 'EnvironmentHealthStatus' => [ 'type' => 'string', 'enum' => [ 'NoData', 'Unknown', 'Pending', 'Ok', 'Info', 'Warning', 'Degraded', 'Severe', 'Suspended', ], ], 'EnvironmentId' => [ 'type' => 'string', ], 'EnvironmentIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentId', ], ], 'EnvironmentInfoDescription' => [ 'type' => 'structure', 'members' => [ 'InfoType' => [ 'shape' => 'EnvironmentInfoType', ], 'Ec2InstanceId' => [ 'shape' => 'Ec2InstanceId', ], 'SampleTimestamp' => [ 'shape' => 'SampleTimestamp', ], 'Message' => [ 'shape' => 'Message', ], ], ], 'EnvironmentInfoDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentInfoDescription', ], ], 'EnvironmentInfoType' => [ 'type' => 'string', 'enum' => [ 'tail', 'bundle', ], ], 'EnvironmentLink' => [ 'type' => 'structure', 'members' => [ 'LinkName' => [ 'shape' => 'String', ], 'EnvironmentName' => [ 'shape' => 'String', ], ], ], 'EnvironmentLinks' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentLink', ], ], 'EnvironmentName' => [ 'type' => 'string', 'max' => 40, 'min' => 4, ], 'EnvironmentNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentName', ], ], 'EnvironmentResourceDescription' => [ 'type' => 'structure', 'members' => [ 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'AutoScalingGroups' => [ 'shape' => 'AutoScalingGroupList', ], 'Instances' => [ 'shape' => 'InstanceList', ], 'LaunchConfigurations' => [ 'shape' => 'LaunchConfigurationList', ], 'LaunchTemplates' => [ 'shape' => 'LaunchTemplateList', ], 'LoadBalancers' => [ 'shape' => 'LoadBalancerList', ], 'Triggers' => [ 'shape' => 'TriggerList', ], 'Queues' => [ 'shape' => 'QueueList', ], ], ], 'EnvironmentResourceDescriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentResources' => [ 'shape' => 'EnvironmentResourceDescription', ], ], ], 'EnvironmentResourcesDescription' => [ 'type' => 'structure', 'members' => [ 'LoadBalancer' => [ 'shape' => 'LoadBalancerDescription', ], ], ], 'EnvironmentStatus' => [ 'type' => 'string', 'enum' => [ 'Launching', 'Updating', 'Ready', 'Terminating', 'Terminated', ], ], 'EnvironmentTier' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'EventDate' => [ 'type' => 'timestamp', ], 'EventDescription' => [ 'type' => 'structure', 'members' => [ 'EventDate' => [ 'shape' => 'EventDate', ], 'Message' => [ 'shape' => 'EventMessage', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'RequestId' => [ 'shape' => 'RequestId', ], 'Severity' => [ 'shape' => 'EventSeverity', ], ], ], 'EventDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDescription', ], ], 'EventDescriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => 'EventDescriptionList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'EventMessage' => [ 'type' => 'string', ], 'EventSeverity' => [ 'type' => 'string', 'enum' => [ 'TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'FailureType' => [ 'type' => 'string', 'enum' => [ 'UpdateCancelled', 'CancellationFailed', 'RollbackFailed', 'RollbackSuccessful', 'InternalFailure', 'InvalidEnvironmentState', 'PermissionsError', ], ], 'FileTypeExtension' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ForceTerminate' => [ 'type' => 'boolean', ], 'GroupName' => [ 'type' => 'string', 'max' => 19, 'min' => 1, ], 'ImageId' => [ 'type' => 'string', ], 'IncludeDeleted' => [ 'type' => 'boolean', ], 'IncludeDeletedBackTo' => [ 'type' => 'timestamp', ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'InstanceHealthList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SingleInstanceHealth', ], ], 'InstanceHealthSummary' => [ 'type' => 'structure', 'members' => [ 'NoData' => [ 'shape' => 'NullableInteger', ], 'Unknown' => [ 'shape' => 'NullableInteger', ], 'Pending' => [ 'shape' => 'NullableInteger', ], 'Ok' => [ 'shape' => 'NullableInteger', ], 'Info' => [ 'shape' => 'NullableInteger', ], 'Warning' => [ 'shape' => 'NullableInteger', ], 'Degraded' => [ 'shape' => 'NullableInteger', ], 'Severe' => [ 'shape' => 'NullableInteger', ], ], ], 'InstanceId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstancesHealthAttribute' => [ 'type' => 'string', 'enum' => [ 'HealthStatus', 'Color', 'Causes', 'ApplicationMetrics', 'RefreshedAt', 'LaunchedAt', 'System', 'Deployment', 'AvailabilityZone', 'InstanceType', 'All', ], ], 'InstancesHealthAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancesHealthAttribute', ], ], 'InsufficientPrivilegesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientPrivilegesException', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRequestException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Latency' => [ 'type' => 'structure', 'members' => [ 'P999' => [ 'shape' => 'NullableDouble', ], 'P99' => [ 'shape' => 'NullableDouble', ], 'P95' => [ 'shape' => 'NullableDouble', ], 'P90' => [ 'shape' => 'NullableDouble', ], 'P85' => [ 'shape' => 'NullableDouble', ], 'P75' => [ 'shape' => 'NullableDouble', ], 'P50' => [ 'shape' => 'NullableDouble', ], 'P10' => [ 'shape' => 'NullableDouble', ], ], ], 'LaunchConfiguration' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceId', ], ], ], 'LaunchConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchConfiguration', ], ], 'LaunchTemplate' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'LaunchTemplateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchTemplate', ], ], 'LaunchedAt' => [ 'type' => 'timestamp', ], 'ListAvailableSolutionStacksResultMessage' => [ 'type' => 'structure', 'members' => [ 'SolutionStacks' => [ 'shape' => 'AvailableSolutionStackNamesList', ], 'SolutionStackDetails' => [ 'shape' => 'AvailableSolutionStackDetailsList', ], ], ], 'ListPlatformVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'PlatformFilters', ], 'MaxRecords' => [ 'shape' => 'PlatformMaxRecords', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListPlatformVersionsResult' => [ 'type' => 'structure', 'members' => [ 'PlatformSummaryList' => [ 'shape' => 'PlatformSummaryList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'Listener' => [ 'type' => 'structure', 'members' => [ 'Protocol' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], ], ], 'LoadAverage' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadAverageValue', ], ], 'LoadAverageValue' => [ 'type' => 'double', ], 'LoadBalancer' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceId', ], ], ], 'LoadBalancerDescription' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'Listeners' => [ 'shape' => 'LoadBalancerListenersDescription', ], ], ], 'LoadBalancerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancer', ], ], 'LoadBalancerListenersDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], ], 'Maintainer' => [ 'type' => 'string', ], 'ManagedAction' => [ 'type' => 'structure', 'members' => [ 'ActionId' => [ 'shape' => 'String', ], 'ActionDescription' => [ 'shape' => 'String', ], 'ActionType' => [ 'shape' => 'ActionType', ], 'Status' => [ 'shape' => 'ActionStatus', ], 'WindowStartTime' => [ 'shape' => 'Timestamp', ], ], ], 'ManagedActionHistoryItem' => [ 'type' => 'structure', 'members' => [ 'ActionId' => [ 'shape' => 'String', ], 'ActionType' => [ 'shape' => 'ActionType', ], 'ActionDescription' => [ 'shape' => 'String', ], 'FailureType' => [ 'shape' => 'FailureType', ], 'Status' => [ 'shape' => 'ActionHistoryStatus', ], 'FailureDescription' => [ 'shape' => 'String', ], 'ExecutedTime' => [ 'shape' => 'Timestamp', ], 'FinishedTime' => [ 'shape' => 'Timestamp', ], ], ], 'ManagedActionHistoryItems' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedActionHistoryItem', ], 'max' => 100, 'min' => 1, ], 'ManagedActionInvalidStateException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ManagedActionInvalidStateException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ManagedActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedAction', ], 'max' => 100, 'min' => 1, ], 'MaxAgeRule' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'BoxedBoolean', ], 'MaxAgeInDays' => [ 'shape' => 'BoxedInt', ], 'DeleteSourceFromS3' => [ 'shape' => 'BoxedBoolean', ], ], ], 'MaxCountRule' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'BoxedBoolean', ], 'MaxCount' => [ 'shape' => 'BoxedInt', ], 'DeleteSourceFromS3' => [ 'shape' => 'BoxedBoolean', ], ], ], 'MaxRecords' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '.*\\S.*', ], 'NullableDouble' => [ 'type' => 'double', ], 'NullableInteger' => [ 'type' => 'integer', ], 'NullableLong' => [ 'type' => 'long', ], 'OperatingSystemName' => [ 'type' => 'string', ], 'OperatingSystemVersion' => [ 'type' => 'string', ], 'OperationInProgressException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationInProgressFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OptionNamespace' => [ 'type' => 'string', ], 'OptionRestrictionMaxLength' => [ 'type' => 'integer', ], 'OptionRestrictionMaxValue' => [ 'type' => 'integer', ], 'OptionRestrictionMinValue' => [ 'type' => 'integer', ], 'OptionRestrictionRegex' => [ 'type' => 'structure', 'members' => [ 'Pattern' => [ 'shape' => 'RegexPattern', ], 'Label' => [ 'shape' => 'RegexLabel', ], ], ], 'OptionSpecification' => [ 'type' => 'structure', 'members' => [ 'ResourceName' => [ 'shape' => 'ResourceName', ], 'Namespace' => [ 'shape' => 'OptionNamespace', ], 'OptionName' => [ 'shape' => 'ConfigurationOptionName', ], ], ], 'OptionsSpecifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionSpecification', ], ], 'PlatformArn' => [ 'type' => 'string', ], 'PlatformCategory' => [ 'type' => 'string', ], 'PlatformDescription' => [ 'type' => 'structure', 'members' => [ 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'PlatformOwner' => [ 'shape' => 'PlatformOwner', ], 'PlatformName' => [ 'shape' => 'PlatformName', ], 'PlatformVersion' => [ 'shape' => 'PlatformVersion', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformStatus' => [ 'shape' => 'PlatformStatus', ], 'DateCreated' => [ 'shape' => 'CreationDate', ], 'DateUpdated' => [ 'shape' => 'UpdateDate', ], 'PlatformCategory' => [ 'shape' => 'PlatformCategory', ], 'Description' => [ 'shape' => 'Description', ], 'Maintainer' => [ 'shape' => 'Maintainer', ], 'OperatingSystemName' => [ 'shape' => 'OperatingSystemName', ], 'OperatingSystemVersion' => [ 'shape' => 'OperatingSystemVersion', ], 'ProgrammingLanguages' => [ 'shape' => 'PlatformProgrammingLanguages', ], 'Frameworks' => [ 'shape' => 'PlatformFrameworks', ], 'CustomAmiList' => [ 'shape' => 'CustomAmiList', ], 'SupportedTierList' => [ 'shape' => 'SupportedTierList', ], 'SupportedAddonList' => [ 'shape' => 'SupportedAddonList', ], ], ], 'PlatformFilter' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'PlatformFilterType', ], 'Operator' => [ 'shape' => 'PlatformFilterOperator', ], 'Values' => [ 'shape' => 'PlatformFilterValueList', ], ], ], 'PlatformFilterOperator' => [ 'type' => 'string', ], 'PlatformFilterType' => [ 'type' => 'string', ], 'PlatformFilterValue' => [ 'type' => 'string', ], 'PlatformFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformFilterValue', ], ], 'PlatformFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformFilter', ], ], 'PlatformFramework' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'PlatformFrameworks' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformFramework', ], ], 'PlatformMaxRecords' => [ 'type' => 'integer', 'min' => 1, ], 'PlatformName' => [ 'type' => 'string', ], 'PlatformOwner' => [ 'type' => 'string', ], 'PlatformProgrammingLanguage' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'PlatformProgrammingLanguages' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformProgrammingLanguage', ], ], 'PlatformStatus' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Failed', 'Ready', 'Deleting', 'Deleted', ], ], 'PlatformSummary' => [ 'type' => 'structure', 'members' => [ 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'PlatformOwner' => [ 'shape' => 'PlatformOwner', ], 'PlatformStatus' => [ 'shape' => 'PlatformStatus', ], 'PlatformCategory' => [ 'shape' => 'PlatformCategory', ], 'OperatingSystemName' => [ 'shape' => 'OperatingSystemName', ], 'OperatingSystemVersion' => [ 'shape' => 'OperatingSystemVersion', ], 'SupportedTierList' => [ 'shape' => 'SupportedTierList', ], 'SupportedAddonList' => [ 'shape' => 'SupportedAddonList', ], ], ], 'PlatformSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformSummary', ], ], 'PlatformVersion' => [ 'type' => 'string', ], 'PlatformVersionStillReferencedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PlatformVersionStillReferencedException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Queue' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'URL' => [ 'shape' => 'String', ], ], ], 'QueueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Queue', ], ], 'RebuildEnvironmentMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'RefreshedAt' => [ 'type' => 'timestamp', ], 'RegexLabel' => [ 'type' => 'string', ], 'RegexPattern' => [ 'type' => 'string', ], 'RequestCount' => [ 'type' => 'integer', ], 'RequestEnvironmentInfoMessage' => [ 'type' => 'structure', 'required' => [ 'InfoType', ], 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'InfoType' => [ 'shape' => 'EnvironmentInfoType', ], ], ], 'RequestId' => [ 'type' => 'string', ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceId' => [ 'type' => 'string', ], 'ResourceName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFoundException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ResourceQuota' => [ 'type' => 'structure', 'members' => [ 'Maximum' => [ 'shape' => 'BoxedInt', ], ], ], 'ResourceQuotas' => [ 'type' => 'structure', 'members' => [ 'ApplicationQuota' => [ 'shape' => 'ResourceQuota', ], 'ApplicationVersionQuota' => [ 'shape' => 'ResourceQuota', ], 'EnvironmentQuota' => [ 'shape' => 'ResourceQuota', ], 'ConfigurationTemplateQuota' => [ 'shape' => 'ResourceQuota', ], 'CustomPlatformQuota' => [ 'shape' => 'ResourceQuota', ], ], ], 'ResourceTagsDescriptionMessage' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'ResourceTags' => [ 'shape' => 'TagList', ], ], ], 'ResourceTypeNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceTypeNotSupportedException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'RestartAppServerMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'RetrieveEnvironmentInfoMessage' => [ 'type' => 'structure', 'required' => [ 'InfoType', ], 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'InfoType' => [ 'shape' => 'EnvironmentInfoType', ], ], ], 'RetrieveEnvironmentInfoResultMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentInfo' => [ 'shape' => 'EnvironmentInfoDescriptionList', ], ], ], 'S3Bucket' => [ 'type' => 'string', 'max' => 255, ], 'S3Key' => [ 'type' => 'string', 'max' => 1024, ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'S3Bucket', ], 'S3Key' => [ 'shape' => 'S3Key', ], ], ], 'S3LocationNotInServiceRegionException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'S3LocationNotInServiceRegionException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'S3SubscriptionRequiredException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'S3SubscriptionRequiredException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SampleTimestamp' => [ 'type' => 'timestamp', ], 'SingleInstanceHealth' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'HealthStatus' => [ 'shape' => 'String', ], 'Color' => [ 'shape' => 'String', ], 'Causes' => [ 'shape' => 'Causes', ], 'LaunchedAt' => [ 'shape' => 'LaunchedAt', ], 'ApplicationMetrics' => [ 'shape' => 'ApplicationMetrics', ], 'System' => [ 'shape' => 'SystemStatus', ], 'Deployment' => [ 'shape' => 'Deployment', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], ], ], 'SolutionStackDescription' => [ 'type' => 'structure', 'members' => [ 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PermittedFileTypes' => [ 'shape' => 'SolutionStackFileTypeList', ], ], ], 'SolutionStackFileTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileTypeExtension', ], ], 'SolutionStackName' => [ 'type' => 'string', ], 'SourceBuildInformation' => [ 'type' => 'structure', 'required' => [ 'SourceType', 'SourceRepository', 'SourceLocation', ], 'members' => [ 'SourceType' => [ 'shape' => 'SourceType', ], 'SourceRepository' => [ 'shape' => 'SourceRepository', ], 'SourceLocation' => [ 'shape' => 'SourceLocation', ], ], ], 'SourceBundleDeletionException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SourceBundleDeletionFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceConfiguration' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], ], ], 'SourceLocation' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '.+/.+', ], 'SourceRepository' => [ 'type' => 'string', 'enum' => [ 'CodeCommit', 'S3', ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'Git', 'Zip', ], ], 'StatusCodes' => [ 'type' => 'structure', 'members' => [ 'Status2xx' => [ 'shape' => 'NullableInteger', ], 'Status3xx' => [ 'shape' => 'NullableInteger', ], 'Status4xx' => [ 'shape' => 'NullableInteger', ], 'Status5xx' => [ 'shape' => 'NullableInteger', ], ], ], 'String' => [ 'type' => 'string', ], 'SupportedAddon' => [ 'type' => 'string', ], 'SupportedAddonList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedAddon', ], ], 'SupportedTier' => [ 'type' => 'string', ], 'SupportedTierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedTier', ], ], 'SwapEnvironmentCNAMEsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceEnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'SourceEnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'DestinationEnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'DestinationEnvironmentName' => [ 'shape' => 'EnvironmentName', ], ], ], 'SystemStatus' => [ 'type' => 'structure', 'members' => [ 'CPUUtilization' => [ 'shape' => 'CPUUtilization', ], 'LoadAverage' => [ 'shape' => 'LoadAverage', ], ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TerminateEnvForce' => [ 'type' => 'boolean', ], 'TerminateEnvironmentMessage' => [ 'type' => 'structure', 'members' => [ 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'TerminateResources' => [ 'shape' => 'TerminateEnvironmentResources', ], 'ForceTerminate' => [ 'shape' => 'ForceTerminate', ], ], ], 'TerminateEnvironmentResources' => [ 'type' => 'boolean', ], 'TimeFilterEnd' => [ 'type' => 'timestamp', ], 'TimeFilterStart' => [ 'type' => 'timestamp', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Token' => [ 'type' => 'string', ], 'TooManyApplicationVersionsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TooManyApplicationsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyApplicationsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyBucketsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyBucketsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyConfigurationTemplatesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyConfigurationTemplatesException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyEnvironmentsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyEnvironmentsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyPlatformsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyPlatformsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyTagsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Trigger' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceId', ], ], ], 'TriggerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trigger', ], ], 'UpdateApplicationMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'UpdateApplicationResourceLifecycleMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'ResourceLifecycleConfig', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ResourceLifecycleConfig' => [ 'shape' => 'ApplicationResourceLifecycleConfig', ], ], ], 'UpdateApplicationVersionMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'VersionLabel', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'UpdateConfigurationTemplateMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'TemplateName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'Description' => [ 'shape' => 'Description', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], 'OptionsToRemove' => [ 'shape' => 'OptionsSpecifierList', ], ], ], 'UpdateDate' => [ 'type' => 'timestamp', ], 'UpdateEnvironmentMessage' => [ 'type' => 'structure', 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'EnvironmentId' => [ 'shape' => 'EnvironmentId', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'GroupName' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'Description', ], 'Tier' => [ 'shape' => 'EnvironmentTier', ], 'VersionLabel' => [ 'shape' => 'VersionLabel', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'SolutionStackName' => [ 'shape' => 'SolutionStackName', ], 'PlatformArn' => [ 'shape' => 'PlatformArn', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], 'OptionsToRemove' => [ 'shape' => 'OptionsSpecifierList', ], ], ], 'UpdateTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'TagsToAdd' => [ 'shape' => 'TagList', ], 'TagsToRemove' => [ 'shape' => 'TagKeyList', ], ], ], 'UserDefinedOption' => [ 'type' => 'boolean', ], 'ValidateConfigurationSettingsMessage' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'OptionSettings', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'TemplateName' => [ 'shape' => 'ConfigurationTemplateName', ], 'EnvironmentName' => [ 'shape' => 'EnvironmentName', ], 'OptionSettings' => [ 'shape' => 'ConfigurationOptionSettingsList', ], ], ], 'ValidationMessage' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ValidationMessageString', ], 'Severity' => [ 'shape' => 'ValidationSeverity', ], 'Namespace' => [ 'shape' => 'OptionNamespace', ], 'OptionName' => [ 'shape' => 'ConfigurationOptionName', ], ], ], 'ValidationMessageString' => [ 'type' => 'string', ], 'ValidationMessagesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidationMessage', ], ], 'ValidationSeverity' => [ 'type' => 'string', 'enum' => [ 'error', 'warning', ], ], 'VersionLabel' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'VersionLabels' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionLabel', ], ], 'VersionLabelsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionLabel', ], ], 'VirtualizationType' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/paginators-1.json.php b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/paginators-1.json.php new file mode 100644 index 0000000..b48f31c --- /dev/null +++ b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticbeanstalk/2010-12-01/paginators-1.json +return [ 'pagination' => [ 'DescribeApplicationVersions' => [ 'result_key' => 'ApplicationVersions', ], 'DescribeApplications' => [ 'result_key' => 'Applications', ], 'DescribeConfigurationOptions' => [ 'result_key' => 'Options', ], 'DescribeEnvironments' => [ 'result_key' => 'Environments', ], 'DescribeEvents' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'Events', ], 'ListAvailableSolutionStacks' => [ 'result_key' => 'SolutionStacks', ], ],]; diff --git a/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/smoke.json.php b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/smoke.json.php new file mode 100644 index 0000000..064f2ef --- /dev/null +++ b/lib/aws/Aws/data/elasticbeanstalk/2010-12-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticbeanstalk/2010-12-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListAvailableSolutionStacks', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeEnvironmentResources', 'input' => [ 'EnvironmentId' => 'fake_environment', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticfilesystem/2015-02-01/api-2.json.php b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/api-2.json.php new file mode 100644 index 0000000..b3255e2 --- /dev/null +++ b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticfilesystem/2015-02-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-02-01', 'endpointPrefix' => 'elasticfilesystem', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'EFS', 'serviceFullName' => 'Amazon Elastic File System', 'serviceId' => 'EFS', 'signatureVersion' => 'v4', 'uid' => 'elasticfilesystem-2015-02-01', ], 'operations' => [ 'CreateFileSystem' => [ 'name' => 'CreateFileSystem', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-02-01/file-systems', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFileSystemRequest', ], 'output' => [ 'shape' => 'FileSystemDescription', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemAlreadyExists', ], [ 'shape' => 'FileSystemLimitExceeded', ], [ 'shape' => 'InsufficientThroughputCapacity', ], [ 'shape' => 'ThroughputLimitExceeded', ], ], ], 'CreateMountTarget' => [ 'name' => 'CreateMountTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-02-01/mount-targets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateMountTargetRequest', ], 'output' => [ 'shape' => 'MountTargetDescription', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'IncorrectFileSystemLifeCycleState', ], [ 'shape' => 'MountTargetConflict', ], [ 'shape' => 'SubnetNotFound', ], [ 'shape' => 'NoFreeAddressesInSubnet', ], [ 'shape' => 'IpAddressInUse', ], [ 'shape' => 'NetworkInterfaceLimitExceeded', ], [ 'shape' => 'SecurityGroupLimitExceeded', ], [ 'shape' => 'SecurityGroupNotFound', ], [ 'shape' => 'UnsupportedAvailabilityZone', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-02-01/create-tags/{FileSystemId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'CreateTagsRequest', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], ], ], 'DeleteFileSystem' => [ 'name' => 'DeleteFileSystem', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-02-01/file-systems/{FileSystemId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFileSystemRequest', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'FileSystemInUse', ], ], ], 'DeleteMountTarget' => [ 'name' => 'DeleteMountTarget', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-02-01/mount-targets/{MountTargetId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteMountTargetRequest', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'DependencyTimeout', ], [ 'shape' => 'MountTargetNotFound', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-02-01/delete-tags/{FileSystemId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], ], ], 'DescribeFileSystems' => [ 'name' => 'DescribeFileSystems', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-02-01/file-systems', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeFileSystemsRequest', ], 'output' => [ 'shape' => 'DescribeFileSystemsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], ], ], 'DescribeLifecycleConfiguration' => [ 'name' => 'DescribeLifecycleConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeLifecycleConfigurationRequest', ], 'output' => [ 'shape' => 'LifecycleConfigurationDescription', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'BadRequest', ], [ 'shape' => 'FileSystemNotFound', ], ], ], 'DescribeMountTargetSecurityGroups' => [ 'name' => 'DescribeMountTargetSecurityGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-02-01/mount-targets/{MountTargetId}/security-groups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeMountTargetSecurityGroupsRequest', ], 'output' => [ 'shape' => 'DescribeMountTargetSecurityGroupsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'MountTargetNotFound', ], [ 'shape' => 'IncorrectMountTargetState', ], ], ], 'DescribeMountTargets' => [ 'name' => 'DescribeMountTargets', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-02-01/mount-targets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeMountTargetsRequest', ], 'output' => [ 'shape' => 'DescribeMountTargetsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'MountTargetNotFound', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-02-01/tags/{FileSystemId}/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], ], ], 'ModifyMountTargetSecurityGroups' => [ 'name' => 'ModifyMountTargetSecurityGroups', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-02-01/mount-targets/{MountTargetId}/security-groups', 'responseCode' => 204, ], 'input' => [ 'shape' => 'ModifyMountTargetSecurityGroupsRequest', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'MountTargetNotFound', ], [ 'shape' => 'IncorrectMountTargetState', ], [ 'shape' => 'SecurityGroupLimitExceeded', ], [ 'shape' => 'SecurityGroupNotFound', ], ], ], 'PutLifecycleConfiguration' => [ 'name' => 'PutLifecycleConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutLifecycleConfigurationRequest', ], 'output' => [ 'shape' => 'LifecycleConfigurationDescription', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'IncorrectFileSystemLifeCycleState', ], ], ], 'UpdateFileSystem' => [ 'name' => 'UpdateFileSystem', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-02-01/file-systems/{FileSystemId}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateFileSystemRequest', ], 'output' => [ 'shape' => 'FileSystemDescription', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'IncorrectFileSystemLifeCycleState', ], [ 'shape' => 'InsufficientThroughputCapacity', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThroughputLimitExceeded', ], [ 'shape' => 'TooManyRequests', ], ], ], ], 'shapes' => [ 'AwsAccountId' => [ 'type' => 'string', ], 'BadRequest' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CreateFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'CreationToken', ], 'members' => [ 'CreationToken' => [ 'shape' => 'CreationToken', ], 'PerformanceMode' => [ 'shape' => 'PerformanceMode', ], 'Encrypted' => [ 'shape' => 'Encrypted', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'ThroughputMode' => [ 'shape' => 'ThroughputMode', ], 'ProvisionedThroughputInMibps' => [ 'shape' => 'ProvisionedThroughputInMibps', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateMountTargetRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', 'SubnetId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', 'Tags', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreationToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'DeleteFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], ], ], 'DeleteMountTargetRequest' => [ 'type' => 'structure', 'required' => [ 'MountTargetId', ], 'members' => [ 'MountTargetId' => [ 'shape' => 'MountTargetId', 'location' => 'uri', 'locationName' => 'MountTargetId', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', 'TagKeys', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'DependencyTimeout' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 504, ], 'exception' => true, ], 'DescribeFileSystemsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'Marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'Marker', ], 'CreationToken' => [ 'shape' => 'CreationToken', 'location' => 'querystring', 'locationName' => 'CreationToken', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'querystring', 'locationName' => 'FileSystemId', ], ], ], 'DescribeFileSystemsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'FileSystems' => [ 'shape' => 'FileSystemDescriptions', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], ], ], 'DescribeMountTargetSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'MountTargetId', ], 'members' => [ 'MountTargetId' => [ 'shape' => 'MountTargetId', 'location' => 'uri', 'locationName' => 'MountTargetId', ], ], ], 'DescribeMountTargetSecurityGroupsResponse' => [ 'type' => 'structure', 'required' => [ 'SecurityGroups', ], 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'DescribeMountTargetsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'Marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'Marker', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'querystring', 'locationName' => 'FileSystemId', ], 'MountTargetId' => [ 'shape' => 'MountTargetId', 'location' => 'querystring', 'locationName' => 'MountTargetId', ], ], ], 'DescribeMountTargetsResponse' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'MountTargets' => [ 'shape' => 'MountTargetDescriptions', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], 'Marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'Marker', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], ], ], 'DescribeTagsResponse' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'Tags' => [ 'shape' => 'Tags', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'Encrypted' => [ 'type' => 'boolean', ], 'ErrorCode' => [ 'type' => 'string', 'min' => 1, ], 'ErrorMessage' => [ 'type' => 'string', ], 'FileSystemAlreadyExists' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', 'FileSystemId', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FileSystemDescription' => [ 'type' => 'structure', 'required' => [ 'OwnerId', 'CreationToken', 'FileSystemId', 'CreationTime', 'LifeCycleState', 'NumberOfMountTargets', 'SizeInBytes', 'PerformanceMode', 'Tags', ], 'members' => [ 'OwnerId' => [ 'shape' => 'AwsAccountId', ], 'CreationToken' => [ 'shape' => 'CreationToken', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LifeCycleState' => [ 'shape' => 'LifeCycleState', ], 'Name' => [ 'shape' => 'TagValue', ], 'NumberOfMountTargets' => [ 'shape' => 'MountTargetCount', ], 'SizeInBytes' => [ 'shape' => 'FileSystemSize', ], 'PerformanceMode' => [ 'shape' => 'PerformanceMode', ], 'Encrypted' => [ 'shape' => 'Encrypted', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'ThroughputMode' => [ 'shape' => 'ThroughputMode', ], 'ProvisionedThroughputInMibps' => [ 'shape' => 'ProvisionedThroughputInMibps', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'FileSystemDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileSystemDescription', ], ], 'FileSystemId' => [ 'type' => 'string', ], 'FileSystemInUse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'FileSystemLimitExceeded' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'FileSystemNotFound' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'FileSystemNullableSizeValue' => [ 'type' => 'long', 'min' => 0, ], 'FileSystemSize' => [ 'type' => 'structure', 'required' => [ 'Value', ], 'members' => [ 'Value' => [ 'shape' => 'FileSystemSizeValue', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'ValueInIA' => [ 'shape' => 'FileSystemNullableSizeValue', ], 'ValueInStandard' => [ 'shape' => 'FileSystemNullableSizeValue', ], ], ], 'FileSystemSizeValue' => [ 'type' => 'long', 'min' => 0, ], 'IncorrectFileSystemLifeCycleState' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'IncorrectMountTargetState' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'InsufficientThroughputCapacity' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, ], 'InternalServerError' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'IpAddressInUse' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'LifeCycleState' => [ 'type' => 'string', 'enum' => [ 'creating', 'available', 'updating', 'deleting', 'deleted', ], ], 'LifecycleConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'LifecyclePolicies' => [ 'shape' => 'LifecyclePolicies', ], ], ], 'LifecyclePolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecyclePolicy', ], ], 'LifecyclePolicy' => [ 'type' => 'structure', 'members' => [ 'TransitionToIA' => [ 'shape' => 'TransitionToIARules', ], ], ], 'Marker' => [ 'type' => 'string', ], 'MaxItems' => [ 'type' => 'integer', 'min' => 1, ], 'ModifyMountTargetSecurityGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'MountTargetId', ], 'members' => [ 'MountTargetId' => [ 'shape' => 'MountTargetId', 'location' => 'uri', 'locationName' => 'MountTargetId', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'MountTargetConflict' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'MountTargetCount' => [ 'type' => 'integer', 'min' => 0, ], 'MountTargetDescription' => [ 'type' => 'structure', 'required' => [ 'MountTargetId', 'FileSystemId', 'SubnetId', 'LifeCycleState', ], 'members' => [ 'OwnerId' => [ 'shape' => 'AwsAccountId', ], 'MountTargetId' => [ 'shape' => 'MountTargetId', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'LifeCycleState' => [ 'shape' => 'LifeCycleState', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], ], ], 'MountTargetDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'MountTargetDescription', ], ], 'MountTargetId' => [ 'type' => 'string', ], 'MountTargetNotFound' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NetworkInterfaceId' => [ 'type' => 'string', ], 'NetworkInterfaceLimitExceeded' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'NoFreeAddressesInSubnet' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'PerformanceMode' => [ 'type' => 'string', 'enum' => [ 'generalPurpose', 'maxIO', ], ], 'ProvisionedThroughputInMibps' => [ 'type' => 'double', 'min' => 0, ], 'PutLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', 'LifecyclePolicies', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], 'LifecyclePolicies' => [ 'shape' => 'LifecyclePolicies', ], ], ], 'SecurityGroup' => [ 'type' => 'string', ], 'SecurityGroupLimitExceeded' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SecurityGroupNotFound' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', ], 'max' => 5, ], 'SubnetId' => [ 'type' => 'string', ], 'SubnetNotFound' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'ThroughputLimitExceeded' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ThroughputMode' => [ 'type' => 'string', 'enum' => [ 'bursting', 'provisioned', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequests' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TransitionToIARules' => [ 'type' => 'string', 'enum' => [ 'AFTER_30_DAYS', ], ], 'UnsupportedAvailabilityZone' => [ 'type' => 'structure', 'required' => [ 'ErrorCode', ], 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UpdateFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', 'location' => 'uri', 'locationName' => 'FileSystemId', ], 'ThroughputMode' => [ 'shape' => 'ThroughputMode', ], 'ProvisionedThroughputInMibps' => [ 'shape' => 'ProvisionedThroughputInMibps', ], ], ], ],]; diff --git a/lib/aws/Aws/data/elasticfilesystem/2015-02-01/paginators-1.json.php b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/paginators-1.json.php new file mode 100644 index 0000000..7062844 --- /dev/null +++ b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticfilesystem/2015-02-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/elasticfilesystem/2015-02-01/smoke.json.php b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/smoke.json.php new file mode 100644 index 0000000..8459862 --- /dev/null +++ b/lib/aws/Aws/data/elasticfilesystem/2015-02-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticfilesystem/2015-02-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeFileSystems', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DeleteFileSystem', 'input' => [ 'FileSystemId' => 'fs-c5a1446c', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/api-2.json.php b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/api-2.json.php new file mode 100644 index 0000000..2d4d4e4 --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancing/2012-06-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-06-01', 'endpointPrefix' => 'elasticloadbalancing', 'protocol' => 'query', 'serviceFullName' => 'Elastic Load Balancing', 'serviceId' => 'Elastic Load Balancing', 'signatureVersion' => 'v4', 'uid' => 'elasticloadbalancing-2012-06-01', 'xmlNamespace' => 'http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/', ], 'operations' => [ 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', 'resultWrapper' => 'AddTagsResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'DuplicateTagKeysException', ], ], ], 'ApplySecurityGroupsToLoadBalancer' => [ 'name' => 'ApplySecurityGroupsToLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplySecurityGroupsToLoadBalancerInput', ], 'output' => [ 'shape' => 'ApplySecurityGroupsToLoadBalancerOutput', 'resultWrapper' => 'ApplySecurityGroupsToLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'InvalidSecurityGroupException', ], ], ], 'AttachLoadBalancerToSubnets' => [ 'name' => 'AttachLoadBalancerToSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachLoadBalancerToSubnetsInput', ], 'output' => [ 'shape' => 'AttachLoadBalancerToSubnetsOutput', 'resultWrapper' => 'AttachLoadBalancerToSubnetsResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'SubnetNotFoundException', ], [ 'shape' => 'InvalidSubnetException', ], ], ], 'ConfigureHealthCheck' => [ 'name' => 'ConfigureHealthCheck', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfigureHealthCheckInput', ], 'output' => [ 'shape' => 'ConfigureHealthCheckOutput', 'resultWrapper' => 'ConfigureHealthCheckResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], ], ], 'CreateAppCookieStickinessPolicy' => [ 'name' => 'CreateAppCookieStickinessPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAppCookieStickinessPolicyInput', ], 'output' => [ 'shape' => 'CreateAppCookieStickinessPolicyOutput', 'resultWrapper' => 'CreateAppCookieStickinessPolicyResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'DuplicatePolicyNameException', ], [ 'shape' => 'TooManyPoliciesException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'CreateLBCookieStickinessPolicy' => [ 'name' => 'CreateLBCookieStickinessPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLBCookieStickinessPolicyInput', ], 'output' => [ 'shape' => 'CreateLBCookieStickinessPolicyOutput', 'resultWrapper' => 'CreateLBCookieStickinessPolicyResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'DuplicatePolicyNameException', ], [ 'shape' => 'TooManyPoliciesException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'CreateLoadBalancer' => [ 'name' => 'CreateLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAccessPointInput', ], 'output' => [ 'shape' => 'CreateAccessPointOutput', 'resultWrapper' => 'CreateLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'DuplicateAccessPointNameException', ], [ 'shape' => 'TooManyAccessPointsException', ], [ 'shape' => 'CertificateNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'SubnetNotFoundException', ], [ 'shape' => 'InvalidSubnetException', ], [ 'shape' => 'InvalidSecurityGroupException', ], [ 'shape' => 'InvalidSchemeException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'DuplicateTagKeysException', ], [ 'shape' => 'UnsupportedProtocolException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'CreateLoadBalancerListeners' => [ 'name' => 'CreateLoadBalancerListeners', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoadBalancerListenerInput', ], 'output' => [ 'shape' => 'CreateLoadBalancerListenerOutput', 'resultWrapper' => 'CreateLoadBalancerListenersResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'DuplicateListenerException', ], [ 'shape' => 'CertificateNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'UnsupportedProtocolException', ], ], ], 'CreateLoadBalancerPolicy' => [ 'name' => 'CreateLoadBalancerPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoadBalancerPolicyInput', ], 'output' => [ 'shape' => 'CreateLoadBalancerPolicyOutput', 'resultWrapper' => 'CreateLoadBalancerPolicyResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'PolicyTypeNotFoundException', ], [ 'shape' => 'DuplicatePolicyNameException', ], [ 'shape' => 'TooManyPoliciesException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'DeleteLoadBalancer' => [ 'name' => 'DeleteLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAccessPointInput', ], 'output' => [ 'shape' => 'DeleteAccessPointOutput', 'resultWrapper' => 'DeleteLoadBalancerResult', ], ], 'DeleteLoadBalancerListeners' => [ 'name' => 'DeleteLoadBalancerListeners', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoadBalancerListenerInput', ], 'output' => [ 'shape' => 'DeleteLoadBalancerListenerOutput', 'resultWrapper' => 'DeleteLoadBalancerListenersResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], ], ], 'DeleteLoadBalancerPolicy' => [ 'name' => 'DeleteLoadBalancerPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoadBalancerPolicyInput', ], 'output' => [ 'shape' => 'DeleteLoadBalancerPolicyOutput', 'resultWrapper' => 'DeleteLoadBalancerPolicyResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'DeregisterInstancesFromLoadBalancer' => [ 'name' => 'DeregisterInstancesFromLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterEndPointsInput', ], 'output' => [ 'shape' => 'DeregisterEndPointsOutput', 'resultWrapper' => 'DeregisterInstancesFromLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidEndPointException', ], ], ], 'DescribeAccountLimits' => [ 'name' => 'DescribeAccountLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountLimitsInput', ], 'output' => [ 'shape' => 'DescribeAccountLimitsOutput', 'resultWrapper' => 'DescribeAccountLimitsResult', ], ], 'DescribeInstanceHealth' => [ 'name' => 'DescribeInstanceHealth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndPointStateInput', ], 'output' => [ 'shape' => 'DescribeEndPointStateOutput', 'resultWrapper' => 'DescribeInstanceHealthResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidEndPointException', ], ], ], 'DescribeLoadBalancerAttributes' => [ 'name' => 'DescribeLoadBalancerAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancerAttributesInput', ], 'output' => [ 'shape' => 'DescribeLoadBalancerAttributesOutput', 'resultWrapper' => 'DescribeLoadBalancerAttributesResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'LoadBalancerAttributeNotFoundException', ], ], ], 'DescribeLoadBalancerPolicies' => [ 'name' => 'DescribeLoadBalancerPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancerPoliciesInput', ], 'output' => [ 'shape' => 'DescribeLoadBalancerPoliciesOutput', 'resultWrapper' => 'DescribeLoadBalancerPoliciesResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], ], ], 'DescribeLoadBalancerPolicyTypes' => [ 'name' => 'DescribeLoadBalancerPolicyTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancerPolicyTypesInput', ], 'output' => [ 'shape' => 'DescribeLoadBalancerPolicyTypesOutput', 'resultWrapper' => 'DescribeLoadBalancerPolicyTypesResult', ], 'errors' => [ [ 'shape' => 'PolicyTypeNotFoundException', ], ], ], 'DescribeLoadBalancers' => [ 'name' => 'DescribeLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccessPointsInput', ], 'output' => [ 'shape' => 'DescribeAccessPointsOutput', 'resultWrapper' => 'DescribeLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'DependencyThrottleException', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsInput', ], 'output' => [ 'shape' => 'DescribeTagsOutput', 'resultWrapper' => 'DescribeTagsResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], ], ], 'DetachLoadBalancerFromSubnets' => [ 'name' => 'DetachLoadBalancerFromSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachLoadBalancerFromSubnetsInput', ], 'output' => [ 'shape' => 'DetachLoadBalancerFromSubnetsOutput', 'resultWrapper' => 'DetachLoadBalancerFromSubnetsResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'DisableAvailabilityZonesForLoadBalancer' => [ 'name' => 'DisableAvailabilityZonesForLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveAvailabilityZonesInput', ], 'output' => [ 'shape' => 'RemoveAvailabilityZonesOutput', 'resultWrapper' => 'DisableAvailabilityZonesForLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'EnableAvailabilityZonesForLoadBalancer' => [ 'name' => 'EnableAvailabilityZonesForLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddAvailabilityZonesInput', ], 'output' => [ 'shape' => 'AddAvailabilityZonesOutput', 'resultWrapper' => 'EnableAvailabilityZonesForLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], ], ], 'ModifyLoadBalancerAttributes' => [ 'name' => 'ModifyLoadBalancerAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyLoadBalancerAttributesInput', ], 'output' => [ 'shape' => 'ModifyLoadBalancerAttributesOutput', 'resultWrapper' => 'ModifyLoadBalancerAttributesResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'LoadBalancerAttributeNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'RegisterInstancesWithLoadBalancer' => [ 'name' => 'RegisterInstancesWithLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterEndPointsInput', ], 'output' => [ 'shape' => 'RegisterEndPointsOutput', 'resultWrapper' => 'RegisterInstancesWithLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'InvalidEndPointException', ], ], ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsInput', ], 'output' => [ 'shape' => 'RemoveTagsOutput', 'resultWrapper' => 'RemoveTagsResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], ], ], 'SetLoadBalancerListenerSSLCertificate' => [ 'name' => 'SetLoadBalancerListenerSSLCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetLoadBalancerListenerSSLCertificateInput', ], 'output' => [ 'shape' => 'SetLoadBalancerListenerSSLCertificateOutput', 'resultWrapper' => 'SetLoadBalancerListenerSSLCertificateResult', ], 'errors' => [ [ 'shape' => 'CertificateNotFoundException', ], [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'UnsupportedProtocolException', ], ], ], 'SetLoadBalancerPoliciesForBackendServer' => [ 'name' => 'SetLoadBalancerPoliciesForBackendServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetLoadBalancerPoliciesForBackendServerInput', ], 'output' => [ 'shape' => 'SetLoadBalancerPoliciesForBackendServerOutput', 'resultWrapper' => 'SetLoadBalancerPoliciesForBackendServerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'SetLoadBalancerPoliciesOfListener' => [ 'name' => 'SetLoadBalancerPoliciesOfListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetLoadBalancerPoliciesOfListenerInput', ], 'output' => [ 'shape' => 'SetLoadBalancerPoliciesOfListenerOutput', 'resultWrapper' => 'SetLoadBalancerPoliciesOfListenerResult', ], 'errors' => [ [ 'shape' => 'AccessPointNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], ], 'shapes' => [ 'AccessLog' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'AccessLogEnabled', ], 'S3BucketName' => [ 'shape' => 'S3BucketName', ], 'EmitInterval' => [ 'shape' => 'AccessLogInterval', ], 'S3BucketPrefix' => [ 'shape' => 'AccessLogPrefix', ], ], ], 'AccessLogEnabled' => [ 'type' => 'boolean', ], 'AccessLogInterval' => [ 'type' => 'integer', ], 'AccessLogPrefix' => [ 'type' => 'string', ], 'AccessPointName' => [ 'type' => 'string', ], 'AccessPointNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LoadBalancerNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AccessPointPort' => [ 'type' => 'integer', ], 'AddAvailabilityZonesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'AvailabilityZones', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'AddAvailabilityZonesOutput' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerNames', 'Tags', ], 'members' => [ 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'AdditionalAttribute' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'AdditionalAttributeKey', ], 'Value' => [ 'shape' => 'AdditionalAttributeValue', ], ], ], 'AdditionalAttributeKey' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^[a-zA-Z0-9.]+$', ], 'AdditionalAttributeValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^[a-zA-Z0-9.]+$', ], 'AdditionalAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'AdditionalAttribute', ], 'max' => 10, ], 'AppCookieStickinessPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'AppCookieStickinessPolicy', ], ], 'AppCookieStickinessPolicy' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'PolicyName', ], 'CookieName' => [ 'shape' => 'CookieName', ], ], ], 'ApplySecurityGroupsToLoadBalancerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'SecurityGroups', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'ApplySecurityGroupsToLoadBalancerOutput' => [ 'type' => 'structure', 'members' => [ 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'AttachLoadBalancerToSubnetsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Subnets', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Subnets' => [ 'shape' => 'Subnets', ], ], ], 'AttachLoadBalancerToSubnetsOutput' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'Subnets', ], ], ], 'AttributeName' => [ 'type' => 'string', ], 'AttributeType' => [ 'type' => 'string', ], 'AttributeValue' => [ 'type' => 'string', ], 'AvailabilityZone' => [ 'type' => 'string', ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', ], ], 'BackendServerDescription' => [ 'type' => 'structure', 'members' => [ 'InstancePort' => [ 'shape' => 'InstancePort', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], ], ], 'BackendServerDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackendServerDescription', ], ], 'Cardinality' => [ 'type' => 'string', ], 'CertificateNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CertificateNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ConfigureHealthCheckInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'HealthCheck', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'HealthCheck' => [ 'shape' => 'HealthCheck', ], ], ], 'ConfigureHealthCheckOutput' => [ 'type' => 'structure', 'members' => [ 'HealthCheck' => [ 'shape' => 'HealthCheck', ], ], ], 'ConnectionDraining' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'ConnectionDrainingEnabled', ], 'Timeout' => [ 'shape' => 'ConnectionDrainingTimeout', ], ], ], 'ConnectionDrainingEnabled' => [ 'type' => 'boolean', ], 'ConnectionDrainingTimeout' => [ 'type' => 'integer', ], 'ConnectionSettings' => [ 'type' => 'structure', 'required' => [ 'IdleTimeout', ], 'members' => [ 'IdleTimeout' => [ 'shape' => 'IdleTimeout', ], ], ], 'CookieExpirationPeriod' => [ 'type' => 'long', ], 'CookieName' => [ 'type' => 'string', ], 'CreateAccessPointInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Listeners', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Listeners' => [ 'shape' => 'Listeners', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'Subnets' => [ 'shape' => 'Subnets', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'Scheme' => [ 'shape' => 'LoadBalancerScheme', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateAccessPointOutput' => [ 'type' => 'structure', 'members' => [ 'DNSName' => [ 'shape' => 'DNSName', ], ], ], 'CreateAppCookieStickinessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'PolicyName', 'CookieName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], 'CookieName' => [ 'shape' => 'CookieName', ], ], ], 'CreateAppCookieStickinessPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreateLBCookieStickinessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'PolicyName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], 'CookieExpirationPeriod' => [ 'shape' => 'CookieExpirationPeriod', ], ], ], 'CreateLBCookieStickinessPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreateLoadBalancerListenerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Listeners', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Listeners' => [ 'shape' => 'Listeners', ], ], ], 'CreateLoadBalancerListenerOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreateLoadBalancerPolicyInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'PolicyName', 'PolicyTypeName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], 'PolicyTypeName' => [ 'shape' => 'PolicyTypeName', ], 'PolicyAttributes' => [ 'shape' => 'PolicyAttributes', ], ], ], 'CreateLoadBalancerPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'CreatedTime' => [ 'type' => 'timestamp', ], 'CrossZoneLoadBalancing' => [ 'type' => 'structure', 'required' => [ 'Enabled', ], 'members' => [ 'Enabled' => [ 'shape' => 'CrossZoneLoadBalancingEnabled', ], ], ], 'CrossZoneLoadBalancingEnabled' => [ 'type' => 'boolean', ], 'DNSName' => [ 'type' => 'string', ], 'DefaultValue' => [ 'type' => 'string', ], 'DeleteAccessPointInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], ], ], 'DeleteAccessPointOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLoadBalancerListenerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'LoadBalancerPorts', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'LoadBalancerPorts' => [ 'shape' => 'Ports', ], ], ], 'DeleteLoadBalancerListenerOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLoadBalancerPolicyInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'PolicyName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], ], ], 'DeleteLoadBalancerPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'DependencyThrottleException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DependencyThrottle', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DeregisterEndPointsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Instances', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Instances' => [ 'shape' => 'Instances', ], ], ], 'DeregisterEndPointsOutput' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'Instances', ], ], ], 'DescribeAccessPointsInput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeAccessPointsOutput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerDescriptions' => [ 'shape' => 'LoadBalancerDescriptions', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeAccountLimitsInput' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeAccountLimitsOutput' => [ 'type' => 'structure', 'members' => [ 'Limits' => [ 'shape' => 'Limits', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeEndPointStateInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Instances' => [ 'shape' => 'Instances', ], ], ], 'DescribeEndPointStateOutput' => [ 'type' => 'structure', 'members' => [ 'InstanceStates' => [ 'shape' => 'InstanceStates', ], ], ], 'DescribeLoadBalancerAttributesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], ], ], 'DescribeLoadBalancerAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerAttributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'DescribeLoadBalancerPoliciesInput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], ], ], 'DescribeLoadBalancerPoliciesOutput' => [ 'type' => 'structure', 'members' => [ 'PolicyDescriptions' => [ 'shape' => 'PolicyDescriptions', ], ], ], 'DescribeLoadBalancerPolicyTypesInput' => [ 'type' => 'structure', 'members' => [ 'PolicyTypeNames' => [ 'shape' => 'PolicyTypeNames', ], ], ], 'DescribeLoadBalancerPolicyTypesOutput' => [ 'type' => 'structure', 'members' => [ 'PolicyTypeDescriptions' => [ 'shape' => 'PolicyTypeDescriptions', ], ], ], 'DescribeTagsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerNames', ], 'members' => [ 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNamesMax20', ], ], ], 'DescribeTagsOutput' => [ 'type' => 'structure', 'members' => [ 'TagDescriptions' => [ 'shape' => 'TagDescriptions', ], ], ], 'Description' => [ 'type' => 'string', ], 'DetachLoadBalancerFromSubnetsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Subnets', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Subnets' => [ 'shape' => 'Subnets', ], ], ], 'DetachLoadBalancerFromSubnetsOutput' => [ 'type' => 'structure', 'members' => [ 'Subnets' => [ 'shape' => 'Subnets', ], ], ], 'DuplicateAccessPointNameException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateLoadBalancerName', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateListenerException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateListener', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicatePolicyNameException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicatePolicyName', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateTagKeysException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateTagKeys', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EndPointPort' => [ 'type' => 'integer', ], 'HealthCheck' => [ 'type' => 'structure', 'required' => [ 'Target', 'Interval', 'Timeout', 'UnhealthyThreshold', 'HealthyThreshold', ], 'members' => [ 'Target' => [ 'shape' => 'HealthCheckTarget', ], 'Interval' => [ 'shape' => 'HealthCheckInterval', ], 'Timeout' => [ 'shape' => 'HealthCheckTimeout', ], 'UnhealthyThreshold' => [ 'shape' => 'UnhealthyThreshold', ], 'HealthyThreshold' => [ 'shape' => 'HealthyThreshold', ], ], ], 'HealthCheckInterval' => [ 'type' => 'integer', 'max' => 300, 'min' => 5, ], 'HealthCheckTarget' => [ 'type' => 'string', ], 'HealthCheckTimeout' => [ 'type' => 'integer', 'max' => 60, 'min' => 2, ], 'HealthyThreshold' => [ 'type' => 'integer', 'max' => 10, 'min' => 2, ], 'IdleTimeout' => [ 'type' => 'integer', 'max' => 3600, 'min' => 1, ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], ], ], 'InstanceId' => [ 'type' => 'string', ], 'InstancePort' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'State' => [ 'shape' => 'State', ], 'ReasonCode' => [ 'shape' => 'ReasonCode', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'InstanceStates' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceState', ], ], 'Instances' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InvalidConfigurationRequestException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidConfigurationRequest', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'InvalidEndPointException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidInstance', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSchemeException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidScheme', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSecurityGroupException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnetException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LBCookieStickinessPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'LBCookieStickinessPolicy', ], ], 'LBCookieStickinessPolicy' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'PolicyName', ], 'CookieExpirationPeriod' => [ 'shape' => 'CookieExpirationPeriod', ], ], ], 'Limit' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'Max' => [ 'shape' => 'Max', ], ], ], 'Limits' => [ 'type' => 'list', 'member' => [ 'shape' => 'Limit', ], ], 'Listener' => [ 'type' => 'structure', 'required' => [ 'Protocol', 'LoadBalancerPort', 'InstancePort', ], 'members' => [ 'Protocol' => [ 'shape' => 'Protocol', ], 'LoadBalancerPort' => [ 'shape' => 'AccessPointPort', ], 'InstanceProtocol' => [ 'shape' => 'Protocol', ], 'InstancePort' => [ 'shape' => 'InstancePort', ], 'SSLCertificateId' => [ 'shape' => 'SSLCertificateId', ], ], ], 'ListenerDescription' => [ 'type' => 'structure', 'members' => [ 'Listener' => [ 'shape' => 'Listener', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], ], ], 'ListenerDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListenerDescription', ], ], 'ListenerNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ListenerNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Listeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], ], 'LoadBalancerAttributeNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LoadBalancerAttributeNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LoadBalancerAttributes' => [ 'type' => 'structure', 'members' => [ 'CrossZoneLoadBalancing' => [ 'shape' => 'CrossZoneLoadBalancing', ], 'AccessLog' => [ 'shape' => 'AccessLog', ], 'ConnectionDraining' => [ 'shape' => 'ConnectionDraining', ], 'ConnectionSettings' => [ 'shape' => 'ConnectionSettings', ], 'AdditionalAttributes' => [ 'shape' => 'AdditionalAttributes', ], ], ], 'LoadBalancerDescription' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'DNSName' => [ 'shape' => 'DNSName', ], 'CanonicalHostedZoneName' => [ 'shape' => 'DNSName', ], 'CanonicalHostedZoneNameID' => [ 'shape' => 'DNSName', ], 'ListenerDescriptions' => [ 'shape' => 'ListenerDescriptions', ], 'Policies' => [ 'shape' => 'Policies', ], 'BackendServerDescriptions' => [ 'shape' => 'BackendServerDescriptions', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'Subnets' => [ 'shape' => 'Subnets', ], 'VPCId' => [ 'shape' => 'VPCId', ], 'Instances' => [ 'shape' => 'Instances', ], 'HealthCheck' => [ 'shape' => 'HealthCheck', ], 'SourceSecurityGroup' => [ 'shape' => 'SourceSecurityGroup', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'Scheme' => [ 'shape' => 'LoadBalancerScheme', ], ], ], 'LoadBalancerDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerDescription', ], ], 'LoadBalancerNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccessPointName', ], ], 'LoadBalancerNamesMax20' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccessPointName', ], 'max' => 20, 'min' => 1, ], 'LoadBalancerScheme' => [ 'type' => 'string', ], 'Marker' => [ 'type' => 'string', ], 'Max' => [ 'type' => 'string', ], 'ModifyLoadBalancerAttributesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'LoadBalancerAttributes', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'LoadBalancerAttributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'ModifyLoadBalancerAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'LoadBalancerAttributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'Name' => [ 'type' => 'string', ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationNotPermitted', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PageSize' => [ 'type' => 'integer', 'max' => 400, 'min' => 1, ], 'Policies' => [ 'type' => 'structure', 'members' => [ 'AppCookieStickinessPolicies' => [ 'shape' => 'AppCookieStickinessPolicies', ], 'LBCookieStickinessPolicies' => [ 'shape' => 'LBCookieStickinessPolicies', ], 'OtherPolicies' => [ 'shape' => 'PolicyNames', ], ], ], 'PolicyAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'AttributeValue' => [ 'shape' => 'AttributeValue', ], ], ], 'PolicyAttributeDescription' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'AttributeValue' => [ 'shape' => 'AttributeValue', ], ], ], 'PolicyAttributeDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyAttributeDescription', ], ], 'PolicyAttributeTypeDescription' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'AttributeName', ], 'AttributeType' => [ 'shape' => 'AttributeType', ], 'Description' => [ 'shape' => 'Description', ], 'DefaultValue' => [ 'shape' => 'DefaultValue', ], 'Cardinality' => [ 'shape' => 'Cardinality', ], ], ], 'PolicyAttributeTypeDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyAttributeTypeDescription', ], ], 'PolicyAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyAttribute', ], ], 'PolicyDescription' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'PolicyName', ], 'PolicyTypeName' => [ 'shape' => 'PolicyTypeName', ], 'PolicyAttributeDescriptions' => [ 'shape' => 'PolicyAttributeDescriptions', ], ], ], 'PolicyDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyDescription', ], ], 'PolicyName' => [ 'type' => 'string', ], 'PolicyNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyName', ], ], 'PolicyNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PolicyNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PolicyTypeDescription' => [ 'type' => 'structure', 'members' => [ 'PolicyTypeName' => [ 'shape' => 'PolicyTypeName', ], 'Description' => [ 'shape' => 'Description', ], 'PolicyAttributeTypeDescriptions' => [ 'shape' => 'PolicyAttributeTypeDescriptions', ], ], ], 'PolicyTypeDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyTypeDescription', ], ], 'PolicyTypeName' => [ 'type' => 'string', ], 'PolicyTypeNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyTypeName', ], ], 'PolicyTypeNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PolicyTypeNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Ports' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccessPointPort', ], ], 'Protocol' => [ 'type' => 'string', ], 'ReasonCode' => [ 'type' => 'string', ], 'RegisterEndPointsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'Instances', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Instances' => [ 'shape' => 'Instances', ], ], ], 'RegisterEndPointsOutput' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'Instances', ], ], ], 'RemoveAvailabilityZonesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'AvailabilityZones', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'RemoveAvailabilityZonesOutput' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'RemoveTagsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerNames', 'Tags', ], 'members' => [ 'LoadBalancerNames' => [ 'shape' => 'LoadBalancerNames', ], 'Tags' => [ 'shape' => 'TagKeyList', ], ], ], 'RemoveTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'S3BucketName' => [ 'type' => 'string', ], 'SSLCertificateId' => [ 'type' => 'string', ], 'SecurityGroupId' => [ 'type' => 'string', ], 'SecurityGroupName' => [ 'type' => 'string', ], 'SecurityGroupOwnerAlias' => [ 'type' => 'string', ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], ], 'SetLoadBalancerListenerSSLCertificateInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'LoadBalancerPort', 'SSLCertificateId', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'LoadBalancerPort' => [ 'shape' => 'AccessPointPort', ], 'SSLCertificateId' => [ 'shape' => 'SSLCertificateId', ], ], ], 'SetLoadBalancerListenerSSLCertificateOutput' => [ 'type' => 'structure', 'members' => [], ], 'SetLoadBalancerPoliciesForBackendServerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'InstancePort', 'PolicyNames', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'InstancePort' => [ 'shape' => 'EndPointPort', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], ], ], 'SetLoadBalancerPoliciesForBackendServerOutput' => [ 'type' => 'structure', 'members' => [], ], 'SetLoadBalancerPoliciesOfListenerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerName', 'LoadBalancerPort', 'PolicyNames', ], 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'LoadBalancerPort' => [ 'shape' => 'AccessPointPort', ], 'PolicyNames' => [ 'shape' => 'PolicyNames', ], ], ], 'SetLoadBalancerPoliciesOfListenerOutput' => [ 'type' => 'structure', 'members' => [], ], 'SourceSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerAlias' => [ 'shape' => 'SecurityGroupOwnerAlias', ], 'GroupName' => [ 'shape' => 'SecurityGroupName', ], ], ], 'State' => [ 'type' => 'string', ], 'SubnetId' => [ 'type' => 'string', ], 'SubnetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerName' => [ 'shape' => 'AccessPointName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeyOnly', ], 'min' => 1, ], 'TagKeyOnly' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TooManyAccessPointsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyLoadBalancers', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyPoliciesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyPolicies', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyTags', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnhealthyThreshold' => [ 'type' => 'integer', 'max' => 10, 'min' => 2, ], 'UnsupportedProtocolException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnsupportedProtocol', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'VPCId' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/paginators-1.json.php b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/paginators-1.json.php new file mode 100644 index 0000000..26292cb --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancing/2012-06-01/paginators-1.json +return [ 'pagination' => [ 'DescribeInstanceHealth' => [ 'result_key' => 'InstanceStates', ], 'DescribeLoadBalancerPolicies' => [ 'result_key' => 'PolicyDescriptions', ], 'DescribeLoadBalancerPolicyTypes' => [ 'result_key' => 'PolicyTypeDescriptions', ], 'DescribeLoadBalancers' => [ 'input_token' => 'Marker', 'output_token' => 'NextMarker', 'result_key' => 'LoadBalancerDescriptions', ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/smoke.json.php b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/smoke.json.php new file mode 100644 index 0000000..013bb4c --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancing/2012-06-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeLoadBalancers', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeLoadBalancers', 'input' => [ 'LoadBalancerNames' => [ 'fake_load_balancer', ], ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/waiters-2.json.php b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/waiters-2.json.php new file mode 100644 index 0000000..a7fb41c --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancing/2012-06-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancing/2012-06-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceDeregistered' => [ 'delay' => 15, 'operation' => 'DescribeInstanceHealth', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 'OutOfService', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'InstanceStates[].State', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstance', 'state' => 'success', ], ], ], 'AnyInstanceInService' => [ 'acceptors' => [ [ 'argument' => 'InstanceStates[].State', 'expected' => 'InService', 'matcher' => 'pathAny', 'state' => 'success', ], ], 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeInstanceHealth', ], 'InstanceInService' => [ 'acceptors' => [ [ 'argument' => 'InstanceStates[].State', 'expected' => 'InService', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstance', 'state' => 'retry', ], ], 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeInstanceHealth', ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/api-2.json.php b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/api-2.json.php new file mode 100644 index 0000000..d4ca32b --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancingv2/2015-12-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-12-01', 'endpointPrefix' => 'elasticloadbalancing', 'protocol' => 'query', 'serviceAbbreviation' => 'Elastic Load Balancing v2', 'serviceFullName' => 'Elastic Load Balancing', 'serviceId' => 'Elastic Load Balancing v2', 'signatureVersion' => 'v4', 'uid' => 'elasticloadbalancingv2-2015-12-01', 'xmlNamespace' => 'http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/', ], 'operations' => [ 'AddListenerCertificates' => [ 'name' => 'AddListenerCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddListenerCertificatesInput', ], 'output' => [ 'shape' => 'AddListenerCertificatesOutput', 'resultWrapper' => 'AddListenerCertificatesResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'TooManyCertificatesException', ], [ 'shape' => 'CertificateNotFoundException', ], ], ], 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', 'resultWrapper' => 'AddTagsResult', ], 'errors' => [ [ 'shape' => 'DuplicateTagKeysException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], ], ], 'CreateListener' => [ 'name' => 'CreateListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateListenerInput', ], 'output' => [ 'shape' => 'CreateListenerOutput', 'resultWrapper' => 'CreateListenerResult', ], 'errors' => [ [ 'shape' => 'DuplicateListenerException', ], [ 'shape' => 'TooManyListenersException', ], [ 'shape' => 'TooManyCertificatesException', ], [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'TargetGroupAssociationLimitException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'IncompatibleProtocolsException', ], [ 'shape' => 'SSLPolicyNotFoundException', ], [ 'shape' => 'CertificateNotFoundException', ], [ 'shape' => 'UnsupportedProtocolException', ], [ 'shape' => 'TooManyRegistrationsForTargetIdException', ], [ 'shape' => 'TooManyTargetsException', ], [ 'shape' => 'TooManyActionsException', ], [ 'shape' => 'InvalidLoadBalancerActionException', ], ], ], 'CreateLoadBalancer' => [ 'name' => 'CreateLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoadBalancerInput', ], 'output' => [ 'shape' => 'CreateLoadBalancerOutput', 'resultWrapper' => 'CreateLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'DuplicateLoadBalancerNameException', ], [ 'shape' => 'TooManyLoadBalancersException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'SubnetNotFoundException', ], [ 'shape' => 'InvalidSubnetException', ], [ 'shape' => 'InvalidSecurityGroupException', ], [ 'shape' => 'InvalidSchemeException', ], [ 'shape' => 'TooManyTagsException', ], [ 'shape' => 'DuplicateTagKeysException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AllocationIdNotFoundException', ], [ 'shape' => 'AvailabilityZoneNotSupportedException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'CreateRule' => [ 'name' => 'CreateRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRuleInput', ], 'output' => [ 'shape' => 'CreateRuleOutput', 'resultWrapper' => 'CreateRuleResult', ], 'errors' => [ [ 'shape' => 'PriorityInUseException', ], [ 'shape' => 'TooManyTargetGroupsException', ], [ 'shape' => 'TooManyRulesException', ], [ 'shape' => 'TargetGroupAssociationLimitException', ], [ 'shape' => 'IncompatibleProtocolsException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'TooManyRegistrationsForTargetIdException', ], [ 'shape' => 'TooManyTargetsException', ], [ 'shape' => 'UnsupportedProtocolException', ], [ 'shape' => 'TooManyActionsException', ], [ 'shape' => 'InvalidLoadBalancerActionException', ], ], ], 'CreateTargetGroup' => [ 'name' => 'CreateTargetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTargetGroupInput', ], 'output' => [ 'shape' => 'CreateTargetGroupOutput', 'resultWrapper' => 'CreateTargetGroupResult', ], 'errors' => [ [ 'shape' => 'DuplicateTargetGroupNameException', ], [ 'shape' => 'TooManyTargetGroupsException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'DeleteListener' => [ 'name' => 'DeleteListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteListenerInput', ], 'output' => [ 'shape' => 'DeleteListenerOutput', 'resultWrapper' => 'DeleteListenerResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], ], ], 'DeleteLoadBalancer' => [ 'name' => 'DeleteLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoadBalancerInput', ], 'output' => [ 'shape' => 'DeleteLoadBalancerOutput', 'resultWrapper' => 'DeleteLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteRule' => [ 'name' => 'DeleteRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleInput', ], 'output' => [ 'shape' => 'DeleteRuleOutput', 'resultWrapper' => 'DeleteRuleResult', ], 'errors' => [ [ 'shape' => 'RuleNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'DeleteTargetGroup' => [ 'name' => 'DeleteTargetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTargetGroupInput', ], 'output' => [ 'shape' => 'DeleteTargetGroupOutput', 'resultWrapper' => 'DeleteTargetGroupResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], ], ], 'DeregisterTargets' => [ 'name' => 'DeregisterTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterTargetsInput', ], 'output' => [ 'shape' => 'DeregisterTargetsOutput', 'resultWrapper' => 'DeregisterTargetsResult', ], 'errors' => [ [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'InvalidTargetException', ], ], ], 'DescribeAccountLimits' => [ 'name' => 'DescribeAccountLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountLimitsInput', ], 'output' => [ 'shape' => 'DescribeAccountLimitsOutput', 'resultWrapper' => 'DescribeAccountLimitsResult', ], ], 'DescribeListenerCertificates' => [ 'name' => 'DescribeListenerCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeListenerCertificatesInput', ], 'output' => [ 'shape' => 'DescribeListenerCertificatesOutput', 'resultWrapper' => 'DescribeListenerCertificatesResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], ], ], 'DescribeListeners' => [ 'name' => 'DescribeListeners', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeListenersInput', ], 'output' => [ 'shape' => 'DescribeListenersOutput', 'resultWrapper' => 'DescribeListenersResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'UnsupportedProtocolException', ], ], ], 'DescribeLoadBalancerAttributes' => [ 'name' => 'DescribeLoadBalancerAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancerAttributesInput', ], 'output' => [ 'shape' => 'DescribeLoadBalancerAttributesOutput', 'resultWrapper' => 'DescribeLoadBalancerAttributesResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], ], ], 'DescribeLoadBalancers' => [ 'name' => 'DescribeLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBalancersInput', ], 'output' => [ 'shape' => 'DescribeLoadBalancersOutput', 'resultWrapper' => 'DescribeLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], ], ], 'DescribeRules' => [ 'name' => 'DescribeRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRulesInput', ], 'output' => [ 'shape' => 'DescribeRulesOutput', 'resultWrapper' => 'DescribeRulesResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'RuleNotFoundException', ], [ 'shape' => 'UnsupportedProtocolException', ], ], ], 'DescribeSSLPolicies' => [ 'name' => 'DescribeSSLPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSSLPoliciesInput', ], 'output' => [ 'shape' => 'DescribeSSLPoliciesOutput', 'resultWrapper' => 'DescribeSSLPoliciesResult', ], 'errors' => [ [ 'shape' => 'SSLPolicyNotFoundException', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsInput', ], 'output' => [ 'shape' => 'DescribeTagsOutput', 'resultWrapper' => 'DescribeTagsResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'RuleNotFoundException', ], ], ], 'DescribeTargetGroupAttributes' => [ 'name' => 'DescribeTargetGroupAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTargetGroupAttributesInput', ], 'output' => [ 'shape' => 'DescribeTargetGroupAttributesOutput', 'resultWrapper' => 'DescribeTargetGroupAttributesResult', ], 'errors' => [ [ 'shape' => 'TargetGroupNotFoundException', ], ], ], 'DescribeTargetGroups' => [ 'name' => 'DescribeTargetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTargetGroupsInput', ], 'output' => [ 'shape' => 'DescribeTargetGroupsOutput', 'resultWrapper' => 'DescribeTargetGroupsResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], ], ], 'DescribeTargetHealth' => [ 'name' => 'DescribeTargetHealth', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTargetHealthInput', ], 'output' => [ 'shape' => 'DescribeTargetHealthOutput', 'resultWrapper' => 'DescribeTargetHealthResult', ], 'errors' => [ [ 'shape' => 'InvalidTargetException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'HealthUnavailableException', ], ], ], 'ModifyListener' => [ 'name' => 'ModifyListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyListenerInput', ], 'output' => [ 'shape' => 'ModifyListenerOutput', 'resultWrapper' => 'ModifyListenerResult', ], 'errors' => [ [ 'shape' => 'DuplicateListenerException', ], [ 'shape' => 'TooManyListenersException', ], [ 'shape' => 'TooManyCertificatesException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'TargetGroupAssociationLimitException', ], [ 'shape' => 'IncompatibleProtocolsException', ], [ 'shape' => 'SSLPolicyNotFoundException', ], [ 'shape' => 'CertificateNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'UnsupportedProtocolException', ], [ 'shape' => 'TooManyRegistrationsForTargetIdException', ], [ 'shape' => 'TooManyTargetsException', ], [ 'shape' => 'TooManyActionsException', ], [ 'shape' => 'InvalidLoadBalancerActionException', ], ], ], 'ModifyLoadBalancerAttributes' => [ 'name' => 'ModifyLoadBalancerAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyLoadBalancerAttributesInput', ], 'output' => [ 'shape' => 'ModifyLoadBalancerAttributesOutput', 'resultWrapper' => 'ModifyLoadBalancerAttributesResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'ModifyRule' => [ 'name' => 'ModifyRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyRuleInput', ], 'output' => [ 'shape' => 'ModifyRuleOutput', 'resultWrapper' => 'ModifyRuleResult', ], 'errors' => [ [ 'shape' => 'TargetGroupAssociationLimitException', ], [ 'shape' => 'IncompatibleProtocolsException', ], [ 'shape' => 'RuleNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'TooManyRegistrationsForTargetIdException', ], [ 'shape' => 'TooManyTargetsException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'UnsupportedProtocolException', ], [ 'shape' => 'TooManyActionsException', ], [ 'shape' => 'InvalidLoadBalancerActionException', ], ], ], 'ModifyTargetGroup' => [ 'name' => 'ModifyTargetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyTargetGroupInput', ], 'output' => [ 'shape' => 'ModifyTargetGroupOutput', 'resultWrapper' => 'ModifyTargetGroupResult', ], 'errors' => [ [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'ModifyTargetGroupAttributes' => [ 'name' => 'ModifyTargetGroupAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyTargetGroupAttributesInput', ], 'output' => [ 'shape' => 'ModifyTargetGroupAttributesOutput', 'resultWrapper' => 'ModifyTargetGroupAttributesResult', ], 'errors' => [ [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'RegisterTargets' => [ 'name' => 'RegisterTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterTargetsInput', ], 'output' => [ 'shape' => 'RegisterTargetsOutput', 'resultWrapper' => 'RegisterTargetsResult', ], 'errors' => [ [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'TooManyTargetsException', ], [ 'shape' => 'InvalidTargetException', ], [ 'shape' => 'TooManyRegistrationsForTargetIdException', ], ], ], 'RemoveListenerCertificates' => [ 'name' => 'RemoveListenerCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveListenerCertificatesInput', ], 'output' => [ 'shape' => 'RemoveListenerCertificatesOutput', 'resultWrapper' => 'RemoveListenerCertificatesResult', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsInput', ], 'output' => [ 'shape' => 'RemoveTagsOutput', 'resultWrapper' => 'RemoveTagsResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'TargetGroupNotFoundException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'RuleNotFoundException', ], [ 'shape' => 'TooManyTagsException', ], ], ], 'SetIpAddressType' => [ 'name' => 'SetIpAddressType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIpAddressTypeInput', ], 'output' => [ 'shape' => 'SetIpAddressTypeOutput', 'resultWrapper' => 'SetIpAddressTypeResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'InvalidSubnetException', ], ], ], 'SetRulePriorities' => [ 'name' => 'SetRulePriorities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetRulePrioritiesInput', ], 'output' => [ 'shape' => 'SetRulePrioritiesOutput', 'resultWrapper' => 'SetRulePrioritiesResult', ], 'errors' => [ [ 'shape' => 'RuleNotFoundException', ], [ 'shape' => 'PriorityInUseException', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'SetSecurityGroups' => [ 'name' => 'SetSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetSecurityGroupsInput', ], 'output' => [ 'shape' => 'SetSecurityGroupsOutput', 'resultWrapper' => 'SetSecurityGroupsResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'InvalidSecurityGroupException', ], ], ], 'SetSubnets' => [ 'name' => 'SetSubnets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetSubnetsInput', ], 'output' => [ 'shape' => 'SetSubnetsOutput', 'resultWrapper' => 'SetSubnetsResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'SubnetNotFoundException', ], [ 'shape' => 'InvalidSubnetException', ], [ 'shape' => 'AllocationIdNotFoundException', ], [ 'shape' => 'AvailabilityZoneNotSupportedException', ], ], ], ], 'shapes' => [ 'Action' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'ActionTypeEnum', ], 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'AuthenticateOidcConfig' => [ 'shape' => 'AuthenticateOidcActionConfig', ], 'AuthenticateCognitoConfig' => [ 'shape' => 'AuthenticateCognitoActionConfig', ], 'Order' => [ 'shape' => 'ActionOrder', ], 'RedirectConfig' => [ 'shape' => 'RedirectActionConfig', ], 'FixedResponseConfig' => [ 'shape' => 'FixedResponseActionConfig', ], ], ], 'ActionOrder' => [ 'type' => 'integer', 'max' => 50000, 'min' => 1, ], 'ActionTypeEnum' => [ 'type' => 'string', 'enum' => [ 'forward', 'authenticate-oidc', 'authenticate-cognito', 'redirect', 'fixed-response', ], ], 'Actions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Action', ], ], 'AddListenerCertificatesInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', 'Certificates', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'Certificates' => [ 'shape' => 'CertificateList', ], ], ], 'AddListenerCertificatesOutput' => [ 'type' => 'structure', 'members' => [ 'Certificates' => [ 'shape' => 'CertificateList', ], ], ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArns', 'Tags', ], 'members' => [ 'ResourceArns' => [ 'shape' => 'ResourceArns', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'AllocationId' => [ 'type' => 'string', ], 'AllocationIdNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AllocationIdNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthenticateCognitoActionAuthenticationRequestExtraParams' => [ 'type' => 'map', 'key' => [ 'shape' => 'AuthenticateCognitoActionAuthenticationRequestParamName', ], 'value' => [ 'shape' => 'AuthenticateCognitoActionAuthenticationRequestParamValue', ], ], 'AuthenticateCognitoActionAuthenticationRequestParamName' => [ 'type' => 'string', ], 'AuthenticateCognitoActionAuthenticationRequestParamValue' => [ 'type' => 'string', ], 'AuthenticateCognitoActionConditionalBehaviorEnum' => [ 'type' => 'string', 'enum' => [ 'deny', 'allow', 'authenticate', ], ], 'AuthenticateCognitoActionConfig' => [ 'type' => 'structure', 'required' => [ 'UserPoolArn', 'UserPoolClientId', 'UserPoolDomain', ], 'members' => [ 'UserPoolArn' => [ 'shape' => 'AuthenticateCognitoActionUserPoolArn', ], 'UserPoolClientId' => [ 'shape' => 'AuthenticateCognitoActionUserPoolClientId', ], 'UserPoolDomain' => [ 'shape' => 'AuthenticateCognitoActionUserPoolDomain', ], 'SessionCookieName' => [ 'shape' => 'AuthenticateCognitoActionSessionCookieName', ], 'Scope' => [ 'shape' => 'AuthenticateCognitoActionScope', ], 'SessionTimeout' => [ 'shape' => 'AuthenticateCognitoActionSessionTimeout', ], 'AuthenticationRequestExtraParams' => [ 'shape' => 'AuthenticateCognitoActionAuthenticationRequestExtraParams', ], 'OnUnauthenticatedRequest' => [ 'shape' => 'AuthenticateCognitoActionConditionalBehaviorEnum', ], ], ], 'AuthenticateCognitoActionScope' => [ 'type' => 'string', ], 'AuthenticateCognitoActionSessionCookieName' => [ 'type' => 'string', ], 'AuthenticateCognitoActionSessionTimeout' => [ 'type' => 'long', ], 'AuthenticateCognitoActionUserPoolArn' => [ 'type' => 'string', ], 'AuthenticateCognitoActionUserPoolClientId' => [ 'type' => 'string', ], 'AuthenticateCognitoActionUserPoolDomain' => [ 'type' => 'string', ], 'AuthenticateOidcActionAuthenticationRequestExtraParams' => [ 'type' => 'map', 'key' => [ 'shape' => 'AuthenticateOidcActionAuthenticationRequestParamName', ], 'value' => [ 'shape' => 'AuthenticateOidcActionAuthenticationRequestParamValue', ], ], 'AuthenticateOidcActionAuthenticationRequestParamName' => [ 'type' => 'string', ], 'AuthenticateOidcActionAuthenticationRequestParamValue' => [ 'type' => 'string', ], 'AuthenticateOidcActionAuthorizationEndpoint' => [ 'type' => 'string', ], 'AuthenticateOidcActionClientId' => [ 'type' => 'string', ], 'AuthenticateOidcActionClientSecret' => [ 'type' => 'string', ], 'AuthenticateOidcActionConditionalBehaviorEnum' => [ 'type' => 'string', 'enum' => [ 'deny', 'allow', 'authenticate', ], ], 'AuthenticateOidcActionConfig' => [ 'type' => 'structure', 'required' => [ 'Issuer', 'AuthorizationEndpoint', 'TokenEndpoint', 'UserInfoEndpoint', 'ClientId', ], 'members' => [ 'Issuer' => [ 'shape' => 'AuthenticateOidcActionIssuer', ], 'AuthorizationEndpoint' => [ 'shape' => 'AuthenticateOidcActionAuthorizationEndpoint', ], 'TokenEndpoint' => [ 'shape' => 'AuthenticateOidcActionTokenEndpoint', ], 'UserInfoEndpoint' => [ 'shape' => 'AuthenticateOidcActionUserInfoEndpoint', ], 'ClientId' => [ 'shape' => 'AuthenticateOidcActionClientId', ], 'ClientSecret' => [ 'shape' => 'AuthenticateOidcActionClientSecret', ], 'SessionCookieName' => [ 'shape' => 'AuthenticateOidcActionSessionCookieName', ], 'Scope' => [ 'shape' => 'AuthenticateOidcActionScope', ], 'SessionTimeout' => [ 'shape' => 'AuthenticateOidcActionSessionTimeout', ], 'AuthenticationRequestExtraParams' => [ 'shape' => 'AuthenticateOidcActionAuthenticationRequestExtraParams', ], 'OnUnauthenticatedRequest' => [ 'shape' => 'AuthenticateOidcActionConditionalBehaviorEnum', ], 'UseExistingClientSecret' => [ 'shape' => 'AuthenticateOidcActionUseExistingClientSecret', ], ], ], 'AuthenticateOidcActionIssuer' => [ 'type' => 'string', ], 'AuthenticateOidcActionScope' => [ 'type' => 'string', ], 'AuthenticateOidcActionSessionCookieName' => [ 'type' => 'string', ], 'AuthenticateOidcActionSessionTimeout' => [ 'type' => 'long', ], 'AuthenticateOidcActionTokenEndpoint' => [ 'type' => 'string', ], 'AuthenticateOidcActionUseExistingClientSecret' => [ 'type' => 'boolean', ], 'AuthenticateOidcActionUserInfoEndpoint' => [ 'type' => 'string', ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'ZoneName' => [ 'shape' => 'ZoneName', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'LoadBalancerAddresses' => [ 'shape' => 'LoadBalancerAddresses', ], ], ], 'AvailabilityZoneNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AvailabilityZoneNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', ], ], 'CanonicalHostedZoneId' => [ 'type' => 'string', ], 'Certificate' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => 'CertificateArn', ], 'IsDefault' => [ 'shape' => 'Default', ], ], ], 'CertificateArn' => [ 'type' => 'string', ], 'CertificateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Certificate', ], ], 'CertificateNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CertificateNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Cipher' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'CipherName', ], 'Priority' => [ 'shape' => 'CipherPriority', ], ], ], 'CipherName' => [ 'type' => 'string', ], 'CipherPriority' => [ 'type' => 'integer', ], 'Ciphers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cipher', ], ], 'ConditionFieldName' => [ 'type' => 'string', 'max' => 64, ], 'CreateListenerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', 'Protocol', 'Port', 'DefaultActions', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'Port' => [ 'shape' => 'Port', ], 'SslPolicy' => [ 'shape' => 'SslPolicyName', ], 'Certificates' => [ 'shape' => 'CertificateList', ], 'DefaultActions' => [ 'shape' => 'Actions', ], ], ], 'CreateListenerOutput' => [ 'type' => 'structure', 'members' => [ 'Listeners' => [ 'shape' => 'Listeners', ], ], ], 'CreateLoadBalancerInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'LoadBalancerName', ], 'Subnets' => [ 'shape' => 'Subnets', ], 'SubnetMappings' => [ 'shape' => 'SubnetMappings', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'Scheme' => [ 'shape' => 'LoadBalancerSchemeEnum', ], 'Tags' => [ 'shape' => 'TagList', ], 'Type' => [ 'shape' => 'LoadBalancerTypeEnum', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], ], ], 'CreateLoadBalancerOutput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancers' => [ 'shape' => 'LoadBalancers', ], ], ], 'CreateRuleInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', 'Conditions', 'Priority', 'Actions', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'Conditions' => [ 'shape' => 'RuleConditionList', ], 'Priority' => [ 'shape' => 'RulePriority', ], 'Actions' => [ 'shape' => 'Actions', ], ], ], 'CreateRuleOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', ], ], ], 'CreateTargetGroupInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'TargetGroupName', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'Port' => [ 'shape' => 'Port', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'HealthCheckProtocol' => [ 'shape' => 'ProtocolEnum', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckEnabled' => [ 'shape' => 'HealthCheckEnabled', ], 'HealthCheckPath' => [ 'shape' => 'Path', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'HealthCheckTimeoutSeconds' => [ 'shape' => 'HealthCheckTimeoutSeconds', ], 'HealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'UnhealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'Matcher' => [ 'shape' => 'Matcher', ], 'TargetType' => [ 'shape' => 'TargetTypeEnum', ], ], ], 'CreateTargetGroupOutput' => [ 'type' => 'structure', 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', ], ], ], 'CreatedTime' => [ 'type' => 'timestamp', ], 'DNSName' => [ 'type' => 'string', ], 'Default' => [ 'type' => 'boolean', ], 'DeleteListenerInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], ], ], 'DeleteListenerOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLoadBalancerInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], ], ], 'DeleteLoadBalancerOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRuleInput' => [ 'type' => 'structure', 'required' => [ 'RuleArn', ], 'members' => [ 'RuleArn' => [ 'shape' => 'RuleArn', ], ], ], 'DeleteRuleOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTargetGroupInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], ], ], 'DeleteTargetGroupOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterTargetsInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', 'Targets', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'Targets' => [ 'shape' => 'TargetDescriptions', ], ], ], 'DeregisterTargetsOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountLimitsInput' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeAccountLimitsOutput' => [ 'type' => 'structure', 'members' => [ 'Limits' => [ 'shape' => 'Limits', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeListenerCertificatesInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeListenerCertificatesOutput' => [ 'type' => 'structure', 'members' => [ 'Certificates' => [ 'shape' => 'CertificateList', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeListenersInput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'ListenerArns' => [ 'shape' => 'ListenerArns', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeListenersOutput' => [ 'type' => 'structure', 'members' => [ 'Listeners' => [ 'shape' => 'Listeners', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeLoadBalancerAttributesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], ], ], 'DescribeLoadBalancerAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'DescribeLoadBalancersInput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerArns' => [ 'shape' => 'LoadBalancerArns', ], 'Names' => [ 'shape' => 'LoadBalancerNames', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeLoadBalancersOutput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancers' => [ 'shape' => 'LoadBalancers', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeRulesInput' => [ 'type' => 'structure', 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'RuleArns' => [ 'shape' => 'RuleArns', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeRulesOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeSSLPoliciesInput' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'SslPolicyNames', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeSSLPoliciesOutput' => [ 'type' => 'structure', 'members' => [ 'SslPolicies' => [ 'shape' => 'SslPolicies', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArns', ], 'members' => [ 'ResourceArns' => [ 'shape' => 'ResourceArns', ], ], ], 'DescribeTagsOutput' => [ 'type' => 'structure', 'members' => [ 'TagDescriptions' => [ 'shape' => 'TagDescriptions', ], ], ], 'DescribeTargetGroupAttributesInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], ], ], 'DescribeTargetGroupAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'TargetGroupAttributes', ], ], ], 'DescribeTargetGroupsInput' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'TargetGroupArns' => [ 'shape' => 'TargetGroupArns', ], 'Names' => [ 'shape' => 'TargetGroupNames', ], 'Marker' => [ 'shape' => 'Marker', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeTargetGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', ], 'NextMarker' => [ 'shape' => 'Marker', ], ], ], 'DescribeTargetHealthInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'Targets' => [ 'shape' => 'TargetDescriptions', ], ], ], 'DescribeTargetHealthOutput' => [ 'type' => 'structure', 'members' => [ 'TargetHealthDescriptions' => [ 'shape' => 'TargetHealthDescriptions', ], ], ], 'Description' => [ 'type' => 'string', ], 'DuplicateListenerException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateListener', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateLoadBalancerNameException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateLoadBalancerName', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateTagKeysException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateTagKeys', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateTargetGroupNameException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DuplicateTargetGroupName', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'FixedResponseActionConfig' => [ 'type' => 'structure', 'required' => [ 'StatusCode', ], 'members' => [ 'MessageBody' => [ 'shape' => 'FixedResponseActionMessage', ], 'StatusCode' => [ 'shape' => 'FixedResponseActionStatusCode', ], 'ContentType' => [ 'shape' => 'FixedResponseActionContentType', ], ], ], 'FixedResponseActionContentType' => [ 'type' => 'string', 'max' => 32, 'min' => 0, ], 'FixedResponseActionMessage' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'FixedResponseActionStatusCode' => [ 'type' => 'string', 'pattern' => '^(2|4|5)\\d\\d$', ], 'HealthCheckEnabled' => [ 'type' => 'boolean', ], 'HealthCheckIntervalSeconds' => [ 'type' => 'integer', 'max' => 300, 'min' => 5, ], 'HealthCheckPort' => [ 'type' => 'string', ], 'HealthCheckThresholdCount' => [ 'type' => 'integer', 'max' => 10, 'min' => 2, ], 'HealthCheckTimeoutSeconds' => [ 'type' => 'integer', 'max' => 120, 'min' => 2, ], 'HealthUnavailableException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HealthUnavailable', 'httpStatusCode' => 500, ], 'exception' => true, ], 'HostHeaderConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ListOfString', ], ], ], 'HttpCode' => [ 'type' => 'string', ], 'HttpHeaderConditionConfig' => [ 'type' => 'structure', 'members' => [ 'HttpHeaderName' => [ 'shape' => 'HttpHeaderConditionName', ], 'Values' => [ 'shape' => 'ListOfString', ], ], ], 'HttpHeaderConditionName' => [ 'type' => 'string', ], 'HttpRequestMethodConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ListOfString', ], ], ], 'IncompatibleProtocolsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'IncompatibleProtocols', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidConfigurationRequestException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidConfigurationRequest', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidLoadBalancerActionException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidLoadBalancerAction', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSchemeException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidScheme', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSecurityGroupException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnetException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidTargetException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidTarget', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'IpAddressType' => [ 'type' => 'string', 'enum' => [ 'ipv4', 'dualstack', ], ], 'IsDefault' => [ 'type' => 'boolean', ], 'Limit' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'Max' => [ 'shape' => 'Max', ], ], ], 'Limits' => [ 'type' => 'list', 'member' => [ 'shape' => 'Limit', ], ], 'ListOfString' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringValue', ], ], 'Listener' => [ 'type' => 'structure', 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'Port' => [ 'shape' => 'Port', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'Certificates' => [ 'shape' => 'CertificateList', ], 'SslPolicy' => [ 'shape' => 'SslPolicyName', ], 'DefaultActions' => [ 'shape' => 'Actions', ], ], ], 'ListenerArn' => [ 'type' => 'string', ], 'ListenerArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListenerArn', ], ], 'ListenerNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ListenerNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Listeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], ], 'LoadBalancer' => [ 'type' => 'structure', 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'DNSName' => [ 'shape' => 'DNSName', ], 'CanonicalHostedZoneId' => [ 'shape' => 'CanonicalHostedZoneId', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'LoadBalancerName' => [ 'shape' => 'LoadBalancerName', ], 'Scheme' => [ 'shape' => 'LoadBalancerSchemeEnum', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'State' => [ 'shape' => 'LoadBalancerState', ], 'Type' => [ 'shape' => 'LoadBalancerTypeEnum', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], ], ], 'LoadBalancerAddress' => [ 'type' => 'structure', 'members' => [ 'IpAddress' => [ 'shape' => 'IpAddress', ], 'AllocationId' => [ 'shape' => 'AllocationId', ], ], ], 'LoadBalancerAddresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerAddress', ], ], 'LoadBalancerArn' => [ 'type' => 'string', ], 'LoadBalancerArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerArn', ], ], 'LoadBalancerAttribute' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'LoadBalancerAttributeKey', ], 'Value' => [ 'shape' => 'LoadBalancerAttributeValue', ], ], ], 'LoadBalancerAttributeKey' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^[a-zA-Z0-9._]+$', ], 'LoadBalancerAttributeValue' => [ 'type' => 'string', 'max' => 1024, ], 'LoadBalancerAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerAttribute', ], 'max' => 20, ], 'LoadBalancerName' => [ 'type' => 'string', ], 'LoadBalancerNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerName', ], ], 'LoadBalancerNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LoadBalancerNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LoadBalancerSchemeEnum' => [ 'type' => 'string', 'enum' => [ 'internet-facing', 'internal', ], ], 'LoadBalancerState' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'LoadBalancerStateEnum', ], 'Reason' => [ 'shape' => 'StateReason', ], ], ], 'LoadBalancerStateEnum' => [ 'type' => 'string', 'enum' => [ 'active', 'provisioning', 'active_impaired', 'failed', ], ], 'LoadBalancerTypeEnum' => [ 'type' => 'string', 'enum' => [ 'application', 'network', ], ], 'LoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancer', ], ], 'Marker' => [ 'type' => 'string', ], 'Matcher' => [ 'type' => 'structure', 'required' => [ 'HttpCode', ], 'members' => [ 'HttpCode' => [ 'shape' => 'HttpCode', ], ], ], 'Max' => [ 'type' => 'string', ], 'ModifyListenerInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'Port' => [ 'shape' => 'Port', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'SslPolicy' => [ 'shape' => 'SslPolicyName', ], 'Certificates' => [ 'shape' => 'CertificateList', ], 'DefaultActions' => [ 'shape' => 'Actions', ], ], ], 'ModifyListenerOutput' => [ 'type' => 'structure', 'members' => [ 'Listeners' => [ 'shape' => 'Listeners', ], ], ], 'ModifyLoadBalancerAttributesInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', 'Attributes', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'Attributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'ModifyLoadBalancerAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'LoadBalancerAttributes', ], ], ], 'ModifyRuleInput' => [ 'type' => 'structure', 'required' => [ 'RuleArn', ], 'members' => [ 'RuleArn' => [ 'shape' => 'RuleArn', ], 'Conditions' => [ 'shape' => 'RuleConditionList', ], 'Actions' => [ 'shape' => 'Actions', ], ], ], 'ModifyRuleOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', ], ], ], 'ModifyTargetGroupAttributesInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', 'Attributes', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'Attributes' => [ 'shape' => 'TargetGroupAttributes', ], ], ], 'ModifyTargetGroupAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'TargetGroupAttributes', ], ], ], 'ModifyTargetGroupInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'HealthCheckProtocol' => [ 'shape' => 'ProtocolEnum', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckPath' => [ 'shape' => 'Path', ], 'HealthCheckEnabled' => [ 'shape' => 'HealthCheckEnabled', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'HealthCheckTimeoutSeconds' => [ 'shape' => 'HealthCheckTimeoutSeconds', ], 'HealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'UnhealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'Matcher' => [ 'shape' => 'Matcher', ], ], ], 'ModifyTargetGroupOutput' => [ 'type' => 'structure', 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', ], ], ], 'Name' => [ 'type' => 'string', ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OperationNotPermitted', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PageSize' => [ 'type' => 'integer', 'max' => 400, 'min' => 1, ], 'Path' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'PathPatternConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ListOfString', ], ], ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'PriorityInUseException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PriorityInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ProtocolEnum' => [ 'type' => 'string', 'enum' => [ 'HTTP', 'HTTPS', 'TCP', 'TLS', ], ], 'QueryStringConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'QueryStringKeyValuePairList', ], ], ], 'QueryStringKeyValuePair' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'StringValue', ], 'Value' => [ 'shape' => 'StringValue', ], ], ], 'QueryStringKeyValuePairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryStringKeyValuePair', ], ], 'RedirectActionConfig' => [ 'type' => 'structure', 'required' => [ 'StatusCode', ], 'members' => [ 'Protocol' => [ 'shape' => 'RedirectActionProtocol', ], 'Port' => [ 'shape' => 'RedirectActionPort', ], 'Host' => [ 'shape' => 'RedirectActionHost', ], 'Path' => [ 'shape' => 'RedirectActionPath', ], 'Query' => [ 'shape' => 'RedirectActionQuery', ], 'StatusCode' => [ 'shape' => 'RedirectActionStatusCodeEnum', ], ], ], 'RedirectActionHost' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'RedirectActionPath' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'RedirectActionPort' => [ 'type' => 'string', ], 'RedirectActionProtocol' => [ 'type' => 'string', 'pattern' => '^(HTTPS?|#\\{protocol\\})$', ], 'RedirectActionQuery' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'RedirectActionStatusCodeEnum' => [ 'type' => 'string', 'enum' => [ 'HTTP_301', 'HTTP_302', ], ], 'RegisterTargetsInput' => [ 'type' => 'structure', 'required' => [ 'TargetGroupArn', 'Targets', ], 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'Targets' => [ 'shape' => 'TargetDescriptions', ], ], ], 'RegisterTargetsOutput' => [ 'type' => 'structure', 'members' => [], ], 'RemoveListenerCertificatesInput' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', 'Certificates', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'ListenerArn', ], 'Certificates' => [ 'shape' => 'CertificateList', ], ], ], 'RemoveListenerCertificatesOutput' => [ 'type' => 'structure', 'members' => [], ], 'RemoveTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArns', 'TagKeys', ], 'members' => [ 'ResourceArns' => [ 'shape' => 'ResourceArns', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'RemoveTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Rule' => [ 'type' => 'structure', 'members' => [ 'RuleArn' => [ 'shape' => 'RuleArn', ], 'Priority' => [ 'shape' => 'String', ], 'Conditions' => [ 'shape' => 'RuleConditionList', ], 'Actions' => [ 'shape' => 'Actions', ], 'IsDefault' => [ 'shape' => 'IsDefault', ], ], ], 'RuleArn' => [ 'type' => 'string', ], 'RuleArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleArn', ], ], 'RuleCondition' => [ 'type' => 'structure', 'members' => [ 'Field' => [ 'shape' => 'ConditionFieldName', ], 'Values' => [ 'shape' => 'ListOfString', ], 'HostHeaderConfig' => [ 'shape' => 'HostHeaderConditionConfig', ], 'PathPatternConfig' => [ 'shape' => 'PathPatternConditionConfig', ], 'HttpHeaderConfig' => [ 'shape' => 'HttpHeaderConditionConfig', ], 'QueryStringConfig' => [ 'shape' => 'QueryStringConditionConfig', ], 'HttpRequestMethodConfig' => [ 'shape' => 'HttpRequestMethodConditionConfig', ], 'SourceIpConfig' => [ 'shape' => 'SourceIpConditionConfig', ], ], ], 'RuleConditionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleCondition', ], ], 'RuleNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'RuleNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'RulePriority' => [ 'type' => 'integer', 'max' => 50000, 'min' => 1, ], 'RulePriorityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RulePriorityPair', ], ], 'RulePriorityPair' => [ 'type' => 'structure', 'members' => [ 'RuleArn' => [ 'shape' => 'RuleArn', ], 'Priority' => [ 'shape' => 'RulePriority', ], ], ], 'Rules' => [ 'type' => 'list', 'member' => [ 'shape' => 'Rule', ], ], 'SSLPolicyNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SSLPolicyNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SecurityGroupId' => [ 'type' => 'string', ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], ], 'SetIpAddressTypeInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', 'IpAddressType', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], ], ], 'SetIpAddressTypeOutput' => [ 'type' => 'structure', 'members' => [ 'IpAddressType' => [ 'shape' => 'IpAddressType', ], ], ], 'SetRulePrioritiesInput' => [ 'type' => 'structure', 'required' => [ 'RulePriorities', ], 'members' => [ 'RulePriorities' => [ 'shape' => 'RulePriorityList', ], ], ], 'SetRulePrioritiesOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', ], ], ], 'SetSecurityGroupsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', 'SecurityGroups', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'SetSecurityGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupIds' => [ 'shape' => 'SecurityGroups', ], ], ], 'SetSubnetsInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'Subnets' => [ 'shape' => 'Subnets', ], 'SubnetMappings' => [ 'shape' => 'SubnetMappings', ], ], ], 'SetSubnetsOutput' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], ], ], 'SourceIpConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ListOfString', ], ], ], 'SslPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslPolicy', ], ], 'SslPolicy' => [ 'type' => 'structure', 'members' => [ 'SslProtocols' => [ 'shape' => 'SslProtocols', ], 'Ciphers' => [ 'shape' => 'Ciphers', ], 'Name' => [ 'shape' => 'SslPolicyName', ], ], ], 'SslPolicyName' => [ 'type' => 'string', ], 'SslPolicyNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslPolicyName', ], ], 'SslProtocol' => [ 'type' => 'string', ], 'SslProtocols' => [ 'type' => 'list', 'member' => [ 'shape' => 'SslProtocol', ], ], 'StateReason' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'StringValue' => [ 'type' => 'string', ], 'SubnetId' => [ 'type' => 'string', ], 'SubnetMapping' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'SubnetId', ], 'AllocationId' => [ 'shape' => 'AllocationId', ], ], ], 'SubnetMappings' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetMapping', ], ], 'SubnetNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagDescription', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TargetDescription' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TargetId', ], 'Port' => [ 'shape' => 'Port', ], 'AvailabilityZone' => [ 'shape' => 'ZoneName', ], ], ], 'TargetDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetDescription', ], ], 'TargetGroup' => [ 'type' => 'structure', 'members' => [ 'TargetGroupArn' => [ 'shape' => 'TargetGroupArn', ], 'TargetGroupName' => [ 'shape' => 'TargetGroupName', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'Port' => [ 'shape' => 'Port', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'HealthCheckProtocol' => [ 'shape' => 'ProtocolEnum', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckEnabled' => [ 'shape' => 'HealthCheckEnabled', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'HealthCheckTimeoutSeconds' => [ 'shape' => 'HealthCheckTimeoutSeconds', ], 'HealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'UnhealthyThresholdCount' => [ 'shape' => 'HealthCheckThresholdCount', ], 'HealthCheckPath' => [ 'shape' => 'Path', ], 'Matcher' => [ 'shape' => 'Matcher', ], 'LoadBalancerArns' => [ 'shape' => 'LoadBalancerArns', ], 'TargetType' => [ 'shape' => 'TargetTypeEnum', ], ], ], 'TargetGroupArn' => [ 'type' => 'string', ], 'TargetGroupArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupArn', ], ], 'TargetGroupAssociationLimitException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TargetGroupAssociationLimit', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TargetGroupAttribute' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TargetGroupAttributeKey', ], 'Value' => [ 'shape' => 'TargetGroupAttributeValue', ], ], ], 'TargetGroupAttributeKey' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^[a-zA-Z0-9._]+$', ], 'TargetGroupAttributeValue' => [ 'type' => 'string', ], 'TargetGroupAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupAttribute', ], ], 'TargetGroupName' => [ 'type' => 'string', ], 'TargetGroupNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupName', ], ], 'TargetGroupNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TargetGroupNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TargetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroup', ], ], 'TargetHealth' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'TargetHealthStateEnum', ], 'Reason' => [ 'shape' => 'TargetHealthReasonEnum', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'TargetHealthDescription' => [ 'type' => 'structure', 'members' => [ 'Target' => [ 'shape' => 'TargetDescription', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'TargetHealth' => [ 'shape' => 'TargetHealth', ], ], ], 'TargetHealthDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetHealthDescription', ], ], 'TargetHealthReasonEnum' => [ 'type' => 'string', 'enum' => [ 'Elb.RegistrationInProgress', 'Elb.InitialHealthChecking', 'Target.ResponseCodeMismatch', 'Target.Timeout', 'Target.FailedHealthChecks', 'Target.NotRegistered', 'Target.NotInUse', 'Target.DeregistrationInProgress', 'Target.InvalidState', 'Target.IpUnusable', 'Target.HealthCheckDisabled', 'Elb.InternalError', ], ], 'TargetHealthStateEnum' => [ 'type' => 'string', 'enum' => [ 'initial', 'healthy', 'unhealthy', 'unused', 'draining', 'unavailable', ], ], 'TargetId' => [ 'type' => 'string', ], 'TargetTypeEnum' => [ 'type' => 'string', 'enum' => [ 'instance', 'ip', 'lambda', ], ], 'TooManyActionsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyActions', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyCertificatesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyCertificates', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyListenersException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyListeners', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyLoadBalancersException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyLoadBalancers', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyRegistrationsForTargetIdException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyRegistrationsForTargetId', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyRulesException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyRules', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyTagsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyTags', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyTargetGroupsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyTargetGroups', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TooManyTargetsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TooManyTargets', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnsupportedProtocolException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnsupportedProtocol', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'VpcId' => [ 'type' => 'string', ], 'ZoneName' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/paginators-1.json.php b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/paginators-1.json.php new file mode 100644 index 0000000..d7aea5b --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancingv2/2015-12-01/paginators-1.json +return [ 'pagination' => [ 'DescribeListeners' => [ 'input_token' => 'Marker', 'output_token' => 'NextMarker', 'result_key' => 'Listeners', ], 'DescribeLoadBalancers' => [ 'input_token' => 'Marker', 'output_token' => 'NextMarker', 'result_key' => 'LoadBalancers', ], 'DescribeTargetGroups' => [ 'input_token' => 'Marker', 'output_token' => 'NextMarker', 'result_key' => 'TargetGroups', ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/smoke.json.php b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/smoke.json.php new file mode 100644 index 0000000..8cca240 --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancingv2/2015-12-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeLoadBalancers', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeLoadBalancers', 'input' => [ 'LoadBalancerArns' => [ 'fake_load_balancer', ], ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/waiters-2.json.php b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/waiters-2.json.php new file mode 100644 index 0000000..9c6123b --- /dev/null +++ b/lib/aws/Aws/data/elasticloadbalancingv2/2015-12-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticloadbalancingv2/2015-12-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'LoadBalancerExists' => [ 'delay' => 15, 'operation' => 'DescribeLoadBalancers', 'maxAttempts' => 40, 'acceptors' => [ [ 'matcher' => 'status', 'expected' => 200, 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'LoadBalancerNotFound', 'state' => 'retry', ], ], ], 'LoadBalancerAvailable' => [ 'delay' => 15, 'operation' => 'DescribeLoadBalancers', 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'LoadBalancers[].State.Code', 'expected' => 'active', ], [ 'state' => 'retry', 'matcher' => 'pathAny', 'argument' => 'LoadBalancers[].State.Code', 'expected' => 'provisioning', ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'LoadBalancerNotFound', ], ], ], 'LoadBalancersDeleted' => [ 'delay' => 15, 'operation' => 'DescribeLoadBalancers', 'maxAttempts' => 40, 'acceptors' => [ [ 'state' => 'retry', 'matcher' => 'pathAll', 'argument' => 'LoadBalancers[].State.Code', 'expected' => 'active', ], [ 'matcher' => 'error', 'expected' => 'LoadBalancerNotFound', 'state' => 'success', ], ], ], 'TargetInService' => [ 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeTargetHealth', 'acceptors' => [ [ 'argument' => 'TargetHealthDescriptions[].TargetHealth.State', 'expected' => 'healthy', 'matcher' => 'pathAll', 'state' => 'success', ], [ 'matcher' => 'error', 'expected' => 'InvalidInstance', 'state' => 'retry', ], ], ], 'TargetDeregistered' => [ 'delay' => 15, 'maxAttempts' => 40, 'operation' => 'DescribeTargetHealth', 'acceptors' => [ [ 'matcher' => 'error', 'expected' => 'InvalidTarget', 'state' => 'success', ], [ 'argument' => 'TargetHealthDescriptions[].TargetHealth.State', 'expected' => 'unused', 'matcher' => 'pathAll', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/elasticmapreduce/2009-03-31/api-2.json.php b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/api-2.json.php new file mode 100644 index 0000000..03408b7 --- /dev/null +++ b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticmapreduce/2009-03-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2009-03-31', 'endpointPrefix' => 'elasticmapreduce', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon EMR', 'serviceFullName' => 'Amazon Elastic MapReduce', 'serviceId' => 'EMR', 'signatureVersion' => 'v4', 'targetPrefix' => 'ElasticMapReduce', 'uid' => 'elasticmapreduce-2009-03-31', ], 'operations' => [ 'AddInstanceFleet' => [ 'name' => 'AddInstanceFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddInstanceFleetInput', ], 'output' => [ 'shape' => 'AddInstanceFleetOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'AddInstanceGroups' => [ 'name' => 'AddInstanceGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddInstanceGroupsInput', ], 'output' => [ 'shape' => 'AddInstanceGroupsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'AddJobFlowSteps' => [ 'name' => 'AddJobFlowSteps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddJobFlowStepsInput', ], 'output' => [ 'shape' => 'AddJobFlowStepsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CancelSteps' => [ 'name' => 'CancelSteps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelStepsInput', ], 'output' => [ 'shape' => 'CancelStepsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateSecurityConfiguration' => [ 'name' => 'CreateSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityConfigurationInput', ], 'output' => [ 'shape' => 'CreateSecurityConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteSecurityConfiguration' => [ 'name' => 'DeleteSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityConfigurationInput', ], 'output' => [ 'shape' => 'DeleteSecurityConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeCluster' => [ 'name' => 'DescribeCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterInput', ], 'output' => [ 'shape' => 'DescribeClusterOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeJobFlows' => [ 'name' => 'DescribeJobFlows', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeJobFlowsInput', ], 'output' => [ 'shape' => 'DescribeJobFlowsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], 'deprecated' => true, ], 'DescribeSecurityConfiguration' => [ 'name' => 'DescribeSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecurityConfigurationInput', ], 'output' => [ 'shape' => 'DescribeSecurityConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeStep' => [ 'name' => 'DescribeStep', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStepInput', ], 'output' => [ 'shape' => 'DescribeStepOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListBootstrapActions' => [ 'name' => 'ListBootstrapActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBootstrapActionsInput', ], 'output' => [ 'shape' => 'ListBootstrapActionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListClusters' => [ 'name' => 'ListClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListClustersInput', ], 'output' => [ 'shape' => 'ListClustersOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListInstanceFleets' => [ 'name' => 'ListInstanceFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstanceFleetsInput', ], 'output' => [ 'shape' => 'ListInstanceFleetsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListInstanceGroups' => [ 'name' => 'ListInstanceGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstanceGroupsInput', ], 'output' => [ 'shape' => 'ListInstanceGroupsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListInstances' => [ 'name' => 'ListInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstancesInput', ], 'output' => [ 'shape' => 'ListInstancesOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListSecurityConfigurations' => [ 'name' => 'ListSecurityConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSecurityConfigurationsInput', ], 'output' => [ 'shape' => 'ListSecurityConfigurationsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListSteps' => [ 'name' => 'ListSteps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStepsInput', ], 'output' => [ 'shape' => 'ListStepsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ModifyInstanceFleet' => [ 'name' => 'ModifyInstanceFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceFleetInput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ModifyInstanceGroups' => [ 'name' => 'ModifyInstanceGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceGroupsInput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'PutAutoScalingPolicy' => [ 'name' => 'PutAutoScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAutoScalingPolicyInput', ], 'output' => [ 'shape' => 'PutAutoScalingPolicyOutput', ], ], 'RemoveAutoScalingPolicy' => [ 'name' => 'RemoveAutoScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveAutoScalingPolicyInput', ], 'output' => [ 'shape' => 'RemoveAutoScalingPolicyOutput', ], ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsInput', ], 'output' => [ 'shape' => 'RemoveTagsOutput', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'RunJobFlow' => [ 'name' => 'RunJobFlow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RunJobFlowInput', ], 'output' => [ 'shape' => 'RunJobFlowOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'SetTerminationProtection' => [ 'name' => 'SetTerminationProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetTerminationProtectionInput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'SetVisibleToAllUsers' => [ 'name' => 'SetVisibleToAllUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetVisibleToAllUsersInput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'TerminateJobFlows' => [ 'name' => 'TerminateJobFlows', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateJobFlowsInput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], ], 'shapes' => [ 'ActionOnFailure' => [ 'type' => 'string', 'enum' => [ 'TERMINATE_JOB_FLOW', 'TERMINATE_CLUSTER', 'CANCEL_AND_WAIT', 'CONTINUE', ], ], 'AddInstanceFleetInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'InstanceFleet', ], 'members' => [ 'ClusterId' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceFleet' => [ 'shape' => 'InstanceFleetConfig', ], ], ], 'AddInstanceFleetOutput' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceFleetId' => [ 'shape' => 'InstanceFleetId', ], ], ], 'AddInstanceGroupsInput' => [ 'type' => 'structure', 'required' => [ 'InstanceGroups', 'JobFlowId', ], 'members' => [ 'InstanceGroups' => [ 'shape' => 'InstanceGroupConfigList', ], 'JobFlowId' => [ 'shape' => 'XmlStringMaxLen256', ], ], ], 'AddInstanceGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'JobFlowId' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceGroupIds' => [ 'shape' => 'InstanceGroupIdsList', ], ], ], 'AddJobFlowStepsInput' => [ 'type' => 'structure', 'required' => [ 'JobFlowId', 'Steps', ], 'members' => [ 'JobFlowId' => [ 'shape' => 'XmlStringMaxLen256', ], 'Steps' => [ 'shape' => 'StepConfigList', ], ], ], 'AddJobFlowStepsOutput' => [ 'type' => 'structure', 'members' => [ 'StepIds' => [ 'shape' => 'StepIdsList', ], ], ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'Tags', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'AdjustmentType' => [ 'type' => 'string', 'enum' => [ 'CHANGE_IN_CAPACITY', 'PERCENT_CHANGE_IN_CAPACITY', 'EXACT_CAPACITY', ], ], 'Application' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], 'Args' => [ 'shape' => 'StringList', ], 'AdditionalInfo' => [ 'shape' => 'StringMap', ], ], ], 'ApplicationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Application', ], ], 'AutoScalingPolicy' => [ 'type' => 'structure', 'required' => [ 'Constraints', 'Rules', ], 'members' => [ 'Constraints' => [ 'shape' => 'ScalingConstraints', ], 'Rules' => [ 'shape' => 'ScalingRuleList', ], ], ], 'AutoScalingPolicyDescription' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'AutoScalingPolicyStatus', ], 'Constraints' => [ 'shape' => 'ScalingConstraints', ], 'Rules' => [ 'shape' => 'ScalingRuleList', ], ], ], 'AutoScalingPolicyState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ATTACHING', 'ATTACHED', 'DETACHING', 'DETACHED', 'FAILED', ], ], 'AutoScalingPolicyStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'AutoScalingPolicyStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'AutoScalingPolicyStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'USER_REQUEST', 'PROVISION_FAILURE', 'CLEANUP_FAILURE', ], ], 'AutoScalingPolicyStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'AutoScalingPolicyState', ], 'StateChangeReason' => [ 'shape' => 'AutoScalingPolicyStateChangeReason', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanObject' => [ 'type' => 'boolean', ], 'BootstrapActionConfig' => [ 'type' => 'structure', 'required' => [ 'Name', 'ScriptBootstrapAction', ], 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'ScriptBootstrapAction' => [ 'shape' => 'ScriptBootstrapActionConfig', ], ], ], 'BootstrapActionConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BootstrapActionConfig', ], ], 'BootstrapActionDetail' => [ 'type' => 'structure', 'members' => [ 'BootstrapActionConfig' => [ 'shape' => 'BootstrapActionConfig', ], ], ], 'BootstrapActionDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BootstrapActionDetail', ], ], 'CancelStepsInfo' => [ 'type' => 'structure', 'members' => [ 'StepId' => [ 'shape' => 'StepId', ], 'Status' => [ 'shape' => 'CancelStepsRequestStatus', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'CancelStepsInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CancelStepsInfo', ], ], 'CancelStepsInput' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'XmlStringMaxLen256', ], 'StepIds' => [ 'shape' => 'StepIdsList', ], ], ], 'CancelStepsOutput' => [ 'type' => 'structure', 'members' => [ 'CancelStepsInfoList' => [ 'shape' => 'CancelStepsInfoList', ], ], ], 'CancelStepsRequestStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'FAILED', ], ], 'CloudWatchAlarmDefinition' => [ 'type' => 'structure', 'required' => [ 'ComparisonOperator', 'MetricName', 'Period', 'Threshold', ], 'members' => [ 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'EvaluationPeriods' => [ 'shape' => 'Integer', ], 'MetricName' => [ 'shape' => 'String', ], 'Namespace' => [ 'shape' => 'String', ], 'Period' => [ 'shape' => 'Integer', ], 'Statistic' => [ 'shape' => 'Statistic', ], 'Threshold' => [ 'shape' => 'NonNegativeDouble', ], 'Unit' => [ 'shape' => 'Unit', ], 'Dimensions' => [ 'shape' => 'MetricDimensionList', ], ], ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ClusterId', ], 'Name' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'ClusterStatus', ], 'Ec2InstanceAttributes' => [ 'shape' => 'Ec2InstanceAttributes', ], 'InstanceCollectionType' => [ 'shape' => 'InstanceCollectionType', ], 'LogUri' => [ 'shape' => 'String', ], 'RequestedAmiVersion' => [ 'shape' => 'String', ], 'RunningAmiVersion' => [ 'shape' => 'String', ], 'ReleaseLabel' => [ 'shape' => 'String', ], 'AutoTerminate' => [ 'shape' => 'Boolean', ], 'TerminationProtected' => [ 'shape' => 'Boolean', ], 'VisibleToAllUsers' => [ 'shape' => 'Boolean', ], 'Applications' => [ 'shape' => 'ApplicationList', ], 'Tags' => [ 'shape' => 'TagList', ], 'ServiceRole' => [ 'shape' => 'String', ], 'NormalizedInstanceHours' => [ 'shape' => 'Integer', ], 'MasterPublicDnsName' => [ 'shape' => 'String', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'SecurityConfiguration' => [ 'shape' => 'XmlString', ], 'AutoScalingRole' => [ 'shape' => 'XmlString', ], 'ScaleDownBehavior' => [ 'shape' => 'ScaleDownBehavior', ], 'CustomAmiId' => [ 'shape' => 'XmlStringMaxLen256', ], 'EbsRootVolumeSize' => [ 'shape' => 'Integer', ], 'RepoUpgradeOnBoot' => [ 'shape' => 'RepoUpgradeOnBoot', ], 'KerberosAttributes' => [ 'shape' => 'KerberosAttributes', ], ], ], 'ClusterId' => [ 'type' => 'string', ], 'ClusterState' => [ 'type' => 'string', 'enum' => [ 'STARTING', 'BOOTSTRAPPING', 'RUNNING', 'WAITING', 'TERMINATING', 'TERMINATED', 'TERMINATED_WITH_ERRORS', ], ], 'ClusterStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ClusterStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'ClusterStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'VALIDATION_ERROR', 'INSTANCE_FAILURE', 'INSTANCE_FLEET_TIMEOUT', 'BOOTSTRAP_FAILURE', 'USER_REQUEST', 'STEP_FAILURE', 'ALL_STEPS_COMPLETED', ], ], 'ClusterStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterState', ], ], 'ClusterStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ClusterState', ], 'StateChangeReason' => [ 'shape' => 'ClusterStateChangeReason', ], 'Timeline' => [ 'shape' => 'ClusterTimeline', ], ], ], 'ClusterSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ClusterId', ], 'Name' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'ClusterStatus', ], 'NormalizedInstanceHours' => [ 'shape' => 'Integer', ], ], ], 'ClusterSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterSummary', ], ], 'ClusterTimeline' => [ 'type' => 'structure', 'members' => [ 'CreationDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'Command' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'ScriptPath' => [ 'shape' => 'String', ], 'Args' => [ 'shape' => 'StringList', ], ], ], 'CommandList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Command', ], ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GREATER_THAN_OR_EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_OR_EQUAL', ], ], 'Configuration' => [ 'type' => 'structure', 'members' => [ 'Classification' => [ 'shape' => 'String', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'Properties' => [ 'shape' => 'StringMap', ], ], ], 'ConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Configuration', ], ], 'CreateSecurityConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'SecurityConfiguration', ], 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], 'SecurityConfiguration' => [ 'shape' => 'String', ], ], ], 'CreateSecurityConfigurationOutput' => [ 'type' => 'structure', 'required' => [ 'Name', 'CreationDateTime', ], 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], 'CreationDateTime' => [ 'shape' => 'Date', ], ], ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteSecurityConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], ], ], 'DeleteSecurityConfigurationOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeClusterInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], ], ], 'DescribeClusterOutput' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'DescribeJobFlowsInput' => [ 'type' => 'structure', 'members' => [ 'CreatedAfter' => [ 'shape' => 'Date', ], 'CreatedBefore' => [ 'shape' => 'Date', ], 'JobFlowIds' => [ 'shape' => 'XmlStringList', ], 'JobFlowStates' => [ 'shape' => 'JobFlowExecutionStateList', ], ], ], 'DescribeJobFlowsOutput' => [ 'type' => 'structure', 'members' => [ 'JobFlows' => [ 'shape' => 'JobFlowDetailList', ], ], ], 'DescribeSecurityConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], ], ], 'DescribeSecurityConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], 'SecurityConfiguration' => [ 'shape' => 'String', ], 'CreationDateTime' => [ 'shape' => 'Date', ], ], ], 'DescribeStepInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'StepId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'StepId' => [ 'shape' => 'StepId', ], ], ], 'DescribeStepOutput' => [ 'type' => 'structure', 'members' => [ 'Step' => [ 'shape' => 'Step', ], ], ], 'EC2InstanceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', ], ], 'EC2InstanceIdsToTerminateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', ], ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'VolumeSpecification' => [ 'shape' => 'VolumeSpecification', ], 'Device' => [ 'shape' => 'String', ], ], ], 'EbsBlockDeviceConfig' => [ 'type' => 'structure', 'required' => [ 'VolumeSpecification', ], 'members' => [ 'VolumeSpecification' => [ 'shape' => 'VolumeSpecification', ], 'VolumesPerInstance' => [ 'shape' => 'Integer', ], ], ], 'EbsBlockDeviceConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EbsBlockDeviceConfig', ], ], 'EbsBlockDeviceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EbsBlockDevice', ], ], 'EbsConfiguration' => [ 'type' => 'structure', 'members' => [ 'EbsBlockDeviceConfigs' => [ 'shape' => 'EbsBlockDeviceConfigList', ], 'EbsOptimized' => [ 'shape' => 'BooleanObject', ], ], ], 'EbsVolume' => [ 'type' => 'structure', 'members' => [ 'Device' => [ 'shape' => 'String', ], 'VolumeId' => [ 'shape' => 'String', ], ], ], 'EbsVolumeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EbsVolume', ], ], 'Ec2InstanceAttributes' => [ 'type' => 'structure', 'members' => [ 'Ec2KeyName' => [ 'shape' => 'String', ], 'Ec2SubnetId' => [ 'shape' => 'String', ], 'RequestedEc2SubnetIds' => [ 'shape' => 'XmlStringMaxLen256List', ], 'Ec2AvailabilityZone' => [ 'shape' => 'String', ], 'RequestedEc2AvailabilityZones' => [ 'shape' => 'XmlStringMaxLen256List', ], 'IamInstanceProfile' => [ 'shape' => 'String', ], 'EmrManagedMasterSecurityGroup' => [ 'shape' => 'String', ], 'EmrManagedSlaveSecurityGroup' => [ 'shape' => 'String', ], 'ServiceAccessSecurityGroup' => [ 'shape' => 'String', ], 'AdditionalMasterSecurityGroups' => [ 'shape' => 'StringList', ], 'AdditionalSlaveSecurityGroups' => [ 'shape' => 'StringList', ], ], ], 'ErrorCode' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ErrorMessage' => [ 'type' => 'string', ], 'FailureDetails' => [ 'type' => 'structure', 'members' => [ 'Reason' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], 'LogFile' => [ 'shape' => 'String', ], ], ], 'HadoopJarStepConfig' => [ 'type' => 'structure', 'required' => [ 'Jar', ], 'members' => [ 'Properties' => [ 'shape' => 'KeyValueList', ], 'Jar' => [ 'shape' => 'XmlString', ], 'MainClass' => [ 'shape' => 'XmlString', ], 'Args' => [ 'shape' => 'XmlStringList', ], ], ], 'HadoopStepConfig' => [ 'type' => 'structure', 'members' => [ 'Jar' => [ 'shape' => 'String', ], 'Properties' => [ 'shape' => 'StringMap', ], 'MainClass' => [ 'shape' => 'String', ], 'Args' => [ 'shape' => 'StringList', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'InstanceId', ], 'Ec2InstanceId' => [ 'shape' => 'InstanceId', ], 'PublicDnsName' => [ 'shape' => 'String', ], 'PublicIpAddress' => [ 'shape' => 'String', ], 'PrivateDnsName' => [ 'shape' => 'String', ], 'PrivateIpAddress' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'InstanceStatus', ], 'InstanceGroupId' => [ 'shape' => 'String', ], 'InstanceFleetId' => [ 'shape' => 'InstanceFleetId', ], 'Market' => [ 'shape' => 'MarketType', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'EbsVolumes' => [ 'shape' => 'EbsVolumeList', ], ], ], 'InstanceCollectionType' => [ 'type' => 'string', 'enum' => [ 'INSTANCE_FLEET', 'INSTANCE_GROUP', ], ], 'InstanceFleet' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'InstanceFleetId', ], 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'Status' => [ 'shape' => 'InstanceFleetStatus', ], 'InstanceFleetType' => [ 'shape' => 'InstanceFleetType', ], 'TargetOnDemandCapacity' => [ 'shape' => 'WholeNumber', ], 'TargetSpotCapacity' => [ 'shape' => 'WholeNumber', ], 'ProvisionedOnDemandCapacity' => [ 'shape' => 'WholeNumber', ], 'ProvisionedSpotCapacity' => [ 'shape' => 'WholeNumber', ], 'InstanceTypeSpecifications' => [ 'shape' => 'InstanceTypeSpecificationList', ], 'LaunchSpecifications' => [ 'shape' => 'InstanceFleetProvisioningSpecifications', ], ], ], 'InstanceFleetConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceFleetType', ], 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceFleetType' => [ 'shape' => 'InstanceFleetType', ], 'TargetOnDemandCapacity' => [ 'shape' => 'WholeNumber', ], 'TargetSpotCapacity' => [ 'shape' => 'WholeNumber', ], 'InstanceTypeConfigs' => [ 'shape' => 'InstanceTypeConfigList', ], 'LaunchSpecifications' => [ 'shape' => 'InstanceFleetProvisioningSpecifications', ], ], ], 'InstanceFleetConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceFleetConfig', ], ], 'InstanceFleetId' => [ 'type' => 'string', ], 'InstanceFleetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceFleet', ], ], 'InstanceFleetModifyConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceFleetId', ], 'members' => [ 'InstanceFleetId' => [ 'shape' => 'InstanceFleetId', ], 'TargetOnDemandCapacity' => [ 'shape' => 'WholeNumber', ], 'TargetSpotCapacity' => [ 'shape' => 'WholeNumber', ], ], ], 'InstanceFleetProvisioningSpecifications' => [ 'type' => 'structure', 'required' => [ 'SpotSpecification', ], 'members' => [ 'SpotSpecification' => [ 'shape' => 'SpotProvisioningSpecification', ], ], ], 'InstanceFleetState' => [ 'type' => 'string', 'enum' => [ 'PROVISIONING', 'BOOTSTRAPPING', 'RUNNING', 'RESIZING', 'SUSPENDED', 'TERMINATING', 'TERMINATED', ], ], 'InstanceFleetStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'InstanceFleetStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'InstanceFleetStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'VALIDATION_ERROR', 'INSTANCE_FAILURE', 'CLUSTER_TERMINATED', ], ], 'InstanceFleetStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'InstanceFleetState', ], 'StateChangeReason' => [ 'shape' => 'InstanceFleetStateChangeReason', ], 'Timeline' => [ 'shape' => 'InstanceFleetTimeline', ], ], ], 'InstanceFleetTimeline' => [ 'type' => 'structure', 'members' => [ 'CreationDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'InstanceFleetType' => [ 'type' => 'string', 'enum' => [ 'MASTER', 'CORE', 'TASK', ], ], 'InstanceGroup' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'InstanceGroupId', ], 'Name' => [ 'shape' => 'String', ], 'Market' => [ 'shape' => 'MarketType', ], 'InstanceGroupType' => [ 'shape' => 'InstanceGroupType', ], 'BidPrice' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'RequestedInstanceCount' => [ 'shape' => 'Integer', ], 'RunningInstanceCount' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'InstanceGroupStatus', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'ConfigurationsVersion' => [ 'shape' => 'Long', ], 'LastSuccessfullyAppliedConfigurations' => [ 'shape' => 'ConfigurationList', ], 'LastSuccessfullyAppliedConfigurationsVersion' => [ 'shape' => 'Long', ], 'EbsBlockDevices' => [ 'shape' => 'EbsBlockDeviceList', ], 'EbsOptimized' => [ 'shape' => 'BooleanObject', ], 'ShrinkPolicy' => [ 'shape' => 'ShrinkPolicy', ], 'AutoScalingPolicy' => [ 'shape' => 'AutoScalingPolicyDescription', ], ], ], 'InstanceGroupConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceRole', 'InstanceType', 'InstanceCount', ], 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'Market' => [ 'shape' => 'MarketType', ], 'InstanceRole' => [ 'shape' => 'InstanceRoleType', ], 'BidPrice' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'EbsConfiguration' => [ 'shape' => 'EbsConfiguration', ], 'AutoScalingPolicy' => [ 'shape' => 'AutoScalingPolicy', ], ], ], 'InstanceGroupConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceGroupConfig', ], ], 'InstanceGroupDetail' => [ 'type' => 'structure', 'required' => [ 'Market', 'InstanceRole', 'InstanceType', 'InstanceRequestCount', 'InstanceRunningCount', 'State', 'CreationDateTime', ], 'members' => [ 'InstanceGroupId' => [ 'shape' => 'XmlStringMaxLen256', ], 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'Market' => [ 'shape' => 'MarketType', ], 'InstanceRole' => [ 'shape' => 'InstanceRoleType', ], 'BidPrice' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'InstanceRequestCount' => [ 'shape' => 'Integer', ], 'InstanceRunningCount' => [ 'shape' => 'Integer', ], 'State' => [ 'shape' => 'InstanceGroupState', ], 'LastStateChangeReason' => [ 'shape' => 'XmlString', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'StartDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'InstanceGroupDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceGroupDetail', ], ], 'InstanceGroupId' => [ 'type' => 'string', ], 'InstanceGroupIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], 'InstanceGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceGroup', ], ], 'InstanceGroupModifyConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceGroupId', ], 'members' => [ 'InstanceGroupId' => [ 'shape' => 'XmlStringMaxLen256', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'EC2InstanceIdsToTerminate' => [ 'shape' => 'EC2InstanceIdsToTerminateList', ], 'ShrinkPolicy' => [ 'shape' => 'ShrinkPolicy', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], ], ], 'InstanceGroupModifyConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceGroupModifyConfig', ], ], 'InstanceGroupState' => [ 'type' => 'string', 'enum' => [ 'PROVISIONING', 'BOOTSTRAPPING', 'RUNNING', 'RECONFIGURING', 'RESIZING', 'SUSPENDED', 'TERMINATING', 'TERMINATED', 'ARRESTED', 'SHUTTING_DOWN', 'ENDED', ], ], 'InstanceGroupStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'InstanceGroupStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'InstanceGroupStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'VALIDATION_ERROR', 'INSTANCE_FAILURE', 'CLUSTER_TERMINATED', ], ], 'InstanceGroupStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'InstanceGroupState', ], 'StateChangeReason' => [ 'shape' => 'InstanceGroupStateChangeReason', ], 'Timeline' => [ 'shape' => 'InstanceGroupTimeline', ], ], ], 'InstanceGroupTimeline' => [ 'type' => 'structure', 'members' => [ 'CreationDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'InstanceGroupType' => [ 'type' => 'string', 'enum' => [ 'MASTER', 'CORE', 'TASK', ], ], 'InstanceGroupTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceGroupType', ], ], 'InstanceId' => [ 'type' => 'string', ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstanceResizePolicy' => [ 'type' => 'structure', 'members' => [ 'InstancesToTerminate' => [ 'shape' => 'EC2InstanceIdsList', ], 'InstancesToProtect' => [ 'shape' => 'EC2InstanceIdsList', ], 'InstanceTerminationTimeout' => [ 'shape' => 'Integer', ], ], ], 'InstanceRoleType' => [ 'type' => 'string', 'enum' => [ 'MASTER', 'CORE', 'TASK', ], ], 'InstanceState' => [ 'type' => 'string', 'enum' => [ 'AWAITING_FULFILLMENT', 'PROVISIONING', 'BOOTSTRAPPING', 'RUNNING', 'TERMINATED', ], ], 'InstanceStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'InstanceStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'InstanceStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'INTERNAL_ERROR', 'VALIDATION_ERROR', 'INSTANCE_FAILURE', 'BOOTSTRAP_FAILURE', 'CLUSTER_TERMINATED', ], ], 'InstanceStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceState', ], ], 'InstanceStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'InstanceState', ], 'StateChangeReason' => [ 'shape' => 'InstanceStateChangeReason', ], 'Timeline' => [ 'shape' => 'InstanceTimeline', ], ], ], 'InstanceTimeline' => [ 'type' => 'structure', 'members' => [ 'CreationDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'InstanceType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'InstanceTypeConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceType', ], 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', ], 'WeightedCapacity' => [ 'shape' => 'WholeNumber', ], 'BidPrice' => [ 'shape' => 'XmlStringMaxLen256', ], 'BidPriceAsPercentageOfOnDemandPrice' => [ 'shape' => 'NonNegativeDouble', ], 'EbsConfiguration' => [ 'shape' => 'EbsConfiguration', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], ], ], 'InstanceTypeConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceTypeConfig', ], ], 'InstanceTypeSpecification' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'InstanceType', ], 'WeightedCapacity' => [ 'shape' => 'WholeNumber', ], 'BidPrice' => [ 'shape' => 'XmlStringMaxLen256', ], 'BidPriceAsPercentageOfOnDemandPrice' => [ 'shape' => 'NonNegativeDouble', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'EbsBlockDevices' => [ 'shape' => 'EbsBlockDeviceList', ], 'EbsOptimized' => [ 'shape' => 'BooleanObject', ], ], ], 'InstanceTypeSpecificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceTypeSpecification', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'JobFlowDetail' => [ 'type' => 'structure', 'required' => [ 'JobFlowId', 'Name', 'ExecutionStatusDetail', 'Instances', ], 'members' => [ 'JobFlowId' => [ 'shape' => 'XmlStringMaxLen256', ], 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'LogUri' => [ 'shape' => 'XmlString', ], 'AmiVersion' => [ 'shape' => 'XmlStringMaxLen256', ], 'ExecutionStatusDetail' => [ 'shape' => 'JobFlowExecutionStatusDetail', ], 'Instances' => [ 'shape' => 'JobFlowInstancesDetail', ], 'Steps' => [ 'shape' => 'StepDetailList', ], 'BootstrapActions' => [ 'shape' => 'BootstrapActionDetailList', ], 'SupportedProducts' => [ 'shape' => 'SupportedProductsList', ], 'VisibleToAllUsers' => [ 'shape' => 'Boolean', ], 'JobFlowRole' => [ 'shape' => 'XmlString', ], 'ServiceRole' => [ 'shape' => 'XmlString', ], 'AutoScalingRole' => [ 'shape' => 'XmlString', ], 'ScaleDownBehavior' => [ 'shape' => 'ScaleDownBehavior', ], ], ], 'JobFlowDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobFlowDetail', ], ], 'JobFlowExecutionState' => [ 'type' => 'string', 'enum' => [ 'STARTING', 'BOOTSTRAPPING', 'RUNNING', 'WAITING', 'SHUTTING_DOWN', 'TERMINATED', 'COMPLETED', 'FAILED', ], ], 'JobFlowExecutionStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobFlowExecutionState', ], ], 'JobFlowExecutionStatusDetail' => [ 'type' => 'structure', 'required' => [ 'State', 'CreationDateTime', ], 'members' => [ 'State' => [ 'shape' => 'JobFlowExecutionState', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'StartDateTime' => [ 'shape' => 'Date', ], 'ReadyDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], 'LastStateChangeReason' => [ 'shape' => 'XmlString', ], ], ], 'JobFlowInstancesConfig' => [ 'type' => 'structure', 'members' => [ 'MasterInstanceType' => [ 'shape' => 'InstanceType', ], 'SlaveInstanceType' => [ 'shape' => 'InstanceType', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'InstanceGroups' => [ 'shape' => 'InstanceGroupConfigList', ], 'InstanceFleets' => [ 'shape' => 'InstanceFleetConfigList', ], 'Ec2KeyName' => [ 'shape' => 'XmlStringMaxLen256', ], 'Placement' => [ 'shape' => 'PlacementType', ], 'KeepJobFlowAliveWhenNoSteps' => [ 'shape' => 'Boolean', ], 'TerminationProtected' => [ 'shape' => 'Boolean', ], 'HadoopVersion' => [ 'shape' => 'XmlStringMaxLen256', ], 'Ec2SubnetId' => [ 'shape' => 'XmlStringMaxLen256', ], 'Ec2SubnetIds' => [ 'shape' => 'XmlStringMaxLen256List', ], 'EmrManagedMasterSecurityGroup' => [ 'shape' => 'XmlStringMaxLen256', ], 'EmrManagedSlaveSecurityGroup' => [ 'shape' => 'XmlStringMaxLen256', ], 'ServiceAccessSecurityGroup' => [ 'shape' => 'XmlStringMaxLen256', ], 'AdditionalMasterSecurityGroups' => [ 'shape' => 'SecurityGroupsList', ], 'AdditionalSlaveSecurityGroups' => [ 'shape' => 'SecurityGroupsList', ], ], ], 'JobFlowInstancesDetail' => [ 'type' => 'structure', 'required' => [ 'MasterInstanceType', 'SlaveInstanceType', 'InstanceCount', ], 'members' => [ 'MasterInstanceType' => [ 'shape' => 'InstanceType', ], 'MasterPublicDnsName' => [ 'shape' => 'XmlString', ], 'MasterInstanceId' => [ 'shape' => 'XmlString', ], 'SlaveInstanceType' => [ 'shape' => 'InstanceType', ], 'InstanceCount' => [ 'shape' => 'Integer', ], 'InstanceGroups' => [ 'shape' => 'InstanceGroupDetailList', ], 'NormalizedInstanceHours' => [ 'shape' => 'Integer', ], 'Ec2KeyName' => [ 'shape' => 'XmlStringMaxLen256', ], 'Ec2SubnetId' => [ 'shape' => 'XmlStringMaxLen256', ], 'Placement' => [ 'shape' => 'PlacementType', ], 'KeepJobFlowAliveWhenNoSteps' => [ 'shape' => 'Boolean', ], 'TerminationProtected' => [ 'shape' => 'Boolean', ], 'HadoopVersion' => [ 'shape' => 'XmlStringMaxLen256', ], ], ], 'KerberosAttributes' => [ 'type' => 'structure', 'required' => [ 'Realm', 'KdcAdminPassword', ], 'members' => [ 'Realm' => [ 'shape' => 'XmlStringMaxLen256', ], 'KdcAdminPassword' => [ 'shape' => 'XmlStringMaxLen256', ], 'CrossRealmTrustPrincipalPassword' => [ 'shape' => 'XmlStringMaxLen256', ], 'ADDomainJoinUser' => [ 'shape' => 'XmlStringMaxLen256', ], 'ADDomainJoinPassword' => [ 'shape' => 'XmlStringMaxLen256', ], ], ], 'KeyValue' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'XmlString', ], 'Value' => [ 'shape' => 'XmlString', ], ], ], 'KeyValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyValue', ], ], 'ListBootstrapActionsInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListBootstrapActionsOutput' => [ 'type' => 'structure', 'members' => [ 'BootstrapActions' => [ 'shape' => 'CommandList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListClustersInput' => [ 'type' => 'structure', 'members' => [ 'CreatedAfter' => [ 'shape' => 'Date', ], 'CreatedBefore' => [ 'shape' => 'Date', ], 'ClusterStates' => [ 'shape' => 'ClusterStateList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListClustersOutput' => [ 'type' => 'structure', 'members' => [ 'Clusters' => [ 'shape' => 'ClusterSummaryList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstanceFleetsInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstanceFleetsOutput' => [ 'type' => 'structure', 'members' => [ 'InstanceFleets' => [ 'shape' => 'InstanceFleetList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstanceGroupsInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstanceGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'InstanceGroups' => [ 'shape' => 'InstanceGroupList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstancesInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceGroupId' => [ 'shape' => 'InstanceGroupId', ], 'InstanceGroupTypes' => [ 'shape' => 'InstanceGroupTypeList', ], 'InstanceFleetId' => [ 'shape' => 'InstanceFleetId', ], 'InstanceFleetType' => [ 'shape' => 'InstanceFleetType', ], 'InstanceStates' => [ 'shape' => 'InstanceStateList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'InstanceList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListSecurityConfigurationsInput' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListSecurityConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'SecurityConfigurations' => [ 'shape' => 'SecurityConfigurationList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListStepsInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'StepStates' => [ 'shape' => 'StepStateList', ], 'StepIds' => [ 'shape' => 'XmlStringList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListStepsOutput' => [ 'type' => 'structure', 'members' => [ 'Steps' => [ 'shape' => 'StepSummaryList', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'Long' => [ 'type' => 'long', ], 'Marker' => [ 'type' => 'string', ], 'MarketType' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND', 'SPOT', ], ], 'MetricDimension' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'MetricDimensionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDimension', ], ], 'ModifyInstanceFleetInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'InstanceFleet', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceFleet' => [ 'shape' => 'InstanceFleetModifyConfig', ], ], ], 'ModifyInstanceGroupsInput' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceGroups' => [ 'shape' => 'InstanceGroupModifyConfigList', ], ], ], 'NewSupportedProductsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedProductConfig', ], ], 'NonNegativeDouble' => [ 'type' => 'double', 'min' => 0, ], 'PlacementType' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => 'XmlString', ], 'AvailabilityZones' => [ 'shape' => 'XmlStringMaxLen256List', ], ], ], 'PutAutoScalingPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'InstanceGroupId', 'AutoScalingPolicy', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceGroupId' => [ 'shape' => 'InstanceGroupId', ], 'AutoScalingPolicy' => [ 'shape' => 'AutoScalingPolicy', ], ], ], 'PutAutoScalingPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceGroupId' => [ 'shape' => 'InstanceGroupId', ], 'AutoScalingPolicy' => [ 'shape' => 'AutoScalingPolicyDescription', ], ], ], 'RemoveAutoScalingPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ClusterId', 'InstanceGroupId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'InstanceGroupId' => [ 'shape' => 'InstanceGroupId', ], ], ], 'RemoveAutoScalingPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'RemoveTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagKeys', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagKeys' => [ 'shape' => 'StringList', ], ], ], 'RemoveTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'RepoUpgradeOnBoot' => [ 'type' => 'string', 'enum' => [ 'SECURITY', 'NONE', ], ], 'ResourceId' => [ 'type' => 'string', ], 'RunJobFlowInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'Instances', ], 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'LogUri' => [ 'shape' => 'XmlString', ], 'AdditionalInfo' => [ 'shape' => 'XmlString', ], 'AmiVersion' => [ 'shape' => 'XmlStringMaxLen256', ], 'ReleaseLabel' => [ 'shape' => 'XmlStringMaxLen256', ], 'Instances' => [ 'shape' => 'JobFlowInstancesConfig', ], 'Steps' => [ 'shape' => 'StepConfigList', ], 'BootstrapActions' => [ 'shape' => 'BootstrapActionConfigList', ], 'SupportedProducts' => [ 'shape' => 'SupportedProductsList', ], 'NewSupportedProducts' => [ 'shape' => 'NewSupportedProductsList', ], 'Applications' => [ 'shape' => 'ApplicationList', ], 'Configurations' => [ 'shape' => 'ConfigurationList', ], 'VisibleToAllUsers' => [ 'shape' => 'Boolean', ], 'JobFlowRole' => [ 'shape' => 'XmlString', ], 'ServiceRole' => [ 'shape' => 'XmlString', ], 'Tags' => [ 'shape' => 'TagList', ], 'SecurityConfiguration' => [ 'shape' => 'XmlString', ], 'AutoScalingRole' => [ 'shape' => 'XmlString', ], 'ScaleDownBehavior' => [ 'shape' => 'ScaleDownBehavior', ], 'CustomAmiId' => [ 'shape' => 'XmlStringMaxLen256', ], 'EbsRootVolumeSize' => [ 'shape' => 'Integer', ], 'RepoUpgradeOnBoot' => [ 'shape' => 'RepoUpgradeOnBoot', ], 'KerberosAttributes' => [ 'shape' => 'KerberosAttributes', ], ], ], 'RunJobFlowOutput' => [ 'type' => 'structure', 'members' => [ 'JobFlowId' => [ 'shape' => 'XmlStringMaxLen256', ], ], ], 'ScaleDownBehavior' => [ 'type' => 'string', 'enum' => [ 'TERMINATE_AT_INSTANCE_HOUR', 'TERMINATE_AT_TASK_COMPLETION', ], ], 'ScalingAction' => [ 'type' => 'structure', 'required' => [ 'SimpleScalingPolicyConfiguration', ], 'members' => [ 'Market' => [ 'shape' => 'MarketType', ], 'SimpleScalingPolicyConfiguration' => [ 'shape' => 'SimpleScalingPolicyConfiguration', ], ], ], 'ScalingConstraints' => [ 'type' => 'structure', 'required' => [ 'MinCapacity', 'MaxCapacity', ], 'members' => [ 'MinCapacity' => [ 'shape' => 'Integer', ], 'MaxCapacity' => [ 'shape' => 'Integer', ], ], ], 'ScalingRule' => [ 'type' => 'structure', 'required' => [ 'Name', 'Action', 'Trigger', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Action' => [ 'shape' => 'ScalingAction', ], 'Trigger' => [ 'shape' => 'ScalingTrigger', ], ], ], 'ScalingRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingRule', ], ], 'ScalingTrigger' => [ 'type' => 'structure', 'required' => [ 'CloudWatchAlarmDefinition', ], 'members' => [ 'CloudWatchAlarmDefinition' => [ 'shape' => 'CloudWatchAlarmDefinition', ], ], ], 'ScriptBootstrapActionConfig' => [ 'type' => 'structure', 'required' => [ 'Path', ], 'members' => [ 'Path' => [ 'shape' => 'XmlString', ], 'Args' => [ 'shape' => 'XmlStringList', ], ], ], 'SecurityConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityConfigurationSummary', ], ], 'SecurityConfigurationSummary' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'XmlString', ], 'CreationDateTime' => [ 'shape' => 'Date', ], ], ], 'SecurityGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], 'SetTerminationProtectionInput' => [ 'type' => 'structure', 'required' => [ 'JobFlowIds', 'TerminationProtected', ], 'members' => [ 'JobFlowIds' => [ 'shape' => 'XmlStringList', ], 'TerminationProtected' => [ 'shape' => 'Boolean', ], ], ], 'SetVisibleToAllUsersInput' => [ 'type' => 'structure', 'required' => [ 'JobFlowIds', 'VisibleToAllUsers', ], 'members' => [ 'JobFlowIds' => [ 'shape' => 'XmlStringList', ], 'VisibleToAllUsers' => [ 'shape' => 'Boolean', ], ], ], 'ShrinkPolicy' => [ 'type' => 'structure', 'members' => [ 'DecommissionTimeout' => [ 'shape' => 'Integer', ], 'InstanceResizePolicy' => [ 'shape' => 'InstanceResizePolicy', ], ], ], 'SimpleScalingPolicyConfiguration' => [ 'type' => 'structure', 'required' => [ 'ScalingAdjustment', ], 'members' => [ 'AdjustmentType' => [ 'shape' => 'AdjustmentType', ], 'ScalingAdjustment' => [ 'shape' => 'Integer', ], 'CoolDown' => [ 'shape' => 'Integer', ], ], ], 'SpotProvisioningSpecification' => [ 'type' => 'structure', 'required' => [ 'TimeoutDurationMinutes', 'TimeoutAction', ], 'members' => [ 'TimeoutDurationMinutes' => [ 'shape' => 'WholeNumber', ], 'TimeoutAction' => [ 'shape' => 'SpotProvisioningTimeoutAction', ], 'BlockDurationMinutes' => [ 'shape' => 'WholeNumber', ], ], ], 'SpotProvisioningTimeoutAction' => [ 'type' => 'string', 'enum' => [ 'SWITCH_TO_ON_DEMAND', 'TERMINATE_CLUSTER', ], ], 'Statistic' => [ 'type' => 'string', 'enum' => [ 'SAMPLE_COUNT', 'AVERAGE', 'SUM', 'MINIMUM', 'MAXIMUM', ], ], 'Step' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'StepId', ], 'Name' => [ 'shape' => 'String', ], 'Config' => [ 'shape' => 'HadoopStepConfig', ], 'ActionOnFailure' => [ 'shape' => 'ActionOnFailure', ], 'Status' => [ 'shape' => 'StepStatus', ], ], ], 'StepConfig' => [ 'type' => 'structure', 'required' => [ 'Name', 'HadoopJarStep', ], 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'ActionOnFailure' => [ 'shape' => 'ActionOnFailure', ], 'HadoopJarStep' => [ 'shape' => 'HadoopJarStepConfig', ], ], ], 'StepConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepConfig', ], ], 'StepDetail' => [ 'type' => 'structure', 'required' => [ 'StepConfig', 'ExecutionStatusDetail', ], 'members' => [ 'StepConfig' => [ 'shape' => 'StepConfig', ], 'ExecutionStatusDetail' => [ 'shape' => 'StepExecutionStatusDetail', ], ], ], 'StepDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepDetail', ], ], 'StepExecutionState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'RUNNING', 'CONTINUE', 'COMPLETED', 'CANCELLED', 'FAILED', 'INTERRUPTED', ], ], 'StepExecutionStatusDetail' => [ 'type' => 'structure', 'required' => [ 'State', 'CreationDateTime', ], 'members' => [ 'State' => [ 'shape' => 'StepExecutionState', ], 'CreationDateTime' => [ 'shape' => 'Date', ], 'StartDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], 'LastStateChangeReason' => [ 'shape' => 'XmlString', ], ], ], 'StepId' => [ 'type' => 'string', ], 'StepIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], 'StepState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'CANCEL_PENDING', 'RUNNING', 'COMPLETED', 'CANCELLED', 'FAILED', 'INTERRUPTED', ], ], 'StepStateChangeReason' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'StepStateChangeReasonCode', ], 'Message' => [ 'shape' => 'String', ], ], ], 'StepStateChangeReasonCode' => [ 'type' => 'string', 'enum' => [ 'NONE', ], ], 'StepStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepState', ], ], 'StepStatus' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'StepState', ], 'StateChangeReason' => [ 'shape' => 'StepStateChangeReason', ], 'FailureDetails' => [ 'shape' => 'FailureDetails', ], 'Timeline' => [ 'shape' => 'StepTimeline', ], ], ], 'StepSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'StepId', ], 'Name' => [ 'shape' => 'String', ], 'Config' => [ 'shape' => 'HadoopStepConfig', ], 'ActionOnFailure' => [ 'shape' => 'ActionOnFailure', ], 'Status' => [ 'shape' => 'StepStatus', ], ], ], 'StepSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepSummary', ], ], 'StepTimeline' => [ 'type' => 'structure', 'members' => [ 'CreationDateTime' => [ 'shape' => 'Date', ], 'StartDateTime' => [ 'shape' => 'Date', ], 'EndDateTime' => [ 'shape' => 'Date', ], ], ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'StringMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'SupportedProductConfig' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'XmlStringMaxLen256', ], 'Args' => [ 'shape' => 'XmlStringList', ], ], ], 'SupportedProductsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TerminateJobFlowsInput' => [ 'type' => 'structure', 'required' => [ 'JobFlowIds', ], 'members' => [ 'JobFlowIds' => [ 'shape' => 'XmlStringList', ], ], ], 'Unit' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SECONDS', 'MICRO_SECONDS', 'MILLI_SECONDS', 'BYTES', 'KILO_BYTES', 'MEGA_BYTES', 'GIGA_BYTES', 'TERA_BYTES', 'BITS', 'KILO_BITS', 'MEGA_BITS', 'GIGA_BITS', 'TERA_BITS', 'PERCENT', 'COUNT', 'BYTES_PER_SECOND', 'KILO_BYTES_PER_SECOND', 'MEGA_BYTES_PER_SECOND', 'GIGA_BYTES_PER_SECOND', 'TERA_BYTES_PER_SECOND', 'BITS_PER_SECOND', 'KILO_BITS_PER_SECOND', 'MEGA_BITS_PER_SECOND', 'GIGA_BITS_PER_SECOND', 'TERA_BITS_PER_SECOND', 'COUNT_PER_SECOND', ], ], 'VolumeSpecification' => [ 'type' => 'structure', 'required' => [ 'VolumeType', 'SizeInGB', ], 'members' => [ 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'SizeInGB' => [ 'shape' => 'Integer', ], ], ], 'WholeNumber' => [ 'type' => 'integer', 'min' => 0, ], 'XmlString' => [ 'type' => 'string', 'max' => 10280, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlString', ], ], 'XmlStringMaxLen256' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'XmlStringMaxLen256List' => [ 'type' => 'list', 'member' => [ 'shape' => 'XmlStringMaxLen256', ], ], ],]; diff --git a/lib/aws/Aws/data/elasticmapreduce/2009-03-31/paginators-1.json.php b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/paginators-1.json.php new file mode 100644 index 0000000..b3e2d22 --- /dev/null +++ b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticmapreduce/2009-03-31/paginators-1.json +return [ 'pagination' => [ 'DescribeJobFlows' => [ 'result_key' => 'JobFlows', ], 'ListBootstrapActions' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'BootstrapActions', ], 'ListClusters' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'Clusters', ], 'ListInstanceFleets' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'InstanceFleets', ], 'ListInstanceGroups' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'InstanceGroups', ], 'ListInstances' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'Instances', ], 'ListSecurityConfigurations' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'SecurityConfigurations', ], 'ListSteps' => [ 'input_token' => 'Marker', 'output_token' => 'Marker', 'result_key' => 'Steps', ], ],]; diff --git a/lib/aws/Aws/data/elasticmapreduce/2009-03-31/smoke.json.php b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/smoke.json.php new file mode 100644 index 0000000..ebc6078 --- /dev/null +++ b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticmapreduce/2009-03-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListClusters', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeCluster', 'input' => [ 'ClusterId' => 'fake_cluster', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elasticmapreduce/2009-03-31/waiters-2.json.php b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/waiters-2.json.php new file mode 100644 index 0000000..537c730 --- /dev/null +++ b/lib/aws/Aws/data/elasticmapreduce/2009-03-31/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elasticmapreduce/2009-03-31/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'ClusterRunning' => [ 'delay' => 30, 'operation' => 'DescribeCluster', 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'RUNNING', ], [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'WAITING', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'TERMINATING', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'TERMINATED', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'TERMINATED_WITH_ERRORS', ], ], ], 'StepComplete' => [ 'delay' => 30, 'operation' => 'DescribeStep', 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'Step.Status.State', 'expected' => 'COMPLETED', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Step.Status.State', 'expected' => 'FAILED', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Step.Status.State', 'expected' => 'CANCELLED', ], ], ], 'ClusterTerminated' => [ 'delay' => 30, 'operation' => 'DescribeCluster', 'maxAttempts' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'TERMINATED', ], [ 'state' => 'failure', 'matcher' => 'path', 'argument' => 'Cluster.Status.State', 'expected' => 'TERMINATED_WITH_ERRORS', ], ], ], ],]; diff --git a/lib/aws/Aws/data/elastictranscoder/2012-09-25/api-2.json.php b/lib/aws/Aws/data/elastictranscoder/2012-09-25/api-2.json.php new file mode 100644 index 0000000..d3a6701 --- /dev/null +++ b/lib/aws/Aws/data/elastictranscoder/2012-09-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elastictranscoder/2012-09-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-09-25', 'endpointPrefix' => 'elastictranscoder', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Elastic Transcoder', 'serviceId' => 'Elastic Transcoder', 'signatureVersion' => 'v4', 'uid' => 'elastictranscoder-2012-09-25', ], 'operations' => [ 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2012-09-25/jobs/{Id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'CancelJobRequest', ], 'output' => [ 'shape' => 'CancelJobResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/jobs', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateJobRequest', ], 'output' => [ 'shape' => 'CreateJobResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'CreatePipeline' => [ 'name' => 'CreatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/pipelines', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePipelineRequest', ], 'output' => [ 'shape' => 'CreatePipelineResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'CreatePreset' => [ 'name' => 'CreatePreset', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/presets', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePresetRequest', ], 'output' => [ 'shape' => 'CreatePresetResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeletePipeline' => [ 'name' => 'DeletePipeline', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2012-09-25/pipelines/{Id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeletePipelineRequest', ], 'output' => [ 'shape' => 'DeletePipelineResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeletePreset' => [ 'name' => 'DeletePreset', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2012-09-25/presets/{Id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeletePresetRequest', ], 'output' => [ 'shape' => 'DeletePresetResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListJobsByPipeline' => [ 'name' => 'ListJobsByPipeline', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/jobsByPipeline/{PipelineId}', ], 'input' => [ 'shape' => 'ListJobsByPipelineRequest', ], 'output' => [ 'shape' => 'ListJobsByPipelineResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListJobsByStatus' => [ 'name' => 'ListJobsByStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/jobsByStatus/{Status}', ], 'input' => [ 'shape' => 'ListJobsByStatusRequest', ], 'output' => [ 'shape' => 'ListJobsByStatusResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListPipelines' => [ 'name' => 'ListPipelines', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/pipelines', ], 'input' => [ 'shape' => 'ListPipelinesRequest', ], 'output' => [ 'shape' => 'ListPipelinesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListPresets' => [ 'name' => 'ListPresets', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/presets', ], 'input' => [ 'shape' => 'ListPresetsRequest', ], 'output' => [ 'shape' => 'ListPresetsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ReadJob' => [ 'name' => 'ReadJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/jobs/{Id}', ], 'input' => [ 'shape' => 'ReadJobRequest', ], 'output' => [ 'shape' => 'ReadJobResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ReadPipeline' => [ 'name' => 'ReadPipeline', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/pipelines/{Id}', ], 'input' => [ 'shape' => 'ReadPipelineRequest', ], 'output' => [ 'shape' => 'ReadPipelineResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ReadPreset' => [ 'name' => 'ReadPreset', 'http' => [ 'method' => 'GET', 'requestUri' => '/2012-09-25/presets/{Id}', ], 'input' => [ 'shape' => 'ReadPresetRequest', ], 'output' => [ 'shape' => 'ReadPresetResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'TestRole' => [ 'name' => 'TestRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/roleTests', 'responseCode' => 200, ], 'input' => [ 'shape' => 'TestRoleRequest', ], 'output' => [ 'shape' => 'TestRoleResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], 'deprecated' => true, ], 'UpdatePipeline' => [ 'name' => 'UpdatePipeline', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2012-09-25/pipelines/{Id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdatePipelineRequest', ], 'output' => [ 'shape' => 'UpdatePipelineResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdatePipelineNotifications' => [ 'name' => 'UpdatePipelineNotifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/pipelines/{Id}/notifications', ], 'input' => [ 'shape' => 'UpdatePipelineNotificationsRequest', ], 'output' => [ 'shape' => 'UpdatePipelineNotificationsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdatePipelineStatus' => [ 'name' => 'UpdatePipelineStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/2012-09-25/pipelines/{Id}/status', ], 'input' => [ 'shape' => 'UpdatePipelineStatusRequest', ], 'output' => [ 'shape' => 'UpdatePipelineStatusResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'IncompatibleVersionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], ], ], ], 'shapes' => [ 'AccessControl' => [ 'type' => 'string', 'pattern' => '(^FullControl$)|(^Read$)|(^ReadAcp$)|(^WriteAcp$)', ], 'AccessControls' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccessControl', ], 'max' => 30, ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'Artwork' => [ 'type' => 'structure', 'members' => [ 'InputKey' => [ 'shape' => 'WatermarkKey', ], 'MaxWidth' => [ 'shape' => 'DigitsOrAuto', ], 'MaxHeight' => [ 'shape' => 'DigitsOrAuto', ], 'SizingPolicy' => [ 'shape' => 'SizingPolicy', ], 'PaddingPolicy' => [ 'shape' => 'PaddingPolicy', ], 'AlbumArtFormat' => [ 'shape' => 'JpgOrPng', ], 'Encryption' => [ 'shape' => 'Encryption', ], ], ], 'Artworks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Artwork', ], ], 'Ascending' => [ 'type' => 'string', 'pattern' => '(^true$)|(^false$)', ], 'AspectRatio' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^1:1$)|(^4:3$)|(^3:2$)|(^16:9$)', ], 'AudioBitDepth' => [ 'type' => 'string', 'pattern' => '(^8$)|(^16$)|(^24$)|(^32$)', ], 'AudioBitOrder' => [ 'type' => 'string', 'pattern' => '(^LittleEndian$)', ], 'AudioBitRate' => [ 'type' => 'string', 'pattern' => '^\\d{1,3}$', ], 'AudioChannels' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^0$)|(^1$)|(^2$)', ], 'AudioCodec' => [ 'type' => 'string', 'pattern' => '(^AAC$)|(^vorbis$)|(^mp3$)|(^mp2$)|(^pcm$)|(^flac$)', ], 'AudioCodecOptions' => [ 'type' => 'structure', 'members' => [ 'Profile' => [ 'shape' => 'AudioCodecProfile', ], 'BitDepth' => [ 'shape' => 'AudioBitDepth', ], 'BitOrder' => [ 'shape' => 'AudioBitOrder', ], 'Signed' => [ 'shape' => 'AudioSigned', ], ], ], 'AudioCodecProfile' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^AAC-LC$)|(^HE-AAC$)|(^HE-AACv2$)', ], 'AudioPackingMode' => [ 'type' => 'string', 'pattern' => '(^SingleTrack$)|(^OneChannelPerTrack$)|(^OneChannelPerTrackWithMosTo8Tracks$)', ], 'AudioParameters' => [ 'type' => 'structure', 'members' => [ 'Codec' => [ 'shape' => 'AudioCodec', ], 'SampleRate' => [ 'shape' => 'AudioSampleRate', ], 'BitRate' => [ 'shape' => 'AudioBitRate', ], 'Channels' => [ 'shape' => 'AudioChannels', ], 'AudioPackingMode' => [ 'shape' => 'AudioPackingMode', ], 'CodecOptions' => [ 'shape' => 'AudioCodecOptions', ], ], ], 'AudioSampleRate' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^22050$)|(^32000$)|(^44100$)|(^48000$)|(^96000$)|(^192000$)', ], 'AudioSigned' => [ 'type' => 'string', 'pattern' => '(^Unsigned$)|(^Signed$)', ], 'Base64EncodedString' => [ 'type' => 'string', 'pattern' => '^$|(^(?:[A-Za-z0-9\\+/]{4})*(?:[A-Za-z0-9\\+/]{2}==|[A-Za-z0-9\\+/]{3}=)?$)', ], 'BucketName' => [ 'type' => 'string', 'pattern' => '^(\\w|\\.|-){1,255}$', ], 'CancelJobRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'CancelJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'CaptionFormat' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'CaptionFormatFormat', ], 'Pattern' => [ 'shape' => 'CaptionFormatPattern', ], 'Encryption' => [ 'shape' => 'Encryption', ], ], ], 'CaptionFormatFormat' => [ 'type' => 'string', 'pattern' => '(^mov-text$)|(^srt$)|(^scc$)|(^webvtt$)|(^dfxp$)|(^cea-708$)', ], 'CaptionFormatPattern' => [ 'type' => 'string', 'pattern' => '(^$)|(^.*\\{language\\}.*$)', ], 'CaptionFormats' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionFormat', ], 'max' => 4, ], 'CaptionMergePolicy' => [ 'type' => 'string', 'pattern' => '(^MergeOverride$)|(^MergeRetain$)|(^Override$)', ], 'CaptionSource' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'LongKey', ], 'Language' => [ 'shape' => 'Key', ], 'TimeOffset' => [ 'shape' => 'TimeOffset', ], 'Label' => [ 'shape' => 'Name', ], 'Encryption' => [ 'shape' => 'Encryption', ], ], ], 'CaptionSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionSource', ], 'max' => 20, ], 'Captions' => [ 'type' => 'structure', 'members' => [ 'MergePolicy' => [ 'shape' => 'CaptionMergePolicy', 'deprecated' => true, ], 'CaptionSources' => [ 'shape' => 'CaptionSources', 'deprecated' => true, ], 'CaptionFormats' => [ 'shape' => 'CaptionFormats', ], ], ], 'Clip' => [ 'type' => 'structure', 'members' => [ 'TimeSpan' => [ 'shape' => 'TimeSpan', ], ], 'deprecated' => true, ], 'CodecOption' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'CodecOptions' => [ 'type' => 'map', 'key' => [ 'shape' => 'CodecOption', ], 'value' => [ 'shape' => 'CodecOption', ], 'max' => 30, ], 'Composition' => [ 'type' => 'list', 'member' => [ 'shape' => 'Clip', ], 'deprecated' => true, ], 'CreateJobOutput' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'Key', ], 'ThumbnailPattern' => [ 'shape' => 'ThumbnailPattern', ], 'ThumbnailEncryption' => [ 'shape' => 'Encryption', ], 'Rotate' => [ 'shape' => 'Rotate', ], 'PresetId' => [ 'shape' => 'Id', ], 'SegmentDuration' => [ 'shape' => 'FloatString', ], 'Watermarks' => [ 'shape' => 'JobWatermarks', ], 'AlbumArt' => [ 'shape' => 'JobAlbumArt', ], 'Composition' => [ 'shape' => 'Composition', 'deprecated' => true, ], 'Captions' => [ 'shape' => 'Captions', ], 'Encryption' => [ 'shape' => 'Encryption', ], ], ], 'CreateJobOutputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateJobOutput', ], 'max' => 30, ], 'CreateJobPlaylist' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Filename', ], 'Format' => [ 'shape' => 'PlaylistFormat', ], 'OutputKeys' => [ 'shape' => 'OutputKeys', ], 'HlsContentProtection' => [ 'shape' => 'HlsContentProtection', ], 'PlayReadyDrm' => [ 'shape' => 'PlayReadyDrm', ], ], ], 'CreateJobPlaylists' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateJobPlaylist', ], 'max' => 30, ], 'CreateJobRequest' => [ 'type' => 'structure', 'required' => [ 'PipelineId', ], 'members' => [ 'PipelineId' => [ 'shape' => 'Id', ], 'Input' => [ 'shape' => 'JobInput', ], 'Inputs' => [ 'shape' => 'JobInputs', ], 'Output' => [ 'shape' => 'CreateJobOutput', ], 'Outputs' => [ 'shape' => 'CreateJobOutputs', ], 'OutputKeyPrefix' => [ 'shape' => 'Key', ], 'Playlists' => [ 'shape' => 'CreateJobPlaylists', ], 'UserMetadata' => [ 'shape' => 'UserMetadata', ], ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', ], ], ], 'CreatePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'InputBucket', 'Role', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'InputBucket' => [ 'shape' => 'BucketName', ], 'OutputBucket' => [ 'shape' => 'BucketName', ], 'Role' => [ 'shape' => 'Role', ], 'AwsKmsKeyArn' => [ 'shape' => 'KeyArn', ], 'Notifications' => [ 'shape' => 'Notifications', ], 'ContentConfig' => [ 'shape' => 'PipelineOutputConfig', ], 'ThumbnailConfig' => [ 'shape' => 'PipelineOutputConfig', ], ], ], 'CreatePipelineResponse' => [ 'type' => 'structure', 'members' => [ 'Pipeline' => [ 'shape' => 'Pipeline', ], 'Warnings' => [ 'shape' => 'Warnings', ], ], ], 'CreatePresetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Container', ], 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'Description' => [ 'shape' => 'Description', ], 'Container' => [ 'shape' => 'PresetContainer', ], 'Video' => [ 'shape' => 'VideoParameters', ], 'Audio' => [ 'shape' => 'AudioParameters', ], 'Thumbnails' => [ 'shape' => 'Thumbnails', ], ], ], 'CreatePresetResponse' => [ 'type' => 'structure', 'members' => [ 'Preset' => [ 'shape' => 'Preset', ], 'Warning' => [ 'shape' => 'String', ], ], ], 'DeletePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeletePipelineResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePresetRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeletePresetResponse' => [ 'type' => 'structure', 'members' => [], ], 'Description' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'DetectedProperties' => [ 'type' => 'structure', 'members' => [ 'Width' => [ 'shape' => 'NullableInteger', ], 'Height' => [ 'shape' => 'NullableInteger', ], 'FrameRate' => [ 'shape' => 'FloatString', ], 'FileSize' => [ 'shape' => 'NullableLong', ], 'DurationMillis' => [ 'shape' => 'NullableLong', ], ], ], 'Digits' => [ 'type' => 'string', 'pattern' => '^\\d{1,5}$', ], 'DigitsOrAuto' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^\\d{2,4}$)', ], 'Encryption' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'EncryptionMode', ], 'Key' => [ 'shape' => 'Base64EncodedString', ], 'KeyMd5' => [ 'shape' => 'Base64EncodedString', ], 'InitializationVector' => [ 'shape' => 'ZeroTo255String', ], ], ], 'EncryptionMode' => [ 'type' => 'string', 'pattern' => '(^s3$)|(^s3-aws-kms$)|(^aes-cbc-pkcs7$)|(^aes-ctr$)|(^aes-gcm$)', ], 'ExceptionMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Filename' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'FixedGOP' => [ 'type' => 'string', 'pattern' => '(^true$)|(^false$)', ], 'FloatString' => [ 'type' => 'string', 'pattern' => '^\\d{1,5}(\\.\\d{0,5})?$', ], 'FrameRate' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^10$)|(^15$)|(^23.97$)|(^24$)|(^25$)|(^29.97$)|(^30$)|(^50$)|(^60$)', ], 'Grantee' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'GranteeType' => [ 'type' => 'string', 'pattern' => '(^Canonical$)|(^Email$)|(^Group$)', ], 'HlsContentProtection' => [ 'type' => 'structure', 'members' => [ 'Method' => [ 'shape' => 'HlsContentProtectionMethod', ], 'Key' => [ 'shape' => 'Base64EncodedString', ], 'KeyMd5' => [ 'shape' => 'Base64EncodedString', ], 'InitializationVector' => [ 'shape' => 'ZeroTo255String', ], 'LicenseAcquisitionUrl' => [ 'shape' => 'ZeroTo512String', ], 'KeyStoragePolicy' => [ 'shape' => 'KeyStoragePolicy', ], ], ], 'HlsContentProtectionMethod' => [ 'type' => 'string', 'pattern' => '(^aes-128$)', ], 'HorizontalAlign' => [ 'type' => 'string', 'pattern' => '(^Left$)|(^Right$)|(^Center$)', ], 'Id' => [ 'type' => 'string', 'pattern' => '^\\d{13}-\\w{6}$', ], 'IncompatibleVersionException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InputCaptions' => [ 'type' => 'structure', 'members' => [ 'MergePolicy' => [ 'shape' => 'CaptionMergePolicy', ], 'CaptionSources' => [ 'shape' => 'CaptionSources', ], ], ], 'Interlaced' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^true$)|(^false$)', ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'Job' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Arn' => [ 'shape' => 'String', ], 'PipelineId' => [ 'shape' => 'Id', ], 'Input' => [ 'shape' => 'JobInput', ], 'Inputs' => [ 'shape' => 'JobInputs', ], 'Output' => [ 'shape' => 'JobOutput', ], 'Outputs' => [ 'shape' => 'JobOutputs', ], 'OutputKeyPrefix' => [ 'shape' => 'Key', ], 'Playlists' => [ 'shape' => 'Playlists', ], 'Status' => [ 'shape' => 'JobStatus', ], 'UserMetadata' => [ 'shape' => 'UserMetadata', ], 'Timing' => [ 'shape' => 'Timing', ], ], ], 'JobAlbumArt' => [ 'type' => 'structure', 'members' => [ 'MergePolicy' => [ 'shape' => 'MergePolicy', ], 'Artwork' => [ 'shape' => 'Artworks', ], ], ], 'JobContainer' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^3gp$)|(^asf$)|(^avi$)|(^divx$)|(^flv$)|(^mkv$)|(^mov$)|(^mp4$)|(^mpeg$)|(^mpeg-ps$)|(^mpeg-ts$)|(^mxf$)|(^ogg$)|(^ts$)|(^vob$)|(^wav$)|(^webm$)|(^mp3$)|(^m4a$)|(^aac$)', ], 'JobInput' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'LongKey', ], 'FrameRate' => [ 'shape' => 'FrameRate', ], 'Resolution' => [ 'shape' => 'Resolution', ], 'AspectRatio' => [ 'shape' => 'AspectRatio', ], 'Interlaced' => [ 'shape' => 'Interlaced', ], 'Container' => [ 'shape' => 'JobContainer', ], 'Encryption' => [ 'shape' => 'Encryption', ], 'TimeSpan' => [ 'shape' => 'TimeSpan', ], 'InputCaptions' => [ 'shape' => 'InputCaptions', ], 'DetectedProperties' => [ 'shape' => 'DetectedProperties', ], ], ], 'JobInputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobInput', ], 'max' => 200, ], 'JobOutput' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'String', ], 'Key' => [ 'shape' => 'Key', ], 'ThumbnailPattern' => [ 'shape' => 'ThumbnailPattern', ], 'ThumbnailEncryption' => [ 'shape' => 'Encryption', ], 'Rotate' => [ 'shape' => 'Rotate', ], 'PresetId' => [ 'shape' => 'Id', ], 'SegmentDuration' => [ 'shape' => 'FloatString', ], 'Status' => [ 'shape' => 'JobStatus', ], 'StatusDetail' => [ 'shape' => 'Description', ], 'Duration' => [ 'shape' => 'NullableLong', ], 'Width' => [ 'shape' => 'NullableInteger', ], 'Height' => [ 'shape' => 'NullableInteger', ], 'FrameRate' => [ 'shape' => 'FloatString', ], 'FileSize' => [ 'shape' => 'NullableLong', ], 'DurationMillis' => [ 'shape' => 'NullableLong', ], 'Watermarks' => [ 'shape' => 'JobWatermarks', ], 'AlbumArt' => [ 'shape' => 'JobAlbumArt', ], 'Composition' => [ 'shape' => 'Composition', 'deprecated' => true, ], 'Captions' => [ 'shape' => 'Captions', ], 'Encryption' => [ 'shape' => 'Encryption', ], 'AppliedColorSpaceConversion' => [ 'shape' => 'String', ], ], ], 'JobOutputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobOutput', ], ], 'JobStatus' => [ 'type' => 'string', 'pattern' => '(^Submitted$)|(^Progressing$)|(^Complete$)|(^Canceled$)|(^Error$)', ], 'JobWatermark' => [ 'type' => 'structure', 'members' => [ 'PresetWatermarkId' => [ 'shape' => 'PresetWatermarkId', ], 'InputKey' => [ 'shape' => 'WatermarkKey', ], 'Encryption' => [ 'shape' => 'Encryption', ], ], ], 'JobWatermarks' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobWatermark', ], ], 'Jobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], 'JpgOrPng' => [ 'type' => 'string', 'pattern' => '(^jpg$)|(^png$)', ], 'Key' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'KeyArn' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'KeyIdGuid' => [ 'type' => 'string', 'pattern' => '(^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)|(^[0-9A-Fa-f]{32}$)', ], 'KeyStoragePolicy' => [ 'type' => 'string', 'pattern' => '(^NoStore$)|(^WithVariantPlaylists$)', ], 'KeyframesMaxDist' => [ 'type' => 'string', 'pattern' => '^\\d{1,6}$', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListJobsByPipelineRequest' => [ 'type' => 'structure', 'required' => [ 'PipelineId', ], 'members' => [ 'PipelineId' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'PipelineId', ], 'Ascending' => [ 'shape' => 'Ascending', 'location' => 'querystring', 'locationName' => 'Ascending', ], 'PageToken' => [ 'shape' => 'Id', 'location' => 'querystring', 'locationName' => 'PageToken', ], ], ], 'ListJobsByPipelineResponse' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => 'Jobs', ], 'NextPageToken' => [ 'shape' => 'Id', ], ], ], 'ListJobsByStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'JobStatus', 'location' => 'uri', 'locationName' => 'Status', ], 'Ascending' => [ 'shape' => 'Ascending', 'location' => 'querystring', 'locationName' => 'Ascending', ], 'PageToken' => [ 'shape' => 'Id', 'location' => 'querystring', 'locationName' => 'PageToken', ], ], ], 'ListJobsByStatusResponse' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => 'Jobs', ], 'NextPageToken' => [ 'shape' => 'Id', ], ], ], 'ListPipelinesRequest' => [ 'type' => 'structure', 'members' => [ 'Ascending' => [ 'shape' => 'Ascending', 'location' => 'querystring', 'locationName' => 'Ascending', ], 'PageToken' => [ 'shape' => 'Id', 'location' => 'querystring', 'locationName' => 'PageToken', ], ], ], 'ListPipelinesResponse' => [ 'type' => 'structure', 'members' => [ 'Pipelines' => [ 'shape' => 'Pipelines', ], 'NextPageToken' => [ 'shape' => 'Id', ], ], ], 'ListPresetsRequest' => [ 'type' => 'structure', 'members' => [ 'Ascending' => [ 'shape' => 'Ascending', 'location' => 'querystring', 'locationName' => 'Ascending', ], 'PageToken' => [ 'shape' => 'Id', 'location' => 'querystring', 'locationName' => 'PageToken', ], ], ], 'ListPresetsResponse' => [ 'type' => 'structure', 'members' => [ 'Presets' => [ 'shape' => 'Presets', ], 'NextPageToken' => [ 'shape' => 'Id', ], ], ], 'LongKey' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'MaxFrameRate' => [ 'type' => 'string', 'pattern' => '(^10$)|(^15$)|(^23.97$)|(^24$)|(^25$)|(^29.97$)|(^30$)|(^50$)|(^60$)', ], 'MergePolicy' => [ 'type' => 'string', 'pattern' => '(^Replace$)|(^Prepend$)|(^Append$)|(^Fallback$)', ], 'Name' => [ 'type' => 'string', 'max' => 40, 'min' => 1, ], 'NonEmptyBase64EncodedString' => [ 'type' => 'string', 'pattern' => '(^(?:[A-Za-z0-9\\+/]{4})*(?:[A-Za-z0-9\\+/]{2}==|[A-Za-z0-9\\+/]{3}=)?$)', ], 'Notifications' => [ 'type' => 'structure', 'members' => [ 'Progressing' => [ 'shape' => 'SnsTopic', ], 'Completed' => [ 'shape' => 'SnsTopic', ], 'Warning' => [ 'shape' => 'SnsTopic', ], 'Error' => [ 'shape' => 'SnsTopic', ], ], ], 'NullableInteger' => [ 'type' => 'integer', ], 'NullableLong' => [ 'type' => 'long', ], 'OneTo512String' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'Opacity' => [ 'type' => 'string', 'pattern' => '^\\d{1,3}(\\.\\d{0,20})?$', ], 'OutputKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'Key', ], 'max' => 30, ], 'PaddingPolicy' => [ 'type' => 'string', 'pattern' => '(^Pad$)|(^NoPad$)', ], 'Permission' => [ 'type' => 'structure', 'members' => [ 'GranteeType' => [ 'shape' => 'GranteeType', ], 'Grantee' => [ 'shape' => 'Grantee', ], 'Access' => [ 'shape' => 'AccessControls', ], ], ], 'Permissions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Permission', ], 'max' => 30, ], 'Pipeline' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'Name', ], 'Status' => [ 'shape' => 'PipelineStatus', ], 'InputBucket' => [ 'shape' => 'BucketName', ], 'OutputBucket' => [ 'shape' => 'BucketName', ], 'Role' => [ 'shape' => 'Role', ], 'AwsKmsKeyArn' => [ 'shape' => 'KeyArn', ], 'Notifications' => [ 'shape' => 'Notifications', ], 'ContentConfig' => [ 'shape' => 'PipelineOutputConfig', ], 'ThumbnailConfig' => [ 'shape' => 'PipelineOutputConfig', ], ], ], 'PipelineOutputConfig' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'Permissions' => [ 'shape' => 'Permissions', ], ], ], 'PipelineStatus' => [ 'type' => 'string', 'pattern' => '(^Active$)|(^Paused$)', ], 'Pipelines' => [ 'type' => 'list', 'member' => [ 'shape' => 'Pipeline', ], ], 'PixelsOrPercent' => [ 'type' => 'string', 'pattern' => '(^\\d{1,3}(\\.\\d{0,5})?%$)|(^\\d{1,4}?px$)', ], 'PlayReadyDrm' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'PlayReadyDrmFormatString', ], 'Key' => [ 'shape' => 'NonEmptyBase64EncodedString', ], 'KeyMd5' => [ 'shape' => 'NonEmptyBase64EncodedString', ], 'KeyId' => [ 'shape' => 'KeyIdGuid', ], 'InitializationVector' => [ 'shape' => 'ZeroTo255String', ], 'LicenseAcquisitionUrl' => [ 'shape' => 'OneTo512String', ], ], ], 'PlayReadyDrmFormatString' => [ 'type' => 'string', 'pattern' => '(^microsoft$)|(^discretix-3.0$)', ], 'Playlist' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Filename', ], 'Format' => [ 'shape' => 'PlaylistFormat', ], 'OutputKeys' => [ 'shape' => 'OutputKeys', ], 'HlsContentProtection' => [ 'shape' => 'HlsContentProtection', ], 'PlayReadyDrm' => [ 'shape' => 'PlayReadyDrm', ], 'Status' => [ 'shape' => 'JobStatus', ], 'StatusDetail' => [ 'shape' => 'Description', ], ], ], 'PlaylistFormat' => [ 'type' => 'string', 'pattern' => '(^HLSv3$)|(^HLSv4$)|(^Smooth$)|(^MPEG-DASH$)', ], 'Playlists' => [ 'type' => 'list', 'member' => [ 'shape' => 'Playlist', ], ], 'Preset' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Arn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'Name', ], 'Description' => [ 'shape' => 'Description', ], 'Container' => [ 'shape' => 'PresetContainer', ], 'Audio' => [ 'shape' => 'AudioParameters', ], 'Video' => [ 'shape' => 'VideoParameters', ], 'Thumbnails' => [ 'shape' => 'Thumbnails', ], 'Type' => [ 'shape' => 'PresetType', ], ], ], 'PresetContainer' => [ 'type' => 'string', 'pattern' => '(^mp4$)|(^ts$)|(^webm$)|(^mp3$)|(^flac$)|(^oga$)|(^ogg$)|(^fmp4$)|(^mpg$)|(^flv$)|(^gif$)|(^mxf$)|(^wav$)|(^mp2$)', ], 'PresetType' => [ 'type' => 'string', 'pattern' => '(^System$)|(^Custom$)', ], 'PresetWatermark' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'PresetWatermarkId', ], 'MaxWidth' => [ 'shape' => 'PixelsOrPercent', ], 'MaxHeight' => [ 'shape' => 'PixelsOrPercent', ], 'SizingPolicy' => [ 'shape' => 'WatermarkSizingPolicy', ], 'HorizontalAlign' => [ 'shape' => 'HorizontalAlign', ], 'HorizontalOffset' => [ 'shape' => 'PixelsOrPercent', ], 'VerticalAlign' => [ 'shape' => 'VerticalAlign', ], 'VerticalOffset' => [ 'shape' => 'PixelsOrPercent', ], 'Opacity' => [ 'shape' => 'Opacity', ], 'Target' => [ 'shape' => 'Target', ], ], ], 'PresetWatermarkId' => [ 'type' => 'string', 'max' => 40, 'min' => 1, ], 'PresetWatermarks' => [ 'type' => 'list', 'member' => [ 'shape' => 'PresetWatermark', ], ], 'Presets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Preset', ], ], 'ReadJobRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'ReadJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', ], ], ], 'ReadPipelineRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'ReadPipelineResponse' => [ 'type' => 'structure', 'members' => [ 'Pipeline' => [ 'shape' => 'Pipeline', ], 'Warnings' => [ 'shape' => 'Warnings', ], ], ], 'ReadPresetRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'ReadPresetResponse' => [ 'type' => 'structure', 'members' => [ 'Preset' => [ 'shape' => 'Preset', ], ], ], 'Resolution' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^\\d{1,5}x\\d{1,5}$)', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Role' => [ 'type' => 'string', 'pattern' => '^arn:aws:iam::\\w{12}:role/.+$', ], 'Rotate' => [ 'type' => 'string', 'pattern' => '(^auto$)|(^0$)|(^90$)|(^180$)|(^270$)', ], 'SizingPolicy' => [ 'type' => 'string', 'pattern' => '(^Fit$)|(^Fill$)|(^Stretch$)|(^Keep$)|(^ShrinkToFit$)|(^ShrinkToFill$)', ], 'SnsTopic' => [ 'type' => 'string', 'pattern' => '(^$)|(^arn:aws:sns:.*:\\w{12}:.+$)', ], 'SnsTopics' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnsTopic', ], 'max' => 30, ], 'StorageClass' => [ 'type' => 'string', 'pattern' => '(^ReducedRedundancy$)|(^Standard$)', ], 'String' => [ 'type' => 'string', ], 'Success' => [ 'type' => 'string', 'pattern' => '(^true$)|(^false$)', ], 'Target' => [ 'type' => 'string', 'pattern' => '(^Content$)|(^Frame$)', ], 'TestRoleRequest' => [ 'type' => 'structure', 'required' => [ 'Role', 'InputBucket', 'OutputBucket', 'Topics', ], 'members' => [ 'Role' => [ 'shape' => 'Role', ], 'InputBucket' => [ 'shape' => 'BucketName', ], 'OutputBucket' => [ 'shape' => 'BucketName', ], 'Topics' => [ 'shape' => 'SnsTopics', ], ], 'deprecated' => true, ], 'TestRoleResponse' => [ 'type' => 'structure', 'members' => [ 'Success' => [ 'shape' => 'Success', ], 'Messages' => [ 'shape' => 'ExceptionMessages', ], ], 'deprecated' => true, ], 'ThumbnailPattern' => [ 'type' => 'string', 'pattern' => '(^$)|(^.*\\{count\\}.*$)', ], 'ThumbnailResolution' => [ 'type' => 'string', 'pattern' => '^\\d{1,5}x\\d{1,5}$', ], 'Thumbnails' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'JpgOrPng', ], 'Interval' => [ 'shape' => 'Digits', ], 'Resolution' => [ 'shape' => 'ThumbnailResolution', ], 'AspectRatio' => [ 'shape' => 'AspectRatio', ], 'MaxWidth' => [ 'shape' => 'DigitsOrAuto', ], 'MaxHeight' => [ 'shape' => 'DigitsOrAuto', ], 'SizingPolicy' => [ 'shape' => 'SizingPolicy', ], 'PaddingPolicy' => [ 'shape' => 'PaddingPolicy', ], ], ], 'Time' => [ 'type' => 'string', 'pattern' => '(^\\d{1,5}(\\.\\d{0,3})?$)|(^([0-1]?[0-9]:|2[0-3]:)?([0-5]?[0-9]:)?[0-5]?[0-9](\\.\\d{0,3})?$)', ], 'TimeOffset' => [ 'type' => 'string', 'pattern' => '(^[+-]?\\d{1,5}(\\.\\d{0,3})?$)|(^[+-]?([0-1]?[0-9]:|2[0-3]:)?([0-5]?[0-9]:)?[0-5]?[0-9](\\.\\d{0,3})?$)', ], 'TimeSpan' => [ 'type' => 'structure', 'members' => [ 'StartTime' => [ 'shape' => 'Time', ], 'Duration' => [ 'shape' => 'Time', ], ], ], 'Timing' => [ 'type' => 'structure', 'members' => [ 'SubmitTimeMillis' => [ 'shape' => 'NullableLong', ], 'StartTimeMillis' => [ 'shape' => 'NullableLong', ], 'FinishTimeMillis' => [ 'shape' => 'NullableLong', ], ], ], 'UpdatePipelineNotificationsRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Notifications', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], 'Notifications' => [ 'shape' => 'Notifications', ], ], ], 'UpdatePipelineNotificationsResponse' => [ 'type' => 'structure', 'members' => [ 'Pipeline' => [ 'shape' => 'Pipeline', ], ], ], 'UpdatePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], 'Name' => [ 'shape' => 'Name', ], 'InputBucket' => [ 'shape' => 'BucketName', ], 'Role' => [ 'shape' => 'Role', ], 'AwsKmsKeyArn' => [ 'shape' => 'KeyArn', ], 'Notifications' => [ 'shape' => 'Notifications', ], 'ContentConfig' => [ 'shape' => 'PipelineOutputConfig', ], 'ThumbnailConfig' => [ 'shape' => 'PipelineOutputConfig', ], ], ], 'UpdatePipelineResponse' => [ 'type' => 'structure', 'members' => [ 'Pipeline' => [ 'shape' => 'Pipeline', ], 'Warnings' => [ 'shape' => 'Warnings', ], ], ], 'UpdatePipelineStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'Id', 'location' => 'uri', 'locationName' => 'Id', ], 'Status' => [ 'shape' => 'PipelineStatus', ], ], ], 'UpdatePipelineStatusResponse' => [ 'type' => 'structure', 'members' => [ 'Pipeline' => [ 'shape' => 'Pipeline', ], ], ], 'UserMetadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'VerticalAlign' => [ 'type' => 'string', 'pattern' => '(^Top$)|(^Bottom$)|(^Center$)', ], 'VideoBitRate' => [ 'type' => 'string', 'pattern' => '(^\\d{2,5}$)|(^auto$)', ], 'VideoCodec' => [ 'type' => 'string', 'pattern' => '(^H\\.264$)|(^vp8$)|(^vp9$)|(^mpeg2$)|(^gif$)', ], 'VideoParameters' => [ 'type' => 'structure', 'members' => [ 'Codec' => [ 'shape' => 'VideoCodec', ], 'CodecOptions' => [ 'shape' => 'CodecOptions', ], 'KeyframesMaxDist' => [ 'shape' => 'KeyframesMaxDist', ], 'FixedGOP' => [ 'shape' => 'FixedGOP', ], 'BitRate' => [ 'shape' => 'VideoBitRate', ], 'FrameRate' => [ 'shape' => 'FrameRate', ], 'MaxFrameRate' => [ 'shape' => 'MaxFrameRate', ], 'Resolution' => [ 'shape' => 'Resolution', ], 'AspectRatio' => [ 'shape' => 'AspectRatio', ], 'MaxWidth' => [ 'shape' => 'DigitsOrAuto', ], 'MaxHeight' => [ 'shape' => 'DigitsOrAuto', ], 'DisplayAspectRatio' => [ 'shape' => 'AspectRatio', ], 'SizingPolicy' => [ 'shape' => 'SizingPolicy', ], 'PaddingPolicy' => [ 'shape' => 'PaddingPolicy', ], 'Watermarks' => [ 'shape' => 'PresetWatermarks', ], ], ], 'Warning' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'Warnings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Warning', ], ], 'WatermarkKey' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '(^.{1,1020}.jpg$)|(^.{1,1019}.jpeg$)|(^.{1,1020}.png$)', ], 'WatermarkSizingPolicy' => [ 'type' => 'string', 'pattern' => '(^Fit$)|(^Stretch$)|(^ShrinkToFit$)', ], 'ZeroTo255String' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'ZeroTo512String' => [ 'type' => 'string', 'max' => 512, 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/elastictranscoder/2012-09-25/paginators-1.json.php b/lib/aws/Aws/data/elastictranscoder/2012-09-25/paginators-1.json.php new file mode 100644 index 0000000..a8784ed --- /dev/null +++ b/lib/aws/Aws/data/elastictranscoder/2012-09-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elastictranscoder/2012-09-25/paginators-1.json +return [ 'pagination' => [ 'ListJobsByPipeline' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'result_key' => 'Jobs', ], 'ListJobsByStatus' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'result_key' => 'Jobs', ], 'ListPipelines' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'result_key' => 'Pipelines', ], 'ListPresets' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'result_key' => 'Presets', ], ],]; diff --git a/lib/aws/Aws/data/elastictranscoder/2012-09-25/smoke.json.php b/lib/aws/Aws/data/elastictranscoder/2012-09-25/smoke.json.php new file mode 100644 index 0000000..28e75c6 --- /dev/null +++ b/lib/aws/Aws/data/elastictranscoder/2012-09-25/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elastictranscoder/2012-09-25/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPresets', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ReadJob', 'input' => [ 'Id' => 'fake_job', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-1.json.php b/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-1.json.php new file mode 100644 index 0000000..50ecbd7 --- /dev/null +++ b/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elastictranscoder/2012-09-25/waiters-1.json +return [ 'waiters' => [ 'JobComplete' => [ 'operation' => 'ReadJob', 'success_type' => 'output', 'success_path' => 'Job.Status', 'interval' => 30, 'max_attempts' => 120, 'success_value' => 'Complete', 'failure_value' => [ 'Canceled', 'Error', ], ], ],]; diff --git a/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-2.json.php b/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-2.json.php new file mode 100644 index 0000000..b946b8f --- /dev/null +++ b/lib/aws/Aws/data/elastictranscoder/2012-09-25/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/elastictranscoder/2012-09-25/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'JobComplete' => [ 'delay' => 30, 'operation' => 'ReadJob', 'maxAttempts' => 120, 'acceptors' => [ [ 'expected' => 'Complete', 'matcher' => 'path', 'state' => 'success', 'argument' => 'Job.Status', ], [ 'expected' => 'Canceled', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'Job.Status', ], [ 'expected' => 'Error', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'Job.Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/email/2010-12-01/api-2.json.php b/lib/aws/Aws/data/email/2010-12-01/api-2.json.php new file mode 100644 index 0000000..13e42ba --- /dev/null +++ b/lib/aws/Aws/data/email/2010-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/email/2010-12-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-12-01', 'endpointPrefix' => 'email', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon SES', 'serviceFullName' => 'Amazon Simple Email Service', 'serviceId' => 'SES', 'signatureVersion' => 'v4', 'signingName' => 'ses', 'uid' => 'email-2010-12-01', 'xmlNamespace' => 'http://ses.amazonaws.com/doc/2010-12-01/', ], 'operations' => [ 'CloneReceiptRuleSet' => [ 'name' => 'CloneReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CloneReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'CloneReceiptRuleSetResponse', 'resultWrapper' => 'CloneReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateConfigurationSet' => [ 'name' => 'CreateConfigurationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConfigurationSetRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetResponse', 'resultWrapper' => 'CreateConfigurationSetResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetAlreadyExistsException', ], [ 'shape' => 'InvalidConfigurationSetException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateConfigurationSetEventDestination' => [ 'name' => 'CreateConfigurationSetEventDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetEventDestinationResponse', 'resultWrapper' => 'CreateConfigurationSetEventDestinationResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'EventDestinationAlreadyExistsException', ], [ 'shape' => 'InvalidCloudWatchDestinationException', ], [ 'shape' => 'InvalidFirehoseDestinationException', ], [ 'shape' => 'InvalidSNSDestinationException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateConfigurationSetTrackingOptions' => [ 'name' => 'CreateConfigurationSetTrackingOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConfigurationSetTrackingOptionsRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetTrackingOptionsResponse', 'resultWrapper' => 'CreateConfigurationSetTrackingOptionsResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'TrackingOptionsAlreadyExistsException', ], [ 'shape' => 'InvalidTrackingOptionsException', ], ], ], 'CreateCustomVerificationEmailTemplate' => [ 'name' => 'CreateCustomVerificationEmailTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomVerificationEmailTemplateRequest', ], 'errors' => [ [ 'shape' => 'CustomVerificationEmailTemplateAlreadyExistsException', ], [ 'shape' => 'FromEmailAddressNotVerifiedException', ], [ 'shape' => 'CustomVerificationEmailInvalidContentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateReceiptFilter' => [ 'name' => 'CreateReceiptFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReceiptFilterRequest', ], 'output' => [ 'shape' => 'CreateReceiptFilterResponse', 'resultWrapper' => 'CreateReceiptFilterResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AlreadyExistsException', ], ], ], 'CreateReceiptRule' => [ 'name' => 'CreateReceiptRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReceiptRuleRequest', ], 'output' => [ 'shape' => 'CreateReceiptRuleResponse', 'resultWrapper' => 'CreateReceiptRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidSnsTopicException', ], [ 'shape' => 'InvalidS3ConfigurationException', ], [ 'shape' => 'InvalidLambdaFunctionException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'RuleDoesNotExistException', ], [ 'shape' => 'RuleSetDoesNotExistException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateReceiptRuleSet' => [ 'name' => 'CreateReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'CreateReceiptRuleSetResponse', 'resultWrapper' => 'CreateReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateTemplate' => [ 'name' => 'CreateTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTemplateRequest', ], 'output' => [ 'shape' => 'CreateTemplateResponse', 'resultWrapper' => 'CreateTemplateResult', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidTemplateException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteConfigurationSet' => [ 'name' => 'DeleteConfigurationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationSetRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetResponse', 'resultWrapper' => 'DeleteConfigurationSetResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], ], ], 'DeleteConfigurationSetEventDestination' => [ 'name' => 'DeleteConfigurationSetEventDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetEventDestinationResponse', 'resultWrapper' => 'DeleteConfigurationSetEventDestinationResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'EventDestinationDoesNotExistException', ], ], ], 'DeleteConfigurationSetTrackingOptions' => [ 'name' => 'DeleteConfigurationSetTrackingOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConfigurationSetTrackingOptionsRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetTrackingOptionsResponse', 'resultWrapper' => 'DeleteConfigurationSetTrackingOptionsResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'TrackingOptionsDoesNotExistException', ], ], ], 'DeleteCustomVerificationEmailTemplate' => [ 'name' => 'DeleteCustomVerificationEmailTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomVerificationEmailTemplateRequest', ], ], 'DeleteIdentity' => [ 'name' => 'DeleteIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIdentityRequest', ], 'output' => [ 'shape' => 'DeleteIdentityResponse', 'resultWrapper' => 'DeleteIdentityResult', ], ], 'DeleteIdentityPolicy' => [ 'name' => 'DeleteIdentityPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIdentityPolicyRequest', ], 'output' => [ 'shape' => 'DeleteIdentityPolicyResponse', 'resultWrapper' => 'DeleteIdentityPolicyResult', ], ], 'DeleteReceiptFilter' => [ 'name' => 'DeleteReceiptFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReceiptFilterRequest', ], 'output' => [ 'shape' => 'DeleteReceiptFilterResponse', 'resultWrapper' => 'DeleteReceiptFilterResult', ], ], 'DeleteReceiptRule' => [ 'name' => 'DeleteReceiptRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReceiptRuleRequest', ], 'output' => [ 'shape' => 'DeleteReceiptRuleResponse', 'resultWrapper' => 'DeleteReceiptRuleResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], ], ], 'DeleteReceiptRuleSet' => [ 'name' => 'DeleteReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'DeleteReceiptRuleSetResponse', 'resultWrapper' => 'DeleteReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'CannotDeleteException', ], ], ], 'DeleteTemplate' => [ 'name' => 'DeleteTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTemplateRequest', ], 'output' => [ 'shape' => 'DeleteTemplateResponse', 'resultWrapper' => 'DeleteTemplateResult', ], ], 'DeleteVerifiedEmailAddress' => [ 'name' => 'DeleteVerifiedEmailAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVerifiedEmailAddressRequest', ], ], 'DescribeActiveReceiptRuleSet' => [ 'name' => 'DescribeActiveReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeActiveReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'DescribeActiveReceiptRuleSetResponse', 'resultWrapper' => 'DescribeActiveReceiptRuleSetResult', ], ], 'DescribeConfigurationSet' => [ 'name' => 'DescribeConfigurationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConfigurationSetRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationSetResponse', 'resultWrapper' => 'DescribeConfigurationSetResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], ], ], 'DescribeReceiptRule' => [ 'name' => 'DescribeReceiptRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReceiptRuleRequest', ], 'output' => [ 'shape' => 'DescribeReceiptRuleResponse', 'resultWrapper' => 'DescribeReceiptRuleResult', ], 'errors' => [ [ 'shape' => 'RuleDoesNotExistException', ], [ 'shape' => 'RuleSetDoesNotExistException', ], ], ], 'DescribeReceiptRuleSet' => [ 'name' => 'DescribeReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'DescribeReceiptRuleSetResponse', 'resultWrapper' => 'DescribeReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], ], ], 'GetAccountSendingEnabled' => [ 'name' => 'GetAccountSendingEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetAccountSendingEnabledResponse', 'resultWrapper' => 'GetAccountSendingEnabledResult', ], ], 'GetCustomVerificationEmailTemplate' => [ 'name' => 'GetCustomVerificationEmailTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCustomVerificationEmailTemplateRequest', ], 'output' => [ 'shape' => 'GetCustomVerificationEmailTemplateResponse', 'resultWrapper' => 'GetCustomVerificationEmailTemplateResult', ], 'errors' => [ [ 'shape' => 'CustomVerificationEmailTemplateDoesNotExistException', ], ], ], 'GetIdentityDkimAttributes' => [ 'name' => 'GetIdentityDkimAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityDkimAttributesRequest', ], 'output' => [ 'shape' => 'GetIdentityDkimAttributesResponse', 'resultWrapper' => 'GetIdentityDkimAttributesResult', ], ], 'GetIdentityMailFromDomainAttributes' => [ 'name' => 'GetIdentityMailFromDomainAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityMailFromDomainAttributesRequest', ], 'output' => [ 'shape' => 'GetIdentityMailFromDomainAttributesResponse', 'resultWrapper' => 'GetIdentityMailFromDomainAttributesResult', ], ], 'GetIdentityNotificationAttributes' => [ 'name' => 'GetIdentityNotificationAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityNotificationAttributesRequest', ], 'output' => [ 'shape' => 'GetIdentityNotificationAttributesResponse', 'resultWrapper' => 'GetIdentityNotificationAttributesResult', ], ], 'GetIdentityPolicies' => [ 'name' => 'GetIdentityPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityPoliciesRequest', ], 'output' => [ 'shape' => 'GetIdentityPoliciesResponse', 'resultWrapper' => 'GetIdentityPoliciesResult', ], ], 'GetIdentityVerificationAttributes' => [ 'name' => 'GetIdentityVerificationAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIdentityVerificationAttributesRequest', ], 'output' => [ 'shape' => 'GetIdentityVerificationAttributesResponse', 'resultWrapper' => 'GetIdentityVerificationAttributesResult', ], ], 'GetSendQuota' => [ 'name' => 'GetSendQuota', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetSendQuotaResponse', 'resultWrapper' => 'GetSendQuotaResult', ], ], 'GetSendStatistics' => [ 'name' => 'GetSendStatistics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetSendStatisticsResponse', 'resultWrapper' => 'GetSendStatisticsResult', ], ], 'GetTemplate' => [ 'name' => 'GetTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTemplateRequest', ], 'output' => [ 'shape' => 'GetTemplateResponse', 'resultWrapper' => 'GetTemplateResult', ], 'errors' => [ [ 'shape' => 'TemplateDoesNotExistException', ], ], ], 'ListConfigurationSets' => [ 'name' => 'ListConfigurationSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListConfigurationSetsRequest', ], 'output' => [ 'shape' => 'ListConfigurationSetsResponse', 'resultWrapper' => 'ListConfigurationSetsResult', ], ], 'ListCustomVerificationEmailTemplates' => [ 'name' => 'ListCustomVerificationEmailTemplates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCustomVerificationEmailTemplatesRequest', ], 'output' => [ 'shape' => 'ListCustomVerificationEmailTemplatesResponse', 'resultWrapper' => 'ListCustomVerificationEmailTemplatesResult', ], ], 'ListIdentities' => [ 'name' => 'ListIdentities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIdentitiesRequest', ], 'output' => [ 'shape' => 'ListIdentitiesResponse', 'resultWrapper' => 'ListIdentitiesResult', ], ], 'ListIdentityPolicies' => [ 'name' => 'ListIdentityPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIdentityPoliciesRequest', ], 'output' => [ 'shape' => 'ListIdentityPoliciesResponse', 'resultWrapper' => 'ListIdentityPoliciesResult', ], ], 'ListReceiptFilters' => [ 'name' => 'ListReceiptFilters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListReceiptFiltersRequest', ], 'output' => [ 'shape' => 'ListReceiptFiltersResponse', 'resultWrapper' => 'ListReceiptFiltersResult', ], ], 'ListReceiptRuleSets' => [ 'name' => 'ListReceiptRuleSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListReceiptRuleSetsRequest', ], 'output' => [ 'shape' => 'ListReceiptRuleSetsResponse', 'resultWrapper' => 'ListReceiptRuleSetsResult', ], ], 'ListTemplates' => [ 'name' => 'ListTemplates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTemplatesRequest', ], 'output' => [ 'shape' => 'ListTemplatesResponse', 'resultWrapper' => 'ListTemplatesResult', ], ], 'ListVerifiedEmailAddresses' => [ 'name' => 'ListVerifiedEmailAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ListVerifiedEmailAddressesResponse', 'resultWrapper' => 'ListVerifiedEmailAddressesResult', ], ], 'PutIdentityPolicy' => [ 'name' => 'PutIdentityPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutIdentityPolicyRequest', ], 'output' => [ 'shape' => 'PutIdentityPolicyResponse', 'resultWrapper' => 'PutIdentityPolicyResult', ], 'errors' => [ [ 'shape' => 'InvalidPolicyException', ], ], ], 'ReorderReceiptRuleSet' => [ 'name' => 'ReorderReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReorderReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'ReorderReceiptRuleSetResponse', 'resultWrapper' => 'ReorderReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], [ 'shape' => 'RuleDoesNotExistException', ], ], ], 'SendBounce' => [ 'name' => 'SendBounce', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendBounceRequest', ], 'output' => [ 'shape' => 'SendBounceResponse', 'resultWrapper' => 'SendBounceResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], ], ], 'SendBulkTemplatedEmail' => [ 'name' => 'SendBulkTemplatedEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendBulkTemplatedEmailRequest', ], 'output' => [ 'shape' => 'SendBulkTemplatedEmailResponse', 'resultWrapper' => 'SendBulkTemplatedEmailResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'TemplateDoesNotExistException', ], [ 'shape' => 'ConfigurationSetSendingPausedException', ], [ 'shape' => 'AccountSendingPausedException', ], ], ], 'SendCustomVerificationEmail' => [ 'name' => 'SendCustomVerificationEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendCustomVerificationEmailRequest', ], 'output' => [ 'shape' => 'SendCustomVerificationEmailResponse', 'resultWrapper' => 'SendCustomVerificationEmailResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'CustomVerificationEmailTemplateDoesNotExistException', ], [ 'shape' => 'FromEmailAddressNotVerifiedException', ], [ 'shape' => 'ProductionAccessNotGrantedException', ], ], ], 'SendEmail' => [ 'name' => 'SendEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendEmailRequest', ], 'output' => [ 'shape' => 'SendEmailResponse', 'resultWrapper' => 'SendEmailResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'ConfigurationSetSendingPausedException', ], [ 'shape' => 'AccountSendingPausedException', ], ], ], 'SendRawEmail' => [ 'name' => 'SendRawEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendRawEmailRequest', ], 'output' => [ 'shape' => 'SendRawEmailResponse', 'resultWrapper' => 'SendRawEmailResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'ConfigurationSetSendingPausedException', ], [ 'shape' => 'AccountSendingPausedException', ], ], ], 'SendTemplatedEmail' => [ 'name' => 'SendTemplatedEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendTemplatedEmailRequest', ], 'output' => [ 'shape' => 'SendTemplatedEmailResponse', 'resultWrapper' => 'SendTemplatedEmailResult', ], 'errors' => [ [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'TemplateDoesNotExistException', ], [ 'shape' => 'ConfigurationSetSendingPausedException', ], [ 'shape' => 'AccountSendingPausedException', ], ], ], 'SetActiveReceiptRuleSet' => [ 'name' => 'SetActiveReceiptRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetActiveReceiptRuleSetRequest', ], 'output' => [ 'shape' => 'SetActiveReceiptRuleSetResponse', 'resultWrapper' => 'SetActiveReceiptRuleSetResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], ], ], 'SetIdentityDkimEnabled' => [ 'name' => 'SetIdentityDkimEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityDkimEnabledRequest', ], 'output' => [ 'shape' => 'SetIdentityDkimEnabledResponse', 'resultWrapper' => 'SetIdentityDkimEnabledResult', ], ], 'SetIdentityFeedbackForwardingEnabled' => [ 'name' => 'SetIdentityFeedbackForwardingEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityFeedbackForwardingEnabledRequest', ], 'output' => [ 'shape' => 'SetIdentityFeedbackForwardingEnabledResponse', 'resultWrapper' => 'SetIdentityFeedbackForwardingEnabledResult', ], ], 'SetIdentityHeadersInNotificationsEnabled' => [ 'name' => 'SetIdentityHeadersInNotificationsEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityHeadersInNotificationsEnabledRequest', ], 'output' => [ 'shape' => 'SetIdentityHeadersInNotificationsEnabledResponse', 'resultWrapper' => 'SetIdentityHeadersInNotificationsEnabledResult', ], ], 'SetIdentityMailFromDomain' => [ 'name' => 'SetIdentityMailFromDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityMailFromDomainRequest', ], 'output' => [ 'shape' => 'SetIdentityMailFromDomainResponse', 'resultWrapper' => 'SetIdentityMailFromDomainResult', ], ], 'SetIdentityNotificationTopic' => [ 'name' => 'SetIdentityNotificationTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetIdentityNotificationTopicRequest', ], 'output' => [ 'shape' => 'SetIdentityNotificationTopicResponse', 'resultWrapper' => 'SetIdentityNotificationTopicResult', ], ], 'SetReceiptRulePosition' => [ 'name' => 'SetReceiptRulePosition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetReceiptRulePositionRequest', ], 'output' => [ 'shape' => 'SetReceiptRulePositionResponse', 'resultWrapper' => 'SetReceiptRulePositionResult', ], 'errors' => [ [ 'shape' => 'RuleSetDoesNotExistException', ], [ 'shape' => 'RuleDoesNotExistException', ], ], ], 'TestRenderTemplate' => [ 'name' => 'TestRenderTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestRenderTemplateRequest', ], 'output' => [ 'shape' => 'TestRenderTemplateResponse', 'resultWrapper' => 'TestRenderTemplateResult', ], 'errors' => [ [ 'shape' => 'TemplateDoesNotExistException', ], [ 'shape' => 'InvalidRenderingParameterException', ], [ 'shape' => 'MissingRenderingAttributeException', ], ], ], 'UpdateAccountSendingEnabled' => [ 'name' => 'UpdateAccountSendingEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAccountSendingEnabledRequest', ], ], 'UpdateConfigurationSetEventDestination' => [ 'name' => 'UpdateConfigurationSetEventDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'UpdateConfigurationSetEventDestinationResponse', 'resultWrapper' => 'UpdateConfigurationSetEventDestinationResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'EventDestinationDoesNotExistException', ], [ 'shape' => 'InvalidCloudWatchDestinationException', ], [ 'shape' => 'InvalidFirehoseDestinationException', ], [ 'shape' => 'InvalidSNSDestinationException', ], ], ], 'UpdateConfigurationSetReputationMetricsEnabled' => [ 'name' => 'UpdateConfigurationSetReputationMetricsEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConfigurationSetReputationMetricsEnabledRequest', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], ], ], 'UpdateConfigurationSetSendingEnabled' => [ 'name' => 'UpdateConfigurationSetSendingEnabled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConfigurationSetSendingEnabledRequest', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], ], ], 'UpdateConfigurationSetTrackingOptions' => [ 'name' => 'UpdateConfigurationSetTrackingOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConfigurationSetTrackingOptionsRequest', ], 'output' => [ 'shape' => 'UpdateConfigurationSetTrackingOptionsResponse', 'resultWrapper' => 'UpdateConfigurationSetTrackingOptionsResult', ], 'errors' => [ [ 'shape' => 'ConfigurationSetDoesNotExistException', ], [ 'shape' => 'TrackingOptionsDoesNotExistException', ], [ 'shape' => 'InvalidTrackingOptionsException', ], ], ], 'UpdateCustomVerificationEmailTemplate' => [ 'name' => 'UpdateCustomVerificationEmailTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCustomVerificationEmailTemplateRequest', ], 'errors' => [ [ 'shape' => 'CustomVerificationEmailTemplateDoesNotExistException', ], [ 'shape' => 'FromEmailAddressNotVerifiedException', ], [ 'shape' => 'CustomVerificationEmailInvalidContentException', ], ], ], 'UpdateReceiptRule' => [ 'name' => 'UpdateReceiptRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateReceiptRuleRequest', ], 'output' => [ 'shape' => 'UpdateReceiptRuleResponse', 'resultWrapper' => 'UpdateReceiptRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidSnsTopicException', ], [ 'shape' => 'InvalidS3ConfigurationException', ], [ 'shape' => 'InvalidLambdaFunctionException', ], [ 'shape' => 'RuleSetDoesNotExistException', ], [ 'shape' => 'RuleDoesNotExistException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateTemplate' => [ 'name' => 'UpdateTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTemplateRequest', ], 'output' => [ 'shape' => 'UpdateTemplateResponse', 'resultWrapper' => 'UpdateTemplateResult', ], 'errors' => [ [ 'shape' => 'TemplateDoesNotExistException', ], [ 'shape' => 'InvalidTemplateException', ], ], ], 'VerifyDomainDkim' => [ 'name' => 'VerifyDomainDkim', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyDomainDkimRequest', ], 'output' => [ 'shape' => 'VerifyDomainDkimResponse', 'resultWrapper' => 'VerifyDomainDkimResult', ], ], 'VerifyDomainIdentity' => [ 'name' => 'VerifyDomainIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyDomainIdentityRequest', ], 'output' => [ 'shape' => 'VerifyDomainIdentityResponse', 'resultWrapper' => 'VerifyDomainIdentityResult', ], ], 'VerifyEmailAddress' => [ 'name' => 'VerifyEmailAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyEmailAddressRequest', ], ], 'VerifyEmailIdentity' => [ 'name' => 'VerifyEmailIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'VerifyEmailIdentityRequest', ], 'output' => [ 'shape' => 'VerifyEmailIdentityResponse', 'resultWrapper' => 'VerifyEmailIdentityResult', ], ], ], 'shapes' => [ 'AccountSendingPausedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AccountSendingPausedException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AddHeaderAction' => [ 'type' => 'structure', 'required' => [ 'HeaderName', 'HeaderValue', ], 'members' => [ 'HeaderName' => [ 'shape' => 'HeaderName', ], 'HeaderValue' => [ 'shape' => 'HeaderValue', ], ], ], 'Address' => [ 'type' => 'string', ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', ], ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleOrRuleSetName', ], ], 'error' => [ 'code' => 'AlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AmazonResourceName' => [ 'type' => 'string', ], 'ArrivalDate' => [ 'type' => 'timestamp', ], 'BehaviorOnMXFailure' => [ 'type' => 'string', 'enum' => [ 'UseDefaultValue', 'RejectMessage', ], ], 'Body' => [ 'type' => 'structure', 'members' => [ 'Text' => [ 'shape' => 'Content', ], 'Html' => [ 'shape' => 'Content', ], ], ], 'BounceAction' => [ 'type' => 'structure', 'required' => [ 'SmtpReplyCode', 'Message', 'Sender', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], 'SmtpReplyCode' => [ 'shape' => 'BounceSmtpReplyCode', ], 'StatusCode' => [ 'shape' => 'BounceStatusCode', ], 'Message' => [ 'shape' => 'BounceMessage', ], 'Sender' => [ 'shape' => 'Address', ], ], ], 'BounceMessage' => [ 'type' => 'string', ], 'BounceSmtpReplyCode' => [ 'type' => 'string', ], 'BounceStatusCode' => [ 'type' => 'string', ], 'BounceType' => [ 'type' => 'string', 'enum' => [ 'DoesNotExist', 'MessageTooLarge', 'ExceededQuota', 'ContentRejected', 'Undefined', 'TemporaryFailure', ], ], 'BouncedRecipientInfo' => [ 'type' => 'structure', 'required' => [ 'Recipient', ], 'members' => [ 'Recipient' => [ 'shape' => 'Address', ], 'RecipientArn' => [ 'shape' => 'AmazonResourceName', ], 'BounceType' => [ 'shape' => 'BounceType', ], 'RecipientDsnFields' => [ 'shape' => 'RecipientDsnFields', ], ], ], 'BouncedRecipientInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BouncedRecipientInfo', ], ], 'BulkEmailDestination' => [ 'type' => 'structure', 'required' => [ 'Destination', ], 'members' => [ 'Destination' => [ 'shape' => 'Destination', ], 'ReplacementTags' => [ 'shape' => 'MessageTagList', ], 'ReplacementTemplateData' => [ 'shape' => 'TemplateData', ], ], ], 'BulkEmailDestinationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulkEmailDestination', ], ], 'BulkEmailDestinationStatus' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BulkEmailStatus', ], 'Error' => [ 'shape' => 'Error', ], 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'BulkEmailDestinationStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulkEmailDestinationStatus', ], ], 'BulkEmailStatus' => [ 'type' => 'string', 'enum' => [ 'Success', 'MessageRejected', 'MailFromDomainNotVerified', 'ConfigurationSetDoesNotExist', 'TemplateDoesNotExist', 'AccountSuspended', 'AccountThrottled', 'AccountDailyQuotaExceeded', 'InvalidSendingPoolName', 'AccountSendingPaused', 'ConfigurationSetSendingPaused', 'InvalidParameterValue', 'TransientFailure', 'Failed', ], ], 'CannotDeleteException' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleOrRuleSetName', ], ], 'error' => [ 'code' => 'CannotDelete', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Charset' => [ 'type' => 'string', ], 'Cidr' => [ 'type' => 'string', ], 'CloneReceiptRuleSetRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'OriginalRuleSetName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'OriginalRuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], ], ], 'CloneReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CloudWatchDestination' => [ 'type' => 'structure', 'required' => [ 'DimensionConfigurations', ], 'members' => [ 'DimensionConfigurations' => [ 'shape' => 'CloudWatchDimensionConfigurations', ], ], ], 'CloudWatchDimensionConfiguration' => [ 'type' => 'structure', 'required' => [ 'DimensionName', 'DimensionValueSource', 'DefaultDimensionValue', ], 'members' => [ 'DimensionName' => [ 'shape' => 'DimensionName', ], 'DimensionValueSource' => [ 'shape' => 'DimensionValueSource', ], 'DefaultDimensionValue' => [ 'shape' => 'DefaultDimensionValue', ], ], ], 'CloudWatchDimensionConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchDimensionConfiguration', ], ], 'ConfigurationSet' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'ConfigurationSetAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], 'error' => [ 'code' => 'ConfigurationSetAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ConfigurationSetAttribute' => [ 'type' => 'string', 'enum' => [ 'eventDestinations', 'trackingOptions', 'reputationOptions', ], ], 'ConfigurationSetAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationSetAttribute', ], ], 'ConfigurationSetDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], 'error' => [ 'code' => 'ConfigurationSetDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ConfigurationSetName' => [ 'type' => 'string', ], 'ConfigurationSetSendingPausedException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], 'error' => [ 'code' => 'ConfigurationSetSendingPausedException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ConfigurationSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationSet', ], ], 'Content' => [ 'type' => 'structure', 'required' => [ 'Data', ], 'members' => [ 'Data' => [ 'shape' => 'MessageData', ], 'Charset' => [ 'shape' => 'Charset', ], ], ], 'Counter' => [ 'type' => 'long', ], 'CreateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestination', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestination' => [ 'shape' => 'EventDestination', ], ], ], 'CreateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateConfigurationSetRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSet', ], 'members' => [ 'ConfigurationSet' => [ 'shape' => 'ConfigurationSet', ], ], ], 'CreateConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateConfigurationSetTrackingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'TrackingOptions', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'TrackingOptions' => [ 'shape' => 'TrackingOptions', ], ], ], 'CreateConfigurationSetTrackingOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateCustomVerificationEmailTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', 'FromEmailAddress', 'TemplateSubject', 'TemplateContent', 'SuccessRedirectionURL', 'FailureRedirectionURL', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'FromEmailAddress' => [ 'shape' => 'FromAddress', ], 'TemplateSubject' => [ 'shape' => 'Subject', ], 'TemplateContent' => [ 'shape' => 'TemplateContent', ], 'SuccessRedirectionURL' => [ 'shape' => 'SuccessRedirectionURL', ], 'FailureRedirectionURL' => [ 'shape' => 'FailureRedirectionURL', ], ], ], 'CreateReceiptFilterRequest' => [ 'type' => 'structure', 'required' => [ 'Filter', ], 'members' => [ 'Filter' => [ 'shape' => 'ReceiptFilter', ], ], ], 'CreateReceiptFilterResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateReceiptRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'Rule', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'After' => [ 'shape' => 'ReceiptRuleName', ], 'Rule' => [ 'shape' => 'ReceiptRule', ], ], ], 'CreateReceiptRuleResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateReceiptRuleSetRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], ], ], 'CreateReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'Template', ], 'members' => [ 'Template' => [ 'shape' => 'Template', ], ], ], 'CreateTemplateResponse' => [ 'type' => 'structure', 'members' => [], ], 'CustomMailFromStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Success', 'Failed', 'TemporaryFailure', ], ], 'CustomRedirectDomain' => [ 'type' => 'string', ], 'CustomVerificationEmailInvalidContentException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CustomVerificationEmailInvalidContent', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CustomVerificationEmailTemplate' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'FromEmailAddress' => [ 'shape' => 'FromAddress', ], 'TemplateSubject' => [ 'shape' => 'Subject', ], 'SuccessRedirectionURL' => [ 'shape' => 'SuccessRedirectionURL', ], 'FailureRedirectionURL' => [ 'shape' => 'FailureRedirectionURL', ], ], ], 'CustomVerificationEmailTemplateAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'CustomVerificationEmailTemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'CustomVerificationEmailTemplateAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CustomVerificationEmailTemplateDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'CustomVerificationEmailTemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'CustomVerificationEmailTemplateDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CustomVerificationEmailTemplates' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomVerificationEmailTemplate', ], ], 'DefaultDimensionValue' => [ 'type' => 'string', ], 'DeleteConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestinationName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], ], 'DeleteConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConfigurationSetRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'DeleteConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConfigurationSetTrackingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'DeleteConfigurationSetTrackingOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCustomVerificationEmailTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], ], 'DeleteIdentityPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'PolicyName', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], ], ], 'DeleteIdentityPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], ], ], 'DeleteIdentityResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReceiptFilterRequest' => [ 'type' => 'structure', 'required' => [ 'FilterName', ], 'members' => [ 'FilterName' => [ 'shape' => 'ReceiptFilterName', ], ], ], 'DeleteReceiptFilterResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReceiptRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'RuleName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'RuleName' => [ 'shape' => 'ReceiptRuleName', ], ], ], 'DeleteReceiptRuleResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReceiptRuleSetRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], ], ], 'DeleteReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], ], 'DeleteTemplateResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteVerifiedEmailAddressRequest' => [ 'type' => 'structure', 'required' => [ 'EmailAddress', ], 'members' => [ 'EmailAddress' => [ 'shape' => 'Address', ], ], ], 'DescribeActiveReceiptRuleSetRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeActiveReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'ReceiptRuleSetMetadata', ], 'Rules' => [ 'shape' => 'ReceiptRulesList', ], ], ], 'DescribeConfigurationSetRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'ConfigurationSetAttributeNames' => [ 'shape' => 'ConfigurationSetAttributeList', ], ], ], 'DescribeConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSet' => [ 'shape' => 'ConfigurationSet', ], 'EventDestinations' => [ 'shape' => 'EventDestinations', ], 'TrackingOptions' => [ 'shape' => 'TrackingOptions', ], 'ReputationOptions' => [ 'shape' => 'ReputationOptions', ], ], ], 'DescribeReceiptRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'RuleName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'RuleName' => [ 'shape' => 'ReceiptRuleName', ], ], ], 'DescribeReceiptRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'ReceiptRule', ], ], ], 'DescribeReceiptRuleSetRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], ], ], 'DescribeReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'ReceiptRuleSetMetadata', ], 'Rules' => [ 'shape' => 'ReceiptRulesList', ], ], ], 'Destination' => [ 'type' => 'structure', 'members' => [ 'ToAddresses' => [ 'shape' => 'AddressList', ], 'CcAddresses' => [ 'shape' => 'AddressList', ], 'BccAddresses' => [ 'shape' => 'AddressList', ], ], ], 'DiagnosticCode' => [ 'type' => 'string', ], 'DimensionName' => [ 'type' => 'string', ], 'DimensionValueSource' => [ 'type' => 'string', 'enum' => [ 'messageTag', 'emailHeader', 'linkTag', ], ], 'DkimAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'Identity', ], 'value' => [ 'shape' => 'IdentityDkimAttributes', ], ], 'Domain' => [ 'type' => 'string', ], 'DsnAction' => [ 'type' => 'string', 'enum' => [ 'failed', 'delayed', 'delivered', 'relayed', 'expanded', ], ], 'DsnStatus' => [ 'type' => 'string', ], 'Enabled' => [ 'type' => 'boolean', ], 'Error' => [ 'type' => 'string', ], 'EventDestination' => [ 'type' => 'structure', 'required' => [ 'Name', 'MatchingEventTypes', ], 'members' => [ 'Name' => [ 'shape' => 'EventDestinationName', ], 'Enabled' => [ 'shape' => 'Enabled', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'CloudWatchDestination' => [ 'shape' => 'CloudWatchDestination', ], 'SNSDestination' => [ 'shape' => 'SNSDestination', ], ], ], 'EventDestinationAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], 'error' => [ 'code' => 'EventDestinationAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventDestinationDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], 'error' => [ 'code' => 'EventDestinationDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventDestinationName' => [ 'type' => 'string', ], 'EventDestinations' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDestination', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'send', 'reject', 'bounce', 'complaint', 'delivery', 'open', 'click', 'renderingFailure', ], ], 'EventTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventType', ], ], 'Explanation' => [ 'type' => 'string', ], 'ExtensionField' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'ExtensionFieldName', ], 'Value' => [ 'shape' => 'ExtensionFieldValue', ], ], ], 'ExtensionFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtensionField', ], ], 'ExtensionFieldName' => [ 'type' => 'string', ], 'ExtensionFieldValue' => [ 'type' => 'string', ], 'FailureRedirectionURL' => [ 'type' => 'string', ], 'FromAddress' => [ 'type' => 'string', ], 'FromEmailAddressNotVerifiedException' => [ 'type' => 'structure', 'members' => [ 'FromEmailAddress' => [ 'shape' => 'FromAddress', ], ], 'error' => [ 'code' => 'FromEmailAddressNotVerified', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'GetAccountSendingEnabledResponse' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'GetCustomVerificationEmailTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], ], 'GetCustomVerificationEmailTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'FromEmailAddress' => [ 'shape' => 'FromAddress', ], 'TemplateSubject' => [ 'shape' => 'Subject', ], 'TemplateContent' => [ 'shape' => 'TemplateContent', ], 'SuccessRedirectionURL' => [ 'shape' => 'SuccessRedirectionURL', ], 'FailureRedirectionURL' => [ 'shape' => 'FailureRedirectionURL', ], ], ], 'GetIdentityDkimAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'Identities', ], 'members' => [ 'Identities' => [ 'shape' => 'IdentityList', ], ], ], 'GetIdentityDkimAttributesResponse' => [ 'type' => 'structure', 'required' => [ 'DkimAttributes', ], 'members' => [ 'DkimAttributes' => [ 'shape' => 'DkimAttributes', ], ], ], 'GetIdentityMailFromDomainAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'Identities', ], 'members' => [ 'Identities' => [ 'shape' => 'IdentityList', ], ], ], 'GetIdentityMailFromDomainAttributesResponse' => [ 'type' => 'structure', 'required' => [ 'MailFromDomainAttributes', ], 'members' => [ 'MailFromDomainAttributes' => [ 'shape' => 'MailFromDomainAttributes', ], ], ], 'GetIdentityNotificationAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'Identities', ], 'members' => [ 'Identities' => [ 'shape' => 'IdentityList', ], ], ], 'GetIdentityNotificationAttributesResponse' => [ 'type' => 'structure', 'required' => [ 'NotificationAttributes', ], 'members' => [ 'NotificationAttributes' => [ 'shape' => 'NotificationAttributes', ], ], ], 'GetIdentityPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'PolicyNames', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'PolicyNames' => [ 'shape' => 'PolicyNameList', ], ], ], 'GetIdentityPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'Policies', ], 'members' => [ 'Policies' => [ 'shape' => 'PolicyMap', ], ], ], 'GetIdentityVerificationAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'Identities', ], 'members' => [ 'Identities' => [ 'shape' => 'IdentityList', ], ], ], 'GetIdentityVerificationAttributesResponse' => [ 'type' => 'structure', 'required' => [ 'VerificationAttributes', ], 'members' => [ 'VerificationAttributes' => [ 'shape' => 'VerificationAttributes', ], ], ], 'GetSendQuotaResponse' => [ 'type' => 'structure', 'members' => [ 'Max24HourSend' => [ 'shape' => 'Max24HourSend', ], 'MaxSendRate' => [ 'shape' => 'MaxSendRate', ], 'SentLast24Hours' => [ 'shape' => 'SentLast24Hours', ], ], ], 'GetSendStatisticsResponse' => [ 'type' => 'structure', 'members' => [ 'SendDataPoints' => [ 'shape' => 'SendDataPointList', ], ], ], 'GetTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], ], 'GetTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'Template' => [ 'shape' => 'Template', ], ], ], 'HeaderName' => [ 'type' => 'string', ], 'HeaderValue' => [ 'type' => 'string', ], 'HtmlPart' => [ 'type' => 'string', ], 'Identity' => [ 'type' => 'string', ], 'IdentityDkimAttributes' => [ 'type' => 'structure', 'required' => [ 'DkimEnabled', 'DkimVerificationStatus', ], 'members' => [ 'DkimEnabled' => [ 'shape' => 'Enabled', ], 'DkimVerificationStatus' => [ 'shape' => 'VerificationStatus', ], 'DkimTokens' => [ 'shape' => 'VerificationTokenList', ], ], ], 'IdentityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Identity', ], ], 'IdentityMailFromDomainAttributes' => [ 'type' => 'structure', 'required' => [ 'MailFromDomain', 'MailFromDomainStatus', 'BehaviorOnMXFailure', ], 'members' => [ 'MailFromDomain' => [ 'shape' => 'MailFromDomainName', ], 'MailFromDomainStatus' => [ 'shape' => 'CustomMailFromStatus', ], 'BehaviorOnMXFailure' => [ 'shape' => 'BehaviorOnMXFailure', ], ], ], 'IdentityNotificationAttributes' => [ 'type' => 'structure', 'required' => [ 'BounceTopic', 'ComplaintTopic', 'DeliveryTopic', 'ForwardingEnabled', ], 'members' => [ 'BounceTopic' => [ 'shape' => 'NotificationTopic', ], 'ComplaintTopic' => [ 'shape' => 'NotificationTopic', ], 'DeliveryTopic' => [ 'shape' => 'NotificationTopic', ], 'ForwardingEnabled' => [ 'shape' => 'Enabled', ], 'HeadersInBounceNotificationsEnabled' => [ 'shape' => 'Enabled', ], 'HeadersInComplaintNotificationsEnabled' => [ 'shape' => 'Enabled', ], 'HeadersInDeliveryNotificationsEnabled' => [ 'shape' => 'Enabled', ], ], ], 'IdentityType' => [ 'type' => 'string', 'enum' => [ 'EmailAddress', 'Domain', ], ], 'IdentityVerificationAttributes' => [ 'type' => 'structure', 'required' => [ 'VerificationStatus', ], 'members' => [ 'VerificationStatus' => [ 'shape' => 'VerificationStatus', ], 'VerificationToken' => [ 'shape' => 'VerificationToken', ], ], ], 'InvalidCloudWatchDestinationException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], 'error' => [ 'code' => 'InvalidCloudWatchDestination', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidConfigurationSetException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidConfigurationSet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidFirehoseDestinationException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], 'error' => [ 'code' => 'InvalidFirehoseDestination', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidLambdaFunctionException' => [ 'type' => 'structure', 'members' => [ 'FunctionArn' => [ 'shape' => 'AmazonResourceName', ], ], 'error' => [ 'code' => 'InvalidLambdaFunction', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidPolicyException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidPolicy', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRenderingParameterException' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'InvalidRenderingParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidS3ConfigurationException' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'S3BucketName', ], ], 'error' => [ 'code' => 'InvalidS3Configuration', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSNSDestinationException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], ], 'error' => [ 'code' => 'InvalidSNSDestination', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSnsTopicException' => [ 'type' => 'structure', 'members' => [ 'Topic' => [ 'shape' => 'AmazonResourceName', ], ], 'error' => [ 'code' => 'InvalidSnsTopic', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidTemplateException' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'InvalidTemplate', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidTrackingOptionsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidTrackingOptions', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvocationType' => [ 'type' => 'string', 'enum' => [ 'Event', 'RequestResponse', ], ], 'KinesisFirehoseDestination' => [ 'type' => 'structure', 'required' => [ 'IAMRoleARN', 'DeliveryStreamARN', ], 'members' => [ 'IAMRoleARN' => [ 'shape' => 'AmazonResourceName', ], 'DeliveryStreamARN' => [ 'shape' => 'AmazonResourceName', ], ], ], 'LambdaAction' => [ 'type' => 'structure', 'required' => [ 'FunctionArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], 'FunctionArn' => [ 'shape' => 'AmazonResourceName', ], 'InvocationType' => [ 'shape' => 'InvocationType', ], ], ], 'LastAttemptDate' => [ 'type' => 'timestamp', ], 'LastFreshStart' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ListConfigurationSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxItems' => [ 'shape' => 'MaxItems', ], ], ], 'ListConfigurationSetsResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSets' => [ 'shape' => 'ConfigurationSets', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCustomVerificationEmailTemplatesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListCustomVerificationEmailTemplatesResponse' => [ 'type' => 'structure', 'members' => [ 'CustomVerificationEmailTemplates' => [ 'shape' => 'CustomVerificationEmailTemplates', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxItems' => [ 'shape' => 'MaxItems', ], ], ], 'ListIdentitiesResponse' => [ 'type' => 'structure', 'required' => [ 'Identities', ], 'members' => [ 'Identities' => [ 'shape' => 'IdentityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListIdentityPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], ], ], 'ListIdentityPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'PolicyNames', ], 'members' => [ 'PolicyNames' => [ 'shape' => 'PolicyNameList', ], ], ], 'ListReceiptFiltersRequest' => [ 'type' => 'structure', 'members' => [], ], 'ListReceiptFiltersResponse' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ReceiptFilterList', ], ], ], 'ListReceiptRuleSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListReceiptRuleSetsResponse' => [ 'type' => 'structure', 'members' => [ 'RuleSets' => [ 'shape' => 'ReceiptRuleSetsLists', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTemplatesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxItems' => [ 'shape' => 'MaxItems', ], ], ], 'ListTemplatesResponse' => [ 'type' => 'structure', 'members' => [ 'TemplatesMetadata' => [ 'shape' => 'TemplateMetadataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListVerifiedEmailAddressesResponse' => [ 'type' => 'structure', 'members' => [ 'VerifiedEmailAddresses' => [ 'shape' => 'AddressList', ], ], ], 'MailFromDomainAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'Identity', ], 'value' => [ 'shape' => 'IdentityMailFromDomainAttributes', ], ], 'MailFromDomainName' => [ 'type' => 'string', ], 'MailFromDomainNotVerifiedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'MailFromDomainNotVerifiedException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Max24HourSend' => [ 'type' => 'double', ], 'MaxItems' => [ 'type' => 'integer', ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 1, ], 'MaxSendRate' => [ 'type' => 'double', ], 'Message' => [ 'type' => 'structure', 'required' => [ 'Subject', 'Body', ], 'members' => [ 'Subject' => [ 'shape' => 'Content', ], 'Body' => [ 'shape' => 'Body', ], ], ], 'MessageData' => [ 'type' => 'string', ], 'MessageDsn' => [ 'type' => 'structure', 'required' => [ 'ReportingMta', ], 'members' => [ 'ReportingMta' => [ 'shape' => 'ReportingMta', ], 'ArrivalDate' => [ 'shape' => 'ArrivalDate', ], 'ExtensionFields' => [ 'shape' => 'ExtensionFieldList', ], ], ], 'MessageId' => [ 'type' => 'string', ], 'MessageRejected' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'MessageRejected', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'MessageTag' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'MessageTagName', ], 'Value' => [ 'shape' => 'MessageTagValue', ], ], ], 'MessageTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MessageTag', ], ], 'MessageTagName' => [ 'type' => 'string', ], 'MessageTagValue' => [ 'type' => 'string', ], 'MissingRenderingAttributeException' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'MissingRenderingAttribute', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NotificationAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'Identity', ], 'value' => [ 'shape' => 'IdentityNotificationAttributes', ], ], 'NotificationTopic' => [ 'type' => 'string', ], 'NotificationType' => [ 'type' => 'string', 'enum' => [ 'Bounce', 'Complaint', 'Delivery', ], ], 'Policy' => [ 'type' => 'string', 'min' => 1, ], 'PolicyMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'PolicyName', ], 'value' => [ 'shape' => 'Policy', ], ], 'PolicyName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'PolicyNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyName', ], ], 'ProductionAccessNotGrantedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ProductionAccessNotGranted', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PutIdentityPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'PolicyName', 'Policy', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'PolicyName' => [ 'shape' => 'PolicyName', ], 'Policy' => [ 'shape' => 'Policy', ], ], ], 'PutIdentityPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'RawMessage' => [ 'type' => 'structure', 'required' => [ 'Data', ], 'members' => [ 'Data' => [ 'shape' => 'RawMessageData', ], ], ], 'RawMessageData' => [ 'type' => 'blob', ], 'ReceiptAction' => [ 'type' => 'structure', 'members' => [ 'S3Action' => [ 'shape' => 'S3Action', ], 'BounceAction' => [ 'shape' => 'BounceAction', ], 'WorkmailAction' => [ 'shape' => 'WorkmailAction', ], 'LambdaAction' => [ 'shape' => 'LambdaAction', ], 'StopAction' => [ 'shape' => 'StopAction', ], 'AddHeaderAction' => [ 'shape' => 'AddHeaderAction', ], 'SNSAction' => [ 'shape' => 'SNSAction', ], ], ], 'ReceiptActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReceiptAction', ], ], 'ReceiptFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'IpFilter', ], 'members' => [ 'Name' => [ 'shape' => 'ReceiptFilterName', ], 'IpFilter' => [ 'shape' => 'ReceiptIpFilter', ], ], ], 'ReceiptFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReceiptFilter', ], ], 'ReceiptFilterName' => [ 'type' => 'string', ], 'ReceiptFilterPolicy' => [ 'type' => 'string', 'enum' => [ 'Block', 'Allow', ], ], 'ReceiptIpFilter' => [ 'type' => 'structure', 'required' => [ 'Policy', 'Cidr', ], 'members' => [ 'Policy' => [ 'shape' => 'ReceiptFilterPolicy', ], 'Cidr' => [ 'shape' => 'Cidr', ], ], ], 'ReceiptRule' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'ReceiptRuleName', ], 'Enabled' => [ 'shape' => 'Enabled', ], 'TlsPolicy' => [ 'shape' => 'TlsPolicy', ], 'Recipients' => [ 'shape' => 'RecipientsList', ], 'Actions' => [ 'shape' => 'ReceiptActionsList', ], 'ScanEnabled' => [ 'shape' => 'Enabled', ], ], ], 'ReceiptRuleName' => [ 'type' => 'string', ], 'ReceiptRuleNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReceiptRuleName', ], ], 'ReceiptRuleSetMetadata' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ReceiptRuleSetName', ], 'CreatedTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'ReceiptRuleSetName' => [ 'type' => 'string', ], 'ReceiptRuleSetsLists' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReceiptRuleSetMetadata', ], ], 'ReceiptRulesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReceiptRule', ], ], 'Recipient' => [ 'type' => 'string', ], 'RecipientDsnFields' => [ 'type' => 'structure', 'required' => [ 'Action', 'Status', ], 'members' => [ 'FinalRecipient' => [ 'shape' => 'Address', ], 'Action' => [ 'shape' => 'DsnAction', ], 'RemoteMta' => [ 'shape' => 'RemoteMta', ], 'Status' => [ 'shape' => 'DsnStatus', ], 'DiagnosticCode' => [ 'shape' => 'DiagnosticCode', ], 'LastAttemptDate' => [ 'shape' => 'LastAttemptDate', ], 'ExtensionFields' => [ 'shape' => 'ExtensionFieldList', ], ], ], 'RecipientsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Recipient', ], ], 'RemoteMta' => [ 'type' => 'string', ], 'RenderedTemplate' => [ 'type' => 'string', ], 'ReorderReceiptRuleSetRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'RuleNames', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'RuleNames' => [ 'shape' => 'ReceiptRuleNamesList', ], ], ], 'ReorderReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'ReportingMta' => [ 'type' => 'string', ], 'ReputationOptions' => [ 'type' => 'structure', 'members' => [ 'SendingEnabled' => [ 'shape' => 'Enabled', ], 'ReputationMetricsEnabled' => [ 'shape' => 'Enabled', ], 'LastFreshStart' => [ 'shape' => 'LastFreshStart', ], ], ], 'RuleDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleOrRuleSetName', ], ], 'error' => [ 'code' => 'RuleDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'RuleOrRuleSetName' => [ 'type' => 'string', ], 'RuleSetDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleOrRuleSetName', ], ], 'error' => [ 'code' => 'RuleSetDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'S3Action' => [ 'type' => 'structure', 'required' => [ 'BucketName', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], 'BucketName' => [ 'shape' => 'S3BucketName', ], 'ObjectKeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'KmsKeyArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'S3BucketName' => [ 'type' => 'string', ], 'S3KeyPrefix' => [ 'type' => 'string', ], 'SNSAction' => [ 'type' => 'structure', 'required' => [ 'TopicArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], 'Encoding' => [ 'shape' => 'SNSActionEncoding', ], ], ], 'SNSActionEncoding' => [ 'type' => 'string', 'enum' => [ 'UTF-8', 'Base64', ], ], 'SNSDestination' => [ 'type' => 'structure', 'required' => [ 'TopicARN', ], 'members' => [ 'TopicARN' => [ 'shape' => 'AmazonResourceName', ], ], ], 'SendBounceRequest' => [ 'type' => 'structure', 'required' => [ 'OriginalMessageId', 'BounceSender', 'BouncedRecipientInfoList', ], 'members' => [ 'OriginalMessageId' => [ 'shape' => 'MessageId', ], 'BounceSender' => [ 'shape' => 'Address', ], 'Explanation' => [ 'shape' => 'Explanation', ], 'MessageDsn' => [ 'shape' => 'MessageDsn', ], 'BouncedRecipientInfoList' => [ 'shape' => 'BouncedRecipientInfoList', ], 'BounceSenderArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'SendBounceResponse' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'SendBulkTemplatedEmailRequest' => [ 'type' => 'structure', 'required' => [ 'Source', 'Template', 'Destinations', ], 'members' => [ 'Source' => [ 'shape' => 'Address', ], 'SourceArn' => [ 'shape' => 'AmazonResourceName', ], 'ReplyToAddresses' => [ 'shape' => 'AddressList', ], 'ReturnPath' => [ 'shape' => 'Address', ], 'ReturnPathArn' => [ 'shape' => 'AmazonResourceName', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'DefaultTags' => [ 'shape' => 'MessageTagList', ], 'Template' => [ 'shape' => 'TemplateName', ], 'TemplateArn' => [ 'shape' => 'AmazonResourceName', ], 'DefaultTemplateData' => [ 'shape' => 'TemplateData', ], 'Destinations' => [ 'shape' => 'BulkEmailDestinationList', ], ], ], 'SendBulkTemplatedEmailResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'BulkEmailDestinationStatusList', ], ], ], 'SendCustomVerificationEmailRequest' => [ 'type' => 'structure', 'required' => [ 'EmailAddress', 'TemplateName', ], 'members' => [ 'EmailAddress' => [ 'shape' => 'Address', ], 'TemplateName' => [ 'shape' => 'TemplateName', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'SendCustomVerificationEmailResponse' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'SendDataPoint' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'DeliveryAttempts' => [ 'shape' => 'Counter', ], 'Bounces' => [ 'shape' => 'Counter', ], 'Complaints' => [ 'shape' => 'Counter', ], 'Rejects' => [ 'shape' => 'Counter', ], ], ], 'SendDataPointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SendDataPoint', ], ], 'SendEmailRequest' => [ 'type' => 'structure', 'required' => [ 'Source', 'Destination', 'Message', ], 'members' => [ 'Source' => [ 'shape' => 'Address', ], 'Destination' => [ 'shape' => 'Destination', ], 'Message' => [ 'shape' => 'Message', ], 'ReplyToAddresses' => [ 'shape' => 'AddressList', ], 'ReturnPath' => [ 'shape' => 'Address', ], 'SourceArn' => [ 'shape' => 'AmazonResourceName', ], 'ReturnPathArn' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'MessageTagList', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'SendEmailResponse' => [ 'type' => 'structure', 'required' => [ 'MessageId', ], 'members' => [ 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'SendRawEmailRequest' => [ 'type' => 'structure', 'required' => [ 'RawMessage', ], 'members' => [ 'Source' => [ 'shape' => 'Address', ], 'Destinations' => [ 'shape' => 'AddressList', ], 'RawMessage' => [ 'shape' => 'RawMessage', ], 'FromArn' => [ 'shape' => 'AmazonResourceName', ], 'SourceArn' => [ 'shape' => 'AmazonResourceName', ], 'ReturnPathArn' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'MessageTagList', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'SendRawEmailResponse' => [ 'type' => 'structure', 'required' => [ 'MessageId', ], 'members' => [ 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'SendTemplatedEmailRequest' => [ 'type' => 'structure', 'required' => [ 'Source', 'Destination', 'Template', 'TemplateData', ], 'members' => [ 'Source' => [ 'shape' => 'Address', ], 'Destination' => [ 'shape' => 'Destination', ], 'ReplyToAddresses' => [ 'shape' => 'AddressList', ], 'ReturnPath' => [ 'shape' => 'Address', ], 'SourceArn' => [ 'shape' => 'AmazonResourceName', ], 'ReturnPathArn' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'MessageTagList', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'Template' => [ 'shape' => 'TemplateName', ], 'TemplateArn' => [ 'shape' => 'AmazonResourceName', ], 'TemplateData' => [ 'shape' => 'TemplateData', ], ], ], 'SendTemplatedEmailResponse' => [ 'type' => 'structure', 'required' => [ 'MessageId', ], 'members' => [ 'MessageId' => [ 'shape' => 'MessageId', ], ], ], 'SentLast24Hours' => [ 'type' => 'double', ], 'SetActiveReceiptRuleSetRequest' => [ 'type' => 'structure', 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], ], ], 'SetActiveReceiptRuleSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetIdentityDkimEnabledRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'DkimEnabled', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'DkimEnabled' => [ 'shape' => 'Enabled', ], ], ], 'SetIdentityDkimEnabledResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetIdentityFeedbackForwardingEnabledRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'ForwardingEnabled', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'ForwardingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'SetIdentityFeedbackForwardingEnabledResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetIdentityHeadersInNotificationsEnabledRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'NotificationType', 'Enabled', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'SetIdentityHeadersInNotificationsEnabledResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetIdentityMailFromDomainRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'MailFromDomain' => [ 'shape' => 'MailFromDomainName', ], 'BehaviorOnMXFailure' => [ 'shape' => 'BehaviorOnMXFailure', ], ], ], 'SetIdentityMailFromDomainResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetIdentityNotificationTopicRequest' => [ 'type' => 'structure', 'required' => [ 'Identity', 'NotificationType', ], 'members' => [ 'Identity' => [ 'shape' => 'Identity', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], 'SnsTopic' => [ 'shape' => 'NotificationTopic', ], ], ], 'SetIdentityNotificationTopicResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetReceiptRulePositionRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'RuleName', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'RuleName' => [ 'shape' => 'ReceiptRuleName', ], 'After' => [ 'shape' => 'ReceiptRuleName', ], ], ], 'SetReceiptRulePositionResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopAction' => [ 'type' => 'structure', 'required' => [ 'Scope', ], 'members' => [ 'Scope' => [ 'shape' => 'StopScope', ], 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'StopScope' => [ 'type' => 'string', 'enum' => [ 'RuleSet', ], ], 'Subject' => [ 'type' => 'string', ], 'SubjectPart' => [ 'type' => 'string', ], 'SuccessRedirectionURL' => [ 'type' => 'string', ], 'Template' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'SubjectPart' => [ 'shape' => 'SubjectPart', ], 'TextPart' => [ 'shape' => 'TextPart', ], 'HtmlPart' => [ 'shape' => 'HtmlPart', ], ], ], 'TemplateContent' => [ 'type' => 'string', ], 'TemplateData' => [ 'type' => 'string', 'max' => 262144, ], 'TemplateDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], ], 'error' => [ 'code' => 'TemplateDoesNotExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TemplateMetadata' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'TemplateName', ], 'CreatedTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'TemplateMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TemplateMetadata', ], ], 'TemplateName' => [ 'type' => 'string', ], 'TestRenderTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', 'TemplateData', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'TemplateData' => [ 'shape' => 'TemplateData', ], ], ], 'TestRenderTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'RenderedTemplate' => [ 'shape' => 'RenderedTemplate', ], ], ], 'TextPart' => [ 'type' => 'string', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TlsPolicy' => [ 'type' => 'string', 'enum' => [ 'Require', 'Optional', ], ], 'TrackingOptions' => [ 'type' => 'structure', 'members' => [ 'CustomRedirectDomain' => [ 'shape' => 'CustomRedirectDomain', ], ], ], 'TrackingOptionsAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], 'error' => [ 'code' => 'TrackingOptionsAlreadyExistsException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TrackingOptionsDoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], 'error' => [ 'code' => 'TrackingOptionsDoesNotExistException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UpdateAccountSendingEnabledRequest' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'UpdateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestination', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'EventDestination' => [ 'shape' => 'EventDestination', ], ], ], 'UpdateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateConfigurationSetReputationMetricsEnabledRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'Enabled', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'UpdateConfigurationSetSendingEnabledRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'Enabled', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'UpdateConfigurationSetTrackingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'TrackingOptions', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'TrackingOptions' => [ 'shape' => 'TrackingOptions', ], ], ], 'UpdateConfigurationSetTrackingOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCustomVerificationEmailTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'TemplateName', ], 'members' => [ 'TemplateName' => [ 'shape' => 'TemplateName', ], 'FromEmailAddress' => [ 'shape' => 'FromAddress', ], 'TemplateSubject' => [ 'shape' => 'Subject', ], 'TemplateContent' => [ 'shape' => 'TemplateContent', ], 'SuccessRedirectionURL' => [ 'shape' => 'SuccessRedirectionURL', ], 'FailureRedirectionURL' => [ 'shape' => 'FailureRedirectionURL', ], ], ], 'UpdateReceiptRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleSetName', 'Rule', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'ReceiptRuleSetName', ], 'Rule' => [ 'shape' => 'ReceiptRule', ], ], ], 'UpdateReceiptRuleResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'Template', ], 'members' => [ 'Template' => [ 'shape' => 'Template', ], ], ], 'UpdateTemplateResponse' => [ 'type' => 'structure', 'members' => [], ], 'VerificationAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'Identity', ], 'value' => [ 'shape' => 'IdentityVerificationAttributes', ], ], 'VerificationStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Success', 'Failed', 'TemporaryFailure', 'NotStarted', ], ], 'VerificationToken' => [ 'type' => 'string', ], 'VerificationTokenList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VerificationToken', ], ], 'VerifyDomainDkimRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', ], 'members' => [ 'Domain' => [ 'shape' => 'Domain', ], ], ], 'VerifyDomainDkimResponse' => [ 'type' => 'structure', 'required' => [ 'DkimTokens', ], 'members' => [ 'DkimTokens' => [ 'shape' => 'VerificationTokenList', ], ], ], 'VerifyDomainIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', ], 'members' => [ 'Domain' => [ 'shape' => 'Domain', ], ], ], 'VerifyDomainIdentityResponse' => [ 'type' => 'structure', 'required' => [ 'VerificationToken', ], 'members' => [ 'VerificationToken' => [ 'shape' => 'VerificationToken', ], ], ], 'VerifyEmailAddressRequest' => [ 'type' => 'structure', 'required' => [ 'EmailAddress', ], 'members' => [ 'EmailAddress' => [ 'shape' => 'Address', ], ], ], 'VerifyEmailIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'EmailAddress', ], 'members' => [ 'EmailAddress' => [ 'shape' => 'Address', ], ], ], 'VerifyEmailIdentityResponse' => [ 'type' => 'structure', 'members' => [], ], 'WorkmailAction' => [ 'type' => 'structure', 'required' => [ 'OrganizationArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], 'OrganizationArn' => [ 'shape' => 'AmazonResourceName', ], ], ], ],]; diff --git a/lib/aws/Aws/data/email/2010-12-01/paginators-1.json.php b/lib/aws/Aws/data/email/2010-12-01/paginators-1.json.php new file mode 100644 index 0000000..f8c1e09 --- /dev/null +++ b/lib/aws/Aws/data/email/2010-12-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/email/2010-12-01/paginators-1.json +return [ 'pagination' => [ 'ListCustomVerificationEmailTemplates' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListIdentities' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxItems', 'output_token' => 'NextToken', 'result_key' => 'Identities', ], 'ListVerifiedEmailAddresses' => [ 'result_key' => 'VerifiedEmailAddresses', ], ],]; diff --git a/lib/aws/Aws/data/email/2010-12-01/smoke.json.php b/lib/aws/Aws/data/email/2010-12-01/smoke.json.php new file mode 100644 index 0000000..877e344 --- /dev/null +++ b/lib/aws/Aws/data/email/2010-12-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/email/2010-12-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListIdentities', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'VerifyEmailIdentity', 'input' => [ 'EmailAddress' => 'fake_email', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/email/2010-12-01/waiters-1.json.php b/lib/aws/Aws/data/email/2010-12-01/waiters-1.json.php new file mode 100644 index 0000000..8c716a9 --- /dev/null +++ b/lib/aws/Aws/data/email/2010-12-01/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/email/2010-12-01/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 3, 'max_attempts' => 20, ], 'IdentityExists' => [ 'operation' => 'GetIdentityVerificationAttributes', 'success_type' => 'output', 'success_path' => 'VerificationAttributes[].VerificationStatus', 'success_value' => true, ], ],]; diff --git a/lib/aws/Aws/data/email/2010-12-01/waiters-2.json.php b/lib/aws/Aws/data/email/2010-12-01/waiters-2.json.php new file mode 100644 index 0000000..0eab0e0 --- /dev/null +++ b/lib/aws/Aws/data/email/2010-12-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/email/2010-12-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'IdentityExists' => [ 'delay' => 3, 'operation' => 'GetIdentityVerificationAttributes', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 'Success', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'VerificationAttributes.*.VerificationStatus', ], ], ], ],]; diff --git a/lib/aws/Aws/data/endpoints.json.php b/lib/aws/Aws/data/endpoints.json.php new file mode 100644 index 0000000..470bd2e --- /dev/null +++ b/lib/aws/Aws/data/endpoints.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/endpoints.json +return [ 'partitions' => [ [ 'defaults' => [ 'hostname' => '{service}.{region}.{dnsSuffix}', 'protocols' => [ 'https', ], 'signatureVersions' => [ 'v4', ], ], 'dnsSuffix' => 'amazonaws.com', 'partition' => 'aws', 'partitionName' => 'AWS Standard', 'regionRegex' => '^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$', 'regions' => [ 'ap-northeast-1' => [ 'description' => 'Asia Pacific (Tokyo)', ], 'ap-northeast-2' => [ 'description' => 'Asia Pacific (Seoul)', ], 'ap-south-1' => [ 'description' => 'Asia Pacific (Mumbai)', ], 'ap-southeast-1' => [ 'description' => 'Asia Pacific (Singapore)', ], 'ap-southeast-2' => [ 'description' => 'Asia Pacific (Sydney)', ], 'ca-central-1' => [ 'description' => 'Canada (Central)', ], 'eu-central-1' => [ 'description' => 'EU (Frankfurt)', ], 'eu-north-1' => [ 'description' => 'EU (Stockholm)', ], 'eu-west-1' => [ 'description' => 'EU (Ireland)', ], 'eu-west-2' => [ 'description' => 'EU (London)', ], 'eu-west-3' => [ 'description' => 'EU (Paris)', ], 'sa-east-1' => [ 'description' => 'South America (Sao Paulo)', ], 'us-east-1' => [ 'description' => 'US East (N. Virginia)', ], 'us-east-2' => [ 'description' => 'US East (Ohio)', ], 'us-west-1' => [ 'description' => 'US West (N. California)', ], 'us-west-2' => [ 'description' => 'US West (Oregon)', ], ], 'services' => [ 'a4b' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'acm' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'acm-pca' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'api.ecr' => [ 'endpoints' => [ 'ap-northeast-1' => [ 'credentialScope' => [ 'region' => 'ap-northeast-1', ], 'hostname' => 'api.ecr.ap-northeast-1.amazonaws.com', ], 'ap-northeast-2' => [ 'credentialScope' => [ 'region' => 'ap-northeast-2', ], 'hostname' => 'api.ecr.ap-northeast-2.amazonaws.com', ], 'ap-south-1' => [ 'credentialScope' => [ 'region' => 'ap-south-1', ], 'hostname' => 'api.ecr.ap-south-1.amazonaws.com', ], 'ap-southeast-1' => [ 'credentialScope' => [ 'region' => 'ap-southeast-1', ], 'hostname' => 'api.ecr.ap-southeast-1.amazonaws.com', ], 'ap-southeast-2' => [ 'credentialScope' => [ 'region' => 'ap-southeast-2', ], 'hostname' => 'api.ecr.ap-southeast-2.amazonaws.com', ], 'ca-central-1' => [ 'credentialScope' => [ 'region' => 'ca-central-1', ], 'hostname' => 'api.ecr.ca-central-1.amazonaws.com', ], 'eu-central-1' => [ 'credentialScope' => [ 'region' => 'eu-central-1', ], 'hostname' => 'api.ecr.eu-central-1.amazonaws.com', ], 'eu-north-1' => [ 'credentialScope' => [ 'region' => 'eu-north-1', ], 'hostname' => 'api.ecr.eu-north-1.amazonaws.com', ], 'eu-west-1' => [ 'credentialScope' => [ 'region' => 'eu-west-1', ], 'hostname' => 'api.ecr.eu-west-1.amazonaws.com', ], 'eu-west-2' => [ 'credentialScope' => [ 'region' => 'eu-west-2', ], 'hostname' => 'api.ecr.eu-west-2.amazonaws.com', ], 'eu-west-3' => [ 'credentialScope' => [ 'region' => 'eu-west-3', ], 'hostname' => 'api.ecr.eu-west-3.amazonaws.com', ], 'sa-east-1' => [ 'credentialScope' => [ 'region' => 'sa-east-1', ], 'hostname' => 'api.ecr.sa-east-1.amazonaws.com', ], 'us-east-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'api.ecr.us-east-1.amazonaws.com', ], 'us-east-2' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'api.ecr.us-east-2.amazonaws.com', ], 'us-west-1' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'api.ecr.us-west-1.amazonaws.com', ], 'us-west-2' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'api.ecr.us-west-2.amazonaws.com', ], ], ], 'api.mediatailor' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'api.pricing' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'pricing', ], ], 'endpoints' => [ 'ap-south-1' => [], 'us-east-1' => [], ], ], 'api.sagemaker' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'api-fips.sagemaker.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'api-fips.sagemaker.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'api-fips.sagemaker.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'api-fips.sagemaker.us-west-2.amazonaws.com', ], ], ], 'apigateway' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'application-autoscaling' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'application-autoscaling', ], 'hostname' => 'autoscaling.{region}.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'appstream2' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'appstream', ], 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'appsync' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'athena' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'autoscaling' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'autoscaling-plans' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'autoscaling-plans', ], 'hostname' => 'autoscaling.{region}.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'batch' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'budgets' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'budgets.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'ce' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'ce.us-east-1.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'chime' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'sslCommonName' => 'service.chime.aws.amazon.com', ], 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'service.chime.aws.amazon.com', 'protocols' => [ 'https', ], ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'cloud9' => [ 'endpoints' => [ 'ap-southeast-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'clouddirectory' => [ 'endpoints' => [ 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'cloudformation' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cloudfront' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'cloudfront.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'cloudhsm' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cloudhsmv2' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'cloudhsm', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cloudsearch' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cloudtrail' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'codebuild' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'codebuild-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'codebuild-fips.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'codebuild-fips.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'codebuild-fips.us-west-2.amazonaws.com', ], ], ], 'codecommit' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'fips' => [ 'credentialScope' => [ 'region' => 'ca-central-1', ], 'hostname' => 'codecommit-fips.ca-central-1.amazonaws.com', ], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'codedeploy' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'codedeploy-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'codedeploy-fips.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'codedeploy-fips.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'codedeploy-fips.us-west-2.amazonaws.com', ], ], ], 'codepipeline' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'codestar' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cognito-identity' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'cognito-idp' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'cognito-sync' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'comprehend' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'comprehendmedical' => [ 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'config' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'cur' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'data.iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'iotdata', ], 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'datapipeline' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'datasync' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'dax' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'devicefarm' => [ 'endpoints' => [ 'us-west-2' => [], ], ], 'directconnect' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'discovery' => [ 'endpoints' => [ 'us-west-2' => [], ], ], 'dms' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'docdb' => [ 'endpoints' => [ 'eu-central-1' => [ 'credentialScope' => [ 'region' => 'eu-central-1', ], 'hostname' => 'rds.eu-central-1.amazonaws.com', ], 'eu-west-1' => [ 'credentialScope' => [ 'region' => 'eu-west-1', ], 'hostname' => 'rds.eu-west-1.amazonaws.com', ], 'us-east-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'rds.us-east-1.amazonaws.com', ], 'us-east-2' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'rds.us-east-2.amazonaws.com', ], 'us-west-2' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'rds.us-west-2.amazonaws.com', ], ], ], 'ds' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'dynamodb' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'local' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'localhost:8000', 'protocols' => [ 'http', ], ], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'ec2' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'ecs' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elasticache' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'elasticache-fips.us-west-1.amazonaws.com', ], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elasticbeanstalk' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elasticfilesystem' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elasticloadbalancing' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elasticmapreduce' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'sslCommonName' => '{region}.{service}.{dnsSuffix}', ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [ 'sslCommonName' => '{service}.{region}.{dnsSuffix}', ], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [ 'sslCommonName' => '{service}.{region}.{dnsSuffix}', ], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'elastictranscoder' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'email' => [ 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'entitlement.marketplace' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'aws-marketplace', ], ], 'endpoints' => [ 'us-east-1' => [], ], ], 'es' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'es-fips.us-west-1.amazonaws.com', ], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'events' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'firehose' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'fms' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'fsx' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'gamelift' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'glacier' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'glue' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'greengrass' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], 'isRegionalized' => true, ], 'guardduty' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], 'isRegionalized' => true, ], 'health' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'iam' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'iam.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'importexport' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', 'service' => 'IngestionService', ], 'hostname' => 'importexport.amazonaws.com', 'signatureVersions' => [ 'v2', 'v4', ], ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'inspector' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'execute-api', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'iotanalytics' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'kinesis' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'kinesisanalytics' => [ 'endpoints' => [ 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'kinesisvideo' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'kms' => [ 'endpoints' => [ 'ProdFips' => [ 'credentialScope' => [ 'region' => 'ca-central-1', ], 'hostname' => 'kms-fips.ca-central-1.amazonaws.com', ], 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'lambda' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'license-manager' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'lightsail' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'logs' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'machinelearning' => [ 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], ], ], 'marketplacecommerceanalytics' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'mediaconnect' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'mediaconvert' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'medialive' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'mediapackage' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'mediastore' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'metering.marketplace' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'aws-marketplace', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'mgh' => [ 'endpoints' => [ 'us-west-2' => [], ], ], 'mobileanalytics' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'models.lex' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'lex', ], ], 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'monitoring' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'mq' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'mturk-requester' => [ 'endpoints' => [ 'sandbox' => [ 'hostname' => 'mturk-requester-sandbox.us-east-1.amazonaws.com', ], 'us-east-1' => [], ], 'isRegionalized' => false, ], 'neptune' => [ 'endpoints' => [ 'ap-northeast-1' => [ 'credentialScope' => [ 'region' => 'ap-northeast-1', ], 'hostname' => 'rds.ap-northeast-1.amazonaws.com', ], 'ap-south-1' => [ 'credentialScope' => [ 'region' => 'ap-south-1', ], 'hostname' => 'rds.ap-south-1.amazonaws.com', ], 'ap-southeast-1' => [ 'credentialScope' => [ 'region' => 'ap-southeast-1', ], 'hostname' => 'rds.ap-southeast-1.amazonaws.com', ], 'ap-southeast-2' => [ 'credentialScope' => [ 'region' => 'ap-southeast-2', ], 'hostname' => 'rds.ap-southeast-2.amazonaws.com', ], 'eu-central-1' => [ 'credentialScope' => [ 'region' => 'eu-central-1', ], 'hostname' => 'rds.eu-central-1.amazonaws.com', ], 'eu-west-1' => [ 'credentialScope' => [ 'region' => 'eu-west-1', ], 'hostname' => 'rds.eu-west-1.amazonaws.com', ], 'eu-west-2' => [ 'credentialScope' => [ 'region' => 'eu-west-2', ], 'hostname' => 'rds.eu-west-2.amazonaws.com', ], 'us-east-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'rds.us-east-1.amazonaws.com', ], 'us-east-2' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'rds.us-east-2.amazonaws.com', ], 'us-west-2' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'rds.us-west-2.amazonaws.com', ], ], ], 'opsworks' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'opsworks-cm' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'organizations' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'organizations.us-east-1.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'pinpoint' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'mobiletargeting', ], ], 'endpoints' => [ 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'polly' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'rds' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [ 'sslCommonName' => '{service}.{dnsSuffix}', ], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'redshift' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'rekognition' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'resource-groups' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'robomaker' => [ 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'route53' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'route53.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'route53domains' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'route53resolver' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'runtime.lex' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'lex', ], ], 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'runtime.sagemaker' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 's3' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], 'signatureVersions' => [ 's3v4', ], ], 'endpoints' => [ 'ap-northeast-1' => [ 'hostname' => 's3.ap-northeast-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [ 'hostname' => 's3.ap-southeast-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'ap-southeast-2' => [ 'hostname' => 's3.ap-southeast-2.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [ 'hostname' => 's3.eu-west-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'eu-west-2' => [], 'eu-west-3' => [], 's3-external-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 's3-external-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'sa-east-1' => [ 'hostname' => 's3.sa-east-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'us-east-1' => [ 'hostname' => 's3.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'us-east-2' => [], 'us-west-1' => [ 'hostname' => 's3.us-west-1.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], 'us-west-2' => [ 'hostname' => 's3.us-west-2.amazonaws.com', 'signatureVersions' => [ 's3', 's3v4', ], ], ], 'isRegionalized' => true, 'partitionEndpoint' => 'us-east-1', ], 's3-control' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'signatureVersions' => [ 's3v4', ], ], 'endpoints' => [ 'ap-northeast-1' => [ 'credentialScope' => [ 'region' => 'ap-northeast-1', ], 'hostname' => 's3-control.ap-northeast-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'ap-northeast-2' => [ 'credentialScope' => [ 'region' => 'ap-northeast-2', ], 'hostname' => 's3-control.ap-northeast-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'ap-south-1' => [ 'credentialScope' => [ 'region' => 'ap-south-1', ], 'hostname' => 's3-control.ap-south-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'ap-southeast-1' => [ 'credentialScope' => [ 'region' => 'ap-southeast-1', ], 'hostname' => 's3-control.ap-southeast-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'ap-southeast-2' => [ 'credentialScope' => [ 'region' => 'ap-southeast-2', ], 'hostname' => 's3-control.ap-southeast-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'ca-central-1' => [ 'credentialScope' => [ 'region' => 'ca-central-1', ], 'hostname' => 's3-control.ca-central-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'eu-central-1' => [ 'credentialScope' => [ 'region' => 'eu-central-1', ], 'hostname' => 's3-control.eu-central-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'eu-north-1' => [ 'credentialScope' => [ 'region' => 'eu-north-1', ], 'hostname' => 's3-control.eu-north-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'eu-west-1' => [ 'credentialScope' => [ 'region' => 'eu-west-1', ], 'hostname' => 's3-control.eu-west-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'eu-west-2' => [ 'credentialScope' => [ 'region' => 'eu-west-2', ], 'hostname' => 's3-control.eu-west-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'eu-west-3' => [ 'credentialScope' => [ 'region' => 'eu-west-3', ], 'hostname' => 's3-control.eu-west-3.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'sa-east-1' => [ 'credentialScope' => [ 'region' => 'sa-east-1', ], 'hostname' => 's3-control.sa-east-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-east-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 's3-control.us-east-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 's3-control-fips.us-east-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-east-2' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 's3-control.us-east-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 's3-control-fips.us-east-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-west-1' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 's3-control.us-west-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 's3-control-fips.us-west-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-west-2' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 's3-control.us-west-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 's3-control-fips.us-west-2.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], ], ], 'sdb' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], 'signatureVersions' => [ 'v2', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'sa-east-1' => [], 'us-east-1' => [ 'hostname' => 'sdb.amazonaws.com', ], 'us-west-1' => [], 'us-west-2' => [], ], ], 'secretsmanager' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'secretsmanager-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'secretsmanager-fips.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'secretsmanager-fips.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'secretsmanager-fips.us-west-2.amazonaws.com', ], ], ], 'securityhub' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'serverlessrepo' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [ 'protocols' => [ 'https', ], ], 'ap-northeast-2' => [ 'protocols' => [ 'https', ], ], 'ap-south-1' => [ 'protocols' => [ 'https', ], ], 'ap-southeast-1' => [ 'protocols' => [ 'https', ], ], 'ap-southeast-2' => [ 'protocols' => [ 'https', ], ], 'ca-central-1' => [ 'protocols' => [ 'https', ], ], 'eu-central-1' => [ 'protocols' => [ 'https', ], ], 'eu-west-1' => [ 'protocols' => [ 'https', ], ], 'eu-west-2' => [ 'protocols' => [ 'https', ], ], 'eu-west-3' => [ 'protocols' => [ 'https', ], ], 'sa-east-1' => [ 'protocols' => [ 'https', ], ], 'us-east-1' => [ 'protocols' => [ 'https', ], ], 'us-east-2' => [ 'protocols' => [ 'https', ], ], 'us-west-1' => [ 'protocols' => [ 'https', ], ], 'us-west-2' => [ 'protocols' => [ 'https', ], ], ], ], 'servicecatalog' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'servicecatalog-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'servicecatalog-fips.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'servicecatalog-fips.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'servicecatalog-fips.us-west-2.amazonaws.com', ], ], ], 'servicediscovery' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'shield' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'sslCommonName' => 'shield.us-east-1.amazonaws.com', ], 'endpoints' => [ 'us-east-1' => [], ], 'isRegionalized' => false, ], 'sms' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'snowball' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'sns' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'sqs' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], 'sslCommonName' => '{region}.queue.{dnsSuffix}', ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'fips-us-east-1' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'sqs-fips.us-east-1.amazonaws.com', ], 'fips-us-east-2' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'sqs-fips.us-east-2.amazonaws.com', ], 'fips-us-west-1' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'sqs-fips.us-west-1.amazonaws.com', ], 'fips-us-west-2' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'sqs-fips.us-west-2.amazonaws.com', ], 'sa-east-1' => [], 'us-east-1' => [ 'sslCommonName' => 'queue.{dnsSuffix}', ], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'ssm' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'states' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'storagegateway' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'streams.dynamodb' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'dynamodb', ], 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'local' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'localhost:8000', 'protocols' => [ 'http', ], ], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'sts' => [ 'defaults' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'sts.amazonaws.com', ], 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [ 'credentialScope' => [ 'region' => 'ap-northeast-2', ], 'hostname' => 'sts.ap-northeast-2.amazonaws.com', ], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'aws-global' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'sts-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'sts-fips.us-east-2.amazonaws.com', ], 'us-west-1' => [], 'us-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-west-1', ], 'hostname' => 'sts-fips.us-west-1.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'sts-fips.us-west-2.amazonaws.com', ], ], 'partitionEndpoint' => 'aws-global', ], 'support' => [ 'endpoints' => [ 'us-east-1' => [], ], ], 'swf' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'tagging' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'transfer' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'translate' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'translate-fips.us-east-1.amazonaws.com', ], 'us-east-2' => [], 'us-east-2-fips' => [ 'credentialScope' => [ 'region' => 'us-east-2', ], 'hostname' => 'translate-fips.us-east-2.amazonaws.com', ], 'us-west-2' => [], 'us-west-2-fips' => [ 'credentialScope' => [ 'region' => 'us-west-2', ], 'hostname' => 'translate-fips.us-west-2.amazonaws.com', ], ], ], 'waf' => [ 'endpoints' => [ 'aws-global' => [ 'credentialScope' => [ 'region' => 'us-east-1', ], 'hostname' => 'waf.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-global', ], 'waf-regional' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'workdocs' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'workmail' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'workspaces' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'xray' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'ca-central-1' => [], 'eu-central-1' => [], 'eu-north-1' => [], 'eu-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], ], ], [ 'defaults' => [ 'hostname' => '{service}.{region}.{dnsSuffix}', 'protocols' => [ 'https', ], 'signatureVersions' => [ 'v4', ], ], 'dnsSuffix' => 'amazonaws.com.cn', 'partition' => 'aws-cn', 'partitionName' => 'AWS China', 'regionRegex' => '^cn\\-\\w+\\-\\d+$', 'regions' => [ 'cn-north-1' => [ 'description' => 'China (Beijing)', ], 'cn-northwest-1' => [ 'description' => 'China (Ningxia)', ], ], 'services' => [ 'api.ecr' => [ 'endpoints' => [ 'cn-north-1' => [ 'credentialScope' => [ 'region' => 'cn-north-1', ], 'hostname' => 'api.ecr.cn-north-1.amazonaws.com.cn', ], 'cn-northwest-1' => [ 'credentialScope' => [ 'region' => 'cn-northwest-1', ], 'hostname' => 'api.ecr.cn-northwest-1.amazonaws.com.cn', ], ], ], 'apigateway' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'application-autoscaling' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'application-autoscaling', ], 'hostname' => 'autoscaling.{region}.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'autoscaling' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'cloudformation' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'cloudtrail' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'codebuild' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'codedeploy' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'cognito-identity' => [ 'endpoints' => [ 'cn-north-1' => [], ], ], 'config' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'data.iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'iotdata', ], 'protocols' => [ 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], ], ], 'directconnect' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'dms' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'ds' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'dynamodb' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'ec2' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'ecs' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'elasticache' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'elasticbeanstalk' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'elasticloadbalancing' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'elasticmapreduce' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'es' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'events' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'firehose' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'gamelift' => [ 'endpoints' => [ 'cn-north-1' => [], ], ], 'glacier' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'iam' => [ 'endpoints' => [ 'aws-cn-global' => [ 'credentialScope' => [ 'region' => 'cn-north-1', ], 'hostname' => 'iam.cn-north-1.amazonaws.com.cn', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-cn-global', ], 'iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'execute-api', ], ], 'endpoints' => [ 'cn-north-1' => [], ], ], 'kinesis' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'lambda' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'logs' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'monitoring' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'polly' => [ 'endpoints' => [ 'cn-northwest-1' => [], ], ], 'rds' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'redshift' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 's3' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], 'signatureVersions' => [ 's3v4', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 's3-control' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'signatureVersions' => [ 's3v4', ], ], 'endpoints' => [ 'cn-north-1' => [ 'credentialScope' => [ 'region' => 'cn-north-1', ], 'hostname' => 's3-control.cn-north-1.amazonaws.com.cn', 'signatureVersions' => [ 's3v4', ], ], 'cn-northwest-1' => [ 'credentialScope' => [ 'region' => 'cn-northwest-1', ], 'hostname' => 's3-control.cn-northwest-1.amazonaws.com.cn', 'signatureVersions' => [ 's3v4', ], ], ], ], 'sms' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'snowball' => [ 'endpoints' => [ 'cn-north-1' => [], ], ], 'sns' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'sqs' => [ 'defaults' => [ 'protocols' => [ 'http', 'https', ], 'sslCommonName' => '{region}.queue.{dnsSuffix}', ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'ssm' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'states' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'storagegateway' => [ 'endpoints' => [ 'cn-north-1' => [], ], ], 'streams.dynamodb' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'dynamodb', ], 'protocols' => [ 'http', 'https', ], ], 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'sts' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'swf' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], 'tagging' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-1' => [], ], ], ], ], [ 'defaults' => [ 'hostname' => '{service}.{region}.{dnsSuffix}', 'protocols' => [ 'https', ], 'signatureVersions' => [ 'v4', ], ], 'dnsSuffix' => 'amazonaws.com', 'partition' => 'aws-us-gov', 'partitionName' => 'AWS GovCloud (US)', 'regionRegex' => '^us\\-gov\\-\\w+\\-\\d+$', 'regions' => [ 'us-gov-east-1' => [ 'description' => 'AWS GovCloud (US-East)', ], 'us-gov-west-1' => [ 'description' => 'AWS GovCloud (US)', ], ], 'services' => [ 'acm' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'api.ecr' => [ 'endpoints' => [ 'us-gov-east-1' => [ 'credentialScope' => [ 'region' => 'us-gov-east-1', ], 'hostname' => 'api.ecr.us-gov-east-1.amazonaws.com', ], 'us-gov-west-1' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'api.ecr.us-gov-west-1.amazonaws.com', ], ], ], 'api.sagemaker' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'apigateway' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'application-autoscaling' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'athena' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'autoscaling' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'clouddirectory' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'cloudformation' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'cloudhsm' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'cloudhsmv2' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'cloudhsm', ], ], 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'cloudtrail' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'codedeploy' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-east-1', ], 'hostname' => 'codedeploy-fips.us-gov-east-1.amazonaws.com', ], 'us-gov-west-1' => [], 'us-gov-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'codedeploy-fips.us-gov-west-1.amazonaws.com', ], ], ], 'comprehend' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'config' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'data.iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'iotdata', ], 'protocols' => [ 'https', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'directconnect' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'dms' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'ds' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'dynamodb' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], 'us-gov-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'dynamodb.us-gov-west-1.amazonaws.com', ], ], ], 'ec2' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'ecs' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'elasticache' => [ 'endpoints' => [ 'fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'elasticache-fips.us-gov-west-1.amazonaws.com', ], 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'elasticbeanstalk' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'elasticfilesystem' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'elasticloadbalancing' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'elasticmapreduce' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'https', ], ], ], ], 'es' => [ 'endpoints' => [ 'fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'es-fips.us-gov-west-1.amazonaws.com', ], 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'events' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'firehose' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'glacier' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'glue' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'guardduty' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], 'isRegionalized' => true, ], 'iam' => [ 'endpoints' => [ 'aws-us-gov-global' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'iam.us-gov.amazonaws.com', ], ], 'isRegionalized' => false, 'partitionEndpoint' => 'aws-us-gov-global', ], 'inspector' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'execute-api', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'kinesis' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'kms' => [ 'endpoints' => [ 'ProdFips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'kms-fips.us-gov-west-1.amazonaws.com', ], 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'lambda' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'logs' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'mediaconvert' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'metering.marketplace' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'aws-marketplace', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'monitoring' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'polly' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'rds' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'redshift' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'rekognition' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'runtime.sagemaker' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 's3' => [ 'defaults' => [ 'signatureVersions' => [ 's3', 's3v4', ], ], 'endpoints' => [ 'fips-us-gov-west-1' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 's3-fips-us-gov-west-1.amazonaws.com', ], 'us-gov-east-1' => [ 'hostname' => 's3.us-gov-east-1.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], 'us-gov-west-1' => [ 'hostname' => 's3.us-gov-west-1.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], ], ], 's3-control' => [ 'defaults' => [ 'protocols' => [ 'https', ], 'signatureVersions' => [ 's3v4', ], ], 'endpoints' => [ 'us-gov-east-1' => [ 'credentialScope' => [ 'region' => 'us-gov-east-1', ], 'hostname' => 's3-control.us-gov-east-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-gov-east-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-east-1', ], 'hostname' => 's3-control-fips.us-gov-east-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-gov-west-1' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 's3-control.us-gov-west-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], 'us-gov-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 's3-control-fips.us-gov-west-1.amazonaws.com', 'signatureVersions' => [ 's3v4', ], ], ], ], 'sms' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'snowball' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'sns' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'sqs' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], 'sslCommonName' => '{region}.queue.{dnsSuffix}', ], ], ], 'ssm' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'states' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'storagegateway' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'streams.dynamodb' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'dynamodb', ], ], 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], 'us-gov-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'dynamodb.us-gov-west-1.amazonaws.com', ], ], ], 'sts' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'swf' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'tagging' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'translate' => [ 'defaults' => [ 'protocols' => [ 'https', ], ], 'endpoints' => [ 'us-gov-west-1' => [], 'us-gov-west-1-fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'translate-fips.us-gov-west-1.amazonaws.com', ], ], ], 'waf-regional' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'workspaces' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], ], ], ], 'version' => 3,]; diff --git a/lib/aws/Aws/data/endpoints_prefix_history.json.php b/lib/aws/Aws/data/endpoints_prefix_history.json.php new file mode 100644 index 0000000..2c2459c --- /dev/null +++ b/lib/aws/Aws/data/endpoints_prefix_history.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/endpoints_prefix_history.json +return [ 'prefix-groups' => [ 'api.ecr' => [ 'ecr', ], 'api.sagemaker' => [ 'sagemaker', ], 'ecr' => [ 'api.ecr', ], 'sagemaker' => [ 'api.sagemaker', ], ],]; diff --git a/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/api-2.json.php b/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/api-2.json.php new file mode 100644 index 0000000..86f102e --- /dev/null +++ b/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/entitlement.marketplace/2017-01-11/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-01-11', 'endpointPrefix' => 'entitlement.marketplace', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Marketplace Entitlement Service', 'signatureVersion' => 'v4', 'signingName' => 'aws-marketplace', 'targetPrefix' => 'AWSMPEntitlementService', 'uid' => 'entitlement.marketplace-2017-01-11', ], 'operations' => [ 'GetEntitlements' => [ 'name' => 'GetEntitlements', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetEntitlementsRequest', ], 'output' => [ 'shape' => 'GetEntitlementsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], ], 'shapes' => [ 'Boolean' => [ 'type' => 'boolean', ], 'Double' => [ 'type' => 'double', ], 'Entitlement' => [ 'type' => 'structure', 'members' => [ 'ProductCode' => [ 'shape' => 'ProductCode', ], 'Dimension' => [ 'shape' => 'NonEmptyString', ], 'CustomerIdentifier' => [ 'shape' => 'NonEmptyString', ], 'Value' => [ 'shape' => 'EntitlementValue', ], 'ExpirationDate' => [ 'shape' => 'Timestamp', ], ], ], 'EntitlementList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Entitlement', ], 'min' => 0, ], 'EntitlementValue' => [ 'type' => 'structure', 'members' => [ 'IntegerValue' => [ 'shape' => 'Integer', ], 'DoubleValue' => [ 'shape' => 'Double', ], 'BooleanValue' => [ 'shape' => 'Boolean', ], 'StringValue' => [ 'shape' => 'String', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FilterValue' => [ 'type' => 'string', ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], 'min' => 1, ], 'GetEntitlementFilterName' => [ 'type' => 'string', 'enum' => [ 'CUSTOMER_IDENTIFIER', 'DIMENSION', ], ], 'GetEntitlementFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'GetEntitlementFilterName', ], 'value' => [ 'shape' => 'FilterValueList', ], ], 'GetEntitlementsRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', ], 'members' => [ 'ProductCode' => [ 'shape' => 'ProductCode', ], 'Filter' => [ 'shape' => 'GetEntitlementFilters', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'GetEntitlementsResult' => [ 'type' => 'structure', 'members' => [ 'Entitlements' => [ 'shape' => 'EntitlementList', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '\\S+', ], 'ProductCode' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'String' => [ 'type' => 'string', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/paginators-1.json.php b/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/paginators-1.json.php new file mode 100644 index 0000000..6667958 --- /dev/null +++ b/lib/aws/Aws/data/entitlement.marketplace/2017-01-11/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/entitlement.marketplace/2017-01-11/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/es/2015-01-01/api-2.json.php b/lib/aws/Aws/data/es/2015-01-01/api-2.json.php new file mode 100644 index 0000000..84c989f --- /dev/null +++ b/lib/aws/Aws/data/es/2015-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/es/2015-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-01-01', 'endpointPrefix' => 'es', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Elasticsearch Service', 'serviceId' => 'Elasticsearch Service', 'signatureVersion' => 'v4', 'uid' => 'es-2015-01-01', ], 'operations' => [ 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/tags', ], 'input' => [ 'shape' => 'AddTagsRequest', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'CancelElasticsearchServiceSoftwareUpdate' => [ 'name' => 'CancelElasticsearchServiceSoftwareUpdate', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/serviceSoftwareUpdate/cancel', ], 'input' => [ 'shape' => 'CancelElasticsearchServiceSoftwareUpdateRequest', ], 'output' => [ 'shape' => 'CancelElasticsearchServiceSoftwareUpdateResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'CreateElasticsearchDomain' => [ 'name' => 'CreateElasticsearchDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/domain', ], 'input' => [ 'shape' => 'CreateElasticsearchDomainRequest', ], 'output' => [ 'shape' => 'CreateElasticsearchDomainResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidTypeException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteElasticsearchDomain' => [ 'name' => 'DeleteElasticsearchDomain', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-01-01/es/domain/{DomainName}', ], 'input' => [ 'shape' => 'DeleteElasticsearchDomainRequest', ], 'output' => [ 'shape' => 'DeleteElasticsearchDomainResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteElasticsearchServiceRole' => [ 'name' => 'DeleteElasticsearchServiceRole', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-01-01/es/role', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeElasticsearchDomain' => [ 'name' => 'DescribeElasticsearchDomain', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/domain/{DomainName}', ], 'input' => [ 'shape' => 'DescribeElasticsearchDomainRequest', ], 'output' => [ 'shape' => 'DescribeElasticsearchDomainResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeElasticsearchDomainConfig' => [ 'name' => 'DescribeElasticsearchDomainConfig', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/domain/{DomainName}/config', ], 'input' => [ 'shape' => 'DescribeElasticsearchDomainConfigRequest', ], 'output' => [ 'shape' => 'DescribeElasticsearchDomainConfigResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeElasticsearchDomains' => [ 'name' => 'DescribeElasticsearchDomains', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/domain-info', ], 'input' => [ 'shape' => 'DescribeElasticsearchDomainsRequest', ], 'output' => [ 'shape' => 'DescribeElasticsearchDomainsResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeElasticsearchInstanceTypeLimits' => [ 'name' => 'DescribeElasticsearchInstanceTypeLimits', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}', ], 'input' => [ 'shape' => 'DescribeElasticsearchInstanceTypeLimitsRequest', ], 'output' => [ 'shape' => 'DescribeElasticsearchInstanceTypeLimitsResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidTypeException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeReservedElasticsearchInstanceOfferings' => [ 'name' => 'DescribeReservedElasticsearchInstanceOfferings', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/reservedInstanceOfferings', ], 'input' => [ 'shape' => 'DescribeReservedElasticsearchInstanceOfferingsRequest', ], 'output' => [ 'shape' => 'DescribeReservedElasticsearchInstanceOfferingsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'InternalException', ], ], ], 'DescribeReservedElasticsearchInstances' => [ 'name' => 'DescribeReservedElasticsearchInstances', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/reservedInstances', ], 'input' => [ 'shape' => 'DescribeReservedElasticsearchInstancesRequest', ], 'output' => [ 'shape' => 'DescribeReservedElasticsearchInstancesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'DisabledOperationException', ], ], ], 'GetCompatibleElasticsearchVersions' => [ 'name' => 'GetCompatibleElasticsearchVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/compatibleVersions', ], 'input' => [ 'shape' => 'GetCompatibleElasticsearchVersionsRequest', ], 'output' => [ 'shape' => 'GetCompatibleElasticsearchVersionsResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'GetUpgradeHistory' => [ 'name' => 'GetUpgradeHistory', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/upgradeDomain/{DomainName}/history', ], 'input' => [ 'shape' => 'GetUpgradeHistoryRequest', ], 'output' => [ 'shape' => 'GetUpgradeHistoryResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'GetUpgradeStatus' => [ 'name' => 'GetUpgradeStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/upgradeDomain/{DomainName}/status', ], 'input' => [ 'shape' => 'GetUpgradeStatusRequest', ], 'output' => [ 'shape' => 'GetUpgradeStatusResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'ListDomainNames' => [ 'name' => 'ListDomainNames', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/domain', ], 'output' => [ 'shape' => 'ListDomainNamesResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListElasticsearchInstanceTypes' => [ 'name' => 'ListElasticsearchInstanceTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/instanceTypes/{ElasticsearchVersion}', ], 'input' => [ 'shape' => 'ListElasticsearchInstanceTypesRequest', ], 'output' => [ 'shape' => 'ListElasticsearchInstanceTypesResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListElasticsearchVersions' => [ 'name' => 'ListElasticsearchVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/es/versions', ], 'input' => [ 'shape' => 'ListElasticsearchVersionsRequest', ], 'output' => [ 'shape' => 'ListElasticsearchVersionsResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-01-01/tags/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'PurchaseReservedElasticsearchInstanceOffering' => [ 'name' => 'PurchaseReservedElasticsearchInstanceOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/purchaseReservedInstanceOffering', ], 'input' => [ 'shape' => 'PurchaseReservedElasticsearchInstanceOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseReservedElasticsearchInstanceOfferingResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'RemoveTags' => [ 'name' => 'RemoveTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/tags-removal', ], 'input' => [ 'shape' => 'RemoveTagsRequest', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], 'StartElasticsearchServiceSoftwareUpdate' => [ 'name' => 'StartElasticsearchServiceSoftwareUpdate', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/serviceSoftwareUpdate/start', ], 'input' => [ 'shape' => 'StartElasticsearchServiceSoftwareUpdateRequest', ], 'output' => [ 'shape' => 'StartElasticsearchServiceSoftwareUpdateResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpdateElasticsearchDomainConfig' => [ 'name' => 'UpdateElasticsearchDomainConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/domain/{DomainName}/config', ], 'input' => [ 'shape' => 'UpdateElasticsearchDomainConfigRequest', ], 'output' => [ 'shape' => 'UpdateElasticsearchDomainConfigResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidTypeException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpgradeElasticsearchDomain' => [ 'name' => 'UpgradeElasticsearchDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-01-01/es/upgradeDomain', ], 'input' => [ 'shape' => 'UpgradeElasticsearchDomainRequest', ], 'output' => [ 'shape' => 'UpgradeElasticsearchDomainResponse', ], 'errors' => [ [ 'shape' => 'BaseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'DisabledOperationException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'InternalException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', ], 'AccessPoliciesStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'PolicyDocument', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'AddTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ARN', 'TagList', ], 'members' => [ 'ARN' => [ 'shape' => 'ARN', ], 'TagList' => [ 'shape' => 'TagList', ], ], ], 'AdditionalLimit' => [ 'type' => 'structure', 'members' => [ 'LimitName' => [ 'shape' => 'LimitName', ], 'LimitValues' => [ 'shape' => 'LimitValueList', ], ], ], 'AdditionalLimitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AdditionalLimit', ], ], 'AdvancedOptions' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'AdvancedOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'AdvancedOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'BaseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'CancelElasticsearchServiceSoftwareUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'CancelElasticsearchServiceSoftwareUpdateResponse' => [ 'type' => 'structure', 'members' => [ 'ServiceSoftwareOptions' => [ 'shape' => 'ServiceSoftwareOptions', ], ], ], 'CloudWatchLogsLogGroupArn' => [ 'type' => 'string', ], 'CognitoOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'UserPoolId' => [ 'shape' => 'UserPoolId', ], 'IdentityPoolId' => [ 'shape' => 'IdentityPoolId', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'CognitoOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'CognitoOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'CompatibleElasticsearchVersionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompatibleVersionsMap', ], ], 'CompatibleVersionsMap' => [ 'type' => 'structure', 'members' => [ 'SourceVersion' => [ 'shape' => 'ElasticsearchVersionString', ], 'TargetVersions' => [ 'shape' => 'ElasticsearchVersionList', ], ], ], 'CreateElasticsearchDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'ElasticsearchVersion' => [ 'shape' => 'ElasticsearchVersionString', ], 'ElasticsearchClusterConfig' => [ 'shape' => 'ElasticsearchClusterConfig', ], 'EBSOptions' => [ 'shape' => 'EBSOptions', ], 'AccessPolicies' => [ 'shape' => 'PolicyDocument', ], 'SnapshotOptions' => [ 'shape' => 'SnapshotOptions', ], 'VPCOptions' => [ 'shape' => 'VPCOptions', ], 'CognitoOptions' => [ 'shape' => 'CognitoOptions', ], 'EncryptionAtRestOptions' => [ 'shape' => 'EncryptionAtRestOptions', ], 'NodeToNodeEncryptionOptions' => [ 'shape' => 'NodeToNodeEncryptionOptions', ], 'AdvancedOptions' => [ 'shape' => 'AdvancedOptions', ], 'LogPublishingOptions' => [ 'shape' => 'LogPublishingOptions', ], ], ], 'CreateElasticsearchDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainStatus' => [ 'shape' => 'ElasticsearchDomainStatus', ], ], ], 'DeleteElasticsearchDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], ], ], 'DeleteElasticsearchDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainStatus' => [ 'shape' => 'ElasticsearchDomainStatus', ], ], ], 'DeploymentCloseDateTimeStamp' => [ 'type' => 'timestamp', ], 'DeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_UPDATE', 'IN_PROGRESS', 'COMPLETED', 'NOT_ELIGIBLE', 'ELIGIBLE', ], ], 'DescribeElasticsearchDomainConfigRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], ], ], 'DescribeElasticsearchDomainConfigResponse' => [ 'type' => 'structure', 'required' => [ 'DomainConfig', ], 'members' => [ 'DomainConfig' => [ 'shape' => 'ElasticsearchDomainConfig', ], ], ], 'DescribeElasticsearchDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], ], ], 'DescribeElasticsearchDomainResponse' => [ 'type' => 'structure', 'required' => [ 'DomainStatus', ], 'members' => [ 'DomainStatus' => [ 'shape' => 'ElasticsearchDomainStatus', ], ], ], 'DescribeElasticsearchDomainsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainNames', ], 'members' => [ 'DomainNames' => [ 'shape' => 'DomainNameList', ], ], ], 'DescribeElasticsearchDomainsResponse' => [ 'type' => 'structure', 'required' => [ 'DomainStatusList', ], 'members' => [ 'DomainStatusList' => [ 'shape' => 'ElasticsearchDomainStatusList', ], ], ], 'DescribeElasticsearchInstanceTypeLimitsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'ElasticsearchVersion', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'querystring', 'locationName' => 'domainName', ], 'InstanceType' => [ 'shape' => 'ESPartitionInstanceType', 'location' => 'uri', 'locationName' => 'InstanceType', ], 'ElasticsearchVersion' => [ 'shape' => 'ElasticsearchVersionString', 'location' => 'uri', 'locationName' => 'ElasticsearchVersion', ], ], ], 'DescribeElasticsearchInstanceTypeLimitsResponse' => [ 'type' => 'structure', 'members' => [ 'LimitsByRole' => [ 'shape' => 'LimitsByRole', ], ], ], 'DescribeReservedElasticsearchInstanceOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedElasticsearchInstanceOfferingId' => [ 'shape' => 'GUID', 'location' => 'querystring', 'locationName' => 'offeringId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedElasticsearchInstanceOfferingsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'ReservedElasticsearchInstanceOfferings' => [ 'shape' => 'ReservedElasticsearchInstanceOfferingList', ], ], ], 'DescribeReservedElasticsearchInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'ReservedElasticsearchInstanceId' => [ 'shape' => 'GUID', 'location' => 'querystring', 'locationName' => 'reservationId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'DescribeReservedElasticsearchInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], 'ReservedElasticsearchInstances' => [ 'shape' => 'ReservedElasticsearchInstanceList', ], ], ], 'DisabledOperationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DomainId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'DomainInfo' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'DomainInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainInfo', ], ], 'DomainName' => [ 'type' => 'string', 'max' => 28, 'min' => 3, 'pattern' => '[a-z][a-z0-9\\-]+', ], 'DomainNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainName', ], ], 'Double' => [ 'type' => 'double', ], 'EBSOptions' => [ 'type' => 'structure', 'members' => [ 'EBSEnabled' => [ 'shape' => 'Boolean', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'VolumeSize' => [ 'shape' => 'IntegerClass', ], 'Iops' => [ 'shape' => 'IntegerClass', ], ], ], 'EBSOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'EBSOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'ESPartitionInstanceType' => [ 'type' => 'string', 'enum' => [ 'm3.medium.elasticsearch', 'm3.large.elasticsearch', 'm3.xlarge.elasticsearch', 'm3.2xlarge.elasticsearch', 'm4.large.elasticsearch', 'm4.xlarge.elasticsearch', 'm4.2xlarge.elasticsearch', 'm4.4xlarge.elasticsearch', 'm4.10xlarge.elasticsearch', 't2.micro.elasticsearch', 't2.small.elasticsearch', 't2.medium.elasticsearch', 'r3.large.elasticsearch', 'r3.xlarge.elasticsearch', 'r3.2xlarge.elasticsearch', 'r3.4xlarge.elasticsearch', 'r3.8xlarge.elasticsearch', 'i2.xlarge.elasticsearch', 'i2.2xlarge.elasticsearch', 'd2.xlarge.elasticsearch', 'd2.2xlarge.elasticsearch', 'd2.4xlarge.elasticsearch', 'd2.8xlarge.elasticsearch', 'c4.large.elasticsearch', 'c4.xlarge.elasticsearch', 'c4.2xlarge.elasticsearch', 'c4.4xlarge.elasticsearch', 'c4.8xlarge.elasticsearch', 'r4.large.elasticsearch', 'r4.xlarge.elasticsearch', 'r4.2xlarge.elasticsearch', 'r4.4xlarge.elasticsearch', 'r4.8xlarge.elasticsearch', 'r4.16xlarge.elasticsearch', 'i3.large.elasticsearch', 'i3.xlarge.elasticsearch', 'i3.2xlarge.elasticsearch', 'i3.4xlarge.elasticsearch', 'i3.8xlarge.elasticsearch', 'i3.16xlarge.elasticsearch', ], ], 'ElasticsearchClusterConfig' => [ 'type' => 'structure', 'members' => [ 'InstanceType' => [ 'shape' => 'ESPartitionInstanceType', ], 'InstanceCount' => [ 'shape' => 'IntegerClass', ], 'DedicatedMasterEnabled' => [ 'shape' => 'Boolean', ], 'ZoneAwarenessEnabled' => [ 'shape' => 'Boolean', ], 'ZoneAwarenessConfig' => [ 'shape' => 'ZoneAwarenessConfig', ], 'DedicatedMasterType' => [ 'shape' => 'ESPartitionInstanceType', ], 'DedicatedMasterCount' => [ 'shape' => 'IntegerClass', ], ], ], 'ElasticsearchClusterConfigStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'ElasticsearchClusterConfig', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'ElasticsearchDomainConfig' => [ 'type' => 'structure', 'members' => [ 'ElasticsearchVersion' => [ 'shape' => 'ElasticsearchVersionStatus', ], 'ElasticsearchClusterConfig' => [ 'shape' => 'ElasticsearchClusterConfigStatus', ], 'EBSOptions' => [ 'shape' => 'EBSOptionsStatus', ], 'AccessPolicies' => [ 'shape' => 'AccessPoliciesStatus', ], 'SnapshotOptions' => [ 'shape' => 'SnapshotOptionsStatus', ], 'VPCOptions' => [ 'shape' => 'VPCDerivedInfoStatus', ], 'CognitoOptions' => [ 'shape' => 'CognitoOptionsStatus', ], 'EncryptionAtRestOptions' => [ 'shape' => 'EncryptionAtRestOptionsStatus', ], 'NodeToNodeEncryptionOptions' => [ 'shape' => 'NodeToNodeEncryptionOptionsStatus', ], 'AdvancedOptions' => [ 'shape' => 'AdvancedOptionsStatus', ], 'LogPublishingOptions' => [ 'shape' => 'LogPublishingOptionsStatus', ], ], ], 'ElasticsearchDomainStatus' => [ 'type' => 'structure', 'required' => [ 'DomainId', 'DomainName', 'ARN', 'ElasticsearchClusterConfig', ], 'members' => [ 'DomainId' => [ 'shape' => 'DomainId', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'ARN' => [ 'shape' => 'ARN', ], 'Created' => [ 'shape' => 'Boolean', ], 'Deleted' => [ 'shape' => 'Boolean', ], 'Endpoint' => [ 'shape' => 'ServiceUrl', ], 'Endpoints' => [ 'shape' => 'EndpointsMap', ], 'Processing' => [ 'shape' => 'Boolean', ], 'UpgradeProcessing' => [ 'shape' => 'Boolean', ], 'ElasticsearchVersion' => [ 'shape' => 'ElasticsearchVersionString', ], 'ElasticsearchClusterConfig' => [ 'shape' => 'ElasticsearchClusterConfig', ], 'EBSOptions' => [ 'shape' => 'EBSOptions', ], 'AccessPolicies' => [ 'shape' => 'PolicyDocument', ], 'SnapshotOptions' => [ 'shape' => 'SnapshotOptions', ], 'VPCOptions' => [ 'shape' => 'VPCDerivedInfo', ], 'CognitoOptions' => [ 'shape' => 'CognitoOptions', ], 'EncryptionAtRestOptions' => [ 'shape' => 'EncryptionAtRestOptions', ], 'NodeToNodeEncryptionOptions' => [ 'shape' => 'NodeToNodeEncryptionOptions', ], 'AdvancedOptions' => [ 'shape' => 'AdvancedOptions', ], 'LogPublishingOptions' => [ 'shape' => 'LogPublishingOptions', ], 'ServiceSoftwareOptions' => [ 'shape' => 'ServiceSoftwareOptions', ], ], ], 'ElasticsearchDomainStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticsearchDomainStatus', ], ], 'ElasticsearchInstanceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ESPartitionInstanceType', ], ], 'ElasticsearchVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticsearchVersionString', ], ], 'ElasticsearchVersionStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'ElasticsearchVersionString', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'ElasticsearchVersionString' => [ 'type' => 'string', ], 'EncryptionAtRestOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'EncryptionAtRestOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'EncryptionAtRestOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'EndpointsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'ServiceUrl', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'GUID' => [ 'type' => 'string', 'pattern' => '\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}', ], 'GetCompatibleElasticsearchVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'querystring', 'locationName' => 'domainName', ], ], ], 'GetCompatibleElasticsearchVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'CompatibleElasticsearchVersions' => [ 'shape' => 'CompatibleElasticsearchVersionsList', ], ], ], 'GetUpgradeHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'GetUpgradeHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradeHistories' => [ 'shape' => 'UpgradeHistoryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetUpgradeStatusRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], ], ], 'GetUpgradeStatusResponse' => [ 'type' => 'structure', 'members' => [ 'UpgradeStep' => [ 'shape' => 'UpgradeStep', ], 'StepStatus' => [ 'shape' => 'UpgradeStatus', ], 'UpgradeName' => [ 'shape' => 'UpgradeName', ], ], ], 'IdentityPoolId' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+:[0-9a-f-]+', ], 'InstanceCount' => [ 'type' => 'integer', 'min' => 1, ], 'InstanceCountLimits' => [ 'type' => 'structure', 'members' => [ 'MinimumInstanceCount' => [ 'shape' => 'MinimumInstanceCount', ], 'MaximumInstanceCount' => [ 'shape' => 'MaximumInstanceCount', ], ], ], 'InstanceLimits' => [ 'type' => 'structure', 'members' => [ 'InstanceCountLimits' => [ 'shape' => 'InstanceCountLimits', ], ], ], 'InstanceRole' => [ 'type' => 'string', ], 'Integer' => [ 'type' => 'integer', ], 'IntegerClass' => [ 'type' => 'integer', ], 'InternalException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidTypeException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Issue' => [ 'type' => 'string', ], 'Issues' => [ 'type' => 'list', 'member' => [ 'shape' => 'Issue', ], ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'LimitName' => [ 'type' => 'string', ], 'LimitValue' => [ 'type' => 'string', ], 'LimitValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LimitValue', ], ], 'Limits' => [ 'type' => 'structure', 'members' => [ 'StorageTypes' => [ 'shape' => 'StorageTypeList', ], 'InstanceLimits' => [ 'shape' => 'InstanceLimits', ], 'AdditionalLimits' => [ 'shape' => 'AdditionalLimitList', ], ], ], 'LimitsByRole' => [ 'type' => 'map', 'key' => [ 'shape' => 'InstanceRole', ], 'value' => [ 'shape' => 'Limits', ], ], 'ListDomainNamesResponse' => [ 'type' => 'structure', 'members' => [ 'DomainNames' => [ 'shape' => 'DomainInfoList', ], ], ], 'ListElasticsearchInstanceTypesRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticsearchVersion', ], 'members' => [ 'ElasticsearchVersion' => [ 'shape' => 'ElasticsearchVersionString', 'location' => 'uri', 'locationName' => 'ElasticsearchVersion', ], 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'querystring', 'locationName' => 'domainName', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListElasticsearchInstanceTypesResponse' => [ 'type' => 'structure', 'members' => [ 'ElasticsearchInstanceTypes' => [ 'shape' => 'ElasticsearchInstanceTypeList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListElasticsearchVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListElasticsearchVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'ElasticsearchVersions' => [ 'shape' => 'ElasticsearchVersionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ARN', ], 'members' => [ 'ARN' => [ 'shape' => 'ARN', 'location' => 'querystring', 'locationName' => 'arn', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'LogPublishingOption' => [ 'type' => 'structure', 'members' => [ 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'CloudWatchLogsLogGroupArn', ], 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'LogPublishingOptions' => [ 'type' => 'map', 'key' => [ 'shape' => 'LogType', ], 'value' => [ 'shape' => 'LogPublishingOption', ], ], 'LogPublishingOptionsStatus' => [ 'type' => 'structure', 'members' => [ 'Options' => [ 'shape' => 'LogPublishingOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'LogType' => [ 'type' => 'string', 'enum' => [ 'INDEX_SLOW_LOGS', 'SEARCH_SLOW_LOGS', 'ES_APPLICATION_LOGS', ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, ], 'MaximumInstanceCount' => [ 'type' => 'integer', ], 'MinimumInstanceCount' => [ 'type' => 'integer', ], 'NextToken' => [ 'type' => 'string', ], 'NodeToNodeEncryptionOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], ], ], 'NodeToNodeEncryptionOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'NodeToNodeEncryptionOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'OptionState' => [ 'type' => 'string', 'enum' => [ 'RequiresIndexDocuments', 'Processing', 'Active', ], ], 'OptionStatus' => [ 'type' => 'structure', 'required' => [ 'CreationDate', 'UpdateDate', 'State', ], 'members' => [ 'CreationDate' => [ 'shape' => 'UpdateTimestamp', ], 'UpdateDate' => [ 'shape' => 'UpdateTimestamp', ], 'UpdateVersion' => [ 'shape' => 'UIntValue', ], 'State' => [ 'shape' => 'OptionState', ], 'PendingDeletion' => [ 'shape' => 'Boolean', ], ], ], 'PolicyDocument' => [ 'type' => 'string', ], 'PurchaseReservedElasticsearchInstanceOfferingRequest' => [ 'type' => 'structure', 'required' => [ 'ReservedElasticsearchInstanceOfferingId', 'ReservationName', ], 'members' => [ 'ReservedElasticsearchInstanceOfferingId' => [ 'shape' => 'GUID', ], 'ReservationName' => [ 'shape' => 'ReservationToken', ], 'InstanceCount' => [ 'shape' => 'InstanceCount', ], ], ], 'PurchaseReservedElasticsearchInstanceOfferingResponse' => [ 'type' => 'structure', 'members' => [ 'ReservedElasticsearchInstanceId' => [ 'shape' => 'GUID', ], 'ReservationName' => [ 'shape' => 'ReservationToken', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'RecurringChargeAmount' => [ 'shape' => 'Double', ], 'RecurringChargeFrequency' => [ 'shape' => 'String', ], ], ], 'RecurringChargeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', ], ], 'RemoveTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ARN', 'TagKeys', ], 'members' => [ 'ARN' => [ 'shape' => 'ARN', ], 'TagKeys' => [ 'shape' => 'StringList', ], ], ], 'ReservationToken' => [ 'type' => 'string', 'max' => 64, 'min' => 5, ], 'ReservedElasticsearchInstance' => [ 'type' => 'structure', 'members' => [ 'ReservationName' => [ 'shape' => 'ReservationToken', ], 'ReservedElasticsearchInstanceId' => [ 'shape' => 'GUID', ], 'ReservedElasticsearchInstanceOfferingId' => [ 'shape' => 'String', ], 'ElasticsearchInstanceType' => [ 'shape' => 'ESPartitionInstanceType', ], 'StartTime' => [ 'shape' => 'UpdateTimestamp', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'ElasticsearchInstanceCount' => [ 'shape' => 'Integer', ], 'State' => [ 'shape' => 'String', ], 'PaymentOption' => [ 'shape' => 'ReservedElasticsearchInstancePaymentOption', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], ], 'ReservedElasticsearchInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedElasticsearchInstance', ], ], 'ReservedElasticsearchInstanceOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedElasticsearchInstanceOfferingId' => [ 'shape' => 'GUID', ], 'ElasticsearchInstanceType' => [ 'shape' => 'ESPartitionInstanceType', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'PaymentOption' => [ 'shape' => 'ReservedElasticsearchInstancePaymentOption', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], ], 'ReservedElasticsearchInstanceOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedElasticsearchInstanceOffering', ], ], 'ReservedElasticsearchInstancePaymentOption' => [ 'type' => 'string', 'enum' => [ 'ALL_UPFRONT', 'PARTIAL_UPFRONT', 'NO_UPFRONT', ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'ServiceSoftwareOptions' => [ 'type' => 'structure', 'members' => [ 'CurrentVersion' => [ 'shape' => 'String', ], 'NewVersion' => [ 'shape' => 'String', ], 'UpdateAvailable' => [ 'shape' => 'Boolean', ], 'Cancellable' => [ 'shape' => 'Boolean', ], 'UpdateStatus' => [ 'shape' => 'DeploymentStatus', ], 'Description' => [ 'shape' => 'String', ], 'AutomatedUpdateDate' => [ 'shape' => 'DeploymentCloseDateTimeStamp', ], ], ], 'ServiceUrl' => [ 'type' => 'string', ], 'SnapshotOptions' => [ 'type' => 'structure', 'members' => [ 'AutomatedSnapshotStartHour' => [ 'shape' => 'IntegerClass', ], ], ], 'SnapshotOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'SnapshotOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'StartElasticsearchServiceSoftwareUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'StartElasticsearchServiceSoftwareUpdateResponse' => [ 'type' => 'structure', 'members' => [ 'ServiceSoftwareOptions' => [ 'shape' => 'ServiceSoftwareOptions', ], ], ], 'StartTimestamp' => [ 'type' => 'timestamp', ], 'StorageSubTypeName' => [ 'type' => 'string', ], 'StorageType' => [ 'type' => 'structure', 'members' => [ 'StorageTypeName' => [ 'shape' => 'StorageTypeName', ], 'StorageSubTypeName' => [ 'shape' => 'StorageSubTypeName', ], 'StorageTypeLimits' => [ 'shape' => 'StorageTypeLimitList', ], ], ], 'StorageTypeLimit' => [ 'type' => 'structure', 'members' => [ 'LimitName' => [ 'shape' => 'LimitName', ], 'LimitValues' => [ 'shape' => 'LimitValueList', ], ], ], 'StorageTypeLimitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StorageTypeLimit', ], ], 'StorageTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StorageType', ], ], 'StorageTypeName' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'UIntValue' => [ 'type' => 'integer', 'min' => 0, ], 'UpdateElasticsearchDomainConfigRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', 'location' => 'uri', 'locationName' => 'DomainName', ], 'ElasticsearchClusterConfig' => [ 'shape' => 'ElasticsearchClusterConfig', ], 'EBSOptions' => [ 'shape' => 'EBSOptions', ], 'SnapshotOptions' => [ 'shape' => 'SnapshotOptions', ], 'VPCOptions' => [ 'shape' => 'VPCOptions', ], 'CognitoOptions' => [ 'shape' => 'CognitoOptions', ], 'AdvancedOptions' => [ 'shape' => 'AdvancedOptions', ], 'AccessPolicies' => [ 'shape' => 'PolicyDocument', ], 'LogPublishingOptions' => [ 'shape' => 'LogPublishingOptions', ], ], ], 'UpdateElasticsearchDomainConfigResponse' => [ 'type' => 'structure', 'required' => [ 'DomainConfig', ], 'members' => [ 'DomainConfig' => [ 'shape' => 'ElasticsearchDomainConfig', ], ], ], 'UpdateTimestamp' => [ 'type' => 'timestamp', ], 'UpgradeElasticsearchDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'TargetVersion', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'TargetVersion' => [ 'shape' => 'ElasticsearchVersionString', ], 'PerformCheckOnly' => [ 'shape' => 'Boolean', ], ], ], 'UpgradeElasticsearchDomainResponse' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'TargetVersion' => [ 'shape' => 'ElasticsearchVersionString', ], 'PerformCheckOnly' => [ 'shape' => 'Boolean', ], ], ], 'UpgradeHistory' => [ 'type' => 'structure', 'members' => [ 'UpgradeName' => [ 'shape' => 'UpgradeName', ], 'StartTimestamp' => [ 'shape' => 'StartTimestamp', ], 'UpgradeStatus' => [ 'shape' => 'UpgradeStatus', ], 'StepsList' => [ 'shape' => 'UpgradeStepsList', ], ], ], 'UpgradeHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpgradeHistory', ], ], 'UpgradeName' => [ 'type' => 'string', ], 'UpgradeStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'SUCCEEDED', 'SUCCEEDED_WITH_ISSUES', 'FAILED', ], ], 'UpgradeStep' => [ 'type' => 'string', 'enum' => [ 'PRE_UPGRADE_CHECK', 'SNAPSHOT', 'UPGRADE', ], ], 'UpgradeStepItem' => [ 'type' => 'structure', 'members' => [ 'UpgradeStep' => [ 'shape' => 'UpgradeStep', ], 'UpgradeStepStatus' => [ 'shape' => 'UpgradeStatus', ], 'Issues' => [ 'shape' => 'Issues', ], 'ProgressPercent' => [ 'shape' => 'Double', ], ], ], 'UpgradeStepsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpgradeStepItem', ], ], 'UserPoolId' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+_[0-9a-zA-Z]+', ], 'VPCDerivedInfo' => [ 'type' => 'structure', 'members' => [ 'VPCId' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'StringList', ], 'AvailabilityZones' => [ 'shape' => 'StringList', ], 'SecurityGroupIds' => [ 'shape' => 'StringList', ], ], ], 'VPCDerivedInfoStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'VPCDerivedInfo', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], 'VPCOptions' => [ 'type' => 'structure', 'members' => [ 'SubnetIds' => [ 'shape' => 'StringList', ], 'SecurityGroupIds' => [ 'shape' => 'StringList', ], ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'standard', 'gp2', 'io1', ], ], 'ZoneAwarenessConfig' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZoneCount' => [ 'shape' => 'IntegerClass', ], ], ], ],]; diff --git a/lib/aws/Aws/data/es/2015-01-01/paginators-1.json.php b/lib/aws/Aws/data/es/2015-01-01/paginators-1.json.php new file mode 100644 index 0000000..362c8d8 --- /dev/null +++ b/lib/aws/Aws/data/es/2015-01-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/es/2015-01-01/paginators-1.json +return [ 'pagination' => [ 'DescribeReservedElasticsearchInstanceOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'DescribeReservedElasticsearchInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'GetUpgradeHistory' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListElasticsearchInstanceTypes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListElasticsearchVersions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/es/2015-01-01/smoke.json.php b/lib/aws/Aws/data/es/2015-01-01/smoke.json.php new file mode 100644 index 0000000..f68ddbd --- /dev/null +++ b/lib/aws/Aws/data/es/2015-01-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/es/2015-01-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListDomainNames', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeElasticsearchDomain', 'input' => [ 'DomainName' => 'not-a-domain', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/events/2015-10-07/api-2.json.php b/lib/aws/Aws/data/events/2015-10-07/api-2.json.php new file mode 100644 index 0000000..4c109a9 --- /dev/null +++ b/lib/aws/Aws/data/events/2015-10-07/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/events/2015-10-07/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-10-07', 'endpointPrefix' => 'events', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon CloudWatch Events', 'serviceId' => 'CloudWatch Events', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSEvents', 'uid' => 'events-2015-10-07', ], 'operations' => [ 'DeleteRule' => [ 'name' => 'DeleteRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleRequest', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'DescribeEventBus' => [ 'name' => 'DescribeEventBus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventBusRequest', ], 'output' => [ 'shape' => 'DescribeEventBusResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], ], ], 'DescribeRule' => [ 'name' => 'DescribeRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRuleRequest', ], 'output' => [ 'shape' => 'DescribeRuleResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], ], ], 'DisableRule' => [ 'name' => 'DisableRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableRuleRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'EnableRule' => [ 'name' => 'EnableRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableRuleRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'ListRuleNamesByTarget' => [ 'name' => 'ListRuleNamesByTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRuleNamesByTargetRequest', ], 'output' => [ 'shape' => 'ListRuleNamesByTargetResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], ], ], 'ListRules' => [ 'name' => 'ListRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRulesRequest', ], 'output' => [ 'shape' => 'ListRulesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], ], ], 'ListTargetsByRule' => [ 'name' => 'ListTargetsByRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTargetsByRuleRequest', ], 'output' => [ 'shape' => 'ListTargetsByRuleResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], ], ], 'PutEvents' => [ 'name' => 'PutEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutEventsRequest', ], 'output' => [ 'shape' => 'PutEventsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], ], ], 'PutPermission' => [ 'name' => 'PutPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPermissionRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'PolicyLengthExceededException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'PutRule' => [ 'name' => 'PutRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRuleRequest', ], 'output' => [ 'shape' => 'PutRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidEventPatternException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'PutTargets' => [ 'name' => 'PutTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutTargetsRequest', ], 'output' => [ 'shape' => 'PutTargetsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'RemovePermission' => [ 'name' => 'RemovePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemovePermissionRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'RemoveTargets' => [ 'name' => 'RemoveTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTargetsRequest', ], 'output' => [ 'shape' => 'RemoveTargetsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], [ 'shape' => 'InternalException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ManagedRuleException', ], ], ], 'TestEventPattern' => [ 'name' => 'TestEventPattern', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestEventPatternRequest', ], 'output' => [ 'shape' => 'TestEventPatternResponse', ], 'errors' => [ [ 'shape' => 'InvalidEventPatternException', ], [ 'shape' => 'InternalException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ManagedRuleException', ], ], ], ], 'shapes' => [ 'Action' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => 'events:[a-zA-Z]+', ], 'Arn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'AssignPublicIp' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'AwsVpcConfiguration' => [ 'type' => 'structure', 'required' => [ 'Subnets', ], 'members' => [ 'Subnets' => [ 'shape' => 'StringList', ], 'SecurityGroups' => [ 'shape' => 'StringList', ], 'AssignPublicIp' => [ 'shape' => 'AssignPublicIp', ], ], ], 'BatchArrayProperties' => [ 'type' => 'structure', 'members' => [ 'Size' => [ 'shape' => 'Integer', ], ], ], 'BatchParameters' => [ 'type' => 'structure', 'required' => [ 'JobDefinition', 'JobName', ], 'members' => [ 'JobDefinition' => [ 'shape' => 'String', ], 'JobName' => [ 'shape' => 'String', ], 'ArrayProperties' => [ 'shape' => 'BatchArrayProperties', ], 'RetryStrategy' => [ 'shape' => 'BatchRetryStrategy', ], ], ], 'BatchRetryStrategy' => [ 'type' => 'structure', 'members' => [ 'Attempts' => [ 'shape' => 'Integer', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Condition' => [ 'type' => 'structure', 'required' => [ 'Type', 'Key', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'DeleteRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'DescribeEventBusRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEventBusResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'String', ], 'Policy' => [ 'shape' => 'String', ], ], ], 'DescribeRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], ], ], 'DescribeRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], 'Arn' => [ 'shape' => 'RuleArn', ], 'EventPattern' => [ 'shape' => 'EventPattern', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'State' => [ 'shape' => 'RuleState', ], 'Description' => [ 'shape' => 'RuleDescription', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'ManagedBy' => [ 'shape' => 'ManagedBy', ], ], ], 'DisableRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], ], ], 'EcsParameters' => [ 'type' => 'structure', 'required' => [ 'TaskDefinitionArn', ], 'members' => [ 'TaskDefinitionArn' => [ 'shape' => 'Arn', ], 'TaskCount' => [ 'shape' => 'LimitMin1', ], 'LaunchType' => [ 'shape' => 'LaunchType', ], 'NetworkConfiguration' => [ 'shape' => 'NetworkConfiguration', ], 'PlatformVersion' => [ 'shape' => 'String', ], 'Group' => [ 'shape' => 'String', ], ], ], 'EnableRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], ], ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'EventId' => [ 'type' => 'string', ], 'EventPattern' => [ 'type' => 'string', ], 'EventResource' => [ 'type' => 'string', ], 'EventResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventResource', ], ], 'EventTime' => [ 'type' => 'timestamp', ], 'InputTransformer' => [ 'type' => 'structure', 'required' => [ 'InputTemplate', ], 'members' => [ 'InputPathsMap' => [ 'shape' => 'TransformerPaths', ], 'InputTemplate' => [ 'shape' => 'TransformerInput', ], ], ], 'InputTransformerPathKey' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[A-Za-z0-9\\_\\-]+', ], 'Integer' => [ 'type' => 'integer', ], 'InternalException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'InvalidEventPatternException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'KinesisParameters' => [ 'type' => 'structure', 'required' => [ 'PartitionKeyPath', ], 'members' => [ 'PartitionKeyPath' => [ 'shape' => 'TargetPartitionKeyPath', ], ], ], 'LaunchType' => [ 'type' => 'string', 'enum' => [ 'EC2', 'FARGATE', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LimitMax100' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'LimitMin1' => [ 'type' => 'integer', 'min' => 1, ], 'ListRuleNamesByTargetRequest' => [ 'type' => 'structure', 'required' => [ 'TargetArn', ], 'members' => [ 'TargetArn' => [ 'shape' => 'TargetArn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'LimitMax100', ], ], ], 'ListRuleNamesByTargetResponse' => [ 'type' => 'structure', 'members' => [ 'RuleNames' => [ 'shape' => 'RuleNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NamePrefix' => [ 'shape' => 'RuleName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'LimitMax100', ], ], ], 'ListRulesResponse' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'RuleResponseList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ListTargetsByRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Rule', ], 'members' => [ 'Rule' => [ 'shape' => 'RuleName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Limit' => [ 'shape' => 'LimitMax100', ], ], ], 'ListTargetsByRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Targets' => [ 'shape' => 'TargetList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ManagedBy' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ManagedRuleException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MessageGroupId' => [ 'type' => 'string', ], 'NetworkConfiguration' => [ 'type' => 'structure', 'members' => [ 'awsvpcConfiguration' => [ 'shape' => 'AwsVpcConfiguration', ], ], ], 'NextToken' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'PolicyLengthExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Principal' => [ 'type' => 'string', 'max' => 12, 'min' => 1, 'pattern' => '(\\d{12}|\\*)', ], 'PutEventsRequest' => [ 'type' => 'structure', 'required' => [ 'Entries', ], 'members' => [ 'Entries' => [ 'shape' => 'PutEventsRequestEntryList', ], ], ], 'PutEventsRequestEntry' => [ 'type' => 'structure', 'members' => [ 'Time' => [ 'shape' => 'EventTime', ], 'Source' => [ 'shape' => 'String', ], 'Resources' => [ 'shape' => 'EventResourceList', ], 'DetailType' => [ 'shape' => 'String', ], 'Detail' => [ 'shape' => 'String', ], ], ], 'PutEventsRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutEventsRequestEntry', ], 'max' => 10, 'min' => 1, ], 'PutEventsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedEntryCount' => [ 'shape' => 'Integer', ], 'Entries' => [ 'shape' => 'PutEventsResultEntryList', ], ], ], 'PutEventsResultEntry' => [ 'type' => 'structure', 'members' => [ 'EventId' => [ 'shape' => 'EventId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'PutEventsResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutEventsResultEntry', ], ], 'PutPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'Action', 'Principal', 'StatementId', ], 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Principal' => [ 'shape' => 'Principal', ], 'StatementId' => [ 'shape' => 'StatementId', ], 'Condition' => [ 'shape' => 'Condition', ], ], ], 'PutRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'EventPattern' => [ 'shape' => 'EventPattern', ], 'State' => [ 'shape' => 'RuleState', ], 'Description' => [ 'shape' => 'RuleDescription', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'PutRuleResponse' => [ 'type' => 'structure', 'members' => [ 'RuleArn' => [ 'shape' => 'RuleArn', ], ], ], 'PutTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'Rule', 'Targets', ], 'members' => [ 'Rule' => [ 'shape' => 'RuleName', ], 'Targets' => [ 'shape' => 'TargetList', ], ], ], 'PutTargetsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedEntryCount' => [ 'shape' => 'Integer', ], 'FailedEntries' => [ 'shape' => 'PutTargetsResultEntryList', ], ], ], 'PutTargetsResultEntry' => [ 'type' => 'structure', 'members' => [ 'TargetId' => [ 'shape' => 'TargetId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'PutTargetsResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutTargetsResultEntry', ], ], 'RemovePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'StatementId', ], 'members' => [ 'StatementId' => [ 'shape' => 'StatementId', ], ], ], 'RemoveTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'Rule', 'Ids', ], 'members' => [ 'Rule' => [ 'shape' => 'RuleName', ], 'Ids' => [ 'shape' => 'TargetIdList', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'RemoveTargetsResponse' => [ 'type' => 'structure', 'members' => [ 'FailedEntryCount' => [ 'shape' => 'Integer', ], 'FailedEntries' => [ 'shape' => 'RemoveTargetsResultEntryList', ], ], ], 'RemoveTargetsResultEntry' => [ 'type' => 'structure', 'members' => [ 'TargetId' => [ 'shape' => 'TargetId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'RemoveTargetsResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RemoveTargetsResultEntry', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'Rule' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], 'Arn' => [ 'shape' => 'RuleArn', ], 'EventPattern' => [ 'shape' => 'EventPattern', ], 'State' => [ 'shape' => 'RuleState', ], 'Description' => [ 'shape' => 'RuleDescription', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'ManagedBy' => [ 'shape' => 'ManagedBy', ], ], ], 'RuleArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'RuleDescription' => [ 'type' => 'string', 'max' => 512, ], 'RuleName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\.\\-_A-Za-z0-9]+', ], 'RuleNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleName', ], ], 'RuleResponseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Rule', ], ], 'RuleState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'RunCommandParameters' => [ 'type' => 'structure', 'required' => [ 'RunCommandTargets', ], 'members' => [ 'RunCommandTargets' => [ 'shape' => 'RunCommandTargets', ], ], ], 'RunCommandTarget' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'RunCommandTargetKey', ], 'Values' => [ 'shape' => 'RunCommandTargetValues', ], ], ], 'RunCommandTargetKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$', ], 'RunCommandTargetValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'RunCommandTargetValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'RunCommandTargetValue', ], 'max' => 50, 'min' => 1, ], 'RunCommandTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'RunCommandTarget', ], 'max' => 5, 'min' => 1, ], 'ScheduleExpression' => [ 'type' => 'string', 'max' => 256, ], 'SqsParameters' => [ 'type' => 'structure', 'members' => [ 'MessageGroupId' => [ 'shape' => 'MessageGroupId', ], ], ], 'StatementId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9-_]+', ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Tags', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Target' => [ 'type' => 'structure', 'required' => [ 'Id', 'Arn', ], 'members' => [ 'Id' => [ 'shape' => 'TargetId', ], 'Arn' => [ 'shape' => 'TargetArn', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'Input' => [ 'shape' => 'TargetInput', ], 'InputPath' => [ 'shape' => 'TargetInputPath', ], 'InputTransformer' => [ 'shape' => 'InputTransformer', ], 'KinesisParameters' => [ 'shape' => 'KinesisParameters', ], 'RunCommandParameters' => [ 'shape' => 'RunCommandParameters', ], 'EcsParameters' => [ 'shape' => 'EcsParameters', ], 'BatchParameters' => [ 'shape' => 'BatchParameters', ], 'SqsParameters' => [ 'shape' => 'SqsParameters', ], ], ], 'TargetArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'TargetId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\.\\-_A-Za-z0-9]+', ], 'TargetIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetId', ], 'max' => 100, 'min' => 1, ], 'TargetInput' => [ 'type' => 'string', 'max' => 8192, ], 'TargetInputPath' => [ 'type' => 'string', 'max' => 256, ], 'TargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Target', ], 'max' => 100, 'min' => 1, ], 'TargetPartitionKeyPath' => [ 'type' => 'string', 'max' => 256, ], 'TestEventPatternRequest' => [ 'type' => 'structure', 'required' => [ 'EventPattern', 'Event', ], 'members' => [ 'EventPattern' => [ 'shape' => 'EventPattern', ], 'Event' => [ 'shape' => 'String', ], ], ], 'TestEventPatternResponse' => [ 'type' => 'structure', 'members' => [ 'Result' => [ 'shape' => 'Boolean', ], ], ], 'TransformerInput' => [ 'type' => 'string', 'max' => 8192, 'min' => 1, ], 'TransformerPaths' => [ 'type' => 'map', 'key' => [ 'shape' => 'InputTransformerPathKey', ], 'value' => [ 'shape' => 'TargetInputPath', ], 'max' => 10, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'TagKeys', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/events/2015-10-07/paginators-1.json.php b/lib/aws/Aws/data/events/2015-10-07/paginators-1.json.php new file mode 100644 index 0000000..4cae00d --- /dev/null +++ b/lib/aws/Aws/data/events/2015-10-07/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/events/2015-10-07/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/events/2015-10-07/smoke.json.php b/lib/aws/Aws/data/events/2015-10-07/smoke.json.php new file mode 100644 index 0000000..d45f14e --- /dev/null +++ b/lib/aws/Aws/data/events/2015-10-07/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/events/2015-10-07/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListRules', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeRule', 'input' => [ 'Name' => 'fake-rule', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/firehose/2015-08-04/api-2.json.php b/lib/aws/Aws/data/firehose/2015-08-04/api-2.json.php new file mode 100644 index 0000000..d4ddea1 --- /dev/null +++ b/lib/aws/Aws/data/firehose/2015-08-04/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/firehose/2015-08-04/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-08-04', 'endpointPrefix' => 'firehose', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Firehose', 'serviceFullName' => 'Amazon Kinesis Firehose', 'serviceId' => 'Firehose', 'signatureVersion' => 'v4', 'targetPrefix' => 'Firehose_20150804', 'uid' => 'firehose-2015-08-04', ], 'operations' => [ 'CreateDeliveryStream' => [ 'name' => 'CreateDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDeliveryStreamInput', ], 'output' => [ 'shape' => 'CreateDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteDeliveryStream' => [ 'name' => 'DeleteDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDeliveryStreamInput', ], 'output' => [ 'shape' => 'DeleteDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeDeliveryStream' => [ 'name' => 'DescribeDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeliveryStreamInput', ], 'output' => [ 'shape' => 'DescribeDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListDeliveryStreams' => [ 'name' => 'ListDeliveryStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeliveryStreamsInput', ], 'output' => [ 'shape' => 'ListDeliveryStreamsOutput', ], ], 'ListTagsForDeliveryStream' => [ 'name' => 'ListTagsForDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForDeliveryStreamInput', ], 'output' => [ 'shape' => 'ListTagsForDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'PutRecord' => [ 'name' => 'PutRecord', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRecordInput', ], 'output' => [ 'shape' => 'PutRecordOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutRecordBatch' => [ 'name' => 'PutRecordBatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRecordBatchInput', ], 'output' => [ 'shape' => 'PutRecordBatchOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'StartDeliveryStreamEncryption' => [ 'name' => 'StartDeliveryStreamEncryption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDeliveryStreamEncryptionInput', ], 'output' => [ 'shape' => 'StartDeliveryStreamEncryptionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StopDeliveryStreamEncryption' => [ 'name' => 'StopDeliveryStreamEncryption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDeliveryStreamEncryptionInput', ], 'output' => [ 'shape' => 'StopDeliveryStreamEncryptionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'TagDeliveryStream' => [ 'name' => 'TagDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagDeliveryStreamInput', ], 'output' => [ 'shape' => 'TagDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UntagDeliveryStream' => [ 'name' => 'UntagDeliveryStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagDeliveryStreamInput', ], 'output' => [ 'shape' => 'UntagDeliveryStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateDestination' => [ 'name' => 'UpdateDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDestinationInput', ], 'output' => [ 'shape' => 'UpdateDestinationOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], ], 'shapes' => [ 'AWSKMSKeyARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'BlockSizeBytes' => [ 'type' => 'integer', 'min' => 67108864, ], 'BooleanObject' => [ 'type' => 'boolean', ], 'BucketARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'BufferingHints' => [ 'type' => 'structure', 'members' => [ 'SizeInMBs' => [ 'shape' => 'SizeInMBs', ], 'IntervalInSeconds' => [ 'shape' => 'IntervalInSeconds', ], ], ], 'CloudWatchLoggingOptions' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'BooleanObject', ], 'LogGroupName' => [ 'shape' => 'LogGroupName', ], 'LogStreamName' => [ 'shape' => 'LogStreamName', ], ], ], 'ClusterJDBCURL' => [ 'type' => 'string', 'min' => 1, 'pattern' => 'jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+redshift\\.amazonaws\\.com:\\d{1,5}/[a-zA-Z0-9_$]+', ], 'ColumnToJsonKeyMappings' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'value' => [ 'shape' => 'NonEmptyString', ], ], 'CompressionFormat' => [ 'type' => 'string', 'enum' => [ 'UNCOMPRESSED', 'GZIP', 'ZIP', 'Snappy', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CopyCommand' => [ 'type' => 'structure', 'required' => [ 'DataTableName', ], 'members' => [ 'DataTableName' => [ 'shape' => 'DataTableName', ], 'DataTableColumns' => [ 'shape' => 'DataTableColumns', ], 'CopyOptions' => [ 'shape' => 'CopyOptions', ], ], ], 'CopyOptions' => [ 'type' => 'string', ], 'CreateDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'DeliveryStreamType' => [ 'shape' => 'DeliveryStreamType', ], 'KinesisStreamSourceConfiguration' => [ 'shape' => 'KinesisStreamSourceConfiguration', ], 'S3DestinationConfiguration' => [ 'shape' => 'S3DestinationConfiguration', 'deprecated' => true, ], 'ExtendedS3DestinationConfiguration' => [ 'shape' => 'ExtendedS3DestinationConfiguration', ], 'RedshiftDestinationConfiguration' => [ 'shape' => 'RedshiftDestinationConfiguration', ], 'ElasticsearchDestinationConfiguration' => [ 'shape' => 'ElasticsearchDestinationConfiguration', ], 'SplunkDestinationConfiguration' => [ 'shape' => 'SplunkDestinationConfiguration', ], 'Tags' => [ 'shape' => 'TagDeliveryStreamInputTagList', ], ], ], 'CreateDeliveryStreamOutput' => [ 'type' => 'structure', 'members' => [ 'DeliveryStreamARN' => [ 'shape' => 'DeliveryStreamARN', ], ], ], 'Data' => [ 'type' => 'blob', 'max' => 1024000, 'min' => 0, ], 'DataFormatConversionConfiguration' => [ 'type' => 'structure', 'members' => [ 'SchemaConfiguration' => [ 'shape' => 'SchemaConfiguration', ], 'InputFormatConfiguration' => [ 'shape' => 'InputFormatConfiguration', ], 'OutputFormatConfiguration' => [ 'shape' => 'OutputFormatConfiguration', ], 'Enabled' => [ 'shape' => 'BooleanObject', ], ], ], 'DataTableColumns' => [ 'type' => 'string', ], 'DataTableName' => [ 'type' => 'string', 'min' => 1, ], 'DeleteDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], ], ], 'DeleteDeliveryStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeliveryStartTimestamp' => [ 'type' => 'timestamp', ], 'DeliveryStreamARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'DeliveryStreamDescription' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'DeliveryStreamARN', 'DeliveryStreamStatus', 'DeliveryStreamType', 'VersionId', 'Destinations', 'HasMoreDestinations', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'DeliveryStreamARN' => [ 'shape' => 'DeliveryStreamARN', ], 'DeliveryStreamStatus' => [ 'shape' => 'DeliveryStreamStatus', ], 'DeliveryStreamEncryptionConfiguration' => [ 'shape' => 'DeliveryStreamEncryptionConfiguration', ], 'DeliveryStreamType' => [ 'shape' => 'DeliveryStreamType', ], 'VersionId' => [ 'shape' => 'DeliveryStreamVersionId', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'LastUpdateTimestamp' => [ 'shape' => 'Timestamp', ], 'Source' => [ 'shape' => 'SourceDescription', ], 'Destinations' => [ 'shape' => 'DestinationDescriptionList', ], 'HasMoreDestinations' => [ 'shape' => 'BooleanObject', ], ], ], 'DeliveryStreamEncryptionConfiguration' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'DeliveryStreamEncryptionStatus', ], ], ], 'DeliveryStreamEncryptionStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'ENABLING', 'DISABLED', 'DISABLING', ], ], 'DeliveryStreamName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'DeliveryStreamNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliveryStreamName', ], ], 'DeliveryStreamStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DELETING', 'ACTIVE', ], ], 'DeliveryStreamType' => [ 'type' => 'string', 'enum' => [ 'DirectPut', 'KinesisStreamAsSource', ], ], 'DeliveryStreamVersionId' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[0-9]+', ], 'DescribeDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'Limit' => [ 'shape' => 'DescribeDeliveryStreamInputLimit', ], 'ExclusiveStartDestinationId' => [ 'shape' => 'DestinationId', ], ], ], 'DescribeDeliveryStreamInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'DescribeDeliveryStreamOutput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamDescription', ], 'members' => [ 'DeliveryStreamDescription' => [ 'shape' => 'DeliveryStreamDescription', ], ], ], 'Deserializer' => [ 'type' => 'structure', 'members' => [ 'OpenXJsonSerDe' => [ 'shape' => 'OpenXJsonSerDe', ], 'HiveJsonSerDe' => [ 'shape' => 'HiveJsonSerDe', ], ], ], 'DestinationDescription' => [ 'type' => 'structure', 'required' => [ 'DestinationId', ], 'members' => [ 'DestinationId' => [ 'shape' => 'DestinationId', ], 'S3DestinationDescription' => [ 'shape' => 'S3DestinationDescription', ], 'ExtendedS3DestinationDescription' => [ 'shape' => 'ExtendedS3DestinationDescription', ], 'RedshiftDestinationDescription' => [ 'shape' => 'RedshiftDestinationDescription', ], 'ElasticsearchDestinationDescription' => [ 'shape' => 'ElasticsearchDestinationDescription', ], 'SplunkDestinationDescription' => [ 'shape' => 'SplunkDestinationDescription', ], ], ], 'DestinationDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DestinationDescription', ], ], 'DestinationId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ElasticsearchBufferingHints' => [ 'type' => 'structure', 'members' => [ 'IntervalInSeconds' => [ 'shape' => 'ElasticsearchBufferingIntervalInSeconds', ], 'SizeInMBs' => [ 'shape' => 'ElasticsearchBufferingSizeInMBs', ], ], ], 'ElasticsearchBufferingIntervalInSeconds' => [ 'type' => 'integer', 'max' => 900, 'min' => 60, ], 'ElasticsearchBufferingSizeInMBs' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ElasticsearchDestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'DomainARN', 'IndexName', 'TypeName', 'S3Configuration', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'DomainARN' => [ 'shape' => 'ElasticsearchDomainARN', ], 'IndexName' => [ 'shape' => 'ElasticsearchIndexName', ], 'TypeName' => [ 'shape' => 'ElasticsearchTypeName', ], 'IndexRotationPeriod' => [ 'shape' => 'ElasticsearchIndexRotationPeriod', ], 'BufferingHints' => [ 'shape' => 'ElasticsearchBufferingHints', ], 'RetryOptions' => [ 'shape' => 'ElasticsearchRetryOptions', ], 'S3BackupMode' => [ 'shape' => 'ElasticsearchS3BackupMode', ], 'S3Configuration' => [ 'shape' => 'S3DestinationConfiguration', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'ElasticsearchDestinationDescription' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'DomainARN' => [ 'shape' => 'ElasticsearchDomainARN', ], 'IndexName' => [ 'shape' => 'ElasticsearchIndexName', ], 'TypeName' => [ 'shape' => 'ElasticsearchTypeName', ], 'IndexRotationPeriod' => [ 'shape' => 'ElasticsearchIndexRotationPeriod', ], 'BufferingHints' => [ 'shape' => 'ElasticsearchBufferingHints', ], 'RetryOptions' => [ 'shape' => 'ElasticsearchRetryOptions', ], 'S3BackupMode' => [ 'shape' => 'ElasticsearchS3BackupMode', ], 'S3DestinationDescription' => [ 'shape' => 'S3DestinationDescription', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'ElasticsearchDestinationUpdate' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'DomainARN' => [ 'shape' => 'ElasticsearchDomainARN', ], 'IndexName' => [ 'shape' => 'ElasticsearchIndexName', ], 'TypeName' => [ 'shape' => 'ElasticsearchTypeName', ], 'IndexRotationPeriod' => [ 'shape' => 'ElasticsearchIndexRotationPeriod', ], 'BufferingHints' => [ 'shape' => 'ElasticsearchBufferingHints', ], 'RetryOptions' => [ 'shape' => 'ElasticsearchRetryOptions', ], 'S3Update' => [ 'shape' => 'S3DestinationUpdate', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'ElasticsearchDomainARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'ElasticsearchIndexName' => [ 'type' => 'string', 'max' => 80, 'min' => 1, ], 'ElasticsearchIndexRotationPeriod' => [ 'type' => 'string', 'enum' => [ 'NoRotation', 'OneHour', 'OneDay', 'OneWeek', 'OneMonth', ], ], 'ElasticsearchRetryDurationInSeconds' => [ 'type' => 'integer', 'max' => 7200, 'min' => 0, ], 'ElasticsearchRetryOptions' => [ 'type' => 'structure', 'members' => [ 'DurationInSeconds' => [ 'shape' => 'ElasticsearchRetryDurationInSeconds', ], ], ], 'ElasticsearchS3BackupMode' => [ 'type' => 'string', 'enum' => [ 'FailedDocumentsOnly', 'AllDocuments', ], ], 'ElasticsearchTypeName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'EncryptionConfiguration' => [ 'type' => 'structure', 'members' => [ 'NoEncryptionConfig' => [ 'shape' => 'NoEncryptionConfig', ], 'KMSEncryptionConfig' => [ 'shape' => 'KMSEncryptionConfig', ], ], ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ErrorOutputPrefix' => [ 'type' => 'string', ], 'ExtendedS3DestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'S3BackupMode', ], 'S3BackupConfiguration' => [ 'shape' => 'S3DestinationConfiguration', ], 'DataFormatConversionConfiguration' => [ 'shape' => 'DataFormatConversionConfiguration', ], ], ], 'ExtendedS3DestinationDescription' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', 'BufferingHints', 'CompressionFormat', 'EncryptionConfiguration', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'S3BackupMode', ], 'S3BackupDescription' => [ 'shape' => 'S3DestinationDescription', ], 'DataFormatConversionConfiguration' => [ 'shape' => 'DataFormatConversionConfiguration', ], ], ], 'ExtendedS3DestinationUpdate' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'S3BackupMode', ], 'S3BackupUpdate' => [ 'shape' => 'S3DestinationUpdate', ], 'DataFormatConversionConfiguration' => [ 'shape' => 'DataFormatConversionConfiguration', ], ], ], 'HECAcknowledgmentTimeoutInSeconds' => [ 'type' => 'integer', 'max' => 600, 'min' => 180, ], 'HECEndpoint' => [ 'type' => 'string', ], 'HECEndpointType' => [ 'type' => 'string', 'enum' => [ 'Raw', 'Event', ], ], 'HECToken' => [ 'type' => 'string', ], 'HiveJsonSerDe' => [ 'type' => 'structure', 'members' => [ 'TimestampFormats' => [ 'shape' => 'ListOfNonEmptyStrings', ], ], ], 'InputFormatConfiguration' => [ 'type' => 'structure', 'members' => [ 'Deserializer' => [ 'shape' => 'Deserializer', ], ], ], 'IntervalInSeconds' => [ 'type' => 'integer', 'max' => 900, 'min' => 60, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSEncryptionConfig' => [ 'type' => 'structure', 'required' => [ 'AWSKMSKeyARN', ], 'members' => [ 'AWSKMSKeyARN' => [ 'shape' => 'AWSKMSKeyARN', ], ], ], 'KinesisStreamARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'KinesisStreamSourceConfiguration' => [ 'type' => 'structure', 'required' => [ 'KinesisStreamARN', 'RoleARN', ], 'members' => [ 'KinesisStreamARN' => [ 'shape' => 'KinesisStreamARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamSourceDescription' => [ 'type' => 'structure', 'members' => [ 'KinesisStreamARN' => [ 'shape' => 'KinesisStreamARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'DeliveryStartTimestamp' => [ 'shape' => 'DeliveryStartTimestamp', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListDeliveryStreamsInput' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'ListDeliveryStreamsInputLimit', ], 'DeliveryStreamType' => [ 'shape' => 'DeliveryStreamType', ], 'ExclusiveStartDeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], ], ], 'ListDeliveryStreamsInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ListDeliveryStreamsOutput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamNames', 'HasMoreDeliveryStreams', ], 'members' => [ 'DeliveryStreamNames' => [ 'shape' => 'DeliveryStreamNameList', ], 'HasMoreDeliveryStreams' => [ 'shape' => 'BooleanObject', ], ], ], 'ListOfNonEmptyStrings' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'ListOfNonEmptyStringsWithoutWhitespace' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], ], 'ListTagsForDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'ExclusiveStartTagKey' => [ 'shape' => 'TagKey', ], 'Limit' => [ 'shape' => 'ListTagsForDeliveryStreamInputLimit', ], ], ], 'ListTagsForDeliveryStreamInputLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'ListTagsForDeliveryStreamOutput' => [ 'type' => 'structure', 'required' => [ 'Tags', 'HasMoreTags', ], 'members' => [ 'Tags' => [ 'shape' => 'ListTagsForDeliveryStreamOutputTagList', ], 'HasMoreTags' => [ 'shape' => 'BooleanObject', ], ], ], 'ListTagsForDeliveryStreamOutputTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'LogGroupName' => [ 'type' => 'string', ], 'LogStreamName' => [ 'type' => 'string', ], 'NoEncryptionConfig' => [ 'type' => 'string', 'enum' => [ 'NoEncryption', ], ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '^(?!\\s*$).+', ], 'NonEmptyStringWithoutWhitespace' => [ 'type' => 'string', 'pattern' => '^\\S+$', ], 'NonNegativeIntegerObject' => [ 'type' => 'integer', 'min' => 0, ], 'OpenXJsonSerDe' => [ 'type' => 'structure', 'members' => [ 'ConvertDotsInJsonKeysToUnderscores' => [ 'shape' => 'BooleanObject', ], 'CaseInsensitive' => [ 'shape' => 'BooleanObject', ], 'ColumnToJsonKeyMappings' => [ 'shape' => 'ColumnToJsonKeyMappings', ], ], ], 'OrcCompression' => [ 'type' => 'string', 'enum' => [ 'NONE', 'ZLIB', 'SNAPPY', ], ], 'OrcFormatVersion' => [ 'type' => 'string', 'enum' => [ 'V0_11', 'V0_12', ], ], 'OrcRowIndexStride' => [ 'type' => 'integer', 'min' => 1000, ], 'OrcSerDe' => [ 'type' => 'structure', 'members' => [ 'StripeSizeBytes' => [ 'shape' => 'OrcStripeSizeBytes', ], 'BlockSizeBytes' => [ 'shape' => 'BlockSizeBytes', ], 'RowIndexStride' => [ 'shape' => 'OrcRowIndexStride', ], 'EnablePadding' => [ 'shape' => 'BooleanObject', ], 'PaddingTolerance' => [ 'shape' => 'Proportion', ], 'Compression' => [ 'shape' => 'OrcCompression', ], 'BloomFilterColumns' => [ 'shape' => 'ListOfNonEmptyStringsWithoutWhitespace', ], 'BloomFilterFalsePositiveProbability' => [ 'shape' => 'Proportion', ], 'DictionaryKeyThreshold' => [ 'shape' => 'Proportion', ], 'FormatVersion' => [ 'shape' => 'OrcFormatVersion', ], ], ], 'OrcStripeSizeBytes' => [ 'type' => 'integer', 'min' => 8388608, ], 'OutputFormatConfiguration' => [ 'type' => 'structure', 'members' => [ 'Serializer' => [ 'shape' => 'Serializer', ], ], ], 'ParquetCompression' => [ 'type' => 'string', 'enum' => [ 'UNCOMPRESSED', 'GZIP', 'SNAPPY', ], ], 'ParquetPageSizeBytes' => [ 'type' => 'integer', 'min' => 65536, ], 'ParquetSerDe' => [ 'type' => 'structure', 'members' => [ 'BlockSizeBytes' => [ 'shape' => 'BlockSizeBytes', ], 'PageSizeBytes' => [ 'shape' => 'ParquetPageSizeBytes', ], 'Compression' => [ 'shape' => 'ParquetCompression', ], 'EnableDictionaryCompression' => [ 'shape' => 'BooleanObject', ], 'MaxPaddingBytes' => [ 'shape' => 'NonNegativeIntegerObject', ], 'WriterVersion' => [ 'shape' => 'ParquetWriterVersion', ], ], ], 'ParquetWriterVersion' => [ 'type' => 'string', 'enum' => [ 'V1', 'V2', ], ], 'Password' => [ 'type' => 'string', 'min' => 6, 'sensitive' => true, ], 'Prefix' => [ 'type' => 'string', ], 'ProcessingConfiguration' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'BooleanObject', ], 'Processors' => [ 'shape' => 'ProcessorList', ], ], ], 'Processor' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'ProcessorType', ], 'Parameters' => [ 'shape' => 'ProcessorParameterList', ], ], ], 'ProcessorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Processor', ], ], 'ProcessorParameter' => [ 'type' => 'structure', 'required' => [ 'ParameterName', 'ParameterValue', ], 'members' => [ 'ParameterName' => [ 'shape' => 'ProcessorParameterName', ], 'ParameterValue' => [ 'shape' => 'ProcessorParameterValue', ], ], ], 'ProcessorParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessorParameter', ], ], 'ProcessorParameterName' => [ 'type' => 'string', 'enum' => [ 'LambdaArn', 'NumberOfRetries', 'RoleArn', 'BufferSizeInMBs', 'BufferIntervalInSeconds', ], ], 'ProcessorParameterValue' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ProcessorType' => [ 'type' => 'string', 'enum' => [ 'Lambda', ], ], 'Proportion' => [ 'type' => 'double', 'max' => 1, 'min' => 0, ], 'PutRecordBatchInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'Records', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'Records' => [ 'shape' => 'PutRecordBatchRequestEntryList', ], ], ], 'PutRecordBatchOutput' => [ 'type' => 'structure', 'required' => [ 'FailedPutCount', 'RequestResponses', ], 'members' => [ 'FailedPutCount' => [ 'shape' => 'NonNegativeIntegerObject', ], 'Encrypted' => [ 'shape' => 'BooleanObject', ], 'RequestResponses' => [ 'shape' => 'PutRecordBatchResponseEntryList', ], ], ], 'PutRecordBatchRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], 'max' => 500, 'min' => 1, ], 'PutRecordBatchResponseEntry' => [ 'type' => 'structure', 'members' => [ 'RecordId' => [ 'shape' => 'PutResponseRecordId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'PutRecordBatchResponseEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutRecordBatchResponseEntry', ], 'max' => 500, 'min' => 1, ], 'PutRecordInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'Record', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'Record' => [ 'shape' => 'Record', ], ], ], 'PutRecordOutput' => [ 'type' => 'structure', 'required' => [ 'RecordId', ], 'members' => [ 'RecordId' => [ 'shape' => 'PutResponseRecordId', ], 'Encrypted' => [ 'shape' => 'BooleanObject', ], ], ], 'PutResponseRecordId' => [ 'type' => 'string', 'min' => 1, ], 'Record' => [ 'type' => 'structure', 'required' => [ 'Data', ], 'members' => [ 'Data' => [ 'shape' => 'Data', ], ], ], 'RedshiftDestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'ClusterJDBCURL', 'CopyCommand', 'Username', 'Password', 'S3Configuration', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ClusterJDBCURL' => [ 'shape' => 'ClusterJDBCURL', ], 'CopyCommand' => [ 'shape' => 'CopyCommand', ], 'Username' => [ 'shape' => 'Username', ], 'Password' => [ 'shape' => 'Password', ], 'RetryOptions' => [ 'shape' => 'RedshiftRetryOptions', ], 'S3Configuration' => [ 'shape' => 'S3DestinationConfiguration', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'RedshiftS3BackupMode', ], 'S3BackupConfiguration' => [ 'shape' => 'S3DestinationConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'RedshiftDestinationDescription' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'ClusterJDBCURL', 'CopyCommand', 'Username', 'S3DestinationDescription', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ClusterJDBCURL' => [ 'shape' => 'ClusterJDBCURL', ], 'CopyCommand' => [ 'shape' => 'CopyCommand', ], 'Username' => [ 'shape' => 'Username', ], 'RetryOptions' => [ 'shape' => 'RedshiftRetryOptions', ], 'S3DestinationDescription' => [ 'shape' => 'S3DestinationDescription', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'RedshiftS3BackupMode', ], 'S3BackupDescription' => [ 'shape' => 'S3DestinationDescription', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'RedshiftDestinationUpdate' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ClusterJDBCURL' => [ 'shape' => 'ClusterJDBCURL', ], 'CopyCommand' => [ 'shape' => 'CopyCommand', ], 'Username' => [ 'shape' => 'Username', ], 'Password' => [ 'shape' => 'Password', ], 'RetryOptions' => [ 'shape' => 'RedshiftRetryOptions', ], 'S3Update' => [ 'shape' => 'S3DestinationUpdate', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'S3BackupMode' => [ 'shape' => 'RedshiftS3BackupMode', ], 'S3BackupUpdate' => [ 'shape' => 'S3DestinationUpdate', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'RedshiftRetryDurationInSeconds' => [ 'type' => 'integer', 'max' => 7200, 'min' => 0, ], 'RedshiftRetryOptions' => [ 'type' => 'structure', 'members' => [ 'DurationInSeconds' => [ 'shape' => 'RedshiftRetryDurationInSeconds', ], ], ], 'RedshiftS3BackupMode' => [ 'type' => 'string', 'enum' => [ 'Disabled', 'Enabled', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RoleARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'S3BackupMode' => [ 'type' => 'string', 'enum' => [ 'Disabled', 'Enabled', ], ], 'S3DestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'S3DestinationDescription' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', 'BufferingHints', 'CompressionFormat', 'EncryptionConfiguration', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'S3DestinationUpdate' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'ErrorOutputPrefix' => [ 'shape' => 'ErrorOutputPrefix', ], 'BufferingHints' => [ 'shape' => 'BufferingHints', ], 'CompressionFormat' => [ 'shape' => 'CompressionFormat', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'SchemaConfiguration' => [ 'type' => 'structure', 'members' => [ 'RoleARN' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'CatalogId' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'DatabaseName' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'TableName' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'Region' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], 'VersionId' => [ 'shape' => 'NonEmptyStringWithoutWhitespace', ], ], ], 'Serializer' => [ 'type' => 'structure', 'members' => [ 'ParquetSerDe' => [ 'shape' => 'ParquetSerDe', ], 'OrcSerDe' => [ 'shape' => 'OrcSerDe', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'SizeInMBs' => [ 'type' => 'integer', 'max' => 128, 'min' => 1, ], 'SourceDescription' => [ 'type' => 'structure', 'members' => [ 'KinesisStreamSourceDescription' => [ 'shape' => 'KinesisStreamSourceDescription', ], ], ], 'SplunkDestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'HECEndpoint', 'HECEndpointType', 'HECToken', 'S3Configuration', ], 'members' => [ 'HECEndpoint' => [ 'shape' => 'HECEndpoint', ], 'HECEndpointType' => [ 'shape' => 'HECEndpointType', ], 'HECToken' => [ 'shape' => 'HECToken', ], 'HECAcknowledgmentTimeoutInSeconds' => [ 'shape' => 'HECAcknowledgmentTimeoutInSeconds', ], 'RetryOptions' => [ 'shape' => 'SplunkRetryOptions', ], 'S3BackupMode' => [ 'shape' => 'SplunkS3BackupMode', ], 'S3Configuration' => [ 'shape' => 'S3DestinationConfiguration', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'SplunkDestinationDescription' => [ 'type' => 'structure', 'members' => [ 'HECEndpoint' => [ 'shape' => 'HECEndpoint', ], 'HECEndpointType' => [ 'shape' => 'HECEndpointType', ], 'HECToken' => [ 'shape' => 'HECToken', ], 'HECAcknowledgmentTimeoutInSeconds' => [ 'shape' => 'HECAcknowledgmentTimeoutInSeconds', ], 'RetryOptions' => [ 'shape' => 'SplunkRetryOptions', ], 'S3BackupMode' => [ 'shape' => 'SplunkS3BackupMode', ], 'S3DestinationDescription' => [ 'shape' => 'S3DestinationDescription', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'SplunkDestinationUpdate' => [ 'type' => 'structure', 'members' => [ 'HECEndpoint' => [ 'shape' => 'HECEndpoint', ], 'HECEndpointType' => [ 'shape' => 'HECEndpointType', ], 'HECToken' => [ 'shape' => 'HECToken', ], 'HECAcknowledgmentTimeoutInSeconds' => [ 'shape' => 'HECAcknowledgmentTimeoutInSeconds', ], 'RetryOptions' => [ 'shape' => 'SplunkRetryOptions', ], 'S3BackupMode' => [ 'shape' => 'SplunkS3BackupMode', ], 'S3Update' => [ 'shape' => 'S3DestinationUpdate', ], 'ProcessingConfiguration' => [ 'shape' => 'ProcessingConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'SplunkRetryDurationInSeconds' => [ 'type' => 'integer', 'max' => 7200, 'min' => 0, ], 'SplunkRetryOptions' => [ 'type' => 'structure', 'members' => [ 'DurationInSeconds' => [ 'shape' => 'SplunkRetryDurationInSeconds', ], ], ], 'SplunkS3BackupMode' => [ 'type' => 'string', 'enum' => [ 'FailedEventsOnly', 'AllEvents', ], ], 'StartDeliveryStreamEncryptionInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], ], ], 'StartDeliveryStreamEncryptionOutput' => [ 'type' => 'structure', 'members' => [], ], 'StopDeliveryStreamEncryptionInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], ], ], 'StopDeliveryStreamEncryptionOutput' => [ 'type' => 'structure', 'members' => [], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'Tags', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'Tags' => [ 'shape' => 'TagDeliveryStreamInputTagList', ], ], ], 'TagDeliveryStreamInputTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagDeliveryStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UntagDeliveryStreamInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'TagKeys', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagDeliveryStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDestinationInput' => [ 'type' => 'structure', 'required' => [ 'DeliveryStreamName', 'CurrentDeliveryStreamVersionId', 'DestinationId', ], 'members' => [ 'DeliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'CurrentDeliveryStreamVersionId' => [ 'shape' => 'DeliveryStreamVersionId', ], 'DestinationId' => [ 'shape' => 'DestinationId', ], 'S3DestinationUpdate' => [ 'shape' => 'S3DestinationUpdate', 'deprecated' => true, ], 'ExtendedS3DestinationUpdate' => [ 'shape' => 'ExtendedS3DestinationUpdate', ], 'RedshiftDestinationUpdate' => [ 'shape' => 'RedshiftDestinationUpdate', ], 'ElasticsearchDestinationUpdate' => [ 'shape' => 'ElasticsearchDestinationUpdate', ], 'SplunkDestinationUpdate' => [ 'shape' => 'SplunkDestinationUpdate', ], ], ], 'UpdateDestinationOutput' => [ 'type' => 'structure', 'members' => [], ], 'Username' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], ],]; diff --git a/lib/aws/Aws/data/firehose/2015-08-04/paginators-1.json.php b/lib/aws/Aws/data/firehose/2015-08-04/paginators-1.json.php new file mode 100644 index 0000000..a36f0e8 --- /dev/null +++ b/lib/aws/Aws/data/firehose/2015-08-04/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/firehose/2015-08-04/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/firehose/2015-08-04/smoke.json.php b/lib/aws/Aws/data/firehose/2015-08-04/smoke.json.php new file mode 100644 index 0000000..9b20ce0 --- /dev/null +++ b/lib/aws/Aws/data/firehose/2015-08-04/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/firehose/2015-08-04/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListDeliveryStreams', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeDeliveryStream', 'input' => [ 'DeliveryStreamName' => 'bogus-stream-name', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/fms/2018-01-01/api-2.json.php b/lib/aws/Aws/data/fms/2018-01-01/api-2.json.php new file mode 100644 index 0000000..515dbb3 --- /dev/null +++ b/lib/aws/Aws/data/fms/2018-01-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/fms/2018-01-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-01-01', 'endpointPrefix' => 'fms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'FMS', 'serviceFullName' => 'Firewall Management Service', 'serviceId' => 'FMS', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSFMS_20180101', 'uid' => 'fms-2018-01-01', ], 'operations' => [ 'AssociateAdminAccount' => [ 'name' => 'AssociateAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateAdminAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeleteNotificationChannel' => [ 'name' => 'DeleteNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotificationChannelRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'DisassociateAdminAccount' => [ 'name' => 'DisassociateAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateAdminAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetAdminAccount' => [ 'name' => 'GetAdminAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAdminAccountRequest', ], 'output' => [ 'shape' => 'GetAdminAccountResponse', ], 'errors' => [ [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetComplianceDetail' => [ 'name' => 'GetComplianceDetail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetComplianceDetailRequest', ], 'output' => [ 'shape' => 'GetComplianceDetailResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetNotificationChannel' => [ 'name' => 'GetNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetNotificationChannelRequest', ], 'output' => [ 'shape' => 'GetNotificationChannelResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'GetPolicy' => [ 'name' => 'GetPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPolicyRequest', ], 'output' => [ 'shape' => 'GetPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidTypeException', ], ], ], 'GetProtectionStatus' => [ 'name' => 'GetProtectionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProtectionStatusRequest', ], 'output' => [ 'shape' => 'GetProtectionStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListComplianceStatus' => [ 'name' => 'ListComplianceStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListComplianceStatusRequest', ], 'output' => [ 'shape' => 'ListComplianceStatusResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListMemberAccounts' => [ 'name' => 'ListMemberAccounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMemberAccountsRequest', ], 'output' => [ 'shape' => 'ListMemberAccountsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'ListPolicies' => [ 'name' => 'ListPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesRequest', ], 'output' => [ 'shape' => 'ListPoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'PutNotificationChannel' => [ 'name' => 'PutNotificationChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutNotificationChannelRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InternalErrorException', ], ], ], 'PutPolicy' => [ 'name' => 'PutPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPolicyRequest', ], 'output' => [ 'shape' => 'PutPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidTypeException', ], ], ], ], 'shapes' => [ 'AWSAccountId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^[0-9]+$', ], 'AccountRoleStatus' => [ 'type' => 'string', 'enum' => [ 'READY', 'CREATING', 'PENDING_DELETION', 'DELETING', 'DELETED', ], ], 'AssociateAdminAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AdminAccount', ], 'members' => [ 'AdminAccount' => [ 'shape' => 'AWSAccountId', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'ComplianceViolator' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'ViolationReason' => [ 'shape' => 'ViolationReason', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'ComplianceViolators' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceViolator', ], ], 'CustomerPolicyScopeId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'CustomerPolicyScopeIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerPolicyScopeId', ], ], 'CustomerPolicyScopeIdType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', ], ], 'CustomerPolicyScopeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'CustomerPolicyScopeIdType', ], 'value' => [ 'shape' => 'CustomerPolicyScopeIdList', ], ], 'DeleteNotificationChannelRequest' => [ 'type' => 'structure', 'members' => [], ], 'DeletePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'DeleteAllPolicyResources' => [ 'shape' => 'Boolean', ], ], ], 'DependentServiceName' => [ 'type' => 'string', 'enum' => [ 'AWSCONFIG', 'AWSWAF', 'AWSSHIELD_ADVANCED', ], ], 'DetailedInfo' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'DisassociateAdminAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'ErrorMessage' => [ 'type' => 'string', ], 'EvaluationResult' => [ 'type' => 'structure', 'members' => [ 'ComplianceStatus' => [ 'shape' => 'PolicyComplianceStatusType', ], 'ViolatorCount' => [ 'shape' => 'ResourceCount', ], 'EvaluationLimitExceeded' => [ 'shape' => 'Boolean', ], ], ], 'EvaluationResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'EvaluationResult', ], ], 'GetAdminAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAdminAccountResponse' => [ 'type' => 'structure', 'members' => [ 'AdminAccount' => [ 'shape' => 'AWSAccountId', ], 'RoleStatus' => [ 'shape' => 'AccountRoleStatus', ], ], ], 'GetComplianceDetailRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'MemberAccount', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], ], ], 'GetComplianceDetailResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyComplianceDetail' => [ 'shape' => 'PolicyComplianceDetail', ], ], ], 'GetNotificationChannelRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetNotificationChannelResponse' => [ 'type' => 'structure', 'members' => [ 'SnsTopicArn' => [ 'shape' => 'ResourceArn', ], 'SnsRoleName' => [ 'shape' => 'ResourceArn', ], ], ], 'GetPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], ], ], 'GetPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], 'PolicyArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetProtectionStatusRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccountId' => [ 'shape' => 'AWSAccountId', ], 'StartTime' => [ 'shape' => 'TimeStamp', ], 'EndTime' => [ 'shape' => 'TimeStamp', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'GetProtectionStatusResponse' => [ 'type' => 'structure', 'members' => [ 'AdminAccountId' => [ 'shape' => 'AWSAccountId', ], 'ServiceType' => [ 'shape' => 'SecurityServiceType', ], 'Data' => [ 'shape' => 'ProtectionData', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidTypeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IssueInfoMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DependentServiceName', ], 'value' => [ 'shape' => 'DetailedInfo', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListComplianceStatusRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListComplianceStatusResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyComplianceStatusList' => [ 'shape' => 'PolicyComplianceStatusList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListMemberAccountsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListMemberAccountsResponse' => [ 'type' => 'structure', 'members' => [ 'MemberAccounts' => [ 'shape' => 'MemberAccounts', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListPoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PaginationMaxResults', ], ], ], 'ListPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyList' => [ 'shape' => 'PolicySummaryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ManagedServiceData' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'MemberAccounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'AWSAccountId', ], ], 'PaginationMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PaginationToken' => [ 'type' => 'string', 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Policy' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'SecurityServicePolicyData', 'ResourceType', 'ExcludeResourceTags', 'RemediationEnabled', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'PolicyUpdateToken' => [ 'shape' => 'PolicyUpdateToken', ], 'SecurityServicePolicyData' => [ 'shape' => 'SecurityServicePolicyData', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceTypeList' => [ 'shape' => 'ResourceTypeList', ], 'ResourceTags' => [ 'shape' => 'ResourceTags', ], 'ExcludeResourceTags' => [ 'shape' => 'Boolean', ], 'RemediationEnabled' => [ 'shape' => 'Boolean', ], 'IncludeMap' => [ 'shape' => 'CustomerPolicyScopeMap', ], 'ExcludeMap' => [ 'shape' => 'CustomerPolicyScopeMap', ], ], ], 'PolicyComplianceDetail' => [ 'type' => 'structure', 'members' => [ 'PolicyOwner' => [ 'shape' => 'AWSAccountId', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'Violators' => [ 'shape' => 'ComplianceViolators', ], 'EvaluationLimitExceeded' => [ 'shape' => 'Boolean', ], 'ExpiredAt' => [ 'shape' => 'TimeStamp', ], 'IssueInfoMap' => [ 'shape' => 'IssueInfoMap', ], ], ], 'PolicyComplianceStatus' => [ 'type' => 'structure', 'members' => [ 'PolicyOwner' => [ 'shape' => 'AWSAccountId', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'MemberAccount' => [ 'shape' => 'AWSAccountId', ], 'EvaluationResults' => [ 'shape' => 'EvaluationResults', ], 'LastUpdated' => [ 'shape' => 'TimeStamp', ], 'IssueInfoMap' => [ 'shape' => 'IssueInfoMap', ], ], ], 'PolicyComplianceStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyComplianceStatus', ], ], 'PolicyComplianceStatusType' => [ 'type' => 'string', 'enum' => [ 'COMPLIANT', 'NON_COMPLIANT', ], ], 'PolicyId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[a-z0-9A-Z-]{36}$', ], 'PolicySummary' => [ 'type' => 'structure', 'members' => [ 'PolicyArn' => [ 'shape' => 'ResourceArn', ], 'PolicyId' => [ 'shape' => 'PolicyId', ], 'PolicyName' => [ 'shape' => 'ResourceName', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'SecurityServiceType' => [ 'shape' => 'SecurityServiceType', ], 'RemediationEnabled' => [ 'shape' => 'Boolean', ], ], ], 'PolicySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicySummary', ], ], 'PolicyUpdateToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ProtectionData' => [ 'type' => 'string', ], 'PutNotificationChannelRequest' => [ 'type' => 'structure', 'required' => [ 'SnsTopicArn', 'SnsRoleName', ], 'members' => [ 'SnsTopicArn' => [ 'shape' => 'ResourceArn', ], 'SnsRoleName' => [ 'shape' => 'ResourceArn', ], ], ], 'PutPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Policy', ], 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], 'PutPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], 'PolicyArn' => [ 'shape' => 'ResourceArn', ], ], ], 'ResourceArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceCount' => [ 'type' => 'long', 'min' => 0, ], 'ResourceId' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceTag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'ResourceTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTag', ], 'max' => 8, 'min' => 0, ], 'ResourceType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'ResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'SecurityServicePolicyData' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'SecurityServiceType', ], 'ManagedServiceData' => [ 'shape' => 'ManagedServiceData', ], ], ], 'SecurityServiceType' => [ 'type' => 'string', 'enum' => [ 'WAF', 'SHIELD_ADVANCED', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TimeStamp' => [ 'type' => 'timestamp', ], 'ViolationReason' => [ 'type' => 'string', 'enum' => [ 'WEB_ACL_MISSING_RULE_GROUP', 'RESOURCE_MISSING_WEB_ACL', 'RESOURCE_INCORRECT_WEB_ACL', 'RESOURCE_MISSING_SHIELD_PROTECTION', ], ], ],]; diff --git a/lib/aws/Aws/data/fms/2018-01-01/paginators-1.json.php b/lib/aws/Aws/data/fms/2018-01-01/paginators-1.json.php new file mode 100644 index 0000000..4e38c3b --- /dev/null +++ b/lib/aws/Aws/data/fms/2018-01-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/fms/2018-01-01/paginators-1.json +return [ 'pagination' => [ 'ListComplianceStatus' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'PolicyComplianceStatusList', ], 'ListMemberAccounts' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'MemberAccounts', ], 'ListPolicies' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'PolicyList', ], ],]; diff --git a/lib/aws/Aws/data/fsx/2018-03-01/api-2.json.php b/lib/aws/Aws/data/fsx/2018-03-01/api-2.json.php new file mode 100644 index 0000000..ad8bb12 --- /dev/null +++ b/lib/aws/Aws/data/fsx/2018-03-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/fsx/2018-03-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-03-01', 'endpointPrefix' => 'fsx', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon FSx', 'serviceId' => 'FSx', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSSimbaAPIService_v20180301', 'uid' => 'fsx-2018-03-01', ], 'operations' => [ 'CreateBackup' => [ 'name' => 'CreateBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBackupRequest', ], 'output' => [ 'shape' => 'CreateBackupResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'BackupInProgress', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'ServiceLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'idempotent' => true, ], 'CreateFileSystem' => [ 'name' => 'CreateFileSystem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFileSystemRequest', ], 'output' => [ 'shape' => 'CreateFileSystemResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'ActiveDirectoryError', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'InvalidImportPath', ], [ 'shape' => 'InvalidExportPath', ], [ 'shape' => 'InvalidNetworkSettings', ], [ 'shape' => 'ServiceLimitExceeded', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'MissingFileSystemConfiguration', ], ], ], 'CreateFileSystemFromBackup' => [ 'name' => 'CreateFileSystemFromBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFileSystemFromBackupRequest', ], 'output' => [ 'shape' => 'CreateFileSystemFromBackupResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'ActiveDirectoryError', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'InvalidNetworkSettings', ], [ 'shape' => 'ServiceLimitExceeded', ], [ 'shape' => 'BackupNotFound', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'MissingFileSystemConfiguration', ], ], ], 'DeleteBackup' => [ 'name' => 'DeleteBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBackupRequest', ], 'output' => [ 'shape' => 'DeleteBackupResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'BackupInProgress', ], [ 'shape' => 'BackupNotFound', ], [ 'shape' => 'BackupRestoring', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'InternalServerError', ], ], 'idempotent' => true, ], 'DeleteFileSystem' => [ 'name' => 'DeleteFileSystem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFileSystemRequest', ], 'output' => [ 'shape' => 'DeleteFileSystemResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'ServiceLimitExceeded', ], [ 'shape' => 'InternalServerError', ], ], 'idempotent' => true, ], 'DescribeBackups' => [ 'name' => 'DescribeBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBackupsRequest', ], 'output' => [ 'shape' => 'DescribeBackupsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'BackupNotFound', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeFileSystems' => [ 'name' => 'DescribeFileSystems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFileSystemsRequest', ], 'output' => [ 'shape' => 'DescribeFileSystemsResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceNotFound', ], [ 'shape' => 'NotServiceResourceError', ], [ 'shape' => 'ResourceDoesNotSupportTagging', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceNotFound', ], [ 'shape' => 'NotServiceResourceError', ], [ 'shape' => 'ResourceDoesNotSupportTagging', ], ], 'idempotent' => true, ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceNotFound', ], [ 'shape' => 'NotServiceResourceError', ], [ 'shape' => 'ResourceDoesNotSupportTagging', ], ], 'idempotent' => true, ], 'UpdateFileSystem' => [ 'name' => 'UpdateFileSystem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateFileSystemRequest', ], 'output' => [ 'shape' => 'UpdateFileSystemResponse', ], 'errors' => [ [ 'shape' => 'BadRequest', ], [ 'shape' => 'IncompatibleParameterError', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'FileSystemNotFound', ], [ 'shape' => 'MissingFileSystemConfiguration', ], ], ], ], 'shapes' => [ 'AWSAccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '^\\d{12}$', ], 'ActiveDirectoryError' => [ 'type' => 'structure', 'required' => [ 'ActiveDirectoryId', ], 'members' => [ 'ActiveDirectoryId' => [ 'shape' => 'DirectoryId', ], 'Type' => [ 'shape' => 'ActiveDirectoryErrorType', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ActiveDirectoryErrorType' => [ 'type' => 'string', 'enum' => [ 'DOMAIN_NOT_FOUND', 'INCOMPATIBLE_DOMAIN_MODE', 'WRONG_VPC', 'INVALID_DOMAIN_STAGE', ], ], 'ArchivePath' => [ 'type' => 'string', 'max' => 900, 'min' => 3, ], 'AutomaticBackupRetentionDays' => [ 'type' => 'integer', 'max' => 35, 'min' => 0, ], 'Backup' => [ 'type' => 'structure', 'required' => [ 'BackupId', 'Lifecycle', 'Type', 'CreationTime', 'FileSystem', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'Lifecycle' => [ 'shape' => 'BackupLifecycle', ], 'FailureDetails' => [ 'shape' => 'BackupFailureDetails', ], 'Type' => [ 'shape' => 'BackupType', ], 'ProgressPercent' => [ 'shape' => 'ProgressPercent', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Tags' => [ 'shape' => 'Tags', ], 'FileSystem' => [ 'shape' => 'FileSystem', ], ], ], 'BackupFailureDetails' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], ], 'BackupId' => [ 'type' => 'string', 'max' => 128, 'min' => 12, 'pattern' => '^(backup-[0-9a-f]{8,})$', ], 'BackupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'BackupId', ], 'max' => 50, ], 'BackupInProgress' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'BackupLifecycle' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'CREATING', 'DELETED', 'FAILED', ], ], 'BackupNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'BackupRestoring' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', ], ], 'exception' => true, ], 'BackupType' => [ 'type' => 'string', 'enum' => [ 'AUTOMATIC', 'USER_INITIATED', ], ], 'Backups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Backup', ], 'max' => 50, ], 'BadRequest' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[A-za-z0-9_/.-]{0,255}$', ], 'CreateBackupRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateBackupResponse' => [ 'type' => 'structure', 'members' => [ 'Backup' => [ 'shape' => 'Backup', ], ], ], 'CreateFileSystemFromBackupRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', 'SubnetIds', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], 'Tags' => [ 'shape' => 'Tags', ], 'WindowsConfiguration' => [ 'shape' => 'CreateFileSystemWindowsConfiguration', ], ], ], 'CreateFileSystemFromBackupResponse' => [ 'type' => 'structure', 'members' => [ 'FileSystem' => [ 'shape' => 'FileSystem', ], ], ], 'CreateFileSystemLustreConfiguration' => [ 'type' => 'structure', 'members' => [ 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], 'ImportPath' => [ 'shape' => 'ArchivePath', ], 'ExportPath' => [ 'shape' => 'ArchivePath', ], 'ImportedFileChunkSize' => [ 'shape' => 'Megabytes', ], ], ], 'CreateFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemType', 'StorageCapacity', 'SubnetIds', ], 'members' => [ 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'FileSystemType' => [ 'shape' => 'FileSystemType', ], 'StorageCapacity' => [ 'shape' => 'StorageCapacity', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], 'Tags' => [ 'shape' => 'Tags', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'WindowsConfiguration' => [ 'shape' => 'CreateFileSystemWindowsConfiguration', ], 'LustreConfiguration' => [ 'shape' => 'CreateFileSystemLustreConfiguration', ], ], ], 'CreateFileSystemResponse' => [ 'type' => 'structure', 'members' => [ 'FileSystem' => [ 'shape' => 'FileSystem', ], ], ], 'CreateFileSystemWindowsConfiguration' => [ 'type' => 'structure', 'required' => [ 'ThroughputCapacity', ], 'members' => [ 'ActiveDirectoryId' => [ 'shape' => 'DirectoryId', ], 'ThroughputCapacity' => [ 'shape' => 'MegabytesPerSecond', ], 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], 'DailyAutomaticBackupStartTime' => [ 'shape' => 'DailyTime', ], 'AutomaticBackupRetentionDays' => [ 'shape' => 'AutomaticBackupRetentionDays', ], 'CopyTagsToBackups' => [ 'shape' => 'Flag', ], ], ], 'CreationTime' => [ 'type' => 'timestamp', ], 'DNSName' => [ 'type' => 'string', 'max' => 275, 'min' => 16, 'pattern' => '^(fsi?-[0-9a-f]{8,}\\..{4,253})$', ], 'DailyTime' => [ 'type' => 'string', 'max' => 5, 'min' => 5, 'pattern' => '^([01]\\d|2[0-3]):?([0-5]\\d)$', ], 'DataRepositoryConfiguration' => [ 'type' => 'structure', 'members' => [ 'ImportPath' => [ 'shape' => 'ArchivePath', ], 'ExportPath' => [ 'shape' => 'ArchivePath', ], 'ImportedFileChunkSize' => [ 'shape' => 'Megabytes', ], ], ], 'DeleteBackupRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'DeleteBackupResponse' => [ 'type' => 'structure', 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'Lifecycle' => [ 'shape' => 'BackupLifecycle', ], ], ], 'DeleteFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'WindowsConfiguration' => [ 'shape' => 'DeleteFileSystemWindowsConfiguration', ], ], ], 'DeleteFileSystemResponse' => [ 'type' => 'structure', 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'Lifecycle' => [ 'shape' => 'FileSystemLifecycle', ], 'WindowsResponse' => [ 'shape' => 'DeleteFileSystemWindowsResponse', ], ], ], 'DeleteFileSystemWindowsConfiguration' => [ 'type' => 'structure', 'members' => [ 'SkipFinalBackup' => [ 'shape' => 'Flag', ], 'FinalBackupTags' => [ 'shape' => 'Tags', ], ], ], 'DeleteFileSystemWindowsResponse' => [ 'type' => 'structure', 'members' => [ 'FinalBackupId' => [ 'shape' => 'BackupId', ], 'FinalBackupTags' => [ 'shape' => 'Tags', ], ], ], 'DescribeBackupsRequest' => [ 'type' => 'structure', 'members' => [ 'BackupIds' => [ 'shape' => 'BackupIds', ], 'Filters' => [ 'shape' => 'Filters', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeBackupsResponse' => [ 'type' => 'structure', 'members' => [ 'Backups' => [ 'shape' => 'Backups', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeFileSystemsRequest' => [ 'type' => 'structure', 'members' => [ 'FileSystemIds' => [ 'shape' => 'FileSystemIds', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeFileSystemsResponse' => [ 'type' => 'structure', 'members' => [ 'FileSystems' => [ 'shape' => 'FileSystems', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DirectoryId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '^d-[0-9a-f]{10}$', ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'FileSystem' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'AWSAccountId', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'FileSystemType' => [ 'shape' => 'FileSystemType', ], 'Lifecycle' => [ 'shape' => 'FileSystemLifecycle', ], 'FailureDetails' => [ 'shape' => 'FileSystemFailureDetails', ], 'StorageCapacity' => [ 'shape' => 'StorageCapacity', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'NetworkInterfaceIds' => [ 'shape' => 'NetworkInterfaceIds', ], 'DNSName' => [ 'shape' => 'DNSName', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Tags' => [ 'shape' => 'Tags', ], 'WindowsConfiguration' => [ 'shape' => 'WindowsFileSystemConfiguration', ], 'LustreConfiguration' => [ 'shape' => 'LustreFileSystemConfiguration', ], ], ], 'FileSystemFailureDetails' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], ], 'FileSystemId' => [ 'type' => 'string', 'max' => 21, 'min' => 11, 'pattern' => '^(fs-[0-9a-f]{8,})$', ], 'FileSystemIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileSystemId', ], 'max' => 50, ], 'FileSystemLifecycle' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'CREATING', 'FAILED', 'DELETING', ], ], 'FileSystemMaintenanceOperation' => [ 'type' => 'string', 'enum' => [ 'PATCHING', 'BACKING_UP', ], ], 'FileSystemMaintenanceOperations' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileSystemMaintenanceOperation', ], 'max' => 20, ], 'FileSystemNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'FileSystemType' => [ 'type' => 'string', 'enum' => [ 'WINDOWS', 'LUSTRE', ], ], 'FileSystems' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileSystem', ], 'max' => 50, ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], ], ], 'FilterName' => [ 'type' => 'string', 'enum' => [ 'file-system-id', 'backup-type', ], ], 'FilterValue' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[0-9a-zA-Z\\*\\.\\\\/\\?\\-\\_]*$', ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], 'max' => 20, ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], 'max' => 10, ], 'Flag' => [ 'type' => 'boolean', ], 'IncompatibleParameterError' => [ 'type' => 'structure', 'required' => [ 'Parameter', ], 'members' => [ 'Parameter' => [ 'shape' => 'Parameter', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidExportPath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidImportPath' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidNetworkSettings' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'InvalidSubnetId' => [ 'shape' => 'SubnetId', ], 'InvalidSecurityGroupId' => [ 'shape' => 'SecurityGroupId', ], ], 'exception' => true, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|arn:aws[a-z-]{0,7}:kms:[a-z]{2}-[a-z-]{4,}-\\d+:\\d{12}:(key|alias)\\/([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|[a-zA-Z0-9:\\/_-]+)|alias\\/[a-zA-Z0-9:\\/_-]+$', ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LustreFileSystemConfiguration' => [ 'type' => 'structure', 'members' => [ 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], 'DataRepositoryConfiguration' => [ 'shape' => 'DataRepositoryConfiguration', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'Megabytes' => [ 'type' => 'integer', 'max' => 512000, 'min' => 1, ], 'MegabytesPerSecond' => [ 'type' => 'integer', 'max' => 2048, 'min' => 8, ], 'MissingFileSystemConfiguration' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NetworkInterfaceId' => [ 'type' => 'string', 'max' => 21, 'min' => 12, 'pattern' => '^(eni-[0-9a-f]{8,})$', ], 'NetworkInterfaceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterfaceId', ], 'max' => 50, ], 'NextToken' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$', ], 'NotServiceResourceError' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Parameter' => [ 'type' => 'string', 'min' => 1, ], 'ProgressPercent' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ResourceARN' => [ 'type' => 'string', 'max' => 512, 'min' => 8, 'pattern' => '^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$', ], 'ResourceDoesNotSupportTagging' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFound' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'SecurityGroupId' => [ 'type' => 'string', 'max' => 20, 'min' => 11, 'pattern' => '^(sg-[0-9a-f]{8,})$', ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], 'max' => 50, ], 'ServiceLimit' => [ 'type' => 'string', 'enum' => [ 'FILE_SYSTEM_COUNT', 'TOTAL_THROUGHPUT_CAPACITY', 'TOTAL_STORAGE', 'TOTAL_USER_INITIATED_BACKUPS', ], ], 'ServiceLimitExceeded' => [ 'type' => 'structure', 'required' => [ 'Limit', ], 'members' => [ 'Limit' => [ 'shape' => 'ServiceLimit', ], 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'StorageCapacity' => [ 'type' => 'integer', 'min' => 1, ], 'SubnetId' => [ 'type' => 'string', 'max' => 24, 'min' => 15, 'pattern' => '^(subnet-[0-9a-f]{8,})$', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], 'max' => 50, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Tags', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'TagKeys', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateFileSystemLustreConfiguration' => [ 'type' => 'structure', 'members' => [ 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], ], ], 'UpdateFileSystemRequest' => [ 'type' => 'structure', 'required' => [ 'FileSystemId', ], 'members' => [ 'FileSystemId' => [ 'shape' => 'FileSystemId', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'WindowsConfiguration' => [ 'shape' => 'UpdateFileSystemWindowsConfiguration', ], 'LustreConfiguration' => [ 'shape' => 'UpdateFileSystemLustreConfiguration', ], ], ], 'UpdateFileSystemResponse' => [ 'type' => 'structure', 'members' => [ 'FileSystem' => [ 'shape' => 'FileSystem', ], ], ], 'UpdateFileSystemWindowsConfiguration' => [ 'type' => 'structure', 'members' => [ 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], 'DailyAutomaticBackupStartTime' => [ 'shape' => 'DailyTime', ], 'AutomaticBackupRetentionDays' => [ 'shape' => 'AutomaticBackupRetentionDays', ], ], ], 'VpcId' => [ 'type' => 'string', 'max' => 21, 'min' => 12, 'pattern' => '^(vpc-[0-9a-f]{8,})$', ], 'WeeklyTime' => [ 'type' => 'string', 'max' => 7, 'min' => 7, 'pattern' => '^[1-7]:([01]\\d|2[0-3]):?([0-5]\\d)$', ], 'WindowsFileSystemConfiguration' => [ 'type' => 'structure', 'members' => [ 'ActiveDirectoryId' => [ 'shape' => 'DirectoryId', ], 'ThroughputCapacity' => [ 'shape' => 'MegabytesPerSecond', ], 'MaintenanceOperationsInProgress' => [ 'shape' => 'FileSystemMaintenanceOperations', ], 'WeeklyMaintenanceStartTime' => [ 'shape' => 'WeeklyTime', ], 'DailyAutomaticBackupStartTime' => [ 'shape' => 'DailyTime', ], 'AutomaticBackupRetentionDays' => [ 'shape' => 'AutomaticBackupRetentionDays', ], 'CopyTagsToBackups' => [ 'shape' => 'Flag', ], ], ], ],]; diff --git a/lib/aws/Aws/data/fsx/2018-03-01/paginators-1.json.php b/lib/aws/Aws/data/fsx/2018-03-01/paginators-1.json.php new file mode 100644 index 0000000..18da217 --- /dev/null +++ b/lib/aws/Aws/data/fsx/2018-03-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/fsx/2018-03-01/paginators-1.json +return [ 'pagination' => [ 'DescribeBackups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'DescribeFileSystems' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/gamelift/2015-10-01/api-2.json.php b/lib/aws/Aws/data/gamelift/2015-10-01/api-2.json.php new file mode 100644 index 0000000..6114a06 --- /dev/null +++ b/lib/aws/Aws/data/gamelift/2015-10-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/gamelift/2015-10-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-10-01', 'endpointPrefix' => 'gamelift', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon GameLift', 'serviceId' => 'GameLift', 'signatureVersion' => 'v4', 'targetPrefix' => 'GameLift', 'uid' => 'gamelift-2015-10-01', ], 'operations' => [ 'AcceptMatch' => [ 'name' => 'AcceptMatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptMatchInput', ], 'output' => [ 'shape' => 'AcceptMatchOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'CreateAlias' => [ 'name' => 'CreateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAliasInput', ], 'output' => [ 'shape' => 'CreateAliasOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateBuild' => [ 'name' => 'CreateBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBuildInput', ], 'output' => [ 'shape' => 'CreateBuildOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'CreateFleet' => [ 'name' => 'CreateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateFleetInput', ], 'output' => [ 'shape' => 'CreateFleetOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'CreateGameSession' => [ 'name' => 'CreateGameSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGameSessionInput', ], 'output' => [ 'shape' => 'CreateGameSessionOutput', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidFleetStatusException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'FleetCapacityExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'CreateGameSessionQueue' => [ 'name' => 'CreateGameSessionQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGameSessionQueueInput', ], 'output' => [ 'shape' => 'CreateGameSessionQueueOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateMatchmakingConfiguration' => [ 'name' => 'CreateMatchmakingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateMatchmakingConfigurationInput', ], 'output' => [ 'shape' => 'CreateMatchmakingConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'CreateMatchmakingRuleSet' => [ 'name' => 'CreateMatchmakingRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateMatchmakingRuleSetInput', ], 'output' => [ 'shape' => 'CreateMatchmakingRuleSetOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'CreatePlayerSession' => [ 'name' => 'CreatePlayerSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlayerSessionInput', ], 'output' => [ 'shape' => 'CreatePlayerSessionOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidGameSessionStatusException', ], [ 'shape' => 'GameSessionFullException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CreatePlayerSessions' => [ 'name' => 'CreatePlayerSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlayerSessionsInput', ], 'output' => [ 'shape' => 'CreatePlayerSessionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidGameSessionStatusException', ], [ 'shape' => 'GameSessionFullException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CreateVpcPeeringAuthorization' => [ 'name' => 'CreateVpcPeeringAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringAuthorizationInput', ], 'output' => [ 'shape' => 'CreateVpcPeeringAuthorizationOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'CreateVpcPeeringConnection' => [ 'name' => 'CreateVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVpcPeeringConnectionInput', ], 'output' => [ 'shape' => 'CreateVpcPeeringConnectionOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteAlias' => [ 'name' => 'DeleteAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAliasInput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteBuild' => [ 'name' => 'DeleteBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBuildInput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteFleet' => [ 'name' => 'DeleteFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFleetInput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidFleetStatusException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteGameSessionQueue' => [ 'name' => 'DeleteGameSessionQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGameSessionQueueInput', ], 'output' => [ 'shape' => 'DeleteGameSessionQueueOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DeleteMatchmakingConfiguration' => [ 'name' => 'DeleteMatchmakingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMatchmakingConfigurationInput', ], 'output' => [ 'shape' => 'DeleteMatchmakingConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'DeleteMatchmakingRuleSet' => [ 'name' => 'DeleteMatchmakingRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMatchmakingRuleSetInput', ], 'output' => [ 'shape' => 'DeleteMatchmakingRuleSetOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteScalingPolicy' => [ 'name' => 'DeleteScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteScalingPolicyInput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DeleteVpcPeeringAuthorization' => [ 'name' => 'DeleteVpcPeeringAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringAuthorizationInput', ], 'output' => [ 'shape' => 'DeleteVpcPeeringAuthorizationOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DeleteVpcPeeringConnection' => [ 'name' => 'DeleteVpcPeeringConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVpcPeeringConnectionInput', ], 'output' => [ 'shape' => 'DeleteVpcPeeringConnectionOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeAlias' => [ 'name' => 'DescribeAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAliasInput', ], 'output' => [ 'shape' => 'DescribeAliasOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeBuild' => [ 'name' => 'DescribeBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBuildInput', ], 'output' => [ 'shape' => 'DescribeBuildOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeEC2InstanceLimits' => [ 'name' => 'DescribeEC2InstanceLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEC2InstanceLimitsInput', ], 'output' => [ 'shape' => 'DescribeEC2InstanceLimitsOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeFleetAttributes' => [ 'name' => 'DescribeFleetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetAttributesInput', ], 'output' => [ 'shape' => 'DescribeFleetAttributesOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeFleetCapacity' => [ 'name' => 'DescribeFleetCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetCapacityInput', ], 'output' => [ 'shape' => 'DescribeFleetCapacityOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeFleetEvents' => [ 'name' => 'DescribeFleetEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetEventsInput', ], 'output' => [ 'shape' => 'DescribeFleetEventsOutput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeFleetPortSettings' => [ 'name' => 'DescribeFleetPortSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetPortSettingsInput', ], 'output' => [ 'shape' => 'DescribeFleetPortSettingsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeFleetUtilization' => [ 'name' => 'DescribeFleetUtilization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFleetUtilizationInput', ], 'output' => [ 'shape' => 'DescribeFleetUtilizationOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeGameSessionDetails' => [ 'name' => 'DescribeGameSessionDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGameSessionDetailsInput', ], 'output' => [ 'shape' => 'DescribeGameSessionDetailsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], ], ], 'DescribeGameSessionPlacement' => [ 'name' => 'DescribeGameSessionPlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGameSessionPlacementInput', ], 'output' => [ 'shape' => 'DescribeGameSessionPlacementOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeGameSessionQueues' => [ 'name' => 'DescribeGameSessionQueues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGameSessionQueuesInput', ], 'output' => [ 'shape' => 'DescribeGameSessionQueuesOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeGameSessions' => [ 'name' => 'DescribeGameSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGameSessionsInput', ], 'output' => [ 'shape' => 'DescribeGameSessionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesInput', ], 'output' => [ 'shape' => 'DescribeInstancesOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeMatchmaking' => [ 'name' => 'DescribeMatchmaking', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMatchmakingInput', ], 'output' => [ 'shape' => 'DescribeMatchmakingOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'DescribeMatchmakingConfigurations' => [ 'name' => 'DescribeMatchmakingConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMatchmakingConfigurationsInput', ], 'output' => [ 'shape' => 'DescribeMatchmakingConfigurationsOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'DescribeMatchmakingRuleSets' => [ 'name' => 'DescribeMatchmakingRuleSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMatchmakingRuleSetsInput', ], 'output' => [ 'shape' => 'DescribeMatchmakingRuleSetsOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'DescribePlayerSessions' => [ 'name' => 'DescribePlayerSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePlayerSessionsInput', ], 'output' => [ 'shape' => 'DescribePlayerSessionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'DescribeRuntimeConfiguration' => [ 'name' => 'DescribeRuntimeConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRuntimeConfigurationInput', ], 'output' => [ 'shape' => 'DescribeRuntimeConfigurationOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeScalingPolicies' => [ 'name' => 'DescribeScalingPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeScalingPoliciesInput', ], 'output' => [ 'shape' => 'DescribeScalingPoliciesOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DescribeVpcPeeringAuthorizations' => [ 'name' => 'DescribeVpcPeeringAuthorizations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringAuthorizationsInput', ], 'output' => [ 'shape' => 'DescribeVpcPeeringAuthorizationsOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'DescribeVpcPeeringConnections' => [ 'name' => 'DescribeVpcPeeringConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVpcPeeringConnectionsInput', ], 'output' => [ 'shape' => 'DescribeVpcPeeringConnectionsOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'GetGameSessionLogUrl' => [ 'name' => 'GetGameSessionLogUrl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGameSessionLogUrlInput', ], 'output' => [ 'shape' => 'GetGameSessionLogUrlOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetInstanceAccess' => [ 'name' => 'GetInstanceAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceAccessInput', ], 'output' => [ 'shape' => 'GetInstanceAccessOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListAliases' => [ 'name' => 'ListAliases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAliasesInput', ], 'output' => [ 'shape' => 'ListAliasesOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListBuilds' => [ 'name' => 'ListBuilds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBuildsInput', ], 'output' => [ 'shape' => 'ListBuildsOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ListFleets' => [ 'name' => 'ListFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListFleetsInput', ], 'output' => [ 'shape' => 'ListFleetsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'PutScalingPolicy' => [ 'name' => 'PutScalingPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutScalingPolicyInput', ], 'output' => [ 'shape' => 'PutScalingPolicyOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], ], ], 'RequestUploadCredentials' => [ 'name' => 'RequestUploadCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestUploadCredentialsInput', ], 'output' => [ 'shape' => 'RequestUploadCredentialsOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'ResolveAlias' => [ 'name' => 'ResolveAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResolveAliasInput', ], 'output' => [ 'shape' => 'ResolveAliasOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'SearchGameSessions' => [ 'name' => 'SearchGameSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchGameSessionsInput', ], 'output' => [ 'shape' => 'SearchGameSessionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TerminalRoutingStrategyException', ], ], ], 'StartFleetActions' => [ 'name' => 'StartFleetActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartFleetActionsInput', ], 'output' => [ 'shape' => 'StartFleetActionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], ], ], 'StartGameSessionPlacement' => [ 'name' => 'StartGameSessionPlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartGameSessionPlacementInput', ], 'output' => [ 'shape' => 'StartGameSessionPlacementOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'StartMatchBackfill' => [ 'name' => 'StartMatchBackfill', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartMatchBackfillInput', ], 'output' => [ 'shape' => 'StartMatchBackfillOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'StartMatchmaking' => [ 'name' => 'StartMatchmaking', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartMatchmakingInput', ], 'output' => [ 'shape' => 'StartMatchmakingOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'StopFleetActions' => [ 'name' => 'StopFleetActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopFleetActionsInput', ], 'output' => [ 'shape' => 'StopFleetActionsOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], ], ], 'StopGameSessionPlacement' => [ 'name' => 'StopGameSessionPlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopGameSessionPlacementInput', ], 'output' => [ 'shape' => 'StopGameSessionPlacementOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'StopMatchmaking' => [ 'name' => 'StopMatchmaking', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopMatchmakingInput', ], 'output' => [ 'shape' => 'StopMatchmakingOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'UpdateAlias' => [ 'name' => 'UpdateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAliasInput', ], 'output' => [ 'shape' => 'UpdateAliasOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateBuild' => [ 'name' => 'UpdateBuild', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBuildInput', ], 'output' => [ 'shape' => 'UpdateBuildOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UpdateFleetAttributes' => [ 'name' => 'UpdateFleetAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateFleetAttributesInput', ], 'output' => [ 'shape' => 'UpdateFleetAttributesOutput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'InvalidFleetStatusException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'UpdateFleetCapacity' => [ 'name' => 'UpdateFleetCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateFleetCapacityInput', ], 'output' => [ 'shape' => 'UpdateFleetCapacityOutput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidFleetStatusException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'UpdateFleetPortSettings' => [ 'name' => 'UpdateFleetPortSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateFleetPortSettingsInput', ], 'output' => [ 'shape' => 'UpdateFleetPortSettingsOutput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'InvalidFleetStatusException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'UpdateGameSession' => [ 'name' => 'UpdateGameSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGameSessionInput', ], 'output' => [ 'shape' => 'UpdateGameSessionOutput', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InvalidGameSessionStatusException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateGameSessionQueue' => [ 'name' => 'UpdateGameSessionQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGameSessionQueueInput', ], 'output' => [ 'shape' => 'UpdateGameSessionQueueOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'UpdateMatchmakingConfiguration' => [ 'name' => 'UpdateMatchmakingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMatchmakingConfigurationInput', ], 'output' => [ 'shape' => 'UpdateMatchmakingConfigurationOutput', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], ], ], 'UpdateRuntimeConfiguration' => [ 'name' => 'UpdateRuntimeConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRuntimeConfigurationInput', ], 'output' => [ 'shape' => 'UpdateRuntimeConfigurationOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidFleetStatusException', ], ], ], 'ValidateMatchmakingRuleSet' => [ 'name' => 'ValidateMatchmakingRuleSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ValidateMatchmakingRuleSetInput', ], 'output' => [ 'shape' => 'ValidateMatchmakingRuleSetOutput', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'UnsupportedRegionException', ], [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'AcceptMatchInput' => [ 'type' => 'structure', 'required' => [ 'TicketId', 'PlayerIds', 'AcceptanceType', ], 'members' => [ 'TicketId' => [ 'shape' => 'MatchmakingIdStringModel', ], 'PlayerIds' => [ 'shape' => 'StringList', ], 'AcceptanceType' => [ 'shape' => 'AcceptanceType', ], ], ], 'AcceptMatchOutput' => [ 'type' => 'structure', 'members' => [], ], 'AcceptanceType' => [ 'type' => 'string', 'enum' => [ 'ACCEPT', 'REJECT', ], ], 'Alias' => [ 'type' => 'structure', 'members' => [ 'AliasId' => [ 'shape' => 'AliasId', ], 'Name' => [ 'shape' => 'NonBlankAndLengthConstraintString', ], 'AliasArn' => [ 'shape' => 'ArnStringModel', ], 'Description' => [ 'shape' => 'FreeText', ], 'RoutingStrategy' => [ 'shape' => 'RoutingStrategy', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdatedTime' => [ 'shape' => 'Timestamp', ], ], ], 'AliasId' => [ 'type' => 'string', 'pattern' => '^alias-\\S+', ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Alias', ], ], 'ArnStringModel' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9:/-]+', ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'S' => [ 'shape' => 'NonZeroAndMaxString', ], 'N' => [ 'shape' => 'DoubleObject', ], 'SL' => [ 'shape' => 'StringList', ], 'SDM' => [ 'shape' => 'StringDoubleMap', ], ], ], 'AwsCredentials' => [ 'type' => 'structure', 'members' => [ 'AccessKeyId' => [ 'shape' => 'NonEmptyString', ], 'SecretAccessKey' => [ 'shape' => 'NonEmptyString', ], 'SessionToken' => [ 'shape' => 'NonEmptyString', ], ], 'sensitive' => true, ], 'BooleanModel' => [ 'type' => 'boolean', ], 'Build' => [ 'type' => 'structure', 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], 'Name' => [ 'shape' => 'FreeText', ], 'Version' => [ 'shape' => 'FreeText', ], 'Status' => [ 'shape' => 'BuildStatus', ], 'SizeOnDisk' => [ 'shape' => 'PositiveLong', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'BuildId' => [ 'type' => 'string', 'pattern' => '^build-\\S+', ], 'BuildList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Build', ], ], 'BuildStatus' => [ 'type' => 'string', 'enum' => [ 'INITIALIZED', 'READY', 'FAILED', ], ], 'ComparisonOperatorType' => [ 'type' => 'string', 'enum' => [ 'GreaterThanOrEqualToThreshold', 'GreaterThanThreshold', 'LessThanThreshold', 'LessThanOrEqualToThreshold', ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'CreateAliasInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'RoutingStrategy', ], 'members' => [ 'Name' => [ 'shape' => 'NonBlankAndLengthConstraintString', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'RoutingStrategy' => [ 'shape' => 'RoutingStrategy', ], ], ], 'CreateAliasOutput' => [ 'type' => 'structure', 'members' => [ 'Alias' => [ 'shape' => 'Alias', ], ], ], 'CreateBuildInput' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'Version' => [ 'shape' => 'NonZeroAndMaxString', ], 'StorageLocation' => [ 'shape' => 'S3Location', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], ], ], 'CreateBuildOutput' => [ 'type' => 'structure', 'members' => [ 'Build' => [ 'shape' => 'Build', ], 'UploadCredentials' => [ 'shape' => 'AwsCredentials', ], 'StorageLocation' => [ 'shape' => 'S3Location', ], ], ], 'CreateFleetInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'BuildId', 'EC2InstanceType', ], 'members' => [ 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'BuildId' => [ 'shape' => 'BuildId', ], 'ServerLaunchPath' => [ 'shape' => 'NonZeroAndMaxString', ], 'ServerLaunchParameters' => [ 'shape' => 'NonZeroAndMaxString', ], 'LogPaths' => [ 'shape' => 'StringList', ], 'EC2InstanceType' => [ 'shape' => 'EC2InstanceType', ], 'EC2InboundPermissions' => [ 'shape' => 'IpPermissionsList', ], 'NewGameSessionProtectionPolicy' => [ 'shape' => 'ProtectionPolicy', ], 'RuntimeConfiguration' => [ 'shape' => 'RuntimeConfiguration', ], 'ResourceCreationLimitPolicy' => [ 'shape' => 'ResourceCreationLimitPolicy', ], 'MetricGroups' => [ 'shape' => 'MetricGroupList', ], 'PeerVpcAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], 'FleetType' => [ 'shape' => 'FleetType', ], 'InstanceRoleArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'CreateFleetOutput' => [ 'type' => 'structure', 'members' => [ 'FleetAttributes' => [ 'shape' => 'FleetAttributes', ], ], ], 'CreateGameSessionInput' => [ 'type' => 'structure', 'required' => [ 'MaximumPlayerSessionCount', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'AliasId' => [ 'shape' => 'AliasId', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'CreatorId' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionId' => [ 'shape' => 'IdStringModel', ], 'IdempotencyToken' => [ 'shape' => 'IdStringModel', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], ], ], 'CreateGameSessionOutput' => [ 'type' => 'structure', 'members' => [ 'GameSession' => [ 'shape' => 'GameSession', ], ], ], 'CreateGameSessionQueueInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'GameSessionQueueName', ], 'TimeoutInSeconds' => [ 'shape' => 'WholeNumber', ], 'PlayerLatencyPolicies' => [ 'shape' => 'PlayerLatencyPolicyList', ], 'Destinations' => [ 'shape' => 'GameSessionQueueDestinationList', ], ], ], 'CreateGameSessionQueueOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionQueue' => [ 'shape' => 'GameSessionQueue', ], ], ], 'CreateMatchmakingConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'GameSessionQueueArns', 'RequestTimeoutSeconds', 'AcceptanceRequired', 'RuleSetName', ], 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionQueueArns' => [ 'shape' => 'QueueArnsList', ], 'RequestTimeoutSeconds' => [ 'shape' => 'MatchmakingRequestTimeoutInteger', ], 'AcceptanceTimeoutSeconds' => [ 'shape' => 'MatchmakingAcceptanceTimeoutInteger', ], 'AcceptanceRequired' => [ 'shape' => 'BooleanModel', ], 'RuleSetName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'NotificationTarget' => [ 'shape' => 'SnsArnStringModel', ], 'AdditionalPlayerCount' => [ 'shape' => 'WholeNumber', ], 'CustomEventData' => [ 'shape' => 'CustomEventData', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], ], ], 'CreateMatchmakingConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Configuration' => [ 'shape' => 'MatchmakingConfiguration', ], ], ], 'CreateMatchmakingRuleSetInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'RuleSetBody', ], 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], 'RuleSetBody' => [ 'shape' => 'RuleSetBody', ], ], ], 'CreateMatchmakingRuleSetOutput' => [ 'type' => 'structure', 'required' => [ 'RuleSet', ], 'members' => [ 'RuleSet' => [ 'shape' => 'MatchmakingRuleSet', ], ], ], 'CreatePlayerSessionInput' => [ 'type' => 'structure', 'required' => [ 'GameSessionId', 'PlayerId', ], 'members' => [ 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerData' => [ 'shape' => 'PlayerData', ], ], ], 'CreatePlayerSessionOutput' => [ 'type' => 'structure', 'members' => [ 'PlayerSession' => [ 'shape' => 'PlayerSession', ], ], ], 'CreatePlayerSessionsInput' => [ 'type' => 'structure', 'required' => [ 'GameSessionId', 'PlayerIds', ], 'members' => [ 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'PlayerIds' => [ 'shape' => 'PlayerIdList', ], 'PlayerDataMap' => [ 'shape' => 'PlayerDataMap', ], ], ], 'CreatePlayerSessionsOutput' => [ 'type' => 'structure', 'members' => [ 'PlayerSessions' => [ 'shape' => 'PlayerSessionList', ], ], ], 'CreateVpcPeeringAuthorizationInput' => [ 'type' => 'structure', 'required' => [ 'GameLiftAwsAccountId', 'PeerVpcId', ], 'members' => [ 'GameLiftAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'CreateVpcPeeringAuthorizationOutput' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringAuthorization' => [ 'shape' => 'VpcPeeringAuthorization', ], ], ], 'CreateVpcPeeringConnectionInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'PeerVpcAwsAccountId', 'PeerVpcId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'PeerVpcAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'CreateVpcPeeringConnectionOutput' => [ 'type' => 'structure', 'members' => [], ], 'CustomEventData' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'DeleteAliasInput' => [ 'type' => 'structure', 'required' => [ 'AliasId', ], 'members' => [ 'AliasId' => [ 'shape' => 'AliasId', ], ], ], 'DeleteBuildInput' => [ 'type' => 'structure', 'required' => [ 'BuildId', ], 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], ], ], 'DeleteFleetInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'DeleteGameSessionQueueInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'GameSessionQueueName', ], ], ], 'DeleteGameSessionQueueOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteMatchmakingConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], ], ], 'DeleteMatchmakingConfigurationOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteMatchmakingRuleSetInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], ], ], 'DeleteMatchmakingRuleSetOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteScalingPolicyInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'FleetId', ], 'members' => [ 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'DeleteVpcPeeringAuthorizationInput' => [ 'type' => 'structure', 'required' => [ 'GameLiftAwsAccountId', 'PeerVpcId', ], 'members' => [ 'GameLiftAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DeleteVpcPeeringAuthorizationOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteVpcPeeringConnectionInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'VpcPeeringConnectionId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'VpcPeeringConnectionId' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DeleteVpcPeeringConnectionOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAliasInput' => [ 'type' => 'structure', 'required' => [ 'AliasId', ], 'members' => [ 'AliasId' => [ 'shape' => 'AliasId', ], ], ], 'DescribeAliasOutput' => [ 'type' => 'structure', 'members' => [ 'Alias' => [ 'shape' => 'Alias', ], ], ], 'DescribeBuildInput' => [ 'type' => 'structure', 'required' => [ 'BuildId', ], 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], ], ], 'DescribeBuildOutput' => [ 'type' => 'structure', 'members' => [ 'Build' => [ 'shape' => 'Build', ], ], ], 'DescribeEC2InstanceLimitsInput' => [ 'type' => 'structure', 'members' => [ 'EC2InstanceType' => [ 'shape' => 'EC2InstanceType', ], ], ], 'DescribeEC2InstanceLimitsOutput' => [ 'type' => 'structure', 'members' => [ 'EC2InstanceLimits' => [ 'shape' => 'EC2InstanceLimitList', ], ], ], 'DescribeFleetAttributesInput' => [ 'type' => 'structure', 'members' => [ 'FleetIds' => [ 'shape' => 'FleetIdList', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'FleetAttributes' => [ 'shape' => 'FleetAttributesList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetCapacityInput' => [ 'type' => 'structure', 'members' => [ 'FleetIds' => [ 'shape' => 'FleetIdList', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'FleetCapacity' => [ 'shape' => 'FleetCapacityList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetEventsInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetEventsOutput' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => 'EventList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetPortSettingsInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'DescribeFleetPortSettingsOutput' => [ 'type' => 'structure', 'members' => [ 'InboundPermissions' => [ 'shape' => 'IpPermissionsList', ], ], ], 'DescribeFleetUtilizationInput' => [ 'type' => 'structure', 'members' => [ 'FleetIds' => [ 'shape' => 'FleetIdList', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeFleetUtilizationOutput' => [ 'type' => 'structure', 'members' => [ 'FleetUtilization' => [ 'shape' => 'FleetUtilizationList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionDetailsInput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'AliasId' => [ 'shape' => 'AliasId', ], 'StatusFilter' => [ 'shape' => 'NonZeroAndMaxString', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionDetailsOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionDetails' => [ 'shape' => 'GameSessionDetailList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionPlacementInput' => [ 'type' => 'structure', 'required' => [ 'PlacementId', ], 'members' => [ 'PlacementId' => [ 'shape' => 'IdStringModel', ], ], ], 'DescribeGameSessionPlacementOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionPlacement' => [ 'shape' => 'GameSessionPlacement', ], ], ], 'DescribeGameSessionQueuesInput' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'GameSessionQueueNameList', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionQueuesOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionQueues' => [ 'shape' => 'GameSessionQueueList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionsInput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'AliasId' => [ 'shape' => 'AliasId', ], 'StatusFilter' => [ 'shape' => 'NonZeroAndMaxString', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeGameSessionsOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessions' => [ 'shape' => 'GameSessionList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeInstancesInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'InstanceList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeMatchmakingConfigurationsInput' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'MatchmakingIdList', ], 'RuleSetName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeMatchmakingConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'Configurations' => [ 'shape' => 'MatchmakingConfigurationList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeMatchmakingInput' => [ 'type' => 'structure', 'required' => [ 'TicketIds', ], 'members' => [ 'TicketIds' => [ 'shape' => 'MatchmakingIdList', ], ], ], 'DescribeMatchmakingOutput' => [ 'type' => 'structure', 'members' => [ 'TicketList' => [ 'shape' => 'MatchmakingTicketList', ], ], ], 'DescribeMatchmakingRuleSetsInput' => [ 'type' => 'structure', 'members' => [ 'Names' => [ 'shape' => 'MatchmakingRuleSetNameList', ], 'Limit' => [ 'shape' => 'RuleSetLimit', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeMatchmakingRuleSetsOutput' => [ 'type' => 'structure', 'required' => [ 'RuleSets', ], 'members' => [ 'RuleSets' => [ 'shape' => 'MatchmakingRuleSetList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribePlayerSessionsInput' => [ 'type' => 'structure', 'members' => [ 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerSessionId' => [ 'shape' => 'PlayerSessionId', ], 'PlayerSessionStatusFilter' => [ 'shape' => 'NonZeroAndMaxString', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribePlayerSessionsOutput' => [ 'type' => 'structure', 'members' => [ 'PlayerSessions' => [ 'shape' => 'PlayerSessionList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeRuntimeConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'DescribeRuntimeConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'RuntimeConfiguration' => [ 'shape' => 'RuntimeConfiguration', ], ], ], 'DescribeScalingPoliciesInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'StatusFilter' => [ 'shape' => 'ScalingStatusType', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeScalingPoliciesOutput' => [ 'type' => 'structure', 'members' => [ 'ScalingPolicies' => [ 'shape' => 'ScalingPolicyList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'DescribeVpcPeeringAuthorizationsInput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeVpcPeeringAuthorizationsOutput' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringAuthorizations' => [ 'shape' => 'VpcPeeringAuthorizationList', ], ], ], 'DescribeVpcPeeringConnectionsInput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'DescribeVpcPeeringConnectionsOutput' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', ], ], ], 'DesiredPlayerSession' => [ 'type' => 'structure', 'members' => [ 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerData' => [ 'shape' => 'PlayerData', ], ], ], 'DesiredPlayerSessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DesiredPlayerSession', ], ], 'Double' => [ 'type' => 'double', ], 'DoubleObject' => [ 'type' => 'double', ], 'EC2InstanceCounts' => [ 'type' => 'structure', 'members' => [ 'DESIRED' => [ 'shape' => 'WholeNumber', ], 'MINIMUM' => [ 'shape' => 'WholeNumber', ], 'MAXIMUM' => [ 'shape' => 'WholeNumber', ], 'PENDING' => [ 'shape' => 'WholeNumber', ], 'ACTIVE' => [ 'shape' => 'WholeNumber', ], 'IDLE' => [ 'shape' => 'WholeNumber', ], 'TERMINATING' => [ 'shape' => 'WholeNumber', ], ], ], 'EC2InstanceLimit' => [ 'type' => 'structure', 'members' => [ 'EC2InstanceType' => [ 'shape' => 'EC2InstanceType', ], 'CurrentInstances' => [ 'shape' => 'WholeNumber', ], 'InstanceLimit' => [ 'shape' => 'WholeNumber', ], ], ], 'EC2InstanceLimitList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2InstanceLimit', ], ], 'EC2InstanceType' => [ 'type' => 'string', 'enum' => [ 't2.micro', 't2.small', 't2.medium', 't2.large', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'c4.large', 'c4.xlarge', 'c4.2xlarge', 'c4.4xlarge', 'c4.8xlarge', 'r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge', 'r4.large', 'r4.xlarge', 'r4.2xlarge', 'r4.4xlarge', 'r4.8xlarge', 'r4.16xlarge', 'm3.medium', 'm3.large', 'm3.xlarge', 'm3.2xlarge', 'm4.large', 'm4.xlarge', 'm4.2xlarge', 'm4.4xlarge', 'm4.10xlarge', ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'EventId' => [ 'shape' => 'NonZeroAndMaxString', ], 'ResourceId' => [ 'shape' => 'NonZeroAndMaxString', ], 'EventCode' => [ 'shape' => 'EventCode', ], 'Message' => [ 'shape' => 'NonEmptyString', ], 'EventTime' => [ 'shape' => 'Timestamp', ], 'PreSignedLogUrl' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'EventCode' => [ 'type' => 'string', 'enum' => [ 'GENERIC_EVENT', 'FLEET_CREATED', 'FLEET_DELETED', 'FLEET_SCALING_EVENT', 'FLEET_STATE_DOWNLOADING', 'FLEET_STATE_VALIDATING', 'FLEET_STATE_BUILDING', 'FLEET_STATE_ACTIVATING', 'FLEET_STATE_ACTIVE', 'FLEET_STATE_ERROR', 'FLEET_INITIALIZATION_FAILED', 'FLEET_BINARY_DOWNLOAD_FAILED', 'FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND', 'FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE', 'FLEET_VALIDATION_TIMED_OUT', 'FLEET_ACTIVATION_FAILED', 'FLEET_ACTIVATION_FAILED_NO_INSTANCES', 'FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED', 'SERVER_PROCESS_INVALID_PATH', 'SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT', 'SERVER_PROCESS_PROCESS_READY_TIMEOUT', 'SERVER_PROCESS_CRASHED', 'SERVER_PROCESS_TERMINATED_UNHEALTHY', 'SERVER_PROCESS_FORCE_TERMINATED', 'SERVER_PROCESS_PROCESS_EXIT_TIMEOUT', 'GAME_SESSION_ACTIVATION_TIMEOUT', 'FLEET_CREATION_EXTRACTING_BUILD', 'FLEET_CREATION_RUNNING_INSTALLER', 'FLEET_CREATION_VALIDATING_RUNTIME_CONFIG', 'FLEET_VPC_PEERING_SUCCEEDED', 'FLEET_VPC_PEERING_FAILED', 'FLEET_VPC_PEERING_DELETED', 'INSTANCE_INTERRUPTED', ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], ], 'FleetAction' => [ 'type' => 'string', 'enum' => [ 'AUTO_SCALING', ], ], 'FleetActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetAction', ], 'max' => 1, 'min' => 1, ], 'FleetAttributes' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'FleetArn' => [ 'shape' => 'ArnStringModel', ], 'FleetType' => [ 'shape' => 'FleetType', ], 'InstanceType' => [ 'shape' => 'EC2InstanceType', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TerminationTime' => [ 'shape' => 'Timestamp', ], 'Status' => [ 'shape' => 'FleetStatus', ], 'BuildId' => [ 'shape' => 'BuildId', ], 'ServerLaunchPath' => [ 'shape' => 'NonZeroAndMaxString', ], 'ServerLaunchParameters' => [ 'shape' => 'NonZeroAndMaxString', ], 'LogPaths' => [ 'shape' => 'StringList', ], 'NewGameSessionProtectionPolicy' => [ 'shape' => 'ProtectionPolicy', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'ResourceCreationLimitPolicy' => [ 'shape' => 'ResourceCreationLimitPolicy', ], 'MetricGroups' => [ 'shape' => 'MetricGroupList', ], 'StoppedActions' => [ 'shape' => 'FleetActionList', ], 'InstanceRoleArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'FleetAttributesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetAttributes', ], ], 'FleetCapacity' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InstanceType' => [ 'shape' => 'EC2InstanceType', ], 'InstanceCounts' => [ 'shape' => 'EC2InstanceCounts', ], ], ], 'FleetCapacityExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'FleetCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetCapacity', ], ], 'FleetId' => [ 'type' => 'string', 'pattern' => '^fleet-\\S+', ], 'FleetIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetId', ], 'min' => 1, ], 'FleetStatus' => [ 'type' => 'string', 'enum' => [ 'NEW', 'DOWNLOADING', 'VALIDATING', 'BUILDING', 'ACTIVATING', 'ACTIVE', 'DELETING', 'ERROR', 'TERMINATED', ], ], 'FleetType' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND', 'SPOT', ], ], 'FleetUtilization' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'ActiveServerProcessCount' => [ 'shape' => 'WholeNumber', ], 'ActiveGameSessionCount' => [ 'shape' => 'WholeNumber', ], 'CurrentPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], ], ], 'FleetUtilizationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetUtilization', ], ], 'Float' => [ 'type' => 'float', ], 'FreeText' => [ 'type' => 'string', ], 'GameProperty' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'GamePropertyKey', ], 'Value' => [ 'shape' => 'GamePropertyValue', ], ], ], 'GamePropertyKey' => [ 'type' => 'string', 'max' => 32, ], 'GamePropertyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameProperty', ], 'max' => 16, ], 'GamePropertyValue' => [ 'type' => 'string', 'max' => 96, ], 'GameSession' => [ 'type' => 'structure', 'members' => [ 'GameSessionId' => [ 'shape' => 'NonZeroAndMaxString', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'FleetId' => [ 'shape' => 'FleetId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TerminationTime' => [ 'shape' => 'Timestamp', ], 'CurrentPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'Status' => [ 'shape' => 'GameSessionStatus', ], 'StatusReason' => [ 'shape' => 'GameSessionStatusReason', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'Port' => [ 'shape' => 'PortNumber', ], 'PlayerSessionCreationPolicy' => [ 'shape' => 'PlayerSessionCreationPolicy', ], 'CreatorId' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], 'MatchmakerData' => [ 'shape' => 'MatchmakerData', ], ], ], 'GameSessionActivationTimeoutSeconds' => [ 'type' => 'integer', 'max' => 600, 'min' => 1, ], 'GameSessionConnectionInfo' => [ 'type' => 'structure', 'members' => [ 'GameSessionArn' => [ 'shape' => 'ArnStringModel', ], 'IpAddress' => [ 'shape' => 'StringModel', ], 'Port' => [ 'shape' => 'PositiveInteger', ], 'MatchedPlayerSessions' => [ 'shape' => 'MatchedPlayerSessionList', ], ], ], 'GameSessionData' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'GameSessionDetail' => [ 'type' => 'structure', 'members' => [ 'GameSession' => [ 'shape' => 'GameSession', ], 'ProtectionPolicy' => [ 'shape' => 'ProtectionPolicy', ], ], ], 'GameSessionDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameSessionDetail', ], ], 'GameSessionFullException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'GameSessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameSession', ], ], 'GameSessionPlacement' => [ 'type' => 'structure', 'members' => [ 'PlacementId' => [ 'shape' => 'IdStringModel', ], 'GameSessionQueueName' => [ 'shape' => 'GameSessionQueueName', ], 'Status' => [ 'shape' => 'GameSessionPlacementState', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'GameSessionName' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionId' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionArn' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionRegion' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerLatencies' => [ 'shape' => 'PlayerLatencyList', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'Port' => [ 'shape' => 'PortNumber', ], 'PlacedPlayerSessions' => [ 'shape' => 'PlacedPlayerSessionList', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], 'MatchmakerData' => [ 'shape' => 'MatchmakerData', ], ], ], 'GameSessionPlacementState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'FULFILLED', 'CANCELLED', 'TIMED_OUT', ], ], 'GameSessionQueue' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'GameSessionQueueName', ], 'GameSessionQueueArn' => [ 'shape' => 'ArnStringModel', ], 'TimeoutInSeconds' => [ 'shape' => 'WholeNumber', ], 'PlayerLatencyPolicies' => [ 'shape' => 'PlayerLatencyPolicyList', ], 'Destinations' => [ 'shape' => 'GameSessionQueueDestinationList', ], ], ], 'GameSessionQueueDestination' => [ 'type' => 'structure', 'members' => [ 'DestinationArn' => [ 'shape' => 'ArnStringModel', ], ], ], 'GameSessionQueueDestinationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameSessionQueueDestination', ], ], 'GameSessionQueueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameSessionQueue', ], ], 'GameSessionQueueName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9-]+', ], 'GameSessionQueueNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GameSessionQueueName', ], ], 'GameSessionStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'ACTIVATING', 'TERMINATED', 'TERMINATING', 'ERROR', ], ], 'GameSessionStatusReason' => [ 'type' => 'string', 'enum' => [ 'INTERRUPTED', ], ], 'GetGameSessionLogUrlInput' => [ 'type' => 'structure', 'required' => [ 'GameSessionId', ], 'members' => [ 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], ], ], 'GetGameSessionLogUrlOutput' => [ 'type' => 'structure', 'members' => [ 'PreSignedUrl' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'GetInstanceAccessInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'InstanceId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], ], ], 'GetInstanceAccessOutput' => [ 'type' => 'structure', 'members' => [ 'InstanceAccess' => [ 'shape' => 'InstanceAccess', ], ], ], 'IdStringModel' => [ 'type' => 'string', 'max' => 48, 'min' => 1, 'pattern' => '[a-zA-Z0-9-]+', ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'Type' => [ 'shape' => 'EC2InstanceType', ], 'Status' => [ 'shape' => 'InstanceStatus', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'InstanceAccess' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'Credentials' => [ 'shape' => 'InstanceCredentials', ], ], ], 'InstanceCredentials' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'NonEmptyString', ], 'Secret' => [ 'shape' => 'NonEmptyString', ], ], 'sensitive' => true, ], 'InstanceId' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9\\.-]+', ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstanceStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACTIVE', 'TERMINATING', ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, 'fault' => true, ], 'InvalidFleetStatusException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'InvalidGameSessionStatusException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'IpPermission' => [ 'type' => 'structure', 'required' => [ 'FromPort', 'ToPort', 'IpRange', 'Protocol', ], 'members' => [ 'FromPort' => [ 'shape' => 'PortNumber', ], 'ToPort' => [ 'shape' => 'PortNumber', ], 'IpRange' => [ 'shape' => 'NonBlankString', ], 'Protocol' => [ 'shape' => 'IpProtocol', ], ], ], 'IpPermissionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpPermission', ], 'max' => 50, ], 'IpProtocol' => [ 'type' => 'string', 'enum' => [ 'TCP', 'UDP', ], ], 'LatencyMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonEmptyString', ], 'value' => [ 'shape' => 'PositiveInteger', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'ListAliasesInput' => [ 'type' => 'structure', 'members' => [ 'RoutingStrategyType' => [ 'shape' => 'RoutingStrategyType', ], 'Name' => [ 'shape' => 'NonEmptyString', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListAliasesOutput' => [ 'type' => 'structure', 'members' => [ 'Aliases' => [ 'shape' => 'AliasList', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListBuildsInput' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BuildStatus', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListBuildsOutput' => [ 'type' => 'structure', 'members' => [ 'Builds' => [ 'shape' => 'BuildList', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListFleetsInput' => [ 'type' => 'structure', 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'ListFleetsOutput' => [ 'type' => 'structure', 'members' => [ 'FleetIds' => [ 'shape' => 'FleetIdList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'MatchedPlayerSession' => [ 'type' => 'structure', 'members' => [ 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerSessionId' => [ 'shape' => 'PlayerSessionId', ], ], ], 'MatchedPlayerSessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchedPlayerSession', ], ], 'MatchmakerData' => [ 'type' => 'string', 'max' => 390000, 'min' => 1, ], 'MatchmakingAcceptanceTimeoutInteger' => [ 'type' => 'integer', 'max' => 600, 'min' => 1, ], 'MatchmakingConfiguration' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionQueueArns' => [ 'shape' => 'QueueArnsList', ], 'RequestTimeoutSeconds' => [ 'shape' => 'MatchmakingRequestTimeoutInteger', ], 'AcceptanceTimeoutSeconds' => [ 'shape' => 'MatchmakingAcceptanceTimeoutInteger', ], 'AcceptanceRequired' => [ 'shape' => 'BooleanModel', ], 'RuleSetName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'NotificationTarget' => [ 'shape' => 'SnsArnStringModel', ], 'AdditionalPlayerCount' => [ 'shape' => 'WholeNumber', ], 'CustomEventData' => [ 'shape' => 'CustomEventData', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], ], ], 'MatchmakingConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchmakingConfiguration', ], ], 'MatchmakingConfigurationStatus' => [ 'type' => 'string', 'enum' => [ 'CANCELLED', 'COMPLETED', 'FAILED', 'PLACING', 'QUEUED', 'REQUIRES_ACCEPTANCE', 'SEARCHING', 'TIMED_OUT', ], ], 'MatchmakingIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchmakingIdStringModel', ], ], 'MatchmakingIdStringModel' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9-\\.]+', ], 'MatchmakingRequestTimeoutInteger' => [ 'type' => 'integer', 'max' => 43200, 'min' => 1, ], 'MatchmakingRuleSet' => [ 'type' => 'structure', 'required' => [ 'RuleSetBody', ], 'members' => [ 'RuleSetName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'RuleSetBody' => [ 'shape' => 'RuleSetBody', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'MatchmakingRuleSetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchmakingRuleSet', ], ], 'MatchmakingRuleSetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchmakingIdStringModel', ], 'max' => 10, 'min' => 1, ], 'MatchmakingTicket' => [ 'type' => 'structure', 'members' => [ 'TicketId' => [ 'shape' => 'MatchmakingIdStringModel', ], 'ConfigurationName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Status' => [ 'shape' => 'MatchmakingConfigurationStatus', ], 'StatusReason' => [ 'shape' => 'StringModel', ], 'StatusMessage' => [ 'shape' => 'StringModel', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Players' => [ 'shape' => 'PlayerList', ], 'GameSessionConnectionInfo' => [ 'shape' => 'GameSessionConnectionInfo', ], 'EstimatedWaitTime' => [ 'shape' => 'WholeNumber', ], ], ], 'MatchmakingTicketList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MatchmakingTicket', ], ], 'MaxConcurrentGameSessionActivations' => [ 'type' => 'integer', 'max' => 2147483647, 'min' => 1, ], 'MetricGroup' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'MetricGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricGroup', ], 'max' => 1, ], 'MetricName' => [ 'type' => 'string', 'enum' => [ 'ActivatingGameSessions', 'ActiveGameSessions', 'ActiveInstances', 'AvailableGameSessions', 'AvailablePlayerSessions', 'CurrentPlayerSessions', 'IdleInstances', 'PercentAvailableGameSessions', 'PercentIdleInstances', 'QueueDepth', 'WaitTime', ], ], 'NonBlankAndLengthConstraintString' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '.*\\S.*', ], 'NonBlankString' => [ 'type' => 'string', 'pattern' => '[^\\s]+', ], 'NonEmptyString' => [ 'type' => 'string', 'min' => 1, ], 'NonZeroAndMaxString' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'OperatingSystem' => [ 'type' => 'string', 'enum' => [ 'WINDOWS_2012', 'AMAZON_LINUX', ], ], 'PlacedPlayerSession' => [ 'type' => 'structure', 'members' => [ 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerSessionId' => [ 'shape' => 'PlayerSessionId', ], ], ], 'PlacedPlayerSessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacedPlayerSession', ], ], 'Player' => [ 'type' => 'structure', 'members' => [ 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerAttributes' => [ 'shape' => 'PlayerAttributeMap', ], 'Team' => [ 'shape' => 'NonZeroAndMaxString', ], 'LatencyInMs' => [ 'shape' => 'LatencyMap', ], ], ], 'PlayerAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonZeroAndMaxString', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'PlayerData' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'PlayerDataMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonZeroAndMaxString', ], 'value' => [ 'shape' => 'PlayerData', ], ], 'PlayerIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonZeroAndMaxString', ], 'max' => 25, 'min' => 1, ], 'PlayerLatency' => [ 'type' => 'structure', 'members' => [ 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'RegionIdentifier' => [ 'shape' => 'NonZeroAndMaxString', ], 'LatencyInMilliseconds' => [ 'shape' => 'Float', ], ], ], 'PlayerLatencyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlayerLatency', ], ], 'PlayerLatencyPolicy' => [ 'type' => 'structure', 'members' => [ 'MaximumIndividualPlayerLatencyMilliseconds' => [ 'shape' => 'WholeNumber', ], 'PolicyDurationSeconds' => [ 'shape' => 'WholeNumber', ], ], ], 'PlayerLatencyPolicyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlayerLatencyPolicy', ], ], 'PlayerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Player', ], ], 'PlayerSession' => [ 'type' => 'structure', 'members' => [ 'PlayerSessionId' => [ 'shape' => 'PlayerSessionId', ], 'PlayerId' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionId' => [ 'shape' => 'NonZeroAndMaxString', ], 'FleetId' => [ 'shape' => 'FleetId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TerminationTime' => [ 'shape' => 'Timestamp', ], 'Status' => [ 'shape' => 'PlayerSessionStatus', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'Port' => [ 'shape' => 'PortNumber', ], 'PlayerData' => [ 'shape' => 'PlayerData', ], ], ], 'PlayerSessionCreationPolicy' => [ 'type' => 'string', 'enum' => [ 'ACCEPT_ALL', 'DENY_ALL', ], ], 'PlayerSessionId' => [ 'type' => 'string', 'pattern' => '^psess-\\S+', ], 'PlayerSessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlayerSession', ], ], 'PlayerSessionStatus' => [ 'type' => 'string', 'enum' => [ 'RESERVED', 'ACTIVE', 'COMPLETED', 'TIMEDOUT', ], ], 'PolicyType' => [ 'type' => 'string', 'enum' => [ 'RuleBased', 'TargetBased', ], ], 'PortNumber' => [ 'type' => 'integer', 'max' => 60000, 'min' => 1, ], 'PositiveInteger' => [ 'type' => 'integer', 'min' => 1, ], 'PositiveLong' => [ 'type' => 'long', 'min' => 1, ], 'ProtectionPolicy' => [ 'type' => 'string', 'enum' => [ 'NoProtection', 'FullProtection', ], ], 'PutScalingPolicyInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'FleetId', 'MetricName', ], 'members' => [ 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'FleetId' => [ 'shape' => 'FleetId', ], 'ScalingAdjustment' => [ 'shape' => 'Integer', ], 'ScalingAdjustmentType' => [ 'shape' => 'ScalingAdjustmentType', ], 'Threshold' => [ 'shape' => 'Double', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperatorType', ], 'EvaluationPeriods' => [ 'shape' => 'PositiveInteger', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], 'TargetConfiguration' => [ 'shape' => 'TargetConfiguration', ], ], ], 'PutScalingPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'QueueArnsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ArnStringModel', ], ], 'RequestUploadCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'BuildId', ], 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], ], ], 'RequestUploadCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'UploadCredentials' => [ 'shape' => 'AwsCredentials', ], 'StorageLocation' => [ 'shape' => 'S3Location', ], ], ], 'ResolveAliasInput' => [ 'type' => 'structure', 'required' => [ 'AliasId', ], 'members' => [ 'AliasId' => [ 'shape' => 'AliasId', ], ], ], 'ResolveAliasOutput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'ResourceCreationLimitPolicy' => [ 'type' => 'structure', 'members' => [ 'NewGameSessionsPerCreator' => [ 'shape' => 'WholeNumber', ], 'PolicyPeriodInMinutes' => [ 'shape' => 'WholeNumber', ], ], ], 'RoutingStrategy' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'RoutingStrategyType', ], 'FleetId' => [ 'shape' => 'FleetId', ], 'Message' => [ 'shape' => 'FreeText', ], ], ], 'RoutingStrategyType' => [ 'type' => 'string', 'enum' => [ 'SIMPLE', 'TERMINAL', ], ], 'RuleSetBody' => [ 'type' => 'string', 'max' => 65535, 'min' => 1, ], 'RuleSetLimit' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'RuntimeConfiguration' => [ 'type' => 'structure', 'members' => [ 'ServerProcesses' => [ 'shape' => 'ServerProcessList', ], 'MaxConcurrentGameSessionActivations' => [ 'shape' => 'MaxConcurrentGameSessionActivations', ], 'GameSessionActivationTimeoutSeconds' => [ 'shape' => 'GameSessionActivationTimeoutSeconds', ], ], ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'NonEmptyString', ], 'Key' => [ 'shape' => 'NonEmptyString', ], 'RoleArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'ScalingAdjustmentType' => [ 'type' => 'string', 'enum' => [ 'ChangeInCapacity', 'ExactCapacity', 'PercentChangeInCapacity', ], ], 'ScalingPolicy' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'Status' => [ 'shape' => 'ScalingStatusType', ], 'ScalingAdjustment' => [ 'shape' => 'Integer', ], 'ScalingAdjustmentType' => [ 'shape' => 'ScalingAdjustmentType', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperatorType', ], 'Threshold' => [ 'shape' => 'Double', ], 'EvaluationPeriods' => [ 'shape' => 'PositiveInteger', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], 'TargetConfiguration' => [ 'shape' => 'TargetConfiguration', ], ], ], 'ScalingPolicyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScalingPolicy', ], ], 'ScalingStatusType' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'UPDATE_REQUESTED', 'UPDATING', 'DELETE_REQUESTED', 'DELETING', 'DELETED', 'ERROR', ], ], 'SearchGameSessionsInput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'AliasId' => [ 'shape' => 'AliasId', ], 'FilterExpression' => [ 'shape' => 'NonZeroAndMaxString', ], 'SortExpression' => [ 'shape' => 'NonZeroAndMaxString', ], 'Limit' => [ 'shape' => 'PositiveInteger', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'SearchGameSessionsOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessions' => [ 'shape' => 'GameSessionList', ], 'NextToken' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'ServerProcess' => [ 'type' => 'structure', 'required' => [ 'LaunchPath', 'ConcurrentExecutions', ], 'members' => [ 'LaunchPath' => [ 'shape' => 'NonZeroAndMaxString', ], 'Parameters' => [ 'shape' => 'NonZeroAndMaxString', ], 'ConcurrentExecutions' => [ 'shape' => 'PositiveInteger', ], ], ], 'ServerProcessList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerProcess', ], 'max' => 50, 'min' => 1, ], 'SnsArnStringModel' => [ 'type' => 'string', 'max' => 300, 'min' => 0, 'pattern' => '[a-zA-Z0-9:_/-]*', ], 'StartFleetActionsInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'Actions', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'Actions' => [ 'shape' => 'FleetActionList', ], ], ], 'StartFleetActionsOutput' => [ 'type' => 'structure', 'members' => [], ], 'StartGameSessionPlacementInput' => [ 'type' => 'structure', 'required' => [ 'PlacementId', 'GameSessionQueueName', 'MaximumPlayerSessionCount', ], 'members' => [ 'PlacementId' => [ 'shape' => 'IdStringModel', ], 'GameSessionQueueName' => [ 'shape' => 'GameSessionQueueName', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'GameSessionName' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerLatencies' => [ 'shape' => 'PlayerLatencyList', ], 'DesiredPlayerSessions' => [ 'shape' => 'DesiredPlayerSessionList', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], ], ], 'StartGameSessionPlacementOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionPlacement' => [ 'shape' => 'GameSessionPlacement', ], ], ], 'StartMatchBackfillInput' => [ 'type' => 'structure', 'required' => [ 'ConfigurationName', 'GameSessionArn', 'Players', ], 'members' => [ 'TicketId' => [ 'shape' => 'MatchmakingIdStringModel', ], 'ConfigurationName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'GameSessionArn' => [ 'shape' => 'ArnStringModel', ], 'Players' => [ 'shape' => 'PlayerList', ], ], ], 'StartMatchBackfillOutput' => [ 'type' => 'structure', 'members' => [ 'MatchmakingTicket' => [ 'shape' => 'MatchmakingTicket', ], ], ], 'StartMatchmakingInput' => [ 'type' => 'structure', 'required' => [ 'ConfigurationName', 'Players', ], 'members' => [ 'TicketId' => [ 'shape' => 'MatchmakingIdStringModel', ], 'ConfigurationName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Players' => [ 'shape' => 'PlayerList', ], ], ], 'StartMatchmakingOutput' => [ 'type' => 'structure', 'members' => [ 'MatchmakingTicket' => [ 'shape' => 'MatchmakingTicket', ], ], ], 'StopFleetActionsInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'Actions', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'Actions' => [ 'shape' => 'FleetActionList', ], ], ], 'StopFleetActionsOutput' => [ 'type' => 'structure', 'members' => [], ], 'StopGameSessionPlacementInput' => [ 'type' => 'structure', 'required' => [ 'PlacementId', ], 'members' => [ 'PlacementId' => [ 'shape' => 'IdStringModel', ], ], ], 'StopGameSessionPlacementOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionPlacement' => [ 'shape' => 'GameSessionPlacement', ], ], ], 'StopMatchmakingInput' => [ 'type' => 'structure', 'required' => [ 'TicketId', ], 'members' => [ 'TicketId' => [ 'shape' => 'MatchmakingIdStringModel', ], ], ], 'StopMatchmakingOutput' => [ 'type' => 'structure', 'members' => [], ], 'StringDoubleMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonZeroAndMaxString', ], 'value' => [ 'shape' => 'DoubleObject', ], ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonZeroAndMaxString', ], ], 'StringModel' => [ 'type' => 'string', ], 'TargetConfiguration' => [ 'type' => 'structure', 'required' => [ 'TargetValue', ], 'members' => [ 'TargetValue' => [ 'shape' => 'Double', ], ], ], 'TerminalRoutingStrategyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'UnsupportedRegionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'UpdateAliasInput' => [ 'type' => 'structure', 'required' => [ 'AliasId', ], 'members' => [ 'AliasId' => [ 'shape' => 'AliasId', ], 'Name' => [ 'shape' => 'NonBlankAndLengthConstraintString', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'RoutingStrategy' => [ 'shape' => 'RoutingStrategy', ], ], ], 'UpdateAliasOutput' => [ 'type' => 'structure', 'members' => [ 'Alias' => [ 'shape' => 'Alias', ], ], ], 'UpdateBuildInput' => [ 'type' => 'structure', 'required' => [ 'BuildId', ], 'members' => [ 'BuildId' => [ 'shape' => 'BuildId', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'Version' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'UpdateBuildOutput' => [ 'type' => 'structure', 'members' => [ 'Build' => [ 'shape' => 'Build', ], ], ], 'UpdateFleetAttributesInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'NewGameSessionProtectionPolicy' => [ 'shape' => 'ProtectionPolicy', ], 'ResourceCreationLimitPolicy' => [ 'shape' => 'ResourceCreationLimitPolicy', ], 'MetricGroups' => [ 'shape' => 'MetricGroupList', ], ], ], 'UpdateFleetAttributesOutput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'UpdateFleetCapacityInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'DesiredInstances' => [ 'shape' => 'WholeNumber', ], 'MinSize' => [ 'shape' => 'WholeNumber', ], 'MaxSize' => [ 'shape' => 'WholeNumber', ], ], ], 'UpdateFleetCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'UpdateFleetPortSettingsInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'InboundPermissionAuthorizations' => [ 'shape' => 'IpPermissionsList', ], 'InboundPermissionRevocations' => [ 'shape' => 'IpPermissionsList', ], ], ], 'UpdateFleetPortSettingsOutput' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], ], ], 'UpdateGameSessionInput' => [ 'type' => 'structure', 'required' => [ 'GameSessionId', ], 'members' => [ 'GameSessionId' => [ 'shape' => 'ArnStringModel', ], 'MaximumPlayerSessionCount' => [ 'shape' => 'WholeNumber', ], 'Name' => [ 'shape' => 'NonZeroAndMaxString', ], 'PlayerSessionCreationPolicy' => [ 'shape' => 'PlayerSessionCreationPolicy', ], 'ProtectionPolicy' => [ 'shape' => 'ProtectionPolicy', ], ], ], 'UpdateGameSessionOutput' => [ 'type' => 'structure', 'members' => [ 'GameSession' => [ 'shape' => 'GameSession', ], ], ], 'UpdateGameSessionQueueInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'GameSessionQueueName', ], 'TimeoutInSeconds' => [ 'shape' => 'WholeNumber', ], 'PlayerLatencyPolicies' => [ 'shape' => 'PlayerLatencyPolicyList', ], 'Destinations' => [ 'shape' => 'GameSessionQueueDestinationList', ], ], ], 'UpdateGameSessionQueueOutput' => [ 'type' => 'structure', 'members' => [ 'GameSessionQueue' => [ 'shape' => 'GameSessionQueue', ], ], ], 'UpdateMatchmakingConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'MatchmakingIdStringModel', ], 'Description' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameSessionQueueArns' => [ 'shape' => 'QueueArnsList', ], 'RequestTimeoutSeconds' => [ 'shape' => 'MatchmakingRequestTimeoutInteger', ], 'AcceptanceTimeoutSeconds' => [ 'shape' => 'MatchmakingAcceptanceTimeoutInteger', ], 'AcceptanceRequired' => [ 'shape' => 'BooleanModel', ], 'RuleSetName' => [ 'shape' => 'MatchmakingIdStringModel', ], 'NotificationTarget' => [ 'shape' => 'SnsArnStringModel', ], 'AdditionalPlayerCount' => [ 'shape' => 'WholeNumber', ], 'CustomEventData' => [ 'shape' => 'CustomEventData', ], 'GameProperties' => [ 'shape' => 'GamePropertyList', ], 'GameSessionData' => [ 'shape' => 'GameSessionData', ], ], ], 'UpdateMatchmakingConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Configuration' => [ 'shape' => 'MatchmakingConfiguration', ], ], ], 'UpdateRuntimeConfigurationInput' => [ 'type' => 'structure', 'required' => [ 'FleetId', 'RuntimeConfiguration', ], 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'RuntimeConfiguration' => [ 'shape' => 'RuntimeConfiguration', ], ], ], 'UpdateRuntimeConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'RuntimeConfiguration' => [ 'shape' => 'RuntimeConfiguration', ], ], ], 'ValidateMatchmakingRuleSetInput' => [ 'type' => 'structure', 'required' => [ 'RuleSetBody', ], 'members' => [ 'RuleSetBody' => [ 'shape' => 'RuleSetBody', ], ], ], 'ValidateMatchmakingRuleSetOutput' => [ 'type' => 'structure', 'members' => [ 'Valid' => [ 'shape' => 'BooleanModel', ], ], ], 'VpcPeeringAuthorization' => [ 'type' => 'structure', 'members' => [ 'GameLiftAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcAwsAccountId' => [ 'shape' => 'NonZeroAndMaxString', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'ExpirationTime' => [ 'shape' => 'Timestamp', ], ], ], 'VpcPeeringAuthorizationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringAuthorization', ], ], 'VpcPeeringConnection' => [ 'type' => 'structure', 'members' => [ 'FleetId' => [ 'shape' => 'FleetId', ], 'IpV4CidrBlock' => [ 'shape' => 'NonZeroAndMaxString', ], 'VpcPeeringConnectionId' => [ 'shape' => 'NonZeroAndMaxString', ], 'Status' => [ 'shape' => 'VpcPeeringConnectionStatus', ], 'PeerVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], 'GameLiftVpcId' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'VpcPeeringConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcPeeringConnection', ], ], 'VpcPeeringConnectionStatus' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'NonZeroAndMaxString', ], 'Message' => [ 'shape' => 'NonZeroAndMaxString', ], ], ], 'WholeNumber' => [ 'type' => 'integer', 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/gamelift/2015-10-01/paginators-1.json.php b/lib/aws/Aws/data/gamelift/2015-10-01/paginators-1.json.php new file mode 100644 index 0000000..71bd2b0 --- /dev/null +++ b/lib/aws/Aws/data/gamelift/2015-10-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/gamelift/2015-10-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/gamelift/2015-10-01/smoke.json.php b/lib/aws/Aws/data/gamelift/2015-10-01/smoke.json.php new file mode 100644 index 0000000..113c885 --- /dev/null +++ b/lib/aws/Aws/data/gamelift/2015-10-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/gamelift/2015-10-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListBuilds', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribePlayerSessions', 'input' => [ 'PlayerSessionId' => 'psess-fakeSessionId', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/glacier/2012-06-01/api-2.json.php b/lib/aws/Aws/data/glacier/2012-06-01/api-2.json.php new file mode 100644 index 0000000..1c784a9 --- /dev/null +++ b/lib/aws/Aws/data/glacier/2012-06-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glacier/2012-06-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-06-01', 'checksumFormat' => 'sha256', 'endpointPrefix' => 'glacier', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Glacier', 'serviceId' => 'Glacier', 'signatureVersion' => 'v4', 'uid' => 'glacier-2012-06-01', ], 'operations' => [ 'AbortMultipartUpload' => [ 'name' => 'AbortMultipartUpload', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'AbortMultipartUploadInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'AbortVaultLock' => [ 'name' => 'AbortVaultLock', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}/lock-policy', 'responseCode' => 204, ], 'input' => [ 'shape' => 'AbortVaultLockInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'AddTagsToVault' => [ 'name' => 'AddTagsToVault', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/tags?operation=add', 'responseCode' => 204, ], 'input' => [ 'shape' => 'AddTagsToVaultInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CompleteMultipartUpload' => [ 'name' => 'CompleteMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CompleteMultipartUploadInput', ], 'output' => [ 'shape' => 'ArchiveCreationOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CompleteVaultLock' => [ 'name' => 'CompleteVaultLock', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/lock-policy/{lockId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'CompleteVaultLockInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateVault' => [ 'name' => 'CreateVault', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{accountId}/vaults/{vaultName}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateVaultInput', ], 'output' => [ 'shape' => 'CreateVaultOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteArchive' => [ 'name' => 'DeleteArchive', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}/archives/{archiveId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteArchiveInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteVault' => [ 'name' => 'DeleteVault', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVaultInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteVaultAccessPolicy' => [ 'name' => 'DeleteVaultAccessPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}/access-policy', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVaultAccessPolicyInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteVaultNotifications' => [ 'name' => 'DeleteVaultNotifications', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{accountId}/vaults/{vaultName}/notification-configuration', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteVaultNotificationsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeJob' => [ 'name' => 'DescribeJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'DescribeJobInput', ], 'output' => [ 'shape' => 'GlacierJobDescription', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeVault' => [ 'name' => 'DescribeVault', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}', ], 'input' => [ 'shape' => 'DescribeVaultInput', ], 'output' => [ 'shape' => 'DescribeVaultOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetDataRetrievalPolicy' => [ 'name' => 'GetDataRetrievalPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/policies/data-retrieval', ], 'input' => [ 'shape' => 'GetDataRetrievalPolicyInput', ], 'output' => [ 'shape' => 'GetDataRetrievalPolicyOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetJobOutput' => [ 'name' => 'GetJobOutput', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/jobs/{jobId}/output', ], 'input' => [ 'shape' => 'GetJobOutputInput', ], 'output' => [ 'shape' => 'GetJobOutputOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetVaultAccessPolicy' => [ 'name' => 'GetVaultAccessPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/access-policy', ], 'input' => [ 'shape' => 'GetVaultAccessPolicyInput', ], 'output' => [ 'shape' => 'GetVaultAccessPolicyOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetVaultLock' => [ 'name' => 'GetVaultLock', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/lock-policy', ], 'input' => [ 'shape' => 'GetVaultLockInput', ], 'output' => [ 'shape' => 'GetVaultLockOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetVaultNotifications' => [ 'name' => 'GetVaultNotifications', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/notification-configuration', ], 'input' => [ 'shape' => 'GetVaultNotificationsInput', ], 'output' => [ 'shape' => 'GetVaultNotificationsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'InitiateJob' => [ 'name' => 'InitiateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/jobs', 'responseCode' => 202, ], 'input' => [ 'shape' => 'InitiateJobInput', ], 'output' => [ 'shape' => 'InitiateJobOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'PolicyEnforcedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'InsufficientCapacityException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'InitiateMultipartUpload' => [ 'name' => 'InitiateMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads', 'responseCode' => 201, ], 'input' => [ 'shape' => 'InitiateMultipartUploadInput', ], 'output' => [ 'shape' => 'InitiateMultipartUploadOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'InitiateVaultLock' => [ 'name' => 'InitiateVaultLock', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/lock-policy', 'responseCode' => 201, ], 'input' => [ 'shape' => 'InitiateVaultLockInput', ], 'output' => [ 'shape' => 'InitiateVaultLockOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/jobs', ], 'input' => [ 'shape' => 'ListJobsInput', ], 'output' => [ 'shape' => 'ListJobsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListMultipartUploads' => [ 'name' => 'ListMultipartUploads', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads', ], 'input' => [ 'shape' => 'ListMultipartUploadsInput', ], 'output' => [ 'shape' => 'ListMultipartUploadsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListParts' => [ 'name' => 'ListParts', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}', ], 'input' => [ 'shape' => 'ListPartsInput', ], 'output' => [ 'shape' => 'ListPartsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListProvisionedCapacity' => [ 'name' => 'ListProvisionedCapacity', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/provisioned-capacity', ], 'input' => [ 'shape' => 'ListProvisionedCapacityInput', ], 'output' => [ 'shape' => 'ListProvisionedCapacityOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListTagsForVault' => [ 'name' => 'ListTagsForVault', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults/{vaultName}/tags', ], 'input' => [ 'shape' => 'ListTagsForVaultInput', ], 'output' => [ 'shape' => 'ListTagsForVaultOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListVaults' => [ 'name' => 'ListVaults', 'http' => [ 'method' => 'GET', 'requestUri' => '/{accountId}/vaults', ], 'input' => [ 'shape' => 'ListVaultsInput', ], 'output' => [ 'shape' => 'ListVaultsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PurchaseProvisionedCapacity' => [ 'name' => 'PurchaseProvisionedCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/provisioned-capacity', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PurchaseProvisionedCapacityInput', ], 'output' => [ 'shape' => 'PurchaseProvisionedCapacityOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'RemoveTagsFromVault' => [ 'name' => 'RemoveTagsFromVault', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/tags?operation=remove', 'responseCode' => 204, ], 'input' => [ 'shape' => 'RemoveTagsFromVaultInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'SetDataRetrievalPolicy' => [ 'name' => 'SetDataRetrievalPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{accountId}/policies/data-retrieval', 'responseCode' => 204, ], 'input' => [ 'shape' => 'SetDataRetrievalPolicyInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'SetVaultAccessPolicy' => [ 'name' => 'SetVaultAccessPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{accountId}/vaults/{vaultName}/access-policy', 'responseCode' => 204, ], 'input' => [ 'shape' => 'SetVaultAccessPolicyInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'SetVaultNotifications' => [ 'name' => 'SetVaultNotifications', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{accountId}/vaults/{vaultName}/notification-configuration', 'responseCode' => 204, ], 'input' => [ 'shape' => 'SetVaultNotificationsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UploadArchive' => [ 'name' => 'UploadArchive', 'http' => [ 'method' => 'POST', 'requestUri' => '/{accountId}/vaults/{vaultName}/archives', 'responseCode' => 201, ], 'input' => [ 'shape' => 'UploadArchiveInput', ], 'output' => [ 'shape' => 'ArchiveCreationOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'RequestTimeoutException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UploadMultipartPart' => [ 'name' => 'UploadMultipartPart', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UploadMultipartPartInput', ], 'output' => [ 'shape' => 'UploadMultipartPartOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingParameterValueException', ], [ 'shape' => 'RequestTimeoutException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], ], 'shapes' => [ 'AbortMultipartUploadInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'uploadId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'uploadId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'uploadId', ], ], ], 'AbortVaultLockInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'AccessControlPolicyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Grant', ], ], 'ActionCode' => [ 'type' => 'string', 'enum' => [ 'ArchiveRetrieval', 'InventoryRetrieval', 'Select', ], ], 'AddTagsToVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'Tags' => [ 'shape' => 'TagMap', ], ], ], 'ArchiveCreationOutput' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], 'archiveId' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-archive-id', ], ], ], 'CSVInput' => [ 'type' => 'structure', 'members' => [ 'FileHeaderInfo' => [ 'shape' => 'FileHeaderInfo', ], 'Comments' => [ 'shape' => 'string', ], 'QuoteEscapeCharacter' => [ 'shape' => 'string', ], 'RecordDelimiter' => [ 'shape' => 'string', ], 'FieldDelimiter' => [ 'shape' => 'string', ], 'QuoteCharacter' => [ 'shape' => 'string', ], ], ], 'CSVOutput' => [ 'type' => 'structure', 'members' => [ 'QuoteFields' => [ 'shape' => 'QuoteFields', ], 'QuoteEscapeCharacter' => [ 'shape' => 'string', ], 'RecordDelimiter' => [ 'shape' => 'string', ], 'FieldDelimiter' => [ 'shape' => 'string', ], 'QuoteCharacter' => [ 'shape' => 'string', ], ], ], 'CannedACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'aws-exec-read', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control', ], ], 'CompleteMultipartUploadInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'uploadId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'uploadId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'uploadId', ], 'archiveSize' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-archive-size', ], 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], ], ], 'CompleteVaultLockInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'lockId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'lockId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'lockId', ], ], ], 'CreateVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'CreateVaultOutput' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'DataRetrievalPolicy' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'DataRetrievalRulesList', ], ], ], 'DataRetrievalRule' => [ 'type' => 'structure', 'members' => [ 'Strategy' => [ 'shape' => 'string', ], 'BytesPerHour' => [ 'shape' => 'NullableLong', ], ], ], 'DataRetrievalRulesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataRetrievalRule', ], ], 'DateTime' => [ 'type' => 'string', ], 'DeleteArchiveInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'archiveId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'archiveId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'archiveId', ], ], ], 'DeleteVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'DeleteVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'DeleteVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'DescribeJobInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'jobId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'jobId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'DescribeVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'DescribeVaultOutput' => [ 'type' => 'structure', 'members' => [ 'VaultARN' => [ 'shape' => 'string', ], 'VaultName' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'string', ], 'LastInventoryDate' => [ 'shape' => 'string', ], 'NumberOfArchives' => [ 'shape' => 'long', ], 'SizeInBytes' => [ 'shape' => 'long', ], ], ], 'Encryption' => [ 'type' => 'structure', 'members' => [ 'EncryptionType' => [ 'shape' => 'EncryptionType', ], 'KMSKeyId' => [ 'shape' => 'string', ], 'KMSContext' => [ 'shape' => 'string', ], ], ], 'EncryptionType' => [ 'type' => 'string', 'enum' => [ 'aws:kms', 'AES256', ], ], 'ExpressionType' => [ 'type' => 'string', 'enum' => [ 'SQL', ], ], 'FileHeaderInfo' => [ 'type' => 'string', 'enum' => [ 'USE', 'IGNORE', 'NONE', ], ], 'GetDataRetrievalPolicyInput' => [ 'type' => 'structure', 'required' => [ 'accountId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'GetDataRetrievalPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'DataRetrievalPolicy', ], ], ], 'GetJobOutputInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'jobId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'jobId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'jobId', ], 'range' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Range', ], ], ], 'GetJobOutputOutput' => [ 'type' => 'structure', 'members' => [ 'body' => [ 'shape' => 'Stream', ], 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], 'status' => [ 'shape' => 'httpstatus', 'location' => 'statusCode', ], 'contentRange' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Content-Range', ], 'acceptRanges' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Accept-Ranges', ], 'contentType' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Content-Type', ], 'archiveDescription' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-archive-description', ], ], 'payload' => 'body', ], 'GetVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'GetVaultAccessPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'policy' => [ 'shape' => 'VaultAccessPolicy', ], ], 'payload' => 'policy', ], 'GetVaultLockInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'GetVaultLockOutput' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'string', ], 'State' => [ 'shape' => 'string', ], 'ExpirationDate' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'string', ], ], ], 'GetVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'GetVaultNotificationsOutput' => [ 'type' => 'structure', 'members' => [ 'vaultNotificationConfig' => [ 'shape' => 'VaultNotificationConfig', ], ], 'payload' => 'vaultNotificationConfig', ], 'GlacierJobDescription' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'string', ], 'JobDescription' => [ 'shape' => 'string', ], 'Action' => [ 'shape' => 'ActionCode', ], 'ArchiveId' => [ 'shape' => 'string', ], 'VaultARN' => [ 'shape' => 'string', ], 'CreationDate' => [ 'shape' => 'string', ], 'Completed' => [ 'shape' => 'boolean', ], 'StatusCode' => [ 'shape' => 'StatusCode', ], 'StatusMessage' => [ 'shape' => 'string', ], 'ArchiveSizeInBytes' => [ 'shape' => 'Size', ], 'InventorySizeInBytes' => [ 'shape' => 'Size', ], 'SNSTopic' => [ 'shape' => 'string', ], 'CompletionDate' => [ 'shape' => 'string', ], 'SHA256TreeHash' => [ 'shape' => 'string', ], 'ArchiveSHA256TreeHash' => [ 'shape' => 'string', ], 'RetrievalByteRange' => [ 'shape' => 'string', ], 'Tier' => [ 'shape' => 'string', ], 'InventoryRetrievalParameters' => [ 'shape' => 'InventoryRetrievalJobDescription', ], 'JobOutputPath' => [ 'shape' => 'string', ], 'SelectParameters' => [ 'shape' => 'SelectParameters', ], 'OutputLocation' => [ 'shape' => 'OutputLocation', ], ], ], 'Grant' => [ 'type' => 'structure', 'members' => [ 'Grantee' => [ 'shape' => 'Grantee', ], 'Permission' => [ 'shape' => 'Permission', ], ], ], 'Grantee' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'Type', ], 'DisplayName' => [ 'shape' => 'string', ], 'URI' => [ 'shape' => 'string', ], 'ID' => [ 'shape' => 'string', ], 'EmailAddress' => [ 'shape' => 'string', ], ], ], 'InitiateJobInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'jobParameters' => [ 'shape' => 'JobParameters', ], ], 'payload' => 'jobParameters', ], 'InitiateJobOutput' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'jobId' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-job-id', ], 'jobOutputPath' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-job-output-path', ], ], ], 'InitiateMultipartUploadInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'archiveDescription' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-archive-description', ], 'partSize' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-part-size', ], ], ], 'InitiateMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Location', ], 'uploadId' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-multipart-upload-id', ], ], ], 'InitiateVaultLockInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'policy' => [ 'shape' => 'VaultLockPolicy', ], ], 'payload' => 'policy', ], 'InitiateVaultLockOutput' => [ 'type' => 'structure', 'members' => [ 'lockId' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-lock-id', ], ], ], 'InputSerialization' => [ 'type' => 'structure', 'members' => [ 'csv' => [ 'shape' => 'CSVInput', ], ], ], 'InsufficientCapacityException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InventoryRetrievalJobDescription' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'string', ], 'StartDate' => [ 'shape' => 'DateTime', ], 'EndDate' => [ 'shape' => 'DateTime', ], 'Limit' => [ 'shape' => 'string', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'InventoryRetrievalJobInput' => [ 'type' => 'structure', 'members' => [ 'StartDate' => [ 'shape' => 'string', ], 'EndDate' => [ 'shape' => 'string', ], 'Limit' => [ 'shape' => 'string', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'JobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlacierJobDescription', ], ], 'JobParameters' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'string', ], 'Type' => [ 'shape' => 'string', ], 'ArchiveId' => [ 'shape' => 'string', ], 'Description' => [ 'shape' => 'string', ], 'SNSTopic' => [ 'shape' => 'string', ], 'RetrievalByteRange' => [ 'shape' => 'string', ], 'Tier' => [ 'shape' => 'string', ], 'InventoryRetrievalParameters' => [ 'shape' => 'InventoryRetrievalJobInput', ], 'SelectParameters' => [ 'shape' => 'SelectParameters', ], 'OutputLocation' => [ 'shape' => 'OutputLocation', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListJobsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'limit' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'limit', ], 'marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'marker', ], 'statuscode' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'statuscode', ], 'completed' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'completed', ], ], ], 'ListJobsOutput' => [ 'type' => 'structure', 'members' => [ 'JobList' => [ 'shape' => 'JobList', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'ListMultipartUploadsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'marker', ], 'limit' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'ListMultipartUploadsOutput' => [ 'type' => 'structure', 'members' => [ 'UploadsList' => [ 'shape' => 'UploadsList', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'ListPartsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'uploadId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'uploadId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'uploadId', ], 'marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'marker', ], 'limit' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'ListPartsOutput' => [ 'type' => 'structure', 'members' => [ 'MultipartUploadId' => [ 'shape' => 'string', ], 'VaultARN' => [ 'shape' => 'string', ], 'ArchiveDescription' => [ 'shape' => 'string', ], 'PartSizeInBytes' => [ 'shape' => 'long', ], 'CreationDate' => [ 'shape' => 'string', ], 'Parts' => [ 'shape' => 'PartList', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'ListProvisionedCapacityInput' => [ 'type' => 'structure', 'required' => [ 'accountId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'ListProvisionedCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedCapacityList' => [ 'shape' => 'ProvisionedCapacityList', ], ], ], 'ListTagsForVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], ], ], 'ListTagsForVaultOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagMap', ], ], ], 'ListVaultsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'marker' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'marker', ], 'limit' => [ 'shape' => 'string', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'ListVaultsOutput' => [ 'type' => 'structure', 'members' => [ 'VaultList' => [ 'shape' => 'VaultList', ], 'Marker' => [ 'shape' => 'string', ], ], ], 'MissingParameterValueException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotificationEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], ], 'NullableLong' => [ 'type' => 'long', ], 'OutputLocation' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Location', ], ], ], 'OutputSerialization' => [ 'type' => 'structure', 'members' => [ 'csv' => [ 'shape' => 'CSVOutput', ], ], ], 'PartList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartListElement', ], ], 'PartListElement' => [ 'type' => 'structure', 'members' => [ 'RangeInBytes' => [ 'shape' => 'string', ], 'SHA256TreeHash' => [ 'shape' => 'string', ], ], ], 'Permission' => [ 'type' => 'string', 'enum' => [ 'FULL_CONTROL', 'WRITE', 'WRITE_ACP', 'READ', 'READ_ACP', ], ], 'PolicyEnforcedException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ProvisionedCapacityDescription' => [ 'type' => 'structure', 'members' => [ 'CapacityId' => [ 'shape' => 'string', ], 'StartDate' => [ 'shape' => 'string', ], 'ExpirationDate' => [ 'shape' => 'string', ], ], ], 'ProvisionedCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisionedCapacityDescription', ], ], 'PurchaseProvisionedCapacityInput' => [ 'type' => 'structure', 'required' => [ 'accountId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'PurchaseProvisionedCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'capacityId' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-capacity-id', ], ], ], 'QuoteFields' => [ 'type' => 'string', 'enum' => [ 'ALWAYS', 'ASNEEDED', ], ], 'RemoveTagsFromVaultInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'RequestTimeoutException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 408, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'BucketName' => [ 'shape' => 'string', ], 'Prefix' => [ 'shape' => 'string', ], 'Encryption' => [ 'shape' => 'Encryption', ], 'CannedACL' => [ 'shape' => 'CannedACL', ], 'AccessControlList' => [ 'shape' => 'AccessControlPolicyList', ], 'Tagging' => [ 'shape' => 'hashmap', ], 'UserMetadata' => [ 'shape' => 'hashmap', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], ], ], 'SelectParameters' => [ 'type' => 'structure', 'members' => [ 'InputSerialization' => [ 'shape' => 'InputSerialization', ], 'ExpressionType' => [ 'shape' => 'ExpressionType', ], 'Expression' => [ 'shape' => 'string', ], 'OutputSerialization' => [ 'shape' => 'OutputSerialization', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'string', ], 'code' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'SetDataRetrievalPolicyInput' => [ 'type' => 'structure', 'required' => [ 'accountId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'Policy' => [ 'shape' => 'DataRetrievalPolicy', ], ], ], 'SetVaultAccessPolicyInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'policy' => [ 'shape' => 'VaultAccessPolicy', ], ], 'payload' => 'policy', ], 'SetVaultNotificationsInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'vaultNotificationConfig' => [ 'shape' => 'VaultNotificationConfig', ], ], 'payload' => 'vaultNotificationConfig', ], 'Size' => [ 'type' => 'long', ], 'StatusCode' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Succeeded', 'Failed', ], ], 'StorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'STANDARD_IA', ], ], 'Stream' => [ 'type' => 'blob', 'streaming' => true, ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'TagValue' => [ 'type' => 'string', ], 'Type' => [ 'type' => 'string', 'enum' => [ 'AmazonCustomerByEmail', 'CanonicalUser', 'Group', ], ], 'UploadArchiveInput' => [ 'type' => 'structure', 'required' => [ 'vaultName', 'accountId', ], 'members' => [ 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'archiveDescription' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-archive-description', ], 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], 'body' => [ 'shape' => 'Stream', ], ], 'payload' => 'body', ], 'UploadListElement' => [ 'type' => 'structure', 'members' => [ 'MultipartUploadId' => [ 'shape' => 'string', ], 'VaultARN' => [ 'shape' => 'string', ], 'ArchiveDescription' => [ 'shape' => 'string', ], 'PartSizeInBytes' => [ 'shape' => 'long', ], 'CreationDate' => [ 'shape' => 'string', ], ], ], 'UploadMultipartPartInput' => [ 'type' => 'structure', 'required' => [ 'accountId', 'vaultName', 'uploadId', ], 'members' => [ 'accountId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'accountId', ], 'vaultName' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'vaultName', ], 'uploadId' => [ 'shape' => 'string', 'location' => 'uri', 'locationName' => 'uploadId', ], 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], 'range' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'Content-Range', ], 'body' => [ 'shape' => 'Stream', ], ], 'payload' => 'body', ], 'UploadMultipartPartOutput' => [ 'type' => 'structure', 'members' => [ 'checksum' => [ 'shape' => 'string', 'location' => 'header', 'locationName' => 'x-amz-sha256-tree-hash', ], ], ], 'UploadsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UploadListElement', ], ], 'VaultAccessPolicy' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'string', ], ], ], 'VaultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeVaultOutput', ], ], 'VaultLockPolicy' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'string', ], ], ], 'VaultNotificationConfig' => [ 'type' => 'structure', 'members' => [ 'SNSTopic' => [ 'shape' => 'string', ], 'Events' => [ 'shape' => 'NotificationEventList', ], ], ], 'boolean' => [ 'type' => 'boolean', ], 'hashmap' => [ 'type' => 'map', 'key' => [ 'shape' => 'string', ], 'value' => [ 'shape' => 'string', ], ], 'httpstatus' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/glacier/2012-06-01/paginators-1.json.php b/lib/aws/Aws/data/glacier/2012-06-01/paginators-1.json.php new file mode 100644 index 0000000..1d5fd48 --- /dev/null +++ b/lib/aws/Aws/data/glacier/2012-06-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glacier/2012-06-01/paginators-1.json +return [ 'pagination' => [ 'ListJobs' => [ 'input_token' => 'marker', 'limit_key' => 'limit', 'output_token' => 'Marker', 'result_key' => 'JobList', ], 'ListMultipartUploads' => [ 'input_token' => 'marker', 'limit_key' => 'limit', 'output_token' => 'Marker', 'result_key' => 'UploadsList', ], 'ListParts' => [ 'input_token' => 'marker', 'limit_key' => 'limit', 'output_token' => 'Marker', 'result_key' => 'Parts', ], 'ListVaults' => [ 'input_token' => 'marker', 'limit_key' => 'limit', 'output_token' => 'Marker', 'result_key' => 'VaultList', ], ],]; diff --git a/lib/aws/Aws/data/glacier/2012-06-01/smoke.json.php b/lib/aws/Aws/data/glacier/2012-06-01/smoke.json.php new file mode 100644 index 0000000..273687b --- /dev/null +++ b/lib/aws/Aws/data/glacier/2012-06-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glacier/2012-06-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListVaults', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ListVaults', 'input' => [ 'accountId' => 'abcmnoxyz', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/glacier/2012-06-01/waiters-1.json.php b/lib/aws/Aws/data/glacier/2012-06-01/waiters-1.json.php new file mode 100644 index 0000000..b1c85d7 --- /dev/null +++ b/lib/aws/Aws/data/glacier/2012-06-01/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glacier/2012-06-01/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 3, 'max_attempts' => 15, ], '__VaultState' => [ 'operation' => 'DescribeVault', ], 'VaultExists' => [ 'extends' => '__VaultState', 'ignore_errors' => [ 'ResourceNotFoundException', ], 'success_type' => 'output', ], 'VaultNotExists' => [ 'extends' => '__VaultState', 'success_type' => 'error', 'success_value' => 'ResourceNotFoundException', ], ],]; diff --git a/lib/aws/Aws/data/glacier/2012-06-01/waiters-2.json.php b/lib/aws/Aws/data/glacier/2012-06-01/waiters-2.json.php new file mode 100644 index 0000000..47b4d7c --- /dev/null +++ b/lib/aws/Aws/data/glacier/2012-06-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glacier/2012-06-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'VaultExists' => [ 'operation' => 'DescribeVault', 'delay' => 3, 'maxAttempts' => 15, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'status', 'expected' => 200, ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'ResourceNotFoundException', ], ], ], 'VaultNotExists' => [ 'operation' => 'DescribeVault', 'delay' => 3, 'maxAttempts' => 15, 'acceptors' => [ [ 'state' => 'retry', 'matcher' => 'status', 'expected' => 200, ], [ 'state' => 'success', 'matcher' => 'error', 'expected' => 'ResourceNotFoundException', ], ], ], ],]; diff --git a/lib/aws/Aws/data/globalaccelerator/2018-08-08/api-2.json.php b/lib/aws/Aws/data/globalaccelerator/2018-08-08/api-2.json.php new file mode 100644 index 0000000..b08e513 --- /dev/null +++ b/lib/aws/Aws/data/globalaccelerator/2018-08-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/globalaccelerator/2018-08-08/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-08-08', 'endpointPrefix' => 'globalaccelerator', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Global Accelerator', 'serviceId' => 'Global Accelerator', 'signatureVersion' => 'v4', 'signingName' => 'globalaccelerator', 'targetPrefix' => 'GlobalAccelerator_V20180706', 'uid' => 'globalaccelerator-2018-08-08', ], 'operations' => [ 'CreateAccelerator' => [ 'name' => 'CreateAccelerator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAcceleratorRequest', ], 'output' => [ 'shape' => 'CreateAcceleratorResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateEndpointGroup' => [ 'name' => 'CreateEndpointGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEndpointGroupRequest', ], 'output' => [ 'shape' => 'CreateEndpointGroupResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'EndpointGroupAlreadyExistsException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateListener' => [ 'name' => 'CreateListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateListenerRequest', ], 'output' => [ 'shape' => 'CreateListenerResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InvalidPortRangeException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteAccelerator' => [ 'name' => 'DeleteAccelerator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAcceleratorRequest', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'AcceleratorNotDisabledException', ], [ 'shape' => 'AssociatedListenerFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DeleteEndpointGroup' => [ 'name' => 'DeleteEndpointGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEndpointGroupRequest', ], 'errors' => [ [ 'shape' => 'EndpointGroupNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'DeleteListener' => [ 'name' => 'DeleteListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteListenerRequest', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'AssociatedEndpointGroupFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'DescribeAccelerator' => [ 'name' => 'DescribeAccelerator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAcceleratorRequest', ], 'output' => [ 'shape' => 'DescribeAcceleratorResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DescribeAcceleratorAttributes' => [ 'name' => 'DescribeAcceleratorAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAcceleratorAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAcceleratorAttributesResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DescribeEndpointGroup' => [ 'name' => 'DescribeEndpointGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointGroupRequest', ], 'output' => [ 'shape' => 'DescribeEndpointGroupResponse', ], 'errors' => [ [ 'shape' => 'EndpointGroupNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'DescribeListener' => [ 'name' => 'DescribeListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeListenerRequest', ], 'output' => [ 'shape' => 'DescribeListenerResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListAccelerators' => [ 'name' => 'ListAccelerators', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAcceleratorsRequest', ], 'output' => [ 'shape' => 'ListAcceleratorsResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListEndpointGroups' => [ 'name' => 'ListEndpointGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEndpointGroupsRequest', ], 'output' => [ 'shape' => 'ListEndpointGroupsResponse', ], 'errors' => [ [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListListeners' => [ 'name' => 'ListListeners', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListListenersRequest', ], 'output' => [ 'shape' => 'ListListenersResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'UpdateAccelerator' => [ 'name' => 'UpdateAccelerator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAcceleratorRequest', ], 'output' => [ 'shape' => 'UpdateAcceleratorResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'UpdateAcceleratorAttributes' => [ 'name' => 'UpdateAcceleratorAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAcceleratorAttributesRequest', ], 'output' => [ 'shape' => 'UpdateAcceleratorAttributesResponse', ], 'errors' => [ [ 'shape' => 'AcceleratorNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'UpdateEndpointGroup' => [ 'name' => 'UpdateEndpointGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEndpointGroupRequest', ], 'output' => [ 'shape' => 'UpdateEndpointGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'EndpointGroupNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateListener' => [ 'name' => 'UpdateListener', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateListenerRequest', ], 'output' => [ 'shape' => 'UpdateListenerResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidPortRangeException', ], [ 'shape' => 'ListenerNotFoundException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'Accelerator' => [ 'type' => 'structure', 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], 'Name' => [ 'shape' => 'GenericString', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], 'Enabled' => [ 'shape' => 'GenericBoolean', ], 'IpSets' => [ 'shape' => 'IpSets', ], 'Status' => [ 'shape' => 'AcceleratorStatus', ], 'CreatedTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], ], ], 'AcceleratorAttributes' => [ 'type' => 'structure', 'members' => [ 'FlowLogsEnabled' => [ 'shape' => 'GenericBoolean', ], 'FlowLogsS3Bucket' => [ 'shape' => 'GenericString', ], 'FlowLogsS3Prefix' => [ 'shape' => 'GenericString', ], ], ], 'AcceleratorNotDisabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AcceleratorNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AcceleratorStatus' => [ 'type' => 'string', 'enum' => [ 'DEPLOYED', 'IN_PROGRESS', ], ], 'Accelerators' => [ 'type' => 'list', 'member' => [ 'shape' => 'Accelerator', ], ], 'AssociatedEndpointGroupFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AssociatedListenerFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ClientAffinity' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SOURCE_IP', ], ], 'CreateAcceleratorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'IdempotencyToken', ], 'members' => [ 'Name' => [ 'shape' => 'GenericString', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], 'Enabled' => [ 'shape' => 'GenericBoolean', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'CreateAcceleratorResponse' => [ 'type' => 'structure', 'members' => [ 'Accelerator' => [ 'shape' => 'Accelerator', ], ], ], 'CreateEndpointGroupRequest' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', 'EndpointGroupRegion', 'IdempotencyToken', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], 'EndpointGroupRegion' => [ 'shape' => 'GenericString', ], 'EndpointConfigurations' => [ 'shape' => 'EndpointConfigurations', ], 'TrafficDialPercentage' => [ 'shape' => 'TrafficDialPercentage', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckProtocol' => [ 'shape' => 'HealthCheckProtocol', ], 'HealthCheckPath' => [ 'shape' => 'GenericString', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'ThresholdCount' => [ 'shape' => 'ThresholdCount', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'CreateEndpointGroupResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointGroup' => [ 'shape' => 'EndpointGroup', ], ], ], 'CreateListenerRequest' => [ 'type' => 'structure', 'required' => [ 'AcceleratorArn', 'PortRanges', 'Protocol', 'IdempotencyToken', ], 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], 'PortRanges' => [ 'shape' => 'PortRanges', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'ClientAffinity' => [ 'shape' => 'ClientAffinity', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'CreateListenerResponse' => [ 'type' => 'structure', 'members' => [ 'Listener' => [ 'shape' => 'Listener', ], ], ], 'DeleteAcceleratorRequest' => [ 'type' => 'structure', 'required' => [ 'AcceleratorArn', ], 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], ], ], 'DeleteEndpointGroupRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointGroupArn', ], 'members' => [ 'EndpointGroupArn' => [ 'shape' => 'GenericString', ], ], ], 'DeleteListenerRequest' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], ], ], 'DescribeAcceleratorAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], ], ], 'DescribeAcceleratorAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'AcceleratorAttributes' => [ 'shape' => 'AcceleratorAttributes', ], ], ], 'DescribeAcceleratorRequest' => [ 'type' => 'structure', 'required' => [ 'AcceleratorArn', ], 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], ], ], 'DescribeAcceleratorResponse' => [ 'type' => 'structure', 'members' => [ 'Accelerator' => [ 'shape' => 'Accelerator', ], ], ], 'DescribeEndpointGroupRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointGroupArn', ], 'members' => [ 'EndpointGroupArn' => [ 'shape' => 'GenericString', ], ], ], 'DescribeEndpointGroupResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointGroup' => [ 'shape' => 'EndpointGroup', ], ], ], 'DescribeListenerRequest' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], ], ], 'DescribeListenerResponse' => [ 'type' => 'structure', 'members' => [ 'Listener' => [ 'shape' => 'Listener', ], ], ], 'EndpointConfiguration' => [ 'type' => 'structure', 'members' => [ 'EndpointId' => [ 'shape' => 'GenericString', ], 'Weight' => [ 'shape' => 'EndpointWeight', ], ], ], 'EndpointConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointConfiguration', ], 'max' => 10, 'min' => 0, ], 'EndpointDescription' => [ 'type' => 'structure', 'members' => [ 'EndpointId' => [ 'shape' => 'GenericString', ], 'Weight' => [ 'shape' => 'EndpointWeight', ], 'HealthState' => [ 'shape' => 'HealthState', ], 'HealthReason' => [ 'shape' => 'GenericString', ], ], ], 'EndpointDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointDescription', ], ], 'EndpointGroup' => [ 'type' => 'structure', 'members' => [ 'EndpointGroupArn' => [ 'shape' => 'GenericString', ], 'EndpointGroupRegion' => [ 'shape' => 'GenericString', ], 'EndpointDescriptions' => [ 'shape' => 'EndpointDescriptions', ], 'TrafficDialPercentage' => [ 'shape' => 'TrafficDialPercentage', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckProtocol' => [ 'shape' => 'HealthCheckProtocol', ], 'HealthCheckPath' => [ 'shape' => 'GenericString', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'ThresholdCount' => [ 'shape' => 'ThresholdCount', ], ], ], 'EndpointGroupAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'EndpointGroupNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'EndpointGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointGroup', ], ], 'EndpointWeight' => [ 'type' => 'integer', 'max' => 255, 'min' => 0, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GenericBoolean' => [ 'type' => 'boolean', ], 'GenericString' => [ 'type' => 'string', 'max' => 255, ], 'HealthCheckIntervalSeconds' => [ 'type' => 'integer', 'max' => 30, 'min' => 10, ], 'HealthCheckPort' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'HealthCheckProtocol' => [ 'type' => 'string', 'enum' => [ 'TCP', 'HTTP', 'HTTPS', ], ], 'HealthState' => [ 'type' => 'string', 'enum' => [ 'INITIAL', 'HEALTHY', 'UNHEALTHY', ], ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 255, ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidPortRangeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'IpAddressType' => [ 'type' => 'string', 'enum' => [ 'IPV4', ], ], 'IpAddresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddress', ], 'max' => 2, 'min' => 0, ], 'IpSet' => [ 'type' => 'structure', 'members' => [ 'IpFamily' => [ 'shape' => 'GenericString', ], 'IpAddresses' => [ 'shape' => 'IpAddresses', ], ], ], 'IpSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpSet', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListAcceleratorsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListAcceleratorsResponse' => [ 'type' => 'structure', 'members' => [ 'Accelerators' => [ 'shape' => 'Accelerators', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListEndpointGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListEndpointGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointGroups' => [ 'shape' => 'EndpointGroups', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListListenersRequest' => [ 'type' => 'structure', 'required' => [ 'AcceleratorArn', ], 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListListenersResponse' => [ 'type' => 'structure', 'members' => [ 'Listeners' => [ 'shape' => 'Listeners', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'Listener' => [ 'type' => 'structure', 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], 'PortRanges' => [ 'shape' => 'PortRanges', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'ClientAffinity' => [ 'shape' => 'ClientAffinity', ], ], ], 'ListenerNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Listeners' => [ 'type' => 'list', 'member' => [ 'shape' => 'Listener', ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PortNumber' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'PortRange' => [ 'type' => 'structure', 'members' => [ 'FromPort' => [ 'shape' => 'PortNumber', ], 'ToPort' => [ 'shape' => 'PortNumber', ], ], ], 'PortRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortRange', ], 'max' => 10, 'min' => 1, ], 'Protocol' => [ 'type' => 'string', 'enum' => [ 'TCP', 'UDP', ], ], 'ThresholdCount' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TrafficDialPercentage' => [ 'type' => 'float', 'max' => 100, 'min' => 0, ], 'UpdateAcceleratorAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], 'FlowLogsEnabled' => [ 'shape' => 'GenericBoolean', ], 'FlowLogsS3Bucket' => [ 'shape' => 'GenericString', ], 'FlowLogsS3Prefix' => [ 'shape' => 'GenericString', ], ], ], 'UpdateAcceleratorAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'AcceleratorAttributes' => [ 'shape' => 'AcceleratorAttributes', ], ], ], 'UpdateAcceleratorRequest' => [ 'type' => 'structure', 'required' => [ 'AcceleratorArn', ], 'members' => [ 'AcceleratorArn' => [ 'shape' => 'GenericString', ], 'Name' => [ 'shape' => 'GenericString', ], 'IpAddressType' => [ 'shape' => 'IpAddressType', ], 'Enabled' => [ 'shape' => 'GenericBoolean', ], ], ], 'UpdateAcceleratorResponse' => [ 'type' => 'structure', 'members' => [ 'Accelerator' => [ 'shape' => 'Accelerator', ], ], ], 'UpdateEndpointGroupRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointGroupArn', ], 'members' => [ 'EndpointGroupArn' => [ 'shape' => 'GenericString', ], 'EndpointConfigurations' => [ 'shape' => 'EndpointConfigurations', ], 'TrafficDialPercentage' => [ 'shape' => 'TrafficDialPercentage', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], 'HealthCheckProtocol' => [ 'shape' => 'HealthCheckProtocol', ], 'HealthCheckPath' => [ 'shape' => 'GenericString', ], 'HealthCheckIntervalSeconds' => [ 'shape' => 'HealthCheckIntervalSeconds', ], 'ThresholdCount' => [ 'shape' => 'ThresholdCount', ], ], ], 'UpdateEndpointGroupResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointGroup' => [ 'shape' => 'EndpointGroup', ], ], ], 'UpdateListenerRequest' => [ 'type' => 'structure', 'required' => [ 'ListenerArn', ], 'members' => [ 'ListenerArn' => [ 'shape' => 'GenericString', ], 'PortRanges' => [ 'shape' => 'PortRanges', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'ClientAffinity' => [ 'shape' => 'ClientAffinity', ], ], ], 'UpdateListenerResponse' => [ 'type' => 'structure', 'members' => [ 'Listener' => [ 'shape' => 'Listener', ], ], ], ],]; diff --git a/lib/aws/Aws/data/globalaccelerator/2018-08-08/paginators-1.json.php b/lib/aws/Aws/data/globalaccelerator/2018-08-08/paginators-1.json.php new file mode 100644 index 0000000..241b3de --- /dev/null +++ b/lib/aws/Aws/data/globalaccelerator/2018-08-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/globalaccelerator/2018-08-08/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/glue/2017-03-31/api-2.json.php b/lib/aws/Aws/data/glue/2017-03-31/api-2.json.php new file mode 100644 index 0000000..b97f53a --- /dev/null +++ b/lib/aws/Aws/data/glue/2017-03-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glue/2017-03-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-03-31', 'endpointPrefix' => 'glue', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Glue', 'serviceId' => 'Glue', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSGlue', 'uid' => 'glue-2017-03-31', ], 'operations' => [ 'BatchCreatePartition' => [ 'name' => 'BatchCreatePartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchCreatePartitionRequest', ], 'output' => [ 'shape' => 'BatchCreatePartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'BatchDeleteConnection' => [ 'name' => 'BatchDeleteConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteConnectionRequest', ], 'output' => [ 'shape' => 'BatchDeleteConnectionResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'BatchDeletePartition' => [ 'name' => 'BatchDeletePartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeletePartitionRequest', ], 'output' => [ 'shape' => 'BatchDeletePartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'BatchDeleteTable' => [ 'name' => 'BatchDeleteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteTableRequest', ], 'output' => [ 'shape' => 'BatchDeleteTableResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'BatchDeleteTableVersion' => [ 'name' => 'BatchDeleteTableVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteTableVersionRequest', ], 'output' => [ 'shape' => 'BatchDeleteTableVersionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'BatchGetCrawlers' => [ 'name' => 'BatchGetCrawlers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetCrawlersRequest', ], 'output' => [ 'shape' => 'BatchGetCrawlersResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'BatchGetDevEndpoints' => [ 'name' => 'BatchGetDevEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetDevEndpointsRequest', ], 'output' => [ 'shape' => 'BatchGetDevEndpointsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'BatchGetJobs' => [ 'name' => 'BatchGetJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetJobsRequest', ], 'output' => [ 'shape' => 'BatchGetJobsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'BatchGetPartition' => [ 'name' => 'BatchGetPartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetPartitionRequest', ], 'output' => [ 'shape' => 'BatchGetPartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'BatchGetTriggers' => [ 'name' => 'BatchGetTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetTriggersRequest', ], 'output' => [ 'shape' => 'BatchGetTriggersResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'BatchStopJobRun' => [ 'name' => 'BatchStopJobRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchStopJobRunRequest', ], 'output' => [ 'shape' => 'BatchStopJobRunResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'CreateClassifier' => [ 'name' => 'CreateClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClassifierRequest', ], 'output' => [ 'shape' => 'CreateClassifierResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'CreateConnection' => [ 'name' => 'CreateConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConnectionRequest', ], 'output' => [ 'shape' => 'CreateConnectionResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'CreateCrawler' => [ 'name' => 'CreateCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCrawlerRequest', ], 'output' => [ 'shape' => 'CreateCrawlerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], ], ], 'CreateDatabase' => [ 'name' => 'CreateDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDatabaseRequest', ], 'output' => [ 'shape' => 'CreateDatabaseResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'CreateDevEndpoint' => [ 'name' => 'CreateDevEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDevEndpointRequest', ], 'output' => [ 'shape' => 'CreateDevEndpointResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateJobRequest', ], 'output' => [ 'shape' => 'CreateJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreatePartition' => [ 'name' => 'CreatePartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePartitionRequest', ], 'output' => [ 'shape' => 'CreatePartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'CreateScript' => [ 'name' => 'CreateScript', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateScriptRequest', ], 'output' => [ 'shape' => 'CreateScriptResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'CreateSecurityConfiguration' => [ 'name' => 'CreateSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecurityConfigurationRequest', ], 'output' => [ 'shape' => 'CreateSecurityConfigurationResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], ], ], 'CreateTable' => [ 'name' => 'CreateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTableRequest', ], 'output' => [ 'shape' => 'CreateTableResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'CreateTrigger' => [ 'name' => 'CreateTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTriggerRequest', ], 'output' => [ 'shape' => 'CreateTriggerResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateUserDefinedFunction' => [ 'name' => 'CreateUserDefinedFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserDefinedFunctionRequest', ], 'output' => [ 'shape' => 'CreateUserDefinedFunctionResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'DeleteClassifier' => [ 'name' => 'DeleteClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClassifierRequest', ], 'output' => [ 'shape' => 'DeleteClassifierResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteConnection' => [ 'name' => 'DeleteConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConnectionRequest', ], 'output' => [ 'shape' => 'DeleteConnectionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteCrawler' => [ 'name' => 'DeleteCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCrawlerRequest', ], 'output' => [ 'shape' => 'DeleteCrawlerResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'CrawlerRunningException', ], [ 'shape' => 'SchedulerTransitioningException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteDatabase' => [ 'name' => 'DeleteDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDatabaseRequest', ], 'output' => [ 'shape' => 'DeleteDatabaseResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteDevEndpoint' => [ 'name' => 'DeleteDevEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDevEndpointRequest', ], 'output' => [ 'shape' => 'DeleteDevEndpointResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DeleteJob' => [ 'name' => 'DeleteJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteJobRequest', ], 'output' => [ 'shape' => 'DeleteJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeletePartition' => [ 'name' => 'DeletePartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePartitionRequest', ], 'output' => [ 'shape' => 'DeletePartitionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteResourcePolicy' => [ 'name' => 'DeleteResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourcePolicyRequest', ], 'output' => [ 'shape' => 'DeleteResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConditionCheckFailureException', ], ], ], 'DeleteSecurityConfiguration' => [ 'name' => 'DeleteSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecurityConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteSecurityConfigurationResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteTable' => [ 'name' => 'DeleteTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTableRequest', ], 'output' => [ 'shape' => 'DeleteTableResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteTableVersion' => [ 'name' => 'DeleteTableVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTableVersionRequest', ], 'output' => [ 'shape' => 'DeleteTableVersionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'DeleteTrigger' => [ 'name' => 'DeleteTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTriggerRequest', ], 'output' => [ 'shape' => 'DeleteTriggerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteUserDefinedFunction' => [ 'name' => 'DeleteUserDefinedFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserDefinedFunctionRequest', ], 'output' => [ 'shape' => 'DeleteUserDefinedFunctionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetCatalogImportStatus' => [ 'name' => 'GetCatalogImportStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCatalogImportStatusRequest', ], 'output' => [ 'shape' => 'GetCatalogImportStatusResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetClassifier' => [ 'name' => 'GetClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetClassifierRequest', ], 'output' => [ 'shape' => 'GetClassifierResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetClassifiers' => [ 'name' => 'GetClassifiers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetClassifiersRequest', ], 'output' => [ 'shape' => 'GetClassifiersResponse', ], 'errors' => [ [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetConnection' => [ 'name' => 'GetConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConnectionRequest', ], 'output' => [ 'shape' => 'GetConnectionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetConnections' => [ 'name' => 'GetConnections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConnectionsRequest', ], 'output' => [ 'shape' => 'GetConnectionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetCrawler' => [ 'name' => 'GetCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCrawlerRequest', ], 'output' => [ 'shape' => 'GetCrawlerResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetCrawlerMetrics' => [ 'name' => 'GetCrawlerMetrics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCrawlerMetricsRequest', ], 'output' => [ 'shape' => 'GetCrawlerMetricsResponse', ], 'errors' => [ [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetCrawlers' => [ 'name' => 'GetCrawlers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCrawlersRequest', ], 'output' => [ 'shape' => 'GetCrawlersResponse', ], 'errors' => [ [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetDataCatalogEncryptionSettings' => [ 'name' => 'GetDataCatalogEncryptionSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDataCatalogEncryptionSettingsRequest', ], 'output' => [ 'shape' => 'GetDataCatalogEncryptionSettingsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetDatabase' => [ 'name' => 'GetDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDatabaseRequest', ], 'output' => [ 'shape' => 'GetDatabaseResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetDatabases' => [ 'name' => 'GetDatabases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDatabasesRequest', ], 'output' => [ 'shape' => 'GetDatabasesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetDataflowGraph' => [ 'name' => 'GetDataflowGraph', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDataflowGraphRequest', ], 'output' => [ 'shape' => 'GetDataflowGraphResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetDevEndpoint' => [ 'name' => 'GetDevEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDevEndpointRequest', ], 'output' => [ 'shape' => 'GetDevEndpointResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetDevEndpoints' => [ 'name' => 'GetDevEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDevEndpointsRequest', ], 'output' => [ 'shape' => 'GetDevEndpointsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetJob' => [ 'name' => 'GetJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobRequest', ], 'output' => [ 'shape' => 'GetJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetJobRun' => [ 'name' => 'GetJobRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobRunRequest', ], 'output' => [ 'shape' => 'GetJobRunResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetJobRuns' => [ 'name' => 'GetJobRuns', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobRunsRequest', ], 'output' => [ 'shape' => 'GetJobRunsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetJobs' => [ 'name' => 'GetJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobsRequest', ], 'output' => [ 'shape' => 'GetJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetMapping' => [ 'name' => 'GetMapping', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMappingRequest', ], 'output' => [ 'shape' => 'GetMappingResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'EntityNotFoundException', ], ], ], 'GetPartition' => [ 'name' => 'GetPartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPartitionRequest', ], 'output' => [ 'shape' => 'GetPartitionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetPartitions' => [ 'name' => 'GetPartitions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPartitionsRequest', ], 'output' => [ 'shape' => 'GetPartitionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetPlan' => [ 'name' => 'GetPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPlanRequest', ], 'output' => [ 'shape' => 'GetPlanResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetResourcePolicy' => [ 'name' => 'GetResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourcePolicyRequest', ], 'output' => [ 'shape' => 'GetResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetSecurityConfiguration' => [ 'name' => 'GetSecurityConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSecurityConfigurationRequest', ], 'output' => [ 'shape' => 'GetSecurityConfigurationResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetSecurityConfigurations' => [ 'name' => 'GetSecurityConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSecurityConfigurationsRequest', ], 'output' => [ 'shape' => 'GetSecurityConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetTable' => [ 'name' => 'GetTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTableRequest', ], 'output' => [ 'shape' => 'GetTableResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetTableVersion' => [ 'name' => 'GetTableVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTableVersionRequest', ], 'output' => [ 'shape' => 'GetTableVersionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetTableVersions' => [ 'name' => 'GetTableVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTableVersionsRequest', ], 'output' => [ 'shape' => 'GetTableVersionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetTables' => [ 'name' => 'GetTables', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTablesRequest', ], 'output' => [ 'shape' => 'GetTablesResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetTags' => [ 'name' => 'GetTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTagsRequest', ], 'output' => [ 'shape' => 'GetTagsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'EntityNotFoundException', ], ], ], 'GetTrigger' => [ 'name' => 'GetTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTriggerRequest', ], 'output' => [ 'shape' => 'GetTriggerResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetTriggers' => [ 'name' => 'GetTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTriggersRequest', ], 'output' => [ 'shape' => 'GetTriggersResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'GetUserDefinedFunction' => [ 'name' => 'GetUserDefinedFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserDefinedFunctionRequest', ], 'output' => [ 'shape' => 'GetUserDefinedFunctionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'GetUserDefinedFunctions' => [ 'name' => 'GetUserDefinedFunctions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserDefinedFunctionsRequest', ], 'output' => [ 'shape' => 'GetUserDefinedFunctionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'ImportCatalogToGlue' => [ 'name' => 'ImportCatalogToGlue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportCatalogToGlueRequest', ], 'output' => [ 'shape' => 'ImportCatalogToGlueResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'ListCrawlers' => [ 'name' => 'ListCrawlers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCrawlersRequest', ], 'output' => [ 'shape' => 'ListCrawlersResponse', ], 'errors' => [ [ 'shape' => 'OperationTimeoutException', ], ], ], 'ListDevEndpoints' => [ 'name' => 'ListDevEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDevEndpointsRequest', ], 'output' => [ 'shape' => 'ListDevEndpointsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'ListTriggers' => [ 'name' => 'ListTriggers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTriggersRequest', ], 'output' => [ 'shape' => 'ListTriggersResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'PutDataCatalogEncryptionSettings' => [ 'name' => 'PutDataCatalogEncryptionSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDataCatalogEncryptionSettingsRequest', ], 'output' => [ 'shape' => 'PutDataCatalogEncryptionSettingsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'PutResourcePolicy' => [ 'name' => 'PutResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutResourcePolicyRequest', ], 'output' => [ 'shape' => 'PutResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConditionCheckFailureException', ], ], ], 'ResetJobBookmark' => [ 'name' => 'ResetJobBookmark', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetJobBookmarkRequest', ], 'output' => [ 'shape' => 'ResetJobBookmarkResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'StartCrawler' => [ 'name' => 'StartCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartCrawlerRequest', ], 'output' => [ 'shape' => 'StartCrawlerResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'CrawlerRunningException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'StartCrawlerSchedule' => [ 'name' => 'StartCrawlerSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartCrawlerScheduleRequest', ], 'output' => [ 'shape' => 'StartCrawlerScheduleResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'SchedulerRunningException', ], [ 'shape' => 'SchedulerTransitioningException', ], [ 'shape' => 'NoScheduleException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'StartJobRun' => [ 'name' => 'StartJobRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartJobRunRequest', ], 'output' => [ 'shape' => 'StartJobRunResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'ConcurrentRunsExceededException', ], ], ], 'StartTrigger' => [ 'name' => 'StartTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTriggerRequest', ], 'output' => [ 'shape' => 'StartTriggerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'ConcurrentRunsExceededException', ], ], ], 'StopCrawler' => [ 'name' => 'StopCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopCrawlerRequest', ], 'output' => [ 'shape' => 'StopCrawlerResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'CrawlerNotRunningException', ], [ 'shape' => 'CrawlerStoppingException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'StopCrawlerSchedule' => [ 'name' => 'StopCrawlerSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopCrawlerScheduleRequest', ], 'output' => [ 'shape' => 'StopCrawlerScheduleResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'SchedulerNotRunningException', ], [ 'shape' => 'SchedulerTransitioningException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'StopTrigger' => [ 'name' => 'StopTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTriggerRequest', ], 'output' => [ 'shape' => 'StopTriggerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'EntityNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'EntityNotFoundException', ], ], ], 'UpdateClassifier' => [ 'name' => 'UpdateClassifier', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateClassifierRequest', ], 'output' => [ 'shape' => 'UpdateClassifierResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'VersionMismatchException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'UpdateConnection' => [ 'name' => 'UpdateConnection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConnectionRequest', ], 'output' => [ 'shape' => 'UpdateConnectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'UpdateCrawler' => [ 'name' => 'UpdateCrawler', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCrawlerRequest', ], 'output' => [ 'shape' => 'UpdateCrawlerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'VersionMismatchException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'CrawlerRunningException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'UpdateCrawlerSchedule' => [ 'name' => 'UpdateCrawlerSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCrawlerScheduleRequest', ], 'output' => [ 'shape' => 'UpdateCrawlerScheduleResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'VersionMismatchException', ], [ 'shape' => 'SchedulerTransitioningException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], 'UpdateDatabase' => [ 'name' => 'UpdateDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDatabaseRequest', ], 'output' => [ 'shape' => 'UpdateDatabaseResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'UpdateDevEndpoint' => [ 'name' => 'UpdateDevEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDevEndpointRequest', ], 'output' => [ 'shape' => 'UpdateDevEndpointResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpdateJob' => [ 'name' => 'UpdateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateJobRequest', ], 'output' => [ 'shape' => 'UpdateJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdatePartition' => [ 'name' => 'UpdatePartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePartitionRequest', ], 'output' => [ 'shape' => 'UpdatePartitionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'UpdateTable' => [ 'name' => 'UpdateTable', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTableRequest', ], 'output' => [ 'shape' => 'UpdateTableResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNumberLimitExceededException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], 'UpdateTrigger' => [ 'name' => 'UpdateTrigger', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTriggerRequest', ], 'output' => [ 'shape' => 'UpdateTriggerResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'UpdateUserDefinedFunction' => [ 'name' => 'UpdateUserDefinedFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserDefinedFunctionRequest', ], 'output' => [ 'shape' => 'UpdateUserDefinedFunctionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'Action' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'Arguments' => [ 'shape' => 'GenericMap', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], 'ActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Action', ], ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'AttemptCount' => [ 'type' => 'integer', ], 'BatchCreatePartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionInputList', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionInputList' => [ 'shape' => 'PartitionInputList', ], ], ], 'BatchCreatePartitionResponse' => [ 'type' => 'structure', 'members' => [ 'Errors' => [ 'shape' => 'PartitionErrors', ], ], ], 'BatchDeleteConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionNameList', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'ConnectionNameList' => [ 'shape' => 'DeleteConnectionNameList', ], ], ], 'BatchDeleteConnectionResponse' => [ 'type' => 'structure', 'members' => [ 'Succeeded' => [ 'shape' => 'NameStringList', ], 'Errors' => [ 'shape' => 'ErrorByName', ], ], ], 'BatchDeletePartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionsToDelete', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionsToDelete' => [ 'shape' => 'BatchDeletePartitionValueList', ], ], ], 'BatchDeletePartitionResponse' => [ 'type' => 'structure', 'members' => [ 'Errors' => [ 'shape' => 'PartitionErrors', ], ], ], 'BatchDeletePartitionValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionValueList', ], 'max' => 25, 'min' => 0, ], 'BatchDeleteTableNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], 'max' => 100, 'min' => 0, ], 'BatchDeleteTableRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TablesToDelete', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TablesToDelete' => [ 'shape' => 'BatchDeleteTableNameList', ], ], ], 'BatchDeleteTableResponse' => [ 'type' => 'structure', 'members' => [ 'Errors' => [ 'shape' => 'TableErrors', ], ], ], 'BatchDeleteTableVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionString', ], 'max' => 100, 'min' => 0, ], 'BatchDeleteTableVersionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'VersionIds', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'VersionIds' => [ 'shape' => 'BatchDeleteTableVersionList', ], ], ], 'BatchDeleteTableVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Errors' => [ 'shape' => 'TableVersionErrors', ], ], ], 'BatchGetCrawlersRequest' => [ 'type' => 'structure', 'required' => [ 'CrawlerNames', ], 'members' => [ 'CrawlerNames' => [ 'shape' => 'CrawlerNameList', ], ], ], 'BatchGetCrawlersResponse' => [ 'type' => 'structure', 'members' => [ 'Crawlers' => [ 'shape' => 'CrawlerList', ], 'CrawlersNotFound' => [ 'shape' => 'CrawlerNameList', ], ], ], 'BatchGetDevEndpointsRequest' => [ 'type' => 'structure', 'required' => [ 'DevEndpointNames', ], 'members' => [ 'DevEndpointNames' => [ 'shape' => 'DevEndpointNames', ], ], ], 'BatchGetDevEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'DevEndpoints' => [ 'shape' => 'DevEndpointList', ], 'DevEndpointsNotFound' => [ 'shape' => 'DevEndpointNames', ], ], ], 'BatchGetJobsRequest' => [ 'type' => 'structure', 'required' => [ 'JobNames', ], 'members' => [ 'JobNames' => [ 'shape' => 'JobNameList', ], ], ], 'BatchGetJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => 'JobList', ], 'JobsNotFound' => [ 'shape' => 'JobNameList', ], ], ], 'BatchGetPartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionsToGet', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionsToGet' => [ 'shape' => 'BatchGetPartitionValueList', ], ], ], 'BatchGetPartitionResponse' => [ 'type' => 'structure', 'members' => [ 'Partitions' => [ 'shape' => 'PartitionList', ], 'UnprocessedKeys' => [ 'shape' => 'BatchGetPartitionValueList', ], ], ], 'BatchGetPartitionValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionValueList', ], 'max' => 1000, 'min' => 0, ], 'BatchGetTriggersRequest' => [ 'type' => 'structure', 'required' => [ 'TriggerNames', ], 'members' => [ 'TriggerNames' => [ 'shape' => 'TriggerNameList', ], ], ], 'BatchGetTriggersResponse' => [ 'type' => 'structure', 'members' => [ 'Triggers' => [ 'shape' => 'TriggerList', ], 'TriggersNotFound' => [ 'shape' => 'TriggerNameList', ], ], ], 'BatchStopJobRunError' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'JobRunId' => [ 'shape' => 'IdString', ], 'ErrorDetail' => [ 'shape' => 'ErrorDetail', ], ], ], 'BatchStopJobRunErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchStopJobRunError', ], ], 'BatchStopJobRunJobRunIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdString', ], 'max' => 25, 'min' => 1, ], 'BatchStopJobRunRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', 'JobRunIds', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'JobRunIds' => [ 'shape' => 'BatchStopJobRunJobRunIdList', ], ], ], 'BatchStopJobRunResponse' => [ 'type' => 'structure', 'members' => [ 'SuccessfulSubmissions' => [ 'shape' => 'BatchStopJobRunSuccessfulSubmissionList', ], 'Errors' => [ 'shape' => 'BatchStopJobRunErrorList', ], ], ], 'BatchStopJobRunSuccessfulSubmission' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'JobRunId' => [ 'shape' => 'IdString', ], ], ], 'BatchStopJobRunSuccessfulSubmissionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchStopJobRunSuccessfulSubmission', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanNullable' => [ 'type' => 'boolean', ], 'BooleanValue' => [ 'type' => 'boolean', ], 'BoundedPartitionValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValueString', ], 'max' => 100, 'min' => 0, ], 'CatalogEncryptionMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'SSE-KMS', ], ], 'CatalogEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'CatalogEntry', ], ], 'CatalogEntry' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', ], 'members' => [ 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], ], ], 'CatalogIdString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'CatalogImportStatus' => [ 'type' => 'structure', 'members' => [ 'ImportCompleted' => [ 'shape' => 'Boolean', ], 'ImportTime' => [ 'shape' => 'Timestamp', ], 'ImportedBy' => [ 'shape' => 'NameString', ], ], ], 'Classification' => [ 'type' => 'string', ], 'Classifier' => [ 'type' => 'structure', 'members' => [ 'GrokClassifier' => [ 'shape' => 'GrokClassifier', ], 'XMLClassifier' => [ 'shape' => 'XMLClassifier', ], 'JsonClassifier' => [ 'shape' => 'JsonClassifier', ], 'CsvClassifier' => [ 'shape' => 'CsvClassifier', ], ], ], 'ClassifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Classifier', ], ], 'ClassifierNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'CloudWatchEncryption' => [ 'type' => 'structure', 'members' => [ 'CloudWatchEncryptionMode' => [ 'shape' => 'CloudWatchEncryptionMode', ], 'KmsKeyArn' => [ 'shape' => 'KmsKeyArn', ], ], ], 'CloudWatchEncryptionMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'SSE-KMS', ], ], 'CodeGenArgName' => [ 'type' => 'string', ], 'CodeGenArgValue' => [ 'type' => 'string', ], 'CodeGenEdge' => [ 'type' => 'structure', 'required' => [ 'Source', 'Target', ], 'members' => [ 'Source' => [ 'shape' => 'CodeGenIdentifier', ], 'Target' => [ 'shape' => 'CodeGenIdentifier', ], 'TargetParameter' => [ 'shape' => 'CodeGenArgName', ], ], ], 'CodeGenIdentifier' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[A-Za-z_][A-Za-z0-9_]*', ], 'CodeGenNode' => [ 'type' => 'structure', 'required' => [ 'Id', 'NodeType', 'Args', ], 'members' => [ 'Id' => [ 'shape' => 'CodeGenIdentifier', ], 'NodeType' => [ 'shape' => 'CodeGenNodeType', ], 'Args' => [ 'shape' => 'CodeGenNodeArgs', ], 'LineNumber' => [ 'shape' => 'Integer', ], ], ], 'CodeGenNodeArg' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'CodeGenArgName', ], 'Value' => [ 'shape' => 'CodeGenArgValue', ], 'Param' => [ 'shape' => 'Boolean', ], ], ], 'CodeGenNodeArgs' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeGenNodeArg', ], 'max' => 50, 'min' => 0, ], 'CodeGenNodeType' => [ 'type' => 'string', ], 'Column' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Type' => [ 'shape' => 'ColumnTypeString', ], 'Comment' => [ 'shape' => 'CommentString', ], ], ], 'ColumnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Column', ], ], 'ColumnTypeString' => [ 'type' => 'string', 'max' => 131072, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'ColumnValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ColumnValuesString', ], ], 'ColumnValuesString' => [ 'type' => 'string', ], 'CommentString' => [ 'type' => 'string', 'max' => 255, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ConcurrentRunsExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'Condition' => [ 'type' => 'structure', 'members' => [ 'LogicalOperator' => [ 'shape' => 'LogicalOperator', ], 'JobName' => [ 'shape' => 'NameString', ], 'State' => [ 'shape' => 'JobRunState', ], ], ], 'ConditionCheckFailureException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ConditionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Condition', ], ], 'Connection' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', ], 'MatchCriteria' => [ 'shape' => 'MatchCriteria', ], 'ConnectionProperties' => [ 'shape' => 'ConnectionProperties', ], 'PhysicalConnectionRequirements' => [ 'shape' => 'PhysicalConnectionRequirements', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdatedTime' => [ 'shape' => 'Timestamp', ], 'LastUpdatedBy' => [ 'shape' => 'NameString', ], ], ], 'ConnectionInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'ConnectionType', 'ConnectionProperties', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', ], 'MatchCriteria' => [ 'shape' => 'MatchCriteria', ], 'ConnectionProperties' => [ 'shape' => 'ConnectionProperties', ], 'PhysicalConnectionRequirements' => [ 'shape' => 'PhysicalConnectionRequirements', ], ], ], 'ConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connection', ], ], 'ConnectionName' => [ 'type' => 'string', ], 'ConnectionPasswordEncryption' => [ 'type' => 'structure', 'required' => [ 'ReturnConnectionPasswordEncrypted', ], 'members' => [ 'ReturnConnectionPasswordEncrypted' => [ 'shape' => 'Boolean', ], 'AwsKmsKeyId' => [ 'shape' => 'NameString', ], ], ], 'ConnectionProperties' => [ 'type' => 'map', 'key' => [ 'shape' => 'ConnectionPropertyKey', ], 'value' => [ 'shape' => 'ValueString', ], 'max' => 100, 'min' => 0, ], 'ConnectionPropertyKey' => [ 'type' => 'string', 'enum' => [ 'HOST', 'PORT', 'USERNAME', 'PASSWORD', 'ENCRYPTED_PASSWORD', 'JDBC_DRIVER_JAR_URI', 'JDBC_DRIVER_CLASS_NAME', 'JDBC_ENGINE', 'JDBC_ENGINE_VERSION', 'CONFIG_FILES', 'INSTANCE_ID', 'JDBC_CONNECTION_URL', 'JDBC_ENFORCE_SSL', ], ], 'ConnectionType' => [ 'type' => 'string', 'enum' => [ 'JDBC', 'SFTP', ], ], 'ConnectionsList' => [ 'type' => 'structure', 'members' => [ 'Connections' => [ 'shape' => 'StringList', ], ], ], 'Crawler' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Role' => [ 'shape' => 'Role', ], 'Targets' => [ 'shape' => 'CrawlerTargets', ], 'DatabaseName' => [ 'shape' => 'DatabaseName', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Classifiers' => [ 'shape' => 'ClassifierNameList', ], 'SchemaChangePolicy' => [ 'shape' => 'SchemaChangePolicy', ], 'State' => [ 'shape' => 'CrawlerState', ], 'TablePrefix' => [ 'shape' => 'TablePrefix', ], 'Schedule' => [ 'shape' => 'Schedule', ], 'CrawlElapsedTime' => [ 'shape' => 'MillisecondsCount', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdated' => [ 'shape' => 'Timestamp', ], 'LastCrawl' => [ 'shape' => 'LastCrawlInfo', ], 'Version' => [ 'shape' => 'VersionId', ], 'Configuration' => [ 'shape' => 'CrawlerConfiguration', ], 'CrawlerSecurityConfiguration' => [ 'shape' => 'CrawlerSecurityConfiguration', ], ], ], 'CrawlerConfiguration' => [ 'type' => 'string', ], 'CrawlerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Crawler', ], ], 'CrawlerMetrics' => [ 'type' => 'structure', 'members' => [ 'CrawlerName' => [ 'shape' => 'NameString', ], 'TimeLeftSeconds' => [ 'shape' => 'NonNegativeDouble', ], 'StillEstimating' => [ 'shape' => 'Boolean', ], 'LastRuntimeSeconds' => [ 'shape' => 'NonNegativeDouble', ], 'MedianRuntimeSeconds' => [ 'shape' => 'NonNegativeDouble', ], 'TablesCreated' => [ 'shape' => 'NonNegativeInteger', ], 'TablesUpdated' => [ 'shape' => 'NonNegativeInteger', ], 'TablesDeleted' => [ 'shape' => 'NonNegativeInteger', ], ], ], 'CrawlerMetricsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CrawlerMetrics', ], ], 'CrawlerNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], 'max' => 100, 'min' => 0, ], 'CrawlerNotRunningException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'CrawlerRunningException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'CrawlerSecurityConfiguration' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'CrawlerState' => [ 'type' => 'string', 'enum' => [ 'READY', 'RUNNING', 'STOPPING', ], ], 'CrawlerStoppingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'CrawlerTargets' => [ 'type' => 'structure', 'members' => [ 'S3Targets' => [ 'shape' => 'S3TargetList', ], 'JdbcTargets' => [ 'shape' => 'JdbcTargetList', ], 'DynamoDBTargets' => [ 'shape' => 'DynamoDBTargetList', ], ], ], 'CreateClassifierRequest' => [ 'type' => 'structure', 'members' => [ 'GrokClassifier' => [ 'shape' => 'CreateGrokClassifierRequest', ], 'XMLClassifier' => [ 'shape' => 'CreateXMLClassifierRequest', ], 'JsonClassifier' => [ 'shape' => 'CreateJsonClassifierRequest', ], 'CsvClassifier' => [ 'shape' => 'CreateCsvClassifierRequest', ], ], ], 'CreateClassifierResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'ConnectionInput' => [ 'shape' => 'ConnectionInput', ], ], ], 'CreateConnectionResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Role', 'DatabaseName', 'Targets', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Role' => [ 'shape' => 'Role', ], 'DatabaseName' => [ 'shape' => 'DatabaseName', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Targets' => [ 'shape' => 'CrawlerTargets', ], 'Schedule' => [ 'shape' => 'CronExpression', ], 'Classifiers' => [ 'shape' => 'ClassifierNameList', ], 'TablePrefix' => [ 'shape' => 'TablePrefix', ], 'SchemaChangePolicy' => [ 'shape' => 'SchemaChangePolicy', ], 'Configuration' => [ 'shape' => 'CrawlerConfiguration', ], 'CrawlerSecurityConfiguration' => [ 'shape' => 'CrawlerSecurityConfiguration', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'CreateCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateCsvClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Delimiter' => [ 'shape' => 'CsvColumnDelimiter', ], 'QuoteSymbol' => [ 'shape' => 'CsvQuoteSymbol', ], 'ContainsHeader' => [ 'shape' => 'CsvHeaderOption', ], 'Header' => [ 'shape' => 'CsvHeader', ], 'DisableValueTrimming' => [ 'shape' => 'NullableBoolean', ], 'AllowSingleColumn' => [ 'shape' => 'NullableBoolean', ], ], ], 'CreateDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseInput' => [ 'shape' => 'DatabaseInput', ], ], ], 'CreateDatabaseResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateDevEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'RoleArn', ], 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'SecurityGroupIds' => [ 'shape' => 'StringList', ], 'SubnetId' => [ 'shape' => 'GenericString', ], 'PublicKey' => [ 'shape' => 'GenericString', ], 'PublicKeys' => [ 'shape' => 'PublicKeysList', ], 'NumberOfNodes' => [ 'shape' => 'IntegerValue', ], 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'Tags' => [ 'shape' => 'TagsMap', ], 'Arguments' => [ 'shape' => 'MapValue', ], ], ], 'CreateDevEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], 'Status' => [ 'shape' => 'GenericString', ], 'SecurityGroupIds' => [ 'shape' => 'StringList', ], 'SubnetId' => [ 'shape' => 'GenericString', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'YarnEndpointAddress' => [ 'shape' => 'GenericString', ], 'ZeppelinRemoteSparkInterpreterPort' => [ 'shape' => 'IntegerValue', ], 'NumberOfNodes' => [ 'shape' => 'IntegerValue', ], 'AvailabilityZone' => [ 'shape' => 'GenericString', ], 'VpcId' => [ 'shape' => 'GenericString', ], 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], 'FailureReason' => [ 'shape' => 'GenericString', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampValue', ], 'Arguments' => [ 'shape' => 'MapValue', ], ], ], 'CreateGrokClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Classification', 'Name', 'GrokPattern', ], 'members' => [ 'Classification' => [ 'shape' => 'Classification', ], 'Name' => [ 'shape' => 'NameString', ], 'GrokPattern' => [ 'shape' => 'GrokPattern', ], 'CustomPatterns' => [ 'shape' => 'CustomPatterns', ], ], ], 'CreateJobRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Role', 'Command', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'LogUri' => [ 'shape' => 'UriString', ], 'Role' => [ 'shape' => 'RoleString', ], 'ExecutionProperty' => [ 'shape' => 'ExecutionProperty', ], 'Command' => [ 'shape' => 'JobCommand', ], 'DefaultArguments' => [ 'shape' => 'GenericMap', ], 'Connections' => [ 'shape' => 'ConnectionsList', ], 'MaxRetries' => [ 'shape' => 'MaxRetries', ], 'AllocatedCapacity' => [ 'shape' => 'IntegerValue', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated, use MaxCapacity instead.', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MaxCapacity' => [ 'shape' => 'NullableDouble', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'WorkerType' => [ 'shape' => 'WorkerType', ], 'NumberOfWorkers' => [ 'shape' => 'NullableInteger', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'CreateJsonClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'JsonPath', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'JsonPath' => [ 'shape' => 'JsonPath', ], ], ], 'CreatePartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionInput' => [ 'shape' => 'PartitionInput', ], ], ], 'CreatePartitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateScriptRequest' => [ 'type' => 'structure', 'members' => [ 'DagNodes' => [ 'shape' => 'DagNodes', ], 'DagEdges' => [ 'shape' => 'DagEdges', ], 'Language' => [ 'shape' => 'Language', ], ], ], 'CreateScriptResponse' => [ 'type' => 'structure', 'members' => [ 'PythonScript' => [ 'shape' => 'PythonScript', ], 'ScalaCode' => [ 'shape' => 'ScalaCode', ], ], ], 'CreateSecurityConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'EncryptionConfiguration', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], 'CreateSecurityConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampValue', ], ], ], 'CreateTableRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableInput' => [ 'shape' => 'TableInput', ], ], ], 'CreateTableResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', 'Actions', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Type' => [ 'shape' => 'TriggerType', ], 'Schedule' => [ 'shape' => 'GenericString', ], 'Predicate' => [ 'shape' => 'Predicate', ], 'Actions' => [ 'shape' => 'ActionList', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'StartOnCreation' => [ 'shape' => 'BooleanValue', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'CreateTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'CreateUserDefinedFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'FunctionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'FunctionInput' => [ 'shape' => 'UserDefinedFunctionInput', ], ], ], 'CreateUserDefinedFunctionResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateXMLClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Classification', 'Name', ], 'members' => [ 'Classification' => [ 'shape' => 'Classification', ], 'Name' => [ 'shape' => 'NameString', ], 'RowTag' => [ 'shape' => 'RowTag', ], ], ], 'CronExpression' => [ 'type' => 'string', ], 'CsvClassifier' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdated' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'VersionId', ], 'Delimiter' => [ 'shape' => 'CsvColumnDelimiter', ], 'QuoteSymbol' => [ 'shape' => 'CsvQuoteSymbol', ], 'ContainsHeader' => [ 'shape' => 'CsvHeaderOption', ], 'Header' => [ 'shape' => 'CsvHeader', ], 'DisableValueTrimming' => [ 'shape' => 'NullableBoolean', ], 'AllowSingleColumn' => [ 'shape' => 'NullableBoolean', ], ], ], 'CsvColumnDelimiter' => [ 'type' => 'string', 'max' => 1, 'min' => 1, 'pattern' => '[^\\r\\n]', ], 'CsvHeader' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'CsvHeaderOption' => [ 'type' => 'string', 'enum' => [ 'UNKNOWN', 'PRESENT', 'ABSENT', ], ], 'CsvQuoteSymbol' => [ 'type' => 'string', 'max' => 1, 'min' => 1, 'pattern' => '[^\\r\\n]', ], 'CustomPatterns' => [ 'type' => 'string', 'max' => 16000, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'DagEdges' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeGenEdge', ], ], 'DagNodes' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeGenNode', ], ], 'DataCatalogEncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'EncryptionAtRest' => [ 'shape' => 'EncryptionAtRest', ], 'ConnectionPasswordEncryption' => [ 'shape' => 'ConnectionPasswordEncryption', ], ], ], 'Database' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'LocationUri' => [ 'shape' => 'URI', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], 'CreateTime' => [ 'shape' => 'Timestamp', ], ], ], 'DatabaseInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'LocationUri' => [ 'shape' => 'URI', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], ], ], 'DatabaseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Database', ], ], 'DatabaseName' => [ 'type' => 'string', ], 'DeleteBehavior' => [ 'type' => 'string', 'enum' => [ 'LOG', 'DELETE_FROM_DATABASE', 'DEPRECATE_IN_DATABASE', ], ], 'DeleteClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteClassifierResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConnectionNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], 'max' => 25, 'min' => 0, ], 'DeleteConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'ConnectionName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'ConnectionName' => [ 'shape' => 'NameString', ], ], ], 'DeleteConnectionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteDatabaseResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDevEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], ], ], 'DeleteDevEndpointResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], ], ], 'DeleteJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], ], ], 'DeletePartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionValues', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionValues' => [ 'shape' => 'ValueStringList', ], ], ], 'DeletePartitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteResourcePolicyRequest' => [ 'type' => 'structure', 'members' => [ 'PolicyHashCondition' => [ 'shape' => 'HashString', ], ], ], 'DeleteResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSecurityConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteSecurityConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTableRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'Name', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteTableResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTableVersionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'VersionId', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'VersionId' => [ 'shape' => 'VersionString', ], ], ], 'DeleteTableVersionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'DeleteUserDefinedFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'FunctionName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'FunctionName' => [ 'shape' => 'NameString', ], ], ], 'DeleteUserDefinedFunctionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescriptionString' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'DescriptionStringRemovable' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'DevEndpoint' => [ 'type' => 'structure', 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'SecurityGroupIds' => [ 'shape' => 'StringList', ], 'SubnetId' => [ 'shape' => 'GenericString', ], 'YarnEndpointAddress' => [ 'shape' => 'GenericString', ], 'PrivateAddress' => [ 'shape' => 'GenericString', ], 'ZeppelinRemoteSparkInterpreterPort' => [ 'shape' => 'IntegerValue', ], 'PublicAddress' => [ 'shape' => 'GenericString', ], 'Status' => [ 'shape' => 'GenericString', ], 'NumberOfNodes' => [ 'shape' => 'IntegerValue', ], 'AvailabilityZone' => [ 'shape' => 'GenericString', ], 'VpcId' => [ 'shape' => 'GenericString', ], 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], 'FailureReason' => [ 'shape' => 'GenericString', ], 'LastUpdateStatus' => [ 'shape' => 'GenericString', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampValue', ], 'LastModifiedTimestamp' => [ 'shape' => 'TimestampValue', ], 'PublicKey' => [ 'shape' => 'GenericString', ], 'PublicKeys' => [ 'shape' => 'PublicKeysList', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'Arguments' => [ 'shape' => 'MapValue', ], ], ], 'DevEndpointCustomLibraries' => [ 'type' => 'structure', 'members' => [ 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], ], ], 'DevEndpointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DevEndpoint', ], ], 'DevEndpointNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'DevEndpointNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], 'max' => 25, 'min' => 1, ], 'DynamoDBTarget' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'Path', ], ], ], 'DynamoDBTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DynamoDBTarget', ], ], 'EncryptionAtRest' => [ 'type' => 'structure', 'required' => [ 'CatalogEncryptionMode', ], 'members' => [ 'CatalogEncryptionMode' => [ 'shape' => 'CatalogEncryptionMode', ], 'SseAwsKmsKeyId' => [ 'shape' => 'NameString', ], ], ], 'EncryptionConfiguration' => [ 'type' => 'structure', 'members' => [ 'S3Encryption' => [ 'shape' => 'S3EncryptionList', ], 'CloudWatchEncryption' => [ 'shape' => 'CloudWatchEncryption', ], 'JobBookmarksEncryption' => [ 'shape' => 'JobBookmarksEncryption', ], ], ], 'EntityNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ErrorByName' => [ 'type' => 'map', 'key' => [ 'shape' => 'NameString', ], 'value' => [ 'shape' => 'ErrorDetail', ], ], 'ErrorDetail' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'NameString', ], 'ErrorMessage' => [ 'shape' => 'DescriptionString', ], ], ], 'ErrorString' => [ 'type' => 'string', ], 'ExecutionProperty' => [ 'type' => 'structure', 'members' => [ 'MaxConcurrentRuns' => [ 'shape' => 'MaxConcurrentRuns', ], ], ], 'ExecutionTime' => [ 'type' => 'integer', ], 'ExistCondition' => [ 'type' => 'string', 'enum' => [ 'MUST_EXIST', 'NOT_EXIST', 'NONE', ], ], 'FieldType' => [ 'type' => 'string', ], 'FilterString' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'FormatString' => [ 'type' => 'string', 'max' => 128, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'GenericMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'GenericString', ], 'value' => [ 'shape' => 'GenericString', ], ], 'GenericString' => [ 'type' => 'string', ], 'GetCatalogImportStatusRequest' => [ 'type' => 'structure', 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], ], ], 'GetCatalogImportStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ImportStatus' => [ 'shape' => 'CatalogImportStatus', ], ], ], 'GetClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetClassifierResponse' => [ 'type' => 'structure', 'members' => [ 'Classifier' => [ 'shape' => 'Classifier', ], ], ], 'GetClassifiersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetClassifiersResponse' => [ 'type' => 'structure', 'members' => [ 'Classifiers' => [ 'shape' => 'ClassifierList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Name' => [ 'shape' => 'NameString', ], 'HidePassword' => [ 'shape' => 'Boolean', ], ], ], 'GetConnectionResponse' => [ 'type' => 'structure', 'members' => [ 'Connection' => [ 'shape' => 'Connection', ], ], ], 'GetConnectionsFilter' => [ 'type' => 'structure', 'members' => [ 'MatchCriteria' => [ 'shape' => 'MatchCriteria', ], 'ConnectionType' => [ 'shape' => 'ConnectionType', ], ], ], 'GetConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Filter' => [ 'shape' => 'GetConnectionsFilter', ], 'HidePassword' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetConnectionsResponse' => [ 'type' => 'structure', 'members' => [ 'ConnectionList' => [ 'shape' => 'ConnectionList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetCrawlerMetricsRequest' => [ 'type' => 'structure', 'members' => [ 'CrawlerNameList' => [ 'shape' => 'CrawlerNameList', ], 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetCrawlerMetricsResponse' => [ 'type' => 'structure', 'members' => [ 'CrawlerMetricsList' => [ 'shape' => 'CrawlerMetricsList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetCrawlerResponse' => [ 'type' => 'structure', 'members' => [ 'Crawler' => [ 'shape' => 'Crawler', ], ], ], 'GetCrawlersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetCrawlersResponse' => [ 'type' => 'structure', 'members' => [ 'Crawlers' => [ 'shape' => 'CrawlerList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetDataCatalogEncryptionSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], ], ], 'GetDataCatalogEncryptionSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'DataCatalogEncryptionSettings' => [ 'shape' => 'DataCatalogEncryptionSettings', ], ], ], 'GetDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetDatabaseResponse' => [ 'type' => 'structure', 'members' => [ 'Database' => [ 'shape' => 'Database', ], ], ], 'GetDatabasesRequest' => [ 'type' => 'structure', 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetDatabasesResponse' => [ 'type' => 'structure', 'required' => [ 'DatabaseList', ], 'members' => [ 'DatabaseList' => [ 'shape' => 'DatabaseList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetDataflowGraphRequest' => [ 'type' => 'structure', 'members' => [ 'PythonScript' => [ 'shape' => 'PythonScript', ], ], ], 'GetDataflowGraphResponse' => [ 'type' => 'structure', 'members' => [ 'DagNodes' => [ 'shape' => 'DagNodes', ], 'DagEdges' => [ 'shape' => 'DagEdges', ], ], ], 'GetDevEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], ], ], 'GetDevEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'DevEndpoint' => [ 'shape' => 'DevEndpoint', ], ], ], 'GetDevEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetDevEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'DevEndpoints' => [ 'shape' => 'DevEndpointList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], ], ], 'GetJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', ], ], ], 'GetJobRunRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', 'RunId', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'RunId' => [ 'shape' => 'IdString', ], 'PredecessorsIncluded' => [ 'shape' => 'BooleanValue', ], ], ], 'GetJobRunResponse' => [ 'type' => 'structure', 'members' => [ 'JobRun' => [ 'shape' => 'JobRun', ], ], ], 'GetJobRunsRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'NextToken' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetJobRunsResponse' => [ 'type' => 'structure', 'members' => [ 'JobRuns' => [ 'shape' => 'JobRunList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetJobsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => 'JobList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetMappingRequest' => [ 'type' => 'structure', 'required' => [ 'Source', ], 'members' => [ 'Source' => [ 'shape' => 'CatalogEntry', ], 'Sinks' => [ 'shape' => 'CatalogEntries', ], 'Location' => [ 'shape' => 'Location', ], ], ], 'GetMappingResponse' => [ 'type' => 'structure', 'required' => [ 'Mapping', ], 'members' => [ 'Mapping' => [ 'shape' => 'MappingList', ], ], ], 'GetPartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionValues', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionValues' => [ 'shape' => 'ValueStringList', ], ], ], 'GetPartitionResponse' => [ 'type' => 'structure', 'members' => [ 'Partition' => [ 'shape' => 'Partition', ], ], ], 'GetPartitionsRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'Expression' => [ 'shape' => 'PredicateString', ], 'NextToken' => [ 'shape' => 'Token', ], 'Segment' => [ 'shape' => 'Segment', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetPartitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Partitions' => [ 'shape' => 'PartitionList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetPlanRequest' => [ 'type' => 'structure', 'required' => [ 'Mapping', 'Source', ], 'members' => [ 'Mapping' => [ 'shape' => 'MappingList', ], 'Source' => [ 'shape' => 'CatalogEntry', ], 'Sinks' => [ 'shape' => 'CatalogEntries', ], 'Location' => [ 'shape' => 'Location', ], 'Language' => [ 'shape' => 'Language', ], ], ], 'GetPlanResponse' => [ 'type' => 'structure', 'members' => [ 'PythonScript' => [ 'shape' => 'PythonScript', ], 'ScalaCode' => [ 'shape' => 'ScalaCode', ], ], ], 'GetResourcePolicyRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyInJson' => [ 'shape' => 'PolicyJsonString', ], 'PolicyHash' => [ 'shape' => 'HashString', ], 'CreateTime' => [ 'shape' => 'Timestamp', ], 'UpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'GetSecurityConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetSecurityConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityConfiguration' => [ 'shape' => 'SecurityConfiguration', ], ], ], 'GetSecurityConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetSecurityConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityConfigurations' => [ 'shape' => 'SecurityConfigurationList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetTableRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'Name', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetTableResponse' => [ 'type' => 'structure', 'members' => [ 'Table' => [ 'shape' => 'Table', ], ], ], 'GetTableVersionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'VersionId' => [ 'shape' => 'VersionString', ], ], ], 'GetTableVersionResponse' => [ 'type' => 'structure', 'members' => [ 'TableVersion' => [ 'shape' => 'TableVersion', ], ], ], 'GetTableVersionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableVersion', ], ], 'GetTableVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetTableVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'TableVersions' => [ 'shape' => 'GetTableVersionsList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetTablesRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'Expression' => [ 'shape' => 'FilterString', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetTablesResponse' => [ 'type' => 'structure', 'members' => [ 'TableList' => [ 'shape' => 'TableList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GetTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'GlueResourceArn', ], ], ], 'GetTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'GetTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'GetTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Trigger' => [ 'shape' => 'Trigger', ], ], ], 'GetTriggersRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GenericString', ], 'DependentJobName' => [ 'shape' => 'NameString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetTriggersResponse' => [ 'type' => 'structure', 'members' => [ 'Triggers' => [ 'shape' => 'TriggerList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'GetUserDefinedFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'FunctionName', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'FunctionName' => [ 'shape' => 'NameString', ], ], ], 'GetUserDefinedFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'UserDefinedFunction' => [ 'shape' => 'UserDefinedFunction', ], ], ], 'GetUserDefinedFunctionsRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'Pattern', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'Pattern' => [ 'shape' => 'NameString', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'GetUserDefinedFunctionsResponse' => [ 'type' => 'structure', 'members' => [ 'UserDefinedFunctions' => [ 'shape' => 'UserDefinedFunctionList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'GlueEncryptionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'GlueResourceArn' => [ 'type' => 'string', 'max' => 10240, 'min' => 1, 'pattern' => 'arn:aws:glue:.*', ], 'GrokClassifier' => [ 'type' => 'structure', 'required' => [ 'Name', 'Classification', 'GrokPattern', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Classification' => [ 'shape' => 'Classification', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdated' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'VersionId', ], 'GrokPattern' => [ 'shape' => 'GrokPattern', ], 'CustomPatterns' => [ 'shape' => 'CustomPatterns', ], ], ], 'GrokPattern' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\t]*', ], 'HashString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'IdString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ImportCatalogToGlueRequest' => [ 'type' => 'structure', 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], ], ], 'ImportCatalogToGlueResponse' => [ 'type' => 'structure', 'members' => [], ], 'Integer' => [ 'type' => 'integer', ], 'IntegerFlag' => [ 'type' => 'integer', 'max' => 1, 'min' => 0, ], 'IntegerValue' => [ 'type' => 'integer', ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, 'fault' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'JdbcTarget' => [ 'type' => 'structure', 'members' => [ 'ConnectionName' => [ 'shape' => 'ConnectionName', ], 'Path' => [ 'shape' => 'Path', ], 'Exclusions' => [ 'shape' => 'PathList', ], ], ], 'JdbcTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JdbcTarget', ], ], 'Job' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'LogUri' => [ 'shape' => 'UriString', ], 'Role' => [ 'shape' => 'RoleString', ], 'CreatedOn' => [ 'shape' => 'TimestampValue', ], 'LastModifiedOn' => [ 'shape' => 'TimestampValue', ], 'ExecutionProperty' => [ 'shape' => 'ExecutionProperty', ], 'Command' => [ 'shape' => 'JobCommand', ], 'DefaultArguments' => [ 'shape' => 'GenericMap', ], 'Connections' => [ 'shape' => 'ConnectionsList', ], 'MaxRetries' => [ 'shape' => 'MaxRetries', ], 'AllocatedCapacity' => [ 'shape' => 'IntegerValue', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated, use MaxCapacity instead.', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MaxCapacity' => [ 'shape' => 'NullableDouble', ], 'WorkerType' => [ 'shape' => 'WorkerType', ], 'NumberOfWorkers' => [ 'shape' => 'NullableInteger', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], ], ], 'JobBookmarkEntry' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], 'Version' => [ 'shape' => 'IntegerValue', ], 'Run' => [ 'shape' => 'IntegerValue', ], 'Attempt' => [ 'shape' => 'IntegerValue', ], 'JobBookmark' => [ 'shape' => 'JsonValue', ], ], ], 'JobBookmarksEncryption' => [ 'type' => 'structure', 'members' => [ 'JobBookmarksEncryptionMode' => [ 'shape' => 'JobBookmarksEncryptionMode', ], 'KmsKeyArn' => [ 'shape' => 'KmsKeyArn', ], ], ], 'JobBookmarksEncryptionMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'CSE-KMS', ], ], 'JobCommand' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'GenericString', ], 'ScriptLocation' => [ 'shape' => 'ScriptLocationString', ], ], ], 'JobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], 'JobName' => [ 'type' => 'string', ], 'JobNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'JobRun' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdString', ], 'Attempt' => [ 'shape' => 'AttemptCount', ], 'PreviousRunId' => [ 'shape' => 'IdString', ], 'TriggerName' => [ 'shape' => 'NameString', ], 'JobName' => [ 'shape' => 'NameString', ], 'StartedOn' => [ 'shape' => 'TimestampValue', ], 'LastModifiedOn' => [ 'shape' => 'TimestampValue', ], 'CompletedOn' => [ 'shape' => 'TimestampValue', ], 'JobRunState' => [ 'shape' => 'JobRunState', ], 'Arguments' => [ 'shape' => 'GenericMap', ], 'ErrorMessage' => [ 'shape' => 'ErrorString', ], 'PredecessorRuns' => [ 'shape' => 'PredecessorList', ], 'AllocatedCapacity' => [ 'shape' => 'IntegerValue', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated, use MaxCapacity instead.', ], 'ExecutionTime' => [ 'shape' => 'ExecutionTime', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MaxCapacity' => [ 'shape' => 'NullableDouble', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'WorkerType' => [ 'shape' => 'WorkerType', ], 'NumberOfWorkers' => [ 'shape' => 'NullableInteger', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'LogGroupName' => [ 'shape' => 'GenericString', ], ], ], 'JobRunList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobRun', ], ], 'JobRunState' => [ 'type' => 'string', 'enum' => [ 'STARTING', 'RUNNING', 'STOPPING', 'STOPPED', 'SUCCEEDED', 'FAILED', 'TIMEOUT', ], ], 'JobUpdate' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'DescriptionString', ], 'LogUri' => [ 'shape' => 'UriString', ], 'Role' => [ 'shape' => 'RoleString', ], 'ExecutionProperty' => [ 'shape' => 'ExecutionProperty', ], 'Command' => [ 'shape' => 'JobCommand', ], 'DefaultArguments' => [ 'shape' => 'GenericMap', ], 'Connections' => [ 'shape' => 'ConnectionsList', ], 'MaxRetries' => [ 'shape' => 'MaxRetries', ], 'AllocatedCapacity' => [ 'shape' => 'IntegerValue', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated, use MaxCapacity instead.', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MaxCapacity' => [ 'shape' => 'NullableDouble', ], 'WorkerType' => [ 'shape' => 'WorkerType', ], 'NumberOfWorkers' => [ 'shape' => 'NullableInteger', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], ], ], 'JsonClassifier' => [ 'type' => 'structure', 'required' => [ 'Name', 'JsonPath', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdated' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'VersionId', ], 'JsonPath' => [ 'shape' => 'JsonPath', ], ], ], 'JsonPath' => [ 'type' => 'string', ], 'JsonValue' => [ 'type' => 'string', ], 'KeyString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'KmsKeyArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:kms:.*', ], 'Language' => [ 'type' => 'string', 'enum' => [ 'PYTHON', 'SCALA', ], ], 'LastCrawlInfo' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'LastCrawlStatus', ], 'ErrorMessage' => [ 'shape' => 'DescriptionString', ], 'LogGroup' => [ 'shape' => 'LogGroup', ], 'LogStream' => [ 'shape' => 'LogStream', ], 'MessagePrefix' => [ 'shape' => 'MessagePrefix', ], 'StartTime' => [ 'shape' => 'Timestamp', ], ], ], 'LastCrawlStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'CANCELLED', 'FAILED', ], ], 'ListCrawlersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PageSize', ], 'NextToken' => [ 'shape' => 'Token', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'ListCrawlersResponse' => [ 'type' => 'structure', 'members' => [ 'CrawlerNames' => [ 'shape' => 'CrawlerNameList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListDevEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'ListDevEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'DevEndpointNames' => [ 'shape' => 'DevEndpointNameList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GenericString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'ListJobsResponse' => [ 'type' => 'structure', 'members' => [ 'JobNames' => [ 'shape' => 'JobNameList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'ListTriggersRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GenericString', ], 'DependentJobName' => [ 'shape' => 'NameString', ], 'MaxResults' => [ 'shape' => 'PageSize', ], 'Tags' => [ 'shape' => 'TagsMap', ], ], ], 'ListTriggersResponse' => [ 'type' => 'structure', 'members' => [ 'TriggerNames' => [ 'shape' => 'TriggerNameList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'Location' => [ 'type' => 'structure', 'members' => [ 'Jdbc' => [ 'shape' => 'CodeGenNodeArgs', ], 'S3' => [ 'shape' => 'CodeGenNodeArgs', ], 'DynamoDB' => [ 'shape' => 'CodeGenNodeArgs', ], ], ], 'LocationMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ColumnValuesString', ], 'value' => [ 'shape' => 'ColumnValuesString', ], ], 'LocationString' => [ 'type' => 'string', 'max' => 2056, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'LogGroup' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[\\.\\-_/#A-Za-z0-9]+', ], 'LogStream' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[^:*]*', ], 'Logical' => [ 'type' => 'string', 'enum' => [ 'AND', 'ANY', ], ], 'LogicalOperator' => [ 'type' => 'string', 'enum' => [ 'EQUALS', ], ], 'MapValue' => [ 'type' => 'map', 'key' => [ 'shape' => 'GenericString', ], 'value' => [ 'shape' => 'GenericString', ], 'max' => 100, 'min' => 0, ], 'MappingEntry' => [ 'type' => 'structure', 'members' => [ 'SourceTable' => [ 'shape' => 'TableName', ], 'SourcePath' => [ 'shape' => 'SchemaPathString', ], 'SourceType' => [ 'shape' => 'FieldType', ], 'TargetTable' => [ 'shape' => 'TableName', ], 'TargetPath' => [ 'shape' => 'SchemaPathString', ], 'TargetType' => [ 'shape' => 'FieldType', ], ], ], 'MappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MappingEntry', ], ], 'MatchCriteria' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], 'max' => 10, 'min' => 0, ], 'MaxConcurrentRuns' => [ 'type' => 'integer', ], 'MaxRetries' => [ 'type' => 'integer', ], 'MessagePrefix' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'MessageString' => [ 'type' => 'string', ], 'MillisecondsCount' => [ 'type' => 'long', ], 'NameString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'NameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'NoScheduleException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'NonNegativeDouble' => [ 'type' => 'double', 'min' => 0, ], 'NonNegativeInteger' => [ 'type' => 'integer', 'min' => 0, ], 'NotificationProperty' => [ 'type' => 'structure', 'members' => [ 'NotifyDelayAfter' => [ 'shape' => 'NotifyDelayAfter', ], ], ], 'NotifyDelayAfter' => [ 'type' => 'integer', 'box' => true, 'min' => 1, ], 'NullableBoolean' => [ 'type' => 'boolean', 'box' => true, ], 'NullableDouble' => [ 'type' => 'double', 'box' => true, ], 'NullableInteger' => [ 'type' => 'integer', 'box' => true, ], 'OperationTimeoutException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'Order' => [ 'type' => 'structure', 'required' => [ 'Column', 'SortOrder', ], 'members' => [ 'Column' => [ 'shape' => 'NameString', ], 'SortOrder' => [ 'shape' => 'IntegerFlag', ], ], ], 'OrderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Order', ], ], 'PageSize' => [ 'type' => 'integer', 'box' => true, 'max' => 1000, 'min' => 1, ], 'ParametersMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'KeyString', ], 'value' => [ 'shape' => 'ParametersMapValue', ], ], 'ParametersMapValue' => [ 'type' => 'string', 'max' => 512000, ], 'Partition' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ValueStringList', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastAccessTime' => [ 'shape' => 'Timestamp', ], 'StorageDescriptor' => [ 'shape' => 'StorageDescriptor', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], 'LastAnalyzedTime' => [ 'shape' => 'Timestamp', ], ], ], 'PartitionError' => [ 'type' => 'structure', 'members' => [ 'PartitionValues' => [ 'shape' => 'ValueStringList', ], 'ErrorDetail' => [ 'shape' => 'ErrorDetail', ], ], ], 'PartitionErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionError', ], ], 'PartitionInput' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ValueStringList', ], 'LastAccessTime' => [ 'shape' => 'Timestamp', ], 'StorageDescriptor' => [ 'shape' => 'StorageDescriptor', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], 'LastAnalyzedTime' => [ 'shape' => 'Timestamp', ], ], ], 'PartitionInputList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PartitionInput', ], 'max' => 100, 'min' => 0, ], 'PartitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Partition', ], ], 'PartitionValueList' => [ 'type' => 'structure', 'required' => [ 'Values', ], 'members' => [ 'Values' => [ 'shape' => 'ValueStringList', ], ], ], 'Path' => [ 'type' => 'string', ], 'PathList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Path', ], ], 'PhysicalConnectionRequirements' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'NameString', ], 'SecurityGroupIdList' => [ 'shape' => 'SecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'NameString', ], ], ], 'PolicyJsonString' => [ 'type' => 'string', 'max' => 10240, 'min' => 2, ], 'Predecessor' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'RunId' => [ 'shape' => 'IdString', ], ], ], 'PredecessorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Predecessor', ], ], 'Predicate' => [ 'type' => 'structure', 'members' => [ 'Logical' => [ 'shape' => 'Logical', ], 'Conditions' => [ 'shape' => 'ConditionList', ], ], ], 'PredicateString' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'PrincipalType' => [ 'type' => 'string', 'enum' => [ 'USER', 'ROLE', 'GROUP', ], ], 'PublicKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], 'max' => 5, ], 'PutDataCatalogEncryptionSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'DataCatalogEncryptionSettings', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DataCatalogEncryptionSettings' => [ 'shape' => 'DataCatalogEncryptionSettings', ], ], ], 'PutDataCatalogEncryptionSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutResourcePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyInJson', ], 'members' => [ 'PolicyInJson' => [ 'shape' => 'PolicyJsonString', ], 'PolicyHashCondition' => [ 'shape' => 'HashString', ], 'PolicyExistsCondition' => [ 'shape' => 'ExistCondition', ], ], ], 'PutResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyHash' => [ 'shape' => 'HashString', ], ], ], 'PythonScript' => [ 'type' => 'string', ], 'ResetJobBookmarkRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', ], 'members' => [ 'JobName' => [ 'shape' => 'JobName', ], ], ], 'ResetJobBookmarkResponse' => [ 'type' => 'structure', 'members' => [ 'JobBookmarkEntry' => [ 'shape' => 'JobBookmarkEntry', ], ], ], 'ResourceNumberLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'JAR', 'FILE', 'ARCHIVE', ], ], 'ResourceUri' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Uri' => [ 'shape' => 'URI', ], ], ], 'ResourceUriList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceUri', ], 'max' => 1000, 'min' => 0, ], 'Role' => [ 'type' => 'string', ], 'RoleArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:iam::\\d{12}:role/.*', ], 'RoleString' => [ 'type' => 'string', ], 'RowTag' => [ 'type' => 'string', ], 'S3Encryption' => [ 'type' => 'structure', 'members' => [ 'S3EncryptionMode' => [ 'shape' => 'S3EncryptionMode', ], 'KmsKeyArn' => [ 'shape' => 'KmsKeyArn', ], ], ], 'S3EncryptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3Encryption', ], ], 'S3EncryptionMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'SSE-KMS', 'SSE-S3', ], ], 'S3Target' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'Path', ], 'Exclusions' => [ 'shape' => 'PathList', ], ], ], 'S3TargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3Target', ], ], 'ScalaCode' => [ 'type' => 'string', ], 'Schedule' => [ 'type' => 'structure', 'members' => [ 'ScheduleExpression' => [ 'shape' => 'CronExpression', ], 'State' => [ 'shape' => 'ScheduleState', ], ], ], 'ScheduleState' => [ 'type' => 'string', 'enum' => [ 'SCHEDULED', 'NOT_SCHEDULED', 'TRANSITIONING', ], ], 'SchedulerNotRunningException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'SchedulerRunningException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'SchedulerTransitioningException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'SchemaChangePolicy' => [ 'type' => 'structure', 'members' => [ 'UpdateBehavior' => [ 'shape' => 'UpdateBehavior', ], 'DeleteBehavior' => [ 'shape' => 'DeleteBehavior', ], ], ], 'SchemaPathString' => [ 'type' => 'string', ], 'ScriptLocationString' => [ 'type' => 'string', ], 'SecurityConfiguration' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'CreatedTimeStamp' => [ 'shape' => 'TimestampValue', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], 'SecurityConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityConfiguration', ], ], 'SecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], 'max' => 50, 'min' => 0, ], 'Segment' => [ 'type' => 'structure', 'required' => [ 'SegmentNumber', 'TotalSegments', ], 'members' => [ 'SegmentNumber' => [ 'shape' => 'NonNegativeInteger', ], 'TotalSegments' => [ 'shape' => 'TotalSegmentsInteger', ], ], ], 'SerDeInfo' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'SerializationLibrary' => [ 'shape' => 'NameString', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], ], ], 'SkewedInfo' => [ 'type' => 'structure', 'members' => [ 'SkewedColumnNames' => [ 'shape' => 'NameStringList', ], 'SkewedColumnValues' => [ 'shape' => 'ColumnValueStringList', ], 'SkewedColumnValueLocationMaps' => [ 'shape' => 'LocationMap', ], ], ], 'StartCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StartCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], 'StartCrawlerScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'CrawlerName', ], 'members' => [ 'CrawlerName' => [ 'shape' => 'NameString', ], ], ], 'StartCrawlerScheduleResponse' => [ 'type' => 'structure', 'members' => [], ], 'StartJobRunRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'JobRunId' => [ 'shape' => 'IdString', ], 'Arguments' => [ 'shape' => 'GenericMap', ], 'AllocatedCapacity' => [ 'shape' => 'IntegerValue', 'deprecated' => true, 'deprecatedMessage' => 'This property is deprecated, use MaxCapacity instead.', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MaxCapacity' => [ 'shape' => 'NullableDouble', ], 'WorkerType' => [ 'shape' => 'WorkerType', ], 'NumberOfWorkers' => [ 'shape' => 'NullableInteger', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], ], ], 'StartJobRunResponse' => [ 'type' => 'structure', 'members' => [ 'JobRunId' => [ 'shape' => 'IdString', ], ], ], 'StartTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StartTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StopCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StopCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopCrawlerScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'CrawlerName', ], 'members' => [ 'CrawlerName' => [ 'shape' => 'NameString', ], ], ], 'StopCrawlerScheduleResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StopTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], ], ], 'StorageDescriptor' => [ 'type' => 'structure', 'members' => [ 'Columns' => [ 'shape' => 'ColumnList', ], 'Location' => [ 'shape' => 'LocationString', ], 'InputFormat' => [ 'shape' => 'FormatString', ], 'OutputFormat' => [ 'shape' => 'FormatString', ], 'Compressed' => [ 'shape' => 'Boolean', ], 'NumberOfBuckets' => [ 'shape' => 'Integer', ], 'SerdeInfo' => [ 'shape' => 'SerDeInfo', ], 'BucketColumns' => [ 'shape' => 'NameStringList', ], 'SortColumns' => [ 'shape' => 'OrderList', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], 'SkewedInfo' => [ 'shape' => 'SkewedInfo', ], 'StoredAsSubDirectories' => [ 'shape' => 'Boolean', ], ], ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], ], 'Table' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Owner' => [ 'shape' => 'NameString', ], 'CreateTime' => [ 'shape' => 'Timestamp', ], 'UpdateTime' => [ 'shape' => 'Timestamp', ], 'LastAccessTime' => [ 'shape' => 'Timestamp', ], 'LastAnalyzedTime' => [ 'shape' => 'Timestamp', ], 'Retention' => [ 'shape' => 'NonNegativeInteger', ], 'StorageDescriptor' => [ 'shape' => 'StorageDescriptor', ], 'PartitionKeys' => [ 'shape' => 'ColumnList', ], 'ViewOriginalText' => [ 'shape' => 'ViewTextString', ], 'ViewExpandedText' => [ 'shape' => 'ViewTextString', ], 'TableType' => [ 'shape' => 'TableTypeString', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], 'CreatedBy' => [ 'shape' => 'NameString', ], ], ], 'TableError' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'NameString', ], 'ErrorDetail' => [ 'shape' => 'ErrorDetail', ], ], ], 'TableErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableError', ], ], 'TableInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Owner' => [ 'shape' => 'NameString', ], 'LastAccessTime' => [ 'shape' => 'Timestamp', ], 'LastAnalyzedTime' => [ 'shape' => 'Timestamp', ], 'Retention' => [ 'shape' => 'NonNegativeInteger', ], 'StorageDescriptor' => [ 'shape' => 'StorageDescriptor', ], 'PartitionKeys' => [ 'shape' => 'ColumnList', ], 'ViewOriginalText' => [ 'shape' => 'ViewTextString', ], 'ViewExpandedText' => [ 'shape' => 'ViewTextString', ], 'TableType' => [ 'shape' => 'TableTypeString', ], 'Parameters' => [ 'shape' => 'ParametersMap', ], ], ], 'TableList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Table', ], ], 'TableName' => [ 'type' => 'string', ], 'TablePrefix' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'TableTypeString' => [ 'type' => 'string', 'max' => 255, ], 'TableVersion' => [ 'type' => 'structure', 'members' => [ 'Table' => [ 'shape' => 'Table', ], 'VersionId' => [ 'shape' => 'VersionString', ], ], ], 'TableVersionError' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'NameString', ], 'VersionId' => [ 'shape' => 'VersionString', ], 'ErrorDetail' => [ 'shape' => 'ErrorDetail', ], ], ], 'TableVersionErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableVersionError', ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 0, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagsToAdd', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'GlueResourceArn', ], 'TagsToAdd' => [ 'shape' => 'TagsMap', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TagsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 0, ], 'Timeout' => [ 'type' => 'integer', 'box' => true, 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TimestampValue' => [ 'type' => 'timestamp', ], 'Token' => [ 'type' => 'string', ], 'TotalSegmentsInteger' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'Trigger' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Id' => [ 'shape' => 'IdString', ], 'Type' => [ 'shape' => 'TriggerType', ], 'State' => [ 'shape' => 'TriggerState', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Schedule' => [ 'shape' => 'GenericString', ], 'Actions' => [ 'shape' => 'ActionList', ], 'Predicate' => [ 'shape' => 'Predicate', ], ], ], 'TriggerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trigger', ], ], 'TriggerNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NameString', ], ], 'TriggerState' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'CREATED', 'ACTIVATING', 'ACTIVATED', 'DEACTIVATING', 'DEACTIVATED', 'DELETING', 'UPDATING', ], ], 'TriggerType' => [ 'type' => 'string', 'enum' => [ 'SCHEDULED', 'CONDITIONAL', 'ON_DEMAND', ], ], 'TriggerUpdate' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Description' => [ 'shape' => 'DescriptionString', ], 'Schedule' => [ 'shape' => 'GenericString', ], 'Actions' => [ 'shape' => 'ActionList', ], 'Predicate' => [ 'shape' => 'Predicate', ], ], ], 'URI' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*', ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagsToRemove', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'GlueResourceArn', ], 'TagsToRemove' => [ 'shape' => 'TagKeysList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateBehavior' => [ 'type' => 'string', 'enum' => [ 'LOG', 'UPDATE_IN_DATABASE', ], ], 'UpdateClassifierRequest' => [ 'type' => 'structure', 'members' => [ 'GrokClassifier' => [ 'shape' => 'UpdateGrokClassifierRequest', ], 'XMLClassifier' => [ 'shape' => 'UpdateXMLClassifierRequest', ], 'JsonClassifier' => [ 'shape' => 'UpdateJsonClassifierRequest', ], 'CsvClassifier' => [ 'shape' => 'UpdateCsvClassifierRequest', ], ], ], 'UpdateClassifierResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ConnectionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Name' => [ 'shape' => 'NameString', ], 'ConnectionInput' => [ 'shape' => 'ConnectionInput', ], ], ], 'UpdateConnectionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCrawlerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Role' => [ 'shape' => 'Role', ], 'DatabaseName' => [ 'shape' => 'DatabaseName', ], 'Description' => [ 'shape' => 'DescriptionStringRemovable', ], 'Targets' => [ 'shape' => 'CrawlerTargets', ], 'Schedule' => [ 'shape' => 'CronExpression', ], 'Classifiers' => [ 'shape' => 'ClassifierNameList', ], 'TablePrefix' => [ 'shape' => 'TablePrefix', ], 'SchemaChangePolicy' => [ 'shape' => 'SchemaChangePolicy', ], 'Configuration' => [ 'shape' => 'CrawlerConfiguration', ], 'CrawlerSecurityConfiguration' => [ 'shape' => 'CrawlerSecurityConfiguration', ], ], ], 'UpdateCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCrawlerScheduleRequest' => [ 'type' => 'structure', 'required' => [ 'CrawlerName', ], 'members' => [ 'CrawlerName' => [ 'shape' => 'NameString', ], 'Schedule' => [ 'shape' => 'CronExpression', ], ], ], 'UpdateCrawlerScheduleResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCsvClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Delimiter' => [ 'shape' => 'CsvColumnDelimiter', ], 'QuoteSymbol' => [ 'shape' => 'CsvQuoteSymbol', ], 'ContainsHeader' => [ 'shape' => 'CsvHeaderOption', ], 'Header' => [ 'shape' => 'CsvHeader', ], 'DisableValueTrimming' => [ 'shape' => 'NullableBoolean', ], 'AllowSingleColumn' => [ 'shape' => 'NullableBoolean', ], ], ], 'UpdateDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'DatabaseInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'Name' => [ 'shape' => 'NameString', ], 'DatabaseInput' => [ 'shape' => 'DatabaseInput', ], ], ], 'UpdateDatabaseResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDevEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'EndpointName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'GenericString', ], 'PublicKey' => [ 'shape' => 'GenericString', ], 'AddPublicKeys' => [ 'shape' => 'PublicKeysList', ], 'DeletePublicKeys' => [ 'shape' => 'PublicKeysList', ], 'CustomLibraries' => [ 'shape' => 'DevEndpointCustomLibraries', ], 'UpdateEtlLibraries' => [ 'shape' => 'BooleanValue', ], 'DeleteArguments' => [ 'shape' => 'StringList', ], 'AddArguments' => [ 'shape' => 'MapValue', ], ], ], 'UpdateDevEndpointResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateGrokClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Classification' => [ 'shape' => 'Classification', ], 'GrokPattern' => [ 'shape' => 'GrokPattern', ], 'CustomPatterns' => [ 'shape' => 'CustomPatterns', ], ], ], 'UpdateJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobName', 'JobUpdate', ], 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], 'JobUpdate' => [ 'shape' => 'JobUpdate', ], ], ], 'UpdateJobResponse' => [ 'type' => 'structure', 'members' => [ 'JobName' => [ 'shape' => 'NameString', ], ], ], 'UpdateJsonClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'JsonPath' => [ 'shape' => 'JsonPath', ], ], ], 'UpdatePartitionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableName', 'PartitionValueList', 'PartitionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableName' => [ 'shape' => 'NameString', ], 'PartitionValueList' => [ 'shape' => 'BoundedPartitionValueList', ], 'PartitionInput' => [ 'shape' => 'PartitionInput', ], ], ], 'UpdatePartitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTableRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'TableInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'TableInput' => [ 'shape' => 'TableInput', ], 'SkipArchive' => [ 'shape' => 'BooleanNullable', ], ], ], 'UpdateTableResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTriggerRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'TriggerUpdate', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'TriggerUpdate' => [ 'shape' => 'TriggerUpdate', ], ], ], 'UpdateTriggerResponse' => [ 'type' => 'structure', 'members' => [ 'Trigger' => [ 'shape' => 'Trigger', ], ], ], 'UpdateUserDefinedFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'FunctionName', 'FunctionInput', ], 'members' => [ 'CatalogId' => [ 'shape' => 'CatalogIdString', ], 'DatabaseName' => [ 'shape' => 'NameString', ], 'FunctionName' => [ 'shape' => 'NameString', ], 'FunctionInput' => [ 'shape' => 'UserDefinedFunctionInput', ], ], ], 'UpdateUserDefinedFunctionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateXMLClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Classification' => [ 'shape' => 'Classification', ], 'RowTag' => [ 'shape' => 'RowTag', ], ], ], 'UriString' => [ 'type' => 'string', ], 'UserDefinedFunction' => [ 'type' => 'structure', 'members' => [ 'FunctionName' => [ 'shape' => 'NameString', ], 'ClassName' => [ 'shape' => 'NameString', ], 'OwnerName' => [ 'shape' => 'NameString', ], 'OwnerType' => [ 'shape' => 'PrincipalType', ], 'CreateTime' => [ 'shape' => 'Timestamp', ], 'ResourceUris' => [ 'shape' => 'ResourceUriList', ], ], ], 'UserDefinedFunctionInput' => [ 'type' => 'structure', 'members' => [ 'FunctionName' => [ 'shape' => 'NameString', ], 'ClassName' => [ 'shape' => 'NameString', ], 'OwnerName' => [ 'shape' => 'NameString', ], 'OwnerType' => [ 'shape' => 'PrincipalType', ], 'ResourceUris' => [ 'shape' => 'ResourceUriList', ], ], ], 'UserDefinedFunctionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserDefinedFunction', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'ValueString' => [ 'type' => 'string', 'max' => 1024, ], 'ValueStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValueString', ], ], 'VersionId' => [ 'type' => 'long', ], 'VersionMismatchException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'MessageString', ], ], 'exception' => true, ], 'VersionString' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*', ], 'ViewTextString' => [ 'type' => 'string', 'max' => 409600, ], 'WorkerType' => [ 'type' => 'string', 'enum' => [ 'Standard', 'G.1X', 'G.2X', ], ], 'XMLClassifier' => [ 'type' => 'structure', 'required' => [ 'Name', 'Classification', ], 'members' => [ 'Name' => [ 'shape' => 'NameString', ], 'Classification' => [ 'shape' => 'Classification', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastUpdated' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'VersionId', ], 'RowTag' => [ 'shape' => 'RowTag', ], ], ], ],]; diff --git a/lib/aws/Aws/data/glue/2017-03-31/paginators-1.json.php b/lib/aws/Aws/data/glue/2017-03-31/paginators-1.json.php new file mode 100644 index 0000000..fc96514 --- /dev/null +++ b/lib/aws/Aws/data/glue/2017-03-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glue/2017-03-31/paginators-1.json +return [ 'pagination' => [ 'GetClassifiers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetConnections' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetCrawlerMetrics' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetCrawlers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetDatabases' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetDevEndpoints' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetJobRuns' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetJobs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetPartitions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetSecurityConfigurations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SecurityConfigurations', ], 'GetTableVersions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetTables' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetTriggers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetUserDefinedFunctions' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListCrawlers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListDevEndpoints' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListJobs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListTriggers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], ],]; diff --git a/lib/aws/Aws/data/glue/2017-03-31/smoke.json.php b/lib/aws/Aws/data/glue/2017-03-31/smoke.json.php new file mode 100644 index 0000000..742f49c --- /dev/null +++ b/lib/aws/Aws/data/glue/2017-03-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/glue/2017-03-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetCatalogImportStatus', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/greengrass/2017-06-07/api-2.json.php b/lib/aws/Aws/data/greengrass/2017-06-07/api-2.json.php new file mode 100644 index 0000000..eca229e --- /dev/null +++ b/lib/aws/Aws/data/greengrass/2017-06-07/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/greengrass/2017-06-07/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-06-07', 'endpointPrefix' => 'greengrass', 'signingName' => 'greengrass', 'serviceFullName' => 'AWS Greengrass', 'serviceId' => 'Greengrass', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'greengrass-2017-06-07', 'signatureVersion' => 'v4', ], 'operations' => [ 'AssociateRoleToGroup' => [ 'name' => 'AssociateRoleToGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/groups/{GroupId}/role', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AssociateRoleToGroupRequest', ], 'output' => [ 'shape' => 'AssociateRoleToGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'AssociateServiceRoleToAccount' => [ 'name' => 'AssociateServiceRoleToAccount', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/servicerole', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AssociateServiceRoleToAccountRequest', ], 'output' => [ 'shape' => 'AssociateServiceRoleToAccountResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateConnectorDefinition' => [ 'name' => 'CreateConnectorDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/connectors', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateConnectorDefinitionRequest', ], 'output' => [ 'shape' => 'CreateConnectorDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateConnectorDefinitionVersion' => [ 'name' => 'CreateConnectorDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateConnectorDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateConnectorDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateCoreDefinition' => [ 'name' => 'CreateCoreDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/cores', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateCoreDefinitionRequest', ], 'output' => [ 'shape' => 'CreateCoreDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateCoreDefinitionVersion' => [ 'name' => 'CreateCoreDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateCoreDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateCoreDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateDeployment' => [ 'name' => 'CreateDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups/{GroupId}/deployments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDeploymentRequest', ], 'output' => [ 'shape' => 'CreateDeploymentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateDeviceDefinition' => [ 'name' => 'CreateDeviceDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/devices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDeviceDefinitionRequest', ], 'output' => [ 'shape' => 'CreateDeviceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateDeviceDefinitionVersion' => [ 'name' => 'CreateDeviceDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDeviceDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateDeviceDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateFunctionDefinition' => [ 'name' => 'CreateFunctionDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/functions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateFunctionDefinitionRequest', ], 'output' => [ 'shape' => 'CreateFunctionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateFunctionDefinitionVersion' => [ 'name' => 'CreateFunctionDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateFunctionDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateFunctionDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateGroupCertificateAuthority' => [ 'name' => 'CreateGroupCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups/{GroupId}/certificateauthorities', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateGroupCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'CreateGroupCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateGroupVersion' => [ 'name' => 'CreateGroupVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups/{GroupId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateGroupVersionRequest', ], 'output' => [ 'shape' => 'CreateGroupVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateLoggerDefinition' => [ 'name' => 'CreateLoggerDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/loggers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateLoggerDefinitionRequest', ], 'output' => [ 'shape' => 'CreateLoggerDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateLoggerDefinitionVersion' => [ 'name' => 'CreateLoggerDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateLoggerDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateLoggerDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateResourceDefinition' => [ 'name' => 'CreateResourceDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/resources', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateResourceDefinitionRequest', ], 'output' => [ 'shape' => 'CreateResourceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateResourceDefinitionVersion' => [ 'name' => 'CreateResourceDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateResourceDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateResourceDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateSoftwareUpdateJob' => [ 'name' => 'CreateSoftwareUpdateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/updates', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSoftwareUpdateJobRequest', ], 'output' => [ 'shape' => 'CreateSoftwareUpdateJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateSubscriptionDefinition' => [ 'name' => 'CreateSubscriptionDefinition', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/subscriptions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSubscriptionDefinitionRequest', ], 'output' => [ 'shape' => 'CreateSubscriptionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'CreateSubscriptionDefinitionVersion' => [ 'name' => 'CreateSubscriptionDefinitionVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSubscriptionDefinitionVersionRequest', ], 'output' => [ 'shape' => 'CreateSubscriptionDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteConnectorDefinition' => [ 'name' => 'DeleteConnectorDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteConnectorDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteConnectorDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteCoreDefinition' => [ 'name' => 'DeleteCoreDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteCoreDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteCoreDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteDeviceDefinition' => [ 'name' => 'DeleteDeviceDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteDeviceDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteDeviceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteFunctionDefinition' => [ 'name' => 'DeleteFunctionDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteFunctionDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteFunctionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/groups/{GroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'output' => [ 'shape' => 'DeleteGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteLoggerDefinition' => [ 'name' => 'DeleteLoggerDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteLoggerDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteLoggerDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteResourceDefinition' => [ 'name' => 'DeleteResourceDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteResourceDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteResourceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DeleteSubscriptionDefinition' => [ 'name' => 'DeleteSubscriptionDefinition', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteSubscriptionDefinitionRequest', ], 'output' => [ 'shape' => 'DeleteSubscriptionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'DisassociateRoleFromGroup' => [ 'name' => 'DisassociateRoleFromGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/groups/{GroupId}/role', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociateRoleFromGroupRequest', ], 'output' => [ 'shape' => 'DisassociateRoleFromGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DisassociateServiceRoleFromAccount' => [ 'name' => 'DisassociateServiceRoleFromAccount', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/greengrass/servicerole', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociateServiceRoleFromAccountRequest', ], 'output' => [ 'shape' => 'DisassociateServiceRoleFromAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetAssociatedRole' => [ 'name' => 'GetAssociatedRole', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/role', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAssociatedRoleRequest', ], 'output' => [ 'shape' => 'GetAssociatedRoleResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetBulkDeploymentStatus' => [ 'name' => 'GetBulkDeploymentStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/bulk/deployments/{BulkDeploymentId}/status', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBulkDeploymentStatusRequest', ], 'output' => [ 'shape' => 'GetBulkDeploymentStatusResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetConnectivityInfo' => [ 'name' => 'GetConnectivityInfo', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/things/{ThingName}/connectivityInfo', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetConnectivityInfoRequest', ], 'output' => [ 'shape' => 'GetConnectivityInfoResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetConnectorDefinition' => [ 'name' => 'GetConnectorDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetConnectorDefinitionRequest', ], 'output' => [ 'shape' => 'GetConnectorDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetConnectorDefinitionVersion' => [ 'name' => 'GetConnectorDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetConnectorDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetConnectorDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetCoreDefinition' => [ 'name' => 'GetCoreDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCoreDefinitionRequest', ], 'output' => [ 'shape' => 'GetCoreDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetCoreDefinitionVersion' => [ 'name' => 'GetCoreDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCoreDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetCoreDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetDeploymentStatus' => [ 'name' => 'GetDeploymentStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeploymentStatusRequest', ], 'output' => [ 'shape' => 'GetDeploymentStatusResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetDeviceDefinition' => [ 'name' => 'GetDeviceDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeviceDefinitionRequest', ], 'output' => [ 'shape' => 'GetDeviceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetDeviceDefinitionVersion' => [ 'name' => 'GetDeviceDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeviceDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetDeviceDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetFunctionDefinition' => [ 'name' => 'GetFunctionDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFunctionDefinitionRequest', ], 'output' => [ 'shape' => 'GetFunctionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetFunctionDefinitionVersion' => [ 'name' => 'GetFunctionDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFunctionDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetFunctionDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetGroup' => [ 'name' => 'GetGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetGroupRequest', ], 'output' => [ 'shape' => 'GetGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetGroupCertificateAuthority' => [ 'name' => 'GetGroupCertificateAuthority', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetGroupCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'GetGroupCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetGroupCertificateConfiguration' => [ 'name' => 'GetGroupCertificateConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetGroupCertificateConfigurationRequest', ], 'output' => [ 'shape' => 'GetGroupCertificateConfigurationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetGroupVersion' => [ 'name' => 'GetGroupVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/versions/{GroupVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetGroupVersionRequest', ], 'output' => [ 'shape' => 'GetGroupVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetLoggerDefinition' => [ 'name' => 'GetLoggerDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLoggerDefinitionRequest', ], 'output' => [ 'shape' => 'GetLoggerDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetLoggerDefinitionVersion' => [ 'name' => 'GetLoggerDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLoggerDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetLoggerDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetResourceDefinition' => [ 'name' => 'GetResourceDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetResourceDefinitionRequest', ], 'output' => [ 'shape' => 'GetResourceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetResourceDefinitionVersion' => [ 'name' => 'GetResourceDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetResourceDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetResourceDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetServiceRoleForAccount' => [ 'name' => 'GetServiceRoleForAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/servicerole', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetServiceRoleForAccountRequest', ], 'output' => [ 'shape' => 'GetServiceRoleForAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetSubscriptionDefinition' => [ 'name' => 'GetSubscriptionDefinition', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSubscriptionDefinitionRequest', ], 'output' => [ 'shape' => 'GetSubscriptionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'GetSubscriptionDefinitionVersion' => [ 'name' => 'GetSubscriptionDefinitionVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSubscriptionDefinitionVersionRequest', ], 'output' => [ 'shape' => 'GetSubscriptionDefinitionVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListBulkDeploymentDetailedReports' => [ 'name' => 'ListBulkDeploymentDetailedReports', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListBulkDeploymentDetailedReportsRequest', ], 'output' => [ 'shape' => 'ListBulkDeploymentDetailedReportsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListBulkDeployments' => [ 'name' => 'ListBulkDeployments', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/bulk/deployments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListBulkDeploymentsRequest', ], 'output' => [ 'shape' => 'ListBulkDeploymentsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListConnectorDefinitionVersions' => [ 'name' => 'ListConnectorDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListConnectorDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListConnectorDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListConnectorDefinitions' => [ 'name' => 'ListConnectorDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/connectors', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListConnectorDefinitionsRequest', ], 'output' => [ 'shape' => 'ListConnectorDefinitionsResponse', ], 'errors' => [], ], 'ListCoreDefinitionVersions' => [ 'name' => 'ListCoreDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListCoreDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListCoreDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListCoreDefinitions' => [ 'name' => 'ListCoreDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/cores', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListCoreDefinitionsRequest', ], 'output' => [ 'shape' => 'ListCoreDefinitionsResponse', ], 'errors' => [], ], 'ListDeployments' => [ 'name' => 'ListDeployments', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/deployments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDeploymentsRequest', ], 'output' => [ 'shape' => 'ListDeploymentsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListDeviceDefinitionVersions' => [ 'name' => 'ListDeviceDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDeviceDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListDeviceDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListDeviceDefinitions' => [ 'name' => 'ListDeviceDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/devices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDeviceDefinitionsRequest', ], 'output' => [ 'shape' => 'ListDeviceDefinitionsResponse', ], 'errors' => [], ], 'ListFunctionDefinitionVersions' => [ 'name' => 'ListFunctionDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFunctionDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListFunctionDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListFunctionDefinitions' => [ 'name' => 'ListFunctionDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/functions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFunctionDefinitionsRequest', ], 'output' => [ 'shape' => 'ListFunctionDefinitionsResponse', ], 'errors' => [], ], 'ListGroupCertificateAuthorities' => [ 'name' => 'ListGroupCertificateAuthorities', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/certificateauthorities', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListGroupCertificateAuthoritiesRequest', ], 'output' => [ 'shape' => 'ListGroupCertificateAuthoritiesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListGroupVersions' => [ 'name' => 'ListGroupVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups/{GroupId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListGroupVersionsRequest', ], 'output' => [ 'shape' => 'ListGroupVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/groups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListGroupsRequest', ], 'output' => [ 'shape' => 'ListGroupsResponse', ], 'errors' => [], ], 'ListLoggerDefinitionVersions' => [ 'name' => 'ListLoggerDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListLoggerDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListLoggerDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListLoggerDefinitions' => [ 'name' => 'ListLoggerDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/loggers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListLoggerDefinitionsRequest', ], 'output' => [ 'shape' => 'ListLoggerDefinitionsResponse', ], 'errors' => [], ], 'ListResourceDefinitionVersions' => [ 'name' => 'ListResourceDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListResourceDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListResourceDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListResourceDefinitions' => [ 'name' => 'ListResourceDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/resources', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListResourceDefinitionsRequest', ], 'output' => [ 'shape' => 'ListResourceDefinitionsResponse', ], 'errors' => [], ], 'ListSubscriptionDefinitionVersions' => [ 'name' => 'ListSubscriptionDefinitionVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListSubscriptionDefinitionVersionsRequest', ], 'output' => [ 'shape' => 'ListSubscriptionDefinitionVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ListSubscriptionDefinitions' => [ 'name' => 'ListSubscriptionDefinitions', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/definition/subscriptions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListSubscriptionDefinitionsRequest', ], 'output' => [ 'shape' => 'ListSubscriptionDefinitionsResponse', ], 'errors' => [], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'ResetDeployments' => [ 'name' => 'ResetDeployments', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups/{GroupId}/deployments/$reset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ResetDeploymentsRequest', ], 'output' => [ 'shape' => 'ResetDeploymentsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'StartBulkDeployment' => [ 'name' => 'StartBulkDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/bulk/deployments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StartBulkDeploymentRequest', ], 'output' => [ 'shape' => 'StartBulkDeploymentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'StopBulkDeployment' => [ 'name' => 'StopBulkDeployment', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/bulk/deployments/{BulkDeploymentId}/$stop', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StopBulkDeploymentRequest', ], 'output' => [ 'shape' => 'StopBulkDeploymentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateConnectivityInfo' => [ 'name' => 'UpdateConnectivityInfo', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/things/{ThingName}/connectivityInfo', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateConnectivityInfoRequest', ], 'output' => [ 'shape' => 'UpdateConnectivityInfoResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateConnectorDefinition' => [ 'name' => 'UpdateConnectorDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/connectors/{ConnectorDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateConnectorDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateConnectorDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateCoreDefinition' => [ 'name' => 'UpdateCoreDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/cores/{CoreDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateCoreDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateCoreDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateDeviceDefinition' => [ 'name' => 'UpdateDeviceDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/devices/{DeviceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDeviceDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateDeviceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateFunctionDefinition' => [ 'name' => 'UpdateFunctionDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/functions/{FunctionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFunctionDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateFunctionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/groups/{GroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateGroupRequest', ], 'output' => [ 'shape' => 'UpdateGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateGroupCertificateConfiguration' => [ 'name' => 'UpdateGroupCertificateConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateGroupCertificateConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateGroupCertificateConfigurationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateLoggerDefinition' => [ 'name' => 'UpdateLoggerDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/loggers/{LoggerDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateLoggerDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateLoggerDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateResourceDefinition' => [ 'name' => 'UpdateResourceDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/resources/{ResourceDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateResourceDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateResourceDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UpdateSubscriptionDefinition' => [ 'name' => 'UpdateSubscriptionDefinition', 'http' => [ 'method' => 'PUT', 'requestUri' => '/greengrass/definition/subscriptions/{SubscriptionDefinitionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateSubscriptionDefinitionRequest', ], 'output' => [ 'shape' => 'UpdateSubscriptionDefinitionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], ], 'shapes' => [ 'AssociateRoleToGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'RoleArn' => [ 'shape' => '__string', ], ], 'required' => [ 'GroupId', ], ], 'AssociateRoleToGroupResponse' => [ 'type' => 'structure', 'members' => [ 'AssociatedAt' => [ 'shape' => '__string', ], ], ], 'AssociateServiceRoleToAccountRequest' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => '__string', ], ], ], 'AssociateServiceRoleToAccountResponse' => [ 'type' => 'structure', 'members' => [ 'AssociatedAt' => [ 'shape' => '__string', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'Message' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BulkDeployment' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentArn' => [ 'shape' => '__string', ], 'BulkDeploymentId' => [ 'shape' => '__string', ], 'CreatedAt' => [ 'shape' => '__string', ], ], ], 'BulkDeploymentMetrics' => [ 'type' => 'structure', 'members' => [ 'InvalidInputRecords' => [ 'shape' => '__integer', ], 'RecordsProcessed' => [ 'shape' => '__integer', ], 'RetryAttempts' => [ 'shape' => '__integer', ], ], ], 'BulkDeploymentResult' => [ 'type' => 'structure', 'members' => [ 'CreatedAt' => [ 'shape' => '__string', ], 'DeploymentArn' => [ 'shape' => '__string', ], 'DeploymentId' => [ 'shape' => '__string', ], 'DeploymentStatus' => [ 'shape' => '__string', ], 'DeploymentType' => [ 'shape' => 'DeploymentType', ], 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'ErrorMessage' => [ 'shape' => '__string', ], 'GroupArn' => [ 'shape' => '__string', ], ], ], 'BulkDeploymentResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulkDeploymentResult', ], ], 'BulkDeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'Initializing', 'Running', 'Completed', 'Stopping', 'Stopped', 'Failed', ], ], 'BulkDeployments' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulkDeployment', ], ], 'ConnectivityInfo' => [ 'type' => 'structure', 'members' => [ 'HostAddress' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Metadata' => [ 'shape' => '__string', ], 'PortNumber' => [ 'shape' => '__integer', ], ], ], 'Connector' => [ 'type' => 'structure', 'members' => [ 'ConnectorArn' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Parameters' => [ 'shape' => '__mapOf__string', ], ], 'required' => [], ], 'ConnectorDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Connectors' => [ 'shape' => '__listOfConnector', ], ], ], 'Core' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'SyncShadow' => [ 'shape' => '__boolean', ], 'ThingArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'CoreDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Cores' => [ 'shape' => '__listOfCore', ], ], ], 'CreateConnectorDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'ConnectorDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateConnectorDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateConnectorDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], 'Connectors' => [ 'shape' => '__listOfConnector', ], ], 'required' => [ 'ConnectorDefinitionId', ], ], 'CreateConnectorDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateCoreDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'CoreDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateCoreDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateCoreDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], 'Cores' => [ 'shape' => '__listOfCore', ], ], 'required' => [ 'CoreDefinitionId', ], ], 'CreateCoreDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'DeploymentId' => [ 'shape' => '__string', ], 'DeploymentType' => [ 'shape' => 'DeploymentType', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'GroupVersionId' => [ 'shape' => '__string', ], ], 'required' => [ 'GroupId', ], ], 'CreateDeploymentResponse' => [ 'type' => 'structure', 'members' => [ 'DeploymentArn' => [ 'shape' => '__string', ], 'DeploymentId' => [ 'shape' => '__string', ], ], ], 'CreateDeviceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'DeviceDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateDeviceDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateDeviceDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], 'Devices' => [ 'shape' => '__listOfDevice', ], ], 'required' => [ 'DeviceDefinitionId', ], ], 'CreateDeviceDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateFunctionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'FunctionDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateFunctionDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateFunctionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'DefaultConfig' => [ 'shape' => 'FunctionDefaultConfig', ], 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], 'Functions' => [ 'shape' => '__listOfFunction', ], ], 'required' => [ 'FunctionDefinitionId', ], ], 'CreateFunctionDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateGroupCertificateAuthorityRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'CreateGroupCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'GroupCertificateAuthorityArn' => [ 'shape' => '__string', ], ], ], 'CreateGroupRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'GroupVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateGroupVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'ConnectorDefinitionVersionArn' => [ 'shape' => '__string', ], 'CoreDefinitionVersionArn' => [ 'shape' => '__string', ], 'DeviceDefinitionVersionArn' => [ 'shape' => '__string', ], 'FunctionDefinitionVersionArn' => [ 'shape' => '__string', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'LoggerDefinitionVersionArn' => [ 'shape' => '__string', ], 'ResourceDefinitionVersionArn' => [ 'shape' => '__string', ], 'SubscriptionDefinitionVersionArn' => [ 'shape' => '__string', ], ], 'required' => [ 'GroupId', ], ], 'CreateGroupVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateLoggerDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'LoggerDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateLoggerDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateLoggerDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], 'Loggers' => [ 'shape' => '__listOfLogger', ], ], 'required' => [ 'LoggerDefinitionId', ], ], 'CreateLoggerDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateResourceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'ResourceDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateResourceDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateResourceDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], 'Resources' => [ 'shape' => '__listOfResource', ], ], 'required' => [ 'ResourceDefinitionId', ], ], 'CreateResourceDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'CreateSoftwareUpdateJobRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'S3UrlSignerRole' => [ 'shape' => 'S3UrlSignerRole', ], 'SoftwareToUpdate' => [ 'shape' => 'SoftwareToUpdate', ], 'UpdateAgentLogLevel' => [ 'shape' => 'UpdateAgentLogLevel', ], 'UpdateTargets' => [ 'shape' => 'UpdateTargets', ], 'UpdateTargetsArchitecture' => [ 'shape' => 'UpdateTargetsArchitecture', ], 'UpdateTargetsOperatingSystem' => [ 'shape' => 'UpdateTargetsOperatingSystem', ], ], ], 'CreateSoftwareUpdateJobResponse' => [ 'type' => 'structure', 'members' => [ 'IotJobArn' => [ 'shape' => '__string', ], 'IotJobId' => [ 'shape' => '__string', ], ], ], 'CreateSubscriptionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'SubscriptionDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateSubscriptionDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'CreateSubscriptionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], 'Subscriptions' => [ 'shape' => '__listOfSubscription', ], ], 'required' => [ 'SubscriptionDefinitionId', ], ], 'CreateSubscriptionDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], 'required' => [ 'ResourceArn', 'tags', ], ], 'DefinitionInformation' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'DeleteConnectorDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], ], 'required' => [ 'ConnectorDefinitionId', ], ], 'DeleteConnectorDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCoreDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], ], 'required' => [ 'CoreDefinitionId', ], ], 'DeleteCoreDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDeviceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], ], 'required' => [ 'DeviceDefinitionId', ], ], 'DeleteDeviceDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteFunctionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], ], 'required' => [ 'FunctionDefinitionId', ], ], 'DeleteFunctionDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'DeleteGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLoggerDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], ], 'required' => [ 'LoggerDefinitionId', ], ], 'DeleteLoggerDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteResourceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], ], 'required' => [ 'ResourceDefinitionId', ], ], 'DeleteResourceDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSubscriptionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], ], 'required' => [ 'SubscriptionDefinitionId', ], ], 'DeleteSubscriptionDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'CreatedAt' => [ 'shape' => '__string', ], 'DeploymentArn' => [ 'shape' => '__string', ], 'DeploymentId' => [ 'shape' => '__string', ], 'DeploymentType' => [ 'shape' => 'DeploymentType', ], 'GroupArn' => [ 'shape' => '__string', ], ], ], 'DeploymentType' => [ 'type' => 'string', 'enum' => [ 'NewDeployment', 'Redeployment', 'ResetDeployment', 'ForceResetDeployment', ], ], 'Deployments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Deployment', ], ], 'Device' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'SyncShadow' => [ 'shape' => '__boolean', ], 'ThingArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'DeviceDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => '__listOfDevice', ], ], ], 'DisassociateRoleFromGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'DisassociateRoleFromGroupResponse' => [ 'type' => 'structure', 'members' => [ 'DisassociatedAt' => [ 'shape' => '__string', ], ], ], 'DisassociateServiceRoleFromAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateServiceRoleFromAccountResponse' => [ 'type' => 'structure', 'members' => [ 'DisassociatedAt' => [ 'shape' => '__string', ], ], ], 'Empty' => [ 'type' => 'structure', 'members' => [], ], 'EncodingType' => [ 'type' => 'string', 'enum' => [ 'binary', 'json', ], ], 'ErrorDetail' => [ 'type' => 'structure', 'members' => [ 'DetailedErrorCode' => [ 'shape' => '__string', ], 'DetailedErrorMessage' => [ 'shape' => '__string', ], ], ], 'ErrorDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorDetail', ], ], 'Function' => [ 'type' => 'structure', 'members' => [ 'FunctionArn' => [ 'shape' => '__string', ], 'FunctionConfiguration' => [ 'shape' => 'FunctionConfiguration', ], 'Id' => [ 'shape' => '__string', ], ], 'required' => [], ], 'FunctionConfiguration' => [ 'type' => 'structure', 'members' => [ 'EncodingType' => [ 'shape' => 'EncodingType', ], 'Environment' => [ 'shape' => 'FunctionConfigurationEnvironment', ], 'ExecArgs' => [ 'shape' => '__string', ], 'Executable' => [ 'shape' => '__string', ], 'MemorySize' => [ 'shape' => '__integer', ], 'Pinned' => [ 'shape' => '__boolean', ], 'Timeout' => [ 'shape' => '__integer', ], ], ], 'FunctionConfigurationEnvironment' => [ 'type' => 'structure', 'members' => [ 'AccessSysfs' => [ 'shape' => '__boolean', ], 'Execution' => [ 'shape' => 'FunctionExecutionConfig', ], 'ResourceAccessPolicies' => [ 'shape' => '__listOfResourceAccessPolicy', ], 'Variables' => [ 'shape' => '__mapOf__string', ], ], ], 'FunctionDefaultConfig' => [ 'type' => 'structure', 'members' => [ 'Execution' => [ 'shape' => 'FunctionDefaultExecutionConfig', ], ], ], 'FunctionDefaultExecutionConfig' => [ 'type' => 'structure', 'members' => [ 'IsolationMode' => [ 'shape' => 'FunctionIsolationMode', ], 'RunAs' => [ 'shape' => 'FunctionRunAsConfig', ], ], ], 'FunctionDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'DefaultConfig' => [ 'shape' => 'FunctionDefaultConfig', ], 'Functions' => [ 'shape' => '__listOfFunction', ], ], ], 'FunctionExecutionConfig' => [ 'type' => 'structure', 'members' => [ 'IsolationMode' => [ 'shape' => 'FunctionIsolationMode', ], 'RunAs' => [ 'shape' => 'FunctionRunAsConfig', ], ], ], 'FunctionIsolationMode' => [ 'type' => 'string', 'enum' => [ 'GreengrassContainer', 'NoContainer', ], ], 'FunctionRunAsConfig' => [ 'type' => 'structure', 'members' => [ 'Gid' => [ 'shape' => '__integer', ], 'Uid' => [ 'shape' => '__integer', ], ], ], 'GeneralError' => [ 'type' => 'structure', 'members' => [ 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'Message' => [ 'shape' => '__string', ], ], ], 'GetAssociatedRoleRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'GetAssociatedRoleResponse' => [ 'type' => 'structure', 'members' => [ 'AssociatedAt' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], ], 'GetBulkDeploymentStatusRequest' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'BulkDeploymentId', ], ], 'required' => [ 'BulkDeploymentId', ], ], 'GetBulkDeploymentStatusResponse' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentMetrics' => [ 'shape' => 'BulkDeploymentMetrics', ], 'BulkDeploymentStatus' => [ 'shape' => 'BulkDeploymentStatus', ], 'CreatedAt' => [ 'shape' => '__string', ], 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'ErrorMessage' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetConnectivityInfoRequest' => [ 'type' => 'structure', 'members' => [ 'ThingName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ThingName', ], ], 'required' => [ 'ThingName', ], ], 'GetConnectivityInfoResponse' => [ 'type' => 'structure', 'members' => [ 'ConnectivityInfo' => [ 'shape' => '__listOfConnectivityInfo', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'GetConnectorDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], ], 'required' => [ 'ConnectorDefinitionId', ], ], 'GetConnectorDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetConnectorDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], 'ConnectorDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionVersionId', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'ConnectorDefinitionId', 'ConnectorDefinitionVersionId', ], ], 'GetConnectorDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'ConnectorDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'NextToken' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetCoreDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], ], 'required' => [ 'CoreDefinitionId', ], ], 'GetCoreDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetCoreDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], 'CoreDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionVersionId', ], ], 'required' => [ 'CoreDefinitionId', 'CoreDefinitionVersionId', ], ], 'GetCoreDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'CoreDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'NextToken' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetDeploymentStatusRequest' => [ 'type' => 'structure', 'members' => [ 'DeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeploymentId', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', 'DeploymentId', ], ], 'GetDeploymentStatusResponse' => [ 'type' => 'structure', 'members' => [ 'DeploymentStatus' => [ 'shape' => '__string', ], 'DeploymentType' => [ 'shape' => 'DeploymentType', ], 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'ErrorMessage' => [ 'shape' => '__string', ], 'UpdatedAt' => [ 'shape' => '__string', ], ], ], 'GetDeviceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], ], 'required' => [ 'DeviceDefinitionId', ], ], 'GetDeviceDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetDeviceDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], 'DeviceDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionVersionId', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'DeviceDefinitionVersionId', 'DeviceDefinitionId', ], ], 'GetDeviceDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'DeviceDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'NextToken' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetFunctionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], ], 'required' => [ 'FunctionDefinitionId', ], ], 'GetFunctionDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetFunctionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], 'FunctionDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionVersionId', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'FunctionDefinitionId', 'FunctionDefinitionVersionId', ], ], 'GetFunctionDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'FunctionDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'NextToken' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetGroupCertificateAuthorityRequest' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CertificateAuthorityId', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'CertificateAuthorityId', 'GroupId', ], ], 'GetGroupCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'GroupCertificateAuthorityArn' => [ 'shape' => '__string', ], 'GroupCertificateAuthorityId' => [ 'shape' => '__string', ], 'PemEncodedCertificate' => [ 'shape' => '__string', ], ], ], 'GetGroupCertificateConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'GetGroupCertificateConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityExpiryInMilliseconds' => [ 'shape' => '__string', ], 'CertificateExpiryInMilliseconds' => [ 'shape' => '__string', ], 'GroupId' => [ 'shape' => '__string', ], ], ], 'GetGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'GetGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetGroupVersionRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'GroupVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupVersionId', ], ], 'required' => [ 'GroupVersionId', 'GroupId', ], ], 'GetGroupVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'GroupVersion', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetLoggerDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], ], 'required' => [ 'LoggerDefinitionId', ], ], 'GetLoggerDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetLoggerDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], 'LoggerDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionVersionId', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'LoggerDefinitionVersionId', 'LoggerDefinitionId', ], ], 'GetLoggerDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'LoggerDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetResourceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], ], 'required' => [ 'ResourceDefinitionId', ], ], 'GetResourceDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetResourceDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], 'ResourceDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionVersionId', ], ], 'required' => [ 'ResourceDefinitionVersionId', 'ResourceDefinitionId', ], ], 'GetResourceDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'ResourceDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GetServiceRoleForAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetServiceRoleForAccountResponse' => [ 'type' => 'structure', 'members' => [ 'AssociatedAt' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], ], 'GetSubscriptionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], ], 'required' => [ 'SubscriptionDefinitionId', ], ], 'GetSubscriptionDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => '__mapOf__string', ], ], ], 'GetSubscriptionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], 'SubscriptionDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionVersionId', ], ], 'required' => [ 'SubscriptionDefinitionId', 'SubscriptionDefinitionVersionId', ], ], 'GetSubscriptionDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'SubscriptionDefinitionVersion', ], 'Id' => [ 'shape' => '__string', ], 'NextToken' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], 'GroupCertificateAuthorityProperties' => [ 'type' => 'structure', 'members' => [ 'GroupCertificateAuthorityArn' => [ 'shape' => '__string', ], 'GroupCertificateAuthorityId' => [ 'shape' => '__string', ], ], ], 'GroupCertificateConfiguration' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityExpiryInMilliseconds' => [ 'shape' => '__string', ], 'CertificateExpiryInMilliseconds' => [ 'shape' => '__string', ], 'GroupId' => [ 'shape' => '__string', ], ], ], 'GroupInformation' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'LastUpdatedTimestamp' => [ 'shape' => '__string', ], 'LatestVersion' => [ 'shape' => '__string', ], 'LatestVersionArn' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], ], 'GroupOwnerSetting' => [ 'type' => 'structure', 'members' => [ 'AutoAddGroupOwner' => [ 'shape' => '__boolean', ], 'GroupOwner' => [ 'shape' => '__string', ], ], ], 'GroupVersion' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionVersionArn' => [ 'shape' => '__string', ], 'CoreDefinitionVersionArn' => [ 'shape' => '__string', ], 'DeviceDefinitionVersionArn' => [ 'shape' => '__string', ], 'FunctionDefinitionVersionArn' => [ 'shape' => '__string', ], 'LoggerDefinitionVersionArn' => [ 'shape' => '__string', ], 'ResourceDefinitionVersionArn' => [ 'shape' => '__string', ], 'SubscriptionDefinitionVersionArn' => [ 'shape' => '__string', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'ErrorDetails' => [ 'shape' => 'ErrorDetails', ], 'Message' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'ListBulkDeploymentDetailedReportsRequest' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'BulkDeploymentId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'BulkDeploymentId', ], ], 'ListBulkDeploymentDetailedReportsResponse' => [ 'type' => 'structure', 'members' => [ 'Deployments' => [ 'shape' => 'BulkDeploymentResults', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListBulkDeploymentsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListBulkDeploymentsResponse' => [ 'type' => 'structure', 'members' => [ 'BulkDeployments' => [ 'shape' => 'BulkDeployments', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListConnectorDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'ConnectorDefinitionId', ], ], 'ListConnectorDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListConnectorDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListConnectorDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListCoreDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'CoreDefinitionId', ], ], 'ListCoreDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListCoreDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListCoreDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListDeploymentsRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'GroupId', ], ], 'ListDeploymentsResponse' => [ 'type' => 'structure', 'members' => [ 'Deployments' => [ 'shape' => 'Deployments', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListDeviceDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'DeviceDefinitionId', ], ], 'ListDeviceDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListDeviceDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListDeviceDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListFunctionDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'FunctionDefinitionId', ], ], 'ListFunctionDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListFunctionDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListFunctionDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListGroupCertificateAuthoritiesRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'ListGroupCertificateAuthoritiesResponse' => [ 'type' => 'structure', 'members' => [ 'GroupCertificateAuthorities' => [ 'shape' => '__listOfGroupCertificateAuthorityProperties', ], ], ], 'ListGroupVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'GroupId', ], ], 'ListGroupVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => '__listOfGroupInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListLoggerDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], 'required' => [ 'LoggerDefinitionId', ], ], 'ListLoggerDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListLoggerDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListLoggerDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListResourceDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], ], 'required' => [ 'ResourceDefinitionId', ], ], 'ListResourceDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListResourceDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListResourceDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListSubscriptionDefinitionVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], ], 'required' => [ 'SubscriptionDefinitionId', ], ], 'ListSubscriptionDefinitionVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'ListSubscriptionDefinitionsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListSubscriptionDefinitionsResponse' => [ 'type' => 'structure', 'members' => [ 'Definitions' => [ 'shape' => '__listOfDefinitionInformation', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', ], ], ], 'ListVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', ], 'Versions' => [ 'shape' => '__listOfVersionInformation', ], ], ], 'LocalDeviceResourceData' => [ 'type' => 'structure', 'members' => [ 'GroupOwnerSetting' => [ 'shape' => 'GroupOwnerSetting', ], 'SourcePath' => [ 'shape' => '__string', ], ], ], 'LocalVolumeResourceData' => [ 'type' => 'structure', 'members' => [ 'DestinationPath' => [ 'shape' => '__string', ], 'GroupOwnerSetting' => [ 'shape' => 'GroupOwnerSetting', ], 'SourcePath' => [ 'shape' => '__string', ], ], ], 'Logger' => [ 'type' => 'structure', 'members' => [ 'Component' => [ 'shape' => 'LoggerComponent', ], 'Id' => [ 'shape' => '__string', ], 'Level' => [ 'shape' => 'LoggerLevel', ], 'Space' => [ 'shape' => '__integer', ], 'Type' => [ 'shape' => 'LoggerType', ], ], 'required' => [], ], 'LoggerComponent' => [ 'type' => 'string', 'enum' => [ 'GreengrassSystem', 'Lambda', ], ], 'LoggerDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Loggers' => [ 'shape' => '__listOfLogger', ], ], ], 'LoggerLevel' => [ 'type' => 'string', 'enum' => [ 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', ], ], 'LoggerType' => [ 'type' => 'string', 'enum' => [ 'FileSystem', 'AWSCloudWatch', ], ], 'Permission' => [ 'type' => 'string', 'enum' => [ 'ro', 'rw', ], ], 'ResetDeploymentsRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'Force' => [ 'shape' => '__boolean', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'ResetDeploymentsResponse' => [ 'type' => 'structure', 'members' => [ 'DeploymentArn' => [ 'shape' => '__string', ], 'DeploymentId' => [ 'shape' => '__string', ], ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'ResourceDataContainer' => [ 'shape' => 'ResourceDataContainer', ], ], 'required' => [], ], 'ResourceAccessPolicy' => [ 'type' => 'structure', 'members' => [ 'Permission' => [ 'shape' => 'Permission', ], 'ResourceId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ResourceDataContainer' => [ 'type' => 'structure', 'members' => [ 'LocalDeviceResourceData' => [ 'shape' => 'LocalDeviceResourceData', ], 'LocalVolumeResourceData' => [ 'shape' => 'LocalVolumeResourceData', ], 'S3MachineLearningModelResourceData' => [ 'shape' => 'S3MachineLearningModelResourceData', ], 'SageMakerMachineLearningModelResourceData' => [ 'shape' => 'SageMakerMachineLearningModelResourceData', ], 'SecretsManagerSecretResourceData' => [ 'shape' => 'SecretsManagerSecretResourceData', ], ], ], 'ResourceDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Resources' => [ 'shape' => '__listOfResource', ], ], ], 'S3MachineLearningModelResourceData' => [ 'type' => 'structure', 'members' => [ 'DestinationPath' => [ 'shape' => '__string', ], 'S3Uri' => [ 'shape' => '__string', ], ], ], 'S3UrlSignerRole' => [ 'type' => 'string', ], 'SageMakerMachineLearningModelResourceData' => [ 'type' => 'structure', 'members' => [ 'DestinationPath' => [ 'shape' => '__string', ], 'SageMakerJobArn' => [ 'shape' => '__string', ], ], ], 'SecretsManagerSecretResourceData' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => '__string', ], 'AdditionalStagingLabelsToDownload' => [ 'shape' => '__listOf__string', ], ], ], 'SoftwareToUpdate' => [ 'type' => 'string', 'enum' => [ 'core', 'ota_agent', ], ], 'StartBulkDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'ExecutionRoleArn' => [ 'shape' => '__string', ], 'InputFileUri' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'StartBulkDeploymentResponse' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentArn' => [ 'shape' => '__string', ], 'BulkDeploymentId' => [ 'shape' => '__string', ], ], ], 'StopBulkDeploymentRequest' => [ 'type' => 'structure', 'members' => [ 'BulkDeploymentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'BulkDeploymentId', ], ], 'required' => [ 'BulkDeploymentId', ], ], 'StopBulkDeploymentResponse' => [ 'type' => 'structure', 'members' => [], ], 'Subscription' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', ], 'Source' => [ 'shape' => '__string', ], 'Subject' => [ 'shape' => '__string', ], 'Target' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SubscriptionDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Subscriptions' => [ 'shape' => '__listOfSubscription', ], ], ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], 'UpdateAgentLogLevel' => [ 'type' => 'string', 'enum' => [ 'NONE', 'TRACE', 'DEBUG', 'VERBOSE', 'INFO', 'WARN', 'ERROR', 'FATAL', ], ], 'UpdateConnectivityInfoRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectivityInfo' => [ 'shape' => '__listOfConnectivityInfo', ], 'ThingName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ThingName', ], ], 'required' => [ 'ThingName', ], ], 'UpdateConnectivityInfoResponse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'Version' => [ 'shape' => '__string', ], ], ], 'UpdateConnectorDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'ConnectorDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConnectorDefinitionId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'ConnectorDefinitionId', ], ], 'UpdateConnectorDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCoreDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'CoreDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'CoreDefinitionId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'CoreDefinitionId', ], ], 'UpdateCoreDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDeviceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'DeviceDefinitionId', ], ], 'UpdateDeviceDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateFunctionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'FunctionDefinitionId', ], ], 'UpdateFunctionDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateGroupCertificateConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'CertificateExpiryInMilliseconds' => [ 'shape' => '__string', ], 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], ], 'required' => [ 'GroupId', ], ], 'UpdateGroupCertificateConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'CertificateAuthorityExpiryInMilliseconds' => [ 'shape' => '__string', ], 'CertificateExpiryInMilliseconds' => [ 'shape' => '__string', ], 'GroupId' => [ 'shape' => '__string', ], ], ], 'UpdateGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'GroupId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'GroupId', ], ], 'UpdateGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateLoggerDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], 'Name' => [ 'shape' => '__string', ], ], 'required' => [ 'LoggerDefinitionId', ], ], 'UpdateLoggerDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateResourceDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', ], 'ResourceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceDefinitionId', ], ], 'required' => [ 'ResourceDefinitionId', ], ], 'UpdateResourceDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSubscriptionDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', ], 'SubscriptionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'SubscriptionDefinitionId', ], ], 'required' => [ 'SubscriptionDefinitionId', ], ], 'UpdateSubscriptionDefinitionResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateTargets' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], 'UpdateTargetsArchitecture' => [ 'type' => 'string', 'enum' => [ 'armv7l', 'x86_64', 'aarch64', ], ], 'UpdateTargetsOperatingSystem' => [ 'type' => 'string', 'enum' => [ 'ubuntu', 'raspbian', 'amazon_linux', ], ], 'VersionInformation' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__string', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfConnectivityInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConnectivityInfo', ], ], '__listOfConnector' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connector', ], ], '__listOfCore' => [ 'type' => 'list', 'member' => [ 'shape' => 'Core', ], ], '__listOfDefinitionInformation' => [ 'type' => 'list', 'member' => [ 'shape' => 'DefinitionInformation', ], ], '__listOfDevice' => [ 'type' => 'list', 'member' => [ 'shape' => 'Device', ], ], '__listOfFunction' => [ 'type' => 'list', 'member' => [ 'shape' => 'Function', ], ], '__listOfGroupCertificateAuthorityProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupCertificateAuthorityProperties', ], ], '__listOfGroupInformation' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupInformation', ], ], '__listOfLogger' => [ 'type' => 'list', 'member' => [ 'shape' => 'Logger', ], ], '__listOfResource' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], '__listOfResourceAccessPolicy' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceAccessPolicy', ], ], '__listOfSubscription' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscription', ], ], '__listOfVersionInformation' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionInformation', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/guardduty/2017-11-28/api-2.json.php b/lib/aws/Aws/data/guardduty/2017-11-28/api-2.json.php new file mode 100644 index 0000000..0b26ca4 --- /dev/null +++ b/lib/aws/Aws/data/guardduty/2017-11-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/guardduty/2017-11-28/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-11-28', 'endpointPrefix' => 'guardduty', 'signingName' => 'guardduty', 'serviceFullName' => 'Amazon GuardDuty', 'serviceId' => 'GuardDuty', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'guardduty-2017-11-28', 'signatureVersion' => 'v4', ], 'operations' => [ 'AcceptInvitation' => [ 'name' => 'AcceptInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/master', 'responseCode' => 200, ], 'input' => [ 'shape' => 'AcceptInvitationRequest', ], 'output' => [ 'shape' => 'AcceptInvitationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ArchiveFindings' => [ 'name' => 'ArchiveFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/archive', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ArchiveFindingsRequest', ], 'output' => [ 'shape' => 'ArchiveFindingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateDetector' => [ 'name' => 'CreateDetector', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateDetectorRequest', ], 'output' => [ 'shape' => 'CreateDetectorResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateFilter' => [ 'name' => 'CreateFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/filter', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateFilterRequest', ], 'output' => [ 'shape' => 'CreateFilterResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateIPSet' => [ 'name' => 'CreateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/ipset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateIPSetRequest', ], 'output' => [ 'shape' => 'CreateIPSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateMembers' => [ 'name' => 'CreateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateMembersRequest', ], 'output' => [ 'shape' => 'CreateMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateSampleFindings' => [ 'name' => 'CreateSampleFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/create', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateSampleFindingsRequest', ], 'output' => [ 'shape' => 'CreateSampleFindingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'CreateThreatIntelSet' => [ 'name' => 'CreateThreatIntelSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/threatintelset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateThreatIntelSetRequest', ], 'output' => [ 'shape' => 'CreateThreatIntelSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeclineInvitations' => [ 'name' => 'DeclineInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitation/decline', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeclineInvitationsRequest', ], 'output' => [ 'shape' => 'DeclineInvitationsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteDetector' => [ 'name' => 'DeleteDetector', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/detector/{detectorId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteDetectorRequest', ], 'output' => [ 'shape' => 'DeleteDetectorResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteFilter' => [ 'name' => 'DeleteFilter', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/detector/{detectorId}/filter/{filterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteFilterRequest', ], 'output' => [ 'shape' => 'DeleteFilterResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteIPSet' => [ 'name' => 'DeleteIPSet', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/detector/{detectorId}/ipset/{ipSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteIPSetRequest', ], 'output' => [ 'shape' => 'DeleteIPSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteInvitations' => [ 'name' => 'DeleteInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitation/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteInvitationsRequest', ], 'output' => [ 'shape' => 'DeleteInvitationsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteMembers' => [ 'name' => 'DeleteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/delete', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteMembersRequest', ], 'output' => [ 'shape' => 'DeleteMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteThreatIntelSet' => [ 'name' => 'DeleteThreatIntelSet', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/detector/{detectorId}/threatintelset/{threatIntelSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteThreatIntelSetRequest', ], 'output' => [ 'shape' => 'DeleteThreatIntelSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DisassociateFromMasterAccount' => [ 'name' => 'DisassociateFromMasterAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/master/disassociate', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociateFromMasterAccountRequest', ], 'output' => [ 'shape' => 'DisassociateFromMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DisassociateMembers' => [ 'name' => 'DisassociateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/disassociate', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DisassociateMembersRequest', ], 'output' => [ 'shape' => 'DisassociateMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetDetector' => [ 'name' => 'GetDetector', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDetectorRequest', ], 'output' => [ 'shape' => 'GetDetectorResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetFilter' => [ 'name' => 'GetFilter', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/filter/{filterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFilterRequest', ], 'output' => [ 'shape' => 'GetFilterResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetFindings' => [ 'name' => 'GetFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFindingsRequest', ], 'output' => [ 'shape' => 'GetFindingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetFindingsStatistics' => [ 'name' => 'GetFindingsStatistics', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/statistics', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFindingsStatisticsRequest', ], 'output' => [ 'shape' => 'GetFindingsStatisticsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetIPSet' => [ 'name' => 'GetIPSet', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/ipset/{ipSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIPSetRequest', ], 'output' => [ 'shape' => 'GetIPSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetInvitationsCount' => [ 'name' => 'GetInvitationsCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitation/count', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetInvitationsCountRequest', ], 'output' => [ 'shape' => 'GetInvitationsCountResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetMasterAccount' => [ 'name' => 'GetMasterAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/master', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetMasterAccountRequest', ], 'output' => [ 'shape' => 'GetMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetMembers' => [ 'name' => 'GetMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/get', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetMembersRequest', ], 'output' => [ 'shape' => 'GetMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetThreatIntelSet' => [ 'name' => 'GetThreatIntelSet', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/threatintelset/{threatIntelSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetThreatIntelSetRequest', ], 'output' => [ 'shape' => 'GetThreatIntelSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'InviteMembers' => [ 'name' => 'InviteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/invite', 'responseCode' => 200, ], 'input' => [ 'shape' => 'InviteMembersRequest', ], 'output' => [ 'shape' => 'InviteMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListDetectors' => [ 'name' => 'ListDetectors', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDetectorsRequest', ], 'output' => [ 'shape' => 'ListDetectorsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListFilters' => [ 'name' => 'ListFilters', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/filter', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFiltersRequest', ], 'output' => [ 'shape' => 'ListFiltersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListFindings' => [ 'name' => 'ListFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFindingsRequest', ], 'output' => [ 'shape' => 'ListFindingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListIPSets' => [ 'name' => 'ListIPSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/ipset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListIPSetsRequest', ], 'output' => [ 'shape' => 'ListIPSetsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListInvitations' => [ 'name' => 'ListInvitations', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitation', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListInvitationsRequest', ], 'output' => [ 'shape' => 'ListInvitationsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListMembers' => [ 'name' => 'ListMembers', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/member', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListMembersRequest', ], 'output' => [ 'shape' => 'ListMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListThreatIntelSets' => [ 'name' => 'ListThreatIntelSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/detector/{detectorId}/threatintelset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListThreatIntelSetsRequest', ], 'output' => [ 'shape' => 'ListThreatIntelSetsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'StartMonitoringMembers' => [ 'name' => 'StartMonitoringMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/start', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StartMonitoringMembersRequest', ], 'output' => [ 'shape' => 'StartMonitoringMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'StopMonitoringMembers' => [ 'name' => 'StopMonitoringMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/member/stop', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StopMonitoringMembersRequest', ], 'output' => [ 'shape' => 'StopMonitoringMembersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UnarchiveFindings' => [ 'name' => 'UnarchiveFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/unarchive', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UnarchiveFindingsRequest', ], 'output' => [ 'shape' => 'UnarchiveFindingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateDetector' => [ 'name' => 'UpdateDetector', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDetectorRequest', ], 'output' => [ 'shape' => 'UpdateDetectorResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateFilter' => [ 'name' => 'UpdateFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/filter/{filterName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFilterRequest', ], 'output' => [ 'shape' => 'UpdateFilterResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateFindingsFeedback' => [ 'name' => 'UpdateFindingsFeedback', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/findings/feedback', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFindingsFeedbackRequest', ], 'output' => [ 'shape' => 'UpdateFindingsFeedbackResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateIPSet' => [ 'name' => 'UpdateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/ipset/{ipSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateIPSetRequest', ], 'output' => [ 'shape' => 'UpdateIPSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateThreatIntelSet' => [ 'name' => 'UpdateThreatIntelSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/detector/{detectorId}/threatintelset/{threatIntelSetId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateThreatIntelSetRequest', ], 'output' => [ 'shape' => 'UpdateThreatIntelSetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], ], 'shapes' => [ 'AcceptInvitationRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'InvitationId' => [ 'shape' => 'InvitationId', 'locationName' => 'invitationId', ], 'MasterId' => [ 'shape' => 'MasterId', 'locationName' => 'masterId', ], ], 'required' => [ 'DetectorId', 'MasterId', 'InvitationId', ], ], 'AcceptInvitationResponse' => [ 'type' => 'structure', 'members' => [], ], 'AccessKeyDetails' => [ 'type' => 'structure', 'members' => [ 'AccessKeyId' => [ 'shape' => '__string', 'locationName' => 'accessKeyId', ], 'PrincipalId' => [ 'shape' => '__string', 'locationName' => 'principalId', ], 'UserName' => [ 'shape' => '__string', 'locationName' => 'userName', ], 'UserType' => [ 'shape' => '__string', 'locationName' => 'userType', ], ], ], 'AccountDetail' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', 'locationName' => 'accountId', ], 'Email' => [ 'shape' => 'Email', 'locationName' => 'email', ], ], 'required' => [ 'Email', 'AccountId', ], ], 'AccountDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountDetail', ], ], 'AccountId' => [ 'type' => 'string', ], 'AccountIds' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], 'Action' => [ 'type' => 'structure', 'members' => [ 'ActionType' => [ 'shape' => '__string', 'locationName' => 'actionType', ], 'AwsApiCallAction' => [ 'shape' => 'AwsApiCallAction', 'locationName' => 'awsApiCallAction', ], 'DnsRequestAction' => [ 'shape' => 'DnsRequestAction', 'locationName' => 'dnsRequestAction', ], 'NetworkConnectionAction' => [ 'shape' => 'NetworkConnectionAction', 'locationName' => 'networkConnectionAction', ], 'PortProbeAction' => [ 'shape' => 'PortProbeAction', 'locationName' => 'portProbeAction', ], ], ], 'Activate' => [ 'type' => 'boolean', ], 'ArchiveFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingIds' => [ 'shape' => 'FindingIds', 'locationName' => 'findingIds', ], ], 'required' => [ 'DetectorId', 'FindingIds', ], ], 'ArchiveFindingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'AwsApiCallAction' => [ 'type' => 'structure', 'members' => [ 'Api' => [ 'shape' => '__string', 'locationName' => 'api', ], 'CallerType' => [ 'shape' => '__string', 'locationName' => 'callerType', ], 'DomainDetails' => [ 'shape' => 'DomainDetails', 'locationName' => 'domainDetails', ], 'RemoteIpDetails' => [ 'shape' => 'RemoteIpDetails', 'locationName' => 'remoteIpDetails', ], 'ServiceName' => [ 'shape' => '__string', 'locationName' => 'serviceName', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'Type' => [ 'shape' => '__string', 'locationName' => '__type', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'City' => [ 'type' => 'structure', 'members' => [ 'CityName' => [ 'shape' => '__string', 'locationName' => 'cityName', ], ], ], 'Comments' => [ 'type' => 'string', ], 'Condition' => [ 'type' => 'structure', 'members' => [ 'Eq' => [ 'shape' => 'Eq', 'locationName' => 'eq', ], 'Gt' => [ 'shape' => '__integer', 'locationName' => 'gt', ], 'Gte' => [ 'shape' => '__integer', 'locationName' => 'gte', ], 'Lt' => [ 'shape' => '__integer', 'locationName' => 'lt', ], 'Lte' => [ 'shape' => '__integer', 'locationName' => 'lte', ], 'Neq' => [ 'shape' => 'Neq', 'locationName' => 'neq', ], ], ], 'CountBySeverityFindingStatistic' => [ 'type' => 'integer', ], 'Country' => [ 'type' => 'structure', 'members' => [ 'CountryCode' => [ 'shape' => '__string', 'locationName' => 'countryCode', ], 'CountryName' => [ 'shape' => '__string', 'locationName' => 'countryName', ], ], ], 'CreateDetectorRequest' => [ 'type' => 'structure', 'members' => [ 'ClientToken' => [ 'shape' => '__stringMin0Max64', 'locationName' => 'clientToken', 'idempotencyToken' => true, ], 'Enable' => [ 'shape' => 'Enable', 'locationName' => 'enable', ], 'FindingPublishingFrequency' => [ 'shape' => 'FindingPublishingFrequency', 'locationName' => 'findingPublishingFrequency', ], ], 'required' => [ 'Enable', ], ], 'CreateDetectorResponse' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => 'DetectorId', 'locationName' => 'detectorId', ], ], ], 'CreateFilterRequest' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'FilterAction', 'locationName' => 'action', ], 'ClientToken' => [ 'shape' => '__stringMin0Max64', 'locationName' => 'clientToken', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'FilterDescription', 'locationName' => 'description', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingCriteria' => [ 'shape' => 'FindingCriteria', 'locationName' => 'findingCriteria', ], 'Name' => [ 'shape' => 'FilterName', 'locationName' => 'name', ], 'Rank' => [ 'shape' => 'FilterRank', 'locationName' => 'rank', ], ], 'required' => [ 'DetectorId', 'FindingCriteria', 'Name', ], ], 'CreateFilterResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', 'locationName' => 'name', ], ], ], 'CreateIPSetRequest' => [ 'type' => 'structure', 'members' => [ 'Activate' => [ 'shape' => 'Activate', 'locationName' => 'activate', ], 'ClientToken' => [ 'shape' => '__stringMin0Max64', 'locationName' => 'clientToken', 'idempotencyToken' => true, ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Format' => [ 'shape' => 'IpSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], ], 'required' => [ 'DetectorId', 'Format', 'Activate', 'Location', 'Name', ], ], 'CreateIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'IpSetId' => [ 'shape' => 'IpSetId', 'locationName' => 'ipSetId', ], ], ], 'CreateMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountDetails' => [ 'shape' => 'AccountDetails', 'locationName' => 'accountDetails', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountDetails', ], ], 'CreateMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'CreateSampleFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingTypes' => [ 'shape' => 'FindingTypes', 'locationName' => 'findingTypes', ], ], 'required' => [ 'DetectorId', ], ], 'CreateSampleFindingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateThreatIntelSetRequest' => [ 'type' => 'structure', 'members' => [ 'Activate' => [ 'shape' => 'Activate', 'locationName' => 'activate', ], 'ClientToken' => [ 'shape' => '__stringMin0Max64', 'locationName' => 'clientToken', 'idempotencyToken' => true, ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Format' => [ 'shape' => 'ThreatIntelSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], ], 'required' => [ 'DetectorId', 'Format', 'Activate', 'Location', 'Name', ], ], 'CreateThreatIntelSetResponse' => [ 'type' => 'structure', 'members' => [ 'ThreatIntelSetId' => [ 'shape' => 'ThreatIntelSetId', 'locationName' => 'threatIntelSetId', ], ], ], 'CreatedAt' => [ 'type' => 'string', ], 'DeclineInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], ], 'required' => [ 'AccountIds', ], ], 'DeclineInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'DeleteDetectorRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', ], ], 'DeleteDetectorResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteFilterRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FilterName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'filterName', ], ], 'required' => [ 'DetectorId', 'FilterName', ], ], 'DeleteFilterResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteIPSetRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'IpSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ipSetId', ], ], 'required' => [ 'DetectorId', 'IpSetId', ], ], 'DeleteIPSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], ], 'required' => [ 'AccountIds', ], ], 'DeleteInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'DeleteMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'DeleteMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'DeleteThreatIntelSetRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'ThreatIntelSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'threatIntelSetId', ], ], 'required' => [ 'ThreatIntelSetId', 'DetectorId', ], ], 'DeleteThreatIntelSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetectorId' => [ 'type' => 'string', ], 'DetectorIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'DetectorId', ], ], 'DetectorStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'DisassociateFromMasterAccountRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', ], ], 'DisassociateFromMasterAccountResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'DisassociateMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'DnsRequestAction' => [ 'type' => 'structure', 'members' => [ 'Domain' => [ 'shape' => 'Domain', 'locationName' => 'domain', ], ], ], 'Domain' => [ 'type' => 'string', ], 'DomainDetails' => [ 'type' => 'structure', 'members' => [], ], 'Email' => [ 'type' => 'string', ], 'Enable' => [ 'type' => 'boolean', ], 'Eq' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], 'ErrorResponse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'Type' => [ 'shape' => '__string', 'locationName' => '__type', ], ], ], 'Feedback' => [ 'type' => 'string', 'enum' => [ 'USEFUL', 'NOT_USEFUL', ], ], 'FilterAction' => [ 'type' => 'string', 'enum' => [ 'NOOP', 'ARCHIVE', ], ], 'FilterDescription' => [ 'type' => 'string', ], 'FilterName' => [ 'type' => 'string', ], 'FilterNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterName', ], ], 'FilterRank' => [ 'type' => 'integer', ], 'Finding' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => '__string', 'locationName' => 'accountId', ], 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Confidence' => [ 'shape' => '__double', 'locationName' => 'confidence', ], 'CreatedAt' => [ 'shape' => 'CreatedAt', 'locationName' => 'createdAt', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'Partition' => [ 'shape' => '__string', 'locationName' => 'partition', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'Resource' => [ 'shape' => 'Resource', 'locationName' => 'resource', ], 'SchemaVersion' => [ 'shape' => '__string', 'locationName' => 'schemaVersion', ], 'Service' => [ 'shape' => 'Service', 'locationName' => 'service', ], 'Severity' => [ 'shape' => '__double', 'locationName' => 'severity', ], 'Title' => [ 'shape' => '__string', 'locationName' => 'title', ], 'Type' => [ 'shape' => '__string', 'locationName' => 'type', ], 'UpdatedAt' => [ 'shape' => 'UpdatedAt', 'locationName' => 'updatedAt', ], ], 'required' => [ 'AccountId', 'SchemaVersion', 'CreatedAt', 'Resource', 'Severity', 'UpdatedAt', 'Type', 'Region', 'Id', 'Arn', ], ], 'FindingCriteria' => [ 'type' => 'structure', 'members' => [ 'Criterion' => [ 'shape' => '__mapOfCondition', 'locationName' => 'criterion', ], ], ], 'FindingId' => [ 'type' => 'string', ], 'FindingIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'FindingId', ], ], 'FindingPublishingFrequency' => [ 'type' => 'string', 'enum' => [ 'FIFTEEN_MINUTES', 'ONE_HOUR', 'SIX_HOURS', ], ], 'FindingStatisticType' => [ 'type' => 'string', 'enum' => [ 'COUNT_BY_SEVERITY', ], ], 'FindingStatisticTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'FindingStatisticType', ], ], 'FindingStatistics' => [ 'type' => 'structure', 'members' => [ 'CountBySeverity' => [ 'shape' => '__mapOfCountBySeverityFindingStatistic', 'locationName' => 'countBySeverity', ], ], ], 'FindingType' => [ 'type' => 'string', ], 'FindingTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'FindingType', ], ], 'Findings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Finding', ], ], 'GeoLocation' => [ 'type' => 'structure', 'members' => [ 'Lat' => [ 'shape' => '__double', 'locationName' => 'lat', ], 'Lon' => [ 'shape' => '__double', 'locationName' => 'lon', ], ], ], 'GetDetectorRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', ], ], 'GetDetectorResponse' => [ 'type' => 'structure', 'members' => [ 'CreatedAt' => [ 'shape' => 'CreatedAt', 'locationName' => 'createdAt', ], 'FindingPublishingFrequency' => [ 'shape' => 'FindingPublishingFrequency', 'locationName' => 'findingPublishingFrequency', ], 'ServiceRole' => [ 'shape' => 'ServiceRole', 'locationName' => 'serviceRole', ], 'Status' => [ 'shape' => 'DetectorStatus', 'locationName' => 'status', ], 'UpdatedAt' => [ 'shape' => 'UpdatedAt', 'locationName' => 'updatedAt', ], ], ], 'GetFilterRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FilterName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'filterName', ], ], 'required' => [ 'DetectorId', 'FilterName', ], ], 'GetFilterResponse' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'FilterAction', 'locationName' => 'action', ], 'Description' => [ 'shape' => 'FilterDescription', 'locationName' => 'description', ], 'FindingCriteria' => [ 'shape' => 'FindingCriteria', 'locationName' => 'findingCriteria', ], 'Name' => [ 'shape' => 'FilterName', 'locationName' => 'name', ], 'Rank' => [ 'shape' => 'FilterRank', 'locationName' => 'rank', ], ], ], 'GetFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingIds' => [ 'shape' => 'FindingIds', 'locationName' => 'findingIds', ], 'SortCriteria' => [ 'shape' => 'SortCriteria', 'locationName' => 'sortCriteria', ], ], 'required' => [ 'DetectorId', 'FindingIds', ], ], 'GetFindingsResponse' => [ 'type' => 'structure', 'members' => [ 'Findings' => [ 'shape' => 'Findings', 'locationName' => 'findings', ], ], ], 'GetFindingsStatisticsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingCriteria' => [ 'shape' => 'FindingCriteria', 'locationName' => 'findingCriteria', ], 'FindingStatisticTypes' => [ 'shape' => 'FindingStatisticTypes', 'locationName' => 'findingStatisticTypes', ], ], 'required' => [ 'DetectorId', 'FindingStatisticTypes', ], ], 'GetFindingsStatisticsResponse' => [ 'type' => 'structure', 'members' => [ 'FindingStatistics' => [ 'shape' => 'FindingStatistics', 'locationName' => 'findingStatistics', ], ], ], 'GetIPSetRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'IpSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ipSetId', ], ], 'required' => [ 'DetectorId', 'IpSetId', ], ], 'GetIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'IpSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'IpSetStatus', 'locationName' => 'status', ], ], ], 'GetInvitationsCountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetInvitationsCountResponse' => [ 'type' => 'structure', 'members' => [ 'InvitationsCount' => [ 'shape' => '__integer', 'locationName' => 'invitationsCount', ], ], ], 'GetMasterAccountRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', ], ], 'GetMasterAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Master' => [ 'shape' => 'Master', 'locationName' => 'master', ], ], ], 'GetMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'GetMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'Members', 'locationName' => 'members', ], 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'GetThreatIntelSetRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'ThreatIntelSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'threatIntelSetId', ], ], 'required' => [ 'ThreatIntelSetId', 'DetectorId', ], ], 'GetThreatIntelSetResponse' => [ 'type' => 'structure', 'members' => [ 'Format' => [ 'shape' => 'ThreatIntelSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], 'Status' => [ 'shape' => 'ThreatIntelSetStatus', 'locationName' => 'status', ], ], ], 'IamInstanceProfile' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], ], ], 'InstanceDetails' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => '__string', 'locationName' => 'availabilityZone', ], 'IamInstanceProfile' => [ 'shape' => 'IamInstanceProfile', 'locationName' => 'iamInstanceProfile', ], 'ImageDescription' => [ 'shape' => '__string', 'locationName' => 'imageDescription', ], 'ImageId' => [ 'shape' => '__string', 'locationName' => 'imageId', ], 'InstanceId' => [ 'shape' => '__string', 'locationName' => 'instanceId', ], 'InstanceState' => [ 'shape' => '__string', 'locationName' => 'instanceState', ], 'InstanceType' => [ 'shape' => '__string', 'locationName' => 'instanceType', ], 'LaunchTime' => [ 'shape' => '__string', 'locationName' => 'launchTime', ], 'NetworkInterfaces' => [ 'shape' => 'NetworkInterfaces', 'locationName' => 'networkInterfaces', ], 'Platform' => [ 'shape' => '__string', 'locationName' => 'platform', ], 'ProductCodes' => [ 'shape' => 'ProductCodes', 'locationName' => 'productCodes', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'Type' => [ 'shape' => '__string', 'locationName' => '__type', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'Invitation' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => '__string', 'locationName' => 'accountId', ], 'InvitationId' => [ 'shape' => 'InvitationId', 'locationName' => 'invitationId', ], 'InvitedAt' => [ 'shape' => 'InvitedAt', 'locationName' => 'invitedAt', ], 'RelationshipStatus' => [ 'shape' => '__string', 'locationName' => 'relationshipStatus', ], ], ], 'InvitationId' => [ 'type' => 'string', ], 'Invitations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Invitation', ], ], 'InviteMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'DisableEmailNotification' => [ 'shape' => '__boolean', 'locationName' => 'disableEmailNotification', ], 'Message' => [ 'shape' => 'Message', 'locationName' => 'message', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'InviteMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'InvitedAt' => [ 'type' => 'string', ], 'IpSetFormat' => [ 'type' => 'string', 'enum' => [ 'TXT', 'STIX', 'OTX_CSV', 'ALIEN_VAULT', 'PROOF_POINT', 'FIRE_EYE', ], ], 'IpSetId' => [ 'type' => 'string', ], 'IpSetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpSetId', ], ], 'IpSetStatus' => [ 'type' => 'string', 'enum' => [ 'INACTIVE', 'ACTIVATING', 'ACTIVE', 'DEACTIVATING', 'ERROR', 'DELETE_PENDING', 'DELETED', ], ], 'Ipv6Address' => [ 'type' => 'string', ], 'Ipv6Addresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ipv6Address', ], ], 'ListDetectorsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListDetectorsResponse' => [ 'type' => 'structure', 'members' => [ 'DetectorIds' => [ 'shape' => 'DetectorIds', 'locationName' => 'detectorIds', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListFiltersRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'DetectorId', ], ], 'ListFiltersResponse' => [ 'type' => 'structure', 'members' => [ 'FilterNames' => [ 'shape' => 'FilterNames', 'locationName' => 'filterNames', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingCriteria' => [ 'shape' => 'FindingCriteria', 'locationName' => 'findingCriteria', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], 'SortCriteria' => [ 'shape' => 'SortCriteria', 'locationName' => 'sortCriteria', ], ], 'required' => [ 'DetectorId', ], ], 'ListFindingsResponse' => [ 'type' => 'structure', 'members' => [ 'FindingIds' => [ 'shape' => 'FindingIds', 'locationName' => 'findingIds', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListIPSetsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'DetectorId', ], ], 'ListIPSetsResponse' => [ 'type' => 'structure', 'members' => [ 'IpSetIds' => [ 'shape' => 'IpSetIds', 'locationName' => 'ipSetIds', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'Invitations' => [ 'shape' => 'Invitations', 'locationName' => 'invitations', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListMembersRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'OnlyAssociated' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'onlyAssociated', ], ], 'required' => [ 'DetectorId', ], ], 'ListMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'Members', 'locationName' => 'members', ], 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], ], ], 'ListThreatIntelSetsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'DetectorId', ], ], 'ListThreatIntelSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', 'locationName' => 'nextToken', ], 'ThreatIntelSetIds' => [ 'shape' => 'ThreatIntelSetIds', 'locationName' => 'threatIntelSetIds', ], ], ], 'LocalPortDetails' => [ 'type' => 'structure', 'members' => [ 'Port' => [ 'shape' => '__integer', 'locationName' => 'port', ], 'PortName' => [ 'shape' => '__string', 'locationName' => 'portName', ], ], ], 'Location' => [ 'type' => 'string', ], 'Master' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => '__string', 'locationName' => 'accountId', ], 'InvitationId' => [ 'shape' => 'InvitationId', 'locationName' => 'invitationId', ], 'InvitedAt' => [ 'shape' => 'InvitedAt', 'locationName' => 'invitedAt', ], 'RelationshipStatus' => [ 'shape' => '__string', 'locationName' => 'relationshipStatus', ], ], ], 'MasterId' => [ 'type' => 'string', ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 50, ], 'Member' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', 'locationName' => 'accountId', ], 'DetectorId' => [ 'shape' => 'DetectorId', 'locationName' => 'detectorId', ], 'Email' => [ 'shape' => 'Email', 'locationName' => 'email', ], 'InvitedAt' => [ 'shape' => 'InvitedAt', 'locationName' => 'invitedAt', ], 'MasterId' => [ 'shape' => 'MasterId', 'locationName' => 'masterId', ], 'RelationshipStatus' => [ 'shape' => '__string', 'locationName' => 'relationshipStatus', ], 'UpdatedAt' => [ 'shape' => 'UpdatedAt', 'locationName' => 'updatedAt', ], ], 'required' => [ 'Email', 'AccountId', 'MasterId', 'UpdatedAt', 'RelationshipStatus', ], ], 'Members' => [ 'type' => 'list', 'member' => [ 'shape' => 'Member', ], ], 'Message' => [ 'type' => 'string', ], 'Name' => [ 'type' => 'string', ], 'Neq' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], 'NetworkConnectionAction' => [ 'type' => 'structure', 'members' => [ 'Blocked' => [ 'shape' => '__boolean', 'locationName' => 'blocked', ], 'ConnectionDirection' => [ 'shape' => '__string', 'locationName' => 'connectionDirection', ], 'LocalPortDetails' => [ 'shape' => 'LocalPortDetails', 'locationName' => 'localPortDetails', ], 'Protocol' => [ 'shape' => '__string', 'locationName' => 'protocol', ], 'RemoteIpDetails' => [ 'shape' => 'RemoteIpDetails', 'locationName' => 'remoteIpDetails', ], 'RemotePortDetails' => [ 'shape' => 'RemotePortDetails', 'locationName' => 'remotePortDetails', ], ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'Ipv6Addresses' => [ 'shape' => 'Ipv6Addresses', 'locationName' => 'ipv6Addresses', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', 'locationName' => 'networkInterfaceId', ], 'PrivateDnsName' => [ 'shape' => 'PrivateDnsName', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'PrivateIpAddress', 'locationName' => 'privateIpAddress', ], 'PrivateIpAddresses' => [ 'shape' => 'PrivateIpAddresses', 'locationName' => 'privateIpAddresses', ], 'PublicDnsName' => [ 'shape' => '__string', 'locationName' => 'publicDnsName', ], 'PublicIp' => [ 'shape' => '__string', 'locationName' => 'publicIp', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroups', 'locationName' => 'securityGroups', ], 'SubnetId' => [ 'shape' => '__string', 'locationName' => 'subnetId', ], 'VpcId' => [ 'shape' => '__string', 'locationName' => 'vpcId', ], ], ], 'NetworkInterfaceId' => [ 'type' => 'string', ], 'NetworkInterfaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', ], ], 'NextToken' => [ 'type' => 'string', ], 'OrderBy' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], 'Organization' => [ 'type' => 'structure', 'members' => [ 'Asn' => [ 'shape' => '__string', 'locationName' => 'asn', ], 'AsnOrg' => [ 'shape' => '__string', 'locationName' => 'asnOrg', ], 'Isp' => [ 'shape' => '__string', 'locationName' => 'isp', ], 'Org' => [ 'shape' => '__string', 'locationName' => 'org', ], ], ], 'PortProbeAction' => [ 'type' => 'structure', 'members' => [ 'Blocked' => [ 'shape' => '__boolean', 'locationName' => 'blocked', ], 'PortProbeDetails' => [ 'shape' => '__listOfPortProbeDetail', 'locationName' => 'portProbeDetails', ], ], ], 'PortProbeDetail' => [ 'type' => 'structure', 'members' => [ 'LocalPortDetails' => [ 'shape' => 'LocalPortDetails', 'locationName' => 'localPortDetails', ], 'RemoteIpDetails' => [ 'shape' => 'RemoteIpDetails', 'locationName' => 'remoteIpDetails', ], ], ], 'PrivateDnsName' => [ 'type' => 'string', ], 'PrivateIpAddress' => [ 'type' => 'string', ], 'PrivateIpAddressDetails' => [ 'type' => 'structure', 'members' => [ 'PrivateDnsName' => [ 'shape' => 'PrivateDnsName', 'locationName' => 'privateDnsName', ], 'PrivateIpAddress' => [ 'shape' => 'PrivateIpAddress', 'locationName' => 'privateIpAddress', ], ], ], 'PrivateIpAddresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIpAddressDetails', ], ], 'ProductCode' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'ProductType' => [ 'shape' => '__string', 'locationName' => 'productType', ], ], ], 'ProductCodes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductCode', ], ], 'RemoteIpDetails' => [ 'type' => 'structure', 'members' => [ 'City' => [ 'shape' => 'City', 'locationName' => 'city', ], 'Country' => [ 'shape' => 'Country', 'locationName' => 'country', ], 'GeoLocation' => [ 'shape' => 'GeoLocation', 'locationName' => 'geoLocation', ], 'IpAddressV4' => [ 'shape' => '__string', 'locationName' => 'ipAddressV4', ], 'Organization' => [ 'shape' => 'Organization', 'locationName' => 'organization', ], ], ], 'RemotePortDetails' => [ 'type' => 'structure', 'members' => [ 'Port' => [ 'shape' => '__integer', 'locationName' => 'port', ], 'PortName' => [ 'shape' => '__string', 'locationName' => 'portName', ], ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'AccessKeyDetails' => [ 'shape' => 'AccessKeyDetails', 'locationName' => 'accessKeyDetails', ], 'InstanceDetails' => [ 'shape' => 'InstanceDetails', 'locationName' => 'instanceDetails', ], 'ResourceType' => [ 'shape' => '__string', 'locationName' => 'resourceType', ], ], ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => '__string', 'locationName' => 'groupId', ], 'GroupName' => [ 'shape' => '__string', 'locationName' => 'groupName', ], ], ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', ], ], 'Service' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', 'locationName' => 'action', ], 'Archived' => [ 'shape' => '__boolean', 'locationName' => 'archived', ], 'Count' => [ 'shape' => '__integer', 'locationName' => 'count', ], 'DetectorId' => [ 'shape' => 'DetectorId', 'locationName' => 'detectorId', ], 'EventFirstSeen' => [ 'shape' => '__string', 'locationName' => 'eventFirstSeen', ], 'EventLastSeen' => [ 'shape' => '__string', 'locationName' => 'eventLastSeen', ], 'ResourceRole' => [ 'shape' => '__string', 'locationName' => 'resourceRole', ], 'ServiceName' => [ 'shape' => '__string', 'locationName' => 'serviceName', ], 'UserFeedback' => [ 'shape' => '__string', 'locationName' => 'userFeedback', ], ], ], 'ServiceRole' => [ 'type' => 'string', ], 'SortCriteria' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => '__string', 'locationName' => 'attributeName', ], 'OrderBy' => [ 'shape' => 'OrderBy', 'locationName' => 'orderBy', ], ], ], 'StartMonitoringMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'StartMonitoringMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'StopMonitoringMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => 'accountIds', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], ], 'required' => [ 'DetectorId', 'AccountIds', ], ], 'StopMonitoringMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'UnprocessedAccounts', 'locationName' => 'unprocessedAccounts', ], ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => '__string', 'locationName' => 'key', ], 'Value' => [ 'shape' => '__string', 'locationName' => 'value', ], ], ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'ThreatIntelSetFormat' => [ 'type' => 'string', 'enum' => [ 'TXT', 'STIX', 'OTX_CSV', 'ALIEN_VAULT', 'PROOF_POINT', 'FIRE_EYE', ], ], 'ThreatIntelSetId' => [ 'type' => 'string', ], 'ThreatIntelSetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThreatIntelSetId', ], ], 'ThreatIntelSetStatus' => [ 'type' => 'string', 'enum' => [ 'INACTIVE', 'ACTIVATING', 'ACTIVE', 'DEACTIVATING', 'ERROR', 'DELETE_PENDING', 'DELETED', ], ], 'UnarchiveFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FindingIds' => [ 'shape' => 'FindingIds', 'locationName' => 'findingIds', ], ], 'required' => [ 'DetectorId', 'FindingIds', ], ], 'UnarchiveFindingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UnprocessedAccount' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => '__string', 'locationName' => 'accountId', ], 'Result' => [ 'shape' => '__string', 'locationName' => 'result', ], ], 'required' => [ 'AccountId', 'Result', ], ], 'UnprocessedAccounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedAccount', ], ], 'UpdateDetectorRequest' => [ 'type' => 'structure', 'members' => [ 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Enable' => [ 'shape' => 'Enable', 'locationName' => 'enable', ], 'FindingPublishingFrequency' => [ 'shape' => 'FindingPublishingFrequency', 'locationName' => 'findingPublishingFrequency', ], ], 'required' => [ 'DetectorId', ], ], 'UpdateDetectorResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateFilterRequest' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'FilterAction', 'locationName' => 'action', ], 'Description' => [ 'shape' => 'FilterDescription', 'locationName' => 'description', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'FilterName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'filterName', ], 'FindingCriteria' => [ 'shape' => 'FindingCriteria', 'locationName' => 'findingCriteria', ], 'Rank' => [ 'shape' => 'FilterRank', 'locationName' => 'rank', ], ], 'required' => [ 'DetectorId', 'FilterName', ], ], 'UpdateFilterResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', 'locationName' => 'name', ], ], ], 'UpdateFindingsFeedbackRequest' => [ 'type' => 'structure', 'members' => [ 'Comments' => [ 'shape' => 'Comments', 'locationName' => 'comments', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Feedback' => [ 'shape' => 'Feedback', 'locationName' => 'feedback', ], 'FindingIds' => [ 'shape' => 'FindingIds', 'locationName' => 'findingIds', ], ], 'required' => [ 'DetectorId', 'Feedback', 'FindingIds', ], ], 'UpdateFindingsFeedbackResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateIPSetRequest' => [ 'type' => 'structure', 'members' => [ 'Activate' => [ 'shape' => 'Activate', 'locationName' => 'activate', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'IpSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ipSetId', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], ], 'required' => [ 'DetectorId', 'IpSetId', ], ], 'UpdateIPSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateThreatIntelSetRequest' => [ 'type' => 'structure', 'members' => [ 'Activate' => [ 'shape' => 'Activate', 'locationName' => 'activate', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], 'ThreatIntelSetId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'threatIntelSetId', ], ], 'required' => [ 'ThreatIntelSetId', 'DetectorId', ], ], 'UpdateThreatIntelSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdatedAt' => [ 'type' => 'string', ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfPortProbeDetail' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortProbeDetail', ], ], '__long' => [ 'type' => 'long', ], '__mapOfCondition' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'Condition', ], ], '__mapOfCountBySeverityFindingStatistic' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'CountBySeverityFindingStatistic', ], ], '__string' => [ 'type' => 'string', ], '__stringMin0Max64' => [ 'type' => 'string', 'min' => 0, 'max' => 64, ], '__timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/guardduty/2017-11-28/paginators-1.json.php b/lib/aws/Aws/data/guardduty/2017-11-28/paginators-1.json.php new file mode 100644 index 0000000..71839b1 --- /dev/null +++ b/lib/aws/Aws/data/guardduty/2017-11-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/guardduty/2017-11-28/paginators-1.json +return [ 'pagination' => [ 'ListDetectors' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'DetectorIds', ], 'ListFindings' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'FindingIds', ], 'ListIPSets' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'IpSetIds', ], 'ListThreatIntelSets' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ThreatIntelSetIds', ], 'ListInvitations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Invitations', ], 'ListMembers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Members', ], 'ListFilters' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'FilterNames', ], ],]; diff --git a/lib/aws/Aws/data/health/2016-08-04/api-2.json.php b/lib/aws/Aws/data/health/2016-08-04/api-2.json.php new file mode 100644 index 0000000..f4879a8 --- /dev/null +++ b/lib/aws/Aws/data/health/2016-08-04/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/health/2016-08-04/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-08-04', 'endpointPrefix' => 'health', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWSHealth', 'serviceFullName' => 'AWS Health APIs and Notifications', 'serviceId' => 'Health', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSHealth_20160804', 'uid' => 'health-2016-08-04', ], 'operations' => [ 'DescribeAffectedEntities' => [ 'name' => 'DescribeAffectedEntities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAffectedEntitiesRequest', ], 'output' => [ 'shape' => 'DescribeAffectedEntitiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidPaginationToken', ], [ 'shape' => 'UnsupportedLocale', ], ], 'idempotent' => true, ], 'DescribeEntityAggregates' => [ 'name' => 'DescribeEntityAggregates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEntityAggregatesRequest', ], 'output' => [ 'shape' => 'DescribeEntityAggregatesResponse', ], 'idempotent' => true, ], 'DescribeEventAggregates' => [ 'name' => 'DescribeEventAggregates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventAggregatesRequest', ], 'output' => [ 'shape' => 'DescribeEventAggregatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidPaginationToken', ], ], 'idempotent' => true, ], 'DescribeEventDetails' => [ 'name' => 'DescribeEventDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventDetailsRequest', ], 'output' => [ 'shape' => 'DescribeEventDetailsResponse', ], 'errors' => [ [ 'shape' => 'UnsupportedLocale', ], ], 'idempotent' => true, ], 'DescribeEventTypes' => [ 'name' => 'DescribeEventTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventTypesRequest', ], 'output' => [ 'shape' => 'DescribeEventTypesResponse', ], 'errors' => [ [ 'shape' => 'InvalidPaginationToken', ], [ 'shape' => 'UnsupportedLocale', ], ], 'idempotent' => true, ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsRequest', ], 'output' => [ 'shape' => 'DescribeEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidPaginationToken', ], [ 'shape' => 'UnsupportedLocale', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'AffectedEntity' => [ 'type' => 'structure', 'members' => [ 'entityArn' => [ 'shape' => 'entityArn', ], 'eventArn' => [ 'shape' => 'eventArn', ], 'entityValue' => [ 'shape' => 'entityValue', ], 'entityUrl' => [ 'shape' => 'entityUrl', ], 'awsAccountId' => [ 'shape' => 'accountId', ], 'lastUpdatedTime' => [ 'shape' => 'timestamp', ], 'statusCode' => [ 'shape' => 'entityStatusCode', ], 'tags' => [ 'shape' => 'tagSet', ], ], ], 'DateTimeRange' => [ 'type' => 'structure', 'members' => [ 'from' => [ 'shape' => 'timestamp', ], 'to' => [ 'shape' => 'timestamp', ], ], ], 'DescribeAffectedEntitiesRequest' => [ 'type' => 'structure', 'required' => [ 'filter', ], 'members' => [ 'filter' => [ 'shape' => 'EntityFilter', ], 'locale' => [ 'shape' => 'locale', ], 'nextToken' => [ 'shape' => 'nextToken', ], 'maxResults' => [ 'shape' => 'maxResults', ], ], ], 'DescribeAffectedEntitiesResponse' => [ 'type' => 'structure', 'members' => [ 'entities' => [ 'shape' => 'EntityList', ], 'nextToken' => [ 'shape' => 'nextToken', ], ], ], 'DescribeEntityAggregatesRequest' => [ 'type' => 'structure', 'members' => [ 'eventArns' => [ 'shape' => 'EventArnsList', ], ], ], 'DescribeEntityAggregatesResponse' => [ 'type' => 'structure', 'members' => [ 'entityAggregates' => [ 'shape' => 'EntityAggregateList', ], ], ], 'DescribeEventAggregatesRequest' => [ 'type' => 'structure', 'required' => [ 'aggregateField', ], 'members' => [ 'filter' => [ 'shape' => 'EventFilter', ], 'aggregateField' => [ 'shape' => 'eventAggregateField', ], 'maxResults' => [ 'shape' => 'maxResults', ], 'nextToken' => [ 'shape' => 'nextToken', ], ], ], 'DescribeEventAggregatesResponse' => [ 'type' => 'structure', 'members' => [ 'eventAggregates' => [ 'shape' => 'EventAggregateList', ], 'nextToken' => [ 'shape' => 'nextToken', ], ], ], 'DescribeEventDetailsFailedSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDetailsErrorItem', ], ], 'DescribeEventDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'eventArns', ], 'members' => [ 'eventArns' => [ 'shape' => 'eventArnList', ], 'locale' => [ 'shape' => 'locale', ], ], ], 'DescribeEventDetailsResponse' => [ 'type' => 'structure', 'members' => [ 'successfulSet' => [ 'shape' => 'DescribeEventDetailsSuccessfulSet', ], 'failedSet' => [ 'shape' => 'DescribeEventDetailsFailedSet', ], ], ], 'DescribeEventDetailsSuccessfulSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDetails', ], ], 'DescribeEventTypesRequest' => [ 'type' => 'structure', 'members' => [ 'filter' => [ 'shape' => 'EventTypeFilter', ], 'locale' => [ 'shape' => 'locale', ], 'nextToken' => [ 'shape' => 'nextToken', ], 'maxResults' => [ 'shape' => 'maxResults', ], ], ], 'DescribeEventTypesResponse' => [ 'type' => 'structure', 'members' => [ 'eventTypes' => [ 'shape' => 'EventTypeList', ], 'nextToken' => [ 'shape' => 'nextToken', ], ], ], 'DescribeEventsRequest' => [ 'type' => 'structure', 'members' => [ 'filter' => [ 'shape' => 'EventFilter', ], 'nextToken' => [ 'shape' => 'nextToken', ], 'maxResults' => [ 'shape' => 'maxResults', ], 'locale' => [ 'shape' => 'locale', ], ], ], 'DescribeEventsResponse' => [ 'type' => 'structure', 'members' => [ 'events' => [ 'shape' => 'EventList', ], 'nextToken' => [ 'shape' => 'nextToken', ], ], ], 'EntityAggregate' => [ 'type' => 'structure', 'members' => [ 'eventArn' => [ 'shape' => 'eventArn', ], 'count' => [ 'shape' => 'count', ], ], ], 'EntityAggregateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityAggregate', ], ], 'EntityFilter' => [ 'type' => 'structure', 'required' => [ 'eventArns', ], 'members' => [ 'eventArns' => [ 'shape' => 'eventArnList', ], 'entityArns' => [ 'shape' => 'entityArnList', ], 'entityValues' => [ 'shape' => 'entityValueList', ], 'lastUpdatedTimes' => [ 'shape' => 'dateTimeRangeList', ], 'tags' => [ 'shape' => 'tagFilter', ], 'statusCodes' => [ 'shape' => 'entityStatusCodeList', ], ], ], 'EntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AffectedEntity', ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'eventArn', ], 'service' => [ 'shape' => 'service', ], 'eventTypeCode' => [ 'shape' => 'eventTypeCode', ], 'eventTypeCategory' => [ 'shape' => 'eventTypeCategory', ], 'region' => [ 'shape' => 'region', ], 'availabilityZone' => [ 'shape' => 'availabilityZone', ], 'startTime' => [ 'shape' => 'timestamp', ], 'endTime' => [ 'shape' => 'timestamp', ], 'lastUpdatedTime' => [ 'shape' => 'timestamp', ], 'statusCode' => [ 'shape' => 'eventStatusCode', ], ], ], 'EventAggregate' => [ 'type' => 'structure', 'members' => [ 'aggregateValue' => [ 'shape' => 'aggregateValue', ], 'count' => [ 'shape' => 'count', ], ], ], 'EventAggregateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventAggregate', ], ], 'EventArnsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventArn', ], 'max' => 50, 'min' => 1, ], 'EventDescription' => [ 'type' => 'structure', 'members' => [ 'latestDescription' => [ 'shape' => 'eventDescription', ], ], ], 'EventDetails' => [ 'type' => 'structure', 'members' => [ 'event' => [ 'shape' => 'Event', ], 'eventDescription' => [ 'shape' => 'EventDescription', ], 'eventMetadata' => [ 'shape' => 'eventMetadata', ], ], ], 'EventDetailsErrorItem' => [ 'type' => 'structure', 'members' => [ 'eventArn' => [ 'shape' => 'eventArn', ], 'errorName' => [ 'shape' => 'string', ], 'errorMessage' => [ 'shape' => 'string', ], ], ], 'EventFilter' => [ 'type' => 'structure', 'members' => [ 'eventArns' => [ 'shape' => 'eventArnList', ], 'eventTypeCodes' => [ 'shape' => 'eventTypeList', ], 'services' => [ 'shape' => 'serviceList', ], 'regions' => [ 'shape' => 'regionList', ], 'availabilityZones' => [ 'shape' => 'availabilityZones', ], 'startTimes' => [ 'shape' => 'dateTimeRangeList', ], 'endTimes' => [ 'shape' => 'dateTimeRangeList', ], 'lastUpdatedTimes' => [ 'shape' => 'dateTimeRangeList', ], 'entityArns' => [ 'shape' => 'entityArnList', ], 'entityValues' => [ 'shape' => 'entityValueList', ], 'eventTypeCategories' => [ 'shape' => 'eventTypeCategoryList', ], 'tags' => [ 'shape' => 'tagFilter', ], 'eventStatusCodes' => [ 'shape' => 'eventStatusCodeList', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], ], 'EventType' => [ 'type' => 'structure', 'members' => [ 'service' => [ 'shape' => 'service', ], 'code' => [ 'shape' => 'eventTypeCode', ], 'category' => [ 'shape' => 'eventTypeCategory', ], ], ], 'EventTypeCategoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventTypeCategory', ], 'max' => 10, 'min' => 1, ], 'EventTypeCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventTypeCode', ], 'max' => 10, 'min' => 1, ], 'EventTypeFilter' => [ 'type' => 'structure', 'members' => [ 'eventTypeCodes' => [ 'shape' => 'EventTypeCodeList', ], 'services' => [ 'shape' => 'serviceList', ], 'eventTypeCategories' => [ 'shape' => 'EventTypeCategoryList', ], ], ], 'EventTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventType', ], ], 'InvalidPaginationToken' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'UnsupportedLocale' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'accountId' => [ 'type' => 'string', 'pattern' => '[0-9]{12}', ], 'aggregateValue' => [ 'type' => 'string', ], 'availabilityZone' => [ 'type' => 'string', 'pattern' => '[a-z]{2}\\-[0-9a-z\\-]{4,16}', ], 'availabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'availabilityZone', ], ], 'count' => [ 'type' => 'integer', ], 'dateTimeRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DateTimeRange', ], 'max' => 10, 'min' => 1, ], 'entityArn' => [ 'type' => 'string', 'max' => 1600, ], 'entityArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'entityArn', ], 'max' => 100, 'min' => 1, ], 'entityStatusCode' => [ 'type' => 'string', 'enum' => [ 'IMPAIRED', 'UNIMPAIRED', 'UNKNOWN', ], ], 'entityStatusCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'entityStatusCode', ], 'max' => 3, 'min' => 1, ], 'entityUrl' => [ 'type' => 'string', 'pattern' => 'https?://.+\\.(amazon\\.com|amazonaws\\.com|amazonaws\\.cn|c2s\\.ic\\.gov|sc2s\\.sgov\\.gov|amazonaws-us-gov.com)/.*', ], 'entityValue' => [ 'type' => 'string', 'max' => 256, ], 'entityValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'entityValue', ], 'max' => 100, 'min' => 1, ], 'eventAggregateField' => [ 'type' => 'string', 'enum' => [ 'eventTypeCategory', ], ], 'eventArn' => [ 'type' => 'string', 'max' => 1600, 'pattern' => 'arn:aws:health:[^:]*:[^:]*:event(?:/[\\w-]+){3}', ], 'eventArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventArn', ], 'max' => 10, 'min' => 1, ], 'eventDescription' => [ 'type' => 'string', ], 'eventMetadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'metadataKey', ], 'value' => [ 'shape' => 'metadataValue', ], ], 'eventStatusCode' => [ 'type' => 'string', 'enum' => [ 'open', 'closed', 'upcoming', ], ], 'eventStatusCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventStatusCode', ], 'max' => 6, 'min' => 1, ], 'eventType' => [ 'type' => 'string', 'max' => 100, 'min' => 3, ], 'eventTypeCategory' => [ 'type' => 'string', 'enum' => [ 'issue', 'accountNotification', 'scheduledChange', ], 'max' => 255, 'min' => 3, ], 'eventTypeCategoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventTypeCategory', ], 'max' => 10, 'min' => 1, ], 'eventTypeCode' => [ 'type' => 'string', 'max' => 100, 'min' => 3, ], 'eventTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'eventType', ], 'max' => 10, 'min' => 1, ], 'locale' => [ 'type' => 'string', 'max' => 256, 'min' => 2, ], 'maxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 10, ], 'metadataKey' => [ 'type' => 'string', ], 'metadataValue' => [ 'type' => 'string', 'max' => 10240, ], 'nextToken' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9=/+_.-]{4,512}', ], 'region' => [ 'type' => 'string', 'pattern' => '[^:/]{2,25}', ], 'regionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'region', ], 'max' => 10, 'min' => 1, ], 'service' => [ 'type' => 'string', 'max' => 30, 'min' => 2, ], 'serviceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'service', ], 'max' => 10, 'min' => 1, ], 'string' => [ 'type' => 'string', ], 'tagFilter' => [ 'type' => 'list', 'member' => [ 'shape' => 'tagSet', ], 'max' => 50, ], 'tagKey' => [ 'type' => 'string', 'max' => 127, ], 'tagSet' => [ 'type' => 'map', 'key' => [ 'shape' => 'tagKey', ], 'value' => [ 'shape' => 'tagValue', ], 'max' => 50, ], 'tagValue' => [ 'type' => 'string', 'max' => 255, ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/health/2016-08-04/paginators-1.json.php b/lib/aws/Aws/data/health/2016-08-04/paginators-1.json.php new file mode 100644 index 0000000..1eed151 --- /dev/null +++ b/lib/aws/Aws/data/health/2016-08-04/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/health/2016-08-04/paginators-1.json +return [ 'pagination' => [ 'DescribeAffectedEntities' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'entities', ], 'DescribeEntityAggregates' => [ 'result_key' => 'entityAggregates', ], 'DescribeEventAggregates' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'eventAggregates', ], 'DescribeEventTypes' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'eventTypes', ], 'DescribeEvents' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'events', ], ],]; diff --git a/lib/aws/Aws/data/iam/2010-05-08/api-2.json.php b/lib/aws/Aws/data/iam/2010-05-08/api-2.json.php new file mode 100644 index 0000000..4436858 --- /dev/null +++ b/lib/aws/Aws/data/iam/2010-05-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iam/2010-05-08/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-05-08', 'endpointPrefix' => 'iam', 'globalEndpoint' => 'iam.amazonaws.com', 'protocol' => 'query', 'serviceAbbreviation' => 'IAM', 'serviceFullName' => 'AWS Identity and Access Management', 'serviceId' => 'IAM', 'signatureVersion' => 'v4', 'uid' => 'iam-2010-05-08', 'xmlNamespace' => 'https://iam.amazonaws.com/doc/2010-05-08/', ], 'operations' => [ 'AddClientIDToOpenIDConnectProvider' => [ 'name' => 'AddClientIDToOpenIDConnectProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddClientIDToOpenIDConnectProviderRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AddRoleToInstanceProfile' => [ 'name' => 'AddRoleToInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddRoleToInstanceProfileRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AddUserToGroup' => [ 'name' => 'AddUserToGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddUserToGroupRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AttachGroupPolicy' => [ 'name' => 'AttachGroupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachGroupPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotAttachableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AttachRolePolicy' => [ 'name' => 'AttachRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachRolePolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'PolicyNotAttachableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'AttachUserPolicy' => [ 'name' => 'AttachUserPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachUserPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotAttachableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ChangePassword' => [ 'name' => 'ChangePassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ChangePasswordRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidUserTypeException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'PasswordPolicyViolationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateAccessKey' => [ 'name' => 'CreateAccessKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAccessKeyRequest', ], 'output' => [ 'shape' => 'CreateAccessKeyResponse', 'resultWrapper' => 'CreateAccessKeyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateAccountAlias' => [ 'name' => 'CreateAccountAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAccountAliasRequest', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResponse', 'resultWrapper' => 'CreateGroupResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateInstanceProfile' => [ 'name' => 'CreateInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceProfileRequest', ], 'output' => [ 'shape' => 'CreateInstanceProfileResponse', 'resultWrapper' => 'CreateInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateLoginProfile' => [ 'name' => 'CreateLoginProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoginProfileRequest', ], 'output' => [ 'shape' => 'CreateLoginProfileResponse', 'resultWrapper' => 'CreateLoginProfileResult', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'PasswordPolicyViolationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateOpenIDConnectProvider' => [ 'name' => 'CreateOpenIDConnectProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOpenIDConnectProviderRequest', ], 'output' => [ 'shape' => 'CreateOpenIDConnectProviderResponse', 'resultWrapper' => 'CreateOpenIDConnectProviderResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreatePolicy' => [ 'name' => 'CreatePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePolicyRequest', ], 'output' => [ 'shape' => 'CreatePolicyResponse', 'resultWrapper' => 'CreatePolicyResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreatePolicyVersion' => [ 'name' => 'CreatePolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePolicyVersionRequest', ], 'output' => [ 'shape' => 'CreatePolicyVersionResponse', 'resultWrapper' => 'CreatePolicyVersionResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateRole' => [ 'name' => 'CreateRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRoleRequest', ], 'output' => [ 'shape' => 'CreateRoleResponse', 'resultWrapper' => 'CreateRoleResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateSAMLProvider' => [ 'name' => 'CreateSAMLProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSAMLProviderRequest', ], 'output' => [ 'shape' => 'CreateSAMLProviderResponse', 'resultWrapper' => 'CreateSAMLProviderResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateServiceLinkedRole' => [ 'name' => 'CreateServiceLinkedRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServiceLinkedRoleRequest', ], 'output' => [ 'shape' => 'CreateServiceLinkedRoleResponse', 'resultWrapper' => 'CreateServiceLinkedRoleResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateServiceSpecificCredential' => [ 'name' => 'CreateServiceSpecificCredential', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServiceSpecificCredentialRequest', ], 'output' => [ 'shape' => 'CreateServiceSpecificCredentialResponse', 'resultWrapper' => 'CreateServiceSpecificCredentialResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceNotSupportedException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', 'resultWrapper' => 'CreateUserResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'CreateVirtualMFADevice' => [ 'name' => 'CreateVirtualMFADevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVirtualMFADeviceRequest', ], 'output' => [ 'shape' => 'CreateVirtualMFADeviceResponse', 'resultWrapper' => 'CreateVirtualMFADeviceResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeactivateMFADevice' => [ 'name' => 'DeactivateMFADevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeactivateMFADeviceRequest', ], 'errors' => [ [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteAccessKey' => [ 'name' => 'DeleteAccessKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAccessKeyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteAccountAlias' => [ 'name' => 'DeleteAccountAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAccountAliasRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteAccountPasswordPolicy' => [ 'name' => 'DeleteAccountPasswordPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteGroupPolicy' => [ 'name' => 'DeleteGroupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGroupPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteInstanceProfile' => [ 'name' => 'DeleteInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInstanceProfileRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteLoginProfile' => [ 'name' => 'DeleteLoginProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoginProfileRequest', ], 'errors' => [ [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteOpenIDConnectProvider' => [ 'name' => 'DeleteOpenIDConnectProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteOpenIDConnectProviderRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeletePolicyVersion' => [ 'name' => 'DeletePolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyVersionRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteRole' => [ 'name' => 'DeleteRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRoleRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteRolePermissionsBoundary' => [ 'name' => 'DeleteRolePermissionsBoundary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRolePermissionsBoundaryRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteRolePolicy' => [ 'name' => 'DeleteRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRolePolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteSAMLProvider' => [ 'name' => 'DeleteSAMLProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSAMLProviderRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteSSHPublicKey' => [ 'name' => 'DeleteSSHPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSSHPublicKeyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'DeleteServerCertificate' => [ 'name' => 'DeleteServerCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServerCertificateRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteServiceLinkedRole' => [ 'name' => 'DeleteServiceLinkedRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServiceLinkedRoleRequest', ], 'output' => [ 'shape' => 'DeleteServiceLinkedRoleResponse', 'resultWrapper' => 'DeleteServiceLinkedRoleResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteServiceSpecificCredential' => [ 'name' => 'DeleteServiceSpecificCredential', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServiceSpecificCredentialRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'DeleteSigningCertificate' => [ 'name' => 'DeleteSigningCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSigningCertificateRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteUserPermissionsBoundary' => [ 'name' => 'DeleteUserPermissionsBoundary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserPermissionsBoundaryRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteUserPolicy' => [ 'name' => 'DeleteUserPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteVirtualMFADevice' => [ 'name' => 'DeleteVirtualMFADevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVirtualMFADeviceRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DetachGroupPolicy' => [ 'name' => 'DetachGroupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachGroupPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DetachRolePolicy' => [ 'name' => 'DetachRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachRolePolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DetachUserPolicy' => [ 'name' => 'DetachUserPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachUserPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'EnableMFADevice' => [ 'name' => 'EnableMFADevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableMFADeviceRequest', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'InvalidAuthenticationCodeException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GenerateCredentialReport' => [ 'name' => 'GenerateCredentialReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GenerateCredentialReportResponse', 'resultWrapper' => 'GenerateCredentialReportResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GenerateServiceLastAccessedDetails' => [ 'name' => 'GenerateServiceLastAccessedDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateServiceLastAccessedDetailsRequest', ], 'output' => [ 'shape' => 'GenerateServiceLastAccessedDetailsResponse', 'resultWrapper' => 'GenerateServiceLastAccessedDetailsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetAccessKeyLastUsed' => [ 'name' => 'GetAccessKeyLastUsed', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAccessKeyLastUsedRequest', ], 'output' => [ 'shape' => 'GetAccessKeyLastUsedResponse', 'resultWrapper' => 'GetAccessKeyLastUsedResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'GetAccountAuthorizationDetails' => [ 'name' => 'GetAccountAuthorizationDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAccountAuthorizationDetailsRequest', ], 'output' => [ 'shape' => 'GetAccountAuthorizationDetailsResponse', 'resultWrapper' => 'GetAccountAuthorizationDetailsResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'GetAccountPasswordPolicy' => [ 'name' => 'GetAccountPasswordPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetAccountPasswordPolicyResponse', 'resultWrapper' => 'GetAccountPasswordPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetAccountSummary' => [ 'name' => 'GetAccountSummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetAccountSummaryResponse', 'resultWrapper' => 'GetAccountSummaryResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'GetContextKeysForCustomPolicy' => [ 'name' => 'GetContextKeysForCustomPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContextKeysForCustomPolicyRequest', ], 'output' => [ 'shape' => 'GetContextKeysForPolicyResponse', 'resultWrapper' => 'GetContextKeysForCustomPolicyResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], ], ], 'GetContextKeysForPrincipalPolicy' => [ 'name' => 'GetContextKeysForPrincipalPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContextKeysForPrincipalPolicyRequest', ], 'output' => [ 'shape' => 'GetContextKeysForPolicyResponse', 'resultWrapper' => 'GetContextKeysForPrincipalPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetCredentialReport' => [ 'name' => 'GetCredentialReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'GetCredentialReportResponse', 'resultWrapper' => 'GetCredentialReportResult', ], 'errors' => [ [ 'shape' => 'CredentialReportNotPresentException', ], [ 'shape' => 'CredentialReportExpiredException', ], [ 'shape' => 'CredentialReportNotReadyException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetGroup' => [ 'name' => 'GetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGroupRequest', ], 'output' => [ 'shape' => 'GetGroupResponse', 'resultWrapper' => 'GetGroupResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetGroupPolicy' => [ 'name' => 'GetGroupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGroupPolicyRequest', ], 'output' => [ 'shape' => 'GetGroupPolicyResponse', 'resultWrapper' => 'GetGroupPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetInstanceProfile' => [ 'name' => 'GetInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceProfileRequest', ], 'output' => [ 'shape' => 'GetInstanceProfileResponse', 'resultWrapper' => 'GetInstanceProfileResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetLoginProfile' => [ 'name' => 'GetLoginProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoginProfileRequest', ], 'output' => [ 'shape' => 'GetLoginProfileResponse', 'resultWrapper' => 'GetLoginProfileResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetOpenIDConnectProvider' => [ 'name' => 'GetOpenIDConnectProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOpenIDConnectProviderRequest', ], 'output' => [ 'shape' => 'GetOpenIDConnectProviderResponse', 'resultWrapper' => 'GetOpenIDConnectProviderResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetPolicy' => [ 'name' => 'GetPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPolicyRequest', ], 'output' => [ 'shape' => 'GetPolicyResponse', 'resultWrapper' => 'GetPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetPolicyVersion' => [ 'name' => 'GetPolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPolicyVersionRequest', ], 'output' => [ 'shape' => 'GetPolicyVersionResponse', 'resultWrapper' => 'GetPolicyVersionResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetRole' => [ 'name' => 'GetRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRoleRequest', ], 'output' => [ 'shape' => 'GetRoleResponse', 'resultWrapper' => 'GetRoleResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetRolePolicy' => [ 'name' => 'GetRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRolePolicyRequest', ], 'output' => [ 'shape' => 'GetRolePolicyResponse', 'resultWrapper' => 'GetRolePolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetSAMLProvider' => [ 'name' => 'GetSAMLProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSAMLProviderRequest', ], 'output' => [ 'shape' => 'GetSAMLProviderResponse', 'resultWrapper' => 'GetSAMLProviderResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetSSHPublicKey' => [ 'name' => 'GetSSHPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSSHPublicKeyRequest', ], 'output' => [ 'shape' => 'GetSSHPublicKeyResponse', 'resultWrapper' => 'GetSSHPublicKeyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'UnrecognizedPublicKeyEncodingException', ], ], ], 'GetServerCertificate' => [ 'name' => 'GetServerCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServerCertificateRequest', ], 'output' => [ 'shape' => 'GetServerCertificateResponse', 'resultWrapper' => 'GetServerCertificateResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetServiceLastAccessedDetails' => [ 'name' => 'GetServiceLastAccessedDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceLastAccessedDetailsRequest', ], 'output' => [ 'shape' => 'GetServiceLastAccessedDetailsResponse', 'resultWrapper' => 'GetServiceLastAccessedDetailsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetServiceLastAccessedDetailsWithEntities' => [ 'name' => 'GetServiceLastAccessedDetailsWithEntities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceLastAccessedDetailsWithEntitiesRequest', ], 'output' => [ 'shape' => 'GetServiceLastAccessedDetailsWithEntitiesResponse', 'resultWrapper' => 'GetServiceLastAccessedDetailsWithEntitiesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetServiceLinkedRoleDeletionStatus' => [ 'name' => 'GetServiceLinkedRoleDeletionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceLinkedRoleDeletionStatusRequest', ], 'output' => [ 'shape' => 'GetServiceLinkedRoleDeletionStatusResponse', 'resultWrapper' => 'GetServiceLinkedRoleDeletionStatusResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetUser' => [ 'name' => 'GetUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserRequest', ], 'output' => [ 'shape' => 'GetUserResponse', 'resultWrapper' => 'GetUserResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetUserPolicy' => [ 'name' => 'GetUserPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetUserPolicyRequest', ], 'output' => [ 'shape' => 'GetUserPolicyResponse', 'resultWrapper' => 'GetUserPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAccessKeys' => [ 'name' => 'ListAccessKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAccessKeysRequest', ], 'output' => [ 'shape' => 'ListAccessKeysResponse', 'resultWrapper' => 'ListAccessKeysResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAccountAliases' => [ 'name' => 'ListAccountAliases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAccountAliasesRequest', ], 'output' => [ 'shape' => 'ListAccountAliasesResponse', 'resultWrapper' => 'ListAccountAliasesResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAttachedGroupPolicies' => [ 'name' => 'ListAttachedGroupPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAttachedGroupPoliciesRequest', ], 'output' => [ 'shape' => 'ListAttachedGroupPoliciesResponse', 'resultWrapper' => 'ListAttachedGroupPoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAttachedRolePolicies' => [ 'name' => 'ListAttachedRolePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAttachedRolePoliciesRequest', ], 'output' => [ 'shape' => 'ListAttachedRolePoliciesResponse', 'resultWrapper' => 'ListAttachedRolePoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListAttachedUserPolicies' => [ 'name' => 'ListAttachedUserPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAttachedUserPoliciesRequest', ], 'output' => [ 'shape' => 'ListAttachedUserPoliciesResponse', 'resultWrapper' => 'ListAttachedUserPoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListEntitiesForPolicy' => [ 'name' => 'ListEntitiesForPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEntitiesForPolicyRequest', ], 'output' => [ 'shape' => 'ListEntitiesForPolicyResponse', 'resultWrapper' => 'ListEntitiesForPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListGroupPolicies' => [ 'name' => 'ListGroupPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupPoliciesRequest', ], 'output' => [ 'shape' => 'ListGroupPoliciesResponse', 'resultWrapper' => 'ListGroupPoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupsRequest', ], 'output' => [ 'shape' => 'ListGroupsResponse', 'resultWrapper' => 'ListGroupsResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListGroupsForUser' => [ 'name' => 'ListGroupsForUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupsForUserRequest', ], 'output' => [ 'shape' => 'ListGroupsForUserResponse', 'resultWrapper' => 'ListGroupsForUserResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListInstanceProfiles' => [ 'name' => 'ListInstanceProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstanceProfilesRequest', ], 'output' => [ 'shape' => 'ListInstanceProfilesResponse', 'resultWrapper' => 'ListInstanceProfilesResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListInstanceProfilesForRole' => [ 'name' => 'ListInstanceProfilesForRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstanceProfilesForRoleRequest', ], 'output' => [ 'shape' => 'ListInstanceProfilesForRoleResponse', 'resultWrapper' => 'ListInstanceProfilesForRoleResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListMFADevices' => [ 'name' => 'ListMFADevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMFADevicesRequest', ], 'output' => [ 'shape' => 'ListMFADevicesResponse', 'resultWrapper' => 'ListMFADevicesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListOpenIDConnectProviders' => [ 'name' => 'ListOpenIDConnectProviders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOpenIDConnectProvidersRequest', ], 'output' => [ 'shape' => 'ListOpenIDConnectProvidersResponse', 'resultWrapper' => 'ListOpenIDConnectProvidersResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListPolicies' => [ 'name' => 'ListPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesRequest', ], 'output' => [ 'shape' => 'ListPoliciesResponse', 'resultWrapper' => 'ListPoliciesResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListPoliciesGrantingServiceAccess' => [ 'name' => 'ListPoliciesGrantingServiceAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesGrantingServiceAccessRequest', ], 'output' => [ 'shape' => 'ListPoliciesGrantingServiceAccessResponse', 'resultWrapper' => 'ListPoliciesGrantingServiceAccessResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'ListPolicyVersions' => [ 'name' => 'ListPolicyVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPolicyVersionsRequest', ], 'output' => [ 'shape' => 'ListPolicyVersionsResponse', 'resultWrapper' => 'ListPolicyVersionsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListRolePolicies' => [ 'name' => 'ListRolePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRolePoliciesRequest', ], 'output' => [ 'shape' => 'ListRolePoliciesResponse', 'resultWrapper' => 'ListRolePoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListRoleTags' => [ 'name' => 'ListRoleTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRoleTagsRequest', ], 'output' => [ 'shape' => 'ListRoleTagsResponse', 'resultWrapper' => 'ListRoleTagsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListRoles' => [ 'name' => 'ListRoles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRolesRequest', ], 'output' => [ 'shape' => 'ListRolesResponse', 'resultWrapper' => 'ListRolesResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListSAMLProviders' => [ 'name' => 'ListSAMLProviders', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSAMLProvidersRequest', ], 'output' => [ 'shape' => 'ListSAMLProvidersResponse', 'resultWrapper' => 'ListSAMLProvidersResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListSSHPublicKeys' => [ 'name' => 'ListSSHPublicKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSSHPublicKeysRequest', ], 'output' => [ 'shape' => 'ListSSHPublicKeysResponse', 'resultWrapper' => 'ListSSHPublicKeysResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListServerCertificates' => [ 'name' => 'ListServerCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServerCertificatesRequest', ], 'output' => [ 'shape' => 'ListServerCertificatesResponse', 'resultWrapper' => 'ListServerCertificatesResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListServiceSpecificCredentials' => [ 'name' => 'ListServiceSpecificCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServiceSpecificCredentialsRequest', ], 'output' => [ 'shape' => 'ListServiceSpecificCredentialsResponse', 'resultWrapper' => 'ListServiceSpecificCredentialsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceNotSupportedException', ], ], ], 'ListSigningCertificates' => [ 'name' => 'ListSigningCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSigningCertificatesRequest', ], 'output' => [ 'shape' => 'ListSigningCertificatesResponse', 'resultWrapper' => 'ListSigningCertificatesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListUserPolicies' => [ 'name' => 'ListUserPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserPoliciesRequest', ], 'output' => [ 'shape' => 'ListUserPoliciesResponse', 'resultWrapper' => 'ListUserPoliciesResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListUserTags' => [ 'name' => 'ListUserTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUserTagsRequest', ], 'output' => [ 'shape' => 'ListUserTagsResponse', 'resultWrapper' => 'ListUserTagsResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', 'resultWrapper' => 'ListUsersResult', ], 'errors' => [ [ 'shape' => 'ServiceFailureException', ], ], ], 'ListVirtualMFADevices' => [ 'name' => 'ListVirtualMFADevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVirtualMFADevicesRequest', ], 'output' => [ 'shape' => 'ListVirtualMFADevicesResponse', 'resultWrapper' => 'ListVirtualMFADevicesResult', ], ], 'PutGroupPolicy' => [ 'name' => 'PutGroupPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutGroupPolicyRequest', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutRolePermissionsBoundary' => [ 'name' => 'PutRolePermissionsBoundary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRolePermissionsBoundaryRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'PolicyNotAttachableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutRolePolicy' => [ 'name' => 'PutRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRolePolicyRequest', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutUserPermissionsBoundary' => [ 'name' => 'PutUserPermissionsBoundary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutUserPermissionsBoundaryRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotAttachableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutUserPolicy' => [ 'name' => 'PutUserPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutUserPolicyRequest', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'RemoveClientIDFromOpenIDConnectProvider' => [ 'name' => 'RemoveClientIDFromOpenIDConnectProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveClientIDFromOpenIDConnectProviderRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'RemoveRoleFromInstanceProfile' => [ 'name' => 'RemoveRoleFromInstanceProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveRoleFromInstanceProfileRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'RemoveUserFromGroup' => [ 'name' => 'RemoveUserFromGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveUserFromGroupRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ResetServiceSpecificCredential' => [ 'name' => 'ResetServiceSpecificCredential', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetServiceSpecificCredentialRequest', ], 'output' => [ 'shape' => 'ResetServiceSpecificCredentialResponse', 'resultWrapper' => 'ResetServiceSpecificCredentialResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'ResyncMFADevice' => [ 'name' => 'ResyncMFADevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResyncMFADeviceRequest', ], 'errors' => [ [ 'shape' => 'InvalidAuthenticationCodeException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'SetDefaultPolicyVersion' => [ 'name' => 'SetDefaultPolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetDefaultPolicyVersionRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'SimulateCustomPolicy' => [ 'name' => 'SimulateCustomPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SimulateCustomPolicyRequest', ], 'output' => [ 'shape' => 'SimulatePolicyResponse', 'resultWrapper' => 'SimulateCustomPolicyResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyEvaluationException', ], ], ], 'SimulatePrincipalPolicy' => [ 'name' => 'SimulatePrincipalPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SimulatePrincipalPolicyRequest', ], 'output' => [ 'shape' => 'SimulatePolicyResponse', 'resultWrapper' => 'SimulatePrincipalPolicyResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyEvaluationException', ], ], ], 'TagRole' => [ 'name' => 'TagRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagRoleRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'TagUser' => [ 'name' => 'TagUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagUserRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UntagRole' => [ 'name' => 'UntagRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagRoleRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UntagUser' => [ 'name' => 'UntagUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagUserRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateAccessKey' => [ 'name' => 'UpdateAccessKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAccessKeyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateAccountPasswordPolicy' => [ 'name' => 'UpdateAccountPasswordPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAccountPasswordPolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateAssumeRolePolicy' => [ 'name' => 'UpdateAssumeRolePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAssumeRolePolicyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGroupRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateLoginProfile' => [ 'name' => 'UpdateLoginProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLoginProfileRequest', ], 'errors' => [ [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'PasswordPolicyViolationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateOpenIDConnectProviderThumbprint' => [ 'name' => 'UpdateOpenIDConnectProviderThumbprint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateOpenIDConnectProviderThumbprintRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateRole' => [ 'name' => 'UpdateRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRoleRequest', ], 'output' => [ 'shape' => 'UpdateRoleResponse', 'resultWrapper' => 'UpdateRoleResult', ], 'errors' => [ [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateRoleDescription' => [ 'name' => 'UpdateRoleDescription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRoleDescriptionRequest', ], 'output' => [ 'shape' => 'UpdateRoleDescriptionResponse', 'resultWrapper' => 'UpdateRoleDescriptionResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'UnmodifiableEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateSAMLProvider' => [ 'name' => 'UpdateSAMLProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSAMLProviderRequest', ], 'output' => [ 'shape' => 'UpdateSAMLProviderResponse', 'resultWrapper' => 'UpdateSAMLProviderResult', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateSSHPublicKey' => [ 'name' => 'UpdateSSHPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSSHPublicKeyRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'UpdateServerCertificate' => [ 'name' => 'UpdateServerCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServerCertificateRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateServiceSpecificCredential' => [ 'name' => 'UpdateServiceSpecificCredential', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceSpecificCredentialRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], ], ], 'UpdateSigningCertificate' => [ 'name' => 'UpdateSigningCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSigningCertificateRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'errors' => [ [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'EntityTemporarilyUnmodifiableException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UploadSSHPublicKey' => [ 'name' => 'UploadSSHPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UploadSSHPublicKeyRequest', ], 'output' => [ 'shape' => 'UploadSSHPublicKeyResponse', 'resultWrapper' => 'UploadSSHPublicKeyResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidPublicKeyException', ], [ 'shape' => 'DuplicateSSHPublicKeyException', ], [ 'shape' => 'UnrecognizedPublicKeyEncodingException', ], ], ], 'UploadServerCertificate' => [ 'name' => 'UploadServerCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UploadServerCertificateRequest', ], 'output' => [ 'shape' => 'UploadServerCertificateResponse', 'resultWrapper' => 'UploadServerCertificateResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'MalformedCertificateException', ], [ 'shape' => 'KeyPairMismatchException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'UploadSigningCertificate' => [ 'name' => 'UploadSigningCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UploadSigningCertificateRequest', ], 'output' => [ 'shape' => 'UploadSigningCertificateResponse', 'resultWrapper' => 'UploadSigningCertificateResult', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'MalformedCertificateException', ], [ 'shape' => 'InvalidCertificateException', ], [ 'shape' => 'DuplicateCertificateException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceFailureException', ], ], ], ], 'shapes' => [ 'AccessKey' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AccessKeyId', 'Status', 'SecretAccessKey', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], 'Status' => [ 'shape' => 'statusType', ], 'SecretAccessKey' => [ 'shape' => 'accessKeySecretType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'AccessKeyLastUsed' => [ 'type' => 'structure', 'required' => [ 'LastUsedDate', 'ServiceName', 'Region', ], 'members' => [ 'LastUsedDate' => [ 'shape' => 'dateType', ], 'ServiceName' => [ 'shape' => 'stringType', ], 'Region' => [ 'shape' => 'stringType', ], ], ], 'AccessKeyMetadata' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], 'Status' => [ 'shape' => 'statusType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'ActionNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionNameType', ], ], 'ActionNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 3, ], 'AddClientIDToOpenIDConnectProviderRequest' => [ 'type' => 'structure', 'required' => [ 'OpenIDConnectProviderArn', 'ClientID', ], 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], 'ClientID' => [ 'shape' => 'clientIDType', ], ], ], 'AddRoleToInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceProfileName', 'RoleName', ], 'members' => [ 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'AddUserToGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'UserName' => [ 'shape' => 'existingUserNameType', ], ], ], 'ArnListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'arnType', ], ], 'AttachGroupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyArn', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'AttachRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyArn', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'AttachUserPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyArn', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'AttachedPermissionsBoundary' => [ 'type' => 'structure', 'members' => [ 'PermissionsBoundaryType' => [ 'shape' => 'PermissionsBoundaryAttachmentType', ], 'PermissionsBoundaryArn' => [ 'shape' => 'arnType', ], ], ], 'AttachedPolicy' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'BootstrapDatum' => [ 'type' => 'blob', 'sensitive' => true, ], 'ChangePasswordRequest' => [ 'type' => 'structure', 'required' => [ 'OldPassword', 'NewPassword', ], 'members' => [ 'OldPassword' => [ 'shape' => 'passwordType', ], 'NewPassword' => [ 'shape' => 'passwordType', ], ], ], 'ColumnNumber' => [ 'type' => 'integer', ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ConcurrentModificationMessage', ], ], 'error' => [ 'code' => 'ConcurrentModification', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'ConcurrentModificationMessage' => [ 'type' => 'string', ], 'ContextEntry' => [ 'type' => 'structure', 'members' => [ 'ContextKeyName' => [ 'shape' => 'ContextKeyNameType', ], 'ContextKeyValues' => [ 'shape' => 'ContextKeyValueListType', ], 'ContextKeyType' => [ 'shape' => 'ContextKeyTypeEnum', ], ], ], 'ContextEntryListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContextEntry', ], ], 'ContextKeyNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 5, ], 'ContextKeyNamesResultListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContextKeyNameType', ], ], 'ContextKeyTypeEnum' => [ 'type' => 'string', 'enum' => [ 'string', 'stringList', 'numeric', 'numericList', 'boolean', 'booleanList', 'ip', 'ipList', 'binary', 'binaryList', 'date', 'dateList', ], ], 'ContextKeyValueListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContextKeyValueType', ], ], 'ContextKeyValueType' => [ 'type' => 'string', ], 'CreateAccessKeyRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], ], ], 'CreateAccessKeyResponse' => [ 'type' => 'structure', 'required' => [ 'AccessKey', ], 'members' => [ 'AccessKey' => [ 'shape' => 'AccessKey', ], ], ], 'CreateAccountAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AccountAlias', ], 'members' => [ 'AccountAlias' => [ 'shape' => 'accountAliasType', ], ], ], 'CreateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'GroupName' => [ 'shape' => 'groupNameType', ], ], ], 'CreateGroupResponse' => [ 'type' => 'structure', 'required' => [ 'Group', ], 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'CreateInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceProfileName', ], 'members' => [ 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], 'Path' => [ 'shape' => 'pathType', ], ], ], 'CreateInstanceProfileResponse' => [ 'type' => 'structure', 'required' => [ 'InstanceProfile', ], 'members' => [ 'InstanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'CreateLoginProfileRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'Password', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'Password' => [ 'shape' => 'passwordType', ], 'PasswordResetRequired' => [ 'shape' => 'booleanType', ], ], ], 'CreateLoginProfileResponse' => [ 'type' => 'structure', 'required' => [ 'LoginProfile', ], 'members' => [ 'LoginProfile' => [ 'shape' => 'LoginProfile', ], ], ], 'CreateOpenIDConnectProviderRequest' => [ 'type' => 'structure', 'required' => [ 'Url', 'ThumbprintList', ], 'members' => [ 'Url' => [ 'shape' => 'OpenIDConnectProviderUrlType', ], 'ClientIDList' => [ 'shape' => 'clientIDListType', ], 'ThumbprintList' => [ 'shape' => 'thumbprintListType', ], ], ], 'CreateOpenIDConnectProviderResponse' => [ 'type' => 'structure', 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], ], ], 'CreatePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'PolicyDocument', ], 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'Path' => [ 'shape' => 'policyPathType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], 'Description' => [ 'shape' => 'policyDescriptionType', ], ], ], 'CreatePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], 'CreatePolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', 'PolicyDocument', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], 'SetAsDefault' => [ 'shape' => 'booleanType', ], ], ], 'CreatePolicyVersionResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyVersion' => [ 'shape' => 'PolicyVersion', ], ], ], 'CreateRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'AssumeRolePolicyDocument', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'RoleName' => [ 'shape' => 'roleNameType', ], 'AssumeRolePolicyDocument' => [ 'shape' => 'policyDocumentType', ], 'Description' => [ 'shape' => 'roleDescriptionType', ], 'MaxSessionDuration' => [ 'shape' => 'roleMaxSessionDurationType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'CreateRoleResponse' => [ 'type' => 'structure', 'required' => [ 'Role', ], 'members' => [ 'Role' => [ 'shape' => 'Role', ], ], ], 'CreateSAMLProviderRequest' => [ 'type' => 'structure', 'required' => [ 'SAMLMetadataDocument', 'Name', ], 'members' => [ 'SAMLMetadataDocument' => [ 'shape' => 'SAMLMetadataDocumentType', ], 'Name' => [ 'shape' => 'SAMLProviderNameType', ], ], ], 'CreateSAMLProviderResponse' => [ 'type' => 'structure', 'members' => [ 'SAMLProviderArn' => [ 'shape' => 'arnType', ], ], ], 'CreateServiceLinkedRoleRequest' => [ 'type' => 'structure', 'required' => [ 'AWSServiceName', ], 'members' => [ 'AWSServiceName' => [ 'shape' => 'groupNameType', ], 'Description' => [ 'shape' => 'roleDescriptionType', ], 'CustomSuffix' => [ 'shape' => 'customSuffixType', ], ], ], 'CreateServiceLinkedRoleResponse' => [ 'type' => 'structure', 'members' => [ 'Role' => [ 'shape' => 'Role', ], ], ], 'CreateServiceSpecificCredentialRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'ServiceName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'ServiceName' => [ 'shape' => 'serviceName', ], ], ], 'CreateServiceSpecificCredentialResponse' => [ 'type' => 'structure', 'members' => [ 'ServiceSpecificCredential' => [ 'shape' => 'ServiceSpecificCredential', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'UserName' => [ 'shape' => 'userNameType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'CreateVirtualMFADeviceRequest' => [ 'type' => 'structure', 'required' => [ 'VirtualMFADeviceName', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'VirtualMFADeviceName' => [ 'shape' => 'virtualMFADeviceName', ], ], ], 'CreateVirtualMFADeviceResponse' => [ 'type' => 'structure', 'required' => [ 'VirtualMFADevice', ], 'members' => [ 'VirtualMFADevice' => [ 'shape' => 'VirtualMFADevice', ], ], ], 'CredentialReportExpiredException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'credentialReportExpiredExceptionMessage', ], ], 'error' => [ 'code' => 'ReportExpired', 'httpStatusCode' => 410, 'senderFault' => true, ], 'exception' => true, ], 'CredentialReportNotPresentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'credentialReportNotPresentExceptionMessage', ], ], 'error' => [ 'code' => 'ReportNotPresent', 'httpStatusCode' => 410, 'senderFault' => true, ], 'exception' => true, ], 'CredentialReportNotReadyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'credentialReportNotReadyExceptionMessage', ], ], 'error' => [ 'code' => 'ReportInProgress', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DeactivateMFADeviceRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SerialNumber', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], ], ], 'DeleteAccessKeyRequest' => [ 'type' => 'structure', 'required' => [ 'AccessKeyId', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], ], ], 'DeleteAccountAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AccountAlias', ], 'members' => [ 'AccountAlias' => [ 'shape' => 'accountAliasType', ], ], ], 'DeleteConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'deleteConflictMessage', ], ], 'error' => [ 'code' => 'DeleteConflict', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'DeleteGroupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], ], ], 'DeleteInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceProfileName', ], 'members' => [ 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], ], ], 'DeleteLoginProfileRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], ], ], 'DeleteOpenIDConnectProviderRequest' => [ 'type' => 'structure', 'required' => [ 'OpenIDConnectProviderArn', ], 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], ], ], 'DeletePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'DeletePolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', 'VersionId', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'VersionId' => [ 'shape' => 'policyVersionIdType', ], ], ], 'DeleteRolePermissionsBoundaryRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'DeleteRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'DeleteRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'DeleteSAMLProviderRequest' => [ 'type' => 'structure', 'required' => [ 'SAMLProviderArn', ], 'members' => [ 'SAMLProviderArn' => [ 'shape' => 'arnType', ], ], ], 'DeleteSSHPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyId', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyId' => [ 'shape' => 'publicKeyIdType', ], ], ], 'DeleteServerCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateName', ], 'members' => [ 'ServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], ], ], 'DeleteServiceLinkedRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'DeleteServiceLinkedRoleResponse' => [ 'type' => 'structure', 'required' => [ 'DeletionTaskId', ], 'members' => [ 'DeletionTaskId' => [ 'shape' => 'DeletionTaskIdType', ], ], ], 'DeleteServiceSpecificCredentialRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceSpecificCredentialId', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'ServiceSpecificCredentialId' => [ 'shape' => 'serviceSpecificCredentialId', ], ], ], 'DeleteSigningCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateId', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'CertificateId' => [ 'shape' => 'certificateIdType', ], ], ], 'DeleteUserPermissionsBoundaryRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], ], ], 'DeleteUserPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], ], ], 'DeleteVirtualMFADeviceRequest' => [ 'type' => 'structure', 'required' => [ 'SerialNumber', ], 'members' => [ 'SerialNumber' => [ 'shape' => 'serialNumberType', ], ], ], 'DeletionTaskFailureReasonType' => [ 'type' => 'structure', 'members' => [ 'Reason' => [ 'shape' => 'ReasonType', ], 'RoleUsageList' => [ 'shape' => 'RoleUsageListType', ], ], ], 'DeletionTaskIdType' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'DeletionTaskStatusType' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'IN_PROGRESS', 'FAILED', 'NOT_STARTED', ], ], 'DetachGroupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyArn', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'DetachRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyArn', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'DetachUserPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyArn', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'DuplicateCertificateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'duplicateCertificateMessage', ], ], 'error' => [ 'code' => 'DuplicateCertificate', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'DuplicateSSHPublicKeyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'duplicateSSHPublicKeyMessage', ], ], 'error' => [ 'code' => 'DuplicateSSHPublicKey', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EnableMFADeviceRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SerialNumber', 'AuthenticationCode1', 'AuthenticationCode2', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'AuthenticationCode1' => [ 'shape' => 'authenticationCodeType', ], 'AuthenticationCode2' => [ 'shape' => 'authenticationCodeType', ], ], ], 'EntityAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'entityAlreadyExistsMessage', ], ], 'error' => [ 'code' => 'EntityAlreadyExists', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'EntityDetails' => [ 'type' => 'structure', 'required' => [ 'EntityInfo', ], 'members' => [ 'EntityInfo' => [ 'shape' => 'EntityInfo', ], 'LastAuthenticated' => [ 'shape' => 'dateType', ], ], ], 'EntityInfo' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Name', 'Type', 'Id', ], 'members' => [ 'Arn' => [ 'shape' => 'arnType', ], 'Name' => [ 'shape' => 'userNameType', ], 'Type' => [ 'shape' => 'policyOwnerEntityType', ], 'Id' => [ 'shape' => 'idType', ], 'Path' => [ 'shape' => 'pathType', ], ], ], 'EntityTemporarilyUnmodifiableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'entityTemporarilyUnmodifiableMessage', ], ], 'error' => [ 'code' => 'EntityTemporarilyUnmodifiable', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'EntityType' => [ 'type' => 'string', 'enum' => [ 'User', 'Role', 'Group', 'LocalManagedPolicy', 'AWSManagedPolicy', ], ], 'ErrorDetails' => [ 'type' => 'structure', 'required' => [ 'Message', 'Code', ], 'members' => [ 'Message' => [ 'shape' => 'stringType', ], 'Code' => [ 'shape' => 'stringType', ], ], ], 'EvalDecisionDetailsType' => [ 'type' => 'map', 'key' => [ 'shape' => 'EvalDecisionSourceType', ], 'value' => [ 'shape' => 'PolicyEvaluationDecisionType', ], ], 'EvalDecisionSourceType' => [ 'type' => 'string', 'max' => 256, 'min' => 3, ], 'EvaluationResult' => [ 'type' => 'structure', 'required' => [ 'EvalActionName', 'EvalDecision', ], 'members' => [ 'EvalActionName' => [ 'shape' => 'ActionNameType', ], 'EvalResourceName' => [ 'shape' => 'ResourceNameType', ], 'EvalDecision' => [ 'shape' => 'PolicyEvaluationDecisionType', ], 'MatchedStatements' => [ 'shape' => 'StatementListType', ], 'MissingContextValues' => [ 'shape' => 'ContextKeyNamesResultListType', ], 'OrganizationsDecisionDetail' => [ 'shape' => 'OrganizationsDecisionDetail', ], 'EvalDecisionDetails' => [ 'shape' => 'EvalDecisionDetailsType', ], 'ResourceSpecificResults' => [ 'shape' => 'ResourceSpecificResultListType', ], ], ], 'EvaluationResultsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EvaluationResult', ], ], 'GenerateCredentialReportResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => 'ReportStateType', ], 'Description' => [ 'shape' => 'ReportStateDescriptionType', ], ], ], 'GenerateServiceLastAccessedDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'arnType', ], ], ], 'GenerateServiceLastAccessedDetailsResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'jobIDType', ], ], ], 'GetAccessKeyLastUsedRequest' => [ 'type' => 'structure', 'required' => [ 'AccessKeyId', ], 'members' => [ 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], ], ], 'GetAccessKeyLastUsedResponse' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'AccessKeyLastUsed' => [ 'shape' => 'AccessKeyLastUsed', ], ], ], 'GetAccountAuthorizationDetailsRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'entityListType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'GetAccountAuthorizationDetailsResponse' => [ 'type' => 'structure', 'members' => [ 'UserDetailList' => [ 'shape' => 'userDetailListType', ], 'GroupDetailList' => [ 'shape' => 'groupDetailListType', ], 'RoleDetailList' => [ 'shape' => 'roleDetailListType', ], 'Policies' => [ 'shape' => 'ManagedPolicyDetailListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'GetAccountPasswordPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'PasswordPolicy', ], 'members' => [ 'PasswordPolicy' => [ 'shape' => 'PasswordPolicy', ], ], ], 'GetAccountSummaryResponse' => [ 'type' => 'structure', 'members' => [ 'SummaryMap' => [ 'shape' => 'summaryMapType', ], ], ], 'GetContextKeysForCustomPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyInputList', ], 'members' => [ 'PolicyInputList' => [ 'shape' => 'SimulationPolicyListType', ], ], ], 'GetContextKeysForPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ContextKeyNames' => [ 'shape' => 'ContextKeyNamesResultListType', ], ], ], 'GetContextKeysForPrincipalPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicySourceArn', ], 'members' => [ 'PolicySourceArn' => [ 'shape' => 'arnType', ], 'PolicyInputList' => [ 'shape' => 'SimulationPolicyListType', ], ], ], 'GetCredentialReportResponse' => [ 'type' => 'structure', 'members' => [ 'Content' => [ 'shape' => 'ReportContentType', ], 'ReportFormat' => [ 'shape' => 'ReportFormatType', ], 'GeneratedTime' => [ 'shape' => 'dateType', ], ], ], 'GetGroupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'GetGroupPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'GetGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'GetGroupResponse' => [ 'type' => 'structure', 'required' => [ 'Group', 'Users', ], 'members' => [ 'Group' => [ 'shape' => 'Group', ], 'Users' => [ 'shape' => 'userListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'GetInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceProfileName', ], 'members' => [ 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], ], ], 'GetInstanceProfileResponse' => [ 'type' => 'structure', 'required' => [ 'InstanceProfile', ], 'members' => [ 'InstanceProfile' => [ 'shape' => 'InstanceProfile', ], ], ], 'GetLoginProfileRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], ], ], 'GetLoginProfileResponse' => [ 'type' => 'structure', 'required' => [ 'LoginProfile', ], 'members' => [ 'LoginProfile' => [ 'shape' => 'LoginProfile', ], ], ], 'GetOpenIDConnectProviderRequest' => [ 'type' => 'structure', 'required' => [ 'OpenIDConnectProviderArn', ], 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], ], ], 'GetOpenIDConnectProviderResponse' => [ 'type' => 'structure', 'members' => [ 'Url' => [ 'shape' => 'OpenIDConnectProviderUrlType', ], 'ClientIDList' => [ 'shape' => 'clientIDListType', ], 'ThumbprintList' => [ 'shape' => 'thumbprintListType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'GetPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], ], ], 'GetPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], 'GetPolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', 'VersionId', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'VersionId' => [ 'shape' => 'policyVersionIdType', ], ], ], 'GetPolicyVersionResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyVersion' => [ 'shape' => 'PolicyVersion', ], ], ], 'GetRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'GetRolePolicyResponse' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'GetRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'GetRoleResponse' => [ 'type' => 'structure', 'required' => [ 'Role', ], 'members' => [ 'Role' => [ 'shape' => 'Role', ], ], ], 'GetSAMLProviderRequest' => [ 'type' => 'structure', 'required' => [ 'SAMLProviderArn', ], 'members' => [ 'SAMLProviderArn' => [ 'shape' => 'arnType', ], ], ], 'GetSAMLProviderResponse' => [ 'type' => 'structure', 'members' => [ 'SAMLMetadataDocument' => [ 'shape' => 'SAMLMetadataDocumentType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'ValidUntil' => [ 'shape' => 'dateType', ], ], ], 'GetSSHPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyId', 'Encoding', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyId' => [ 'shape' => 'publicKeyIdType', ], 'Encoding' => [ 'shape' => 'encodingType', ], ], ], 'GetSSHPublicKeyResponse' => [ 'type' => 'structure', 'members' => [ 'SSHPublicKey' => [ 'shape' => 'SSHPublicKey', ], ], ], 'GetServerCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateName', ], 'members' => [ 'ServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], ], ], 'GetServerCertificateResponse' => [ 'type' => 'structure', 'required' => [ 'ServerCertificate', ], 'members' => [ 'ServerCertificate' => [ 'shape' => 'ServerCertificate', ], ], ], 'GetServiceLastAccessedDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'jobIDType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'GetServiceLastAccessedDetailsResponse' => [ 'type' => 'structure', 'required' => [ 'JobStatus', 'JobCreationDate', 'ServicesLastAccessed', 'JobCompletionDate', ], 'members' => [ 'JobStatus' => [ 'shape' => 'jobStatusType', ], 'JobCreationDate' => [ 'shape' => 'dateType', ], 'ServicesLastAccessed' => [ 'shape' => 'ServicesLastAccessed', ], 'JobCompletionDate' => [ 'shape' => 'dateType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], 'Error' => [ 'shape' => 'ErrorDetails', ], ], ], 'GetServiceLastAccessedDetailsWithEntitiesRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', 'ServiceNamespace', ], 'members' => [ 'JobId' => [ 'shape' => 'jobIDType', ], 'ServiceNamespace' => [ 'shape' => 'serviceNamespaceType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'GetServiceLastAccessedDetailsWithEntitiesResponse' => [ 'type' => 'structure', 'required' => [ 'JobStatus', 'JobCreationDate', 'JobCompletionDate', 'EntityDetailsList', ], 'members' => [ 'JobStatus' => [ 'shape' => 'jobStatusType', ], 'JobCreationDate' => [ 'shape' => 'dateType', ], 'JobCompletionDate' => [ 'shape' => 'dateType', ], 'EntityDetailsList' => [ 'shape' => 'entityDetailsListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], 'Error' => [ 'shape' => 'ErrorDetails', ], ], ], 'GetServiceLinkedRoleDeletionStatusRequest' => [ 'type' => 'structure', 'required' => [ 'DeletionTaskId', ], 'members' => [ 'DeletionTaskId' => [ 'shape' => 'DeletionTaskIdType', ], ], ], 'GetServiceLinkedRoleDeletionStatusResponse' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'DeletionTaskStatusType', ], 'Reason' => [ 'shape' => 'DeletionTaskFailureReasonType', ], ], ], 'GetUserPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], ], ], 'GetUserPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'GetUserRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], ], ], 'GetUserResponse' => [ 'type' => 'structure', 'required' => [ 'User', ], 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'Group' => [ 'type' => 'structure', 'required' => [ 'Path', 'GroupName', 'GroupId', 'Arn', 'CreateDate', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'GroupName' => [ 'shape' => 'groupNameType', ], 'GroupId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'GroupDetail' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'GroupName' => [ 'shape' => 'groupNameType', ], 'GroupId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'GroupPolicyList' => [ 'shape' => 'policyDetailListType', ], 'AttachedManagedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], ], ], 'InstanceProfile' => [ 'type' => 'structure', 'required' => [ 'Path', 'InstanceProfileName', 'InstanceProfileId', 'Arn', 'CreateDate', 'Roles', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], 'InstanceProfileId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'Roles' => [ 'shape' => 'roleListType', ], ], ], 'InvalidAuthenticationCodeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidAuthenticationCodeMessage', ], ], 'error' => [ 'code' => 'InvalidAuthenticationCode', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'InvalidCertificateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidCertificateMessage', ], ], 'error' => [ 'code' => 'InvalidCertificate', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidInputMessage', ], ], 'error' => [ 'code' => 'InvalidInput', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidPublicKeyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidPublicKeyMessage', ], ], 'error' => [ 'code' => 'InvalidPublicKey', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidUserTypeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidUserTypeMessage', ], ], 'error' => [ 'code' => 'InvalidUserType', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyPairMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'keyPairMismatchMessage', ], ], 'error' => [ 'code' => 'KeyPairMismatch', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'limitExceededMessage', ], ], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 409, 'senderFault' => true, ], 'exception' => true, ], 'LineNumber' => [ 'type' => 'integer', ], 'ListAccessKeysRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListAccessKeysResponse' => [ 'type' => 'structure', 'required' => [ 'AccessKeyMetadata', ], 'members' => [ 'AccessKeyMetadata' => [ 'shape' => 'accessKeyMetadataListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListAccountAliasesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListAccountAliasesResponse' => [ 'type' => 'structure', 'required' => [ 'AccountAliases', ], 'members' => [ 'AccountAliases' => [ 'shape' => 'accountAliasListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListAttachedGroupPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PathPrefix' => [ 'shape' => 'policyPathType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListAttachedGroupPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListAttachedRolePoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PathPrefix' => [ 'shape' => 'policyPathType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListAttachedRolePoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListAttachedUserPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'PathPrefix' => [ 'shape' => 'policyPathType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListAttachedUserPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'AttachedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListEntitiesForPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'EntityFilter' => [ 'shape' => 'EntityType', ], 'PathPrefix' => [ 'shape' => 'pathType', ], 'PolicyUsageFilter' => [ 'shape' => 'PolicyUsageType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListEntitiesForPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyGroups' => [ 'shape' => 'PolicyGroupListType', ], 'PolicyUsers' => [ 'shape' => 'PolicyUserListType', ], 'PolicyRoles' => [ 'shape' => 'PolicyRoleListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListGroupPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListGroupPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'PolicyNames', ], 'members' => [ 'PolicyNames' => [ 'shape' => 'policyNameListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListGroupsForUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListGroupsForUserResponse' => [ 'type' => 'structure', 'required' => [ 'Groups', ], 'members' => [ 'Groups' => [ 'shape' => 'groupListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'PathPrefix' => [ 'shape' => 'pathPrefixType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListGroupsResponse' => [ 'type' => 'structure', 'required' => [ 'Groups', ], 'members' => [ 'Groups' => [ 'shape' => 'groupListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListInstanceProfilesForRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListInstanceProfilesForRoleResponse' => [ 'type' => 'structure', 'required' => [ 'InstanceProfiles', ], 'members' => [ 'InstanceProfiles' => [ 'shape' => 'instanceProfileListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListInstanceProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'PathPrefix' => [ 'shape' => 'pathPrefixType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListInstanceProfilesResponse' => [ 'type' => 'structure', 'required' => [ 'InstanceProfiles', ], 'members' => [ 'InstanceProfiles' => [ 'shape' => 'instanceProfileListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListMFADevicesRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListMFADevicesResponse' => [ 'type' => 'structure', 'required' => [ 'MFADevices', ], 'members' => [ 'MFADevices' => [ 'shape' => 'mfaDeviceListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListOpenIDConnectProvidersRequest' => [ 'type' => 'structure', 'members' => [], ], 'ListOpenIDConnectProvidersResponse' => [ 'type' => 'structure', 'members' => [ 'OpenIDConnectProviderList' => [ 'shape' => 'OpenIDConnectProviderListType', ], ], ], 'ListPoliciesGrantingServiceAccessEntry' => [ 'type' => 'structure', 'members' => [ 'ServiceNamespace' => [ 'shape' => 'serviceNamespaceType', ], 'Policies' => [ 'shape' => 'policyGrantingServiceAccessListType', ], ], ], 'ListPoliciesGrantingServiceAccessRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'ServiceNamespaces', ], 'members' => [ 'Marker' => [ 'shape' => 'markerType', ], 'Arn' => [ 'shape' => 'arnType', ], 'ServiceNamespaces' => [ 'shape' => 'serviceNamespaceListType', ], ], ], 'ListPoliciesGrantingServiceAccessResponse' => [ 'type' => 'structure', 'required' => [ 'PoliciesGrantingServiceAccess', ], 'members' => [ 'PoliciesGrantingServiceAccess' => [ 'shape' => 'listPolicyGrantingServiceAccessResponseListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListPoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'Scope' => [ 'shape' => 'policyScopeType', ], 'OnlyAttached' => [ 'shape' => 'booleanType', ], 'PathPrefix' => [ 'shape' => 'policyPathType', ], 'PolicyUsageFilter' => [ 'shape' => 'PolicyUsageType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'Policies' => [ 'shape' => 'policyListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListPolicyVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListPolicyVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'Versions' => [ 'shape' => 'policyDocumentVersionListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListRolePoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListRolePoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'PolicyNames', ], 'members' => [ 'PolicyNames' => [ 'shape' => 'policyNameListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListRoleTagsRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListRoleTagsResponse' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'tagListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListRolesRequest' => [ 'type' => 'structure', 'members' => [ 'PathPrefix' => [ 'shape' => 'pathPrefixType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListRolesResponse' => [ 'type' => 'structure', 'required' => [ 'Roles', ], 'members' => [ 'Roles' => [ 'shape' => 'roleListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListSAMLProvidersRequest' => [ 'type' => 'structure', 'members' => [], ], 'ListSAMLProvidersResponse' => [ 'type' => 'structure', 'members' => [ 'SAMLProviderList' => [ 'shape' => 'SAMLProviderListType', ], ], ], 'ListSSHPublicKeysRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListSSHPublicKeysResponse' => [ 'type' => 'structure', 'members' => [ 'SSHPublicKeys' => [ 'shape' => 'SSHPublicKeyListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListServerCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'PathPrefix' => [ 'shape' => 'pathPrefixType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListServerCertificatesResponse' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateMetadataList', ], 'members' => [ 'ServerCertificateMetadataList' => [ 'shape' => 'serverCertificateMetadataListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListServiceSpecificCredentialsRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'ServiceName' => [ 'shape' => 'serviceName', ], ], ], 'ListServiceSpecificCredentialsResponse' => [ 'type' => 'structure', 'members' => [ 'ServiceSpecificCredentials' => [ 'shape' => 'ServiceSpecificCredentialsListType', ], ], ], 'ListSigningCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListSigningCertificatesResponse' => [ 'type' => 'structure', 'required' => [ 'Certificates', ], 'members' => [ 'Certificates' => [ 'shape' => 'certificateListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListUserPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListUserPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'PolicyNames', ], 'members' => [ 'PolicyNames' => [ 'shape' => 'policyNameListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListUserTagsRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListUserTagsResponse' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'tagListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'members' => [ 'PathPrefix' => [ 'shape' => 'pathPrefixType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'required' => [ 'Users', ], 'members' => [ 'Users' => [ 'shape' => 'userListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'ListVirtualMFADevicesRequest' => [ 'type' => 'structure', 'members' => [ 'AssignmentStatus' => [ 'shape' => 'assignmentStatusType', ], 'Marker' => [ 'shape' => 'markerType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], ], ], 'ListVirtualMFADevicesResponse' => [ 'type' => 'structure', 'required' => [ 'VirtualMFADevices', ], 'members' => [ 'VirtualMFADevices' => [ 'shape' => 'virtualMFADeviceListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'LoginProfile' => [ 'type' => 'structure', 'required' => [ 'UserName', 'CreateDate', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'PasswordResetRequired' => [ 'shape' => 'booleanType', ], ], ], 'MFADevice' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SerialNumber', 'EnableDate', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'EnableDate' => [ 'shape' => 'dateType', ], ], ], 'MalformedCertificateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'malformedCertificateMessage', ], ], 'error' => [ 'code' => 'MalformedCertificate', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'MalformedPolicyDocumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'malformedPolicyDocumentMessage', ], ], 'error' => [ 'code' => 'MalformedPolicyDocument', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ManagedPolicyDetail' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'Path' => [ 'shape' => 'policyPathType', ], 'DefaultVersionId' => [ 'shape' => 'policyVersionIdType', ], 'AttachmentCount' => [ 'shape' => 'attachmentCountType', ], 'PermissionsBoundaryUsageCount' => [ 'shape' => 'attachmentCountType', ], 'IsAttachable' => [ 'shape' => 'booleanType', ], 'Description' => [ 'shape' => 'policyDescriptionType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'UpdateDate' => [ 'shape' => 'dateType', ], 'PolicyVersionList' => [ 'shape' => 'policyDocumentVersionListType', ], ], ], 'ManagedPolicyDetailListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedPolicyDetail', ], ], 'NoSuchEntityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'noSuchEntityMessage', ], ], 'error' => [ 'code' => 'NoSuchEntity', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'OpenIDConnectProviderListEntry' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'arnType', ], ], ], 'OpenIDConnectProviderListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'OpenIDConnectProviderListEntry', ], ], 'OpenIDConnectProviderUrlType' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'OrganizationsDecisionDetail' => [ 'type' => 'structure', 'members' => [ 'AllowedByOrganizations' => [ 'shape' => 'booleanType', ], ], ], 'PasswordPolicy' => [ 'type' => 'structure', 'members' => [ 'MinimumPasswordLength' => [ 'shape' => 'minimumPasswordLengthType', ], 'RequireSymbols' => [ 'shape' => 'booleanType', ], 'RequireNumbers' => [ 'shape' => 'booleanType', ], 'RequireUppercaseCharacters' => [ 'shape' => 'booleanType', ], 'RequireLowercaseCharacters' => [ 'shape' => 'booleanType', ], 'AllowUsersToChangePassword' => [ 'shape' => 'booleanType', ], 'ExpirePasswords' => [ 'shape' => 'booleanType', ], 'MaxPasswordAge' => [ 'shape' => 'maxPasswordAgeType', ], 'PasswordReusePrevention' => [ 'shape' => 'passwordReusePreventionType', ], 'HardExpiry' => [ 'shape' => 'booleanObjectType', ], ], ], 'PasswordPolicyViolationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'passwordPolicyViolationMessage', ], ], 'error' => [ 'code' => 'PasswordPolicyViolation', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PermissionsBoundaryAttachmentType' => [ 'type' => 'string', 'enum' => [ 'PermissionsBoundaryPolicy', ], ], 'Policy' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'Path' => [ 'shape' => 'policyPathType', ], 'DefaultVersionId' => [ 'shape' => 'policyVersionIdType', ], 'AttachmentCount' => [ 'shape' => 'attachmentCountType', ], 'PermissionsBoundaryUsageCount' => [ 'shape' => 'attachmentCountType', ], 'IsAttachable' => [ 'shape' => 'booleanType', ], 'Description' => [ 'shape' => 'policyDescriptionType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'UpdateDate' => [ 'shape' => 'dateType', ], ], ], 'PolicyDetail' => [ 'type' => 'structure', 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'PolicyEvaluationDecisionType' => [ 'type' => 'string', 'enum' => [ 'allowed', 'explicitDeny', 'implicitDeny', ], ], 'PolicyEvaluationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'policyEvaluationErrorMessage', ], ], 'error' => [ 'code' => 'PolicyEvaluation', 'httpStatusCode' => 500, ], 'exception' => true, ], 'PolicyGrantingServiceAccess' => [ 'type' => 'structure', 'required' => [ 'PolicyName', 'PolicyType', ], 'members' => [ 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyType' => [ 'shape' => 'policyType', ], 'PolicyArn' => [ 'shape' => 'arnType', ], 'EntityType' => [ 'shape' => 'policyOwnerEntityType', ], 'EntityName' => [ 'shape' => 'entityNameType', ], ], ], 'PolicyGroup' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'GroupId' => [ 'shape' => 'idType', ], ], ], 'PolicyGroupListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyGroup', ], ], 'PolicyIdentifierType' => [ 'type' => 'string', ], 'PolicyNotAttachableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'policyNotAttachableMessage', ], ], 'error' => [ 'code' => 'PolicyNotAttachable', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PolicyRole' => [ 'type' => 'structure', 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'RoleId' => [ 'shape' => 'idType', ], ], ], 'PolicyRoleListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyRole', ], ], 'PolicySourceType' => [ 'type' => 'string', 'enum' => [ 'user', 'group', 'role', 'aws-managed', 'user-managed', 'resource', 'none', ], ], 'PolicyUsageType' => [ 'type' => 'string', 'enum' => [ 'PermissionsPolicy', 'PermissionsBoundary', ], ], 'PolicyUser' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'UserId' => [ 'shape' => 'idType', ], ], ], 'PolicyUserListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyUser', ], ], 'PolicyVersion' => [ 'type' => 'structure', 'members' => [ 'Document' => [ 'shape' => 'policyDocumentType', ], 'VersionId' => [ 'shape' => 'policyVersionIdType', ], 'IsDefaultVersion' => [ 'shape' => 'booleanType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'Position' => [ 'type' => 'structure', 'members' => [ 'Line' => [ 'shape' => 'LineNumber', ], 'Column' => [ 'shape' => 'ColumnNumber', ], ], ], 'PutGroupPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'PutRolePermissionsBoundaryRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PermissionsBoundary', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], ], ], 'PutRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'PutUserPermissionsBoundaryRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PermissionsBoundary', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], ], ], 'PutUserPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'PolicyName', 'PolicyDocument', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'PolicyName' => [ 'shape' => 'policyNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'ReasonType' => [ 'type' => 'string', 'max' => 1000, ], 'RegionNameType' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'RemoveClientIDFromOpenIDConnectProviderRequest' => [ 'type' => 'structure', 'required' => [ 'OpenIDConnectProviderArn', 'ClientID', ], 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], 'ClientID' => [ 'shape' => 'clientIDType', ], ], ], 'RemoveRoleFromInstanceProfileRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceProfileName', 'RoleName', ], 'members' => [ 'InstanceProfileName' => [ 'shape' => 'instanceProfileNameType', ], 'RoleName' => [ 'shape' => 'roleNameType', ], ], ], 'RemoveUserFromGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'UserName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'UserName' => [ 'shape' => 'existingUserNameType', ], ], ], 'ReportContentType' => [ 'type' => 'blob', ], 'ReportFormatType' => [ 'type' => 'string', 'enum' => [ 'text/csv', ], ], 'ReportStateDescriptionType' => [ 'type' => 'string', ], 'ReportStateType' => [ 'type' => 'string', 'enum' => [ 'STARTED', 'INPROGRESS', 'COMPLETE', ], ], 'ResetServiceSpecificCredentialRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceSpecificCredentialId', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'ServiceSpecificCredentialId' => [ 'shape' => 'serviceSpecificCredentialId', ], ], ], 'ResetServiceSpecificCredentialResponse' => [ 'type' => 'structure', 'members' => [ 'ServiceSpecificCredential' => [ 'shape' => 'ServiceSpecificCredential', ], ], ], 'ResourceHandlingOptionType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ResourceNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceNameType', ], ], 'ResourceNameType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ResourceSpecificResult' => [ 'type' => 'structure', 'required' => [ 'EvalResourceName', 'EvalResourceDecision', ], 'members' => [ 'EvalResourceName' => [ 'shape' => 'ResourceNameType', ], 'EvalResourceDecision' => [ 'shape' => 'PolicyEvaluationDecisionType', ], 'MatchedStatements' => [ 'shape' => 'StatementListType', ], 'MissingContextValues' => [ 'shape' => 'ContextKeyNamesResultListType', ], 'EvalDecisionDetails' => [ 'shape' => 'EvalDecisionDetailsType', ], ], ], 'ResourceSpecificResultListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceSpecificResult', ], ], 'ResyncMFADeviceRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SerialNumber', 'AuthenticationCode1', 'AuthenticationCode2', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'AuthenticationCode1' => [ 'shape' => 'authenticationCodeType', ], 'AuthenticationCode2' => [ 'shape' => 'authenticationCodeType', ], ], ], 'Role' => [ 'type' => 'structure', 'required' => [ 'Path', 'RoleName', 'RoleId', 'Arn', 'CreateDate', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'RoleName' => [ 'shape' => 'roleNameType', ], 'RoleId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'AssumeRolePolicyDocument' => [ 'shape' => 'policyDocumentType', ], 'Description' => [ 'shape' => 'roleDescriptionType', ], 'MaxSessionDuration' => [ 'shape' => 'roleMaxSessionDurationType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'RoleDetail' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'RoleName' => [ 'shape' => 'roleNameType', ], 'RoleId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'AssumeRolePolicyDocument' => [ 'shape' => 'policyDocumentType', ], 'InstanceProfileList' => [ 'shape' => 'instanceProfileListType', ], 'RolePolicyList' => [ 'shape' => 'policyDetailListType', ], 'AttachedManagedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'RoleUsageListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoleUsageType', ], ], 'RoleUsageType' => [ 'type' => 'structure', 'members' => [ 'Region' => [ 'shape' => 'RegionNameType', ], 'Resources' => [ 'shape' => 'ArnListType', ], ], ], 'SAMLMetadataDocumentType' => [ 'type' => 'string', 'max' => 10000000, 'min' => 1000, ], 'SAMLProviderListEntry' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'arnType', ], 'ValidUntil' => [ 'shape' => 'dateType', ], 'CreateDate' => [ 'shape' => 'dateType', ], ], ], 'SAMLProviderListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SAMLProviderListEntry', ], ], 'SAMLProviderNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w._-]+', ], 'SSHPublicKey' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyId', 'Fingerprint', 'SSHPublicKeyBody', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyId' => [ 'shape' => 'publicKeyIdType', ], 'Fingerprint' => [ 'shape' => 'publicKeyFingerprintType', ], 'SSHPublicKeyBody' => [ 'shape' => 'publicKeyMaterialType', ], 'Status' => [ 'shape' => 'statusType', ], 'UploadDate' => [ 'shape' => 'dateType', ], ], ], 'SSHPublicKeyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SSHPublicKeyMetadata', ], ], 'SSHPublicKeyMetadata' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyId', 'Status', 'UploadDate', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyId' => [ 'shape' => 'publicKeyIdType', ], 'Status' => [ 'shape' => 'statusType', ], 'UploadDate' => [ 'shape' => 'dateType', ], ], ], 'ServerCertificate' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateMetadata', 'CertificateBody', ], 'members' => [ 'ServerCertificateMetadata' => [ 'shape' => 'ServerCertificateMetadata', ], 'CertificateBody' => [ 'shape' => 'certificateBodyType', ], 'CertificateChain' => [ 'shape' => 'certificateChainType', ], ], ], 'ServerCertificateMetadata' => [ 'type' => 'structure', 'required' => [ 'Path', 'ServerCertificateName', 'ServerCertificateId', 'Arn', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'ServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], 'ServerCertificateId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'UploadDate' => [ 'shape' => 'dateType', ], 'Expiration' => [ 'shape' => 'dateType', ], ], ], 'ServiceFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'serviceFailureExceptionMessage', ], ], 'error' => [ 'code' => 'ServiceFailure', 'httpStatusCode' => 500, ], 'exception' => true, ], 'ServiceLastAccessed' => [ 'type' => 'structure', 'required' => [ 'ServiceName', 'ServiceNamespace', ], 'members' => [ 'ServiceName' => [ 'shape' => 'serviceNameType', ], 'LastAuthenticated' => [ 'shape' => 'dateType', ], 'ServiceNamespace' => [ 'shape' => 'serviceNamespaceType', ], 'LastAuthenticatedEntity' => [ 'shape' => 'arnType', ], 'TotalAuthenticatedEntities' => [ 'shape' => 'integerType', ], ], ], 'ServiceNotSupportedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'serviceNotSupportedMessage', ], ], 'error' => [ 'code' => 'NotSupportedService', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ServiceSpecificCredential' => [ 'type' => 'structure', 'required' => [ 'CreateDate', 'ServiceName', 'ServiceUserName', 'ServicePassword', 'ServiceSpecificCredentialId', 'UserName', 'Status', ], 'members' => [ 'CreateDate' => [ 'shape' => 'dateType', ], 'ServiceName' => [ 'shape' => 'serviceName', ], 'ServiceUserName' => [ 'shape' => 'serviceUserName', ], 'ServicePassword' => [ 'shape' => 'servicePassword', ], 'ServiceSpecificCredentialId' => [ 'shape' => 'serviceSpecificCredentialId', ], 'UserName' => [ 'shape' => 'userNameType', ], 'Status' => [ 'shape' => 'statusType', ], ], ], 'ServiceSpecificCredentialMetadata' => [ 'type' => 'structure', 'required' => [ 'UserName', 'Status', 'ServiceUserName', 'CreateDate', 'ServiceSpecificCredentialId', 'ServiceName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'Status' => [ 'shape' => 'statusType', ], 'ServiceUserName' => [ 'shape' => 'serviceUserName', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'ServiceSpecificCredentialId' => [ 'shape' => 'serviceSpecificCredentialId', ], 'ServiceName' => [ 'shape' => 'serviceName', ], ], ], 'ServiceSpecificCredentialsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceSpecificCredentialMetadata', ], ], 'ServicesLastAccessed' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceLastAccessed', ], ], 'SetDefaultPolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', 'VersionId', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'arnType', ], 'VersionId' => [ 'shape' => 'policyVersionIdType', ], ], ], 'SigningCertificate' => [ 'type' => 'structure', 'required' => [ 'UserName', 'CertificateId', 'CertificateBody', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'CertificateId' => [ 'shape' => 'certificateIdType', ], 'CertificateBody' => [ 'shape' => 'certificateBodyType', ], 'Status' => [ 'shape' => 'statusType', ], 'UploadDate' => [ 'shape' => 'dateType', ], ], ], 'SimulateCustomPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyInputList', 'ActionNames', ], 'members' => [ 'PolicyInputList' => [ 'shape' => 'SimulationPolicyListType', ], 'ActionNames' => [ 'shape' => 'ActionNameListType', ], 'ResourceArns' => [ 'shape' => 'ResourceNameListType', ], 'ResourcePolicy' => [ 'shape' => 'policyDocumentType', ], 'ResourceOwner' => [ 'shape' => 'ResourceNameType', ], 'CallerArn' => [ 'shape' => 'ResourceNameType', ], 'ContextEntries' => [ 'shape' => 'ContextEntryListType', ], 'ResourceHandlingOption' => [ 'shape' => 'ResourceHandlingOptionType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'SimulatePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'EvaluationResults' => [ 'shape' => 'EvaluationResultsListType', ], 'IsTruncated' => [ 'shape' => 'booleanType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'SimulatePrincipalPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicySourceArn', 'ActionNames', ], 'members' => [ 'PolicySourceArn' => [ 'shape' => 'arnType', ], 'PolicyInputList' => [ 'shape' => 'SimulationPolicyListType', ], 'ActionNames' => [ 'shape' => 'ActionNameListType', ], 'ResourceArns' => [ 'shape' => 'ResourceNameListType', ], 'ResourcePolicy' => [ 'shape' => 'policyDocumentType', ], 'ResourceOwner' => [ 'shape' => 'ResourceNameType', ], 'CallerArn' => [ 'shape' => 'ResourceNameType', ], 'ContextEntries' => [ 'shape' => 'ContextEntryListType', ], 'ResourceHandlingOption' => [ 'shape' => 'ResourceHandlingOptionType', ], 'MaxItems' => [ 'shape' => 'maxItemsType', ], 'Marker' => [ 'shape' => 'markerType', ], ], ], 'SimulationPolicyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'policyDocumentType', ], ], 'Statement' => [ 'type' => 'structure', 'members' => [ 'SourcePolicyId' => [ 'shape' => 'PolicyIdentifierType', ], 'SourcePolicyType' => [ 'shape' => 'PolicySourceType', ], 'StartPosition' => [ 'shape' => 'Position', ], 'EndPosition' => [ 'shape' => 'Position', ], ], ], 'StatementListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Statement', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'tagKeyType', ], 'Value' => [ 'shape' => 'tagValueType', ], ], ], 'TagRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'Tags', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'TagUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'Tags', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'UnmodifiableEntityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'unmodifiableEntityMessage', ], ], 'error' => [ 'code' => 'UnmodifiableEntity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnrecognizedPublicKeyEncodingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'unrecognizedPublicKeyEncodingMessage', ], ], 'error' => [ 'code' => 'UnrecognizedPublicKeyEncoding', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UntagRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'TagKeys', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'TagKeys' => [ 'shape' => 'tagKeyListType', ], ], ], 'UntagUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'TagKeys', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'TagKeys' => [ 'shape' => 'tagKeyListType', ], ], ], 'UpdateAccessKeyRequest' => [ 'type' => 'structure', 'required' => [ 'AccessKeyId', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], 'Status' => [ 'shape' => 'statusType', ], ], ], 'UpdateAccountPasswordPolicyRequest' => [ 'type' => 'structure', 'members' => [ 'MinimumPasswordLength' => [ 'shape' => 'minimumPasswordLengthType', ], 'RequireSymbols' => [ 'shape' => 'booleanType', ], 'RequireNumbers' => [ 'shape' => 'booleanType', ], 'RequireUppercaseCharacters' => [ 'shape' => 'booleanType', ], 'RequireLowercaseCharacters' => [ 'shape' => 'booleanType', ], 'AllowUsersToChangePassword' => [ 'shape' => 'booleanType', ], 'MaxPasswordAge' => [ 'shape' => 'maxPasswordAgeType', ], 'PasswordReusePrevention' => [ 'shape' => 'passwordReusePreventionType', ], 'HardExpiry' => [ 'shape' => 'booleanObjectType', ], ], ], 'UpdateAssumeRolePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'PolicyDocument', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'PolicyDocument' => [ 'shape' => 'policyDocumentType', ], ], ], 'UpdateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'groupNameType', ], 'NewPath' => [ 'shape' => 'pathType', ], 'NewGroupName' => [ 'shape' => 'groupNameType', ], ], ], 'UpdateLoginProfileRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'Password' => [ 'shape' => 'passwordType', ], 'PasswordResetRequired' => [ 'shape' => 'booleanObjectType', ], ], ], 'UpdateOpenIDConnectProviderThumbprintRequest' => [ 'type' => 'structure', 'required' => [ 'OpenIDConnectProviderArn', 'ThumbprintList', ], 'members' => [ 'OpenIDConnectProviderArn' => [ 'shape' => 'arnType', ], 'ThumbprintList' => [ 'shape' => 'thumbprintListType', ], ], ], 'UpdateRoleDescriptionRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', 'Description', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Description' => [ 'shape' => 'roleDescriptionType', ], ], ], 'UpdateRoleDescriptionResponse' => [ 'type' => 'structure', 'members' => [ 'Role' => [ 'shape' => 'Role', ], ], ], 'UpdateRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleName', ], 'members' => [ 'RoleName' => [ 'shape' => 'roleNameType', ], 'Description' => [ 'shape' => 'roleDescriptionType', ], 'MaxSessionDuration' => [ 'shape' => 'roleMaxSessionDurationType', ], ], ], 'UpdateRoleResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSAMLProviderRequest' => [ 'type' => 'structure', 'required' => [ 'SAMLMetadataDocument', 'SAMLProviderArn', ], 'members' => [ 'SAMLMetadataDocument' => [ 'shape' => 'SAMLMetadataDocumentType', ], 'SAMLProviderArn' => [ 'shape' => 'arnType', ], ], ], 'UpdateSAMLProviderResponse' => [ 'type' => 'structure', 'members' => [ 'SAMLProviderArn' => [ 'shape' => 'arnType', ], ], ], 'UpdateSSHPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyId', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyId' => [ 'shape' => 'publicKeyIdType', ], 'Status' => [ 'shape' => 'statusType', ], ], ], 'UpdateServerCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateName', ], 'members' => [ 'ServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], 'NewPath' => [ 'shape' => 'pathType', ], 'NewServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], ], ], 'UpdateServiceSpecificCredentialRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceSpecificCredentialId', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'ServiceSpecificCredentialId' => [ 'shape' => 'serviceSpecificCredentialId', ], 'Status' => [ 'shape' => 'statusType', ], ], ], 'UpdateSigningCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateId', 'Status', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'CertificateId' => [ 'shape' => 'certificateIdType', ], 'Status' => [ 'shape' => 'statusType', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'NewPath' => [ 'shape' => 'pathType', ], 'NewUserName' => [ 'shape' => 'userNameType', ], ], ], 'UploadSSHPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'SSHPublicKeyBody', ], 'members' => [ 'UserName' => [ 'shape' => 'userNameType', ], 'SSHPublicKeyBody' => [ 'shape' => 'publicKeyMaterialType', ], ], ], 'UploadSSHPublicKeyResponse' => [ 'type' => 'structure', 'members' => [ 'SSHPublicKey' => [ 'shape' => 'SSHPublicKey', ], ], ], 'UploadServerCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'ServerCertificateName', 'CertificateBody', 'PrivateKey', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'ServerCertificateName' => [ 'shape' => 'serverCertificateNameType', ], 'CertificateBody' => [ 'shape' => 'certificateBodyType', ], 'PrivateKey' => [ 'shape' => 'privateKeyType', ], 'CertificateChain' => [ 'shape' => 'certificateChainType', ], ], ], 'UploadServerCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'ServerCertificateMetadata' => [ 'shape' => 'ServerCertificateMetadata', ], ], ], 'UploadSigningCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'CertificateBody', ], 'members' => [ 'UserName' => [ 'shape' => 'existingUserNameType', ], 'CertificateBody' => [ 'shape' => 'certificateBodyType', ], ], ], 'UploadSigningCertificateResponse' => [ 'type' => 'structure', 'required' => [ 'Certificate', ], 'members' => [ 'Certificate' => [ 'shape' => 'SigningCertificate', ], ], ], 'User' => [ 'type' => 'structure', 'required' => [ 'Path', 'UserName', 'UserId', 'Arn', 'CreateDate', ], 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'UserName' => [ 'shape' => 'userNameType', ], 'UserId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'PasswordLastUsed' => [ 'shape' => 'dateType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'UserDetail' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'pathType', ], 'UserName' => [ 'shape' => 'userNameType', ], 'UserId' => [ 'shape' => 'idType', ], 'Arn' => [ 'shape' => 'arnType', ], 'CreateDate' => [ 'shape' => 'dateType', ], 'UserPolicyList' => [ 'shape' => 'policyDetailListType', ], 'GroupList' => [ 'shape' => 'groupNameListType', ], 'AttachedManagedPolicies' => [ 'shape' => 'attachedPoliciesListType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], 'Tags' => [ 'shape' => 'tagListType', ], ], ], 'VirtualMFADevice' => [ 'type' => 'structure', 'required' => [ 'SerialNumber', ], 'members' => [ 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'Base32StringSeed' => [ 'shape' => 'BootstrapDatum', ], 'QRCodePNG' => [ 'shape' => 'BootstrapDatum', ], 'User' => [ 'shape' => 'User', ], 'EnableDate' => [ 'shape' => 'dateType', ], ], ], 'accessKeyIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 16, 'pattern' => '[\\w]+', ], 'accessKeyMetadataListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccessKeyMetadata', ], ], 'accessKeySecretType' => [ 'type' => 'string', 'sensitive' => true, ], 'accountAliasListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'accountAliasType', ], ], 'accountAliasType' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$', ], 'arnType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'assignmentStatusType' => [ 'type' => 'string', 'enum' => [ 'Assigned', 'Unassigned', 'Any', ], ], 'attachedPoliciesListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachedPolicy', ], ], 'attachmentCountType' => [ 'type' => 'integer', ], 'authenticationCodeType' => [ 'type' => 'string', 'max' => 6, 'min' => 6, 'pattern' => '[\\d]+', ], 'booleanObjectType' => [ 'type' => 'boolean', 'box' => true, ], 'booleanType' => [ 'type' => 'boolean', ], 'certificateBodyType' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'certificateChainType' => [ 'type' => 'string', 'max' => 2097152, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'certificateIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 24, 'pattern' => '[\\w]+', ], 'certificateListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SigningCertificate', ], ], 'clientIDListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'clientIDType', ], ], 'clientIDType' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'credentialReportExpiredExceptionMessage' => [ 'type' => 'string', ], 'credentialReportNotPresentExceptionMessage' => [ 'type' => 'string', ], 'credentialReportNotReadyExceptionMessage' => [ 'type' => 'string', ], 'customSuffixType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'dateType' => [ 'type' => 'timestamp', ], 'deleteConflictMessage' => [ 'type' => 'string', ], 'duplicateCertificateMessage' => [ 'type' => 'string', ], 'duplicateSSHPublicKeyMessage' => [ 'type' => 'string', ], 'encodingType' => [ 'type' => 'string', 'enum' => [ 'SSH', 'PEM', ], ], 'entityAlreadyExistsMessage' => [ 'type' => 'string', ], 'entityDetailsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityDetails', ], ], 'entityListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityType', ], ], 'entityNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'entityTemporarilyUnmodifiableMessage' => [ 'type' => 'string', ], 'existingUserNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'groupDetailListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupDetail', ], ], 'groupListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], ], 'groupNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'groupNameType', ], ], 'groupNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'idType' => [ 'type' => 'string', 'max' => 128, 'min' => 16, 'pattern' => '[\\w]+', ], 'instanceProfileListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceProfile', ], ], 'instanceProfileNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'integerType' => [ 'type' => 'integer', ], 'invalidAuthenticationCodeMessage' => [ 'type' => 'string', ], 'invalidCertificateMessage' => [ 'type' => 'string', ], 'invalidInputMessage' => [ 'type' => 'string', ], 'invalidPublicKeyMessage' => [ 'type' => 'string', ], 'invalidUserTypeMessage' => [ 'type' => 'string', ], 'jobIDType' => [ 'type' => 'string', 'max' => 36, 'min' => 36, ], 'jobStatusType' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'COMPLETED', 'FAILED', ], ], 'keyPairMismatchMessage' => [ 'type' => 'string', ], 'limitExceededMessage' => [ 'type' => 'string', ], 'listPolicyGrantingServiceAccessResponseListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListPoliciesGrantingServiceAccessEntry', ], ], 'malformedCertificateMessage' => [ 'type' => 'string', ], 'malformedPolicyDocumentMessage' => [ 'type' => 'string', ], 'markerType' => [ 'type' => 'string', 'max' => 320, 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]+', ], 'maxItemsType' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'maxPasswordAgeType' => [ 'type' => 'integer', 'box' => true, 'max' => 1095, 'min' => 1, ], 'mfaDeviceListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'MFADevice', ], ], 'minimumPasswordLengthType' => [ 'type' => 'integer', 'max' => 128, 'min' => 6, ], 'noSuchEntityMessage' => [ 'type' => 'string', ], 'passwordPolicyViolationMessage' => [ 'type' => 'string', ], 'passwordReusePreventionType' => [ 'type' => 'integer', 'box' => true, 'max' => 24, 'min' => 1, ], 'passwordType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', 'sensitive' => true, ], 'pathPrefixType' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '\\u002F[\\u0021-\\u007F]*', ], 'pathType' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '(\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F)', ], 'policyDescriptionType' => [ 'type' => 'string', 'max' => 1000, ], 'policyDetailListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyDetail', ], ], 'policyDocumentType' => [ 'type' => 'string', 'max' => 131072, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'policyDocumentVersionListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyVersion', ], ], 'policyEvaluationErrorMessage' => [ 'type' => 'string', ], 'policyGrantingServiceAccessListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyGrantingServiceAccess', ], ], 'policyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Policy', ], ], 'policyNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'policyNameType', ], ], 'policyNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'policyNotAttachableMessage' => [ 'type' => 'string', ], 'policyOwnerEntityType' => [ 'type' => 'string', 'enum' => [ 'USER', 'ROLE', 'GROUP', ], ], 'policyPathType' => [ 'type' => 'string', 'pattern' => '((/[A-Za-z0-9\\.,\\+@=_-]+)*)/', ], 'policyScopeType' => [ 'type' => 'string', 'enum' => [ 'All', 'AWS', 'Local', ], ], 'policyType' => [ 'type' => 'string', 'enum' => [ 'INLINE', 'MANAGED', ], ], 'policyVersionIdType' => [ 'type' => 'string', 'pattern' => 'v[1-9][0-9]*(\\.[A-Za-z0-9-]*)?', ], 'privateKeyType' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', 'sensitive' => true, ], 'publicKeyFingerprintType' => [ 'type' => 'string', 'max' => 48, 'min' => 48, 'pattern' => '[:\\w]+', ], 'publicKeyIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 20, 'pattern' => '[\\w]+', ], 'publicKeyMaterialType' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'roleDescriptionType' => [ 'type' => 'string', 'max' => 1000, 'pattern' => '[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*', ], 'roleDetailListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoleDetail', ], ], 'roleListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Role', ], ], 'roleMaxSessionDurationType' => [ 'type' => 'integer', 'max' => 43200, 'min' => 3600, ], 'roleNameType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'serialNumberType' => [ 'type' => 'string', 'max' => 256, 'min' => 9, 'pattern' => '[\\w+=/:,.@-]+', ], 'serverCertificateMetadataListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerCertificateMetadata', ], ], 'serverCertificateNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'serviceFailureExceptionMessage' => [ 'type' => 'string', ], 'serviceName' => [ 'type' => 'string', ], 'serviceNameType' => [ 'type' => 'string', ], 'serviceNamespaceListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'serviceNamespaceType', ], 'max' => 200, 'min' => 1, ], 'serviceNamespaceType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w-]*', ], 'serviceNotSupportedMessage' => [ 'type' => 'string', ], 'servicePassword' => [ 'type' => 'string', 'sensitive' => true, ], 'serviceSpecificCredentialId' => [ 'type' => 'string', 'max' => 128, 'min' => 20, 'pattern' => '[\\w]+', ], 'serviceUserName' => [ 'type' => 'string', 'max' => 200, 'min' => 17, 'pattern' => '[\\w+=,.@-]+', ], 'statusType' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'stringType' => [ 'type' => 'string', ], 'summaryKeyType' => [ 'type' => 'string', 'enum' => [ 'Users', 'UsersQuota', 'Groups', 'GroupsQuota', 'ServerCertificates', 'ServerCertificatesQuota', 'UserPolicySizeQuota', 'GroupPolicySizeQuota', 'GroupsPerUserQuota', 'SigningCertificatesPerUserQuota', 'AccessKeysPerUserQuota', 'MFADevices', 'MFADevicesInUse', 'AccountMFAEnabled', 'AccountAccessKeysPresent', 'AccountSigningCertificatesPresent', 'AttachedPoliciesPerGroupQuota', 'AttachedPoliciesPerRoleQuota', 'AttachedPoliciesPerUserQuota', 'Policies', 'PoliciesQuota', 'PolicySizeQuota', 'PolicyVersionsInUse', 'PolicyVersionsInUseQuota', 'VersionsPerPolicyQuota', ], ], 'summaryMapType' => [ 'type' => 'map', 'key' => [ 'shape' => 'summaryKeyType', ], 'value' => [ 'shape' => 'summaryValueType', ], ], 'summaryValueType' => [ 'type' => 'integer', ], 'tagKeyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'tagKeyType', ], 'max' => 50, ], 'tagKeyType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+', ], 'tagListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, ], 'tagValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*', ], 'thumbprintListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'thumbprintType', ], ], 'thumbprintType' => [ 'type' => 'string', 'max' => 40, 'min' => 40, ], 'unmodifiableEntityMessage' => [ 'type' => 'string', ], 'unrecognizedPublicKeyEncodingMessage' => [ 'type' => 'string', ], 'userDetailListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserDetail', ], ], 'userListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'userNameType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'virtualMFADeviceListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualMFADevice', ], ], 'virtualMFADeviceName' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], ],]; diff --git a/lib/aws/Aws/data/iam/2010-05-08/paginators-1.json.php b/lib/aws/Aws/data/iam/2010-05-08/paginators-1.json.php new file mode 100644 index 0000000..99693e6 --- /dev/null +++ b/lib/aws/Aws/data/iam/2010-05-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iam/2010-05-08/paginators-1.json +return [ 'pagination' => [ 'GetAccountAuthorizationDetails' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => [ 'UserDetailList', 'GroupDetailList', 'RoleDetailList', 'Policies', ], ], 'GetGroup' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Users', ], 'ListAccessKeys' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'AccessKeyMetadata', ], 'ListAccountAliases' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'AccountAliases', ], 'ListAttachedGroupPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'AttachedPolicies', ], 'ListAttachedRolePolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'AttachedPolicies', ], 'ListAttachedUserPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'AttachedPolicies', ], 'ListEntitiesForPolicy' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => [ 'PolicyGroups', 'PolicyUsers', 'PolicyRoles', ], ], 'ListGroupPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'PolicyNames', ], 'ListGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Groups', ], 'ListGroupsForUser' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Groups', ], 'ListInstanceProfiles' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'InstanceProfiles', ], 'ListInstanceProfilesForRole' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'InstanceProfiles', ], 'ListMFADevices' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'MFADevices', ], 'ListPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Policies', ], 'ListPolicyVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Versions', ], 'ListRolePolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'PolicyNames', ], 'ListRoles' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Roles', ], 'ListSAMLProviders' => [ 'result_key' => 'SAMLProviderList', ], 'ListSSHPublicKeys' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'SSHPublicKeys', ], 'ListServerCertificates' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'ServerCertificateMetadataList', ], 'ListSigningCertificates' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Certificates', ], 'ListUserPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'PolicyNames', ], 'ListUsers' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'Users', ], 'ListVirtualMFADevices' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'VirtualMFADevices', ], 'SimulateCustomPolicy' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'EvaluationResults', ], 'SimulatePrincipalPolicy' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'Marker', 'result_key' => 'EvaluationResults', ], ],]; diff --git a/lib/aws/Aws/data/iam/2010-05-08/smoke.json.php b/lib/aws/Aws/data/iam/2010-05-08/smoke.json.php new file mode 100644 index 0000000..75b4dcc --- /dev/null +++ b/lib/aws/Aws/data/iam/2010-05-08/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iam/2010-05-08/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListUsers', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetUser', 'input' => [ 'UserName' => 'fake_user', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/iam/2010-05-08/waiters-2.json.php b/lib/aws/Aws/data/iam/2010-05-08/waiters-2.json.php new file mode 100644 index 0000000..b49f184 --- /dev/null +++ b/lib/aws/Aws/data/iam/2010-05-08/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iam/2010-05-08/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'InstanceProfileExists' => [ 'delay' => 1, 'operation' => 'GetInstanceProfile', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'state' => 'retry', 'matcher' => 'status', 'expected' => 404, ], ], ], 'UserExists' => [ 'delay' => 1, 'operation' => 'GetUser', 'maxAttempts' => 20, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'status', 'expected' => 200, ], [ 'state' => 'retry', 'matcher' => 'error', 'expected' => 'NoSuchEntity', ], ], ], ],]; diff --git a/lib/aws/Aws/data/importexport/2010-06-01/api-2.json.php b/lib/aws/Aws/data/importexport/2010-06-01/api-2.json.php new file mode 100644 index 0000000..6085251 --- /dev/null +++ b/lib/aws/Aws/data/importexport/2010-06-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/importexport/2010-06-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'importexport-2010-06-01', 'apiVersion' => '2010-06-01', 'endpointPrefix' => 'importexport', 'globalEndpoint' => 'importexport.amazonaws.com', 'serviceFullName' => 'AWS Import/Export', 'signatureVersion' => 'v2', 'xmlNamespace' => 'http://importexport.amazonaws.com/doc/2010-06-01/', 'protocol' => 'query', ], 'operations' => [ 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=CancelJob', ], 'input' => [ 'shape' => 'CancelJobInput', ], 'output' => [ 'shape' => 'CancelJobOutput', 'resultWrapper' => 'CancelJobResult', ], 'errors' => [ [ 'shape' => 'InvalidJobIdException', 'exception' => true, ], [ 'shape' => 'ExpiredJobIdException', 'exception' => true, ], [ 'shape' => 'CanceledJobIdException', 'exception' => true, ], [ 'shape' => 'UnableToCancelJobIdException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=CreateJob', ], 'input' => [ 'shape' => 'CreateJobInput', ], 'output' => [ 'shape' => 'CreateJobOutput', 'resultWrapper' => 'CreateJobResult', ], 'errors' => [ [ 'shape' => 'MissingParameterException', 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidAddressException', 'exception' => true, ], [ 'shape' => 'InvalidManifestFieldException', 'exception' => true, ], [ 'shape' => 'MissingManifestFieldException', 'exception' => true, ], [ 'shape' => 'NoSuchBucketException', 'exception' => true, ], [ 'shape' => 'MissingCustomsException', 'exception' => true, ], [ 'shape' => 'InvalidCustomsException', 'exception' => true, ], [ 'shape' => 'InvalidFileSystemException', 'exception' => true, ], [ 'shape' => 'MultipleRegionsException', 'exception' => true, ], [ 'shape' => 'BucketPermissionException', 'exception' => true, ], [ 'shape' => 'MalformedManifestException', 'exception' => true, ], [ 'shape' => 'CreateJobQuotaExceededException', 'exception' => true, ], [ 'shape' => 'InvalidJobIdException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], ], ], 'GetShippingLabel' => [ 'name' => 'GetShippingLabel', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=GetShippingLabel', ], 'input' => [ 'shape' => 'GetShippingLabelInput', ], 'output' => [ 'shape' => 'GetShippingLabelOutput', 'resultWrapper' => 'GetShippingLabelResult', ], 'errors' => [ [ 'shape' => 'InvalidJobIdException', 'exception' => true, ], [ 'shape' => 'ExpiredJobIdException', 'exception' => true, ], [ 'shape' => 'CanceledJobIdException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidAddressException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'exception' => true, ], ], ], 'GetStatus' => [ 'name' => 'GetStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=GetStatus', ], 'input' => [ 'shape' => 'GetStatusInput', ], 'output' => [ 'shape' => 'GetStatusOutput', 'resultWrapper' => 'GetStatusResult', ], 'errors' => [ [ 'shape' => 'InvalidJobIdException', 'exception' => true, ], [ 'shape' => 'ExpiredJobIdException', 'exception' => true, ], [ 'shape' => 'CanceledJobIdException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=ListJobs', ], 'input' => [ 'shape' => 'ListJobsInput', ], 'output' => [ 'shape' => 'ListJobsOutput', 'resultWrapper' => 'ListJobsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], ], ], 'UpdateJob' => [ 'name' => 'UpdateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/?Operation=UpdateJob', ], 'input' => [ 'shape' => 'UpdateJobInput', ], 'output' => [ 'shape' => 'UpdateJobOutput', 'resultWrapper' => 'UpdateJobResult', ], 'errors' => [ [ 'shape' => 'MissingParameterException', 'exception' => true, ], [ 'shape' => 'InvalidParameterException', 'exception' => true, ], [ 'shape' => 'InvalidAccessKeyIdException', 'exception' => true, ], [ 'shape' => 'InvalidAddressException', 'exception' => true, ], [ 'shape' => 'InvalidManifestFieldException', 'exception' => true, ], [ 'shape' => 'InvalidJobIdException', 'exception' => true, ], [ 'shape' => 'MissingManifestFieldException', 'exception' => true, ], [ 'shape' => 'NoSuchBucketException', 'exception' => true, ], [ 'shape' => 'ExpiredJobIdException', 'exception' => true, ], [ 'shape' => 'CanceledJobIdException', 'exception' => true, ], [ 'shape' => 'MissingCustomsException', 'exception' => true, ], [ 'shape' => 'InvalidCustomsException', 'exception' => true, ], [ 'shape' => 'InvalidFileSystemException', 'exception' => true, ], [ 'shape' => 'MultipleRegionsException', 'exception' => true, ], [ 'shape' => 'BucketPermissionException', 'exception' => true, ], [ 'shape' => 'MalformedManifestException', 'exception' => true, ], [ 'shape' => 'UnableToUpdateJobIdException', 'exception' => true, ], [ 'shape' => 'InvalidVersionException', 'exception' => true, ], ], ], ], 'shapes' => [ 'APIVersion' => [ 'type' => 'string', ], 'Artifact' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'Description', ], 'URL' => [ 'shape' => 'URL', ], ], ], 'ArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Artifact', ], ], 'BucketPermissionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CancelJobInput' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'CancelJobOutput' => [ 'type' => 'structure', 'members' => [ 'Success' => [ 'shape' => 'Success', ], ], ], 'CanceledJobIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Carrier' => [ 'type' => 'string', ], 'CreateJobInput' => [ 'type' => 'structure', 'required' => [ 'JobType', 'Manifest', 'ValidateOnly', ], 'members' => [ 'JobType' => [ 'shape' => 'JobType', ], 'Manifest' => [ 'shape' => 'Manifest', ], 'ManifestAddendum' => [ 'shape' => 'ManifestAddendum', ], 'ValidateOnly' => [ 'shape' => 'ValidateOnly', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'CreateJobOutput' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobType' => [ 'shape' => 'JobType', ], 'Signature' => [ 'shape' => 'Signature', ], 'SignatureFileContents' => [ 'shape' => 'SignatureFileContents', ], 'WarningMessage' => [ 'shape' => 'WarningMessage', ], 'ArtifactList' => [ 'shape' => 'ArtifactList', ], ], ], 'CreateJobQuotaExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CreationDate' => [ 'type' => 'timestamp', ], 'CurrentManifest' => [ 'type' => 'string', ], 'Description' => [ 'type' => 'string', ], 'ErrorCount' => [ 'type' => 'integer', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpiredJobIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'GenericString' => [ 'type' => 'string', ], 'GetShippingLabelInput' => [ 'type' => 'structure', 'required' => [ 'jobIds', ], 'members' => [ 'jobIds' => [ 'shape' => 'JobIdList', ], 'name' => [ 'shape' => 'name', ], 'company' => [ 'shape' => 'company', ], 'phoneNumber' => [ 'shape' => 'phoneNumber', ], 'country' => [ 'shape' => 'country', ], 'stateOrProvince' => [ 'shape' => 'stateOrProvince', ], 'city' => [ 'shape' => 'city', ], 'postalCode' => [ 'shape' => 'postalCode', ], 'street1' => [ 'shape' => 'street1', ], 'street2' => [ 'shape' => 'street2', ], 'street3' => [ 'shape' => 'street3', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'GetShippingLabelOutput' => [ 'type' => 'structure', 'members' => [ 'ShippingLabelURL' => [ 'shape' => 'GenericString', ], 'Warning' => [ 'shape' => 'GenericString', ], ], ], 'GetStatusInput' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'GetStatusOutput' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'JobType' => [ 'shape' => 'JobType', ], 'LocationCode' => [ 'shape' => 'LocationCode', ], 'LocationMessage' => [ 'shape' => 'LocationMessage', ], 'ProgressCode' => [ 'shape' => 'ProgressCode', ], 'ProgressMessage' => [ 'shape' => 'ProgressMessage', ], 'Carrier' => [ 'shape' => 'Carrier', ], 'TrackingNumber' => [ 'shape' => 'TrackingNumber', ], 'LogBucket' => [ 'shape' => 'LogBucket', ], 'LogKey' => [ 'shape' => 'LogKey', ], 'ErrorCount' => [ 'shape' => 'ErrorCount', ], 'Signature' => [ 'shape' => 'Signature', ], 'SignatureFileContents' => [ 'shape' => 'Signature', ], 'CurrentManifest' => [ 'shape' => 'CurrentManifest', ], 'CreationDate' => [ 'shape' => 'CreationDate', ], 'ArtifactList' => [ 'shape' => 'ArtifactList', ], ], ], 'InvalidAccessKeyIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidAddressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidCustomsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidFileSystemException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidJobIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidManifestFieldException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidVersionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IsCanceled' => [ 'type' => 'boolean', ], 'IsTruncated' => [ 'type' => 'boolean', ], 'Job' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'CreationDate' => [ 'shape' => 'CreationDate', ], 'IsCanceled' => [ 'shape' => 'IsCanceled', ], 'JobType' => [ 'shape' => 'JobType', ], ], ], 'JobId' => [ 'type' => 'string', ], 'JobIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], ], 'JobType' => [ 'type' => 'string', 'enum' => [ 'Import', 'Export', ], ], 'JobsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], 'ListJobsInput' => [ 'type' => 'structure', 'members' => [ 'MaxJobs' => [ 'shape' => 'MaxJobs', ], 'Marker' => [ 'shape' => 'Marker', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'ListJobsOutput' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => 'JobsList', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], ], ], 'LocationCode' => [ 'type' => 'string', ], 'LocationMessage' => [ 'type' => 'string', ], 'LogBucket' => [ 'type' => 'string', ], 'LogKey' => [ 'type' => 'string', ], 'MalformedManifestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Manifest' => [ 'type' => 'string', ], 'ManifestAddendum' => [ 'type' => 'string', ], 'Marker' => [ 'type' => 'string', ], 'MaxJobs' => [ 'type' => 'integer', ], 'MissingCustomsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'MissingManifestFieldException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'MissingParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'MultipleRegionsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NoSuchBucketException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ProgressCode' => [ 'type' => 'string', ], 'ProgressMessage' => [ 'type' => 'string', ], 'Signature' => [ 'type' => 'string', ], 'SignatureFileContents' => [ 'type' => 'string', ], 'Success' => [ 'type' => 'boolean', ], 'TrackingNumber' => [ 'type' => 'string', ], 'URL' => [ 'type' => 'string', ], 'UnableToCancelJobIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UnableToUpdateJobIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateJobInput' => [ 'type' => 'structure', 'required' => [ 'JobId', 'Manifest', 'JobType', 'ValidateOnly', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'Manifest' => [ 'shape' => 'Manifest', ], 'JobType' => [ 'shape' => 'JobType', ], 'ValidateOnly' => [ 'shape' => 'ValidateOnly', ], 'APIVersion' => [ 'shape' => 'APIVersion', ], ], ], 'UpdateJobOutput' => [ 'type' => 'structure', 'members' => [ 'Success' => [ 'shape' => 'Success', ], 'WarningMessage' => [ 'shape' => 'WarningMessage', ], 'ArtifactList' => [ 'shape' => 'ArtifactList', ], ], ], 'ValidateOnly' => [ 'type' => 'boolean', ], 'WarningMessage' => [ 'type' => 'string', ], 'city' => [ 'type' => 'string', ], 'company' => [ 'type' => 'string', ], 'country' => [ 'type' => 'string', ], 'name' => [ 'type' => 'string', ], 'phoneNumber' => [ 'type' => 'string', ], 'postalCode' => [ 'type' => 'string', ], 'stateOrProvince' => [ 'type' => 'string', ], 'street1' => [ 'type' => 'string', ], 'street2' => [ 'type' => 'string', ], 'street3' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/importexport/2010-06-01/paginators-1.json.php b/lib/aws/Aws/data/importexport/2010-06-01/paginators-1.json.php new file mode 100644 index 0000000..aed1671 --- /dev/null +++ b/lib/aws/Aws/data/importexport/2010-06-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/importexport/2010-06-01/paginators-1.json +return [ 'pagination' => [ 'ListJobs' => [ 'input_token' => 'Marker', 'output_token' => 'Jobs[-1].JobId', 'more_results' => 'IsTruncated', 'limit_key' => 'MaxJobs', 'result_key' => 'Jobs', ], ],]; diff --git a/lib/aws/Aws/data/inspector/2016-02-16/api-2.json.php b/lib/aws/Aws/data/inspector/2016-02-16/api-2.json.php new file mode 100644 index 0000000..8984fca --- /dev/null +++ b/lib/aws/Aws/data/inspector/2016-02-16/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/inspector/2016-02-16/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-02-16', 'endpointPrefix' => 'inspector', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Inspector', 'serviceId' => 'Inspector', 'signatureVersion' => 'v4', 'targetPrefix' => 'InspectorService', 'uid' => 'inspector-2016-02-16', ], 'operations' => [ 'AddAttributesToFindings' => [ 'name' => 'AddAttributesToFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddAttributesToFindingsRequest', ], 'output' => [ 'shape' => 'AddAttributesToFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'CreateAssessmentTarget' => [ 'name' => 'CreateAssessmentTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAssessmentTargetRequest', ], 'output' => [ 'shape' => 'CreateAssessmentTargetResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidCrossAccountRoleException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'CreateAssessmentTemplate' => [ 'name' => 'CreateAssessmentTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAssessmentTemplateRequest', ], 'output' => [ 'shape' => 'CreateAssessmentTemplateResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'CreateExclusionsPreview' => [ 'name' => 'CreateExclusionsPreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateExclusionsPreviewRequest', ], 'output' => [ 'shape' => 'CreateExclusionsPreviewResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PreviewGenerationInProgressException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'CreateResourceGroup' => [ 'name' => 'CreateResourceGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResourceGroupRequest', ], 'output' => [ 'shape' => 'CreateResourceGroupResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'DeleteAssessmentRun' => [ 'name' => 'DeleteAssessmentRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAssessmentRunRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AssessmentRunInProgressException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'DeleteAssessmentTarget' => [ 'name' => 'DeleteAssessmentTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAssessmentTargetRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AssessmentRunInProgressException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'DeleteAssessmentTemplate' => [ 'name' => 'DeleteAssessmentTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAssessmentTemplateRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AssessmentRunInProgressException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'DescribeAssessmentRuns' => [ 'name' => 'DescribeAssessmentRuns', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssessmentRunsRequest', ], 'output' => [ 'shape' => 'DescribeAssessmentRunsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeAssessmentTargets' => [ 'name' => 'DescribeAssessmentTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssessmentTargetsRequest', ], 'output' => [ 'shape' => 'DescribeAssessmentTargetsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeAssessmentTemplates' => [ 'name' => 'DescribeAssessmentTemplates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssessmentTemplatesRequest', ], 'output' => [ 'shape' => 'DescribeAssessmentTemplatesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeCrossAccountAccessRole' => [ 'name' => 'DescribeCrossAccountAccessRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeCrossAccountAccessRoleResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], ], ], 'DescribeExclusions' => [ 'name' => 'DescribeExclusions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExclusionsRequest', ], 'output' => [ 'shape' => 'DescribeExclusionsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeFindings' => [ 'name' => 'DescribeFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeFindingsRequest', ], 'output' => [ 'shape' => 'DescribeFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeResourceGroups' => [ 'name' => 'DescribeResourceGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeResourceGroupsRequest', ], 'output' => [ 'shape' => 'DescribeResourceGroupsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DescribeRulesPackages' => [ 'name' => 'DescribeRulesPackages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRulesPackagesRequest', ], 'output' => [ 'shape' => 'DescribeRulesPackagesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'GetAssessmentReport' => [ 'name' => 'GetAssessmentReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAssessmentReportRequest', ], 'output' => [ 'shape' => 'GetAssessmentReportResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'AssessmentRunInProgressException', ], [ 'shape' => 'UnsupportedFeatureException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'GetExclusionsPreview' => [ 'name' => 'GetExclusionsPreview', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetExclusionsPreviewRequest', ], 'output' => [ 'shape' => 'GetExclusionsPreviewResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'GetTelemetryMetadata' => [ 'name' => 'GetTelemetryMetadata', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTelemetryMetadataRequest', ], 'output' => [ 'shape' => 'GetTelemetryMetadataResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListAssessmentRunAgents' => [ 'name' => 'ListAssessmentRunAgents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssessmentRunAgentsRequest', ], 'output' => [ 'shape' => 'ListAssessmentRunAgentsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListAssessmentRuns' => [ 'name' => 'ListAssessmentRuns', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssessmentRunsRequest', ], 'output' => [ 'shape' => 'ListAssessmentRunsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListAssessmentTargets' => [ 'name' => 'ListAssessmentTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssessmentTargetsRequest', ], 'output' => [ 'shape' => 'ListAssessmentTargetsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ListAssessmentTemplates' => [ 'name' => 'ListAssessmentTemplates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssessmentTemplatesRequest', ], 'output' => [ 'shape' => 'ListAssessmentTemplatesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListEventSubscriptions' => [ 'name' => 'ListEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEventSubscriptionsRequest', ], 'output' => [ 'shape' => 'ListEventSubscriptionsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListExclusions' => [ 'name' => 'ListExclusions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListExclusionsRequest', ], 'output' => [ 'shape' => 'ListExclusionsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListFindings' => [ 'name' => 'ListFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListFindingsRequest', ], 'output' => [ 'shape' => 'ListFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'ListRulesPackages' => [ 'name' => 'ListRulesPackages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRulesPackagesRequest', ], 'output' => [ 'shape' => 'ListRulesPackagesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], ], ], 'PreviewAgents' => [ 'name' => 'PreviewAgents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PreviewAgentsRequest', ], 'output' => [ 'shape' => 'PreviewAgentsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidCrossAccountRoleException', ], ], ], 'RegisterCrossAccountAccessRole' => [ 'name' => 'RegisterCrossAccountAccessRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterCrossAccountAccessRoleRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidCrossAccountRoleException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'RemoveAttributesFromFindings' => [ 'name' => 'RemoveAttributesFromFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveAttributesFromFindingsRequest', ], 'output' => [ 'shape' => 'RemoveAttributesFromFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'SetTagsForResource' => [ 'name' => 'SetTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetTagsForResourceRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'StartAssessmentRun' => [ 'name' => 'StartAssessmentRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartAssessmentRunRequest', ], 'output' => [ 'shape' => 'StartAssessmentRunResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'InvalidCrossAccountRoleException', ], [ 'shape' => 'AgentsAlreadyRunningAssessmentException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'StopAssessmentRun' => [ 'name' => 'StopAssessmentRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopAssessmentRunRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'SubscribeToEvent' => [ 'name' => 'SubscribeToEvent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SubscribeToEventRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'UnsubscribeFromEvent' => [ 'name' => 'UnsubscribeFromEvent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnsubscribeFromEventRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], 'UpdateAssessmentTarget' => [ 'name' => 'UpdateAssessmentTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAssessmentTargetRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'NoSuchEntityException', ], [ 'shape' => 'ServiceTemporarilyUnavailableException', ], ], ], ], 'shapes' => [ 'AccessDeniedErrorCode' => [ 'type' => 'string', 'enum' => [ 'ACCESS_DENIED_TO_ASSESSMENT_TARGET', 'ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE', 'ACCESS_DENIED_TO_ASSESSMENT_RUN', 'ACCESS_DENIED_TO_FINDING', 'ACCESS_DENIED_TO_RESOURCE_GROUP', 'ACCESS_DENIED_TO_RULES_PACKAGE', 'ACCESS_DENIED_TO_SNS_TOPIC', 'ACCESS_DENIED_TO_IAM_ROLE', ], ], 'AccessDeniedException' => [ 'type' => 'structure', 'required' => [ 'message', 'errorCode', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'errorCode' => [ 'shape' => 'AccessDeniedErrorCode', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'AddAttributesToFindingsRequest' => [ 'type' => 'structure', 'required' => [ 'findingArns', 'attributes', ], 'members' => [ 'findingArns' => [ 'shape' => 'AddRemoveAttributesFindingArnList', ], 'attributes' => [ 'shape' => 'UserAttributeList', ], ], ], 'AddAttributesToFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'failedItems', ], 'members' => [ 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'AddRemoveAttributesFindingArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 10, 'min' => 1, ], 'AgentAlreadyRunningAssessment' => [ 'type' => 'structure', 'required' => [ 'agentId', 'assessmentRunArn', ], 'members' => [ 'agentId' => [ 'shape' => 'AgentId', ], 'assessmentRunArn' => [ 'shape' => 'Arn', ], ], ], 'AgentAlreadyRunningAssessmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentAlreadyRunningAssessment', ], 'max' => 10, 'min' => 1, ], 'AgentFilter' => [ 'type' => 'structure', 'required' => [ 'agentHealths', 'agentHealthCodes', ], 'members' => [ 'agentHealths' => [ 'shape' => 'AgentHealthList', ], 'agentHealthCodes' => [ 'shape' => 'AgentHealthCodeList', ], ], ], 'AgentHealth' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', 'UNKNOWN', ], ], 'AgentHealthCode' => [ 'type' => 'string', 'enum' => [ 'IDLE', 'RUNNING', 'SHUTDOWN', 'UNHEALTHY', 'THROTTLED', 'UNKNOWN', ], ], 'AgentHealthCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentHealthCode', ], 'max' => 10, 'min' => 0, ], 'AgentHealthList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentHealth', ], 'max' => 10, 'min' => 0, ], 'AgentId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AgentIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentId', ], 'max' => 500, 'min' => 0, ], 'AgentPreview' => [ 'type' => 'structure', 'required' => [ 'agentId', ], 'members' => [ 'hostname' => [ 'shape' => 'Hostname', ], 'agentId' => [ 'shape' => 'AgentId', ], 'autoScalingGroup' => [ 'shape' => 'AutoScalingGroup', ], 'agentHealth' => [ 'shape' => 'AgentHealth', ], 'agentVersion' => [ 'shape' => 'AgentVersion', ], 'operatingSystem' => [ 'shape' => 'OperatingSystem', ], 'kernelVersion' => [ 'shape' => 'KernelVersion', ], 'ipv4Address' => [ 'shape' => 'Ipv4Address', ], ], ], 'AgentPreviewList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentPreview', ], 'max' => 100, 'min' => 0, ], 'AgentVersion' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AgentsAlreadyRunningAssessmentException' => [ 'type' => 'structure', 'required' => [ 'message', 'agents', 'agentsTruncated', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'agents' => [ 'shape' => 'AgentAlreadyRunningAssessmentList', ], 'agentsTruncated' => [ 'shape' => 'Bool', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'AmiId' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Arn' => [ 'type' => 'string', 'max' => 300, 'min' => 1, ], 'ArnCount' => [ 'type' => 'integer', ], 'AssessmentRulesPackageArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 50, 'min' => 1, ], 'AssessmentRun' => [ 'type' => 'structure', 'required' => [ 'arn', 'name', 'assessmentTemplateArn', 'state', 'durationInSeconds', 'rulesPackageArns', 'userAttributesForFindings', 'createdAt', 'stateChangedAt', 'dataCollected', 'stateChanges', 'notifications', 'findingCounts', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'AssessmentRunName', ], 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], 'state' => [ 'shape' => 'AssessmentRunState', ], 'durationInSeconds' => [ 'shape' => 'AssessmentRunDuration', ], 'rulesPackageArns' => [ 'shape' => 'AssessmentRulesPackageArnList', ], 'userAttributesForFindings' => [ 'shape' => 'UserAttributeList', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'startedAt' => [ 'shape' => 'Timestamp', ], 'completedAt' => [ 'shape' => 'Timestamp', ], 'stateChangedAt' => [ 'shape' => 'Timestamp', ], 'dataCollected' => [ 'shape' => 'Bool', ], 'stateChanges' => [ 'shape' => 'AssessmentRunStateChangeList', ], 'notifications' => [ 'shape' => 'AssessmentRunNotificationList', ], 'findingCounts' => [ 'shape' => 'AssessmentRunFindingCounts', ], ], ], 'AssessmentRunAgent' => [ 'type' => 'structure', 'required' => [ 'agentId', 'assessmentRunArn', 'agentHealth', 'agentHealthCode', 'telemetryMetadata', ], 'members' => [ 'agentId' => [ 'shape' => 'AgentId', ], 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'agentHealth' => [ 'shape' => 'AgentHealth', ], 'agentHealthCode' => [ 'shape' => 'AgentHealthCode', ], 'agentHealthDetails' => [ 'shape' => 'Message', ], 'autoScalingGroup' => [ 'shape' => 'AutoScalingGroup', ], 'telemetryMetadata' => [ 'shape' => 'TelemetryMetadataList', ], ], ], 'AssessmentRunAgentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentRunAgent', ], 'max' => 500, 'min' => 0, ], 'AssessmentRunDuration' => [ 'type' => 'integer', 'max' => 86400, 'min' => 180, ], 'AssessmentRunFilter' => [ 'type' => 'structure', 'members' => [ 'namePattern' => [ 'shape' => 'NamePattern', ], 'states' => [ 'shape' => 'AssessmentRunStateList', ], 'durationRange' => [ 'shape' => 'DurationRange', ], 'rulesPackageArns' => [ 'shape' => 'FilterRulesPackageArnList', ], 'startTimeRange' => [ 'shape' => 'TimestampRange', ], 'completionTimeRange' => [ 'shape' => 'TimestampRange', ], 'stateChangeTimeRange' => [ 'shape' => 'TimestampRange', ], ], ], 'AssessmentRunFindingCounts' => [ 'type' => 'map', 'key' => [ 'shape' => 'Severity', ], 'value' => [ 'shape' => 'FindingCount', ], ], 'AssessmentRunInProgressArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 10, 'min' => 1, ], 'AssessmentRunInProgressException' => [ 'type' => 'structure', 'required' => [ 'message', 'assessmentRunArns', 'assessmentRunArnsTruncated', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'assessmentRunArns' => [ 'shape' => 'AssessmentRunInProgressArnList', ], 'assessmentRunArnsTruncated' => [ 'shape' => 'Bool', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'AssessmentRunList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentRun', ], 'max' => 10, 'min' => 0, ], 'AssessmentRunName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, ], 'AssessmentRunNotification' => [ 'type' => 'structure', 'required' => [ 'date', 'event', 'error', ], 'members' => [ 'date' => [ 'shape' => 'Timestamp', ], 'event' => [ 'shape' => 'InspectorEvent', ], 'message' => [ 'shape' => 'Message', ], 'error' => [ 'shape' => 'Bool', ], 'snsTopicArn' => [ 'shape' => 'Arn', ], 'snsPublishStatusCode' => [ 'shape' => 'AssessmentRunNotificationSnsStatusCode', ], ], ], 'AssessmentRunNotificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentRunNotification', ], 'max' => 50, 'min' => 0, ], 'AssessmentRunNotificationSnsStatusCode' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'TOPIC_DOES_NOT_EXIST', 'ACCESS_DENIED', 'INTERNAL_ERROR', ], ], 'AssessmentRunState' => [ 'type' => 'string', 'enum' => [ 'CREATED', 'START_DATA_COLLECTION_PENDING', 'START_DATA_COLLECTION_IN_PROGRESS', 'COLLECTING_DATA', 'STOP_DATA_COLLECTION_PENDING', 'DATA_COLLECTED', 'START_EVALUATING_RULES_PENDING', 'EVALUATING_RULES', 'FAILED', 'ERROR', 'COMPLETED', 'COMPLETED_WITH_ERRORS', 'CANCELED', ], ], 'AssessmentRunStateChange' => [ 'type' => 'structure', 'required' => [ 'stateChangedAt', 'state', ], 'members' => [ 'stateChangedAt' => [ 'shape' => 'Timestamp', ], 'state' => [ 'shape' => 'AssessmentRunState', ], ], ], 'AssessmentRunStateChangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentRunStateChange', ], 'max' => 50, 'min' => 0, ], 'AssessmentRunStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentRunState', ], 'max' => 50, 'min' => 0, ], 'AssessmentTarget' => [ 'type' => 'structure', 'required' => [ 'arn', 'name', 'createdAt', 'updatedAt', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'AssessmentTargetName', ], 'resourceGroupArn' => [ 'shape' => 'Arn', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'updatedAt' => [ 'shape' => 'Timestamp', ], ], ], 'AssessmentTargetFilter' => [ 'type' => 'structure', 'members' => [ 'assessmentTargetNamePattern' => [ 'shape' => 'NamePattern', ], ], ], 'AssessmentTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentTarget', ], 'max' => 10, 'min' => 0, ], 'AssessmentTargetName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, ], 'AssessmentTemplate' => [ 'type' => 'structure', 'required' => [ 'arn', 'name', 'assessmentTargetArn', 'durationInSeconds', 'rulesPackageArns', 'userAttributesForFindings', 'assessmentRunCount', 'createdAt', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'AssessmentTemplateName', ], 'assessmentTargetArn' => [ 'shape' => 'Arn', ], 'durationInSeconds' => [ 'shape' => 'AssessmentRunDuration', ], 'rulesPackageArns' => [ 'shape' => 'AssessmentTemplateRulesPackageArnList', ], 'userAttributesForFindings' => [ 'shape' => 'UserAttributeList', ], 'lastAssessmentRunArn' => [ 'shape' => 'Arn', ], 'assessmentRunCount' => [ 'shape' => 'ArnCount', ], 'createdAt' => [ 'shape' => 'Timestamp', ], ], ], 'AssessmentTemplateFilter' => [ 'type' => 'structure', 'members' => [ 'namePattern' => [ 'shape' => 'NamePattern', ], 'durationRange' => [ 'shape' => 'DurationRange', ], 'rulesPackageArns' => [ 'shape' => 'FilterRulesPackageArnList', ], ], ], 'AssessmentTemplateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssessmentTemplate', ], 'max' => 10, 'min' => 0, ], 'AssessmentTemplateName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, ], 'AssessmentTemplateRulesPackageArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 50, 'min' => 0, ], 'AssetAttributes' => [ 'type' => 'structure', 'required' => [ 'schemaVersion', ], 'members' => [ 'schemaVersion' => [ 'shape' => 'NumericVersion', ], 'agentId' => [ 'shape' => 'AgentId', ], 'autoScalingGroup' => [ 'shape' => 'AutoScalingGroup', ], 'amiId' => [ 'shape' => 'AmiId', ], 'hostname' => [ 'shape' => 'Hostname', ], 'ipv4Addresses' => [ 'shape' => 'Ipv4AddressList', ], 'tags' => [ 'shape' => 'Tags', ], 'networkInterfaces' => [ 'shape' => 'NetworkInterfaces', ], ], ], 'AssetType' => [ 'type' => 'string', 'enum' => [ 'ec2-instance', ], ], 'Attribute' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'AttributeValue', ], ], ], 'AttributeKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], 'max' => 50, 'min' => 0, ], 'AttributeValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'AutoScalingGroup' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'AutoScalingGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutoScalingGroup', ], 'max' => 20, 'min' => 0, ], 'BatchDescribeArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 10, 'min' => 1, ], 'BatchDescribeExclusionsArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 100, 'min' => 1, ], 'Bool' => [ 'type' => 'boolean', ], 'CreateAssessmentTargetRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetName', ], 'members' => [ 'assessmentTargetName' => [ 'shape' => 'AssessmentTargetName', ], 'resourceGroupArn' => [ 'shape' => 'Arn', ], ], ], 'CreateAssessmentTargetResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArn', ], 'members' => [ 'assessmentTargetArn' => [ 'shape' => 'Arn', ], ], ], 'CreateAssessmentTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArn', 'assessmentTemplateName', 'durationInSeconds', 'rulesPackageArns', ], 'members' => [ 'assessmentTargetArn' => [ 'shape' => 'Arn', ], 'assessmentTemplateName' => [ 'shape' => 'AssessmentTemplateName', ], 'durationInSeconds' => [ 'shape' => 'AssessmentRunDuration', ], 'rulesPackageArns' => [ 'shape' => 'AssessmentTemplateRulesPackageArnList', ], 'userAttributesForFindings' => [ 'shape' => 'UserAttributeList', ], ], ], 'CreateAssessmentTemplateResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArn', ], 'members' => [ 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], ], ], 'CreateExclusionsPreviewRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArn', ], 'members' => [ 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], ], ], 'CreateExclusionsPreviewResponse' => [ 'type' => 'structure', 'required' => [ 'previewToken', ], 'members' => [ 'previewToken' => [ 'shape' => 'UUID', ], ], ], 'CreateResourceGroupRequest' => [ 'type' => 'structure', 'required' => [ 'resourceGroupTags', ], 'members' => [ 'resourceGroupTags' => [ 'shape' => 'ResourceGroupTags', ], ], ], 'CreateResourceGroupResponse' => [ 'type' => 'structure', 'required' => [ 'resourceGroupArn', ], 'members' => [ 'resourceGroupArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAssessmentRunRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAssessmentTargetRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArn', ], 'members' => [ 'assessmentTargetArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAssessmentTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArn', ], 'members' => [ 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeAssessmentRunsRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArns', ], 'members' => [ 'assessmentRunArns' => [ 'shape' => 'BatchDescribeArnList', ], ], ], 'DescribeAssessmentRunsResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentRuns', 'failedItems', ], 'members' => [ 'assessmentRuns' => [ 'shape' => 'AssessmentRunList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeAssessmentTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArns', ], 'members' => [ 'assessmentTargetArns' => [ 'shape' => 'BatchDescribeArnList', ], ], ], 'DescribeAssessmentTargetsResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTargets', 'failedItems', ], 'members' => [ 'assessmentTargets' => [ 'shape' => 'AssessmentTargetList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeAssessmentTemplatesRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArns', ], 'members' => [ 'assessmentTemplateArns' => [ 'shape' => 'BatchDescribeArnList', ], ], ], 'DescribeAssessmentTemplatesResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplates', 'failedItems', ], 'members' => [ 'assessmentTemplates' => [ 'shape' => 'AssessmentTemplateList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeCrossAccountAccessRoleResponse' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'valid', 'registeredAt', ], 'members' => [ 'roleArn' => [ 'shape' => 'Arn', ], 'valid' => [ 'shape' => 'Bool', ], 'registeredAt' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeExclusionsRequest' => [ 'type' => 'structure', 'required' => [ 'exclusionArns', ], 'members' => [ 'exclusionArns' => [ 'shape' => 'BatchDescribeExclusionsArnList', ], 'locale' => [ 'shape' => 'Locale', ], ], ], 'DescribeExclusionsResponse' => [ 'type' => 'structure', 'required' => [ 'exclusions', 'failedItems', ], 'members' => [ 'exclusions' => [ 'shape' => 'ExclusionMap', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeFindingsRequest' => [ 'type' => 'structure', 'required' => [ 'findingArns', ], 'members' => [ 'findingArns' => [ 'shape' => 'BatchDescribeArnList', ], 'locale' => [ 'shape' => 'Locale', ], ], ], 'DescribeFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'findings', 'failedItems', ], 'members' => [ 'findings' => [ 'shape' => 'FindingList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeResourceGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'resourceGroupArns', ], 'members' => [ 'resourceGroupArns' => [ 'shape' => 'BatchDescribeArnList', ], ], ], 'DescribeResourceGroupsResponse' => [ 'type' => 'structure', 'required' => [ 'resourceGroups', 'failedItems', ], 'members' => [ 'resourceGroups' => [ 'shape' => 'ResourceGroupList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DescribeRulesPackagesRequest' => [ 'type' => 'structure', 'required' => [ 'rulesPackageArns', ], 'members' => [ 'rulesPackageArns' => [ 'shape' => 'BatchDescribeArnList', ], 'locale' => [ 'shape' => 'Locale', ], ], ], 'DescribeRulesPackagesResponse' => [ 'type' => 'structure', 'required' => [ 'rulesPackages', 'failedItems', ], 'members' => [ 'rulesPackages' => [ 'shape' => 'RulesPackageList', ], 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'DurationRange' => [ 'type' => 'structure', 'members' => [ 'minSeconds' => [ 'shape' => 'AssessmentRunDuration', ], 'maxSeconds' => [ 'shape' => 'AssessmentRunDuration', ], ], ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], 'EventSubscription' => [ 'type' => 'structure', 'required' => [ 'event', 'subscribedAt', ], 'members' => [ 'event' => [ 'shape' => 'InspectorEvent', ], 'subscribedAt' => [ 'shape' => 'Timestamp', ], ], ], 'EventSubscriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', ], 'max' => 50, 'min' => 1, ], 'Exclusion' => [ 'type' => 'structure', 'required' => [ 'arn', 'title', 'description', 'recommendation', 'scopes', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'title' => [ 'shape' => 'Text', ], 'description' => [ 'shape' => 'Text', ], 'recommendation' => [ 'shape' => 'Text', ], 'scopes' => [ 'shape' => 'ScopeList', ], 'attributes' => [ 'shape' => 'AttributeList', ], ], ], 'ExclusionMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'Arn', ], 'value' => [ 'shape' => 'Exclusion', ], 'max' => 100, 'min' => 1, ], 'ExclusionPreview' => [ 'type' => 'structure', 'required' => [ 'title', 'description', 'recommendation', 'scopes', ], 'members' => [ 'title' => [ 'shape' => 'Text', ], 'description' => [ 'shape' => 'Text', ], 'recommendation' => [ 'shape' => 'Text', ], 'scopes' => [ 'shape' => 'ScopeList', ], 'attributes' => [ 'shape' => 'AttributeList', ], ], ], 'ExclusionPreviewList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExclusionPreview', ], 'max' => 100, 'min' => 0, ], 'FailedItemDetails' => [ 'type' => 'structure', 'required' => [ 'failureCode', 'retryable', ], 'members' => [ 'failureCode' => [ 'shape' => 'FailedItemErrorCode', ], 'retryable' => [ 'shape' => 'Bool', ], ], ], 'FailedItemErrorCode' => [ 'type' => 'string', 'enum' => [ 'INVALID_ARN', 'DUPLICATE_ARN', 'ITEM_DOES_NOT_EXIST', 'ACCESS_DENIED', 'LIMIT_EXCEEDED', 'INTERNAL_ERROR', ], ], 'FailedItems' => [ 'type' => 'map', 'key' => [ 'shape' => 'Arn', ], 'value' => [ 'shape' => 'FailedItemDetails', ], ], 'FilterRulesPackageArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 50, 'min' => 0, ], 'Finding' => [ 'type' => 'structure', 'required' => [ 'arn', 'attributes', 'userAttributes', 'createdAt', 'updatedAt', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'schemaVersion' => [ 'shape' => 'NumericVersion', ], 'service' => [ 'shape' => 'ServiceName', ], 'serviceAttributes' => [ 'shape' => 'InspectorServiceAttributes', ], 'assetType' => [ 'shape' => 'AssetType', ], 'assetAttributes' => [ 'shape' => 'AssetAttributes', ], 'id' => [ 'shape' => 'FindingId', ], 'title' => [ 'shape' => 'Text', ], 'description' => [ 'shape' => 'Text', ], 'recommendation' => [ 'shape' => 'Text', ], 'severity' => [ 'shape' => 'Severity', ], 'numericSeverity' => [ 'shape' => 'NumericSeverity', ], 'confidence' => [ 'shape' => 'IocConfidence', ], 'indicatorOfCompromise' => [ 'shape' => 'Bool', ], 'attributes' => [ 'shape' => 'AttributeList', ], 'userAttributes' => [ 'shape' => 'UserAttributeList', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'updatedAt' => [ 'shape' => 'Timestamp', ], ], ], 'FindingCount' => [ 'type' => 'integer', ], 'FindingFilter' => [ 'type' => 'structure', 'members' => [ 'agentIds' => [ 'shape' => 'AgentIdList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupList', ], 'ruleNames' => [ 'shape' => 'RuleNameList', ], 'severities' => [ 'shape' => 'SeverityList', ], 'rulesPackageArns' => [ 'shape' => 'FilterRulesPackageArnList', ], 'attributes' => [ 'shape' => 'AttributeList', ], 'userAttributes' => [ 'shape' => 'AttributeList', ], 'creationTimeRange' => [ 'shape' => 'TimestampRange', ], ], ], 'FindingId' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'FindingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Finding', ], 'max' => 100, 'min' => 0, ], 'GetAssessmentReportRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', 'reportFileFormat', 'reportType', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'reportFileFormat' => [ 'shape' => 'ReportFileFormat', ], 'reportType' => [ 'shape' => 'ReportType', ], ], ], 'GetAssessmentReportResponse' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'ReportStatus', ], 'url' => [ 'shape' => 'Url', ], ], ], 'GetExclusionsPreviewRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArn', 'previewToken', ], 'members' => [ 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], 'previewToken' => [ 'shape' => 'UUID', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], 'locale' => [ 'shape' => 'Locale', ], ], ], 'GetExclusionsPreviewResponse' => [ 'type' => 'structure', 'required' => [ 'previewStatus', ], 'members' => [ 'previewStatus' => [ 'shape' => 'PreviewStatus', ], 'exclusionPreviews' => [ 'shape' => 'ExclusionPreviewList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetTelemetryMetadataRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], ], ], 'GetTelemetryMetadataResponse' => [ 'type' => 'structure', 'required' => [ 'telemetryMetadata', ], 'members' => [ 'telemetryMetadata' => [ 'shape' => 'TelemetryMetadataList', ], ], ], 'Hostname' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'InspectorEvent' => [ 'type' => 'string', 'enum' => [ 'ASSESSMENT_RUN_STARTED', 'ASSESSMENT_RUN_COMPLETED', 'ASSESSMENT_RUN_STATE_CHANGED', 'FINDING_REPORTED', 'OTHER', ], ], 'InspectorServiceAttributes' => [ 'type' => 'structure', 'required' => [ 'schemaVersion', ], 'members' => [ 'schemaVersion' => [ 'shape' => 'NumericVersion', ], 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'rulesPackageArn' => [ 'shape' => 'Arn', ], ], ], 'InternalException' => [ 'type' => 'structure', 'required' => [ 'message', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, 'fault' => true, ], 'InvalidCrossAccountRoleErrorCode' => [ 'type' => 'string', 'enum' => [ 'ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP', 'ROLE_DOES_NOT_HAVE_CORRECT_POLICY', ], ], 'InvalidCrossAccountRoleException' => [ 'type' => 'structure', 'required' => [ 'message', 'errorCode', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'errorCode' => [ 'shape' => 'InvalidCrossAccountRoleErrorCode', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'InvalidInputErrorCode' => [ 'type' => 'string', 'enum' => [ 'INVALID_ASSESSMENT_TARGET_ARN', 'INVALID_ASSESSMENT_TEMPLATE_ARN', 'INVALID_ASSESSMENT_RUN_ARN', 'INVALID_FINDING_ARN', 'INVALID_RESOURCE_GROUP_ARN', 'INVALID_RULES_PACKAGE_ARN', 'INVALID_RESOURCE_ARN', 'INVALID_SNS_TOPIC_ARN', 'INVALID_IAM_ROLE_ARN', 'INVALID_ASSESSMENT_TARGET_NAME', 'INVALID_ASSESSMENT_TARGET_NAME_PATTERN', 'INVALID_ASSESSMENT_TEMPLATE_NAME', 'INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN', 'INVALID_ASSESSMENT_TEMPLATE_DURATION', 'INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE', 'INVALID_ASSESSMENT_RUN_DURATION_RANGE', 'INVALID_ASSESSMENT_RUN_START_TIME_RANGE', 'INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE', 'INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE', 'INVALID_ASSESSMENT_RUN_STATE', 'INVALID_TAG', 'INVALID_TAG_KEY', 'INVALID_TAG_VALUE', 'INVALID_RESOURCE_GROUP_TAG_KEY', 'INVALID_RESOURCE_GROUP_TAG_VALUE', 'INVALID_ATTRIBUTE', 'INVALID_USER_ATTRIBUTE', 'INVALID_USER_ATTRIBUTE_KEY', 'INVALID_USER_ATTRIBUTE_VALUE', 'INVALID_PAGINATION_TOKEN', 'INVALID_MAX_RESULTS', 'INVALID_AGENT_ID', 'INVALID_AUTO_SCALING_GROUP', 'INVALID_RULE_NAME', 'INVALID_SEVERITY', 'INVALID_LOCALE', 'INVALID_EVENT', 'ASSESSMENT_TARGET_NAME_ALREADY_TAKEN', 'ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN', 'INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS', 'INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS', 'INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS', 'INVALID_NUMBER_OF_FINDING_ARNS', 'INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS', 'INVALID_NUMBER_OF_RULES_PACKAGE_ARNS', 'INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES', 'INVALID_NUMBER_OF_TAGS', 'INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS', 'INVALID_NUMBER_OF_ATTRIBUTES', 'INVALID_NUMBER_OF_USER_ATTRIBUTES', 'INVALID_NUMBER_OF_AGENT_IDS', 'INVALID_NUMBER_OF_AUTO_SCALING_GROUPS', 'INVALID_NUMBER_OF_RULE_NAMES', 'INVALID_NUMBER_OF_SEVERITIES', ], ], 'InvalidInputException' => [ 'type' => 'structure', 'required' => [ 'message', 'errorCode', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'errorCode' => [ 'shape' => 'InvalidInputErrorCode', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'IocConfidence' => [ 'type' => 'integer', 'max' => 10, 'min' => 0, ], 'Ipv4Address' => [ 'type' => 'string', 'max' => 15, 'min' => 7, ], 'Ipv4AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ipv4Address', ], 'max' => 50, 'min' => 0, ], 'Ipv6Addresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'Text', ], ], 'KernelVersion' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'LimitExceededErrorCode' => [ 'type' => 'string', 'enum' => [ 'ASSESSMENT_TARGET_LIMIT_EXCEEDED', 'ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED', 'ASSESSMENT_RUN_LIMIT_EXCEEDED', 'RESOURCE_GROUP_LIMIT_EXCEEDED', 'EVENT_SUBSCRIPTION_LIMIT_EXCEEDED', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'required' => [ 'message', 'errorCode', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'errorCode' => [ 'shape' => 'LimitExceededErrorCode', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'ListAssessmentRunAgentsRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'filter' => [ 'shape' => 'AgentFilter', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListAssessmentRunAgentsResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentRunAgents', ], 'members' => [ 'assessmentRunAgents' => [ 'shape' => 'AssessmentRunAgentList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListAssessmentRunsRequest' => [ 'type' => 'structure', 'members' => [ 'assessmentTemplateArns' => [ 'shape' => 'ListParentArnList', ], 'filter' => [ 'shape' => 'AssessmentRunFilter', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListAssessmentRunsResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArns', ], 'members' => [ 'assessmentRunArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListAssessmentTargetsRequest' => [ 'type' => 'structure', 'members' => [ 'filter' => [ 'shape' => 'AssessmentTargetFilter', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListAssessmentTargetsResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArns', ], 'members' => [ 'assessmentTargetArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListAssessmentTemplatesRequest' => [ 'type' => 'structure', 'members' => [ 'assessmentTargetArns' => [ 'shape' => 'ListParentArnList', ], 'filter' => [ 'shape' => 'AssessmentTemplateFilter', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListAssessmentTemplatesResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArns', ], 'members' => [ 'assessmentTemplateArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListEventSubscriptionsMaxResults' => [ 'type' => 'integer', ], 'ListEventSubscriptionsRequest' => [ 'type' => 'structure', 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListEventSubscriptionsMaxResults', ], ], ], 'ListEventSubscriptionsResponse' => [ 'type' => 'structure', 'required' => [ 'subscriptions', ], 'members' => [ 'subscriptions' => [ 'shape' => 'SubscriptionList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListExclusionsRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListExclusionsResponse' => [ 'type' => 'structure', 'required' => [ 'exclusionArns', ], 'members' => [ 'exclusionArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'assessmentRunArns' => [ 'shape' => 'ListParentArnList', ], 'filter' => [ 'shape' => 'FindingFilter', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'findingArns', ], 'members' => [ 'findingArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListMaxResults' => [ 'type' => 'integer', ], 'ListParentArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 50, 'min' => 0, ], 'ListReturnedArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 100, 'min' => 0, ], 'ListRulesPackagesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'ListMaxResults', ], ], ], 'ListRulesPackagesResponse' => [ 'type' => 'structure', 'required' => [ 'rulesPackageArns', ], 'members' => [ 'rulesPackageArns' => [ 'shape' => 'ListReturnedArnList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'required' => [ 'tags', ], 'members' => [ 'tags' => [ 'shape' => 'TagList', ], ], ], 'Locale' => [ 'type' => 'string', 'enum' => [ 'EN_US', ], ], 'Long' => [ 'type' => 'long', ], 'Message' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], 'MessageType' => [ 'type' => 'string', 'max' => 300, 'min' => 1, ], 'NamePattern' => [ 'type' => 'string', 'max' => 140, 'min' => 1, ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'networkInterfaceId' => [ 'shape' => 'Text', ], 'subnetId' => [ 'shape' => 'Text', ], 'vpcId' => [ 'shape' => 'Text', ], 'privateDnsName' => [ 'shape' => 'Text', ], 'privateIpAddress' => [ 'shape' => 'Text', ], 'privateIpAddresses' => [ 'shape' => 'PrivateIpAddresses', ], 'publicDnsName' => [ 'shape' => 'Text', ], 'publicIp' => [ 'shape' => 'Text', ], 'ipv6Addresses' => [ 'shape' => 'Ipv6Addresses', ], 'securityGroups' => [ 'shape' => 'SecurityGroups', ], ], ], 'NetworkInterfaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', ], ], 'NoSuchEntityErrorCode' => [ 'type' => 'string', 'enum' => [ 'ASSESSMENT_TARGET_DOES_NOT_EXIST', 'ASSESSMENT_TEMPLATE_DOES_NOT_EXIST', 'ASSESSMENT_RUN_DOES_NOT_EXIST', 'FINDING_DOES_NOT_EXIST', 'RESOURCE_GROUP_DOES_NOT_EXIST', 'RULES_PACKAGE_DOES_NOT_EXIST', 'SNS_TOPIC_DOES_NOT_EXIST', 'IAM_ROLE_DOES_NOT_EXIST', ], ], 'NoSuchEntityException' => [ 'type' => 'structure', 'required' => [ 'message', 'errorCode', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'errorCode' => [ 'shape' => 'NoSuchEntityErrorCode', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'NumericSeverity' => [ 'type' => 'double', 'max' => 10, 'min' => 0, ], 'NumericVersion' => [ 'type' => 'integer', 'min' => 0, ], 'OperatingSystem' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 300, 'min' => 1, ], 'PreviewAgentsMaxResults' => [ 'type' => 'integer', ], 'PreviewAgentsRequest' => [ 'type' => 'structure', 'required' => [ 'previewAgentsArn', ], 'members' => [ 'previewAgentsArn' => [ 'shape' => 'Arn', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'PreviewAgentsMaxResults', ], ], ], 'PreviewAgentsResponse' => [ 'type' => 'structure', 'required' => [ 'agentPreviews', ], 'members' => [ 'agentPreviews' => [ 'shape' => 'AgentPreviewList', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'PreviewGenerationInProgressException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PreviewStatus' => [ 'type' => 'string', 'enum' => [ 'WORK_IN_PROGRESS', 'COMPLETED', ], ], 'PrivateIp' => [ 'type' => 'structure', 'members' => [ 'privateDnsName' => [ 'shape' => 'Text', ], 'privateIpAddress' => [ 'shape' => 'Text', ], ], ], 'PrivateIpAddresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrivateIp', ], ], 'ProviderName' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], 'RegisterCrossAccountAccessRoleRequest' => [ 'type' => 'structure', 'required' => [ 'roleArn', ], 'members' => [ 'roleArn' => [ 'shape' => 'Arn', ], ], ], 'RemoveAttributesFromFindingsRequest' => [ 'type' => 'structure', 'required' => [ 'findingArns', 'attributeKeys', ], 'members' => [ 'findingArns' => [ 'shape' => 'AddRemoveAttributesFindingArnList', ], 'attributeKeys' => [ 'shape' => 'UserAttributeKeyList', ], ], ], 'RemoveAttributesFromFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'failedItems', ], 'members' => [ 'failedItems' => [ 'shape' => 'FailedItems', ], ], ], 'ReportFileFormat' => [ 'type' => 'string', 'enum' => [ 'HTML', 'PDF', ], ], 'ReportStatus' => [ 'type' => 'string', 'enum' => [ 'WORK_IN_PROGRESS', 'FAILED', 'COMPLETED', ], ], 'ReportType' => [ 'type' => 'string', 'enum' => [ 'FINDING', 'FULL', ], ], 'ResourceGroup' => [ 'type' => 'structure', 'required' => [ 'arn', 'tags', 'createdAt', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'tags' => [ 'shape' => 'ResourceGroupTags', ], 'createdAt' => [ 'shape' => 'Timestamp', ], ], ], 'ResourceGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceGroup', ], 'max' => 10, 'min' => 0, ], 'ResourceGroupTag' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'ResourceGroupTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceGroupTag', ], 'max' => 10, 'min' => 1, ], 'RuleName' => [ 'type' => 'string', 'max' => 1000, ], 'RuleNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleName', ], 'max' => 50, 'min' => 0, ], 'RulesPackage' => [ 'type' => 'structure', 'required' => [ 'arn', 'name', 'version', 'provider', ], 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'RulesPackageName', ], 'version' => [ 'shape' => 'Version', ], 'provider' => [ 'shape' => 'ProviderName', ], 'description' => [ 'shape' => 'Text', ], ], ], 'RulesPackageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RulesPackage', ], 'max' => 10, 'min' => 0, ], 'RulesPackageName' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], 'Scope' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'ScopeType', ], 'value' => [ 'shape' => 'ScopeValue', ], ], ], 'ScopeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Scope', ], 'min' => 1, ], 'ScopeType' => [ 'type' => 'string', 'enum' => [ 'INSTANCE_ID', 'RULES_PACKAGE_ARN', ], ], 'ScopeValue' => [ 'type' => 'string', ], 'SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'groupName' => [ 'shape' => 'Text', ], 'groupId' => [ 'shape' => 'Text', ], ], ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroup', ], ], 'ServiceName' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'ServiceTemporarilyUnavailableException' => [ 'type' => 'structure', 'required' => [ 'message', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'SetTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'Severity' => [ 'type' => 'string', 'enum' => [ 'Low', 'Medium', 'High', 'Informational', 'Undefined', ], ], 'SeverityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Severity', ], 'max' => 50, 'min' => 0, ], 'StartAssessmentRunRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTemplateArn', ], 'members' => [ 'assessmentTemplateArn' => [ 'shape' => 'Arn', ], 'assessmentRunName' => [ 'shape' => 'AssessmentRunName', ], ], ], 'StartAssessmentRunResponse' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], ], ], 'StopAction' => [ 'type' => 'string', 'enum' => [ 'START_EVALUATION', 'SKIP_EVALUATION', ], ], 'StopAssessmentRunRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentRunArn', ], 'members' => [ 'assessmentRunArn' => [ 'shape' => 'Arn', ], 'stopAction' => [ 'shape' => 'StopAction', ], ], ], 'SubscribeToEventRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'event', 'topicArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'event' => [ 'shape' => 'InspectorEvent', ], 'topicArn' => [ 'shape' => 'Arn', ], ], ], 'Subscription' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'topicArn', 'eventSubscriptions', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'topicArn' => [ 'shape' => 'Arn', ], 'eventSubscriptions' => [ 'shape' => 'EventSubscriptionList', ], ], ], 'SubscriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscription', ], 'max' => 50, 'min' => 0, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'key', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 10, 'min' => 0, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TelemetryMetadata' => [ 'type' => 'structure', 'required' => [ 'messageType', 'count', ], 'members' => [ 'messageType' => [ 'shape' => 'MessageType', ], 'count' => [ 'shape' => 'Long', ], 'dataSize' => [ 'shape' => 'Long', ], ], ], 'TelemetryMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TelemetryMetadata', ], 'max' => 5000, 'min' => 0, ], 'Text' => [ 'type' => 'string', 'max' => 20000, 'min' => 0, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TimestampRange' => [ 'type' => 'structure', 'members' => [ 'beginDate' => [ 'shape' => 'Timestamp', ], 'endDate' => [ 'shape' => 'Timestamp', ], ], ], 'UUID' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'UnsubscribeFromEventRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'event', 'topicArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'event' => [ 'shape' => 'InspectorEvent', ], 'topicArn' => [ 'shape' => 'Arn', ], ], ], 'UnsupportedFeatureException' => [ 'type' => 'structure', 'required' => [ 'message', 'canRetry', ], 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'canRetry' => [ 'shape' => 'Bool', ], ], 'exception' => true, ], 'UpdateAssessmentTargetRequest' => [ 'type' => 'structure', 'required' => [ 'assessmentTargetArn', 'assessmentTargetName', ], 'members' => [ 'assessmentTargetArn' => [ 'shape' => 'Arn', ], 'assessmentTargetName' => [ 'shape' => 'AssessmentTargetName', ], 'resourceGroupArn' => [ 'shape' => 'Arn', ], ], ], 'Url' => [ 'type' => 'string', 'max' => 2048, ], 'UserAttributeKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeKey', ], 'max' => 10, 'min' => 0, ], 'UserAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], 'max' => 10, 'min' => 0, ], 'Version' => [ 'type' => 'string', 'max' => 1000, 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/inspector/2016-02-16/paginators-1.json.php b/lib/aws/Aws/data/inspector/2016-02-16/paginators-1.json.php new file mode 100644 index 0000000..f853cd5 --- /dev/null +++ b/lib/aws/Aws/data/inspector/2016-02-16/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/inspector/2016-02-16/paginators-1.json +return [ 'pagination' => [ 'GetExclusionsPreview' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListAssessmentRunAgents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListAssessmentRuns' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListAssessmentTargets' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListAssessmentTemplates' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListEventSubscriptions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListExclusions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListFindings' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListRulesPackages' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'PreviewAgents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/inspector/2016-02-16/smoke.json.php b/lib/aws/Aws/data/inspector/2016-02-16/smoke.json.php new file mode 100644 index 0000000..b8addc7 --- /dev/null +++ b/lib/aws/Aws/data/inspector/2016-02-16/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/inspector/2016-02-16/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListAssessmentTemplates', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ListTagsForResource', 'input' => [ 'resourceArn' => 'fake-arn', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/iot-jobs-data/2017-09-29/api-2.json.php b/lib/aws/Aws/data/iot-jobs-data/2017-09-29/api-2.json.php new file mode 100644 index 0000000..6c18080 --- /dev/null +++ b/lib/aws/Aws/data/iot-jobs-data/2017-09-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot-jobs-data/2017-09-29/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-29', 'endpointPrefix' => 'data.jobs.iot', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS IoT Jobs Data Plane', 'serviceId' => 'IoT Jobs Data Plane', 'signatureVersion' => 'v4', 'signingName' => 'iot-jobs-data', 'uid' => 'iot-jobs-data-2017-09-29', ], 'operations' => [ 'DescribeJobExecution' => [ 'name' => 'DescribeJobExecution', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'DescribeJobExecutionRequest', ], 'output' => [ 'shape' => 'DescribeJobExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'CertificateValidationException', ], [ 'shape' => 'TerminalStateException', ], ], ], 'GetPendingJobExecutions' => [ 'name' => 'GetPendingJobExecutions', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/jobs', ], 'input' => [ 'shape' => 'GetPendingJobExecutionsRequest', ], 'output' => [ 'shape' => 'GetPendingJobExecutionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'CertificateValidationException', ], ], ], 'StartNextPendingJobExecution' => [ 'name' => 'StartNextPendingJobExecution', 'http' => [ 'method' => 'PUT', 'requestUri' => '/things/{thingName}/jobs/$next', ], 'input' => [ 'shape' => 'StartNextPendingJobExecutionRequest', ], 'output' => [ 'shape' => 'StartNextPendingJobExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'CertificateValidationException', ], ], ], 'UpdateJobExecution' => [ 'name' => 'UpdateJobExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/things/{thingName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'UpdateJobExecutionRequest', ], 'output' => [ 'shape' => 'UpdateJobExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'CertificateValidationException', ], [ 'shape' => 'InvalidStateTransitionException', ], ], ], ], 'shapes' => [ 'ApproximateSecondsBeforeTimedOut' => [ 'type' => 'long', ], 'BinaryBlob' => [ 'type' => 'blob', ], 'CertificateValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'DescribeJobExecutionJobId' => [ 'type' => 'string', 'pattern' => '[a-zA-Z0-9_-]+|^\\$next', ], 'DescribeJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'thingName', ], 'members' => [ 'jobId' => [ 'shape' => 'DescribeJobExecutionJobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'includeJobDocument' => [ 'shape' => 'IncludeJobDocument', 'location' => 'querystring', 'locationName' => 'includeJobDocument', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', 'location' => 'querystring', 'locationName' => 'executionNumber', ], ], ], 'DescribeJobExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'execution' => [ 'shape' => 'JobExecution', ], ], ], 'DetailsKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'DetailsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DetailsKey', ], 'value' => [ 'shape' => 'DetailsValue', ], ], 'DetailsValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[^\\p{C}]*+', ], 'ExecutionNumber' => [ 'type' => 'long', ], 'ExpectedVersion' => [ 'type' => 'long', ], 'GetPendingJobExecutionsRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], ], ], 'GetPendingJobExecutionsResponse' => [ 'type' => 'structure', 'members' => [ 'inProgressJobs' => [ 'shape' => 'JobExecutionSummaryList', ], 'queuedJobs' => [ 'shape' => 'JobExecutionSummaryList', ], ], ], 'IncludeExecutionState' => [ 'type' => 'boolean', ], 'IncludeJobDocument' => [ 'type' => 'boolean', ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidStateTransitionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'JobDocument' => [ 'type' => 'string', 'max' => 32768, ], 'JobExecution' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'thingName' => [ 'shape' => 'ThingName', ], 'status' => [ 'shape' => 'JobExecutionStatus', ], 'statusDetails' => [ 'shape' => 'DetailsMap', ], 'queuedAt' => [ 'shape' => 'QueuedAt', ], 'startedAt' => [ 'shape' => 'StartedAt', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'approximateSecondsBeforeTimedOut' => [ 'shape' => 'ApproximateSecondsBeforeTimedOut', ], 'versionNumber' => [ 'shape' => 'VersionNumber', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', ], 'jobDocument' => [ 'shape' => 'JobDocument', ], ], ], 'JobExecutionState' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'JobExecutionStatus', ], 'statusDetails' => [ 'shape' => 'DetailsMap', ], 'versionNumber' => [ 'shape' => 'VersionNumber', ], ], ], 'JobExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'QUEUED', 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', 'TIMED_OUT', 'REJECTED', 'REMOVED', 'CANCELED', ], ], 'JobExecutionSummary' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'queuedAt' => [ 'shape' => 'QueuedAt', ], 'startedAt' => [ 'shape' => 'StartedAt', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'versionNumber' => [ 'shape' => 'VersionNumber', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', ], ], ], 'JobExecutionSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobExecutionSummary', ], ], 'JobId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'LastUpdatedAt' => [ 'type' => 'long', ], 'QueuedAt' => [ 'type' => 'long', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'StartNextPendingJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'statusDetails' => [ 'shape' => 'DetailsMap', ], 'stepTimeoutInMinutes' => [ 'shape' => 'StepTimeoutInMinutes', ], ], ], 'StartNextPendingJobExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'execution' => [ 'shape' => 'JobExecution', ], ], ], 'StartedAt' => [ 'type' => 'long', ], 'StepTimeoutInMinutes' => [ 'type' => 'long', ], 'TerminalStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 410, ], 'exception' => true, ], 'ThingName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], 'payload' => [ 'shape' => 'BinaryBlob', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UpdateJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'thingName', 'status', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'status' => [ 'shape' => 'JobExecutionStatus', ], 'statusDetails' => [ 'shape' => 'DetailsMap', ], 'stepTimeoutInMinutes' => [ 'shape' => 'StepTimeoutInMinutes', ], 'expectedVersion' => [ 'shape' => 'ExpectedVersion', ], 'includeJobExecutionState' => [ 'shape' => 'IncludeExecutionState', ], 'includeJobDocument' => [ 'shape' => 'IncludeJobDocument', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', ], ], ], 'UpdateJobExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'executionState' => [ 'shape' => 'JobExecutionState', ], 'jobDocument' => [ 'shape' => 'JobDocument', ], ], ], 'VersionNumber' => [ 'type' => 'long', ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/iot-jobs-data/2017-09-29/paginators-1.json.php b/lib/aws/Aws/data/iot-jobs-data/2017-09-29/paginators-1.json.php new file mode 100644 index 0000000..a3ef44c --- /dev/null +++ b/lib/aws/Aws/data/iot-jobs-data/2017-09-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot-jobs-data/2017-09-29/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/iot/2015-05-28/api-2.json.php b/lib/aws/Aws/data/iot/2015-05-28/api-2.json.php new file mode 100644 index 0000000..525d490 --- /dev/null +++ b/lib/aws/Aws/data/iot/2015-05-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot/2015-05-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-05-28', 'endpointPrefix' => 'iot', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS IoT', 'serviceId' => 'IoT', 'signatureVersion' => 'v4', 'signingName' => 'execute-api', 'uid' => 'iot-2015-05-28', ], 'operations' => [ 'AcceptCertificateTransfer' => [ 'name' => 'AcceptCertificateTransfer', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/accept-certificate-transfer/{certificateId}', ], 'input' => [ 'shape' => 'AcceptCertificateTransferRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TransferAlreadyCompletedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'AddThingToBillingGroup' => [ 'name' => 'AddThingToBillingGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/billing-groups/addThingToBillingGroup', ], 'input' => [ 'shape' => 'AddThingToBillingGroupRequest', ], 'output' => [ 'shape' => 'AddThingToBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AddThingToThingGroup' => [ 'name' => 'AddThingToThingGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/thing-groups/addThingToThingGroup', ], 'input' => [ 'shape' => 'AddThingToThingGroupRequest', ], 'output' => [ 'shape' => 'AddThingToThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AssociateTargetsWithJob' => [ 'name' => 'AssociateTargetsWithJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/jobs/{jobId}/targets', ], 'input' => [ 'shape' => 'AssociateTargetsWithJobRequest', ], 'output' => [ 'shape' => 'AssociateTargetsWithJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'AttachPolicy' => [ 'name' => 'AttachPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/target-policies/{policyName}', ], 'input' => [ 'shape' => 'AttachPolicyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'AttachPrincipalPolicy' => [ 'name' => 'AttachPrincipalPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/principal-policies/{policyName}', ], 'input' => [ 'shape' => 'AttachPrincipalPolicyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], 'deprecated' => true, ], 'AttachSecurityProfile' => [ 'name' => 'AttachSecurityProfile', 'http' => [ 'method' => 'PUT', 'requestUri' => '/security-profiles/{securityProfileName}/targets', ], 'input' => [ 'shape' => 'AttachSecurityProfileRequest', ], 'output' => [ 'shape' => 'AttachSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'AttachThingPrincipal' => [ 'name' => 'AttachThingPrincipal', 'http' => [ 'method' => 'PUT', 'requestUri' => '/things/{thingName}/principals', ], 'input' => [ 'shape' => 'AttachThingPrincipalRequest', ], 'output' => [ 'shape' => 'AttachThingPrincipalResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CancelAuditTask' => [ 'name' => 'CancelAuditTask', 'http' => [ 'method' => 'PUT', 'requestUri' => '/audit/tasks/{taskId}/cancel', ], 'input' => [ 'shape' => 'CancelAuditTaskRequest', ], 'output' => [ 'shape' => 'CancelAuditTaskResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CancelCertificateTransfer' => [ 'name' => 'CancelCertificateTransfer', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/cancel-certificate-transfer/{certificateId}', ], 'input' => [ 'shape' => 'CancelCertificateTransferRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TransferAlreadyCompletedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'PUT', 'requestUri' => '/jobs/{jobId}/cancel', ], 'input' => [ 'shape' => 'CancelJobRequest', ], 'output' => [ 'shape' => 'CancelJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CancelJobExecution' => [ 'name' => 'CancelJobExecution', 'http' => [ 'method' => 'PUT', 'requestUri' => '/things/{thingName}/jobs/{jobId}/cancel', ], 'input' => [ 'shape' => 'CancelJobExecutionRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'VersionConflictException', ], ], ], 'ClearDefaultAuthorizer' => [ 'name' => 'ClearDefaultAuthorizer', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/default-authorizer', ], 'input' => [ 'shape' => 'ClearDefaultAuthorizerRequest', ], 'output' => [ 'shape' => 'ClearDefaultAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateAuthorizer' => [ 'name' => 'CreateAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/authorizer/{authorizerName}', ], 'input' => [ 'shape' => 'CreateAuthorizerRequest', ], 'output' => [ 'shape' => 'CreateAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateBillingGroup' => [ 'name' => 'CreateBillingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/billing-groups/{billingGroupName}', ], 'input' => [ 'shape' => 'CreateBillingGroupRequest', ], 'output' => [ 'shape' => 'CreateBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateCertificateFromCsr' => [ 'name' => 'CreateCertificateFromCsr', 'http' => [ 'method' => 'POST', 'requestUri' => '/certificates', ], 'input' => [ 'shape' => 'CreateCertificateFromCsrRequest', ], 'output' => [ 'shape' => 'CreateCertificateFromCsrResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateDynamicThingGroup' => [ 'name' => 'CreateDynamicThingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/dynamic-thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'CreateDynamicThingGroupRequest', ], 'output' => [ 'shape' => 'CreateDynamicThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidQueryException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'PUT', 'requestUri' => '/jobs/{jobId}', ], 'input' => [ 'shape' => 'CreateJobRequest', ], 'output' => [ 'shape' => 'CreateJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateKeysAndCertificate' => [ 'name' => 'CreateKeysAndCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/keys-and-certificate', ], 'input' => [ 'shape' => 'CreateKeysAndCertificateRequest', ], 'output' => [ 'shape' => 'CreateKeysAndCertificateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateOTAUpdate' => [ 'name' => 'CreateOTAUpdate', 'http' => [ 'method' => 'POST', 'requestUri' => '/otaUpdates/{otaUpdateId}', ], 'input' => [ 'shape' => 'CreateOTAUpdateRequest', ], 'output' => [ 'shape' => 'CreateOTAUpdateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreatePolicy' => [ 'name' => 'CreatePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/policies/{policyName}', ], 'input' => [ 'shape' => 'CreatePolicyRequest', ], 'output' => [ 'shape' => 'CreatePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'MalformedPolicyException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreatePolicyVersion' => [ 'name' => 'CreatePolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/policies/{policyName}/version', ], 'input' => [ 'shape' => 'CreatePolicyVersionRequest', ], 'output' => [ 'shape' => 'CreatePolicyVersionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'MalformedPolicyException', ], [ 'shape' => 'VersionsLimitExceededException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateRoleAlias' => [ 'name' => 'CreateRoleAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/role-aliases/{roleAlias}', ], 'input' => [ 'shape' => 'CreateRoleAliasRequest', ], 'output' => [ 'shape' => 'CreateRoleAliasResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateScheduledAudit' => [ 'name' => 'CreateScheduledAudit', 'http' => [ 'method' => 'POST', 'requestUri' => '/audit/scheduledaudits/{scheduledAuditName}', ], 'input' => [ 'shape' => 'CreateScheduledAuditRequest', ], 'output' => [ 'shape' => 'CreateScheduledAuditResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateSecurityProfile' => [ 'name' => 'CreateSecurityProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/security-profiles/{securityProfileName}', ], 'input' => [ 'shape' => 'CreateSecurityProfileRequest', ], 'output' => [ 'shape' => 'CreateSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateStream' => [ 'name' => 'CreateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/streams/{streamId}', ], 'input' => [ 'shape' => 'CreateStreamRequest', ], 'output' => [ 'shape' => 'CreateStreamResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateThing' => [ 'name' => 'CreateThing', 'http' => [ 'method' => 'POST', 'requestUri' => '/things/{thingName}', ], 'input' => [ 'shape' => 'CreateThingRequest', ], 'output' => [ 'shape' => 'CreateThingResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateThingGroup' => [ 'name' => 'CreateThingGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'CreateThingGroupRequest', ], 'output' => [ 'shape' => 'CreateThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'CreateThingType' => [ 'name' => 'CreateThingType', 'http' => [ 'method' => 'POST', 'requestUri' => '/thing-types/{thingTypeName}', ], 'input' => [ 'shape' => 'CreateThingTypeRequest', ], 'output' => [ 'shape' => 'CreateThingTypeResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'CreateTopicRule' => [ 'name' => 'CreateTopicRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/rules/{ruleName}', ], 'input' => [ 'shape' => 'CreateTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'SqlParseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], ], ], 'DeleteAccountAuditConfiguration' => [ 'name' => 'DeleteAccountAuditConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/audit/configuration', ], 'input' => [ 'shape' => 'DeleteAccountAuditConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteAccountAuditConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteAuthorizer' => [ 'name' => 'DeleteAuthorizer', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/authorizer/{authorizerName}', ], 'input' => [ 'shape' => 'DeleteAuthorizerRequest', ], 'output' => [ 'shape' => 'DeleteAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteBillingGroup' => [ 'name' => 'DeleteBillingGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/billing-groups/{billingGroupName}', ], 'input' => [ 'shape' => 'DeleteBillingGroupRequest', ], 'output' => [ 'shape' => 'DeleteBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteCACertificate' => [ 'name' => 'DeleteCACertificate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/cacertificate/{caCertificateId}', ], 'input' => [ 'shape' => 'DeleteCACertificateRequest', ], 'output' => [ 'shape' => 'DeleteCACertificateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'CertificateStateException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteCertificate' => [ 'name' => 'DeleteCertificate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/certificates/{certificateId}', ], 'input' => [ 'shape' => 'DeleteCertificateRequest', ], 'errors' => [ [ 'shape' => 'CertificateStateException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteDynamicThingGroup' => [ 'name' => 'DeleteDynamicThingGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/dynamic-thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'DeleteDynamicThingGroupRequest', ], 'output' => [ 'shape' => 'DeleteDynamicThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteJob' => [ 'name' => 'DeleteJob', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/jobs/{jobId}', ], 'input' => [ 'shape' => 'DeleteJobRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteJobExecution' => [ 'name' => 'DeleteJobExecution', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/things/{thingName}/jobs/{jobId}/executionNumber/{executionNumber}', ], 'input' => [ 'shape' => 'DeleteJobExecutionRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteOTAUpdate' => [ 'name' => 'DeleteOTAUpdate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/otaUpdates/{otaUpdateId}', ], 'input' => [ 'shape' => 'DeleteOTAUpdateRequest', ], 'output' => [ 'shape' => 'DeleteOTAUpdateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'VersionConflictException', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/policies/{policyName}', ], 'input' => [ 'shape' => 'DeletePolicyRequest', ], 'errors' => [ [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeletePolicyVersion' => [ 'name' => 'DeletePolicyVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/policies/{policyName}/version/{policyVersionId}', ], 'input' => [ 'shape' => 'DeletePolicyVersionRequest', ], 'errors' => [ [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteRegistrationCode' => [ 'name' => 'DeleteRegistrationCode', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/registrationcode', ], 'input' => [ 'shape' => 'DeleteRegistrationCodeRequest', ], 'output' => [ 'shape' => 'DeleteRegistrationCodeResponse', ], 'errors' => [ [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteRoleAlias' => [ 'name' => 'DeleteRoleAlias', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/role-aliases/{roleAlias}', ], 'input' => [ 'shape' => 'DeleteRoleAliasRequest', ], 'output' => [ 'shape' => 'DeleteRoleAliasResponse', ], 'errors' => [ [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteScheduledAudit' => [ 'name' => 'DeleteScheduledAudit', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/audit/scheduledaudits/{scheduledAuditName}', ], 'input' => [ 'shape' => 'DeleteScheduledAuditRequest', ], 'output' => [ 'shape' => 'DeleteScheduledAuditResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteSecurityProfile' => [ 'name' => 'DeleteSecurityProfile', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/security-profiles/{securityProfileName}', ], 'input' => [ 'shape' => 'DeleteSecurityProfileRequest', ], 'output' => [ 'shape' => 'DeleteSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'VersionConflictException', ], ], ], 'DeleteStream' => [ 'name' => 'DeleteStream', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/streams/{streamId}', ], 'input' => [ 'shape' => 'DeleteStreamRequest', ], 'output' => [ 'shape' => 'DeleteStreamResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DeleteConflictException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteThing' => [ 'name' => 'DeleteThing', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/things/{thingName}', ], 'input' => [ 'shape' => 'DeleteThingRequest', ], 'output' => [ 'shape' => 'DeleteThingResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteThingGroup' => [ 'name' => 'DeleteThingGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'DeleteThingGroupRequest', ], 'output' => [ 'shape' => 'DeleteThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteThingType' => [ 'name' => 'DeleteThingType', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/thing-types/{thingTypeName}', ], 'input' => [ 'shape' => 'DeleteThingTypeRequest', ], 'output' => [ 'shape' => 'DeleteThingTypeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteTopicRule' => [ 'name' => 'DeleteTopicRule', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/rules/{ruleName}', ], 'input' => [ 'shape' => 'DeleteTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], ], ], 'DeleteV2LoggingLevel' => [ 'name' => 'DeleteV2LoggingLevel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v2LoggingLevel', ], 'input' => [ 'shape' => 'DeleteV2LoggingLevelRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeprecateThingType' => [ 'name' => 'DeprecateThingType', 'http' => [ 'method' => 'POST', 'requestUri' => '/thing-types/{thingTypeName}/deprecate', ], 'input' => [ 'shape' => 'DeprecateThingTypeRequest', ], 'output' => [ 'shape' => 'DeprecateThingTypeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeAccountAuditConfiguration' => [ 'name' => 'DescribeAccountAuditConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/audit/configuration', ], 'input' => [ 'shape' => 'DescribeAccountAuditConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeAccountAuditConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeAuditTask' => [ 'name' => 'DescribeAuditTask', 'http' => [ 'method' => 'GET', 'requestUri' => '/audit/tasks/{taskId}', ], 'input' => [ 'shape' => 'DescribeAuditTaskRequest', ], 'output' => [ 'shape' => 'DescribeAuditTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeAuthorizer' => [ 'name' => 'DescribeAuthorizer', 'http' => [ 'method' => 'GET', 'requestUri' => '/authorizer/{authorizerName}', ], 'input' => [ 'shape' => 'DescribeAuthorizerRequest', ], 'output' => [ 'shape' => 'DescribeAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeBillingGroup' => [ 'name' => 'DescribeBillingGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/billing-groups/{billingGroupName}', ], 'input' => [ 'shape' => 'DescribeBillingGroupRequest', ], 'output' => [ 'shape' => 'DescribeBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeCACertificate' => [ 'name' => 'DescribeCACertificate', 'http' => [ 'method' => 'GET', 'requestUri' => '/cacertificate/{caCertificateId}', ], 'input' => [ 'shape' => 'DescribeCACertificateRequest', ], 'output' => [ 'shape' => 'DescribeCACertificateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeCertificate' => [ 'name' => 'DescribeCertificate', 'http' => [ 'method' => 'GET', 'requestUri' => '/certificates/{certificateId}', ], 'input' => [ 'shape' => 'DescribeCertificateRequest', ], 'output' => [ 'shape' => 'DescribeCertificateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeDefaultAuthorizer' => [ 'name' => 'DescribeDefaultAuthorizer', 'http' => [ 'method' => 'GET', 'requestUri' => '/default-authorizer', ], 'input' => [ 'shape' => 'DescribeDefaultAuthorizerRequest', ], 'output' => [ 'shape' => 'DescribeDefaultAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeEndpoint' => [ 'name' => 'DescribeEndpoint', 'http' => [ 'method' => 'GET', 'requestUri' => '/endpoint', ], 'input' => [ 'shape' => 'DescribeEndpointRequest', ], 'output' => [ 'shape' => 'DescribeEndpointResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeEventConfigurations' => [ 'name' => 'DescribeEventConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/event-configurations', ], 'input' => [ 'shape' => 'DescribeEventConfigurationsRequest', ], 'output' => [ 'shape' => 'DescribeEventConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeIndex' => [ 'name' => 'DescribeIndex', 'http' => [ 'method' => 'GET', 'requestUri' => '/indices/{indexName}', ], 'input' => [ 'shape' => 'DescribeIndexRequest', ], 'output' => [ 'shape' => 'DescribeIndexResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeJob' => [ 'name' => 'DescribeJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/jobs/{jobId}', ], 'input' => [ 'shape' => 'DescribeJobRequest', ], 'output' => [ 'shape' => 'DescribeJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeJobExecution' => [ 'name' => 'DescribeJobExecution', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/jobs/{jobId}', ], 'input' => [ 'shape' => 'DescribeJobExecutionRequest', ], 'output' => [ 'shape' => 'DescribeJobExecutionResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeRoleAlias' => [ 'name' => 'DescribeRoleAlias', 'http' => [ 'method' => 'GET', 'requestUri' => '/role-aliases/{roleAlias}', ], 'input' => [ 'shape' => 'DescribeRoleAliasRequest', ], 'output' => [ 'shape' => 'DescribeRoleAliasResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeScheduledAudit' => [ 'name' => 'DescribeScheduledAudit', 'http' => [ 'method' => 'GET', 'requestUri' => '/audit/scheduledaudits/{scheduledAuditName}', ], 'input' => [ 'shape' => 'DescribeScheduledAuditRequest', ], 'output' => [ 'shape' => 'DescribeScheduledAuditResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeSecurityProfile' => [ 'name' => 'DescribeSecurityProfile', 'http' => [ 'method' => 'GET', 'requestUri' => '/security-profiles/{securityProfileName}', ], 'input' => [ 'shape' => 'DescribeSecurityProfileRequest', ], 'output' => [ 'shape' => 'DescribeSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeStream' => [ 'name' => 'DescribeStream', 'http' => [ 'method' => 'GET', 'requestUri' => '/streams/{streamId}', ], 'input' => [ 'shape' => 'DescribeStreamRequest', ], 'output' => [ 'shape' => 'DescribeStreamResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeThing' => [ 'name' => 'DescribeThing', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}', ], 'input' => [ 'shape' => 'DescribeThingRequest', ], 'output' => [ 'shape' => 'DescribeThingResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DescribeThingGroup' => [ 'name' => 'DescribeThingGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'DescribeThingGroupRequest', ], 'output' => [ 'shape' => 'DescribeThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeThingRegistrationTask' => [ 'name' => 'DescribeThingRegistrationTask', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-registration-tasks/{taskId}', ], 'input' => [ 'shape' => 'DescribeThingRegistrationTaskRequest', ], 'output' => [ 'shape' => 'DescribeThingRegistrationTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeThingType' => [ 'name' => 'DescribeThingType', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-types/{thingTypeName}', ], 'input' => [ 'shape' => 'DescribeThingTypeRequest', ], 'output' => [ 'shape' => 'DescribeThingTypeResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DetachPolicy' => [ 'name' => 'DetachPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/target-policies/{policyName}', ], 'input' => [ 'shape' => 'DetachPolicyRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DetachPrincipalPolicy' => [ 'name' => 'DetachPrincipalPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/principal-policies/{policyName}', ], 'input' => [ 'shape' => 'DetachPrincipalPolicyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], 'deprecated' => true, ], 'DetachSecurityProfile' => [ 'name' => 'DetachSecurityProfile', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/security-profiles/{securityProfileName}/targets', ], 'input' => [ 'shape' => 'DetachSecurityProfileRequest', ], 'output' => [ 'shape' => 'DetachSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DetachThingPrincipal' => [ 'name' => 'DetachThingPrincipal', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/things/{thingName}/principals', ], 'input' => [ 'shape' => 'DetachThingPrincipalRequest', ], 'output' => [ 'shape' => 'DetachThingPrincipalResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DisableTopicRule' => [ 'name' => 'DisableTopicRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/rules/{ruleName}/disable', ], 'input' => [ 'shape' => 'DisableTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], ], ], 'EnableTopicRule' => [ 'name' => 'EnableTopicRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/rules/{ruleName}/enable', ], 'input' => [ 'shape' => 'EnableTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], ], ], 'GetEffectivePolicies' => [ 'name' => 'GetEffectivePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/effective-policies', ], 'input' => [ 'shape' => 'GetEffectivePoliciesRequest', ], 'output' => [ 'shape' => 'GetEffectivePoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetIndexingConfiguration' => [ 'name' => 'GetIndexingConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/indexing/config', ], 'input' => [ 'shape' => 'GetIndexingConfigurationRequest', ], 'output' => [ 'shape' => 'GetIndexingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetJobDocument' => [ 'name' => 'GetJobDocument', 'http' => [ 'method' => 'GET', 'requestUri' => '/jobs/{jobId}/job-document', ], 'input' => [ 'shape' => 'GetJobDocumentRequest', ], 'output' => [ 'shape' => 'GetJobDocumentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetLoggingOptions' => [ 'name' => 'GetLoggingOptions', 'http' => [ 'method' => 'GET', 'requestUri' => '/loggingOptions', ], 'input' => [ 'shape' => 'GetLoggingOptionsRequest', ], 'output' => [ 'shape' => 'GetLoggingOptionsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetOTAUpdate' => [ 'name' => 'GetOTAUpdate', 'http' => [ 'method' => 'GET', 'requestUri' => '/otaUpdates/{otaUpdateId}', ], 'input' => [ 'shape' => 'GetOTAUpdateRequest', ], 'output' => [ 'shape' => 'GetOTAUpdateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetPolicy' => [ 'name' => 'GetPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies/{policyName}', ], 'input' => [ 'shape' => 'GetPolicyRequest', ], 'output' => [ 'shape' => 'GetPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetPolicyVersion' => [ 'name' => 'GetPolicyVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies/{policyName}/version/{policyVersionId}', ], 'input' => [ 'shape' => 'GetPolicyVersionRequest', ], 'output' => [ 'shape' => 'GetPolicyVersionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetRegistrationCode' => [ 'name' => 'GetRegistrationCode', 'http' => [ 'method' => 'GET', 'requestUri' => '/registrationcode', ], 'input' => [ 'shape' => 'GetRegistrationCodeRequest', ], 'output' => [ 'shape' => 'GetRegistrationCodeResponse', ], 'errors' => [ [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetStatistics' => [ 'name' => 'GetStatistics', 'http' => [ 'method' => 'POST', 'requestUri' => '/indices/statistics', ], 'input' => [ 'shape' => 'GetStatisticsRequest', ], 'output' => [ 'shape' => 'GetStatisticsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidQueryException', ], [ 'shape' => 'InvalidAggregationException', ], [ 'shape' => 'IndexNotReadyException', ], ], ], 'GetTopicRule' => [ 'name' => 'GetTopicRule', 'http' => [ 'method' => 'GET', 'requestUri' => '/rules/{ruleName}', ], 'input' => [ 'shape' => 'GetTopicRuleRequest', ], 'output' => [ 'shape' => 'GetTopicRuleResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], ], ], 'GetV2LoggingOptions' => [ 'name' => 'GetV2LoggingOptions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2LoggingOptions', ], 'input' => [ 'shape' => 'GetV2LoggingOptionsRequest', ], 'output' => [ 'shape' => 'GetV2LoggingOptionsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'NotConfiguredException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListActiveViolations' => [ 'name' => 'ListActiveViolations', 'http' => [ 'method' => 'GET', 'requestUri' => '/active-violations', ], 'input' => [ 'shape' => 'ListActiveViolationsRequest', ], 'output' => [ 'shape' => 'ListActiveViolationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListAttachedPolicies' => [ 'name' => 'ListAttachedPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/attached-policies/{target}', ], 'input' => [ 'shape' => 'ListAttachedPoliciesRequest', ], 'output' => [ 'shape' => 'ListAttachedPoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListAuditFindings' => [ 'name' => 'ListAuditFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/audit/findings', ], 'input' => [ 'shape' => 'ListAuditFindingsRequest', ], 'output' => [ 'shape' => 'ListAuditFindingsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListAuditTasks' => [ 'name' => 'ListAuditTasks', 'http' => [ 'method' => 'GET', 'requestUri' => '/audit/tasks', ], 'input' => [ 'shape' => 'ListAuditTasksRequest', ], 'output' => [ 'shape' => 'ListAuditTasksResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListAuthorizers' => [ 'name' => 'ListAuthorizers', 'http' => [ 'method' => 'GET', 'requestUri' => '/authorizers/', ], 'input' => [ 'shape' => 'ListAuthorizersRequest', ], 'output' => [ 'shape' => 'ListAuthorizersResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListBillingGroups' => [ 'name' => 'ListBillingGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/billing-groups', ], 'input' => [ 'shape' => 'ListBillingGroupsRequest', ], 'output' => [ 'shape' => 'ListBillingGroupsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListCACertificates' => [ 'name' => 'ListCACertificates', 'http' => [ 'method' => 'GET', 'requestUri' => '/cacertificates', ], 'input' => [ 'shape' => 'ListCACertificatesRequest', ], 'output' => [ 'shape' => 'ListCACertificatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListCertificates' => [ 'name' => 'ListCertificates', 'http' => [ 'method' => 'GET', 'requestUri' => '/certificates', ], 'input' => [ 'shape' => 'ListCertificatesRequest', ], 'output' => [ 'shape' => 'ListCertificatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListCertificatesByCA' => [ 'name' => 'ListCertificatesByCA', 'http' => [ 'method' => 'GET', 'requestUri' => '/certificates-by-ca/{caCertificateId}', ], 'input' => [ 'shape' => 'ListCertificatesByCARequest', ], 'output' => [ 'shape' => 'ListCertificatesByCAResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListIndices' => [ 'name' => 'ListIndices', 'http' => [ 'method' => 'GET', 'requestUri' => '/indices', ], 'input' => [ 'shape' => 'ListIndicesRequest', ], 'output' => [ 'shape' => 'ListIndicesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListJobExecutionsForJob' => [ 'name' => 'ListJobExecutionsForJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/jobs/{jobId}/things', ], 'input' => [ 'shape' => 'ListJobExecutionsForJobRequest', ], 'output' => [ 'shape' => 'ListJobExecutionsForJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListJobExecutionsForThing' => [ 'name' => 'ListJobExecutionsForThing', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/jobs', ], 'input' => [ 'shape' => 'ListJobExecutionsForThingRequest', ], 'output' => [ 'shape' => 'ListJobExecutionsForThingResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/jobs', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListOTAUpdates' => [ 'name' => 'ListOTAUpdates', 'http' => [ 'method' => 'GET', 'requestUri' => '/otaUpdates', ], 'input' => [ 'shape' => 'ListOTAUpdatesRequest', ], 'output' => [ 'shape' => 'ListOTAUpdatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListOutgoingCertificates' => [ 'name' => 'ListOutgoingCertificates', 'http' => [ 'method' => 'GET', 'requestUri' => '/certificates-out-going', ], 'input' => [ 'shape' => 'ListOutgoingCertificatesRequest', ], 'output' => [ 'shape' => 'ListOutgoingCertificatesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListPolicies' => [ 'name' => 'ListPolicies', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies', ], 'input' => [ 'shape' => 'ListPoliciesRequest', ], 'output' => [ 'shape' => 'ListPoliciesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListPolicyPrincipals' => [ 'name' => 'ListPolicyPrincipals', 'http' => [ 'method' => 'GET', 'requestUri' => '/policy-principals', ], 'input' => [ 'shape' => 'ListPolicyPrincipalsRequest', ], 'output' => [ 'shape' => 'ListPolicyPrincipalsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], 'deprecated' => true, ], 'ListPolicyVersions' => [ 'name' => 'ListPolicyVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/policies/{policyName}/version', ], 'input' => [ 'shape' => 'ListPolicyVersionsRequest', ], 'output' => [ 'shape' => 'ListPolicyVersionsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListPrincipalPolicies' => [ 'name' => 'ListPrincipalPolicies', 'http' => [ 'method' => 'GET', 'requestUri' => '/principal-policies', ], 'input' => [ 'shape' => 'ListPrincipalPoliciesRequest', ], 'output' => [ 'shape' => 'ListPrincipalPoliciesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], 'deprecated' => true, ], 'ListPrincipalThings' => [ 'name' => 'ListPrincipalThings', 'http' => [ 'method' => 'GET', 'requestUri' => '/principals/things', ], 'input' => [ 'shape' => 'ListPrincipalThingsRequest', ], 'output' => [ 'shape' => 'ListPrincipalThingsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListRoleAliases' => [ 'name' => 'ListRoleAliases', 'http' => [ 'method' => 'GET', 'requestUri' => '/role-aliases', ], 'input' => [ 'shape' => 'ListRoleAliasesRequest', ], 'output' => [ 'shape' => 'ListRoleAliasesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListScheduledAudits' => [ 'name' => 'ListScheduledAudits', 'http' => [ 'method' => 'GET', 'requestUri' => '/audit/scheduledaudits', ], 'input' => [ 'shape' => 'ListScheduledAuditsRequest', ], 'output' => [ 'shape' => 'ListScheduledAuditsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListSecurityProfiles' => [ 'name' => 'ListSecurityProfiles', 'http' => [ 'method' => 'GET', 'requestUri' => '/security-profiles', ], 'input' => [ 'shape' => 'ListSecurityProfilesRequest', ], 'output' => [ 'shape' => 'ListSecurityProfilesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListSecurityProfilesForTarget' => [ 'name' => 'ListSecurityProfilesForTarget', 'http' => [ 'method' => 'GET', 'requestUri' => '/security-profiles-for-target', ], 'input' => [ 'shape' => 'ListSecurityProfilesForTargetRequest', ], 'output' => [ 'shape' => 'ListSecurityProfilesForTargetResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListStreams' => [ 'name' => 'ListStreams', 'http' => [ 'method' => 'GET', 'requestUri' => '/streams', ], 'input' => [ 'shape' => 'ListStreamsRequest', ], 'output' => [ 'shape' => 'ListStreamsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTargetsForPolicy' => [ 'name' => 'ListTargetsForPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/policy-targets/{policyName}', ], 'input' => [ 'shape' => 'ListTargetsForPolicyRequest', ], 'output' => [ 'shape' => 'ListTargetsForPolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListTargetsForSecurityProfile' => [ 'name' => 'ListTargetsForSecurityProfile', 'http' => [ 'method' => 'GET', 'requestUri' => '/security-profiles/{securityProfileName}/targets', ], 'input' => [ 'shape' => 'ListTargetsForSecurityProfileRequest', ], 'output' => [ 'shape' => 'ListTargetsForSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListThingGroups' => [ 'name' => 'ListThingGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-groups', ], 'input' => [ 'shape' => 'ListThingGroupsRequest', ], 'output' => [ 'shape' => 'ListThingGroupsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListThingGroupsForThing' => [ 'name' => 'ListThingGroupsForThing', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/thing-groups', ], 'input' => [ 'shape' => 'ListThingGroupsForThingRequest', ], 'output' => [ 'shape' => 'ListThingGroupsForThingResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListThingPrincipals' => [ 'name' => 'ListThingPrincipals', 'http' => [ 'method' => 'GET', 'requestUri' => '/things/{thingName}/principals', ], 'input' => [ 'shape' => 'ListThingPrincipalsRequest', ], 'output' => [ 'shape' => 'ListThingPrincipalsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListThingRegistrationTaskReports' => [ 'name' => 'ListThingRegistrationTaskReports', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-registration-tasks/{taskId}/reports', ], 'input' => [ 'shape' => 'ListThingRegistrationTaskReportsRequest', ], 'output' => [ 'shape' => 'ListThingRegistrationTaskReportsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListThingRegistrationTasks' => [ 'name' => 'ListThingRegistrationTasks', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-registration-tasks', ], 'input' => [ 'shape' => 'ListThingRegistrationTasksRequest', ], 'output' => [ 'shape' => 'ListThingRegistrationTasksResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListThingTypes' => [ 'name' => 'ListThingTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-types', ], 'input' => [ 'shape' => 'ListThingTypesRequest', ], 'output' => [ 'shape' => 'ListThingTypesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListThings' => [ 'name' => 'ListThings', 'http' => [ 'method' => 'GET', 'requestUri' => '/things', ], 'input' => [ 'shape' => 'ListThingsRequest', ], 'output' => [ 'shape' => 'ListThingsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListThingsInBillingGroup' => [ 'name' => 'ListThingsInBillingGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/billing-groups/{billingGroupName}/things', ], 'input' => [ 'shape' => 'ListThingsInBillingGroupRequest', ], 'output' => [ 'shape' => 'ListThingsInBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListThingsInThingGroup' => [ 'name' => 'ListThingsInThingGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/thing-groups/{thingGroupName}/things', ], 'input' => [ 'shape' => 'ListThingsInThingGroupRequest', ], 'output' => [ 'shape' => 'ListThingsInThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListTopicRules' => [ 'name' => 'ListTopicRules', 'http' => [ 'method' => 'GET', 'requestUri' => '/rules', ], 'input' => [ 'shape' => 'ListTopicRulesRequest', ], 'output' => [ 'shape' => 'ListTopicRulesResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListV2LoggingLevels' => [ 'name' => 'ListV2LoggingLevels', 'http' => [ 'method' => 'GET', 'requestUri' => '/v2LoggingLevel', ], 'input' => [ 'shape' => 'ListV2LoggingLevelsRequest', ], 'output' => [ 'shape' => 'ListV2LoggingLevelsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'NotConfiguredException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListViolationEvents' => [ 'name' => 'ListViolationEvents', 'http' => [ 'method' => 'GET', 'requestUri' => '/violation-events', ], 'input' => [ 'shape' => 'ListViolationEventsRequest', ], 'output' => [ 'shape' => 'ListViolationEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'RegisterCACertificate' => [ 'name' => 'RegisterCACertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/cacertificate', ], 'input' => [ 'shape' => 'RegisterCACertificateRequest', ], 'output' => [ 'shape' => 'RegisterCACertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'RegistrationCodeValidationException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'CertificateValidationException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'RegisterCertificate' => [ 'name' => 'RegisterCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/certificate/register', ], 'input' => [ 'shape' => 'RegisterCertificateRequest', ], 'output' => [ 'shape' => 'RegisterCertificateResponse', ], 'errors' => [ [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'CertificateValidationException', ], [ 'shape' => 'CertificateStateException', ], [ 'shape' => 'CertificateConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'RegisterThing' => [ 'name' => 'RegisterThing', 'http' => [ 'method' => 'POST', 'requestUri' => '/things', ], 'input' => [ 'shape' => 'RegisterThingRequest', ], 'output' => [ 'shape' => 'RegisterThingResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], [ 'shape' => 'ResourceRegistrationFailureException', ], ], ], 'RejectCertificateTransfer' => [ 'name' => 'RejectCertificateTransfer', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/reject-certificate-transfer/{certificateId}', ], 'input' => [ 'shape' => 'RejectCertificateTransferRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TransferAlreadyCompletedException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'RemoveThingFromBillingGroup' => [ 'name' => 'RemoveThingFromBillingGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/billing-groups/removeThingFromBillingGroup', ], 'input' => [ 'shape' => 'RemoveThingFromBillingGroupRequest', ], 'output' => [ 'shape' => 'RemoveThingFromBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RemoveThingFromThingGroup' => [ 'name' => 'RemoveThingFromThingGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/thing-groups/removeThingFromThingGroup', ], 'input' => [ 'shape' => 'RemoveThingFromThingGroupRequest', ], 'output' => [ 'shape' => 'RemoveThingFromThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ReplaceTopicRule' => [ 'name' => 'ReplaceTopicRule', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/rules/{ruleName}', ], 'input' => [ 'shape' => 'ReplaceTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'SqlParseException', ], [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ConflictingResourceUpdateException', ], ], ], 'SearchIndex' => [ 'name' => 'SearchIndex', 'http' => [ 'method' => 'POST', 'requestUri' => '/indices/search', ], 'input' => [ 'shape' => 'SearchIndexRequest', ], 'output' => [ 'shape' => 'SearchIndexResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidQueryException', ], [ 'shape' => 'IndexNotReadyException', ], ], ], 'SetDefaultAuthorizer' => [ 'name' => 'SetDefaultAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/default-authorizer', ], 'input' => [ 'shape' => 'SetDefaultAuthorizerRequest', ], 'output' => [ 'shape' => 'SetDefaultAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'SetDefaultPolicyVersion' => [ 'name' => 'SetDefaultPolicyVersion', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/policies/{policyName}/version/{policyVersionId}', ], 'input' => [ 'shape' => 'SetDefaultPolicyVersionRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'SetLoggingOptions' => [ 'name' => 'SetLoggingOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/loggingOptions', ], 'input' => [ 'shape' => 'SetLoggingOptionsRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'SetV2LoggingLevel' => [ 'name' => 'SetV2LoggingLevel', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2LoggingLevel', ], 'input' => [ 'shape' => 'SetV2LoggingLevelRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'NotConfiguredException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'SetV2LoggingOptions' => [ 'name' => 'SetV2LoggingOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/v2LoggingOptions', ], 'input' => [ 'shape' => 'SetV2LoggingOptionsRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'StartOnDemandAuditTask' => [ 'name' => 'StartOnDemandAuditTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/audit/tasks', ], 'input' => [ 'shape' => 'StartOnDemandAuditTaskRequest', ], 'output' => [ 'shape' => 'StartOnDemandAuditTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StartThingRegistrationTask' => [ 'name' => 'StartThingRegistrationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/thing-registration-tasks', ], 'input' => [ 'shape' => 'StartThingRegistrationTaskRequest', ], 'output' => [ 'shape' => 'StartThingRegistrationTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'StopThingRegistrationTask' => [ 'name' => 'StopThingRegistrationTask', 'http' => [ 'method' => 'PUT', 'requestUri' => '/thing-registration-tasks/{taskId}/cancel', ], 'input' => [ 'shape' => 'StopThingRegistrationTaskRequest', ], 'output' => [ 'shape' => 'StopThingRegistrationTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'TestAuthorization' => [ 'name' => 'TestAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/test-authorization', ], 'input' => [ 'shape' => 'TestAuthorizationRequest', ], 'output' => [ 'shape' => 'TestAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'TestInvokeAuthorizer' => [ 'name' => 'TestInvokeAuthorizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/authorizer/{authorizerName}/test', ], 'input' => [ 'shape' => 'TestInvokeAuthorizerRequest', ], 'output' => [ 'shape' => 'TestInvokeAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidResponseException', ], ], ], 'TransferCertificate' => [ 'name' => 'TransferCertificate', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/transfer-certificate/{certificateId}', ], 'input' => [ 'shape' => 'TransferCertificateRequest', ], 'output' => [ 'shape' => 'TransferCertificateResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'CertificateStateException', ], [ 'shape' => 'TransferConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/untag', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateAccountAuditConfiguration' => [ 'name' => 'UpdateAccountAuditConfiguration', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/audit/configuration', ], 'input' => [ 'shape' => 'UpdateAccountAuditConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateAccountAuditConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateAuthorizer' => [ 'name' => 'UpdateAuthorizer', 'http' => [ 'method' => 'PUT', 'requestUri' => '/authorizer/{authorizerName}', ], 'input' => [ 'shape' => 'UpdateAuthorizerRequest', ], 'output' => [ 'shape' => 'UpdateAuthorizerResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateBillingGroup' => [ 'name' => 'UpdateBillingGroup', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/billing-groups/{billingGroupName}', ], 'input' => [ 'shape' => 'UpdateBillingGroupRequest', ], 'output' => [ 'shape' => 'UpdateBillingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateCACertificate' => [ 'name' => 'UpdateCACertificate', 'http' => [ 'method' => 'PUT', 'requestUri' => '/cacertificate/{caCertificateId}', ], 'input' => [ 'shape' => 'UpdateCACertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateCertificate' => [ 'name' => 'UpdateCertificate', 'http' => [ 'method' => 'PUT', 'requestUri' => '/certificates/{certificateId}', ], 'input' => [ 'shape' => 'UpdateCertificateRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'CertificateStateException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateDynamicThingGroup' => [ 'name' => 'UpdateDynamicThingGroup', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/dynamic-thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'UpdateDynamicThingGroupRequest', ], 'output' => [ 'shape' => 'UpdateDynamicThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidQueryException', ], ], ], 'UpdateEventConfigurations' => [ 'name' => 'UpdateEventConfigurations', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/event-configurations', ], 'input' => [ 'shape' => 'UpdateEventConfigurationsRequest', ], 'output' => [ 'shape' => 'UpdateEventConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateIndexingConfiguration' => [ 'name' => 'UpdateIndexingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/indexing/config', ], 'input' => [ 'shape' => 'UpdateIndexingConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateIndexingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateJob' => [ 'name' => 'UpdateJob', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/jobs/{jobId}', ], 'input' => [ 'shape' => 'UpdateJobRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateRoleAlias' => [ 'name' => 'UpdateRoleAlias', 'http' => [ 'method' => 'PUT', 'requestUri' => '/role-aliases/{roleAlias}', ], 'input' => [ 'shape' => 'UpdateRoleAliasRequest', ], 'output' => [ 'shape' => 'UpdateRoleAliasResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateScheduledAudit' => [ 'name' => 'UpdateScheduledAudit', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/audit/scheduledaudits/{scheduledAuditName}', ], 'input' => [ 'shape' => 'UpdateScheduledAuditRequest', ], 'output' => [ 'shape' => 'UpdateScheduledAuditResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateSecurityProfile' => [ 'name' => 'UpdateSecurityProfile', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/security-profiles/{securityProfileName}', ], 'input' => [ 'shape' => 'UpdateSecurityProfileRequest', ], 'output' => [ 'shape' => 'UpdateSecurityProfileResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateStream' => [ 'name' => 'UpdateStream', 'http' => [ 'method' => 'PUT', 'requestUri' => '/streams/{streamId}', ], 'input' => [ 'shape' => 'UpdateStreamRequest', ], 'output' => [ 'shape' => 'UpdateStreamResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateThing' => [ 'name' => 'UpdateThing', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/things/{thingName}', ], 'input' => [ 'shape' => 'UpdateThingRequest', ], 'output' => [ 'shape' => 'UpdateThingResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateThingGroup' => [ 'name' => 'UpdateThingGroup', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/thing-groups/{thingGroupName}', ], 'input' => [ 'shape' => 'UpdateThingGroupRequest', ], 'output' => [ 'shape' => 'UpdateThingGroupResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'VersionConflictException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateThingGroupsForThing' => [ 'name' => 'UpdateThingGroupsForThing', 'http' => [ 'method' => 'PUT', 'requestUri' => '/thing-groups/updateThingGroupsForThing', ], 'input' => [ 'shape' => 'UpdateThingGroupsForThingRequest', ], 'output' => [ 'shape' => 'UpdateThingGroupsForThingResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ValidateSecurityProfileBehaviors' => [ 'name' => 'ValidateSecurityProfileBehaviors', 'http' => [ 'method' => 'POST', 'requestUri' => '/security-profile-behaviors/validate', ], 'input' => [ 'shape' => 'ValidateSecurityProfileBehaviorsRequest', ], 'output' => [ 'shape' => 'ValidateSecurityProfileBehaviorsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], ], ], ], 'shapes' => [ 'AbortAction' => [ 'type' => 'string', 'enum' => [ 'CANCEL', ], ], 'AbortConfig' => [ 'type' => 'structure', 'required' => [ 'criteriaList', ], 'members' => [ 'criteriaList' => [ 'shape' => 'AbortCriteriaList', ], ], ], 'AbortCriteria' => [ 'type' => 'structure', 'required' => [ 'failureType', 'action', 'thresholdPercentage', 'minNumberOfExecutedThings', ], 'members' => [ 'failureType' => [ 'shape' => 'JobExecutionFailureType', ], 'action' => [ 'shape' => 'AbortAction', ], 'thresholdPercentage' => [ 'shape' => 'AbortThresholdPercentage', ], 'minNumberOfExecutedThings' => [ 'shape' => 'MinimumNumberOfExecutedThings', ], ], ], 'AbortCriteriaList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AbortCriteria', ], 'min' => 1, ], 'AbortThresholdPercentage' => [ 'type' => 'double', 'max' => 100, ], 'AcceptCertificateTransferRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], 'setAsActive' => [ 'shape' => 'SetAsActive', 'location' => 'querystring', 'locationName' => 'setAsActive', ], ], ], 'Action' => [ 'type' => 'structure', 'members' => [ 'dynamoDB' => [ 'shape' => 'DynamoDBAction', ], 'dynamoDBv2' => [ 'shape' => 'DynamoDBv2Action', ], 'lambda' => [ 'shape' => 'LambdaAction', ], 'sns' => [ 'shape' => 'SnsAction', ], 'sqs' => [ 'shape' => 'SqsAction', ], 'kinesis' => [ 'shape' => 'KinesisAction', ], 'republish' => [ 'shape' => 'RepublishAction', ], 's3' => [ 'shape' => 'S3Action', ], 'firehose' => [ 'shape' => 'FirehoseAction', ], 'cloudwatchMetric' => [ 'shape' => 'CloudwatchMetricAction', ], 'cloudwatchAlarm' => [ 'shape' => 'CloudwatchAlarmAction', ], 'elasticsearch' => [ 'shape' => 'ElasticsearchAction', ], 'salesforce' => [ 'shape' => 'SalesforceAction', ], 'iotAnalytics' => [ 'shape' => 'IotAnalyticsAction', ], 'iotEvents' => [ 'shape' => 'IotEventsAction', ], 'stepFunctions' => [ 'shape' => 'StepFunctionsAction', ], ], ], 'ActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Action', ], 'max' => 10, 'min' => 0, ], 'ActionType' => [ 'type' => 'string', 'enum' => [ 'PUBLISH', 'SUBSCRIBE', 'RECEIVE', 'CONNECT', ], ], 'ActiveViolation' => [ 'type' => 'structure', 'members' => [ 'violationId' => [ 'shape' => 'ViolationId', ], 'thingName' => [ 'shape' => 'ThingName', ], 'securityProfileName' => [ 'shape' => 'SecurityProfileName', ], 'behavior' => [ 'shape' => 'Behavior', ], 'lastViolationValue' => [ 'shape' => 'MetricValue', ], 'lastViolationTime' => [ 'shape' => 'Timestamp', ], 'violationStartTime' => [ 'shape' => 'Timestamp', ], ], ], 'ActiveViolations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActiveViolation', ], ], 'AddThingToBillingGroupRequest' => [ 'type' => 'structure', 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], 'billingGroupArn' => [ 'shape' => 'BillingGroupArn', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], ], ], 'AddThingToBillingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'AddThingToThingGroupRequest' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], 'overrideDynamicGroups' => [ 'shape' => 'OverrideDynamicGroups', ], ], ], 'AddThingToThingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdditionalMetricsToRetainList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BehaviorMetric', ], ], 'AdditionalParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'Value', ], ], 'AggregationField' => [ 'type' => 'string', 'min' => 1, ], 'AlarmName' => [ 'type' => 'string', ], 'AlertTarget' => [ 'type' => 'structure', 'required' => [ 'alertTargetArn', 'roleArn', ], 'members' => [ 'alertTargetArn' => [ 'shape' => 'AlertTargetArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'AlertTargetArn' => [ 'type' => 'string', ], 'AlertTargetType' => [ 'type' => 'string', 'enum' => [ 'SNS', ], ], 'AlertTargets' => [ 'type' => 'map', 'key' => [ 'shape' => 'AlertTargetType', ], 'value' => [ 'shape' => 'AlertTarget', ], ], 'AllowAutoRegistration' => [ 'type' => 'boolean', ], 'Allowed' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], ], ], 'ApproximateSecondsBeforeTimedOut' => [ 'type' => 'long', ], 'AscendingOrder' => [ 'type' => 'boolean', ], 'AssociateTargetsWithJobRequest' => [ 'type' => 'structure', 'required' => [ 'targets', 'jobId', ], 'members' => [ 'targets' => [ 'shape' => 'JobTargets', ], 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'comment' => [ 'shape' => 'Comment', ], ], ], 'AssociateTargetsWithJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'description' => [ 'shape' => 'JobDescription', ], ], ], 'AttachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'target', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'target' => [ 'shape' => 'PolicyTarget', ], ], ], 'AttachPrincipalPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'principal', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-iot-principal', ], ], ], 'AttachSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', 'securityProfileTargetArn', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileTargetArn' => [ 'shape' => 'SecurityProfileTargetArn', 'location' => 'querystring', 'locationName' => 'securityProfileTargetArn', ], ], ], 'AttachSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttachThingPrincipalRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', 'principal', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-principal', ], ], ], 'AttachThingPrincipalResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttributeKey' => [ 'type' => 'string', ], 'AttributeName' => [ 'type' => 'string', 'max' => 128, 'pattern' => '[a-zA-Z0-9_.,@/:#-]+', ], 'AttributePayload' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'Attributes', ], 'merge' => [ 'shape' => 'Flag', ], ], ], 'AttributeValue' => [ 'type' => 'string', 'max' => 800, 'pattern' => '[a-zA-Z0-9_.,@/:#-]*', ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'AttributesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'Value', ], ], 'AuditCheckConfiguration' => [ 'type' => 'structure', 'members' => [ 'enabled' => [ 'shape' => 'Enabled', ], ], ], 'AuditCheckConfigurations' => [ 'type' => 'map', 'key' => [ 'shape' => 'AuditCheckName', ], 'value' => [ 'shape' => 'AuditCheckConfiguration', ], ], 'AuditCheckDetails' => [ 'type' => 'structure', 'members' => [ 'checkRunStatus' => [ 'shape' => 'AuditCheckRunStatus', ], 'checkCompliant' => [ 'shape' => 'CheckCompliant', ], 'totalResourcesCount' => [ 'shape' => 'TotalResourcesCount', ], 'nonCompliantResourcesCount' => [ 'shape' => 'NonCompliantResourcesCount', ], 'errorCode' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], ], 'AuditCheckName' => [ 'type' => 'string', ], 'AuditCheckRunStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'WAITING_FOR_DATA_COLLECTION', 'CANCELED', 'COMPLETED_COMPLIANT', 'COMPLETED_NON_COMPLIANT', 'FAILED', ], ], 'AuditDetails' => [ 'type' => 'map', 'key' => [ 'shape' => 'AuditCheckName', ], 'value' => [ 'shape' => 'AuditCheckDetails', ], ], 'AuditFinding' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', ], 'checkName' => [ 'shape' => 'AuditCheckName', ], 'taskStartTime' => [ 'shape' => 'Timestamp', ], 'findingTime' => [ 'shape' => 'Timestamp', ], 'severity' => [ 'shape' => 'AuditFindingSeverity', ], 'nonCompliantResource' => [ 'shape' => 'NonCompliantResource', ], 'relatedResources' => [ 'shape' => 'RelatedResources', ], 'reasonForNonCompliance' => [ 'shape' => 'ReasonForNonCompliance', ], 'reasonForNonComplianceCode' => [ 'shape' => 'ReasonForNonComplianceCode', ], ], ], 'AuditFindingSeverity' => [ 'type' => 'string', 'enum' => [ 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW', ], ], 'AuditFindings' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuditFinding', ], ], 'AuditFrequency' => [ 'type' => 'string', 'enum' => [ 'DAILY', 'WEEKLY', 'BIWEEKLY', 'MONTHLY', ], ], 'AuditNotificationTarget' => [ 'type' => 'structure', 'members' => [ 'targetArn' => [ 'shape' => 'TargetArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'enabled' => [ 'shape' => 'Enabled', ], ], ], 'AuditNotificationTargetConfigurations' => [ 'type' => 'map', 'key' => [ 'shape' => 'AuditNotificationType', ], 'value' => [ 'shape' => 'AuditNotificationTarget', ], ], 'AuditNotificationType' => [ 'type' => 'string', 'enum' => [ 'SNS', ], ], 'AuditTaskId' => [ 'type' => 'string', 'max' => 40, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\-]+', ], 'AuditTaskMetadata' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', ], 'taskStatus' => [ 'shape' => 'AuditTaskStatus', ], 'taskType' => [ 'shape' => 'AuditTaskType', ], ], ], 'AuditTaskMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuditTaskMetadata', ], ], 'AuditTaskStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'COMPLETED', 'FAILED', 'CANCELED', ], ], 'AuditTaskType' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND_AUDIT_TASK', 'SCHEDULED_AUDIT_TASK', ], ], 'AuthDecision' => [ 'type' => 'string', 'enum' => [ 'ALLOWED', 'EXPLICIT_DENY', 'IMPLICIT_DENY', ], ], 'AuthInfo' => [ 'type' => 'structure', 'members' => [ 'actionType' => [ 'shape' => 'ActionType', ], 'resources' => [ 'shape' => 'Resources', ], ], ], 'AuthInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthInfo', ], 'max' => 10, 'min' => 1, ], 'AuthResult' => [ 'type' => 'structure', 'members' => [ 'authInfo' => [ 'shape' => 'AuthInfo', ], 'allowed' => [ 'shape' => 'Allowed', ], 'denied' => [ 'shape' => 'Denied', ], 'authDecision' => [ 'shape' => 'AuthDecision', ], 'missingContextValues' => [ 'shape' => 'MissingContextValues', ], ], ], 'AuthResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthResult', ], ], 'AuthorizerArn' => [ 'type' => 'string', ], 'AuthorizerDescription' => [ 'type' => 'structure', 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], 'authorizerArn' => [ 'shape' => 'AuthorizerArn', ], 'authorizerFunctionArn' => [ 'shape' => 'AuthorizerFunctionArn', ], 'tokenKeyName' => [ 'shape' => 'TokenKeyName', ], 'tokenSigningPublicKeys' => [ 'shape' => 'PublicKeyMap', ], 'status' => [ 'shape' => 'AuthorizerStatus', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], ], ], 'AuthorizerFunctionArn' => [ 'type' => 'string', ], 'AuthorizerName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w=,@-]+', ], 'AuthorizerStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', ], ], 'AuthorizerSummary' => [ 'type' => 'structure', 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], 'authorizerArn' => [ 'shape' => 'AuthorizerArn', ], ], ], 'Authorizers' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuthorizerSummary', ], ], 'AutoRegistrationStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLE', 'DISABLE', ], ], 'AwsAccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '[0-9]+', ], 'AwsArn' => [ 'type' => 'string', ], 'AwsIotJobArn' => [ 'type' => 'string', ], 'AwsIotJobId' => [ 'type' => 'string', ], 'AwsIotSqlVersion' => [ 'type' => 'string', ], 'AwsJobExecutionsRolloutConfig' => [ 'type' => 'structure', 'members' => [ 'maximumPerMinute' => [ 'shape' => 'MaximumPerMinute', ], ], ], 'Behavior' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'BehaviorName', ], 'metric' => [ 'shape' => 'BehaviorMetric', ], 'criteria' => [ 'shape' => 'BehaviorCriteria', ], ], ], 'BehaviorCriteria' => [ 'type' => 'structure', 'members' => [ 'comparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'value' => [ 'shape' => 'MetricValue', ], 'durationSeconds' => [ 'shape' => 'DurationSeconds', ], 'consecutiveDatapointsToAlarm' => [ 'shape' => 'ConsecutiveDatapointsToAlarm', ], 'consecutiveDatapointsToClear' => [ 'shape' => 'ConsecutiveDatapointsToClear', ], 'statisticalThreshold' => [ 'shape' => 'StatisticalThreshold', ], ], ], 'BehaviorMetric' => [ 'type' => 'string', ], 'BehaviorName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'Behaviors' => [ 'type' => 'list', 'member' => [ 'shape' => 'Behavior', ], 'max' => 100, ], 'BillingGroupArn' => [ 'type' => 'string', ], 'BillingGroupDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[\\p{Graph}\\x20]*', ], 'BillingGroupId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\-]+', ], 'BillingGroupMetadata' => [ 'type' => 'structure', 'members' => [ 'creationDate' => [ 'shape' => 'CreationDate', ], ], ], 'BillingGroupName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'BillingGroupNameAndArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupNameAndArn', ], ], 'BillingGroupProperties' => [ 'type' => 'structure', 'members' => [ 'billingGroupDescription' => [ 'shape' => 'BillingGroupDescription', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BucketName' => [ 'type' => 'string', ], 'CACertificate' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'status' => [ 'shape' => 'CACertificateStatus', ], 'creationDate' => [ 'shape' => 'DateType', ], ], ], 'CACertificateDescription' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'status' => [ 'shape' => 'CACertificateStatus', ], 'certificatePem' => [ 'shape' => 'CertificatePem', ], 'ownedBy' => [ 'shape' => 'AwsAccountId', ], 'creationDate' => [ 'shape' => 'DateType', ], 'autoRegistrationStatus' => [ 'shape' => 'AutoRegistrationStatus', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], 'customerVersion' => [ 'shape' => 'CustomerVersion', ], 'generationId' => [ 'shape' => 'GenerationId', ], 'validity' => [ 'shape' => 'CertificateValidity', ], ], ], 'CACertificateStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', ], ], 'CACertificates' => [ 'type' => 'list', 'member' => [ 'shape' => 'CACertificate', ], ], 'CancelAuditTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', 'location' => 'uri', 'locationName' => 'taskId', ], ], ], 'CancelAuditTaskResponse' => [ 'type' => 'structure', 'members' => [], ], 'CancelCertificateTransferRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], ], ], 'CancelJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'thingName', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'force' => [ 'shape' => 'ForceFlag', 'location' => 'querystring', 'locationName' => 'force', ], 'expectedVersion' => [ 'shape' => 'ExpectedVersion', ], 'statusDetails' => [ 'shape' => 'DetailsMap', ], ], ], 'CancelJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'reasonCode' => [ 'shape' => 'ReasonCode', ], 'comment' => [ 'shape' => 'Comment', ], 'force' => [ 'shape' => 'ForceFlag', 'location' => 'querystring', 'locationName' => 'force', ], ], ], 'CancelJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'description' => [ 'shape' => 'JobDescription', ], ], ], 'CanceledChecksCount' => [ 'type' => 'integer', ], 'CanceledThings' => [ 'type' => 'integer', ], 'CannedAccessControlList' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'aws-exec-read', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control', 'log-delivery-write', ], ], 'Certificate' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'status' => [ 'shape' => 'CertificateStatus', ], 'creationDate' => [ 'shape' => 'DateType', ], ], ], 'CertificateArn' => [ 'type' => 'string', ], 'CertificateConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CertificateDescription' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'caCertificateId' => [ 'shape' => 'CertificateId', ], 'status' => [ 'shape' => 'CertificateStatus', ], 'certificatePem' => [ 'shape' => 'CertificatePem', ], 'ownedBy' => [ 'shape' => 'AwsAccountId', ], 'previousOwnedBy' => [ 'shape' => 'AwsAccountId', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], 'customerVersion' => [ 'shape' => 'CustomerVersion', ], 'transferData' => [ 'shape' => 'TransferData', ], 'generationId' => [ 'shape' => 'GenerationId', ], 'validity' => [ 'shape' => 'CertificateValidity', ], ], ], 'CertificateId' => [ 'type' => 'string', 'max' => 64, 'min' => 64, 'pattern' => '(0x)?[a-fA-F0-9]+', ], 'CertificateName' => [ 'type' => 'string', ], 'CertificatePathOnDevice' => [ 'type' => 'string', ], 'CertificatePem' => [ 'type' => 'string', 'max' => 65536, 'min' => 1, ], 'CertificateSigningRequest' => [ 'type' => 'string', 'min' => 1, ], 'CertificateStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 406, ], 'exception' => true, ], 'CertificateStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', 'REVOKED', 'PENDING_TRANSFER', 'REGISTER_INACTIVE', 'PENDING_ACTIVATION', ], ], 'CertificateValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CertificateValidity' => [ 'type' => 'structure', 'members' => [ 'notBefore' => [ 'shape' => 'DateType', ], 'notAfter' => [ 'shape' => 'DateType', ], ], ], 'Certificates' => [ 'type' => 'list', 'member' => [ 'shape' => 'Certificate', ], ], 'ChannelName' => [ 'type' => 'string', ], 'CheckCompliant' => [ 'type' => 'boolean', ], 'Cidr' => [ 'type' => 'string', 'max' => 43, 'min' => 2, 'pattern' => '[a-fA-F0-9:\\.\\/]+', ], 'Cidrs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cidr', ], ], 'ClearDefaultAuthorizerRequest' => [ 'type' => 'structure', 'members' => [], ], 'ClearDefaultAuthorizerResponse' => [ 'type' => 'structure', 'members' => [], ], 'ClientId' => [ 'type' => 'string', ], 'CloudwatchAlarmAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'alarmName', 'stateReason', 'stateValue', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'alarmName' => [ 'shape' => 'AlarmName', ], 'stateReason' => [ 'shape' => 'StateReason', ], 'stateValue' => [ 'shape' => 'StateValue', ], ], ], 'CloudwatchMetricAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'metricNamespace', 'metricName', 'metricValue', 'metricUnit', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'metricNamespace' => [ 'shape' => 'String', ], 'metricName' => [ 'shape' => 'String', ], 'metricValue' => [ 'shape' => 'String', ], 'metricUnit' => [ 'shape' => 'String', ], 'metricTimestamp' => [ 'shape' => 'String', ], ], ], 'Code' => [ 'type' => 'string', ], 'CodeSigning' => [ 'type' => 'structure', 'members' => [ 'awsSignerJobId' => [ 'shape' => 'SigningJobId', ], 'startSigningJobParameter' => [ 'shape' => 'StartSigningJobParameter', ], 'customCodeSigning' => [ 'shape' => 'CustomCodeSigning', ], ], ], 'CodeSigningCertificateChain' => [ 'type' => 'structure', 'members' => [ 'certificateName' => [ 'shape' => 'CertificateName', ], 'inlineDocument' => [ 'shape' => 'InlineDocument', ], ], ], 'CodeSigningSignature' => [ 'type' => 'structure', 'members' => [ 'inlineDocument' => [ 'shape' => 'Signature', ], ], ], 'CognitoIdentityPoolId' => [ 'type' => 'string', ], 'Comment' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[^\\p{C}]+', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'less-than', 'less-than-equals', 'greater-than', 'greater-than-equals', 'in-cidr-set', 'not-in-cidr-set', 'in-port-set', 'not-in-port-set', ], ], 'CompliantChecksCount' => [ 'type' => 'integer', ], 'Configuration' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Enabled', ], ], ], 'ConflictingResourceUpdateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ConnectivityTimestamp' => [ 'type' => 'long', ], 'ConsecutiveDatapointsToAlarm' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'ConsecutiveDatapointsToClear' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'Count' => [ 'type' => 'integer', ], 'CreateAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', 'authorizerFunctionArn', 'tokenKeyName', 'tokenSigningPublicKeys', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], 'authorizerFunctionArn' => [ 'shape' => 'AuthorizerFunctionArn', ], 'tokenKeyName' => [ 'shape' => 'TokenKeyName', ], 'tokenSigningPublicKeys' => [ 'shape' => 'PublicKeyMap', ], 'status' => [ 'shape' => 'AuthorizerStatus', ], ], ], 'CreateAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], 'authorizerArn' => [ 'shape' => 'AuthorizerArn', ], ], ], 'CreateBillingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'billingGroupName', ], 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', 'location' => 'uri', 'locationName' => 'billingGroupName', ], 'billingGroupProperties' => [ 'shape' => 'BillingGroupProperties', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateBillingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], 'billingGroupArn' => [ 'shape' => 'BillingGroupArn', ], 'billingGroupId' => [ 'shape' => 'BillingGroupId', ], ], ], 'CreateCertificateFromCsrRequest' => [ 'type' => 'structure', 'required' => [ 'certificateSigningRequest', ], 'members' => [ 'certificateSigningRequest' => [ 'shape' => 'CertificateSigningRequest', ], 'setAsActive' => [ 'shape' => 'SetAsActive', 'location' => 'querystring', 'locationName' => 'setAsActive', ], ], ], 'CreateCertificateFromCsrResponse' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'certificatePem' => [ 'shape' => 'CertificatePem', ], ], ], 'CreateDynamicThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', 'queryString', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'thingGroupProperties' => [ 'shape' => 'ThingGroupProperties', ], 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDynamicThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', ], 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], ], ], 'CreateJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'targets', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'targets' => [ 'shape' => 'JobTargets', ], 'documentSource' => [ 'shape' => 'JobDocumentSource', ], 'document' => [ 'shape' => 'JobDocument', ], 'description' => [ 'shape' => 'JobDescription', ], 'presignedUrlConfig' => [ 'shape' => 'PresignedUrlConfig', ], 'targetSelection' => [ 'shape' => 'TargetSelection', ], 'jobExecutionsRolloutConfig' => [ 'shape' => 'JobExecutionsRolloutConfig', ], 'abortConfig' => [ 'shape' => 'AbortConfig', ], 'timeoutConfig' => [ 'shape' => 'TimeoutConfig', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'description' => [ 'shape' => 'JobDescription', ], ], ], 'CreateKeysAndCertificateRequest' => [ 'type' => 'structure', 'members' => [ 'setAsActive' => [ 'shape' => 'SetAsActive', 'location' => 'querystring', 'locationName' => 'setAsActive', ], ], ], 'CreateKeysAndCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'certificatePem' => [ 'shape' => 'CertificatePem', ], 'keyPair' => [ 'shape' => 'KeyPair', ], ], ], 'CreateOTAUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'otaUpdateId', 'targets', 'files', 'roleArn', ], 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', 'location' => 'uri', 'locationName' => 'otaUpdateId', ], 'description' => [ 'shape' => 'OTAUpdateDescription', ], 'targets' => [ 'shape' => 'Targets', ], 'targetSelection' => [ 'shape' => 'TargetSelection', ], 'awsJobExecutionsRolloutConfig' => [ 'shape' => 'AwsJobExecutionsRolloutConfig', ], 'files' => [ 'shape' => 'OTAUpdateFiles', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'additionalParameters' => [ 'shape' => 'AdditionalParameterMap', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateOTAUpdateResponse' => [ 'type' => 'structure', 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', ], 'awsIotJobId' => [ 'shape' => 'AwsIotJobId', ], 'otaUpdateArn' => [ 'shape' => 'OTAUpdateArn', ], 'awsIotJobArn' => [ 'shape' => 'AwsIotJobArn', ], 'otaUpdateStatus' => [ 'shape' => 'OTAUpdateStatus', ], ], ], 'CreatePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'policyDocument', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], ], ], 'CreatePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyArn' => [ 'shape' => 'PolicyArn', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', ], ], ], 'CreatePolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'policyDocument', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'setAsDefault' => [ 'shape' => 'SetAsDefault', 'location' => 'querystring', 'locationName' => 'setAsDefault', ], ], ], 'CreatePolicyVersionResponse' => [ 'type' => 'structure', 'members' => [ 'policyArn' => [ 'shape' => 'PolicyArn', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', ], 'isDefaultVersion' => [ 'shape' => 'IsDefaultVersion', ], ], ], 'CreateRoleAliasRequest' => [ 'type' => 'structure', 'required' => [ 'roleAlias', 'roleArn', ], 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', 'location' => 'uri', 'locationName' => 'roleAlias', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'credentialDurationSeconds' => [ 'shape' => 'CredentialDurationSeconds', ], ], ], 'CreateRoleAliasResponse' => [ 'type' => 'structure', 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', ], 'roleAliasArn' => [ 'shape' => 'RoleAliasArn', ], ], ], 'CreateScheduledAuditRequest' => [ 'type' => 'structure', 'required' => [ 'frequency', 'targetCheckNames', 'scheduledAuditName', ], 'members' => [ 'frequency' => [ 'shape' => 'AuditFrequency', ], 'dayOfMonth' => [ 'shape' => 'DayOfMonth', ], 'dayOfWeek' => [ 'shape' => 'DayOfWeek', ], 'targetCheckNames' => [ 'shape' => 'TargetAuditCheckNames', ], 'tags' => [ 'shape' => 'TagList', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'CreateScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [ 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], ], ], 'CreateSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], 'additionalMetricsToRetain' => [ 'shape' => 'AdditionalMetricsToRetainList', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', ], 'securityProfileArn' => [ 'shape' => 'SecurityProfileArn', ], ], ], 'CreateStreamRequest' => [ 'type' => 'structure', 'required' => [ 'streamId', 'files', 'roleArn', ], 'members' => [ 'streamId' => [ 'shape' => 'StreamId', 'location' => 'uri', 'locationName' => 'streamId', ], 'description' => [ 'shape' => 'StreamDescription', ], 'files' => [ 'shape' => 'StreamFiles', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateStreamResponse' => [ 'type' => 'structure', 'members' => [ 'streamId' => [ 'shape' => 'StreamId', ], 'streamArn' => [ 'shape' => 'StreamArn', ], 'description' => [ 'shape' => 'StreamDescription', ], 'streamVersion' => [ 'shape' => 'StreamVersion', ], ], ], 'CreateThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'parentGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupProperties' => [ 'shape' => 'ThingGroupProperties', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', ], ], ], 'CreateThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'attributePayload' => [ 'shape' => 'AttributePayload', ], 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], ], ], 'CreateThingResponse' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], 'thingId' => [ 'shape' => 'ThingId', ], ], ], 'CreateThingTypeRequest' => [ 'type' => 'structure', 'required' => [ 'thingTypeName', ], 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'uri', 'locationName' => 'thingTypeName', ], 'thingTypeProperties' => [ 'shape' => 'ThingTypeProperties', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateThingTypeResponse' => [ 'type' => 'structure', 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingTypeArn' => [ 'shape' => 'ThingTypeArn', ], 'thingTypeId' => [ 'shape' => 'ThingTypeId', ], ], ], 'CreateTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', 'topicRulePayload', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], 'topicRulePayload' => [ 'shape' => 'TopicRulePayload', ], 'tags' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'x-amz-tagging', ], ], 'payload' => 'topicRulePayload', ], 'CreatedAtDate' => [ 'type' => 'timestamp', ], 'CreationDate' => [ 'type' => 'timestamp', ], 'CredentialDurationSeconds' => [ 'type' => 'integer', 'max' => 3600, 'min' => 900, ], 'CustomCodeSigning' => [ 'type' => 'structure', 'members' => [ 'signature' => [ 'shape' => 'CodeSigningSignature', ], 'certificateChain' => [ 'shape' => 'CodeSigningCertificateChain', ], 'hashAlgorithm' => [ 'shape' => 'HashAlgorithm', ], 'signatureAlgorithm' => [ 'shape' => 'SignatureAlgorithm', ], ], ], 'CustomerVersion' => [ 'type' => 'integer', 'min' => 1, ], 'DateType' => [ 'type' => 'timestamp', ], 'DayOfMonth' => [ 'type' => 'string', 'pattern' => '^([1-9]|[12][0-9]|3[01])$|^LAST$', ], 'DayOfWeek' => [ 'type' => 'string', 'enum' => [ 'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', ], ], 'DeleteAccountAuditConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'deleteScheduledAudits' => [ 'shape' => 'DeleteScheduledAudits', 'location' => 'querystring', 'locationName' => 'deleteScheduledAudits', ], ], ], 'DeleteAccountAuditConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteAdditionalMetricsToRetain' => [ 'type' => 'boolean', ], 'DeleteAlertTargets' => [ 'type' => 'boolean', ], 'DeleteAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], ], ], 'DeleteAuthorizerResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteBehaviors' => [ 'type' => 'boolean', ], 'DeleteBillingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'billingGroupName', ], 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', 'location' => 'uri', 'locationName' => 'billingGroupName', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'DeleteBillingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCACertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'caCertificateId', ], ], ], 'DeleteCACertificateResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], 'forceDelete' => [ 'shape' => 'ForceDelete', 'location' => 'querystring', 'locationName' => 'forceDelete', ], ], ], 'DeleteConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DeleteDynamicThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'DeleteDynamicThingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'thingName', 'executionNumber', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', 'location' => 'uri', 'locationName' => 'executionNumber', ], 'force' => [ 'shape' => 'ForceFlag', 'location' => 'querystring', 'locationName' => 'force', ], ], ], 'DeleteJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'force' => [ 'shape' => 'ForceFlag', 'location' => 'querystring', 'locationName' => 'force', ], ], ], 'DeleteOTAUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'otaUpdateId', ], 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', 'location' => 'uri', 'locationName' => 'otaUpdateId', ], 'deleteStream' => [ 'shape' => 'DeleteStream', 'location' => 'querystring', 'locationName' => 'deleteStream', ], 'forceDeleteAWSJob' => [ 'shape' => 'ForceDeleteAWSJob', 'location' => 'querystring', 'locationName' => 'forceDeleteAWSJob', ], ], ], 'DeleteOTAUpdateResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], ], ], 'DeletePolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'policyVersionId', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', 'location' => 'uri', 'locationName' => 'policyVersionId', ], ], ], 'DeleteRegistrationCodeRequest' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRegistrationCodeResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRoleAliasRequest' => [ 'type' => 'structure', 'required' => [ 'roleAlias', ], 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', 'location' => 'uri', 'locationName' => 'roleAlias', ], ], ], 'DeleteRoleAliasResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteScheduledAuditRequest' => [ 'type' => 'structure', 'required' => [ 'scheduledAuditName', ], 'members' => [ 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'DeleteScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteScheduledAudits' => [ 'type' => 'boolean', ], 'DeleteSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'DeleteSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteStream' => [ 'type' => 'boolean', ], 'DeleteStreamRequest' => [ 'type' => 'structure', 'required' => [ 'streamId', ], 'members' => [ 'streamId' => [ 'shape' => 'StreamId', 'location' => 'uri', 'locationName' => 'streamId', ], ], ], 'DeleteStreamResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'DeleteThingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'DeleteThingResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteThingTypeRequest' => [ 'type' => 'structure', 'required' => [ 'thingTypeName', ], 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'uri', 'locationName' => 'thingTypeName', ], ], ], 'DeleteThingTypeResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], ], ], 'DeleteV2LoggingLevelRequest' => [ 'type' => 'structure', 'required' => [ 'targetType', 'targetName', ], 'members' => [ 'targetType' => [ 'shape' => 'LogTargetType', 'location' => 'querystring', 'locationName' => 'targetType', ], 'targetName' => [ 'shape' => 'LogTargetName', 'location' => 'querystring', 'locationName' => 'targetName', ], ], ], 'DeliveryStreamName' => [ 'type' => 'string', ], 'Denied' => [ 'type' => 'structure', 'members' => [ 'implicitDeny' => [ 'shape' => 'ImplicitDeny', ], 'explicitDeny' => [ 'shape' => 'ExplicitDeny', ], ], ], 'DeprecateThingTypeRequest' => [ 'type' => 'structure', 'required' => [ 'thingTypeName', ], 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'uri', 'locationName' => 'thingTypeName', ], 'undoDeprecate' => [ 'shape' => 'UndoDeprecate', ], ], ], 'DeprecateThingTypeResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeprecationDate' => [ 'type' => 'timestamp', ], 'DescribeAccountAuditConfigurationRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountAuditConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'RoleArn', ], 'auditNotificationTargetConfigurations' => [ 'shape' => 'AuditNotificationTargetConfigurations', ], 'auditCheckConfigurations' => [ 'shape' => 'AuditCheckConfigurations', ], ], ], 'DescribeAuditTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', 'location' => 'uri', 'locationName' => 'taskId', ], ], ], 'DescribeAuditTaskResponse' => [ 'type' => 'structure', 'members' => [ 'taskStatus' => [ 'shape' => 'AuditTaskStatus', ], 'taskType' => [ 'shape' => 'AuditTaskType', ], 'taskStartTime' => [ 'shape' => 'Timestamp', ], 'taskStatistics' => [ 'shape' => 'TaskStatistics', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', ], 'auditDetails' => [ 'shape' => 'AuditDetails', ], ], ], 'DescribeAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], ], ], 'DescribeAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'authorizerDescription' => [ 'shape' => 'AuthorizerDescription', ], ], ], 'DescribeBillingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'billingGroupName', ], 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', 'location' => 'uri', 'locationName' => 'billingGroupName', ], ], ], 'DescribeBillingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], 'billingGroupId' => [ 'shape' => 'BillingGroupId', ], 'billingGroupArn' => [ 'shape' => 'BillingGroupArn', ], 'version' => [ 'shape' => 'Version', ], 'billingGroupProperties' => [ 'shape' => 'BillingGroupProperties', ], 'billingGroupMetadata' => [ 'shape' => 'BillingGroupMetadata', ], ], ], 'DescribeCACertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'caCertificateId', ], ], ], 'DescribeCACertificateResponse' => [ 'type' => 'structure', 'members' => [ 'certificateDescription' => [ 'shape' => 'CACertificateDescription', ], 'registrationConfig' => [ 'shape' => 'RegistrationConfig', ], ], ], 'DescribeCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], ], ], 'DescribeCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'certificateDescription' => [ 'shape' => 'CertificateDescription', ], ], ], 'DescribeDefaultAuthorizerRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeDefaultAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'authorizerDescription' => [ 'shape' => 'AuthorizerDescription', ], ], ], 'DescribeEndpointRequest' => [ 'type' => 'structure', 'members' => [ 'endpointType' => [ 'shape' => 'EndpointType', 'location' => 'querystring', 'locationName' => 'endpointType', ], ], ], 'DescribeEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'endpointAddress' => [ 'shape' => 'EndpointAddress', ], ], ], 'DescribeEventConfigurationsRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEventConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'eventConfigurations' => [ 'shape' => 'EventConfigurations', ], 'creationDate' => [ 'shape' => 'CreationDate', ], 'lastModifiedDate' => [ 'shape' => 'LastModifiedDate', ], ], ], 'DescribeIndexRequest' => [ 'type' => 'structure', 'required' => [ 'indexName', ], 'members' => [ 'indexName' => [ 'shape' => 'IndexName', 'location' => 'uri', 'locationName' => 'indexName', ], ], ], 'DescribeIndexResponse' => [ 'type' => 'structure', 'members' => [ 'indexName' => [ 'shape' => 'IndexName', ], 'indexStatus' => [ 'shape' => 'IndexStatus', ], 'schema' => [ 'shape' => 'IndexSchema', ], ], ], 'DescribeJobExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', 'thingName', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', 'location' => 'querystring', 'locationName' => 'executionNumber', ], ], ], 'DescribeJobExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'execution' => [ 'shape' => 'JobExecution', ], ], ], 'DescribeJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'DescribeJobResponse' => [ 'type' => 'structure', 'members' => [ 'documentSource' => [ 'shape' => 'JobDocumentSource', ], 'job' => [ 'shape' => 'Job', ], ], ], 'DescribeRoleAliasRequest' => [ 'type' => 'structure', 'required' => [ 'roleAlias', ], 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', 'location' => 'uri', 'locationName' => 'roleAlias', ], ], ], 'DescribeRoleAliasResponse' => [ 'type' => 'structure', 'members' => [ 'roleAliasDescription' => [ 'shape' => 'RoleAliasDescription', ], ], ], 'DescribeScheduledAuditRequest' => [ 'type' => 'structure', 'required' => [ 'scheduledAuditName', ], 'members' => [ 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'DescribeScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [ 'frequency' => [ 'shape' => 'AuditFrequency', ], 'dayOfMonth' => [ 'shape' => 'DayOfMonth', ], 'dayOfWeek' => [ 'shape' => 'DayOfWeek', ], 'targetCheckNames' => [ 'shape' => 'TargetAuditCheckNames', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', ], 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], ], ], 'DescribeSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], ], ], 'DescribeSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', ], 'securityProfileArn' => [ 'shape' => 'SecurityProfileArn', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], 'additionalMetricsToRetain' => [ 'shape' => 'AdditionalMetricsToRetainList', ], 'version' => [ 'shape' => 'Version', ], 'creationDate' => [ 'shape' => 'Timestamp', ], 'lastModifiedDate' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeStreamRequest' => [ 'type' => 'structure', 'required' => [ 'streamId', ], 'members' => [ 'streamId' => [ 'shape' => 'StreamId', 'location' => 'uri', 'locationName' => 'streamId', ], ], ], 'DescribeStreamResponse' => [ 'type' => 'structure', 'members' => [ 'streamInfo' => [ 'shape' => 'StreamInfo', ], ], ], 'DescribeThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], ], ], 'DescribeThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'version' => [ 'shape' => 'Version', ], 'thingGroupProperties' => [ 'shape' => 'ThingGroupProperties', ], 'thingGroupMetadata' => [ 'shape' => 'ThingGroupMetadata', ], 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], 'status' => [ 'shape' => 'DynamicGroupStatus', ], ], ], 'DescribeThingRegistrationTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'TaskId', 'location' => 'uri', 'locationName' => 'taskId', ], ], ], 'DescribeThingRegistrationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'TaskId', ], 'creationDate' => [ 'shape' => 'CreationDate', ], 'lastModifiedDate' => [ 'shape' => 'LastModifiedDate', ], 'templateBody' => [ 'shape' => 'TemplateBody', ], 'inputFileBucket' => [ 'shape' => 'RegistryS3BucketName', ], 'inputFileKey' => [ 'shape' => 'RegistryS3KeyName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'status' => [ 'shape' => 'Status', ], 'message' => [ 'shape' => 'ErrorMessage', ], 'successCount' => [ 'shape' => 'Count', ], 'failureCount' => [ 'shape' => 'Count', ], 'percentageProgress' => [ 'shape' => 'Percentage', ], ], ], 'DescribeThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], ], ], 'DescribeThingResponse' => [ 'type' => 'structure', 'members' => [ 'defaultClientId' => [ 'shape' => 'ClientId', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingId' => [ 'shape' => 'ThingId', ], 'thingArn' => [ 'shape' => 'ThingArn', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'attributes' => [ 'shape' => 'Attributes', ], 'version' => [ 'shape' => 'Version', ], 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], ], ], 'DescribeThingTypeRequest' => [ 'type' => 'structure', 'required' => [ 'thingTypeName', ], 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'uri', 'locationName' => 'thingTypeName', ], ], ], 'DescribeThingTypeResponse' => [ 'type' => 'structure', 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingTypeId' => [ 'shape' => 'ThingTypeId', ], 'thingTypeArn' => [ 'shape' => 'ThingTypeArn', ], 'thingTypeProperties' => [ 'shape' => 'ThingTypeProperties', ], 'thingTypeMetadata' => [ 'shape' => 'ThingTypeMetadata', ], ], ], 'Description' => [ 'type' => 'string', ], 'Destination' => [ 'type' => 'structure', 'members' => [ 's3Destination' => [ 'shape' => 'S3Destination', ], ], ], 'DetachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'target', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'target' => [ 'shape' => 'PolicyTarget', ], ], ], 'DetachPrincipalPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'principal', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-iot-principal', ], ], ], 'DetachSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', 'securityProfileTargetArn', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileTargetArn' => [ 'shape' => 'SecurityProfileTargetArn', 'location' => 'querystring', 'locationName' => 'securityProfileTargetArn', ], ], ], 'DetachSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetachThingPrincipalRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', 'principal', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-principal', ], ], ], 'DetachThingPrincipalResponse' => [ 'type' => 'structure', 'members' => [], ], 'DetailsKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'DetailsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DetailsKey', ], 'value' => [ 'shape' => 'DetailsValue', ], ], 'DetailsValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[^\\p{C}]*+', ], 'DisableAllLogs' => [ 'type' => 'boolean', ], 'DisableTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], ], ], 'DurationSeconds' => [ 'type' => 'integer', ], 'DynamicGroupStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'BUILDING', 'REBUILDING', ], ], 'DynamoDBAction' => [ 'type' => 'structure', 'required' => [ 'tableName', 'roleArn', 'hashKeyField', 'hashKeyValue', ], 'members' => [ 'tableName' => [ 'shape' => 'TableName', ], 'roleArn' => [ 'shape' => 'AwsArn', ], 'operation' => [ 'shape' => 'DynamoOperation', ], 'hashKeyField' => [ 'shape' => 'HashKeyField', ], 'hashKeyValue' => [ 'shape' => 'HashKeyValue', ], 'hashKeyType' => [ 'shape' => 'DynamoKeyType', ], 'rangeKeyField' => [ 'shape' => 'RangeKeyField', ], 'rangeKeyValue' => [ 'shape' => 'RangeKeyValue', ], 'rangeKeyType' => [ 'shape' => 'DynamoKeyType', ], 'payloadField' => [ 'shape' => 'PayloadField', ], ], ], 'DynamoDBv2Action' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'putItem', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'putItem' => [ 'shape' => 'PutItemInput', ], ], ], 'DynamoKeyType' => [ 'type' => 'string', 'enum' => [ 'STRING', 'NUMBER', ], ], 'DynamoOperation' => [ 'type' => 'string', ], 'EffectivePolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'EffectivePolicy', ], ], 'EffectivePolicy' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyArn' => [ 'shape' => 'PolicyArn', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], ], ], 'ElasticsearchAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'endpoint', 'index', 'type', 'id', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'endpoint' => [ 'shape' => 'ElasticsearchEndpoint', ], 'index' => [ 'shape' => 'ElasticsearchIndex', ], 'type' => [ 'shape' => 'ElasticsearchType', ], 'id' => [ 'shape' => 'ElasticsearchId', ], ], ], 'ElasticsearchEndpoint' => [ 'type' => 'string', 'pattern' => 'https?://.*', ], 'ElasticsearchId' => [ 'type' => 'string', ], 'ElasticsearchIndex' => [ 'type' => 'string', ], 'ElasticsearchType' => [ 'type' => 'string', ], 'EnableTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], ], ], 'Enabled' => [ 'type' => 'boolean', ], 'EndpointAddress' => [ 'type' => 'string', ], 'EndpointType' => [ 'type' => 'string', ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorInfo' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'OTAUpdateErrorMessage', ], ], ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 2048, ], 'EvaluationStatistic' => [ 'type' => 'string', 'pattern' => '(p0|p0\\.1|p0\\.01|p1|p10|p50|p90|p99|p99\\.9|p99\\.99|p100)', ], 'EventConfigurations' => [ 'type' => 'map', 'key' => [ 'shape' => 'EventType', ], 'value' => [ 'shape' => 'Configuration', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'THING', 'THING_GROUP', 'THING_TYPE', 'THING_GROUP_MEMBERSHIP', 'THING_GROUP_HIERARCHY', 'THING_TYPE_ASSOCIATION', 'JOB', 'JOB_EXECUTION', 'POLICY', 'CERTIFICATE', 'CA_CERTIFICATE', ], ], 'ExecutionNamePrefix' => [ 'type' => 'string', ], 'ExecutionNumber' => [ 'type' => 'long', ], 'ExpectedVersion' => [ 'type' => 'long', ], 'ExpiresInSec' => [ 'type' => 'long', 'max' => 3600, 'min' => 60, ], 'ExplicitDeny' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], ], ], 'ExponentialRolloutRate' => [ 'type' => 'structure', 'required' => [ 'baseRatePerMinute', 'incrementFactor', 'rateIncreaseCriteria', ], 'members' => [ 'baseRatePerMinute' => [ 'shape' => 'RolloutRatePerMinute', ], 'incrementFactor' => [ 'shape' => 'IncrementFactor', ], 'rateIncreaseCriteria' => [ 'shape' => 'RateIncreaseCriteria', ], ], ], 'FailedChecksCount' => [ 'type' => 'integer', ], 'FailedThings' => [ 'type' => 'integer', ], 'FileId' => [ 'type' => 'integer', 'max' => 255, 'min' => 0, ], 'FileLocation' => [ 'type' => 'structure', 'members' => [ 'stream' => [ 'shape' => 'Stream', ], 's3Location' => [ 'shape' => 'S3Location', ], ], ], 'FileName' => [ 'type' => 'string', ], 'FirehoseAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'deliveryStreamName', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'deliveryStreamName' => [ 'shape' => 'DeliveryStreamName', ], 'separator' => [ 'shape' => 'FirehoseSeparator', ], ], ], 'FirehoseSeparator' => [ 'type' => 'string', 'pattern' => '([\\n\\t])|(\\r\\n)|(,)', ], 'Flag' => [ 'type' => 'boolean', ], 'ForceDelete' => [ 'type' => 'boolean', ], 'ForceDeleteAWSJob' => [ 'type' => 'boolean', ], 'ForceFlag' => [ 'type' => 'boolean', ], 'Forced' => [ 'type' => 'boolean', ], 'FunctionArn' => [ 'type' => 'string', ], 'GEMaxResults' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'GenerationId' => [ 'type' => 'string', ], 'GetEffectivePoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'principal' => [ 'shape' => 'Principal', ], 'cognitoIdentityPoolId' => [ 'shape' => 'CognitoIdentityPoolId', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'querystring', 'locationName' => 'thingName', ], ], ], 'GetEffectivePoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'effectivePolicies' => [ 'shape' => 'EffectivePolicies', ], ], ], 'GetIndexingConfigurationRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetIndexingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'thingIndexingConfiguration' => [ 'shape' => 'ThingIndexingConfiguration', ], 'thingGroupIndexingConfiguration' => [ 'shape' => 'ThingGroupIndexingConfiguration', ], ], ], 'GetJobDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'GetJobDocumentResponse' => [ 'type' => 'structure', 'members' => [ 'document' => [ 'shape' => 'JobDocument', ], ], ], 'GetLoggingOptionsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetLoggingOptionsResponse' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'logLevel' => [ 'shape' => 'LogLevel', ], ], ], 'GetOTAUpdateRequest' => [ 'type' => 'structure', 'required' => [ 'otaUpdateId', ], 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', 'location' => 'uri', 'locationName' => 'otaUpdateId', ], ], ], 'GetOTAUpdateResponse' => [ 'type' => 'structure', 'members' => [ 'otaUpdateInfo' => [ 'shape' => 'OTAUpdateInfo', ], ], ], 'GetPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], ], ], 'GetPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyArn' => [ 'shape' => 'PolicyArn', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'defaultVersionId' => [ 'shape' => 'PolicyVersionId', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], 'generationId' => [ 'shape' => 'GenerationId', ], ], ], 'GetPolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'policyVersionId', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', 'location' => 'uri', 'locationName' => 'policyVersionId', ], ], ], 'GetPolicyVersionResponse' => [ 'type' => 'structure', 'members' => [ 'policyArn' => [ 'shape' => 'PolicyArn', ], 'policyName' => [ 'shape' => 'PolicyName', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', ], 'isDefaultVersion' => [ 'shape' => 'IsDefaultVersion', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], 'generationId' => [ 'shape' => 'GenerationId', ], ], ], 'GetRegistrationCodeRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetRegistrationCodeResponse' => [ 'type' => 'structure', 'members' => [ 'registrationCode' => [ 'shape' => 'RegistrationCode', ], ], ], 'GetStatisticsRequest' => [ 'type' => 'structure', 'required' => [ 'queryString', ], 'members' => [ 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'aggregationField' => [ 'shape' => 'AggregationField', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], ], ], 'GetStatisticsResponse' => [ 'type' => 'structure', 'members' => [ 'statistics' => [ 'shape' => 'Statistics', ], ], ], 'GetTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], ], ], 'GetTopicRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ruleArn' => [ 'shape' => 'RuleArn', ], 'rule' => [ 'shape' => 'TopicRule', ], ], ], 'GetV2LoggingOptionsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetV2LoggingOptionsResponse' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'defaultLogLevel' => [ 'shape' => 'LogLevel', ], 'disableAllLogs' => [ 'shape' => 'DisableAllLogs', ], ], ], 'GroupNameAndArn' => [ 'type' => 'structure', 'members' => [ 'groupName' => [ 'shape' => 'ThingGroupName', ], 'groupArn' => [ 'shape' => 'ThingGroupArn', ], ], ], 'HashAlgorithm' => [ 'type' => 'string', ], 'HashKeyField' => [ 'type' => 'string', ], 'HashKeyValue' => [ 'type' => 'string', ], 'ImplicitDeny' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], ], ], 'InProgressChecksCount' => [ 'type' => 'integer', ], 'InProgressThings' => [ 'type' => 'integer', ], 'InProgressTimeoutInMinutes' => [ 'type' => 'long', ], 'IncrementFactor' => [ 'type' => 'double', 'max' => 5, 'min' => 1, ], 'IndexName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'IndexNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IndexName', ], ], 'IndexNotReadyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IndexSchema' => [ 'type' => 'string', ], 'IndexStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'BUILDING', 'REBUILDING', ], ], 'InlineDocument' => [ 'type' => 'string', ], 'InputName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'InternalException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidAggregationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidQueryException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResponseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidStateTransitionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'IotAnalyticsAction' => [ 'type' => 'structure', 'members' => [ 'channelArn' => [ 'shape' => 'AwsArn', ], 'channelName' => [ 'shape' => 'ChannelName', ], 'roleArn' => [ 'shape' => 'AwsArn', ], ], ], 'IotEventsAction' => [ 'type' => 'structure', 'required' => [ 'inputName', 'roleArn', ], 'members' => [ 'inputName' => [ 'shape' => 'InputName', ], 'messageId' => [ 'shape' => 'MessageId', ], 'roleArn' => [ 'shape' => 'AwsArn', ], ], ], 'IsAuthenticated' => [ 'type' => 'boolean', ], 'IsDefaultVersion' => [ 'type' => 'boolean', ], 'IsDisabled' => [ 'type' => 'boolean', ], 'Job' => [ 'type' => 'structure', 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'targetSelection' => [ 'shape' => 'TargetSelection', ], 'status' => [ 'shape' => 'JobStatus', ], 'forceCanceled' => [ 'shape' => 'Forced', ], 'reasonCode' => [ 'shape' => 'ReasonCode', ], 'comment' => [ 'shape' => 'Comment', ], 'targets' => [ 'shape' => 'JobTargets', ], 'description' => [ 'shape' => 'JobDescription', ], 'presignedUrlConfig' => [ 'shape' => 'PresignedUrlConfig', ], 'jobExecutionsRolloutConfig' => [ 'shape' => 'JobExecutionsRolloutConfig', ], 'abortConfig' => [ 'shape' => 'AbortConfig', ], 'createdAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'completedAt' => [ 'shape' => 'DateType', ], 'jobProcessDetails' => [ 'shape' => 'JobProcessDetails', ], 'timeoutConfig' => [ 'shape' => 'TimeoutConfig', ], ], ], 'JobArn' => [ 'type' => 'string', ], 'JobDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[^\\p{C}]+', ], 'JobDocument' => [ 'type' => 'string', 'max' => 32768, ], 'JobDocumentSource' => [ 'type' => 'string', 'max' => 1350, 'min' => 1, ], 'JobExecution' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'status' => [ 'shape' => 'JobExecutionStatus', ], 'forceCanceled' => [ 'shape' => 'Forced', ], 'statusDetails' => [ 'shape' => 'JobExecutionStatusDetails', ], 'thingArn' => [ 'shape' => 'ThingArn', ], 'queuedAt' => [ 'shape' => 'DateType', ], 'startedAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', ], 'versionNumber' => [ 'shape' => 'VersionNumber', ], 'approximateSecondsBeforeTimedOut' => [ 'shape' => 'ApproximateSecondsBeforeTimedOut', ], ], ], 'JobExecutionFailureType' => [ 'type' => 'string', 'enum' => [ 'FAILED', 'REJECTED', 'TIMED_OUT', 'ALL', ], ], 'JobExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'QUEUED', 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', 'TIMED_OUT', 'REJECTED', 'REMOVED', 'CANCELED', ], ], 'JobExecutionStatusDetails' => [ 'type' => 'structure', 'members' => [ 'detailsMap' => [ 'shape' => 'DetailsMap', ], ], ], 'JobExecutionSummary' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'JobExecutionStatus', ], 'queuedAt' => [ 'shape' => 'DateType', ], 'startedAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'executionNumber' => [ 'shape' => 'ExecutionNumber', ], ], ], 'JobExecutionSummaryForJob' => [ 'type' => 'structure', 'members' => [ 'thingArn' => [ 'shape' => 'ThingArn', ], 'jobExecutionSummary' => [ 'shape' => 'JobExecutionSummary', ], ], ], 'JobExecutionSummaryForJobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobExecutionSummaryForJob', ], ], 'JobExecutionSummaryForThing' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'jobExecutionSummary' => [ 'shape' => 'JobExecutionSummary', ], ], ], 'JobExecutionSummaryForThingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobExecutionSummaryForThing', ], ], 'JobExecutionsRolloutConfig' => [ 'type' => 'structure', 'members' => [ 'maximumPerMinute' => [ 'shape' => 'MaxJobExecutionsPerMin', ], 'exponentialRate' => [ 'shape' => 'ExponentialRolloutRate', ], ], ], 'JobId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'JobProcessDetails' => [ 'type' => 'structure', 'members' => [ 'processingTargets' => [ 'shape' => 'ProcessingTargetNameList', ], 'numberOfCanceledThings' => [ 'shape' => 'CanceledThings', ], 'numberOfSucceededThings' => [ 'shape' => 'SucceededThings', ], 'numberOfFailedThings' => [ 'shape' => 'FailedThings', ], 'numberOfRejectedThings' => [ 'shape' => 'RejectedThings', ], 'numberOfQueuedThings' => [ 'shape' => 'QueuedThings', ], 'numberOfInProgressThings' => [ 'shape' => 'InProgressThings', ], 'numberOfRemovedThings' => [ 'shape' => 'RemovedThings', ], 'numberOfTimedOutThings' => [ 'shape' => 'TimedOutThings', ], ], ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'CANCELED', 'COMPLETED', 'DELETION_IN_PROGRESS', ], ], 'JobSummary' => [ 'type' => 'structure', 'members' => [ 'jobArn' => [ 'shape' => 'JobArn', ], 'jobId' => [ 'shape' => 'JobId', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', ], 'targetSelection' => [ 'shape' => 'TargetSelection', ], 'status' => [ 'shape' => 'JobStatus', ], 'createdAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'completedAt' => [ 'shape' => 'DateType', ], ], ], 'JobSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobSummary', ], ], 'JobTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetArn', ], 'min' => 1, ], 'JsonDocument' => [ 'type' => 'string', ], 'Key' => [ 'type' => 'string', ], 'KeyName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'PublicKey' => [ 'shape' => 'PublicKey', ], 'PrivateKey' => [ 'shape' => 'PrivateKey', ], ], ], 'KeyValue' => [ 'type' => 'string', 'max' => 5120, ], 'KinesisAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'streamName', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'streamName' => [ 'shape' => 'StreamName', ], 'partitionKey' => [ 'shape' => 'PartitionKey', ], ], ], 'LambdaAction' => [ 'type' => 'structure', 'required' => [ 'functionArn', ], 'members' => [ 'functionArn' => [ 'shape' => 'FunctionArn', ], ], ], 'LaserMaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'LastModifiedDate' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 410, ], 'exception' => true, ], 'ListActiveViolationsRequest' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'querystring', 'locationName' => 'thingName', ], 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'querystring', 'locationName' => 'securityProfileName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListActiveViolationsResponse' => [ 'type' => 'structure', 'members' => [ 'activeViolations' => [ 'shape' => 'ActiveViolations', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAttachedPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'target', ], 'members' => [ 'target' => [ 'shape' => 'PolicyTarget', 'location' => 'uri', 'locationName' => 'target', ], 'recursive' => [ 'shape' => 'Recursive', 'location' => 'querystring', 'locationName' => 'recursive', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], ], ], 'ListAttachedPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListAuditFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', ], 'checkName' => [ 'shape' => 'AuditCheckName', ], 'resourceIdentifier' => [ 'shape' => 'ResourceIdentifier', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], ], ], 'ListAuditFindingsResponse' => [ 'type' => 'structure', 'members' => [ 'findings' => [ 'shape' => 'AuditFindings', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAuditTasksRequest' => [ 'type' => 'structure', 'required' => [ 'startTime', 'endTime', ], 'members' => [ 'startTime' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'startTime', ], 'endTime' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'endTime', ], 'taskType' => [ 'shape' => 'AuditTaskType', 'location' => 'querystring', 'locationName' => 'taskType', ], 'taskStatus' => [ 'shape' => 'AuditTaskStatus', 'location' => 'querystring', 'locationName' => 'taskStatus', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListAuditTasksResponse' => [ 'type' => 'structure', 'members' => [ 'tasks' => [ 'shape' => 'AuditTaskMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAuthorizersRequest' => [ 'type' => 'structure', 'members' => [ 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], 'status' => [ 'shape' => 'AuthorizerStatus', 'location' => 'querystring', 'locationName' => 'status', ], ], ], 'ListAuthorizersResponse' => [ 'type' => 'structure', 'members' => [ 'authorizers' => [ 'shape' => 'Authorizers', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListBillingGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'namePrefixFilter' => [ 'shape' => 'BillingGroupName', 'location' => 'querystring', 'locationName' => 'namePrefixFilter', ], ], ], 'ListBillingGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'billingGroups' => [ 'shape' => 'BillingGroupNameAndArnList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCACertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListCACertificatesResponse' => [ 'type' => 'structure', 'members' => [ 'certificates' => [ 'shape' => 'CACertificates', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListCertificatesByCARequest' => [ 'type' => 'structure', 'required' => [ 'caCertificateId', ], 'members' => [ 'caCertificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'caCertificateId', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListCertificatesByCAResponse' => [ 'type' => 'structure', 'members' => [ 'certificates' => [ 'shape' => 'Certificates', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListCertificatesResponse' => [ 'type' => 'structure', 'members' => [ 'certificates' => [ 'shape' => 'Certificates', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListIndicesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'QueryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListIndicesResponse' => [ 'type' => 'structure', 'members' => [ 'indexNames' => [ 'shape' => 'IndexNamesList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListJobExecutionsForJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'status' => [ 'shape' => 'JobExecutionStatus', 'location' => 'querystring', 'locationName' => 'status', ], 'maxResults' => [ 'shape' => 'LaserMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListJobExecutionsForJobResponse' => [ 'type' => 'structure', 'members' => [ 'executionSummaries' => [ 'shape' => 'JobExecutionSummaryForJobList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListJobExecutionsForThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'status' => [ 'shape' => 'JobExecutionStatus', 'location' => 'querystring', 'locationName' => 'status', ], 'maxResults' => [ 'shape' => 'LaserMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListJobExecutionsForThingResponse' => [ 'type' => 'structure', 'members' => [ 'executionSummaries' => [ 'shape' => 'JobExecutionSummaryForThingList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'JobStatus', 'location' => 'querystring', 'locationName' => 'status', ], 'targetSelection' => [ 'shape' => 'TargetSelection', 'location' => 'querystring', 'locationName' => 'targetSelection', ], 'maxResults' => [ 'shape' => 'LaserMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'querystring', 'locationName' => 'thingGroupName', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', 'location' => 'querystring', 'locationName' => 'thingGroupId', ], ], ], 'ListJobsResponse' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'JobSummaryList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOTAUpdatesRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'otaUpdateStatus' => [ 'shape' => 'OTAUpdateStatus', 'location' => 'querystring', 'locationName' => 'otaUpdateStatus', ], ], ], 'ListOTAUpdatesResponse' => [ 'type' => 'structure', 'members' => [ 'otaUpdates' => [ 'shape' => 'OTAUpdatesSummary', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOutgoingCertificatesRequest' => [ 'type' => 'structure', 'members' => [ 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListOutgoingCertificatesResponse' => [ 'type' => 'structure', 'members' => [ 'outgoingCertificates' => [ 'shape' => 'OutgoingCertificates', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListPoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListPolicyPrincipalsRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'header', 'locationName' => 'x-amzn-iot-policy', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListPolicyPrincipalsResponse' => [ 'type' => 'structure', 'members' => [ 'principals' => [ 'shape' => 'Principals', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListPolicyVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], ], ], 'ListPolicyVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'policyVersions' => [ 'shape' => 'PolicyVersions', ], ], ], 'ListPrincipalPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'principal', ], 'members' => [ 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-iot-principal', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListPrincipalPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'Policies', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListPrincipalThingsRequest' => [ 'type' => 'structure', 'required' => [ 'principal', ], 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'principal' => [ 'shape' => 'Principal', 'location' => 'header', 'locationName' => 'x-amzn-principal', ], ], ], 'ListPrincipalThingsResponse' => [ 'type' => 'structure', 'members' => [ 'things' => [ 'shape' => 'ThingNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListRoleAliasesRequest' => [ 'type' => 'structure', 'members' => [ 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListRoleAliasesResponse' => [ 'type' => 'structure', 'members' => [ 'roleAliases' => [ 'shape' => 'RoleAliases', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListScheduledAuditsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListScheduledAuditsResponse' => [ 'type' => 'structure', 'members' => [ 'scheduledAudits' => [ 'shape' => 'ScheduledAuditMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSecurityProfilesForTargetRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileTargetArn', ], 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'recursive' => [ 'shape' => 'Recursive', 'location' => 'querystring', 'locationName' => 'recursive', ], 'securityProfileTargetArn' => [ 'shape' => 'SecurityProfileTargetArn', 'location' => 'querystring', 'locationName' => 'securityProfileTargetArn', ], ], ], 'ListSecurityProfilesForTargetResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileTargetMappings' => [ 'shape' => 'SecurityProfileTargetMappings', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSecurityProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListSecurityProfilesResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileIdentifiers' => [ 'shape' => 'SecurityProfileIdentifiers', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStreamsRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'ascendingOrder' => [ 'shape' => 'AscendingOrder', 'location' => 'querystring', 'locationName' => 'isAscendingOrder', ], ], ], 'ListStreamsResponse' => [ 'type' => 'structure', 'members' => [ 'streams' => [ 'shape' => 'StreamsSummary', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTargetsForPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'pageSize' => [ 'shape' => 'PageSize', 'location' => 'querystring', 'locationName' => 'pageSize', ], ], ], 'ListTargetsForPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'targets' => [ 'shape' => 'PolicyTargets', ], 'nextMarker' => [ 'shape' => 'Marker', ], ], ], 'ListTargetsForSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListTargetsForSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileTargets' => [ 'shape' => 'SecurityProfileTargets', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingGroupsForThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListThingGroupsForThingResponse' => [ 'type' => 'structure', 'members' => [ 'thingGroups' => [ 'shape' => 'ThingGroupNameAndArnList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'parentGroup' => [ 'shape' => 'ThingGroupName', 'location' => 'querystring', 'locationName' => 'parentGroup', ], 'namePrefixFilter' => [ 'shape' => 'ThingGroupName', 'location' => 'querystring', 'locationName' => 'namePrefixFilter', ], 'recursive' => [ 'shape' => 'RecursiveWithoutDefault', 'location' => 'querystring', 'locationName' => 'recursive', ], ], ], 'ListThingGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'thingGroups' => [ 'shape' => 'ThingGroupNameAndArnList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingPrincipalsRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], ], ], 'ListThingPrincipalsResponse' => [ 'type' => 'structure', 'members' => [ 'principals' => [ 'shape' => 'Principals', ], ], ], 'ListThingRegistrationTaskReportsRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', 'reportType', ], 'members' => [ 'taskId' => [ 'shape' => 'TaskId', 'location' => 'uri', 'locationName' => 'taskId', ], 'reportType' => [ 'shape' => 'ReportType', 'location' => 'querystring', 'locationName' => 'reportType', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListThingRegistrationTaskReportsResponse' => [ 'type' => 'structure', 'members' => [ 'resourceLinks' => [ 'shape' => 'S3FileUrlList', ], 'reportType' => [ 'shape' => 'ReportType', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingRegistrationTasksRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'status' => [ 'shape' => 'Status', 'location' => 'querystring', 'locationName' => 'status', ], ], ], 'ListThingRegistrationTasksResponse' => [ 'type' => 'structure', 'members' => [ 'taskIds' => [ 'shape' => 'TaskIdList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingTypesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'querystring', 'locationName' => 'thingTypeName', ], ], ], 'ListThingTypesResponse' => [ 'type' => 'structure', 'members' => [ 'thingTypes' => [ 'shape' => 'ThingTypeList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingsInBillingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'billingGroupName', ], 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', 'location' => 'uri', 'locationName' => 'billingGroupName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListThingsInBillingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'things' => [ 'shape' => 'ThingNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingsInThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'recursive' => [ 'shape' => 'Recursive', 'location' => 'querystring', 'locationName' => 'recursive', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListThingsInThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'things' => [ 'shape' => 'ThingNameList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListThingsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'RegistryMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'attributeName' => [ 'shape' => 'AttributeName', 'location' => 'querystring', 'locationName' => 'attributeName', ], 'attributeValue' => [ 'shape' => 'AttributeValue', 'location' => 'querystring', 'locationName' => 'attributeValue', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', 'location' => 'querystring', 'locationName' => 'thingTypeName', ], ], ], 'ListThingsResponse' => [ 'type' => 'structure', 'members' => [ 'things' => [ 'shape' => 'ThingAttributeList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTopicRulesRequest' => [ 'type' => 'structure', 'members' => [ 'topic' => [ 'shape' => 'Topic', 'location' => 'querystring', 'locationName' => 'topic', ], 'maxResults' => [ 'shape' => 'GEMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'ruleDisabled' => [ 'shape' => 'IsDisabled', 'location' => 'querystring', 'locationName' => 'ruleDisabled', ], ], ], 'ListTopicRulesResponse' => [ 'type' => 'structure', 'members' => [ 'rules' => [ 'shape' => 'TopicRuleList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListV2LoggingLevelsRequest' => [ 'type' => 'structure', 'members' => [ 'targetType' => [ 'shape' => 'LogTargetType', 'location' => 'querystring', 'locationName' => 'targetType', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'SkyfallMaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListV2LoggingLevelsResponse' => [ 'type' => 'structure', 'members' => [ 'logTargetConfigurations' => [ 'shape' => 'LogTargetConfigurations', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListViolationEventsRequest' => [ 'type' => 'structure', 'required' => [ 'startTime', 'endTime', ], 'members' => [ 'startTime' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'startTime', ], 'endTime' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'endTime', ], 'thingName' => [ 'shape' => 'ThingName', 'location' => 'querystring', 'locationName' => 'thingName', ], 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'querystring', 'locationName' => 'securityProfileName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListViolationEventsResponse' => [ 'type' => 'structure', 'members' => [ 'violationEvents' => [ 'shape' => 'ViolationEvents', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'LogLevel' => [ 'type' => 'string', 'enum' => [ 'DEBUG', 'INFO', 'ERROR', 'WARN', 'DISABLED', ], ], 'LogTarget' => [ 'type' => 'structure', 'required' => [ 'targetType', ], 'members' => [ 'targetType' => [ 'shape' => 'LogTargetType', ], 'targetName' => [ 'shape' => 'LogTargetName', ], ], ], 'LogTargetConfiguration' => [ 'type' => 'structure', 'members' => [ 'logTarget' => [ 'shape' => 'LogTarget', ], 'logLevel' => [ 'shape' => 'LogLevel', ], ], ], 'LogTargetConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogTargetConfiguration', ], ], 'LogTargetName' => [ 'type' => 'string', ], 'LogTargetType' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'THING_GROUP', ], ], 'LoggingOptionsPayload' => [ 'type' => 'structure', 'required' => [ 'roleArn', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'logLevel' => [ 'shape' => 'LogLevel', ], ], ], 'MalformedPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Marker' => [ 'type' => 'string', 'pattern' => '[A-Za-z0-9+/]+={0,2}', ], 'MaxJobExecutionsPerMin' => [ 'type' => 'integer', 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'MaximumPerMinute' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Message' => [ 'type' => 'string', 'max' => 128, ], 'MessageFormat' => [ 'type' => 'string', 'enum' => [ 'RAW', 'JSON', ], ], 'MessageId' => [ 'type' => 'string', 'max' => 128, ], 'MetricValue' => [ 'type' => 'structure', 'members' => [ 'count' => [ 'shape' => 'UnsignedLong', ], 'cidrs' => [ 'shape' => 'Cidrs', ], 'ports' => [ 'shape' => 'Ports', ], ], ], 'MinimumNumberOfExecutedThings' => [ 'type' => 'integer', 'min' => 1, ], 'MissingContextValue' => [ 'type' => 'string', ], 'MissingContextValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'MissingContextValue', ], ], 'NextToken' => [ 'type' => 'string', ], 'NonCompliantChecksCount' => [ 'type' => 'integer', ], 'NonCompliantResource' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceIdentifier' => [ 'shape' => 'ResourceIdentifier', ], 'additionalInfo' => [ 'shape' => 'StringMap', ], ], ], 'NonCompliantResourcesCount' => [ 'type' => 'long', ], 'NotConfiguredException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NumberOfThings' => [ 'type' => 'integer', 'min' => 1, ], 'OTAUpdateArn' => [ 'type' => 'string', ], 'OTAUpdateDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[^\\p{C}]+', ], 'OTAUpdateErrorMessage' => [ 'type' => 'string', ], 'OTAUpdateFile' => [ 'type' => 'structure', 'members' => [ 'fileName' => [ 'shape' => 'FileName', ], 'fileVersion' => [ 'shape' => 'OTAUpdateFileVersion', ], 'fileLocation' => [ 'shape' => 'FileLocation', ], 'codeSigning' => [ 'shape' => 'CodeSigning', ], 'attributes' => [ 'shape' => 'AttributesMap', ], ], ], 'OTAUpdateFileVersion' => [ 'type' => 'string', ], 'OTAUpdateFiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'OTAUpdateFile', ], 'max' => 50, 'min' => 1, ], 'OTAUpdateId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'OTAUpdateInfo' => [ 'type' => 'structure', 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', ], 'otaUpdateArn' => [ 'shape' => 'OTAUpdateArn', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], 'description' => [ 'shape' => 'OTAUpdateDescription', ], 'targets' => [ 'shape' => 'Targets', ], 'awsJobExecutionsRolloutConfig' => [ 'shape' => 'AwsJobExecutionsRolloutConfig', ], 'targetSelection' => [ 'shape' => 'TargetSelection', ], 'otaUpdateFiles' => [ 'shape' => 'OTAUpdateFiles', ], 'otaUpdateStatus' => [ 'shape' => 'OTAUpdateStatus', ], 'awsIotJobId' => [ 'shape' => 'AwsIotJobId', ], 'awsIotJobArn' => [ 'shape' => 'AwsIotJobArn', ], 'errorInfo' => [ 'shape' => 'ErrorInfo', ], 'additionalParameters' => [ 'shape' => 'AdditionalParameterMap', ], ], ], 'OTAUpdateStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_PENDING', 'CREATE_IN_PROGRESS', 'CREATE_COMPLETE', 'CREATE_FAILED', ], ], 'OTAUpdateSummary' => [ 'type' => 'structure', 'members' => [ 'otaUpdateId' => [ 'shape' => 'OTAUpdateId', ], 'otaUpdateArn' => [ 'shape' => 'OTAUpdateArn', ], 'creationDate' => [ 'shape' => 'DateType', ], ], ], 'OTAUpdatesSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'OTAUpdateSummary', ], ], 'OptionalVersion' => [ 'type' => 'long', ], 'OutgoingCertificate' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], 'transferredTo' => [ 'shape' => 'AwsAccountId', ], 'transferDate' => [ 'shape' => 'DateType', ], 'transferMessage' => [ 'shape' => 'Message', ], 'creationDate' => [ 'shape' => 'DateType', ], ], ], 'OutgoingCertificates' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutgoingCertificate', ], ], 'OverrideDynamicGroups' => [ 'type' => 'boolean', ], 'PageSize' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'Parameter' => [ 'type' => 'string', ], 'Parameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'Parameter', ], 'value' => [ 'shape' => 'Value', ], ], 'PartitionKey' => [ 'type' => 'string', ], 'PayloadField' => [ 'type' => 'string', ], 'Percentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'Platform' => [ 'type' => 'string', ], 'Policies' => [ 'type' => 'list', 'member' => [ 'shape' => 'Policy', ], ], 'Policy' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyArn' => [ 'shape' => 'PolicyArn', ], ], ], 'PolicyArn' => [ 'type' => 'string', ], 'PolicyDocument' => [ 'type' => 'string', ], 'PolicyDocuments' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyDocument', ], ], 'PolicyName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'PolicyNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyName', ], ], 'PolicyTarget' => [ 'type' => 'string', ], 'PolicyTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyTarget', ], ], 'PolicyVersion' => [ 'type' => 'structure', 'members' => [ 'versionId' => [ 'shape' => 'PolicyVersionId', ], 'isDefaultVersion' => [ 'shape' => 'IsDefaultVersion', ], 'createDate' => [ 'shape' => 'DateType', ], ], ], 'PolicyVersionId' => [ 'type' => 'string', 'pattern' => '[0-9]+', ], 'PolicyVersionIdentifier' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', ], ], ], 'PolicyVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyVersion', ], ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 0, ], 'Ports' => [ 'type' => 'list', 'member' => [ 'shape' => 'Port', ], ], 'Prefix' => [ 'type' => 'string', ], 'PresignedUrlConfig' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'RoleArn', ], 'expiresInSec' => [ 'shape' => 'ExpiresInSec', ], ], ], 'Principal' => [ 'type' => 'string', ], 'PrincipalArn' => [ 'type' => 'string', ], 'PrincipalId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9]+', ], 'Principals' => [ 'type' => 'list', 'member' => [ 'shape' => 'PrincipalArn', ], ], 'PrivateKey' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], 'ProcessingTargetName' => [ 'type' => 'string', ], 'ProcessingTargetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessingTargetName', ], ], 'PublicKey' => [ 'type' => 'string', 'min' => 1, ], 'PublicKeyMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'KeyName', ], 'value' => [ 'shape' => 'KeyValue', ], ], 'PutItemInput' => [ 'type' => 'structure', 'required' => [ 'tableName', ], 'members' => [ 'tableName' => [ 'shape' => 'TableName', ], ], ], 'QueryMaxResults' => [ 'type' => 'integer', 'max' => 500, 'min' => 1, ], 'QueryString' => [ 'type' => 'string', 'min' => 1, ], 'QueryVersion' => [ 'type' => 'string', ], 'QueueUrl' => [ 'type' => 'string', ], 'QueuedThings' => [ 'type' => 'integer', ], 'RangeKeyField' => [ 'type' => 'string', ], 'RangeKeyValue' => [ 'type' => 'string', ], 'RateIncreaseCriteria' => [ 'type' => 'structure', 'members' => [ 'numberOfNotifiedThings' => [ 'shape' => 'NumberOfThings', ], 'numberOfSucceededThings' => [ 'shape' => 'NumberOfThings', ], ], ], 'ReasonCode' => [ 'type' => 'string', 'max' => 128, 'pattern' => '[\\p{Upper}\\p{Digit}_]+', ], 'ReasonForNonCompliance' => [ 'type' => 'string', ], 'ReasonForNonComplianceCode' => [ 'type' => 'string', ], 'Recursive' => [ 'type' => 'boolean', ], 'RecursiveWithoutDefault' => [ 'type' => 'boolean', ], 'RegisterCACertificateRequest' => [ 'type' => 'structure', 'required' => [ 'caCertificate', 'verificationCertificate', ], 'members' => [ 'caCertificate' => [ 'shape' => 'CertificatePem', ], 'verificationCertificate' => [ 'shape' => 'CertificatePem', ], 'setAsActive' => [ 'shape' => 'SetAsActive', 'location' => 'querystring', 'locationName' => 'setAsActive', ], 'allowAutoRegistration' => [ 'shape' => 'AllowAutoRegistration', 'location' => 'querystring', 'locationName' => 'allowAutoRegistration', ], 'registrationConfig' => [ 'shape' => 'RegistrationConfig', ], ], ], 'RegisterCACertificateResponse' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], ], ], 'RegisterCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificatePem', ], 'members' => [ 'certificatePem' => [ 'shape' => 'CertificatePem', ], 'caCertificatePem' => [ 'shape' => 'CertificatePem', ], 'setAsActive' => [ 'shape' => 'SetAsActiveFlag', 'deprecated' => true, 'location' => 'querystring', 'locationName' => 'setAsActive', ], 'status' => [ 'shape' => 'CertificateStatus', ], ], ], 'RegisterCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'certificateId' => [ 'shape' => 'CertificateId', ], ], ], 'RegisterThingRequest' => [ 'type' => 'structure', 'required' => [ 'templateBody', ], 'members' => [ 'templateBody' => [ 'shape' => 'TemplateBody', ], 'parameters' => [ 'shape' => 'Parameters', ], ], ], 'RegisterThingResponse' => [ 'type' => 'structure', 'members' => [ 'certificatePem' => [ 'shape' => 'CertificatePem', ], 'resourceArns' => [ 'shape' => 'ResourceArns', ], ], ], 'RegistrationCode' => [ 'type' => 'string', 'max' => 64, 'min' => 64, 'pattern' => '(0x)?[a-fA-F0-9]+', ], 'RegistrationCodeValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'RegistrationConfig' => [ 'type' => 'structure', 'members' => [ 'templateBody' => [ 'shape' => 'TemplateBody', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'RegistryMaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'RegistryS3BucketName' => [ 'type' => 'string', 'max' => 256, 'min' => 3, 'pattern' => '[a-zA-Z0-9._-]+', ], 'RegistryS3KeyName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[a-zA-Z0-9!_.*\'()-\\/]+', ], 'RejectCertificateTransferRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], 'rejectReason' => [ 'shape' => 'Message', ], ], ], 'RejectedThings' => [ 'type' => 'integer', ], 'RelatedResource' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'resourceIdentifier' => [ 'shape' => 'ResourceIdentifier', ], 'additionalInfo' => [ 'shape' => 'StringMap', ], ], ], 'RelatedResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelatedResource', ], ], 'RemoveAutoRegistration' => [ 'type' => 'boolean', ], 'RemoveThingFromBillingGroupRequest' => [ 'type' => 'structure', 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', ], 'billingGroupArn' => [ 'shape' => 'BillingGroupArn', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], ], ], 'RemoveThingFromBillingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'RemoveThingFromThingGroupRequest' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], ], ], 'RemoveThingFromThingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'RemoveThingType' => [ 'type' => 'boolean', ], 'RemovedThings' => [ 'type' => 'integer', ], 'ReplaceTopicRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ruleName', 'topicRulePayload', ], 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', 'location' => 'uri', 'locationName' => 'ruleName', ], 'topicRulePayload' => [ 'shape' => 'TopicRulePayload', ], ], 'payload' => 'topicRulePayload', ], 'ReportType' => [ 'type' => 'string', 'enum' => [ 'ERRORS', 'RESULTS', ], ], 'RepublishAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'topic', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'topic' => [ 'shape' => 'TopicPattern', ], ], ], 'Resource' => [ 'type' => 'string', ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], 'resourceId' => [ 'shape' => 'resourceId', ], 'resourceArn' => [ 'shape' => 'resourceArn', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceArns' => [ 'type' => 'map', 'key' => [ 'shape' => 'ResourceLogicalId', ], 'value' => [ 'shape' => 'ResourceArn', ], ], 'ResourceIdentifier' => [ 'type' => 'structure', 'members' => [ 'deviceCertificateId' => [ 'shape' => 'CertificateId', ], 'caCertificateId' => [ 'shape' => 'CertificateId', ], 'cognitoIdentityPoolId' => [ 'shape' => 'CognitoIdentityPoolId', ], 'clientId' => [ 'shape' => 'ClientId', ], 'policyVersionIdentifier' => [ 'shape' => 'PolicyVersionIdentifier', ], 'account' => [ 'shape' => 'AwsAccountId', ], ], ], 'ResourceLogicalId' => [ 'type' => 'string', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ResourceRegistrationFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'DEVICE_CERTIFICATE', 'CA_CERTIFICATE', 'IOT_POLICY', 'COGNITO_IDENTITY_POOL', 'CLIENT_ID', 'ACCOUNT_SETTINGS', ], ], 'Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'RoleAlias' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w=,@-]+', ], 'RoleAliasArn' => [ 'type' => 'string', ], 'RoleAliasDescription' => [ 'type' => 'structure', 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', ], 'roleAliasArn' => [ 'shape' => 'RoleAliasArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'owner' => [ 'shape' => 'AwsAccountId', ], 'credentialDurationSeconds' => [ 'shape' => 'CredentialDurationSeconds', ], 'creationDate' => [ 'shape' => 'DateType', ], 'lastModifiedDate' => [ 'shape' => 'DateType', ], ], ], 'RoleAliases' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoleAlias', ], ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'RolloutRatePerMinute' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'RuleArn' => [ 'type' => 'string', ], 'RuleName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'S3Action' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'bucketName', 'key', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'bucketName' => [ 'shape' => 'BucketName', ], 'key' => [ 'shape' => 'Key', ], 'cannedAcl' => [ 'shape' => 'CannedAccessControlList', ], ], ], 'S3Bucket' => [ 'type' => 'string', 'min' => 1, ], 'S3Destination' => [ 'type' => 'structure', 'members' => [ 'bucket' => [ 'shape' => 'S3Bucket', ], 'prefix' => [ 'shape' => 'Prefix', ], ], ], 'S3FileUrl' => [ 'type' => 'string', 'max' => 65535, ], 'S3FileUrlList' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3FileUrl', ], ], 'S3Key' => [ 'type' => 'string', 'min' => 1, ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'bucket' => [ 'shape' => 'S3Bucket', ], 'key' => [ 'shape' => 'S3Key', ], 'version' => [ 'shape' => 'S3Version', ], ], ], 'S3Version' => [ 'type' => 'string', ], 'SQL' => [ 'type' => 'string', ], 'SalesforceAction' => [ 'type' => 'structure', 'required' => [ 'token', 'url', ], 'members' => [ 'token' => [ 'shape' => 'SalesforceToken', ], 'url' => [ 'shape' => 'SalesforceEndpoint', ], ], ], 'SalesforceEndpoint' => [ 'type' => 'string', 'max' => 2000, 'pattern' => 'https://ingestion-[a-zA-Z0-9]{1,12}\\.[a-zA-Z0-9]+\\.((sfdc-matrix\\.net)|(sfdcnow\\.com))/streams/\\w{1,20}/\\w{1,20}/event', ], 'SalesforceToken' => [ 'type' => 'string', 'min' => 40, ], 'ScheduledAuditArn' => [ 'type' => 'string', ], 'ScheduledAuditMetadata' => [ 'type' => 'structure', 'members' => [ 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', ], 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], 'frequency' => [ 'shape' => 'AuditFrequency', ], 'dayOfMonth' => [ 'shape' => 'DayOfMonth', ], 'dayOfWeek' => [ 'shape' => 'DayOfWeek', ], ], ], 'ScheduledAuditMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledAuditMetadata', ], ], 'ScheduledAuditName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'SearchIndexRequest' => [ 'type' => 'structure', 'required' => [ 'queryString', ], 'members' => [ 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'QueryMaxResults', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], ], ], 'SearchIndexResponse' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'things' => [ 'shape' => 'ThingDocumentList', ], 'thingGroups' => [ 'shape' => 'ThingGroupDocumentList', ], ], ], 'SearchableAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], ], 'Seconds' => [ 'type' => 'integer', ], 'SecurityProfileArn' => [ 'type' => 'string', ], 'SecurityProfileDescription' => [ 'type' => 'string', 'max' => 1000, 'pattern' => '[\\p{Graph}\\x20]*', ], 'SecurityProfileIdentifier' => [ 'type' => 'structure', 'required' => [ 'name', 'arn', ], 'members' => [ 'name' => [ 'shape' => 'SecurityProfileName', ], 'arn' => [ 'shape' => 'SecurityProfileArn', ], ], ], 'SecurityProfileIdentifiers' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityProfileIdentifier', ], ], 'SecurityProfileName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'SecurityProfileTarget' => [ 'type' => 'structure', 'required' => [ 'arn', ], 'members' => [ 'arn' => [ 'shape' => 'SecurityProfileTargetArn', ], ], ], 'SecurityProfileTargetArn' => [ 'type' => 'string', ], 'SecurityProfileTargetMapping' => [ 'type' => 'structure', 'members' => [ 'securityProfileIdentifier' => [ 'shape' => 'SecurityProfileIdentifier', ], 'target' => [ 'shape' => 'SecurityProfileTarget', ], ], ], 'SecurityProfileTargetMappings' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityProfileTargetMapping', ], ], 'SecurityProfileTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityProfileTarget', ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'SetAsActive' => [ 'type' => 'boolean', ], 'SetAsActiveFlag' => [ 'type' => 'boolean', ], 'SetAsDefault' => [ 'type' => 'boolean', ], 'SetDefaultAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], ], ], 'SetDefaultAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], 'authorizerArn' => [ 'shape' => 'AuthorizerArn', ], ], ], 'SetDefaultPolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'policyName', 'policyVersionId', ], 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', 'location' => 'uri', 'locationName' => 'policyName', ], 'policyVersionId' => [ 'shape' => 'PolicyVersionId', 'location' => 'uri', 'locationName' => 'policyVersionId', ], ], ], 'SetLoggingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'loggingOptionsPayload', ], 'members' => [ 'loggingOptionsPayload' => [ 'shape' => 'LoggingOptionsPayload', ], ], 'payload' => 'loggingOptionsPayload', ], 'SetV2LoggingLevelRequest' => [ 'type' => 'structure', 'required' => [ 'logTarget', 'logLevel', ], 'members' => [ 'logTarget' => [ 'shape' => 'LogTarget', ], 'logLevel' => [ 'shape' => 'LogLevel', ], ], ], 'SetV2LoggingOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'defaultLogLevel' => [ 'shape' => 'LogLevel', ], 'disableAllLogs' => [ 'shape' => 'DisableAllLogs', ], ], ], 'Signature' => [ 'type' => 'blob', ], 'SignatureAlgorithm' => [ 'type' => 'string', ], 'SigningJobId' => [ 'type' => 'string', ], 'SigningProfileName' => [ 'type' => 'string', ], 'SigningProfileParameter' => [ 'type' => 'structure', 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], 'platform' => [ 'shape' => 'Platform', ], 'certificatePathOnDevice' => [ 'shape' => 'CertificatePathOnDevice', ], ], ], 'SkyfallMaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'SnsAction' => [ 'type' => 'structure', 'required' => [ 'targetArn', 'roleArn', ], 'members' => [ 'targetArn' => [ 'shape' => 'AwsArn', ], 'roleArn' => [ 'shape' => 'AwsArn', ], 'messageFormat' => [ 'shape' => 'MessageFormat', ], ], ], 'SqlParseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SqsAction' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'queueUrl', ], 'members' => [ 'roleArn' => [ 'shape' => 'AwsArn', ], 'queueUrl' => [ 'shape' => 'QueueUrl', ], 'useBase64' => [ 'shape' => 'UseBase64', ], ], ], 'StartOnDemandAuditTaskRequest' => [ 'type' => 'structure', 'required' => [ 'targetCheckNames', ], 'members' => [ 'targetCheckNames' => [ 'shape' => 'TargetAuditCheckNames', ], ], ], 'StartOnDemandAuditTaskResponse' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'AuditTaskId', ], ], ], 'StartSigningJobParameter' => [ 'type' => 'structure', 'members' => [ 'signingProfileParameter' => [ 'shape' => 'SigningProfileParameter', ], 'signingProfileName' => [ 'shape' => 'SigningProfileName', ], 'destination' => [ 'shape' => 'Destination', ], ], ], 'StartThingRegistrationTaskRequest' => [ 'type' => 'structure', 'required' => [ 'templateBody', 'inputFileBucket', 'inputFileKey', 'roleArn', ], 'members' => [ 'templateBody' => [ 'shape' => 'TemplateBody', ], 'inputFileBucket' => [ 'shape' => 'RegistryS3BucketName', ], 'inputFileKey' => [ 'shape' => 'RegistryS3KeyName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'StartThingRegistrationTaskResponse' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'TaskId', ], ], ], 'StateMachineName' => [ 'type' => 'string', ], 'StateReason' => [ 'type' => 'string', ], 'StateValue' => [ 'type' => 'string', ], 'StatisticalThreshold' => [ 'type' => 'structure', 'members' => [ 'statistic' => [ 'shape' => 'EvaluationStatistic', ], ], ], 'Statistics' => [ 'type' => 'structure', 'members' => [ 'count' => [ 'shape' => 'Count', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Completed', 'Failed', 'Cancelled', 'Cancelling', ], ], 'StepFunctionsAction' => [ 'type' => 'structure', 'required' => [ 'stateMachineName', 'roleArn', ], 'members' => [ 'executionNamePrefix' => [ 'shape' => 'ExecutionNamePrefix', ], 'stateMachineName' => [ 'shape' => 'StateMachineName', ], 'roleArn' => [ 'shape' => 'AwsArn', ], ], ], 'StopThingRegistrationTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'TaskId', 'location' => 'uri', 'locationName' => 'taskId', ], ], ], 'StopThingRegistrationTaskResponse' => [ 'type' => 'structure', 'members' => [], ], 'Stream' => [ 'type' => 'structure', 'members' => [ 'streamId' => [ 'shape' => 'StreamId', ], 'fileId' => [ 'shape' => 'FileId', ], ], ], 'StreamArn' => [ 'type' => 'string', ], 'StreamDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[^\\p{C}]+', ], 'StreamFile' => [ 'type' => 'structure', 'members' => [ 'fileId' => [ 'shape' => 'FileId', ], 's3Location' => [ 'shape' => 'S3Location', ], ], ], 'StreamFiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamFile', ], 'max' => 50, 'min' => 1, ], 'StreamId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'StreamInfo' => [ 'type' => 'structure', 'members' => [ 'streamId' => [ 'shape' => 'StreamId', ], 'streamArn' => [ 'shape' => 'StreamArn', ], 'streamVersion' => [ 'shape' => 'StreamVersion', ], 'description' => [ 'shape' => 'StreamDescription', ], 'files' => [ 'shape' => 'StreamFiles', ], 'createdAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'StreamName' => [ 'type' => 'string', ], 'StreamSummary' => [ 'type' => 'structure', 'members' => [ 'streamId' => [ 'shape' => 'StreamId', ], 'streamArn' => [ 'shape' => 'StreamArn', ], 'streamVersion' => [ 'shape' => 'StreamVersion', ], 'description' => [ 'shape' => 'StreamDescription', ], ], ], 'StreamVersion' => [ 'type' => 'integer', 'max' => 65535, 'min' => 0, ], 'StreamsSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamSummary', ], ], 'String' => [ 'type' => 'string', ], 'StringMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'SucceededThings' => [ 'type' => 'integer', ], 'TableName' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'Target' => [ 'type' => 'string', ], 'TargetArn' => [ 'type' => 'string', ], 'TargetAuditCheckNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AuditCheckName', ], ], 'TargetSelection' => [ 'type' => 'string', 'enum' => [ 'CONTINUOUS', 'SNAPSHOT', ], ], 'Targets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Target', ], 'min' => 1, ], 'TaskId' => [ 'type' => 'string', 'max' => 40, ], 'TaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskId', ], ], 'TaskStatistics' => [ 'type' => 'structure', 'members' => [ 'totalChecks' => [ 'shape' => 'TotalChecksCount', ], 'inProgressChecks' => [ 'shape' => 'InProgressChecksCount', ], 'waitingForDataCollectionChecks' => [ 'shape' => 'WaitingForDataCollectionChecksCount', ], 'compliantChecks' => [ 'shape' => 'CompliantChecksCount', ], 'nonCompliantChecks' => [ 'shape' => 'NonCompliantChecksCount', ], 'failedChecks' => [ 'shape' => 'FailedChecksCount', ], 'canceledChecks' => [ 'shape' => 'CanceledChecksCount', ], ], ], 'TemplateBody' => [ 'type' => 'string', ], 'TestAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'authInfos', ], 'members' => [ 'principal' => [ 'shape' => 'Principal', ], 'cognitoIdentityPoolId' => [ 'shape' => 'CognitoIdentityPoolId', ], 'authInfos' => [ 'shape' => 'AuthInfos', ], 'clientId' => [ 'shape' => 'ClientId', 'location' => 'querystring', 'locationName' => 'clientId', ], 'policyNamesToAdd' => [ 'shape' => 'PolicyNames', ], 'policyNamesToSkip' => [ 'shape' => 'PolicyNames', ], ], ], 'TestAuthorizationResponse' => [ 'type' => 'structure', 'members' => [ 'authResults' => [ 'shape' => 'AuthResults', ], ], ], 'TestInvokeAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', 'token', 'tokenSignature', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], 'token' => [ 'shape' => 'Token', ], 'tokenSignature' => [ 'shape' => 'TokenSignature', ], ], ], 'TestInvokeAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'isAuthenticated' => [ 'shape' => 'IsAuthenticated', ], 'principalId' => [ 'shape' => 'PrincipalId', ], 'policyDocuments' => [ 'shape' => 'PolicyDocuments', ], 'refreshAfterInSeconds' => [ 'shape' => 'Seconds', ], 'disconnectAfterInSeconds' => [ 'shape' => 'Seconds', ], ], ], 'ThingArn' => [ 'type' => 'string', ], 'ThingAttribute' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], 'attributes' => [ 'shape' => 'Attributes', ], 'version' => [ 'shape' => 'Version', ], ], ], 'ThingAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingAttribute', ], ], 'ThingConnectivity' => [ 'type' => 'structure', 'members' => [ 'connected' => [ 'shape' => 'Boolean', ], 'timestamp' => [ 'shape' => 'ConnectivityTimestamp', ], ], ], 'ThingConnectivityIndexingMode' => [ 'type' => 'string', 'enum' => [ 'OFF', 'STATUS', ], ], 'ThingDocument' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', ], 'thingId' => [ 'shape' => 'ThingId', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingGroupNames' => [ 'shape' => 'ThingGroupNameList', ], 'attributes' => [ 'shape' => 'Attributes', ], 'shadow' => [ 'shape' => 'JsonDocument', ], 'connectivity' => [ 'shape' => 'ThingConnectivity', ], ], ], 'ThingDocumentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingDocument', ], ], 'ThingGroupArn' => [ 'type' => 'string', ], 'ThingGroupDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[\\p{Graph}\\x20]*', ], 'ThingGroupDocument' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupId' => [ 'shape' => 'ThingGroupId', ], 'thingGroupDescription' => [ 'shape' => 'ThingGroupDescription', ], 'attributes' => [ 'shape' => 'Attributes', ], 'parentGroupNames' => [ 'shape' => 'ThingGroupNameList', ], ], ], 'ThingGroupDocumentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingGroupDocument', ], ], 'ThingGroupId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\-]+', ], 'ThingGroupIndexingConfiguration' => [ 'type' => 'structure', 'required' => [ 'thingGroupIndexingMode', ], 'members' => [ 'thingGroupIndexingMode' => [ 'shape' => 'ThingGroupIndexingMode', ], ], ], 'ThingGroupIndexingMode' => [ 'type' => 'string', 'enum' => [ 'OFF', 'ON', ], ], 'ThingGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingGroupName', ], ], 'ThingGroupMetadata' => [ 'type' => 'structure', 'members' => [ 'parentGroupName' => [ 'shape' => 'ThingGroupName', ], 'rootToParentThingGroups' => [ 'shape' => 'ThingGroupNameAndArnList', ], 'creationDate' => [ 'shape' => 'CreationDate', ], ], ], 'ThingGroupName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'ThingGroupNameAndArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupNameAndArn', ], ], 'ThingGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingGroupName', ], ], 'ThingGroupProperties' => [ 'type' => 'structure', 'members' => [ 'thingGroupDescription' => [ 'shape' => 'ThingGroupDescription', ], 'attributePayload' => [ 'shape' => 'AttributePayload', ], ], ], 'ThingId' => [ 'type' => 'string', ], 'ThingIndexingConfiguration' => [ 'type' => 'structure', 'required' => [ 'thingIndexingMode', ], 'members' => [ 'thingIndexingMode' => [ 'shape' => 'ThingIndexingMode', ], 'thingConnectivityIndexingMode' => [ 'shape' => 'ThingConnectivityIndexingMode', ], ], ], 'ThingIndexingMode' => [ 'type' => 'string', 'enum' => [ 'OFF', 'REGISTRY', 'REGISTRY_AND_SHADOW', ], ], 'ThingName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'ThingNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingName', ], ], 'ThingTypeArn' => [ 'type' => 'string', ], 'ThingTypeDefinition' => [ 'type' => 'structure', 'members' => [ 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingTypeArn' => [ 'shape' => 'ThingTypeArn', ], 'thingTypeProperties' => [ 'shape' => 'ThingTypeProperties', ], 'thingTypeMetadata' => [ 'shape' => 'ThingTypeMetadata', ], ], ], 'ThingTypeDescription' => [ 'type' => 'string', 'max' => 2028, 'pattern' => '[\\p{Graph}\\x20]*', ], 'ThingTypeId' => [ 'type' => 'string', ], 'ThingTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThingTypeDefinition', ], ], 'ThingTypeMetadata' => [ 'type' => 'structure', 'members' => [ 'deprecated' => [ 'shape' => 'Boolean', ], 'deprecationDate' => [ 'shape' => 'DeprecationDate', ], 'creationDate' => [ 'shape' => 'CreationDate', ], ], ], 'ThingTypeName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'ThingTypeProperties' => [ 'type' => 'structure', 'members' => [ 'thingTypeDescription' => [ 'shape' => 'ThingTypeDescription', ], 'searchableAttributes' => [ 'shape' => 'SearchableAttributes', ], ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TimedOutThings' => [ 'type' => 'integer', ], 'TimeoutConfig' => [ 'type' => 'structure', 'members' => [ 'inProgressTimeoutInMinutes' => [ 'shape' => 'InProgressTimeoutInMinutes', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Token' => [ 'type' => 'string', 'max' => 6144, 'min' => 1, ], 'TokenKeyName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_-]+', ], 'TokenSignature' => [ 'type' => 'string', 'max' => 2560, 'min' => 1, 'pattern' => '[A-Za-z0-9+/]+={0,2}', ], 'Topic' => [ 'type' => 'string', ], 'TopicPattern' => [ 'type' => 'string', ], 'TopicRule' => [ 'type' => 'structure', 'members' => [ 'ruleName' => [ 'shape' => 'RuleName', ], 'sql' => [ 'shape' => 'SQL', ], 'description' => [ 'shape' => 'Description', ], 'createdAt' => [ 'shape' => 'CreatedAtDate', ], 'actions' => [ 'shape' => 'ActionList', ], 'ruleDisabled' => [ 'shape' => 'IsDisabled', ], 'awsIotSqlVersion' => [ 'shape' => 'AwsIotSqlVersion', ], 'errorAction' => [ 'shape' => 'Action', ], ], ], 'TopicRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicRuleListItem', ], ], 'TopicRuleListItem' => [ 'type' => 'structure', 'members' => [ 'ruleArn' => [ 'shape' => 'RuleArn', ], 'ruleName' => [ 'shape' => 'RuleName', ], 'topicPattern' => [ 'shape' => 'TopicPattern', ], 'createdAt' => [ 'shape' => 'CreatedAtDate', ], 'ruleDisabled' => [ 'shape' => 'IsDisabled', ], ], ], 'TopicRulePayload' => [ 'type' => 'structure', 'required' => [ 'sql', 'actions', ], 'members' => [ 'sql' => [ 'shape' => 'SQL', ], 'description' => [ 'shape' => 'Description', ], 'actions' => [ 'shape' => 'ActionList', ], 'ruleDisabled' => [ 'shape' => 'IsDisabled', ], 'awsIotSqlVersion' => [ 'shape' => 'AwsIotSqlVersion', ], 'errorAction' => [ 'shape' => 'Action', ], ], ], 'TotalChecksCount' => [ 'type' => 'integer', ], 'TotalResourcesCount' => [ 'type' => 'long', ], 'TransferAlreadyCompletedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 410, ], 'exception' => true, ], 'TransferCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', 'targetAwsAccount', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], 'targetAwsAccount' => [ 'shape' => 'AwsAccountId', 'location' => 'querystring', 'locationName' => 'targetAwsAccount', ], 'transferMessage' => [ 'shape' => 'Message', ], ], ], 'TransferCertificateResponse' => [ 'type' => 'structure', 'members' => [ 'transferredCertificateArn' => [ 'shape' => 'CertificateArn', ], ], ], 'TransferConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'TransferData' => [ 'type' => 'structure', 'members' => [ 'transferMessage' => [ 'shape' => 'Message', ], 'rejectReason' => [ 'shape' => 'Message', ], 'transferDate' => [ 'shape' => 'DateType', ], 'acceptDate' => [ 'shape' => 'DateType', ], 'rejectDate' => [ 'shape' => 'DateType', ], ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UndoDeprecate' => [ 'type' => 'boolean', ], 'UnsignedLong' => [ 'type' => 'long', 'min' => 0, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateAccountAuditConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'roleArn' => [ 'shape' => 'RoleArn', ], 'auditNotificationTargetConfigurations' => [ 'shape' => 'AuditNotificationTargetConfigurations', ], 'auditCheckConfigurations' => [ 'shape' => 'AuditCheckConfigurations', ], ], ], 'UpdateAccountAuditConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], 'authorizerFunctionArn' => [ 'shape' => 'AuthorizerFunctionArn', ], 'tokenKeyName' => [ 'shape' => 'TokenKeyName', ], 'tokenSigningPublicKeys' => [ 'shape' => 'PublicKeyMap', ], 'status' => [ 'shape' => 'AuthorizerStatus', ], ], ], 'UpdateAuthorizerResponse' => [ 'type' => 'structure', 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', ], 'authorizerArn' => [ 'shape' => 'AuthorizerArn', ], ], ], 'UpdateBillingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'billingGroupName', 'billingGroupProperties', ], 'members' => [ 'billingGroupName' => [ 'shape' => 'BillingGroupName', 'location' => 'uri', 'locationName' => 'billingGroupName', ], 'billingGroupProperties' => [ 'shape' => 'BillingGroupProperties', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', ], ], ], 'UpdateBillingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], ], ], 'UpdateCACertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'caCertificateId', ], 'newStatus' => [ 'shape' => 'CACertificateStatus', 'location' => 'querystring', 'locationName' => 'newStatus', ], 'newAutoRegistrationStatus' => [ 'shape' => 'AutoRegistrationStatus', 'location' => 'querystring', 'locationName' => 'newAutoRegistrationStatus', ], 'registrationConfig' => [ 'shape' => 'RegistrationConfig', ], 'removeAutoRegistration' => [ 'shape' => 'RemoveAutoRegistration', ], ], ], 'UpdateCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'certificateId', 'newStatus', ], 'members' => [ 'certificateId' => [ 'shape' => 'CertificateId', 'location' => 'uri', 'locationName' => 'certificateId', ], 'newStatus' => [ 'shape' => 'CertificateStatus', 'location' => 'querystring', 'locationName' => 'newStatus', ], ], ], 'UpdateDynamicThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', 'thingGroupProperties', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'thingGroupProperties' => [ 'shape' => 'ThingGroupProperties', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', ], 'indexName' => [ 'shape' => 'IndexName', ], 'queryString' => [ 'shape' => 'QueryString', ], 'queryVersion' => [ 'shape' => 'QueryVersion', ], ], ], 'UpdateDynamicThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], ], ], 'UpdateEventConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'eventConfigurations' => [ 'shape' => 'EventConfigurations', ], ], ], 'UpdateEventConfigurationsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateIndexingConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'thingIndexingConfiguration' => [ 'shape' => 'ThingIndexingConfiguration', ], 'thingGroupIndexingConfiguration' => [ 'shape' => 'ThingGroupIndexingConfiguration', ], ], ], 'UpdateIndexingConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], 'description' => [ 'shape' => 'JobDescription', ], 'presignedUrlConfig' => [ 'shape' => 'PresignedUrlConfig', ], 'jobExecutionsRolloutConfig' => [ 'shape' => 'JobExecutionsRolloutConfig', ], 'abortConfig' => [ 'shape' => 'AbortConfig', ], 'timeoutConfig' => [ 'shape' => 'TimeoutConfig', ], ], ], 'UpdateRoleAliasRequest' => [ 'type' => 'structure', 'required' => [ 'roleAlias', ], 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', 'location' => 'uri', 'locationName' => 'roleAlias', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'credentialDurationSeconds' => [ 'shape' => 'CredentialDurationSeconds', ], ], ], 'UpdateRoleAliasResponse' => [ 'type' => 'structure', 'members' => [ 'roleAlias' => [ 'shape' => 'RoleAlias', ], 'roleAliasArn' => [ 'shape' => 'RoleAliasArn', ], ], ], 'UpdateScheduledAuditRequest' => [ 'type' => 'structure', 'required' => [ 'scheduledAuditName', ], 'members' => [ 'frequency' => [ 'shape' => 'AuditFrequency', ], 'dayOfMonth' => [ 'shape' => 'DayOfMonth', ], 'dayOfWeek' => [ 'shape' => 'DayOfWeek', ], 'targetCheckNames' => [ 'shape' => 'TargetAuditCheckNames', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'UpdateScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [ 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], ], ], 'UpdateSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], 'additionalMetricsToRetain' => [ 'shape' => 'AdditionalMetricsToRetainList', ], 'deleteBehaviors' => [ 'shape' => 'DeleteBehaviors', ], 'deleteAlertTargets' => [ 'shape' => 'DeleteAlertTargets', ], 'deleteAdditionalMetricsToRetain' => [ 'shape' => 'DeleteAdditionalMetricsToRetain', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', 'location' => 'querystring', 'locationName' => 'expectedVersion', ], ], ], 'UpdateSecurityProfileResponse' => [ 'type' => 'structure', 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', ], 'securityProfileArn' => [ 'shape' => 'SecurityProfileArn', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], 'additionalMetricsToRetain' => [ 'shape' => 'AdditionalMetricsToRetainList', ], 'version' => [ 'shape' => 'Version', ], 'creationDate' => [ 'shape' => 'Timestamp', ], 'lastModifiedDate' => [ 'shape' => 'Timestamp', ], ], ], 'UpdateStreamRequest' => [ 'type' => 'structure', 'required' => [ 'streamId', ], 'members' => [ 'streamId' => [ 'shape' => 'StreamId', 'location' => 'uri', 'locationName' => 'streamId', ], 'description' => [ 'shape' => 'StreamDescription', ], 'files' => [ 'shape' => 'StreamFiles', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'UpdateStreamResponse' => [ 'type' => 'structure', 'members' => [ 'streamId' => [ 'shape' => 'StreamId', ], 'streamArn' => [ 'shape' => 'StreamArn', ], 'description' => [ 'shape' => 'StreamDescription', ], 'streamVersion' => [ 'shape' => 'StreamVersion', ], ], ], 'UpdateThingGroupRequest' => [ 'type' => 'structure', 'required' => [ 'thingGroupName', 'thingGroupProperties', ], 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', 'location' => 'uri', 'locationName' => 'thingGroupName', ], 'thingGroupProperties' => [ 'shape' => 'ThingGroupProperties', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', ], ], ], 'UpdateThingGroupResponse' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'Version', ], ], ], 'UpdateThingGroupsForThingRequest' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', ], 'thingGroupsToAdd' => [ 'shape' => 'ThingGroupList', ], 'thingGroupsToRemove' => [ 'shape' => 'ThingGroupList', ], 'overrideDynamicGroups' => [ 'shape' => 'OverrideDynamicGroups', ], ], ], 'UpdateThingGroupsForThingResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateThingRequest' => [ 'type' => 'structure', 'required' => [ 'thingName', ], 'members' => [ 'thingName' => [ 'shape' => 'ThingName', 'location' => 'uri', 'locationName' => 'thingName', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'attributePayload' => [ 'shape' => 'AttributePayload', ], 'expectedVersion' => [ 'shape' => 'OptionalVersion', ], 'removeThingType' => [ 'shape' => 'RemoveThingType', ], ], ], 'UpdateThingResponse' => [ 'type' => 'structure', 'members' => [], ], 'UseBase64' => [ 'type' => 'boolean', ], 'Valid' => [ 'type' => 'boolean', ], 'ValidateSecurityProfileBehaviorsRequest' => [ 'type' => 'structure', 'required' => [ 'behaviors', ], 'members' => [ 'behaviors' => [ 'shape' => 'Behaviors', ], ], ], 'ValidateSecurityProfileBehaviorsResponse' => [ 'type' => 'structure', 'members' => [ 'valid' => [ 'shape' => 'Valid', ], 'validationErrors' => [ 'shape' => 'ValidationErrors', ], ], ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'errorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'ValidationErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidationError', ], ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'long', ], 'VersionConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'VersionNumber' => [ 'type' => 'long', ], 'VersionsLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ViolationEvent' => [ 'type' => 'structure', 'members' => [ 'violationId' => [ 'shape' => 'ViolationId', ], 'thingName' => [ 'shape' => 'ThingName', ], 'securityProfileName' => [ 'shape' => 'SecurityProfileName', ], 'behavior' => [ 'shape' => 'Behavior', ], 'metricValue' => [ 'shape' => 'MetricValue', ], 'violationEventType' => [ 'shape' => 'ViolationEventType', ], 'violationEventTime' => [ 'shape' => 'Timestamp', ], ], ], 'ViolationEventType' => [ 'type' => 'string', 'enum' => [ 'in-alarm', 'alarm-cleared', 'alarm-invalidated', ], ], 'ViolationEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'ViolationEvent', ], ], 'ViolationId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\-]+', ], 'WaitingForDataCollectionChecksCount' => [ 'type' => 'integer', ], 'errorMessage' => [ 'type' => 'string', ], 'resourceArn' => [ 'type' => 'string', ], 'resourceId' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/iot/2015-05-28/paginators-1.json.php b/lib/aws/Aws/data/iot/2015-05-28/paginators-1.json.php new file mode 100644 index 0000000..3d62415 --- /dev/null +++ b/lib/aws/Aws/data/iot/2015-05-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot/2015-05-28/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/iot/2015-05-28/smoke.json.php b/lib/aws/Aws/data/iot/2015-05-28/smoke.json.php new file mode 100644 index 0000000..05c932e --- /dev/null +++ b/lib/aws/Aws/data/iot/2015-05-28/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot/2015-05-28/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPolicies', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeThing', 'input' => [ 'thingName' => 'fake-thing', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/iot1click-devices/2018-05-14/api-2.json.php b/lib/aws/Aws/data/iot1click-devices/2018-05-14/api-2.json.php new file mode 100644 index 0000000..d092ffa --- /dev/null +++ b/lib/aws/Aws/data/iot1click-devices/2018-05-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot1click-devices/2018-05-14/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-05-14', 'endpointPrefix' => 'devices.iot1click', 'signingName' => 'iot1click', 'serviceFullName' => 'AWS IoT 1-Click Devices Service', 'serviceId' => 'IoT 1Click Devices Service', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'devices-2018-05-14', 'signatureVersion' => 'v4', ], 'operations' => [ 'ClaimDevicesByClaimCode' => [ 'name' => 'ClaimDevicesByClaimCode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/claims/{claimCode}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ClaimDevicesByClaimCodeRequest', ], 'output' => [ 'shape' => 'ClaimDevicesByClaimCodeResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeDevice' => [ 'name' => 'DescribeDevice', 'http' => [ 'method' => 'GET', 'requestUri' => '/devices/{deviceId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeDeviceRequest', ], 'output' => [ 'shape' => 'DescribeDeviceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'FinalizeDeviceClaim' => [ 'name' => 'FinalizeDeviceClaim', 'http' => [ 'method' => 'PUT', 'requestUri' => '/devices/{deviceId}/finalize-claim', 'responseCode' => 200, ], 'input' => [ 'shape' => 'FinalizeDeviceClaimRequest', ], 'output' => [ 'shape' => 'FinalizeDeviceClaimResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'PreconditionFailedException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'GetDeviceMethods' => [ 'name' => 'GetDeviceMethods', 'http' => [ 'method' => 'GET', 'requestUri' => '/devices/{deviceId}/methods', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDeviceMethodsRequest', ], 'output' => [ 'shape' => 'GetDeviceMethodsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'InitiateDeviceClaim' => [ 'name' => 'InitiateDeviceClaim', 'http' => [ 'method' => 'PUT', 'requestUri' => '/devices/{deviceId}/initiate-claim', 'responseCode' => 200, ], 'input' => [ 'shape' => 'InitiateDeviceClaimRequest', ], 'output' => [ 'shape' => 'InitiateDeviceClaimResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'InvokeDeviceMethod' => [ 'name' => 'InvokeDeviceMethod', 'http' => [ 'method' => 'POST', 'requestUri' => '/devices/{deviceId}/methods', 'responseCode' => 200, ], 'input' => [ 'shape' => 'InvokeDeviceMethodRequest', ], 'output' => [ 'shape' => 'InvokeDeviceMethodResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'PreconditionFailedException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RangeNotSatisfiableException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'ListDeviceEvents' => [ 'name' => 'ListDeviceEvents', 'http' => [ 'method' => 'GET', 'requestUri' => '/devices/{deviceId}/events', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDeviceEventsRequest', ], 'output' => [ 'shape' => 'ListDeviceEventsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'RangeNotSatisfiableException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListDevices' => [ 'name' => 'ListDevices', 'http' => [ 'method' => 'GET', 'requestUri' => '/devices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListDevicesRequest', ], 'output' => [ 'shape' => 'ListDevicesResponse', ], 'errors' => [ [ 'shape' => 'RangeNotSatisfiableException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UnclaimDevice' => [ 'name' => 'UnclaimDevice', 'http' => [ 'method' => 'PUT', 'requestUri' => '/devices/{deviceId}/unclaim', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UnclaimDeviceRequest', ], 'output' => [ 'shape' => 'UnclaimDeviceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'UpdateDeviceState' => [ 'name' => 'UpdateDeviceState', 'http' => [ 'method' => 'PUT', 'requestUri' => '/devices/{deviceId}/state', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDeviceStateRequest', ], 'output' => [ 'shape' => 'UpdateDeviceStateResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], ], 'shapes' => [ 'Attributes' => [ 'type' => 'structure', 'members' => [], ], 'ClaimDevicesByClaimCodeRequest' => [ 'type' => 'structure', 'members' => [ 'ClaimCode' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'claimCode', ], ], 'required' => [ 'ClaimCode', ], ], 'ClaimDevicesByClaimCodeResponse' => [ 'type' => 'structure', 'members' => [ 'ClaimCode' => [ 'shape' => '__stringMin12Max40', 'locationName' => 'claimCode', ], 'Total' => [ 'shape' => '__integer', 'locationName' => 'total', ], ], ], 'DescribeDeviceRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], ], 'required' => [ 'DeviceId', ], ], 'DescribeDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceDescription' => [ 'shape' => 'DeviceDescription', 'locationName' => 'deviceDescription', ], ], ], 'Device' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'Attributes', 'locationName' => 'attributes', ], 'DeviceId' => [ 'shape' => '__string', 'locationName' => 'deviceId', ], 'Type' => [ 'shape' => '__string', 'locationName' => 'type', ], ], ], 'DeviceAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], 'DeviceClaimResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => '__string', 'locationName' => 'state', ], ], ], 'DeviceDescription' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Attributes' => [ 'shape' => 'DeviceAttributes', 'locationName' => 'attributes', ], 'DeviceId' => [ 'shape' => '__string', 'locationName' => 'deviceId', ], 'Enabled' => [ 'shape' => '__boolean', 'locationName' => 'enabled', ], 'RemainingLife' => [ 'shape' => '__doubleMin0Max100', 'locationName' => 'remainingLife', ], 'Type' => [ 'shape' => '__string', 'locationName' => 'type', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'DeviceEvent' => [ 'type' => 'structure', 'members' => [ 'Device' => [ 'shape' => 'Device', 'locationName' => 'device', ], 'StdEvent' => [ 'shape' => '__string', 'locationName' => 'stdEvent', ], ], ], 'DeviceEventsResponse' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => '__listOfDeviceEvent', 'locationName' => 'events', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'DeviceMethod' => [ 'type' => 'structure', 'members' => [ 'DeviceType' => [ 'shape' => '__string', 'locationName' => 'deviceType', ], 'MethodName' => [ 'shape' => '__string', 'locationName' => 'methodName', ], ], ], 'Empty' => [ 'type' => 'structure', 'members' => [], ], 'FinalizeDeviceClaimRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'DeviceId', ], ], 'FinalizeDeviceClaimResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => '__string', 'locationName' => 'state', ], ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'GetDeviceMethodsRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], ], 'required' => [ 'DeviceId', ], ], 'GetDeviceMethodsResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceMethods' => [ 'shape' => '__listOfDeviceMethod', 'locationName' => 'deviceMethods', ], ], ], 'InitiateDeviceClaimRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], ], 'required' => [ 'DeviceId', ], ], 'InitiateDeviceClaimResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => '__string', 'locationName' => 'state', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'InvokeDeviceMethodRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], 'DeviceMethod' => [ 'shape' => 'DeviceMethod', 'locationName' => 'deviceMethod', ], 'DeviceMethodParameters' => [ 'shape' => '__string', 'locationName' => 'deviceMethodParameters', ], ], 'required' => [ 'DeviceId', ], ], 'InvokeDeviceMethodResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceMethodResponse' => [ 'shape' => '__string', 'locationName' => 'deviceMethodResponse', ], ], ], 'ListDeviceEventsRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], 'FromTimeStamp' => [ 'shape' => '__timestampIso8601', 'location' => 'querystring', 'locationName' => 'fromTimeStamp', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'ToTimeStamp' => [ 'shape' => '__timestampIso8601', 'location' => 'querystring', 'locationName' => 'toTimeStamp', ], ], 'required' => [ 'DeviceId', 'FromTimeStamp', 'ToTimeStamp', ], ], 'ListDeviceEventsResponse' => [ 'type' => 'structure', 'members' => [ 'Events' => [ 'shape' => '__listOfDeviceEvent', 'locationName' => 'events', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListDevicesRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceType' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'deviceType', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListDevicesResponse' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => '__listOfDeviceDescription', 'locationName' => 'devices', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 250, ], 'PreconditionFailedException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 412, ], ], 'RangeNotSatisfiableException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 416, ], ], 'ResourceConflictException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => '__string', 'locationName' => 'code', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'ResourceArn', 'Tags', ], ], 'UnclaimDeviceRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], ], 'required' => [ 'DeviceId', ], ], 'UnclaimDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'State' => [ 'shape' => '__string', 'locationName' => 'state', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'UpdateDeviceStateRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId', ], 'Enabled' => [ 'shape' => '__boolean', 'locationName' => 'enabled', ], ], 'required' => [ 'DeviceId', ], ], 'UpdateDeviceStateResponse' => [ 'type' => 'structure', 'members' => [], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__doubleMin0Max100' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfDeviceDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceDescription', ], ], '__listOfDeviceEvent' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceEvent', ], ], '__listOfDeviceMethod' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceMethod', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__stringMin12Max40' => [ 'type' => 'string', 'min' => 12, 'max' => 40, ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/iot1click-projects/2018-05-14/api-2.json.php b/lib/aws/Aws/data/iot1click-projects/2018-05-14/api-2.json.php new file mode 100644 index 0000000..6512325 --- /dev/null +++ b/lib/aws/Aws/data/iot1click-projects/2018-05-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot1click-projects/2018-05-14/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-05-14', 'endpointPrefix' => 'projects.iot1click', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'AWS IoT 1-Click Projects', 'serviceFullName' => 'AWS IoT 1-Click Projects Service', 'serviceId' => 'IoT 1Click Projects', 'signatureVersion' => 'v4', 'signingName' => 'iot1click', 'uid' => 'iot1click-projects-2018-05-14', ], 'operations' => [ 'AssociateDeviceWithPlacement' => [ 'name' => 'AssociateDeviceWithPlacement', 'http' => [ 'method' => 'PUT', 'requestUri' => '/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}', ], 'input' => [ 'shape' => 'AssociateDeviceWithPlacementRequest', ], 'output' => [ 'shape' => 'AssociateDeviceWithPlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreatePlacement' => [ 'name' => 'CreatePlacement', 'http' => [ 'method' => 'POST', 'requestUri' => '/projects/{projectName}/placements', ], 'input' => [ 'shape' => 'CreatePlacementRequest', ], 'output' => [ 'shape' => 'CreatePlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateProject' => [ 'name' => 'CreateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/projects', ], 'input' => [ 'shape' => 'CreateProjectRequest', ], 'output' => [ 'shape' => 'CreateProjectResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'DeletePlacement' => [ 'name' => 'DeletePlacement', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/projects/{projectName}/placements/{placementName}', ], 'input' => [ 'shape' => 'DeletePlacementRequest', ], 'output' => [ 'shape' => 'DeletePlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteProject' => [ 'name' => 'DeleteProject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/projects/{projectName}', ], 'input' => [ 'shape' => 'DeleteProjectRequest', ], 'output' => [ 'shape' => 'DeleteProjectResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribePlacement' => [ 'name' => 'DescribePlacement', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects/{projectName}/placements/{placementName}', ], 'input' => [ 'shape' => 'DescribePlacementRequest', ], 'output' => [ 'shape' => 'DescribePlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeProject' => [ 'name' => 'DescribeProject', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects/{projectName}', ], 'input' => [ 'shape' => 'DescribeProjectRequest', ], 'output' => [ 'shape' => 'DescribeProjectResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateDeviceFromPlacement' => [ 'name' => 'DisassociateDeviceFromPlacement', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}', ], 'input' => [ 'shape' => 'DisassociateDeviceFromPlacementRequest', ], 'output' => [ 'shape' => 'DisassociateDeviceFromPlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetDevicesInPlacement' => [ 'name' => 'GetDevicesInPlacement', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects/{projectName}/placements/{placementName}/devices', ], 'input' => [ 'shape' => 'GetDevicesInPlacementRequest', ], 'output' => [ 'shape' => 'GetDevicesInPlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListPlacements' => [ 'name' => 'ListPlacements', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects/{projectName}/placements', ], 'input' => [ 'shape' => 'ListPlacementsRequest', ], 'output' => [ 'shape' => 'ListPlacementsResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListProjects' => [ 'name' => 'ListProjects', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects', ], 'input' => [ 'shape' => 'ListProjectsRequest', ], 'output' => [ 'shape' => 'ListProjectsResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdatePlacement' => [ 'name' => 'UpdatePlacement', 'http' => [ 'method' => 'PUT', 'requestUri' => '/projects/{projectName}/placements/{placementName}', ], 'input' => [ 'shape' => 'UpdatePlacementRequest', ], 'output' => [ 'shape' => 'UpdatePlacementResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateProject' => [ 'name' => 'UpdateProject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/projects/{projectName}', ], 'input' => [ 'shape' => 'UpdateProjectRequest', ], 'output' => [ 'shape' => 'UpdateProjectResponse', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'AssociateDeviceWithPlacementRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', 'placementName', 'deviceId', 'deviceTemplateName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], 'deviceId' => [ 'shape' => 'DeviceId', ], 'deviceTemplateName' => [ 'shape' => 'DeviceTemplateName', 'location' => 'uri', 'locationName' => 'deviceTemplateName', ], ], ], 'AssociateDeviceWithPlacementResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttributeDefaultValue' => [ 'type' => 'string', 'max' => 800, ], 'AttributeName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AttributeValue' => [ 'type' => 'string', 'max' => 800, ], 'Code' => [ 'type' => 'string', ], 'CreatePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'placementName', 'projectName', ], 'members' => [ 'placementName' => [ 'shape' => 'PlacementName', ], 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'attributes' => [ 'shape' => 'PlacementAttributeMap', ], ], ], 'CreatePlacementResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'description' => [ 'shape' => 'Description', ], 'placementTemplate' => [ 'shape' => 'PlacementTemplate', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateProjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'DefaultPlacementAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeDefaultValue', ], ], 'DeletePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'placementName', 'projectName', ], 'members' => [ 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], ], ], 'DeletePlacementResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], ], ], 'DeleteProjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'placementName', 'projectName', ], 'members' => [ 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], ], ], 'DescribePlacementResponse' => [ 'type' => 'structure', 'required' => [ 'placement', ], 'members' => [ 'placement' => [ 'shape' => 'PlacementDescription', ], ], ], 'DescribeProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], ], ], 'DescribeProjectResponse' => [ 'type' => 'structure', 'required' => [ 'project', ], 'members' => [ 'project' => [ 'shape' => 'ProjectDescription', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'DeviceCallbackKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'DeviceCallbackOverrideMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DeviceCallbackKey', ], 'value' => [ 'shape' => 'DeviceCallbackValue', ], ], 'DeviceCallbackValue' => [ 'type' => 'string', 'max' => 200, ], 'DeviceId' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'DeviceMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DeviceTemplateName', ], 'value' => [ 'shape' => 'DeviceId', ], ], 'DeviceTemplate' => [ 'type' => 'structure', 'members' => [ 'deviceType' => [ 'shape' => 'DeviceType', ], 'callbackOverrides' => [ 'shape' => 'DeviceCallbackOverrideMap', ], ], ], 'DeviceTemplateMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DeviceTemplateName', ], 'value' => [ 'shape' => 'DeviceTemplate', ], ], 'DeviceTemplateName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_-]+$', ], 'DeviceType' => [ 'type' => 'string', 'max' => 128, ], 'DisassociateDeviceFromPlacementRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', 'placementName', 'deviceTemplateName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], 'deviceTemplateName' => [ 'shape' => 'DeviceTemplateName', 'location' => 'uri', 'locationName' => 'deviceTemplateName', ], ], ], 'DisassociateDeviceFromPlacementResponse' => [ 'type' => 'structure', 'members' => [], ], 'GetDevicesInPlacementRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', 'placementName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], ], ], 'GetDevicesInPlacementResponse' => [ 'type' => 'structure', 'required' => [ 'devices', ], 'members' => [ 'devices' => [ 'shape' => 'DeviceMap', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'required' => [ 'code', 'message', ], 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'required' => [ 'code', 'message', ], 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListPlacementsRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListPlacementsResponse' => [ 'type' => 'structure', 'required' => [ 'placements', ], 'members' => [ 'placements' => [ 'shape' => 'PlacementSummaryList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListProjectsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListProjectsResponse' => [ 'type' => 'structure', 'required' => [ 'projects', ], 'members' => [ 'projects' => [ 'shape' => 'ProjectSummaryList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ProjectArn', 'location' => 'uri', 'locationName' => 'resourceArn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagMap', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'PlacementAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'PlacementDescription' => [ 'type' => 'structure', 'required' => [ 'projectName', 'placementName', 'attributes', 'createdDate', 'updatedDate', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'placementName' => [ 'shape' => 'PlacementName', ], 'attributes' => [ 'shape' => 'PlacementAttributeMap', ], 'createdDate' => [ 'shape' => 'Time', ], 'updatedDate' => [ 'shape' => 'Time', ], ], ], 'PlacementName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_-]+$', ], 'PlacementSummary' => [ 'type' => 'structure', 'required' => [ 'projectName', 'placementName', 'createdDate', 'updatedDate', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'placementName' => [ 'shape' => 'PlacementName', ], 'createdDate' => [ 'shape' => 'Time', ], 'updatedDate' => [ 'shape' => 'Time', ], ], ], 'PlacementSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlacementSummary', ], ], 'PlacementTemplate' => [ 'type' => 'structure', 'members' => [ 'defaultAttributes' => [ 'shape' => 'DefaultPlacementAttributeMap', ], 'deviceTemplates' => [ 'shape' => 'DeviceTemplateMap', ], ], ], 'ProjectArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:iot1click:[A-Za-z0-9_/.-]{0,63}:\\d+:projects/[0-9A-Za-z_-]{1,128}$', ], 'ProjectDescription' => [ 'type' => 'structure', 'required' => [ 'projectName', 'createdDate', 'updatedDate', ], 'members' => [ 'arn' => [ 'shape' => 'ProjectArn', ], 'projectName' => [ 'shape' => 'ProjectName', ], 'description' => [ 'shape' => 'Description', ], 'createdDate' => [ 'shape' => 'Time', ], 'updatedDate' => [ 'shape' => 'Time', ], 'placementTemplate' => [ 'shape' => 'PlacementTemplate', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'ProjectName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[0-9A-Za-z_-]+$', ], 'ProjectSummary' => [ 'type' => 'structure', 'required' => [ 'projectName', 'createdDate', 'updatedDate', ], 'members' => [ 'arn' => [ 'shape' => 'ProjectArn', ], 'projectName' => [ 'shape' => 'ProjectName', ], 'createdDate' => [ 'shape' => 'Time', ], 'updatedDate' => [ 'shape' => 'Time', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'ProjectSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSummary', ], ], 'ResourceConflictException' => [ 'type' => 'structure', 'required' => [ 'code', 'message', ], 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'required' => [ 'code', 'message', ], 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^(?!aws:)[a-zA-Z+-=._:/]+$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ProjectArn', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, ], 'Time' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'required' => [ 'code', 'message', ], 'members' => [ 'code' => [ 'shape' => 'Code', ], 'message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ProjectArn', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdatePlacementRequest' => [ 'type' => 'structure', 'required' => [ 'placementName', 'projectName', ], 'members' => [ 'placementName' => [ 'shape' => 'PlacementName', 'location' => 'uri', 'locationName' => 'placementName', ], 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'attributes' => [ 'shape' => 'PlacementAttributeMap', ], ], ], 'UpdatePlacementResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', 'location' => 'uri', 'locationName' => 'projectName', ], 'description' => [ 'shape' => 'Description', ], 'placementTemplate' => [ 'shape' => 'PlacementTemplate', ], ], ], 'UpdateProjectResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/iot1click-projects/2018-05-14/paginators-1.json.php b/lib/aws/Aws/data/iot1click-projects/2018-05-14/paginators-1.json.php new file mode 100644 index 0000000..e911c14 --- /dev/null +++ b/lib/aws/Aws/data/iot1click-projects/2018-05-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iot1click-projects/2018-05-14/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/iotanalytics/2017-11-27/api-2.json.php b/lib/aws/Aws/data/iotanalytics/2017-11-27/api-2.json.php new file mode 100644 index 0000000..1c5fce8 --- /dev/null +++ b/lib/aws/Aws/data/iotanalytics/2017-11-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iotanalytics/2017-11-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-11-27', 'endpointPrefix' => 'iotanalytics', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS IoT Analytics', 'serviceId' => 'IoTAnalytics', 'signatureVersion' => 'v4', 'signingName' => 'iotanalytics', 'uid' => 'iotanalytics-2017-11-27', ], 'operations' => [ 'BatchPutMessage' => [ 'name' => 'BatchPutMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/messages/batch', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchPutMessageRequest', ], 'output' => [ 'shape' => 'BatchPutMessageResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CancelPipelineReprocessing' => [ 'name' => 'CancelPipelineReprocessing', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/pipelines/{pipelineName}/reprocessing/{reprocessingId}', ], 'input' => [ 'shape' => 'CancelPipelineReprocessingRequest', ], 'output' => [ 'shape' => 'CancelPipelineReprocessingResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateChannel' => [ 'name' => 'CreateChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/channels', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateChannelRequest', ], 'output' => [ 'shape' => 'CreateChannelResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateDataset' => [ 'name' => 'CreateDataset', 'http' => [ 'method' => 'POST', 'requestUri' => '/datasets', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDatasetRequest', ], 'output' => [ 'shape' => 'CreateDatasetResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateDatasetContent' => [ 'name' => 'CreateDatasetContent', 'http' => [ 'method' => 'POST', 'requestUri' => '/datasets/{datasetName}/content', ], 'input' => [ 'shape' => 'CreateDatasetContentRequest', ], 'output' => [ 'shape' => 'CreateDatasetContentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateDatastore' => [ 'name' => 'CreateDatastore', 'http' => [ 'method' => 'POST', 'requestUri' => '/datastores', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateDatastoreRequest', ], 'output' => [ 'shape' => 'CreateDatastoreResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreatePipeline' => [ 'name' => 'CreatePipeline', 'http' => [ 'method' => 'POST', 'requestUri' => '/pipelines', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePipelineRequest', ], 'output' => [ 'shape' => 'CreatePipelineResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteChannel' => [ 'name' => 'DeleteChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/channels/{channelName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteChannelRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteDataset' => [ 'name' => 'DeleteDataset', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/datasets/{datasetName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDatasetRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteDatasetContent' => [ 'name' => 'DeleteDatasetContent', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/datasets/{datasetName}/content', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDatasetContentRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteDatastore' => [ 'name' => 'DeleteDatastore', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/datastores/{datastoreName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDatastoreRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeletePipeline' => [ 'name' => 'DeletePipeline', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/pipelines/{pipelineName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePipelineRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeChannel' => [ 'name' => 'DescribeChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/channels/{channelName}', ], 'input' => [ 'shape' => 'DescribeChannelRequest', ], 'output' => [ 'shape' => 'DescribeChannelResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeDataset' => [ 'name' => 'DescribeDataset', 'http' => [ 'method' => 'GET', 'requestUri' => '/datasets/{datasetName}', ], 'input' => [ 'shape' => 'DescribeDatasetRequest', ], 'output' => [ 'shape' => 'DescribeDatasetResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeDatastore' => [ 'name' => 'DescribeDatastore', 'http' => [ 'method' => 'GET', 'requestUri' => '/datastores/{datastoreName}', ], 'input' => [ 'shape' => 'DescribeDatastoreRequest', ], 'output' => [ 'shape' => 'DescribeDatastoreResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeLoggingOptions' => [ 'name' => 'DescribeLoggingOptions', 'http' => [ 'method' => 'GET', 'requestUri' => '/logging', ], 'input' => [ 'shape' => 'DescribeLoggingOptionsRequest', ], 'output' => [ 'shape' => 'DescribeLoggingOptionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribePipeline' => [ 'name' => 'DescribePipeline', 'http' => [ 'method' => 'GET', 'requestUri' => '/pipelines/{pipelineName}', ], 'input' => [ 'shape' => 'DescribePipelineRequest', ], 'output' => [ 'shape' => 'DescribePipelineResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetDatasetContent' => [ 'name' => 'GetDatasetContent', 'http' => [ 'method' => 'GET', 'requestUri' => '/datasets/{datasetName}/content', ], 'input' => [ 'shape' => 'GetDatasetContentRequest', ], 'output' => [ 'shape' => 'GetDatasetContentResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListChannels' => [ 'name' => 'ListChannels', 'http' => [ 'method' => 'GET', 'requestUri' => '/channels', ], 'input' => [ 'shape' => 'ListChannelsRequest', ], 'output' => [ 'shape' => 'ListChannelsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListDatasetContents' => [ 'name' => 'ListDatasetContents', 'http' => [ 'method' => 'GET', 'requestUri' => '/datasets/{datasetName}/contents', ], 'input' => [ 'shape' => 'ListDatasetContentsRequest', ], 'output' => [ 'shape' => 'ListDatasetContentsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListDatasets' => [ 'name' => 'ListDatasets', 'http' => [ 'method' => 'GET', 'requestUri' => '/datasets', ], 'input' => [ 'shape' => 'ListDatasetsRequest', ], 'output' => [ 'shape' => 'ListDatasetsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListDatastores' => [ 'name' => 'ListDatastores', 'http' => [ 'method' => 'GET', 'requestUri' => '/datastores', ], 'input' => [ 'shape' => 'ListDatastoresRequest', ], 'output' => [ 'shape' => 'ListDatastoresResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListPipelines' => [ 'name' => 'ListPipelines', 'http' => [ 'method' => 'GET', 'requestUri' => '/pipelines', ], 'input' => [ 'shape' => 'ListPipelinesRequest', ], 'output' => [ 'shape' => 'ListPipelinesResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'PutLoggingOptions' => [ 'name' => 'PutLoggingOptions', 'http' => [ 'method' => 'PUT', 'requestUri' => '/logging', ], 'input' => [ 'shape' => 'PutLoggingOptionsRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'RunPipelineActivity' => [ 'name' => 'RunPipelineActivity', 'http' => [ 'method' => 'POST', 'requestUri' => '/pipelineactivities/run', ], 'input' => [ 'shape' => 'RunPipelineActivityRequest', ], 'output' => [ 'shape' => 'RunPipelineActivityResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'SampleChannelData' => [ 'name' => 'SampleChannelData', 'http' => [ 'method' => 'GET', 'requestUri' => '/channels/{channelName}/sample', ], 'input' => [ 'shape' => 'SampleChannelDataRequest', ], 'output' => [ 'shape' => 'SampleChannelDataResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'StartPipelineReprocessing' => [ 'name' => 'StartPipelineReprocessing', 'http' => [ 'method' => 'POST', 'requestUri' => '/pipelines/{pipelineName}/reprocessing', ], 'input' => [ 'shape' => 'StartPipelineReprocessingRequest', ], 'output' => [ 'shape' => 'StartPipelineReprocessingResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateChannel' => [ 'name' => 'UpdateChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/channels/{channelName}', ], 'input' => [ 'shape' => 'UpdateChannelRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateDataset' => [ 'name' => 'UpdateDataset', 'http' => [ 'method' => 'PUT', 'requestUri' => '/datasets/{datasetName}', ], 'input' => [ 'shape' => 'UpdateDatasetRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateDatastore' => [ 'name' => 'UpdateDatastore', 'http' => [ 'method' => 'PUT', 'requestUri' => '/datastores/{datastoreName}', ], 'input' => [ 'shape' => 'UpdateDatastoreRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdatePipeline' => [ 'name' => 'UpdatePipeline', 'http' => [ 'method' => 'PUT', 'requestUri' => '/pipelines/{pipelineName}', ], 'input' => [ 'shape' => 'UpdatePipelineRequest', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'ActivityBatchSize' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'ActivityName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'AddAttributesActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attributes', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attributes' => [ 'shape' => 'AttributeNameMapping', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'AttributeNameMapping' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeName', ], 'max' => 50, 'min' => 1, ], 'AttributeNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], 'max' => 50, 'min' => 1, ], 'BatchPutMessageErrorEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchPutMessageErrorEntry', ], ], 'BatchPutMessageErrorEntry' => [ 'type' => 'structure', 'members' => [ 'messageId' => [ 'shape' => 'MessageId', ], 'errorCode' => [ 'shape' => 'ErrorCode', ], 'errorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'BatchPutMessageRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', 'messages', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', ], 'messages' => [ 'shape' => 'Messages', ], ], ], 'BatchPutMessageResponse' => [ 'type' => 'structure', 'members' => [ 'batchPutMessageErrorEntries' => [ 'shape' => 'BatchPutMessageErrorEntries', ], ], ], 'CancelPipelineReprocessingRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'reprocessingId', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', 'location' => 'uri', 'locationName' => 'pipelineName', ], 'reprocessingId' => [ 'shape' => 'ReprocessingId', 'location' => 'uri', 'locationName' => 'reprocessingId', ], ], ], 'CancelPipelineReprocessingResponse' => [ 'type' => 'structure', 'members' => [], ], 'Channel' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ChannelName', ], 'arn' => [ 'shape' => 'ChannelArn', ], 'status' => [ 'shape' => 'ChannelStatus', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'ChannelActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'channelName', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'channelName' => [ 'shape' => 'ChannelName', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'ChannelArn' => [ 'type' => 'string', ], 'ChannelName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'ChannelStatistics' => [ 'type' => 'structure', 'members' => [ 'size' => [ 'shape' => 'EstimatedResourceSize', ], ], ], 'ChannelStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', ], ], 'ChannelSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelSummary', ], ], 'ChannelSummary' => [ 'type' => 'structure', 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', ], 'status' => [ 'shape' => 'ChannelStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'ComputeType' => [ 'type' => 'string', 'enum' => [ 'ACU_1', 'ACU_2', ], ], 'ContainerDatasetAction' => [ 'type' => 'structure', 'required' => [ 'image', 'executionRoleArn', 'resourceConfiguration', ], 'members' => [ 'image' => [ 'shape' => 'Image', ], 'executionRoleArn' => [ 'shape' => 'RoleArn', ], 'resourceConfiguration' => [ 'shape' => 'ResourceConfiguration', ], 'variables' => [ 'shape' => 'Variables', ], ], ], 'CreateChannelRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateChannelResponse' => [ 'type' => 'structure', 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', ], 'channelArn' => [ 'shape' => 'ChannelArn', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], 'CreateDatasetContentRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], ], ], 'CreateDatasetContentResponse' => [ 'type' => 'structure', 'members' => [ 'versionId' => [ 'shape' => 'DatasetContentVersion', ], ], ], 'CreateDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', 'actions', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', ], 'actions' => [ 'shape' => 'DatasetActions', ], 'triggers' => [ 'shape' => 'DatasetTriggers', ], 'contentDeliveryRules' => [ 'shape' => 'DatasetContentDeliveryRules', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'versioningConfiguration' => [ 'shape' => 'VersioningConfiguration', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDatasetResponse' => [ 'type' => 'structure', 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', ], 'datasetArn' => [ 'shape' => 'DatasetArn', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], 'CreateDatastoreRequest' => [ 'type' => 'structure', 'required' => [ 'datastoreName', ], 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDatastoreResponse' => [ 'type' => 'structure', 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', ], 'datastoreArn' => [ 'shape' => 'DatastoreArn', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], 'CreatePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'pipelineActivities', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'pipelineActivities' => [ 'shape' => 'PipelineActivities', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreatePipelineResponse' => [ 'type' => 'structure', 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'pipelineArn' => [ 'shape' => 'PipelineArn', ], ], ], 'Dataset' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'DatasetName', ], 'arn' => [ 'shape' => 'DatasetArn', ], 'actions' => [ 'shape' => 'DatasetActions', ], 'triggers' => [ 'shape' => 'DatasetTriggers', ], 'contentDeliveryRules' => [ 'shape' => 'DatasetContentDeliveryRules', ], 'status' => [ 'shape' => 'DatasetStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'versioningConfiguration' => [ 'shape' => 'VersioningConfiguration', ], ], ], 'DatasetAction' => [ 'type' => 'structure', 'members' => [ 'actionName' => [ 'shape' => 'DatasetActionName', ], 'queryAction' => [ 'shape' => 'SqlQueryDatasetAction', ], 'containerAction' => [ 'shape' => 'ContainerDatasetAction', ], ], ], 'DatasetActionName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'DatasetActionSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetActionSummary', ], 'max' => 1, 'min' => 1, ], 'DatasetActionSummary' => [ 'type' => 'structure', 'members' => [ 'actionName' => [ 'shape' => 'DatasetActionName', ], 'actionType' => [ 'shape' => 'DatasetActionType', ], ], ], 'DatasetActionType' => [ 'type' => 'string', 'enum' => [ 'QUERY', 'CONTAINER', ], ], 'DatasetActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetAction', ], 'max' => 1, 'min' => 1, ], 'DatasetArn' => [ 'type' => 'string', ], 'DatasetContentDeliveryDestination' => [ 'type' => 'structure', 'members' => [ 'iotEventsDestinationConfiguration' => [ 'shape' => 'IotEventsDestinationConfiguration', ], ], ], 'DatasetContentDeliveryRule' => [ 'type' => 'structure', 'required' => [ 'destination', ], 'members' => [ 'entryName' => [ 'shape' => 'EntryName', ], 'destination' => [ 'shape' => 'DatasetContentDeliveryDestination', ], ], ], 'DatasetContentDeliveryRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetContentDeliveryRule', ], 'max' => 20, 'min' => 0, ], 'DatasetContentState' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'SUCCEEDED', 'FAILED', ], ], 'DatasetContentStatus' => [ 'type' => 'structure', 'members' => [ 'state' => [ 'shape' => 'DatasetContentState', ], 'reason' => [ 'shape' => 'Reason', ], ], ], 'DatasetContentSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetContentSummary', ], ], 'DatasetContentSummary' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'DatasetContentVersion', ], 'status' => [ 'shape' => 'DatasetContentStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'scheduleTime' => [ 'shape' => 'Timestamp', ], ], ], 'DatasetContentVersion' => [ 'type' => 'string', 'max' => 36, 'min' => 7, ], 'DatasetContentVersionValue' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', ], ], ], 'DatasetEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetEntry', ], ], 'DatasetEntry' => [ 'type' => 'structure', 'members' => [ 'entryName' => [ 'shape' => 'EntryName', ], 'dataURI' => [ 'shape' => 'PresignedURI', ], ], ], 'DatasetName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'DatasetStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', ], ], 'DatasetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetSummary', ], ], 'DatasetSummary' => [ 'type' => 'structure', 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', ], 'status' => [ 'shape' => 'DatasetStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], 'triggers' => [ 'shape' => 'DatasetTriggers', ], 'actions' => [ 'shape' => 'DatasetActionSummaries', ], ], ], 'DatasetTrigger' => [ 'type' => 'structure', 'members' => [ 'schedule' => [ 'shape' => 'Schedule', ], 'dataset' => [ 'shape' => 'TriggeringDataset', ], ], ], 'DatasetTriggers' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatasetTrigger', ], 'max' => 5, 'min' => 0, ], 'Datastore' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'DatastoreName', ], 'arn' => [ 'shape' => 'DatastoreArn', ], 'status' => [ 'shape' => 'DatastoreStatus', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'DatastoreActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'datastoreName', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'datastoreName' => [ 'shape' => 'DatastoreName', ], ], ], 'DatastoreArn' => [ 'type' => 'string', ], 'DatastoreName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'DatastoreStatistics' => [ 'type' => 'structure', 'members' => [ 'size' => [ 'shape' => 'EstimatedResourceSize', ], ], ], 'DatastoreStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', ], ], 'DatastoreSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatastoreSummary', ], ], 'DatastoreSummary' => [ 'type' => 'structure', 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', ], 'status' => [ 'shape' => 'DatastoreStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'DeleteChannelRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', 'location' => 'uri', 'locationName' => 'channelName', ], ], ], 'DeleteDatasetContentRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], 'versionId' => [ 'shape' => 'DatasetContentVersion', 'location' => 'querystring', 'locationName' => 'versionId', ], ], ], 'DeleteDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], ], ], 'DeleteDatastoreRequest' => [ 'type' => 'structure', 'required' => [ 'datastoreName', ], 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', 'location' => 'uri', 'locationName' => 'datastoreName', ], ], ], 'DeletePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', 'location' => 'uri', 'locationName' => 'pipelineName', ], ], ], 'DeltaTime' => [ 'type' => 'structure', 'required' => [ 'offsetSeconds', 'timeExpression', ], 'members' => [ 'offsetSeconds' => [ 'shape' => 'OffsetSeconds', ], 'timeExpression' => [ 'shape' => 'TimeExpression', ], ], ], 'DescribeChannelRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', 'location' => 'uri', 'locationName' => 'channelName', ], 'includeStatistics' => [ 'shape' => 'IncludeStatisticsFlag', 'location' => 'querystring', 'locationName' => 'includeStatistics', ], ], ], 'DescribeChannelResponse' => [ 'type' => 'structure', 'members' => [ 'channel' => [ 'shape' => 'Channel', ], 'statistics' => [ 'shape' => 'ChannelStatistics', ], ], ], 'DescribeDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], ], ], 'DescribeDatasetResponse' => [ 'type' => 'structure', 'members' => [ 'dataset' => [ 'shape' => 'Dataset', ], ], ], 'DescribeDatastoreRequest' => [ 'type' => 'structure', 'required' => [ 'datastoreName', ], 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', 'location' => 'uri', 'locationName' => 'datastoreName', ], 'includeStatistics' => [ 'shape' => 'IncludeStatisticsFlag', 'location' => 'querystring', 'locationName' => 'includeStatistics', ], ], ], 'DescribeDatastoreResponse' => [ 'type' => 'structure', 'members' => [ 'datastore' => [ 'shape' => 'Datastore', ], 'statistics' => [ 'shape' => 'DatastoreStatistics', ], ], ], 'DescribeLoggingOptionsRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeLoggingOptionsResponse' => [ 'type' => 'structure', 'members' => [ 'loggingOptions' => [ 'shape' => 'LoggingOptions', ], ], ], 'DescribePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', 'location' => 'uri', 'locationName' => 'pipelineName', ], ], ], 'DescribePipelineResponse' => [ 'type' => 'structure', 'members' => [ 'pipeline' => [ 'shape' => 'Pipeline', ], ], ], 'DeviceRegistryEnrichActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attribute', 'thingName', 'roleArn', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attribute' => [ 'shape' => 'AttributeName', ], 'thingName' => [ 'shape' => 'AttributeName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'DeviceShadowEnrichActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attribute', 'thingName', 'roleArn', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attribute' => [ 'shape' => 'AttributeName', ], 'thingName' => [ 'shape' => 'AttributeName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'DoubleValue' => [ 'type' => 'double', ], 'EndTime' => [ 'type' => 'timestamp', ], 'EntryName' => [ 'type' => 'string', ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'EstimatedResourceSize' => [ 'type' => 'structure', 'members' => [ 'estimatedSizeInBytes' => [ 'shape' => 'SizeInBytes', ], 'estimatedOn' => [ 'shape' => 'Timestamp', ], ], ], 'FilterActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'filter', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'filter' => [ 'shape' => 'FilterExpression', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'FilterExpression' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'GetDatasetContentRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], 'versionId' => [ 'shape' => 'DatasetContentVersion', 'location' => 'querystring', 'locationName' => 'versionId', ], ], ], 'GetDatasetContentResponse' => [ 'type' => 'structure', 'members' => [ 'entries' => [ 'shape' => 'DatasetEntries', ], 'timestamp' => [ 'shape' => 'Timestamp', ], 'status' => [ 'shape' => 'DatasetContentStatus', ], ], ], 'Image' => [ 'type' => 'string', 'max' => 255, ], 'IncludeStatisticsFlag' => [ 'type' => 'boolean', ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IotEventsDestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'inputName', 'roleArn', ], 'members' => [ 'inputName' => [ 'shape' => 'IotEventsInputName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'IotEventsInputName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z][a-zA-Z0-9_]*$', ], 'LambdaActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'lambdaName', 'batchSize', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'lambdaName' => [ 'shape' => 'LambdaName', ], 'batchSize' => [ 'shape' => 'ActivityBatchSize', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'LambdaName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_-]+$', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 410, ], 'exception' => true, ], 'ListChannelsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'channelSummaries' => [ 'shape' => 'ChannelSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDatasetContentsRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'scheduledOnOrAfter' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'scheduledOnOrAfter', ], 'scheduledBefore' => [ 'shape' => 'Timestamp', 'location' => 'querystring', 'locationName' => 'scheduledBefore', ], ], ], 'ListDatasetContentsResponse' => [ 'type' => 'structure', 'members' => [ 'datasetContentSummaries' => [ 'shape' => 'DatasetContentSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDatasetsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListDatasetsResponse' => [ 'type' => 'structure', 'members' => [ 'datasetSummaries' => [ 'shape' => 'DatasetSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDatastoresRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListDatastoresResponse' => [ 'type' => 'structure', 'members' => [ 'datastoreSummaries' => [ 'shape' => 'DatastoreSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPipelinesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'ListPipelinesResponse' => [ 'type' => 'structure', 'members' => [ 'pipelineSummaries' => [ 'shape' => 'PipelineSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagList', ], ], ], 'LogResult' => [ 'type' => 'string', ], 'LoggingEnabled' => [ 'type' => 'boolean', ], 'LoggingLevel' => [ 'type' => 'string', 'enum' => [ 'ERROR', ], ], 'LoggingOptions' => [ 'type' => 'structure', 'required' => [ 'roleArn', 'level', 'enabled', ], 'members' => [ 'roleArn' => [ 'shape' => 'RoleArn', ], 'level' => [ 'shape' => 'LoggingLevel', ], 'enabled' => [ 'shape' => 'LoggingEnabled', ], ], ], 'MathActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attribute', 'math', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attribute' => [ 'shape' => 'AttributeName', ], 'math' => [ 'shape' => 'MathExpression', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'MathExpression' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'MaxMessages' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 250, 'min' => 1, ], 'MaxVersions' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Message' => [ 'type' => 'structure', 'required' => [ 'messageId', 'payload', ], 'members' => [ 'messageId' => [ 'shape' => 'MessageId', ], 'payload' => [ 'shape' => 'MessagePayload', ], ], ], 'MessageId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'MessagePayload' => [ 'type' => 'blob', ], 'MessagePayloads' => [ 'type' => 'list', 'member' => [ 'shape' => 'MessagePayload', ], 'max' => 10, 'min' => 1, ], 'Messages' => [ 'type' => 'list', 'member' => [ 'shape' => 'Message', ], ], 'NextToken' => [ 'type' => 'string', ], 'OffsetSeconds' => [ 'type' => 'integer', ], 'OutputFileName' => [ 'type' => 'string', 'pattern' => '[\\w\\.-]{1,255}', ], 'OutputFileUriValue' => [ 'type' => 'structure', 'required' => [ 'fileName', ], 'members' => [ 'fileName' => [ 'shape' => 'OutputFileName', ], ], ], 'Pipeline' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'arn' => [ 'shape' => 'PipelineArn', ], 'activities' => [ 'shape' => 'PipelineActivities', ], 'reprocessingSummaries' => [ 'shape' => 'ReprocessingSummaries', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'PipelineActivities' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineActivity', ], 'max' => 25, 'min' => 1, ], 'PipelineActivity' => [ 'type' => 'structure', 'members' => [ 'channel' => [ 'shape' => 'ChannelActivity', ], 'lambda' => [ 'shape' => 'LambdaActivity', ], 'datastore' => [ 'shape' => 'DatastoreActivity', ], 'addAttributes' => [ 'shape' => 'AddAttributesActivity', ], 'removeAttributes' => [ 'shape' => 'RemoveAttributesActivity', ], 'selectAttributes' => [ 'shape' => 'SelectAttributesActivity', ], 'filter' => [ 'shape' => 'FilterActivity', ], 'math' => [ 'shape' => 'MathActivity', ], 'deviceRegistryEnrich' => [ 'shape' => 'DeviceRegistryEnrichActivity', ], 'deviceShadowEnrich' => [ 'shape' => 'DeviceShadowEnrichActivity', ], ], ], 'PipelineArn' => [ 'type' => 'string', ], 'PipelineName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_]+$', ], 'PipelineSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelineSummary', ], ], 'PipelineSummary' => [ 'type' => 'structure', 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', ], 'reprocessingSummaries' => [ 'shape' => 'ReprocessingSummaries', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], ], ], 'PresignedURI' => [ 'type' => 'string', ], 'PutLoggingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'loggingOptions', ], 'members' => [ 'loggingOptions' => [ 'shape' => 'LoggingOptions', ], ], ], 'QueryFilter' => [ 'type' => 'structure', 'members' => [ 'deltaTime' => [ 'shape' => 'DeltaTime', ], ], ], 'QueryFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryFilter', ], 'max' => 1, 'min' => 0, ], 'Reason' => [ 'type' => 'string', ], 'RemoveAttributesActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attributes', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attributes' => [ 'shape' => 'AttributeNames', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'ReprocessingId' => [ 'type' => 'string', ], 'ReprocessingStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'SUCCEEDED', 'CANCELLED', 'FAILED', ], ], 'ReprocessingSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReprocessingSummary', ], ], 'ReprocessingSummary' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'ReprocessingId', ], 'status' => [ 'shape' => 'ReprocessingStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], 'resourceId' => [ 'shape' => 'resourceId', ], 'resourceArn' => [ 'shape' => 'resourceArn', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'ResourceConfiguration' => [ 'type' => 'structure', 'required' => [ 'computeType', 'volumeSizeInGB', ], 'members' => [ 'computeType' => [ 'shape' => 'ComputeType', ], 'volumeSizeInGB' => [ 'shape' => 'VolumeSizeInGB', ], ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RetentionPeriod' => [ 'type' => 'structure', 'members' => [ 'unlimited' => [ 'shape' => 'UnlimitedRetentionPeriod', ], 'numberOfDays' => [ 'shape' => 'RetentionPeriodInDays', ], ], ], 'RetentionPeriodInDays' => [ 'type' => 'integer', 'min' => 1, ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'RunPipelineActivityRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineActivity', 'payloads', ], 'members' => [ 'pipelineActivity' => [ 'shape' => 'PipelineActivity', ], 'payloads' => [ 'shape' => 'MessagePayloads', ], ], ], 'RunPipelineActivityResponse' => [ 'type' => 'structure', 'members' => [ 'payloads' => [ 'shape' => 'MessagePayloads', ], 'logResult' => [ 'shape' => 'LogResult', ], ], ], 'SampleChannelDataRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', 'location' => 'uri', 'locationName' => 'channelName', ], 'maxMessages' => [ 'shape' => 'MaxMessages', 'location' => 'querystring', 'locationName' => 'maxMessages', ], 'startTime' => [ 'shape' => 'StartTime', 'location' => 'querystring', 'locationName' => 'startTime', ], 'endTime' => [ 'shape' => 'EndTime', 'location' => 'querystring', 'locationName' => 'endTime', ], ], ], 'SampleChannelDataResponse' => [ 'type' => 'structure', 'members' => [ 'payloads' => [ 'shape' => 'MessagePayloads', ], ], ], 'Schedule' => [ 'type' => 'structure', 'members' => [ 'expression' => [ 'shape' => 'ScheduleExpression', ], ], ], 'ScheduleExpression' => [ 'type' => 'string', ], 'SelectAttributesActivity' => [ 'type' => 'structure', 'required' => [ 'name', 'attributes', ], 'members' => [ 'name' => [ 'shape' => 'ActivityName', ], 'attributes' => [ 'shape' => 'AttributeNames', ], 'next' => [ 'shape' => 'ActivityName', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'SizeInBytes' => [ 'type' => 'double', ], 'SqlQuery' => [ 'type' => 'string', ], 'SqlQueryDatasetAction' => [ 'type' => 'structure', 'required' => [ 'sqlQuery', ], 'members' => [ 'sqlQuery' => [ 'shape' => 'SqlQuery', ], 'filters' => [ 'shape' => 'QueryFilters', ], ], ], 'StartPipelineReprocessingRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', 'location' => 'uri', 'locationName' => 'pipelineName', ], 'startTime' => [ 'shape' => 'StartTime', ], 'endTime' => [ 'shape' => 'EndTime', ], ], ], 'StartPipelineReprocessingResponse' => [ 'type' => 'structure', 'members' => [ 'reprocessingId' => [ 'shape' => 'ReprocessingId', ], ], ], 'StartTime' => [ 'type' => 'timestamp', ], 'StringValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TimeExpression' => [ 'type' => 'string', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TriggeringDataset' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'DatasetName', ], ], ], 'UnlimitedRetentionPeriod' => [ 'type' => 'boolean', ], 'UnlimitedVersioning' => [ 'type' => 'boolean', ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'ResourceArn', 'location' => 'querystring', 'locationName' => 'resourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateChannelRequest' => [ 'type' => 'structure', 'required' => [ 'channelName', ], 'members' => [ 'channelName' => [ 'shape' => 'ChannelName', 'location' => 'uri', 'locationName' => 'channelName', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], 'UpdateDatasetRequest' => [ 'type' => 'structure', 'required' => [ 'datasetName', 'actions', ], 'members' => [ 'datasetName' => [ 'shape' => 'DatasetName', 'location' => 'uri', 'locationName' => 'datasetName', ], 'actions' => [ 'shape' => 'DatasetActions', ], 'triggers' => [ 'shape' => 'DatasetTriggers', ], 'contentDeliveryRules' => [ 'shape' => 'DatasetContentDeliveryRules', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], 'versioningConfiguration' => [ 'shape' => 'VersioningConfiguration', ], ], ], 'UpdateDatastoreRequest' => [ 'type' => 'structure', 'required' => [ 'datastoreName', ], 'members' => [ 'datastoreName' => [ 'shape' => 'DatastoreName', 'location' => 'uri', 'locationName' => 'datastoreName', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], 'UpdatePipelineRequest' => [ 'type' => 'structure', 'required' => [ 'pipelineName', 'pipelineActivities', ], 'members' => [ 'pipelineName' => [ 'shape' => 'PipelineName', 'location' => 'uri', 'locationName' => 'pipelineName', ], 'pipelineActivities' => [ 'shape' => 'PipelineActivities', ], ], ], 'Variable' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'VariableName', ], 'stringValue' => [ 'shape' => 'StringValue', ], 'doubleValue' => [ 'shape' => 'DoubleValue', 'box' => true, ], 'datasetContentVersionValue' => [ 'shape' => 'DatasetContentVersionValue', ], 'outputFileUriValue' => [ 'shape' => 'OutputFileUriValue', ], ], ], 'VariableName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Variables' => [ 'type' => 'list', 'member' => [ 'shape' => 'Variable', ], 'max' => 50, 'min' => 0, ], 'VersioningConfiguration' => [ 'type' => 'structure', 'members' => [ 'unlimited' => [ 'shape' => 'UnlimitedVersioning', ], 'maxVersions' => [ 'shape' => 'MaxVersions', ], ], ], 'VolumeSizeInGB' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'errorMessage' => [ 'type' => 'string', ], 'resourceArn' => [ 'type' => 'string', ], 'resourceId' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/iotanalytics/2017-11-27/paginators-1.json.php b/lib/aws/Aws/data/iotanalytics/2017-11-27/paginators-1.json.php new file mode 100644 index 0000000..a362d31 --- /dev/null +++ b/lib/aws/Aws/data/iotanalytics/2017-11-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/iotanalytics/2017-11-27/paginators-1.json +return [ 'pagination' => [ 'ListChannels' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatasetContents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatasets' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatastores' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListPipelines' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/kafka/2018-11-14/api-2.json.php b/lib/aws/Aws/data/kafka/2018-11-14/api-2.json.php new file mode 100644 index 0000000..1bfb374 --- /dev/null +++ b/lib/aws/Aws/data/kafka/2018-11-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kafka/2018-11-14/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-11-14', 'endpointPrefix' => 'kafka', 'signingName' => 'kafka', 'serviceFullName' => 'Managed Streaming for Kafka', 'serviceAbbreviation' => 'Kafka', 'serviceId' => 'Kafka', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'kafka-2018-11-14', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/clusters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/clusters/{clusterArn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteClusterRequest', ], 'output' => [ 'shape' => 'DeleteClusterResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeCluster' => [ 'name' => 'DescribeCluster', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/clusters/{clusterArn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeClusterRequest', ], 'output' => [ 'shape' => 'DescribeClusterResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'GetBootstrapBrokers' => [ 'name' => 'GetBootstrapBrokers', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/clusters/{clusterArn}/bootstrap-brokers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBootstrapBrokersRequest', ], 'output' => [ 'shape' => 'GetBootstrapBrokersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListClusters' => [ 'name' => 'ListClusters', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/clusters', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListClustersRequest', ], 'output' => [ 'shape' => 'ListClustersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListNodes' => [ 'name' => 'ListNodes', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/clusters/{clusterArn}/nodes', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListNodesRequest', ], 'output' => [ 'shape' => 'ListNodesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], ], 'shapes' => [ 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BrokerAZDistribution' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', ], ], 'BrokerNodeGroupInfo' => [ 'type' => 'structure', 'members' => [ 'BrokerAZDistribution' => [ 'shape' => 'BrokerAZDistribution', 'locationName' => 'brokerAZDistribution', ], 'ClientSubnets' => [ 'shape' => '__listOf__string', 'locationName' => 'clientSubnets', ], 'InstanceType' => [ 'shape' => '__stringMin5Max32', 'locationName' => 'instanceType', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'StorageInfo' => [ 'shape' => 'StorageInfo', 'locationName' => 'storageInfo', ], ], 'required' => [ 'ClientSubnets', 'InstanceType', ], ], 'BrokerNodeInfo' => [ 'type' => 'structure', 'members' => [ 'AttachedENIId' => [ 'shape' => '__string', 'locationName' => 'attachedENIId', ], 'BrokerId' => [ 'shape' => '__double', 'locationName' => 'brokerId', ], 'ClientSubnet' => [ 'shape' => '__string', 'locationName' => 'clientSubnet', ], 'ClientVpcIpAddress' => [ 'shape' => '__string', 'locationName' => 'clientVpcIpAddress', ], 'CurrentBrokerSoftwareInfo' => [ 'shape' => 'BrokerSoftwareInfo', 'locationName' => 'currentBrokerSoftwareInfo', ], ], ], 'BrokerSoftwareInfo' => [ 'type' => 'structure', 'members' => [ 'ConfigurationArn' => [ 'shape' => '__string', 'locationName' => 'configurationArn', ], 'ConfigurationRevision' => [ 'shape' => '__string', 'locationName' => 'configurationRevision', ], 'KafkaVersion' => [ 'shape' => '__string', 'locationName' => 'kafkaVersion', ], ], ], 'ClusterInfo' => [ 'type' => 'structure', 'members' => [ 'BrokerNodeGroupInfo' => [ 'shape' => 'BrokerNodeGroupInfo', 'locationName' => 'brokerNodeGroupInfo', ], 'ClusterArn' => [ 'shape' => '__string', 'locationName' => 'clusterArn', ], 'ClusterName' => [ 'shape' => '__string', 'locationName' => 'clusterName', ], 'CreationTime' => [ 'shape' => '__timestampIso8601', 'locationName' => 'creationTime', ], 'CurrentBrokerSoftwareInfo' => [ 'shape' => 'BrokerSoftwareInfo', 'locationName' => 'currentBrokerSoftwareInfo', ], 'CurrentVersion' => [ 'shape' => '__string', 'locationName' => 'currentVersion', ], 'EncryptionInfo' => [ 'shape' => 'EncryptionInfo', 'locationName' => 'encryptionInfo', ], 'EnhancedMonitoring' => [ 'shape' => 'EnhancedMonitoring', 'locationName' => 'enhancedMonitoring', ], 'NumberOfBrokerNodes' => [ 'shape' => '__integer', 'locationName' => 'numberOfBrokerNodes', ], 'State' => [ 'shape' => 'ClusterState', 'locationName' => 'state', ], 'ZookeeperConnectString' => [ 'shape' => '__string', 'locationName' => 'zookeeperConnectString', ], ], ], 'ClusterState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'CREATING', 'DELETING', 'FAILED', ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateClusterRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerNodeGroupInfo' => [ 'shape' => 'BrokerNodeGroupInfo', 'locationName' => 'brokerNodeGroupInfo', ], 'ClusterName' => [ 'shape' => '__stringMin1Max64', 'locationName' => 'clusterName', ], 'EncryptionInfo' => [ 'shape' => 'EncryptionInfo', 'locationName' => 'encryptionInfo', ], 'EnhancedMonitoring' => [ 'shape' => 'EnhancedMonitoring', 'locationName' => 'enhancedMonitoring', ], 'KafkaVersion' => [ 'shape' => '__stringMin1Max128', 'locationName' => 'kafkaVersion', ], 'NumberOfBrokerNodes' => [ 'shape' => '__integerMin1Max15', 'locationName' => 'numberOfBrokerNodes', ], ], 'required' => [ 'BrokerNodeGroupInfo', 'KafkaVersion', 'NumberOfBrokerNodes', 'ClusterName', ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'locationName' => 'clusterArn', ], 'ClusterName' => [ 'shape' => '__string', 'locationName' => 'clusterName', ], 'State' => [ 'shape' => 'ClusterState', 'locationName' => 'state', ], ], ], 'DeleteClusterRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'clusterArn', ], 'CurrentVersion' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'currentVersion', ], ], 'required' => [ 'ClusterArn', ], ], 'DeleteClusterResponse' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'locationName' => 'clusterArn', ], 'State' => [ 'shape' => 'ClusterState', 'locationName' => 'state', ], ], ], 'DescribeClusterRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'clusterArn', ], ], 'required' => [ 'ClusterArn', ], ], 'DescribeClusterResponse' => [ 'type' => 'structure', 'members' => [ 'ClusterInfo' => [ 'shape' => 'ClusterInfo', 'locationName' => 'clusterInfo', ], ], ], 'EBSStorageInfo' => [ 'type' => 'structure', 'members' => [ 'VolumeSize' => [ 'shape' => '__integerMin1Max16384', 'locationName' => 'volumeSize', ], ], ], 'EncryptionAtRest' => [ 'type' => 'structure', 'members' => [ 'DataVolumeKMSKeyId' => [ 'shape' => '__string', 'locationName' => 'dataVolumeKMSKeyId', ], ], 'required' => [ 'DataVolumeKMSKeyId', ], ], 'EncryptionInfo' => [ 'type' => 'structure', 'members' => [ 'EncryptionAtRest' => [ 'shape' => 'EncryptionAtRest', 'locationName' => 'encryptionAtRest', ], ], ], 'EnhancedMonitoring' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'PER_BROKER', 'PER_TOPIC_PER_BROKER', ], ], 'Error' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'GetBootstrapBrokersRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'clusterArn', ], ], 'required' => [ 'ClusterArn', ], ], 'GetBootstrapBrokersResponse' => [ 'type' => 'structure', 'members' => [ 'BootstrapBrokerString' => [ 'shape' => '__string', 'locationName' => 'bootstrapBrokerString', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'ListClustersRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterNameFilter' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'clusterNameFilter', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListClustersResponse' => [ 'type' => 'structure', 'members' => [ 'ClusterInfoList' => [ 'shape' => '__listOfClusterInfo', 'locationName' => 'clusterInfoList', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListNodesRequest' => [ 'type' => 'structure', 'members' => [ 'ClusterArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'clusterArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ClusterArn', ], ], 'ListNodesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'NodeInfoList' => [ 'shape' => '__listOfNodeInfo', 'locationName' => 'nodeInfoList', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], 'NodeInfo' => [ 'type' => 'structure', 'members' => [ 'AddedToClusterTime' => [ 'shape' => '__string', 'locationName' => 'addedToClusterTime', ], 'BrokerNodeInfo' => [ 'shape' => 'BrokerNodeInfo', 'locationName' => 'brokerNodeInfo', ], 'InstanceType' => [ 'shape' => '__string', 'locationName' => 'instanceType', ], 'NodeARN' => [ 'shape' => '__string', 'locationName' => 'nodeARN', ], 'NodeType' => [ 'shape' => 'NodeType', 'locationName' => 'nodeType', ], 'ZookeeperNodeInfo' => [ 'shape' => 'ZookeeperNodeInfo', 'locationName' => 'zookeeperNodeInfo', ], ], ], 'NodeType' => [ 'type' => 'string', 'enum' => [ 'BROKER', ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 503, ], ], 'StorageInfo' => [ 'type' => 'structure', 'members' => [ 'EbsStorageInfo' => [ 'shape' => 'EBSStorageInfo', 'locationName' => 'ebsStorageInfo', ], ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'InvalidParameter' => [ 'shape' => '__string', 'locationName' => 'invalidParameter', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 401, ], ], 'ZookeeperNodeInfo' => [ 'type' => 'structure', 'members' => [ 'AttachedENIId' => [ 'shape' => '__string', 'locationName' => 'attachedENIId', ], 'ClientVpcIpAddress' => [ 'shape' => '__string', 'locationName' => 'clientVpcIpAddress', ], 'ZookeeperId' => [ 'shape' => '__double', 'locationName' => 'zookeeperId', ], 'ZookeeperVersion' => [ 'shape' => '__string', 'locationName' => 'zookeeperVersion', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__integerMin1Max15' => [ 'type' => 'integer', 'min' => 1, 'max' => 15, ], '__integerMin1Max16384' => [ 'type' => 'integer', 'min' => 1, 'max' => 16384, ], '__listOfClusterInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterInfo', ], ], '__listOfNodeInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'NodeInfo', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__stringMin1Max128' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], '__stringMin1Max64' => [ 'type' => 'string', 'min' => 1, 'max' => 64, ], '__stringMin5Max32' => [ 'type' => 'string', 'min' => 5, 'max' => 32, ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/kafka/2018-11-14/paginators-1.json.php b/lib/aws/Aws/data/kafka/2018-11-14/paginators-1.json.php new file mode 100644 index 0000000..891cf31 --- /dev/null +++ b/lib/aws/Aws/data/kafka/2018-11-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kafka/2018-11-14/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/api-2.json.php b/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/api-2.json.php new file mode 100644 index 0000000..55e33b8 --- /dev/null +++ b/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis-video-archived-media/2017-09-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-30', 'endpointPrefix' => 'kinesisvideo', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Kinesis Video Archived Media', 'serviceFullName' => 'Amazon Kinesis Video Streams Archived Media', 'serviceId' => 'Kinesis Video Archived Media', 'signatureVersion' => 'v4', 'uid' => 'kinesis-video-archived-media-2017-09-30', ], 'operations' => [ 'GetHLSStreamingSessionURL' => [ 'name' => 'GetHLSStreamingSessionURL', 'http' => [ 'method' => 'POST', 'requestUri' => '/getHLSStreamingSessionURL', ], 'input' => [ 'shape' => 'GetHLSStreamingSessionURLInput', ], 'output' => [ 'shape' => 'GetHLSStreamingSessionURLOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'UnsupportedStreamMediaTypeException', ], [ 'shape' => 'NoDataRetentionException', ], [ 'shape' => 'MissingCodecPrivateDataException', ], [ 'shape' => 'InvalidCodecPrivateDataException', ], ], ], 'GetMediaForFragmentList' => [ 'name' => 'GetMediaForFragmentList', 'http' => [ 'method' => 'POST', 'requestUri' => '/getMediaForFragmentList', ], 'input' => [ 'shape' => 'GetMediaForFragmentListInput', ], 'output' => [ 'shape' => 'GetMediaForFragmentListOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'ListFragments' => [ 'name' => 'ListFragments', 'http' => [ 'method' => 'POST', 'requestUri' => '/listFragments', ], 'input' => [ 'shape' => 'ListFragmentsInput', ], 'output' => [ 'shape' => 'ListFragmentsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], ], 'shapes' => [ 'ClientLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ContainerFormat' => [ 'type' => 'string', 'enum' => [ 'FRAGMENTED_MP4', 'MPEG_TS', ], ], 'ContentType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\.\\-]+$', ], 'DiscontinuityMode' => [ 'type' => 'string', 'enum' => [ 'ALWAYS', 'NEVER', ], ], 'DisplayFragmentTimestamp' => [ 'type' => 'string', 'enum' => [ 'ALWAYS', 'NEVER', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'Expires' => [ 'type' => 'integer', 'max' => 43200, 'min' => 300, ], 'Fragment' => [ 'type' => 'structure', 'members' => [ 'FragmentNumber' => [ 'shape' => 'String', ], 'FragmentSizeInBytes' => [ 'shape' => 'Long', ], 'ProducerTimestamp' => [ 'shape' => 'Timestamp', ], 'ServerTimestamp' => [ 'shape' => 'Timestamp', ], 'FragmentLengthInMilliseconds' => [ 'shape' => 'Long', ], ], ], 'FragmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Fragment', ], ], 'FragmentNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FragmentNumberString', ], 'max' => 1000, 'min' => 1, ], 'FragmentNumberString' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[0-9]+$', ], 'FragmentSelector' => [ 'type' => 'structure', 'required' => [ 'FragmentSelectorType', 'TimestampRange', ], 'members' => [ 'FragmentSelectorType' => [ 'shape' => 'FragmentSelectorType', ], 'TimestampRange' => [ 'shape' => 'TimestampRange', ], ], ], 'FragmentSelectorType' => [ 'type' => 'string', 'enum' => [ 'PRODUCER_TIMESTAMP', 'SERVER_TIMESTAMP', ], ], 'GetHLSStreamingSessionURLInput' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'PlaybackMode' => [ 'shape' => 'PlaybackMode', ], 'HLSFragmentSelector' => [ 'shape' => 'HLSFragmentSelector', ], 'ContainerFormat' => [ 'shape' => 'ContainerFormat', ], 'DiscontinuityMode' => [ 'shape' => 'DiscontinuityMode', ], 'DisplayFragmentTimestamp' => [ 'shape' => 'DisplayFragmentTimestamp', ], 'Expires' => [ 'shape' => 'Expires', ], 'MaxMediaPlaylistFragmentResults' => [ 'shape' => 'PageLimit', ], ], ], 'GetHLSStreamingSessionURLOutput' => [ 'type' => 'structure', 'members' => [ 'HLSStreamingSessionURL' => [ 'shape' => 'HLSStreamingSessionURL', ], ], ], 'GetMediaForFragmentListInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'Fragments', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'Fragments' => [ 'shape' => 'FragmentNumberList', ], ], ], 'GetMediaForFragmentListOutput' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Payload' => [ 'shape' => 'Payload', ], ], 'payload' => 'Payload', ], 'HLSFragmentSelector' => [ 'type' => 'structure', 'members' => [ 'FragmentSelectorType' => [ 'shape' => 'HLSFragmentSelectorType', ], 'TimestampRange' => [ 'shape' => 'HLSTimestampRange', ], ], ], 'HLSFragmentSelectorType' => [ 'type' => 'string', 'enum' => [ 'PRODUCER_TIMESTAMP', 'SERVER_TIMESTAMP', ], ], 'HLSStreamingSessionURL' => [ 'type' => 'string', ], 'HLSTimestampRange' => [ 'type' => 'structure', 'members' => [ 'StartTimestamp' => [ 'shape' => 'Timestamp', ], 'EndTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidCodecPrivateDataException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListFragmentsInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'MaxResults' => [ 'shape' => 'PageLimit', ], 'NextToken' => [ 'shape' => 'String', ], 'FragmentSelector' => [ 'shape' => 'FragmentSelector', ], ], ], 'ListFragmentsOutput' => [ 'type' => 'structure', 'members' => [ 'Fragments' => [ 'shape' => 'FragmentList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', ], 'MissingCodecPrivateDataException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NoDataRetentionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'PageLimit' => [ 'type' => 'long', 'max' => 1000, 'min' => 1, ], 'Payload' => [ 'type' => 'blob', 'streaming' => true, ], 'PlaybackMode' => [ 'type' => 'string', 'enum' => [ 'LIVE', 'ON_DEMAND', ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'StreamName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TimestampRange' => [ 'type' => 'structure', 'required' => [ 'StartTimestamp', 'EndTimestamp', ], 'members' => [ 'StartTimestamp' => [ 'shape' => 'Timestamp', ], 'EndTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'UnsupportedStreamMediaTypeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/paginators-1.json.php b/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/paginators-1.json.php new file mode 100644 index 0000000..adbe215 --- /dev/null +++ b/lib/aws/Aws/data/kinesis-video-archived-media/2017-09-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis-video-archived-media/2017-09-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kinesis-video-media/2017-09-30/api-2.json.php b/lib/aws/Aws/data/kinesis-video-media/2017-09-30/api-2.json.php new file mode 100644 index 0000000..6245aa5 --- /dev/null +++ b/lib/aws/Aws/data/kinesis-video-media/2017-09-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis-video-media/2017-09-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-30', 'endpointPrefix' => 'kinesisvideo', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Kinesis Video Media', 'serviceFullName' => 'Amazon Kinesis Video Streams Media', 'serviceId' => 'Kinesis Video Media', 'signatureVersion' => 'v4', 'uid' => 'kinesis-video-media-2017-09-30', ], 'operations' => [ 'GetMedia' => [ 'name' => 'GetMedia', 'http' => [ 'method' => 'POST', 'requestUri' => '/getMedia', ], 'input' => [ 'shape' => 'GetMediaInput', ], 'output' => [ 'shape' => 'GetMediaOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidEndpointException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'ConnectionLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], ], 'shapes' => [ 'ClientLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ConnectionLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ContentType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\.\\-]+$', ], 'ContinuationToken' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\.\\-]+$', ], 'ErrorMessage' => [ 'type' => 'string', ], 'FragmentNumberString' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[0-9]+$', ], 'GetMediaInput' => [ 'type' => 'structure', 'required' => [ 'StartSelector', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'StartSelector' => [ 'shape' => 'StartSelector', ], ], ], 'GetMediaOutput' => [ 'type' => 'structure', 'members' => [ 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Payload' => [ 'shape' => 'Payload', ], ], 'payload' => 'Payload', ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidEndpointException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'Payload' => [ 'type' => 'blob', 'streaming' => true, ], 'ResourceARN' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'StartSelector' => [ 'type' => 'structure', 'required' => [ 'StartSelectorType', ], 'members' => [ 'StartSelectorType' => [ 'shape' => 'StartSelectorType', ], 'AfterFragmentNumber' => [ 'shape' => 'FragmentNumberString', ], 'StartTimestamp' => [ 'shape' => 'Timestamp', ], 'ContinuationToken' => [ 'shape' => 'ContinuationToken', ], ], ], 'StartSelectorType' => [ 'type' => 'string', 'enum' => [ 'FRAGMENT_NUMBER', 'SERVER_TIMESTAMP', 'PRODUCER_TIMESTAMP', 'NOW', 'EARLIEST', 'CONTINUATION_TOKEN', ], ], 'StreamName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'Timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/kinesis-video-media/2017-09-30/paginators-1.json.php b/lib/aws/Aws/data/kinesis-video-media/2017-09-30/paginators-1.json.php new file mode 100644 index 0000000..444cad7 --- /dev/null +++ b/lib/aws/Aws/data/kinesis-video-media/2017-09-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis-video-media/2017-09-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kinesis/2013-12-02/api-2.json.php b/lib/aws/Aws/data/kinesis/2013-12-02/api-2.json.php new file mode 100644 index 0000000..8eab250 --- /dev/null +++ b/lib/aws/Aws/data/kinesis/2013-12-02/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis/2013-12-02/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-12-02', 'endpointPrefix' => 'kinesis', 'jsonVersion' => '1.1', 'protocol' => 'json', 'protocolSettings' => [ 'h2' => 'eventstream', ], 'serviceAbbreviation' => 'Kinesis', 'serviceFullName' => 'Amazon Kinesis', 'serviceId' => 'Kinesis', 'signatureVersion' => 'v4', 'targetPrefix' => 'Kinesis_20131202', 'uid' => 'kinesis-2013-12-02', ], 'operations' => [ 'AddTagsToStream' => [ 'name' => 'AddTagsToStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToStreamInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateStream' => [ 'name' => 'CreateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStreamInput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DecreaseStreamRetentionPeriod' => [ 'name' => 'DecreaseStreamRetentionPeriod', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DecreaseStreamRetentionPeriodInput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DeleteStream' => [ 'name' => 'DeleteStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStreamInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeregisterStreamConsumer' => [ 'name' => 'DeregisterStreamConsumer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterStreamConsumerInput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DescribeLimits' => [ 'name' => 'DescribeLimits', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLimitsInput', ], 'output' => [ 'shape' => 'DescribeLimitsOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], ], ], 'DescribeStream' => [ 'name' => 'DescribeStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStreamInput', ], 'output' => [ 'shape' => 'DescribeStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DescribeStreamConsumer' => [ 'name' => 'DescribeStreamConsumer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStreamConsumerInput', ], 'output' => [ 'shape' => 'DescribeStreamConsumerOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DescribeStreamSummary' => [ 'name' => 'DescribeStreamSummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStreamSummaryInput', ], 'output' => [ 'shape' => 'DescribeStreamSummaryOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DisableEnhancedMonitoring' => [ 'name' => 'DisableEnhancedMonitoring', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableEnhancedMonitoringInput', ], 'output' => [ 'shape' => 'EnhancedMonitoringOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'EnableEnhancedMonitoring' => [ 'name' => 'EnableEnhancedMonitoring', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableEnhancedMonitoringInput', ], 'output' => [ 'shape' => 'EnhancedMonitoringOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetRecords' => [ 'name' => 'GetRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRecordsInput', ], 'output' => [ 'shape' => 'GetRecordsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ExpiredIteratorException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'KMSOptInRequired', ], [ 'shape' => 'KMSThrottlingException', ], ], ], 'GetShardIterator' => [ 'name' => 'GetShardIterator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetShardIteratorInput', ], 'output' => [ 'shape' => 'GetShardIteratorOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'IncreaseStreamRetentionPeriod' => [ 'name' => 'IncreaseStreamRetentionPeriod', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IncreaseStreamRetentionPeriodInput', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'ListShards' => [ 'name' => 'ListShards', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListShardsInput', ], 'output' => [ 'shape' => 'ListShardsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'ListStreamConsumers' => [ 'name' => 'ListStreamConsumers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStreamConsumersInput', ], 'output' => [ 'shape' => 'ListStreamConsumersOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'ListStreams' => [ 'name' => 'ListStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStreamsInput', ], 'output' => [ 'shape' => 'ListStreamsOutput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], ], ], 'ListTagsForStream' => [ 'name' => 'ListTagsForStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForStreamInput', ], 'output' => [ 'shape' => 'ListTagsForStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'MergeShards' => [ 'name' => 'MergeShards', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MergeShardsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'PutRecord' => [ 'name' => 'PutRecord', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRecordInput', ], 'output' => [ 'shape' => 'PutRecordOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'KMSOptInRequired', ], [ 'shape' => 'KMSThrottlingException', ], ], ], 'PutRecords' => [ 'name' => 'PutRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRecordsInput', ], 'output' => [ 'shape' => 'PutRecordsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'KMSOptInRequired', ], [ 'shape' => 'KMSThrottlingException', ], ], ], 'RegisterStreamConsumer' => [ 'name' => 'RegisterStreamConsumer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterStreamConsumerInput', ], 'output' => [ 'shape' => 'RegisterStreamConsumerOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RemoveTagsFromStream' => [ 'name' => 'RemoveTagsFromStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromStreamInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'SplitShard' => [ 'name' => 'SplitShard', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SplitShardInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StartStreamEncryption' => [ 'name' => 'StartStreamEncryption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartStreamEncryptionInput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'KMSOptInRequired', ], [ 'shape' => 'KMSThrottlingException', ], ], ], 'StopStreamEncryption' => [ 'name' => 'StopStreamEncryption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopStreamEncryptionInput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateShardCount' => [ 'name' => 'UpdateShardCount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateShardCountInput', ], 'output' => [ 'shape' => 'UpdateShardCountOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AddTagsToStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'Tags', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'Tags' => [ 'shape' => 'TagMap', ], ], ], 'BooleanObject' => [ 'type' => 'boolean', ], 'Consumer' => [ 'type' => 'structure', 'required' => [ 'ConsumerName', 'ConsumerARN', 'ConsumerStatus', 'ConsumerCreationTimestamp', ], 'members' => [ 'ConsumerName' => [ 'shape' => 'ConsumerName', ], 'ConsumerARN' => [ 'shape' => 'ConsumerARN', ], 'ConsumerStatus' => [ 'shape' => 'ConsumerStatus', ], 'ConsumerCreationTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'ConsumerARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '^(arn):aws.*:kinesis:.*:\\d{12}:.*stream\\/[a-zA-Z0-9_.-]+\\/consumer\\/[a-zA-Z0-9_.-]+:[0-9]+', ], 'ConsumerCountObject' => [ 'type' => 'integer', 'max' => 1000000, 'min' => 0, ], 'ConsumerDescription' => [ 'type' => 'structure', 'required' => [ 'ConsumerName', 'ConsumerARN', 'ConsumerStatus', 'ConsumerCreationTimestamp', 'StreamARN', ], 'members' => [ 'ConsumerName' => [ 'shape' => 'ConsumerName', ], 'ConsumerARN' => [ 'shape' => 'ConsumerARN', ], 'ConsumerStatus' => [ 'shape' => 'ConsumerStatus', ], 'ConsumerCreationTimestamp' => [ 'shape' => 'Timestamp', ], 'StreamARN' => [ 'shape' => 'StreamARN', ], ], ], 'ConsumerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Consumer', ], ], 'ConsumerName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'ConsumerStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DELETING', 'ACTIVE', ], ], 'CreateStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardCount', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardCount' => [ 'shape' => 'PositiveIntegerObject', ], ], ], 'Data' => [ 'type' => 'blob', 'max' => 1048576, 'min' => 0, ], 'DecreaseStreamRetentionPeriodInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'RetentionPeriodHours', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'RetentionPeriodHours' => [ 'shape' => 'RetentionPeriodHours', ], ], ], 'DeleteStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'EnforceConsumerDeletion' => [ 'shape' => 'BooleanObject', ], ], ], 'DeregisterStreamConsumerInput' => [ 'type' => 'structure', 'members' => [ 'StreamARN' => [ 'shape' => 'StreamARN', ], 'ConsumerName' => [ 'shape' => 'ConsumerName', ], 'ConsumerARN' => [ 'shape' => 'ConsumerARN', ], ], ], 'DescribeLimitsInput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeLimitsOutput' => [ 'type' => 'structure', 'required' => [ 'ShardLimit', 'OpenShardCount', ], 'members' => [ 'ShardLimit' => [ 'shape' => 'ShardCountObject', ], 'OpenShardCount' => [ 'shape' => 'ShardCountObject', ], ], ], 'DescribeStreamConsumerInput' => [ 'type' => 'structure', 'members' => [ 'StreamARN' => [ 'shape' => 'StreamARN', ], 'ConsumerName' => [ 'shape' => 'ConsumerName', ], 'ConsumerARN' => [ 'shape' => 'ConsumerARN', ], ], ], 'DescribeStreamConsumerOutput' => [ 'type' => 'structure', 'required' => [ 'ConsumerDescription', ], 'members' => [ 'ConsumerDescription' => [ 'shape' => 'ConsumerDescription', ], ], ], 'DescribeStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'Limit' => [ 'shape' => 'DescribeStreamInputLimit', ], 'ExclusiveStartShardId' => [ 'shape' => 'ShardId', ], ], ], 'DescribeStreamInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'DescribeStreamOutput' => [ 'type' => 'structure', 'required' => [ 'StreamDescription', ], 'members' => [ 'StreamDescription' => [ 'shape' => 'StreamDescription', ], ], ], 'DescribeStreamSummaryInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], ], ], 'DescribeStreamSummaryOutput' => [ 'type' => 'structure', 'required' => [ 'StreamDescriptionSummary', ], 'members' => [ 'StreamDescriptionSummary' => [ 'shape' => 'StreamDescriptionSummary', ], ], ], 'DisableEnhancedMonitoringInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardLevelMetrics', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardLevelMetrics' => [ 'shape' => 'MetricsNameList', ], ], ], 'EnableEnhancedMonitoringInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardLevelMetrics', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardLevelMetrics' => [ 'shape' => 'MetricsNameList', ], ], ], 'EncryptionType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'KMS', ], ], 'EnhancedMetrics' => [ 'type' => 'structure', 'members' => [ 'ShardLevelMetrics' => [ 'shape' => 'MetricsNameList', ], ], ], 'EnhancedMonitoringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnhancedMetrics', ], ], 'EnhancedMonitoringOutput' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'CurrentShardLevelMetrics' => [ 'shape' => 'MetricsNameList', ], 'DesiredShardLevelMetrics' => [ 'shape' => 'MetricsNameList', ], ], ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpiredIteratorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExpiredNextTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'GetRecordsInput' => [ 'type' => 'structure', 'required' => [ 'ShardIterator', ], 'members' => [ 'ShardIterator' => [ 'shape' => 'ShardIterator', ], 'Limit' => [ 'shape' => 'GetRecordsInputLimit', ], ], ], 'GetRecordsInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'GetRecordsOutput' => [ 'type' => 'structure', 'required' => [ 'Records', ], 'members' => [ 'Records' => [ 'shape' => 'RecordList', ], 'NextShardIterator' => [ 'shape' => 'ShardIterator', ], 'MillisBehindLatest' => [ 'shape' => 'MillisBehindLatest', ], ], ], 'GetShardIteratorInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardId', 'ShardIteratorType', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardId' => [ 'shape' => 'ShardId', ], 'ShardIteratorType' => [ 'shape' => 'ShardIteratorType', ], 'StartingSequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'GetShardIteratorOutput' => [ 'type' => 'structure', 'members' => [ 'ShardIterator' => [ 'shape' => 'ShardIterator', ], ], ], 'HashKey' => [ 'type' => 'string', 'pattern' => '0|([1-9]\\d{0,38})', ], 'HashKeyRange' => [ 'type' => 'structure', 'required' => [ 'StartingHashKey', 'EndingHashKey', ], 'members' => [ 'StartingHashKey' => [ 'shape' => 'HashKey', ], 'EndingHashKey' => [ 'shape' => 'HashKey', ], ], ], 'IncreaseStreamRetentionPeriodInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'RetentionPeriodHours', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'RetentionPeriodHours' => [ 'shape' => 'RetentionPeriodHours', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSAccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSDisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSInvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSOptInRequired' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KMSThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KeyId' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListShardsInput' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ExclusiveStartShardId' => [ 'shape' => 'ShardId', ], 'MaxResults' => [ 'shape' => 'ListShardsInputLimit', ], 'StreamCreationTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'ListShardsInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ListShardsOutput' => [ 'type' => 'structure', 'members' => [ 'Shards' => [ 'shape' => 'ShardList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStreamConsumersInput' => [ 'type' => 'structure', 'required' => [ 'StreamARN', ], 'members' => [ 'StreamARN' => [ 'shape' => 'StreamARN', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'ListStreamConsumersInputLimit', ], 'StreamCreationTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'ListStreamConsumersInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ListStreamConsumersOutput' => [ 'type' => 'structure', 'members' => [ 'Consumers' => [ 'shape' => 'ConsumerList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListStreamsInput' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'ListStreamsInputLimit', ], 'ExclusiveStartStreamName' => [ 'shape' => 'StreamName', ], ], ], 'ListStreamsInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ListStreamsOutput' => [ 'type' => 'structure', 'required' => [ 'StreamNames', 'HasMoreStreams', ], 'members' => [ 'StreamNames' => [ 'shape' => 'StreamNameList', ], 'HasMoreStreams' => [ 'shape' => 'BooleanObject', ], ], ], 'ListTagsForStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ExclusiveStartTagKey' => [ 'shape' => 'TagKey', ], 'Limit' => [ 'shape' => 'ListTagsForStreamInputLimit', ], ], ], 'ListTagsForStreamInputLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'ListTagsForStreamOutput' => [ 'type' => 'structure', 'required' => [ 'Tags', 'HasMoreTags', ], 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'HasMoreTags' => [ 'shape' => 'BooleanObject', ], ], ], 'MergeShardsInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardToMerge', 'AdjacentShardToMerge', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardToMerge' => [ 'shape' => 'ShardId', ], 'AdjacentShardToMerge' => [ 'shape' => 'ShardId', ], ], ], 'MetricsName' => [ 'type' => 'string', 'enum' => [ 'IncomingBytes', 'IncomingRecords', 'OutgoingBytes', 'OutgoingRecords', 'WriteProvisionedThroughputExceeded', 'ReadProvisionedThroughputExceeded', 'IteratorAgeMilliseconds', 'ALL', ], ], 'MetricsNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricsName', ], 'max' => 7, 'min' => 1, ], 'MillisBehindLatest' => [ 'type' => 'long', 'min' => 0, ], 'NextToken' => [ 'type' => 'string', 'max' => 1048576, 'min' => 1, ], 'PartitionKey' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'PositiveIntegerObject' => [ 'type' => 'integer', 'max' => 100000, 'min' => 1, ], 'ProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PutRecordInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'Data', 'PartitionKey', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'Data' => [ 'shape' => 'Data', ], 'PartitionKey' => [ 'shape' => 'PartitionKey', ], 'ExplicitHashKey' => [ 'shape' => 'HashKey', ], 'SequenceNumberForOrdering' => [ 'shape' => 'SequenceNumber', ], ], ], 'PutRecordOutput' => [ 'type' => 'structure', 'required' => [ 'ShardId', 'SequenceNumber', ], 'members' => [ 'ShardId' => [ 'shape' => 'ShardId', ], 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], ], ], 'PutRecordsInput' => [ 'type' => 'structure', 'required' => [ 'Records', 'StreamName', ], 'members' => [ 'Records' => [ 'shape' => 'PutRecordsRequestEntryList', ], 'StreamName' => [ 'shape' => 'StreamName', ], ], ], 'PutRecordsOutput' => [ 'type' => 'structure', 'required' => [ 'Records', ], 'members' => [ 'FailedRecordCount' => [ 'shape' => 'PositiveIntegerObject', ], 'Records' => [ 'shape' => 'PutRecordsResultEntryList', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], ], ], 'PutRecordsRequestEntry' => [ 'type' => 'structure', 'required' => [ 'Data', 'PartitionKey', ], 'members' => [ 'Data' => [ 'shape' => 'Data', ], 'ExplicitHashKey' => [ 'shape' => 'HashKey', ], 'PartitionKey' => [ 'shape' => 'PartitionKey', ], ], ], 'PutRecordsRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutRecordsRequestEntry', ], 'max' => 500, 'min' => 1, ], 'PutRecordsResultEntry' => [ 'type' => 'structure', 'members' => [ 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'ShardId' => [ 'shape' => 'ShardId', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'PutRecordsResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PutRecordsResultEntry', ], 'max' => 500, 'min' => 1, ], 'Record' => [ 'type' => 'structure', 'required' => [ 'SequenceNumber', 'Data', 'PartitionKey', ], 'members' => [ 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'ApproximateArrivalTimestamp' => [ 'shape' => 'Timestamp', ], 'Data' => [ 'shape' => 'Data', ], 'PartitionKey' => [ 'shape' => 'PartitionKey', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], ], ], 'RecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], ], 'RegisterStreamConsumerInput' => [ 'type' => 'structure', 'required' => [ 'StreamARN', 'ConsumerName', ], 'members' => [ 'StreamARN' => [ 'shape' => 'StreamARN', ], 'ConsumerName' => [ 'shape' => 'ConsumerName', ], ], ], 'RegisterStreamConsumerOutput' => [ 'type' => 'structure', 'required' => [ 'Consumer', ], 'members' => [ 'Consumer' => [ 'shape' => 'Consumer', ], ], ], 'RemoveTagsFromStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'TagKeys', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RetentionPeriodHours' => [ 'type' => 'integer', 'max' => 168, 'min' => 1, ], 'ScalingType' => [ 'type' => 'string', 'enum' => [ 'UNIFORM_SCALING', ], ], 'SequenceNumber' => [ 'type' => 'string', 'pattern' => '0|([1-9]\\d{0,128})', ], 'SequenceNumberRange' => [ 'type' => 'structure', 'required' => [ 'StartingSequenceNumber', ], 'members' => [ 'StartingSequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'EndingSequenceNumber' => [ 'shape' => 'SequenceNumber', ], ], ], 'Shard' => [ 'type' => 'structure', 'required' => [ 'ShardId', 'HashKeyRange', 'SequenceNumberRange', ], 'members' => [ 'ShardId' => [ 'shape' => 'ShardId', ], 'ParentShardId' => [ 'shape' => 'ShardId', ], 'AdjacentParentShardId' => [ 'shape' => 'ShardId', ], 'HashKeyRange' => [ 'shape' => 'HashKeyRange', ], 'SequenceNumberRange' => [ 'shape' => 'SequenceNumberRange', ], ], ], 'ShardCountObject' => [ 'type' => 'integer', 'max' => 1000000, 'min' => 0, ], 'ShardId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'ShardIterator' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ShardIteratorType' => [ 'type' => 'string', 'enum' => [ 'AT_SEQUENCE_NUMBER', 'AFTER_SEQUENCE_NUMBER', 'TRIM_HORIZON', 'LATEST', 'AT_TIMESTAMP', ], ], 'ShardList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Shard', ], ], 'SplitShardInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'ShardToSplit', 'NewStartingHashKey', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'ShardToSplit' => [ 'shape' => 'ShardId', ], 'NewStartingHashKey' => [ 'shape' => 'HashKey', ], ], ], 'StartStreamEncryptionInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'EncryptionType', 'KeyId', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], 'KeyId' => [ 'shape' => 'KeyId', ], ], ], 'StartingPosition' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'ShardIteratorType', ], 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'StopStreamEncryptionInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'EncryptionType', 'KeyId', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], 'KeyId' => [ 'shape' => 'KeyId', ], ], ], 'StreamARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws.*:kinesis:.*:\\d{12}:stream/.*', ], 'StreamDescription' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'StreamARN', 'StreamStatus', 'Shards', 'HasMoreShards', 'RetentionPeriodHours', 'StreamCreationTimestamp', 'EnhancedMonitoring', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'StreamARN', ], 'StreamStatus' => [ 'shape' => 'StreamStatus', ], 'Shards' => [ 'shape' => 'ShardList', ], 'HasMoreShards' => [ 'shape' => 'BooleanObject', ], 'RetentionPeriodHours' => [ 'shape' => 'RetentionPeriodHours', ], 'StreamCreationTimestamp' => [ 'shape' => 'Timestamp', ], 'EnhancedMonitoring' => [ 'shape' => 'EnhancedMonitoringList', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], 'KeyId' => [ 'shape' => 'KeyId', ], ], ], 'StreamDescriptionSummary' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'StreamARN', 'StreamStatus', 'RetentionPeriodHours', 'StreamCreationTimestamp', 'EnhancedMonitoring', 'OpenShardCount', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'StreamARN', ], 'StreamStatus' => [ 'shape' => 'StreamStatus', ], 'RetentionPeriodHours' => [ 'shape' => 'PositiveIntegerObject', ], 'StreamCreationTimestamp' => [ 'shape' => 'Timestamp', ], 'EnhancedMonitoring' => [ 'shape' => 'EnhancedMonitoringList', ], 'EncryptionType' => [ 'shape' => 'EncryptionType', ], 'KeyId' => [ 'shape' => 'KeyId', ], 'OpenShardCount' => [ 'shape' => 'ShardCountObject', ], 'ConsumerCount' => [ 'shape' => 'ConsumerCountObject', ], ], ], 'StreamName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'StreamNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamName', ], ], 'StreamStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DELETING', 'ACTIVE', 'UPDATING', ], ], 'SubscribeToShardEvent' => [ 'type' => 'structure', 'required' => [ 'Records', 'ContinuationSequenceNumber', 'MillisBehindLatest', ], 'members' => [ 'Records' => [ 'shape' => 'RecordList', ], 'ContinuationSequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'MillisBehindLatest' => [ 'shape' => 'MillisBehindLatest', ], ], 'event' => true, ], 'SubscribeToShardEventStream' => [ 'type' => 'structure', 'required' => [ 'SubscribeToShardEvent', ], 'members' => [ 'SubscribeToShardEvent' => [ 'shape' => 'SubscribeToShardEvent', ], 'ResourceNotFoundException' => [ 'shape' => 'ResourceNotFoundException', ], 'ResourceInUseException' => [ 'shape' => 'ResourceInUseException', ], 'KMSDisabledException' => [ 'shape' => 'KMSDisabledException', ], 'KMSInvalidStateException' => [ 'shape' => 'KMSInvalidStateException', ], 'KMSAccessDeniedException' => [ 'shape' => 'KMSAccessDeniedException', ], 'KMSNotFoundException' => [ 'shape' => 'KMSNotFoundException', ], 'KMSOptInRequired' => [ 'shape' => 'KMSOptInRequired', ], 'KMSThrottlingException' => [ 'shape' => 'KMSThrottlingException', ], 'InternalFailureException' => [ 'shape' => 'InternalFailureException', ], ], 'eventstream' => true, ], 'SubscribeToShardInput' => [ 'type' => 'structure', 'required' => [ 'ConsumerARN', 'ShardId', 'StartingPosition', ], 'members' => [ 'ConsumerARN' => [ 'shape' => 'ConsumerARN', ], 'ShardId' => [ 'shape' => 'ShardId', ], 'StartingPosition' => [ 'shape' => 'StartingPosition', ], ], ], 'SubscribeToShardOutput' => [ 'type' => 'structure', 'required' => [ 'EventStream', ], 'members' => [ 'EventStream' => [ 'shape' => 'SubscribeToShardEventStream', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'min' => 0, ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UpdateShardCountInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', 'TargetShardCount', 'ScalingType', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'TargetShardCount' => [ 'shape' => 'PositiveIntegerObject', ], 'ScalingType' => [ 'shape' => 'ScalingType', ], ], ], 'UpdateShardCountOutput' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'CurrentShardCount' => [ 'shape' => 'PositiveIntegerObject', ], 'TargetShardCount' => [ 'shape' => 'PositiveIntegerObject', ], ], ], ],]; diff --git a/lib/aws/Aws/data/kinesis/2013-12-02/paginators-1.json.php b/lib/aws/Aws/data/kinesis/2013-12-02/paginators-1.json.php new file mode 100644 index 0000000..0857fb3 --- /dev/null +++ b/lib/aws/Aws/data/kinesis/2013-12-02/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis/2013-12-02/paginators-1.json +return [ 'pagination' => [ 'DescribeStream' => [ 'input_token' => 'ExclusiveStartShardId', 'limit_key' => 'Limit', 'more_results' => 'StreamDescription.HasMoreShards', 'output_token' => 'StreamDescription.Shards[-1].ShardId', 'result_key' => 'StreamDescription.Shards', ], 'ListStreamConsumers' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListStreams' => [ 'input_token' => 'ExclusiveStartStreamName', 'limit_key' => 'Limit', 'more_results' => 'HasMoreStreams', 'output_token' => 'StreamNames[-1]', 'result_key' => 'StreamNames', ], ],]; diff --git a/lib/aws/Aws/data/kinesis/2013-12-02/smoke.json.php b/lib/aws/Aws/data/kinesis/2013-12-02/smoke.json.php new file mode 100644 index 0000000..2aba850 --- /dev/null +++ b/lib/aws/Aws/data/kinesis/2013-12-02/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis/2013-12-02/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListStreams', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeStream', 'input' => [ 'StreamName' => 'bogus-stream-name', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/kinesis/2013-12-02/waiters-2.json.php b/lib/aws/Aws/data/kinesis/2013-12-02/waiters-2.json.php new file mode 100644 index 0000000..0a68d22 --- /dev/null +++ b/lib/aws/Aws/data/kinesis/2013-12-02/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesis/2013-12-02/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'StreamExists' => [ 'delay' => 10, 'operation' => 'DescribeStream', 'maxAttempts' => 18, 'acceptors' => [ [ 'expected' => 'ACTIVE', 'matcher' => 'path', 'state' => 'success', 'argument' => 'StreamDescription.StreamStatus', ], ], ], 'StreamNotExists' => [ 'delay' => 10, 'operation' => 'DescribeStream', 'maxAttempts' => 18, 'acceptors' => [ [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/kinesisanalytics/2015-08-14/api-2.json.php b/lib/aws/Aws/data/kinesisanalytics/2015-08-14/api-2.json.php new file mode 100644 index 0000000..2900ba6 --- /dev/null +++ b/lib/aws/Aws/data/kinesisanalytics/2015-08-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisanalytics/2015-08-14/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-08-14', 'endpointPrefix' => 'kinesisanalytics', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Kinesis Analytics', 'serviceFullName' => 'Amazon Kinesis Analytics', 'serviceId' => 'Kinesis Analytics', 'signatureVersion' => 'v4', 'targetPrefix' => 'KinesisAnalytics_20150814', 'uid' => 'kinesisanalytics-2015-08-14', ], 'operations' => [ 'AddApplicationCloudWatchLoggingOption' => [ 'name' => 'AddApplicationCloudWatchLoggingOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationCloudWatchLoggingOptionRequest', ], 'output' => [ 'shape' => 'AddApplicationCloudWatchLoggingOptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'AddApplicationInput' => [ 'name' => 'AddApplicationInput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputRequest', ], 'output' => [ 'shape' => 'AddApplicationInputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'AddApplicationInputProcessingConfiguration' => [ 'name' => 'AddApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'AddApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'AddApplicationOutput' => [ 'name' => 'AddApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationOutputRequest', ], 'output' => [ 'shape' => 'AddApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'AddApplicationReferenceDataSource' => [ 'name' => 'AddApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'AddApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationRequest', ], 'output' => [ 'shape' => 'CreateApplicationResponse', ], 'errors' => [ [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'DeleteApplication' => [ 'name' => 'DeleteApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationRequest', ], 'output' => [ 'shape' => 'DeleteApplicationResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeleteApplicationCloudWatchLoggingOption' => [ 'name' => 'DeleteApplicationCloudWatchLoggingOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionRequest', ], 'output' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeleteApplicationInputProcessingConfiguration' => [ 'name' => 'DeleteApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeleteApplicationOutput' => [ 'name' => 'DeleteApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationOutputRequest', ], 'output' => [ 'shape' => 'DeleteApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DeleteApplicationReferenceDataSource' => [ 'name' => 'DeleteApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'DeleteApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DescribeApplication' => [ 'name' => 'DescribeApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationRequest', ], 'output' => [ 'shape' => 'DescribeApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DiscoverInputSchema' => [ 'name' => 'DiscoverInputSchema', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DiscoverInputSchemaRequest', ], 'output' => [ 'shape' => 'DiscoverInputSchemaResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnableToDetectSchemaException', ], [ 'shape' => 'ResourceProvisionedThroughputExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListApplications' => [ 'name' => 'ListApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListApplicationsRequest', ], 'output' => [ 'shape' => 'ListApplicationsResponse', ], ], 'StartApplication' => [ 'name' => 'StartApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartApplicationRequest', ], 'output' => [ 'shape' => 'StartApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidApplicationConfigurationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'StopApplication' => [ 'name' => 'StopApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopApplicationRequest', ], 'output' => [ 'shape' => 'StopApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationRequest', ], 'output' => [ 'shape' => 'UpdateApplicationResponse', ], 'errors' => [ [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], ], 'shapes' => [ 'AddApplicationCloudWatchLoggingOptionRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'CloudWatchLoggingOption', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOption' => [ 'shape' => 'CloudWatchLoggingOption', ], ], ], 'AddApplicationCloudWatchLoggingOptionResponse' => [ 'type' => 'structure', 'members' => [], ], 'AddApplicationInputProcessingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'InputId', 'InputProcessingConfiguration', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputId' => [ 'shape' => 'Id', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], ], ], 'AddApplicationInputProcessingConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'AddApplicationInputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'Input', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'Input' => [ 'shape' => 'Input', ], ], ], 'AddApplicationInputResponse' => [ 'type' => 'structure', 'members' => [], ], 'AddApplicationOutputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'Output', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'Output' => [ 'shape' => 'Output', ], ], ], 'AddApplicationOutputResponse' => [ 'type' => 'structure', 'members' => [], ], 'AddApplicationReferenceDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ReferenceDataSource', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ReferenceDataSource' => [ 'shape' => 'ReferenceDataSource', ], ], ], 'AddApplicationReferenceDataSourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'ApplicationCode' => [ 'type' => 'string', 'max' => 102400, 'min' => 0, ], 'ApplicationDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'ApplicationDetail' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'ApplicationARN', 'ApplicationStatus', 'ApplicationVersionId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ApplicationDescription' => [ 'shape' => 'ApplicationDescription', ], 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationStatus' => [ 'shape' => 'ApplicationStatus', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'LastUpdateTimestamp' => [ 'shape' => 'Timestamp', ], 'InputDescriptions' => [ 'shape' => 'InputDescriptions', ], 'OutputDescriptions' => [ 'shape' => 'OutputDescriptions', ], 'ReferenceDataSourceDescriptions' => [ 'shape' => 'ReferenceDataSourceDescriptions', ], 'CloudWatchLoggingOptionDescriptions' => [ 'shape' => 'CloudWatchLoggingOptionDescriptions', ], 'ApplicationCode' => [ 'shape' => 'ApplicationCode', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], ], ], 'ApplicationName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'ApplicationStatus' => [ 'type' => 'string', 'enum' => [ 'DELETING', 'STARTING', 'STOPPING', 'READY', 'RUNNING', 'UPDATING', ], ], 'ApplicationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationSummary', ], ], 'ApplicationSummary' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'ApplicationARN', 'ApplicationStatus', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationStatus' => [ 'shape' => 'ApplicationStatus', ], ], ], 'ApplicationUpdate' => [ 'type' => 'structure', 'members' => [ 'InputUpdates' => [ 'shape' => 'InputUpdates', ], 'ApplicationCodeUpdate' => [ 'shape' => 'ApplicationCode', ], 'OutputUpdates' => [ 'shape' => 'OutputUpdates', ], 'ReferenceDataSourceUpdates' => [ 'shape' => 'ReferenceDataSourceUpdates', ], 'CloudWatchLoggingOptionUpdates' => [ 'shape' => 'CloudWatchLoggingOptionUpdates', ], ], ], 'ApplicationVersionId' => [ 'type' => 'long', 'max' => 999999999, 'min' => 1, ], 'BooleanObject' => [ 'type' => 'boolean', ], 'BucketARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'CSVMappingParameters' => [ 'type' => 'structure', 'required' => [ 'RecordRowDelimiter', 'RecordColumnDelimiter', ], 'members' => [ 'RecordRowDelimiter' => [ 'shape' => 'RecordRowDelimiter', ], 'RecordColumnDelimiter' => [ 'shape' => 'RecordColumnDelimiter', ], ], ], 'CloudWatchLoggingOption' => [ 'type' => 'structure', 'required' => [ 'LogStreamARN', 'RoleARN', ], 'members' => [ 'LogStreamARN' => [ 'shape' => 'LogStreamARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'CloudWatchLoggingOptionDescription' => [ 'type' => 'structure', 'required' => [ 'LogStreamARN', 'RoleARN', ], 'members' => [ 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], 'LogStreamARN' => [ 'shape' => 'LogStreamARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'CloudWatchLoggingOptionDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOptionDescription', ], ], 'CloudWatchLoggingOptionUpdate' => [ 'type' => 'structure', 'required' => [ 'CloudWatchLoggingOptionId', ], 'members' => [ 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], 'LogStreamARNUpdate' => [ 'shape' => 'LogStreamARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'CloudWatchLoggingOptionUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOptionUpdate', ], ], 'CloudWatchLoggingOptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOption', ], ], 'CodeValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CreateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ApplicationDescription' => [ 'shape' => 'ApplicationDescription', ], 'Inputs' => [ 'shape' => 'Inputs', ], 'Outputs' => [ 'shape' => 'Outputs', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], 'ApplicationCode' => [ 'shape' => 'ApplicationCode', ], ], ], 'CreateApplicationResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationSummary', ], 'members' => [ 'ApplicationSummary' => [ 'shape' => 'ApplicationSummary', ], ], ], 'DeleteApplicationCloudWatchLoggingOptionRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'CloudWatchLoggingOptionId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationCloudWatchLoggingOptionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationInputProcessingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'InputId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationInputProcessingConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationOutputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'OutputId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'OutputId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationOutputResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationReferenceDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ReferenceId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ReferenceId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationReferenceDataSourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CreateTimestamp', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'DeleteApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'DescribeApplicationResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationDetail', ], 'members' => [ 'ApplicationDetail' => [ 'shape' => 'ApplicationDetail', ], ], ], 'DestinationSchema' => [ 'type' => 'structure', 'required' => [ 'RecordFormatType', ], 'members' => [ 'RecordFormatType' => [ 'shape' => 'RecordFormatType', ], ], ], 'DiscoverInputSchemaRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], 'S3Configuration' => [ 'shape' => 'S3Configuration', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], ], ], 'DiscoverInputSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'InputSchema' => [ 'shape' => 'SourceSchema', ], 'ParsedInputRecords' => [ 'shape' => 'ParsedInputRecords', ], 'ProcessedInputRecords' => [ 'shape' => 'ProcessedInputRecords', ], 'RawInputRecords' => [ 'shape' => 'RawInputRecords', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FileKey' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'Id' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'InAppStreamName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[a-zA-Z][a-zA-Z0-9_]+', ], 'InAppStreamNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'InAppStreamName', ], ], 'InAppTableName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[a-zA-Z][a-zA-Z0-9_]+', ], 'Input' => [ 'type' => 'structure', 'required' => [ 'NamePrefix', 'InputSchema', ], 'members' => [ 'NamePrefix' => [ 'shape' => 'InAppStreamName', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], 'KinesisStreamsInput' => [ 'shape' => 'KinesisStreamsInput', ], 'KinesisFirehoseInput' => [ 'shape' => 'KinesisFirehoseInput', ], 'InputParallelism' => [ 'shape' => 'InputParallelism', ], 'InputSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'InputConfiguration' => [ 'type' => 'structure', 'required' => [ 'Id', 'InputStartingPositionConfiguration', ], 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], ], ], 'InputConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputConfiguration', ], ], 'InputDescription' => [ 'type' => 'structure', 'members' => [ 'InputId' => [ 'shape' => 'Id', ], 'NamePrefix' => [ 'shape' => 'InAppStreamName', ], 'InAppStreamNames' => [ 'shape' => 'InAppStreamNames', ], 'InputProcessingConfigurationDescription' => [ 'shape' => 'InputProcessingConfigurationDescription', ], 'KinesisStreamsInputDescription' => [ 'shape' => 'KinesisStreamsInputDescription', ], 'KinesisFirehoseInputDescription' => [ 'shape' => 'KinesisFirehoseInputDescription', ], 'InputSchema' => [ 'shape' => 'SourceSchema', ], 'InputParallelism' => [ 'shape' => 'InputParallelism', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], ], ], 'InputDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputDescription', ], ], 'InputLambdaProcessor' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'InputLambdaProcessorDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'InputLambdaProcessorUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'InputParallelism' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => 'InputParallelismCount', ], ], ], 'InputParallelismCount' => [ 'type' => 'integer', 'max' => 64, 'min' => 1, ], 'InputParallelismUpdate' => [ 'type' => 'structure', 'members' => [ 'CountUpdate' => [ 'shape' => 'InputParallelismCount', ], ], ], 'InputProcessingConfiguration' => [ 'type' => 'structure', 'required' => [ 'InputLambdaProcessor', ], 'members' => [ 'InputLambdaProcessor' => [ 'shape' => 'InputLambdaProcessor', ], ], ], 'InputProcessingConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'InputLambdaProcessorDescription' => [ 'shape' => 'InputLambdaProcessorDescription', ], ], ], 'InputProcessingConfigurationUpdate' => [ 'type' => 'structure', 'required' => [ 'InputLambdaProcessorUpdate', ], 'members' => [ 'InputLambdaProcessorUpdate' => [ 'shape' => 'InputLambdaProcessorUpdate', ], ], ], 'InputSchemaUpdate' => [ 'type' => 'structure', 'members' => [ 'RecordFormatUpdate' => [ 'shape' => 'RecordFormat', ], 'RecordEncodingUpdate' => [ 'shape' => 'RecordEncoding', ], 'RecordColumnUpdates' => [ 'shape' => 'RecordColumns', ], ], ], 'InputStartingPosition' => [ 'type' => 'string', 'enum' => [ 'NOW', 'TRIM_HORIZON', 'LAST_STOPPED_POINT', ], ], 'InputStartingPositionConfiguration' => [ 'type' => 'structure', 'members' => [ 'InputStartingPosition' => [ 'shape' => 'InputStartingPosition', ], ], ], 'InputUpdate' => [ 'type' => 'structure', 'required' => [ 'InputId', ], 'members' => [ 'InputId' => [ 'shape' => 'Id', ], 'NamePrefixUpdate' => [ 'shape' => 'InAppStreamName', ], 'InputProcessingConfigurationUpdate' => [ 'shape' => 'InputProcessingConfigurationUpdate', ], 'KinesisStreamsInputUpdate' => [ 'shape' => 'KinesisStreamsInputUpdate', ], 'KinesisFirehoseInputUpdate' => [ 'shape' => 'KinesisFirehoseInputUpdate', ], 'InputSchemaUpdate' => [ 'shape' => 'InputSchemaUpdate', ], 'InputParallelismUpdate' => [ 'shape' => 'InputParallelismUpdate', ], ], ], 'InputUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputUpdate', ], ], 'Inputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Input', ], ], 'InvalidApplicationConfigurationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'JSONMappingParameters' => [ 'type' => 'structure', 'required' => [ 'RecordRowPath', ], 'members' => [ 'RecordRowPath' => [ 'shape' => 'RecordRowPath', ], ], ], 'KinesisFirehoseInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseInputDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseInputUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseOutputDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseOutputUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsInputDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsInputUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsOutputDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsOutputUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'LambdaOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'RoleARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'LambdaOutputDescription' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'LambdaOutputUpdate' => [ 'type' => 'structure', 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], 'RoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListApplicationsInputLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'ListApplicationsRequest' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'ListApplicationsInputLimit', ], 'ExclusiveStartApplicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'ListApplicationsResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationSummaries', 'HasMoreApplications', ], 'members' => [ 'ApplicationSummaries' => [ 'shape' => 'ApplicationSummaries', ], 'HasMoreApplications' => [ 'shape' => 'BooleanObject', ], ], ], 'LogStreamARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'MappingParameters' => [ 'type' => 'structure', 'members' => [ 'JSONMappingParameters' => [ 'shape' => 'JSONMappingParameters', ], 'CSVMappingParameters' => [ 'shape' => 'CSVMappingParameters', ], ], ], 'Output' => [ 'type' => 'structure', 'required' => [ 'Name', 'DestinationSchema', ], 'members' => [ 'Name' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutput' => [ 'shape' => 'KinesisStreamsOutput', ], 'KinesisFirehoseOutput' => [ 'shape' => 'KinesisFirehoseOutput', ], 'LambdaOutput' => [ 'shape' => 'LambdaOutput', ], 'DestinationSchema' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputDescription' => [ 'type' => 'structure', 'members' => [ 'OutputId' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutputDescription' => [ 'shape' => 'KinesisStreamsOutputDescription', ], 'KinesisFirehoseOutputDescription' => [ 'shape' => 'KinesisFirehoseOutputDescription', ], 'LambdaOutputDescription' => [ 'shape' => 'LambdaOutputDescription', ], 'DestinationSchema' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputDescription', ], ], 'OutputUpdate' => [ 'type' => 'structure', 'required' => [ 'OutputId', ], 'members' => [ 'OutputId' => [ 'shape' => 'Id', ], 'NameUpdate' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutputUpdate' => [ 'shape' => 'KinesisStreamsOutputUpdate', ], 'KinesisFirehoseOutputUpdate' => [ 'shape' => 'KinesisFirehoseOutputUpdate', ], 'LambdaOutputUpdate' => [ 'shape' => 'LambdaOutputUpdate', ], 'DestinationSchemaUpdate' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputUpdate', ], ], 'Outputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], 'ParsedInputRecord' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParsedInputRecordField', ], ], 'ParsedInputRecordField' => [ 'type' => 'string', ], 'ParsedInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParsedInputRecord', ], ], 'ProcessedInputRecord' => [ 'type' => 'string', ], 'ProcessedInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessedInputRecord', ], ], 'RawInputRecord' => [ 'type' => 'string', ], 'RawInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'RawInputRecord', ], ], 'RecordColumn' => [ 'type' => 'structure', 'required' => [ 'Name', 'SqlType', ], 'members' => [ 'Name' => [ 'shape' => 'RecordColumnName', ], 'Mapping' => [ 'shape' => 'RecordColumnMapping', ], 'SqlType' => [ 'shape' => 'RecordColumnSqlType', ], ], ], 'RecordColumnDelimiter' => [ 'type' => 'string', 'min' => 1, ], 'RecordColumnMapping' => [ 'type' => 'string', ], 'RecordColumnName' => [ 'type' => 'string', 'pattern' => '[a-zA-Z_][a-zA-Z0-9_]*', ], 'RecordColumnSqlType' => [ 'type' => 'string', 'min' => 1, ], 'RecordColumns' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordColumn', ], 'max' => 1000, 'min' => 1, ], 'RecordEncoding' => [ 'type' => 'string', 'pattern' => 'UTF-8', ], 'RecordFormat' => [ 'type' => 'structure', 'required' => [ 'RecordFormatType', ], 'members' => [ 'RecordFormatType' => [ 'shape' => 'RecordFormatType', ], 'MappingParameters' => [ 'shape' => 'MappingParameters', ], ], ], 'RecordFormatType' => [ 'type' => 'string', 'enum' => [ 'JSON', 'CSV', ], ], 'RecordRowDelimiter' => [ 'type' => 'string', 'min' => 1, ], 'RecordRowPath' => [ 'type' => 'string', 'min' => 1, ], 'ReferenceDataSource' => [ 'type' => 'structure', 'required' => [ 'TableName', 'ReferenceSchema', ], 'members' => [ 'TableName' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSource' => [ 'shape' => 'S3ReferenceDataSource', ], 'ReferenceSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceDescription' => [ 'type' => 'structure', 'required' => [ 'ReferenceId', 'TableName', 'S3ReferenceDataSourceDescription', ], 'members' => [ 'ReferenceId' => [ 'shape' => 'Id', ], 'TableName' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSourceDescription' => [ 'shape' => 'S3ReferenceDataSourceDescription', ], 'ReferenceSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReferenceDataSourceDescription', ], ], 'ReferenceDataSourceUpdate' => [ 'type' => 'structure', 'required' => [ 'ReferenceId', ], 'members' => [ 'ReferenceId' => [ 'shape' => 'Id', ], 'TableNameUpdate' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSourceUpdate' => [ 'shape' => 'S3ReferenceDataSourceUpdate', ], 'ReferenceSchemaUpdate' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReferenceDataSourceUpdate', ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RoleARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'S3Configuration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', 'FileKey', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], ], ], 'S3ReferenceDataSource' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', 'ReferenceRoleARN', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], 'ReferenceRoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'S3ReferenceDataSourceDescription' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', 'ReferenceRoleARN', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], 'ReferenceRoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'S3ReferenceDataSourceUpdate' => [ 'type' => 'structure', 'members' => [ 'BucketARNUpdate' => [ 'shape' => 'BucketARN', ], 'FileKeyUpdate' => [ 'shape' => 'FileKey', ], 'ReferenceRoleARNUpdate' => [ 'shape' => 'RoleARN', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'SourceSchema' => [ 'type' => 'structure', 'required' => [ 'RecordFormat', 'RecordColumns', ], 'members' => [ 'RecordFormat' => [ 'shape' => 'RecordFormat', ], 'RecordEncoding' => [ 'shape' => 'RecordEncoding', ], 'RecordColumns' => [ 'shape' => 'RecordColumns', ], ], ], 'StartApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'InputConfigurations', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'InputConfigurations' => [ 'shape' => 'InputConfigurations', ], ], ], 'StartApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'StopApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnableToDetectSchemaException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'RawInputRecords' => [ 'shape' => 'RawInputRecords', ], 'ProcessedInputRecords' => [ 'shape' => 'ProcessedInputRecords', ], ], 'exception' => true, ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ApplicationUpdate', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ApplicationUpdate' => [ 'shape' => 'ApplicationUpdate', ], ], ], 'UpdateApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/kinesisanalytics/2015-08-14/paginators-1.json.php b/lib/aws/Aws/data/kinesisanalytics/2015-08-14/paginators-1.json.php new file mode 100644 index 0000000..e577c27 --- /dev/null +++ b/lib/aws/Aws/data/kinesisanalytics/2015-08-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisanalytics/2015-08-14/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/api-2.json.php b/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/api-2.json.php new file mode 100644 index 0000000..501230d --- /dev/null +++ b/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisanalyticsv2/2018-05-23/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-05-23', 'endpointPrefix' => 'kinesisanalytics', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Kinesis Analytics V2', 'serviceFullName' => 'Amazon Kinesis Analytics', 'serviceId' => 'Kinesis Analytics V2', 'signatureVersion' => 'v4', 'signingName' => 'kinesisanalytics', 'targetPrefix' => 'KinesisAnalytics_20180523', 'uid' => 'kinesisanalyticsv2-2018-05-23', ], 'operations' => [ 'AddApplicationCloudWatchLoggingOption' => [ 'name' => 'AddApplicationCloudWatchLoggingOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationCloudWatchLoggingOptionRequest', ], 'output' => [ 'shape' => 'AddApplicationCloudWatchLoggingOptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'AddApplicationInput' => [ 'name' => 'AddApplicationInput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputRequest', ], 'output' => [ 'shape' => 'AddApplicationInputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'AddApplicationInputProcessingConfiguration' => [ 'name' => 'AddApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'AddApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'AddApplicationOutput' => [ 'name' => 'AddApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationOutputRequest', ], 'output' => [ 'shape' => 'AddApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'AddApplicationReferenceDataSource' => [ 'name' => 'AddApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'AddApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationRequest', ], 'output' => [ 'shape' => 'CreateApplicationResponse', ], 'errors' => [ [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateApplicationSnapshot' => [ 'name' => 'CreateApplicationSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateApplicationSnapshotRequest', ], 'output' => [ 'shape' => 'CreateApplicationSnapshotResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplication' => [ 'name' => 'DeleteApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationRequest', ], 'output' => [ 'shape' => 'DeleteApplicationResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplicationCloudWatchLoggingOption' => [ 'name' => 'DeleteApplicationCloudWatchLoggingOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionRequest', ], 'output' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplicationInputProcessingConfiguration' => [ 'name' => 'DeleteApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplicationOutput' => [ 'name' => 'DeleteApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationOutputRequest', ], 'output' => [ 'shape' => 'DeleteApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplicationReferenceDataSource' => [ 'name' => 'DeleteApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'DeleteApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteApplicationSnapshot' => [ 'name' => 'DeleteApplicationSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationSnapshotRequest', ], 'output' => [ 'shape' => 'DeleteApplicationSnapshotResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeApplication' => [ 'name' => 'DescribeApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationRequest', ], 'output' => [ 'shape' => 'DescribeApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DescribeApplicationSnapshot' => [ 'name' => 'DescribeApplicationSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationSnapshotRequest', ], 'output' => [ 'shape' => 'DescribeApplicationSnapshotResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DiscoverInputSchema' => [ 'name' => 'DiscoverInputSchema', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DiscoverInputSchemaRequest', ], 'output' => [ 'shape' => 'DiscoverInputSchemaResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnableToDetectSchemaException', ], [ 'shape' => 'ResourceProvisionedThroughputExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListApplicationSnapshots' => [ 'name' => 'ListApplicationSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListApplicationSnapshotsRequest', ], 'output' => [ 'shape' => 'ListApplicationSnapshotsResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'ListApplications' => [ 'name' => 'ListApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListApplicationsRequest', ], 'output' => [ 'shape' => 'ListApplicationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], ], ], 'StartApplication' => [ 'name' => 'StartApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartApplicationRequest', ], 'output' => [ 'shape' => 'StartApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidApplicationConfigurationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'StopApplication' => [ 'name' => 'StopApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopApplicationRequest', ], 'output' => [ 'shape' => 'StopApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationRequest', ], 'output' => [ 'shape' => 'UpdateApplicationResponse', ], 'errors' => [ [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidRequestException', ], ], ], ], 'shapes' => [ 'AddApplicationCloudWatchLoggingOptionRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'CloudWatchLoggingOption', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOption' => [ 'shape' => 'CloudWatchLoggingOption', ], ], ], 'AddApplicationCloudWatchLoggingOptionResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOptionDescriptions' => [ 'shape' => 'CloudWatchLoggingOptionDescriptions', ], ], ], 'AddApplicationInputProcessingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'InputId', 'InputProcessingConfiguration', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputId' => [ 'shape' => 'Id', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], ], ], 'AddApplicationInputProcessingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputId' => [ 'shape' => 'Id', ], 'InputProcessingConfigurationDescription' => [ 'shape' => 'InputProcessingConfigurationDescription', ], ], ], 'AddApplicationInputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'Input', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'Input' => [ 'shape' => 'Input', ], ], ], 'AddApplicationInputResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputDescriptions' => [ 'shape' => 'InputDescriptions', ], ], ], 'AddApplicationOutputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'Output', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'Output' => [ 'shape' => 'Output', ], ], ], 'AddApplicationOutputResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'OutputDescriptions' => [ 'shape' => 'OutputDescriptions', ], ], ], 'AddApplicationReferenceDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ReferenceDataSource', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ReferenceDataSource' => [ 'shape' => 'ReferenceDataSource', ], ], ], 'AddApplicationReferenceDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ReferenceDataSourceDescriptions' => [ 'shape' => 'ReferenceDataSourceDescriptions', ], ], ], 'ApplicationCodeConfiguration' => [ 'type' => 'structure', 'required' => [ 'CodeContentType', ], 'members' => [ 'CodeContent' => [ 'shape' => 'CodeContent', ], 'CodeContentType' => [ 'shape' => 'CodeContentType', ], ], ], 'ApplicationCodeConfigurationDescription' => [ 'type' => 'structure', 'required' => [ 'CodeContentType', ], 'members' => [ 'CodeContentType' => [ 'shape' => 'CodeContentType', ], 'CodeContentDescription' => [ 'shape' => 'CodeContentDescription', ], ], ], 'ApplicationCodeConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'CodeContentTypeUpdate' => [ 'shape' => 'CodeContentType', ], 'CodeContentUpdate' => [ 'shape' => 'CodeContentUpdate', ], ], ], 'ApplicationConfiguration' => [ 'type' => 'structure', 'required' => [ 'ApplicationCodeConfiguration', ], 'members' => [ 'SqlApplicationConfiguration' => [ 'shape' => 'SqlApplicationConfiguration', ], 'FlinkApplicationConfiguration' => [ 'shape' => 'FlinkApplicationConfiguration', ], 'EnvironmentProperties' => [ 'shape' => 'EnvironmentProperties', ], 'ApplicationCodeConfiguration' => [ 'shape' => 'ApplicationCodeConfiguration', ], 'ApplicationSnapshotConfiguration' => [ 'shape' => 'ApplicationSnapshotConfiguration', ], ], ], 'ApplicationConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'SqlApplicationConfigurationDescription' => [ 'shape' => 'SqlApplicationConfigurationDescription', ], 'ApplicationCodeConfigurationDescription' => [ 'shape' => 'ApplicationCodeConfigurationDescription', ], 'RunConfigurationDescription' => [ 'shape' => 'RunConfigurationDescription', ], 'FlinkApplicationConfigurationDescription' => [ 'shape' => 'FlinkApplicationConfigurationDescription', ], 'EnvironmentPropertyDescriptions' => [ 'shape' => 'EnvironmentPropertyDescriptions', ], 'ApplicationSnapshotConfigurationDescription' => [ 'shape' => 'ApplicationSnapshotConfigurationDescription', ], ], ], 'ApplicationConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'SqlApplicationConfigurationUpdate' => [ 'shape' => 'SqlApplicationConfigurationUpdate', ], 'ApplicationCodeConfigurationUpdate' => [ 'shape' => 'ApplicationCodeConfigurationUpdate', ], 'FlinkApplicationConfigurationUpdate' => [ 'shape' => 'FlinkApplicationConfigurationUpdate', ], 'EnvironmentPropertyUpdates' => [ 'shape' => 'EnvironmentPropertyUpdates', ], 'ApplicationSnapshotConfigurationUpdate' => [ 'shape' => 'ApplicationSnapshotConfigurationUpdate', ], ], ], 'ApplicationDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'ApplicationDetail' => [ 'type' => 'structure', 'required' => [ 'ApplicationARN', 'ApplicationName', 'RuntimeEnvironment', 'ApplicationStatus', 'ApplicationVersionId', ], 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationDescription' => [ 'shape' => 'ApplicationDescription', ], 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'RuntimeEnvironment' => [ 'shape' => 'RuntimeEnvironment', ], 'ServiceExecutionRole' => [ 'shape' => 'RoleARN', ], 'ApplicationStatus' => [ 'shape' => 'ApplicationStatus', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'LastUpdateTimestamp' => [ 'shape' => 'Timestamp', ], 'ApplicationConfigurationDescription' => [ 'shape' => 'ApplicationConfigurationDescription', ], 'CloudWatchLoggingOptionDescriptions' => [ 'shape' => 'CloudWatchLoggingOptionDescriptions', ], ], ], 'ApplicationName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'ApplicationRestoreConfiguration' => [ 'type' => 'structure', 'required' => [ 'ApplicationRestoreType', ], 'members' => [ 'ApplicationRestoreType' => [ 'shape' => 'ApplicationRestoreType', ], 'SnapshotName' => [ 'shape' => 'SnapshotName', ], ], ], 'ApplicationRestoreType' => [ 'type' => 'string', 'enum' => [ 'SKIP_RESTORE_FROM_SNAPSHOT', 'RESTORE_FROM_LATEST_SNAPSHOT', 'RESTORE_FROM_CUSTOM_SNAPSHOT', ], ], 'ApplicationSnapshotConfiguration' => [ 'type' => 'structure', 'required' => [ 'SnapshotsEnabled', ], 'members' => [ 'SnapshotsEnabled' => [ 'shape' => 'BooleanObject', ], ], ], 'ApplicationSnapshotConfigurationDescription' => [ 'type' => 'structure', 'required' => [ 'SnapshotsEnabled', ], 'members' => [ 'SnapshotsEnabled' => [ 'shape' => 'BooleanObject', ], ], ], 'ApplicationSnapshotConfigurationUpdate' => [ 'type' => 'structure', 'required' => [ 'SnapshotsEnabledUpdate', ], 'members' => [ 'SnapshotsEnabledUpdate' => [ 'shape' => 'BooleanObject', ], ], ], 'ApplicationStatus' => [ 'type' => 'string', 'enum' => [ 'DELETING', 'STARTING', 'STOPPING', 'READY', 'RUNNING', 'UPDATING', ], ], 'ApplicationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationSummary', ], ], 'ApplicationSummary' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'ApplicationARN', 'ApplicationStatus', 'ApplicationVersionId', 'RuntimeEnvironment', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationStatus' => [ 'shape' => 'ApplicationStatus', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'RuntimeEnvironment' => [ 'shape' => 'RuntimeEnvironment', ], ], ], 'ApplicationVersionId' => [ 'type' => 'long', 'max' => 999999999, 'min' => 1, ], 'BooleanObject' => [ 'type' => 'boolean', ], 'BucketARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'CSVMappingParameters' => [ 'type' => 'structure', 'required' => [ 'RecordRowDelimiter', 'RecordColumnDelimiter', ], 'members' => [ 'RecordRowDelimiter' => [ 'shape' => 'RecordRowDelimiter', ], 'RecordColumnDelimiter' => [ 'shape' => 'RecordColumnDelimiter', ], ], ], 'CheckpointConfiguration' => [ 'type' => 'structure', 'required' => [ 'ConfigurationType', ], 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'CheckpointingEnabled' => [ 'shape' => 'BooleanObject', ], 'CheckpointInterval' => [ 'shape' => 'CheckpointInterval', ], 'MinPauseBetweenCheckpoints' => [ 'shape' => 'MinPauseBetweenCheckpoints', ], ], ], 'CheckpointConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'CheckpointingEnabled' => [ 'shape' => 'BooleanObject', ], 'CheckpointInterval' => [ 'shape' => 'CheckpointInterval', ], 'MinPauseBetweenCheckpoints' => [ 'shape' => 'MinPauseBetweenCheckpoints', ], ], ], 'CheckpointConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'ConfigurationTypeUpdate' => [ 'shape' => 'ConfigurationType', ], 'CheckpointingEnabledUpdate' => [ 'shape' => 'BooleanObject', ], 'CheckpointIntervalUpdate' => [ 'shape' => 'CheckpointInterval', ], 'MinPauseBetweenCheckpointsUpdate' => [ 'shape' => 'MinPauseBetweenCheckpoints', ], ], ], 'CheckpointInterval' => [ 'type' => 'long', 'min' => 0, ], 'CloudWatchLoggingOption' => [ 'type' => 'structure', 'required' => [ 'LogStreamARN', ], 'members' => [ 'LogStreamARN' => [ 'shape' => 'LogStreamARN', ], ], ], 'CloudWatchLoggingOptionDescription' => [ 'type' => 'structure', 'required' => [ 'LogStreamARN', ], 'members' => [ 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], 'LogStreamARN' => [ 'shape' => 'LogStreamARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'CloudWatchLoggingOptionDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOptionDescription', ], ], 'CloudWatchLoggingOptionUpdate' => [ 'type' => 'structure', 'required' => [ 'CloudWatchLoggingOptionId', ], 'members' => [ 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], 'LogStreamARNUpdate' => [ 'shape' => 'LogStreamARN', ], ], ], 'CloudWatchLoggingOptionUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOptionUpdate', ], ], 'CloudWatchLoggingOptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLoggingOption', ], ], 'CodeContent' => [ 'type' => 'structure', 'members' => [ 'TextContent' => [ 'shape' => 'TextContent', ], 'ZipFileContent' => [ 'shape' => 'ZipFileContent', ], 'S3ContentLocation' => [ 'shape' => 'S3ContentLocation', ], ], ], 'CodeContentDescription' => [ 'type' => 'structure', 'members' => [ 'TextContent' => [ 'shape' => 'TextContent', ], 'CodeMD5' => [ 'shape' => 'CodeMD5', ], 'CodeSize' => [ 'shape' => 'CodeSize', ], 'S3ApplicationCodeLocationDescription' => [ 'shape' => 'S3ApplicationCodeLocationDescription', ], ], ], 'CodeContentType' => [ 'type' => 'string', 'enum' => [ 'PLAINTEXT', 'ZIPFILE', ], ], 'CodeContentUpdate' => [ 'type' => 'structure', 'members' => [ 'TextContentUpdate' => [ 'shape' => 'TextContent', ], 'ZipFileContentUpdate' => [ 'shape' => 'ZipFileContent', ], 'S3ContentLocationUpdate' => [ 'shape' => 'S3ContentLocationUpdate', ], ], ], 'CodeMD5' => [ 'type' => 'string', 'max' => 128, 'min' => 128, ], 'CodeSize' => [ 'type' => 'long', 'max' => 52428800, 'min' => 0, ], 'CodeValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConfigurationType' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'CUSTOM', ], ], 'CreateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'RuntimeEnvironment', 'ServiceExecutionRole', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'ApplicationDescription' => [ 'shape' => 'ApplicationDescription', ], 'RuntimeEnvironment' => [ 'shape' => 'RuntimeEnvironment', ], 'ServiceExecutionRole' => [ 'shape' => 'RoleARN', ], 'ApplicationConfiguration' => [ 'shape' => 'ApplicationConfiguration', ], 'CloudWatchLoggingOptions' => [ 'shape' => 'CloudWatchLoggingOptions', ], ], ], 'CreateApplicationResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationDetail', ], 'members' => [ 'ApplicationDetail' => [ 'shape' => 'ApplicationDetail', ], ], ], 'CreateApplicationSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'SnapshotName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'SnapshotName' => [ 'shape' => 'SnapshotName', ], ], ], 'CreateApplicationSnapshotResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationCloudWatchLoggingOptionRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'CloudWatchLoggingOptionId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOptionId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationCloudWatchLoggingOptionResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'CloudWatchLoggingOptionDescriptions' => [ 'shape' => 'CloudWatchLoggingOptionDescriptions', ], ], ], 'DeleteApplicationInputProcessingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'InputId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'InputId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationInputProcessingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], ], ], 'DeleteApplicationOutputRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'OutputId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'OutputId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationOutputResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], ], ], 'DeleteApplicationReferenceDataSourceRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ReferenceId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ReferenceId' => [ 'shape' => 'Id', ], ], ], 'DeleteApplicationReferenceDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationARN' => [ 'shape' => 'ResourceARN', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], ], ], 'DeleteApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CreateTimestamp', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'DeleteApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteApplicationSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'SnapshotName', 'SnapshotCreationTimestamp', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'SnapshotName' => [ 'shape' => 'SnapshotName', ], 'SnapshotCreationTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'DeleteApplicationSnapshotResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'IncludeAdditionalDetails' => [ 'shape' => 'BooleanObject', ], ], ], 'DescribeApplicationResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationDetail', ], 'members' => [ 'ApplicationDetail' => [ 'shape' => 'ApplicationDetail', ], ], ], 'DescribeApplicationSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'SnapshotName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'SnapshotName' => [ 'shape' => 'SnapshotName', ], ], ], 'DescribeApplicationSnapshotResponse' => [ 'type' => 'structure', 'required' => [ 'SnapshotDetails', ], 'members' => [ 'SnapshotDetails' => [ 'shape' => 'SnapshotDetails', ], ], ], 'DestinationSchema' => [ 'type' => 'structure', 'required' => [ 'RecordFormatType', ], 'members' => [ 'RecordFormatType' => [ 'shape' => 'RecordFormatType', ], ], ], 'DiscoverInputSchemaRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceExecutionRole', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'ServiceExecutionRole' => [ 'shape' => 'RoleARN', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], 'S3Configuration' => [ 'shape' => 'S3Configuration', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], ], ], 'DiscoverInputSchemaResponse' => [ 'type' => 'structure', 'members' => [ 'InputSchema' => [ 'shape' => 'SourceSchema', ], 'ParsedInputRecords' => [ 'shape' => 'ParsedInputRecords', ], 'ProcessedInputRecords' => [ 'shape' => 'ProcessedInputRecords', ], 'RawInputRecords' => [ 'shape' => 'RawInputRecords', ], ], ], 'EnvironmentProperties' => [ 'type' => 'structure', 'required' => [ 'PropertyGroups', ], 'members' => [ 'PropertyGroups' => [ 'shape' => 'PropertyGroups', ], ], ], 'EnvironmentPropertyDescriptions' => [ 'type' => 'structure', 'members' => [ 'PropertyGroupDescriptions' => [ 'shape' => 'PropertyGroups', ], ], ], 'EnvironmentPropertyUpdates' => [ 'type' => 'structure', 'required' => [ 'PropertyGroups', ], 'members' => [ 'PropertyGroups' => [ 'shape' => 'PropertyGroups', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FileKey' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'FlinkApplicationConfiguration' => [ 'type' => 'structure', 'members' => [ 'CheckpointConfiguration' => [ 'shape' => 'CheckpointConfiguration', ], 'MonitoringConfiguration' => [ 'shape' => 'MonitoringConfiguration', ], 'ParallelismConfiguration' => [ 'shape' => 'ParallelismConfiguration', ], ], ], 'FlinkApplicationConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'CheckpointConfigurationDescription' => [ 'shape' => 'CheckpointConfigurationDescription', ], 'MonitoringConfigurationDescription' => [ 'shape' => 'MonitoringConfigurationDescription', ], 'ParallelismConfigurationDescription' => [ 'shape' => 'ParallelismConfigurationDescription', ], 'JobPlanDescription' => [ 'shape' => 'JobPlanDescription', ], ], ], 'FlinkApplicationConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'CheckpointConfigurationUpdate' => [ 'shape' => 'CheckpointConfigurationUpdate', ], 'MonitoringConfigurationUpdate' => [ 'shape' => 'MonitoringConfigurationUpdate', ], 'ParallelismConfigurationUpdate' => [ 'shape' => 'ParallelismConfigurationUpdate', ], ], ], 'Id' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'InAppStreamName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[a-zA-Z][a-zA-Z0-9_]+', ], 'InAppStreamNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'InAppStreamName', ], ], 'InAppTableName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[a-zA-Z][a-zA-Z0-9_]+', ], 'Input' => [ 'type' => 'structure', 'required' => [ 'NamePrefix', 'InputSchema', ], 'members' => [ 'NamePrefix' => [ 'shape' => 'InAppStreamName', ], 'InputProcessingConfiguration' => [ 'shape' => 'InputProcessingConfiguration', ], 'KinesisStreamsInput' => [ 'shape' => 'KinesisStreamsInput', ], 'KinesisFirehoseInput' => [ 'shape' => 'KinesisFirehoseInput', ], 'InputParallelism' => [ 'shape' => 'InputParallelism', ], 'InputSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'InputDescription' => [ 'type' => 'structure', 'members' => [ 'InputId' => [ 'shape' => 'Id', ], 'NamePrefix' => [ 'shape' => 'InAppStreamName', ], 'InAppStreamNames' => [ 'shape' => 'InAppStreamNames', ], 'InputProcessingConfigurationDescription' => [ 'shape' => 'InputProcessingConfigurationDescription', ], 'KinesisStreamsInputDescription' => [ 'shape' => 'KinesisStreamsInputDescription', ], 'KinesisFirehoseInputDescription' => [ 'shape' => 'KinesisFirehoseInputDescription', ], 'InputSchema' => [ 'shape' => 'SourceSchema', ], 'InputParallelism' => [ 'shape' => 'InputParallelism', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], ], ], 'InputDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputDescription', ], ], 'InputLambdaProcessor' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'InputLambdaProcessorDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'InputLambdaProcessorUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'InputParallelism' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => 'InputParallelismCount', ], ], ], 'InputParallelismCount' => [ 'type' => 'integer', 'max' => 64, 'min' => 1, ], 'InputParallelismUpdate' => [ 'type' => 'structure', 'required' => [ 'CountUpdate', ], 'members' => [ 'CountUpdate' => [ 'shape' => 'InputParallelismCount', ], ], ], 'InputProcessingConfiguration' => [ 'type' => 'structure', 'required' => [ 'InputLambdaProcessor', ], 'members' => [ 'InputLambdaProcessor' => [ 'shape' => 'InputLambdaProcessor', ], ], ], 'InputProcessingConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'InputLambdaProcessorDescription' => [ 'shape' => 'InputLambdaProcessorDescription', ], ], ], 'InputProcessingConfigurationUpdate' => [ 'type' => 'structure', 'required' => [ 'InputLambdaProcessorUpdate', ], 'members' => [ 'InputLambdaProcessorUpdate' => [ 'shape' => 'InputLambdaProcessorUpdate', ], ], ], 'InputSchemaUpdate' => [ 'type' => 'structure', 'members' => [ 'RecordFormatUpdate' => [ 'shape' => 'RecordFormat', ], 'RecordEncodingUpdate' => [ 'shape' => 'RecordEncoding', ], 'RecordColumnUpdates' => [ 'shape' => 'RecordColumns', ], ], ], 'InputStartingPosition' => [ 'type' => 'string', 'enum' => [ 'NOW', 'TRIM_HORIZON', 'LAST_STOPPED_POINT', ], ], 'InputStartingPositionConfiguration' => [ 'type' => 'structure', 'members' => [ 'InputStartingPosition' => [ 'shape' => 'InputStartingPosition', ], ], ], 'InputUpdate' => [ 'type' => 'structure', 'required' => [ 'InputId', ], 'members' => [ 'InputId' => [ 'shape' => 'Id', ], 'NamePrefixUpdate' => [ 'shape' => 'InAppStreamName', ], 'InputProcessingConfigurationUpdate' => [ 'shape' => 'InputProcessingConfigurationUpdate', ], 'KinesisStreamsInputUpdate' => [ 'shape' => 'KinesisStreamsInputUpdate', ], 'KinesisFirehoseInputUpdate' => [ 'shape' => 'KinesisFirehoseInputUpdate', ], 'InputSchemaUpdate' => [ 'shape' => 'InputSchemaUpdate', ], 'InputParallelismUpdate' => [ 'shape' => 'InputParallelismUpdate', ], ], ], 'InputUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputUpdate', ], ], 'Inputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Input', ], ], 'InvalidApplicationConfigurationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'JSONMappingParameters' => [ 'type' => 'structure', 'required' => [ 'RecordRowPath', ], 'members' => [ 'RecordRowPath' => [ 'shape' => 'RecordRowPath', ], ], ], 'JobPlanDescription' => [ 'type' => 'string', ], 'KinesisFirehoseInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisFirehoseInputDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseInputUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisFirehoseOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisFirehoseOutputDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisFirehoseOutputUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisStreamsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisStreamsInputDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsInputUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisStreamsOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'KinesisStreamsOutputDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'KinesisStreamsOutputUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'LambdaOutput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'LambdaOutputDescription' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'LambdaOutputUpdate' => [ 'type' => 'structure', 'required' => [ 'ResourceARNUpdate', ], 'members' => [ 'ResourceARNUpdate' => [ 'shape' => 'ResourceARN', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListApplicationSnapshotsRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'Limit' => [ 'shape' => 'ListSnapshotsInputLimit', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListApplicationSnapshotsResponse' => [ 'type' => 'structure', 'members' => [ 'SnapshotSummaries' => [ 'shape' => 'SnapshotSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListApplicationsInputLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'ListApplicationsRequest' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'ListApplicationsInputLimit', ], 'NextToken' => [ 'shape' => 'ApplicationName', ], ], ], 'ListApplicationsResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationSummaries', ], 'members' => [ 'ApplicationSummaries' => [ 'shape' => 'ApplicationSummaries', ], 'NextToken' => [ 'shape' => 'ApplicationName', ], ], ], 'ListSnapshotsInputLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'LogLevel' => [ 'type' => 'string', 'enum' => [ 'INFO', 'WARN', 'ERROR', 'DEBUG', ], ], 'LogStreamARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'MappingParameters' => [ 'type' => 'structure', 'members' => [ 'JSONMappingParameters' => [ 'shape' => 'JSONMappingParameters', ], 'CSVMappingParameters' => [ 'shape' => 'CSVMappingParameters', ], ], ], 'MetricsLevel' => [ 'type' => 'string', 'enum' => [ 'APPLICATION', 'TASK', 'OPERATOR', 'PARALLELISM', ], ], 'MinPauseBetweenCheckpoints' => [ 'type' => 'long', 'min' => 0, ], 'MonitoringConfiguration' => [ 'type' => 'structure', 'required' => [ 'ConfigurationType', ], 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'MetricsLevel' => [ 'shape' => 'MetricsLevel', ], 'LogLevel' => [ 'shape' => 'LogLevel', ], ], ], 'MonitoringConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'MetricsLevel' => [ 'shape' => 'MetricsLevel', ], 'LogLevel' => [ 'shape' => 'LogLevel', ], ], ], 'MonitoringConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'ConfigurationTypeUpdate' => [ 'shape' => 'ConfigurationType', ], 'MetricsLevelUpdate' => [ 'shape' => 'MetricsLevel', ], 'LogLevelUpdate' => [ 'shape' => 'LogLevel', ], ], ], 'NextToken' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ObjectVersion' => [ 'type' => 'string', ], 'Output' => [ 'type' => 'structure', 'required' => [ 'Name', 'DestinationSchema', ], 'members' => [ 'Name' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutput' => [ 'shape' => 'KinesisStreamsOutput', ], 'KinesisFirehoseOutput' => [ 'shape' => 'KinesisFirehoseOutput', ], 'LambdaOutput' => [ 'shape' => 'LambdaOutput', ], 'DestinationSchema' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputDescription' => [ 'type' => 'structure', 'members' => [ 'OutputId' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutputDescription' => [ 'shape' => 'KinesisStreamsOutputDescription', ], 'KinesisFirehoseOutputDescription' => [ 'shape' => 'KinesisFirehoseOutputDescription', ], 'LambdaOutputDescription' => [ 'shape' => 'LambdaOutputDescription', ], 'DestinationSchema' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputDescription', ], ], 'OutputUpdate' => [ 'type' => 'structure', 'required' => [ 'OutputId', ], 'members' => [ 'OutputId' => [ 'shape' => 'Id', ], 'NameUpdate' => [ 'shape' => 'InAppStreamName', ], 'KinesisStreamsOutputUpdate' => [ 'shape' => 'KinesisStreamsOutputUpdate', ], 'KinesisFirehoseOutputUpdate' => [ 'shape' => 'KinesisFirehoseOutputUpdate', ], 'LambdaOutputUpdate' => [ 'shape' => 'LambdaOutputUpdate', ], 'DestinationSchemaUpdate' => [ 'shape' => 'DestinationSchema', ], ], ], 'OutputUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputUpdate', ], ], 'Outputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], 'Parallelism' => [ 'type' => 'integer', 'min' => 1, ], 'ParallelismConfiguration' => [ 'type' => 'structure', 'required' => [ 'ConfigurationType', ], 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'Parallelism' => [ 'shape' => 'Parallelism', ], 'ParallelismPerKPU' => [ 'shape' => 'ParallelismPerKPU', ], 'AutoScalingEnabled' => [ 'shape' => 'BooleanObject', ], ], ], 'ParallelismConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'ConfigurationType' => [ 'shape' => 'ConfigurationType', ], 'Parallelism' => [ 'shape' => 'Parallelism', ], 'ParallelismPerKPU' => [ 'shape' => 'ParallelismPerKPU', ], 'CurrentParallelism' => [ 'shape' => 'Parallelism', ], 'AutoScalingEnabled' => [ 'shape' => 'BooleanObject', ], ], ], 'ParallelismConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'ConfigurationTypeUpdate' => [ 'shape' => 'ConfigurationType', ], 'ParallelismUpdate' => [ 'shape' => 'Parallelism', ], 'ParallelismPerKPUUpdate' => [ 'shape' => 'ParallelismPerKPU', ], 'AutoScalingEnabledUpdate' => [ 'shape' => 'BooleanObject', ], ], ], 'ParallelismPerKPU' => [ 'type' => 'integer', 'min' => 1, ], 'ParsedInputRecord' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParsedInputRecordField', ], ], 'ParsedInputRecordField' => [ 'type' => 'string', ], 'ParsedInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParsedInputRecord', ], ], 'ProcessedInputRecord' => [ 'type' => 'string', ], 'ProcessedInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessedInputRecord', ], ], 'PropertyGroup' => [ 'type' => 'structure', 'required' => [ 'PropertyGroupId', 'PropertyMap', ], 'members' => [ 'PropertyGroupId' => [ 'shape' => 'Id', ], 'PropertyMap' => [ 'shape' => 'PropertyMap', ], ], ], 'PropertyGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropertyGroup', ], 'max' => 50, ], 'PropertyKey' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'PropertyMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'PropertyKey', ], 'value' => [ 'shape' => 'PropertyValue', ], 'max' => 50, 'min' => 1, ], 'PropertyValue' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'RawInputRecord' => [ 'type' => 'string', ], 'RawInputRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'RawInputRecord', ], ], 'RecordColumn' => [ 'type' => 'structure', 'required' => [ 'Name', 'SqlType', ], 'members' => [ 'Name' => [ 'shape' => 'RecordColumnName', ], 'Mapping' => [ 'shape' => 'RecordColumnMapping', ], 'SqlType' => [ 'shape' => 'RecordColumnSqlType', ], ], ], 'RecordColumnDelimiter' => [ 'type' => 'string', 'min' => 1, ], 'RecordColumnMapping' => [ 'type' => 'string', ], 'RecordColumnName' => [ 'type' => 'string', 'pattern' => '[a-zA-Z_][a-zA-Z0-9_]*', ], 'RecordColumnSqlType' => [ 'type' => 'string', 'min' => 1, ], 'RecordColumns' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordColumn', ], 'max' => 1000, 'min' => 1, ], 'RecordEncoding' => [ 'type' => 'string', 'pattern' => 'UTF-8', ], 'RecordFormat' => [ 'type' => 'structure', 'required' => [ 'RecordFormatType', ], 'members' => [ 'RecordFormatType' => [ 'shape' => 'RecordFormatType', ], 'MappingParameters' => [ 'shape' => 'MappingParameters', ], ], ], 'RecordFormatType' => [ 'type' => 'string', 'enum' => [ 'JSON', 'CSV', ], ], 'RecordRowDelimiter' => [ 'type' => 'string', 'min' => 1, ], 'RecordRowPath' => [ 'type' => 'string', 'min' => 1, ], 'ReferenceDataSource' => [ 'type' => 'structure', 'required' => [ 'TableName', 'ReferenceSchema', ], 'members' => [ 'TableName' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSource' => [ 'shape' => 'S3ReferenceDataSource', ], 'ReferenceSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceDescription' => [ 'type' => 'structure', 'required' => [ 'ReferenceId', 'TableName', 'S3ReferenceDataSourceDescription', ], 'members' => [ 'ReferenceId' => [ 'shape' => 'Id', ], 'TableName' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSourceDescription' => [ 'shape' => 'S3ReferenceDataSourceDescription', ], 'ReferenceSchema' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceDescriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReferenceDataSourceDescription', ], ], 'ReferenceDataSourceUpdate' => [ 'type' => 'structure', 'required' => [ 'ReferenceId', ], 'members' => [ 'ReferenceId' => [ 'shape' => 'Id', ], 'TableNameUpdate' => [ 'shape' => 'InAppTableName', ], 'S3ReferenceDataSourceUpdate' => [ 'shape' => 'S3ReferenceDataSourceUpdate', ], 'ReferenceSchemaUpdate' => [ 'shape' => 'SourceSchema', ], ], ], 'ReferenceDataSourceUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReferenceDataSourceUpdate', ], ], 'ReferenceDataSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReferenceDataSource', ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:.*', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RoleARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'RunConfiguration' => [ 'type' => 'structure', 'members' => [ 'SqlRunConfigurations' => [ 'shape' => 'SqlRunConfigurations', ], 'ApplicationRestoreConfiguration' => [ 'shape' => 'ApplicationRestoreConfiguration', ], ], ], 'RunConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'ApplicationRestoreConfigurationDescription' => [ 'shape' => 'ApplicationRestoreConfiguration', ], ], ], 'RunConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'ApplicationRestoreConfiguration' => [ 'shape' => 'ApplicationRestoreConfiguration', ], ], ], 'RuntimeEnvironment' => [ 'type' => 'string', 'enum' => [ 'SQL-1_0', 'FLINK-1_6', ], ], 'S3ApplicationCodeLocationDescription' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], 'ObjectVersion' => [ 'shape' => 'ObjectVersion', ], ], ], 'S3Configuration' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], ], ], 'S3ContentLocation' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], 'ObjectVersion' => [ 'shape' => 'ObjectVersion', ], ], ], 'S3ContentLocationUpdate' => [ 'type' => 'structure', 'members' => [ 'BucketARNUpdate' => [ 'shape' => 'BucketARN', ], 'FileKeyUpdate' => [ 'shape' => 'FileKey', ], 'ObjectVersionUpdate' => [ 'shape' => 'ObjectVersion', ], ], ], 'S3ReferenceDataSource' => [ 'type' => 'structure', 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], ], ], 'S3ReferenceDataSourceDescription' => [ 'type' => 'structure', 'required' => [ 'BucketARN', 'FileKey', ], 'members' => [ 'BucketARN' => [ 'shape' => 'BucketARN', ], 'FileKey' => [ 'shape' => 'FileKey', ], 'ReferenceRoleARN' => [ 'shape' => 'RoleARN', ], ], ], 'S3ReferenceDataSourceUpdate' => [ 'type' => 'structure', 'members' => [ 'BucketARNUpdate' => [ 'shape' => 'BucketARN', ], 'FileKeyUpdate' => [ 'shape' => 'FileKey', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'SnapshotDetails' => [ 'type' => 'structure', 'required' => [ 'SnapshotName', 'SnapshotStatus', 'ApplicationVersionId', ], 'members' => [ 'SnapshotName' => [ 'shape' => 'SnapshotName', ], 'SnapshotStatus' => [ 'shape' => 'SnapshotStatus', ], 'ApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'SnapshotCreationTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'SnapshotName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'SnapshotStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'READY', 'DELETING', 'FAILED', ], ], 'SnapshotSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotDetails', ], ], 'SourceSchema' => [ 'type' => 'structure', 'required' => [ 'RecordFormat', 'RecordColumns', ], 'members' => [ 'RecordFormat' => [ 'shape' => 'RecordFormat', ], 'RecordEncoding' => [ 'shape' => 'RecordEncoding', ], 'RecordColumns' => [ 'shape' => 'RecordColumns', ], ], ], 'SqlApplicationConfiguration' => [ 'type' => 'structure', 'members' => [ 'Inputs' => [ 'shape' => 'Inputs', ], 'Outputs' => [ 'shape' => 'Outputs', ], 'ReferenceDataSources' => [ 'shape' => 'ReferenceDataSources', ], ], ], 'SqlApplicationConfigurationDescription' => [ 'type' => 'structure', 'members' => [ 'InputDescriptions' => [ 'shape' => 'InputDescriptions', ], 'OutputDescriptions' => [ 'shape' => 'OutputDescriptions', ], 'ReferenceDataSourceDescriptions' => [ 'shape' => 'ReferenceDataSourceDescriptions', ], ], ], 'SqlApplicationConfigurationUpdate' => [ 'type' => 'structure', 'members' => [ 'InputUpdates' => [ 'shape' => 'InputUpdates', ], 'OutputUpdates' => [ 'shape' => 'OutputUpdates', ], 'ReferenceDataSourceUpdates' => [ 'shape' => 'ReferenceDataSourceUpdates', ], ], ], 'SqlRunConfiguration' => [ 'type' => 'structure', 'required' => [ 'InputId', 'InputStartingPositionConfiguration', ], 'members' => [ 'InputId' => [ 'shape' => 'Id', ], 'InputStartingPositionConfiguration' => [ 'shape' => 'InputStartingPositionConfiguration', ], ], ], 'SqlRunConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlRunConfiguration', ], ], 'StartApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'RunConfiguration', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'RunConfiguration' => [ 'shape' => 'RunConfiguration', ], ], ], 'StartApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'StopApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], ], ], 'StopApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'TextContent' => [ 'type' => 'string', 'max' => 102400, 'min' => 0, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnableToDetectSchemaException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'RawInputRecords' => [ 'shape' => 'RawInputRecords', ], 'ProcessedInputRecords' => [ 'shape' => 'ProcessedInputRecords', ], ], 'exception' => true, ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ApplicationConfigurationUpdate' => [ 'shape' => 'ApplicationConfigurationUpdate', ], 'ServiceExecutionRoleUpdate' => [ 'shape' => 'RoleARN', ], 'RunConfigurationUpdate' => [ 'shape' => 'RunConfigurationUpdate', ], 'CloudWatchLoggingOptionUpdates' => [ 'shape' => 'CloudWatchLoggingOptionUpdates', ], ], ], 'UpdateApplicationResponse' => [ 'type' => 'structure', 'required' => [ 'ApplicationDetail', ], 'members' => [ 'ApplicationDetail' => [ 'shape' => 'ApplicationDetail', ], ], ], 'ZipFileContent' => [ 'type' => 'blob', 'max' => 52428800, 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php b/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php new file mode 100644 index 0000000..a8431a9 --- /dev/null +++ b/lib/aws/Aws/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisanalyticsv2/2018-05-23/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kinesisvideo/2017-09-30/api-2.json.php b/lib/aws/Aws/data/kinesisvideo/2017-09-30/api-2.json.php new file mode 100644 index 0000000..6aba82b --- /dev/null +++ b/lib/aws/Aws/data/kinesisvideo/2017-09-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisvideo/2017-09-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-30', 'endpointPrefix' => 'kinesisvideo', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Kinesis Video', 'serviceFullName' => 'Amazon Kinesis Video Streams', 'serviceId' => 'Kinesis Video', 'signatureVersion' => 'v4', 'uid' => 'kinesisvideo-2017-09-30', ], 'operations' => [ 'CreateStream' => [ 'name' => 'CreateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/createStream', ], 'input' => [ 'shape' => 'CreateStreamInput', ], 'output' => [ 'shape' => 'CreateStreamOutput', ], 'errors' => [ [ 'shape' => 'AccountStreamLimitExceededException', ], [ 'shape' => 'DeviceStreamLimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidDeviceException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'TagsPerResourceExceededLimitException', ], ], ], 'DeleteStream' => [ 'name' => 'DeleteStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteStream', ], 'input' => [ 'shape' => 'DeleteStreamInput', ], 'output' => [ 'shape' => 'DeleteStreamOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'VersionMismatchException', ], ], ], 'DescribeStream' => [ 'name' => 'DescribeStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeStream', ], 'input' => [ 'shape' => 'DescribeStreamInput', ], 'output' => [ 'shape' => 'DescribeStreamOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'GetDataEndpoint' => [ 'name' => 'GetDataEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/getDataEndpoint', ], 'input' => [ 'shape' => 'GetDataEndpointInput', ], 'output' => [ 'shape' => 'GetDataEndpointOutput', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'ListStreams' => [ 'name' => 'ListStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/listStreams', ], 'input' => [ 'shape' => 'ListStreamsInput', ], 'output' => [ 'shape' => 'ListStreamsOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], 'ListTagsForStream' => [ 'name' => 'ListTagsForStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/listTagsForStream', ], 'input' => [ 'shape' => 'ListTagsForStreamInput', ], 'output' => [ 'shape' => 'ListTagsForStreamOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidResourceFormatException', ], ], ], 'TagStream' => [ 'name' => 'TagStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/tagStream', ], 'input' => [ 'shape' => 'TagStreamInput', ], 'output' => [ 'shape' => 'TagStreamOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidResourceFormatException', ], [ 'shape' => 'TagsPerResourceExceededLimitException', ], ], ], 'UntagStream' => [ 'name' => 'UntagStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/untagStream', ], 'input' => [ 'shape' => 'UntagStreamInput', ], 'output' => [ 'shape' => 'UntagStreamOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidResourceFormatException', ], ], ], 'UpdateDataRetention' => [ 'name' => 'UpdateDataRetention', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateDataRetention', ], 'input' => [ 'shape' => 'UpdateDataRetentionInput', ], 'output' => [ 'shape' => 'UpdateDataRetentionOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'VersionMismatchException', ], ], ], 'UpdateStream' => [ 'name' => 'UpdateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateStream', ], 'input' => [ 'shape' => 'UpdateStreamInput', ], 'output' => [ 'shape' => 'UpdateStreamOutput', ], 'errors' => [ [ 'shape' => 'ClientLimitExceededException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'VersionMismatchException', ], ], ], ], 'shapes' => [ 'APIName' => [ 'type' => 'string', 'enum' => [ 'PUT_MEDIA', 'GET_MEDIA', 'LIST_FRAGMENTS', 'GET_MEDIA_FOR_FRAGMENT_LIST', 'GET_HLS_STREAMING_SESSION_URL', ], ], 'AccountStreamLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ClientLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'BEGINS_WITH', ], ], 'CreateStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamName', ], 'members' => [ 'DeviceName' => [ 'shape' => 'DeviceName', ], 'StreamName' => [ 'shape' => 'StreamName', ], 'MediaType' => [ 'shape' => 'MediaType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'DataRetentionInHours' => [ 'shape' => 'DataRetentionInHours', ], 'Tags' => [ 'shape' => 'ResourceTags', ], ], ], 'CreateStreamOutput' => [ 'type' => 'structure', 'members' => [ 'StreamARN' => [ 'shape' => 'ResourceARN', ], ], ], 'DataEndpoint' => [ 'type' => 'string', ], 'DataRetentionChangeInHours' => [ 'type' => 'integer', 'min' => 1, ], 'DataRetentionInHours' => [ 'type' => 'integer', 'min' => 0, ], 'DeleteStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamARN', ], 'members' => [ 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'CurrentVersion' => [ 'shape' => 'Version', ], ], ], 'DeleteStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeStreamInput' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], ], ], 'DescribeStreamOutput' => [ 'type' => 'structure', 'members' => [ 'StreamInfo' => [ 'shape' => 'StreamInfo', ], ], ], 'DeviceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'DeviceStreamLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'GetDataEndpointInput' => [ 'type' => 'structure', 'required' => [ 'APIName', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'APIName' => [ 'shape' => 'APIName', ], ], ], 'GetDataEndpointOutput' => [ 'type' => 'structure', 'members' => [ 'DataEndpoint' => [ 'shape' => 'DataEndpoint', ], ], ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidDeviceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResourceFormatException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ListStreamsInput' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'ListStreamsInputLimit', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'StreamNameCondition' => [ 'shape' => 'StreamNameCondition', ], ], ], 'ListStreamsInputLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ListStreamsOutput' => [ 'type' => 'structure', 'members' => [ 'StreamInfoList' => [ 'shape' => 'StreamInfoList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForStreamInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'StreamName' => [ 'shape' => 'StreamName', ], ], ], 'ListTagsForStreamOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'Tags' => [ 'shape' => 'ResourceTags', ], ], ], 'MediaType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+(,[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+)*', ], 'NextToken' => [ 'type' => 'string', 'max' => 512, 'min' => 0, ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'ResourceARN' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ResourceTags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'Status' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'UPDATING', 'DELETING', ], ], 'StreamInfo' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'DeviceName', ], 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'MediaType' => [ 'shape' => 'MediaType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'Version' => [ 'shape' => 'Version', ], 'Status' => [ 'shape' => 'Status', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'DataRetentionInHours' => [ 'shape' => 'DataRetentionInHours', ], ], ], 'StreamInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamInfo', ], ], 'StreamName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'StreamNameCondition' => [ 'type' => 'structure', 'members' => [ 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'ComparisonValue' => [ 'shape' => 'StreamName', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagStreamInput' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'StreamName' => [ 'shape' => 'StreamName', ], 'Tags' => [ 'shape' => 'ResourceTags', ], ], ], 'TagStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TagsPerResourceExceededLimitException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UntagStreamInput' => [ 'type' => 'structure', 'required' => [ 'TagKeyList', ], 'members' => [ 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'StreamName' => [ 'shape' => 'StreamName', ], 'TagKeyList' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDataRetentionInput' => [ 'type' => 'structure', 'required' => [ 'CurrentVersion', 'Operation', 'DataRetentionChangeInHours', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'CurrentVersion' => [ 'shape' => 'Version', ], 'Operation' => [ 'shape' => 'UpdateDataRetentionOperation', ], 'DataRetentionChangeInHours' => [ 'shape' => 'DataRetentionChangeInHours', ], ], ], 'UpdateDataRetentionOperation' => [ 'type' => 'string', 'enum' => [ 'INCREASE_DATA_RETENTION', 'DECREASE_DATA_RETENTION', ], ], 'UpdateDataRetentionOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateStreamInput' => [ 'type' => 'structure', 'required' => [ 'CurrentVersion', ], 'members' => [ 'StreamName' => [ 'shape' => 'StreamName', ], 'StreamARN' => [ 'shape' => 'ResourceARN', ], 'CurrentVersion' => [ 'shape' => 'Version', ], 'DeviceName' => [ 'shape' => 'DeviceName', ], 'MediaType' => [ 'shape' => 'MediaType', ], ], ], 'UpdateStreamOutput' => [ 'type' => 'structure', 'members' => [], ], 'Version' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9]+', ], 'VersionMismatchException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/kinesisvideo/2017-09-30/paginators-1.json.php b/lib/aws/Aws/data/kinesisvideo/2017-09-30/paginators-1.json.php new file mode 100644 index 0000000..504c47a --- /dev/null +++ b/lib/aws/Aws/data/kinesisvideo/2017-09-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kinesisvideo/2017-09-30/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/kms/2014-11-01/api-2.json.php b/lib/aws/Aws/data/kms/2014-11-01/api-2.json.php new file mode 100644 index 0000000..5f18d7a --- /dev/null +++ b/lib/aws/Aws/data/kms/2014-11-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kms/2014-11-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-11-01', 'endpointPrefix' => 'kms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'KMS', 'serviceFullName' => 'AWS Key Management Service', 'serviceId' => 'KMS', 'signatureVersion' => 'v4', 'targetPrefix' => 'TrentService', 'uid' => 'kms-2014-11-01', ], 'operations' => [ 'CancelKeyDeletion' => [ 'name' => 'CancelKeyDeletion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelKeyDeletionRequest', ], 'output' => [ 'shape' => 'CancelKeyDeletionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ConnectCustomKeyStore' => [ 'name' => 'ConnectCustomKeyStore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConnectCustomKeyStoreRequest', ], 'output' => [ 'shape' => 'ConnectCustomKeyStoreResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmClusterNotActiveException', ], [ 'shape' => 'CustomKeyStoreInvalidStateException', ], [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'CloudHsmClusterInvalidConfigurationException', ], ], ], 'CreateAlias' => [ 'name' => 'CreateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAliasRequest', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidAliasNameException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'CreateCustomKeyStore' => [ 'name' => 'CreateCustomKeyStore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCustomKeyStoreRequest', ], 'output' => [ 'shape' => 'CreateCustomKeyStoreResponse', ], 'errors' => [ [ 'shape' => 'CloudHsmClusterInUseException', ], [ 'shape' => 'CustomKeyStoreNameInUseException', ], [ 'shape' => 'CloudHsmClusterNotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'CloudHsmClusterNotActiveException', ], [ 'shape' => 'IncorrectTrustAnchorException', ], [ 'shape' => 'CloudHsmClusterInvalidConfigurationException', ], ], ], 'CreateGrant' => [ 'name' => 'CreateGrant', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGrantRequest', ], 'output' => [ 'shape' => 'CreateGrantResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'CreateKey' => [ 'name' => 'CreateKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyRequest', ], 'output' => [ 'shape' => 'CreateKeyResponse', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TagException', ], [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'CustomKeyStoreInvalidStateException', ], [ 'shape' => 'CloudHsmClusterInvalidConfigurationException', ], ], ], 'Decrypt' => [ 'name' => 'Decrypt', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DecryptRequest', ], 'output' => [ 'shape' => 'DecryptResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'InvalidCiphertextException', ], [ 'shape' => 'KeyUnavailableException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'DeleteAlias' => [ 'name' => 'DeleteAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAliasRequest', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'DeleteCustomKeyStore' => [ 'name' => 'DeleteCustomKeyStore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCustomKeyStoreRequest', ], 'output' => [ 'shape' => 'DeleteCustomKeyStoreResponse', ], 'errors' => [ [ 'shape' => 'CustomKeyStoreHasCMKsException', ], [ 'shape' => 'CustomKeyStoreInvalidStateException', ], [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'KMSInternalException', ], ], ], 'DeleteImportedKeyMaterial' => [ 'name' => 'DeleteImportedKeyMaterial', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteImportedKeyMaterialRequest', ], 'errors' => [ [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'DescribeCustomKeyStores' => [ 'name' => 'DescribeCustomKeyStores', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCustomKeyStoresRequest', ], 'output' => [ 'shape' => 'DescribeCustomKeyStoresResponse', ], 'errors' => [ [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'KMSInternalException', ], ], ], 'DescribeKey' => [ 'name' => 'DescribeKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeKeyRequest', ], 'output' => [ 'shape' => 'DescribeKeyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], ], ], 'DisableKey' => [ 'name' => 'DisableKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableKeyRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'DisableKeyRotation' => [ 'name' => 'DisableKeyRotation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableKeyRotationRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'DisconnectCustomKeyStore' => [ 'name' => 'DisconnectCustomKeyStore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisconnectCustomKeyStoreRequest', ], 'output' => [ 'shape' => 'DisconnectCustomKeyStoreResponse', ], 'errors' => [ [ 'shape' => 'CustomKeyStoreInvalidStateException', ], [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'KMSInternalException', ], ], ], 'EnableKey' => [ 'name' => 'EnableKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableKeyRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'EnableKeyRotation' => [ 'name' => 'EnableKeyRotation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableKeyRotationRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'Encrypt' => [ 'name' => 'Encrypt', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EncryptRequest', ], 'output' => [ 'shape' => 'EncryptResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'KeyUnavailableException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidKeyUsageException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'GenerateDataKey' => [ 'name' => 'GenerateDataKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateDataKeyRequest', ], 'output' => [ 'shape' => 'GenerateDataKeyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'KeyUnavailableException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidKeyUsageException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'GenerateDataKeyWithoutPlaintext' => [ 'name' => 'GenerateDataKeyWithoutPlaintext', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateDataKeyWithoutPlaintextRequest', ], 'output' => [ 'shape' => 'GenerateDataKeyWithoutPlaintextResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'KeyUnavailableException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidKeyUsageException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'GenerateRandom' => [ 'name' => 'GenerateRandom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateRandomRequest', ], 'output' => [ 'shape' => 'GenerateRandomResponse', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'CustomKeyStoreInvalidStateException', ], ], ], 'GetKeyPolicy' => [ 'name' => 'GetKeyPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetKeyPolicyRequest', ], 'output' => [ 'shape' => 'GetKeyPolicyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'GetKeyRotationStatus' => [ 'name' => 'GetKeyRotationStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetKeyRotationStatusRequest', ], 'output' => [ 'shape' => 'GetKeyRotationStatusResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], ], 'GetParametersForImport' => [ 'name' => 'GetParametersForImport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetParametersForImportRequest', ], 'output' => [ 'shape' => 'GetParametersForImportResponse', ], 'errors' => [ [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ImportKeyMaterial' => [ 'name' => 'ImportKeyMaterial', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyMaterialRequest', ], 'output' => [ 'shape' => 'ImportKeyMaterialResponse', ], 'errors' => [ [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'InvalidCiphertextException', ], [ 'shape' => 'IncorrectKeyMaterialException', ], [ 'shape' => 'ExpiredImportTokenException', ], [ 'shape' => 'InvalidImportTokenException', ], ], ], 'ListAliases' => [ 'name' => 'ListAliases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAliasesRequest', ], 'output' => [ 'shape' => 'ListAliasesResponse', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidMarkerException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ListGrants' => [ 'name' => 'ListGrants', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGrantsRequest', ], 'output' => [ 'shape' => 'ListGrantsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidMarkerException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ListKeyPolicies' => [ 'name' => 'ListKeyPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListKeyPoliciesRequest', ], 'output' => [ 'shape' => 'ListKeyPoliciesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ListKeys' => [ 'name' => 'ListKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListKeysRequest', ], 'output' => [ 'shape' => 'ListKeysResponse', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'InvalidMarkerException', ], ], ], 'ListResourceTags' => [ 'name' => 'ListResourceTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceTagsRequest', ], 'output' => [ 'shape' => 'ListResourceTagsResponse', ], 'errors' => [ [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidMarkerException', ], ], ], 'ListRetirableGrants' => [ 'name' => 'ListRetirableGrants', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRetirableGrantsRequest', ], 'output' => [ 'shape' => 'ListGrantsResponse', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidMarkerException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], ], ], 'PutKeyPolicy' => [ 'name' => 'PutKeyPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutKeyPolicyRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ReEncrypt' => [ 'name' => 'ReEncrypt', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReEncryptRequest', ], 'output' => [ 'shape' => 'ReEncryptResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DisabledException', ], [ 'shape' => 'InvalidCiphertextException', ], [ 'shape' => 'KeyUnavailableException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidKeyUsageException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'RetireGrant' => [ 'name' => 'RetireGrant', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetireGrantRequest', ], 'errors' => [ [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidGrantTokenException', ], [ 'shape' => 'InvalidGrantIdException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'RevokeGrant' => [ 'name' => 'RevokeGrant', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeGrantRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'InvalidGrantIdException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'ScheduleKeyDeletion' => [ 'name' => 'ScheduleKeyDeletion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScheduleKeyDeletionRequest', ], 'output' => [ 'shape' => 'ScheduleKeyDeletionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TagException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'TagException', ], ], ], 'UpdateAlias' => [ 'name' => 'UpdateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAliasRequest', ], 'errors' => [ [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], 'UpdateCustomKeyStore' => [ 'name' => 'UpdateCustomKeyStore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCustomKeyStoreRequest', ], 'output' => [ 'shape' => 'UpdateCustomKeyStoreResponse', ], 'errors' => [ [ 'shape' => 'CustomKeyStoreNotFoundException', ], [ 'shape' => 'CloudHsmClusterNotFoundException', ], [ 'shape' => 'CloudHsmClusterNotRelatedException', ], [ 'shape' => 'CustomKeyStoreInvalidStateException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'CloudHsmClusterNotActiveException', ], [ 'shape' => 'CloudHsmClusterInvalidConfigurationException', ], ], ], 'UpdateKeyDescription' => [ 'name' => 'UpdateKeyDescription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateKeyDescriptionRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], ], 'shapes' => [ 'AWSAccountIdType' => [ 'type' => 'string', ], 'AlgorithmSpec' => [ 'type' => 'string', 'enum' => [ 'RSAES_PKCS1_V1_5', 'RSAES_OAEP_SHA_1', 'RSAES_OAEP_SHA_256', ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AliasListEntry', ], ], 'AliasListEntry' => [ 'type' => 'structure', 'members' => [ 'AliasName' => [ 'shape' => 'AliasNameType', ], 'AliasArn' => [ 'shape' => 'ArnType', ], 'TargetKeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'AliasNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9:/_-]+$', ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'ArnType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'BooleanType' => [ 'type' => 'boolean', ], 'CancelKeyDeletionRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'CancelKeyDeletionResponse' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'CiphertextType' => [ 'type' => 'blob', 'max' => 6144, 'min' => 1, ], 'CloudHsmClusterIdType' => [ 'type' => 'string', 'max' => 24, 'min' => 19, ], 'CloudHsmClusterInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CloudHsmClusterInvalidConfigurationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CloudHsmClusterNotActiveException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CloudHsmClusterNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CloudHsmClusterNotRelatedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'ConnectCustomKeyStoreRequest' => [ 'type' => 'structure', 'required' => [ 'CustomKeyStoreId', ], 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], ], ], 'ConnectCustomKeyStoreResponse' => [ 'type' => 'structure', 'members' => [], ], 'ConnectionErrorCodeType' => [ 'type' => 'string', 'enum' => [ 'INVALID_CREDENTIALS', 'CLUSTER_NOT_FOUND', 'NETWORK_ERRORS', 'INSUFFICIENT_CLOUDHSM_HSMS', 'USER_LOCKED_OUT', ], ], 'ConnectionStateType' => [ 'type' => 'string', 'enum' => [ 'CONNECTED', 'CONNECTING', 'FAILED', 'DISCONNECTED', 'DISCONNECTING', ], ], 'CreateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AliasName', 'TargetKeyId', ], 'members' => [ 'AliasName' => [ 'shape' => 'AliasNameType', ], 'TargetKeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'CreateCustomKeyStoreRequest' => [ 'type' => 'structure', 'required' => [ 'CustomKeyStoreName', 'CloudHsmClusterId', 'TrustAnchorCertificate', 'KeyStorePassword', ], 'members' => [ 'CustomKeyStoreName' => [ 'shape' => 'CustomKeyStoreNameType', ], 'CloudHsmClusterId' => [ 'shape' => 'CloudHsmClusterIdType', ], 'TrustAnchorCertificate' => [ 'shape' => 'TrustAnchorCertificateType', ], 'KeyStorePassword' => [ 'shape' => 'KeyStorePasswordType', ], ], ], 'CreateCustomKeyStoreResponse' => [ 'type' => 'structure', 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], ], ], 'CreateGrantRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'GranteePrincipal', 'Operations', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'GranteePrincipal' => [ 'shape' => 'PrincipalIdType', ], 'RetiringPrincipal' => [ 'shape' => 'PrincipalIdType', ], 'Operations' => [ 'shape' => 'GrantOperationList', ], 'Constraints' => [ 'shape' => 'GrantConstraints', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], 'Name' => [ 'shape' => 'GrantNameType', ], ], ], 'CreateGrantResponse' => [ 'type' => 'structure', 'members' => [ 'GrantToken' => [ 'shape' => 'GrantTokenType', ], 'GrantId' => [ 'shape' => 'GrantIdType', ], ], ], 'CreateKeyRequest' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'PolicyType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KeyUsage' => [ 'shape' => 'KeyUsageType', ], 'Origin' => [ 'shape' => 'OriginType', ], 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], 'BypassPolicyLockoutSafetyCheck' => [ 'shape' => 'BooleanType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateKeyResponse' => [ 'type' => 'structure', 'members' => [ 'KeyMetadata' => [ 'shape' => 'KeyMetadata', ], ], ], 'CustomKeyStoreHasCMKsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CustomKeyStoreIdType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'CustomKeyStoreInvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CustomKeyStoreNameInUseException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CustomKeyStoreNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'CustomKeyStoreNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'CustomKeyStoresList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomKeyStoresListEntry', ], ], 'CustomKeyStoresListEntry' => [ 'type' => 'structure', 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], 'CustomKeyStoreName' => [ 'shape' => 'CustomKeyStoreNameType', ], 'CloudHsmClusterId' => [ 'shape' => 'CloudHsmClusterIdType', ], 'TrustAnchorCertificate' => [ 'shape' => 'TrustAnchorCertificateType', ], 'ConnectionState' => [ 'shape' => 'ConnectionStateType', ], 'ConnectionErrorCode' => [ 'shape' => 'ConnectionErrorCodeType', ], 'CreationDate' => [ 'shape' => 'DateType', ], ], ], 'DataKeySpec' => [ 'type' => 'string', 'enum' => [ 'AES_256', 'AES_128', ], ], 'DateType' => [ 'type' => 'timestamp', ], 'DecryptRequest' => [ 'type' => 'structure', 'required' => [ 'CiphertextBlob', ], 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'EncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'DecryptResponse' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Plaintext' => [ 'shape' => 'PlaintextType', ], ], ], 'DeleteAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AliasName', ], 'members' => [ 'AliasName' => [ 'shape' => 'AliasNameType', ], ], ], 'DeleteCustomKeyStoreRequest' => [ 'type' => 'structure', 'required' => [ 'CustomKeyStoreId', ], 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], ], ], 'DeleteCustomKeyStoreResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteImportedKeyMaterialRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'DependencyTimeoutException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, 'fault' => true, ], 'DescribeCustomKeyStoresRequest' => [ 'type' => 'structure', 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], 'CustomKeyStoreName' => [ 'shape' => 'CustomKeyStoreNameType', ], 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'DescribeCustomKeyStoresResponse' => [ 'type' => 'structure', 'members' => [ 'CustomKeyStores' => [ 'shape' => 'CustomKeyStoresList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'DescribeKeyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'DescribeKeyResponse' => [ 'type' => 'structure', 'members' => [ 'KeyMetadata' => [ 'shape' => 'KeyMetadata', ], ], ], 'DescriptionType' => [ 'type' => 'string', 'max' => 8192, 'min' => 0, ], 'DisableKeyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'DisableKeyRotationRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'DisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'DisconnectCustomKeyStoreRequest' => [ 'type' => 'structure', 'required' => [ 'CustomKeyStoreId', ], 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], ], ], 'DisconnectCustomKeyStoreResponse' => [ 'type' => 'structure', 'members' => [], ], 'EnableKeyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'EnableKeyRotationRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'EncryptRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'Plaintext', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Plaintext' => [ 'shape' => 'PlaintextType', ], 'EncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'EncryptResponse' => [ 'type' => 'structure', 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'EncryptionContextKey' => [ 'type' => 'string', ], 'EncryptionContextType' => [ 'type' => 'map', 'key' => [ 'shape' => 'EncryptionContextKey', ], 'value' => [ 'shape' => 'EncryptionContextValue', ], ], 'EncryptionContextValue' => [ 'type' => 'string', ], 'ErrorMessageType' => [ 'type' => 'string', ], 'ExpirationModelType' => [ 'type' => 'string', 'enum' => [ 'KEY_MATERIAL_EXPIRES', 'KEY_MATERIAL_DOES_NOT_EXPIRE', ], ], 'ExpiredImportTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'GenerateDataKeyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'EncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'NumberOfBytes' => [ 'shape' => 'NumberOfBytesType', ], 'KeySpec' => [ 'shape' => 'DataKeySpec', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'GenerateDataKeyResponse' => [ 'type' => 'structure', 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'Plaintext' => [ 'shape' => 'PlaintextType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'GenerateDataKeyWithoutPlaintextRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'EncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'KeySpec' => [ 'shape' => 'DataKeySpec', ], 'NumberOfBytes' => [ 'shape' => 'NumberOfBytesType', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'GenerateDataKeyWithoutPlaintextResponse' => [ 'type' => 'structure', 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'GenerateRandomRequest' => [ 'type' => 'structure', 'members' => [ 'NumberOfBytes' => [ 'shape' => 'NumberOfBytesType', ], 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], ], ], 'GenerateRandomResponse' => [ 'type' => 'structure', 'members' => [ 'Plaintext' => [ 'shape' => 'PlaintextType', ], ], ], 'GetKeyPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'PolicyName', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'PolicyName' => [ 'shape' => 'PolicyNameType', ], ], ], 'GetKeyPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'PolicyType', ], ], ], 'GetKeyRotationStatusRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'GetKeyRotationStatusResponse' => [ 'type' => 'structure', 'members' => [ 'KeyRotationEnabled' => [ 'shape' => 'BooleanType', ], ], ], 'GetParametersForImportRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'WrappingAlgorithm', 'WrappingKeySpec', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'WrappingAlgorithm' => [ 'shape' => 'AlgorithmSpec', ], 'WrappingKeySpec' => [ 'shape' => 'WrappingKeySpec', ], ], ], 'GetParametersForImportResponse' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'ImportToken' => [ 'shape' => 'CiphertextType', ], 'PublicKey' => [ 'shape' => 'PlaintextType', ], 'ParametersValidTo' => [ 'shape' => 'DateType', ], ], ], 'GrantConstraints' => [ 'type' => 'structure', 'members' => [ 'EncryptionContextSubset' => [ 'shape' => 'EncryptionContextType', ], 'EncryptionContextEquals' => [ 'shape' => 'EncryptionContextType', ], ], ], 'GrantIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'GrantList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GrantListEntry', ], ], 'GrantListEntry' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'GrantId' => [ 'shape' => 'GrantIdType', ], 'Name' => [ 'shape' => 'GrantNameType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'GranteePrincipal' => [ 'shape' => 'PrincipalIdType', ], 'RetiringPrincipal' => [ 'shape' => 'PrincipalIdType', ], 'IssuingAccount' => [ 'shape' => 'PrincipalIdType', ], 'Operations' => [ 'shape' => 'GrantOperationList', ], 'Constraints' => [ 'shape' => 'GrantConstraints', ], ], ], 'GrantNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9:/_-]+$', ], 'GrantOperation' => [ 'type' => 'string', 'enum' => [ 'Decrypt', 'Encrypt', 'GenerateDataKey', 'GenerateDataKeyWithoutPlaintext', 'ReEncryptFrom', 'ReEncryptTo', 'CreateGrant', 'RetireGrant', 'DescribeKey', ], ], 'GrantOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GrantOperation', ], ], 'GrantTokenList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GrantTokenType', ], 'max' => 10, 'min' => 0, ], 'GrantTokenType' => [ 'type' => 'string', 'max' => 8192, 'min' => 1, ], 'ImportKeyMaterialRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'ImportToken', 'EncryptedKeyMaterial', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'ImportToken' => [ 'shape' => 'CiphertextType', ], 'EncryptedKeyMaterial' => [ 'shape' => 'CiphertextType', ], 'ValidTo' => [ 'shape' => 'DateType', ], 'ExpirationModel' => [ 'shape' => 'ExpirationModelType', ], ], ], 'ImportKeyMaterialResponse' => [ 'type' => 'structure', 'members' => [], ], 'IncorrectKeyMaterialException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'IncorrectTrustAnchorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidAliasNameException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidArnException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidCiphertextException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidGrantIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidGrantTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidImportTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidKeyUsageException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'InvalidMarkerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'KMSInternalException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, 'fault' => true, ], 'KMSInvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'KeyIdType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyListEntry', ], ], 'KeyListEntry' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'KeyArn' => [ 'shape' => 'ArnType', ], ], ], 'KeyManagerType' => [ 'type' => 'string', 'enum' => [ 'AWS', 'CUSTOMER', ], ], 'KeyMetadata' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'AWSAccountId' => [ 'shape' => 'AWSAccountIdType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Arn' => [ 'shape' => 'ArnType', ], 'CreationDate' => [ 'shape' => 'DateType', ], 'Enabled' => [ 'shape' => 'BooleanType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KeyUsage' => [ 'shape' => 'KeyUsageType', ], 'KeyState' => [ 'shape' => 'KeyState', ], 'DeletionDate' => [ 'shape' => 'DateType', ], 'ValidTo' => [ 'shape' => 'DateType', ], 'Origin' => [ 'shape' => 'OriginType', ], 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], 'CloudHsmClusterId' => [ 'shape' => 'CloudHsmClusterIdType', ], 'ExpirationModel' => [ 'shape' => 'ExpirationModelType', ], 'KeyManager' => [ 'shape' => 'KeyManagerType', ], ], ], 'KeyState' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', 'PendingDeletion', 'PendingImport', 'Unavailable', ], ], 'KeyStorePasswordType' => [ 'type' => 'string', 'min' => 1, 'sensitive' => true, ], 'KeyUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, 'fault' => true, ], 'KeyUsageType' => [ 'type' => 'string', 'enum' => [ 'ENCRYPT_DECRYPT', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'LimitType' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'ListAliasesRequest' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'ListAliasesResponse' => [ 'type' => 'structure', 'members' => [ 'Aliases' => [ 'shape' => 'AliasList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'ListGrantsRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'ListGrantsResponse' => [ 'type' => 'structure', 'members' => [ 'Grants' => [ 'shape' => 'GrantList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'ListKeyPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'ListKeyPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'PolicyNames' => [ 'shape' => 'PolicyNameList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'ListKeysRequest' => [ 'type' => 'structure', 'members' => [ 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'ListKeysResponse' => [ 'type' => 'structure', 'members' => [ 'Keys' => [ 'shape' => 'KeyList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'ListResourceTagsRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'ListResourceTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextMarker' => [ 'shape' => 'MarkerType', ], 'Truncated' => [ 'shape' => 'BooleanType', ], ], ], 'ListRetirableGrantsRequest' => [ 'type' => 'structure', 'required' => [ 'RetiringPrincipal', ], 'members' => [ 'Limit' => [ 'shape' => 'LimitType', ], 'Marker' => [ 'shape' => 'MarkerType', ], 'RetiringPrincipal' => [ 'shape' => 'PrincipalIdType', ], ], ], 'MalformedPolicyDocumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'MarkerType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]*', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'NumberOfBytesType' => [ 'type' => 'integer', 'max' => 1024, 'min' => 1, ], 'OriginType' => [ 'type' => 'string', 'enum' => [ 'AWS_KMS', 'EXTERNAL', 'AWS_CLOUDHSM', ], ], 'PendingWindowInDaysType' => [ 'type' => 'integer', 'max' => 365, 'min' => 1, ], 'PlaintextType' => [ 'type' => 'blob', 'max' => 4096, 'min' => 1, 'sensitive' => true, ], 'PolicyNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyNameType', ], ], 'PolicyNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w]+', ], 'PolicyType' => [ 'type' => 'string', 'max' => 131072, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'PrincipalIdType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[\\w+=,.@:/-]+$', ], 'PutKeyPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'PolicyName', 'Policy', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'PolicyName' => [ 'shape' => 'PolicyNameType', ], 'Policy' => [ 'shape' => 'PolicyType', ], 'BypassPolicyLockoutSafetyCheck' => [ 'shape' => 'BooleanType', ], ], ], 'ReEncryptRequest' => [ 'type' => 'structure', 'required' => [ 'CiphertextBlob', 'DestinationKeyId', ], 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'SourceEncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'DestinationKeyId' => [ 'shape' => 'KeyIdType', ], 'DestinationEncryptionContext' => [ 'shape' => 'EncryptionContextType', ], 'GrantTokens' => [ 'shape' => 'GrantTokenList', ], ], ], 'ReEncryptResponse' => [ 'type' => 'structure', 'members' => [ 'CiphertextBlob' => [ 'shape' => 'CiphertextType', ], 'SourceKeyId' => [ 'shape' => 'KeyIdType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'RetireGrantRequest' => [ 'type' => 'structure', 'members' => [ 'GrantToken' => [ 'shape' => 'GrantTokenType', ], 'KeyId' => [ 'shape' => 'KeyIdType', ], 'GrantId' => [ 'shape' => 'GrantIdType', ], ], ], 'RevokeGrantRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'GrantId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'GrantId' => [ 'shape' => 'GrantIdType', ], ], ], 'ScheduleKeyDeletionRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'PendingWindowInDays' => [ 'shape' => 'PendingWindowInDaysType', ], ], ], 'ScheduleKeyDeletionResponse' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'DeletionDate' => [ 'shape' => 'DateType', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'TagKey', 'TagValue', ], 'members' => [ 'TagKey' => [ 'shape' => 'TagKeyType', ], 'TagValue' => [ 'shape' => 'TagValueType', ], ], ], 'TagException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeyType', ], ], 'TagKeyType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'Tags', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TrustAnchorCertificateType' => [ 'type' => 'string', 'max' => 5000, 'min' => 1, ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'TagKeys', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UpdateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AliasName', 'TargetKeyId', ], 'members' => [ 'AliasName' => [ 'shape' => 'AliasNameType', ], 'TargetKeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'UpdateCustomKeyStoreRequest' => [ 'type' => 'structure', 'required' => [ 'CustomKeyStoreId', ], 'members' => [ 'CustomKeyStoreId' => [ 'shape' => 'CustomKeyStoreIdType', ], 'NewCustomKeyStoreName' => [ 'shape' => 'CustomKeyStoreNameType', ], 'KeyStorePassword' => [ 'shape' => 'KeyStorePasswordType', ], 'CloudHsmClusterId' => [ 'shape' => 'CloudHsmClusterIdType', ], ], ], 'UpdateCustomKeyStoreResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateKeyDescriptionRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'Description', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Description' => [ 'shape' => 'DescriptionType', ], ], ], 'WrappingKeySpec' => [ 'type' => 'string', 'enum' => [ 'RSA_2048', ], ], ],]; diff --git a/lib/aws/Aws/data/kms/2014-11-01/paginators-1.json.php b/lib/aws/Aws/data/kms/2014-11-01/paginators-1.json.php new file mode 100644 index 0000000..f38abe3 --- /dev/null +++ b/lib/aws/Aws/data/kms/2014-11-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kms/2014-11-01/paginators-1.json +return [ 'pagination' => [ 'ListAliases' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'more_results' => 'Truncated', 'output_token' => 'NextMarker', 'result_key' => 'Aliases', ], 'ListGrants' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'more_results' => 'Truncated', 'output_token' => 'NextMarker', 'result_key' => 'Grants', ], 'ListKeyPolicies' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'more_results' => 'Truncated', 'output_token' => 'NextMarker', 'result_key' => 'PolicyNames', ], 'ListKeys' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'more_results' => 'Truncated', 'output_token' => 'NextMarker', 'result_key' => 'Keys', ], ],]; diff --git a/lib/aws/Aws/data/kms/2014-11-01/smoke.json.php b/lib/aws/Aws/data/kms/2014-11-01/smoke.json.php new file mode 100644 index 0000000..0586afb --- /dev/null +++ b/lib/aws/Aws/data/kms/2014-11-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/kms/2014-11-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListAliases', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetKeyPolicy', 'input' => [ 'KeyId' => '12345678-1234-1234-1234-123456789012', 'PolicyName' => 'fakePolicy', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/lambda/2015-03-31/api-2.json.php b/lib/aws/Aws/data/lambda/2015-03-31/api-2.json.php new file mode 100644 index 0000000..8540719 --- /dev/null +++ b/lib/aws/Aws/data/lambda/2015-03-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lambda/2015-03-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-03-31', 'endpointPrefix' => 'lambda', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS Lambda', 'serviceId' => 'Lambda', 'signatureVersion' => 'v4', 'uid' => 'lambda-2015-03-31', ], 'operations' => [ 'AddLayerVersionPermission' => [ 'name' => 'AddLayerVersionPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy', 'responseCode' => 201, ], 'input' => [ 'shape' => 'AddLayerVersionPermissionRequest', ], 'output' => [ 'shape' => 'AddLayerVersionPermissionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'PolicyLengthExceededException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'AddPermission' => [ 'name' => 'AddPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/functions/{FunctionName}/policy', 'responseCode' => 201, ], 'input' => [ 'shape' => 'AddPermissionRequest', ], 'output' => [ 'shape' => 'AddPermissionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'PolicyLengthExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'CreateAlias' => [ 'name' => 'CreateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/functions/{FunctionName}/aliases', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAliasRequest', ], 'output' => [ 'shape' => 'AliasConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateEventSourceMapping' => [ 'name' => 'CreateEventSourceMapping', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/event-source-mappings/', 'responseCode' => 202, ], 'input' => [ 'shape' => 'CreateEventSourceMappingRequest', ], 'output' => [ 'shape' => 'EventSourceMappingConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateFunction' => [ 'name' => 'CreateFunction', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/functions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFunctionRequest', ], 'output' => [ 'shape' => 'FunctionConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'CodeStorageExceededException', ], ], ], 'DeleteAlias' => [ 'name' => 'DeleteAlias', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-03-31/functions/{FunctionName}/aliases/{Name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteAliasRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteEventSourceMapping' => [ 'name' => 'DeleteEventSourceMapping', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-03-31/event-source-mappings/{UUID}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteEventSourceMappingRequest', ], 'output' => [ 'shape' => 'EventSourceMappingConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteFunction' => [ 'name' => 'DeleteFunction', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-03-31/functions/{FunctionName}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFunctionRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'DeleteFunctionConcurrency' => [ 'name' => 'DeleteFunctionConcurrency', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-10-31/functions/{FunctionName}/concurrency', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFunctionConcurrencyRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'DeleteLayerVersion' => [ 'name' => 'DeleteLayerVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions/{VersionNumber}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteLayerVersionRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetAccountSettings' => [ 'name' => 'GetAccountSettings', 'http' => [ 'method' => 'GET', 'requestUri' => '/2016-08-19/account-settings/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAccountSettingsRequest', ], 'output' => [ 'shape' => 'GetAccountSettingsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ServiceException', ], ], ], 'GetAlias' => [ 'name' => 'GetAlias', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}/aliases/{Name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAliasRequest', ], 'output' => [ 'shape' => 'AliasConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetEventSourceMapping' => [ 'name' => 'GetEventSourceMapping', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/event-source-mappings/{UUID}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetEventSourceMappingRequest', ], 'output' => [ 'shape' => 'EventSourceMappingConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetFunction' => [ 'name' => 'GetFunction', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFunctionRequest', ], 'output' => [ 'shape' => 'GetFunctionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetFunctionConfiguration' => [ 'name' => 'GetFunctionConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}/configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFunctionConfigurationRequest', ], 'output' => [ 'shape' => 'FunctionConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetLayerVersion' => [ 'name' => 'GetLayerVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions/{VersionNumber}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLayerVersionRequest', ], 'output' => [ 'shape' => 'GetLayerVersionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetLayerVersionPolicy' => [ 'name' => 'GetLayerVersionPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLayerVersionPolicyRequest', ], 'output' => [ 'shape' => 'GetLayerVersionPolicyResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'GetPolicy' => [ 'name' => 'GetPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetPolicyRequest', ], 'output' => [ 'shape' => 'GetPolicyResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'Invoke' => [ 'name' => 'Invoke', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/functions/{FunctionName}/invocations', ], 'input' => [ 'shape' => 'InvocationRequest', ], 'output' => [ 'shape' => 'InvocationResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestContentException', ], [ 'shape' => 'RequestTooLargeException', ], [ 'shape' => 'UnsupportedMediaTypeException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'EC2UnexpectedException', ], [ 'shape' => 'SubnetIPAddressLimitReachedException', ], [ 'shape' => 'ENILimitReachedException', ], [ 'shape' => 'EC2ThrottledException', ], [ 'shape' => 'EC2AccessDeniedException', ], [ 'shape' => 'InvalidSubnetIDException', ], [ 'shape' => 'InvalidSecurityGroupIDException', ], [ 'shape' => 'InvalidZipFileException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'InvalidRuntimeException', ], ], ], 'InvokeAsync' => [ 'name' => 'InvokeAsync', 'http' => [ 'method' => 'POST', 'requestUri' => '/2014-11-13/functions/{FunctionName}/invoke-async/', 'responseCode' => 202, ], 'input' => [ 'shape' => 'InvokeAsyncRequest', ], 'output' => [ 'shape' => 'InvokeAsyncResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestContentException', ], [ 'shape' => 'InvalidRuntimeException', ], ], 'deprecated' => true, ], 'ListAliases' => [ 'name' => 'ListAliases', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}/aliases', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListAliasesRequest', ], 'output' => [ 'shape' => 'ListAliasesResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListEventSourceMappings' => [ 'name' => 'ListEventSourceMappings', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/event-source-mappings/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListEventSourceMappingsRequest', ], 'output' => [ 'shape' => 'ListEventSourceMappingsResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListFunctions' => [ 'name' => 'ListFunctions', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFunctionsRequest', ], 'output' => [ 'shape' => 'ListFunctionsResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'ListLayerVersions' => [ 'name' => 'ListLayerVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListLayerVersionsRequest', ], 'output' => [ 'shape' => 'ListLayerVersionsResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListLayers' => [ 'name' => 'ListLayers', 'http' => [ 'method' => 'GET', 'requestUri' => '/2018-10-31/layers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListLayersRequest', ], 'output' => [ 'shape' => 'ListLayersResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-03-31/tags/{ARN}', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListVersionsByFunction' => [ 'name' => 'ListVersionsByFunction', 'http' => [ 'method' => 'GET', 'requestUri' => '/2015-03-31/functions/{FunctionName}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListVersionsByFunctionRequest', ], 'output' => [ 'shape' => 'ListVersionsByFunctionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PublishLayerVersion' => [ 'name' => 'PublishLayerVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PublishLayerVersionRequest', ], 'output' => [ 'shape' => 'PublishLayerVersionResponse', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'CodeStorageExceededException', ], ], ], 'PublishVersion' => [ 'name' => 'PublishVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/2015-03-31/functions/{FunctionName}/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PublishVersionRequest', ], 'output' => [ 'shape' => 'FunctionConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'CodeStorageExceededException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'PutFunctionConcurrency' => [ 'name' => 'PutFunctionConcurrency', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-10-31/functions/{FunctionName}/concurrency', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutFunctionConcurrencyRequest', ], 'output' => [ 'shape' => 'Concurrency', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'RemoveLayerVersionPermission' => [ 'name' => 'RemoveLayerVersionPermission', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy/{StatementId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'RemoveLayerVersionPermissionRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'RemovePermission' => [ 'name' => 'RemovePermission', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2015-03-31/functions/{FunctionName}/policy/{StatementId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'RemovePermissionRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-03-31/tags/{ARN}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-03-31/tags/{ARN}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateAlias' => [ 'name' => 'UpdateAlias', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-03-31/functions/{FunctionName}/aliases/{Name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateAliasRequest', ], 'output' => [ 'shape' => 'AliasConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'UpdateEventSourceMapping' => [ 'name' => 'UpdateEventSourceMapping', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-03-31/event-source-mappings/{UUID}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateEventSourceMappingRequest', ], 'output' => [ 'shape' => 'EventSourceMappingConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'UpdateFunctionCode' => [ 'name' => 'UpdateFunctionCode', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-03-31/functions/{FunctionName}/code', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFunctionCodeRequest', ], 'output' => [ 'shape' => 'FunctionConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'CodeStorageExceededException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'UpdateFunctionConfiguration' => [ 'name' => 'UpdateFunctionConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2015-03-31/functions/{FunctionName}/configuration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFunctionConfigurationRequest', ], 'output' => [ 'shape' => 'FunctionConfiguration', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], ], 'shapes' => [ 'AccountLimit' => [ 'type' => 'structure', 'members' => [ 'TotalCodeSize' => [ 'shape' => 'Long', ], 'CodeSizeUnzipped' => [ 'shape' => 'Long', ], 'CodeSizeZipped' => [ 'shape' => 'Long', ], 'ConcurrentExecutions' => [ 'shape' => 'Integer', ], 'UnreservedConcurrentExecutions' => [ 'shape' => 'UnreservedConcurrentExecutions', ], ], ], 'AccountUsage' => [ 'type' => 'structure', 'members' => [ 'TotalCodeSize' => [ 'shape' => 'Long', ], 'FunctionCount' => [ 'shape' => 'Long', ], ], ], 'Action' => [ 'type' => 'string', 'pattern' => '(lambda:[*]|lambda:[a-zA-Z]+|[*])', ], 'AddLayerVersionPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'VersionNumber', 'StatementId', 'Action', 'Principal', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'VersionNumber' => [ 'shape' => 'LayerVersionNumber', 'location' => 'uri', 'locationName' => 'VersionNumber', ], 'StatementId' => [ 'shape' => 'StatementId', ], 'Action' => [ 'shape' => 'LayerPermissionAllowedAction', ], 'Principal' => [ 'shape' => 'LayerPermissionAllowedPrincipal', ], 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'RevisionId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'RevisionId', ], ], ], 'AddLayerVersionPermissionResponse' => [ 'type' => 'structure', 'members' => [ 'Statement' => [ 'shape' => 'String', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'AddPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'StatementId', 'Action', 'Principal', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'StatementId' => [ 'shape' => 'StatementId', ], 'Action' => [ 'shape' => 'Action', ], 'Principal' => [ 'shape' => 'Principal', ], 'SourceArn' => [ 'shape' => 'Arn', ], 'SourceAccount' => [ 'shape' => 'SourceOwner', ], 'EventSourceToken' => [ 'shape' => 'EventSourceToken', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'AddPermissionResponse' => [ 'type' => 'structure', 'members' => [ 'Statement' => [ 'shape' => 'String', ], ], ], 'AdditionalVersion' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[0-9]+', ], 'AdditionalVersionWeights' => [ 'type' => 'map', 'key' => [ 'shape' => 'AdditionalVersion', ], 'value' => [ 'shape' => 'Weight', ], ], 'Alias' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '(?!^[0-9]+$)([a-zA-Z0-9-_]+)', ], 'AliasConfiguration' => [ 'type' => 'structure', 'members' => [ 'AliasArn' => [ 'shape' => 'FunctionArn', ], 'Name' => [ 'shape' => 'Alias', ], 'FunctionVersion' => [ 'shape' => 'Version', ], 'Description' => [ 'shape' => 'Description', ], 'RoutingConfig' => [ 'shape' => 'AliasRoutingConfiguration', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AliasConfiguration', ], ], 'AliasRoutingConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdditionalVersionWeights' => [ 'shape' => 'AdditionalVersionWeights', ], ], ], 'Arn' => [ 'type' => 'string', 'pattern' => 'arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)', ], 'BatchSize' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'Blob' => [ 'type' => 'blob', 'sensitive' => true, ], 'BlobStream' => [ 'type' => 'blob', 'streaming' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'CodeStorageExceededException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CompatibleRuntimes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Runtime', ], 'max' => 5, ], 'Concurrency' => [ 'type' => 'structure', 'members' => [ 'ReservedConcurrentExecutions' => [ 'shape' => 'ReservedConcurrentExecutions', ], ], ], 'CreateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'Name', 'FunctionVersion', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Name' => [ 'shape' => 'Alias', ], 'FunctionVersion' => [ 'shape' => 'Version', ], 'Description' => [ 'shape' => 'Description', ], 'RoutingConfig' => [ 'shape' => 'AliasRoutingConfiguration', ], ], ], 'CreateEventSourceMappingRequest' => [ 'type' => 'structure', 'required' => [ 'EventSourceArn', 'FunctionName', ], 'members' => [ 'EventSourceArn' => [ 'shape' => 'Arn', ], 'FunctionName' => [ 'shape' => 'FunctionName', ], 'Enabled' => [ 'shape' => 'Enabled', ], 'BatchSize' => [ 'shape' => 'BatchSize', ], 'StartingPosition' => [ 'shape' => 'EventSourcePosition', ], 'StartingPositionTimestamp' => [ 'shape' => 'Date', ], ], ], 'CreateFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'Runtime', 'Role', 'Handler', 'Code', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', ], 'Runtime' => [ 'shape' => 'Runtime', ], 'Role' => [ 'shape' => 'RoleArn', ], 'Handler' => [ 'shape' => 'Handler', ], 'Code' => [ 'shape' => 'FunctionCode', ], 'Description' => [ 'shape' => 'Description', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MemorySize' => [ 'shape' => 'MemorySize', ], 'Publish' => [ 'shape' => 'Boolean', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'DeadLetterConfig' => [ 'shape' => 'DeadLetterConfig', ], 'Environment' => [ 'shape' => 'Environment', ], 'KMSKeyArn' => [ 'shape' => 'KMSKeyArn', ], 'TracingConfig' => [ 'shape' => 'TracingConfig', ], 'Tags' => [ 'shape' => 'Tags', ], 'Layers' => [ 'shape' => 'LayerList', ], ], ], 'Date' => [ 'type' => 'timestamp', ], 'DeadLetterConfig' => [ 'type' => 'structure', 'members' => [ 'TargetArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DeleteAliasRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'Name', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Name' => [ 'shape' => 'Alias', 'location' => 'uri', 'locationName' => 'Name', ], ], ], 'DeleteEventSourceMappingRequest' => [ 'type' => 'structure', 'required' => [ 'UUID', ], 'members' => [ 'UUID' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'UUID', ], ], ], 'DeleteFunctionConcurrencyRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], ], ], 'DeleteFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], ], ], 'DeleteLayerVersionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'VersionNumber', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'VersionNumber' => [ 'shape' => 'LayerVersionNumber', 'location' => 'uri', 'locationName' => 'VersionNumber', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'EC2AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'EC2ThrottledException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'EC2UnexpectedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], 'EC2ErrorCode' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'ENILimitReachedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'Enabled' => [ 'type' => 'boolean', ], 'Environment' => [ 'type' => 'structure', 'members' => [ 'Variables' => [ 'shape' => 'EnvironmentVariables', ], ], ], 'EnvironmentError' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'SensitiveString', ], ], ], 'EnvironmentResponse' => [ 'type' => 'structure', 'members' => [ 'Variables' => [ 'shape' => 'EnvironmentVariables', ], 'Error' => [ 'shape' => 'EnvironmentError', ], ], ], 'EnvironmentVariableName' => [ 'type' => 'string', 'pattern' => '[a-zA-Z]([a-zA-Z0-9_])+', 'sensitive' => true, ], 'EnvironmentVariableValue' => [ 'type' => 'string', 'sensitive' => true, ], 'EnvironmentVariables' => [ 'type' => 'map', 'key' => [ 'shape' => 'EnvironmentVariableName', ], 'value' => [ 'shape' => 'EnvironmentVariableValue', ], 'sensitive' => true, ], 'EventSourceMappingConfiguration' => [ 'type' => 'structure', 'members' => [ 'UUID' => [ 'shape' => 'String', ], 'BatchSize' => [ 'shape' => 'BatchSize', ], 'EventSourceArn' => [ 'shape' => 'Arn', ], 'FunctionArn' => [ 'shape' => 'FunctionArn', ], 'LastModified' => [ 'shape' => 'Date', ], 'LastProcessingResult' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'String', ], 'StateTransitionReason' => [ 'shape' => 'String', ], ], ], 'EventSourceMappingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSourceMappingConfiguration', ], ], 'EventSourcePosition' => [ 'type' => 'string', 'enum' => [ 'TRIM_HORIZON', 'LATEST', 'AT_TIMESTAMP', ], ], 'EventSourceToken' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[a-zA-Z0-9._\\-]+', ], 'FunctionArn' => [ 'type' => 'string', 'pattern' => 'arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?', ], 'FunctionCode' => [ 'type' => 'structure', 'members' => [ 'ZipFile' => [ 'shape' => 'Blob', ], 'S3Bucket' => [ 'shape' => 'S3Bucket', ], 'S3Key' => [ 'shape' => 'S3Key', ], 'S3ObjectVersion' => [ 'shape' => 'S3ObjectVersion', ], ], ], 'FunctionCodeLocation' => [ 'type' => 'structure', 'members' => [ 'RepositoryType' => [ 'shape' => 'String', ], 'Location' => [ 'shape' => 'String', ], ], ], 'FunctionConfiguration' => [ 'type' => 'structure', 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', ], 'FunctionArn' => [ 'shape' => 'NameSpacedFunctionArn', ], 'Runtime' => [ 'shape' => 'Runtime', ], 'Role' => [ 'shape' => 'RoleArn', ], 'Handler' => [ 'shape' => 'Handler', ], 'CodeSize' => [ 'shape' => 'Long', ], 'Description' => [ 'shape' => 'Description', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MemorySize' => [ 'shape' => 'MemorySize', ], 'LastModified' => [ 'shape' => 'Timestamp', ], 'CodeSha256' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'Version', ], 'VpcConfig' => [ 'shape' => 'VpcConfigResponse', ], 'DeadLetterConfig' => [ 'shape' => 'DeadLetterConfig', ], 'Environment' => [ 'shape' => 'EnvironmentResponse', ], 'KMSKeyArn' => [ 'shape' => 'KMSKeyArn', ], 'TracingConfig' => [ 'shape' => 'TracingConfigResponse', ], 'MasterArn' => [ 'shape' => 'FunctionArn', ], 'RevisionId' => [ 'shape' => 'String', ], 'Layers' => [ 'shape' => 'LayersReferenceList', ], ], ], 'FunctionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FunctionConfiguration', ], ], 'FunctionName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?', ], 'FunctionVersion' => [ 'type' => 'string', 'enum' => [ 'ALL', ], ], 'GetAccountSettingsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAccountSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'AccountLimit' => [ 'shape' => 'AccountLimit', ], 'AccountUsage' => [ 'shape' => 'AccountUsage', ], ], ], 'GetAliasRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'Name', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Name' => [ 'shape' => 'Alias', 'location' => 'uri', 'locationName' => 'Name', ], ], ], 'GetEventSourceMappingRequest' => [ 'type' => 'structure', 'required' => [ 'UUID', ], 'members' => [ 'UUID' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'UUID', ], ], ], 'GetFunctionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], ], ], 'GetFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], ], ], 'GetFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'Configuration' => [ 'shape' => 'FunctionConfiguration', ], 'Code' => [ 'shape' => 'FunctionCodeLocation', ], 'Tags' => [ 'shape' => 'Tags', ], 'Concurrency' => [ 'shape' => 'Concurrency', ], ], ], 'GetLayerVersionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'VersionNumber', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'VersionNumber' => [ 'shape' => 'LayerVersionNumber', 'location' => 'uri', 'locationName' => 'VersionNumber', ], ], ], 'GetLayerVersionPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'String', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'GetLayerVersionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'VersionNumber', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'VersionNumber' => [ 'shape' => 'LayerVersionNumber', 'location' => 'uri', 'locationName' => 'VersionNumber', ], ], ], 'GetLayerVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Content' => [ 'shape' => 'LayerVersionContentOutput', ], 'LayerArn' => [ 'shape' => 'LayerArn', ], 'LayerVersionArn' => [ 'shape' => 'LayerVersionArn', ], 'Description' => [ 'shape' => 'Description', ], 'CreatedDate' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'LayerVersionNumber', ], 'CompatibleRuntimes' => [ 'shape' => 'CompatibleRuntimes', ], 'LicenseInfo' => [ 'shape' => 'LicenseInfo', ], ], ], 'GetPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], ], ], 'GetPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'String', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'Handler' => [ 'type' => 'string', 'max' => 128, 'pattern' => '[^\\s]+', ], 'HttpStatus' => [ 'type' => 'integer', ], 'Integer' => [ 'type' => 'integer', ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRequestContentException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidRuntimeException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'InvalidSecurityGroupIDException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'InvalidSubnetIDException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'InvalidZipFileException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'InvocationRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'InvocationType' => [ 'shape' => 'InvocationType', 'location' => 'header', 'locationName' => 'X-Amz-Invocation-Type', ], 'LogType' => [ 'shape' => 'LogType', 'location' => 'header', 'locationName' => 'X-Amz-Log-Type', ], 'ClientContext' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'X-Amz-Client-Context', ], 'Payload' => [ 'shape' => 'Blob', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], ], 'payload' => 'Payload', ], 'InvocationResponse' => [ 'type' => 'structure', 'members' => [ 'StatusCode' => [ 'shape' => 'Integer', 'location' => 'statusCode', ], 'FunctionError' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'X-Amz-Function-Error', ], 'LogResult' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'X-Amz-Log-Result', ], 'Payload' => [ 'shape' => 'Blob', ], 'ExecutedVersion' => [ 'shape' => 'Version', 'location' => 'header', 'locationName' => 'X-Amz-Executed-Version', ], ], 'payload' => 'Payload', ], 'InvocationType' => [ 'type' => 'string', 'enum' => [ 'Event', 'RequestResponse', 'DryRun', ], ], 'InvokeAsyncRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'InvokeArgs', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'InvokeArgs' => [ 'shape' => 'BlobStream', ], ], 'deprecated' => true, 'payload' => 'InvokeArgs', ], 'InvokeAsyncResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'HttpStatus', 'location' => 'statusCode', ], ], 'deprecated' => true, ], 'KMSAccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'KMSDisabledException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'KMSInvalidStateException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'KMSKeyArn' => [ 'type' => 'string', 'pattern' => '(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()', ], 'KMSNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'Layer' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'LayerVersionArn', ], 'CodeSize' => [ 'shape' => 'Long', ], ], ], 'LayerArn' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => 'arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+', ], 'LayerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LayerVersionArn', ], ], 'LayerName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+', ], 'LayerPermissionAllowedAction' => [ 'type' => 'string', 'pattern' => 'lambda:GetLayerVersion', ], 'LayerPermissionAllowedPrincipal' => [ 'type' => 'string', 'pattern' => '\\d{12}|\\*|arn:(aws[a-zA-Z-]*):iam::\\d{12}:root', ], 'LayerVersionArn' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => 'arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+', ], 'LayerVersionContentInput' => [ 'type' => 'structure', 'members' => [ 'S3Bucket' => [ 'shape' => 'S3Bucket', ], 'S3Key' => [ 'shape' => 'S3Key', ], 'S3ObjectVersion' => [ 'shape' => 'S3ObjectVersion', ], 'ZipFile' => [ 'shape' => 'Blob', ], ], ], 'LayerVersionContentOutput' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'String', ], 'CodeSha256' => [ 'shape' => 'String', ], 'CodeSize' => [ 'shape' => 'Long', ], ], ], 'LayerVersionNumber' => [ 'type' => 'long', ], 'LayerVersionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LayerVersionsListItem', ], ], 'LayerVersionsListItem' => [ 'type' => 'structure', 'members' => [ 'LayerVersionArn' => [ 'shape' => 'LayerVersionArn', ], 'Version' => [ 'shape' => 'LayerVersionNumber', ], 'Description' => [ 'shape' => 'Description', ], 'CreatedDate' => [ 'shape' => 'Timestamp', ], 'CompatibleRuntimes' => [ 'shape' => 'CompatibleRuntimes', ], 'LicenseInfo' => [ 'shape' => 'LicenseInfo', ], ], ], 'LayersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LayersListItem', ], ], 'LayersListItem' => [ 'type' => 'structure', 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', ], 'LayerArn' => [ 'shape' => 'LayerArn', ], 'LatestMatchingVersion' => [ 'shape' => 'LayerVersionsListItem', ], ], ], 'LayersReferenceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Layer', ], ], 'LicenseInfo' => [ 'type' => 'string', 'max' => 512, ], 'ListAliasesRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'FunctionVersion' => [ 'shape' => 'Version', 'location' => 'querystring', 'locationName' => 'FunctionVersion', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListAliasesResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'Aliases' => [ 'shape' => 'AliasList', ], ], ], 'ListEventSourceMappingsRequest' => [ 'type' => 'structure', 'members' => [ 'EventSourceArn' => [ 'shape' => 'Arn', 'location' => 'querystring', 'locationName' => 'EventSourceArn', ], 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'querystring', 'locationName' => 'FunctionName', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListEventSourceMappingsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'EventSourceMappings' => [ 'shape' => 'EventSourceMappingsList', ], ], ], 'ListFunctionsRequest' => [ 'type' => 'structure', 'members' => [ 'MasterRegion' => [ 'shape' => 'MasterRegion', 'location' => 'querystring', 'locationName' => 'MasterRegion', ], 'FunctionVersion' => [ 'shape' => 'FunctionVersion', 'location' => 'querystring', 'locationName' => 'FunctionVersion', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListFunctionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'Functions' => [ 'shape' => 'FunctionList', ], ], ], 'ListLayerVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', ], 'members' => [ 'CompatibleRuntime' => [ 'shape' => 'Runtime', 'location' => 'querystring', 'locationName' => 'CompatibleRuntime', ], 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxLayerListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListLayerVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'LayerVersions' => [ 'shape' => 'LayerVersionsList', ], ], ], 'ListLayersRequest' => [ 'type' => 'structure', 'members' => [ 'CompatibleRuntime' => [ 'shape' => 'Runtime', 'location' => 'querystring', 'locationName' => 'CompatibleRuntime', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxLayerListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListLayersResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'Layers' => [ 'shape' => 'LayersList', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'FunctionArn', 'location' => 'uri', 'locationName' => 'ARN', ], ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ListVersionsByFunctionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'NamespacedFunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Marker' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'Marker', ], 'MaxItems' => [ 'shape' => 'MaxListItems', 'location' => 'querystring', 'locationName' => 'MaxItems', ], ], ], 'ListVersionsByFunctionResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'String', ], 'Versions' => [ 'shape' => 'FunctionList', ], ], ], 'LogType' => [ 'type' => 'string', 'enum' => [ 'None', 'Tail', ], ], 'Long' => [ 'type' => 'long', ], 'MasterRegion' => [ 'type' => 'string', 'pattern' => 'ALL|[a-z]{2}(-gov)?-[a-z]+-\\d{1}', ], 'MaxLayerListItems' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'MaxListItems' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'MemorySize' => [ 'type' => 'integer', 'max' => 3008, 'min' => 128, ], 'NameSpacedFunctionArn' => [ 'type' => 'string', 'pattern' => 'arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?', ], 'NamespacedFunctionName' => [ 'type' => 'string', 'max' => 170, 'min' => 1, 'pattern' => '(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_\\.]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?', ], 'NamespacedStatementId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '([a-zA-Z0-9-_.]+)', ], 'OrganizationId' => [ 'type' => 'string', 'pattern' => 'o-[a-z0-9]{10,32}', ], 'PolicyLengthExceededException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'PreconditionFailedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'Principal' => [ 'type' => 'string', 'pattern' => '.*', ], 'PublishLayerVersionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'Content', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'Description' => [ 'shape' => 'Description', ], 'Content' => [ 'shape' => 'LayerVersionContentInput', ], 'CompatibleRuntimes' => [ 'shape' => 'CompatibleRuntimes', ], 'LicenseInfo' => [ 'shape' => 'LicenseInfo', ], ], ], 'PublishLayerVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Content' => [ 'shape' => 'LayerVersionContentOutput', ], 'LayerArn' => [ 'shape' => 'LayerArn', ], 'LayerVersionArn' => [ 'shape' => 'LayerVersionArn', ], 'Description' => [ 'shape' => 'Description', ], 'CreatedDate' => [ 'shape' => 'Timestamp', ], 'Version' => [ 'shape' => 'LayerVersionNumber', ], 'CompatibleRuntimes' => [ 'shape' => 'CompatibleRuntimes', ], 'LicenseInfo' => [ 'shape' => 'LicenseInfo', ], ], ], 'PublishVersionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'CodeSha256' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'Description', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'PutFunctionConcurrencyRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'ReservedConcurrentExecutions', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'ReservedConcurrentExecutions' => [ 'shape' => 'ReservedConcurrentExecutions', ], ], ], 'Qualifier' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '(|[a-zA-Z0-9$_-]+)', ], 'RemoveLayerVersionPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerName', 'VersionNumber', 'StatementId', ], 'members' => [ 'LayerName' => [ 'shape' => 'LayerName', 'location' => 'uri', 'locationName' => 'LayerName', ], 'VersionNumber' => [ 'shape' => 'LayerVersionNumber', 'location' => 'uri', 'locationName' => 'VersionNumber', ], 'StatementId' => [ 'shape' => 'StatementId', 'location' => 'uri', 'locationName' => 'StatementId', ], 'RevisionId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'RevisionId', ], ], ], 'RemovePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'StatementId', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'StatementId' => [ 'shape' => 'NamespacedStatementId', 'location' => 'uri', 'locationName' => 'StatementId', ], 'Qualifier' => [ 'shape' => 'Qualifier', 'location' => 'querystring', 'locationName' => 'Qualifier', ], 'RevisionId' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'RevisionId', ], ], ], 'RequestTooLargeException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'ReservedConcurrentExecutions' => [ 'type' => 'integer', 'min' => 0, ], 'ResourceArn' => [ 'type' => 'string', 'pattern' => '(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()', ], 'ResourceConflictException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'pattern' => 'arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'Runtime' => [ 'type' => 'string', 'enum' => [ 'nodejs', 'nodejs4.3', 'nodejs6.10', 'nodejs8.10', 'java8', 'python2.7', 'python3.6', 'python3.7', 'dotnetcore1.0', 'dotnetcore2.0', 'dotnetcore2.1', 'nodejs4.3-edge', 'go1.x', 'ruby2.5', 'provided', ], ], 'S3Bucket' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '^[0-9A-Za-z\\.\\-_]*(?<!\\.)$', ], 'S3Key' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'S3ObjectVersion' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'SecurityGroupId' => [ 'type' => 'string', ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], 'max' => 5, ], 'SensitiveString' => [ 'type' => 'string', 'sensitive' => true, ], 'ServiceException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'SourceOwner' => [ 'type' => 'string', 'pattern' => '\\d{12}', ], 'StatementId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '([a-zA-Z0-9-_]+)', ], 'String' => [ 'type' => 'string', ], 'SubnetIPAddressLimitReachedException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'SubnetId' => [ 'type' => 'string', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], 'max' => 16, ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'Tags', ], 'members' => [ 'Resource' => [ 'shape' => 'FunctionArn', 'location' => 'uri', 'locationName' => 'ARN', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'ThrottleReason' => [ 'type' => 'string', 'enum' => [ 'ConcurrentInvocationLimitExceeded', 'FunctionInvocationRateLimitExceeded', 'ReservedFunctionConcurrentInvocationLimitExceeded', 'ReservedFunctionInvocationRateLimitExceeded', 'CallerRateLimitExceeded', ], ], 'Timeout' => [ 'type' => 'integer', 'min' => 1, ], 'Timestamp' => [ 'type' => 'string', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], 'Reason' => [ 'shape' => 'ThrottleReason', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TracingConfig' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'TracingMode', ], ], ], 'TracingConfigResponse' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'TracingMode', ], ], ], 'TracingMode' => [ 'type' => 'string', 'enum' => [ 'Active', 'PassThrough', ], ], 'UnreservedConcurrentExecutions' => [ 'type' => 'integer', 'min' => 0, ], 'UnsupportedMediaTypeException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 415, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', 'TagKeys', ], 'members' => [ 'Resource' => [ 'shape' => 'FunctionArn', 'location' => 'uri', 'locationName' => 'ARN', ], 'TagKeys' => [ 'shape' => 'TagKeyList', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], ], 'UpdateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', 'Name', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Name' => [ 'shape' => 'Alias', 'location' => 'uri', 'locationName' => 'Name', ], 'FunctionVersion' => [ 'shape' => 'Version', ], 'Description' => [ 'shape' => 'Description', ], 'RoutingConfig' => [ 'shape' => 'AliasRoutingConfiguration', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'UpdateEventSourceMappingRequest' => [ 'type' => 'structure', 'required' => [ 'UUID', ], 'members' => [ 'UUID' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'UUID', ], 'FunctionName' => [ 'shape' => 'FunctionName', ], 'Enabled' => [ 'shape' => 'Enabled', ], 'BatchSize' => [ 'shape' => 'BatchSize', ], ], ], 'UpdateFunctionCodeRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'ZipFile' => [ 'shape' => 'Blob', ], 'S3Bucket' => [ 'shape' => 'S3Bucket', ], 'S3Key' => [ 'shape' => 'S3Key', ], 'S3ObjectVersion' => [ 'shape' => 'S3ObjectVersion', ], 'Publish' => [ 'shape' => 'Boolean', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'RevisionId' => [ 'shape' => 'String', ], ], ], 'UpdateFunctionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FunctionName', ], 'members' => [ 'FunctionName' => [ 'shape' => 'FunctionName', 'location' => 'uri', 'locationName' => 'FunctionName', ], 'Role' => [ 'shape' => 'RoleArn', ], 'Handler' => [ 'shape' => 'Handler', ], 'Description' => [ 'shape' => 'Description', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'MemorySize' => [ 'shape' => 'MemorySize', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'Environment' => [ 'shape' => 'Environment', ], 'Runtime' => [ 'shape' => 'Runtime', ], 'DeadLetterConfig' => [ 'shape' => 'DeadLetterConfig', ], 'KMSKeyArn' => [ 'shape' => 'KMSKeyArn', ], 'TracingConfig' => [ 'shape' => 'TracingConfig', ], 'RevisionId' => [ 'shape' => 'String', ], 'Layers' => [ 'shape' => 'LayerList', ], ], ], 'Version' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '(\\$LATEST|[0-9]+)', ], 'VpcConfig' => [ 'type' => 'structure', 'members' => [ 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], ], ], 'VpcConfigResponse' => [ 'type' => 'structure', 'members' => [ 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], 'VpcId' => [ 'shape' => 'VpcId', ], ], ], 'VpcId' => [ 'type' => 'string', ], 'Weight' => [ 'type' => 'double', 'max' => 1, 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/lambda/2015-03-31/paginators-1.json.php b/lib/aws/Aws/data/lambda/2015-03-31/paginators-1.json.php new file mode 100644 index 0000000..709bfab --- /dev/null +++ b/lib/aws/Aws/data/lambda/2015-03-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lambda/2015-03-31/paginators-1.json +return [ 'pagination' => [ 'ListEventSourceMappings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'output_token' => 'NextMarker', 'result_key' => 'EventSourceMappings', ], 'ListFunctions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'output_token' => 'NextMarker', 'result_key' => 'Functions', ], ],]; diff --git a/lib/aws/Aws/data/lambda/2015-03-31/smoke.json.php b/lib/aws/Aws/data/lambda/2015-03-31/smoke.json.php new file mode 100644 index 0000000..7c6f0b7 --- /dev/null +++ b/lib/aws/Aws/data/lambda/2015-03-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lambda/2015-03-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListFunctions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'Invoke', 'input' => [ 'FunctionName' => 'bogus-function', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/lex-models/2017-04-19/api-2.json.php b/lib/aws/Aws/data/lex-models/2017-04-19/api-2.json.php new file mode 100644 index 0000000..ac5ab41 --- /dev/null +++ b/lib/aws/Aws/data/lex-models/2017-04-19/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lex-models/2017-04-19/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-04-19', 'endpointPrefix' => 'models.lex', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Lex Model Building Service', 'serviceId' => 'Lex Model Building Service', 'signatureVersion' => 'v4', 'signingName' => 'lex', 'uid' => 'lex-models-2017-04-19', ], 'operations' => [ 'CreateBotVersion' => [ 'name' => 'CreateBotVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/bots/{name}/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateBotVersionRequest', ], 'output' => [ 'shape' => 'CreateBotVersionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'CreateIntentVersion' => [ 'name' => 'CreateIntentVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/intents/{name}/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateIntentVersionRequest', ], 'output' => [ 'shape' => 'CreateIntentVersionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'CreateSlotTypeVersion' => [ 'name' => 'CreateSlotTypeVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/slottypes/{name}/versions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateSlotTypeVersionRequest', ], 'output' => [ 'shape' => 'CreateSlotTypeVersionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'DeleteBot' => [ 'name' => 'DeleteBot', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/bots/{name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBotRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteBotAlias' => [ 'name' => 'DeleteBotAlias', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/bots/{botName}/aliases/{name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBotAliasRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteBotChannelAssociation' => [ 'name' => 'DeleteBotChannelAssociation', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/bots/{botName}/aliases/{aliasName}/channels/{name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBotChannelAssociationRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteBotVersion' => [ 'name' => 'DeleteBotVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/bots/{name}/versions/{version}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBotVersionRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteIntent' => [ 'name' => 'DeleteIntent', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/intents/{name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntentRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteIntentVersion' => [ 'name' => 'DeleteIntentVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/intents/{name}/versions/{version}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteIntentVersionRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteSlotType' => [ 'name' => 'DeleteSlotType', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/slottypes/{name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteSlotTypeRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteSlotTypeVersion' => [ 'name' => 'DeleteSlotTypeVersion', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/slottypes/{name}/version/{version}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteSlotTypeVersionRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteUtterances' => [ 'name' => 'DeleteUtterances', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/bots/{botName}/utterances/{userId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteUtterancesRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBot' => [ 'name' => 'GetBot', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{name}/versions/{versionoralias}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotRequest', ], 'output' => [ 'shape' => 'GetBotResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBotAlias' => [ 'name' => 'GetBotAlias', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{botName}/aliases/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotAliasRequest', ], 'output' => [ 'shape' => 'GetBotAliasResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBotAliases' => [ 'name' => 'GetBotAliases', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{botName}/aliases/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotAliasesRequest', ], 'output' => [ 'shape' => 'GetBotAliasesResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBotChannelAssociation' => [ 'name' => 'GetBotChannelAssociation', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{botName}/aliases/{aliasName}/channels/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotChannelAssociationRequest', ], 'output' => [ 'shape' => 'GetBotChannelAssociationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBotChannelAssociations' => [ 'name' => 'GetBotChannelAssociations', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{botName}/aliases/{aliasName}/channels/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotChannelAssociationsRequest', ], 'output' => [ 'shape' => 'GetBotChannelAssociationsResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBotVersions' => [ 'name' => 'GetBotVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{name}/versions/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotVersionsRequest', ], 'output' => [ 'shape' => 'GetBotVersionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBots' => [ 'name' => 'GetBots', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBotsRequest', ], 'output' => [ 'shape' => 'GetBotsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBuiltinIntent' => [ 'name' => 'GetBuiltinIntent', 'http' => [ 'method' => 'GET', 'requestUri' => '/builtins/intents/{signature}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBuiltinIntentRequest', ], 'output' => [ 'shape' => 'GetBuiltinIntentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBuiltinIntents' => [ 'name' => 'GetBuiltinIntents', 'http' => [ 'method' => 'GET', 'requestUri' => '/builtins/intents/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBuiltinIntentsRequest', ], 'output' => [ 'shape' => 'GetBuiltinIntentsResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBuiltinSlotTypes' => [ 'name' => 'GetBuiltinSlotTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/builtins/slottypes/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBuiltinSlotTypesRequest', ], 'output' => [ 'shape' => 'GetBuiltinSlotTypesResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetExport' => [ 'name' => 'GetExport', 'http' => [ 'method' => 'GET', 'requestUri' => '/exports/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetExportRequest', ], 'output' => [ 'shape' => 'GetExportResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetImport' => [ 'name' => 'GetImport', 'http' => [ 'method' => 'GET', 'requestUri' => '/imports/{importId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetImportRequest', ], 'output' => [ 'shape' => 'GetImportResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetIntent' => [ 'name' => 'GetIntent', 'http' => [ 'method' => 'GET', 'requestUri' => '/intents/{name}/versions/{version}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntentRequest', ], 'output' => [ 'shape' => 'GetIntentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetIntentVersions' => [ 'name' => 'GetIntentVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/intents/{name}/versions/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntentVersionsRequest', ], 'output' => [ 'shape' => 'GetIntentVersionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetIntents' => [ 'name' => 'GetIntents', 'http' => [ 'method' => 'GET', 'requestUri' => '/intents/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetIntentsRequest', ], 'output' => [ 'shape' => 'GetIntentsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetSlotType' => [ 'name' => 'GetSlotType', 'http' => [ 'method' => 'GET', 'requestUri' => '/slottypes/{name}/versions/{version}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSlotTypeRequest', ], 'output' => [ 'shape' => 'GetSlotTypeResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetSlotTypeVersions' => [ 'name' => 'GetSlotTypeVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/slottypes/{name}/versions/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSlotTypeVersionsRequest', ], 'output' => [ 'shape' => 'GetSlotTypeVersionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetSlotTypes' => [ 'name' => 'GetSlotTypes', 'http' => [ 'method' => 'GET', 'requestUri' => '/slottypes/', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSlotTypesRequest', ], 'output' => [ 'shape' => 'GetSlotTypesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetUtterancesView' => [ 'name' => 'GetUtterancesView', 'http' => [ 'method' => 'GET', 'requestUri' => '/bots/{botname}/utterances?view=aggregation', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetUtterancesViewRequest', ], 'output' => [ 'shape' => 'GetUtterancesViewResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutBot' => [ 'name' => 'PutBot', 'http' => [ 'method' => 'PUT', 'requestUri' => '/bots/{name}/versions/$LATEST', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutBotRequest', ], 'output' => [ 'shape' => 'PutBotResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'PutBotAlias' => [ 'name' => 'PutBotAlias', 'http' => [ 'method' => 'PUT', 'requestUri' => '/bots/{botName}/aliases/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutBotAliasRequest', ], 'output' => [ 'shape' => 'PutBotAliasResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'PutIntent' => [ 'name' => 'PutIntent', 'http' => [ 'method' => 'PUT', 'requestUri' => '/intents/{name}/versions/$LATEST', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutIntentRequest', ], 'output' => [ 'shape' => 'PutIntentResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'PutSlotType' => [ 'name' => 'PutSlotType', 'http' => [ 'method' => 'PUT', 'requestUri' => '/slottypes/{name}/versions/$LATEST', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutSlotTypeRequest', ], 'output' => [ 'shape' => 'PutSlotTypeResponse', ], 'errors' => [ [ 'shape' => 'ConflictException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'PreconditionFailedException', ], ], ], 'StartImport' => [ 'name' => 'StartImport', 'http' => [ 'method' => 'POST', 'requestUri' => '/imports/', 'responseCode' => 201, ], 'input' => [ 'shape' => 'StartImportRequest', ], 'output' => [ 'shape' => 'StartImportResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], ], 'shapes' => [ 'AliasName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^([A-Za-z]_?)+$', ], 'AliasNameOrListAll' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^(-|^([A-Za-z]_?)+$)$', ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Blob' => [ 'type' => 'blob', ], 'Boolean' => [ 'type' => 'boolean', ], 'BotAliasMetadata' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AliasName', ], 'description' => [ 'shape' => 'Description', ], 'botVersion' => [ 'shape' => 'Version', ], 'botName' => [ 'shape' => 'BotName', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'BotAliasMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BotAliasMetadata', ], ], 'BotChannelAssociation' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotChannelName', ], 'description' => [ 'shape' => 'Description', ], 'botAlias' => [ 'shape' => 'AliasName', ], 'botName' => [ 'shape' => 'BotName', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'type' => [ 'shape' => 'ChannelType', ], 'botConfiguration' => [ 'shape' => 'ChannelConfigurationMap', ], 'status' => [ 'shape' => 'ChannelStatus', ], 'failureReason' => [ 'shape' => 'String', ], ], ], 'BotChannelAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BotChannelAssociation', ], ], 'BotChannelName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^([A-Za-z]_?)+$', ], 'BotMetadata' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotName', ], 'description' => [ 'shape' => 'Description', ], 'status' => [ 'shape' => 'Status', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], ], ], 'BotMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BotMetadata', ], ], 'BotName' => [ 'type' => 'string', 'max' => 50, 'min' => 2, 'pattern' => '^([A-Za-z]_?)+$', ], 'BotVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Version', ], 'max' => 5, 'min' => 1, ], 'BuiltinIntentMetadata' => [ 'type' => 'structure', 'members' => [ 'signature' => [ 'shape' => 'BuiltinIntentSignature', ], 'supportedLocales' => [ 'shape' => 'LocaleList', ], ], ], 'BuiltinIntentMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuiltinIntentMetadata', ], ], 'BuiltinIntentSignature' => [ 'type' => 'string', ], 'BuiltinIntentSlot' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], ], ], 'BuiltinIntentSlotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuiltinIntentSlot', ], ], 'BuiltinSlotTypeMetadata' => [ 'type' => 'structure', 'members' => [ 'signature' => [ 'shape' => 'BuiltinSlotTypeSignature', ], 'supportedLocales' => [ 'shape' => 'LocaleList', ], ], ], 'BuiltinSlotTypeMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BuiltinSlotTypeMetadata', ], ], 'BuiltinSlotTypeSignature' => [ 'type' => 'string', ], 'ChannelConfigurationMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'max' => 10, 'min' => 1, 'sensitive' => true, ], 'ChannelStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'CREATED', 'FAILED', ], ], 'ChannelType' => [ 'type' => 'string', 'enum' => [ 'Facebook', 'Slack', 'Twilio-Sms', 'Kik', ], ], 'CodeHook' => [ 'type' => 'structure', 'required' => [ 'uri', 'messageVersion', ], 'members' => [ 'uri' => [ 'shape' => 'LambdaARN', ], 'messageVersion' => [ 'shape' => 'MessageVersion', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ContentString' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ContentType' => [ 'type' => 'string', 'enum' => [ 'PlainText', 'SSML', 'CustomPayload', ], ], 'Count' => [ 'type' => 'integer', ], 'CreateBotVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'CreateBotVersionResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotName', ], 'description' => [ 'shape' => 'Description', ], 'intents' => [ 'shape' => 'IntentList', ], 'clarificationPrompt' => [ 'shape' => 'Prompt', ], 'abortStatement' => [ 'shape' => 'Statement', ], 'status' => [ 'shape' => 'Status', ], 'failureReason' => [ 'shape' => 'String', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'idleSessionTTLInSeconds' => [ 'shape' => 'SessionTTL', ], 'voiceId' => [ 'shape' => 'String', ], 'checksum' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Version', ], 'locale' => [ 'shape' => 'Locale', ], 'childDirected' => [ 'shape' => 'Boolean', ], ], ], 'CreateIntentVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'CreateIntentVersionResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'IntentName', ], 'description' => [ 'shape' => 'Description', ], 'slots' => [ 'shape' => 'SlotList', ], 'sampleUtterances' => [ 'shape' => 'IntentUtteranceList', ], 'confirmationPrompt' => [ 'shape' => 'Prompt', ], 'rejectionStatement' => [ 'shape' => 'Statement', ], 'followUpPrompt' => [ 'shape' => 'FollowUpPrompt', ], 'conclusionStatement' => [ 'shape' => 'Statement', ], 'dialogCodeHook' => [ 'shape' => 'CodeHook', ], 'fulfillmentActivity' => [ 'shape' => 'FulfillmentActivity', ], 'parentIntentSignature' => [ 'shape' => 'BuiltinIntentSignature', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'CreateSlotTypeVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'CreateSlotTypeVersionResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', ], 'description' => [ 'shape' => 'Description', ], 'enumerationValues' => [ 'shape' => 'EnumerationValues', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], 'valueSelectionStrategy' => [ 'shape' => 'SlotValueSelectionStrategy', ], ], ], 'CustomOrBuiltinSlotTypeName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^((AMAZON\\.)_?|[A-Za-z]_?)+', ], 'DeleteBotAliasRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'botName', ], 'members' => [ 'name' => [ 'shape' => 'AliasName', 'location' => 'uri', 'locationName' => 'name', ], 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], ], ], 'DeleteBotChannelAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'botName', 'botAlias', ], 'members' => [ 'name' => [ 'shape' => 'BotChannelName', 'location' => 'uri', 'locationName' => 'name', ], 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'botAlias' => [ 'shape' => 'AliasName', 'location' => 'uri', 'locationName' => 'aliasName', ], ], ], 'DeleteBotRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DeleteBotVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'NumericalVersion', 'location' => 'uri', 'locationName' => 'version', ], ], ], 'DeleteIntentRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DeleteIntentVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'NumericalVersion', 'location' => 'uri', 'locationName' => 'version', ], ], ], 'DeleteSlotTypeRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], ], ], 'DeleteSlotTypeVersionRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'NumericalVersion', 'location' => 'uri', 'locationName' => 'version', ], ], ], 'DeleteUtterancesRequest' => [ 'type' => 'structure', 'required' => [ 'botName', 'userId', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'userId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'userId', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 200, 'min' => 0, ], 'EnumerationValue' => [ 'type' => 'structure', 'required' => [ 'value', ], 'members' => [ 'value' => [ 'shape' => 'Value', ], 'synonyms' => [ 'shape' => 'SynonymList', ], ], ], 'EnumerationValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnumerationValue', ], 'max' => 10000, 'min' => 1, ], 'ExportStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'READY', 'FAILED', ], ], 'ExportType' => [ 'type' => 'string', 'enum' => [ 'ALEXA_SKILLS_KIT', 'LEX', ], ], 'FollowUpPrompt' => [ 'type' => 'structure', 'required' => [ 'prompt', 'rejectionStatement', ], 'members' => [ 'prompt' => [ 'shape' => 'Prompt', ], 'rejectionStatement' => [ 'shape' => 'Statement', ], ], ], 'FulfillmentActivity' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'FulfillmentActivityType', ], 'codeHook' => [ 'shape' => 'CodeHook', ], ], ], 'FulfillmentActivityType' => [ 'type' => 'string', 'enum' => [ 'ReturnIntent', 'CodeHook', ], ], 'GetBotAliasRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'botName', ], 'members' => [ 'name' => [ 'shape' => 'AliasName', 'location' => 'uri', 'locationName' => 'name', ], 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], ], ], 'GetBotAliasResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AliasName', ], 'description' => [ 'shape' => 'Description', ], 'botVersion' => [ 'shape' => 'Version', ], 'botName' => [ 'shape' => 'BotName', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'GetBotAliasesRequest' => [ 'type' => 'structure', 'required' => [ 'botName', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nameContains' => [ 'shape' => 'AliasName', 'location' => 'querystring', 'locationName' => 'nameContains', ], ], ], 'GetBotAliasesResponse' => [ 'type' => 'structure', 'members' => [ 'BotAliases' => [ 'shape' => 'BotAliasMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetBotChannelAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'botName', 'botAlias', ], 'members' => [ 'name' => [ 'shape' => 'BotChannelName', 'location' => 'uri', 'locationName' => 'name', ], 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'botAlias' => [ 'shape' => 'AliasName', 'location' => 'uri', 'locationName' => 'aliasName', ], ], ], 'GetBotChannelAssociationResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotChannelName', ], 'description' => [ 'shape' => 'Description', ], 'botAlias' => [ 'shape' => 'AliasName', ], 'botName' => [ 'shape' => 'BotName', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'type' => [ 'shape' => 'ChannelType', ], 'botConfiguration' => [ 'shape' => 'ChannelConfigurationMap', ], 'status' => [ 'shape' => 'ChannelStatus', ], 'failureReason' => [ 'shape' => 'String', ], ], ], 'GetBotChannelAssociationsRequest' => [ 'type' => 'structure', 'required' => [ 'botName', 'botAlias', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'botAlias' => [ 'shape' => 'AliasNameOrListAll', 'location' => 'uri', 'locationName' => 'aliasName', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nameContains' => [ 'shape' => 'BotChannelName', 'location' => 'querystring', 'locationName' => 'nameContains', ], ], ], 'GetBotChannelAssociationsResponse' => [ 'type' => 'structure', 'members' => [ 'botChannelAssociations' => [ 'shape' => 'BotChannelAssociationList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetBotRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'versionOrAlias', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], 'versionOrAlias' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'versionoralias', ], ], ], 'GetBotResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotName', ], 'description' => [ 'shape' => 'Description', ], 'intents' => [ 'shape' => 'IntentList', ], 'clarificationPrompt' => [ 'shape' => 'Prompt', ], 'abortStatement' => [ 'shape' => 'Statement', ], 'status' => [ 'shape' => 'Status', ], 'failureReason' => [ 'shape' => 'String', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'idleSessionTTLInSeconds' => [ 'shape' => 'SessionTTL', ], 'voiceId' => [ 'shape' => 'String', ], 'checksum' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Version', ], 'locale' => [ 'shape' => 'Locale', ], 'childDirected' => [ 'shape' => 'Boolean', ], ], ], 'GetBotVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'GetBotVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'bots' => [ 'shape' => 'BotMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetBotsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nameContains' => [ 'shape' => 'BotName', 'location' => 'querystring', 'locationName' => 'nameContains', ], ], ], 'GetBotsResponse' => [ 'type' => 'structure', 'members' => [ 'bots' => [ 'shape' => 'BotMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetBuiltinIntentRequest' => [ 'type' => 'structure', 'required' => [ 'signature', ], 'members' => [ 'signature' => [ 'shape' => 'BuiltinIntentSignature', 'location' => 'uri', 'locationName' => 'signature', ], ], ], 'GetBuiltinIntentResponse' => [ 'type' => 'structure', 'members' => [ 'signature' => [ 'shape' => 'BuiltinIntentSignature', ], 'supportedLocales' => [ 'shape' => 'LocaleList', ], 'slots' => [ 'shape' => 'BuiltinIntentSlotList', ], ], ], 'GetBuiltinIntentsRequest' => [ 'type' => 'structure', 'members' => [ 'locale' => [ 'shape' => 'Locale', 'location' => 'querystring', 'locationName' => 'locale', ], 'signatureContains' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'signatureContains', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'GetBuiltinIntentsResponse' => [ 'type' => 'structure', 'members' => [ 'intents' => [ 'shape' => 'BuiltinIntentMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetBuiltinSlotTypesRequest' => [ 'type' => 'structure', 'members' => [ 'locale' => [ 'shape' => 'Locale', 'location' => 'querystring', 'locationName' => 'locale', ], 'signatureContains' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'signatureContains', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'GetBuiltinSlotTypesResponse' => [ 'type' => 'structure', 'members' => [ 'slotTypes' => [ 'shape' => 'BuiltinSlotTypeMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetExportRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', 'resourceType', 'exportType', ], 'members' => [ 'name' => [ 'shape' => 'Name', 'location' => 'querystring', 'locationName' => 'name', ], 'version' => [ 'shape' => 'NumericalVersion', 'location' => 'querystring', 'locationName' => 'version', ], 'resourceType' => [ 'shape' => 'ResourceType', 'location' => 'querystring', 'locationName' => 'resourceType', ], 'exportType' => [ 'shape' => 'ExportType', 'location' => 'querystring', 'locationName' => 'exportType', ], ], ], 'GetExportResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'NumericalVersion', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'exportType' => [ 'shape' => 'ExportType', ], 'exportStatus' => [ 'shape' => 'ExportStatus', ], 'failureReason' => [ 'shape' => 'String', ], 'url' => [ 'shape' => 'String', ], ], ], 'GetImportRequest' => [ 'type' => 'structure', 'required' => [ 'importId', ], 'members' => [ 'importId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'importId', ], ], ], 'GetImportResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'mergeStrategy' => [ 'shape' => 'MergeStrategy', ], 'importId' => [ 'shape' => 'String', ], 'importStatus' => [ 'shape' => 'ImportStatus', ], 'failureReason' => [ 'shape' => 'StringList', ], 'createdDate' => [ 'shape' => 'Timestamp', ], ], ], 'GetIntentRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'Version', 'location' => 'uri', 'locationName' => 'version', ], ], ], 'GetIntentResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'IntentName', ], 'description' => [ 'shape' => 'Description', ], 'slots' => [ 'shape' => 'SlotList', ], 'sampleUtterances' => [ 'shape' => 'IntentUtteranceList', ], 'confirmationPrompt' => [ 'shape' => 'Prompt', ], 'rejectionStatement' => [ 'shape' => 'Statement', ], 'followUpPrompt' => [ 'shape' => 'FollowUpPrompt', ], 'conclusionStatement' => [ 'shape' => 'Statement', ], 'dialogCodeHook' => [ 'shape' => 'CodeHook', ], 'fulfillmentActivity' => [ 'shape' => 'FulfillmentActivity', ], 'parentIntentSignature' => [ 'shape' => 'BuiltinIntentSignature', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'GetIntentVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'GetIntentVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'intents' => [ 'shape' => 'IntentMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetIntentsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nameContains' => [ 'shape' => 'IntentName', 'location' => 'querystring', 'locationName' => 'nameContains', ], ], ], 'GetIntentsResponse' => [ 'type' => 'structure', 'members' => [ 'intents' => [ 'shape' => 'IntentMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetSlotTypeRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], 'version' => [ 'shape' => 'Version', 'location' => 'uri', 'locationName' => 'version', ], ], ], 'GetSlotTypeResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', ], 'description' => [ 'shape' => 'Description', ], 'enumerationValues' => [ 'shape' => 'EnumerationValues', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], 'valueSelectionStrategy' => [ 'shape' => 'SlotValueSelectionStrategy', ], ], ], 'GetSlotTypeVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], ], ], 'GetSlotTypeVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'slotTypes' => [ 'shape' => 'SlotTypeMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetSlotTypesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nameContains' => [ 'shape' => 'SlotTypeName', 'location' => 'querystring', 'locationName' => 'nameContains', ], ], ], 'GetSlotTypesResponse' => [ 'type' => 'structure', 'members' => [ 'slotTypes' => [ 'shape' => 'SlotTypeMetadataList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetUtterancesViewRequest' => [ 'type' => 'structure', 'required' => [ 'botName', 'botVersions', 'statusType', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botname', ], 'botVersions' => [ 'shape' => 'BotVersions', 'location' => 'querystring', 'locationName' => 'bot_versions', ], 'statusType' => [ 'shape' => 'StatusType', 'location' => 'querystring', 'locationName' => 'status_type', ], ], ], 'GetUtterancesViewResponse' => [ 'type' => 'structure', 'members' => [ 'botName' => [ 'shape' => 'BotName', ], 'utterances' => [ 'shape' => 'ListsOfUtterances', ], ], ], 'GroupNumber' => [ 'type' => 'integer', 'box' => true, 'max' => 5, 'min' => 1, ], 'ImportStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'COMPLETE', 'FAILED', ], ], 'Intent' => [ 'type' => 'structure', 'required' => [ 'intentName', 'intentVersion', ], 'members' => [ 'intentName' => [ 'shape' => 'IntentName', ], 'intentVersion' => [ 'shape' => 'Version', ], ], ], 'IntentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Intent', ], ], 'IntentMetadata' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'IntentName', ], 'description' => [ 'shape' => 'Description', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], ], ], 'IntentMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IntentMetadata', ], ], 'IntentName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^([A-Za-z]_?)+$', ], 'IntentUtteranceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Utterance', ], 'max' => 1500, 'min' => 0, ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'LambdaARN' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:aws:lambda:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListOfUtterance' => [ 'type' => 'list', 'member' => [ 'shape' => 'UtteranceData', ], ], 'ListsOfUtterances' => [ 'type' => 'list', 'member' => [ 'shape' => 'UtteranceList', ], ], 'Locale' => [ 'type' => 'string', 'enum' => [ 'en-US', 'en-GB', 'de-DE', ], ], 'LocaleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Locale', ], ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 1, ], 'MergeStrategy' => [ 'type' => 'string', 'enum' => [ 'OVERWRITE_LATEST', 'FAIL_ON_CONFLICT', ], ], 'Message' => [ 'type' => 'structure', 'required' => [ 'contentType', 'content', ], 'members' => [ 'contentType' => [ 'shape' => 'ContentType', ], 'content' => [ 'shape' => 'ContentString', ], 'groupNumber' => [ 'shape' => 'GroupNumber', ], ], ], 'MessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Message', ], 'max' => 15, 'min' => 1, ], 'MessageVersion' => [ 'type' => 'string', 'max' => 5, 'min' => 1, ], 'Name' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[a-zA-Z_]+', ], 'NextToken' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NumericalVersion' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[0-9]+', ], 'PreconditionFailedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 412, ], 'exception' => true, ], 'Priority' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ProcessBehavior' => [ 'type' => 'string', 'enum' => [ 'SAVE', 'BUILD', ], ], 'Prompt' => [ 'type' => 'structure', 'required' => [ 'messages', 'maxAttempts', ], 'members' => [ 'messages' => [ 'shape' => 'MessageList', ], 'maxAttempts' => [ 'shape' => 'PromptMaxAttempts', ], 'responseCard' => [ 'shape' => 'ResponseCard', ], ], ], 'PromptMaxAttempts' => [ 'type' => 'integer', 'max' => 5, 'min' => 1, ], 'PutBotAliasRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'botVersion', 'botName', ], 'members' => [ 'name' => [ 'shape' => 'AliasName', 'location' => 'uri', 'locationName' => 'name', ], 'description' => [ 'shape' => 'Description', ], 'botVersion' => [ 'shape' => 'Version', ], 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'PutBotAliasResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AliasName', ], 'description' => [ 'shape' => 'Description', ], 'botVersion' => [ 'shape' => 'Version', ], 'botName' => [ 'shape' => 'BotName', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'checksum' => [ 'shape' => 'String', ], ], ], 'PutBotRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'locale', 'childDirected', ], 'members' => [ 'name' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'name', ], 'description' => [ 'shape' => 'Description', ], 'intents' => [ 'shape' => 'IntentList', ], 'clarificationPrompt' => [ 'shape' => 'Prompt', ], 'abortStatement' => [ 'shape' => 'Statement', ], 'idleSessionTTLInSeconds' => [ 'shape' => 'SessionTTL', ], 'voiceId' => [ 'shape' => 'String', ], 'checksum' => [ 'shape' => 'String', ], 'processBehavior' => [ 'shape' => 'ProcessBehavior', ], 'locale' => [ 'shape' => 'Locale', ], 'childDirected' => [ 'shape' => 'Boolean', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'PutBotResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'BotName', ], 'description' => [ 'shape' => 'Description', ], 'intents' => [ 'shape' => 'IntentList', ], 'clarificationPrompt' => [ 'shape' => 'Prompt', ], 'abortStatement' => [ 'shape' => 'Statement', ], 'status' => [ 'shape' => 'Status', ], 'failureReason' => [ 'shape' => 'String', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'idleSessionTTLInSeconds' => [ 'shape' => 'SessionTTL', ], 'voiceId' => [ 'shape' => 'String', ], 'checksum' => [ 'shape' => 'String', ], 'version' => [ 'shape' => 'Version', ], 'locale' => [ 'shape' => 'Locale', ], 'childDirected' => [ 'shape' => 'Boolean', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'PutIntentRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'IntentName', 'location' => 'uri', 'locationName' => 'name', ], 'description' => [ 'shape' => 'Description', ], 'slots' => [ 'shape' => 'SlotList', ], 'sampleUtterances' => [ 'shape' => 'IntentUtteranceList', ], 'confirmationPrompt' => [ 'shape' => 'Prompt', ], 'rejectionStatement' => [ 'shape' => 'Statement', ], 'followUpPrompt' => [ 'shape' => 'FollowUpPrompt', ], 'conclusionStatement' => [ 'shape' => 'Statement', ], 'dialogCodeHook' => [ 'shape' => 'CodeHook', ], 'fulfillmentActivity' => [ 'shape' => 'FulfillmentActivity', ], 'parentIntentSignature' => [ 'shape' => 'BuiltinIntentSignature', ], 'checksum' => [ 'shape' => 'String', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'PutIntentResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'IntentName', ], 'description' => [ 'shape' => 'Description', ], 'slots' => [ 'shape' => 'SlotList', ], 'sampleUtterances' => [ 'shape' => 'IntentUtteranceList', ], 'confirmationPrompt' => [ 'shape' => 'Prompt', ], 'rejectionStatement' => [ 'shape' => 'Statement', ], 'followUpPrompt' => [ 'shape' => 'FollowUpPrompt', ], 'conclusionStatement' => [ 'shape' => 'Statement', ], 'dialogCodeHook' => [ 'shape' => 'CodeHook', ], 'fulfillmentActivity' => [ 'shape' => 'FulfillmentActivity', ], 'parentIntentSignature' => [ 'shape' => 'BuiltinIntentSignature', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'PutSlotTypeRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', 'location' => 'uri', 'locationName' => 'name', ], 'description' => [ 'shape' => 'Description', ], 'enumerationValues' => [ 'shape' => 'EnumerationValues', ], 'checksum' => [ 'shape' => 'String', ], 'valueSelectionStrategy' => [ 'shape' => 'SlotValueSelectionStrategy', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'PutSlotTypeResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', ], 'description' => [ 'shape' => 'Description', ], 'enumerationValues' => [ 'shape' => 'EnumerationValues', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], 'checksum' => [ 'shape' => 'String', ], 'valueSelectionStrategy' => [ 'shape' => 'SlotValueSelectionStrategy', ], 'createVersion' => [ 'shape' => 'Boolean', ], ], ], 'ReferenceType' => [ 'type' => 'string', 'enum' => [ 'Intent', 'Bot', 'BotAlias', 'BotChannel', ], ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'referenceType' => [ 'shape' => 'ReferenceType', ], 'exampleReference' => [ 'shape' => 'ResourceReference', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceReference' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'BOT', 'INTENT', 'SLOT_TYPE', ], ], 'ResponseCard' => [ 'type' => 'string', 'max' => 50000, 'min' => 1, ], 'SessionTTL' => [ 'type' => 'integer', 'max' => 86400, 'min' => 60, ], 'Slot' => [ 'type' => 'structure', 'required' => [ 'name', 'slotConstraint', ], 'members' => [ 'name' => [ 'shape' => 'SlotName', ], 'description' => [ 'shape' => 'Description', ], 'slotConstraint' => [ 'shape' => 'SlotConstraint', ], 'slotType' => [ 'shape' => 'CustomOrBuiltinSlotTypeName', ], 'slotTypeVersion' => [ 'shape' => 'Version', ], 'valueElicitationPrompt' => [ 'shape' => 'Prompt', ], 'priority' => [ 'shape' => 'Priority', ], 'sampleUtterances' => [ 'shape' => 'SlotUtteranceList', ], 'responseCard' => [ 'shape' => 'ResponseCard', ], ], ], 'SlotConstraint' => [ 'type' => 'string', 'enum' => [ 'Required', 'Optional', ], ], 'SlotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Slot', ], 'max' => 100, 'min' => 0, ], 'SlotName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^([A-Za-z](-|_|.)?)+$', ], 'SlotTypeMetadata' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SlotTypeName', ], 'description' => [ 'shape' => 'Description', ], 'lastUpdatedDate' => [ 'shape' => 'Timestamp', ], 'createdDate' => [ 'shape' => 'Timestamp', ], 'version' => [ 'shape' => 'Version', ], ], ], 'SlotTypeMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SlotTypeMetadata', ], ], 'SlotTypeName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^([A-Za-z]_?)+$', ], 'SlotUtteranceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Utterance', ], 'max' => 10, 'min' => 0, ], 'SlotValueSelectionStrategy' => [ 'type' => 'string', 'enum' => [ 'ORIGINAL_VALUE', 'TOP_RESOLUTION', ], ], 'StartImportRequest' => [ 'type' => 'structure', 'required' => [ 'payload', 'resourceType', 'mergeStrategy', ], 'members' => [ 'payload' => [ 'shape' => 'Blob', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'mergeStrategy' => [ 'shape' => 'MergeStrategy', ], ], ], 'StartImportResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'mergeStrategy' => [ 'shape' => 'MergeStrategy', ], 'importId' => [ 'shape' => 'String', ], 'importStatus' => [ 'shape' => 'ImportStatus', ], 'createdDate' => [ 'shape' => 'Timestamp', ], ], ], 'Statement' => [ 'type' => 'structure', 'required' => [ 'messages', ], 'members' => [ 'messages' => [ 'shape' => 'MessageList', ], 'responseCard' => [ 'shape' => 'ResponseCard', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'BUILDING', 'READY', 'READY_BASIC_TESTING', 'FAILED', 'NOT_BUILT', ], ], 'StatusType' => [ 'type' => 'string', 'enum' => [ 'Detected', 'Missed', ], ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SynonymList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UserId' => [ 'type' => 'string', 'max' => 100, 'min' => 2, ], 'Utterance' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'UtteranceData' => [ 'type' => 'structure', 'members' => [ 'utteranceString' => [ 'shape' => 'UtteranceString', ], 'count' => [ 'shape' => 'Count', ], 'distinctUsers' => [ 'shape' => 'Count', ], 'firstUtteredDate' => [ 'shape' => 'Timestamp', ], 'lastUtteredDate' => [ 'shape' => 'Timestamp', ], ], ], 'UtteranceList' => [ 'type' => 'structure', 'members' => [ 'botVersion' => [ 'shape' => 'Version', ], 'utterances' => [ 'shape' => 'ListOfUtterance', ], ], ], 'UtteranceString' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], 'Value' => [ 'type' => 'string', 'max' => 140, 'min' => 1, ], 'Version' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '\\$LATEST|[0-9]+', ], ],]; diff --git a/lib/aws/Aws/data/lex-models/2017-04-19/paginators-1.json.php b/lib/aws/Aws/data/lex-models/2017-04-19/paginators-1.json.php new file mode 100644 index 0000000..b203e97 --- /dev/null +++ b/lib/aws/Aws/data/lex-models/2017-04-19/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lex-models/2017-04-19/paginators-1.json +return [ 'pagination' => [ 'GetBotAliases' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetBotChannelAssociations' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetBotVersions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetBots' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetBuiltinIntents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetBuiltinSlotTypes' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetIntentVersions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetIntents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetSlotTypeVersions' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetSlotTypes' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/license-manager/2018-08-01/api-2.json.php b/lib/aws/Aws/data/license-manager/2018-08-01/api-2.json.php new file mode 100644 index 0000000..b0830b5 --- /dev/null +++ b/lib/aws/Aws/data/license-manager/2018-08-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/license-manager/2018-08-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-08-01', 'endpointPrefix' => 'license-manager', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS License Manager', 'serviceId' => 'License Manager', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSLicenseManager', 'uid' => 'license-manager-2018-08-01', ], 'operations' => [ 'CreateLicenseConfiguration' => [ 'name' => 'CreateLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'CreateLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'DeleteLicenseConfiguration' => [ 'name' => 'DeleteLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'GetLicenseConfiguration' => [ 'name' => 'GetLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'GetLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'GetServiceSettings' => [ 'name' => 'GetServiceSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceSettingsRequest', ], 'output' => [ 'shape' => 'GetServiceSettingsResponse', ], 'errors' => [ [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListAssociationsForLicenseConfiguration' => [ 'name' => 'ListAssociationsForLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssociationsForLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'ListAssociationsForLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'FilterLimitExceededException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListLicenseConfigurations' => [ 'name' => 'ListLicenseConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLicenseConfigurationsRequest', ], 'output' => [ 'shape' => 'ListLicenseConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'FilterLimitExceededException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListLicenseSpecificationsForResource' => [ 'name' => 'ListLicenseSpecificationsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLicenseSpecificationsForResourceRequest', ], 'output' => [ 'shape' => 'ListLicenseSpecificationsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListResourceInventory' => [ 'name' => 'ListResourceInventory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceInventoryRequest', ], 'output' => [ 'shape' => 'ListResourceInventoryResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'FilterLimitExceededException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'ListUsageForLicenseConfiguration' => [ 'name' => 'ListUsageForLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsageForLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'ListUsageForLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'FilterLimitExceededException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'UpdateLicenseConfiguration' => [ 'name' => 'UpdateLicenseConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLicenseConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateLicenseConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'UpdateLicenseSpecificationsForResource' => [ 'name' => 'UpdateLicenseSpecificationsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLicenseSpecificationsForResourceRequest', ], 'output' => [ 'shape' => 'UpdateLicenseSpecificationsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'LicenseUsageException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], 'UpdateServiceSettings' => [ 'name' => 'UpdateServiceSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceSettingsRequest', ], 'output' => [ 'shape' => 'UpdateServiceSettingsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'AuthorizationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'RateLimitExceededException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'AuthorizationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BoxBoolean' => [ 'type' => 'boolean', ], 'BoxInteger' => [ 'type' => 'integer', ], 'BoxLong' => [ 'type' => 'long', ], 'ConsumedLicenseSummary' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ConsumedLicenses' => [ 'shape' => 'BoxLong', ], ], ], 'ConsumedLicenseSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConsumedLicenseSummary', ], ], 'CreateLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'LicenseCountingType', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'LicenseCountingType' => [ 'shape' => 'LicenseCountingType', ], 'LicenseCount' => [ 'shape' => 'BoxLong', ], 'LicenseCountHardLimit' => [ 'shape' => 'BoxBoolean', ], 'LicenseRules' => [ 'shape' => 'StringList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'DeleteLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'FailedDependencyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, 'fault' => true, ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], ], ], 'FilterLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'FilterName' => [ 'type' => 'string', ], 'FilterValue' => [ 'type' => 'string', ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'GetLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'GetLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationId' => [ 'shape' => 'String', ], 'LicenseConfigurationArn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'LicenseCountingType' => [ 'shape' => 'LicenseCountingType', ], 'LicenseRules' => [ 'shape' => 'StringList', ], 'LicenseCount' => [ 'shape' => 'BoxLong', ], 'LicenseCountHardLimit' => [ 'shape' => 'BoxBoolean', ], 'ConsumedLicenses' => [ 'shape' => 'BoxLong', ], 'Status' => [ 'shape' => 'String', ], 'OwnerAccountId' => [ 'shape' => 'String', ], 'ConsumedLicenseSummaryList' => [ 'shape' => 'ConsumedLicenseSummaryList', ], 'ManagedResourceSummaryList' => [ 'shape' => 'ManagedResourceSummaryList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'GetServiceSettingsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetServiceSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'S3BucketArn' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'OrganizationConfiguration' => [ 'shape' => 'OrganizationConfiguration', ], 'EnableCrossAccountsDiscovery' => [ 'shape' => 'BoxBoolean', ], ], ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, 'synthetic' => true, ], 'InvalidResourceStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'InventoryFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Condition', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Condition' => [ 'shape' => 'InventoryFilterCondition', ], 'Value' => [ 'shape' => 'String', ], ], ], 'InventoryFilterCondition' => [ 'type' => 'string', 'enum' => [ 'EQUALS', 'NOT_EQUALS', 'BEGINS_WITH', 'CONTAINS', ], ], 'InventoryFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryFilter', ], ], 'LicenseConfiguration' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationId' => [ 'shape' => 'String', ], 'LicenseConfigurationArn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'LicenseCountingType' => [ 'shape' => 'LicenseCountingType', ], 'LicenseRules' => [ 'shape' => 'StringList', ], 'LicenseCount' => [ 'shape' => 'BoxLong', ], 'LicenseCountHardLimit' => [ 'shape' => 'BoxBoolean', ], 'ConsumedLicenses' => [ 'shape' => 'BoxLong', ], 'Status' => [ 'shape' => 'String', ], 'OwnerAccountId' => [ 'shape' => 'String', ], 'ConsumedLicenseSummaryList' => [ 'shape' => 'ConsumedLicenseSummaryList', ], 'ManagedResourceSummaryList' => [ 'shape' => 'ManagedResourceSummaryList', ], ], ], 'LicenseConfigurationAssociation' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceOwnerId' => [ 'shape' => 'String', ], 'AssociationTime' => [ 'shape' => 'DateTime', ], ], ], 'LicenseConfigurationAssociations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseConfigurationAssociation', ], ], 'LicenseConfigurationStatus' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'DISABLED', ], ], 'LicenseConfigurationUsage' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceStatus' => [ 'shape' => 'String', ], 'ResourceOwnerId' => [ 'shape' => 'String', ], 'AssociationTime' => [ 'shape' => 'DateTime', ], 'ConsumedLicenses' => [ 'shape' => 'BoxLong', ], ], ], 'LicenseConfigurationUsageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseConfigurationUsage', ], ], 'LicenseConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseConfiguration', ], ], 'LicenseCountingType' => [ 'type' => 'string', 'enum' => [ 'vCPU', 'Instance', 'Core', 'Socket', ], ], 'LicenseSpecification' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], ], ], 'LicenseSpecifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'LicenseSpecification', ], ], 'LicenseUsageException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ListAssociationsForLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxInteger', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListAssociationsForLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationAssociations' => [ 'shape' => 'LicenseConfigurationAssociations', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListLicenseConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationArns' => [ 'shape' => 'StringList', ], 'MaxResults' => [ 'shape' => 'BoxInteger', ], 'NextToken' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'Filters', ], ], ], 'ListLicenseConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurations' => [ 'shape' => 'LicenseConfigurations', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListLicenseSpecificationsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxInteger', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListLicenseSpecificationsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseSpecifications' => [ 'shape' => 'LicenseSpecifications', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListResourceInventoryRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'BoxInteger', ], 'NextToken' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'InventoryFilterList', ], ], ], 'ListResourceInventoryResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceInventoryList' => [ 'shape' => 'ResourceInventoryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ListUsageForLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxInteger', ], 'NextToken' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'Filters', ], ], ], 'ListUsageForLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LicenseConfigurationUsageList' => [ 'shape' => 'LicenseConfigurationUsageList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ManagedResourceSummary' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'AssociationCount' => [ 'shape' => 'BoxLong', ], ], ], 'ManagedResourceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedResourceSummary', ], ], 'Message' => [ 'type' => 'string', ], 'OrganizationConfiguration' => [ 'type' => 'structure', 'required' => [ 'EnableIntegration', ], 'members' => [ 'EnableIntegration' => [ 'shape' => 'Boolean', ], ], ], 'RateLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ResourceInventory' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceArn' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'PlatformVersion' => [ 'shape' => 'String', ], 'ResourceOwningAccountId' => [ 'shape' => 'String', ], ], ], 'ResourceInventoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceInventory', ], ], 'ResourceLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'EC2_INSTANCE', 'EC2_HOST', 'EC2_AMI', ], ], 'ServerInternalException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, 'fault' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateLicenseConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LicenseConfigurationArn', ], 'members' => [ 'LicenseConfigurationArn' => [ 'shape' => 'String', ], 'LicenseConfigurationStatus' => [ 'shape' => 'LicenseConfigurationStatus', ], 'LicenseRules' => [ 'shape' => 'StringList', ], 'LicenseCount' => [ 'shape' => 'BoxLong', ], 'LicenseCountHardLimit' => [ 'shape' => 'BoxBoolean', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'UpdateLicenseConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateLicenseSpecificationsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], 'AddLicenseSpecifications' => [ 'shape' => 'LicenseSpecifications', ], 'RemoveLicenseSpecifications' => [ 'shape' => 'LicenseSpecifications', ], ], ], 'UpdateLicenseSpecificationsForResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateServiceSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'S3BucketArn' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'OrganizationConfiguration' => [ 'shape' => 'OrganizationConfiguration', ], 'EnableCrossAccountsDiscovery' => [ 'shape' => 'BoxBoolean', ], ], ], 'UpdateServiceSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/license-manager/2018-08-01/paginators-1.json.php b/lib/aws/Aws/data/license-manager/2018-08-01/paginators-1.json.php new file mode 100644 index 0000000..3e1f215 --- /dev/null +++ b/lib/aws/Aws/data/license-manager/2018-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/license-manager/2018-08-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/lightsail/2016-11-28/api-2.json.php b/lib/aws/Aws/data/lightsail/2016-11-28/api-2.json.php new file mode 100644 index 0000000..fb46b62 --- /dev/null +++ b/lib/aws/Aws/data/lightsail/2016-11-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lightsail/2016-11-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-28', 'endpointPrefix' => 'lightsail', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Lightsail', 'serviceId' => 'Lightsail', 'signatureVersion' => 'v4', 'targetPrefix' => 'Lightsail_20161128', 'uid' => 'lightsail-2016-11-28', ], 'operations' => [ 'AllocateStaticIp' => [ 'name' => 'AllocateStaticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AllocateStaticIpRequest', ], 'output' => [ 'shape' => 'AllocateStaticIpResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'AttachDisk' => [ 'name' => 'AttachDisk', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachDiskRequest', ], 'output' => [ 'shape' => 'AttachDiskResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'AttachInstancesToLoadBalancer' => [ 'name' => 'AttachInstancesToLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachInstancesToLoadBalancerRequest', ], 'output' => [ 'shape' => 'AttachInstancesToLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'AttachLoadBalancerTlsCertificate' => [ 'name' => 'AttachLoadBalancerTlsCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachLoadBalancerTlsCertificateRequest', ], 'output' => [ 'shape' => 'AttachLoadBalancerTlsCertificateResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'AttachStaticIp' => [ 'name' => 'AttachStaticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachStaticIpRequest', ], 'output' => [ 'shape' => 'AttachStaticIpResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CloseInstancePublicPorts' => [ 'name' => 'CloseInstancePublicPorts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CloseInstancePublicPortsRequest', ], 'output' => [ 'shape' => 'CloseInstancePublicPortsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CopySnapshot' => [ 'name' => 'CopySnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopySnapshotRequest', ], 'output' => [ 'shape' => 'CopySnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateCloudFormationStack' => [ 'name' => 'CreateCloudFormationStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCloudFormationStackRequest', ], 'output' => [ 'shape' => 'CreateCloudFormationStackResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateDisk' => [ 'name' => 'CreateDisk', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDiskRequest', ], 'output' => [ 'shape' => 'CreateDiskResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateDiskFromSnapshot' => [ 'name' => 'CreateDiskFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDiskFromSnapshotRequest', ], 'output' => [ 'shape' => 'CreateDiskFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateDiskSnapshot' => [ 'name' => 'CreateDiskSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDiskSnapshotRequest', ], 'output' => [ 'shape' => 'CreateDiskSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateDomain' => [ 'name' => 'CreateDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDomainRequest', ], 'output' => [ 'shape' => 'CreateDomainResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateDomainEntry' => [ 'name' => 'CreateDomainEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDomainEntryRequest', ], 'output' => [ 'shape' => 'CreateDomainEntryResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateInstanceSnapshot' => [ 'name' => 'CreateInstanceSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceSnapshotRequest', ], 'output' => [ 'shape' => 'CreateInstanceSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateInstances' => [ 'name' => 'CreateInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstancesRequest', ], 'output' => [ 'shape' => 'CreateInstancesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateInstancesFromSnapshot' => [ 'name' => 'CreateInstancesFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstancesFromSnapshotRequest', ], 'output' => [ 'shape' => 'CreateInstancesFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateKeyPair' => [ 'name' => 'CreateKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateKeyPairRequest', ], 'output' => [ 'shape' => 'CreateKeyPairResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateLoadBalancer' => [ 'name' => 'CreateLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoadBalancerRequest', ], 'output' => [ 'shape' => 'CreateLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateLoadBalancerTlsCertificate' => [ 'name' => 'CreateLoadBalancerTlsCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLoadBalancerTlsCertificateRequest', ], 'output' => [ 'shape' => 'CreateLoadBalancerTlsCertificateResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateRelationalDatabase' => [ 'name' => 'CreateRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'CreateRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateRelationalDatabaseFromSnapshot' => [ 'name' => 'CreateRelationalDatabaseFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRelationalDatabaseFromSnapshotRequest', ], 'output' => [ 'shape' => 'CreateRelationalDatabaseFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'CreateRelationalDatabaseSnapshot' => [ 'name' => 'CreateRelationalDatabaseSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRelationalDatabaseSnapshotRequest', ], 'output' => [ 'shape' => 'CreateRelationalDatabaseSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteDisk' => [ 'name' => 'DeleteDisk', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDiskRequest', ], 'output' => [ 'shape' => 'DeleteDiskResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteDiskSnapshot' => [ 'name' => 'DeleteDiskSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDiskSnapshotRequest', ], 'output' => [ 'shape' => 'DeleteDiskSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteDomain' => [ 'name' => 'DeleteDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDomainRequest', ], 'output' => [ 'shape' => 'DeleteDomainResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteDomainEntry' => [ 'name' => 'DeleteDomainEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDomainEntryRequest', ], 'output' => [ 'shape' => 'DeleteDomainEntryResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteInstance' => [ 'name' => 'DeleteInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInstanceRequest', ], 'output' => [ 'shape' => 'DeleteInstanceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteInstanceSnapshot' => [ 'name' => 'DeleteInstanceSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInstanceSnapshotRequest', ], 'output' => [ 'shape' => 'DeleteInstanceSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteKeyPair' => [ 'name' => 'DeleteKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKeyPairRequest', ], 'output' => [ 'shape' => 'DeleteKeyPairResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteKnownHostKeys' => [ 'name' => 'DeleteKnownHostKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteKnownHostKeysRequest', ], 'output' => [ 'shape' => 'DeleteKnownHostKeysResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteLoadBalancer' => [ 'name' => 'DeleteLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoadBalancerRequest', ], 'output' => [ 'shape' => 'DeleteLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteLoadBalancerTlsCertificate' => [ 'name' => 'DeleteLoadBalancerTlsCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoadBalancerTlsCertificateRequest', ], 'output' => [ 'shape' => 'DeleteLoadBalancerTlsCertificateResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteRelationalDatabase' => [ 'name' => 'DeleteRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'DeleteRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DeleteRelationalDatabaseSnapshot' => [ 'name' => 'DeleteRelationalDatabaseSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRelationalDatabaseSnapshotRequest', ], 'output' => [ 'shape' => 'DeleteRelationalDatabaseSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DetachDisk' => [ 'name' => 'DetachDisk', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachDiskRequest', ], 'output' => [ 'shape' => 'DetachDiskResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DetachInstancesFromLoadBalancer' => [ 'name' => 'DetachInstancesFromLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachInstancesFromLoadBalancerRequest', ], 'output' => [ 'shape' => 'DetachInstancesFromLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DetachStaticIp' => [ 'name' => 'DetachStaticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachStaticIpRequest', ], 'output' => [ 'shape' => 'DetachStaticIpResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'DownloadDefaultKeyPair' => [ 'name' => 'DownloadDefaultKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DownloadDefaultKeyPairRequest', ], 'output' => [ 'shape' => 'DownloadDefaultKeyPairResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'ExportSnapshot' => [ 'name' => 'ExportSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportSnapshotRequest', ], 'output' => [ 'shape' => 'ExportSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetActiveNames' => [ 'name' => 'GetActiveNames', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetActiveNamesRequest', ], 'output' => [ 'shape' => 'GetActiveNamesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetBlueprints' => [ 'name' => 'GetBlueprints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetBlueprintsRequest', ], 'output' => [ 'shape' => 'GetBlueprintsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetBundles' => [ 'name' => 'GetBundles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetBundlesRequest', ], 'output' => [ 'shape' => 'GetBundlesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetCloudFormationStackRecords' => [ 'name' => 'GetCloudFormationStackRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCloudFormationStackRecordsRequest', ], 'output' => [ 'shape' => 'GetCloudFormationStackRecordsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDisk' => [ 'name' => 'GetDisk', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDiskRequest', ], 'output' => [ 'shape' => 'GetDiskResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDiskSnapshot' => [ 'name' => 'GetDiskSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDiskSnapshotRequest', ], 'output' => [ 'shape' => 'GetDiskSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDiskSnapshots' => [ 'name' => 'GetDiskSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDiskSnapshotsRequest', ], 'output' => [ 'shape' => 'GetDiskSnapshotsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDisks' => [ 'name' => 'GetDisks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDisksRequest', ], 'output' => [ 'shape' => 'GetDisksResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDomain' => [ 'name' => 'GetDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDomainRequest', ], 'output' => [ 'shape' => 'GetDomainResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetDomains' => [ 'name' => 'GetDomains', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDomainsRequest', ], 'output' => [ 'shape' => 'GetDomainsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetExportSnapshotRecords' => [ 'name' => 'GetExportSnapshotRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetExportSnapshotRecordsRequest', ], 'output' => [ 'shape' => 'GetExportSnapshotRecordsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstance' => [ 'name' => 'GetInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceRequest', ], 'output' => [ 'shape' => 'GetInstanceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstanceAccessDetails' => [ 'name' => 'GetInstanceAccessDetails', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceAccessDetailsRequest', ], 'output' => [ 'shape' => 'GetInstanceAccessDetailsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstanceMetricData' => [ 'name' => 'GetInstanceMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceMetricDataRequest', ], 'output' => [ 'shape' => 'GetInstanceMetricDataResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstancePortStates' => [ 'name' => 'GetInstancePortStates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstancePortStatesRequest', ], 'output' => [ 'shape' => 'GetInstancePortStatesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstanceSnapshot' => [ 'name' => 'GetInstanceSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceSnapshotRequest', ], 'output' => [ 'shape' => 'GetInstanceSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstanceSnapshots' => [ 'name' => 'GetInstanceSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceSnapshotsRequest', ], 'output' => [ 'shape' => 'GetInstanceSnapshotsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstanceState' => [ 'name' => 'GetInstanceState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceStateRequest', ], 'output' => [ 'shape' => 'GetInstanceStateResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetInstances' => [ 'name' => 'GetInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstancesRequest', ], 'output' => [ 'shape' => 'GetInstancesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetKeyPair' => [ 'name' => 'GetKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetKeyPairRequest', ], 'output' => [ 'shape' => 'GetKeyPairResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetKeyPairs' => [ 'name' => 'GetKeyPairs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetKeyPairsRequest', ], 'output' => [ 'shape' => 'GetKeyPairsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetLoadBalancer' => [ 'name' => 'GetLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoadBalancerRequest', ], 'output' => [ 'shape' => 'GetLoadBalancerResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetLoadBalancerMetricData' => [ 'name' => 'GetLoadBalancerMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoadBalancerMetricDataRequest', ], 'output' => [ 'shape' => 'GetLoadBalancerMetricDataResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetLoadBalancerTlsCertificates' => [ 'name' => 'GetLoadBalancerTlsCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoadBalancerTlsCertificatesRequest', ], 'output' => [ 'shape' => 'GetLoadBalancerTlsCertificatesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetLoadBalancers' => [ 'name' => 'GetLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoadBalancersRequest', ], 'output' => [ 'shape' => 'GetLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetOperation' => [ 'name' => 'GetOperation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOperationRequest', ], 'output' => [ 'shape' => 'GetOperationResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetOperations' => [ 'name' => 'GetOperations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOperationsRequest', ], 'output' => [ 'shape' => 'GetOperationsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetOperationsForResource' => [ 'name' => 'GetOperationsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOperationsForResourceRequest', ], 'output' => [ 'shape' => 'GetOperationsForResourceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRegions' => [ 'name' => 'GetRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRegionsRequest', ], 'output' => [ 'shape' => 'GetRegionsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabase' => [ 'name' => 'GetRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseBlueprints' => [ 'name' => 'GetRelationalDatabaseBlueprints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseBlueprintsRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseBlueprintsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseBundles' => [ 'name' => 'GetRelationalDatabaseBundles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseBundlesRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseBundlesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseEvents' => [ 'name' => 'GetRelationalDatabaseEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseEventsRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseEventsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseLogEvents' => [ 'name' => 'GetRelationalDatabaseLogEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseLogEventsRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseLogEventsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseLogStreams' => [ 'name' => 'GetRelationalDatabaseLogStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseLogStreamsRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseLogStreamsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseMasterUserPassword' => [ 'name' => 'GetRelationalDatabaseMasterUserPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseMasterUserPasswordRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseMasterUserPasswordResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseMetricData' => [ 'name' => 'GetRelationalDatabaseMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseMetricDataRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseMetricDataResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseParameters' => [ 'name' => 'GetRelationalDatabaseParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseParametersRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseParametersResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseSnapshot' => [ 'name' => 'GetRelationalDatabaseSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseSnapshotRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseSnapshotResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabaseSnapshots' => [ 'name' => 'GetRelationalDatabaseSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabaseSnapshotsRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabaseSnapshotsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetRelationalDatabases' => [ 'name' => 'GetRelationalDatabases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRelationalDatabasesRequest', ], 'output' => [ 'shape' => 'GetRelationalDatabasesResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetStaticIp' => [ 'name' => 'GetStaticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetStaticIpRequest', ], 'output' => [ 'shape' => 'GetStaticIpResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'GetStaticIps' => [ 'name' => 'GetStaticIps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetStaticIpsRequest', ], 'output' => [ 'shape' => 'GetStaticIpsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'ImportKeyPair' => [ 'name' => 'ImportKeyPair', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportKeyPairRequest', ], 'output' => [ 'shape' => 'ImportKeyPairResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'IsVpcPeered' => [ 'name' => 'IsVpcPeered', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IsVpcPeeredRequest', ], 'output' => [ 'shape' => 'IsVpcPeeredResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'OpenInstancePublicPorts' => [ 'name' => 'OpenInstancePublicPorts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'OpenInstancePublicPortsRequest', ], 'output' => [ 'shape' => 'OpenInstancePublicPortsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'PeerVpc' => [ 'name' => 'PeerVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PeerVpcRequest', ], 'output' => [ 'shape' => 'PeerVpcResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'PutInstancePublicPorts' => [ 'name' => 'PutInstancePublicPorts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutInstancePublicPortsRequest', ], 'output' => [ 'shape' => 'PutInstancePublicPortsResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'RebootInstance' => [ 'name' => 'RebootInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstanceRequest', ], 'output' => [ 'shape' => 'RebootInstanceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'RebootRelationalDatabase' => [ 'name' => 'RebootRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'RebootRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'ReleaseStaticIp' => [ 'name' => 'ReleaseStaticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReleaseStaticIpRequest', ], 'output' => [ 'shape' => 'ReleaseStaticIpResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'StartInstance' => [ 'name' => 'StartInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstanceRequest', ], 'output' => [ 'shape' => 'StartInstanceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'StartRelationalDatabase' => [ 'name' => 'StartRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'StartRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'StopInstance' => [ 'name' => 'StopInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstanceRequest', ], 'output' => [ 'shape' => 'StopInstanceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'StopRelationalDatabase' => [ 'name' => 'StopRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'StopRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UnpeerVpc' => [ 'name' => 'UnpeerVpc', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnpeerVpcRequest', ], 'output' => [ 'shape' => 'UnpeerVpcResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UpdateDomainEntry' => [ 'name' => 'UpdateDomainEntry', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDomainEntryRequest', ], 'output' => [ 'shape' => 'UpdateDomainEntryResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UpdateLoadBalancerAttribute' => [ 'name' => 'UpdateLoadBalancerAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLoadBalancerAttributeRequest', ], 'output' => [ 'shape' => 'UpdateLoadBalancerAttributeResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UpdateRelationalDatabase' => [ 'name' => 'UpdateRelationalDatabase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRelationalDatabaseRequest', ], 'output' => [ 'shape' => 'UpdateRelationalDatabaseResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], 'UpdateRelationalDatabaseParameters' => [ 'name' => 'UpdateRelationalDatabaseParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRelationalDatabaseParametersRequest', ], 'output' => [ 'shape' => 'UpdateRelationalDatabaseParametersResult', ], 'errors' => [ [ 'shape' => 'ServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'OperationFailureException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountSetupInProgressException', ], [ 'shape' => 'UnauthenticatedException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'AccessDirection' => [ 'type' => 'string', 'enum' => [ 'inbound', 'outbound', ], ], 'AccountSetupInProgressException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'AllocateStaticIpRequest' => [ 'type' => 'structure', 'required' => [ 'staticIpName', ], 'members' => [ 'staticIpName' => [ 'shape' => 'ResourceName', ], ], ], 'AllocateStaticIpResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'AttachDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'instanceName', 'diskPath', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'instanceName' => [ 'shape' => 'ResourceName', ], 'diskPath' => [ 'shape' => 'NonEmptyString', ], ], ], 'AttachDiskResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'AttachInstancesToLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'instanceNames', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'instanceNames' => [ 'shape' => 'ResourceNameList', ], ], ], 'AttachInstancesToLoadBalancerResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'AttachLoadBalancerTlsCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'certificateName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'certificateName' => [ 'shape' => 'ResourceName', ], ], ], 'AttachLoadBalancerTlsCertificateResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'AttachStaticIpRequest' => [ 'type' => 'structure', 'required' => [ 'staticIpName', 'instanceName', ], 'members' => [ 'staticIpName' => [ 'shape' => 'ResourceName', ], 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'AttachStaticIpResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'AttachedDiskMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ResourceName', ], 'value' => [ 'shape' => 'DiskMapList', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'zoneName' => [ 'shape' => 'NonEmptyString', ], 'state' => [ 'shape' => 'NonEmptyString', ], ], ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', ], ], 'Base64' => [ 'type' => 'string', ], 'Blueprint' => [ 'type' => 'structure', 'members' => [ 'blueprintId' => [ 'shape' => 'NonEmptyString', ], 'name' => [ 'shape' => 'ResourceName', ], 'group' => [ 'shape' => 'NonEmptyString', ], 'type' => [ 'shape' => 'BlueprintType', ], 'description' => [ 'shape' => 'string', ], 'isActive' => [ 'shape' => 'boolean', ], 'minPower' => [ 'shape' => 'integer', ], 'version' => [ 'shape' => 'string', ], 'versionCode' => [ 'shape' => 'string', ], 'productUrl' => [ 'shape' => 'string', ], 'licenseUrl' => [ 'shape' => 'string', ], 'platform' => [ 'shape' => 'InstancePlatform', ], ], ], 'BlueprintList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Blueprint', ], ], 'BlueprintType' => [ 'type' => 'string', 'enum' => [ 'os', 'app', ], ], 'Bundle' => [ 'type' => 'structure', 'members' => [ 'price' => [ 'shape' => 'float', ], 'cpuCount' => [ 'shape' => 'integer', ], 'diskSizeInGb' => [ 'shape' => 'integer', ], 'bundleId' => [ 'shape' => 'NonEmptyString', ], 'instanceType' => [ 'shape' => 'string', ], 'isActive' => [ 'shape' => 'boolean', ], 'name' => [ 'shape' => 'string', ], 'power' => [ 'shape' => 'integer', ], 'ramSizeInGb' => [ 'shape' => 'float', ], 'transferPerMonthInGb' => [ 'shape' => 'integer', ], 'supportedPlatforms' => [ 'shape' => 'InstancePlatformList', ], ], ], 'BundleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Bundle', ], ], 'CloseInstancePublicPortsRequest' => [ 'type' => 'structure', 'required' => [ 'portInfo', 'instanceName', ], 'members' => [ 'portInfo' => [ 'shape' => 'PortInfo', ], 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'CloseInstancePublicPortsResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'CloudFormationStackRecord' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'state' => [ 'shape' => 'RecordState', ], 'sourceInfo' => [ 'shape' => 'CloudFormationStackRecordSourceInfoList', ], 'destinationInfo' => [ 'shape' => 'DestinationInfo', ], ], ], 'CloudFormationStackRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFormationStackRecord', ], ], 'CloudFormationStackRecordSourceInfo' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'CloudFormationStackRecordSourceType', ], 'name' => [ 'shape' => 'NonEmptyString', ], 'arn' => [ 'shape' => 'NonEmptyString', ], ], ], 'CloudFormationStackRecordSourceInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudFormationStackRecordSourceInfo', ], ], 'CloudFormationStackRecordSourceType' => [ 'type' => 'string', 'enum' => [ 'ExportSnapshotRecord', ], ], 'CopySnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'sourceSnapshotName', 'targetSnapshotName', 'sourceRegion', ], 'members' => [ 'sourceSnapshotName' => [ 'shape' => 'ResourceName', ], 'targetSnapshotName' => [ 'shape' => 'ResourceName', ], 'sourceRegion' => [ 'shape' => 'RegionName', ], ], ], 'CopySnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateCloudFormationStackRequest' => [ 'type' => 'structure', 'required' => [ 'instances', ], 'members' => [ 'instances' => [ 'shape' => 'InstanceEntryList', ], ], ], 'CreateCloudFormationStackResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDiskFromSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'diskSnapshotName', 'availabilityZone', 'sizeInGb', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDiskFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'availabilityZone', 'sizeInGb', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDiskResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDiskSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskSnapshotName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], 'instanceName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDiskSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDomainEntryRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'domainEntry', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'domainEntry' => [ 'shape' => 'DomainEntry', ], ], ], 'CreateDomainEntryResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'CreateDomainRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDomainResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'CreateInstanceSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'instanceSnapshotName', 'instanceName', ], 'members' => [ 'instanceSnapshotName' => [ 'shape' => 'ResourceName', ], 'instanceName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateInstanceSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateInstancesFromSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'instanceNames', 'availabilityZone', 'instanceSnapshotName', 'bundleId', ], 'members' => [ 'instanceNames' => [ 'shape' => 'StringList', ], 'attachedDiskMapping' => [ 'shape' => 'AttachedDiskMap', ], 'availabilityZone' => [ 'shape' => 'string', ], 'instanceSnapshotName' => [ 'shape' => 'ResourceName', ], 'bundleId' => [ 'shape' => 'NonEmptyString', ], 'userData' => [ 'shape' => 'string', ], 'keyPairName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateInstancesFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'instanceNames', 'availabilityZone', 'blueprintId', 'bundleId', ], 'members' => [ 'instanceNames' => [ 'shape' => 'StringList', ], 'availabilityZone' => [ 'shape' => 'string', ], 'customImageName' => [ 'shape' => 'ResourceName', 'deprecated' => true, ], 'blueprintId' => [ 'shape' => 'NonEmptyString', ], 'bundleId' => [ 'shape' => 'NonEmptyString', ], 'userData' => [ 'shape' => 'string', ], 'keyPairName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'keyPairName', ], 'members' => [ 'keyPairName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'keyPair' => [ 'shape' => 'KeyPair', ], 'publicKeyBase64' => [ 'shape' => 'Base64', ], 'privateKeyBase64' => [ 'shape' => 'Base64', ], 'operation' => [ 'shape' => 'Operation', ], ], ], 'CreateLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'instancePort', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'instancePort' => [ 'shape' => 'Port', ], 'healthCheckPath' => [ 'shape' => 'string', ], 'certificateName' => [ 'shape' => 'ResourceName', ], 'certificateDomainName' => [ 'shape' => 'DomainName', ], 'certificateAlternativeNames' => [ 'shape' => 'DomainNameList', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLoadBalancerResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateLoadBalancerTlsCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'certificateName', 'certificateDomainName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'certificateName' => [ 'shape' => 'ResourceName', ], 'certificateDomainName' => [ 'shape' => 'DomainName', ], 'certificateAlternativeNames' => [ 'shape' => 'DomainNameList', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLoadBalancerTlsCertificateResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateRelationalDatabaseFromSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'string', ], 'publiclyAccessible' => [ 'shape' => 'boolean', ], 'relationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], 'relationalDatabaseBundleId' => [ 'shape' => 'string', ], 'sourceRelationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'restoreTime' => [ 'shape' => 'IsoDate', ], 'useLatestRestorableTime' => [ 'shape' => 'boolean', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRelationalDatabaseFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', 'relationalDatabaseBlueprintId', 'relationalDatabaseBundleId', 'masterDatabaseName', 'masterUsername', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'string', ], 'relationalDatabaseBlueprintId' => [ 'shape' => 'string', ], 'relationalDatabaseBundleId' => [ 'shape' => 'string', ], 'masterDatabaseName' => [ 'shape' => 'string', ], 'masterUsername' => [ 'shape' => 'string', ], 'masterUserPassword' => [ 'shape' => 'SensitiveString', ], 'preferredBackupWindow' => [ 'shape' => 'string', ], 'preferredMaintenanceWindow' => [ 'shape' => 'string', ], 'publiclyAccessible' => [ 'shape' => 'boolean', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateRelationalDatabaseSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', 'relationalDatabaseSnapshotName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'relationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateRelationalDatabaseSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteDiskResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteDiskSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskSnapshotName', ], 'members' => [ 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteDiskSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteDomainEntryRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'domainEntry', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'domainEntry' => [ 'shape' => 'DomainEntry', ], ], ], 'DeleteDomainEntryResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'DeleteDomainRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], ], ], 'DeleteDomainResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'DeleteInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteInstanceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteInstanceSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'instanceSnapshotName', ], 'members' => [ 'instanceSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteInstanceSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'keyPairName', ], 'members' => [ 'keyPairName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'DeleteKnownHostKeysRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteKnownHostKeysResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteLoadBalancerResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteLoadBalancerTlsCertificateRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'certificateName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'certificateName' => [ 'shape' => 'ResourceName', ], 'force' => [ 'shape' => 'boolean', ], ], ], 'DeleteLoadBalancerTlsCertificateResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'skipFinalSnapshot' => [ 'shape' => 'boolean', ], 'finalRelationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DeleteRelationalDatabaseSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseSnapshotName', ], 'members' => [ 'relationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'DeleteRelationalDatabaseSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DestinationInfo' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], 'service' => [ 'shape' => 'NonEmptyString', ], ], ], 'DetachDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], ], ], 'DetachDiskResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DetachInstancesFromLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'instanceNames', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'instanceNames' => [ 'shape' => 'ResourceNameList', ], ], ], 'DetachInstancesFromLoadBalancerResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'DetachStaticIpRequest' => [ 'type' => 'structure', 'required' => [ 'staticIpName', ], 'members' => [ 'staticIpName' => [ 'shape' => 'ResourceName', ], ], ], 'DetachStaticIpResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'Disk' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'isSystemDisk' => [ 'shape' => 'boolean', ], 'iops' => [ 'shape' => 'integer', ], 'path' => [ 'shape' => 'string', ], 'state' => [ 'shape' => 'DiskState', ], 'attachedTo' => [ 'shape' => 'ResourceName', ], 'isAttached' => [ 'shape' => 'boolean', ], 'attachmentState' => [ 'shape' => 'string', 'deprecated' => true, ], 'gbInUse' => [ 'shape' => 'integer', 'deprecated' => true, ], ], ], 'DiskInfo' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'string', ], 'path' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'isSystemDisk' => [ 'shape' => 'boolean', ], ], ], 'DiskInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskInfo', ], ], 'DiskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Disk', ], ], 'DiskMap' => [ 'type' => 'structure', 'members' => [ 'originalDiskPath' => [ 'shape' => 'NonEmptyString', ], 'newDiskName' => [ 'shape' => 'ResourceName', ], ], ], 'DiskMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskMap', ], ], 'DiskSnapshot' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'state' => [ 'shape' => 'DiskSnapshotState', ], 'progress' => [ 'shape' => 'string', ], 'fromDiskName' => [ 'shape' => 'ResourceName', ], 'fromDiskArn' => [ 'shape' => 'NonEmptyString', ], 'fromInstanceName' => [ 'shape' => 'ResourceName', ], 'fromInstanceArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'DiskSnapshotInfo' => [ 'type' => 'structure', 'members' => [ 'sizeInGb' => [ 'shape' => 'integer', ], ], ], 'DiskSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskSnapshot', ], ], 'DiskSnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'completed', 'error', 'unknown', ], ], 'DiskState' => [ 'type' => 'string', 'enum' => [ 'pending', 'error', 'available', 'in-use', 'unknown', ], ], 'Domain' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'domainEntries' => [ 'shape' => 'DomainEntryList', ], ], ], 'DomainEntry' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], 'name' => [ 'shape' => 'DomainName', ], 'target' => [ 'shape' => 'string', ], 'isAlias' => [ 'shape' => 'boolean', ], 'type' => [ 'shape' => 'DomainEntryType', ], 'options' => [ 'shape' => 'DomainEntryOptions', 'deprecated' => true, ], ], ], 'DomainEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainEntry', ], ], 'DomainEntryOptions' => [ 'type' => 'map', 'key' => [ 'shape' => 'DomainEntryOptionsKeys', ], 'value' => [ 'shape' => 'string', ], ], 'DomainEntryOptionsKeys' => [ 'type' => 'string', ], 'DomainEntryType' => [ 'type' => 'string', ], 'DomainList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Domain', ], ], 'DomainName' => [ 'type' => 'string', ], 'DomainNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainName', ], ], 'DownloadDefaultKeyPairRequest' => [ 'type' => 'structure', 'members' => [], ], 'DownloadDefaultKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'publicKeyBase64' => [ 'shape' => 'Base64', ], 'privateKeyBase64' => [ 'shape' => 'Base64', ], ], ], 'ExportSnapshotRecord' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'state' => [ 'shape' => 'RecordState', ], 'sourceInfo' => [ 'shape' => 'ExportSnapshotRecordSourceInfo', ], 'destinationInfo' => [ 'shape' => 'DestinationInfo', ], ], ], 'ExportSnapshotRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportSnapshotRecord', ], ], 'ExportSnapshotRecordSourceInfo' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ExportSnapshotRecordSourceType', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'name' => [ 'shape' => 'NonEmptyString', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'fromResourceName' => [ 'shape' => 'NonEmptyString', ], 'fromResourceArn' => [ 'shape' => 'NonEmptyString', ], 'instanceSnapshotInfo' => [ 'shape' => 'InstanceSnapshotInfo', ], 'diskSnapshotInfo' => [ 'shape' => 'DiskSnapshotInfo', ], ], ], 'ExportSnapshotRecordSourceType' => [ 'type' => 'string', 'enum' => [ 'InstanceSnapshot', 'DiskSnapshot', ], ], 'ExportSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'sourceSnapshotName', ], 'members' => [ 'sourceSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'ExportSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'GetActiveNamesRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetActiveNamesResult' => [ 'type' => 'structure', 'members' => [ 'activeNames' => [ 'shape' => 'StringList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetBlueprintsRequest' => [ 'type' => 'structure', 'members' => [ 'includeInactive' => [ 'shape' => 'boolean', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetBlueprintsResult' => [ 'type' => 'structure', 'members' => [ 'blueprints' => [ 'shape' => 'BlueprintList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetBundlesRequest' => [ 'type' => 'structure', 'members' => [ 'includeInactive' => [ 'shape' => 'boolean', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetBundlesResult' => [ 'type' => 'structure', 'members' => [ 'bundles' => [ 'shape' => 'BundleList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetCloudFormationStackRecordsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetCloudFormationStackRecordsResult' => [ 'type' => 'structure', 'members' => [ 'cloudFormationStackRecords' => [ 'shape' => 'CloudFormationStackRecordList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], ], ], 'GetDiskResult' => [ 'type' => 'structure', 'members' => [ 'disk' => [ 'shape' => 'Disk', ], ], ], 'GetDiskSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskSnapshotName', ], 'members' => [ 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'GetDiskSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'diskSnapshot' => [ 'shape' => 'DiskSnapshot', ], ], ], 'GetDiskSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetDiskSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'diskSnapshots' => [ 'shape' => 'DiskSnapshotList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetDisksRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetDisksResult' => [ 'type' => 'structure', 'members' => [ 'disks' => [ 'shape' => 'DiskList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetDomainRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], ], ], 'GetDomainResult' => [ 'type' => 'structure', 'members' => [ 'domain' => [ 'shape' => 'Domain', ], ], ], 'GetDomainsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetDomainsResult' => [ 'type' => 'structure', 'members' => [ 'domains' => [ 'shape' => 'DomainList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetExportSnapshotRecordsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetExportSnapshotRecordsResult' => [ 'type' => 'structure', 'members' => [ 'exportSnapshotRecords' => [ 'shape' => 'ExportSnapshotRecordList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetInstanceAccessDetailsRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], 'protocol' => [ 'shape' => 'InstanceAccessProtocol', ], ], ], 'GetInstanceAccessDetailsResult' => [ 'type' => 'structure', 'members' => [ 'accessDetails' => [ 'shape' => 'InstanceAccessDetails', ], ], ], 'GetInstanceMetricDataRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', 'metricName', 'period', 'startTime', 'endTime', 'unit', 'statistics', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], 'metricName' => [ 'shape' => 'InstanceMetricName', ], 'period' => [ 'shape' => 'MetricPeriod', ], 'startTime' => [ 'shape' => 'timestamp', ], 'endTime' => [ 'shape' => 'timestamp', ], 'unit' => [ 'shape' => 'MetricUnit', ], 'statistics' => [ 'shape' => 'MetricStatisticList', ], ], ], 'GetInstanceMetricDataResult' => [ 'type' => 'structure', 'members' => [ 'metricName' => [ 'shape' => 'InstanceMetricName', ], 'metricData' => [ 'shape' => 'MetricDatapointList', ], ], ], 'GetInstancePortStatesRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'GetInstancePortStatesResult' => [ 'type' => 'structure', 'members' => [ 'portStates' => [ 'shape' => 'InstancePortStateList', ], ], ], 'GetInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'GetInstanceResult' => [ 'type' => 'structure', 'members' => [ 'instance' => [ 'shape' => 'Instance', ], ], ], 'GetInstanceSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'instanceSnapshotName', ], 'members' => [ 'instanceSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'GetInstanceSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'instanceSnapshot' => [ 'shape' => 'InstanceSnapshot', ], ], ], 'GetInstanceSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetInstanceSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'instanceSnapshots' => [ 'shape' => 'InstanceSnapshotList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetInstanceStateRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'GetInstanceStateResult' => [ 'type' => 'structure', 'members' => [ 'state' => [ 'shape' => 'InstanceState', ], ], ], 'GetInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetInstancesResult' => [ 'type' => 'structure', 'members' => [ 'instances' => [ 'shape' => 'InstanceList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'keyPairName', ], 'members' => [ 'keyPairName' => [ 'shape' => 'ResourceName', ], ], ], 'GetKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'keyPair' => [ 'shape' => 'KeyPair', ], ], ], 'GetKeyPairsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetKeyPairsResult' => [ 'type' => 'structure', 'members' => [ 'keyPairs' => [ 'shape' => 'KeyPairList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetLoadBalancerMetricDataRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'metricName', 'period', 'startTime', 'endTime', 'unit', 'statistics', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'metricName' => [ 'shape' => 'LoadBalancerMetricName', ], 'period' => [ 'shape' => 'MetricPeriod', ], 'startTime' => [ 'shape' => 'timestamp', ], 'endTime' => [ 'shape' => 'timestamp', ], 'unit' => [ 'shape' => 'MetricUnit', ], 'statistics' => [ 'shape' => 'MetricStatisticList', ], ], ], 'GetLoadBalancerMetricDataResult' => [ 'type' => 'structure', 'members' => [ 'metricName' => [ 'shape' => 'LoadBalancerMetricName', ], 'metricData' => [ 'shape' => 'MetricDatapointList', ], ], ], 'GetLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], ], ], 'GetLoadBalancerResult' => [ 'type' => 'structure', 'members' => [ 'loadBalancer' => [ 'shape' => 'LoadBalancer', ], ], ], 'GetLoadBalancerTlsCertificatesRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], ], ], 'GetLoadBalancerTlsCertificatesResult' => [ 'type' => 'structure', 'members' => [ 'tlsCertificates' => [ 'shape' => 'LoadBalancerTlsCertificateList', ], ], ], 'GetLoadBalancersRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetLoadBalancersResult' => [ 'type' => 'structure', 'members' => [ 'loadBalancers' => [ 'shape' => 'LoadBalancerList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetOperationRequest' => [ 'type' => 'structure', 'required' => [ 'operationId', ], 'members' => [ 'operationId' => [ 'shape' => 'NonEmptyString', ], ], ], 'GetOperationResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'GetOperationsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceName', ], 'members' => [ 'resourceName' => [ 'shape' => 'ResourceName', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetOperationsForResourceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], 'nextPageCount' => [ 'shape' => 'string', 'deprecated' => true, ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetOperationsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetOperationsResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRegionsRequest' => [ 'type' => 'structure', 'members' => [ 'includeAvailabilityZones' => [ 'shape' => 'boolean', ], 'includeRelationalDatabaseAvailabilityZones' => [ 'shape' => 'boolean', ], ], ], 'GetRegionsResult' => [ 'type' => 'structure', 'members' => [ 'regions' => [ 'shape' => 'RegionList', ], ], ], 'GetRelationalDatabaseBlueprintsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseBlueprintsResult' => [ 'type' => 'structure', 'members' => [ 'blueprints' => [ 'shape' => 'RelationalDatabaseBlueprintList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseBundlesRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseBundlesResult' => [ 'type' => 'structure', 'members' => [ 'bundles' => [ 'shape' => 'RelationalDatabaseBundleList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseEventsRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'durationInMinutes' => [ 'shape' => 'integer', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseEventsResult' => [ 'type' => 'structure', 'members' => [ 'relationalDatabaseEvents' => [ 'shape' => 'RelationalDatabaseEventList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseLogEventsRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', 'logStreamName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'logStreamName' => [ 'shape' => 'string', ], 'startTime' => [ 'shape' => 'IsoDate', ], 'endTime' => [ 'shape' => 'IsoDate', ], 'startFromHead' => [ 'shape' => 'boolean', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseLogEventsResult' => [ 'type' => 'structure', 'members' => [ 'resourceLogEvents' => [ 'shape' => 'LogEventList', ], 'nextBackwardToken' => [ 'shape' => 'string', ], 'nextForwardToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseLogStreamsRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], ], ], 'GetRelationalDatabaseLogStreamsResult' => [ 'type' => 'structure', 'members' => [ 'logStreams' => [ 'shape' => 'StringList', ], ], ], 'GetRelationalDatabaseMasterUserPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'passwordVersion' => [ 'shape' => 'RelationalDatabasePasswordVersion', ], ], ], 'GetRelationalDatabaseMasterUserPasswordResult' => [ 'type' => 'structure', 'members' => [ 'masterUserPassword' => [ 'shape' => 'SensitiveString', ], 'createdAt' => [ 'shape' => 'IsoDate', ], ], ], 'GetRelationalDatabaseMetricDataRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', 'metricName', 'period', 'startTime', 'endTime', 'unit', 'statistics', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'metricName' => [ 'shape' => 'RelationalDatabaseMetricName', ], 'period' => [ 'shape' => 'MetricPeriod', ], 'startTime' => [ 'shape' => 'IsoDate', ], 'endTime' => [ 'shape' => 'IsoDate', ], 'unit' => [ 'shape' => 'MetricUnit', ], 'statistics' => [ 'shape' => 'MetricStatisticList', ], ], ], 'GetRelationalDatabaseMetricDataResult' => [ 'type' => 'structure', 'members' => [ 'metricName' => [ 'shape' => 'RelationalDatabaseMetricName', ], 'metricData' => [ 'shape' => 'MetricDatapointList', ], ], ], 'GetRelationalDatabaseParametersRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseParametersResult' => [ 'type' => 'structure', 'members' => [ 'parameters' => [ 'shape' => 'RelationalDatabaseParameterList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], ], ], 'GetRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'relationalDatabase' => [ 'shape' => 'RelationalDatabase', ], ], ], 'GetRelationalDatabaseSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseSnapshotName', ], 'members' => [ 'relationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'GetRelationalDatabaseSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'relationalDatabaseSnapshot' => [ 'shape' => 'RelationalDatabaseSnapshot', ], ], ], 'GetRelationalDatabaseSnapshotsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabaseSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'relationalDatabaseSnapshots' => [ 'shape' => 'RelationalDatabaseSnapshotList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabasesRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetRelationalDatabasesResult' => [ 'type' => 'structure', 'members' => [ 'relationalDatabases' => [ 'shape' => 'RelationalDatabaseList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'GetStaticIpRequest' => [ 'type' => 'structure', 'required' => [ 'staticIpName', ], 'members' => [ 'staticIpName' => [ 'shape' => 'ResourceName', ], ], ], 'GetStaticIpResult' => [ 'type' => 'structure', 'members' => [ 'staticIp' => [ 'shape' => 'StaticIp', ], ], ], 'GetStaticIpsRequest' => [ 'type' => 'structure', 'members' => [ 'pageToken' => [ 'shape' => 'string', ], ], ], 'GetStaticIpsResult' => [ 'type' => 'structure', 'members' => [ 'staticIps' => [ 'shape' => 'StaticIpList', ], 'nextPageToken' => [ 'shape' => 'string', ], ], ], 'HostKeyAttributes' => [ 'type' => 'structure', 'members' => [ 'algorithm' => [ 'shape' => 'string', ], 'publicKey' => [ 'shape' => 'string', ], 'witnessedAt' => [ 'shape' => 'IsoDate', ], 'fingerprintSHA1' => [ 'shape' => 'string', ], 'fingerprintSHA256' => [ 'shape' => 'string', ], 'notValidBefore' => [ 'shape' => 'IsoDate', ], 'notValidAfter' => [ 'shape' => 'IsoDate', ], ], ], 'HostKeysList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostKeyAttributes', ], ], 'ImportKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'keyPairName', 'publicKeyBase64', ], 'members' => [ 'keyPairName' => [ 'shape' => 'ResourceName', ], 'publicKeyBase64' => [ 'shape' => 'Base64', ], ], ], 'ImportKeyPairResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'blueprintId' => [ 'shape' => 'NonEmptyString', ], 'blueprintName' => [ 'shape' => 'NonEmptyString', ], 'bundleId' => [ 'shape' => 'NonEmptyString', ], 'isStaticIp' => [ 'shape' => 'boolean', ], 'privateIpAddress' => [ 'shape' => 'IpAddress', ], 'publicIpAddress' => [ 'shape' => 'IpAddress', ], 'ipv6Address' => [ 'shape' => 'IpV6Address', ], 'hardware' => [ 'shape' => 'InstanceHardware', ], 'networking' => [ 'shape' => 'InstanceNetworking', ], 'state' => [ 'shape' => 'InstanceState', ], 'username' => [ 'shape' => 'NonEmptyString', ], 'sshKeyName' => [ 'shape' => 'ResourceName', ], ], ], 'InstanceAccessDetails' => [ 'type' => 'structure', 'members' => [ 'certKey' => [ 'shape' => 'string', ], 'expiresAt' => [ 'shape' => 'IsoDate', ], 'ipAddress' => [ 'shape' => 'IpAddress', ], 'password' => [ 'shape' => 'string', ], 'passwordData' => [ 'shape' => 'PasswordData', ], 'privateKey' => [ 'shape' => 'string', ], 'protocol' => [ 'shape' => 'InstanceAccessProtocol', ], 'instanceName' => [ 'shape' => 'ResourceName', ], 'username' => [ 'shape' => 'string', ], 'hostKeys' => [ 'shape' => 'HostKeysList', ], ], ], 'InstanceAccessProtocol' => [ 'type' => 'string', 'enum' => [ 'ssh', 'rdp', ], ], 'InstanceEntry' => [ 'type' => 'structure', 'required' => [ 'sourceName', 'instanceType', 'portInfoSource', 'availabilityZone', ], 'members' => [ 'sourceName' => [ 'shape' => 'ResourceName', ], 'instanceType' => [ 'shape' => 'NonEmptyString', ], 'portInfoSource' => [ 'shape' => 'PortInfoSourceType', ], 'userData' => [ 'shape' => 'string', ], 'availabilityZone' => [ 'shape' => 'string', ], ], ], 'InstanceEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceEntry', ], ], 'InstanceHardware' => [ 'type' => 'structure', 'members' => [ 'cpuCount' => [ 'shape' => 'integer', ], 'disks' => [ 'shape' => 'DiskList', ], 'ramSizeInGb' => [ 'shape' => 'float', ], ], ], 'InstanceHealthReason' => [ 'type' => 'string', 'enum' => [ 'Lb.RegistrationInProgress', 'Lb.InitialHealthChecking', 'Lb.InternalError', 'Instance.ResponseCodeMismatch', 'Instance.Timeout', 'Instance.FailedHealthChecks', 'Instance.NotRegistered', 'Instance.NotInUse', 'Instance.DeregistrationInProgress', 'Instance.InvalidState', 'Instance.IpUnusable', ], ], 'InstanceHealthState' => [ 'type' => 'string', 'enum' => [ 'initial', 'healthy', 'unhealthy', 'unused', 'draining', 'unavailable', ], ], 'InstanceHealthSummary' => [ 'type' => 'structure', 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], 'instanceHealth' => [ 'shape' => 'InstanceHealthState', ], 'instanceHealthReason' => [ 'shape' => 'InstanceHealthReason', ], ], ], 'InstanceHealthSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceHealthSummary', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstanceMetricName' => [ 'type' => 'string', 'enum' => [ 'CPUUtilization', 'NetworkIn', 'NetworkOut', 'StatusCheckFailed', 'StatusCheckFailed_Instance', 'StatusCheckFailed_System', ], ], 'InstanceNetworking' => [ 'type' => 'structure', 'members' => [ 'monthlyTransfer' => [ 'shape' => 'MonthlyTransfer', ], 'ports' => [ 'shape' => 'InstancePortInfoList', ], ], ], 'InstancePlatform' => [ 'type' => 'string', 'enum' => [ 'LINUX_UNIX', 'WINDOWS', ], ], 'InstancePlatformList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePlatform', ], ], 'InstancePortInfo' => [ 'type' => 'structure', 'members' => [ 'fromPort' => [ 'shape' => 'Port', ], 'toPort' => [ 'shape' => 'Port', ], 'protocol' => [ 'shape' => 'NetworkProtocol', ], 'accessFrom' => [ 'shape' => 'string', ], 'accessType' => [ 'shape' => 'PortAccessType', ], 'commonName' => [ 'shape' => 'string', ], 'accessDirection' => [ 'shape' => 'AccessDirection', ], ], ], 'InstancePortInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePortInfo', ], ], 'InstancePortState' => [ 'type' => 'structure', 'members' => [ 'fromPort' => [ 'shape' => 'Port', ], 'toPort' => [ 'shape' => 'Port', ], 'protocol' => [ 'shape' => 'NetworkProtocol', ], 'state' => [ 'shape' => 'PortState', ], ], ], 'InstancePortStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePortState', ], ], 'InstanceSnapshot' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'state' => [ 'shape' => 'InstanceSnapshotState', ], 'progress' => [ 'shape' => 'string', ], 'fromAttachedDisks' => [ 'shape' => 'DiskList', ], 'fromInstanceName' => [ 'shape' => 'ResourceName', ], 'fromInstanceArn' => [ 'shape' => 'NonEmptyString', ], 'fromBlueprintId' => [ 'shape' => 'string', ], 'fromBundleId' => [ 'shape' => 'string', ], 'sizeInGb' => [ 'shape' => 'integer', ], ], ], 'InstanceSnapshotInfo' => [ 'type' => 'structure', 'members' => [ 'fromBundleId' => [ 'shape' => 'NonEmptyString', ], 'fromBlueprintId' => [ 'shape' => 'NonEmptyString', ], 'fromDiskInfo' => [ 'shape' => 'DiskInfoList', ], ], ], 'InstanceSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceSnapshot', ], ], 'InstanceSnapshotState' => [ 'type' => 'string', 'enum' => [ 'pending', 'error', 'available', ], ], 'InstanceState' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'integer', ], 'name' => [ 'shape' => 'string', ], ], ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', 'pattern' => '([0-9]{1,3}\\.){3}[0-9]{1,3}', ], 'IpV6Address' => [ 'type' => 'string', 'pattern' => '([A-F0-9]{1,4}:){7}[A-F0-9]{1,4}', ], 'IsVpcPeeredRequest' => [ 'type' => 'structure', 'members' => [], ], 'IsVpcPeeredResult' => [ 'type' => 'structure', 'members' => [ 'isPeered' => [ 'shape' => 'boolean', ], ], ], 'IsoDate' => [ 'type' => 'timestamp', ], 'KeyPair' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'fingerprint' => [ 'shape' => 'Base64', ], ], ], 'KeyPairList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPair', ], ], 'LoadBalancer' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'dnsName' => [ 'shape' => 'NonEmptyString', ], 'state' => [ 'shape' => 'LoadBalancerState', ], 'protocol' => [ 'shape' => 'LoadBalancerProtocol', ], 'publicPorts' => [ 'shape' => 'PortList', ], 'healthCheckPath' => [ 'shape' => 'NonEmptyString', ], 'instancePort' => [ 'shape' => 'integer', ], 'instanceHealthSummary' => [ 'shape' => 'InstanceHealthSummaryList', ], 'tlsCertificateSummaries' => [ 'shape' => 'LoadBalancerTlsCertificateSummaryList', ], 'configurationOptions' => [ 'shape' => 'LoadBalancerConfigurationOptions', ], ], ], 'LoadBalancerAttributeName' => [ 'type' => 'string', 'enum' => [ 'HealthCheckPath', 'SessionStickinessEnabled', 'SessionStickiness_LB_CookieDurationSeconds', ], ], 'LoadBalancerConfigurationOptions' => [ 'type' => 'map', 'key' => [ 'shape' => 'LoadBalancerAttributeName', ], 'value' => [ 'shape' => 'string', ], ], 'LoadBalancerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancer', ], ], 'LoadBalancerMetricName' => [ 'type' => 'string', 'enum' => [ 'ClientTLSNegotiationErrorCount', 'HealthyHostCount', 'UnhealthyHostCount', 'HTTPCode_LB_4XX_Count', 'HTTPCode_LB_5XX_Count', 'HTTPCode_Instance_2XX_Count', 'HTTPCode_Instance_3XX_Count', 'HTTPCode_Instance_4XX_Count', 'HTTPCode_Instance_5XX_Count', 'InstanceResponseTime', 'RejectedConnectionCount', 'RequestCount', ], ], 'LoadBalancerProtocol' => [ 'type' => 'string', 'enum' => [ 'HTTP_HTTPS', 'HTTP', ], ], 'LoadBalancerState' => [ 'type' => 'string', 'enum' => [ 'active', 'provisioning', 'active_impaired', 'failed', 'unknown', ], ], 'LoadBalancerTlsCertificate' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'isAttached' => [ 'shape' => 'boolean', ], 'status' => [ 'shape' => 'LoadBalancerTlsCertificateStatus', ], 'domainName' => [ 'shape' => 'DomainName', ], 'domainValidationRecords' => [ 'shape' => 'LoadBalancerTlsCertificateDomainValidationRecordList', ], 'failureReason' => [ 'shape' => 'LoadBalancerTlsCertificateFailureReason', ], 'issuedAt' => [ 'shape' => 'IsoDate', ], 'issuer' => [ 'shape' => 'NonEmptyString', ], 'keyAlgorithm' => [ 'shape' => 'NonEmptyString', ], 'notAfter' => [ 'shape' => 'IsoDate', ], 'notBefore' => [ 'shape' => 'IsoDate', ], 'renewalSummary' => [ 'shape' => 'LoadBalancerTlsCertificateRenewalSummary', ], 'revocationReason' => [ 'shape' => 'LoadBalancerTlsCertificateRevocationReason', ], 'revokedAt' => [ 'shape' => 'IsoDate', ], 'serial' => [ 'shape' => 'NonEmptyString', ], 'signatureAlgorithm' => [ 'shape' => 'NonEmptyString', ], 'subject' => [ 'shape' => 'NonEmptyString', ], 'subjectAlternativeNames' => [ 'shape' => 'StringList', ], ], ], 'LoadBalancerTlsCertificateDomainStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_VALIDATION', 'FAILED', 'SUCCESS', ], ], 'LoadBalancerTlsCertificateDomainValidationOption' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'validationStatus' => [ 'shape' => 'LoadBalancerTlsCertificateDomainStatus', ], ], ], 'LoadBalancerTlsCertificateDomainValidationOptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerTlsCertificateDomainValidationOption', ], ], 'LoadBalancerTlsCertificateDomainValidationRecord' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], 'type' => [ 'shape' => 'NonEmptyString', ], 'value' => [ 'shape' => 'NonEmptyString', ], 'validationStatus' => [ 'shape' => 'LoadBalancerTlsCertificateDomainStatus', ], 'domainName' => [ 'shape' => 'DomainName', ], ], ], 'LoadBalancerTlsCertificateDomainValidationRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerTlsCertificateDomainValidationRecord', ], ], 'LoadBalancerTlsCertificateFailureReason' => [ 'type' => 'string', 'enum' => [ 'NO_AVAILABLE_CONTACTS', 'ADDITIONAL_VERIFICATION_REQUIRED', 'DOMAIN_NOT_ALLOWED', 'INVALID_PUBLIC_DOMAIN', 'OTHER', ], ], 'LoadBalancerTlsCertificateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerTlsCertificate', ], ], 'LoadBalancerTlsCertificateRenewalStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_AUTO_RENEWAL', 'PENDING_VALIDATION', 'SUCCESS', 'FAILED', ], ], 'LoadBalancerTlsCertificateRenewalSummary' => [ 'type' => 'structure', 'members' => [ 'renewalStatus' => [ 'shape' => 'LoadBalancerTlsCertificateRenewalStatus', ], 'domainValidationOptions' => [ 'shape' => 'LoadBalancerTlsCertificateDomainValidationOptionList', ], ], ], 'LoadBalancerTlsCertificateRevocationReason' => [ 'type' => 'string', 'enum' => [ 'UNSPECIFIED', 'KEY_COMPROMISE', 'CA_COMPROMISE', 'AFFILIATION_CHANGED', 'SUPERCEDED', 'CESSATION_OF_OPERATION', 'CERTIFICATE_HOLD', 'REMOVE_FROM_CRL', 'PRIVILEGE_WITHDRAWN', 'A_A_COMPROMISE', ], ], 'LoadBalancerTlsCertificateStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING_VALIDATION', 'ISSUED', 'INACTIVE', 'EXPIRED', 'VALIDATION_TIMED_OUT', 'REVOKED', 'FAILED', 'UNKNOWN', ], ], 'LoadBalancerTlsCertificateSummary' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'isAttached' => [ 'shape' => 'boolean', ], ], ], 'LoadBalancerTlsCertificateSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBalancerTlsCertificateSummary', ], ], 'LogEvent' => [ 'type' => 'structure', 'members' => [ 'createdAt' => [ 'shape' => 'IsoDate', ], 'message' => [ 'shape' => 'string', ], ], ], 'LogEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogEvent', ], ], 'MetricDatapoint' => [ 'type' => 'structure', 'members' => [ 'average' => [ 'shape' => 'double', ], 'maximum' => [ 'shape' => 'double', ], 'minimum' => [ 'shape' => 'double', ], 'sampleCount' => [ 'shape' => 'double', ], 'sum' => [ 'shape' => 'double', ], 'timestamp' => [ 'shape' => 'timestamp', ], 'unit' => [ 'shape' => 'MetricUnit', ], ], ], 'MetricDatapointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDatapoint', ], ], 'MetricPeriod' => [ 'type' => 'integer', 'max' => 86400, 'min' => 60, ], 'MetricStatistic' => [ 'type' => 'string', 'enum' => [ 'Minimum', 'Maximum', 'Sum', 'Average', 'SampleCount', ], ], 'MetricStatisticList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricStatistic', ], ], 'MetricUnit' => [ 'type' => 'string', 'enum' => [ 'Seconds', 'Microseconds', 'Milliseconds', 'Bytes', 'Kilobytes', 'Megabytes', 'Gigabytes', 'Terabytes', 'Bits', 'Kilobits', 'Megabits', 'Gigabits', 'Terabits', 'Percent', 'Count', 'Bytes/Second', 'Kilobytes/Second', 'Megabytes/Second', 'Gigabytes/Second', 'Terabytes/Second', 'Bits/Second', 'Kilobits/Second', 'Megabits/Second', 'Gigabits/Second', 'Terabits/Second', 'Count/Second', 'None', ], ], 'MonthlyTransfer' => [ 'type' => 'structure', 'members' => [ 'gbPerMonthAllocated' => [ 'shape' => 'integer', ], ], ], 'NetworkProtocol' => [ 'type' => 'string', 'enum' => [ 'tcp', 'all', 'udp', ], ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '.*\\S.*', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'OpenInstancePublicPortsRequest' => [ 'type' => 'structure', 'required' => [ 'portInfo', 'instanceName', ], 'members' => [ 'portInfo' => [ 'shape' => 'PortInfo', ], 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'OpenInstancePublicPortsResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'Operation' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'NonEmptyString', ], 'resourceName' => [ 'shape' => 'ResourceName', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'isTerminal' => [ 'shape' => 'boolean', ], 'operationDetails' => [ 'shape' => 'string', ], 'operationType' => [ 'shape' => 'OperationType', ], 'status' => [ 'shape' => 'OperationStatus', ], 'statusChangedAt' => [ 'shape' => 'IsoDate', ], 'errorCode' => [ 'shape' => 'string', ], 'errorDetails' => [ 'shape' => 'string', ], ], ], 'OperationFailureException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'OperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Operation', ], ], 'OperationStatus' => [ 'type' => 'string', 'enum' => [ 'NotStarted', 'Started', 'Failed', 'Completed', 'Succeeded', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'DeleteKnownHostKeys', 'DeleteInstance', 'CreateInstance', 'StopInstance', 'StartInstance', 'RebootInstance', 'OpenInstancePublicPorts', 'PutInstancePublicPorts', 'CloseInstancePublicPorts', 'AllocateStaticIp', 'ReleaseStaticIp', 'AttachStaticIp', 'DetachStaticIp', 'UpdateDomainEntry', 'DeleteDomainEntry', 'CreateDomain', 'DeleteDomain', 'CreateInstanceSnapshot', 'DeleteInstanceSnapshot', 'CreateInstancesFromSnapshot', 'CreateLoadBalancer', 'DeleteLoadBalancer', 'AttachInstancesToLoadBalancer', 'DetachInstancesFromLoadBalancer', 'UpdateLoadBalancerAttribute', 'CreateLoadBalancerTlsCertificate', 'DeleteLoadBalancerTlsCertificate', 'AttachLoadBalancerTlsCertificate', 'CreateDisk', 'DeleteDisk', 'AttachDisk', 'DetachDisk', 'CreateDiskSnapshot', 'DeleteDiskSnapshot', 'CreateDiskFromSnapshot', 'CreateRelationalDatabase', 'UpdateRelationalDatabase', 'DeleteRelationalDatabase', 'CreateRelationalDatabaseFromSnapshot', 'CreateRelationalDatabaseSnapshot', 'DeleteRelationalDatabaseSnapshot', 'UpdateRelationalDatabaseParameters', 'StartRelationalDatabase', 'RebootRelationalDatabase', 'StopRelationalDatabase', ], ], 'PasswordData' => [ 'type' => 'structure', 'members' => [ 'ciphertext' => [ 'shape' => 'string', ], 'keyPairName' => [ 'shape' => 'ResourceName', ], ], ], 'PeerVpcRequest' => [ 'type' => 'structure', 'members' => [], ], 'PeerVpcResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'PendingMaintenanceAction' => [ 'type' => 'structure', 'members' => [ 'action' => [ 'shape' => 'NonEmptyString', ], 'description' => [ 'shape' => 'NonEmptyString', ], 'currentApplyDate' => [ 'shape' => 'IsoDate', ], ], ], 'PendingMaintenanceActionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingMaintenanceAction', ], ], 'PendingModifiedRelationalDatabaseValues' => [ 'type' => 'structure', 'members' => [ 'masterUserPassword' => [ 'shape' => 'string', ], 'engineVersion' => [ 'shape' => 'string', ], 'backupRetentionEnabled' => [ 'shape' => 'boolean', ], ], ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 0, ], 'PortAccessType' => [ 'type' => 'string', 'enum' => [ 'Public', 'Private', ], ], 'PortInfo' => [ 'type' => 'structure', 'members' => [ 'fromPort' => [ 'shape' => 'Port', ], 'toPort' => [ 'shape' => 'Port', ], 'protocol' => [ 'shape' => 'NetworkProtocol', ], ], ], 'PortInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortInfo', ], ], 'PortInfoSourceType' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'INSTANCE', 'NONE', 'CLOSED', ], ], 'PortList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Port', ], ], 'PortState' => [ 'type' => 'string', 'enum' => [ 'open', 'closed', ], ], 'PutInstancePublicPortsRequest' => [ 'type' => 'structure', 'required' => [ 'portInfos', 'instanceName', ], 'members' => [ 'portInfos' => [ 'shape' => 'PortInfoList', ], 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'PutInstancePublicPortsResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'RebootInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'RebootInstanceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'RebootRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], ], ], 'RebootRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'RecordState' => [ 'type' => 'string', 'enum' => [ 'Started', 'Succeeded', 'Failed', ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'continentCode' => [ 'shape' => 'string', ], 'description' => [ 'shape' => 'string', ], 'displayName' => [ 'shape' => 'string', ], 'name' => [ 'shape' => 'RegionName', ], 'availabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'relationalDatabaseAvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], ], ], 'RegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', ], ], 'RegionName' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'ca-central-1', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ap-northeast-2', ], ], 'RelationalDatabase' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'relationalDatabaseBlueprintId' => [ 'shape' => 'NonEmptyString', ], 'relationalDatabaseBundleId' => [ 'shape' => 'NonEmptyString', ], 'masterDatabaseName' => [ 'shape' => 'string', ], 'hardware' => [ 'shape' => 'RelationalDatabaseHardware', ], 'state' => [ 'shape' => 'NonEmptyString', ], 'secondaryAvailabilityZone' => [ 'shape' => 'string', ], 'backupRetentionEnabled' => [ 'shape' => 'boolean', ], 'pendingModifiedValues' => [ 'shape' => 'PendingModifiedRelationalDatabaseValues', ], 'engine' => [ 'shape' => 'NonEmptyString', ], 'engineVersion' => [ 'shape' => 'NonEmptyString', ], 'latestRestorableTime' => [ 'shape' => 'IsoDate', ], 'masterUsername' => [ 'shape' => 'NonEmptyString', ], 'parameterApplyStatus' => [ 'shape' => 'NonEmptyString', ], 'preferredBackupWindow' => [ 'shape' => 'NonEmptyString', ], 'preferredMaintenanceWindow' => [ 'shape' => 'NonEmptyString', ], 'publiclyAccessible' => [ 'shape' => 'boolean', ], 'masterEndpoint' => [ 'shape' => 'RelationalDatabaseEndpoint', ], 'pendingMaintenanceActions' => [ 'shape' => 'PendingMaintenanceActionList', ], ], ], 'RelationalDatabaseBlueprint' => [ 'type' => 'structure', 'members' => [ 'blueprintId' => [ 'shape' => 'string', ], 'engine' => [ 'shape' => 'RelationalDatabaseEngine', ], 'engineVersion' => [ 'shape' => 'string', ], 'engineDescription' => [ 'shape' => 'string', ], 'engineVersionDescription' => [ 'shape' => 'string', ], 'isEngineDefault' => [ 'shape' => 'boolean', ], ], ], 'RelationalDatabaseBlueprintList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabaseBlueprint', ], ], 'RelationalDatabaseBundle' => [ 'type' => 'structure', 'members' => [ 'bundleId' => [ 'shape' => 'string', ], 'name' => [ 'shape' => 'string', ], 'price' => [ 'shape' => 'float', ], 'ramSizeInGb' => [ 'shape' => 'float', ], 'diskSizeInGb' => [ 'shape' => 'integer', ], 'transferPerMonthInGb' => [ 'shape' => 'integer', ], 'cpuCount' => [ 'shape' => 'integer', ], 'isEncrypted' => [ 'shape' => 'boolean', ], 'isActive' => [ 'shape' => 'boolean', ], ], ], 'RelationalDatabaseBundleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabaseBundle', ], ], 'RelationalDatabaseEndpoint' => [ 'type' => 'structure', 'members' => [ 'port' => [ 'shape' => 'integer', ], 'address' => [ 'shape' => 'NonEmptyString', ], ], ], 'RelationalDatabaseEngine' => [ 'type' => 'string', 'enum' => [ 'mysql', ], ], 'RelationalDatabaseEvent' => [ 'type' => 'structure', 'members' => [ 'resource' => [ 'shape' => 'ResourceName', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'message' => [ 'shape' => 'string', ], 'eventCategories' => [ 'shape' => 'StringList', ], ], ], 'RelationalDatabaseEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabaseEvent', ], ], 'RelationalDatabaseHardware' => [ 'type' => 'structure', 'members' => [ 'cpuCount' => [ 'shape' => 'integer', ], 'diskSizeInGb' => [ 'shape' => 'integer', ], 'ramSizeInGb' => [ 'shape' => 'float', ], ], ], 'RelationalDatabaseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabase', ], ], 'RelationalDatabaseMetricName' => [ 'type' => 'string', 'enum' => [ 'CPUUtilization', 'DatabaseConnections', 'DiskQueueDepth', 'FreeStorageSpace', 'NetworkReceiveThroughput', 'NetworkTransmitThroughput', ], ], 'RelationalDatabaseParameter' => [ 'type' => 'structure', 'members' => [ 'allowedValues' => [ 'shape' => 'string', ], 'applyMethod' => [ 'shape' => 'string', ], 'applyType' => [ 'shape' => 'string', ], 'dataType' => [ 'shape' => 'string', ], 'description' => [ 'shape' => 'string', ], 'isModifiable' => [ 'shape' => 'boolean', ], 'parameterName' => [ 'shape' => 'string', ], 'parameterValue' => [ 'shape' => 'string', ], ], ], 'RelationalDatabaseParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabaseParameter', ], ], 'RelationalDatabasePasswordVersion' => [ 'type' => 'string', 'enum' => [ 'CURRENT', 'PREVIOUS', 'PENDING', ], ], 'RelationalDatabaseSnapshot' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'tags' => [ 'shape' => 'TagList', ], 'engine' => [ 'shape' => 'NonEmptyString', ], 'engineVersion' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'state' => [ 'shape' => 'NonEmptyString', ], 'fromRelationalDatabaseName' => [ 'shape' => 'NonEmptyString', ], 'fromRelationalDatabaseArn' => [ 'shape' => 'NonEmptyString', ], 'fromRelationalDatabaseBundleId' => [ 'shape' => 'string', ], 'fromRelationalDatabaseBlueprintId' => [ 'shape' => 'string', ], ], ], 'RelationalDatabaseSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelationalDatabaseSnapshot', ], ], 'ReleaseStaticIpRequest' => [ 'type' => 'structure', 'required' => [ 'staticIpName', ], 'members' => [ 'staticIpName' => [ 'shape' => 'ResourceName', ], ], ], 'ReleaseStaticIpResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'ResourceLocation' => [ 'type' => 'structure', 'members' => [ 'availabilityZone' => [ 'shape' => 'string', ], 'regionName' => [ 'shape' => 'RegionName', ], ], ], 'ResourceName' => [ 'type' => 'string', 'pattern' => '\\w[\\w\\-]*\\w', ], 'ResourceNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'Instance', 'StaticIp', 'KeyPair', 'InstanceSnapshot', 'Domain', 'PeeredVpc', 'LoadBalancer', 'LoadBalancerTlsCertificate', 'Disk', 'DiskSnapshot', 'RelationalDatabase', 'RelationalDatabaseSnapshot', 'ExportSnapshotRecord', 'CloudFormationStackRecord', ], ], 'SensitiveString' => [ 'type' => 'string', 'sensitive' => true, ], 'ServiceException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, 'fault' => true, ], 'StartInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], 'StartInstanceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'StartRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], ], ], 'StartRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'StaticIp' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'NonEmptyString', ], 'supportCode' => [ 'shape' => 'string', ], 'createdAt' => [ 'shape' => 'IsoDate', ], 'location' => [ 'shape' => 'ResourceLocation', ], 'resourceType' => [ 'shape' => 'ResourceType', ], 'ipAddress' => [ 'shape' => 'IpAddress', ], 'attachedTo' => [ 'shape' => 'ResourceName', ], 'isAttached' => [ 'shape' => 'boolean', ], ], ], 'StaticIpList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StaticIp', ], ], 'StopInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'instanceName', ], 'members' => [ 'instanceName' => [ 'shape' => 'ResourceName', ], 'force' => [ 'shape' => 'boolean', ], ], ], 'StopInstanceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'StopRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'relationalDatabaseSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], 'StopRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], ], 'StringMax256' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceName', 'tags', ], 'members' => [ 'resourceName' => [ 'shape' => 'ResourceName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'UnauthenticatedException' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'string', ], 'docs' => [ 'shape' => 'string', ], 'message' => [ 'shape' => 'string', ], 'tip' => [ 'shape' => 'string', ], ], 'exception' => true, ], 'UnpeerVpcRequest' => [ 'type' => 'structure', 'members' => [], ], 'UnpeerVpcResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceName', 'tagKeys', ], 'members' => [ 'resourceName' => [ 'shape' => 'ResourceName', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'UpdateDomainEntryRequest' => [ 'type' => 'structure', 'required' => [ 'domainName', 'domainEntry', ], 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'domainEntry' => [ 'shape' => 'DomainEntry', ], ], ], 'UpdateDomainEntryResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'UpdateLoadBalancerAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'loadBalancerName', 'attributeName', 'attributeValue', ], 'members' => [ 'loadBalancerName' => [ 'shape' => 'ResourceName', ], 'attributeName' => [ 'shape' => 'LoadBalancerAttributeName', ], 'attributeValue' => [ 'shape' => 'StringMax256', ], ], ], 'UpdateLoadBalancerAttributeResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'UpdateRelationalDatabaseParametersRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', 'parameters', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'parameters' => [ 'shape' => 'RelationalDatabaseParameterList', ], ], ], 'UpdateRelationalDatabaseParametersResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'UpdateRelationalDatabaseRequest' => [ 'type' => 'structure', 'required' => [ 'relationalDatabaseName', ], 'members' => [ 'relationalDatabaseName' => [ 'shape' => 'ResourceName', ], 'masterUserPassword' => [ 'shape' => 'SensitiveString', ], 'rotateMasterUserPassword' => [ 'shape' => 'boolean', ], 'preferredBackupWindow' => [ 'shape' => 'string', ], 'preferredMaintenanceWindow' => [ 'shape' => 'string', ], 'enableBackupRetention' => [ 'shape' => 'boolean', ], 'disableBackupRetention' => [ 'shape' => 'boolean', ], 'publiclyAccessible' => [ 'shape' => 'boolean', ], 'applyImmediately' => [ 'shape' => 'boolean', ], ], ], 'UpdateRelationalDatabaseResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'boolean' => [ 'type' => 'boolean', ], 'double' => [ 'type' => 'double', ], 'float' => [ 'type' => 'float', ], 'integer' => [ 'type' => 'integer', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/lightsail/2016-11-28/paginators-1.json.php b/lib/aws/Aws/data/lightsail/2016-11-28/paginators-1.json.php new file mode 100644 index 0000000..1cfd43b --- /dev/null +++ b/lib/aws/Aws/data/lightsail/2016-11-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lightsail/2016-11-28/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/lightsail/2016-11-28/smoke.json.php b/lib/aws/Aws/data/lightsail/2016-11-28/smoke.json.php new file mode 100644 index 0000000..e93ed93 --- /dev/null +++ b/lib/aws/Aws/data/lightsail/2016-11-28/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/lightsail/2016-11-28/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetActiveNames', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/logs/2014-03-28/api-2.json.php b/lib/aws/Aws/data/logs/2014-03-28/api-2.json.php new file mode 100644 index 0000000..3e82391 --- /dev/null +++ b/lib/aws/Aws/data/logs/2014-03-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/logs/2014-03-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-03-28', 'endpointPrefix' => 'logs', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon CloudWatch Logs', 'serviceId' => 'CloudWatch Logs', 'signatureVersion' => 'v4', 'targetPrefix' => 'Logs_20140328', 'uid' => 'logs-2014-03-28', ], 'operations' => [ 'AssociateKmsKey' => [ 'name' => 'AssociateKmsKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateKmsKeyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CancelExportTask' => [ 'name' => 'CancelExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelExportTaskRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateExportTask' => [ 'name' => 'CreateExportTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateExportTaskRequest', ], 'output' => [ 'shape' => 'CreateExportTaskResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'CreateLogGroup' => [ 'name' => 'CreateLogGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLogGroupRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateLogStream' => [ 'name' => 'CreateLogStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLogStreamRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteDestination' => [ 'name' => 'DeleteDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDestinationRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteLogGroup' => [ 'name' => 'DeleteLogGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLogGroupRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteLogStream' => [ 'name' => 'DeleteLogStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLogStreamRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteMetricFilter' => [ 'name' => 'DeleteMetricFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMetricFilterRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteResourcePolicy' => [ 'name' => 'DeleteResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourcePolicyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteRetentionPolicy' => [ 'name' => 'DeleteRetentionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRetentionPolicyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteSubscriptionFilter' => [ 'name' => 'DeleteSubscriptionFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubscriptionFilterRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeDestinations' => [ 'name' => 'DescribeDestinations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDestinationsRequest', ], 'output' => [ 'shape' => 'DescribeDestinationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeExportTasks' => [ 'name' => 'DescribeExportTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExportTasksRequest', ], 'output' => [ 'shape' => 'DescribeExportTasksResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeLogGroups' => [ 'name' => 'DescribeLogGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLogGroupsRequest', ], 'output' => [ 'shape' => 'DescribeLogGroupsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeLogStreams' => [ 'name' => 'DescribeLogStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLogStreamsRequest', ], 'output' => [ 'shape' => 'DescribeLogStreamsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeMetricFilters' => [ 'name' => 'DescribeMetricFilters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMetricFiltersRequest', ], 'output' => [ 'shape' => 'DescribeMetricFiltersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeQueries' => [ 'name' => 'DescribeQueries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeQueriesRequest', ], 'output' => [ 'shape' => 'DescribeQueriesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeResourcePolicies' => [ 'name' => 'DescribeResourcePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeResourcePoliciesRequest', ], 'output' => [ 'shape' => 'DescribeResourcePoliciesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeSubscriptionFilters' => [ 'name' => 'DescribeSubscriptionFilters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubscriptionFiltersRequest', ], 'output' => [ 'shape' => 'DescribeSubscriptionFiltersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DisassociateKmsKey' => [ 'name' => 'DisassociateKmsKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateKmsKeyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'FilterLogEvents' => [ 'name' => 'FilterLogEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'FilterLogEventsRequest', ], 'output' => [ 'shape' => 'FilterLogEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetLogEvents' => [ 'name' => 'GetLogEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLogEventsRequest', ], 'output' => [ 'shape' => 'GetLogEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetLogGroupFields' => [ 'name' => 'GetLogGroupFields', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLogGroupFieldsRequest', ], 'output' => [ 'shape' => 'GetLogGroupFieldsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetLogRecord' => [ 'name' => 'GetLogRecord', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLogRecordRequest', ], 'output' => [ 'shape' => 'GetLogRecordResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetQueryResults' => [ 'name' => 'GetQueryResults', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQueryResultsRequest', ], 'output' => [ 'shape' => 'GetQueryResultsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListTagsLogGroup' => [ 'name' => 'ListTagsLogGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsLogGroupRequest', ], 'output' => [ 'shape' => 'ListTagsLogGroupResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutDestination' => [ 'name' => 'PutDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDestinationRequest', ], 'output' => [ 'shape' => 'PutDestinationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutDestinationPolicy' => [ 'name' => 'PutDestinationPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDestinationPolicyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutLogEvents' => [ 'name' => 'PutLogEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLogEventsRequest', ], 'output' => [ 'shape' => 'PutLogEventsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidSequenceTokenException', ], [ 'shape' => 'DataAlreadyAcceptedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnrecognizedClientException', ], ], ], 'PutMetricFilter' => [ 'name' => 'PutMetricFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutMetricFilterRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutResourcePolicy' => [ 'name' => 'PutResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutResourcePolicyRequest', ], 'output' => [ 'shape' => 'PutResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutRetentionPolicy' => [ 'name' => 'PutRetentionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRetentionPolicyRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'PutSubscriptionFilter' => [ 'name' => 'PutSubscriptionFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutSubscriptionFilterRequest', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationAbortedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'StartQuery' => [ 'name' => 'StartQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartQueryRequest', ], 'output' => [ 'shape' => 'StartQueryResponse', ], 'errors' => [ [ 'shape' => 'MalformedQueryException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'StopQuery' => [ 'name' => 'StopQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopQueryRequest', ], 'output' => [ 'shape' => 'StopQueryResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'TagLogGroup' => [ 'name' => 'TagLogGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagLogGroupRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'TestMetricFilter' => [ 'name' => 'TestMetricFilter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestMetricFilterRequest', ], 'output' => [ 'shape' => 'TestMetricFilterResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UntagLogGroup' => [ 'name' => 'UntagLogGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagLogGroupRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AccessPolicy' => [ 'type' => 'string', 'min' => 1, ], 'Arn' => [ 'type' => 'string', ], 'AssociateKmsKeyRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'kmsKeyId', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'CancelExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'taskId', ], 'members' => [ 'taskId' => [ 'shape' => 'ExportTaskId', ], ], ], 'CreateExportTaskRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'from', 'to', 'destination', ], 'members' => [ 'taskName' => [ 'shape' => 'ExportTaskName', ], 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamNamePrefix' => [ 'shape' => 'LogStreamName', ], 'from' => [ 'shape' => 'Timestamp', ], 'to' => [ 'shape' => 'Timestamp', ], 'destination' => [ 'shape' => 'ExportDestinationBucket', ], 'destinationPrefix' => [ 'shape' => 'ExportDestinationPrefix', ], ], ], 'CreateExportTaskResponse' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'ExportTaskId', ], ], ], 'CreateLogGroupRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateLogStreamRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'logStreamName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamName' => [ 'shape' => 'LogStreamName', ], ], ], 'DataAlreadyAcceptedException' => [ 'type' => 'structure', 'members' => [ 'expectedSequenceToken' => [ 'shape' => 'SequenceToken', ], ], 'exception' => true, ], 'Days' => [ 'type' => 'integer', ], 'DefaultValue' => [ 'type' => 'double', ], 'DeleteDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'destinationName', ], 'members' => [ 'destinationName' => [ 'shape' => 'DestinationName', ], ], ], 'DeleteLogGroupRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'DeleteLogStreamRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'logStreamName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamName' => [ 'shape' => 'LogStreamName', ], ], ], 'DeleteMetricFilterRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'filterName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterName' => [ 'shape' => 'FilterName', ], ], ], 'DeleteResourcePolicyRequest' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], ], ], 'DeleteRetentionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'DeleteSubscriptionFilterRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'filterName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterName' => [ 'shape' => 'FilterName', ], ], ], 'Descending' => [ 'type' => 'boolean', ], 'DescribeDestinationsRequest' => [ 'type' => 'structure', 'members' => [ 'DestinationNamePrefix' => [ 'shape' => 'DestinationName', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeDestinationsResponse' => [ 'type' => 'structure', 'members' => [ 'destinations' => [ 'shape' => 'Destinations', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeExportTasksRequest' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'ExportTaskId', ], 'statusCode' => [ 'shape' => 'ExportTaskStatusCode', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeExportTasksResponse' => [ 'type' => 'structure', 'members' => [ 'exportTasks' => [ 'shape' => 'ExportTasks', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeLimit' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'DescribeLogGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'logGroupNamePrefix' => [ 'shape' => 'LogGroupName', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeLogGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'logGroups' => [ 'shape' => 'LogGroups', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeLogStreamsRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamNamePrefix' => [ 'shape' => 'LogStreamName', ], 'orderBy' => [ 'shape' => 'OrderBy', ], 'descending' => [ 'shape' => 'Descending', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeLogStreamsResponse' => [ 'type' => 'structure', 'members' => [ 'logStreams' => [ 'shape' => 'LogStreams', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMetricFiltersRequest' => [ 'type' => 'structure', 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterNamePrefix' => [ 'shape' => 'FilterName', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], 'metricName' => [ 'shape' => 'MetricName', ], 'metricNamespace' => [ 'shape' => 'MetricNamespace', ], ], ], 'DescribeMetricFiltersResponse' => [ 'type' => 'structure', 'members' => [ 'metricFilters' => [ 'shape' => 'MetricFilters', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeQueriesMaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'DescribeQueriesRequest' => [ 'type' => 'structure', 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'status' => [ 'shape' => 'QueryStatus', ], 'maxResults' => [ 'shape' => 'DescribeQueriesMaxResults', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeQueriesResponse' => [ 'type' => 'structure', 'members' => [ 'queries' => [ 'shape' => 'QueryInfoList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeResourcePoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeResourcePoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'resourcePolicies' => [ 'shape' => 'ResourcePolicies', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeSubscriptionFiltersRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterNamePrefix' => [ 'shape' => 'FilterName', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'DescribeLimit', ], ], ], 'DescribeSubscriptionFiltersResponse' => [ 'type' => 'structure', 'members' => [ 'subscriptionFilters' => [ 'shape' => 'SubscriptionFilters', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'Destination' => [ 'type' => 'structure', 'members' => [ 'destinationName' => [ 'shape' => 'DestinationName', ], 'targetArn' => [ 'shape' => 'TargetArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'accessPolicy' => [ 'shape' => 'AccessPolicy', ], 'arn' => [ 'shape' => 'Arn', ], 'creationTime' => [ 'shape' => 'Timestamp', ], ], ], 'DestinationArn' => [ 'type' => 'string', 'min' => 1, ], 'DestinationName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[^:*]*', ], 'Destinations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Destination', ], ], 'DisassociateKmsKeyRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'Distribution' => [ 'type' => 'string', 'enum' => [ 'Random', 'ByLogStream', ], ], 'EventId' => [ 'type' => 'string', ], 'EventMessage' => [ 'type' => 'string', 'min' => 1, ], 'EventNumber' => [ 'type' => 'long', ], 'EventsLimit' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'ExportDestinationBucket' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ExportDestinationPrefix' => [ 'type' => 'string', ], 'ExportTask' => [ 'type' => 'structure', 'members' => [ 'taskId' => [ 'shape' => 'ExportTaskId', ], 'taskName' => [ 'shape' => 'ExportTaskName', ], 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'from' => [ 'shape' => 'Timestamp', ], 'to' => [ 'shape' => 'Timestamp', ], 'destination' => [ 'shape' => 'ExportDestinationBucket', ], 'destinationPrefix' => [ 'shape' => 'ExportDestinationPrefix', ], 'status' => [ 'shape' => 'ExportTaskStatus', ], 'executionInfo' => [ 'shape' => 'ExportTaskExecutionInfo', ], ], ], 'ExportTaskExecutionInfo' => [ 'type' => 'structure', 'members' => [ 'creationTime' => [ 'shape' => 'Timestamp', ], 'completionTime' => [ 'shape' => 'Timestamp', ], ], ], 'ExportTaskId' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ExportTaskName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'ExportTaskStatus' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'ExportTaskStatusCode', ], 'message' => [ 'shape' => 'ExportTaskStatusMessage', ], ], ], 'ExportTaskStatusCode' => [ 'type' => 'string', 'enum' => [ 'CANCELLED', 'COMPLETED', 'FAILED', 'PENDING', 'PENDING_CANCEL', 'RUNNING', ], ], 'ExportTaskStatusMessage' => [ 'type' => 'string', ], 'ExportTasks' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportTask', ], ], 'ExtractedValues' => [ 'type' => 'map', 'key' => [ 'shape' => 'Token', ], 'value' => [ 'shape' => 'Value', ], ], 'Field' => [ 'type' => 'string', ], 'FilterCount' => [ 'type' => 'integer', ], 'FilterLogEventsRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamNames' => [ 'shape' => 'InputLogStreamNames', ], 'logStreamNamePrefix' => [ 'shape' => 'LogStreamName', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'EventsLimit', ], 'interleaved' => [ 'shape' => 'Interleaved', ], ], ], 'FilterLogEventsResponse' => [ 'type' => 'structure', 'members' => [ 'events' => [ 'shape' => 'FilteredLogEvents', ], 'searchedLogStreams' => [ 'shape' => 'SearchedLogStreams', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'FilterName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[^:*]*', ], 'FilterPattern' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'FilteredLogEvent' => [ 'type' => 'structure', 'members' => [ 'logStreamName' => [ 'shape' => 'LogStreamName', ], 'timestamp' => [ 'shape' => 'Timestamp', ], 'message' => [ 'shape' => 'EventMessage', ], 'ingestionTime' => [ 'shape' => 'Timestamp', ], 'eventId' => [ 'shape' => 'EventId', ], ], ], 'FilteredLogEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilteredLogEvent', ], ], 'GetLogEventsRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'logStreamName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamName' => [ 'shape' => 'LogStreamName', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'limit' => [ 'shape' => 'EventsLimit', ], 'startFromHead' => [ 'shape' => 'StartFromHead', ], ], ], 'GetLogEventsResponse' => [ 'type' => 'structure', 'members' => [ 'events' => [ 'shape' => 'OutputLogEvents', ], 'nextForwardToken' => [ 'shape' => 'NextToken', ], 'nextBackwardToken' => [ 'shape' => 'NextToken', ], ], ], 'GetLogGroupFieldsRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'time' => [ 'shape' => 'Timestamp', ], ], ], 'GetLogGroupFieldsResponse' => [ 'type' => 'structure', 'members' => [ 'logGroupFields' => [ 'shape' => 'LogGroupFieldList', ], ], ], 'GetLogRecordRequest' => [ 'type' => 'structure', 'required' => [ 'logRecordPointer', ], 'members' => [ 'logRecordPointer' => [ 'shape' => 'LogRecordPointer', ], ], ], 'GetLogRecordResponse' => [ 'type' => 'structure', 'members' => [ 'logRecord' => [ 'shape' => 'LogRecord', ], ], ], 'GetQueryResultsRequest' => [ 'type' => 'structure', 'required' => [ 'queryId', ], 'members' => [ 'queryId' => [ 'shape' => 'QueryId', ], ], ], 'GetQueryResultsResponse' => [ 'type' => 'structure', 'members' => [ 'results' => [ 'shape' => 'QueryResults', ], 'statistics' => [ 'shape' => 'QueryStatistics', ], 'status' => [ 'shape' => 'QueryStatus', ], ], ], 'InputLogEvent' => [ 'type' => 'structure', 'required' => [ 'timestamp', 'message', ], 'members' => [ 'timestamp' => [ 'shape' => 'Timestamp', ], 'message' => [ 'shape' => 'EventMessage', ], ], ], 'InputLogEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputLogEvent', ], 'max' => 10000, 'min' => 1, ], 'InputLogStreamNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogStreamName', ], 'max' => 100, 'min' => 1, ], 'Interleaved' => [ 'type' => 'boolean', ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidSequenceTokenException' => [ 'type' => 'structure', 'members' => [ 'expectedSequenceToken' => [ 'shape' => 'SequenceToken', ], ], 'exception' => true, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 256, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListTagsLogGroupRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'ListTagsLogGroupResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'Tags', ], ], ], 'LogEventIndex' => [ 'type' => 'integer', ], 'LogGroup' => [ 'type' => 'structure', 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'retentionInDays' => [ 'shape' => 'Days', ], 'metricFilterCount' => [ 'shape' => 'FilterCount', ], 'arn' => [ 'shape' => 'Arn', ], 'storedBytes' => [ 'shape' => 'StoredBytes', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'LogGroupField' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Field', ], 'percent' => [ 'shape' => 'Percentage', ], ], ], 'LogGroupFieldList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogGroupField', ], ], 'LogGroupName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[\\.\\-_/#A-Za-z0-9]+', ], 'LogGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogGroup', ], ], 'LogRecord' => [ 'type' => 'map', 'key' => [ 'shape' => 'Field', ], 'value' => [ 'shape' => 'Value', ], ], 'LogRecordPointer' => [ 'type' => 'string', ], 'LogStream' => [ 'type' => 'structure', 'members' => [ 'logStreamName' => [ 'shape' => 'LogStreamName', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'firstEventTimestamp' => [ 'shape' => 'Timestamp', ], 'lastEventTimestamp' => [ 'shape' => 'Timestamp', ], 'lastIngestionTime' => [ 'shape' => 'Timestamp', ], 'uploadSequenceToken' => [ 'shape' => 'SequenceToken', ], 'arn' => [ 'shape' => 'Arn', ], 'storedBytes' => [ 'shape' => 'StoredBytes', ], ], ], 'LogStreamName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[^:*]*', ], 'LogStreamSearchedCompletely' => [ 'type' => 'boolean', ], 'LogStreams' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogStream', ], ], 'MalformedQueryException' => [ 'type' => 'structure', 'members' => [ 'queryCompileError' => [ 'shape' => 'QueryCompileError', ], ], 'exception' => true, ], 'Message' => [ 'type' => 'string', ], 'MetricFilter' => [ 'type' => 'structure', 'members' => [ 'filterName' => [ 'shape' => 'FilterName', ], 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'metricTransformations' => [ 'shape' => 'MetricTransformations', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'MetricFilterMatchRecord' => [ 'type' => 'structure', 'members' => [ 'eventNumber' => [ 'shape' => 'EventNumber', ], 'eventMessage' => [ 'shape' => 'EventMessage', ], 'extractedValues' => [ 'shape' => 'ExtractedValues', ], ], ], 'MetricFilterMatches' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricFilterMatchRecord', ], ], 'MetricFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricFilter', ], ], 'MetricName' => [ 'type' => 'string', 'max' => 255, 'pattern' => '[^:*$]*', ], 'MetricNamespace' => [ 'type' => 'string', 'max' => 255, 'pattern' => '[^:*$]*', ], 'MetricTransformation' => [ 'type' => 'structure', 'required' => [ 'metricName', 'metricNamespace', 'metricValue', ], 'members' => [ 'metricName' => [ 'shape' => 'MetricName', ], 'metricNamespace' => [ 'shape' => 'MetricNamespace', ], 'metricValue' => [ 'shape' => 'MetricValue', ], 'defaultValue' => [ 'shape' => 'DefaultValue', ], ], ], 'MetricTransformations' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricTransformation', ], 'max' => 1, 'min' => 1, ], 'MetricValue' => [ 'type' => 'string', 'max' => 100, ], 'NextToken' => [ 'type' => 'string', 'min' => 1, ], 'OperationAbortedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrderBy' => [ 'type' => 'string', 'enum' => [ 'LogStreamName', 'LastEventTime', ], ], 'OutputLogEvent' => [ 'type' => 'structure', 'members' => [ 'timestamp' => [ 'shape' => 'Timestamp', ], 'message' => [ 'shape' => 'EventMessage', ], 'ingestionTime' => [ 'shape' => 'Timestamp', ], ], ], 'OutputLogEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputLogEvent', ], ], 'Percentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'PolicyDocument' => [ 'type' => 'string', 'max' => 5120, 'min' => 1, ], 'PolicyName' => [ 'type' => 'string', ], 'PutDestinationPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'destinationName', 'accessPolicy', ], 'members' => [ 'destinationName' => [ 'shape' => 'DestinationName', ], 'accessPolicy' => [ 'shape' => 'AccessPolicy', ], ], ], 'PutDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'destinationName', 'targetArn', 'roleArn', ], 'members' => [ 'destinationName' => [ 'shape' => 'DestinationName', ], 'targetArn' => [ 'shape' => 'TargetArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], ], ], 'PutDestinationResponse' => [ 'type' => 'structure', 'members' => [ 'destination' => [ 'shape' => 'Destination', ], ], ], 'PutLogEventsRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'logStreamName', 'logEvents', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'logStreamName' => [ 'shape' => 'LogStreamName', ], 'logEvents' => [ 'shape' => 'InputLogEvents', ], 'sequenceToken' => [ 'shape' => 'SequenceToken', ], ], ], 'PutLogEventsResponse' => [ 'type' => 'structure', 'members' => [ 'nextSequenceToken' => [ 'shape' => 'SequenceToken', ], 'rejectedLogEventsInfo' => [ 'shape' => 'RejectedLogEventsInfo', ], ], ], 'PutMetricFilterRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'filterName', 'filterPattern', 'metricTransformations', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterName' => [ 'shape' => 'FilterName', ], 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'metricTransformations' => [ 'shape' => 'MetricTransformations', ], ], ], 'PutResourcePolicyRequest' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], ], ], 'PutResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'resourcePolicy' => [ 'shape' => 'ResourcePolicy', ], ], ], 'PutRetentionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'retentionInDays', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'retentionInDays' => [ 'shape' => 'Days', ], ], ], 'PutSubscriptionFilterRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'filterName', 'filterPattern', 'destinationArn', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterName' => [ 'shape' => 'FilterName', ], 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'destinationArn' => [ 'shape' => 'DestinationArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'distribution' => [ 'shape' => 'Distribution', ], ], ], 'QueryCharOffset' => [ 'type' => 'integer', ], 'QueryCompileError' => [ 'type' => 'structure', 'members' => [ 'location' => [ 'shape' => 'QueryCompileErrorLocation', ], 'message' => [ 'shape' => 'Message', ], ], ], 'QueryCompileErrorLocation' => [ 'type' => 'structure', 'members' => [ 'startCharOffset' => [ 'shape' => 'QueryCharOffset', ], 'endCharOffset' => [ 'shape' => 'QueryCharOffset', ], ], ], 'QueryId' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'QueryInfo' => [ 'type' => 'structure', 'members' => [ 'queryId' => [ 'shape' => 'QueryId', ], 'queryString' => [ 'shape' => 'QueryString', ], 'status' => [ 'shape' => 'QueryStatus', ], 'createTime' => [ 'shape' => 'Timestamp', ], 'logGroupName' => [ 'shape' => 'LogGroupName', ], ], ], 'QueryInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryInfo', ], ], 'QueryResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResultRows', ], ], 'QueryStatistics' => [ 'type' => 'structure', 'members' => [ 'recordsMatched' => [ 'shape' => 'StatsValue', ], 'recordsScanned' => [ 'shape' => 'StatsValue', ], 'bytesScanned' => [ 'shape' => 'StatsValue', ], ], ], 'QueryStatus' => [ 'type' => 'string', 'enum' => [ 'Scheduled', 'Running', 'Complete', 'Failed', 'Cancelled', ], ], 'QueryString' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'RejectedLogEventsInfo' => [ 'type' => 'structure', 'members' => [ 'tooNewLogEventStartIndex' => [ 'shape' => 'LogEventIndex', ], 'tooOldLogEventEndIndex' => [ 'shape' => 'LogEventIndex', ], 'expiredLogEventEndIndex' => [ 'shape' => 'LogEventIndex', ], ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourcePolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePolicy', ], ], 'ResourcePolicy' => [ 'type' => 'structure', 'members' => [ 'policyName' => [ 'shape' => 'PolicyName', ], 'policyDocument' => [ 'shape' => 'PolicyDocument', ], 'lastUpdatedTime' => [ 'shape' => 'Timestamp', ], ], ], 'ResultField' => [ 'type' => 'structure', 'members' => [ 'field' => [ 'shape' => 'Field', ], 'value' => [ 'shape' => 'Value', ], ], ], 'ResultRows' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResultField', ], ], 'RoleArn' => [ 'type' => 'string', 'min' => 1, ], 'SearchedLogStream' => [ 'type' => 'structure', 'members' => [ 'logStreamName' => [ 'shape' => 'LogStreamName', ], 'searchedCompletely' => [ 'shape' => 'LogStreamSearchedCompletely', ], ], ], 'SearchedLogStreams' => [ 'type' => 'list', 'member' => [ 'shape' => 'SearchedLogStream', ], ], 'SequenceToken' => [ 'type' => 'string', 'min' => 1, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'StartFromHead' => [ 'type' => 'boolean', ], 'StartQueryRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'startTime', 'endTime', 'queryString', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'startTime' => [ 'shape' => 'Timestamp', ], 'endTime' => [ 'shape' => 'Timestamp', ], 'queryString' => [ 'shape' => 'QueryString', ], 'limit' => [ 'shape' => 'EventsLimit', ], ], ], 'StartQueryResponse' => [ 'type' => 'structure', 'members' => [ 'queryId' => [ 'shape' => 'QueryId', ], ], ], 'StatsValue' => [ 'type' => 'double', ], 'StopQueryRequest' => [ 'type' => 'structure', 'required' => [ 'queryId', ], 'members' => [ 'queryId' => [ 'shape' => 'QueryId', ], ], ], 'StopQueryResponse' => [ 'type' => 'structure', 'members' => [ 'success' => [ 'shape' => 'Success', ], ], ], 'StoredBytes' => [ 'type' => 'long', 'min' => 0, ], 'SubscriptionFilter' => [ 'type' => 'structure', 'members' => [ 'filterName' => [ 'shape' => 'FilterName', ], 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'destinationArn' => [ 'shape' => 'DestinationArn', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'distribution' => [ 'shape' => 'Distribution', ], 'creationTime' => [ 'shape' => 'Timestamp', ], ], ], 'SubscriptionFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubscriptionFilter', ], ], 'Success' => [ 'type' => 'boolean', ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'min' => 1, ], 'TagLogGroupRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'tags', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'TargetArn' => [ 'type' => 'string', 'min' => 1, ], 'TestEventMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventMessage', ], 'max' => 50, 'min' => 1, ], 'TestMetricFilterRequest' => [ 'type' => 'structure', 'required' => [ 'filterPattern', 'logEventMessages', ], 'members' => [ 'filterPattern' => [ 'shape' => 'FilterPattern', ], 'logEventMessages' => [ 'shape' => 'TestEventMessages', ], ], ], 'TestMetricFilterResponse' => [ 'type' => 'structure', 'members' => [ 'matches' => [ 'shape' => 'MetricFilterMatches', ], ], ], 'Timestamp' => [ 'type' => 'long', 'min' => 0, ], 'Token' => [ 'type' => 'string', ], 'UnrecognizedClientException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'UntagLogGroupRequest' => [ 'type' => 'structure', 'required' => [ 'logGroupName', 'tags', ], 'members' => [ 'logGroupName' => [ 'shape' => 'LogGroupName', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'Value' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/logs/2014-03-28/paginators-1.json.php b/lib/aws/Aws/data/logs/2014-03-28/paginators-1.json.php new file mode 100644 index 0000000..a89dd3b --- /dev/null +++ b/lib/aws/Aws/data/logs/2014-03-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/logs/2014-03-28/paginators-1.json +return [ 'pagination' => [ 'DescribeDestinations' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'destinations', ], 'DescribeLogGroups' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'logGroups', ], 'DescribeLogStreams' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'logStreams', ], 'DescribeMetricFilters' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'metricFilters', ], 'DescribeSubscriptionFilters' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => 'subscriptionFilters', ], 'FilterLogEvents' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextToken', 'result_key' => [ 'events', 'searchedLogStreams', ], ], 'GetLogEvents' => [ 'input_token' => 'nextToken', 'limit_key' => 'limit', 'output_token' => 'nextForwardToken', 'result_key' => 'events', ], ],]; diff --git a/lib/aws/Aws/data/logs/2014-03-28/smoke.json.php b/lib/aws/Aws/data/logs/2014-03-28/smoke.json.php new file mode 100644 index 0000000..54cc442 --- /dev/null +++ b/lib/aws/Aws/data/logs/2014-03-28/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/logs/2014-03-28/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeLogGroups', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetLogEvents', 'input' => [ 'logGroupName' => 'fakegroup', 'logStreamName' => 'fakestream', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/machinelearning/2014-12-12/api-2.json.php b/lib/aws/Aws/data/machinelearning/2014-12-12/api-2.json.php new file mode 100644 index 0000000..9ea6439 --- /dev/null +++ b/lib/aws/Aws/data/machinelearning/2014-12-12/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/machinelearning/2014-12-12/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'machinelearning-2014-12-12', 'apiVersion' => '2014-12-12', 'endpointPrefix' => 'machinelearning', 'jsonVersion' => '1.1', 'serviceFullName' => 'Amazon Machine Learning', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonML_20141212', 'protocol' => 'json', ], 'operations' => [ 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidTagException', 'exception' => true, ], [ 'shape' => 'TagLimitExceededException', 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'CreateBatchPrediction' => [ 'name' => 'CreateBatchPrediction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBatchPredictionInput', ], 'output' => [ 'shape' => 'CreateBatchPredictionOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateDataSourceFromRDS' => [ 'name' => 'CreateDataSourceFromRDS', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDataSourceFromRDSInput', ], 'output' => [ 'shape' => 'CreateDataSourceFromRDSOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateDataSourceFromRedshift' => [ 'name' => 'CreateDataSourceFromRedshift', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDataSourceFromRedshiftInput', ], 'output' => [ 'shape' => 'CreateDataSourceFromRedshiftOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateDataSourceFromS3' => [ 'name' => 'CreateDataSourceFromS3', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDataSourceFromS3Input', ], 'output' => [ 'shape' => 'CreateDataSourceFromS3Output', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateEvaluation' => [ 'name' => 'CreateEvaluation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEvaluationInput', ], 'output' => [ 'shape' => 'CreateEvaluationOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateMLModel' => [ 'name' => 'CreateMLModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateMLModelInput', ], 'output' => [ 'shape' => 'CreateMLModelOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'IdempotentParameterMismatchException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'CreateRealtimeEndpoint' => [ 'name' => 'CreateRealtimeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRealtimeEndpointInput', ], 'output' => [ 'shape' => 'CreateRealtimeEndpointOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteBatchPrediction' => [ 'name' => 'DeleteBatchPrediction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBatchPredictionInput', ], 'output' => [ 'shape' => 'DeleteBatchPredictionOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteDataSource' => [ 'name' => 'DeleteDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDataSourceInput', ], 'output' => [ 'shape' => 'DeleteDataSourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteEvaluation' => [ 'name' => 'DeleteEvaluation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEvaluationInput', ], 'output' => [ 'shape' => 'DeleteEvaluationOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteMLModel' => [ 'name' => 'DeleteMLModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMLModelInput', ], 'output' => [ 'shape' => 'DeleteMLModelOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteRealtimeEndpoint' => [ 'name' => 'DeleteRealtimeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRealtimeEndpointInput', ], 'output' => [ 'shape' => 'DeleteRealtimeEndpointOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsInput', ], 'output' => [ 'shape' => 'DeleteTagsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InvalidTagException', 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DescribeBatchPredictions' => [ 'name' => 'DescribeBatchPredictions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBatchPredictionsInput', ], 'output' => [ 'shape' => 'DescribeBatchPredictionsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DescribeDataSources' => [ 'name' => 'DescribeDataSources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDataSourcesInput', ], 'output' => [ 'shape' => 'DescribeDataSourcesOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DescribeEvaluations' => [ 'name' => 'DescribeEvaluations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEvaluationsInput', ], 'output' => [ 'shape' => 'DescribeEvaluationsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DescribeMLModels' => [ 'name' => 'DescribeMLModels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMLModelsInput', ], 'output' => [ 'shape' => 'DescribeMLModelsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsInput', ], 'output' => [ 'shape' => 'DescribeTagsOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'GetBatchPrediction' => [ 'name' => 'GetBatchPrediction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetBatchPredictionInput', ], 'output' => [ 'shape' => 'GetBatchPredictionOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'GetDataSource' => [ 'name' => 'GetDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDataSourceInput', ], 'output' => [ 'shape' => 'GetDataSourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'GetEvaluation' => [ 'name' => 'GetEvaluation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetEvaluationInput', ], 'output' => [ 'shape' => 'GetEvaluationOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'GetMLModel' => [ 'name' => 'GetMLModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMLModelInput', ], 'output' => [ 'shape' => 'GetMLModelOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'Predict' => [ 'name' => 'Predict', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PredictInput', ], 'output' => [ 'shape' => 'PredictOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'LimitExceededException', 'error' => [ 'httpStatusCode' => 417, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], [ 'shape' => 'PredictorNotMountedException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ], ], 'UpdateBatchPrediction' => [ 'name' => 'UpdateBatchPrediction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBatchPredictionInput', ], 'output' => [ 'shape' => 'UpdateBatchPredictionOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'UpdateDataSource' => [ 'name' => 'UpdateDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDataSourceInput', ], 'output' => [ 'shape' => 'UpdateDataSourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'UpdateEvaluation' => [ 'name' => 'UpdateEvaluation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEvaluationInput', ], 'output' => [ 'shape' => 'UpdateEvaluationOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], 'UpdateMLModel' => [ 'name' => 'UpdateMLModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMLModelInput', ], 'output' => [ 'shape' => 'UpdateMLModelOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], [ 'shape' => 'ResourceNotFoundException', 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], [ 'shape' => 'InternalServerException', 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], ], ], ], 'shapes' => [ 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'Tags', 'ResourceId', 'ResourceType', ], 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], ], ], 'Algorithm' => [ 'type' => 'string', 'enum' => [ 'sgd', ], ], 'AwsUserArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:iam::[0-9]+:((user/.+)|(root))', ], 'BatchPrediction' => [ 'type' => 'structure', 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'BatchPredictionDataSourceId' => [ 'shape' => 'EntityId', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'OutputUri' => [ 'shape' => 'S3Url', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], 'TotalRecordCount' => [ 'shape' => 'LongType', ], 'InvalidRecordCount' => [ 'shape' => 'LongType', ], ], ], 'BatchPredictionFilterVariable' => [ 'type' => 'string', 'enum' => [ 'CreatedAt', 'LastUpdatedAt', 'Status', 'Name', 'IAMUser', 'MLModelId', 'DataSourceId', 'DataURI', ], ], 'BatchPredictions' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchPrediction', ], ], 'ComparatorValue' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '.*\\S.*|^$', ], 'ComputeStatistics' => [ 'type' => 'boolean', ], 'CreateBatchPredictionInput' => [ 'type' => 'structure', 'required' => [ 'BatchPredictionId', 'MLModelId', 'BatchPredictionDataSourceId', 'OutputUri', ], 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], 'BatchPredictionName' => [ 'shape' => 'EntityName', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'BatchPredictionDataSourceId' => [ 'shape' => 'EntityId', ], 'OutputUri' => [ 'shape' => 'S3Url', ], ], ], 'CreateBatchPredictionOutput' => [ 'type' => 'structure', 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], ], ], 'CreateDataSourceFromRDSInput' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', 'RDSData', 'RoleARN', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataSourceName' => [ 'shape' => 'EntityName', ], 'RDSData' => [ 'shape' => 'RDSDataSpec', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ComputeStatistics' => [ 'shape' => 'ComputeStatistics', ], ], ], 'CreateDataSourceFromRDSOutput' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'CreateDataSourceFromRedshiftInput' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', 'DataSpec', 'RoleARN', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataSourceName' => [ 'shape' => 'EntityName', ], 'DataSpec' => [ 'shape' => 'RedshiftDataSpec', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ComputeStatistics' => [ 'shape' => 'ComputeStatistics', ], ], ], 'CreateDataSourceFromRedshiftOutput' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'CreateDataSourceFromS3Input' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', 'DataSpec', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataSourceName' => [ 'shape' => 'EntityName', ], 'DataSpec' => [ 'shape' => 'S3DataSpec', ], 'ComputeStatistics' => [ 'shape' => 'ComputeStatistics', ], ], ], 'CreateDataSourceFromS3Output' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'CreateEvaluationInput' => [ 'type' => 'structure', 'required' => [ 'EvaluationId', 'MLModelId', 'EvaluationDataSourceId', ], 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], 'EvaluationName' => [ 'shape' => 'EntityName', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'EvaluationDataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'CreateEvaluationOutput' => [ 'type' => 'structure', 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], ], ], 'CreateMLModelInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', 'MLModelType', 'TrainingDataSourceId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'MLModelName' => [ 'shape' => 'EntityName', ], 'MLModelType' => [ 'shape' => 'MLModelType', ], 'Parameters' => [ 'shape' => 'TrainingParameters', ], 'TrainingDataSourceId' => [ 'shape' => 'EntityId', ], 'Recipe' => [ 'shape' => 'Recipe', ], 'RecipeUri' => [ 'shape' => 'S3Url', ], ], ], 'CreateMLModelOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'CreateRealtimeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'CreateRealtimeEndpointOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'RealtimeEndpointInfo' => [ 'shape' => 'RealtimeEndpointInfo', ], ], ], 'DataRearrangement' => [ 'type' => 'string', ], 'DataSchema' => [ 'type' => 'string', 'max' => 131071, ], 'DataSource' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataLocationS3' => [ 'shape' => 'S3Url', ], 'DataRearrangement' => [ 'shape' => 'DataRearrangement', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'DataSizeInBytes' => [ 'shape' => 'LongType', ], 'NumberOfFiles' => [ 'shape' => 'LongType', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'Message' => [ 'shape' => 'Message', ], 'RedshiftMetadata' => [ 'shape' => 'RedshiftMetadata', ], 'RDSMetadata' => [ 'shape' => 'RDSMetadata', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ComputeStatistics' => [ 'shape' => 'ComputeStatistics', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], ], ], 'DataSourceFilterVariable' => [ 'type' => 'string', 'enum' => [ 'CreatedAt', 'LastUpdatedAt', 'Status', 'Name', 'DataLocationS3', 'IAMUser', ], ], 'DataSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataSource', ], ], 'DeleteBatchPredictionInput' => [ 'type' => 'structure', 'required' => [ 'BatchPredictionId', ], 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteBatchPredictionOutput' => [ 'type' => 'structure', 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteDataSourceInput' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteDataSourceOutput' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteEvaluationInput' => [ 'type' => 'structure', 'required' => [ 'EvaluationId', ], 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteEvaluationOutput' => [ 'type' => 'structure', 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteMLModelInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteMLModelOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteRealtimeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteRealtimeEndpointOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'RealtimeEndpointInfo' => [ 'shape' => 'RealtimeEndpointInfo', ], ], ], 'DeleteTagsInput' => [ 'type' => 'structure', 'required' => [ 'TagKeys', 'ResourceId', 'ResourceType', ], 'members' => [ 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], ], ], 'DeleteTagsOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], ], ], 'DescribeBatchPredictionsInput' => [ 'type' => 'structure', 'members' => [ 'FilterVariable' => [ 'shape' => 'BatchPredictionFilterVariable', ], 'EQ' => [ 'shape' => 'ComparatorValue', ], 'GT' => [ 'shape' => 'ComparatorValue', ], 'LT' => [ 'shape' => 'ComparatorValue', ], 'GE' => [ 'shape' => 'ComparatorValue', ], 'LE' => [ 'shape' => 'ComparatorValue', ], 'NE' => [ 'shape' => 'ComparatorValue', ], 'Prefix' => [ 'shape' => 'ComparatorValue', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NextToken' => [ 'shape' => 'StringType', ], 'Limit' => [ 'shape' => 'PageLimit', ], ], ], 'DescribeBatchPredictionsOutput' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'BatchPredictions', ], 'NextToken' => [ 'shape' => 'StringType', ], ], ], 'DescribeDataSourcesInput' => [ 'type' => 'structure', 'members' => [ 'FilterVariable' => [ 'shape' => 'DataSourceFilterVariable', ], 'EQ' => [ 'shape' => 'ComparatorValue', ], 'GT' => [ 'shape' => 'ComparatorValue', ], 'LT' => [ 'shape' => 'ComparatorValue', ], 'GE' => [ 'shape' => 'ComparatorValue', ], 'LE' => [ 'shape' => 'ComparatorValue', ], 'NE' => [ 'shape' => 'ComparatorValue', ], 'Prefix' => [ 'shape' => 'ComparatorValue', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NextToken' => [ 'shape' => 'StringType', ], 'Limit' => [ 'shape' => 'PageLimit', ], ], ], 'DescribeDataSourcesOutput' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'DataSources', ], 'NextToken' => [ 'shape' => 'StringType', ], ], ], 'DescribeEvaluationsInput' => [ 'type' => 'structure', 'members' => [ 'FilterVariable' => [ 'shape' => 'EvaluationFilterVariable', ], 'EQ' => [ 'shape' => 'ComparatorValue', ], 'GT' => [ 'shape' => 'ComparatorValue', ], 'LT' => [ 'shape' => 'ComparatorValue', ], 'GE' => [ 'shape' => 'ComparatorValue', ], 'LE' => [ 'shape' => 'ComparatorValue', ], 'NE' => [ 'shape' => 'ComparatorValue', ], 'Prefix' => [ 'shape' => 'ComparatorValue', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NextToken' => [ 'shape' => 'StringType', ], 'Limit' => [ 'shape' => 'PageLimit', ], ], ], 'DescribeEvaluationsOutput' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'Evaluations', ], 'NextToken' => [ 'shape' => 'StringType', ], ], ], 'DescribeMLModelsInput' => [ 'type' => 'structure', 'members' => [ 'FilterVariable' => [ 'shape' => 'MLModelFilterVariable', ], 'EQ' => [ 'shape' => 'ComparatorValue', ], 'GT' => [ 'shape' => 'ComparatorValue', ], 'LT' => [ 'shape' => 'ComparatorValue', ], 'GE' => [ 'shape' => 'ComparatorValue', ], 'LE' => [ 'shape' => 'ComparatorValue', ], 'NE' => [ 'shape' => 'ComparatorValue', ], 'Prefix' => [ 'shape' => 'ComparatorValue', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NextToken' => [ 'shape' => 'StringType', ], 'Limit' => [ 'shape' => 'PageLimit', ], ], ], 'DescribeMLModelsOutput' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'MLModels', ], 'NextToken' => [ 'shape' => 'StringType', ], ], ], 'DescribeTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'ResourceType', ], 'members' => [ 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], ], ], 'DescribeTagsOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'EntityId', ], 'ResourceType' => [ 'shape' => 'TaggableResourceType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'DetailsAttributes' => [ 'type' => 'string', 'enum' => [ 'PredictiveModelType', 'Algorithm', ], ], 'DetailsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DetailsAttributes', ], 'value' => [ 'shape' => 'DetailsValue', ], ], 'DetailsValue' => [ 'type' => 'string', 'min' => 1, ], 'EDPPipelineId' => [ 'type' => 'string', 'min' => 1, 'max' => 1024, ], 'EDPResourceRole' => [ 'type' => 'string', 'min' => 1, 'max' => 64, ], 'EDPSecurityGroupId' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], 'EDPSecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'EDPSecurityGroupId', ], ], 'EDPServiceRole' => [ 'type' => 'string', 'min' => 1, 'max' => 64, ], 'EDPSubnetId' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], 'EntityId' => [ 'type' => 'string', 'min' => 1, 'max' => 64, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'EntityName' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '.*\\S.*|^$', ], 'EntityStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'INPROGRESS', 'FAILED', 'COMPLETED', 'DELETED', ], ], 'EpochTime' => [ 'type' => 'timestamp', ], 'ErrorCode' => [ 'type' => 'integer', ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 2048, ], 'Evaluation' => [ 'type' => 'structure', 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'EvaluationDataSourceId' => [ 'shape' => 'EntityId', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'PerformanceMetrics' => [ 'shape' => 'PerformanceMetrics', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], ], ], 'EvaluationFilterVariable' => [ 'type' => 'string', 'enum' => [ 'CreatedAt', 'LastUpdatedAt', 'Status', 'Name', 'IAMUser', 'MLModelId', 'DataSourceId', 'DataURI', ], ], 'Evaluations' => [ 'type' => 'list', 'member' => [ 'shape' => 'Evaluation', ], ], 'GetBatchPredictionInput' => [ 'type' => 'structure', 'required' => [ 'BatchPredictionId', ], 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], ], ], 'GetBatchPredictionOutput' => [ 'type' => 'structure', 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'BatchPredictionDataSourceId' => [ 'shape' => 'EntityId', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'OutputUri' => [ 'shape' => 'S3Url', ], 'LogUri' => [ 'shape' => 'PresignedS3Url', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], 'TotalRecordCount' => [ 'shape' => 'LongType', ], 'InvalidRecordCount' => [ 'shape' => 'LongType', ], ], ], 'GetDataSourceInput' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'Verbose' => [ 'shape' => 'Verbose', ], ], ], 'GetDataSourceOutput' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataLocationS3' => [ 'shape' => 'S3Url', ], 'DataRearrangement' => [ 'shape' => 'DataRearrangement', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'DataSizeInBytes' => [ 'shape' => 'LongType', ], 'NumberOfFiles' => [ 'shape' => 'LongType', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'LogUri' => [ 'shape' => 'PresignedS3Url', ], 'Message' => [ 'shape' => 'Message', ], 'RedshiftMetadata' => [ 'shape' => 'RedshiftMetadata', ], 'RDSMetadata' => [ 'shape' => 'RDSMetadata', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ComputeStatistics' => [ 'shape' => 'ComputeStatistics', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], 'DataSourceSchema' => [ 'shape' => 'DataSchema', ], ], ], 'GetEvaluationInput' => [ 'type' => 'structure', 'required' => [ 'EvaluationId', ], 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], ], ], 'GetEvaluationOutput' => [ 'type' => 'structure', 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], 'MLModelId' => [ 'shape' => 'EntityId', ], 'EvaluationDataSourceId' => [ 'shape' => 'EntityId', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'PerformanceMetrics' => [ 'shape' => 'PerformanceMetrics', ], 'LogUri' => [ 'shape' => 'PresignedS3Url', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], ], ], 'GetMLModelInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'Verbose' => [ 'shape' => 'Verbose', ], ], ], 'GetMLModelOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'TrainingDataSourceId' => [ 'shape' => 'EntityId', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'MLModelName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'SizeInBytes' => [ 'shape' => 'LongType', ], 'EndpointInfo' => [ 'shape' => 'RealtimeEndpointInfo', ], 'TrainingParameters' => [ 'shape' => 'TrainingParameters', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'MLModelType' => [ 'shape' => 'MLModelType', ], 'ScoreThreshold' => [ 'shape' => 'ScoreThreshold', ], 'ScoreThresholdLastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'LogUri' => [ 'shape' => 'PresignedS3Url', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], 'Recipe' => [ 'shape' => 'Recipe', ], 'Schema' => [ 'shape' => 'DataSchema', ], ], ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'IntegerType' => [ 'type' => 'integer', ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTagException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Label' => [ 'type' => 'string', 'min' => 1, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 417, ], 'exception' => true, ], 'LongType' => [ 'type' => 'long', ], 'MLModel' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'TrainingDataSourceId' => [ 'shape' => 'EntityId', ], 'CreatedByIamUser' => [ 'shape' => 'AwsUserArn', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'LastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Name' => [ 'shape' => 'MLModelName', ], 'Status' => [ 'shape' => 'EntityStatus', ], 'SizeInBytes' => [ 'shape' => 'LongType', ], 'EndpointInfo' => [ 'shape' => 'RealtimeEndpointInfo', ], 'TrainingParameters' => [ 'shape' => 'TrainingParameters', ], 'InputDataLocationS3' => [ 'shape' => 'S3Url', ], 'Algorithm' => [ 'shape' => 'Algorithm', ], 'MLModelType' => [ 'shape' => 'MLModelType', ], 'ScoreThreshold' => [ 'shape' => 'ScoreThreshold', ], 'ScoreThresholdLastUpdatedAt' => [ 'shape' => 'EpochTime', ], 'Message' => [ 'shape' => 'Message', ], 'ComputeTime' => [ 'shape' => 'LongType', ], 'FinishedAt' => [ 'shape' => 'EpochTime', ], 'StartedAt' => [ 'shape' => 'EpochTime', ], ], ], 'MLModelFilterVariable' => [ 'type' => 'string', 'enum' => [ 'CreatedAt', 'LastUpdatedAt', 'Status', 'Name', 'IAMUser', 'TrainingDataSourceId', 'RealtimeEndpointStatus', 'MLModelType', 'Algorithm', 'TrainingDataURI', ], ], 'MLModelName' => [ 'type' => 'string', 'max' => 1024, ], 'MLModelType' => [ 'type' => 'string', 'enum' => [ 'REGRESSION', 'BINARY', 'MULTICLASS', ], ], 'MLModels' => [ 'type' => 'list', 'member' => [ 'shape' => 'MLModel', ], ], 'Message' => [ 'type' => 'string', 'max' => 10240, ], 'PageLimit' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], 'PerformanceMetrics' => [ 'type' => 'structure', 'members' => [ 'Properties' => [ 'shape' => 'PerformanceMetricsProperties', ], ], ], 'PerformanceMetricsProperties' => [ 'type' => 'map', 'key' => [ 'shape' => 'PerformanceMetricsPropertyKey', ], 'value' => [ 'shape' => 'PerformanceMetricsPropertyValue', ], ], 'PerformanceMetricsPropertyKey' => [ 'type' => 'string', ], 'PerformanceMetricsPropertyValue' => [ 'type' => 'string', ], 'PredictInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', 'Record', 'PredictEndpoint', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'Record' => [ 'shape' => 'Record', ], 'PredictEndpoint' => [ 'shape' => 'VipURL', ], ], ], 'PredictOutput' => [ 'type' => 'structure', 'members' => [ 'Prediction' => [ 'shape' => 'Prediction', ], ], ], 'Prediction' => [ 'type' => 'structure', 'members' => [ 'predictedLabel' => [ 'shape' => 'Label', ], 'predictedValue' => [ 'shape' => 'floatLabel', ], 'predictedScores' => [ 'shape' => 'ScoreValuePerLabelMap', ], 'details' => [ 'shape' => 'DetailsMap', ], ], ], 'PredictorNotMountedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'PresignedS3Url' => [ 'type' => 'string', ], 'RDSDataSpec' => [ 'type' => 'structure', 'required' => [ 'DatabaseInformation', 'SelectSqlQuery', 'DatabaseCredentials', 'S3StagingLocation', 'ResourceRole', 'ServiceRole', 'SubnetId', 'SecurityGroupIds', ], 'members' => [ 'DatabaseInformation' => [ 'shape' => 'RDSDatabase', ], 'SelectSqlQuery' => [ 'shape' => 'RDSSelectSqlQuery', ], 'DatabaseCredentials' => [ 'shape' => 'RDSDatabaseCredentials', ], 'S3StagingLocation' => [ 'shape' => 'S3Url', ], 'DataRearrangement' => [ 'shape' => 'DataRearrangement', ], 'DataSchema' => [ 'shape' => 'DataSchema', ], 'DataSchemaUri' => [ 'shape' => 'S3Url', ], 'ResourceRole' => [ 'shape' => 'EDPResourceRole', ], 'ServiceRole' => [ 'shape' => 'EDPServiceRole', ], 'SubnetId' => [ 'shape' => 'EDPSubnetId', ], 'SecurityGroupIds' => [ 'shape' => 'EDPSecurityGroupIds', ], ], ], 'RDSDatabase' => [ 'type' => 'structure', 'required' => [ 'InstanceIdentifier', 'DatabaseName', ], 'members' => [ 'InstanceIdentifier' => [ 'shape' => 'RDSInstanceIdentifier', ], 'DatabaseName' => [ 'shape' => 'RDSDatabaseName', ], ], ], 'RDSDatabaseCredentials' => [ 'type' => 'structure', 'required' => [ 'Username', 'Password', ], 'members' => [ 'Username' => [ 'shape' => 'RDSDatabaseUsername', ], 'Password' => [ 'shape' => 'RDSDatabasePassword', ], ], ], 'RDSDatabaseName' => [ 'type' => 'string', 'min' => 1, 'max' => 64, ], 'RDSDatabasePassword' => [ 'type' => 'string', 'min' => 8, 'max' => 128, ], 'RDSDatabaseUsername' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], 'RDSInstanceIdentifier' => [ 'type' => 'string', 'min' => 1, 'max' => 63, 'pattern' => '[a-z0-9-]+', ], 'RDSMetadata' => [ 'type' => 'structure', 'members' => [ 'Database' => [ 'shape' => 'RDSDatabase', ], 'DatabaseUserName' => [ 'shape' => 'RDSDatabaseUsername', ], 'SelectSqlQuery' => [ 'shape' => 'RDSSelectSqlQuery', ], 'ResourceRole' => [ 'shape' => 'EDPResourceRole', ], 'ServiceRole' => [ 'shape' => 'EDPServiceRole', ], 'DataPipelineId' => [ 'shape' => 'EDPPipelineId', ], ], ], 'RDSSelectSqlQuery' => [ 'type' => 'string', 'min' => 1, 'max' => 16777216, ], 'RealtimeEndpointInfo' => [ 'type' => 'structure', 'members' => [ 'PeakRequestsPerSecond' => [ 'shape' => 'IntegerType', ], 'CreatedAt' => [ 'shape' => 'EpochTime', ], 'EndpointUrl' => [ 'shape' => 'VipURL', ], 'EndpointStatus' => [ 'shape' => 'RealtimeEndpointStatus', ], ], ], 'RealtimeEndpointStatus' => [ 'type' => 'string', 'enum' => [ 'NONE', 'READY', 'UPDATING', 'FAILED', ], ], 'Recipe' => [ 'type' => 'string', 'max' => 131071, ], 'Record' => [ 'type' => 'map', 'key' => [ 'shape' => 'VariableName', ], 'value' => [ 'shape' => 'VariableValue', ], ], 'RedshiftClusterIdentifier' => [ 'type' => 'string', 'min' => 1, 'max' => 63, 'pattern' => '[a-z0-9-]+', ], 'RedshiftDataSpec' => [ 'type' => 'structure', 'required' => [ 'DatabaseInformation', 'SelectSqlQuery', 'DatabaseCredentials', 'S3StagingLocation', ], 'members' => [ 'DatabaseInformation' => [ 'shape' => 'RedshiftDatabase', ], 'SelectSqlQuery' => [ 'shape' => 'RedshiftSelectSqlQuery', ], 'DatabaseCredentials' => [ 'shape' => 'RedshiftDatabaseCredentials', ], 'S3StagingLocation' => [ 'shape' => 'S3Url', ], 'DataRearrangement' => [ 'shape' => 'DataRearrangement', ], 'DataSchema' => [ 'shape' => 'DataSchema', ], 'DataSchemaUri' => [ 'shape' => 'S3Url', ], ], ], 'RedshiftDatabase' => [ 'type' => 'structure', 'required' => [ 'DatabaseName', 'ClusterIdentifier', ], 'members' => [ 'DatabaseName' => [ 'shape' => 'RedshiftDatabaseName', ], 'ClusterIdentifier' => [ 'shape' => 'RedshiftClusterIdentifier', ], ], ], 'RedshiftDatabaseCredentials' => [ 'type' => 'structure', 'required' => [ 'Username', 'Password', ], 'members' => [ 'Username' => [ 'shape' => 'RedshiftDatabaseUsername', ], 'Password' => [ 'shape' => 'RedshiftDatabasePassword', ], ], ], 'RedshiftDatabaseName' => [ 'type' => 'string', 'min' => 1, 'max' => 64, 'pattern' => '[a-z0-9]+', ], 'RedshiftDatabasePassword' => [ 'type' => 'string', 'min' => 8, 'max' => 64, ], 'RedshiftDatabaseUsername' => [ 'type' => 'string', 'min' => 1, 'max' => 128, ], 'RedshiftMetadata' => [ 'type' => 'structure', 'members' => [ 'RedshiftDatabase' => [ 'shape' => 'RedshiftDatabase', ], 'DatabaseUserName' => [ 'shape' => 'RedshiftDatabaseUsername', ], 'SelectSqlQuery' => [ 'shape' => 'RedshiftSelectSqlQuery', ], ], ], 'RedshiftSelectSqlQuery' => [ 'type' => 'string', 'min' => 1, 'max' => 16777216, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'code' => [ 'shape' => 'ErrorCode', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RoleARN' => [ 'type' => 'string', 'min' => 1, 'max' => 110, ], 'S3DataSpec' => [ 'type' => 'structure', 'required' => [ 'DataLocationS3', ], 'members' => [ 'DataLocationS3' => [ 'shape' => 'S3Url', ], 'DataRearrangement' => [ 'shape' => 'DataRearrangement', ], 'DataSchema' => [ 'shape' => 'DataSchema', ], 'DataSchemaLocationS3' => [ 'shape' => 'S3Url', ], ], ], 'S3Url' => [ 'type' => 'string', 'max' => 2048, 'pattern' => 's3://([^/]+)(/.*)?', ], 'ScoreThreshold' => [ 'type' => 'float', ], 'ScoreValue' => [ 'type' => 'float', ], 'ScoreValuePerLabelMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'Label', ], 'value' => [ 'shape' => 'ScoreValue', ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'asc', 'dsc', ], ], 'StringType' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'min' => 1, 'max' => 128, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 100, ], 'TagLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 100, ], 'TagValue' => [ 'type' => 'string', 'min' => 0, 'max' => 256, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TaggableResourceType' => [ 'type' => 'string', 'enum' => [ 'BatchPrediction', 'DataSource', 'Evaluation', 'MLModel', ], ], 'TrainingParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'StringType', ], 'value' => [ 'shape' => 'StringType', ], ], 'UpdateBatchPredictionInput' => [ 'type' => 'structure', 'required' => [ 'BatchPredictionId', 'BatchPredictionName', ], 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], 'BatchPredictionName' => [ 'shape' => 'EntityName', ], ], ], 'UpdateBatchPredictionOutput' => [ 'type' => 'structure', 'members' => [ 'BatchPredictionId' => [ 'shape' => 'EntityId', ], ], ], 'UpdateDataSourceInput' => [ 'type' => 'structure', 'required' => [ 'DataSourceId', 'DataSourceName', ], 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], 'DataSourceName' => [ 'shape' => 'EntityName', ], ], ], 'UpdateDataSourceOutput' => [ 'type' => 'structure', 'members' => [ 'DataSourceId' => [ 'shape' => 'EntityId', ], ], ], 'UpdateEvaluationInput' => [ 'type' => 'structure', 'required' => [ 'EvaluationId', 'EvaluationName', ], 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], 'EvaluationName' => [ 'shape' => 'EntityName', ], ], ], 'UpdateEvaluationOutput' => [ 'type' => 'structure', 'members' => [ 'EvaluationId' => [ 'shape' => 'EntityId', ], ], ], 'UpdateMLModelInput' => [ 'type' => 'structure', 'required' => [ 'MLModelId', ], 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], 'MLModelName' => [ 'shape' => 'EntityName', ], 'ScoreThreshold' => [ 'shape' => 'ScoreThreshold', ], ], ], 'UpdateMLModelOutput' => [ 'type' => 'structure', 'members' => [ 'MLModelId' => [ 'shape' => 'EntityId', ], ], ], 'VariableName' => [ 'type' => 'string', ], 'VariableValue' => [ 'type' => 'string', ], 'Verbose' => [ 'type' => 'boolean', ], 'VipURL' => [ 'type' => 'string', 'max' => 2048, 'pattern' => 'https://[a-zA-Z0-9-.]*\\.amazon(aws)?\\.com[/]?', ], 'floatLabel' => [ 'type' => 'float', ], ],]; diff --git a/lib/aws/Aws/data/machinelearning/2014-12-12/paginators-1.json.php b/lib/aws/Aws/data/machinelearning/2014-12-12/paginators-1.json.php new file mode 100644 index 0000000..7969ab2 --- /dev/null +++ b/lib/aws/Aws/data/machinelearning/2014-12-12/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/machinelearning/2014-12-12/paginators-1.json +return [ 'pagination' => [ 'DescribeBatchPredictions' => [ 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'input_token' => 'NextToken', 'result_key' => 'Results', ], 'DescribeDataSources' => [ 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'input_token' => 'NextToken', 'result_key' => 'Results', ], 'DescribeEvaluations' => [ 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'input_token' => 'NextToken', 'result_key' => 'Results', ], 'DescribeMLModels' => [ 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'input_token' => 'NextToken', 'result_key' => 'Results', ], ],]; diff --git a/lib/aws/Aws/data/machinelearning/2014-12-12/waiters-2.json.php b/lib/aws/Aws/data/machinelearning/2014-12-12/waiters-2.json.php new file mode 100644 index 0000000..2cf122f --- /dev/null +++ b/lib/aws/Aws/data/machinelearning/2014-12-12/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/machinelearning/2014-12-12/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DataSourceAvailable' => [ 'delay' => 30, 'operation' => 'DescribeDataSources', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'COMPLETED', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Results[].Status', ], [ 'expected' => 'FAILED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Results[].Status', ], ], ], 'MLModelAvailable' => [ 'delay' => 30, 'operation' => 'DescribeMLModels', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'COMPLETED', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Results[].Status', ], [ 'expected' => 'FAILED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Results[].Status', ], ], ], 'EvaluationAvailable' => [ 'delay' => 30, 'operation' => 'DescribeEvaluations', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'COMPLETED', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Results[].Status', ], [ 'expected' => 'FAILED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Results[].Status', ], ], ], 'BatchPredictionAvailable' => [ 'delay' => 30, 'operation' => 'DescribeBatchPredictions', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'COMPLETED', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Results[].Status', ], [ 'expected' => 'FAILED', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Results[].Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/macie/2017-12-19/api-2.json.php b/lib/aws/Aws/data/macie/2017-12-19/api-2.json.php new file mode 100644 index 0000000..b2d4b3a --- /dev/null +++ b/lib/aws/Aws/data/macie/2017-12-19/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/macie/2017-12-19/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-12-19', 'endpointPrefix' => 'macie', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Macie', 'serviceId' => 'Macie', 'signatureVersion' => 'v4', 'targetPrefix' => 'MacieService', 'uid' => 'macie-2017-12-19', ], 'operations' => [ 'AssociateMemberAccount' => [ 'name' => 'AssociateMemberAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateMemberAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalException', ], ], ], 'AssociateS3Resources' => [ 'name' => 'AssociateS3Resources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateS3ResourcesRequest', ], 'output' => [ 'shape' => 'AssociateS3ResourcesResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalException', ], ], ], 'DisassociateMemberAccount' => [ 'name' => 'DisassociateMemberAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateMemberAccountRequest', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InternalException', ], ], ], 'DisassociateS3Resources' => [ 'name' => 'DisassociateS3Resources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateS3ResourcesRequest', ], 'output' => [ 'shape' => 'DisassociateS3ResourcesResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalException', ], ], ], 'ListMemberAccounts' => [ 'name' => 'ListMemberAccounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMemberAccountsRequest', ], 'output' => [ 'shape' => 'ListMemberAccountsResult', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'ListS3Resources' => [ 'name' => 'ListS3Resources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListS3ResourcesRequest', ], 'output' => [ 'shape' => 'ListS3ResourcesResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalException', ], ], ], 'UpdateS3Resources' => [ 'name' => 'UpdateS3Resources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateS3ResourcesRequest', ], 'output' => [ 'shape' => 'UpdateS3ResourcesResult', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalException', ], ], ], ], 'shapes' => [ 'AWSAccountId' => [ 'type' => 'string', 'pattern' => '[0-9]{12}', ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], 'resourceType' => [ 'shape' => 'ResourceType', ], ], 'exception' => true, ], 'AssociateMemberAccountRequest' => [ 'type' => 'structure', 'required' => [ 'memberAccountId', ], 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], ], ], 'AssociateS3ResourcesRequest' => [ 'type' => 'structure', 'required' => [ 's3Resources', ], 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], 's3Resources' => [ 'shape' => 'S3ResourcesClassification', ], ], ], 'AssociateS3ResourcesResult' => [ 'type' => 'structure', 'members' => [ 'failedS3Resources' => [ 'shape' => 'FailedS3Resources', ], ], ], 'BucketName' => [ 'type' => 'string', 'max' => 500, ], 'ClassificationType' => [ 'type' => 'structure', 'required' => [ 'oneTime', 'continuous', ], 'members' => [ 'oneTime' => [ 'shape' => 'S3OneTimeClassificationType', ], 'continuous' => [ 'shape' => 'S3ContinuousClassificationType', ], ], ], 'ClassificationTypeUpdate' => [ 'type' => 'structure', 'members' => [ 'oneTime' => [ 'shape' => 'S3OneTimeClassificationType', ], 'continuous' => [ 'shape' => 'S3ContinuousClassificationType', ], ], ], 'DisassociateMemberAccountRequest' => [ 'type' => 'structure', 'required' => [ 'memberAccountId', ], 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], ], ], 'DisassociateS3ResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'associatedS3Resources', ], 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], 'associatedS3Resources' => [ 'shape' => 'S3Resources', ], ], ], 'DisassociateS3ResourcesResult' => [ 'type' => 'structure', 'members' => [ 'failedS3Resources' => [ 'shape' => 'FailedS3Resources', ], ], ], 'ErrorCode' => [ 'type' => 'string', 'max' => 10, ], 'ExceptionMessage' => [ 'type' => 'string', 'max' => 10000, ], 'FailedS3Resource' => [ 'type' => 'structure', 'members' => [ 'failedItem' => [ 'shape' => 'S3Resource', ], 'errorCode' => [ 'shape' => 'ErrorCode', ], 'errorMessage' => [ 'shape' => 'ExceptionMessage', ], ], ], 'FailedS3Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedS3Resource', ], ], 'FieldName' => [ 'type' => 'string', 'max' => 1000, ], 'InternalException' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ExceptionMessage', ], 'fieldName' => [ 'shape' => 'FieldName', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ExceptionMessage', ], 'resourceType' => [ 'shape' => 'ResourceType', ], ], 'exception' => true, ], 'ListMemberAccountsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListMemberAccountsResult' => [ 'type' => 'structure', 'members' => [ 'memberAccounts' => [ 'shape' => 'MemberAccounts', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListS3ResourcesRequest' => [ 'type' => 'structure', 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListS3ResourcesResult' => [ 'type' => 'structure', 'members' => [ 's3Resources' => [ 'shape' => 'S3ResourcesClassification', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 250, ], 'MemberAccount' => [ 'type' => 'structure', 'members' => [ 'accountId' => [ 'shape' => 'AWSAccountId', ], ], ], 'MemberAccounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'MemberAccount', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 500, ], 'Prefix' => [ 'type' => 'string', 'max' => 10000, ], 'ResourceType' => [ 'type' => 'string', 'max' => 1000, ], 'S3ContinuousClassificationType' => [ 'type' => 'string', 'enum' => [ 'FULL', ], ], 'S3OneTimeClassificationType' => [ 'type' => 'string', 'enum' => [ 'FULL', 'NONE', ], ], 'S3Resource' => [ 'type' => 'structure', 'required' => [ 'bucketName', ], 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'prefix' => [ 'shape' => 'Prefix', ], ], ], 'S3ResourceClassification' => [ 'type' => 'structure', 'required' => [ 'bucketName', 'classificationType', ], 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'prefix' => [ 'shape' => 'Prefix', ], 'classificationType' => [ 'shape' => 'ClassificationType', ], ], ], 'S3ResourceClassificationUpdate' => [ 'type' => 'structure', 'required' => [ 'bucketName', 'classificationTypeUpdate', ], 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'prefix' => [ 'shape' => 'Prefix', ], 'classificationTypeUpdate' => [ 'shape' => 'ClassificationTypeUpdate', ], ], ], 'S3Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3Resource', ], ], 'S3ResourcesClassification' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3ResourceClassification', ], ], 'S3ResourcesClassificationUpdate' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3ResourceClassificationUpdate', ], ], 'UpdateS3ResourcesRequest' => [ 'type' => 'structure', 'required' => [ 's3ResourcesUpdate', ], 'members' => [ 'memberAccountId' => [ 'shape' => 'AWSAccountId', ], 's3ResourcesUpdate' => [ 'shape' => 'S3ResourcesClassificationUpdate', ], ], ], 'UpdateS3ResourcesResult' => [ 'type' => 'structure', 'members' => [ 'failedS3Resources' => [ 'shape' => 'FailedS3Resources', ], ], ], ],]; diff --git a/lib/aws/Aws/data/macie/2017-12-19/paginators-1.json.php b/lib/aws/Aws/data/macie/2017-12-19/paginators-1.json.php new file mode 100644 index 0000000..b4cd414 --- /dev/null +++ b/lib/aws/Aws/data/macie/2017-12-19/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/macie/2017-12-19/paginators-1.json +return [ 'pagination' => [ 'ListMemberAccounts' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListS3Resources' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/manifest.json.php b/lib/aws/Aws/data/manifest.json.php new file mode 100644 index 0000000..9098fb0 --- /dev/null +++ b/lib/aws/Aws/data/manifest.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/manifest.json +return [ 'acm-pca' => [ 'namespace' => 'ACMPCA', 'versions' => [ 'latest' => '2017-08-22', '2017-08-22' => '2017-08-22', ], ], 'acm' => [ 'namespace' => 'Acm', 'versions' => [ 'latest' => '2015-12-08', '2015-12-08' => '2015-12-08', ], ], 'alexaforbusiness' => [ 'namespace' => 'AlexaForBusiness', 'versions' => [ 'latest' => '2017-11-09', '2017-11-09' => '2017-11-09', ], ], 'amplify' => [ 'namespace' => 'Amplify', 'versions' => [ 'latest' => '2017-07-25', '2017-07-25' => '2017-07-25', ], ], 'apigateway' => [ 'namespace' => 'ApiGateway', 'versions' => [ 'latest' => '2015-07-09', '2015-07-09' => '2015-07-09', '2015-06-01' => '2015-07-09', ], ], 'apigatewaymanagementapi' => [ 'namespace' => 'ApiGatewayManagementApi', 'versions' => [ 'latest' => '2018-11-29', '2018-11-29' => '2018-11-29', ], ], 'apigatewayv2' => [ 'namespace' => 'ApiGatewayV2', 'versions' => [ 'latest' => '2018-11-29', '2018-11-29' => '2018-11-29', ], ], 'application-autoscaling' => [ 'namespace' => 'ApplicationAutoScaling', 'versions' => [ 'latest' => '2016-02-06', '2016-02-06' => '2016-02-06', ], ], 'appmesh' => [ 'namespace' => 'AppMesh', 'versions' => [ 'latest' => '2019-01-25', '2019-01-25' => '2019-01-25', '2018-10-01' => '2018-10-01', ], ], 'appstream' => [ 'namespace' => 'Appstream', 'versions' => [ 'latest' => '2016-12-01', '2016-12-01' => '2016-12-01', ], ], 'appsync' => [ 'namespace' => 'AppSync', 'versions' => [ 'latest' => '2017-07-25', '2017-07-25' => '2017-07-25', ], ], 'athena' => [ 'namespace' => 'Athena', 'versions' => [ 'latest' => '2017-05-18', '2017-05-18' => '2017-05-18', ], ], 'autoscaling-plans' => [ 'namespace' => 'AutoScalingPlans', 'versions' => [ 'latest' => '2018-01-06', '2018-01-06' => '2018-01-06', ], ], 'autoscaling' => [ 'namespace' => 'AutoScaling', 'versions' => [ 'latest' => '2011-01-01', '2011-01-01' => '2011-01-01', ], ], 'backup' => [ 'namespace' => 'Backup', 'versions' => [ 'latest' => '2018-11-15', '2018-11-15' => '2018-11-15', ], ], 'batch' => [ 'namespace' => 'Batch', 'versions' => [ 'latest' => '2016-08-10', '2016-08-10' => '2016-08-10', ], ], 'budgets' => [ 'namespace' => 'Budgets', 'versions' => [ 'latest' => '2016-10-20', '2016-10-20' => '2016-10-20', ], ], 'ce' => [ 'namespace' => 'CostExplorer', 'versions' => [ 'latest' => '2017-10-25', '2017-10-25' => '2017-10-25', ], ], 'chime' => [ 'namespace' => 'Chime', 'versions' => [ 'latest' => '2018-05-01', '2018-05-01' => '2018-05-01', ], ], 'cloud9' => [ 'namespace' => 'Cloud9', 'versions' => [ 'latest' => '2017-09-23', '2017-09-23' => '2017-09-23', ], ], 'clouddirectory' => [ 'namespace' => 'CloudDirectory', 'versions' => [ 'latest' => '2017-01-11', '2017-01-11' => '2017-01-11', '2016-05-10' => '2016-05-10', ], ], 'cloudformation' => [ 'namespace' => 'CloudFormation', 'versions' => [ 'latest' => '2010-05-15', '2010-05-15' => '2010-05-15', ], ], 'cloudfront' => [ 'namespace' => 'CloudFront', 'versions' => [ 'latest' => '2018-11-05', '2018-11-05' => '2018-11-05', '2018-06-18' => '2018-06-18', '2017-10-30' => '2017-10-30', '2017-03-25' => '2017-03-25', '2016-11-25' => '2016-11-25', '2016-09-29' => '2016-09-29', '2016-09-07' => '2016-09-07', '2016-08-20' => '2016-08-20', '2016-08-01' => '2016-08-01', '2016-01-28' => '2016-01-28', '2016-01-13' => '2018-11-05', '2015-09-17' => '2018-11-05', '2015-07-27' => '2015-07-27', '2015-04-17' => '2015-07-27', '2014-11-06' => '2015-07-27', ], ], 'cloudhsm' => [ 'namespace' => 'CloudHsm', 'versions' => [ 'latest' => '2014-05-30', '2014-05-30' => '2014-05-30', ], ], 'cloudhsmv2' => [ 'namespace' => 'CloudHSMV2', 'versions' => [ 'latest' => '2017-04-28', '2017-04-28' => '2017-04-28', ], ], 'cloudsearch' => [ 'namespace' => 'CloudSearch', 'versions' => [ 'latest' => '2013-01-01', '2013-01-01' => '2013-01-01', ], ], 'cloudsearchdomain' => [ 'namespace' => 'CloudSearchDomain', 'versions' => [ 'latest' => '2013-01-01', '2013-01-01' => '2013-01-01', ], ], 'cloudtrail' => [ 'namespace' => 'CloudTrail', 'versions' => [ 'latest' => '2013-11-01', '2013-11-01' => '2013-11-01', ], ], 'codebuild' => [ 'namespace' => 'CodeBuild', 'versions' => [ 'latest' => '2016-10-06', '2016-10-06' => '2016-10-06', ], ], 'codecommit' => [ 'namespace' => 'CodeCommit', 'versions' => [ 'latest' => '2015-04-13', '2015-04-13' => '2015-04-13', ], ], 'codedeploy' => [ 'namespace' => 'CodeDeploy', 'versions' => [ 'latest' => '2014-10-06', '2014-10-06' => '2014-10-06', ], ], 'codepipeline' => [ 'namespace' => 'CodePipeline', 'versions' => [ 'latest' => '2015-07-09', '2015-07-09' => '2015-07-09', ], ], 'codestar' => [ 'namespace' => 'CodeStar', 'versions' => [ 'latest' => '2017-04-19', '2017-04-19' => '2017-04-19', ], ], 'cognito-identity' => [ 'namespace' => 'CognitoIdentity', 'versions' => [ 'latest' => '2014-06-30', '2014-06-30' => '2014-06-30', ], ], 'cognito-idp' => [ 'namespace' => 'CognitoIdentityProvider', 'versions' => [ 'latest' => '2016-04-18', '2016-04-18' => '2016-04-18', ], ], 'cognito-sync' => [ 'namespace' => 'CognitoSync', 'versions' => [ 'latest' => '2014-06-30', '2014-06-30' => '2014-06-30', ], ], 'comprehend' => [ 'namespace' => 'Comprehend', 'versions' => [ 'latest' => '2017-11-27', '2017-11-27' => '2017-11-27', ], ], 'comprehendmedical' => [ 'namespace' => 'ComprehendMedical', 'versions' => [ 'latest' => '2018-10-30', '2018-10-30' => '2018-10-30', ], ], 'config' => [ 'namespace' => 'ConfigService', 'versions' => [ 'latest' => '2014-11-12', '2014-11-12' => '2014-11-12', ], ], 'connect' => [ 'namespace' => 'Connect', 'versions' => [ 'latest' => '2017-08-08', '2017-08-08' => '2017-08-08', ], ], 'cur' => [ 'namespace' => 'CostandUsageReportService', 'versions' => [ 'latest' => '2017-01-06', '2017-01-06' => '2017-01-06', ], ], 'data.iot' => [ 'namespace' => 'IotDataPlane', 'versions' => [ 'latest' => '2015-05-28', '2015-05-28' => '2015-05-28', ], ], 'datapipeline' => [ 'namespace' => 'DataPipeline', 'versions' => [ 'latest' => '2012-10-29', '2012-10-29' => '2012-10-29', ], ], 'datasync' => [ 'namespace' => 'DataSync', 'versions' => [ 'latest' => '2018-11-09', '2018-11-09' => '2018-11-09', ], ], 'dax' => [ 'namespace' => 'DAX', 'versions' => [ 'latest' => '2017-04-19', '2017-04-19' => '2017-04-19', ], ], 'devicefarm' => [ 'namespace' => 'DeviceFarm', 'versions' => [ 'latest' => '2015-06-23', '2015-06-23' => '2015-06-23', ], ], 'directconnect' => [ 'namespace' => 'DirectConnect', 'versions' => [ 'latest' => '2012-10-25', '2012-10-25' => '2012-10-25', ], ], 'discovery' => [ 'namespace' => 'ApplicationDiscoveryService', 'versions' => [ 'latest' => '2015-11-01', '2015-11-01' => '2015-11-01', ], ], 'dlm' => [ 'namespace' => 'DLM', 'versions' => [ 'latest' => '2018-01-12', '2018-01-12' => '2018-01-12', ], ], 'dms' => [ 'namespace' => 'DatabaseMigrationService', 'versions' => [ 'latest' => '2016-01-01', '2016-01-01' => '2016-01-01', ], ], 'docdb' => [ 'namespace' => 'DocDB', 'versions' => [ 'latest' => '2014-10-31', '2014-10-31' => '2014-10-31', ], ], 'ds' => [ 'namespace' => 'DirectoryService', 'versions' => [ 'latest' => '2015-04-16', '2015-04-16' => '2015-04-16', ], ], 'dynamodb' => [ 'namespace' => 'DynamoDb', 'versions' => [ 'latest' => '2012-08-10', '2012-08-10' => '2012-08-10', '2011-12-05' => '2011-12-05', ], ], 'ec2' => [ 'namespace' => 'Ec2', 'versions' => [ 'latest' => '2016-11-15', '2016-11-15' => '2016-11-15', '2016-09-15' => '2016-09-15', '2016-04-01' => '2016-04-01', '2015-10-01' => '2015-10-01', '2015-04-15' => '2016-11-15', ], ], 'ecr' => [ 'namespace' => 'Ecr', 'versions' => [ 'latest' => '2015-09-21', '2015-09-21' => '2015-09-21', ], ], 'ecs' => [ 'namespace' => 'Ecs', 'versions' => [ 'latest' => '2014-11-13', '2014-11-13' => '2014-11-13', ], ], 'eks' => [ 'namespace' => 'EKS', 'versions' => [ 'latest' => '2017-11-01', '2017-11-01' => '2017-11-01', ], ], 'elasticache' => [ 'namespace' => 'ElastiCache', 'versions' => [ 'latest' => '2015-02-02', '2015-02-02' => '2015-02-02', ], ], 'elasticbeanstalk' => [ 'namespace' => 'ElasticBeanstalk', 'versions' => [ 'latest' => '2010-12-01', '2010-12-01' => '2010-12-01', ], ], 'elasticfilesystem' => [ 'namespace' => 'Efs', 'versions' => [ 'latest' => '2015-02-01', '2015-02-01' => '2015-02-01', ], ], 'elasticloadbalancing' => [ 'namespace' => 'ElasticLoadBalancing', 'versions' => [ 'latest' => '2012-06-01', '2012-06-01' => '2012-06-01', ], ], 'elasticloadbalancingv2' => [ 'namespace' => 'ElasticLoadBalancingV2', 'versions' => [ 'latest' => '2015-12-01', '2015-12-01' => '2015-12-01', ], ], 'elasticmapreduce' => [ 'namespace' => 'Emr', 'versions' => [ 'latest' => '2009-03-31', '2009-03-31' => '2009-03-31', ], ], 'elastictranscoder' => [ 'namespace' => 'ElasticTranscoder', 'versions' => [ 'latest' => '2012-09-25', '2012-09-25' => '2012-09-25', ], ], 'email' => [ 'namespace' => 'Ses', 'versions' => [ 'latest' => '2010-12-01', '2010-12-01' => '2010-12-01', ], ], 'entitlement.marketplace' => [ 'namespace' => 'MarketplaceEntitlementService', 'versions' => [ 'latest' => '2017-01-11', '2017-01-11' => '2017-01-11', ], ], 'es' => [ 'namespace' => 'ElasticsearchService', 'versions' => [ 'latest' => '2015-01-01', '2015-01-01' => '2015-01-01', ], ], 'events' => [ 'namespace' => 'CloudWatchEvents', 'versions' => [ 'latest' => '2015-10-07', '2015-10-07' => '2015-10-07', '2014-02-03' => '2015-10-07', ], ], 'firehose' => [ 'namespace' => 'Firehose', 'versions' => [ 'latest' => '2015-08-04', '2015-08-04' => '2015-08-04', ], ], 'fms' => [ 'namespace' => 'FMS', 'versions' => [ 'latest' => '2018-01-01', '2018-01-01' => '2018-01-01', ], ], 'fsx' => [ 'namespace' => 'FSx', 'versions' => [ 'latest' => '2018-03-01', '2018-03-01' => '2018-03-01', ], ], 'gamelift' => [ 'namespace' => 'GameLift', 'versions' => [ 'latest' => '2015-10-01', '2015-10-01' => '2015-10-01', ], ], 'glacier' => [ 'namespace' => 'Glacier', 'versions' => [ 'latest' => '2012-06-01', '2012-06-01' => '2012-06-01', ], ], 'globalaccelerator' => [ 'namespace' => 'GlobalAccelerator', 'versions' => [ 'latest' => '2018-08-08', '2018-08-08' => '2018-08-08', ], ], 'glue' => [ 'namespace' => 'Glue', 'versions' => [ 'latest' => '2017-03-31', '2017-03-31' => '2017-03-31', ], ], 'greengrass' => [ 'namespace' => 'Greengrass', 'versions' => [ 'latest' => '2017-06-07', '2017-06-07' => '2017-06-07', ], ], 'guardduty' => [ 'namespace' => 'GuardDuty', 'versions' => [ 'latest' => '2017-11-28', '2017-11-28' => '2017-11-28', ], ], 'health' => [ 'namespace' => 'Health', 'versions' => [ 'latest' => '2016-08-04', '2016-08-04' => '2016-08-04', ], ], 'iam' => [ 'namespace' => 'Iam', 'versions' => [ 'latest' => '2010-05-08', '2010-05-08' => '2010-05-08', ], ], 'importexport' => [ 'namespace' => 'ImportExport', 'versions' => [ 'latest' => '2010-06-01', '2010-06-01' => '2010-06-01', ], ], 'inspector' => [ 'namespace' => 'Inspector', 'versions' => [ 'latest' => '2016-02-16', '2016-02-16' => '2016-02-16', '2015-08-18' => '2016-02-16', ], ], 'iot-jobs-data' => [ 'namespace' => 'IoTJobsDataPlane', 'versions' => [ 'latest' => '2017-09-29', '2017-09-29' => '2017-09-29', ], ], 'iot' => [ 'namespace' => 'Iot', 'versions' => [ 'latest' => '2015-05-28', '2015-05-28' => '2015-05-28', ], ], 'iot1click-devices' => [ 'namespace' => 'IoT1ClickDevicesService', 'versions' => [ 'latest' => '2018-05-14', '2018-05-14' => '2018-05-14', ], ], 'iot1click-projects' => [ 'namespace' => 'IoT1ClickProjects', 'versions' => [ 'latest' => '2018-05-14', '2018-05-14' => '2018-05-14', ], ], 'iotanalytics' => [ 'namespace' => 'IoTAnalytics', 'versions' => [ 'latest' => '2017-11-27', '2017-11-27' => '2017-11-27', ], ], 'kafka' => [ 'namespace' => 'Kafka', 'versions' => [ 'latest' => '2018-11-14', '2018-11-14' => '2018-11-14', ], ], 'kinesis-video-archived-media' => [ 'namespace' => 'KinesisVideoArchivedMedia', 'versions' => [ 'latest' => '2017-09-30', '2017-09-30' => '2017-09-30', ], ], 'kinesis-video-media' => [ 'namespace' => 'KinesisVideoMedia', 'versions' => [ 'latest' => '2017-09-30', '2017-09-30' => '2017-09-30', ], ], 'kinesis' => [ 'namespace' => 'Kinesis', 'versions' => [ 'latest' => '2013-12-02', '2013-12-02' => '2013-12-02', ], ], 'kinesisanalytics' => [ 'namespace' => 'KinesisAnalytics', 'versions' => [ 'latest' => '2015-08-14', '2015-08-14' => '2015-08-14', ], ], 'kinesisanalyticsv2' => [ 'namespace' => 'KinesisAnalyticsV2', 'versions' => [ 'latest' => '2018-05-23', '2018-05-23' => '2018-05-23', ], ], 'kinesisvideo' => [ 'namespace' => 'KinesisVideo', 'versions' => [ 'latest' => '2017-09-30', '2017-09-30' => '2017-09-30', ], ], 'kms' => [ 'namespace' => 'Kms', 'versions' => [ 'latest' => '2014-11-01', '2014-11-01' => '2014-11-01', ], ], 'lambda' => [ 'namespace' => 'Lambda', 'versions' => [ 'latest' => '2015-03-31', '2015-03-31' => '2015-03-31', ], ], 'lex-models' => [ 'namespace' => 'LexModelBuildingService', 'versions' => [ 'latest' => '2017-04-19', '2017-04-19' => '2017-04-19', ], ], 'license-manager' => [ 'namespace' => 'LicenseManager', 'versions' => [ 'latest' => '2018-08-01', '2018-08-01' => '2018-08-01', ], ], 'lightsail' => [ 'namespace' => 'Lightsail', 'versions' => [ 'latest' => '2016-11-28', '2016-11-28' => '2016-11-28', ], ], 'logs' => [ 'namespace' => 'CloudWatchLogs', 'versions' => [ 'latest' => '2014-03-28', '2014-03-28' => '2014-03-28', ], ], 'machinelearning' => [ 'namespace' => 'MachineLearning', 'versions' => [ 'latest' => '2014-12-12', '2014-12-12' => '2014-12-12', ], ], 'macie' => [ 'namespace' => 'Macie', 'versions' => [ 'latest' => '2017-12-19', '2017-12-19' => '2017-12-19', ], ], 'marketplacecommerceanalytics' => [ 'namespace' => 'MarketplaceCommerceAnalytics', 'versions' => [ 'latest' => '2015-07-01', '2015-07-01' => '2015-07-01', ], ], 'mediaconnect' => [ 'namespace' => 'MediaConnect', 'versions' => [ 'latest' => '2018-11-14', '2018-11-14' => '2018-11-14', ], ], 'mediaconvert' => [ 'namespace' => 'MediaConvert', 'versions' => [ 'latest' => '2017-08-29', '2017-08-29' => '2017-08-29', ], ], 'medialive' => [ 'namespace' => 'MediaLive', 'versions' => [ 'latest' => '2017-10-14', '2017-10-14' => '2017-10-14', ], ], 'mediapackage' => [ 'namespace' => 'MediaPackage', 'versions' => [ 'latest' => '2017-10-12', '2017-10-12' => '2017-10-12', ], ], 'mediastore-data' => [ 'namespace' => 'MediaStoreData', 'versions' => [ 'latest' => '2017-09-01', '2017-09-01' => '2017-09-01', ], ], 'mediastore' => [ 'namespace' => 'MediaStore', 'versions' => [ 'latest' => '2017-09-01', '2017-09-01' => '2017-09-01', ], ], 'mediatailor' => [ 'namespace' => 'MediaTailor', 'versions' => [ 'latest' => '2018-04-23', '2018-04-23' => '2018-04-23', ], ], 'metering.marketplace' => [ 'namespace' => 'MarketplaceMetering', 'versions' => [ 'latest' => '2016-01-14', '2016-01-14' => '2016-01-14', ], ], 'mgh' => [ 'namespace' => 'MigrationHub', 'versions' => [ 'latest' => '2017-05-31', '2017-05-31' => '2017-05-31', ], ], 'mobile' => [ 'namespace' => 'Mobile', 'versions' => [ 'latest' => '2017-07-01', '2017-07-01' => '2017-07-01', ], ], 'monitoring' => [ 'namespace' => 'CloudWatch', 'versions' => [ 'latest' => '2010-08-01', '2010-08-01' => '2010-08-01', ], ], 'mq' => [ 'namespace' => 'MQ', 'versions' => [ 'latest' => '2017-11-27', '2017-11-27' => '2017-11-27', ], ], 'mturk-requester' => [ 'namespace' => 'MTurk', 'versions' => [ 'latest' => '2017-01-17', '2017-01-17' => '2017-01-17', ], ], 'neptune' => [ 'namespace' => 'Neptune', 'versions' => [ 'latest' => '2014-10-31', '2014-10-31' => '2014-10-31', ], ], 'opsworks' => [ 'namespace' => 'OpsWorks', 'versions' => [ 'latest' => '2013-02-18', '2013-02-18' => '2013-02-18', ], ], 'opsworkscm' => [ 'namespace' => 'OpsWorksCM', 'versions' => [ 'latest' => '2016-11-01', '2016-11-01' => '2016-11-01', ], ], 'organizations' => [ 'namespace' => 'Organizations', 'versions' => [ 'latest' => '2016-11-28', '2016-11-28' => '2016-11-28', ], ], 'pi' => [ 'namespace' => 'PI', 'versions' => [ 'latest' => '2018-02-27', '2018-02-27' => '2018-02-27', ], ], 'pinpoint-email' => [ 'namespace' => 'PinpointEmail', 'versions' => [ 'latest' => '2018-07-26', '2018-07-26' => '2018-07-26', ], ], 'pinpoint' => [ 'namespace' => 'Pinpoint', 'versions' => [ 'latest' => '2016-12-01', '2016-12-01' => '2016-12-01', ], ], 'polly' => [ 'namespace' => 'Polly', 'versions' => [ 'latest' => '2016-06-10', '2016-06-10' => '2016-06-10', ], ], 'pricing' => [ 'namespace' => 'Pricing', 'versions' => [ 'latest' => '2017-10-15', '2017-10-15' => '2017-10-15', ], ], 'quicksight' => [ 'namespace' => 'QuickSight', 'versions' => [ 'latest' => '2018-04-01', '2018-04-01' => '2018-04-01', ], ], 'ram' => [ 'namespace' => 'RAM', 'versions' => [ 'latest' => '2018-01-04', '2018-01-04' => '2018-01-04', ], ], 'rds-data' => [ 'namespace' => 'RDSDataService', 'versions' => [ 'latest' => '2018-08-01', '2018-08-01' => '2018-08-01', ], ], 'rds' => [ 'namespace' => 'Rds', 'versions' => [ 'latest' => '2014-10-31', '2014-10-31' => '2014-10-31', '2014-09-01' => '2014-09-01', ], ], 'redshift' => [ 'namespace' => 'Redshift', 'versions' => [ 'latest' => '2012-12-01', '2012-12-01' => '2012-12-01', ], ], 'rekognition' => [ 'namespace' => 'Rekognition', 'versions' => [ 'latest' => '2016-06-27', '2016-06-27' => '2016-06-27', ], ], 'resource-groups' => [ 'namespace' => 'ResourceGroups', 'versions' => [ 'latest' => '2017-11-27', '2017-11-27' => '2017-11-27', ], ], 'resourcegroupstaggingapi' => [ 'namespace' => 'ResourceGroupsTaggingAPI', 'versions' => [ 'latest' => '2017-01-26', '2017-01-26' => '2017-01-26', ], ], 'robomaker' => [ 'namespace' => 'RoboMaker', 'versions' => [ 'latest' => '2018-06-29', '2018-06-29' => '2018-06-29', ], ], 'route53' => [ 'namespace' => 'Route53', 'versions' => [ 'latest' => '2013-04-01', '2013-04-01' => '2013-04-01', ], ], 'route53domains' => [ 'namespace' => 'Route53Domains', 'versions' => [ 'latest' => '2014-05-15', '2014-05-15' => '2014-05-15', ], ], 'route53resolver' => [ 'namespace' => 'Route53Resolver', 'versions' => [ 'latest' => '2018-04-01', '2018-04-01' => '2018-04-01', ], ], 'runtime.lex' => [ 'namespace' => 'LexRuntimeService', 'versions' => [ 'latest' => '2016-11-28', '2016-11-28' => '2016-11-28', ], ], 'runtime.sagemaker' => [ 'namespace' => 'SageMakerRuntime', 'versions' => [ 'latest' => '2017-05-13', '2017-05-13' => '2017-05-13', ], ], 's3' => [ 'namespace' => 'S3', 'versions' => [ 'latest' => '2006-03-01', '2006-03-01' => '2006-03-01', ], ], 's3control' => [ 'namespace' => 'S3Control', 'versions' => [ 'latest' => '2018-08-20', '2018-08-20' => '2018-08-20', ], ], 'sagemaker' => [ 'namespace' => 'SageMaker', 'versions' => [ 'latest' => '2017-07-24', '2017-07-24' => '2017-07-24', ], ], 'secretsmanager' => [ 'namespace' => 'SecretsManager', 'versions' => [ 'latest' => '2017-10-17', '2017-10-17' => '2017-10-17', ], ], 'securityhub' => [ 'namespace' => 'SecurityHub', 'versions' => [ 'latest' => '2018-10-26', '2018-10-26' => '2018-10-26', ], ], 'serverlessrepo' => [ 'namespace' => 'ServerlessApplicationRepository', 'versions' => [ 'latest' => '2017-09-08', '2017-09-08' => '2017-09-08', ], ], 'servicecatalog' => [ 'namespace' => 'ServiceCatalog', 'versions' => [ 'latest' => '2015-12-10', '2015-12-10' => '2015-12-10', ], ], 'servicediscovery' => [ 'namespace' => 'ServiceDiscovery', 'versions' => [ 'latest' => '2017-03-14', '2017-03-14' => '2017-03-14', ], ], 'shield' => [ 'namespace' => 'Shield', 'versions' => [ 'latest' => '2016-06-02', '2016-06-02' => '2016-06-02', ], ], 'signer' => [ 'namespace' => 'signer', 'versions' => [ 'latest' => '2017-08-25', '2017-08-25' => '2017-08-25', ], ], 'sms-voice' => [ 'namespace' => 'PinpointSMSVoice', 'versions' => [ 'latest' => '2018-09-05', '2018-09-05' => '2018-09-05', ], ], 'sms' => [ 'namespace' => 'Sms', 'versions' => [ 'latest' => '2016-10-24', '2016-10-24' => '2016-10-24', ], ], 'snowball' => [ 'namespace' => 'SnowBall', 'versions' => [ 'latest' => '2016-06-30', '2016-06-30' => '2016-06-30', ], ], 'sns' => [ 'namespace' => 'Sns', 'versions' => [ 'latest' => '2010-03-31', '2010-03-31' => '2010-03-31', ], ], 'sqs' => [ 'namespace' => 'Sqs', 'versions' => [ 'latest' => '2012-11-05', '2012-11-05' => '2012-11-05', ], ], 'ssm' => [ 'namespace' => 'Ssm', 'versions' => [ 'latest' => '2014-11-06', '2014-11-06' => '2014-11-06', ], ], 'states' => [ 'namespace' => 'Sfn', 'versions' => [ 'latest' => '2016-11-23', '2016-11-23' => '2016-11-23', ], ], 'storagegateway' => [ 'namespace' => 'StorageGateway', 'versions' => [ 'latest' => '2013-06-30', '2013-06-30' => '2013-06-30', ], ], 'streams.dynamodb' => [ 'namespace' => 'DynamoDbStreams', 'versions' => [ 'latest' => '2012-08-10', '2012-08-10' => '2012-08-10', ], ], 'sts' => [ 'namespace' => 'Sts', 'versions' => [ 'latest' => '2011-06-15', '2011-06-15' => '2011-06-15', ], ], 'support' => [ 'namespace' => 'Support', 'versions' => [ 'latest' => '2013-04-15', '2013-04-15' => '2013-04-15', ], ], 'swf' => [ 'namespace' => 'Swf', 'versions' => [ 'latest' => '2012-01-25', '2012-01-25' => '2012-01-25', ], ], 'textract' => [ 'namespace' => 'Textract', 'versions' => [ 'latest' => '2018-06-27', '2018-06-27' => '2018-06-27', ], ], 'transcribe' => [ 'namespace' => 'TranscribeService', 'versions' => [ 'latest' => '2017-10-26', '2017-10-26' => '2017-10-26', ], ], 'transfer' => [ 'namespace' => 'Transfer', 'versions' => [ 'latest' => '2018-11-05', '2018-11-05' => '2018-11-05', ], ], 'translate' => [ 'namespace' => 'Translate', 'versions' => [ 'latest' => '2017-07-01', '2017-07-01' => '2017-07-01', ], ], 'waf-regional' => [ 'namespace' => 'WafRegional', 'versions' => [ 'latest' => '2016-11-28', '2016-11-28' => '2016-11-28', ], ], 'waf' => [ 'namespace' => 'Waf', 'versions' => [ 'latest' => '2015-08-24', '2015-08-24' => '2015-08-24', ], ], 'workdocs' => [ 'namespace' => 'WorkDocs', 'versions' => [ 'latest' => '2016-05-01', '2016-05-01' => '2016-05-01', ], ], 'worklink' => [ 'namespace' => 'WorkLink', 'versions' => [ 'latest' => '2018-09-25', '2018-09-25' => '2018-09-25', ], ], 'workmail' => [ 'namespace' => 'WorkMail', 'versions' => [ 'latest' => '2017-10-01', '2017-10-01' => '2017-10-01', ], ], 'workspaces' => [ 'namespace' => 'WorkSpaces', 'versions' => [ 'latest' => '2015-04-08', '2015-04-08' => '2015-04-08', ], ], 'xray' => [ 'namespace' => 'XRay', 'versions' => [ 'latest' => '2016-04-12', '2016-04-12' => '2016-04-12', ], ],]; diff --git a/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/api-2.json.php b/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/api-2.json.php new file mode 100644 index 0000000..fcfc44e --- /dev/null +++ b/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/marketplacecommerceanalytics/2015-07-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-07-01', 'endpointPrefix' => 'marketplacecommerceanalytics', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Marketplace Commerce Analytics', 'signatureVersion' => 'v4', 'signingName' => 'marketplacecommerceanalytics', 'targetPrefix' => 'MarketplaceCommerceAnalytics20150701', 'uid' => 'marketplacecommerceanalytics-2015-07-01', ], 'operations' => [ 'GenerateDataSet' => [ 'name' => 'GenerateDataSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateDataSetRequest', ], 'output' => [ 'shape' => 'GenerateDataSetResult', ], 'errors' => [ [ 'shape' => 'MarketplaceCommerceAnalyticsException', ], ], ], 'StartSupportDataExport' => [ 'name' => 'StartSupportDataExport', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSupportDataExportRequest', ], 'output' => [ 'shape' => 'StartSupportDataExportResult', ], 'errors' => [ [ 'shape' => 'MarketplaceCommerceAnalyticsException', ], ], ], ], 'shapes' => [ 'CustomerDefinedValues' => [ 'type' => 'map', 'key' => [ 'shape' => 'OptionalKey', ], 'value' => [ 'shape' => 'OptionalValue', ], 'max' => 5, 'min' => 1, ], 'DataSetPublicationDate' => [ 'type' => 'timestamp', ], 'DataSetRequestId' => [ 'type' => 'string', ], 'DataSetType' => [ 'type' => 'string', 'enum' => [ 'customer_subscriber_hourly_monthly_subscriptions', 'customer_subscriber_annual_subscriptions', 'daily_business_usage_by_instance_type', 'daily_business_fees', 'daily_business_free_trial_conversions', 'daily_business_new_instances', 'daily_business_new_product_subscribers', 'daily_business_canceled_product_subscribers', 'monthly_revenue_billing_and_revenue_data', 'monthly_revenue_annual_subscriptions', 'disbursed_amount_by_product', 'disbursed_amount_by_product_with_uncollected_funds', 'disbursed_amount_by_instance_hours', 'disbursed_amount_by_customer_geo', 'disbursed_amount_by_age_of_uncollected_funds', 'disbursed_amount_by_age_of_disbursed_funds', 'customer_profile_by_industry', 'customer_profile_by_revenue', 'customer_profile_by_geography', 'sales_compensation_billed_revenue', 'us_sales_and_use_tax_records', ], 'max' => 255, 'min' => 1, ], 'DestinationS3BucketName' => [ 'type' => 'string', 'min' => 1, ], 'DestinationS3Prefix' => [ 'type' => 'string', ], 'ExceptionMessage' => [ 'type' => 'string', ], 'FromDate' => [ 'type' => 'timestamp', ], 'GenerateDataSetRequest' => [ 'type' => 'structure', 'required' => [ 'dataSetType', 'dataSetPublicationDate', 'roleNameArn', 'destinationS3BucketName', 'snsTopicArn', ], 'members' => [ 'dataSetType' => [ 'shape' => 'DataSetType', ], 'dataSetPublicationDate' => [ 'shape' => 'DataSetPublicationDate', ], 'roleNameArn' => [ 'shape' => 'RoleNameArn', ], 'destinationS3BucketName' => [ 'shape' => 'DestinationS3BucketName', ], 'destinationS3Prefix' => [ 'shape' => 'DestinationS3Prefix', ], 'snsTopicArn' => [ 'shape' => 'SnsTopicArn', ], 'customerDefinedValues' => [ 'shape' => 'CustomerDefinedValues', ], ], ], 'GenerateDataSetResult' => [ 'type' => 'structure', 'members' => [ 'dataSetRequestId' => [ 'shape' => 'DataSetRequestId', ], ], ], 'MarketplaceCommerceAnalyticsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, 'fault' => true, ], 'OptionalKey' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'OptionalValue' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'RoleNameArn' => [ 'type' => 'string', 'min' => 1, ], 'SnsTopicArn' => [ 'type' => 'string', 'min' => 1, ], 'StartSupportDataExportRequest' => [ 'type' => 'structure', 'required' => [ 'dataSetType', 'fromDate', 'roleNameArn', 'destinationS3BucketName', 'snsTopicArn', ], 'members' => [ 'dataSetType' => [ 'shape' => 'SupportDataSetType', ], 'fromDate' => [ 'shape' => 'FromDate', ], 'roleNameArn' => [ 'shape' => 'RoleNameArn', ], 'destinationS3BucketName' => [ 'shape' => 'DestinationS3BucketName', ], 'destinationS3Prefix' => [ 'shape' => 'DestinationS3Prefix', ], 'snsTopicArn' => [ 'shape' => 'SnsTopicArn', ], 'customerDefinedValues' => [ 'shape' => 'CustomerDefinedValues', ], ], ], 'StartSupportDataExportResult' => [ 'type' => 'structure', 'members' => [ 'dataSetRequestId' => [ 'shape' => 'DataSetRequestId', ], ], ], 'SupportDataSetType' => [ 'type' => 'string', 'enum' => [ 'customer_support_contacts_data', 'test_customer_support_contacts_data', ], 'max' => 255, 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json.php b/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json.php new file mode 100644 index 0000000..6766bb4 --- /dev/null +++ b/lib/aws/Aws/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mediaconnect/2018-11-14/api-2.json.php b/lib/aws/Aws/data/mediaconnect/2018-11-14/api-2.json.php new file mode 100644 index 0000000..bf9bae6 --- /dev/null +++ b/lib/aws/Aws/data/mediaconnect/2018-11-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediaconnect/2018-11-14/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-11-14', 'endpointPrefix' => 'mediaconnect', 'signingName' => 'mediaconnect', 'serviceFullName' => 'AWS MediaConnect', 'serviceId' => 'MediaConnect', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'mediaconnect-2018-11-14', 'signatureVersion' => 'v4', ], 'operations' => [ 'AddFlowOutputs' => [ 'name' => 'AddFlowOutputs', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/flows/{flowArn}/outputs', 'responseCode' => 201, ], 'input' => [ 'shape' => 'AddFlowOutputsRequest', ], 'output' => [ 'shape' => 'AddFlowOutputsResponse', ], 'errors' => [ [ 'shape' => 'AddFlowOutputs420Exception', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateFlow' => [ 'name' => 'CreateFlow', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/flows', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFlowRequest', ], 'output' => [ 'shape' => 'CreateFlowResponse', ], 'errors' => [ [ 'shape' => 'CreateFlow420Exception', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteFlow' => [ 'name' => 'DeleteFlow', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/flows/{flowArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteFlowRequest', ], 'output' => [ 'shape' => 'DeleteFlowResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeFlow' => [ 'name' => 'DescribeFlow', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/flows/{flowArn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeFlowRequest', ], 'output' => [ 'shape' => 'DescribeFlowResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GrantFlowEntitlements' => [ 'name' => 'GrantFlowEntitlements', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/flows/{flowArn}/entitlements', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GrantFlowEntitlementsRequest', ], 'output' => [ 'shape' => 'GrantFlowEntitlementsResponse', ], 'errors' => [ [ 'shape' => 'GrantFlowEntitlements420Exception', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListEntitlements' => [ 'name' => 'ListEntitlements', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/entitlements', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListEntitlementsRequest', ], 'output' => [ 'shape' => 'ListEntitlementsResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListFlows' => [ 'name' => 'ListFlows', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/flows', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListFlowsRequest', ], 'output' => [ 'shape' => 'ListFlowsResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resourceArn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'RemoveFlowOutput' => [ 'name' => 'RemoveFlowOutput', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/flows/{flowArn}/outputs/{outputArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'RemoveFlowOutputRequest', ], 'output' => [ 'shape' => 'RemoveFlowOutputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'RevokeFlowEntitlement' => [ 'name' => 'RevokeFlowEntitlement', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/flows/{flowArn}/entitlements/{entitlementArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'RevokeFlowEntitlementRequest', ], 'output' => [ 'shape' => 'RevokeFlowEntitlementResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'StartFlow' => [ 'name' => 'StartFlow', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/flows/start/{flowArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'StartFlowRequest', ], 'output' => [ 'shape' => 'StartFlowResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'StopFlow' => [ 'name' => 'StopFlow', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/flows/stop/{flowArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'StopFlowRequest', ], 'output' => [ 'shape' => 'StopFlowResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resourceArn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resourceArn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateFlowEntitlement' => [ 'name' => 'UpdateFlowEntitlement', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/flows/{flowArn}/entitlements/{entitlementArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateFlowEntitlementRequest', ], 'output' => [ 'shape' => 'UpdateFlowEntitlementResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateFlowOutput' => [ 'name' => 'UpdateFlowOutput', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/flows/{flowArn}/outputs/{outputArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateFlowOutputRequest', ], 'output' => [ 'shape' => 'UpdateFlowOutputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateFlowSource' => [ 'name' => 'UpdateFlowSource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/flows/{flowArn}/source/{sourceArn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateFlowSourceRequest', ], 'output' => [ 'shape' => 'UpdateFlowSourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'AddFlowOutputs420Exception' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 420, ], ], 'AddFlowOutputsRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], 'Outputs' => [ 'shape' => '__listOfAddOutputRequest', 'locationName' => 'outputs', ], ], 'required' => [ 'FlowArn', 'Outputs', ], ], 'AddFlowOutputsResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Outputs' => [ 'shape' => '__listOfOutput', 'locationName' => 'outputs', ], ], ], 'AddOutputRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Destination' => [ 'shape' => '__string', 'locationName' => 'destination', ], 'Encryption' => [ 'shape' => 'Encryption', 'locationName' => 'encryption', ], 'MaxLatency' => [ 'shape' => '__integer', 'locationName' => 'maxLatency', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Port' => [ 'shape' => '__integer', 'locationName' => 'port', ], 'Protocol' => [ 'shape' => 'Protocol', 'locationName' => 'protocol', ], 'SmoothingLatency' => [ 'shape' => '__integer', 'locationName' => 'smoothingLatency', ], 'StreamId' => [ 'shape' => '__string', 'locationName' => 'streamId', ], ], 'required' => [ 'Destination', 'Port', 'Protocol', ], ], 'Algorithm' => [ 'type' => 'string', 'enum' => [ 'aes128', 'aes192', 'aes256', ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'CreateFlow420Exception' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 420, ], ], 'CreateFlowRequest' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => '__string', 'locationName' => 'availabilityZone', ], 'Entitlements' => [ 'shape' => '__listOfGrantEntitlementRequest', 'locationName' => 'entitlements', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Outputs' => [ 'shape' => '__listOfAddOutputRequest', 'locationName' => 'outputs', ], 'Source' => [ 'shape' => 'SetSourceRequest', 'locationName' => 'source', ], ], 'required' => [ 'Source', 'Name', ], ], 'CreateFlowResponse' => [ 'type' => 'structure', 'members' => [ 'Flow' => [ 'shape' => 'Flow', 'locationName' => 'flow', ], ], ], 'DeleteFlowRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', ], ], 'DeleteFlowResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'DescribeFlowRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', ], ], 'DescribeFlowResponse' => [ 'type' => 'structure', 'members' => [ 'Flow' => [ 'shape' => 'Flow', 'locationName' => 'flow', ], 'Messages' => [ 'shape' => 'Messages', 'locationName' => 'messages', ], ], ], 'Encryption' => [ 'type' => 'structure', 'members' => [ 'Algorithm' => [ 'shape' => 'Algorithm', 'locationName' => 'algorithm', ], 'KeyType' => [ 'shape' => 'KeyType', 'locationName' => 'keyType', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'SecretArn' => [ 'shape' => '__string', 'locationName' => 'secretArn', ], ], 'required' => [ 'SecretArn', 'Algorithm', 'RoleArn', ], ], 'Entitlement' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Encryption' => [ 'shape' => 'Encryption', 'locationName' => 'encryption', ], 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Subscribers' => [ 'shape' => '__listOf__string', 'locationName' => 'subscribers', ], ], 'required' => [ 'EntitlementArn', 'Subscribers', 'Name', ], ], 'Flow' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => '__string', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EgressIp' => [ 'shape' => '__string', 'locationName' => 'egressIp', ], 'Entitlements' => [ 'shape' => '__listOfEntitlement', 'locationName' => 'entitlements', ], 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Outputs' => [ 'shape' => '__listOfOutput', 'locationName' => 'outputs', ], 'Source' => [ 'shape' => 'Source', 'locationName' => 'source', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], 'required' => [ 'Status', 'Entitlements', 'Outputs', 'AvailabilityZone', 'FlowArn', 'Source', 'Name', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'GrantEntitlementRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Encryption' => [ 'shape' => 'Encryption', 'locationName' => 'encryption', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Subscribers' => [ 'shape' => '__listOf__string', 'locationName' => 'subscribers', ], ], 'required' => [ 'Subscribers', ], ], 'GrantFlowEntitlements420Exception' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 420, ], ], 'GrantFlowEntitlementsRequest' => [ 'type' => 'structure', 'members' => [ 'Entitlements' => [ 'shape' => '__listOfGrantEntitlementRequest', 'locationName' => 'entitlements', ], 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', 'Entitlements', ], ], 'GrantFlowEntitlementsResponse' => [ 'type' => 'structure', 'members' => [ 'Entitlements' => [ 'shape' => '__listOfEntitlement', 'locationName' => 'entitlements', ], 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'KeyType' => [ 'type' => 'string', 'enum' => [ 'static-key', ], ], 'ListEntitlementsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListEntitlementsResponse' => [ 'type' => 'structure', 'members' => [ 'Entitlements' => [ 'shape' => '__listOfListedEntitlement', 'locationName' => 'entitlements', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListFlowsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListFlowsResponse' => [ 'type' => 'structure', 'members' => [ 'Flows' => [ 'shape' => '__listOfListedFlow', 'locationName' => 'flows', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resourceArn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'ListedEntitlement' => [ 'type' => 'structure', 'members' => [ 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'EntitlementName' => [ 'shape' => '__string', 'locationName' => 'entitlementName', ], ], 'required' => [ 'EntitlementArn', 'EntitlementName', ], ], 'ListedFlow' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => '__string', 'locationName' => 'availabilityZone', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SourceType' => [ 'shape' => 'SourceType', 'locationName' => 'sourceType', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], 'required' => [ 'Status', 'Description', 'SourceType', 'AvailabilityZone', 'FlowArn', 'Name', ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 1000, ], 'Messages' => [ 'type' => 'structure', 'members' => [ 'Errors' => [ 'shape' => '__listOf__string', 'locationName' => 'errors', ], ], 'required' => [ 'Errors', ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'Output' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Destination' => [ 'shape' => '__string', 'locationName' => 'destination', ], 'Encryption' => [ 'shape' => 'Encryption', 'locationName' => 'encryption', ], 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'MediaLiveInputArn' => [ 'shape' => '__string', 'locationName' => 'mediaLiveInputArn', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OutputArn' => [ 'shape' => '__string', 'locationName' => 'outputArn', ], 'Port' => [ 'shape' => '__integer', 'locationName' => 'port', ], 'Transport' => [ 'shape' => 'Transport', 'locationName' => 'transport', ], ], 'required' => [ 'OutputArn', 'Name', ], ], 'Protocol' => [ 'type' => 'string', 'enum' => [ 'zixi-push', 'rtp-fec', 'rtp', ], ], 'RemoveFlowOutputRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], 'OutputArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'outputArn', ], ], 'required' => [ 'FlowArn', 'OutputArn', ], ], 'RemoveFlowOutputResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'OutputArn' => [ 'shape' => '__string', 'locationName' => 'outputArn', ], ], ], 'ResponseError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], ], 'RevokeFlowEntitlementRequest' => [ 'type' => 'structure', 'members' => [ 'EntitlementArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'entitlementArn', ], 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', 'EntitlementArn', ], ], 'RevokeFlowEntitlementResponse' => [ 'type' => 'structure', 'members' => [ 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 503, ], ], 'SetSourceRequest' => [ 'type' => 'structure', 'members' => [ 'Decryption' => [ 'shape' => 'Encryption', 'locationName' => 'decryption', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'IngestPort' => [ 'shape' => '__integer', 'locationName' => 'ingestPort', ], 'MaxBitrate' => [ 'shape' => '__integer', 'locationName' => 'maxBitrate', ], 'MaxLatency' => [ 'shape' => '__integer', 'locationName' => 'maxLatency', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Protocol' => [ 'shape' => 'Protocol', 'locationName' => 'protocol', ], 'StreamId' => [ 'shape' => '__string', 'locationName' => 'streamId', ], 'WhitelistCidr' => [ 'shape' => '__string', 'locationName' => 'whitelistCidr', ], ], ], 'Source' => [ 'type' => 'structure', 'members' => [ 'Decryption' => [ 'shape' => 'Encryption', 'locationName' => 'decryption', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'IngestIp' => [ 'shape' => '__string', 'locationName' => 'ingestIp', ], 'IngestPort' => [ 'shape' => '__integer', 'locationName' => 'ingestPort', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SourceArn' => [ 'shape' => '__string', 'locationName' => 'sourceArn', ], 'Transport' => [ 'shape' => 'Transport', 'locationName' => 'transport', ], 'WhitelistCidr' => [ 'shape' => '__string', 'locationName' => 'whitelistCidr', ], ], 'required' => [ 'SourceArn', 'Name', ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'OWNED', 'ENTITLED', ], ], 'StartFlowRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', ], ], 'StartFlowResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'STANDBY', 'ACTIVE', 'UPDATING', 'DELETING', 'STARTING', 'STOPPING', 'ERROR', ], ], 'StopFlowRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], ], 'required' => [ 'FlowArn', ], ], 'StopFlowResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'ResourceArn', 'Tags', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'required' => [ 'Message', ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'Transport' => [ 'type' => 'structure', 'members' => [ 'MaxBitrate' => [ 'shape' => '__integer', 'locationName' => 'maxBitrate', ], 'MaxLatency' => [ 'shape' => '__integer', 'locationName' => 'maxLatency', ], 'Protocol' => [ 'shape' => 'Protocol', 'locationName' => 'protocol', ], 'SmoothingLatency' => [ 'shape' => '__integer', 'locationName' => 'smoothingLatency', ], 'StreamId' => [ 'shape' => '__string', 'locationName' => 'streamId', ], ], 'required' => [ 'Protocol', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'UpdateEncryption' => [ 'type' => 'structure', 'members' => [ 'Algorithm' => [ 'shape' => 'Algorithm', 'locationName' => 'algorithm', ], 'KeyType' => [ 'shape' => 'KeyType', 'locationName' => 'keyType', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'SecretArn' => [ 'shape' => '__string', 'locationName' => 'secretArn', ], ], ], 'UpdateFlowEntitlementRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Encryption' => [ 'shape' => 'UpdateEncryption', 'locationName' => 'encryption', ], 'EntitlementArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'entitlementArn', ], 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], 'Subscribers' => [ 'shape' => '__listOf__string', 'locationName' => 'subscribers', ], ], 'required' => [ 'FlowArn', 'EntitlementArn', ], ], 'UpdateFlowEntitlementResponse' => [ 'type' => 'structure', 'members' => [ 'Entitlement' => [ 'shape' => 'Entitlement', 'locationName' => 'entitlement', ], 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], ], ], 'UpdateFlowOutputRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Destination' => [ 'shape' => '__string', 'locationName' => 'destination', ], 'Encryption' => [ 'shape' => 'UpdateEncryption', 'locationName' => 'encryption', ], 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], 'MaxLatency' => [ 'shape' => '__integer', 'locationName' => 'maxLatency', ], 'OutputArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'outputArn', ], 'Port' => [ 'shape' => '__integer', 'locationName' => 'port', ], 'Protocol' => [ 'shape' => 'Protocol', 'locationName' => 'protocol', ], 'SmoothingLatency' => [ 'shape' => '__integer', 'locationName' => 'smoothingLatency', ], 'StreamId' => [ 'shape' => '__string', 'locationName' => 'streamId', ], ], 'required' => [ 'FlowArn', 'OutputArn', ], ], 'UpdateFlowOutputResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Output' => [ 'shape' => 'Output', 'locationName' => 'output', ], ], ], 'UpdateFlowSourceRequest' => [ 'type' => 'structure', 'members' => [ 'Decryption' => [ 'shape' => 'UpdateEncryption', 'locationName' => 'decryption', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EntitlementArn' => [ 'shape' => '__string', 'locationName' => 'entitlementArn', ], 'FlowArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'flowArn', ], 'IngestPort' => [ 'shape' => '__integer', 'locationName' => 'ingestPort', ], 'MaxBitrate' => [ 'shape' => '__integer', 'locationName' => 'maxBitrate', ], 'MaxLatency' => [ 'shape' => '__integer', 'locationName' => 'maxLatency', ], 'Protocol' => [ 'shape' => 'Protocol', 'locationName' => 'protocol', ], 'SourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'sourceArn', ], 'StreamId' => [ 'shape' => '__string', 'locationName' => 'streamId', ], 'WhitelistCidr' => [ 'shape' => '__string', 'locationName' => 'whitelistCidr', ], ], 'required' => [ 'FlowArn', 'SourceArn', ], ], 'UpdateFlowSourceResponse' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], 'Source' => [ 'shape' => 'Source', 'locationName' => 'source', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfAddOutputRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'AddOutputRequest', ], ], '__listOfEntitlement' => [ 'type' => 'list', 'member' => [ 'shape' => 'Entitlement', ], ], '__listOfGrantEntitlementRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'GrantEntitlementRequest', ], ], '__listOfListedEntitlement' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListedEntitlement', ], ], '__listOfListedFlow' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListedFlow', ], ], '__listOfOutput' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/mediaconnect/2018-11-14/paginators-1.json.php b/lib/aws/Aws/data/mediaconnect/2018-11-14/paginators-1.json.php new file mode 100644 index 0000000..b6f68ee --- /dev/null +++ b/lib/aws/Aws/data/mediaconnect/2018-11-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediaconnect/2018-11-14/paginators-1.json +return [ 'pagination' => [ 'ListFlows' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Flows', ], ],]; diff --git a/lib/aws/Aws/data/mediaconvert/2017-08-29/api-2.json.php b/lib/aws/Aws/data/mediaconvert/2017-08-29/api-2.json.php new file mode 100644 index 0000000..cb436a3 --- /dev/null +++ b/lib/aws/Aws/data/mediaconvert/2017-08-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediaconvert/2017-08-29/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-08-29', 'endpointPrefix' => 'mediaconvert', 'signingName' => 'mediaconvert', 'serviceFullName' => 'AWS Elemental MediaConvert', 'serviceId' => 'MediaConvert', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'mediaconvert-2017-08-29', 'signatureVersion' => 'v4', 'serviceAbbreviation' => 'MediaConvert', ], 'operations' => [ 'AssociateCertificate' => [ 'name' => 'AssociateCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/certificates', 'responseCode' => 201, ], 'input' => [ 'shape' => 'AssociateCertificateRequest', ], 'output' => [ 'shape' => 'AssociateCertificateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-08-29/jobs/{id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'CancelJobRequest', ], 'output' => [ 'shape' => 'CancelJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/jobs', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateJobRequest', ], 'output' => [ 'shape' => 'CreateJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateJobTemplate' => [ 'name' => 'CreateJobTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/jobTemplates', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateJobTemplateRequest', ], 'output' => [ 'shape' => 'CreateJobTemplateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreatePreset' => [ 'name' => 'CreatePreset', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/presets', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreatePresetRequest', ], 'output' => [ 'shape' => 'CreatePresetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateQueue' => [ 'name' => 'CreateQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/queues', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateQueueRequest', ], 'output' => [ 'shape' => 'CreateQueueResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteJobTemplate' => [ 'name' => 'DeleteJobTemplate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-08-29/jobTemplates/{name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteJobTemplateRequest', ], 'output' => [ 'shape' => 'DeleteJobTemplateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeletePreset' => [ 'name' => 'DeletePreset', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-08-29/presets/{name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeletePresetRequest', ], 'output' => [ 'shape' => 'DeletePresetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteQueue' => [ 'name' => 'DeleteQueue', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-08-29/queues/{name}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteQueueRequest', ], 'output' => [ 'shape' => 'DeleteQueueResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DescribeEndpoints' => [ 'name' => 'DescribeEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/endpoints', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeEndpointsRequest', ], 'output' => [ 'shape' => 'DescribeEndpointsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DisassociateCertificate' => [ 'name' => 'DisassociateCertificate', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2017-08-29/certificates/{arn}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DisassociateCertificateRequest', ], 'output' => [ 'shape' => 'DisassociateCertificateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'GetJob' => [ 'name' => 'GetJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/jobs/{id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetJobRequest', ], 'output' => [ 'shape' => 'GetJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'GetJobTemplate' => [ 'name' => 'GetJobTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/jobTemplates/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetJobTemplateRequest', ], 'output' => [ 'shape' => 'GetJobTemplateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'GetPreset' => [ 'name' => 'GetPreset', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/presets/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetPresetRequest', ], 'output' => [ 'shape' => 'GetPresetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'GetQueue' => [ 'name' => 'GetQueue', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/queues/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetQueueRequest', ], 'output' => [ 'shape' => 'GetQueueResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'ListJobTemplates' => [ 'name' => 'ListJobTemplates', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/jobTemplates', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListJobTemplatesRequest', ], 'output' => [ 'shape' => 'ListJobTemplatesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/jobs', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'ListPresets' => [ 'name' => 'ListPresets', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/presets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPresetsRequest', ], 'output' => [ 'shape' => 'ListPresetsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'ListQueues' => [ 'name' => 'ListQueues', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/queues', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListQueuesRequest', ], 'output' => [ 'shape' => 'ListQueuesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/2017-08-29/tags/{arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/2017-08-29/tags', 'responseCode' => 200, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-08-29/tags/{arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateJobTemplate' => [ 'name' => 'UpdateJobTemplate', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-08-29/jobTemplates/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateJobTemplateRequest', ], 'output' => [ 'shape' => 'UpdateJobTemplateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdatePreset' => [ 'name' => 'UpdatePreset', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-08-29/presets/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdatePresetRequest', ], 'output' => [ 'shape' => 'UpdatePresetResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateQueue' => [ 'name' => 'UpdateQueue', 'http' => [ 'method' => 'PUT', 'requestUri' => '/2017-08-29/queues/{name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateQueueRequest', ], 'output' => [ 'shape' => 'UpdateQueueResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], ], 'shapes' => [ 'AacAudioDescriptionBroadcasterMix' => [ 'type' => 'string', 'enum' => [ 'BROADCASTER_MIXED_AD', 'NORMAL', ], ], 'AacCodecProfile' => [ 'type' => 'string', 'enum' => [ 'LC', 'HEV1', 'HEV2', ], ], 'AacCodingMode' => [ 'type' => 'string', 'enum' => [ 'AD_RECEIVER_MIX', 'CODING_MODE_1_0', 'CODING_MODE_1_1', 'CODING_MODE_2_0', 'CODING_MODE_5_1', ], ], 'AacRateControlMode' => [ 'type' => 'string', 'enum' => [ 'CBR', 'VBR', ], ], 'AacRawFormat' => [ 'type' => 'string', 'enum' => [ 'LATM_LOAS', 'NONE', ], ], 'AacSettings' => [ 'type' => 'structure', 'members' => [ 'AudioDescriptionBroadcasterMix' => [ 'shape' => 'AacAudioDescriptionBroadcasterMix', 'locationName' => 'audioDescriptionBroadcasterMix', ], 'Bitrate' => [ 'shape' => '__integerMin6000Max1024000', 'locationName' => 'bitrate', ], 'CodecProfile' => [ 'shape' => 'AacCodecProfile', 'locationName' => 'codecProfile', ], 'CodingMode' => [ 'shape' => 'AacCodingMode', 'locationName' => 'codingMode', ], 'RateControlMode' => [ 'shape' => 'AacRateControlMode', 'locationName' => 'rateControlMode', ], 'RawFormat' => [ 'shape' => 'AacRawFormat', 'locationName' => 'rawFormat', ], 'SampleRate' => [ 'shape' => '__integerMin8000Max96000', 'locationName' => 'sampleRate', ], 'Specification' => [ 'shape' => 'AacSpecification', 'locationName' => 'specification', ], 'VbrQuality' => [ 'shape' => 'AacVbrQuality', 'locationName' => 'vbrQuality', ], ], ], 'AacSpecification' => [ 'type' => 'string', 'enum' => [ 'MPEG2', 'MPEG4', ], ], 'AacVbrQuality' => [ 'type' => 'string', 'enum' => [ 'LOW', 'MEDIUM_LOW', 'MEDIUM_HIGH', 'HIGH', ], ], 'Ac3BitstreamMode' => [ 'type' => 'string', 'enum' => [ 'COMPLETE_MAIN', 'COMMENTARY', 'DIALOGUE', 'EMERGENCY', 'HEARING_IMPAIRED', 'MUSIC_AND_EFFECTS', 'VISUALLY_IMPAIRED', 'VOICE_OVER', ], ], 'Ac3CodingMode' => [ 'type' => 'string', 'enum' => [ 'CODING_MODE_1_0', 'CODING_MODE_1_1', 'CODING_MODE_2_0', 'CODING_MODE_3_2_LFE', ], ], 'Ac3DynamicRangeCompressionProfile' => [ 'type' => 'string', 'enum' => [ 'FILM_STANDARD', 'NONE', ], ], 'Ac3LfeFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Ac3MetadataControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'Ac3Settings' => [ 'type' => 'structure', 'members' => [ 'Bitrate' => [ 'shape' => '__integerMin64000Max640000', 'locationName' => 'bitrate', ], 'BitstreamMode' => [ 'shape' => 'Ac3BitstreamMode', 'locationName' => 'bitstreamMode', ], 'CodingMode' => [ 'shape' => 'Ac3CodingMode', 'locationName' => 'codingMode', ], 'Dialnorm' => [ 'shape' => '__integerMin1Max31', 'locationName' => 'dialnorm', ], 'DynamicRangeCompressionProfile' => [ 'shape' => 'Ac3DynamicRangeCompressionProfile', 'locationName' => 'dynamicRangeCompressionProfile', ], 'LfeFilter' => [ 'shape' => 'Ac3LfeFilter', 'locationName' => 'lfeFilter', ], 'MetadataControl' => [ 'shape' => 'Ac3MetadataControl', 'locationName' => 'metadataControl', ], 'SampleRate' => [ 'shape' => '__integerMin48000Max48000', 'locationName' => 'sampleRate', ], ], ], 'AccelerationMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'AccelerationSettings' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'AccelerationMode', 'locationName' => 'mode', ], ], 'required' => [ 'Mode', ], ], 'AfdSignaling' => [ 'type' => 'string', 'enum' => [ 'NONE', 'AUTO', 'FIXED', ], ], 'AiffSettings' => [ 'type' => 'structure', 'members' => [ 'BitDepth' => [ 'shape' => '__integerMin16Max24', 'locationName' => 'bitDepth', ], 'Channels' => [ 'shape' => '__integerMin1Max2', 'locationName' => 'channels', ], 'SampleRate' => [ 'shape' => '__integerMin8000Max192000', 'locationName' => 'sampleRate', ], ], ], 'AncillarySourceSettings' => [ 'type' => 'structure', 'members' => [ 'SourceAncillaryChannelNumber' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'sourceAncillaryChannelNumber', ], ], ], 'AntiAlias' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'AssociateCertificateRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], ], 'required' => [ 'Arn', ], ], 'AssociateCertificateResponse' => [ 'type' => 'structure', 'members' => [], ], 'AudioCodec' => [ 'type' => 'string', 'enum' => [ 'AAC', 'MP2', 'WAV', 'AIFF', 'AC3', 'EAC3', 'PASSTHROUGH', ], ], 'AudioCodecSettings' => [ 'type' => 'structure', 'members' => [ 'AacSettings' => [ 'shape' => 'AacSettings', 'locationName' => 'aacSettings', ], 'Ac3Settings' => [ 'shape' => 'Ac3Settings', 'locationName' => 'ac3Settings', ], 'AiffSettings' => [ 'shape' => 'AiffSettings', 'locationName' => 'aiffSettings', ], 'Codec' => [ 'shape' => 'AudioCodec', 'locationName' => 'codec', ], 'Eac3Settings' => [ 'shape' => 'Eac3Settings', 'locationName' => 'eac3Settings', ], 'Mp2Settings' => [ 'shape' => 'Mp2Settings', 'locationName' => 'mp2Settings', ], 'WavSettings' => [ 'shape' => 'WavSettings', 'locationName' => 'wavSettings', ], ], ], 'AudioDefaultSelection' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'NOT_DEFAULT', ], ], 'AudioDescription' => [ 'type' => 'structure', 'members' => [ 'AudioNormalizationSettings' => [ 'shape' => 'AudioNormalizationSettings', 'locationName' => 'audioNormalizationSettings', ], 'AudioSourceName' => [ 'shape' => '__string', 'locationName' => 'audioSourceName', ], 'AudioType' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'audioType', ], 'AudioTypeControl' => [ 'shape' => 'AudioTypeControl', 'locationName' => 'audioTypeControl', ], 'CodecSettings' => [ 'shape' => 'AudioCodecSettings', 'locationName' => 'codecSettings', ], 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'LanguageCodeControl' => [ 'shape' => 'AudioLanguageCodeControl', 'locationName' => 'languageCodeControl', ], 'RemixSettings' => [ 'shape' => 'RemixSettings', 'locationName' => 'remixSettings', ], 'StreamName' => [ 'shape' => '__stringPatternWS', 'locationName' => 'streamName', ], ], ], 'AudioLanguageCodeControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'AudioNormalizationAlgorithm' => [ 'type' => 'string', 'enum' => [ 'ITU_BS_1770_1', 'ITU_BS_1770_2', ], ], 'AudioNormalizationAlgorithmControl' => [ 'type' => 'string', 'enum' => [ 'CORRECT_AUDIO', 'MEASURE_ONLY', ], ], 'AudioNormalizationLoudnessLogging' => [ 'type' => 'string', 'enum' => [ 'LOG', 'DONT_LOG', ], ], 'AudioNormalizationPeakCalculation' => [ 'type' => 'string', 'enum' => [ 'TRUE_PEAK', 'NONE', ], ], 'AudioNormalizationSettings' => [ 'type' => 'structure', 'members' => [ 'Algorithm' => [ 'shape' => 'AudioNormalizationAlgorithm', 'locationName' => 'algorithm', ], 'AlgorithmControl' => [ 'shape' => 'AudioNormalizationAlgorithmControl', 'locationName' => 'algorithmControl', ], 'CorrectionGateLevel' => [ 'shape' => '__integerMinNegative70Max0', 'locationName' => 'correctionGateLevel', ], 'LoudnessLogging' => [ 'shape' => 'AudioNormalizationLoudnessLogging', 'locationName' => 'loudnessLogging', ], 'PeakCalculation' => [ 'shape' => 'AudioNormalizationPeakCalculation', 'locationName' => 'peakCalculation', ], 'TargetLkfs' => [ 'shape' => '__doubleMinNegative59Max0', 'locationName' => 'targetLkfs', ], ], ], 'AudioSelector' => [ 'type' => 'structure', 'members' => [ 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'DefaultSelection' => [ 'shape' => 'AudioDefaultSelection', 'locationName' => 'defaultSelection', ], 'ExternalAudioFileInput' => [ 'shape' => '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE', 'locationName' => 'externalAudioFileInput', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'Offset' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'offset', ], 'Pids' => [ 'shape' => '__listOf__integerMin1Max2147483647', 'locationName' => 'pids', ], 'ProgramSelection' => [ 'shape' => '__integerMin0Max8', 'locationName' => 'programSelection', ], 'RemixSettings' => [ 'shape' => 'RemixSettings', 'locationName' => 'remixSettings', ], 'SelectorType' => [ 'shape' => 'AudioSelectorType', 'locationName' => 'selectorType', ], 'Tracks' => [ 'shape' => '__listOf__integerMin1Max2147483647', 'locationName' => 'tracks', ], ], ], 'AudioSelectorGroup' => [ 'type' => 'structure', 'members' => [ 'AudioSelectorNames' => [ 'shape' => '__listOf__stringMin1', 'locationName' => 'audioSelectorNames', ], ], ], 'AudioSelectorType' => [ 'type' => 'string', 'enum' => [ 'PID', 'TRACK', 'LANGUAGE_CODE', ], ], 'AudioTypeControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'AvailBlanking' => [ 'type' => 'structure', 'members' => [ 'AvailBlankingImage' => [ 'shape' => '__stringMin14PatternS3BmpBMPPngPNG', 'locationName' => 'availBlankingImage', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BillingTagsSource' => [ 'type' => 'string', 'enum' => [ 'QUEUE', 'PRESET', 'JOB_TEMPLATE', ], ], 'BurninDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Alignment' => [ 'shape' => 'BurninSubtitleAlignment', 'locationName' => 'alignment', ], 'BackgroundColor' => [ 'shape' => 'BurninSubtitleBackgroundColor', 'locationName' => 'backgroundColor', ], 'BackgroundOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'backgroundOpacity', ], 'FontColor' => [ 'shape' => 'BurninSubtitleFontColor', 'locationName' => 'fontColor', ], 'FontOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'fontOpacity', ], 'FontResolution' => [ 'shape' => '__integerMin96Max600', 'locationName' => 'fontResolution', ], 'FontScript' => [ 'shape' => 'FontScript', 'locationName' => 'fontScript', ], 'FontSize' => [ 'shape' => '__integerMin0Max96', 'locationName' => 'fontSize', ], 'OutlineColor' => [ 'shape' => 'BurninSubtitleOutlineColor', 'locationName' => 'outlineColor', ], 'OutlineSize' => [ 'shape' => '__integerMin0Max10', 'locationName' => 'outlineSize', ], 'ShadowColor' => [ 'shape' => 'BurninSubtitleShadowColor', 'locationName' => 'shadowColor', ], 'ShadowOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'shadowOpacity', ], 'ShadowXOffset' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'shadowXOffset', ], 'ShadowYOffset' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'shadowYOffset', ], 'TeletextSpacing' => [ 'shape' => 'BurninSubtitleTeletextSpacing', 'locationName' => 'teletextSpacing', ], 'XPosition' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'xPosition', ], 'YPosition' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'yPosition', ], ], ], 'BurninSubtitleAlignment' => [ 'type' => 'string', 'enum' => [ 'CENTERED', 'LEFT', ], ], 'BurninSubtitleBackgroundColor' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BLACK', 'WHITE', ], ], 'BurninSubtitleFontColor' => [ 'type' => 'string', 'enum' => [ 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', ], ], 'BurninSubtitleOutlineColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'WHITE', 'YELLOW', 'RED', 'GREEN', 'BLUE', ], ], 'BurninSubtitleShadowColor' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BLACK', 'WHITE', ], ], 'BurninSubtitleTeletextSpacing' => [ 'type' => 'string', 'enum' => [ 'FIXED_GRID', 'PROPORTIONAL', ], ], 'CancelJobRequest' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', 'locationName' => 'id', 'location' => 'uri', ], ], 'required' => [ 'Id', ], ], 'CancelJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'CaptionDescription' => [ 'type' => 'structure', 'members' => [ 'CaptionSelectorName' => [ 'shape' => '__stringMin1', 'locationName' => 'captionSelectorName', ], 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'DestinationSettings' => [ 'shape' => 'CaptionDestinationSettings', 'locationName' => 'destinationSettings', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'LanguageDescription' => [ 'shape' => '__string', 'locationName' => 'languageDescription', ], ], ], 'CaptionDescriptionPreset' => [ 'type' => 'structure', 'members' => [ 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'DestinationSettings' => [ 'shape' => 'CaptionDestinationSettings', 'locationName' => 'destinationSettings', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'LanguageDescription' => [ 'shape' => '__string', 'locationName' => 'languageDescription', ], ], ], 'CaptionDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'BurninDestinationSettings' => [ 'shape' => 'BurninDestinationSettings', 'locationName' => 'burninDestinationSettings', ], 'DestinationType' => [ 'shape' => 'CaptionDestinationType', 'locationName' => 'destinationType', ], 'DvbSubDestinationSettings' => [ 'shape' => 'DvbSubDestinationSettings', 'locationName' => 'dvbSubDestinationSettings', ], 'EmbeddedDestinationSettings' => [ 'shape' => 'EmbeddedDestinationSettings', 'locationName' => 'embeddedDestinationSettings', ], 'SccDestinationSettings' => [ 'shape' => 'SccDestinationSettings', 'locationName' => 'sccDestinationSettings', ], 'TeletextDestinationSettings' => [ 'shape' => 'TeletextDestinationSettings', 'locationName' => 'teletextDestinationSettings', ], 'TtmlDestinationSettings' => [ 'shape' => 'TtmlDestinationSettings', 'locationName' => 'ttmlDestinationSettings', ], ], ], 'CaptionDestinationType' => [ 'type' => 'string', 'enum' => [ 'BURN_IN', 'DVB_SUB', 'EMBEDDED', 'EMBEDDED_PLUS_SCTE20', 'SCTE20_PLUS_EMBEDDED', 'SCC', 'SRT', 'SMI', 'TELETEXT', 'TTML', 'WEBVTT', ], ], 'CaptionSelector' => [ 'type' => 'structure', 'members' => [ 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'SourceSettings' => [ 'shape' => 'CaptionSourceSettings', 'locationName' => 'sourceSettings', ], ], ], 'CaptionSourceSettings' => [ 'type' => 'structure', 'members' => [ 'AncillarySourceSettings' => [ 'shape' => 'AncillarySourceSettings', 'locationName' => 'ancillarySourceSettings', ], 'DvbSubSourceSettings' => [ 'shape' => 'DvbSubSourceSettings', 'locationName' => 'dvbSubSourceSettings', ], 'EmbeddedSourceSettings' => [ 'shape' => 'EmbeddedSourceSettings', 'locationName' => 'embeddedSourceSettings', ], 'FileSourceSettings' => [ 'shape' => 'FileSourceSettings', 'locationName' => 'fileSourceSettings', ], 'SourceType' => [ 'shape' => 'CaptionSourceType', 'locationName' => 'sourceType', ], 'TeletextSourceSettings' => [ 'shape' => 'TeletextSourceSettings', 'locationName' => 'teletextSourceSettings', ], 'TrackSourceSettings' => [ 'shape' => 'TrackSourceSettings', 'locationName' => 'trackSourceSettings', ], ], ], 'CaptionSourceType' => [ 'type' => 'string', 'enum' => [ 'ANCILLARY', 'DVB_SUB', 'EMBEDDED', 'SCTE20', 'SCC', 'TTML', 'STL', 'SRT', 'SMI', 'TELETEXT', 'NULL_SOURCE', 'IMSC', ], ], 'ChannelMapping' => [ 'type' => 'structure', 'members' => [ 'OutputChannels' => [ 'shape' => '__listOfOutputChannelMapping', 'locationName' => 'outputChannels', ], ], ], 'CmafClientCache' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'CmafCodecSpecification' => [ 'type' => 'string', 'enum' => [ 'RFC_6381', 'RFC_4281', ], ], 'CmafEncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'ConstantInitializationVector' => [ 'shape' => '__stringMin32Max32Pattern09aFAF32', 'locationName' => 'constantInitializationVector', ], 'EncryptionMethod' => [ 'shape' => 'CmafEncryptionType', 'locationName' => 'encryptionMethod', ], 'InitializationVectorInManifest' => [ 'shape' => 'CmafInitializationVectorInManifest', 'locationName' => 'initializationVectorInManifest', ], 'StaticKeyProvider' => [ 'shape' => 'StaticKeyProvider', 'locationName' => 'staticKeyProvider', ], 'Type' => [ 'shape' => 'CmafKeyProviderType', 'locationName' => 'type', ], ], ], 'CmafEncryptionType' => [ 'type' => 'string', 'enum' => [ 'SAMPLE_AES', ], ], 'CmafGroupSettings' => [ 'type' => 'structure', 'members' => [ 'BaseUrl' => [ 'shape' => '__string', 'locationName' => 'baseUrl', ], 'ClientCache' => [ 'shape' => 'CmafClientCache', 'locationName' => 'clientCache', ], 'CodecSpecification' => [ 'shape' => 'CmafCodecSpecification', 'locationName' => 'codecSpecification', ], 'Destination' => [ 'shape' => '__stringPatternS3', 'locationName' => 'destination', ], 'DestinationSettings' => [ 'shape' => 'DestinationSettings', 'locationName' => 'destinationSettings', ], 'Encryption' => [ 'shape' => 'CmafEncryptionSettings', 'locationName' => 'encryption', ], 'FragmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'fragmentLength', ], 'ManifestCompression' => [ 'shape' => 'CmafManifestCompression', 'locationName' => 'manifestCompression', ], 'ManifestDurationFormat' => [ 'shape' => 'CmafManifestDurationFormat', 'locationName' => 'manifestDurationFormat', ], 'MinBufferTime' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'minBufferTime', ], 'MinFinalSegmentLength' => [ 'shape' => '__doubleMin0Max2147483647', 'locationName' => 'minFinalSegmentLength', ], 'SegmentControl' => [ 'shape' => 'CmafSegmentControl', 'locationName' => 'segmentControl', ], 'SegmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'segmentLength', ], 'StreamInfResolution' => [ 'shape' => 'CmafStreamInfResolution', 'locationName' => 'streamInfResolution', ], 'WriteDashManifest' => [ 'shape' => 'CmafWriteDASHManifest', 'locationName' => 'writeDashManifest', ], 'WriteHlsManifest' => [ 'shape' => 'CmafWriteHLSManifest', 'locationName' => 'writeHlsManifest', ], ], ], 'CmafInitializationVectorInManifest' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'CmafKeyProviderType' => [ 'type' => 'string', 'enum' => [ 'STATIC_KEY', ], ], 'CmafManifestCompression' => [ 'type' => 'string', 'enum' => [ 'GZIP', 'NONE', ], ], 'CmafManifestDurationFormat' => [ 'type' => 'string', 'enum' => [ 'FLOATING_POINT', 'INTEGER', ], ], 'CmafSegmentControl' => [ 'type' => 'string', 'enum' => [ 'SINGLE_FILE', 'SEGMENTED_FILES', ], ], 'CmafStreamInfResolution' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'CmafWriteDASHManifest' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'CmafWriteHLSManifest' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'ColorCorrector' => [ 'type' => 'structure', 'members' => [ 'Brightness' => [ 'shape' => '__integerMin1Max100', 'locationName' => 'brightness', ], 'ColorSpaceConversion' => [ 'shape' => 'ColorSpaceConversion', 'locationName' => 'colorSpaceConversion', ], 'Contrast' => [ 'shape' => '__integerMin1Max100', 'locationName' => 'contrast', ], 'Hdr10Metadata' => [ 'shape' => 'Hdr10Metadata', 'locationName' => 'hdr10Metadata', ], 'Hue' => [ 'shape' => '__integerMinNegative180Max180', 'locationName' => 'hue', ], 'Saturation' => [ 'shape' => '__integerMin1Max100', 'locationName' => 'saturation', ], ], ], 'ColorMetadata' => [ 'type' => 'string', 'enum' => [ 'IGNORE', 'INSERT', ], ], 'ColorSpace' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'REC_601', 'REC_709', 'HDR10', 'HLG_2020', ], ], 'ColorSpaceConversion' => [ 'type' => 'string', 'enum' => [ 'NONE', 'FORCE_601', 'FORCE_709', 'FORCE_HDR10', 'FORCE_HLG_2020', ], ], 'ColorSpaceUsage' => [ 'type' => 'string', 'enum' => [ 'FORCE', 'FALLBACK', ], ], 'Commitment' => [ 'type' => 'string', 'enum' => [ 'ONE_YEAR', ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'ContainerSettings' => [ 'type' => 'structure', 'members' => [ 'Container' => [ 'shape' => 'ContainerType', 'locationName' => 'container', ], 'F4vSettings' => [ 'shape' => 'F4vSettings', 'locationName' => 'f4vSettings', ], 'M2tsSettings' => [ 'shape' => 'M2tsSettings', 'locationName' => 'm2tsSettings', ], 'M3u8Settings' => [ 'shape' => 'M3u8Settings', 'locationName' => 'm3u8Settings', ], 'MovSettings' => [ 'shape' => 'MovSettings', 'locationName' => 'movSettings', ], 'Mp4Settings' => [ 'shape' => 'Mp4Settings', 'locationName' => 'mp4Settings', ], ], ], 'ContainerType' => [ 'type' => 'string', 'enum' => [ 'F4V', 'ISMV', 'M2TS', 'M3U8', 'CMFC', 'MOV', 'MP4', 'MPD', 'MXF', 'RAW', ], ], 'CreateJobRequest' => [ 'type' => 'structure', 'members' => [ 'AccelerationSettings' => [ 'shape' => 'AccelerationSettings', 'locationName' => 'accelerationSettings', ], 'BillingTagsSource' => [ 'shape' => 'BillingTagsSource', 'locationName' => 'billingTagsSource', ], 'ClientRequestToken' => [ 'shape' => '__string', 'locationName' => 'clientRequestToken', 'idempotencyToken' => true, ], 'JobTemplate' => [ 'shape' => '__string', 'locationName' => 'jobTemplate', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Role' => [ 'shape' => '__string', 'locationName' => 'role', ], 'Settings' => [ 'shape' => 'JobSettings', 'locationName' => 'settings', ], 'StatusUpdateInterval' => [ 'shape' => 'StatusUpdateInterval', 'locationName' => 'statusUpdateInterval', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', 'locationName' => 'job', ], ], ], 'CreateJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'AccelerationSettings' => [ 'shape' => 'AccelerationSettings', 'locationName' => 'accelerationSettings', ], 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Settings' => [ 'shape' => 'JobTemplateSettings', 'locationName' => 'settings', ], 'StatusUpdateInterval' => [ 'shape' => 'StatusUpdateInterval', 'locationName' => 'statusUpdateInterval', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'Settings', 'Name', ], ], 'CreateJobTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'JobTemplate' => [ 'shape' => 'JobTemplate', 'locationName' => 'jobTemplate', ], ], ], 'CreatePresetRequest' => [ 'type' => 'structure', 'members' => [ 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Settings' => [ 'shape' => 'PresetSettings', 'locationName' => 'settings', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'Settings', 'Name', ], ], 'CreatePresetResponse' => [ 'type' => 'structure', 'members' => [ 'Preset' => [ 'shape' => 'Preset', 'locationName' => 'preset', ], ], ], 'CreateQueueRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PricingPlan' => [ 'shape' => 'PricingPlan', 'locationName' => 'pricingPlan', ], 'ReservationPlanSettings' => [ 'shape' => 'ReservationPlanSettings', 'locationName' => 'reservationPlanSettings', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'Name', ], ], 'CreateQueueResponse' => [ 'type' => 'structure', 'members' => [ 'Queue' => [ 'shape' => 'Queue', 'locationName' => 'queue', ], ], ], 'DashIsoEncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'SpekeKeyProvider' => [ 'shape' => 'SpekeKeyProvider', 'locationName' => 'spekeKeyProvider', ], ], ], 'DashIsoGroupSettings' => [ 'type' => 'structure', 'members' => [ 'BaseUrl' => [ 'shape' => '__string', 'locationName' => 'baseUrl', ], 'Destination' => [ 'shape' => '__stringPatternS3', 'locationName' => 'destination', ], 'DestinationSettings' => [ 'shape' => 'DestinationSettings', 'locationName' => 'destinationSettings', ], 'Encryption' => [ 'shape' => 'DashIsoEncryptionSettings', 'locationName' => 'encryption', ], 'FragmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'fragmentLength', ], 'HbbtvCompliance' => [ 'shape' => 'DashIsoHbbtvCompliance', 'locationName' => 'hbbtvCompliance', ], 'MinBufferTime' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'minBufferTime', ], 'SegmentControl' => [ 'shape' => 'DashIsoSegmentControl', 'locationName' => 'segmentControl', ], 'SegmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'segmentLength', ], 'WriteSegmentTimelineInRepresentation' => [ 'shape' => 'DashIsoWriteSegmentTimelineInRepresentation', 'locationName' => 'writeSegmentTimelineInRepresentation', ], ], ], 'DashIsoHbbtvCompliance' => [ 'type' => 'string', 'enum' => [ 'HBBTV_1_5', 'NONE', ], ], 'DashIsoSegmentControl' => [ 'type' => 'string', 'enum' => [ 'SINGLE_FILE', 'SEGMENTED_FILES', ], ], 'DashIsoWriteSegmentTimelineInRepresentation' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'DecryptionMode' => [ 'type' => 'string', 'enum' => [ 'AES_CTR', 'AES_CBC', 'AES_GCM', ], ], 'DeinterlaceAlgorithm' => [ 'type' => 'string', 'enum' => [ 'INTERPOLATE', 'INTERPOLATE_TICKER', 'BLEND', 'BLEND_TICKER', ], ], 'Deinterlacer' => [ 'type' => 'structure', 'members' => [ 'Algorithm' => [ 'shape' => 'DeinterlaceAlgorithm', 'locationName' => 'algorithm', ], 'Control' => [ 'shape' => 'DeinterlacerControl', 'locationName' => 'control', ], 'Mode' => [ 'shape' => 'DeinterlacerMode', 'locationName' => 'mode', ], ], ], 'DeinterlacerControl' => [ 'type' => 'string', 'enum' => [ 'FORCE_ALL_FRAMES', 'NORMAL', ], ], 'DeinterlacerMode' => [ 'type' => 'string', 'enum' => [ 'DEINTERLACE', 'INVERSE_TELECINE', 'ADAPTIVE', ], ], 'DeleteJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'DeleteJobTemplateResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePresetRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'DeletePresetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteQueueRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'DeleteQueueResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEndpointsMode' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'GET_ONLY', ], ], 'DescribeEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__integer', 'locationName' => 'maxResults', ], 'Mode' => [ 'shape' => 'DescribeEndpointsMode', 'locationName' => 'mode', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'DescribeEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'Endpoints' => [ 'shape' => '__listOfEndpoint', 'locationName' => 'endpoints', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'DestinationSettings' => [ 'type' => 'structure', 'members' => [ 'S3Settings' => [ 'shape' => 'S3DestinationSettings', 'locationName' => 's3Settings', ], ], ], 'DisassociateCertificateRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', 'location' => 'uri', ], ], 'required' => [ 'Arn', ], ], 'DisassociateCertificateResponse' => [ 'type' => 'structure', 'members' => [], ], 'DropFrameTimecode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'DvbNitSettings' => [ 'type' => 'structure', 'members' => [ 'NetworkId' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'networkId', ], 'NetworkName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'networkName', ], 'NitInterval' => [ 'shape' => '__integerMin25Max10000', 'locationName' => 'nitInterval', ], ], ], 'DvbSdtSettings' => [ 'type' => 'structure', 'members' => [ 'OutputSdt' => [ 'shape' => 'OutputSdt', 'locationName' => 'outputSdt', ], 'SdtInterval' => [ 'shape' => '__integerMin25Max2000', 'locationName' => 'sdtInterval', ], 'ServiceName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'serviceName', ], 'ServiceProviderName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'serviceProviderName', ], ], ], 'DvbSubDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Alignment' => [ 'shape' => 'DvbSubtitleAlignment', 'locationName' => 'alignment', ], 'BackgroundColor' => [ 'shape' => 'DvbSubtitleBackgroundColor', 'locationName' => 'backgroundColor', ], 'BackgroundOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'backgroundOpacity', ], 'FontColor' => [ 'shape' => 'DvbSubtitleFontColor', 'locationName' => 'fontColor', ], 'FontOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'fontOpacity', ], 'FontResolution' => [ 'shape' => '__integerMin96Max600', 'locationName' => 'fontResolution', ], 'FontScript' => [ 'shape' => 'FontScript', 'locationName' => 'fontScript', ], 'FontSize' => [ 'shape' => '__integerMin0Max96', 'locationName' => 'fontSize', ], 'OutlineColor' => [ 'shape' => 'DvbSubtitleOutlineColor', 'locationName' => 'outlineColor', ], 'OutlineSize' => [ 'shape' => '__integerMin0Max10', 'locationName' => 'outlineSize', ], 'ShadowColor' => [ 'shape' => 'DvbSubtitleShadowColor', 'locationName' => 'shadowColor', ], 'ShadowOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'shadowOpacity', ], 'ShadowXOffset' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'shadowXOffset', ], 'ShadowYOffset' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'shadowYOffset', ], 'TeletextSpacing' => [ 'shape' => 'DvbSubtitleTeletextSpacing', 'locationName' => 'teletextSpacing', ], 'XPosition' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'xPosition', ], 'YPosition' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'yPosition', ], ], ], 'DvbSubSourceSettings' => [ 'type' => 'structure', 'members' => [ 'Pid' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'pid', ], ], ], 'DvbSubtitleAlignment' => [ 'type' => 'string', 'enum' => [ 'CENTERED', 'LEFT', ], ], 'DvbSubtitleBackgroundColor' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BLACK', 'WHITE', ], ], 'DvbSubtitleFontColor' => [ 'type' => 'string', 'enum' => [ 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', ], ], 'DvbSubtitleOutlineColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'WHITE', 'YELLOW', 'RED', 'GREEN', 'BLUE', ], ], 'DvbSubtitleShadowColor' => [ 'type' => 'string', 'enum' => [ 'NONE', 'BLACK', 'WHITE', ], ], 'DvbSubtitleTeletextSpacing' => [ 'type' => 'string', 'enum' => [ 'FIXED_GRID', 'PROPORTIONAL', ], ], 'DvbTdtSettings' => [ 'type' => 'structure', 'members' => [ 'TdtInterval' => [ 'shape' => '__integerMin1000Max30000', 'locationName' => 'tdtInterval', ], ], ], 'Eac3AttenuationControl' => [ 'type' => 'string', 'enum' => [ 'ATTENUATE_3_DB', 'NONE', ], ], 'Eac3BitstreamMode' => [ 'type' => 'string', 'enum' => [ 'COMPLETE_MAIN', 'COMMENTARY', 'EMERGENCY', 'HEARING_IMPAIRED', 'VISUALLY_IMPAIRED', ], ], 'Eac3CodingMode' => [ 'type' => 'string', 'enum' => [ 'CODING_MODE_1_0', 'CODING_MODE_2_0', 'CODING_MODE_3_2', ], ], 'Eac3DcFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Eac3DynamicRangeCompressionLine' => [ 'type' => 'string', 'enum' => [ 'NONE', 'FILM_STANDARD', 'FILM_LIGHT', 'MUSIC_STANDARD', 'MUSIC_LIGHT', 'SPEECH', ], ], 'Eac3DynamicRangeCompressionRf' => [ 'type' => 'string', 'enum' => [ 'NONE', 'FILM_STANDARD', 'FILM_LIGHT', 'MUSIC_STANDARD', 'MUSIC_LIGHT', 'SPEECH', ], ], 'Eac3LfeControl' => [ 'type' => 'string', 'enum' => [ 'LFE', 'NO_LFE', ], ], 'Eac3LfeFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Eac3MetadataControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'Eac3PassthroughControl' => [ 'type' => 'string', 'enum' => [ 'WHEN_POSSIBLE', 'NO_PASSTHROUGH', ], ], 'Eac3PhaseControl' => [ 'type' => 'string', 'enum' => [ 'SHIFT_90_DEGREES', 'NO_SHIFT', ], ], 'Eac3Settings' => [ 'type' => 'structure', 'members' => [ 'AttenuationControl' => [ 'shape' => 'Eac3AttenuationControl', 'locationName' => 'attenuationControl', ], 'Bitrate' => [ 'shape' => '__integerMin64000Max640000', 'locationName' => 'bitrate', ], 'BitstreamMode' => [ 'shape' => 'Eac3BitstreamMode', 'locationName' => 'bitstreamMode', ], 'CodingMode' => [ 'shape' => 'Eac3CodingMode', 'locationName' => 'codingMode', ], 'DcFilter' => [ 'shape' => 'Eac3DcFilter', 'locationName' => 'dcFilter', ], 'Dialnorm' => [ 'shape' => '__integerMin1Max31', 'locationName' => 'dialnorm', ], 'DynamicRangeCompressionLine' => [ 'shape' => 'Eac3DynamicRangeCompressionLine', 'locationName' => 'dynamicRangeCompressionLine', ], 'DynamicRangeCompressionRf' => [ 'shape' => 'Eac3DynamicRangeCompressionRf', 'locationName' => 'dynamicRangeCompressionRf', ], 'LfeControl' => [ 'shape' => 'Eac3LfeControl', 'locationName' => 'lfeControl', ], 'LfeFilter' => [ 'shape' => 'Eac3LfeFilter', 'locationName' => 'lfeFilter', ], 'LoRoCenterMixLevel' => [ 'shape' => '__doubleMinNegative60Max3', 'locationName' => 'loRoCenterMixLevel', ], 'LoRoSurroundMixLevel' => [ 'shape' => '__doubleMinNegative60MaxNegative1', 'locationName' => 'loRoSurroundMixLevel', ], 'LtRtCenterMixLevel' => [ 'shape' => '__doubleMinNegative60Max3', 'locationName' => 'ltRtCenterMixLevel', ], 'LtRtSurroundMixLevel' => [ 'shape' => '__doubleMinNegative60MaxNegative1', 'locationName' => 'ltRtSurroundMixLevel', ], 'MetadataControl' => [ 'shape' => 'Eac3MetadataControl', 'locationName' => 'metadataControl', ], 'PassthroughControl' => [ 'shape' => 'Eac3PassthroughControl', 'locationName' => 'passthroughControl', ], 'PhaseControl' => [ 'shape' => 'Eac3PhaseControl', 'locationName' => 'phaseControl', ], 'SampleRate' => [ 'shape' => '__integerMin48000Max48000', 'locationName' => 'sampleRate', ], 'StereoDownmix' => [ 'shape' => 'Eac3StereoDownmix', 'locationName' => 'stereoDownmix', ], 'SurroundExMode' => [ 'shape' => 'Eac3SurroundExMode', 'locationName' => 'surroundExMode', ], 'SurroundMode' => [ 'shape' => 'Eac3SurroundMode', 'locationName' => 'surroundMode', ], ], ], 'Eac3StereoDownmix' => [ 'type' => 'string', 'enum' => [ 'NOT_INDICATED', 'LO_RO', 'LT_RT', 'DPL2', ], ], 'Eac3SurroundExMode' => [ 'type' => 'string', 'enum' => [ 'NOT_INDICATED', 'ENABLED', 'DISABLED', ], ], 'Eac3SurroundMode' => [ 'type' => 'string', 'enum' => [ 'NOT_INDICATED', 'ENABLED', 'DISABLED', ], ], 'EmbeddedConvert608To708' => [ 'type' => 'string', 'enum' => [ 'UPCONVERT', 'DISABLED', ], ], 'EmbeddedDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Destination608ChannelNumber' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'destination608ChannelNumber', ], ], ], 'EmbeddedSourceSettings' => [ 'type' => 'structure', 'members' => [ 'Convert608To708' => [ 'shape' => 'EmbeddedConvert608To708', 'locationName' => 'convert608To708', ], 'Source608ChannelNumber' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'source608ChannelNumber', ], 'Source608TrackNumber' => [ 'shape' => '__integerMin1Max1', 'locationName' => 'source608TrackNumber', ], ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], ], ], 'EsamManifestConfirmConditionNotification' => [ 'type' => 'structure', 'members' => [ 'MccXml' => [ 'shape' => '__stringPatternSNManifestConfirmConditionNotificationNS', 'locationName' => 'mccXml', ], ], ], 'EsamSettings' => [ 'type' => 'structure', 'members' => [ 'ManifestConfirmConditionNotification' => [ 'shape' => 'EsamManifestConfirmConditionNotification', 'locationName' => 'manifestConfirmConditionNotification', ], 'ResponseSignalPreroll' => [ 'shape' => '__integerMin0Max30000', 'locationName' => 'responseSignalPreroll', ], 'SignalProcessingNotification' => [ 'shape' => 'EsamSignalProcessingNotification', 'locationName' => 'signalProcessingNotification', ], ], ], 'EsamSignalProcessingNotification' => [ 'type' => 'structure', 'members' => [ 'SccXml' => [ 'shape' => '__stringPatternSNSignalProcessingNotificationNS', 'locationName' => 'sccXml', ], ], ], 'ExceptionBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'F4vMoovPlacement' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE_DOWNLOAD', 'NORMAL', ], ], 'F4vSettings' => [ 'type' => 'structure', 'members' => [ 'MoovPlacement' => [ 'shape' => 'F4vMoovPlacement', 'locationName' => 'moovPlacement', ], ], ], 'FileGroupSettings' => [ 'type' => 'structure', 'members' => [ 'Destination' => [ 'shape' => '__stringPatternS3', 'locationName' => 'destination', ], 'DestinationSettings' => [ 'shape' => 'DestinationSettings', 'locationName' => 'destinationSettings', ], ], ], 'FileSourceConvert608To708' => [ 'type' => 'string', 'enum' => [ 'UPCONVERT', 'DISABLED', ], ], 'FileSourceSettings' => [ 'type' => 'structure', 'members' => [ 'Convert608To708' => [ 'shape' => 'FileSourceConvert608To708', 'locationName' => 'convert608To708', ], 'SourceFile' => [ 'shape' => '__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI', 'locationName' => 'sourceFile', ], 'TimeDelta' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'timeDelta', ], ], ], 'FontScript' => [ 'type' => 'string', 'enum' => [ 'AUTOMATIC', 'HANS', 'HANT', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'FrameCaptureSettings' => [ 'type' => 'structure', 'members' => [ 'FramerateDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateNumerator', ], 'MaxCaptures' => [ 'shape' => '__integerMin1Max10000000', 'locationName' => 'maxCaptures', ], 'Quality' => [ 'shape' => '__integerMin1Max100', 'locationName' => 'quality', ], ], ], 'GetJobRequest' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', 'locationName' => 'id', 'location' => 'uri', ], ], 'required' => [ 'Id', ], ], 'GetJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', 'locationName' => 'job', ], ], ], 'GetJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'GetJobTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'JobTemplate' => [ 'shape' => 'JobTemplate', 'locationName' => 'jobTemplate', ], ], ], 'GetPresetRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'GetPresetResponse' => [ 'type' => 'structure', 'members' => [ 'Preset' => [ 'shape' => 'Preset', 'locationName' => 'preset', ], ], ], 'GetQueueRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], ], 'required' => [ 'Name', ], ], 'GetQueueResponse' => [ 'type' => 'structure', 'members' => [ 'Queue' => [ 'shape' => 'Queue', 'locationName' => 'queue', ], ], ], 'H264AdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'OFF', 'LOW', 'MEDIUM', 'HIGH', 'HIGHER', 'MAX', ], ], 'H264CodecLevel' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'LEVEL_1', 'LEVEL_1_1', 'LEVEL_1_2', 'LEVEL_1_3', 'LEVEL_2', 'LEVEL_2_1', 'LEVEL_2_2', 'LEVEL_3', 'LEVEL_3_1', 'LEVEL_3_2', 'LEVEL_4', 'LEVEL_4_1', 'LEVEL_4_2', 'LEVEL_5', 'LEVEL_5_1', 'LEVEL_5_2', ], ], 'H264CodecProfile' => [ 'type' => 'string', 'enum' => [ 'BASELINE', 'HIGH', 'HIGH_10BIT', 'HIGH_422', 'HIGH_422_10BIT', 'MAIN', ], ], 'H264DynamicSubGop' => [ 'type' => 'string', 'enum' => [ 'ADAPTIVE', 'STATIC', ], ], 'H264EntropyEncoding' => [ 'type' => 'string', 'enum' => [ 'CABAC', 'CAVLC', ], ], 'H264FieldEncoding' => [ 'type' => 'string', 'enum' => [ 'PAFF', 'FORCE_FIELD', ], ], 'H264FlickerAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264FramerateControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H264FramerateConversionAlgorithm' => [ 'type' => 'string', 'enum' => [ 'DUPLICATE_DROP', 'INTERPOLATE', ], ], 'H264GopBReference' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264GopSizeUnits' => [ 'type' => 'string', 'enum' => [ 'FRAMES', 'SECONDS', ], ], 'H264InterlaceMode' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE', 'TOP_FIELD', 'BOTTOM_FIELD', 'FOLLOW_TOP_FIELD', 'FOLLOW_BOTTOM_FIELD', ], ], 'H264ParControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H264QualityTuningLevel' => [ 'type' => 'string', 'enum' => [ 'SINGLE_PASS', 'SINGLE_PASS_HQ', 'MULTI_PASS_HQ', ], ], 'H264QvbrSettings' => [ 'type' => 'structure', 'members' => [ 'MaxAverageBitrate' => [ 'shape' => '__integerMin1000Max1152000000', 'locationName' => 'maxAverageBitrate', ], 'QvbrQualityLevel' => [ 'shape' => '__integerMin1Max10', 'locationName' => 'qvbrQualityLevel', ], ], ], 'H264RateControlMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', 'QVBR', ], ], 'H264RepeatPps' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264SceneChangeDetect' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264Settings' => [ 'type' => 'structure', 'members' => [ 'AdaptiveQuantization' => [ 'shape' => 'H264AdaptiveQuantization', 'locationName' => 'adaptiveQuantization', ], 'Bitrate' => [ 'shape' => '__integerMin1000Max1152000000', 'locationName' => 'bitrate', ], 'CodecLevel' => [ 'shape' => 'H264CodecLevel', 'locationName' => 'codecLevel', ], 'CodecProfile' => [ 'shape' => 'H264CodecProfile', 'locationName' => 'codecProfile', ], 'DynamicSubGop' => [ 'shape' => 'H264DynamicSubGop', 'locationName' => 'dynamicSubGop', ], 'EntropyEncoding' => [ 'shape' => 'H264EntropyEncoding', 'locationName' => 'entropyEncoding', ], 'FieldEncoding' => [ 'shape' => 'H264FieldEncoding', 'locationName' => 'fieldEncoding', ], 'FlickerAdaptiveQuantization' => [ 'shape' => 'H264FlickerAdaptiveQuantization', 'locationName' => 'flickerAdaptiveQuantization', ], 'FramerateControl' => [ 'shape' => 'H264FramerateControl', 'locationName' => 'framerateControl', ], 'FramerateConversionAlgorithm' => [ 'shape' => 'H264FramerateConversionAlgorithm', 'locationName' => 'framerateConversionAlgorithm', ], 'FramerateDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateNumerator', ], 'GopBReference' => [ 'shape' => 'H264GopBReference', 'locationName' => 'gopBReference', ], 'GopClosedCadence' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'gopClosedCadence', ], 'GopSize' => [ 'shape' => '__doubleMin0', 'locationName' => 'gopSize', ], 'GopSizeUnits' => [ 'shape' => 'H264GopSizeUnits', 'locationName' => 'gopSizeUnits', ], 'HrdBufferInitialFillPercentage' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'hrdBufferInitialFillPercentage', ], 'HrdBufferSize' => [ 'shape' => '__integerMin0Max1152000000', 'locationName' => 'hrdBufferSize', ], 'InterlaceMode' => [ 'shape' => 'H264InterlaceMode', 'locationName' => 'interlaceMode', ], 'MaxBitrate' => [ 'shape' => '__integerMin1000Max1152000000', 'locationName' => 'maxBitrate', ], 'MinIInterval' => [ 'shape' => '__integerMin0Max30', 'locationName' => 'minIInterval', ], 'NumberBFramesBetweenReferenceFrames' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'numberBFramesBetweenReferenceFrames', ], 'NumberReferenceFrames' => [ 'shape' => '__integerMin1Max6', 'locationName' => 'numberReferenceFrames', ], 'ParControl' => [ 'shape' => 'H264ParControl', 'locationName' => 'parControl', ], 'ParDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parDenominator', ], 'ParNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parNumerator', ], 'QualityTuningLevel' => [ 'shape' => 'H264QualityTuningLevel', 'locationName' => 'qualityTuningLevel', ], 'QvbrSettings' => [ 'shape' => 'H264QvbrSettings', 'locationName' => 'qvbrSettings', ], 'RateControlMode' => [ 'shape' => 'H264RateControlMode', 'locationName' => 'rateControlMode', ], 'RepeatPps' => [ 'shape' => 'H264RepeatPps', 'locationName' => 'repeatPps', ], 'SceneChangeDetect' => [ 'shape' => 'H264SceneChangeDetect', 'locationName' => 'sceneChangeDetect', ], 'Slices' => [ 'shape' => '__integerMin1Max32', 'locationName' => 'slices', ], 'SlowPal' => [ 'shape' => 'H264SlowPal', 'locationName' => 'slowPal', ], 'Softness' => [ 'shape' => '__integerMin0Max128', 'locationName' => 'softness', ], 'SpatialAdaptiveQuantization' => [ 'shape' => 'H264SpatialAdaptiveQuantization', 'locationName' => 'spatialAdaptiveQuantization', ], 'Syntax' => [ 'shape' => 'H264Syntax', 'locationName' => 'syntax', ], 'Telecine' => [ 'shape' => 'H264Telecine', 'locationName' => 'telecine', ], 'TemporalAdaptiveQuantization' => [ 'shape' => 'H264TemporalAdaptiveQuantization', 'locationName' => 'temporalAdaptiveQuantization', ], 'UnregisteredSeiTimecode' => [ 'shape' => 'H264UnregisteredSeiTimecode', 'locationName' => 'unregisteredSeiTimecode', ], ], ], 'H264SlowPal' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264SpatialAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264Syntax' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'RP2027', ], ], 'H264Telecine' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SOFT', 'HARD', ], ], 'H264TemporalAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264UnregisteredSeiTimecode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265AdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'OFF', 'LOW', 'MEDIUM', 'HIGH', 'HIGHER', 'MAX', ], ], 'H265AlternateTransferFunctionSei' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265CodecLevel' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'LEVEL_1', 'LEVEL_2', 'LEVEL_2_1', 'LEVEL_3', 'LEVEL_3_1', 'LEVEL_4', 'LEVEL_4_1', 'LEVEL_5', 'LEVEL_5_1', 'LEVEL_5_2', 'LEVEL_6', 'LEVEL_6_1', 'LEVEL_6_2', ], ], 'H265CodecProfile' => [ 'type' => 'string', 'enum' => [ 'MAIN_MAIN', 'MAIN_HIGH', 'MAIN10_MAIN', 'MAIN10_HIGH', 'MAIN_422_8BIT_MAIN', 'MAIN_422_8BIT_HIGH', 'MAIN_422_10BIT_MAIN', 'MAIN_422_10BIT_HIGH', ], ], 'H265DynamicSubGop' => [ 'type' => 'string', 'enum' => [ 'ADAPTIVE', 'STATIC', ], ], 'H265FlickerAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265FramerateControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H265FramerateConversionAlgorithm' => [ 'type' => 'string', 'enum' => [ 'DUPLICATE_DROP', 'INTERPOLATE', ], ], 'H265GopBReference' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265GopSizeUnits' => [ 'type' => 'string', 'enum' => [ 'FRAMES', 'SECONDS', ], ], 'H265InterlaceMode' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE', 'TOP_FIELD', 'BOTTOM_FIELD', 'FOLLOW_TOP_FIELD', 'FOLLOW_BOTTOM_FIELD', ], ], 'H265ParControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H265QualityTuningLevel' => [ 'type' => 'string', 'enum' => [ 'SINGLE_PASS', 'SINGLE_PASS_HQ', 'MULTI_PASS_HQ', ], ], 'H265QvbrSettings' => [ 'type' => 'structure', 'members' => [ 'MaxAverageBitrate' => [ 'shape' => '__integerMin1000Max1466400000', 'locationName' => 'maxAverageBitrate', ], 'QvbrQualityLevel' => [ 'shape' => '__integerMin1Max10', 'locationName' => 'qvbrQualityLevel', ], ], ], 'H265RateControlMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', 'QVBR', ], ], 'H265SampleAdaptiveOffsetFilterMode' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'ADAPTIVE', 'OFF', ], ], 'H265SceneChangeDetect' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265Settings' => [ 'type' => 'structure', 'members' => [ 'AdaptiveQuantization' => [ 'shape' => 'H265AdaptiveQuantization', 'locationName' => 'adaptiveQuantization', ], 'AlternateTransferFunctionSei' => [ 'shape' => 'H265AlternateTransferFunctionSei', 'locationName' => 'alternateTransferFunctionSei', ], 'Bitrate' => [ 'shape' => '__integerMin1000Max1466400000', 'locationName' => 'bitrate', ], 'CodecLevel' => [ 'shape' => 'H265CodecLevel', 'locationName' => 'codecLevel', ], 'CodecProfile' => [ 'shape' => 'H265CodecProfile', 'locationName' => 'codecProfile', ], 'DynamicSubGop' => [ 'shape' => 'H265DynamicSubGop', 'locationName' => 'dynamicSubGop', ], 'FlickerAdaptiveQuantization' => [ 'shape' => 'H265FlickerAdaptiveQuantization', 'locationName' => 'flickerAdaptiveQuantization', ], 'FramerateControl' => [ 'shape' => 'H265FramerateControl', 'locationName' => 'framerateControl', ], 'FramerateConversionAlgorithm' => [ 'shape' => 'H265FramerateConversionAlgorithm', 'locationName' => 'framerateConversionAlgorithm', ], 'FramerateDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateNumerator', ], 'GopBReference' => [ 'shape' => 'H265GopBReference', 'locationName' => 'gopBReference', ], 'GopClosedCadence' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'gopClosedCadence', ], 'GopSize' => [ 'shape' => '__doubleMin0', 'locationName' => 'gopSize', ], 'GopSizeUnits' => [ 'shape' => 'H265GopSizeUnits', 'locationName' => 'gopSizeUnits', ], 'HrdBufferInitialFillPercentage' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'hrdBufferInitialFillPercentage', ], 'HrdBufferSize' => [ 'shape' => '__integerMin0Max1466400000', 'locationName' => 'hrdBufferSize', ], 'InterlaceMode' => [ 'shape' => 'H265InterlaceMode', 'locationName' => 'interlaceMode', ], 'MaxBitrate' => [ 'shape' => '__integerMin1000Max1466400000', 'locationName' => 'maxBitrate', ], 'MinIInterval' => [ 'shape' => '__integerMin0Max30', 'locationName' => 'minIInterval', ], 'NumberBFramesBetweenReferenceFrames' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'numberBFramesBetweenReferenceFrames', ], 'NumberReferenceFrames' => [ 'shape' => '__integerMin1Max6', 'locationName' => 'numberReferenceFrames', ], 'ParControl' => [ 'shape' => 'H265ParControl', 'locationName' => 'parControl', ], 'ParDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parDenominator', ], 'ParNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parNumerator', ], 'QualityTuningLevel' => [ 'shape' => 'H265QualityTuningLevel', 'locationName' => 'qualityTuningLevel', ], 'QvbrSettings' => [ 'shape' => 'H265QvbrSettings', 'locationName' => 'qvbrSettings', ], 'RateControlMode' => [ 'shape' => 'H265RateControlMode', 'locationName' => 'rateControlMode', ], 'SampleAdaptiveOffsetFilterMode' => [ 'shape' => 'H265SampleAdaptiveOffsetFilterMode', 'locationName' => 'sampleAdaptiveOffsetFilterMode', ], 'SceneChangeDetect' => [ 'shape' => 'H265SceneChangeDetect', 'locationName' => 'sceneChangeDetect', ], 'Slices' => [ 'shape' => '__integerMin1Max32', 'locationName' => 'slices', ], 'SlowPal' => [ 'shape' => 'H265SlowPal', 'locationName' => 'slowPal', ], 'SpatialAdaptiveQuantization' => [ 'shape' => 'H265SpatialAdaptiveQuantization', 'locationName' => 'spatialAdaptiveQuantization', ], 'Telecine' => [ 'shape' => 'H265Telecine', 'locationName' => 'telecine', ], 'TemporalAdaptiveQuantization' => [ 'shape' => 'H265TemporalAdaptiveQuantization', 'locationName' => 'temporalAdaptiveQuantization', ], 'TemporalIds' => [ 'shape' => 'H265TemporalIds', 'locationName' => 'temporalIds', ], 'Tiles' => [ 'shape' => 'H265Tiles', 'locationName' => 'tiles', ], 'UnregisteredSeiTimecode' => [ 'shape' => 'H265UnregisteredSeiTimecode', 'locationName' => 'unregisteredSeiTimecode', ], 'WriteMp4PackagingType' => [ 'shape' => 'H265WriteMp4PackagingType', 'locationName' => 'writeMp4PackagingType', ], ], ], 'H265SlowPal' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265SpatialAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265Telecine' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SOFT', 'HARD', ], ], 'H265TemporalAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265TemporalIds' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265Tiles' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265UnregisteredSeiTimecode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H265WriteMp4PackagingType' => [ 'type' => 'string', 'enum' => [ 'HVC1', 'HEV1', ], ], 'Hdr10Metadata' => [ 'type' => 'structure', 'members' => [ 'BluePrimaryX' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'bluePrimaryX', ], 'BluePrimaryY' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'bluePrimaryY', ], 'GreenPrimaryX' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'greenPrimaryX', ], 'GreenPrimaryY' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'greenPrimaryY', ], 'MaxContentLightLevel' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'maxContentLightLevel', ], 'MaxFrameAverageLightLevel' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'maxFrameAverageLightLevel', ], 'MaxLuminance' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'maxLuminance', ], 'MinLuminance' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'minLuminance', ], 'RedPrimaryX' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'redPrimaryX', ], 'RedPrimaryY' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'redPrimaryY', ], 'WhitePointX' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'whitePointX', ], 'WhitePointY' => [ 'shape' => '__integerMin0Max50000', 'locationName' => 'whitePointY', ], ], ], 'HlsAdMarkers' => [ 'type' => 'string', 'enum' => [ 'ELEMENTAL', 'ELEMENTAL_SCTE35', ], ], 'HlsAudioTrackType' => [ 'type' => 'string', 'enum' => [ 'ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT', 'ALTERNATE_AUDIO_AUTO_SELECT', 'ALTERNATE_AUDIO_NOT_AUTO_SELECT', 'AUDIO_ONLY_VARIANT_STREAM', ], ], 'HlsCaptionLanguageMapping' => [ 'type' => 'structure', 'members' => [ 'CaptionChannel' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'captionChannel', ], 'CustomLanguageCode' => [ 'shape' => '__stringMin3Max3PatternAZaZ3', 'locationName' => 'customLanguageCode', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', 'locationName' => 'languageCode', ], 'LanguageDescription' => [ 'shape' => '__string', 'locationName' => 'languageDescription', ], ], ], 'HlsCaptionLanguageSetting' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'OMIT', 'NONE', ], ], 'HlsClientCache' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'HlsCodecSpecification' => [ 'type' => 'string', 'enum' => [ 'RFC_6381', 'RFC_4281', ], ], 'HlsDirectoryStructure' => [ 'type' => 'string', 'enum' => [ 'SINGLE_DIRECTORY', 'SUBDIRECTORY_PER_STREAM', ], ], 'HlsEncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'ConstantInitializationVector' => [ 'shape' => '__stringMin32Max32Pattern09aFAF32', 'locationName' => 'constantInitializationVector', ], 'EncryptionMethod' => [ 'shape' => 'HlsEncryptionType', 'locationName' => 'encryptionMethod', ], 'InitializationVectorInManifest' => [ 'shape' => 'HlsInitializationVectorInManifest', 'locationName' => 'initializationVectorInManifest', ], 'OfflineEncrypted' => [ 'shape' => 'HlsOfflineEncrypted', 'locationName' => 'offlineEncrypted', ], 'SpekeKeyProvider' => [ 'shape' => 'SpekeKeyProvider', 'locationName' => 'spekeKeyProvider', ], 'StaticKeyProvider' => [ 'shape' => 'StaticKeyProvider', 'locationName' => 'staticKeyProvider', ], 'Type' => [ 'shape' => 'HlsKeyProviderType', 'locationName' => 'type', ], ], ], 'HlsEncryptionType' => [ 'type' => 'string', 'enum' => [ 'AES128', 'SAMPLE_AES', ], ], 'HlsGroupSettings' => [ 'type' => 'structure', 'members' => [ 'AdMarkers' => [ 'shape' => '__listOfHlsAdMarkers', 'locationName' => 'adMarkers', ], 'BaseUrl' => [ 'shape' => '__string', 'locationName' => 'baseUrl', ], 'CaptionLanguageMappings' => [ 'shape' => '__listOfHlsCaptionLanguageMapping', 'locationName' => 'captionLanguageMappings', ], 'CaptionLanguageSetting' => [ 'shape' => 'HlsCaptionLanguageSetting', 'locationName' => 'captionLanguageSetting', ], 'ClientCache' => [ 'shape' => 'HlsClientCache', 'locationName' => 'clientCache', ], 'CodecSpecification' => [ 'shape' => 'HlsCodecSpecification', 'locationName' => 'codecSpecification', ], 'Destination' => [ 'shape' => '__stringPatternS3', 'locationName' => 'destination', ], 'DestinationSettings' => [ 'shape' => 'DestinationSettings', 'locationName' => 'destinationSettings', ], 'DirectoryStructure' => [ 'shape' => 'HlsDirectoryStructure', 'locationName' => 'directoryStructure', ], 'Encryption' => [ 'shape' => 'HlsEncryptionSettings', 'locationName' => 'encryption', ], 'ManifestCompression' => [ 'shape' => 'HlsManifestCompression', 'locationName' => 'manifestCompression', ], 'ManifestDurationFormat' => [ 'shape' => 'HlsManifestDurationFormat', 'locationName' => 'manifestDurationFormat', ], 'MinFinalSegmentLength' => [ 'shape' => '__doubleMin0Max2147483647', 'locationName' => 'minFinalSegmentLength', ], 'MinSegmentLength' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'minSegmentLength', ], 'OutputSelection' => [ 'shape' => 'HlsOutputSelection', 'locationName' => 'outputSelection', ], 'ProgramDateTime' => [ 'shape' => 'HlsProgramDateTime', 'locationName' => 'programDateTime', ], 'ProgramDateTimePeriod' => [ 'shape' => '__integerMin0Max3600', 'locationName' => 'programDateTimePeriod', ], 'SegmentControl' => [ 'shape' => 'HlsSegmentControl', 'locationName' => 'segmentControl', ], 'SegmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'segmentLength', ], 'SegmentsPerSubdirectory' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'segmentsPerSubdirectory', ], 'StreamInfResolution' => [ 'shape' => 'HlsStreamInfResolution', 'locationName' => 'streamInfResolution', ], 'TimedMetadataId3Frame' => [ 'shape' => 'HlsTimedMetadataId3Frame', 'locationName' => 'timedMetadataId3Frame', ], 'TimedMetadataId3Period' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'timedMetadataId3Period', ], 'TimestampDeltaMilliseconds' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'timestampDeltaMilliseconds', ], ], ], 'HlsIFrameOnlyManifest' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'HlsInitializationVectorInManifest' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'HlsKeyProviderType' => [ 'type' => 'string', 'enum' => [ 'SPEKE', 'STATIC_KEY', ], ], 'HlsManifestCompression' => [ 'type' => 'string', 'enum' => [ 'GZIP', 'NONE', ], ], 'HlsManifestDurationFormat' => [ 'type' => 'string', 'enum' => [ 'FLOATING_POINT', 'INTEGER', ], ], 'HlsOfflineEncrypted' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'HlsOutputSelection' => [ 'type' => 'string', 'enum' => [ 'MANIFESTS_AND_SEGMENTS', 'SEGMENTS_ONLY', ], ], 'HlsProgramDateTime' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'HlsSegmentControl' => [ 'type' => 'string', 'enum' => [ 'SINGLE_FILE', 'SEGMENTED_FILES', ], ], 'HlsSettings' => [ 'type' => 'structure', 'members' => [ 'AudioGroupId' => [ 'shape' => '__string', 'locationName' => 'audioGroupId', ], 'AudioRenditionSets' => [ 'shape' => '__string', 'locationName' => 'audioRenditionSets', ], 'AudioTrackType' => [ 'shape' => 'HlsAudioTrackType', 'locationName' => 'audioTrackType', ], 'IFrameOnlyManifest' => [ 'shape' => 'HlsIFrameOnlyManifest', 'locationName' => 'iFrameOnlyManifest', ], 'SegmentModifier' => [ 'shape' => '__string', 'locationName' => 'segmentModifier', ], ], ], 'HlsStreamInfResolution' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'HlsTimedMetadataId3Frame' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PRIV', 'TDRL', ], ], 'Id3Insertion' => [ 'type' => 'structure', 'members' => [ 'Id3' => [ 'shape' => '__stringPatternAZaZ0902', 'locationName' => 'id3', ], 'Timecode' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'timecode', ], ], ], 'ImageInserter' => [ 'type' => 'structure', 'members' => [ 'InsertableImages' => [ 'shape' => '__listOfInsertableImage', 'locationName' => 'insertableImages', ], ], ], 'Input' => [ 'type' => 'structure', 'members' => [ 'AudioSelectorGroups' => [ 'shape' => '__mapOfAudioSelectorGroup', 'locationName' => 'audioSelectorGroups', ], 'AudioSelectors' => [ 'shape' => '__mapOfAudioSelector', 'locationName' => 'audioSelectors', ], 'CaptionSelectors' => [ 'shape' => '__mapOfCaptionSelector', 'locationName' => 'captionSelectors', ], 'DeblockFilter' => [ 'shape' => 'InputDeblockFilter', 'locationName' => 'deblockFilter', ], 'DecryptionSettings' => [ 'shape' => 'InputDecryptionSettings', 'locationName' => 'decryptionSettings', ], 'DenoiseFilter' => [ 'shape' => 'InputDenoiseFilter', 'locationName' => 'denoiseFilter', ], 'FileInput' => [ 'shape' => '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL', 'locationName' => 'fileInput', ], 'FilterEnable' => [ 'shape' => 'InputFilterEnable', 'locationName' => 'filterEnable', ], 'FilterStrength' => [ 'shape' => '__integerMinNegative5Max5', 'locationName' => 'filterStrength', ], 'ImageInserter' => [ 'shape' => 'ImageInserter', 'locationName' => 'imageInserter', ], 'InputClippings' => [ 'shape' => '__listOfInputClipping', 'locationName' => 'inputClippings', ], 'ProgramNumber' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'programNumber', ], 'PsiControl' => [ 'shape' => 'InputPsiControl', 'locationName' => 'psiControl', ], 'SupplementalImps' => [ 'shape' => '__listOf__stringPatternS3ASSETMAPXml', 'locationName' => 'supplementalImps', ], 'TimecodeSource' => [ 'shape' => 'InputTimecodeSource', 'locationName' => 'timecodeSource', ], 'VideoSelector' => [ 'shape' => 'VideoSelector', 'locationName' => 'videoSelector', ], ], ], 'InputClipping' => [ 'type' => 'structure', 'members' => [ 'EndTimecode' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'endTimecode', ], 'StartTimecode' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'startTimecode', ], ], ], 'InputDeblockFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'InputDecryptionSettings' => [ 'type' => 'structure', 'members' => [ 'DecryptionMode' => [ 'shape' => 'DecryptionMode', 'locationName' => 'decryptionMode', ], 'EncryptedDecryptionKey' => [ 'shape' => '__stringMin24Max512PatternAZaZ0902', 'locationName' => 'encryptedDecryptionKey', ], 'InitializationVector' => [ 'shape' => '__stringMin16Max24PatternAZaZ0922AZaZ0916', 'locationName' => 'initializationVector', ], 'KmsKeyRegion' => [ 'shape' => '__stringMin9Max19PatternAZ26EastWestCentralNorthSouthEastWest1912', 'locationName' => 'kmsKeyRegion', ], ], ], 'InputDenoiseFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'InputFilterEnable' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'DISABLE', 'FORCE', ], ], 'InputPsiControl' => [ 'type' => 'string', 'enum' => [ 'IGNORE_PSI', 'USE_PSI', ], ], 'InputRotate' => [ 'type' => 'string', 'enum' => [ 'DEGREE_0', 'DEGREES_90', 'DEGREES_180', 'DEGREES_270', 'AUTO', ], ], 'InputTemplate' => [ 'type' => 'structure', 'members' => [ 'AudioSelectorGroups' => [ 'shape' => '__mapOfAudioSelectorGroup', 'locationName' => 'audioSelectorGroups', ], 'AudioSelectors' => [ 'shape' => '__mapOfAudioSelector', 'locationName' => 'audioSelectors', ], 'CaptionSelectors' => [ 'shape' => '__mapOfCaptionSelector', 'locationName' => 'captionSelectors', ], 'DeblockFilter' => [ 'shape' => 'InputDeblockFilter', 'locationName' => 'deblockFilter', ], 'DenoiseFilter' => [ 'shape' => 'InputDenoiseFilter', 'locationName' => 'denoiseFilter', ], 'FilterEnable' => [ 'shape' => 'InputFilterEnable', 'locationName' => 'filterEnable', ], 'FilterStrength' => [ 'shape' => '__integerMinNegative5Max5', 'locationName' => 'filterStrength', ], 'ImageInserter' => [ 'shape' => 'ImageInserter', 'locationName' => 'imageInserter', ], 'InputClippings' => [ 'shape' => '__listOfInputClipping', 'locationName' => 'inputClippings', ], 'ProgramNumber' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'programNumber', ], 'PsiControl' => [ 'shape' => 'InputPsiControl', 'locationName' => 'psiControl', ], 'TimecodeSource' => [ 'shape' => 'InputTimecodeSource', 'locationName' => 'timecodeSource', ], 'VideoSelector' => [ 'shape' => 'VideoSelector', 'locationName' => 'videoSelector', ], ], ], 'InputTimecodeSource' => [ 'type' => 'string', 'enum' => [ 'EMBEDDED', 'ZEROBASED', 'SPECIFIEDSTART', ], ], 'InsertableImage' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'duration', ], 'FadeIn' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'fadeIn', ], 'FadeOut' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'fadeOut', ], 'Height' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'height', ], 'ImageInserterInput' => [ 'shape' => '__stringMin14PatternS3BmpBMPPngPNGTgaTGA', 'locationName' => 'imageInserterInput', ], 'ImageX' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'imageX', ], 'ImageY' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'imageY', ], 'Layer' => [ 'shape' => '__integerMin0Max99', 'locationName' => 'layer', ], 'Opacity' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'opacity', ], 'StartTime' => [ 'shape' => '__stringPattern01D20305D205D', 'locationName' => 'startTime', ], 'Width' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'width', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'Job' => [ 'type' => 'structure', 'members' => [ 'AccelerationSettings' => [ 'shape' => 'AccelerationSettings', 'locationName' => 'accelerationSettings', ], 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'BillingTagsSource' => [ 'shape' => 'BillingTagsSource', 'locationName' => 'billingTagsSource', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'CurrentPhase' => [ 'shape' => 'JobPhase', 'locationName' => 'currentPhase', ], 'ErrorCode' => [ 'shape' => '__integer', 'locationName' => 'errorCode', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'JobPercentComplete' => [ 'shape' => '__integer', 'locationName' => 'jobPercentComplete', ], 'JobTemplate' => [ 'shape' => '__string', 'locationName' => 'jobTemplate', ], 'OutputGroupDetails' => [ 'shape' => '__listOfOutputGroupDetail', 'locationName' => 'outputGroupDetails', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'RetryCount' => [ 'shape' => '__integer', 'locationName' => 'retryCount', ], 'Role' => [ 'shape' => '__string', 'locationName' => 'role', ], 'Settings' => [ 'shape' => 'JobSettings', 'locationName' => 'settings', ], 'Status' => [ 'shape' => 'JobStatus', 'locationName' => 'status', ], 'StatusUpdateInterval' => [ 'shape' => 'StatusUpdateInterval', 'locationName' => 'statusUpdateInterval', ], 'Timing' => [ 'shape' => 'Timing', 'locationName' => 'timing', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'JobPhase' => [ 'type' => 'string', 'enum' => [ 'PROBING', 'TRANSCODING', 'UPLOADING', ], ], 'JobSettings' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'AvailBlanking' => [ 'shape' => 'AvailBlanking', 'locationName' => 'availBlanking', ], 'Esam' => [ 'shape' => 'EsamSettings', 'locationName' => 'esam', ], 'Inputs' => [ 'shape' => '__listOfInput', 'locationName' => 'inputs', ], 'MotionImageInserter' => [ 'shape' => 'MotionImageInserter', 'locationName' => 'motionImageInserter', ], 'NielsenConfiguration' => [ 'shape' => 'NielsenConfiguration', 'locationName' => 'nielsenConfiguration', ], 'OutputGroups' => [ 'shape' => '__listOfOutputGroup', 'locationName' => 'outputGroups', ], 'TimecodeConfig' => [ 'shape' => 'TimecodeConfig', 'locationName' => 'timecodeConfig', ], 'TimedMetadataInsertion' => [ 'shape' => 'TimedMetadataInsertion', 'locationName' => 'timedMetadataInsertion', ], ], ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'PROGRESSING', 'COMPLETE', 'CANCELED', 'ERROR', ], ], 'JobTemplate' => [ 'type' => 'structure', 'members' => [ 'AccelerationSettings' => [ 'shape' => 'AccelerationSettings', 'locationName' => 'accelerationSettings', ], 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'LastUpdated' => [ 'shape' => '__timestampUnix', 'locationName' => 'lastUpdated', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Settings' => [ 'shape' => 'JobTemplateSettings', 'locationName' => 'settings', ], 'StatusUpdateInterval' => [ 'shape' => 'StatusUpdateInterval', 'locationName' => 'statusUpdateInterval', ], 'Type' => [ 'shape' => 'Type', 'locationName' => 'type', ], ], 'required' => [ 'Settings', 'Name', ], ], 'JobTemplateListBy' => [ 'type' => 'string', 'enum' => [ 'NAME', 'CREATION_DATE', 'SYSTEM', ], ], 'JobTemplateSettings' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'AvailBlanking' => [ 'shape' => 'AvailBlanking', 'locationName' => 'availBlanking', ], 'Esam' => [ 'shape' => 'EsamSettings', 'locationName' => 'esam', ], 'Inputs' => [ 'shape' => '__listOfInputTemplate', 'locationName' => 'inputs', ], 'MotionImageInserter' => [ 'shape' => 'MotionImageInserter', 'locationName' => 'motionImageInserter', ], 'NielsenConfiguration' => [ 'shape' => 'NielsenConfiguration', 'locationName' => 'nielsenConfiguration', ], 'OutputGroups' => [ 'shape' => '__listOfOutputGroup', 'locationName' => 'outputGroups', ], 'TimecodeConfig' => [ 'shape' => 'TimecodeConfig', 'locationName' => 'timecodeConfig', ], 'TimedMetadataInsertion' => [ 'shape' => 'TimedMetadataInsertion', 'locationName' => 'timedMetadataInsertion', ], ], ], 'LanguageCode' => [ 'type' => 'string', 'enum' => [ 'ENG', 'SPA', 'FRA', 'DEU', 'GER', 'ZHO', 'ARA', 'HIN', 'JPN', 'RUS', 'POR', 'ITA', 'URD', 'VIE', 'KOR', 'PAN', 'ABK', 'AAR', 'AFR', 'AKA', 'SQI', 'AMH', 'ARG', 'HYE', 'ASM', 'AVA', 'AVE', 'AYM', 'AZE', 'BAM', 'BAK', 'EUS', 'BEL', 'BEN', 'BIH', 'BIS', 'BOS', 'BRE', 'BUL', 'MYA', 'CAT', 'KHM', 'CHA', 'CHE', 'NYA', 'CHU', 'CHV', 'COR', 'COS', 'CRE', 'HRV', 'CES', 'DAN', 'DIV', 'NLD', 'DZO', 'ENM', 'EPO', 'EST', 'EWE', 'FAO', 'FIJ', 'FIN', 'FRM', 'FUL', 'GLA', 'GLG', 'LUG', 'KAT', 'ELL', 'GRN', 'GUJ', 'HAT', 'HAU', 'HEB', 'HER', 'HMO', 'HUN', 'ISL', 'IDO', 'IBO', 'IND', 'INA', 'ILE', 'IKU', 'IPK', 'GLE', 'JAV', 'KAL', 'KAN', 'KAU', 'KAS', 'KAZ', 'KIK', 'KIN', 'KIR', 'KOM', 'KON', 'KUA', 'KUR', 'LAO', 'LAT', 'LAV', 'LIM', 'LIN', 'LIT', 'LUB', 'LTZ', 'MKD', 'MLG', 'MSA', 'MAL', 'MLT', 'GLV', 'MRI', 'MAR', 'MAH', 'MON', 'NAU', 'NAV', 'NDE', 'NBL', 'NDO', 'NEP', 'SME', 'NOR', 'NOB', 'NNO', 'OCI', 'OJI', 'ORI', 'ORM', 'OSS', 'PLI', 'FAS', 'POL', 'PUS', 'QUE', 'QAA', 'RON', 'ROH', 'RUN', 'SMO', 'SAG', 'SAN', 'SRD', 'SRB', 'SNA', 'III', 'SND', 'SIN', 'SLK', 'SLV', 'SOM', 'SOT', 'SUN', 'SWA', 'SSW', 'SWE', 'TGL', 'TAH', 'TGK', 'TAM', 'TAT', 'TEL', 'THA', 'BOD', 'TIR', 'TON', 'TSO', 'TSN', 'TUR', 'TUK', 'TWI', 'UIG', 'UKR', 'UZB', 'VEN', 'VOL', 'WLN', 'CYM', 'FRY', 'WOL', 'XHO', 'YID', 'YOR', 'ZHA', 'ZUL', 'ORJ', 'QPC', 'TNG', ], ], 'ListJobTemplatesRequest' => [ 'type' => 'structure', 'members' => [ 'Category' => [ 'shape' => '__string', 'locationName' => 'category', 'location' => 'querystring', ], 'ListBy' => [ 'shape' => 'JobTemplateListBy', 'locationName' => 'listBy', 'location' => 'querystring', ], 'MaxResults' => [ 'shape' => '__integerMin1Max20', 'locationName' => 'maxResults', 'location' => 'querystring', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', 'location' => 'querystring', ], 'Order' => [ 'shape' => 'Order', 'locationName' => 'order', 'location' => 'querystring', ], ], ], 'ListJobTemplatesResponse' => [ 'type' => 'structure', 'members' => [ 'JobTemplates' => [ 'shape' => '__listOfJobTemplate', 'locationName' => 'jobTemplates', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__integerMin1Max20', 'locationName' => 'maxResults', 'location' => 'querystring', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', 'location' => 'querystring', ], 'Order' => [ 'shape' => 'Order', 'locationName' => 'order', 'location' => 'querystring', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', 'location' => 'querystring', ], 'Status' => [ 'shape' => 'JobStatus', 'locationName' => 'status', 'location' => 'querystring', ], ], ], 'ListJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Jobs' => [ 'shape' => '__listOfJob', 'locationName' => 'jobs', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListPresetsRequest' => [ 'type' => 'structure', 'members' => [ 'Category' => [ 'shape' => '__string', 'locationName' => 'category', 'location' => 'querystring', ], 'ListBy' => [ 'shape' => 'PresetListBy', 'locationName' => 'listBy', 'location' => 'querystring', ], 'MaxResults' => [ 'shape' => '__integerMin1Max20', 'locationName' => 'maxResults', 'location' => 'querystring', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', 'location' => 'querystring', ], 'Order' => [ 'shape' => 'Order', 'locationName' => 'order', 'location' => 'querystring', ], ], ], 'ListPresetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Presets' => [ 'shape' => '__listOfPreset', 'locationName' => 'presets', ], ], ], 'ListQueuesRequest' => [ 'type' => 'structure', 'members' => [ 'ListBy' => [ 'shape' => 'QueueListBy', 'locationName' => 'listBy', 'location' => 'querystring', ], 'MaxResults' => [ 'shape' => '__integerMin1Max20', 'locationName' => 'maxResults', 'location' => 'querystring', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', 'location' => 'querystring', ], 'Order' => [ 'shape' => 'Order', 'locationName' => 'order', 'location' => 'querystring', ], ], ], 'ListQueuesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Queues' => [ 'shape' => '__listOfQueue', 'locationName' => 'queues', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', 'location' => 'uri', ], ], 'required' => [ 'Arn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceTags' => [ 'shape' => 'ResourceTags', 'locationName' => 'resourceTags', ], ], ], 'M2tsAudioBufferModel' => [ 'type' => 'string', 'enum' => [ 'DVB', 'ATSC', ], ], 'M2tsBufferModel' => [ 'type' => 'string', 'enum' => [ 'MULTIPLEX', 'NONE', ], ], 'M2tsEbpAudioInterval' => [ 'type' => 'string', 'enum' => [ 'VIDEO_AND_FIXED_INTERVALS', 'VIDEO_INTERVAL', ], ], 'M2tsEbpPlacement' => [ 'type' => 'string', 'enum' => [ 'VIDEO_AND_AUDIO_PIDS', 'VIDEO_PID', ], ], 'M2tsEsRateInPes' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'M2tsForceTsVideoEbpOrder' => [ 'type' => 'string', 'enum' => [ 'FORCE', 'DEFAULT', ], ], 'M2tsNielsenId3' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'NONE', ], ], 'M2tsPcrControl' => [ 'type' => 'string', 'enum' => [ 'PCR_EVERY_PES_PACKET', 'CONFIGURED_PCR_PERIOD', ], ], 'M2tsRateMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', ], ], 'M2tsScte35Esam' => [ 'type' => 'structure', 'members' => [ 'Scte35EsamPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'scte35EsamPid', ], ], ], 'M2tsScte35Source' => [ 'type' => 'string', 'enum' => [ 'PASSTHROUGH', 'NONE', ], ], 'M2tsSegmentationMarkers' => [ 'type' => 'string', 'enum' => [ 'NONE', 'RAI_SEGSTART', 'RAI_ADAPT', 'PSI_SEGSTART', 'EBP', 'EBP_LEGACY', ], ], 'M2tsSegmentationStyle' => [ 'type' => 'string', 'enum' => [ 'MAINTAIN_CADENCE', 'RESET_CADENCE', ], ], 'M2tsSettings' => [ 'type' => 'structure', 'members' => [ 'AudioBufferModel' => [ 'shape' => 'M2tsAudioBufferModel', 'locationName' => 'audioBufferModel', ], 'AudioFramesPerPes' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'audioFramesPerPes', ], 'AudioPids' => [ 'shape' => '__listOf__integerMin32Max8182', 'locationName' => 'audioPids', ], 'Bitrate' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'bitrate', ], 'BufferModel' => [ 'shape' => 'M2tsBufferModel', 'locationName' => 'bufferModel', ], 'DvbNitSettings' => [ 'shape' => 'DvbNitSettings', 'locationName' => 'dvbNitSettings', ], 'DvbSdtSettings' => [ 'shape' => 'DvbSdtSettings', 'locationName' => 'dvbSdtSettings', ], 'DvbSubPids' => [ 'shape' => '__listOf__integerMin32Max8182', 'locationName' => 'dvbSubPids', ], 'DvbTdtSettings' => [ 'shape' => 'DvbTdtSettings', 'locationName' => 'dvbTdtSettings', ], 'DvbTeletextPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'dvbTeletextPid', ], 'EbpAudioInterval' => [ 'shape' => 'M2tsEbpAudioInterval', 'locationName' => 'ebpAudioInterval', ], 'EbpPlacement' => [ 'shape' => 'M2tsEbpPlacement', 'locationName' => 'ebpPlacement', ], 'EsRateInPes' => [ 'shape' => 'M2tsEsRateInPes', 'locationName' => 'esRateInPes', ], 'ForceTsVideoEbpOrder' => [ 'shape' => 'M2tsForceTsVideoEbpOrder', 'locationName' => 'forceTsVideoEbpOrder', ], 'FragmentTime' => [ 'shape' => '__doubleMin0', 'locationName' => 'fragmentTime', ], 'MaxPcrInterval' => [ 'shape' => '__integerMin0Max500', 'locationName' => 'maxPcrInterval', ], 'MinEbpInterval' => [ 'shape' => '__integerMin0Max10000', 'locationName' => 'minEbpInterval', ], 'NielsenId3' => [ 'shape' => 'M2tsNielsenId3', 'locationName' => 'nielsenId3', ], 'NullPacketBitrate' => [ 'shape' => '__doubleMin0', 'locationName' => 'nullPacketBitrate', ], 'PatInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'patInterval', ], 'PcrControl' => [ 'shape' => 'M2tsPcrControl', 'locationName' => 'pcrControl', ], 'PcrPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'pcrPid', ], 'PmtInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'pmtInterval', ], 'PmtPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'pmtPid', ], 'PrivateMetadataPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'privateMetadataPid', ], 'ProgramNumber' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'programNumber', ], 'RateMode' => [ 'shape' => 'M2tsRateMode', 'locationName' => 'rateMode', ], 'Scte35Esam' => [ 'shape' => 'M2tsScte35Esam', 'locationName' => 'scte35Esam', ], 'Scte35Pid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'scte35Pid', ], 'Scte35Source' => [ 'shape' => 'M2tsScte35Source', 'locationName' => 'scte35Source', ], 'SegmentationMarkers' => [ 'shape' => 'M2tsSegmentationMarkers', 'locationName' => 'segmentationMarkers', ], 'SegmentationStyle' => [ 'shape' => 'M2tsSegmentationStyle', 'locationName' => 'segmentationStyle', ], 'SegmentationTime' => [ 'shape' => '__doubleMin0', 'locationName' => 'segmentationTime', ], 'TimedMetadataPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'timedMetadataPid', ], 'TransportStreamId' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'transportStreamId', ], 'VideoPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'videoPid', ], ], ], 'M3u8NielsenId3' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'NONE', ], ], 'M3u8PcrControl' => [ 'type' => 'string', 'enum' => [ 'PCR_EVERY_PES_PACKET', 'CONFIGURED_PCR_PERIOD', ], ], 'M3u8Scte35Source' => [ 'type' => 'string', 'enum' => [ 'PASSTHROUGH', 'NONE', ], ], 'M3u8Settings' => [ 'type' => 'structure', 'members' => [ 'AudioFramesPerPes' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'audioFramesPerPes', ], 'AudioPids' => [ 'shape' => '__listOf__integerMin32Max8182', 'locationName' => 'audioPids', ], 'NielsenId3' => [ 'shape' => 'M3u8NielsenId3', 'locationName' => 'nielsenId3', ], 'PatInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'patInterval', ], 'PcrControl' => [ 'shape' => 'M3u8PcrControl', 'locationName' => 'pcrControl', ], 'PcrPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'pcrPid', ], 'PmtInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'pmtInterval', ], 'PmtPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'pmtPid', ], 'PrivateMetadataPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'privateMetadataPid', ], 'ProgramNumber' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'programNumber', ], 'Scte35Pid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'scte35Pid', ], 'Scte35Source' => [ 'shape' => 'M3u8Scte35Source', 'locationName' => 'scte35Source', ], 'TimedMetadata' => [ 'shape' => 'TimedMetadata', 'locationName' => 'timedMetadata', ], 'TimedMetadataPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'timedMetadataPid', ], 'TransportStreamId' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'transportStreamId', ], 'VideoPid' => [ 'shape' => '__integerMin32Max8182', 'locationName' => 'videoPid', ], ], ], 'MotionImageInserter' => [ 'type' => 'structure', 'members' => [ 'Framerate' => [ 'shape' => 'MotionImageInsertionFramerate', 'locationName' => 'framerate', ], 'Input' => [ 'shape' => '__stringMin14Max1285PatternS3Mov09Png', 'locationName' => 'input', ], 'InsertionMode' => [ 'shape' => 'MotionImageInsertionMode', 'locationName' => 'insertionMode', ], 'Offset' => [ 'shape' => 'MotionImageInsertionOffset', 'locationName' => 'offset', ], 'Playback' => [ 'shape' => 'MotionImagePlayback', 'locationName' => 'playback', ], 'StartTime' => [ 'shape' => '__stringMin11Max11Pattern01D20305D205D', 'locationName' => 'startTime', ], ], ], 'MotionImageInsertionFramerate' => [ 'type' => 'structure', 'members' => [ 'FramerateDenominator' => [ 'shape' => '__integerMin1Max17895697', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1Max2147483640', 'locationName' => 'framerateNumerator', ], ], ], 'MotionImageInsertionMode' => [ 'type' => 'string', 'enum' => [ 'MOV', 'PNG', ], ], 'MotionImageInsertionOffset' => [ 'type' => 'structure', 'members' => [ 'ImageX' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'imageX', ], 'ImageY' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'imageY', ], ], ], 'MotionImagePlayback' => [ 'type' => 'string', 'enum' => [ 'ONCE', 'REPEAT', ], ], 'MovClapAtom' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'MovCslgAtom' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'MovMpeg2FourCCControl' => [ 'type' => 'string', 'enum' => [ 'XDCAM', 'MPEG', ], ], 'MovPaddingControl' => [ 'type' => 'string', 'enum' => [ 'OMNEON', 'NONE', ], ], 'MovReference' => [ 'type' => 'string', 'enum' => [ 'SELF_CONTAINED', 'EXTERNAL', ], ], 'MovSettings' => [ 'type' => 'structure', 'members' => [ 'ClapAtom' => [ 'shape' => 'MovClapAtom', 'locationName' => 'clapAtom', ], 'CslgAtom' => [ 'shape' => 'MovCslgAtom', 'locationName' => 'cslgAtom', ], 'Mpeg2FourCCControl' => [ 'shape' => 'MovMpeg2FourCCControl', 'locationName' => 'mpeg2FourCCControl', ], 'PaddingControl' => [ 'shape' => 'MovPaddingControl', 'locationName' => 'paddingControl', ], 'Reference' => [ 'shape' => 'MovReference', 'locationName' => 'reference', ], ], ], 'Mp2Settings' => [ 'type' => 'structure', 'members' => [ 'Bitrate' => [ 'shape' => '__integerMin32000Max384000', 'locationName' => 'bitrate', ], 'Channels' => [ 'shape' => '__integerMin1Max2', 'locationName' => 'channels', ], 'SampleRate' => [ 'shape' => '__integerMin32000Max48000', 'locationName' => 'sampleRate', ], ], ], 'Mp4CslgAtom' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'Mp4FreeSpaceBox' => [ 'type' => 'string', 'enum' => [ 'INCLUDE', 'EXCLUDE', ], ], 'Mp4MoovPlacement' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE_DOWNLOAD', 'NORMAL', ], ], 'Mp4Settings' => [ 'type' => 'structure', 'members' => [ 'CslgAtom' => [ 'shape' => 'Mp4CslgAtom', 'locationName' => 'cslgAtom', ], 'FreeSpaceBox' => [ 'shape' => 'Mp4FreeSpaceBox', 'locationName' => 'freeSpaceBox', ], 'MoovPlacement' => [ 'shape' => 'Mp4MoovPlacement', 'locationName' => 'moovPlacement', ], 'Mp4MajorBrand' => [ 'shape' => '__string', 'locationName' => 'mp4MajorBrand', ], ], ], 'Mpeg2AdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'OFF', 'LOW', 'MEDIUM', 'HIGH', ], ], 'Mpeg2CodecLevel' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'LOW', 'MAIN', 'HIGH1440', 'HIGH', ], ], 'Mpeg2CodecProfile' => [ 'type' => 'string', 'enum' => [ 'MAIN', 'PROFILE_422', ], ], 'Mpeg2DynamicSubGop' => [ 'type' => 'string', 'enum' => [ 'ADAPTIVE', 'STATIC', ], ], 'Mpeg2FramerateControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'Mpeg2FramerateConversionAlgorithm' => [ 'type' => 'string', 'enum' => [ 'DUPLICATE_DROP', 'INTERPOLATE', ], ], 'Mpeg2GopSizeUnits' => [ 'type' => 'string', 'enum' => [ 'FRAMES', 'SECONDS', ], ], 'Mpeg2InterlaceMode' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE', 'TOP_FIELD', 'BOTTOM_FIELD', 'FOLLOW_TOP_FIELD', 'FOLLOW_BOTTOM_FIELD', ], ], 'Mpeg2IntraDcPrecision' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'INTRA_DC_PRECISION_8', 'INTRA_DC_PRECISION_9', 'INTRA_DC_PRECISION_10', 'INTRA_DC_PRECISION_11', ], ], 'Mpeg2ParControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'Mpeg2QualityTuningLevel' => [ 'type' => 'string', 'enum' => [ 'SINGLE_PASS', 'MULTI_PASS', ], ], 'Mpeg2RateControlMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', ], ], 'Mpeg2SceneChangeDetect' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Mpeg2Settings' => [ 'type' => 'structure', 'members' => [ 'AdaptiveQuantization' => [ 'shape' => 'Mpeg2AdaptiveQuantization', 'locationName' => 'adaptiveQuantization', ], 'Bitrate' => [ 'shape' => '__integerMin1000Max288000000', 'locationName' => 'bitrate', ], 'CodecLevel' => [ 'shape' => 'Mpeg2CodecLevel', 'locationName' => 'codecLevel', ], 'CodecProfile' => [ 'shape' => 'Mpeg2CodecProfile', 'locationName' => 'codecProfile', ], 'DynamicSubGop' => [ 'shape' => 'Mpeg2DynamicSubGop', 'locationName' => 'dynamicSubGop', ], 'FramerateControl' => [ 'shape' => 'Mpeg2FramerateControl', 'locationName' => 'framerateControl', ], 'FramerateConversionAlgorithm' => [ 'shape' => 'Mpeg2FramerateConversionAlgorithm', 'locationName' => 'framerateConversionAlgorithm', ], 'FramerateDenominator' => [ 'shape' => '__integerMin1Max1001', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin24Max60000', 'locationName' => 'framerateNumerator', ], 'GopClosedCadence' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'gopClosedCadence', ], 'GopSize' => [ 'shape' => '__doubleMin0', 'locationName' => 'gopSize', ], 'GopSizeUnits' => [ 'shape' => 'Mpeg2GopSizeUnits', 'locationName' => 'gopSizeUnits', ], 'HrdBufferInitialFillPercentage' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'hrdBufferInitialFillPercentage', ], 'HrdBufferSize' => [ 'shape' => '__integerMin0Max47185920', 'locationName' => 'hrdBufferSize', ], 'InterlaceMode' => [ 'shape' => 'Mpeg2InterlaceMode', 'locationName' => 'interlaceMode', ], 'IntraDcPrecision' => [ 'shape' => 'Mpeg2IntraDcPrecision', 'locationName' => 'intraDcPrecision', ], 'MaxBitrate' => [ 'shape' => '__integerMin1000Max300000000', 'locationName' => 'maxBitrate', ], 'MinIInterval' => [ 'shape' => '__integerMin0Max30', 'locationName' => 'minIInterval', ], 'NumberBFramesBetweenReferenceFrames' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'numberBFramesBetweenReferenceFrames', ], 'ParControl' => [ 'shape' => 'Mpeg2ParControl', 'locationName' => 'parControl', ], 'ParDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parDenominator', ], 'ParNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parNumerator', ], 'QualityTuningLevel' => [ 'shape' => 'Mpeg2QualityTuningLevel', 'locationName' => 'qualityTuningLevel', ], 'RateControlMode' => [ 'shape' => 'Mpeg2RateControlMode', 'locationName' => 'rateControlMode', ], 'SceneChangeDetect' => [ 'shape' => 'Mpeg2SceneChangeDetect', 'locationName' => 'sceneChangeDetect', ], 'SlowPal' => [ 'shape' => 'Mpeg2SlowPal', 'locationName' => 'slowPal', ], 'Softness' => [ 'shape' => '__integerMin0Max128', 'locationName' => 'softness', ], 'SpatialAdaptiveQuantization' => [ 'shape' => 'Mpeg2SpatialAdaptiveQuantization', 'locationName' => 'spatialAdaptiveQuantization', ], 'Syntax' => [ 'shape' => 'Mpeg2Syntax', 'locationName' => 'syntax', ], 'Telecine' => [ 'shape' => 'Mpeg2Telecine', 'locationName' => 'telecine', ], 'TemporalAdaptiveQuantization' => [ 'shape' => 'Mpeg2TemporalAdaptiveQuantization', 'locationName' => 'temporalAdaptiveQuantization', ], ], ], 'Mpeg2SlowPal' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Mpeg2SpatialAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Mpeg2Syntax' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'D_10', ], ], 'Mpeg2Telecine' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SOFT', 'HARD', ], ], 'Mpeg2TemporalAdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'MsSmoothAudioDeduplication' => [ 'type' => 'string', 'enum' => [ 'COMBINE_DUPLICATE_STREAMS', 'NONE', ], ], 'MsSmoothEncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'SpekeKeyProvider' => [ 'shape' => 'SpekeKeyProvider', 'locationName' => 'spekeKeyProvider', ], ], ], 'MsSmoothGroupSettings' => [ 'type' => 'structure', 'members' => [ 'AudioDeduplication' => [ 'shape' => 'MsSmoothAudioDeduplication', 'locationName' => 'audioDeduplication', ], 'Destination' => [ 'shape' => '__stringPatternS3', 'locationName' => 'destination', ], 'DestinationSettings' => [ 'shape' => 'DestinationSettings', 'locationName' => 'destinationSettings', ], 'Encryption' => [ 'shape' => 'MsSmoothEncryptionSettings', 'locationName' => 'encryption', ], 'FragmentLength' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'fragmentLength', ], 'ManifestEncoding' => [ 'shape' => 'MsSmoothManifestEncoding', 'locationName' => 'manifestEncoding', ], ], ], 'MsSmoothManifestEncoding' => [ 'type' => 'string', 'enum' => [ 'UTF8', 'UTF16', ], ], 'NielsenConfiguration' => [ 'type' => 'structure', 'members' => [ 'BreakoutCode' => [ 'shape' => '__integerMin0Max9', 'locationName' => 'breakoutCode', ], 'DistributorId' => [ 'shape' => '__string', 'locationName' => 'distributorId', ], ], ], 'NoiseReducer' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'NoiseReducerFilter', 'locationName' => 'filter', ], 'FilterSettings' => [ 'shape' => 'NoiseReducerFilterSettings', 'locationName' => 'filterSettings', ], 'SpatialFilterSettings' => [ 'shape' => 'NoiseReducerSpatialFilterSettings', 'locationName' => 'spatialFilterSettings', ], ], ], 'NoiseReducerFilter' => [ 'type' => 'string', 'enum' => [ 'BILATERAL', 'MEAN', 'GAUSSIAN', 'LANCZOS', 'SHARPEN', 'CONSERVE', 'SPATIAL', ], ], 'NoiseReducerFilterSettings' => [ 'type' => 'structure', 'members' => [ 'Strength' => [ 'shape' => '__integerMin0Max3', 'locationName' => 'strength', ], ], ], 'NoiseReducerSpatialFilterSettings' => [ 'type' => 'structure', 'members' => [ 'PostFilterSharpenStrength' => [ 'shape' => '__integerMin0Max3', 'locationName' => 'postFilterSharpenStrength', ], 'Speed' => [ 'shape' => '__integerMinNegative2Max3', 'locationName' => 'speed', ], 'Strength' => [ 'shape' => '__integerMin0Max16', 'locationName' => 'strength', ], ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'Order' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'Output' => [ 'type' => 'structure', 'members' => [ 'AudioDescriptions' => [ 'shape' => '__listOfAudioDescription', 'locationName' => 'audioDescriptions', ], 'CaptionDescriptions' => [ 'shape' => '__listOfCaptionDescription', 'locationName' => 'captionDescriptions', ], 'ContainerSettings' => [ 'shape' => 'ContainerSettings', 'locationName' => 'containerSettings', ], 'Extension' => [ 'shape' => '__string', 'locationName' => 'extension', ], 'NameModifier' => [ 'shape' => '__stringMin1', 'locationName' => 'nameModifier', ], 'OutputSettings' => [ 'shape' => 'OutputSettings', 'locationName' => 'outputSettings', ], 'Preset' => [ 'shape' => '__stringMin0', 'locationName' => 'preset', ], 'VideoDescription' => [ 'shape' => 'VideoDescription', 'locationName' => 'videoDescription', ], ], ], 'OutputChannelMapping' => [ 'type' => 'structure', 'members' => [ 'InputChannels' => [ 'shape' => '__listOf__integerMinNegative60Max6', 'locationName' => 'inputChannels', ], ], ], 'OutputDetail' => [ 'type' => 'structure', 'members' => [ 'DurationInMs' => [ 'shape' => '__integer', 'locationName' => 'durationInMs', ], 'VideoDetails' => [ 'shape' => 'VideoDetail', 'locationName' => 'videoDetails', ], ], ], 'OutputGroup' => [ 'type' => 'structure', 'members' => [ 'CustomName' => [ 'shape' => '__string', 'locationName' => 'customName', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OutputGroupSettings' => [ 'shape' => 'OutputGroupSettings', 'locationName' => 'outputGroupSettings', ], 'Outputs' => [ 'shape' => '__listOfOutput', 'locationName' => 'outputs', ], ], ], 'OutputGroupDetail' => [ 'type' => 'structure', 'members' => [ 'OutputDetails' => [ 'shape' => '__listOfOutputDetail', 'locationName' => 'outputDetails', ], ], ], 'OutputGroupSettings' => [ 'type' => 'structure', 'members' => [ 'CmafGroupSettings' => [ 'shape' => 'CmafGroupSettings', 'locationName' => 'cmafGroupSettings', ], 'DashIsoGroupSettings' => [ 'shape' => 'DashIsoGroupSettings', 'locationName' => 'dashIsoGroupSettings', ], 'FileGroupSettings' => [ 'shape' => 'FileGroupSettings', 'locationName' => 'fileGroupSettings', ], 'HlsGroupSettings' => [ 'shape' => 'HlsGroupSettings', 'locationName' => 'hlsGroupSettings', ], 'MsSmoothGroupSettings' => [ 'shape' => 'MsSmoothGroupSettings', 'locationName' => 'msSmoothGroupSettings', ], 'Type' => [ 'shape' => 'OutputGroupType', 'locationName' => 'type', ], ], ], 'OutputGroupType' => [ 'type' => 'string', 'enum' => [ 'HLS_GROUP_SETTINGS', 'DASH_ISO_GROUP_SETTINGS', 'FILE_GROUP_SETTINGS', 'MS_SMOOTH_GROUP_SETTINGS', 'CMAF_GROUP_SETTINGS', ], ], 'OutputSdt' => [ 'type' => 'string', 'enum' => [ 'SDT_FOLLOW', 'SDT_FOLLOW_IF_PRESENT', 'SDT_MANUAL', 'SDT_NONE', ], ], 'OutputSettings' => [ 'type' => 'structure', 'members' => [ 'HlsSettings' => [ 'shape' => 'HlsSettings', 'locationName' => 'hlsSettings', ], ], ], 'Preset' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'LastUpdated' => [ 'shape' => '__timestampUnix', 'locationName' => 'lastUpdated', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Settings' => [ 'shape' => 'PresetSettings', 'locationName' => 'settings', ], 'Type' => [ 'shape' => 'Type', 'locationName' => 'type', ], ], 'required' => [ 'Settings', 'Name', ], ], 'PresetListBy' => [ 'type' => 'string', 'enum' => [ 'NAME', 'CREATION_DATE', 'SYSTEM', ], ], 'PresetSettings' => [ 'type' => 'structure', 'members' => [ 'AudioDescriptions' => [ 'shape' => '__listOfAudioDescription', 'locationName' => 'audioDescriptions', ], 'CaptionDescriptions' => [ 'shape' => '__listOfCaptionDescriptionPreset', 'locationName' => 'captionDescriptions', ], 'ContainerSettings' => [ 'shape' => 'ContainerSettings', 'locationName' => 'containerSettings', ], 'VideoDescription' => [ 'shape' => 'VideoDescription', 'locationName' => 'videoDescription', ], ], ], 'PricingPlan' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND', 'RESERVED', ], ], 'ProresCodecProfile' => [ 'type' => 'string', 'enum' => [ 'APPLE_PRORES_422', 'APPLE_PRORES_422_HQ', 'APPLE_PRORES_422_LT', 'APPLE_PRORES_422_PROXY', ], ], 'ProresFramerateControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'ProresFramerateConversionAlgorithm' => [ 'type' => 'string', 'enum' => [ 'DUPLICATE_DROP', 'INTERPOLATE', ], ], 'ProresInterlaceMode' => [ 'type' => 'string', 'enum' => [ 'PROGRESSIVE', 'TOP_FIELD', 'BOTTOM_FIELD', 'FOLLOW_TOP_FIELD', 'FOLLOW_BOTTOM_FIELD', ], ], 'ProresParControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'ProresSettings' => [ 'type' => 'structure', 'members' => [ 'CodecProfile' => [ 'shape' => 'ProresCodecProfile', 'locationName' => 'codecProfile', ], 'FramerateControl' => [ 'shape' => 'ProresFramerateControl', 'locationName' => 'framerateControl', ], 'FramerateConversionAlgorithm' => [ 'shape' => 'ProresFramerateConversionAlgorithm', 'locationName' => 'framerateConversionAlgorithm', ], 'FramerateDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'framerateNumerator', ], 'InterlaceMode' => [ 'shape' => 'ProresInterlaceMode', 'locationName' => 'interlaceMode', ], 'ParControl' => [ 'shape' => 'ProresParControl', 'locationName' => 'parControl', ], 'ParDenominator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parDenominator', ], 'ParNumerator' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'parNumerator', ], 'SlowPal' => [ 'shape' => 'ProresSlowPal', 'locationName' => 'slowPal', ], 'Telecine' => [ 'shape' => 'ProresTelecine', 'locationName' => 'telecine', ], ], ], 'ProresSlowPal' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'ProresTelecine' => [ 'type' => 'string', 'enum' => [ 'NONE', 'HARD', ], ], 'Queue' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'LastUpdated' => [ 'shape' => '__timestampUnix', 'locationName' => 'lastUpdated', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PricingPlan' => [ 'shape' => 'PricingPlan', 'locationName' => 'pricingPlan', ], 'ProgressingJobsCount' => [ 'shape' => '__integer', 'locationName' => 'progressingJobsCount', ], 'ReservationPlan' => [ 'shape' => 'ReservationPlan', 'locationName' => 'reservationPlan', ], 'Status' => [ 'shape' => 'QueueStatus', 'locationName' => 'status', ], 'SubmittedJobsCount' => [ 'shape' => '__integer', 'locationName' => 'submittedJobsCount', ], 'Type' => [ 'shape' => 'Type', 'locationName' => 'type', ], ], 'required' => [ 'Name', ], ], 'QueueListBy' => [ 'type' => 'string', 'enum' => [ 'NAME', 'CREATION_DATE', ], ], 'QueueStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'PAUSED', ], ], 'Rectangle' => [ 'type' => 'structure', 'members' => [ 'Height' => [ 'shape' => '__integerMin2Max2147483647', 'locationName' => 'height', ], 'Width' => [ 'shape' => '__integerMin2Max2147483647', 'locationName' => 'width', ], 'X' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'x', ], 'Y' => [ 'shape' => '__integerMin0Max2147483647', 'locationName' => 'y', ], ], ], 'RemixSettings' => [ 'type' => 'structure', 'members' => [ 'ChannelMapping' => [ 'shape' => 'ChannelMapping', 'locationName' => 'channelMapping', ], 'ChannelsIn' => [ 'shape' => '__integerMin1Max16', 'locationName' => 'channelsIn', ], 'ChannelsOut' => [ 'shape' => '__integerMin1Max8', 'locationName' => 'channelsOut', ], ], ], 'RenewalType' => [ 'type' => 'string', 'enum' => [ 'AUTO_RENEW', 'EXPIRE', ], ], 'ReservationPlan' => [ 'type' => 'structure', 'members' => [ 'Commitment' => [ 'shape' => 'Commitment', 'locationName' => 'commitment', ], 'ExpiresAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'expiresAt', ], 'PurchasedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'purchasedAt', ], 'RenewalType' => [ 'shape' => 'RenewalType', 'locationName' => 'renewalType', ], 'ReservedSlots' => [ 'shape' => '__integer', 'locationName' => 'reservedSlots', ], 'Status' => [ 'shape' => 'ReservationPlanStatus', 'locationName' => 'status', ], ], ], 'ReservationPlanSettings' => [ 'type' => 'structure', 'members' => [ 'Commitment' => [ 'shape' => 'Commitment', 'locationName' => 'commitment', ], 'RenewalType' => [ 'shape' => 'RenewalType', 'locationName' => 'renewalType', ], 'ReservedSlots' => [ 'shape' => '__integer', 'locationName' => 'reservedSlots', ], ], 'required' => [ 'Commitment', 'ReservedSlots', 'RenewalType', ], ], 'ReservationPlanStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'EXPIRED', ], ], 'ResourceTags' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'RespondToAfd' => [ 'type' => 'string', 'enum' => [ 'NONE', 'RESPOND', 'PASSTHROUGH', ], ], 'S3DestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Encryption' => [ 'shape' => 'S3EncryptionSettings', 'locationName' => 'encryption', ], ], ], 'S3EncryptionSettings' => [ 'type' => 'structure', 'members' => [ 'EncryptionType' => [ 'shape' => 'S3ServerSideEncryptionType', 'locationName' => 'encryptionType', ], 'KmsKeyArn' => [ 'shape' => '__stringPatternArnAwsUsGovKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912', 'locationName' => 'kmsKeyArn', ], ], ], 'S3ServerSideEncryptionType' => [ 'type' => 'string', 'enum' => [ 'SERVER_SIDE_ENCRYPTION_S3', 'SERVER_SIDE_ENCRYPTION_KMS', ], ], 'ScalingBehavior' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'STRETCH_TO_OUTPUT', ], ], 'SccDestinationFramerate' => [ 'type' => 'string', 'enum' => [ 'FRAMERATE_23_97', 'FRAMERATE_24', 'FRAMERATE_29_97_DROPFRAME', 'FRAMERATE_29_97_NON_DROPFRAME', ], ], 'SccDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Framerate' => [ 'shape' => 'SccDestinationFramerate', 'locationName' => 'framerate', ], ], ], 'SpekeKeyProvider' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => '__stringPatternArnAwsUsGovAcm', 'locationName' => 'certificateArn', ], 'ResourceId' => [ 'shape' => '__string', 'locationName' => 'resourceId', ], 'SystemIds' => [ 'shape' => '__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12', 'locationName' => 'systemIds', ], 'Url' => [ 'shape' => '__stringPatternHttps', 'locationName' => 'url', ], ], ], 'StaticKeyProvider' => [ 'type' => 'structure', 'members' => [ 'KeyFormat' => [ 'shape' => '__stringPatternIdentityAZaZ26AZaZ09163', 'locationName' => 'keyFormat', ], 'KeyFormatVersions' => [ 'shape' => '__stringPatternDD', 'locationName' => 'keyFormatVersions', ], 'StaticKeyValue' => [ 'shape' => '__stringPatternAZaZ0932', 'locationName' => 'staticKeyValue', ], 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], ], ], 'StatusUpdateInterval' => [ 'type' => 'string', 'enum' => [ 'SECONDS_10', 'SECONDS_12', 'SECONDS_15', 'SECONDS_20', 'SECONDS_30', 'SECONDS_60', 'SECONDS_120', 'SECONDS_180', 'SECONDS_240', 'SECONDS_300', 'SECONDS_360', 'SECONDS_420', 'SECONDS_480', 'SECONDS_540', 'SECONDS_600', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'Arn', 'Tags', ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TeletextDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'PageNumber' => [ 'shape' => '__stringMin3Max3Pattern1809aFAF09aEAE', 'locationName' => 'pageNumber', ], ], ], 'TeletextSourceSettings' => [ 'type' => 'structure', 'members' => [ 'PageNumber' => [ 'shape' => '__stringMin3Max3Pattern1809aFAF09aEAE', 'locationName' => 'pageNumber', ], ], ], 'TimecodeBurnin' => [ 'type' => 'structure', 'members' => [ 'FontSize' => [ 'shape' => '__integerMin10Max48', 'locationName' => 'fontSize', ], 'Position' => [ 'shape' => 'TimecodeBurninPosition', 'locationName' => 'position', ], 'Prefix' => [ 'shape' => '__stringPattern', 'locationName' => 'prefix', ], ], ], 'TimecodeBurninPosition' => [ 'type' => 'string', 'enum' => [ 'TOP_CENTER', 'TOP_LEFT', 'TOP_RIGHT', 'MIDDLE_LEFT', 'MIDDLE_CENTER', 'MIDDLE_RIGHT', 'BOTTOM_LEFT', 'BOTTOM_CENTER', 'BOTTOM_RIGHT', ], ], 'TimecodeConfig' => [ 'type' => 'structure', 'members' => [ 'Anchor' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'anchor', ], 'Source' => [ 'shape' => 'TimecodeSource', 'locationName' => 'source', ], 'Start' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'start', ], 'TimestampOffset' => [ 'shape' => '__stringPattern0940191020191209301', 'locationName' => 'timestampOffset', ], ], ], 'TimecodeSource' => [ 'type' => 'string', 'enum' => [ 'EMBEDDED', 'ZEROBASED', 'SPECIFIEDSTART', ], ], 'TimedMetadata' => [ 'type' => 'string', 'enum' => [ 'PASSTHROUGH', 'NONE', ], ], 'TimedMetadataInsertion' => [ 'type' => 'structure', 'members' => [ 'Id3Insertions' => [ 'shape' => '__listOfId3Insertion', 'locationName' => 'id3Insertions', ], ], ], 'Timing' => [ 'type' => 'structure', 'members' => [ 'FinishTime' => [ 'shape' => '__timestampUnix', 'locationName' => 'finishTime', ], 'StartTime' => [ 'shape' => '__timestampUnix', 'locationName' => 'startTime', ], 'SubmitTime' => [ 'shape' => '__timestampUnix', 'locationName' => 'submitTime', ], ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'TrackSourceSettings' => [ 'type' => 'structure', 'members' => [ 'TrackNumber' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'trackNumber', ], ], ], 'TtmlDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'StylePassthrough' => [ 'shape' => 'TtmlStylePassthrough', 'locationName' => 'stylePassthrough', ], ], ], 'TtmlStylePassthrough' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Type' => [ 'type' => 'string', 'enum' => [ 'SYSTEM', 'CUSTOM', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', 'location' => 'uri', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'locationName' => 'tagKeys', ], ], 'required' => [ 'Arn', ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'AccelerationSettings' => [ 'shape' => 'AccelerationSettings', 'locationName' => 'accelerationSettings', ], 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Settings' => [ 'shape' => 'JobTemplateSettings', 'locationName' => 'settings', ], 'StatusUpdateInterval' => [ 'shape' => 'StatusUpdateInterval', 'locationName' => 'statusUpdateInterval', ], ], 'required' => [ 'Name', ], ], 'UpdateJobTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'JobTemplate' => [ 'shape' => 'JobTemplate', 'locationName' => 'jobTemplate', ], ], ], 'UpdatePresetRequest' => [ 'type' => 'structure', 'members' => [ 'Category' => [ 'shape' => '__string', 'locationName' => 'category', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], 'Settings' => [ 'shape' => 'PresetSettings', 'locationName' => 'settings', ], ], 'required' => [ 'Name', ], ], 'UpdatePresetResponse' => [ 'type' => 'structure', 'members' => [ 'Preset' => [ 'shape' => 'Preset', 'locationName' => 'preset', ], ], ], 'UpdateQueueRequest' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', 'location' => 'uri', ], 'ReservationPlanSettings' => [ 'shape' => 'ReservationPlanSettings', 'locationName' => 'reservationPlanSettings', ], 'Status' => [ 'shape' => 'QueueStatus', 'locationName' => 'status', ], ], 'required' => [ 'Name', ], ], 'UpdateQueueResponse' => [ 'type' => 'structure', 'members' => [ 'Queue' => [ 'shape' => 'Queue', 'locationName' => 'queue', ], ], ], 'VideoCodec' => [ 'type' => 'string', 'enum' => [ 'FRAME_CAPTURE', 'H_264', 'H_265', 'MPEG2', 'PRORES', ], ], 'VideoCodecSettings' => [ 'type' => 'structure', 'members' => [ 'Codec' => [ 'shape' => 'VideoCodec', 'locationName' => 'codec', ], 'FrameCaptureSettings' => [ 'shape' => 'FrameCaptureSettings', 'locationName' => 'frameCaptureSettings', ], 'H264Settings' => [ 'shape' => 'H264Settings', 'locationName' => 'h264Settings', ], 'H265Settings' => [ 'shape' => 'H265Settings', 'locationName' => 'h265Settings', ], 'Mpeg2Settings' => [ 'shape' => 'Mpeg2Settings', 'locationName' => 'mpeg2Settings', ], 'ProresSettings' => [ 'shape' => 'ProresSettings', 'locationName' => 'proresSettings', ], ], ], 'VideoDescription' => [ 'type' => 'structure', 'members' => [ 'AfdSignaling' => [ 'shape' => 'AfdSignaling', 'locationName' => 'afdSignaling', ], 'AntiAlias' => [ 'shape' => 'AntiAlias', 'locationName' => 'antiAlias', ], 'CodecSettings' => [ 'shape' => 'VideoCodecSettings', 'locationName' => 'codecSettings', ], 'ColorMetadata' => [ 'shape' => 'ColorMetadata', 'locationName' => 'colorMetadata', ], 'Crop' => [ 'shape' => 'Rectangle', 'locationName' => 'crop', ], 'DropFrameTimecode' => [ 'shape' => 'DropFrameTimecode', 'locationName' => 'dropFrameTimecode', ], 'FixedAfd' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'fixedAfd', ], 'Height' => [ 'shape' => '__integerMin32Max2160', 'locationName' => 'height', ], 'Position' => [ 'shape' => 'Rectangle', 'locationName' => 'position', ], 'RespondToAfd' => [ 'shape' => 'RespondToAfd', 'locationName' => 'respondToAfd', ], 'ScalingBehavior' => [ 'shape' => 'ScalingBehavior', 'locationName' => 'scalingBehavior', ], 'Sharpness' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'sharpness', ], 'TimecodeInsertion' => [ 'shape' => 'VideoTimecodeInsertion', 'locationName' => 'timecodeInsertion', ], 'VideoPreprocessors' => [ 'shape' => 'VideoPreprocessor', 'locationName' => 'videoPreprocessors', ], 'Width' => [ 'shape' => '__integerMin32Max4096', 'locationName' => 'width', ], ], ], 'VideoDetail' => [ 'type' => 'structure', 'members' => [ 'HeightInPx' => [ 'shape' => '__integer', 'locationName' => 'heightInPx', ], 'WidthInPx' => [ 'shape' => '__integer', 'locationName' => 'widthInPx', ], ], ], 'VideoPreprocessor' => [ 'type' => 'structure', 'members' => [ 'ColorCorrector' => [ 'shape' => 'ColorCorrector', 'locationName' => 'colorCorrector', ], 'Deinterlacer' => [ 'shape' => 'Deinterlacer', 'locationName' => 'deinterlacer', ], 'ImageInserter' => [ 'shape' => 'ImageInserter', 'locationName' => 'imageInserter', ], 'NoiseReducer' => [ 'shape' => 'NoiseReducer', 'locationName' => 'noiseReducer', ], 'TimecodeBurnin' => [ 'shape' => 'TimecodeBurnin', 'locationName' => 'timecodeBurnin', ], ], ], 'VideoSelector' => [ 'type' => 'structure', 'members' => [ 'ColorSpace' => [ 'shape' => 'ColorSpace', 'locationName' => 'colorSpace', ], 'ColorSpaceUsage' => [ 'shape' => 'ColorSpaceUsage', 'locationName' => 'colorSpaceUsage', ], 'Hdr10Metadata' => [ 'shape' => 'Hdr10Metadata', 'locationName' => 'hdr10Metadata', ], 'Pid' => [ 'shape' => '__integerMin1Max2147483647', 'locationName' => 'pid', ], 'ProgramNumber' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'programNumber', ], 'Rotate' => [ 'shape' => 'InputRotate', 'locationName' => 'rotate', ], ], ], 'VideoTimecodeInsertion' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'PIC_TIMING_SEI', ], ], 'WavFormat' => [ 'type' => 'string', 'enum' => [ 'RIFF', 'RF64', ], ], 'WavSettings' => [ 'type' => 'structure', 'members' => [ 'BitDepth' => [ 'shape' => '__integerMin16Max24', 'locationName' => 'bitDepth', ], 'Channels' => [ 'shape' => '__integerMin1Max8', 'locationName' => 'channels', ], 'Format' => [ 'shape' => 'WavFormat', 'locationName' => 'format', ], 'SampleRate' => [ 'shape' => '__integerMin8000Max192000', 'locationName' => 'sampleRate', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__doubleMin0' => [ 'type' => 'double', ], '__doubleMin0Max2147483647' => [ 'type' => 'double', ], '__doubleMinNegative59Max0' => [ 'type' => 'double', ], '__doubleMinNegative60Max3' => [ 'type' => 'double', ], '__doubleMinNegative60MaxNegative1' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__integerMin0Max10' => [ 'type' => 'integer', 'min' => 0, 'max' => 10, ], '__integerMin0Max100' => [ 'type' => 'integer', 'min' => 0, 'max' => 100, ], '__integerMin0Max1000' => [ 'type' => 'integer', 'min' => 0, 'max' => 1000, ], '__integerMin0Max10000' => [ 'type' => 'integer', 'min' => 0, 'max' => 10000, ], '__integerMin0Max1152000000' => [ 'type' => 'integer', 'min' => 0, 'max' => 1152000000, ], '__integerMin0Max128' => [ 'type' => 'integer', 'min' => 0, 'max' => 128, ], '__integerMin0Max1466400000' => [ 'type' => 'integer', 'min' => 0, 'max' => 1466400000, ], '__integerMin0Max15' => [ 'type' => 'integer', 'min' => 0, 'max' => 15, ], '__integerMin0Max16' => [ 'type' => 'integer', 'min' => 0, 'max' => 16, ], '__integerMin0Max2147483647' => [ 'type' => 'integer', 'min' => 0, 'max' => 2147483647, ], '__integerMin0Max255' => [ 'type' => 'integer', 'min' => 0, 'max' => 255, ], '__integerMin0Max3' => [ 'type' => 'integer', 'min' => 0, 'max' => 3, ], '__integerMin0Max30' => [ 'type' => 'integer', 'min' => 0, 'max' => 30, ], '__integerMin0Max30000' => [ 'type' => 'integer', 'min' => 0, 'max' => 30000, ], '__integerMin0Max3600' => [ 'type' => 'integer', 'min' => 0, 'max' => 3600, ], '__integerMin0Max47185920' => [ 'type' => 'integer', 'min' => 0, 'max' => 47185920, ], '__integerMin0Max500' => [ 'type' => 'integer', 'min' => 0, 'max' => 500, ], '__integerMin0Max50000' => [ 'type' => 'integer', 'min' => 0, 'max' => 50000, ], '__integerMin0Max65535' => [ 'type' => 'integer', 'min' => 0, 'max' => 65535, ], '__integerMin0Max7' => [ 'type' => 'integer', 'min' => 0, 'max' => 7, ], '__integerMin0Max8' => [ 'type' => 'integer', 'min' => 0, 'max' => 8, ], '__integerMin0Max9' => [ 'type' => 'integer', 'min' => 0, 'max' => 9, ], '__integerMin0Max96' => [ 'type' => 'integer', 'min' => 0, 'max' => 96, ], '__integerMin0Max99' => [ 'type' => 'integer', 'min' => 0, 'max' => 99, ], '__integerMin1000Max1152000000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 1152000000, ], '__integerMin1000Max1466400000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 1466400000, ], '__integerMin1000Max288000000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 288000000, ], '__integerMin1000Max30000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 30000, ], '__integerMin1000Max300000000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 300000000, ], '__integerMin10Max48' => [ 'type' => 'integer', 'min' => 10, 'max' => 48, ], '__integerMin16Max24' => [ 'type' => 'integer', 'min' => 16, 'max' => 24, ], '__integerMin1Max1' => [ 'type' => 'integer', 'min' => 1, 'max' => 1, ], '__integerMin1Max10' => [ 'type' => 'integer', 'min' => 1, 'max' => 10, ], '__integerMin1Max100' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], '__integerMin1Max10000000' => [ 'type' => 'integer', 'min' => 1, 'max' => 10000000, ], '__integerMin1Max1001' => [ 'type' => 'integer', 'min' => 1, 'max' => 1001, ], '__integerMin1Max16' => [ 'type' => 'integer', 'min' => 1, 'max' => 16, ], '__integerMin1Max17895697' => [ 'type' => 'integer', 'min' => 1, 'max' => 17895697, ], '__integerMin1Max2' => [ 'type' => 'integer', 'min' => 1, 'max' => 2, ], '__integerMin1Max20' => [ 'type' => 'integer', 'min' => 1, 'max' => 20, ], '__integerMin1Max2147483640' => [ 'type' => 'integer', 'min' => 1, 'max' => 2147483640, ], '__integerMin1Max2147483647' => [ 'type' => 'integer', 'min' => 1, 'max' => 2147483647, ], '__integerMin1Max31' => [ 'type' => 'integer', 'min' => 1, 'max' => 31, ], '__integerMin1Max32' => [ 'type' => 'integer', 'min' => 1, 'max' => 32, ], '__integerMin1Max4' => [ 'type' => 'integer', 'min' => 1, 'max' => 4, ], '__integerMin1Max6' => [ 'type' => 'integer', 'min' => 1, 'max' => 6, ], '__integerMin1Max8' => [ 'type' => 'integer', 'min' => 1, 'max' => 8, ], '__integerMin24Max60000' => [ 'type' => 'integer', 'min' => 24, 'max' => 60000, ], '__integerMin25Max10000' => [ 'type' => 'integer', 'min' => 25, 'max' => 10000, ], '__integerMin25Max2000' => [ 'type' => 'integer', 'min' => 25, 'max' => 2000, ], '__integerMin2Max2147483647' => [ 'type' => 'integer', 'min' => 2, 'max' => 2147483647, ], '__integerMin32000Max384000' => [ 'type' => 'integer', 'min' => 32000, 'max' => 384000, ], '__integerMin32000Max48000' => [ 'type' => 'integer', 'min' => 32000, 'max' => 48000, ], '__integerMin32Max2160' => [ 'type' => 'integer', 'min' => 32, 'max' => 2160, ], '__integerMin32Max4096' => [ 'type' => 'integer', 'min' => 32, 'max' => 4096, ], '__integerMin32Max8182' => [ 'type' => 'integer', 'min' => 32, 'max' => 8182, ], '__integerMin48000Max48000' => [ 'type' => 'integer', 'min' => 48000, 'max' => 48000, ], '__integerMin6000Max1024000' => [ 'type' => 'integer', 'min' => 6000, 'max' => 1024000, ], '__integerMin64000Max640000' => [ 'type' => 'integer', 'min' => 64000, 'max' => 640000, ], '__integerMin8000Max192000' => [ 'type' => 'integer', 'min' => 8000, 'max' => 192000, ], '__integerMin8000Max96000' => [ 'type' => 'integer', 'min' => 8000, 'max' => 96000, ], '__integerMin96Max600' => [ 'type' => 'integer', 'min' => 96, 'max' => 600, ], '__integerMinNegative1000Max1000' => [ 'type' => 'integer', 'min' => -1000, 'max' => 1000, ], '__integerMinNegative180Max180' => [ 'type' => 'integer', 'min' => -180, 'max' => 180, ], '__integerMinNegative2147483648Max2147483647' => [ 'type' => 'integer', 'min' => -2147483648, 'max' => 2147483647, ], '__integerMinNegative2Max3' => [ 'type' => 'integer', 'min' => -2, 'max' => 3, ], '__integerMinNegative5Max5' => [ 'type' => 'integer', 'min' => -5, 'max' => 5, ], '__integerMinNegative60Max6' => [ 'type' => 'integer', 'min' => -60, 'max' => 6, ], '__integerMinNegative70Max0' => [ 'type' => 'integer', 'min' => -70, 'max' => 0, ], '__listOfAudioDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'AudioDescription', ], ], '__listOfCaptionDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionDescription', ], ], '__listOfCaptionDescriptionPreset' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionDescriptionPreset', ], ], '__listOfEndpoint' => [ 'type' => 'list', 'member' => [ 'shape' => 'Endpoint', ], ], '__listOfHlsAdMarkers' => [ 'type' => 'list', 'member' => [ 'shape' => 'HlsAdMarkers', ], ], '__listOfHlsCaptionLanguageMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'HlsCaptionLanguageMapping', ], ], '__listOfId3Insertion' => [ 'type' => 'list', 'member' => [ 'shape' => 'Id3Insertion', ], ], '__listOfInput' => [ 'type' => 'list', 'member' => [ 'shape' => 'Input', ], ], '__listOfInputClipping' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputClipping', ], ], '__listOfInputTemplate' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputTemplate', ], ], '__listOfInsertableImage' => [ 'type' => 'list', 'member' => [ 'shape' => 'InsertableImage', ], ], '__listOfJob' => [ 'type' => 'list', 'member' => [ 'shape' => 'Job', ], ], '__listOfJobTemplate' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobTemplate', ], ], '__listOfOutput' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], '__listOfOutputChannelMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputChannelMapping', ], ], '__listOfOutputDetail' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputDetail', ], ], '__listOfOutputGroup' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputGroup', ], ], '__listOfOutputGroupDetail' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputGroupDetail', ], ], '__listOfPreset' => [ 'type' => 'list', 'member' => [ 'shape' => 'Preset', ], ], '__listOfQueue' => [ 'type' => 'list', 'member' => [ 'shape' => 'Queue', ], ], '__listOf__integerMin1Max2147483647' => [ 'type' => 'list', 'member' => [ 'shape' => '__integerMin1Max2147483647', ], ], '__listOf__integerMin32Max8182' => [ 'type' => 'list', 'member' => [ 'shape' => '__integerMin32Max8182', ], ], '__listOf__integerMinNegative60Max6' => [ 'type' => 'list', 'member' => [ 'shape' => '__integerMinNegative60Max6', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__listOf__stringMin1' => [ 'type' => 'list', 'member' => [ 'shape' => '__stringMin1', ], ], '__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12' => [ 'type' => 'list', 'member' => [ 'shape' => '__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12', ], ], '__listOf__stringPatternS3ASSETMAPXml' => [ 'type' => 'list', 'member' => [ 'shape' => '__stringPatternS3ASSETMAPXml', ], ], '__long' => [ 'type' => 'long', ], '__mapOfAudioSelector' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'AudioSelector', ], ], '__mapOfAudioSelectorGroup' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'AudioSelectorGroup', ], ], '__mapOfCaptionSelector' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'CaptionSelector', ], ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__stringMin0' => [ 'type' => 'string', 'min' => 0, ], '__stringMin1' => [ 'type' => 'string', 'min' => 1, ], '__stringMin11Max11Pattern01D20305D205D' => [ 'type' => 'string', 'min' => 11, 'max' => 11, 'pattern' => '^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$', ], '__stringMin14Max1285PatternS3Mov09Png' => [ 'type' => 'string', 'min' => 14, 'max' => 1285, 'pattern' => '^(s3:\\/\\/)(.*)(\\.mov|[0-9]+\\.png)$', ], '__stringMin14PatternS3BmpBMPPngPNG' => [ 'type' => 'string', 'min' => 14, 'pattern' => '^(s3:\\/\\/)(.*?)\\.(bmp|BMP|png|PNG)$', ], '__stringMin14PatternS3BmpBMPPngPNGTgaTGA' => [ 'type' => 'string', 'min' => 14, 'pattern' => '^(s3:\\/\\/)(.*?)\\.(bmp|BMP|png|PNG|tga|TGA)$', ], '__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI' => [ 'type' => 'string', 'min' => 14, 'pattern' => '^(s3:\\/\\/)(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|smi|SMI)$', ], '__stringMin16Max24PatternAZaZ0922AZaZ0916' => [ 'type' => 'string', 'min' => 16, 'max' => 24, 'pattern' => '^[A-Za-z0-9+\\/]{22}==$|^[A-Za-z0-9+\\/]{16}$', ], '__stringMin1Max256' => [ 'type' => 'string', 'min' => 1, 'max' => 256, ], '__stringMin24Max512PatternAZaZ0902' => [ 'type' => 'string', 'min' => 24, 'max' => 512, 'pattern' => '^[A-Za-z0-9+\\/]+={0,2}$', ], '__stringMin32Max32Pattern09aFAF32' => [ 'type' => 'string', 'min' => 32, 'max' => 32, 'pattern' => '^[0-9a-fA-F]{32}$', ], '__stringMin3Max3Pattern1809aFAF09aEAE' => [ 'type' => 'string', 'min' => 3, 'max' => 3, 'pattern' => '^[1-8][0-9a-fA-F][0-9a-eA-E]$', ], '__stringMin3Max3PatternAZaZ3' => [ 'type' => 'string', 'min' => 3, 'max' => 3, 'pattern' => '^[A-Za-z]{3}$', ], '__stringMin9Max19PatternAZ26EastWestCentralNorthSouthEastWest1912' => [ 'type' => 'string', 'min' => 9, 'max' => 19, 'pattern' => '^[a-z-]{2,6}-(east|west|central|((north|south)(east|west)?))-[1-9]{1,2}$', ], '__stringPattern' => [ 'type' => 'string', 'pattern' => '^[ -~]+$', ], '__stringPattern010920405090509092' => [ 'type' => 'string', 'pattern' => '^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}$', ], '__stringPattern01D20305D205D' => [ 'type' => 'string', 'pattern' => '^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$', ], '__stringPattern0940191020191209301' => [ 'type' => 'string', 'pattern' => '^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$', ], '__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12' => [ 'type' => 'string', 'pattern' => '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$', ], '__stringPatternAZaZ0902' => [ 'type' => 'string', 'pattern' => '^[A-Za-z0-9+\\/]+={0,2}$', ], '__stringPatternAZaZ0932' => [ 'type' => 'string', 'pattern' => '^[A-Za-z0-9]{32}$', ], '__stringPatternArnAwsUsGovAcm' => [ 'type' => 'string', 'pattern' => '^arn:aws(-us-gov)?:acm:', ], '__stringPatternArnAwsUsGovKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912' => [ 'type' => 'string', 'pattern' => '^arn:aws(-us-gov)?:kms:[a-z-]{2,6}-(east|west|central|((north|south)(east|west)?))-[1-9]{1,2}:\\d{12}:key/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', ], '__stringPatternDD' => [ 'type' => 'string', 'pattern' => '^(\\d+(\\/\\d+)*)$', ], '__stringPatternHttps' => [ 'type' => 'string', 'pattern' => '^https:\\/\\/', ], '__stringPatternIdentityAZaZ26AZaZ09163' => [ 'type' => 'string', 'pattern' => '^(identity|[A-Za-z]{2,6}(\\.[A-Za-z0-9-]{1,63})+)$', ], '__stringPatternS3' => [ 'type' => 'string', 'pattern' => '^s3:\\/\\/', ], '__stringPatternS3ASSETMAPXml' => [ 'type' => 'string', 'pattern' => '^s3:\\/\\/.*\\/(ASSETMAP.xml)?$', ], '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE' => [ 'type' => 'string', 'pattern' => '^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE])))$', ], '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL' => [ 'type' => 'string', 'pattern' => '^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL])))$', ], '__stringPatternSNManifestConfirmConditionNotificationNS' => [ 'type' => 'string', 'pattern' => '^\\s*<(.|\\n)*ManifestConfirmConditionNotification(.|\\n)*>\\s*$', ], '__stringPatternSNSignalProcessingNotificationNS' => [ 'type' => 'string', 'pattern' => '^\\s*<(.|\\n)*SignalProcessingNotification(.|\\n)*>\\s*$', ], '__stringPatternWS' => [ 'type' => 'string', 'pattern' => '^[\\w\\s]*$', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/mediaconvert/2017-08-29/paginators-1.json.php b/lib/aws/Aws/data/mediaconvert/2017-08-29/paginators-1.json.php new file mode 100644 index 0000000..92be0a4 --- /dev/null +++ b/lib/aws/Aws/data/mediaconvert/2017-08-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediaconvert/2017-08-29/paginators-1.json +return [ 'pagination' => [ 'DescribeEndpoints' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Endpoints', ], 'ListJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Jobs', ], 'ListPresets' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Presets', ], 'ListJobTemplates' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'JobTemplates', ], 'ListQueues' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Queues', ], ],]; diff --git a/lib/aws/Aws/data/medialive/2017-10-14/api-2.json.php b/lib/aws/Aws/data/medialive/2017-10-14/api-2.json.php new file mode 100644 index 0000000..a1dce6a --- /dev/null +++ b/lib/aws/Aws/data/medialive/2017-10-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/medialive/2017-10-14/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-10-14', 'endpointPrefix' => 'medialive', 'signingName' => 'medialive', 'serviceFullName' => 'AWS Elemental MediaLive', 'serviceId' => 'MediaLive', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'medialive-2017-10-14', 'signatureVersion' => 'v4', 'serviceAbbreviation' => 'MediaLive', ], 'operations' => [ 'BatchUpdateSchedule' => [ 'name' => 'BatchUpdateSchedule', 'http' => [ 'method' => 'PUT', 'requestUri' => '/prod/channels/{channelId}/schedule', 'responseCode' => 200, ], 'input' => [ 'shape' => 'BatchUpdateScheduleRequest', ], 'output' => [ 'shape' => 'BatchUpdateScheduleResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateChannel' => [ 'name' => 'CreateChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/channels', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateChannelRequest', ], 'output' => [ 'shape' => 'CreateChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'CreateInput' => [ 'name' => 'CreateInput', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/inputs', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateInputRequest', ], 'output' => [ 'shape' => 'CreateInputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateInputSecurityGroup' => [ 'name' => 'CreateInputSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/inputSecurityGroups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateInputSecurityGroupRequest', ], 'output' => [ 'shape' => 'CreateInputSecurityGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'CreateTagsRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DeleteChannel' => [ 'name' => 'DeleteChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/prod/channels/{channelId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteChannelRequest', ], 'output' => [ 'shape' => 'DeleteChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteInput' => [ 'name' => 'DeleteInput', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/prod/inputs/{inputId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteInputRequest', ], 'output' => [ 'shape' => 'DeleteInputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteInputSecurityGroup' => [ 'name' => 'DeleteInputSecurityGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/prod/inputSecurityGroups/{inputSecurityGroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteInputSecurityGroupRequest', ], 'output' => [ 'shape' => 'DeleteInputSecurityGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteReservation' => [ 'name' => 'DeleteReservation', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/prod/reservations/{reservationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteReservationRequest', ], 'output' => [ 'shape' => 'DeleteReservationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/prod/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeChannel' => [ 'name' => 'DescribeChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/channels/{channelId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeChannelRequest', ], 'output' => [ 'shape' => 'DescribeChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeInput' => [ 'name' => 'DescribeInput', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/inputs/{inputId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeInputRequest', ], 'output' => [ 'shape' => 'DescribeInputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeInputSecurityGroup' => [ 'name' => 'DescribeInputSecurityGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/inputSecurityGroups/{inputSecurityGroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeInputSecurityGroupRequest', ], 'output' => [ 'shape' => 'DescribeInputSecurityGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeOffering' => [ 'name' => 'DescribeOffering', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/offerings/{offeringId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeOfferingRequest', ], 'output' => [ 'shape' => 'DescribeOfferingResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeReservation' => [ 'name' => 'DescribeReservation', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/reservations/{reservationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeReservationRequest', ], 'output' => [ 'shape' => 'DescribeReservationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeSchedule' => [ 'name' => 'DescribeSchedule', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/channels/{channelId}/schedule', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeScheduleRequest', ], 'output' => [ 'shape' => 'DescribeScheduleResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListChannels' => [ 'name' => 'ListChannels', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/channels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListChannelsRequest', ], 'output' => [ 'shape' => 'ListChannelsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListInputSecurityGroups' => [ 'name' => 'ListInputSecurityGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/inputSecurityGroups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListInputSecurityGroupsRequest', ], 'output' => [ 'shape' => 'ListInputSecurityGroupsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListInputs' => [ 'name' => 'ListInputs', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/inputs', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListInputsRequest', ], 'output' => [ 'shape' => 'ListInputsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListOfferings' => [ 'name' => 'ListOfferings', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/offerings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListOfferingsRequest', ], 'output' => [ 'shape' => 'ListOfferingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListReservations' => [ 'name' => 'ListReservations', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/reservations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListReservationsRequest', ], 'output' => [ 'shape' => 'ListReservationsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/prod/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'PurchaseOffering' => [ 'name' => 'PurchaseOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/offerings/{offeringId}/purchase', 'responseCode' => 201, ], 'input' => [ 'shape' => 'PurchaseOfferingRequest', ], 'output' => [ 'shape' => 'PurchaseOfferingResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'StartChannel' => [ 'name' => 'StartChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/channels/{channelId}/start', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StartChannelRequest', ], 'output' => [ 'shape' => 'StartChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'StopChannel' => [ 'name' => 'StopChannel', 'http' => [ 'method' => 'POST', 'requestUri' => '/prod/channels/{channelId}/stop', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StopChannelRequest', ], 'output' => [ 'shape' => 'StopChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateChannel' => [ 'name' => 'UpdateChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/prod/channels/{channelId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateChannelRequest', ], 'output' => [ 'shape' => 'UpdateChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateInput' => [ 'name' => 'UpdateInput', 'http' => [ 'method' => 'PUT', 'requestUri' => '/prod/inputs/{inputId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateInputRequest', ], 'output' => [ 'shape' => 'UpdateInputResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateInputSecurityGroup' => [ 'name' => 'UpdateInputSecurityGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/prod/inputSecurityGroups/{inputSecurityGroupId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateInputSecurityGroupRequest', ], 'output' => [ 'shape' => 'UpdateInputSecurityGroupResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateReservation' => [ 'name' => 'UpdateReservation', 'http' => [ 'method' => 'PUT', 'requestUri' => '/prod/reservations/{reservationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateReservationRequest', ], 'output' => [ 'shape' => 'UpdateReservationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'GatewayTimeoutException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], ], 'shapes' => [ 'AacCodingMode' => [ 'type' => 'string', 'enum' => [ 'AD_RECEIVER_MIX', 'CODING_MODE_1_0', 'CODING_MODE_1_1', 'CODING_MODE_2_0', 'CODING_MODE_5_1', ], ], 'AacInputType' => [ 'type' => 'string', 'enum' => [ 'BROADCASTER_MIXED_AD', 'NORMAL', ], ], 'AacProfile' => [ 'type' => 'string', 'enum' => [ 'HEV1', 'HEV2', 'LC', ], ], 'AacRateControlMode' => [ 'type' => 'string', 'enum' => [ 'CBR', 'VBR', ], ], 'AacRawFormat' => [ 'type' => 'string', 'enum' => [ 'LATM_LOAS', 'NONE', ], ], 'AacSettings' => [ 'type' => 'structure', 'members' => [ 'Bitrate' => [ 'shape' => '__double', 'locationName' => 'bitrate', ], 'CodingMode' => [ 'shape' => 'AacCodingMode', 'locationName' => 'codingMode', ], 'InputType' => [ 'shape' => 'AacInputType', 'locationName' => 'inputType', ], 'Profile' => [ 'shape' => 'AacProfile', 'locationName' => 'profile', ], 'RateControlMode' => [ 'shape' => 'AacRateControlMode', 'locationName' => 'rateControlMode', ], 'RawFormat' => [ 'shape' => 'AacRawFormat', 'locationName' => 'rawFormat', ], 'SampleRate' => [ 'shape' => '__double', 'locationName' => 'sampleRate', ], 'Spec' => [ 'shape' => 'AacSpec', 'locationName' => 'spec', ], 'VbrQuality' => [ 'shape' => 'AacVbrQuality', 'locationName' => 'vbrQuality', ], ], ], 'AacSpec' => [ 'type' => 'string', 'enum' => [ 'MPEG2', 'MPEG4', ], ], 'AacVbrQuality' => [ 'type' => 'string', 'enum' => [ 'HIGH', 'LOW', 'MEDIUM_HIGH', 'MEDIUM_LOW', ], ], 'Ac3BitstreamMode' => [ 'type' => 'string', 'enum' => [ 'COMMENTARY', 'COMPLETE_MAIN', 'DIALOGUE', 'EMERGENCY', 'HEARING_IMPAIRED', 'MUSIC_AND_EFFECTS', 'VISUALLY_IMPAIRED', 'VOICE_OVER', ], ], 'Ac3CodingMode' => [ 'type' => 'string', 'enum' => [ 'CODING_MODE_1_0', 'CODING_MODE_1_1', 'CODING_MODE_2_0', 'CODING_MODE_3_2_LFE', ], ], 'Ac3DrcProfile' => [ 'type' => 'string', 'enum' => [ 'FILM_STANDARD', 'NONE', ], ], 'Ac3LfeFilter' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Ac3MetadataControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'Ac3Settings' => [ 'type' => 'structure', 'members' => [ 'Bitrate' => [ 'shape' => '__double', 'locationName' => 'bitrate', ], 'BitstreamMode' => [ 'shape' => 'Ac3BitstreamMode', 'locationName' => 'bitstreamMode', ], 'CodingMode' => [ 'shape' => 'Ac3CodingMode', 'locationName' => 'codingMode', ], 'Dialnorm' => [ 'shape' => '__integerMin1Max31', 'locationName' => 'dialnorm', ], 'DrcProfile' => [ 'shape' => 'Ac3DrcProfile', 'locationName' => 'drcProfile', ], 'LfeFilter' => [ 'shape' => 'Ac3LfeFilter', 'locationName' => 'lfeFilter', ], 'MetadataControl' => [ 'shape' => 'Ac3MetadataControl', 'locationName' => 'metadataControl', ], ], ], 'AccessDenied' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'AfdSignaling' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'FIXED', 'NONE', ], ], 'ArchiveContainerSettings' => [ 'type' => 'structure', 'members' => [ 'M2tsSettings' => [ 'shape' => 'M2tsSettings', 'locationName' => 'm2tsSettings', ], ], ], 'ArchiveGroupSettings' => [ 'type' => 'structure', 'members' => [ 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], 'RolloverInterval' => [ 'shape' => '__integerMin1', 'locationName' => 'rolloverInterval', ], ], 'required' => [ 'Destination', ], ], 'ArchiveOutputSettings' => [ 'type' => 'structure', 'members' => [ 'ContainerSettings' => [ 'shape' => 'ArchiveContainerSettings', 'locationName' => 'containerSettings', ], 'Extension' => [ 'shape' => '__string', 'locationName' => 'extension', ], 'NameModifier' => [ 'shape' => '__string', 'locationName' => 'nameModifier', ], ], 'required' => [ 'ContainerSettings', ], ], 'AribDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'AribSourceSettings' => [ 'type' => 'structure', 'members' => [], ], 'AudioChannelMapping' => [ 'type' => 'structure', 'members' => [ 'InputChannelLevels' => [ 'shape' => '__listOfInputChannelLevel', 'locationName' => 'inputChannelLevels', ], 'OutputChannel' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'outputChannel', ], ], 'required' => [ 'OutputChannel', 'InputChannelLevels', ], ], 'AudioCodecSettings' => [ 'type' => 'structure', 'members' => [ 'AacSettings' => [ 'shape' => 'AacSettings', 'locationName' => 'aacSettings', ], 'Ac3Settings' => [ 'shape' => 'Ac3Settings', 'locationName' => 'ac3Settings', ], 'Eac3Settings' => [ 'shape' => 'Eac3Settings', 'locationName' => 'eac3Settings', ], 'Mp2Settings' => [ 'shape' => 'Mp2Settings', 'locationName' => 'mp2Settings', ], 'PassThroughSettings' => [ 'shape' => 'PassThroughSettings', 'locationName' => 'passThroughSettings', ], ], ], 'AudioDescription' => [ 'type' => 'structure', 'members' => [ 'AudioNormalizationSettings' => [ 'shape' => 'AudioNormalizationSettings', 'locationName' => 'audioNormalizationSettings', ], 'AudioSelectorName' => [ 'shape' => '__string', 'locationName' => 'audioSelectorName', ], 'AudioType' => [ 'shape' => 'AudioType', 'locationName' => 'audioType', ], 'AudioTypeControl' => [ 'shape' => 'AudioDescriptionAudioTypeControl', 'locationName' => 'audioTypeControl', ], 'CodecSettings' => [ 'shape' => 'AudioCodecSettings', 'locationName' => 'codecSettings', ], 'LanguageCode' => [ 'shape' => '__stringMin3Max3', 'locationName' => 'languageCode', ], 'LanguageCodeControl' => [ 'shape' => 'AudioDescriptionLanguageCodeControl', 'locationName' => 'languageCodeControl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RemixSettings' => [ 'shape' => 'RemixSettings', 'locationName' => 'remixSettings', ], 'StreamName' => [ 'shape' => '__string', 'locationName' => 'streamName', ], ], 'required' => [ 'AudioSelectorName', 'Name', ], ], 'AudioDescriptionAudioTypeControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'AudioDescriptionLanguageCodeControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'AudioLanguageSelection' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => '__string', 'locationName' => 'languageCode', ], 'LanguageSelectionPolicy' => [ 'shape' => 'AudioLanguageSelectionPolicy', 'locationName' => 'languageSelectionPolicy', ], ], 'required' => [ 'LanguageCode', ], ], 'AudioLanguageSelectionPolicy' => [ 'type' => 'string', 'enum' => [ 'LOOSE', 'STRICT', ], ], 'AudioNormalizationAlgorithm' => [ 'type' => 'string', 'enum' => [ 'ITU_1770_1', 'ITU_1770_2', ], ], 'AudioNormalizationAlgorithmControl' => [ 'type' => 'string', 'enum' => [ 'CORRECT_AUDIO', ], ], 'AudioNormalizationSettings' => [ 'type' => 'structure', 'members' => [ 'Algorithm' => [ 'shape' => 'AudioNormalizationAlgorithm', 'locationName' => 'algorithm', ], 'AlgorithmControl' => [ 'shape' => 'AudioNormalizationAlgorithmControl', 'locationName' => 'algorithmControl', ], 'TargetLkfs' => [ 'shape' => '__doubleMinNegative59Max0', 'locationName' => 'targetLkfs', ], ], ], 'AudioOnlyHlsSettings' => [ 'type' => 'structure', 'members' => [ 'AudioGroupId' => [ 'shape' => '__string', 'locationName' => 'audioGroupId', ], 'AudioOnlyImage' => [ 'shape' => 'InputLocation', 'locationName' => 'audioOnlyImage', ], 'AudioTrackType' => [ 'shape' => 'AudioOnlyHlsTrackType', 'locationName' => 'audioTrackType', ], ], ], 'AudioOnlyHlsTrackType' => [ 'type' => 'string', 'enum' => [ 'ALTERNATE_AUDIO_AUTO_SELECT', 'ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT', 'ALTERNATE_AUDIO_NOT_AUTO_SELECT', 'AUDIO_ONLY_VARIANT_STREAM', ], ], 'AudioPidSelection' => [ 'type' => 'structure', 'members' => [ 'Pid' => [ 'shape' => '__integerMin0Max8191', 'locationName' => 'pid', ], ], 'required' => [ 'Pid', ], ], 'AudioSelector' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__stringMin1', 'locationName' => 'name', ], 'SelectorSettings' => [ 'shape' => 'AudioSelectorSettings', 'locationName' => 'selectorSettings', ], ], 'required' => [ 'Name', ], ], 'AudioSelectorSettings' => [ 'type' => 'structure', 'members' => [ 'AudioLanguageSelection' => [ 'shape' => 'AudioLanguageSelection', 'locationName' => 'audioLanguageSelection', ], 'AudioPidSelection' => [ 'shape' => 'AudioPidSelection', 'locationName' => 'audioPidSelection', ], ], ], 'AudioType' => [ 'type' => 'string', 'enum' => [ 'CLEAN_EFFECTS', 'HEARING_IMPAIRED', 'UNDEFINED', 'VISUAL_IMPAIRED_COMMENTARY', ], ], 'AuthenticationScheme' => [ 'type' => 'string', 'enum' => [ 'AKAMAI', 'COMMON', ], ], 'AvailBlanking' => [ 'type' => 'structure', 'members' => [ 'AvailBlankingImage' => [ 'shape' => 'InputLocation', 'locationName' => 'availBlankingImage', ], 'State' => [ 'shape' => 'AvailBlankingState', 'locationName' => 'state', ], ], ], 'AvailBlankingState' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'AvailConfiguration' => [ 'type' => 'structure', 'members' => [ 'AvailSettings' => [ 'shape' => 'AvailSettings', 'locationName' => 'availSettings', ], ], ], 'AvailSettings' => [ 'type' => 'structure', 'members' => [ 'Scte35SpliceInsert' => [ 'shape' => 'Scte35SpliceInsert', 'locationName' => 'scte35SpliceInsert', ], 'Scte35TimeSignalApos' => [ 'shape' => 'Scte35TimeSignalApos', 'locationName' => 'scte35TimeSignalApos', ], ], ], 'BadGatewayException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 502, ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BatchScheduleActionCreateRequest' => [ 'type' => 'structure', 'members' => [ 'ScheduleActions' => [ 'shape' => '__listOfScheduleAction', 'locationName' => 'scheduleActions', ], ], 'required' => [ 'ScheduleActions', ], ], 'BatchScheduleActionCreateResult' => [ 'type' => 'structure', 'members' => [ 'ScheduleActions' => [ 'shape' => '__listOfScheduleAction', 'locationName' => 'scheduleActions', ], ], 'required' => [ 'ScheduleActions', ], ], 'BatchScheduleActionDeleteRequest' => [ 'type' => 'structure', 'members' => [ 'ActionNames' => [ 'shape' => '__listOf__string', 'locationName' => 'actionNames', ], ], 'required' => [ 'ActionNames', ], ], 'BatchScheduleActionDeleteResult' => [ 'type' => 'structure', 'members' => [ 'ScheduleActions' => [ 'shape' => '__listOfScheduleAction', 'locationName' => 'scheduleActions', ], ], 'required' => [ 'ScheduleActions', ], ], 'BatchUpdateScheduleRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], 'Creates' => [ 'shape' => 'BatchScheduleActionCreateRequest', 'locationName' => 'creates', ], 'Deletes' => [ 'shape' => 'BatchScheduleActionDeleteRequest', 'locationName' => 'deletes', ], ], 'required' => [ 'ChannelId', ], ], 'BatchUpdateScheduleResponse' => [ 'type' => 'structure', 'members' => [ 'Creates' => [ 'shape' => 'BatchScheduleActionCreateResult', 'locationName' => 'creates', ], 'Deletes' => [ 'shape' => 'BatchScheduleActionDeleteResult', 'locationName' => 'deletes', ], ], ], 'BatchUpdateScheduleResult' => [ 'type' => 'structure', 'members' => [ 'Creates' => [ 'shape' => 'BatchScheduleActionCreateResult', 'locationName' => 'creates', ], 'Deletes' => [ 'shape' => 'BatchScheduleActionDeleteResult', 'locationName' => 'deletes', ], ], ], 'BlackoutSlate' => [ 'type' => 'structure', 'members' => [ 'BlackoutSlateImage' => [ 'shape' => 'InputLocation', 'locationName' => 'blackoutSlateImage', ], 'NetworkEndBlackout' => [ 'shape' => 'BlackoutSlateNetworkEndBlackout', 'locationName' => 'networkEndBlackout', ], 'NetworkEndBlackoutImage' => [ 'shape' => 'InputLocation', 'locationName' => 'networkEndBlackoutImage', ], 'NetworkId' => [ 'shape' => '__stringMin34Max34', 'locationName' => 'networkId', ], 'State' => [ 'shape' => 'BlackoutSlateState', 'locationName' => 'state', ], ], ], 'BlackoutSlateNetworkEndBlackout' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'BlackoutSlateState' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'BurnInAlignment' => [ 'type' => 'string', 'enum' => [ 'CENTERED', 'LEFT', 'SMART', ], ], 'BurnInBackgroundColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'NONE', 'WHITE', ], ], 'BurnInDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Alignment' => [ 'shape' => 'BurnInAlignment', 'locationName' => 'alignment', ], 'BackgroundColor' => [ 'shape' => 'BurnInBackgroundColor', 'locationName' => 'backgroundColor', ], 'BackgroundOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'backgroundOpacity', ], 'Font' => [ 'shape' => 'InputLocation', 'locationName' => 'font', ], 'FontColor' => [ 'shape' => 'BurnInFontColor', 'locationName' => 'fontColor', ], 'FontOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'fontOpacity', ], 'FontResolution' => [ 'shape' => '__integerMin96Max600', 'locationName' => 'fontResolution', ], 'FontSize' => [ 'shape' => '__string', 'locationName' => 'fontSize', ], 'OutlineColor' => [ 'shape' => 'BurnInOutlineColor', 'locationName' => 'outlineColor', ], 'OutlineSize' => [ 'shape' => '__integerMin0Max10', 'locationName' => 'outlineSize', ], 'ShadowColor' => [ 'shape' => 'BurnInShadowColor', 'locationName' => 'shadowColor', ], 'ShadowOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'shadowOpacity', ], 'ShadowXOffset' => [ 'shape' => '__integer', 'locationName' => 'shadowXOffset', ], 'ShadowYOffset' => [ 'shape' => '__integer', 'locationName' => 'shadowYOffset', ], 'TeletextGridControl' => [ 'shape' => 'BurnInTeletextGridControl', 'locationName' => 'teletextGridControl', ], 'XPosition' => [ 'shape' => '__integerMin0', 'locationName' => 'xPosition', ], 'YPosition' => [ 'shape' => '__integerMin0', 'locationName' => 'yPosition', ], ], ], 'BurnInFontColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'BLUE', 'GREEN', 'RED', 'WHITE', 'YELLOW', ], ], 'BurnInOutlineColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'BLUE', 'GREEN', 'RED', 'WHITE', 'YELLOW', ], ], 'BurnInShadowColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'NONE', 'WHITE', ], ], 'BurnInTeletextGridControl' => [ 'type' => 'string', 'enum' => [ 'FIXED', 'SCALED', ], ], 'CaptionDescription' => [ 'type' => 'structure', 'members' => [ 'CaptionSelectorName' => [ 'shape' => '__string', 'locationName' => 'captionSelectorName', ], 'DestinationSettings' => [ 'shape' => 'CaptionDestinationSettings', 'locationName' => 'destinationSettings', ], 'LanguageCode' => [ 'shape' => '__string', 'locationName' => 'languageCode', ], 'LanguageDescription' => [ 'shape' => '__string', 'locationName' => 'languageDescription', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], ], 'required' => [ 'CaptionSelectorName', 'Name', ], ], 'CaptionDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'AribDestinationSettings' => [ 'shape' => 'AribDestinationSettings', 'locationName' => 'aribDestinationSettings', ], 'BurnInDestinationSettings' => [ 'shape' => 'BurnInDestinationSettings', 'locationName' => 'burnInDestinationSettings', ], 'DvbSubDestinationSettings' => [ 'shape' => 'DvbSubDestinationSettings', 'locationName' => 'dvbSubDestinationSettings', ], 'EmbeddedDestinationSettings' => [ 'shape' => 'EmbeddedDestinationSettings', 'locationName' => 'embeddedDestinationSettings', ], 'EmbeddedPlusScte20DestinationSettings' => [ 'shape' => 'EmbeddedPlusScte20DestinationSettings', 'locationName' => 'embeddedPlusScte20DestinationSettings', ], 'RtmpCaptionInfoDestinationSettings' => [ 'shape' => 'RtmpCaptionInfoDestinationSettings', 'locationName' => 'rtmpCaptionInfoDestinationSettings', ], 'Scte20PlusEmbeddedDestinationSettings' => [ 'shape' => 'Scte20PlusEmbeddedDestinationSettings', 'locationName' => 'scte20PlusEmbeddedDestinationSettings', ], 'Scte27DestinationSettings' => [ 'shape' => 'Scte27DestinationSettings', 'locationName' => 'scte27DestinationSettings', ], 'SmpteTtDestinationSettings' => [ 'shape' => 'SmpteTtDestinationSettings', 'locationName' => 'smpteTtDestinationSettings', ], 'TeletextDestinationSettings' => [ 'shape' => 'TeletextDestinationSettings', 'locationName' => 'teletextDestinationSettings', ], 'TtmlDestinationSettings' => [ 'shape' => 'TtmlDestinationSettings', 'locationName' => 'ttmlDestinationSettings', ], 'WebvttDestinationSettings' => [ 'shape' => 'WebvttDestinationSettings', 'locationName' => 'webvttDestinationSettings', ], ], ], 'CaptionLanguageMapping' => [ 'type' => 'structure', 'members' => [ 'CaptionChannel' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'captionChannel', ], 'LanguageCode' => [ 'shape' => '__stringMin3Max3', 'locationName' => 'languageCode', ], 'LanguageDescription' => [ 'shape' => '__stringMin1', 'locationName' => 'languageDescription', ], ], 'required' => [ 'LanguageCode', 'LanguageDescription', 'CaptionChannel', ], ], 'CaptionSelector' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => '__string', 'locationName' => 'languageCode', ], 'Name' => [ 'shape' => '__stringMin1', 'locationName' => 'name', ], 'SelectorSettings' => [ 'shape' => 'CaptionSelectorSettings', 'locationName' => 'selectorSettings', ], ], 'required' => [ 'Name', ], ], 'CaptionSelectorSettings' => [ 'type' => 'structure', 'members' => [ 'AribSourceSettings' => [ 'shape' => 'AribSourceSettings', 'locationName' => 'aribSourceSettings', ], 'DvbSubSourceSettings' => [ 'shape' => 'DvbSubSourceSettings', 'locationName' => 'dvbSubSourceSettings', ], 'EmbeddedSourceSettings' => [ 'shape' => 'EmbeddedSourceSettings', 'locationName' => 'embeddedSourceSettings', ], 'Scte20SourceSettings' => [ 'shape' => 'Scte20SourceSettings', 'locationName' => 'scte20SourceSettings', ], 'Scte27SourceSettings' => [ 'shape' => 'Scte27SourceSettings', 'locationName' => 'scte27SourceSettings', ], 'TeletextSourceSettings' => [ 'shape' => 'TeletextSourceSettings', 'locationName' => 'teletextSourceSettings', ], ], ], 'Channel' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'ChannelClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'SINGLE_PIPELINE', ], ], 'ChannelConfigurationValidationError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'ValidationErrors' => [ 'shape' => '__listOfValidationError', 'locationName' => 'validationErrors', ], ], ], 'ChannelEgressEndpoint' => [ 'type' => 'structure', 'members' => [ 'SourceIp' => [ 'shape' => '__string', 'locationName' => 'sourceIp', ], ], ], 'ChannelState' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'CREATE_FAILED', 'IDLE', 'STARTING', 'RUNNING', 'RECOVERING', 'STOPPING', 'DELETING', 'DELETED', ], ], 'ChannelSummary' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateChannel' => [ 'type' => 'structure', 'members' => [ 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'CreateChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'CreateChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Channel' => [ 'shape' => 'Channel', 'locationName' => 'channel', ], ], ], 'CreateChannelResultModel' => [ 'type' => 'structure', 'members' => [ 'Channel' => [ 'shape' => 'Channel', 'locationName' => 'channel', ], ], ], 'CreateInput' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlowRequest', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], 'Vpc' => [ 'shape' => 'InputVpcRequest', 'locationName' => 'vpc', ], ], ], 'CreateInputRequest' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlowRequest', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], 'Vpc' => [ 'shape' => 'InputVpcRequest', 'locationName' => 'vpc', ], ], ], 'CreateInputResponse' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputResultModel' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRuleCidr', 'locationName' => 'whitelistRules', ], ], ], 'CreateInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'CreateInputSecurityGroupResultModel' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], 'required' => [ 'ResourceArn', ], ], 'DeleteChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DeleteChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'DeleteInputRequest' => [ 'type' => 'structure', 'members' => [ 'InputId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputId', ], ], 'required' => [ 'InputId', ], ], 'DeleteInputResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'InputSecurityGroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputSecurityGroupId', ], ], 'required' => [ 'InputSecurityGroupId', ], ], 'DeleteInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReservationRequest' => [ 'type' => 'structure', 'members' => [ 'ReservationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'reservationId', ], ], 'required' => [ 'ReservationId', ], ], 'DeleteReservationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Count' => [ 'shape' => '__integer', 'locationName' => 'count', ], 'CurrencyCode' => [ 'shape' => '__string', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => '__integer', 'locationName' => 'duration', ], 'DurationUnits' => [ 'shape' => 'OfferingDurationUnits', 'locationName' => 'durationUnits', ], 'End' => [ 'shape' => '__string', 'locationName' => 'end', ], 'FixedPrice' => [ 'shape' => '__double', 'locationName' => 'fixedPrice', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OfferingDescription' => [ 'shape' => '__string', 'locationName' => 'offeringDescription', ], 'OfferingId' => [ 'shape' => '__string', 'locationName' => 'offeringId', ], 'OfferingType' => [ 'shape' => 'OfferingType', 'locationName' => 'offeringType', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'ReservationId' => [ 'shape' => '__string', 'locationName' => 'reservationId', ], 'ResourceSpecification' => [ 'shape' => 'ReservationResourceSpecification', 'locationName' => 'resourceSpecification', ], 'Start' => [ 'shape' => '__string', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'DescribeChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DescribeChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'DescribeInputRequest' => [ 'type' => 'structure', 'members' => [ 'InputId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputId', ], ], 'required' => [ 'InputId', ], ], 'DescribeInputResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'AttachedChannels' => [ 'shape' => '__listOf__string', 'locationName' => 'attachedChannels', ], 'Destinations' => [ 'shape' => '__listOfInputDestination', 'locationName' => 'destinations', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputClass' => [ 'shape' => 'InputClass', 'locationName' => 'inputClass', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlow', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'DescribeInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'InputSecurityGroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputSecurityGroupId', ], ], 'required' => [ 'InputSecurityGroupId', ], ], 'DescribeInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'Inputs' => [ 'shape' => '__listOf__string', 'locationName' => 'inputs', ], 'State' => [ 'shape' => 'InputSecurityGroupState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRule', 'locationName' => 'whitelistRules', ], ], ], 'DescribeOfferingRequest' => [ 'type' => 'structure', 'members' => [ 'OfferingId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'offeringId', ], ], 'required' => [ 'OfferingId', ], ], 'DescribeOfferingResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'CurrencyCode' => [ 'shape' => '__string', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => '__integer', 'locationName' => 'duration', ], 'DurationUnits' => [ 'shape' => 'OfferingDurationUnits', 'locationName' => 'durationUnits', ], 'FixedPrice' => [ 'shape' => '__double', 'locationName' => 'fixedPrice', ], 'OfferingDescription' => [ 'shape' => '__string', 'locationName' => 'offeringDescription', ], 'OfferingId' => [ 'shape' => '__string', 'locationName' => 'offeringId', ], 'OfferingType' => [ 'shape' => 'OfferingType', 'locationName' => 'offeringType', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'ResourceSpecification' => [ 'shape' => 'ReservationResourceSpecification', 'locationName' => 'resourceSpecification', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'DescribeReservationRequest' => [ 'type' => 'structure', 'members' => [ 'ReservationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'reservationId', ], ], 'required' => [ 'ReservationId', ], ], 'DescribeReservationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Count' => [ 'shape' => '__integer', 'locationName' => 'count', ], 'CurrencyCode' => [ 'shape' => '__string', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => '__integer', 'locationName' => 'duration', ], 'DurationUnits' => [ 'shape' => 'OfferingDurationUnits', 'locationName' => 'durationUnits', ], 'End' => [ 'shape' => '__string', 'locationName' => 'end', ], 'FixedPrice' => [ 'shape' => '__double', 'locationName' => 'fixedPrice', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OfferingDescription' => [ 'shape' => '__string', 'locationName' => 'offeringDescription', ], 'OfferingId' => [ 'shape' => '__string', 'locationName' => 'offeringId', ], 'OfferingType' => [ 'shape' => 'OfferingType', 'locationName' => 'offeringType', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'ReservationId' => [ 'shape' => '__string', 'locationName' => 'reservationId', ], 'ResourceSpecification' => [ 'shape' => 'ReservationResourceSpecification', 'locationName' => 'resourceSpecification', ], 'Start' => [ 'shape' => '__string', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'DescribeScheduleRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ChannelId', ], ], 'DescribeScheduleResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'ScheduleActions' => [ 'shape' => '__listOfScheduleAction', 'locationName' => 'scheduleActions', ], ], ], 'DvbNitSettings' => [ 'type' => 'structure', 'members' => [ 'NetworkId' => [ 'shape' => '__integerMin0Max65536', 'locationName' => 'networkId', ], 'NetworkName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'networkName', ], 'RepInterval' => [ 'shape' => '__integerMin25Max10000', 'locationName' => 'repInterval', ], ], 'required' => [ 'NetworkName', 'NetworkId', ], ], 'DvbSdtOutputSdt' => [ 'type' => 'string', 'enum' => [ 'SDT_FOLLOW', 'SDT_FOLLOW_IF_PRESENT', 'SDT_MANUAL', 'SDT_NONE', ], ], 'DvbSdtSettings' => [ 'type' => 'structure', 'members' => [ 'OutputSdt' => [ 'shape' => 'DvbSdtOutputSdt', 'locationName' => 'outputSdt', ], 'RepInterval' => [ 'shape' => '__integerMin25Max2000', 'locationName' => 'repInterval', ], 'ServiceName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'serviceName', ], 'ServiceProviderName' => [ 'shape' => '__stringMin1Max256', 'locationName' => 'serviceProviderName', ], ], ], 'DvbSubDestinationAlignment' => [ 'type' => 'string', 'enum' => [ 'CENTERED', 'LEFT', 'SMART', ], ], 'DvbSubDestinationBackgroundColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'NONE', 'WHITE', ], ], 'DvbSubDestinationFontColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'BLUE', 'GREEN', 'RED', 'WHITE', 'YELLOW', ], ], 'DvbSubDestinationOutlineColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'BLUE', 'GREEN', 'RED', 'WHITE', 'YELLOW', ], ], 'DvbSubDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'Alignment' => [ 'shape' => 'DvbSubDestinationAlignment', 'locationName' => 'alignment', ], 'BackgroundColor' => [ 'shape' => 'DvbSubDestinationBackgroundColor', 'locationName' => 'backgroundColor', ], 'BackgroundOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'backgroundOpacity', ], 'Font' => [ 'shape' => 'InputLocation', 'locationName' => 'font', ], 'FontColor' => [ 'shape' => 'DvbSubDestinationFontColor', 'locationName' => 'fontColor', ], 'FontOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'fontOpacity', ], 'FontResolution' => [ 'shape' => '__integerMin96Max600', 'locationName' => 'fontResolution', ], 'FontSize' => [ 'shape' => '__string', 'locationName' => 'fontSize', ], 'OutlineColor' => [ 'shape' => 'DvbSubDestinationOutlineColor', 'locationName' => 'outlineColor', ], 'OutlineSize' => [ 'shape' => '__integerMin0Max10', 'locationName' => 'outlineSize', ], 'ShadowColor' => [ 'shape' => 'DvbSubDestinationShadowColor', 'locationName' => 'shadowColor', ], 'ShadowOpacity' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'shadowOpacity', ], 'ShadowXOffset' => [ 'shape' => '__integer', 'locationName' => 'shadowXOffset', ], 'ShadowYOffset' => [ 'shape' => '__integer', 'locationName' => 'shadowYOffset', ], 'TeletextGridControl' => [ 'shape' => 'DvbSubDestinationTeletextGridControl', 'locationName' => 'teletextGridControl', ], 'XPosition' => [ 'shape' => '__integerMin0', 'locationName' => 'xPosition', ], 'YPosition' => [ 'shape' => '__integerMin0', 'locationName' => 'yPosition', ], ], ], 'DvbSubDestinationShadowColor' => [ 'type' => 'string', 'enum' => [ 'BLACK', 'NONE', 'WHITE', ], ], 'DvbSubDestinationTeletextGridControl' => [ 'type' => 'string', 'enum' => [ 'FIXED', 'SCALED', ], ], 'DvbSubSourceSettings' => [ 'type' => 'structure', 'members' => [ 'Pid' => [ 'shape' => '__integerMin1', 'locationName' => 'pid', ], ], ], 'DvbTdtSettings' => [ 'type' => 'structure', 'members' => [ 'RepInterval' => [ 'shape' => '__integerMin1000Max30000', 'locationName' => 'repInterval', ], ], ], 'Eac3AttenuationControl' => [ 'type' => 'string', 'enum' => [ 'ATTENUATE_3_DB', 'NONE', ], ], 'Eac3BitstreamMode' => [ 'type' => 'string', 'enum' => [ 'COMMENTARY', 'COMPLETE_MAIN', 'EMERGENCY', 'HEARING_IMPAIRED', 'VISUALLY_IMPAIRED', ], ], 'Eac3CodingMode' => [ 'type' => 'string', 'enum' => [ 'CODING_MODE_1_0', 'CODING_MODE_2_0', 'CODING_MODE_3_2', ], ], 'Eac3DcFilter' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Eac3DrcLine' => [ 'type' => 'string', 'enum' => [ 'FILM_LIGHT', 'FILM_STANDARD', 'MUSIC_LIGHT', 'MUSIC_STANDARD', 'NONE', 'SPEECH', ], ], 'Eac3DrcRf' => [ 'type' => 'string', 'enum' => [ 'FILM_LIGHT', 'FILM_STANDARD', 'MUSIC_LIGHT', 'MUSIC_STANDARD', 'NONE', 'SPEECH', ], ], 'Eac3LfeControl' => [ 'type' => 'string', 'enum' => [ 'LFE', 'NO_LFE', ], ], 'Eac3LfeFilter' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'Eac3MetadataControl' => [ 'type' => 'string', 'enum' => [ 'FOLLOW_INPUT', 'USE_CONFIGURED', ], ], 'Eac3PassthroughControl' => [ 'type' => 'string', 'enum' => [ 'NO_PASSTHROUGH', 'WHEN_POSSIBLE', ], ], 'Eac3PhaseControl' => [ 'type' => 'string', 'enum' => [ 'NO_SHIFT', 'SHIFT_90_DEGREES', ], ], 'Eac3Settings' => [ 'type' => 'structure', 'members' => [ 'AttenuationControl' => [ 'shape' => 'Eac3AttenuationControl', 'locationName' => 'attenuationControl', ], 'Bitrate' => [ 'shape' => '__double', 'locationName' => 'bitrate', ], 'BitstreamMode' => [ 'shape' => 'Eac3BitstreamMode', 'locationName' => 'bitstreamMode', ], 'CodingMode' => [ 'shape' => 'Eac3CodingMode', 'locationName' => 'codingMode', ], 'DcFilter' => [ 'shape' => 'Eac3DcFilter', 'locationName' => 'dcFilter', ], 'Dialnorm' => [ 'shape' => '__integerMin1Max31', 'locationName' => 'dialnorm', ], 'DrcLine' => [ 'shape' => 'Eac3DrcLine', 'locationName' => 'drcLine', ], 'DrcRf' => [ 'shape' => 'Eac3DrcRf', 'locationName' => 'drcRf', ], 'LfeControl' => [ 'shape' => 'Eac3LfeControl', 'locationName' => 'lfeControl', ], 'LfeFilter' => [ 'shape' => 'Eac3LfeFilter', 'locationName' => 'lfeFilter', ], 'LoRoCenterMixLevel' => [ 'shape' => '__double', 'locationName' => 'loRoCenterMixLevel', ], 'LoRoSurroundMixLevel' => [ 'shape' => '__double', 'locationName' => 'loRoSurroundMixLevel', ], 'LtRtCenterMixLevel' => [ 'shape' => '__double', 'locationName' => 'ltRtCenterMixLevel', ], 'LtRtSurroundMixLevel' => [ 'shape' => '__double', 'locationName' => 'ltRtSurroundMixLevel', ], 'MetadataControl' => [ 'shape' => 'Eac3MetadataControl', 'locationName' => 'metadataControl', ], 'PassthroughControl' => [ 'shape' => 'Eac3PassthroughControl', 'locationName' => 'passthroughControl', ], 'PhaseControl' => [ 'shape' => 'Eac3PhaseControl', 'locationName' => 'phaseControl', ], 'StereoDownmix' => [ 'shape' => 'Eac3StereoDownmix', 'locationName' => 'stereoDownmix', ], 'SurroundExMode' => [ 'shape' => 'Eac3SurroundExMode', 'locationName' => 'surroundExMode', ], 'SurroundMode' => [ 'shape' => 'Eac3SurroundMode', 'locationName' => 'surroundMode', ], ], ], 'Eac3StereoDownmix' => [ 'type' => 'string', 'enum' => [ 'DPL2', 'LO_RO', 'LT_RT', 'NOT_INDICATED', ], ], 'Eac3SurroundExMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', 'NOT_INDICATED', ], ], 'Eac3SurroundMode' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', 'NOT_INDICATED', ], ], 'EmbeddedConvert608To708' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'UPCONVERT', ], ], 'EmbeddedDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'EmbeddedPlusScte20DestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'EmbeddedScte20Detection' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'OFF', ], ], 'EmbeddedSourceSettings' => [ 'type' => 'structure', 'members' => [ 'Convert608To708' => [ 'shape' => 'EmbeddedConvert608To708', 'locationName' => 'convert608To708', ], 'Scte20Detection' => [ 'shape' => 'EmbeddedScte20Detection', 'locationName' => 'scte20Detection', ], 'Source608ChannelNumber' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'source608ChannelNumber', ], 'Source608TrackNumber' => [ 'shape' => '__integerMin1Max5', 'locationName' => 'source608TrackNumber', ], ], ], 'Empty' => [ 'type' => 'structure', 'members' => [], ], 'EncoderSettings' => [ 'type' => 'structure', 'members' => [ 'AudioDescriptions' => [ 'shape' => '__listOfAudioDescription', 'locationName' => 'audioDescriptions', ], 'AvailBlanking' => [ 'shape' => 'AvailBlanking', 'locationName' => 'availBlanking', ], 'AvailConfiguration' => [ 'shape' => 'AvailConfiguration', 'locationName' => 'availConfiguration', ], 'BlackoutSlate' => [ 'shape' => 'BlackoutSlate', 'locationName' => 'blackoutSlate', ], 'CaptionDescriptions' => [ 'shape' => '__listOfCaptionDescription', 'locationName' => 'captionDescriptions', ], 'GlobalConfiguration' => [ 'shape' => 'GlobalConfiguration', 'locationName' => 'globalConfiguration', ], 'OutputGroups' => [ 'shape' => '__listOfOutputGroup', 'locationName' => 'outputGroups', ], 'TimecodeConfig' => [ 'shape' => 'TimecodeConfig', 'locationName' => 'timecodeConfig', ], 'VideoDescriptions' => [ 'shape' => '__listOfVideoDescription', 'locationName' => 'videoDescriptions', ], ], 'required' => [ 'VideoDescriptions', 'AudioDescriptions', 'OutputGroups', 'TimecodeConfig', ], ], 'FecOutputIncludeFec' => [ 'type' => 'string', 'enum' => [ 'COLUMN', 'COLUMN_AND_ROW', ], ], 'FecOutputSettings' => [ 'type' => 'structure', 'members' => [ 'ColumnDepth' => [ 'shape' => '__integerMin4Max20', 'locationName' => 'columnDepth', ], 'IncludeFec' => [ 'shape' => 'FecOutputIncludeFec', 'locationName' => 'includeFec', ], 'RowLength' => [ 'shape' => '__integerMin1Max20', 'locationName' => 'rowLength', ], ], ], 'FixedAfd' => [ 'type' => 'string', 'enum' => [ 'AFD_0000', 'AFD_0010', 'AFD_0011', 'AFD_0100', 'AFD_1000', 'AFD_1001', 'AFD_1010', 'AFD_1011', 'AFD_1101', 'AFD_1110', 'AFD_1111', ], ], 'FixedModeScheduleActionStartSettings' => [ 'type' => 'structure', 'members' => [ 'Time' => [ 'shape' => '__string', 'locationName' => 'time', ], ], 'required' => [ 'Time', ], ], 'FollowModeScheduleActionStartSettings' => [ 'type' => 'structure', 'members' => [ 'FollowPoint' => [ 'shape' => 'FollowPoint', 'locationName' => 'followPoint', ], 'ReferenceActionName' => [ 'shape' => '__string', 'locationName' => 'referenceActionName', ], ], 'required' => [ 'ReferenceActionName', 'FollowPoint', ], ], 'FollowPoint' => [ 'type' => 'string', 'enum' => [ 'END', 'START', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'FrameCaptureGroupSettings' => [ 'type' => 'structure', 'members' => [ 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], ], 'required' => [ 'Destination', ], ], 'FrameCaptureOutputSettings' => [ 'type' => 'structure', 'members' => [ 'NameModifier' => [ 'shape' => '__string', 'locationName' => 'nameModifier', ], ], ], 'FrameCaptureSettings' => [ 'type' => 'structure', 'members' => [ 'CaptureInterval' => [ 'shape' => '__integerMin1Max3600', 'locationName' => 'captureInterval', ], ], 'required' => [ 'CaptureInterval', ], ], 'GatewayTimeoutException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 504, ], ], 'GlobalConfiguration' => [ 'type' => 'structure', 'members' => [ 'InitialAudioGain' => [ 'shape' => '__integerMinNegative60Max60', 'locationName' => 'initialAudioGain', ], 'InputEndAction' => [ 'shape' => 'GlobalConfigurationInputEndAction', 'locationName' => 'inputEndAction', ], 'InputLossBehavior' => [ 'shape' => 'InputLossBehavior', 'locationName' => 'inputLossBehavior', ], 'OutputLockingMode' => [ 'shape' => 'GlobalConfigurationOutputLockingMode', 'locationName' => 'outputLockingMode', ], 'OutputTimingSource' => [ 'shape' => 'GlobalConfigurationOutputTimingSource', 'locationName' => 'outputTimingSource', ], 'SupportLowFramerateInputs' => [ 'shape' => 'GlobalConfigurationLowFramerateInputs', 'locationName' => 'supportLowFramerateInputs', ], ], ], 'GlobalConfigurationInputEndAction' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SWITCH_AND_LOOP_INPUTS', ], ], 'GlobalConfigurationLowFramerateInputs' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'GlobalConfigurationOutputLockingMode' => [ 'type' => 'string', 'enum' => [ 'EPOCH_LOCKING', 'PIPELINE_LOCKING', ], ], 'GlobalConfigurationOutputTimingSource' => [ 'type' => 'string', 'enum' => [ 'INPUT_CLOCK', 'SYSTEM_CLOCK', ], ], 'H264AdaptiveQuantization' => [ 'type' => 'string', 'enum' => [ 'HIGH', 'HIGHER', 'LOW', 'MAX', 'MEDIUM', 'OFF', ], ], 'H264ColorMetadata' => [ 'type' => 'string', 'enum' => [ 'IGNORE', 'INSERT', ], ], 'H264EntropyEncoding' => [ 'type' => 'string', 'enum' => [ 'CABAC', 'CAVLC', ], ], 'H264FlickerAq' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264FramerateControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H264GopBReference' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264GopSizeUnits' => [ 'type' => 'string', 'enum' => [ 'FRAMES', 'SECONDS', ], ], 'H264Level' => [ 'type' => 'string', 'enum' => [ 'H264_LEVEL_1', 'H264_LEVEL_1_1', 'H264_LEVEL_1_2', 'H264_LEVEL_1_3', 'H264_LEVEL_2', 'H264_LEVEL_2_1', 'H264_LEVEL_2_2', 'H264_LEVEL_3', 'H264_LEVEL_3_1', 'H264_LEVEL_3_2', 'H264_LEVEL_4', 'H264_LEVEL_4_1', 'H264_LEVEL_4_2', 'H264_LEVEL_5', 'H264_LEVEL_5_1', 'H264_LEVEL_5_2', 'H264_LEVEL_AUTO', ], ], 'H264LookAheadRateControl' => [ 'type' => 'string', 'enum' => [ 'HIGH', 'LOW', 'MEDIUM', ], ], 'H264ParControl' => [ 'type' => 'string', 'enum' => [ 'INITIALIZE_FROM_SOURCE', 'SPECIFIED', ], ], 'H264Profile' => [ 'type' => 'string', 'enum' => [ 'BASELINE', 'HIGH', 'HIGH_10BIT', 'HIGH_422', 'HIGH_422_10BIT', 'MAIN', ], ], 'H264RateControlMode' => [ 'type' => 'string', 'enum' => [ 'CBR', 'QVBR', 'VBR', ], ], 'H264ScanType' => [ 'type' => 'string', 'enum' => [ 'INTERLACED', 'PROGRESSIVE', ], ], 'H264SceneChangeDetect' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264Settings' => [ 'type' => 'structure', 'members' => [ 'AdaptiveQuantization' => [ 'shape' => 'H264AdaptiveQuantization', 'locationName' => 'adaptiveQuantization', ], 'AfdSignaling' => [ 'shape' => 'AfdSignaling', 'locationName' => 'afdSignaling', ], 'Bitrate' => [ 'shape' => '__integerMin1000', 'locationName' => 'bitrate', ], 'BufFillPct' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'bufFillPct', ], 'BufSize' => [ 'shape' => '__integerMin0', 'locationName' => 'bufSize', ], 'ColorMetadata' => [ 'shape' => 'H264ColorMetadata', 'locationName' => 'colorMetadata', ], 'EntropyEncoding' => [ 'shape' => 'H264EntropyEncoding', 'locationName' => 'entropyEncoding', ], 'FixedAfd' => [ 'shape' => 'FixedAfd', 'locationName' => 'fixedAfd', ], 'FlickerAq' => [ 'shape' => 'H264FlickerAq', 'locationName' => 'flickerAq', ], 'FramerateControl' => [ 'shape' => 'H264FramerateControl', 'locationName' => 'framerateControl', ], 'FramerateDenominator' => [ 'shape' => '__integerMin1', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integerMin1', 'locationName' => 'framerateNumerator', ], 'GopBReference' => [ 'shape' => 'H264GopBReference', 'locationName' => 'gopBReference', ], 'GopClosedCadence' => [ 'shape' => '__integerMin0', 'locationName' => 'gopClosedCadence', ], 'GopNumBFrames' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'gopNumBFrames', ], 'GopSize' => [ 'shape' => '__doubleMin1', 'locationName' => 'gopSize', ], 'GopSizeUnits' => [ 'shape' => 'H264GopSizeUnits', 'locationName' => 'gopSizeUnits', ], 'Level' => [ 'shape' => 'H264Level', 'locationName' => 'level', ], 'LookAheadRateControl' => [ 'shape' => 'H264LookAheadRateControl', 'locationName' => 'lookAheadRateControl', ], 'MaxBitrate' => [ 'shape' => '__integerMin1000', 'locationName' => 'maxBitrate', ], 'MinIInterval' => [ 'shape' => '__integerMin0Max30', 'locationName' => 'minIInterval', ], 'NumRefFrames' => [ 'shape' => '__integerMin1Max6', 'locationName' => 'numRefFrames', ], 'ParControl' => [ 'shape' => 'H264ParControl', 'locationName' => 'parControl', ], 'ParDenominator' => [ 'shape' => '__integerMin1', 'locationName' => 'parDenominator', ], 'ParNumerator' => [ 'shape' => '__integer', 'locationName' => 'parNumerator', ], 'Profile' => [ 'shape' => 'H264Profile', 'locationName' => 'profile', ], 'QvbrQualityLevel' => [ 'shape' => '__integerMin1Max10', 'locationName' => 'qvbrQualityLevel', ], 'RateControlMode' => [ 'shape' => 'H264RateControlMode', 'locationName' => 'rateControlMode', ], 'ScanType' => [ 'shape' => 'H264ScanType', 'locationName' => 'scanType', ], 'SceneChangeDetect' => [ 'shape' => 'H264SceneChangeDetect', 'locationName' => 'sceneChangeDetect', ], 'Slices' => [ 'shape' => '__integerMin1Max32', 'locationName' => 'slices', ], 'Softness' => [ 'shape' => '__integerMin0Max128', 'locationName' => 'softness', ], 'SpatialAq' => [ 'shape' => 'H264SpatialAq', 'locationName' => 'spatialAq', ], 'SubgopLength' => [ 'shape' => 'H264SubGopLength', 'locationName' => 'subgopLength', ], 'Syntax' => [ 'shape' => 'H264Syntax', 'locationName' => 'syntax', ], 'TemporalAq' => [ 'shape' => 'H264TemporalAq', 'locationName' => 'temporalAq', ], 'TimecodeInsertion' => [ 'shape' => 'H264TimecodeInsertionBehavior', 'locationName' => 'timecodeInsertion', ], ], ], 'H264SpatialAq' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264SubGopLength' => [ 'type' => 'string', 'enum' => [ 'DYNAMIC', 'FIXED', ], ], 'H264Syntax' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'RP2027', ], ], 'H264TemporalAq' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'H264TimecodeInsertionBehavior' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'PIC_TIMING_SEI', ], ], 'HlsAdMarkers' => [ 'type' => 'string', 'enum' => [ 'ADOBE', 'ELEMENTAL', 'ELEMENTAL_SCTE35', ], ], 'HlsAkamaiHttpTransferMode' => [ 'type' => 'string', 'enum' => [ 'CHUNKED', 'NON_CHUNKED', ], ], 'HlsAkamaiSettings' => [ 'type' => 'structure', 'members' => [ 'ConnectionRetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'connectionRetryInterval', ], 'FilecacheDuration' => [ 'shape' => '__integerMin0Max600', 'locationName' => 'filecacheDuration', ], 'HttpTransferMode' => [ 'shape' => 'HlsAkamaiHttpTransferMode', 'locationName' => 'httpTransferMode', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], 'RestartDelay' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'restartDelay', ], 'Salt' => [ 'shape' => '__string', 'locationName' => 'salt', ], 'Token' => [ 'shape' => '__string', 'locationName' => 'token', ], ], ], 'HlsBasicPutSettings' => [ 'type' => 'structure', 'members' => [ 'ConnectionRetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'connectionRetryInterval', ], 'FilecacheDuration' => [ 'shape' => '__integerMin0Max600', 'locationName' => 'filecacheDuration', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], 'RestartDelay' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'restartDelay', ], ], ], 'HlsCaptionLanguageSetting' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'NONE', 'OMIT', ], ], 'HlsCdnSettings' => [ 'type' => 'structure', 'members' => [ 'HlsAkamaiSettings' => [ 'shape' => 'HlsAkamaiSettings', 'locationName' => 'hlsAkamaiSettings', ], 'HlsBasicPutSettings' => [ 'shape' => 'HlsBasicPutSettings', 'locationName' => 'hlsBasicPutSettings', ], 'HlsMediaStoreSettings' => [ 'shape' => 'HlsMediaStoreSettings', 'locationName' => 'hlsMediaStoreSettings', ], 'HlsWebdavSettings' => [ 'shape' => 'HlsWebdavSettings', 'locationName' => 'hlsWebdavSettings', ], ], ], 'HlsClientCache' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'HlsCodecSpecification' => [ 'type' => 'string', 'enum' => [ 'RFC_4281', 'RFC_6381', ], ], 'HlsDirectoryStructure' => [ 'type' => 'string', 'enum' => [ 'SINGLE_DIRECTORY', 'SUBDIRECTORY_PER_STREAM', ], ], 'HlsEncryptionType' => [ 'type' => 'string', 'enum' => [ 'AES128', 'SAMPLE_AES', ], ], 'HlsGroupSettings' => [ 'type' => 'structure', 'members' => [ 'AdMarkers' => [ 'shape' => '__listOfHlsAdMarkers', 'locationName' => 'adMarkers', ], 'BaseUrlContent' => [ 'shape' => '__string', 'locationName' => 'baseUrlContent', ], 'BaseUrlManifest' => [ 'shape' => '__string', 'locationName' => 'baseUrlManifest', ], 'CaptionLanguageMappings' => [ 'shape' => '__listOfCaptionLanguageMapping', 'locationName' => 'captionLanguageMappings', ], 'CaptionLanguageSetting' => [ 'shape' => 'HlsCaptionLanguageSetting', 'locationName' => 'captionLanguageSetting', ], 'ClientCache' => [ 'shape' => 'HlsClientCache', 'locationName' => 'clientCache', ], 'CodecSpecification' => [ 'shape' => 'HlsCodecSpecification', 'locationName' => 'codecSpecification', ], 'ConstantIv' => [ 'shape' => '__stringMin32Max32', 'locationName' => 'constantIv', ], 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], 'DirectoryStructure' => [ 'shape' => 'HlsDirectoryStructure', 'locationName' => 'directoryStructure', ], 'EncryptionType' => [ 'shape' => 'HlsEncryptionType', 'locationName' => 'encryptionType', ], 'HlsCdnSettings' => [ 'shape' => 'HlsCdnSettings', 'locationName' => 'hlsCdnSettings', ], 'IFrameOnlyPlaylists' => [ 'shape' => 'IFrameOnlyPlaylistType', 'locationName' => 'iFrameOnlyPlaylists', ], 'IndexNSegments' => [ 'shape' => '__integerMin3', 'locationName' => 'indexNSegments', ], 'InputLossAction' => [ 'shape' => 'InputLossActionForHlsOut', 'locationName' => 'inputLossAction', ], 'IvInManifest' => [ 'shape' => 'HlsIvInManifest', 'locationName' => 'ivInManifest', ], 'IvSource' => [ 'shape' => 'HlsIvSource', 'locationName' => 'ivSource', ], 'KeepSegments' => [ 'shape' => '__integerMin1', 'locationName' => 'keepSegments', ], 'KeyFormat' => [ 'shape' => '__string', 'locationName' => 'keyFormat', ], 'KeyFormatVersions' => [ 'shape' => '__string', 'locationName' => 'keyFormatVersions', ], 'KeyProviderSettings' => [ 'shape' => 'KeyProviderSettings', 'locationName' => 'keyProviderSettings', ], 'ManifestCompression' => [ 'shape' => 'HlsManifestCompression', 'locationName' => 'manifestCompression', ], 'ManifestDurationFormat' => [ 'shape' => 'HlsManifestDurationFormat', 'locationName' => 'manifestDurationFormat', ], 'MinSegmentLength' => [ 'shape' => '__integerMin0', 'locationName' => 'minSegmentLength', ], 'Mode' => [ 'shape' => 'HlsMode', 'locationName' => 'mode', ], 'OutputSelection' => [ 'shape' => 'HlsOutputSelection', 'locationName' => 'outputSelection', ], 'ProgramDateTime' => [ 'shape' => 'HlsProgramDateTime', 'locationName' => 'programDateTime', ], 'ProgramDateTimePeriod' => [ 'shape' => '__integerMin0Max3600', 'locationName' => 'programDateTimePeriod', ], 'RedundantManifest' => [ 'shape' => 'HlsRedundantManifest', 'locationName' => 'redundantManifest', ], 'SegmentLength' => [ 'shape' => '__integerMin1', 'locationName' => 'segmentLength', ], 'SegmentationMode' => [ 'shape' => 'HlsSegmentationMode', 'locationName' => 'segmentationMode', ], 'SegmentsPerSubdirectory' => [ 'shape' => '__integerMin1', 'locationName' => 'segmentsPerSubdirectory', ], 'StreamInfResolution' => [ 'shape' => 'HlsStreamInfResolution', 'locationName' => 'streamInfResolution', ], 'TimedMetadataId3Frame' => [ 'shape' => 'HlsTimedMetadataId3Frame', 'locationName' => 'timedMetadataId3Frame', ], 'TimedMetadataId3Period' => [ 'shape' => '__integerMin0', 'locationName' => 'timedMetadataId3Period', ], 'TimestampDeltaMilliseconds' => [ 'shape' => '__integerMin0', 'locationName' => 'timestampDeltaMilliseconds', ], 'TsFileMode' => [ 'shape' => 'HlsTsFileMode', 'locationName' => 'tsFileMode', ], ], 'required' => [ 'Destination', ], ], 'HlsInputSettings' => [ 'type' => 'structure', 'members' => [ 'Bandwidth' => [ 'shape' => '__integerMin0', 'locationName' => 'bandwidth', ], 'BufferSegments' => [ 'shape' => '__integerMin0', 'locationName' => 'bufferSegments', ], 'Retries' => [ 'shape' => '__integerMin0', 'locationName' => 'retries', ], 'RetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'retryInterval', ], ], ], 'HlsIvInManifest' => [ 'type' => 'string', 'enum' => [ 'EXCLUDE', 'INCLUDE', ], ], 'HlsIvSource' => [ 'type' => 'string', 'enum' => [ 'EXPLICIT', 'FOLLOWS_SEGMENT_NUMBER', ], ], 'HlsManifestCompression' => [ 'type' => 'string', 'enum' => [ 'GZIP', 'NONE', ], ], 'HlsManifestDurationFormat' => [ 'type' => 'string', 'enum' => [ 'FLOATING_POINT', 'INTEGER', ], ], 'HlsMediaStoreSettings' => [ 'type' => 'structure', 'members' => [ 'ConnectionRetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'connectionRetryInterval', ], 'FilecacheDuration' => [ 'shape' => '__integerMin0Max600', 'locationName' => 'filecacheDuration', ], 'MediaStoreStorageClass' => [ 'shape' => 'HlsMediaStoreStorageClass', 'locationName' => 'mediaStoreStorageClass', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], 'RestartDelay' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'restartDelay', ], ], ], 'HlsMediaStoreStorageClass' => [ 'type' => 'string', 'enum' => [ 'TEMPORAL', ], ], 'HlsMode' => [ 'type' => 'string', 'enum' => [ 'LIVE', 'VOD', ], ], 'HlsOutputSelection' => [ 'type' => 'string', 'enum' => [ 'MANIFESTS_AND_SEGMENTS', 'SEGMENTS_ONLY', ], ], 'HlsOutputSettings' => [ 'type' => 'structure', 'members' => [ 'HlsSettings' => [ 'shape' => 'HlsSettings', 'locationName' => 'hlsSettings', ], 'NameModifier' => [ 'shape' => '__stringMin1', 'locationName' => 'nameModifier', ], 'SegmentModifier' => [ 'shape' => '__string', 'locationName' => 'segmentModifier', ], ], 'required' => [ 'HlsSettings', ], ], 'HlsProgramDateTime' => [ 'type' => 'string', 'enum' => [ 'EXCLUDE', 'INCLUDE', ], ], 'HlsRedundantManifest' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'HlsSegmentationMode' => [ 'type' => 'string', 'enum' => [ 'USE_INPUT_SEGMENTATION', 'USE_SEGMENT_DURATION', ], ], 'HlsSettings' => [ 'type' => 'structure', 'members' => [ 'AudioOnlyHlsSettings' => [ 'shape' => 'AudioOnlyHlsSettings', 'locationName' => 'audioOnlyHlsSettings', ], 'StandardHlsSettings' => [ 'shape' => 'StandardHlsSettings', 'locationName' => 'standardHlsSettings', ], ], ], 'HlsStreamInfResolution' => [ 'type' => 'string', 'enum' => [ 'EXCLUDE', 'INCLUDE', ], ], 'HlsTimedMetadataId3Frame' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PRIV', 'TDRL', ], ], 'HlsTimedMetadataScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'Id3' => [ 'shape' => '__string', 'locationName' => 'id3', ], ], 'required' => [ 'Id3', ], ], 'HlsTsFileMode' => [ 'type' => 'string', 'enum' => [ 'SEGMENTED_FILES', 'SINGLE_FILE', ], ], 'HlsWebdavHttpTransferMode' => [ 'type' => 'string', 'enum' => [ 'CHUNKED', 'NON_CHUNKED', ], ], 'HlsWebdavSettings' => [ 'type' => 'structure', 'members' => [ 'ConnectionRetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'connectionRetryInterval', ], 'FilecacheDuration' => [ 'shape' => '__integerMin0Max600', 'locationName' => 'filecacheDuration', ], 'HttpTransferMode' => [ 'shape' => 'HlsWebdavHttpTransferMode', 'locationName' => 'httpTransferMode', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], 'RestartDelay' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'restartDelay', ], ], ], 'IFrameOnlyPlaylistType' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'STANDARD', ], ], 'Input' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'AttachedChannels' => [ 'shape' => '__listOf__string', 'locationName' => 'attachedChannels', ], 'Destinations' => [ 'shape' => '__listOfInputDestination', 'locationName' => 'destinations', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputClass' => [ 'shape' => 'InputClass', 'locationName' => 'inputClass', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlow', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'InputAttachment' => [ 'type' => 'structure', 'members' => [ 'InputAttachmentName' => [ 'shape' => '__string', 'locationName' => 'inputAttachmentName', ], 'InputId' => [ 'shape' => '__string', 'locationName' => 'inputId', ], 'InputSettings' => [ 'shape' => 'InputSettings', 'locationName' => 'inputSettings', ], ], ], 'InputChannelLevel' => [ 'type' => 'structure', 'members' => [ 'Gain' => [ 'shape' => '__integerMinNegative60Max6', 'locationName' => 'gain', ], 'InputChannel' => [ 'shape' => '__integerMin0Max15', 'locationName' => 'inputChannel', ], ], 'required' => [ 'InputChannel', 'Gain', ], ], 'InputClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'SINGLE_PIPELINE', ], ], 'InputCodec' => [ 'type' => 'string', 'enum' => [ 'MPEG2', 'AVC', 'HEVC', ], ], 'InputDeblockFilter' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'InputDenoiseFilter' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'InputDestination' => [ 'type' => 'structure', 'members' => [ 'Ip' => [ 'shape' => '__string', 'locationName' => 'ip', ], 'Port' => [ 'shape' => '__string', 'locationName' => 'port', ], 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], 'Vpc' => [ 'shape' => 'InputDestinationVpc', 'locationName' => 'vpc', ], ], ], 'InputDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => '__string', 'locationName' => 'streamName', ], ], ], 'InputDestinationVpc' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZone' => [ 'shape' => '__string', 'locationName' => 'availabilityZone', ], 'NetworkInterfaceId' => [ 'shape' => '__string', 'locationName' => 'networkInterfaceId', ], ], ], 'InputFilter' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'DISABLED', 'FORCED', ], ], 'InputLocation' => [ 'type' => 'structure', 'members' => [ 'PasswordParam' => [ 'shape' => '__string', 'locationName' => 'passwordParam', ], 'Uri' => [ 'shape' => '__string', 'locationName' => 'uri', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], 'required' => [ 'Uri', ], ], 'InputLossActionForHlsOut' => [ 'type' => 'string', 'enum' => [ 'EMIT_OUTPUT', 'PAUSE_OUTPUT', ], ], 'InputLossActionForMsSmoothOut' => [ 'type' => 'string', 'enum' => [ 'EMIT_OUTPUT', 'PAUSE_OUTPUT', ], ], 'InputLossActionForRtmpOut' => [ 'type' => 'string', 'enum' => [ 'EMIT_OUTPUT', 'PAUSE_OUTPUT', ], ], 'InputLossActionForUdpOut' => [ 'type' => 'string', 'enum' => [ 'DROP_PROGRAM', 'DROP_TS', 'EMIT_PROGRAM', ], ], 'InputLossBehavior' => [ 'type' => 'structure', 'members' => [ 'BlackFrameMsec' => [ 'shape' => '__integerMin0Max1000000', 'locationName' => 'blackFrameMsec', ], 'InputLossImageColor' => [ 'shape' => '__stringMin6Max6', 'locationName' => 'inputLossImageColor', ], 'InputLossImageSlate' => [ 'shape' => 'InputLocation', 'locationName' => 'inputLossImageSlate', ], 'InputLossImageType' => [ 'shape' => 'InputLossImageType', 'locationName' => 'inputLossImageType', ], 'RepeatFrameMsec' => [ 'shape' => '__integerMin0Max1000000', 'locationName' => 'repeatFrameMsec', ], ], ], 'InputLossImageType' => [ 'type' => 'string', 'enum' => [ 'COLOR', 'SLATE', ], ], 'InputMaximumBitrate' => [ 'type' => 'string', 'enum' => [ 'MAX_10_MBPS', 'MAX_20_MBPS', 'MAX_50_MBPS', ], ], 'InputResolution' => [ 'type' => 'string', 'enum' => [ 'SD', 'HD', 'UHD', ], ], 'InputSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'Inputs' => [ 'shape' => '__listOf__string', 'locationName' => 'inputs', ], 'State' => [ 'shape' => 'InputSecurityGroupState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRule', 'locationName' => 'whitelistRules', ], ], ], 'InputSecurityGroupState' => [ 'type' => 'string', 'enum' => [ 'IDLE', 'IN_USE', 'UPDATING', 'DELETED', ], ], 'InputSecurityGroupWhitelistRequest' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRuleCidr', 'locationName' => 'whitelistRules', ], ], ], 'InputSettings' => [ 'type' => 'structure', 'members' => [ 'AudioSelectors' => [ 'shape' => '__listOfAudioSelector', 'locationName' => 'audioSelectors', ], 'CaptionSelectors' => [ 'shape' => '__listOfCaptionSelector', 'locationName' => 'captionSelectors', ], 'DeblockFilter' => [ 'shape' => 'InputDeblockFilter', 'locationName' => 'deblockFilter', ], 'DenoiseFilter' => [ 'shape' => 'InputDenoiseFilter', 'locationName' => 'denoiseFilter', ], 'FilterStrength' => [ 'shape' => '__integerMin1Max5', 'locationName' => 'filterStrength', ], 'InputFilter' => [ 'shape' => 'InputFilter', 'locationName' => 'inputFilter', ], 'NetworkInputSettings' => [ 'shape' => 'NetworkInputSettings', 'locationName' => 'networkInputSettings', ], 'SourceEndBehavior' => [ 'shape' => 'InputSourceEndBehavior', 'locationName' => 'sourceEndBehavior', ], 'VideoSelector' => [ 'shape' => 'VideoSelector', 'locationName' => 'videoSelector', ], ], ], 'InputSource' => [ 'type' => 'structure', 'members' => [ 'PasswordParam' => [ 'shape' => '__string', 'locationName' => 'passwordParam', ], 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'InputSourceEndBehavior' => [ 'type' => 'string', 'enum' => [ 'CONTINUE', 'LOOP', ], ], 'InputSourceRequest' => [ 'type' => 'structure', 'members' => [ 'PasswordParam' => [ 'shape' => '__string', 'locationName' => 'passwordParam', ], 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'InputSpecification' => [ 'type' => 'structure', 'members' => [ 'Codec' => [ 'shape' => 'InputCodec', 'locationName' => 'codec', ], 'MaximumBitrate' => [ 'shape' => 'InputMaximumBitrate', 'locationName' => 'maximumBitrate', ], 'Resolution' => [ 'shape' => 'InputResolution', 'locationName' => 'resolution', ], ], ], 'InputState' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'DETACHED', 'ATTACHED', 'DELETING', 'DELETED', ], ], 'InputSwitchScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'InputAttachmentNameReference' => [ 'shape' => '__string', 'locationName' => 'inputAttachmentNameReference', ], ], 'required' => [ 'InputAttachmentNameReference', ], ], 'InputType' => [ 'type' => 'string', 'enum' => [ 'UDP_PUSH', 'RTP_PUSH', 'RTMP_PUSH', 'RTMP_PULL', 'URL_PULL', 'MP4_FILE', 'MEDIACONNECT', ], ], 'InputVpcRequest' => [ 'type' => 'structure', 'members' => [ 'SecurityGroupIds' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroupIds', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], ], 'required' => [ 'SubnetIds', ], ], 'InputWhitelistRule' => [ 'type' => 'structure', 'members' => [ 'Cidr' => [ 'shape' => '__string', 'locationName' => 'cidr', ], ], ], 'InputWhitelistRuleCidr' => [ 'type' => 'structure', 'members' => [ 'Cidr' => [ 'shape' => '__string', 'locationName' => 'cidr', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'InternalServiceError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'InvalidRequest' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'KeyProviderSettings' => [ 'type' => 'structure', 'members' => [ 'StaticKeySettings' => [ 'shape' => 'StaticKeySettings', 'locationName' => 'staticKeySettings', ], ], ], 'LimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'ListChannelsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'Channels' => [ 'shape' => '__listOfChannelSummary', 'locationName' => 'channels', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListChannelsResultModel' => [ 'type' => 'structure', 'members' => [ 'Channels' => [ 'shape' => '__listOfChannelSummary', 'locationName' => 'channels', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListInputSecurityGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListInputSecurityGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'InputSecurityGroups' => [ 'shape' => '__listOfInputSecurityGroup', 'locationName' => 'inputSecurityGroups', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListInputSecurityGroupsResultModel' => [ 'type' => 'structure', 'members' => [ 'InputSecurityGroups' => [ 'shape' => '__listOfInputSecurityGroup', 'locationName' => 'inputSecurityGroups', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListInputsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListInputsResponse' => [ 'type' => 'structure', 'members' => [ 'Inputs' => [ 'shape' => '__listOfInput', 'locationName' => 'inputs', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListInputsResultModel' => [ 'type' => 'structure', 'members' => [ 'Inputs' => [ 'shape' => '__listOfInput', 'locationName' => 'inputs', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListOfferingsRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelClass' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'channelClass', ], 'ChannelConfiguration' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'channelConfiguration', ], 'Codec' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'codec', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'MaximumBitrate' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maximumBitrate', ], 'MaximumFramerate' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maximumFramerate', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'Resolution' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'resolution', ], 'ResourceType' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'resourceType', ], 'SpecialFeature' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'specialFeature', ], 'VideoQuality' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'videoQuality', ], ], ], 'ListOfferingsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Offerings' => [ 'shape' => '__listOfOffering', 'locationName' => 'offerings', ], ], ], 'ListOfferingsResultModel' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Offerings' => [ 'shape' => '__listOfOffering', 'locationName' => 'offerings', ], ], ], 'ListReservationsRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelClass' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'channelClass', ], 'Codec' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'codec', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'MaximumBitrate' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maximumBitrate', ], 'MaximumFramerate' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'maximumFramerate', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'Resolution' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'resolution', ], 'ResourceType' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'resourceType', ], 'SpecialFeature' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'specialFeature', ], 'VideoQuality' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'videoQuality', ], ], ], 'ListReservationsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Reservations' => [ 'shape' => '__listOfReservation', 'locationName' => 'reservations', ], ], ], 'ListReservationsResultModel' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Reservations' => [ 'shape' => '__listOfReservation', 'locationName' => 'reservations', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'LogLevel' => [ 'type' => 'string', 'enum' => [ 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'DISABLED', ], ], 'M2tsAbsentInputAudioBehavior' => [ 'type' => 'string', 'enum' => [ 'DROP', 'ENCODE_SILENCE', ], ], 'M2tsArib' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'M2tsAribCaptionsPidControl' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'USE_CONFIGURED', ], ], 'M2tsAudioBufferModel' => [ 'type' => 'string', 'enum' => [ 'ATSC', 'DVB', ], ], 'M2tsAudioInterval' => [ 'type' => 'string', 'enum' => [ 'VIDEO_AND_FIXED_INTERVALS', 'VIDEO_INTERVAL', ], ], 'M2tsAudioStreamType' => [ 'type' => 'string', 'enum' => [ 'ATSC', 'DVB', ], ], 'M2tsBufferModel' => [ 'type' => 'string', 'enum' => [ 'MULTIPLEX', 'NONE', ], ], 'M2tsCcDescriptor' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], 'M2tsEbifControl' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PASSTHROUGH', ], ], 'M2tsEbpPlacement' => [ 'type' => 'string', 'enum' => [ 'VIDEO_AND_AUDIO_PIDS', 'VIDEO_PID', ], ], 'M2tsEsRateInPes' => [ 'type' => 'string', 'enum' => [ 'EXCLUDE', 'INCLUDE', ], ], 'M2tsKlv' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PASSTHROUGH', ], ], 'M2tsPcrControl' => [ 'type' => 'string', 'enum' => [ 'CONFIGURED_PCR_PERIOD', 'PCR_EVERY_PES_PACKET', ], ], 'M2tsRateMode' => [ 'type' => 'string', 'enum' => [ 'CBR', 'VBR', ], ], 'M2tsScte35Control' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PASSTHROUGH', ], ], 'M2tsSegmentationMarkers' => [ 'type' => 'string', 'enum' => [ 'EBP', 'EBP_LEGACY', 'NONE', 'PSI_SEGSTART', 'RAI_ADAPT', 'RAI_SEGSTART', ], ], 'M2tsSegmentationStyle' => [ 'type' => 'string', 'enum' => [ 'MAINTAIN_CADENCE', 'RESET_CADENCE', ], ], 'M2tsSettings' => [ 'type' => 'structure', 'members' => [ 'AbsentInputAudioBehavior' => [ 'shape' => 'M2tsAbsentInputAudioBehavior', 'locationName' => 'absentInputAudioBehavior', ], 'Arib' => [ 'shape' => 'M2tsArib', 'locationName' => 'arib', ], 'AribCaptionsPid' => [ 'shape' => '__string', 'locationName' => 'aribCaptionsPid', ], 'AribCaptionsPidControl' => [ 'shape' => 'M2tsAribCaptionsPidControl', 'locationName' => 'aribCaptionsPidControl', ], 'AudioBufferModel' => [ 'shape' => 'M2tsAudioBufferModel', 'locationName' => 'audioBufferModel', ], 'AudioFramesPerPes' => [ 'shape' => '__integerMin0', 'locationName' => 'audioFramesPerPes', ], 'AudioPids' => [ 'shape' => '__string', 'locationName' => 'audioPids', ], 'AudioStreamType' => [ 'shape' => 'M2tsAudioStreamType', 'locationName' => 'audioStreamType', ], 'Bitrate' => [ 'shape' => '__integerMin0', 'locationName' => 'bitrate', ], 'BufferModel' => [ 'shape' => 'M2tsBufferModel', 'locationName' => 'bufferModel', ], 'CcDescriptor' => [ 'shape' => 'M2tsCcDescriptor', 'locationName' => 'ccDescriptor', ], 'DvbNitSettings' => [ 'shape' => 'DvbNitSettings', 'locationName' => 'dvbNitSettings', ], 'DvbSdtSettings' => [ 'shape' => 'DvbSdtSettings', 'locationName' => 'dvbSdtSettings', ], 'DvbSubPids' => [ 'shape' => '__string', 'locationName' => 'dvbSubPids', ], 'DvbTdtSettings' => [ 'shape' => 'DvbTdtSettings', 'locationName' => 'dvbTdtSettings', ], 'DvbTeletextPid' => [ 'shape' => '__string', 'locationName' => 'dvbTeletextPid', ], 'Ebif' => [ 'shape' => 'M2tsEbifControl', 'locationName' => 'ebif', ], 'EbpAudioInterval' => [ 'shape' => 'M2tsAudioInterval', 'locationName' => 'ebpAudioInterval', ], 'EbpLookaheadMs' => [ 'shape' => '__integerMin0Max10000', 'locationName' => 'ebpLookaheadMs', ], 'EbpPlacement' => [ 'shape' => 'M2tsEbpPlacement', 'locationName' => 'ebpPlacement', ], 'EcmPid' => [ 'shape' => '__string', 'locationName' => 'ecmPid', ], 'EsRateInPes' => [ 'shape' => 'M2tsEsRateInPes', 'locationName' => 'esRateInPes', ], 'EtvPlatformPid' => [ 'shape' => '__string', 'locationName' => 'etvPlatformPid', ], 'EtvSignalPid' => [ 'shape' => '__string', 'locationName' => 'etvSignalPid', ], 'FragmentTime' => [ 'shape' => '__doubleMin0', 'locationName' => 'fragmentTime', ], 'Klv' => [ 'shape' => 'M2tsKlv', 'locationName' => 'klv', ], 'KlvDataPids' => [ 'shape' => '__string', 'locationName' => 'klvDataPids', ], 'NullPacketBitrate' => [ 'shape' => '__doubleMin0', 'locationName' => 'nullPacketBitrate', ], 'PatInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'patInterval', ], 'PcrControl' => [ 'shape' => 'M2tsPcrControl', 'locationName' => 'pcrControl', ], 'PcrPeriod' => [ 'shape' => '__integerMin0Max500', 'locationName' => 'pcrPeriod', ], 'PcrPid' => [ 'shape' => '__string', 'locationName' => 'pcrPid', ], 'PmtInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'pmtInterval', ], 'PmtPid' => [ 'shape' => '__string', 'locationName' => 'pmtPid', ], 'ProgramNum' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'programNum', ], 'RateMode' => [ 'shape' => 'M2tsRateMode', 'locationName' => 'rateMode', ], 'Scte27Pids' => [ 'shape' => '__string', 'locationName' => 'scte27Pids', ], 'Scte35Control' => [ 'shape' => 'M2tsScte35Control', 'locationName' => 'scte35Control', ], 'Scte35Pid' => [ 'shape' => '__string', 'locationName' => 'scte35Pid', ], 'SegmentationMarkers' => [ 'shape' => 'M2tsSegmentationMarkers', 'locationName' => 'segmentationMarkers', ], 'SegmentationStyle' => [ 'shape' => 'M2tsSegmentationStyle', 'locationName' => 'segmentationStyle', ], 'SegmentationTime' => [ 'shape' => '__doubleMin1', 'locationName' => 'segmentationTime', ], 'TimedMetadataBehavior' => [ 'shape' => 'M2tsTimedMetadataBehavior', 'locationName' => 'timedMetadataBehavior', ], 'TimedMetadataPid' => [ 'shape' => '__string', 'locationName' => 'timedMetadataPid', ], 'TransportStreamId' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'transportStreamId', ], 'VideoPid' => [ 'shape' => '__string', 'locationName' => 'videoPid', ], ], ], 'M2tsTimedMetadataBehavior' => [ 'type' => 'string', 'enum' => [ 'NO_PASSTHROUGH', 'PASSTHROUGH', ], ], 'M3u8PcrControl' => [ 'type' => 'string', 'enum' => [ 'CONFIGURED_PCR_PERIOD', 'PCR_EVERY_PES_PACKET', ], ], 'M3u8Scte35Behavior' => [ 'type' => 'string', 'enum' => [ 'NO_PASSTHROUGH', 'PASSTHROUGH', ], ], 'M3u8Settings' => [ 'type' => 'structure', 'members' => [ 'AudioFramesPerPes' => [ 'shape' => '__integerMin0', 'locationName' => 'audioFramesPerPes', ], 'AudioPids' => [ 'shape' => '__string', 'locationName' => 'audioPids', ], 'EcmPid' => [ 'shape' => '__string', 'locationName' => 'ecmPid', ], 'PatInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'patInterval', ], 'PcrControl' => [ 'shape' => 'M3u8PcrControl', 'locationName' => 'pcrControl', ], 'PcrPeriod' => [ 'shape' => '__integerMin0Max500', 'locationName' => 'pcrPeriod', ], 'PcrPid' => [ 'shape' => '__string', 'locationName' => 'pcrPid', ], 'PmtInterval' => [ 'shape' => '__integerMin0Max1000', 'locationName' => 'pmtInterval', ], 'PmtPid' => [ 'shape' => '__string', 'locationName' => 'pmtPid', ], 'ProgramNum' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'programNum', ], 'Scte35Behavior' => [ 'shape' => 'M3u8Scte35Behavior', 'locationName' => 'scte35Behavior', ], 'Scte35Pid' => [ 'shape' => '__string', 'locationName' => 'scte35Pid', ], 'TimedMetadataBehavior' => [ 'shape' => 'M3u8TimedMetadataBehavior', 'locationName' => 'timedMetadataBehavior', ], 'TimedMetadataPid' => [ 'shape' => '__string', 'locationName' => 'timedMetadataPid', ], 'TransportStreamId' => [ 'shape' => '__integerMin0Max65535', 'locationName' => 'transportStreamId', ], 'VideoPid' => [ 'shape' => '__string', 'locationName' => 'videoPid', ], ], ], 'M3u8TimedMetadataBehavior' => [ 'type' => 'string', 'enum' => [ 'NO_PASSTHROUGH', 'PASSTHROUGH', ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 1000, ], 'MediaConnectFlow' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], ], ], 'MediaConnectFlowRequest' => [ 'type' => 'structure', 'members' => [ 'FlowArn' => [ 'shape' => '__string', 'locationName' => 'flowArn', ], ], ], 'MediaPackageGroupSettings' => [ 'type' => 'structure', 'members' => [ 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], ], 'required' => [ 'Destination', ], ], 'MediaPackageOutputDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__stringMin1', 'locationName' => 'channelId', ], ], ], 'MediaPackageOutputSettings' => [ 'type' => 'structure', 'members' => [], ], 'Mp2CodingMode' => [ 'type' => 'string', 'enum' => [ 'CODING_MODE_1_0', 'CODING_MODE_2_0', ], ], 'Mp2Settings' => [ 'type' => 'structure', 'members' => [ 'Bitrate' => [ 'shape' => '__double', 'locationName' => 'bitrate', ], 'CodingMode' => [ 'shape' => 'Mp2CodingMode', 'locationName' => 'codingMode', ], 'SampleRate' => [ 'shape' => '__double', 'locationName' => 'sampleRate', ], ], ], 'MsSmoothGroupSettings' => [ 'type' => 'structure', 'members' => [ 'AcquisitionPointId' => [ 'shape' => '__string', 'locationName' => 'acquisitionPointId', ], 'AudioOnlyTimecodeControl' => [ 'shape' => 'SmoothGroupAudioOnlyTimecodeControl', 'locationName' => 'audioOnlyTimecodeControl', ], 'CertificateMode' => [ 'shape' => 'SmoothGroupCertificateMode', 'locationName' => 'certificateMode', ], 'ConnectionRetryInterval' => [ 'shape' => '__integerMin0', 'locationName' => 'connectionRetryInterval', ], 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], 'EventId' => [ 'shape' => '__string', 'locationName' => 'eventId', ], 'EventIdMode' => [ 'shape' => 'SmoothGroupEventIdMode', 'locationName' => 'eventIdMode', ], 'EventStopBehavior' => [ 'shape' => 'SmoothGroupEventStopBehavior', 'locationName' => 'eventStopBehavior', ], 'FilecacheDuration' => [ 'shape' => '__integerMin0', 'locationName' => 'filecacheDuration', ], 'FragmentLength' => [ 'shape' => '__integerMin1', 'locationName' => 'fragmentLength', ], 'InputLossAction' => [ 'shape' => 'InputLossActionForMsSmoothOut', 'locationName' => 'inputLossAction', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], 'RestartDelay' => [ 'shape' => '__integerMin0', 'locationName' => 'restartDelay', ], 'SegmentationMode' => [ 'shape' => 'SmoothGroupSegmentationMode', 'locationName' => 'segmentationMode', ], 'SendDelayMs' => [ 'shape' => '__integerMin0Max10000', 'locationName' => 'sendDelayMs', ], 'SparseTrackType' => [ 'shape' => 'SmoothGroupSparseTrackType', 'locationName' => 'sparseTrackType', ], 'StreamManifestBehavior' => [ 'shape' => 'SmoothGroupStreamManifestBehavior', 'locationName' => 'streamManifestBehavior', ], 'TimestampOffset' => [ 'shape' => '__string', 'locationName' => 'timestampOffset', ], 'TimestampOffsetMode' => [ 'shape' => 'SmoothGroupTimestampOffsetMode', 'locationName' => 'timestampOffsetMode', ], ], 'required' => [ 'Destination', ], ], 'MsSmoothOutputSettings' => [ 'type' => 'structure', 'members' => [ 'NameModifier' => [ 'shape' => '__string', 'locationName' => 'nameModifier', ], ], ], 'NetworkInputServerValidation' => [ 'type' => 'string', 'enum' => [ 'CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME', 'CHECK_CRYPTOGRAPHY_ONLY', ], ], 'NetworkInputSettings' => [ 'type' => 'structure', 'members' => [ 'HlsInputSettings' => [ 'shape' => 'HlsInputSettings', 'locationName' => 'hlsInputSettings', ], 'ServerValidation' => [ 'shape' => 'NetworkInputServerValidation', 'locationName' => 'serverValidation', ], ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'Offering' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'CurrencyCode' => [ 'shape' => '__string', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => '__integer', 'locationName' => 'duration', ], 'DurationUnits' => [ 'shape' => 'OfferingDurationUnits', 'locationName' => 'durationUnits', ], 'FixedPrice' => [ 'shape' => '__double', 'locationName' => 'fixedPrice', ], 'OfferingDescription' => [ 'shape' => '__string', 'locationName' => 'offeringDescription', ], 'OfferingId' => [ 'shape' => '__string', 'locationName' => 'offeringId', ], 'OfferingType' => [ 'shape' => 'OfferingType', 'locationName' => 'offeringType', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'ResourceSpecification' => [ 'shape' => 'ReservationResourceSpecification', 'locationName' => 'resourceSpecification', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'OfferingDurationUnits' => [ 'type' => 'string', 'enum' => [ 'MONTHS', ], ], 'OfferingType' => [ 'type' => 'string', 'enum' => [ 'NO_UPFRONT', ], ], 'Output' => [ 'type' => 'structure', 'members' => [ 'AudioDescriptionNames' => [ 'shape' => '__listOf__string', 'locationName' => 'audioDescriptionNames', ], 'CaptionDescriptionNames' => [ 'shape' => '__listOf__string', 'locationName' => 'captionDescriptionNames', ], 'OutputName' => [ 'shape' => '__stringMin1Max255', 'locationName' => 'outputName', ], 'OutputSettings' => [ 'shape' => 'OutputSettings', 'locationName' => 'outputSettings', ], 'VideoDescriptionName' => [ 'shape' => '__string', 'locationName' => 'videoDescriptionName', ], ], 'required' => [ 'OutputSettings', ], ], 'OutputDestination' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'MediaPackageSettings' => [ 'shape' => '__listOfMediaPackageOutputDestinationSettings', 'locationName' => 'mediaPackageSettings', ], 'Settings' => [ 'shape' => '__listOfOutputDestinationSettings', 'locationName' => 'settings', ], ], ], 'OutputDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'PasswordParam' => [ 'shape' => '__string', 'locationName' => 'passwordParam', ], 'StreamName' => [ 'shape' => '__string', 'locationName' => 'streamName', ], 'Url' => [ 'shape' => '__string', 'locationName' => 'url', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'OutputGroup' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__stringMax32', 'locationName' => 'name', ], 'OutputGroupSettings' => [ 'shape' => 'OutputGroupSettings', 'locationName' => 'outputGroupSettings', ], 'Outputs' => [ 'shape' => '__listOfOutput', 'locationName' => 'outputs', ], ], 'required' => [ 'Outputs', 'OutputGroupSettings', ], ], 'OutputGroupSettings' => [ 'type' => 'structure', 'members' => [ 'ArchiveGroupSettings' => [ 'shape' => 'ArchiveGroupSettings', 'locationName' => 'archiveGroupSettings', ], 'FrameCaptureGroupSettings' => [ 'shape' => 'FrameCaptureGroupSettings', 'locationName' => 'frameCaptureGroupSettings', ], 'HlsGroupSettings' => [ 'shape' => 'HlsGroupSettings', 'locationName' => 'hlsGroupSettings', ], 'MediaPackageGroupSettings' => [ 'shape' => 'MediaPackageGroupSettings', 'locationName' => 'mediaPackageGroupSettings', ], 'MsSmoothGroupSettings' => [ 'shape' => 'MsSmoothGroupSettings', 'locationName' => 'msSmoothGroupSettings', ], 'RtmpGroupSettings' => [ 'shape' => 'RtmpGroupSettings', 'locationName' => 'rtmpGroupSettings', ], 'UdpGroupSettings' => [ 'shape' => 'UdpGroupSettings', 'locationName' => 'udpGroupSettings', ], ], ], 'OutputLocationRef' => [ 'type' => 'structure', 'members' => [ 'DestinationRefId' => [ 'shape' => '__string', 'locationName' => 'destinationRefId', ], ], ], 'OutputSettings' => [ 'type' => 'structure', 'members' => [ 'ArchiveOutputSettings' => [ 'shape' => 'ArchiveOutputSettings', 'locationName' => 'archiveOutputSettings', ], 'FrameCaptureOutputSettings' => [ 'shape' => 'FrameCaptureOutputSettings', 'locationName' => 'frameCaptureOutputSettings', ], 'HlsOutputSettings' => [ 'shape' => 'HlsOutputSettings', 'locationName' => 'hlsOutputSettings', ], 'MediaPackageOutputSettings' => [ 'shape' => 'MediaPackageOutputSettings', 'locationName' => 'mediaPackageOutputSettings', ], 'MsSmoothOutputSettings' => [ 'shape' => 'MsSmoothOutputSettings', 'locationName' => 'msSmoothOutputSettings', ], 'RtmpOutputSettings' => [ 'shape' => 'RtmpOutputSettings', 'locationName' => 'rtmpOutputSettings', ], 'UdpOutputSettings' => [ 'shape' => 'UdpOutputSettings', 'locationName' => 'udpOutputSettings', ], ], ], 'PassThroughSettings' => [ 'type' => 'structure', 'members' => [], ], 'PauseStateScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'Pipelines' => [ 'shape' => '__listOfPipelinePauseStateSettings', 'locationName' => 'pipelines', ], ], ], 'PipelineId' => [ 'type' => 'string', 'enum' => [ 'PIPELINE_0', 'PIPELINE_1', ], ], 'PipelinePauseStateSettings' => [ 'type' => 'structure', 'members' => [ 'PipelineId' => [ 'shape' => 'PipelineId', 'locationName' => 'pipelineId', ], ], 'required' => [ 'PipelineId', ], ], 'PurchaseOffering' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => '__integerMin1', 'locationName' => 'count', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Start' => [ 'shape' => '__string', 'locationName' => 'start', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], 'required' => [ 'Count', ], ], 'PurchaseOfferingRequest' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => '__integerMin1', 'locationName' => 'count', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OfferingId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'offeringId', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Start' => [ 'shape' => '__string', 'locationName' => 'start', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], 'required' => [ 'OfferingId', 'Count', ], ], 'PurchaseOfferingResponse' => [ 'type' => 'structure', 'members' => [ 'Reservation' => [ 'shape' => 'Reservation', 'locationName' => 'reservation', ], ], ], 'PurchaseOfferingResultModel' => [ 'type' => 'structure', 'members' => [ 'Reservation' => [ 'shape' => 'Reservation', 'locationName' => 'reservation', ], ], ], 'RemixSettings' => [ 'type' => 'structure', 'members' => [ 'ChannelMappings' => [ 'shape' => '__listOfAudioChannelMapping', 'locationName' => 'channelMappings', ], 'ChannelsIn' => [ 'shape' => '__integerMin1Max16', 'locationName' => 'channelsIn', ], 'ChannelsOut' => [ 'shape' => '__integerMin1Max8', 'locationName' => 'channelsOut', ], ], 'required' => [ 'ChannelMappings', ], ], 'Reservation' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Count' => [ 'shape' => '__integer', 'locationName' => 'count', ], 'CurrencyCode' => [ 'shape' => '__string', 'locationName' => 'currencyCode', ], 'Duration' => [ 'shape' => '__integer', 'locationName' => 'duration', ], 'DurationUnits' => [ 'shape' => 'OfferingDurationUnits', 'locationName' => 'durationUnits', ], 'End' => [ 'shape' => '__string', 'locationName' => 'end', ], 'FixedPrice' => [ 'shape' => '__double', 'locationName' => 'fixedPrice', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'OfferingDescription' => [ 'shape' => '__string', 'locationName' => 'offeringDescription', ], 'OfferingId' => [ 'shape' => '__string', 'locationName' => 'offeringId', ], 'OfferingType' => [ 'shape' => 'OfferingType', 'locationName' => 'offeringType', ], 'Region' => [ 'shape' => '__string', 'locationName' => 'region', ], 'ReservationId' => [ 'shape' => '__string', 'locationName' => 'reservationId', ], 'ResourceSpecification' => [ 'shape' => 'ReservationResourceSpecification', 'locationName' => 'resourceSpecification', ], 'Start' => [ 'shape' => '__string', 'locationName' => 'start', ], 'State' => [ 'shape' => 'ReservationState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'ReservationCodec' => [ 'type' => 'string', 'enum' => [ 'MPEG2', 'AVC', 'HEVC', 'AUDIO', ], ], 'ReservationMaximumBitrate' => [ 'type' => 'string', 'enum' => [ 'MAX_10_MBPS', 'MAX_20_MBPS', 'MAX_50_MBPS', ], ], 'ReservationMaximumFramerate' => [ 'type' => 'string', 'enum' => [ 'MAX_30_FPS', 'MAX_60_FPS', ], ], 'ReservationResolution' => [ 'type' => 'string', 'enum' => [ 'SD', 'HD', 'UHD', ], ], 'ReservationResourceSpecification' => [ 'type' => 'structure', 'members' => [ 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Codec' => [ 'shape' => 'ReservationCodec', 'locationName' => 'codec', ], 'MaximumBitrate' => [ 'shape' => 'ReservationMaximumBitrate', 'locationName' => 'maximumBitrate', ], 'MaximumFramerate' => [ 'shape' => 'ReservationMaximumFramerate', 'locationName' => 'maximumFramerate', ], 'Resolution' => [ 'shape' => 'ReservationResolution', 'locationName' => 'resolution', ], 'ResourceType' => [ 'shape' => 'ReservationResourceType', 'locationName' => 'resourceType', ], 'SpecialFeature' => [ 'shape' => 'ReservationSpecialFeature', 'locationName' => 'specialFeature', ], 'VideoQuality' => [ 'shape' => 'ReservationVideoQuality', 'locationName' => 'videoQuality', ], ], ], 'ReservationResourceType' => [ 'type' => 'string', 'enum' => [ 'INPUT', 'OUTPUT', 'CHANNEL', ], ], 'ReservationSpecialFeature' => [ 'type' => 'string', 'enum' => [ 'ADVANCED_AUDIO', 'AUDIO_NORMALIZATION', ], ], 'ReservationState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'EXPIRED', 'CANCELED', 'DELETED', ], ], 'ReservationVideoQuality' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'ENHANCED', 'PREMIUM', ], ], 'ResourceConflict' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'ResourceNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'RtmpCacheFullBehavior' => [ 'type' => 'string', 'enum' => [ 'DISCONNECT_IMMEDIATELY', 'WAIT_FOR_SERVER', ], ], 'RtmpCaptionData' => [ 'type' => 'string', 'enum' => [ 'ALL', 'FIELD1_608', 'FIELD1_AND_FIELD2_608', ], ], 'RtmpCaptionInfoDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'RtmpGroupSettings' => [ 'type' => 'structure', 'members' => [ 'AuthenticationScheme' => [ 'shape' => 'AuthenticationScheme', 'locationName' => 'authenticationScheme', ], 'CacheFullBehavior' => [ 'shape' => 'RtmpCacheFullBehavior', 'locationName' => 'cacheFullBehavior', ], 'CacheLength' => [ 'shape' => '__integerMin30', 'locationName' => 'cacheLength', ], 'CaptionData' => [ 'shape' => 'RtmpCaptionData', 'locationName' => 'captionData', ], 'InputLossAction' => [ 'shape' => 'InputLossActionForRtmpOut', 'locationName' => 'inputLossAction', ], 'RestartDelay' => [ 'shape' => '__integerMin0', 'locationName' => 'restartDelay', ], ], ], 'RtmpOutputCertificateMode' => [ 'type' => 'string', 'enum' => [ 'SELF_SIGNED', 'VERIFY_AUTHENTICITY', ], ], 'RtmpOutputSettings' => [ 'type' => 'structure', 'members' => [ 'CertificateMode' => [ 'shape' => 'RtmpOutputCertificateMode', 'locationName' => 'certificateMode', ], 'ConnectionRetryInterval' => [ 'shape' => '__integerMin1', 'locationName' => 'connectionRetryInterval', ], 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], 'NumRetries' => [ 'shape' => '__integerMin0', 'locationName' => 'numRetries', ], ], 'required' => [ 'Destination', ], ], 'ScheduleAction' => [ 'type' => 'structure', 'members' => [ 'ActionName' => [ 'shape' => '__string', 'locationName' => 'actionName', ], 'ScheduleActionSettings' => [ 'shape' => 'ScheduleActionSettings', 'locationName' => 'scheduleActionSettings', ], 'ScheduleActionStartSettings' => [ 'shape' => 'ScheduleActionStartSettings', 'locationName' => 'scheduleActionStartSettings', ], ], 'required' => [ 'ActionName', 'ScheduleActionStartSettings', 'ScheduleActionSettings', ], ], 'ScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'HlsTimedMetadataSettings' => [ 'shape' => 'HlsTimedMetadataScheduleActionSettings', 'locationName' => 'hlsTimedMetadataSettings', ], 'InputSwitchSettings' => [ 'shape' => 'InputSwitchScheduleActionSettings', 'locationName' => 'inputSwitchSettings', ], 'PauseStateSettings' => [ 'shape' => 'PauseStateScheduleActionSettings', 'locationName' => 'pauseStateSettings', ], 'Scte35ReturnToNetworkSettings' => [ 'shape' => 'Scte35ReturnToNetworkScheduleActionSettings', 'locationName' => 'scte35ReturnToNetworkSettings', ], 'Scte35SpliceInsertSettings' => [ 'shape' => 'Scte35SpliceInsertScheduleActionSettings', 'locationName' => 'scte35SpliceInsertSettings', ], 'Scte35TimeSignalSettings' => [ 'shape' => 'Scte35TimeSignalScheduleActionSettings', 'locationName' => 'scte35TimeSignalSettings', ], 'StaticImageActivateSettings' => [ 'shape' => 'StaticImageActivateScheduleActionSettings', 'locationName' => 'staticImageActivateSettings', ], 'StaticImageDeactivateSettings' => [ 'shape' => 'StaticImageDeactivateScheduleActionSettings', 'locationName' => 'staticImageDeactivateSettings', ], ], ], 'ScheduleActionStartSettings' => [ 'type' => 'structure', 'members' => [ 'FixedModeScheduleActionStartSettings' => [ 'shape' => 'FixedModeScheduleActionStartSettings', 'locationName' => 'fixedModeScheduleActionStartSettings', ], 'FollowModeScheduleActionStartSettings' => [ 'shape' => 'FollowModeScheduleActionStartSettings', 'locationName' => 'followModeScheduleActionStartSettings', ], ], ], 'ScheduleDescribeResultModel' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'ScheduleActions' => [ 'shape' => '__listOfScheduleAction', 'locationName' => 'scheduleActions', ], ], 'required' => [ 'ScheduleActions', ], ], 'Scte20Convert608To708' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'UPCONVERT', ], ], 'Scte20PlusEmbeddedDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'Scte20SourceSettings' => [ 'type' => 'structure', 'members' => [ 'Convert608To708' => [ 'shape' => 'Scte20Convert608To708', 'locationName' => 'convert608To708', ], 'Source608ChannelNumber' => [ 'shape' => '__integerMin1Max4', 'locationName' => 'source608ChannelNumber', ], ], ], 'Scte27DestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'Scte27SourceSettings' => [ 'type' => 'structure', 'members' => [ 'Pid' => [ 'shape' => '__integerMin1', 'locationName' => 'pid', ], ], ], 'Scte35AposNoRegionalBlackoutBehavior' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'IGNORE', ], ], 'Scte35AposWebDeliveryAllowedBehavior' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'IGNORE', ], ], 'Scte35ArchiveAllowedFlag' => [ 'type' => 'string', 'enum' => [ 'ARCHIVE_NOT_ALLOWED', 'ARCHIVE_ALLOWED', ], ], 'Scte35DeliveryRestrictions' => [ 'type' => 'structure', 'members' => [ 'ArchiveAllowedFlag' => [ 'shape' => 'Scte35ArchiveAllowedFlag', 'locationName' => 'archiveAllowedFlag', ], 'DeviceRestrictions' => [ 'shape' => 'Scte35DeviceRestrictions', 'locationName' => 'deviceRestrictions', ], 'NoRegionalBlackoutFlag' => [ 'shape' => 'Scte35NoRegionalBlackoutFlag', 'locationName' => 'noRegionalBlackoutFlag', ], 'WebDeliveryAllowedFlag' => [ 'shape' => 'Scte35WebDeliveryAllowedFlag', 'locationName' => 'webDeliveryAllowedFlag', ], ], 'required' => [ 'DeviceRestrictions', 'ArchiveAllowedFlag', 'WebDeliveryAllowedFlag', 'NoRegionalBlackoutFlag', ], ], 'Scte35Descriptor' => [ 'type' => 'structure', 'members' => [ 'Scte35DescriptorSettings' => [ 'shape' => 'Scte35DescriptorSettings', 'locationName' => 'scte35DescriptorSettings', ], ], 'required' => [ 'Scte35DescriptorSettings', ], ], 'Scte35DescriptorSettings' => [ 'type' => 'structure', 'members' => [ 'SegmentationDescriptorScte35DescriptorSettings' => [ 'shape' => 'Scte35SegmentationDescriptor', 'locationName' => 'segmentationDescriptorScte35DescriptorSettings', ], ], 'required' => [ 'SegmentationDescriptorScte35DescriptorSettings', ], ], 'Scte35DeviceRestrictions' => [ 'type' => 'string', 'enum' => [ 'NONE', 'RESTRICT_GROUP0', 'RESTRICT_GROUP1', 'RESTRICT_GROUP2', ], ], 'Scte35NoRegionalBlackoutFlag' => [ 'type' => 'string', 'enum' => [ 'REGIONAL_BLACKOUT', 'NO_REGIONAL_BLACKOUT', ], ], 'Scte35ReturnToNetworkScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'SpliceEventId' => [ 'shape' => '__integerMin0Max4294967295', 'locationName' => 'spliceEventId', ], ], 'required' => [ 'SpliceEventId', ], ], 'Scte35SegmentationCancelIndicator' => [ 'type' => 'string', 'enum' => [ 'SEGMENTATION_EVENT_NOT_CANCELED', 'SEGMENTATION_EVENT_CANCELED', ], ], 'Scte35SegmentationDescriptor' => [ 'type' => 'structure', 'members' => [ 'DeliveryRestrictions' => [ 'shape' => 'Scte35DeliveryRestrictions', 'locationName' => 'deliveryRestrictions', ], 'SegmentNum' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'segmentNum', ], 'SegmentationCancelIndicator' => [ 'shape' => 'Scte35SegmentationCancelIndicator', 'locationName' => 'segmentationCancelIndicator', ], 'SegmentationDuration' => [ 'shape' => '__integerMin0Max1099511627775', 'locationName' => 'segmentationDuration', ], 'SegmentationEventId' => [ 'shape' => '__integerMin0Max4294967295', 'locationName' => 'segmentationEventId', ], 'SegmentationTypeId' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'segmentationTypeId', ], 'SegmentationUpid' => [ 'shape' => '__string', 'locationName' => 'segmentationUpid', ], 'SegmentationUpidType' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'segmentationUpidType', ], 'SegmentsExpected' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'segmentsExpected', ], 'SubSegmentNum' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'subSegmentNum', ], 'SubSegmentsExpected' => [ 'shape' => '__integerMin0Max255', 'locationName' => 'subSegmentsExpected', ], ], 'required' => [ 'SegmentationEventId', 'SegmentationCancelIndicator', ], ], 'Scte35SpliceInsert' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'NoRegionalBlackoutFlag' => [ 'shape' => 'Scte35SpliceInsertNoRegionalBlackoutBehavior', 'locationName' => 'noRegionalBlackoutFlag', ], 'WebDeliveryAllowedFlag' => [ 'shape' => 'Scte35SpliceInsertWebDeliveryAllowedBehavior', 'locationName' => 'webDeliveryAllowedFlag', ], ], ], 'Scte35SpliceInsertNoRegionalBlackoutBehavior' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'IGNORE', ], ], 'Scte35SpliceInsertScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => '__integerMin0Max8589934591', 'locationName' => 'duration', ], 'SpliceEventId' => [ 'shape' => '__integerMin0Max4294967295', 'locationName' => 'spliceEventId', ], ], 'required' => [ 'SpliceEventId', ], ], 'Scte35SpliceInsertWebDeliveryAllowedBehavior' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'IGNORE', ], ], 'Scte35TimeSignalApos' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'NoRegionalBlackoutFlag' => [ 'shape' => 'Scte35AposNoRegionalBlackoutBehavior', 'locationName' => 'noRegionalBlackoutFlag', ], 'WebDeliveryAllowedFlag' => [ 'shape' => 'Scte35AposWebDeliveryAllowedBehavior', 'locationName' => 'webDeliveryAllowedFlag', ], ], ], 'Scte35TimeSignalScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'Scte35Descriptors' => [ 'shape' => '__listOfScte35Descriptor', 'locationName' => 'scte35Descriptors', ], ], 'required' => [ 'Scte35Descriptors', ], ], 'Scte35WebDeliveryAllowedFlag' => [ 'type' => 'string', 'enum' => [ 'WEB_DELIVERY_NOT_ALLOWED', 'WEB_DELIVERY_ALLOWED', ], ], 'SmoothGroupAudioOnlyTimecodeControl' => [ 'type' => 'string', 'enum' => [ 'PASSTHROUGH', 'USE_CONFIGURED_CLOCK', ], ], 'SmoothGroupCertificateMode' => [ 'type' => 'string', 'enum' => [ 'SELF_SIGNED', 'VERIFY_AUTHENTICITY', ], ], 'SmoothGroupEventIdMode' => [ 'type' => 'string', 'enum' => [ 'NO_EVENT_ID', 'USE_CONFIGURED', 'USE_TIMESTAMP', ], ], 'SmoothGroupEventStopBehavior' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SEND_EOS', ], ], 'SmoothGroupSegmentationMode' => [ 'type' => 'string', 'enum' => [ 'USE_INPUT_SEGMENTATION', 'USE_SEGMENT_DURATION', ], ], 'SmoothGroupSparseTrackType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'SCTE_35', ], ], 'SmoothGroupStreamManifestBehavior' => [ 'type' => 'string', 'enum' => [ 'DO_NOT_SEND', 'SEND', ], ], 'SmoothGroupTimestampOffsetMode' => [ 'type' => 'string', 'enum' => [ 'USE_CONFIGURED_OFFSET', 'USE_EVENT_START_DATE', ], ], 'SmpteTtDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'StandardHlsSettings' => [ 'type' => 'structure', 'members' => [ 'AudioRenditionSets' => [ 'shape' => '__string', 'locationName' => 'audioRenditionSets', ], 'M3u8Settings' => [ 'shape' => 'M3u8Settings', 'locationName' => 'm3u8Settings', ], ], 'required' => [ 'M3u8Settings', ], ], 'StartChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'StartChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'StaticImageActivateScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => '__integerMin0', 'locationName' => 'duration', ], 'FadeIn' => [ 'shape' => '__integerMin0', 'locationName' => 'fadeIn', ], 'FadeOut' => [ 'shape' => '__integerMin0', 'locationName' => 'fadeOut', ], 'Height' => [ 'shape' => '__integerMin1', 'locationName' => 'height', ], 'Image' => [ 'shape' => 'InputLocation', 'locationName' => 'image', ], 'ImageX' => [ 'shape' => '__integerMin0', 'locationName' => 'imageX', ], 'ImageY' => [ 'shape' => '__integerMin0', 'locationName' => 'imageY', ], 'Layer' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'layer', ], 'Opacity' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'opacity', ], 'Width' => [ 'shape' => '__integerMin1', 'locationName' => 'width', ], ], 'required' => [ 'Image', ], ], 'StaticImageDeactivateScheduleActionSettings' => [ 'type' => 'structure', 'members' => [ 'FadeOut' => [ 'shape' => '__integerMin0', 'locationName' => 'fadeOut', ], 'Layer' => [ 'shape' => '__integerMin0Max7', 'locationName' => 'layer', ], ], ], 'StaticKeySettings' => [ 'type' => 'structure', 'members' => [ 'KeyProviderServer' => [ 'shape' => 'InputLocation', 'locationName' => 'keyProviderServer', ], 'StaticKeyValue' => [ 'shape' => '__stringMin32Max32', 'locationName' => 'staticKeyValue', ], ], 'required' => [ 'StaticKeyValue', ], ], 'StopChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'StopChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'ChannelClass' => [ 'shape' => 'ChannelClass', 'locationName' => 'channelClass', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EgressEndpoints' => [ 'shape' => '__listOfChannelEgressEndpoint', 'locationName' => 'egressEndpoints', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'PipelinesRunningCount' => [ 'shape' => '__integer', 'locationName' => 'pipelinesRunningCount', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'State' => [ 'shape' => 'ChannelState', 'locationName' => 'state', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], 'TagsModel' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], ], ], 'TeletextDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], 'TeletextSourceSettings' => [ 'type' => 'structure', 'members' => [ 'PageNumber' => [ 'shape' => '__string', 'locationName' => 'pageNumber', ], ], ], 'TimecodeConfig' => [ 'type' => 'structure', 'members' => [ 'Source' => [ 'shape' => 'TimecodeConfigSource', 'locationName' => 'source', ], 'SyncThreshold' => [ 'shape' => '__integerMin1Max1000000', 'locationName' => 'syncThreshold', ], ], 'required' => [ 'Source', ], ], 'TimecodeConfigSource' => [ 'type' => 'string', 'enum' => [ 'EMBEDDED', 'SYSTEMCLOCK', 'ZEROBASED', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'TtmlDestinationSettings' => [ 'type' => 'structure', 'members' => [ 'StyleControl' => [ 'shape' => 'TtmlDestinationStyleControl', 'locationName' => 'styleControl', ], ], ], 'TtmlDestinationStyleControl' => [ 'type' => 'string', 'enum' => [ 'PASSTHROUGH', 'USE_CONFIGURED', ], ], 'UdpContainerSettings' => [ 'type' => 'structure', 'members' => [ 'M2tsSettings' => [ 'shape' => 'M2tsSettings', 'locationName' => 'm2tsSettings', ], ], ], 'UdpGroupSettings' => [ 'type' => 'structure', 'members' => [ 'InputLossAction' => [ 'shape' => 'InputLossActionForUdpOut', 'locationName' => 'inputLossAction', ], 'TimedMetadataId3Frame' => [ 'shape' => 'UdpTimedMetadataId3Frame', 'locationName' => 'timedMetadataId3Frame', ], 'TimedMetadataId3Period' => [ 'shape' => '__integerMin0', 'locationName' => 'timedMetadataId3Period', ], ], ], 'UdpOutputSettings' => [ 'type' => 'structure', 'members' => [ 'BufferMsec' => [ 'shape' => '__integerMin0Max10000', 'locationName' => 'bufferMsec', ], 'ContainerSettings' => [ 'shape' => 'UdpContainerSettings', 'locationName' => 'containerSettings', ], 'Destination' => [ 'shape' => 'OutputLocationRef', 'locationName' => 'destination', ], 'FecOutputSettings' => [ 'shape' => 'FecOutputSettings', 'locationName' => 'fecOutputSettings', ], ], 'required' => [ 'Destination', 'ContainerSettings', ], ], 'UdpTimedMetadataId3Frame' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PRIV', 'TDRL', ], ], 'UnprocessableEntityException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], 'ValidationErrors' => [ 'shape' => '__listOfValidationError', 'locationName' => 'validationErrors', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 422, ], ], 'UpdateChannel' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], ], 'UpdateChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], 'Destinations' => [ 'shape' => '__listOfOutputDestination', 'locationName' => 'destinations', ], 'EncoderSettings' => [ 'shape' => 'EncoderSettings', 'locationName' => 'encoderSettings', ], 'InputAttachments' => [ 'shape' => '__listOfInputAttachment', 'locationName' => 'inputAttachments', ], 'InputSpecification' => [ 'shape' => 'InputSpecification', 'locationName' => 'inputSpecification', ], 'LogLevel' => [ 'shape' => 'LogLevel', 'locationName' => 'logLevel', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], 'required' => [ 'ChannelId', ], ], 'UpdateChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Channel' => [ 'shape' => 'Channel', 'locationName' => 'channel', ], ], ], 'UpdateChannelResultModel' => [ 'type' => 'structure', 'members' => [ 'Channel' => [ 'shape' => 'Channel', 'locationName' => 'channel', ], ], ], 'UpdateInput' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlowRequest', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], ], ], 'UpdateInputRequest' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputId', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'MediaConnectFlows' => [ 'shape' => '__listOfMediaConnectFlowRequest', 'locationName' => 'mediaConnectFlows', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], ], 'required' => [ 'InputId', ], ], 'UpdateInputResponse' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'UpdateInputResultModel' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'UpdateInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'InputSecurityGroupId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'inputSecurityGroupId', ], 'Tags' => [ 'shape' => 'Tags', 'locationName' => 'tags', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRuleCidr', 'locationName' => 'whitelistRules', ], ], 'required' => [ 'InputSecurityGroupId', ], ], 'UpdateInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'UpdateInputSecurityGroupResultModel' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'UpdateReservation' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], ], ], 'UpdateReservationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReservationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'reservationId', ], ], 'required' => [ 'ReservationId', ], ], 'UpdateReservationResponse' => [ 'type' => 'structure', 'members' => [ 'Reservation' => [ 'shape' => 'Reservation', 'locationName' => 'reservation', ], ], ], 'UpdateReservationResultModel' => [ 'type' => 'structure', 'members' => [ 'Reservation' => [ 'shape' => 'Reservation', 'locationName' => 'reservation', ], ], ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'ElementPath' => [ 'shape' => '__string', 'locationName' => 'elementPath', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], ], ], 'VideoCodecSettings' => [ 'type' => 'structure', 'members' => [ 'FrameCaptureSettings' => [ 'shape' => 'FrameCaptureSettings', 'locationName' => 'frameCaptureSettings', ], 'H264Settings' => [ 'shape' => 'H264Settings', 'locationName' => 'h264Settings', ], ], ], 'VideoDescription' => [ 'type' => 'structure', 'members' => [ 'CodecSettings' => [ 'shape' => 'VideoCodecSettings', 'locationName' => 'codecSettings', ], 'Height' => [ 'shape' => '__integer', 'locationName' => 'height', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RespondToAfd' => [ 'shape' => 'VideoDescriptionRespondToAfd', 'locationName' => 'respondToAfd', ], 'ScalingBehavior' => [ 'shape' => 'VideoDescriptionScalingBehavior', 'locationName' => 'scalingBehavior', ], 'Sharpness' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'sharpness', ], 'Width' => [ 'shape' => '__integer', 'locationName' => 'width', ], ], 'required' => [ 'Name', ], ], 'VideoDescriptionRespondToAfd' => [ 'type' => 'string', 'enum' => [ 'NONE', 'PASSTHROUGH', 'RESPOND', ], ], 'VideoDescriptionScalingBehavior' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'STRETCH_TO_OUTPUT', ], ], 'VideoSelector' => [ 'type' => 'structure', 'members' => [ 'ColorSpace' => [ 'shape' => 'VideoSelectorColorSpace', 'locationName' => 'colorSpace', ], 'ColorSpaceUsage' => [ 'shape' => 'VideoSelectorColorSpaceUsage', 'locationName' => 'colorSpaceUsage', ], 'SelectorSettings' => [ 'shape' => 'VideoSelectorSettings', 'locationName' => 'selectorSettings', ], ], ], 'VideoSelectorColorSpace' => [ 'type' => 'string', 'enum' => [ 'FOLLOW', 'REC_601', 'REC_709', ], ], 'VideoSelectorColorSpaceUsage' => [ 'type' => 'string', 'enum' => [ 'FALLBACK', 'FORCE', ], ], 'VideoSelectorPid' => [ 'type' => 'structure', 'members' => [ 'Pid' => [ 'shape' => '__integerMin0Max8191', 'locationName' => 'pid', ], ], ], 'VideoSelectorProgramId' => [ 'type' => 'structure', 'members' => [ 'ProgramId' => [ 'shape' => '__integerMin0Max65536', 'locationName' => 'programId', ], ], ], 'VideoSelectorSettings' => [ 'type' => 'structure', 'members' => [ 'VideoSelectorPid' => [ 'shape' => 'VideoSelectorPid', 'locationName' => 'videoSelectorPid', ], 'VideoSelectorProgramId' => [ 'shape' => 'VideoSelectorProgramId', 'locationName' => 'videoSelectorProgramId', ], ], ], 'WebvttDestinationSettings' => [ 'type' => 'structure', 'members' => [], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__doubleMin0' => [ 'type' => 'double', ], '__doubleMin1' => [ 'type' => 'double', ], '__doubleMinNegative59Max0' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__integerMin0' => [ 'type' => 'integer', 'min' => 0, ], '__integerMin0Max10' => [ 'type' => 'integer', 'min' => 0, 'max' => 10, ], '__integerMin0Max100' => [ 'type' => 'integer', 'min' => 0, 'max' => 100, ], '__integerMin0Max1000' => [ 'type' => 'integer', 'min' => 0, 'max' => 1000, ], '__integerMin0Max10000' => [ 'type' => 'integer', 'min' => 0, 'max' => 10000, ], '__integerMin0Max1000000' => [ 'type' => 'integer', 'min' => 0, 'max' => 1000000, ], '__integerMin0Max1099511627775' => [ 'type' => 'long', 'min' => 0, 'max' => 1099511627775, ], '__integerMin0Max128' => [ 'type' => 'integer', 'min' => 0, 'max' => 128, ], '__integerMin0Max15' => [ 'type' => 'integer', 'min' => 0, 'max' => 15, ], '__integerMin0Max255' => [ 'type' => 'integer', 'min' => 0, 'max' => 255, ], '__integerMin0Max30' => [ 'type' => 'integer', 'min' => 0, 'max' => 30, ], '__integerMin0Max3600' => [ 'type' => 'integer', 'min' => 0, 'max' => 3600, ], '__integerMin0Max4294967295' => [ 'type' => 'long', 'min' => 0, 'max' => 4294967295, ], '__integerMin0Max500' => [ 'type' => 'integer', 'min' => 0, 'max' => 500, ], '__integerMin0Max600' => [ 'type' => 'integer', 'min' => 0, 'max' => 600, ], '__integerMin0Max65535' => [ 'type' => 'integer', 'min' => 0, 'max' => 65535, ], '__integerMin0Max65536' => [ 'type' => 'integer', 'min' => 0, 'max' => 65536, ], '__integerMin0Max7' => [ 'type' => 'integer', 'min' => 0, 'max' => 7, ], '__integerMin0Max8191' => [ 'type' => 'integer', 'min' => 0, 'max' => 8191, ], '__integerMin0Max8589934591' => [ 'type' => 'long', 'min' => 0, 'max' => 8589934591, ], '__integerMin1' => [ 'type' => 'integer', 'min' => 1, ], '__integerMin1000' => [ 'type' => 'integer', 'min' => 1000, ], '__integerMin1000Max30000' => [ 'type' => 'integer', 'min' => 1000, 'max' => 30000, ], '__integerMin1Max10' => [ 'type' => 'integer', 'min' => 1, 'max' => 10, ], '__integerMin1Max1000000' => [ 'type' => 'integer', 'min' => 1, 'max' => 1000000, ], '__integerMin1Max16' => [ 'type' => 'integer', 'min' => 1, 'max' => 16, ], '__integerMin1Max20' => [ 'type' => 'integer', 'min' => 1, 'max' => 20, ], '__integerMin1Max31' => [ 'type' => 'integer', 'min' => 1, 'max' => 31, ], '__integerMin1Max32' => [ 'type' => 'integer', 'min' => 1, 'max' => 32, ], '__integerMin1Max3600' => [ 'type' => 'integer', 'min' => 1, 'max' => 3600, ], '__integerMin1Max4' => [ 'type' => 'integer', 'min' => 1, 'max' => 4, ], '__integerMin1Max5' => [ 'type' => 'integer', 'min' => 1, 'max' => 5, ], '__integerMin1Max6' => [ 'type' => 'integer', 'min' => 1, 'max' => 6, ], '__integerMin1Max8' => [ 'type' => 'integer', 'min' => 1, 'max' => 8, ], '__integerMin25Max10000' => [ 'type' => 'integer', 'min' => 25, 'max' => 10000, ], '__integerMin25Max2000' => [ 'type' => 'integer', 'min' => 25, 'max' => 2000, ], '__integerMin3' => [ 'type' => 'integer', 'min' => 3, ], '__integerMin30' => [ 'type' => 'integer', 'min' => 30, ], '__integerMin4Max20' => [ 'type' => 'integer', 'min' => 4, 'max' => 20, ], '__integerMin96Max600' => [ 'type' => 'integer', 'min' => 96, 'max' => 600, ], '__integerMinNegative1000Max1000' => [ 'type' => 'integer', 'min' => -1000, 'max' => 1000, ], '__integerMinNegative60Max6' => [ 'type' => 'integer', 'min' => -60, 'max' => 6, ], '__integerMinNegative60Max60' => [ 'type' => 'integer', 'min' => -60, 'max' => 60, ], '__listOfAudioChannelMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'AudioChannelMapping', ], ], '__listOfAudioDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'AudioDescription', ], ], '__listOfAudioSelector' => [ 'type' => 'list', 'member' => [ 'shape' => 'AudioSelector', ], ], '__listOfCaptionDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionDescription', ], ], '__listOfCaptionLanguageMapping' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionLanguageMapping', ], ], '__listOfCaptionSelector' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaptionSelector', ], ], '__listOfChannelEgressEndpoint' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelEgressEndpoint', ], ], '__listOfChannelSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelSummary', ], ], '__listOfHlsAdMarkers' => [ 'type' => 'list', 'member' => [ 'shape' => 'HlsAdMarkers', ], ], '__listOfInput' => [ 'type' => 'list', 'member' => [ 'shape' => 'Input', ], ], '__listOfInputAttachment' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputAttachment', ], ], '__listOfInputChannelLevel' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputChannelLevel', ], ], '__listOfInputDestination' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputDestination', ], ], '__listOfInputDestinationRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputDestinationRequest', ], ], '__listOfInputSecurityGroup' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputSecurityGroup', ], ], '__listOfInputSource' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputSource', ], ], '__listOfInputSourceRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputSourceRequest', ], ], '__listOfInputWhitelistRule' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputWhitelistRule', ], ], '__listOfInputWhitelistRuleCidr' => [ 'type' => 'list', 'member' => [ 'shape' => 'InputWhitelistRuleCidr', ], ], '__listOfMediaConnectFlow' => [ 'type' => 'list', 'member' => [ 'shape' => 'MediaConnectFlow', ], ], '__listOfMediaConnectFlowRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'MediaConnectFlowRequest', ], ], '__listOfMediaPackageOutputDestinationSettings' => [ 'type' => 'list', 'member' => [ 'shape' => 'MediaPackageOutputDestinationSettings', ], ], '__listOfOffering' => [ 'type' => 'list', 'member' => [ 'shape' => 'Offering', ], ], '__listOfOutput' => [ 'type' => 'list', 'member' => [ 'shape' => 'Output', ], ], '__listOfOutputDestination' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputDestination', ], ], '__listOfOutputDestinationSettings' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputDestinationSettings', ], ], '__listOfOutputGroup' => [ 'type' => 'list', 'member' => [ 'shape' => 'OutputGroup', ], ], '__listOfPipelinePauseStateSettings' => [ 'type' => 'list', 'member' => [ 'shape' => 'PipelinePauseStateSettings', ], ], '__listOfReservation' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reservation', ], ], '__listOfScheduleAction' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduleAction', ], ], '__listOfScte35Descriptor' => [ 'type' => 'list', 'member' => [ 'shape' => 'Scte35Descriptor', ], ], '__listOfValidationError' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidationError', ], ], '__listOfVideoDescription' => [ 'type' => 'list', 'member' => [ 'shape' => 'VideoDescription', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__stringMax32' => [ 'type' => 'string', 'max' => 32, ], '__stringMin1' => [ 'type' => 'string', 'min' => 1, ], '__stringMin1Max255' => [ 'type' => 'string', 'min' => 1, 'max' => 255, ], '__stringMin1Max256' => [ 'type' => 'string', 'min' => 1, 'max' => 256, ], '__stringMin32Max32' => [ 'type' => 'string', 'min' => 32, 'max' => 32, ], '__stringMin34Max34' => [ 'type' => 'string', 'min' => 34, 'max' => 34, ], '__stringMin3Max3' => [ 'type' => 'string', 'min' => 3, 'max' => 3, ], '__stringMin6Max6' => [ 'type' => 'string', 'min' => 6, 'max' => 6, ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/medialive/2017-10-14/paginators-1.json.php b/lib/aws/Aws/data/medialive/2017-10-14/paginators-1.json.php new file mode 100644 index 0000000..39aa990 --- /dev/null +++ b/lib/aws/Aws/data/medialive/2017-10-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/medialive/2017-10-14/paginators-1.json +return [ 'pagination' => [ 'DescribeSchedule' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListChannels' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListInputSecurityGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListInputs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListReservations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/mediapackage/2017-10-12/api-2.json.php b/lib/aws/Aws/data/mediapackage/2017-10-12/api-2.json.php new file mode 100644 index 0000000..5a2b14f --- /dev/null +++ b/lib/aws/Aws/data/mediapackage/2017-10-12/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediapackage/2017-10-12/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-10-12', 'endpointPrefix' => 'mediapackage', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'MediaPackage', 'serviceFullName' => 'AWS Elemental MediaPackage', 'serviceId' => 'MediaPackage', 'signatureVersion' => 'v4', 'signingName' => 'mediapackage', 'uid' => 'mediapackage-2017-10-12', ], 'operations' => [ 'CreateChannel' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'POST', 'requestUri' => '/channels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateChannelRequest', ], 'name' => 'CreateChannel', 'output' => [ 'shape' => 'CreateChannelResponse', ], ], 'CreateOriginEndpoint' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'POST', 'requestUri' => '/origin_endpoints', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateOriginEndpointRequest', ], 'name' => 'CreateOriginEndpoint', 'output' => [ 'shape' => 'CreateOriginEndpointResponse', ], ], 'DeleteChannel' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'DELETE', 'requestUri' => '/channels/{id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteChannelRequest', ], 'name' => 'DeleteChannel', 'output' => [ 'shape' => 'DeleteChannelResponse', ], ], 'DeleteOriginEndpoint' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'DELETE', 'requestUri' => '/origin_endpoints/{id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteOriginEndpointRequest', ], 'name' => 'DeleteOriginEndpoint', 'output' => [ 'shape' => 'DeleteOriginEndpointResponse', ], ], 'DescribeChannel' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'GET', 'requestUri' => '/channels/{id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeChannelRequest', ], 'name' => 'DescribeChannel', 'output' => [ 'shape' => 'DescribeChannelResponse', ], ], 'DescribeOriginEndpoint' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'GET', 'requestUri' => '/origin_endpoints/{id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeOriginEndpointRequest', ], 'name' => 'DescribeOriginEndpoint', 'output' => [ 'shape' => 'DescribeOriginEndpointResponse', ], ], 'ListChannels' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'GET', 'requestUri' => '/channels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListChannelsRequest', ], 'name' => 'ListChannels', 'output' => [ 'shape' => 'ListChannelsResponse', ], ], 'ListOriginEndpoints' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'GET', 'requestUri' => '/origin_endpoints', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListOriginEndpointsRequest', ], 'name' => 'ListOriginEndpoints', 'output' => [ 'shape' => 'ListOriginEndpointsResponse', ], ], 'ListTagsForResource' => [ 'errors' => [], 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'name' => 'ListTagsForResource', 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], ], 'RotateChannelCredentials' => [ 'deprecated' => true, 'deprecatedMessage' => 'This API is deprecated. Please use RotateIngestEndpointCredentials instead', 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'PUT', 'requestUri' => '/channels/{id}/credentials', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RotateChannelCredentialsRequest', ], 'name' => 'RotateChannelCredentials', 'output' => [ 'shape' => 'RotateChannelCredentialsResponse', ], ], 'RotateIngestEndpointCredentials' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'PUT', 'requestUri' => '/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RotateIngestEndpointCredentialsRequest', ], 'name' => 'RotateIngestEndpointCredentials', 'output' => [ 'shape' => 'RotateIngestEndpointCredentialsResponse', ], ], 'TagResource' => [ 'errors' => [], 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'name' => 'TagResource', ], 'UntagResource' => [ 'errors' => [], 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'name' => 'UntagResource', ], 'UpdateChannel' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'PUT', 'requestUri' => '/channels/{id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateChannelRequest', ], 'name' => 'UpdateChannel', 'output' => [ 'shape' => 'UpdateChannelResponse', ], ], 'UpdateOriginEndpoint' => [ 'errors' => [ [ 'shape' => 'UnprocessableEntityException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyRequestsException', ], ], 'http' => [ 'method' => 'PUT', 'requestUri' => '/origin_endpoints/{id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateOriginEndpointRequest', ], 'name' => 'UpdateOriginEndpoint', 'output' => [ 'shape' => 'UpdateOriginEndpointResponse', ], ], ], 'shapes' => [ 'AdMarkers' => [ 'enum' => [ 'NONE', 'SCTE35_ENHANCED', 'PASSTHROUGH', ], 'type' => 'string', ], 'Channel' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'ChannelCreateParameters' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'ChannelList' => [ 'members' => [ 'Channels' => [ 'locationName' => 'channels', 'shape' => '__listOfChannel', ], 'NextToken' => [ 'locationName' => 'nextToken', 'shape' => '__string', ], ], 'type' => 'structure', ], 'ChannelUpdateParameters' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], ], 'type' => 'structure', ], 'CmafEncryption' => [ 'members' => [ 'KeyRotationIntervalSeconds' => [ 'locationName' => 'keyRotationIntervalSeconds', 'shape' => '__integer', ], 'SpekeKeyProvider' => [ 'locationName' => 'spekeKeyProvider', 'shape' => 'SpekeKeyProvider', ], ], 'required' => [ 'SpekeKeyProvider', ], 'type' => 'structure', ], 'CmafPackage' => [ 'members' => [ 'Encryption' => [ 'locationName' => 'encryption', 'shape' => 'CmafEncryption', ], 'HlsManifests' => [ 'locationName' => 'hlsManifests', 'shape' => '__listOfHlsManifest', ], 'SegmentDurationSeconds' => [ 'locationName' => 'segmentDurationSeconds', 'shape' => '__integer', ], 'SegmentPrefix' => [ 'locationName' => 'segmentPrefix', 'shape' => '__string', ], 'StreamSelection' => [ 'locationName' => 'streamSelection', 'shape' => 'StreamSelection', ], ], 'type' => 'structure', ], 'CmafPackageCreateOrUpdateParameters' => [ 'members' => [ 'Encryption' => [ 'locationName' => 'encryption', 'shape' => 'CmafEncryption', ], 'HlsManifests' => [ 'locationName' => 'hlsManifests', 'shape' => '__listOfHlsManifestCreateOrUpdateParameters', ], 'SegmentDurationSeconds' => [ 'locationName' => 'segmentDurationSeconds', 'shape' => '__integer', ], 'SegmentPrefix' => [ 'locationName' => 'segmentPrefix', 'shape' => '__string', ], 'StreamSelection' => [ 'locationName' => 'streamSelection', 'shape' => 'StreamSelection', ], ], 'type' => 'structure', ], 'CreateChannelRequest' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'CreateChannelResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'CreateOriginEndpointRequest' => [ 'members' => [ 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackageCreateOrUpdateParameters', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'required' => [ 'ChannelId', 'Id', ], 'type' => 'structure', ], 'CreateOriginEndpointResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackage', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'type' => 'structure', ], 'DashEncryption' => [ 'members' => [ 'KeyRotationIntervalSeconds' => [ 'locationName' => 'keyRotationIntervalSeconds', 'shape' => '__integer', ], 'SpekeKeyProvider' => [ 'locationName' => 'spekeKeyProvider', 'shape' => 'SpekeKeyProvider', ], ], 'required' => [ 'SpekeKeyProvider', ], 'type' => 'structure', ], 'DashPackage' => [ 'members' => [ 'Encryption' => [ 'locationName' => 'encryption', 'shape' => 'DashEncryption', ], 'ManifestLayout' => [ 'locationName' => 'manifestLayout', 'shape' => 'ManifestLayout', ], 'ManifestWindowSeconds' => [ 'locationName' => 'manifestWindowSeconds', 'shape' => '__integer', ], 'MinBufferTimeSeconds' => [ 'locationName' => 'minBufferTimeSeconds', 'shape' => '__integer', ], 'MinUpdatePeriodSeconds' => [ 'locationName' => 'minUpdatePeriodSeconds', 'shape' => '__integer', ], 'PeriodTriggers' => [ 'locationName' => 'periodTriggers', 'shape' => '__listOf__PeriodTriggersElement', ], 'Profile' => [ 'locationName' => 'profile', 'shape' => 'Profile', ], 'SegmentDurationSeconds' => [ 'locationName' => 'segmentDurationSeconds', 'shape' => '__integer', ], 'SegmentTemplateFormat' => [ 'locationName' => 'segmentTemplateFormat', 'shape' => 'SegmentTemplateFormat', ], 'StreamSelection' => [ 'locationName' => 'streamSelection', 'shape' => 'StreamSelection', ], 'SuggestedPresentationDelaySeconds' => [ 'locationName' => 'suggestedPresentationDelaySeconds', 'shape' => '__integer', ], ], 'type' => 'structure', ], 'DeleteChannelRequest' => [ 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'DeleteChannelResponse' => [ 'members' => [], 'type' => 'structure', ], 'DeleteOriginEndpointRequest' => [ 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'DeleteOriginEndpointResponse' => [ 'members' => [], 'type' => 'structure', ], 'DescribeChannelRequest' => [ 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'DescribeChannelResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'DescribeOriginEndpointRequest' => [ 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'DescribeOriginEndpointResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackage', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'type' => 'structure', ], 'EncryptionMethod' => [ 'enum' => [ 'AES_128', 'SAMPLE_AES', ], 'type' => 'string', ], 'ForbiddenException' => [ 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'HlsEncryption' => [ 'members' => [ 'ConstantInitializationVector' => [ 'locationName' => 'constantInitializationVector', 'shape' => '__string', ], 'EncryptionMethod' => [ 'locationName' => 'encryptionMethod', 'shape' => 'EncryptionMethod', ], 'KeyRotationIntervalSeconds' => [ 'locationName' => 'keyRotationIntervalSeconds', 'shape' => '__integer', ], 'RepeatExtXKey' => [ 'locationName' => 'repeatExtXKey', 'shape' => '__boolean', ], 'SpekeKeyProvider' => [ 'locationName' => 'spekeKeyProvider', 'shape' => 'SpekeKeyProvider', ], ], 'required' => [ 'SpekeKeyProvider', ], 'type' => 'structure', ], 'HlsIngest' => [ 'members' => [ 'IngestEndpoints' => [ 'locationName' => 'ingestEndpoints', 'shape' => '__listOfIngestEndpoint', ], ], 'type' => 'structure', ], 'HlsManifest' => [ 'members' => [ 'AdMarkers' => [ 'locationName' => 'adMarkers', 'shape' => 'AdMarkers', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'IncludeIframeOnlyStream' => [ 'locationName' => 'includeIframeOnlyStream', 'shape' => '__boolean', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'PlaylistType' => [ 'locationName' => 'playlistType', 'shape' => 'PlaylistType', ], 'PlaylistWindowSeconds' => [ 'locationName' => 'playlistWindowSeconds', 'shape' => '__integer', ], 'ProgramDateTimeIntervalSeconds' => [ 'locationName' => 'programDateTimeIntervalSeconds', 'shape' => '__integer', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'HlsManifestCreateOrUpdateParameters' => [ 'members' => [ 'AdMarkers' => [ 'locationName' => 'adMarkers', 'shape' => 'AdMarkers', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'IncludeIframeOnlyStream' => [ 'locationName' => 'includeIframeOnlyStream', 'shape' => '__boolean', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'PlaylistType' => [ 'locationName' => 'playlistType', 'shape' => 'PlaylistType', ], 'PlaylistWindowSeconds' => [ 'locationName' => 'playlistWindowSeconds', 'shape' => '__integer', ], 'ProgramDateTimeIntervalSeconds' => [ 'locationName' => 'programDateTimeIntervalSeconds', 'shape' => '__integer', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'HlsPackage' => [ 'members' => [ 'AdMarkers' => [ 'locationName' => 'adMarkers', 'shape' => 'AdMarkers', ], 'Encryption' => [ 'locationName' => 'encryption', 'shape' => 'HlsEncryption', ], 'IncludeIframeOnlyStream' => [ 'locationName' => 'includeIframeOnlyStream', 'shape' => '__boolean', ], 'PlaylistType' => [ 'locationName' => 'playlistType', 'shape' => 'PlaylistType', ], 'PlaylistWindowSeconds' => [ 'locationName' => 'playlistWindowSeconds', 'shape' => '__integer', ], 'ProgramDateTimeIntervalSeconds' => [ 'locationName' => 'programDateTimeIntervalSeconds', 'shape' => '__integer', ], 'SegmentDurationSeconds' => [ 'locationName' => 'segmentDurationSeconds', 'shape' => '__integer', ], 'StreamSelection' => [ 'locationName' => 'streamSelection', 'shape' => 'StreamSelection', ], 'UseAudioRenditionGroup' => [ 'locationName' => 'useAudioRenditionGroup', 'shape' => '__boolean', ], ], 'type' => 'structure', ], 'IngestEndpoint' => [ 'members' => [ 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Password' => [ 'locationName' => 'password', 'shape' => '__string', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], 'Username' => [ 'locationName' => 'username', 'shape' => '__string', ], ], 'type' => 'structure', ], 'InternalServerErrorException' => [ 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'ListChannelsRequest' => [ 'members' => [ 'MaxResults' => [ 'location' => 'querystring', 'locationName' => 'maxResults', 'shape' => 'MaxResults', ], 'NextToken' => [ 'location' => 'querystring', 'locationName' => 'nextToken', 'shape' => '__string', ], ], 'type' => 'structure', ], 'ListChannelsResponse' => [ 'members' => [ 'Channels' => [ 'locationName' => 'channels', 'shape' => '__listOfChannel', ], 'NextToken' => [ 'locationName' => 'nextToken', 'shape' => '__string', ], ], 'type' => 'structure', ], 'ListOriginEndpointsRequest' => [ 'members' => [ 'ChannelId' => [ 'location' => 'querystring', 'locationName' => 'channelId', 'shape' => '__string', ], 'MaxResults' => [ 'location' => 'querystring', 'locationName' => 'maxResults', 'shape' => 'MaxResults', ], 'NextToken' => [ 'location' => 'querystring', 'locationName' => 'nextToken', 'shape' => '__string', ], ], 'type' => 'structure', ], 'ListOriginEndpointsResponse' => [ 'members' => [ 'NextToken' => [ 'locationName' => 'nextToken', 'shape' => '__string', ], 'OriginEndpoints' => [ 'locationName' => 'originEndpoints', 'shape' => '__listOfOriginEndpoint', ], ], 'type' => 'structure', ], 'ListTagsForResourceRequest' => [ 'members' => [ 'ResourceArn' => [ 'location' => 'uri', 'locationName' => 'resource-arn', 'shape' => '__string', ], ], 'required' => [ 'ResourceArn', ], 'type' => 'structure', ], 'ListTagsForResourceResponse' => [ 'members' => [ 'Tags' => [ 'locationName' => 'tags', 'shape' => '__mapOf__string', ], ], 'type' => 'structure', ], 'ManifestLayout' => [ 'enum' => [ 'FULL', 'COMPACT', ], 'type' => 'string', ], 'MaxResults' => [ 'max' => 1000, 'min' => 1, 'type' => 'integer', ], 'MssEncryption' => [ 'members' => [ 'SpekeKeyProvider' => [ 'locationName' => 'spekeKeyProvider', 'shape' => 'SpekeKeyProvider', ], ], 'required' => [ 'SpekeKeyProvider', ], 'type' => 'structure', ], 'MssPackage' => [ 'members' => [ 'Encryption' => [ 'locationName' => 'encryption', 'shape' => 'MssEncryption', ], 'ManifestWindowSeconds' => [ 'locationName' => 'manifestWindowSeconds', 'shape' => '__integer', ], 'SegmentDurationSeconds' => [ 'locationName' => 'segmentDurationSeconds', 'shape' => '__integer', ], 'StreamSelection' => [ 'locationName' => 'streamSelection', 'shape' => 'StreamSelection', ], ], 'type' => 'structure', ], 'NotFoundException' => [ 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'OriginEndpoint' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackage', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'type' => 'structure', ], 'OriginEndpointCreateParameters' => [ 'members' => [ 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackageCreateOrUpdateParameters', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'required' => [ 'Id', 'ChannelId', ], 'type' => 'structure', ], 'OriginEndpointList' => [ 'members' => [ 'NextToken' => [ 'locationName' => 'nextToken', 'shape' => '__string', ], 'OriginEndpoints' => [ 'locationName' => 'originEndpoints', 'shape' => '__listOfOriginEndpoint', ], ], 'type' => 'structure', ], 'OriginEndpointUpdateParameters' => [ 'members' => [ 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackageCreateOrUpdateParameters', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'type' => 'structure', ], 'PlaylistType' => [ 'enum' => [ 'NONE', 'EVENT', 'VOD', ], 'type' => 'string', ], 'Profile' => [ 'enum' => [ 'NONE', 'HBBTV_1_5', ], 'type' => 'string', ], 'RotateChannelCredentialsRequest' => [ 'deprecated' => true, 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'RotateChannelCredentialsResponse' => [ 'deprecated' => true, 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'RotateIngestEndpointCredentialsRequest' => [ 'members' => [ 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], 'IngestEndpointId' => [ 'location' => 'uri', 'locationName' => 'ingest_endpoint_id', 'shape' => '__string', ], ], 'required' => [ 'IngestEndpointId', 'Id', ], 'type' => 'structure', ], 'RotateIngestEndpointCredentialsResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'SegmentTemplateFormat' => [ 'enum' => [ 'NUMBER_WITH_TIMELINE', 'TIME_WITH_TIMELINE', ], 'type' => 'string', ], 'ServiceUnavailableException' => [ 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'SpekeKeyProvider' => [ 'members' => [ 'CertificateArn' => [ 'locationName' => 'certificateArn', 'shape' => '__string', ], 'ResourceId' => [ 'locationName' => 'resourceId', 'shape' => '__string', ], 'RoleArn' => [ 'locationName' => 'roleArn', 'shape' => '__string', ], 'SystemIds' => [ 'locationName' => 'systemIds', 'shape' => '__listOf__string', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], ], 'required' => [ 'Url', 'ResourceId', 'RoleArn', 'SystemIds', ], 'type' => 'structure', ], 'StreamOrder' => [ 'enum' => [ 'ORIGINAL', 'VIDEO_BITRATE_ASCENDING', 'VIDEO_BITRATE_DESCENDING', ], 'type' => 'string', ], 'StreamSelection' => [ 'members' => [ 'MaxVideoBitsPerSecond' => [ 'locationName' => 'maxVideoBitsPerSecond', 'shape' => '__integer', ], 'MinVideoBitsPerSecond' => [ 'locationName' => 'minVideoBitsPerSecond', 'shape' => '__integer', ], 'StreamOrder' => [ 'locationName' => 'streamOrder', 'shape' => 'StreamOrder', ], ], 'type' => 'structure', ], 'TagResourceRequest' => [ 'members' => [ 'ResourceArn' => [ 'location' => 'uri', 'locationName' => 'resource-arn', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => '__mapOf__string', ], ], 'required' => [ 'ResourceArn', 'Tags', ], 'type' => 'structure', ], 'Tags' => [ 'key' => [ 'shape' => '__string', ], 'type' => 'map', 'value' => [ 'shape' => '__string', ], ], 'TagsModel' => [ 'members' => [ 'Tags' => [ 'locationName' => 'tags', 'shape' => '__mapOf__string', ], ], 'required' => [ 'Tags', ], 'type' => 'structure', ], 'TooManyRequestsException' => [ 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'UnprocessableEntityException' => [ 'error' => [ 'httpStatusCode' => 422, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'UntagResourceRequest' => [ 'members' => [ 'ResourceArn' => [ 'location' => 'uri', 'locationName' => 'resource-arn', 'shape' => '__string', ], 'TagKeys' => [ 'location' => 'querystring', 'locationName' => 'tagKeys', 'shape' => '__listOf__string', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], 'type' => 'structure', ], 'UpdateChannelRequest' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'UpdateChannelResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsIngest' => [ 'locationName' => 'hlsIngest', 'shape' => 'HlsIngest', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], ], 'type' => 'structure', ], 'UpdateOriginEndpointRequest' => [ 'members' => [ 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackageCreateOrUpdateParameters', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'location' => 'uri', 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'required' => [ 'Id', ], 'type' => 'structure', ], 'UpdateOriginEndpointResponse' => [ 'members' => [ 'Arn' => [ 'locationName' => 'arn', 'shape' => '__string', ], 'ChannelId' => [ 'locationName' => 'channelId', 'shape' => '__string', ], 'CmafPackage' => [ 'locationName' => 'cmafPackage', 'shape' => 'CmafPackage', ], 'DashPackage' => [ 'locationName' => 'dashPackage', 'shape' => 'DashPackage', ], 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'HlsPackage' => [ 'locationName' => 'hlsPackage', 'shape' => 'HlsPackage', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], 'ManifestName' => [ 'locationName' => 'manifestName', 'shape' => '__string', ], 'MssPackage' => [ 'locationName' => 'mssPackage', 'shape' => 'MssPackage', ], 'StartoverWindowSeconds' => [ 'locationName' => 'startoverWindowSeconds', 'shape' => '__integer', ], 'Tags' => [ 'locationName' => 'tags', 'shape' => 'Tags', ], 'TimeDelaySeconds' => [ 'locationName' => 'timeDelaySeconds', 'shape' => '__integer', ], 'Url' => [ 'locationName' => 'url', 'shape' => '__string', ], 'Whitelist' => [ 'locationName' => 'whitelist', 'shape' => '__listOf__string', ], ], 'type' => 'structure', ], '__PeriodTriggersElement' => [ 'enum' => [ 'ADS', ], 'type' => 'string', ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfChannel' => [ 'member' => [ 'shape' => 'Channel', ], 'type' => 'list', ], '__listOfHlsManifest' => [ 'member' => [ 'shape' => 'HlsManifest', ], 'type' => 'list', ], '__listOfHlsManifestCreateOrUpdateParameters' => [ 'member' => [ 'shape' => 'HlsManifestCreateOrUpdateParameters', ], 'type' => 'list', ], '__listOfIngestEndpoint' => [ 'member' => [ 'shape' => 'IngestEndpoint', ], 'type' => 'list', ], '__listOfOriginEndpoint' => [ 'member' => [ 'shape' => 'OriginEndpoint', ], 'type' => 'list', ], '__listOf__PeriodTriggersElement' => [ 'member' => [ 'shape' => '__PeriodTriggersElement', ], 'type' => 'list', ], '__listOf__string' => [ 'member' => [ 'shape' => '__string', ], 'type' => 'list', ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'key' => [ 'shape' => '__string', ], 'type' => 'map', 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/mediapackage/2017-10-12/paginators-1.json.php b/lib/aws/Aws/data/mediapackage/2017-10-12/paginators-1.json.php new file mode 100644 index 0000000..85f4fbd --- /dev/null +++ b/lib/aws/Aws/data/mediapackage/2017-10-12/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediapackage/2017-10-12/paginators-1.json +return [ 'pagination' => [ 'ListChannels' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Channels', ], 'ListOriginEndpoints' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'OriginEndpoints', ], ],]; diff --git a/lib/aws/Aws/data/mediastore-data/2017-09-01/api-2.json.php b/lib/aws/Aws/data/mediastore-data/2017-09-01/api-2.json.php new file mode 100644 index 0000000..ff58046 --- /dev/null +++ b/lib/aws/Aws/data/mediastore-data/2017-09-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediastore-data/2017-09-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-01', 'endpointPrefix' => 'data.mediastore', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'MediaStore Data', 'serviceFullName' => 'AWS Elemental MediaStore Data Plane', 'serviceId' => 'MediaStore Data', 'signatureVersion' => 'v4', 'signingName' => 'mediastore', 'uid' => 'mediastore-data-2017-09-01', ], 'operations' => [ 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Path+}', ], 'input' => [ 'shape' => 'DeleteObjectRequest', ], 'output' => [ 'shape' => 'DeleteObjectResponse', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeObject' => [ 'name' => 'DescribeObject', 'http' => [ 'method' => 'HEAD', 'requestUri' => '/{Path+}', ], 'input' => [ 'shape' => 'DescribeObjectRequest', ], 'output' => [ 'shape' => 'DescribeObjectResponse', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetObject' => [ 'name' => 'GetObject', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Path+}', ], 'input' => [ 'shape' => 'GetObjectRequest', ], 'output' => [ 'shape' => 'GetObjectResponse', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'ObjectNotFoundException', ], [ 'shape' => 'RequestedRangeNotSatisfiableException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListItems' => [ 'name' => 'ListItems', 'http' => [ 'method' => 'GET', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListItemsRequest', ], 'output' => [ 'shape' => 'ListItemsResponse', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'PutObject' => [ 'name' => 'PutObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Path+}', ], 'input' => [ 'shape' => 'PutObjectRequest', ], 'output' => [ 'shape' => 'PutObjectResponse', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], 'authtype' => 'v4-unsigned-body', ], ], 'shapes' => [ 'ContainerNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ContentRangePattern' => [ 'type' => 'string', 'pattern' => '^bytes=\\d+\\-\\d+/\\d+$', ], 'ContentType' => [ 'type' => 'string', 'pattern' => '^[\\w\\-\\/\\.\\+]{1,255}$', ], 'DeleteObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Path', ], 'members' => [ 'Path' => [ 'shape' => 'PathNaming', 'location' => 'uri', 'locationName' => 'Path', ], ], ], 'DeleteObjectResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Path', ], 'members' => [ 'Path' => [ 'shape' => 'PathNaming', 'location' => 'uri', 'locationName' => 'Path', ], ], ], 'DescribeObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'ContentLength' => [ 'shape' => 'NonNegativeLong', 'location' => 'header', 'locationName' => 'Content-Length', ], 'CacheControl' => [ 'shape' => 'StringPrimitive', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'LastModified' => [ 'shape' => 'TimeStamp', 'location' => 'header', 'locationName' => 'Last-Modified', ], ], ], 'ETag' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[0-9A-Fa-f]+', ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[ \\w:\\.\\?-]+', ], 'GetObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Path', ], 'members' => [ 'Path' => [ 'shape' => 'PathNaming', 'location' => 'uri', 'locationName' => 'Path', ], 'Range' => [ 'shape' => 'RangePattern', 'location' => 'header', 'locationName' => 'Range', ], ], ], 'GetObjectResponse' => [ 'type' => 'structure', 'required' => [ 'StatusCode', ], 'members' => [ 'Body' => [ 'shape' => 'PayloadBlob', ], 'CacheControl' => [ 'shape' => 'StringPrimitive', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentRange' => [ 'shape' => 'ContentRangePattern', 'location' => 'header', 'locationName' => 'Content-Range', ], 'ContentLength' => [ 'shape' => 'NonNegativeLong', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'LastModified' => [ 'shape' => 'TimeStamp', 'location' => 'header', 'locationName' => 'Last-Modified', ], 'StatusCode' => [ 'shape' => 'statusCode', 'location' => 'statusCode', ], ], 'payload' => 'Body', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'Item' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ItemName', ], 'Type' => [ 'shape' => 'ItemType', ], 'ETag' => [ 'shape' => 'ETag', ], 'LastModified' => [ 'shape' => 'TimeStamp', ], 'ContentType' => [ 'shape' => 'ContentType', ], 'ContentLength' => [ 'shape' => 'NonNegativeLong', ], ], ], 'ItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Item', ], ], 'ItemName' => [ 'type' => 'string', 'pattern' => '[A-Za-z0-9_\\.\\-\\~]+', ], 'ItemType' => [ 'type' => 'string', 'enum' => [ 'OBJECT', 'FOLDER', ], ], 'ListItemsRequest' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'ListPathNaming', 'location' => 'querystring', 'locationName' => 'Path', ], 'MaxResults' => [ 'shape' => 'ListLimit', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListItemsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => 'ItemList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListLimit' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'ListPathNaming' => [ 'type' => 'string', 'max' => 900, 'min' => 0, 'pattern' => '/?(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}(?:[A-Za-z0-9_\\.\\-\\~]+)?/?', ], 'NonNegativeLong' => [ 'type' => 'long', 'min' => 0, ], 'ObjectNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'PaginationToken' => [ 'type' => 'string', ], 'PathNaming' => [ 'type' => 'string', 'max' => 900, 'min' => 1, 'pattern' => '(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}[A-Za-z0-9_\\.\\-\\~]+', ], 'PayloadBlob' => [ 'type' => 'blob', 'streaming' => true, ], 'PutObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Body', 'Path', ], 'members' => [ 'Body' => [ 'shape' => 'PayloadBlob', ], 'Path' => [ 'shape' => 'PathNaming', 'location' => 'uri', 'locationName' => 'Path', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'CacheControl' => [ 'shape' => 'StringPrimitive', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], ], 'payload' => 'Body', ], 'PutObjectResponse' => [ 'type' => 'structure', 'members' => [ 'ContentSHA256' => [ 'shape' => 'SHA256Hash', ], 'ETag' => [ 'shape' => 'ETag', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], ], ], 'RangePattern' => [ 'type' => 'string', 'pattern' => '^bytes=(?:\\d+\\-\\d*|\\d*\\-\\d+)$', ], 'RequestedRangeNotSatisfiableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 416, ], 'exception' => true, ], 'SHA256Hash' => [ 'type' => 'string', 'max' => 64, 'min' => 64, 'pattern' => '[0-9A-Fa-f]{64}', ], 'StorageClass' => [ 'type' => 'string', 'enum' => [ 'TEMPORAL', ], 'max' => 16, 'min' => 1, ], 'StringPrimitive' => [ 'type' => 'string', ], 'TimeStamp' => [ 'type' => 'timestamp', ], 'statusCode' => [ 'type' => 'integer', ], ],]; diff --git a/lib/aws/Aws/data/mediastore-data/2017-09-01/paginators-1.json.php b/lib/aws/Aws/data/mediastore-data/2017-09-01/paginators-1.json.php new file mode 100644 index 0000000..5cb9bd2 --- /dev/null +++ b/lib/aws/Aws/data/mediastore-data/2017-09-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediastore-data/2017-09-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mediastore/2017-09-01/api-2.json.php b/lib/aws/Aws/data/mediastore/2017-09-01/api-2.json.php new file mode 100644 index 0000000..6777a8f --- /dev/null +++ b/lib/aws/Aws/data/mediastore/2017-09-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediastore/2017-09-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-09-01', 'endpointPrefix' => 'mediastore', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'MediaStore', 'serviceFullName' => 'AWS Elemental MediaStore', 'serviceId' => 'MediaStore', 'signatureVersion' => 'v4', 'signingName' => 'mediastore', 'targetPrefix' => 'MediaStore_20170901', 'uid' => 'mediastore-2017-09-01', ], 'operations' => [ 'CreateContainer' => [ 'name' => 'CreateContainer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateContainerInput', ], 'output' => [ 'shape' => 'CreateContainerOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteContainer' => [ 'name' => 'DeleteContainer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteContainerInput', ], 'output' => [ 'shape' => 'DeleteContainerOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteContainerPolicy' => [ 'name' => 'DeleteContainerPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteContainerPolicyInput', ], 'output' => [ 'shape' => 'DeleteContainerPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteCorsPolicy' => [ 'name' => 'DeleteCorsPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCorsPolicyInput', ], 'output' => [ 'shape' => 'DeleteCorsPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'CorsPolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteLifecyclePolicy' => [ 'name' => 'DeleteLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLifecyclePolicyInput', ], 'output' => [ 'shape' => 'DeleteLifecyclePolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeContainer' => [ 'name' => 'DescribeContainer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeContainerInput', ], 'output' => [ 'shape' => 'DescribeContainerOutput', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetContainerPolicy' => [ 'name' => 'GetContainerPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContainerPolicyInput', ], 'output' => [ 'shape' => 'GetContainerPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetCorsPolicy' => [ 'name' => 'GetCorsPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCorsPolicyInput', ], 'output' => [ 'shape' => 'GetCorsPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'CorsPolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetLifecyclePolicy' => [ 'name' => 'GetLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLifecyclePolicyInput', ], 'output' => [ 'shape' => 'GetLifecyclePolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListContainers' => [ 'name' => 'ListContainers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListContainersInput', ], 'output' => [ 'shape' => 'ListContainersOutput', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'PutContainerPolicy' => [ 'name' => 'PutContainerPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutContainerPolicyInput', ], 'output' => [ 'shape' => 'PutContainerPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'InternalServerError', ], ], ], 'PutCorsPolicy' => [ 'name' => 'PutCorsPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutCorsPolicyInput', ], 'output' => [ 'shape' => 'PutCorsPolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'InternalServerError', ], ], ], 'PutLifecyclePolicy' => [ 'name' => 'PutLifecyclePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLifecyclePolicyInput', ], 'output' => [ 'shape' => 'PutLifecyclePolicyOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'StartAccessLogging' => [ 'name' => 'StartAccessLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartAccessLoggingInput', ], 'output' => [ 'shape' => 'StartAccessLoggingOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'StopAccessLogging' => [ 'name' => 'StopAccessLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopAccessLoggingInput', ], 'output' => [ 'shape' => 'StopAccessLoggingOutput', ], 'errors' => [ [ 'shape' => 'ContainerInUseException', ], [ 'shape' => 'ContainerNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], ], 'shapes' => [ 'AllowedHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'Header', ], 'max' => 100, 'min' => 0, ], 'AllowedMethods' => [ 'type' => 'list', 'member' => [ 'shape' => 'MethodName', ], 'max' => 4, 'min' => 1, ], 'AllowedOrigins' => [ 'type' => 'list', 'member' => [ 'shape' => 'Origin', ], 'max' => 100, 'min' => 1, ], 'Container' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'Endpoint', ], 'CreationTime' => [ 'shape' => 'TimeStamp', ], 'ARN' => [ 'shape' => 'ContainerARN', ], 'Name' => [ 'shape' => 'ContainerName', ], 'Status' => [ 'shape' => 'ContainerStatus', ], 'AccessLoggingEnabled' => [ 'shape' => 'ContainerAccessLoggingEnabled', ], ], ], 'ContainerARN' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => 'arn:aws:mediastore:[a-z]+-[a-z]+-\\d:\\d{12}:container/\\w{1,255}', ], 'ContainerAccessLoggingEnabled' => [ 'type' => 'boolean', ], 'ContainerInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ContainerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Container', ], ], 'ContainerListLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ContainerName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\w-]+', ], 'ContainerNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ContainerPolicy' => [ 'type' => 'string', 'max' => 8192, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'ContainerStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'CREATING', 'DELETING', ], 'max' => 16, 'min' => 1, ], 'CorsPolicy' => [ 'type' => 'list', 'member' => [ 'shape' => 'CorsRule', ], 'max' => 100, 'min' => 1, ], 'CorsPolicyNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CorsRule' => [ 'type' => 'structure', 'required' => [ 'AllowedOrigins', 'AllowedHeaders', ], 'members' => [ 'AllowedOrigins' => [ 'shape' => 'AllowedOrigins', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', ], 'AllowedHeaders' => [ 'shape' => 'AllowedHeaders', ], 'MaxAgeSeconds' => [ 'shape' => 'MaxAgeSeconds', ], 'ExposeHeaders' => [ 'shape' => 'ExposeHeaders', ], ], ], 'CreateContainerInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'CreateContainerOutput' => [ 'type' => 'structure', 'required' => [ 'Container', ], 'members' => [ 'Container' => [ 'shape' => 'Container', ], ], ], 'DeleteContainerInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'DeleteContainerOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteContainerPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'DeleteContainerPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteCorsPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'DeleteCorsPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteLifecyclePolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'DeleteLifecyclePolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeContainerInput' => [ 'type' => 'structure', 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'DescribeContainerOutput' => [ 'type' => 'structure', 'members' => [ 'Container' => [ 'shape' => 'Container', ], ], ], 'Endpoint' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[ \\w:\\.\\?-]+', ], 'ExposeHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'Header', ], 'max' => 100, 'min' => 0, ], 'GetContainerPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'GetContainerPolicyOutput' => [ 'type' => 'structure', 'required' => [ 'Policy', ], 'members' => [ 'Policy' => [ 'shape' => 'ContainerPolicy', ], ], ], 'GetCorsPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'GetCorsPolicyOutput' => [ 'type' => 'structure', 'required' => [ 'CorsPolicy', ], 'members' => [ 'CorsPolicy' => [ 'shape' => 'CorsPolicy', ], ], ], 'GetLifecyclePolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'GetLifecyclePolicyOutput' => [ 'type' => 'structure', 'required' => [ 'LifecyclePolicy', ], 'members' => [ 'LifecyclePolicy' => [ 'shape' => 'LifecyclePolicy', ], ], ], 'Header' => [ 'type' => 'string', 'max' => 8192, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'LifecyclePolicy' => [ 'type' => 'string', 'max' => 8192, 'min' => 0, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListContainersInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ContainerListLimit', ], ], ], 'ListContainersOutput' => [ 'type' => 'structure', 'required' => [ 'Containers', ], 'members' => [ 'Containers' => [ 'shape' => 'ContainerList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'MaxAgeSeconds' => [ 'type' => 'integer', 'max' => 2147483647, 'min' => 0, ], 'MethodName' => [ 'type' => 'string', 'enum' => [ 'PUT', 'GET', 'DELETE', 'HEAD', ], ], 'Origin' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'PaginationToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[0-9A-Za-z=/+]+', ], 'PolicyNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PutContainerPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', 'Policy', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], 'Policy' => [ 'shape' => 'ContainerPolicy', ], ], ], 'PutContainerPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'PutCorsPolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', 'CorsPolicy', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], 'CorsPolicy' => [ 'shape' => 'CorsPolicy', ], ], ], 'PutCorsPolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'PutLifecyclePolicyInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', 'LifecyclePolicy', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], 'LifecyclePolicy' => [ 'shape' => 'LifecyclePolicy', ], ], ], 'PutLifecyclePolicyOutput' => [ 'type' => 'structure', 'members' => [], ], 'StartAccessLoggingInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'StartAccessLoggingOutput' => [ 'type' => 'structure', 'members' => [], ], 'StopAccessLoggingInput' => [ 'type' => 'structure', 'required' => [ 'ContainerName', ], 'members' => [ 'ContainerName' => [ 'shape' => 'ContainerName', ], ], ], 'StopAccessLoggingOutput' => [ 'type' => 'structure', 'members' => [], ], 'TimeStamp' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/mediastore/2017-09-01/paginators-1.json.php b/lib/aws/Aws/data/mediastore/2017-09-01/paginators-1.json.php new file mode 100644 index 0000000..04564d7 --- /dev/null +++ b/lib/aws/Aws/data/mediastore/2017-09-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediastore/2017-09-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mediatailor/2018-04-23/api-2.json.php b/lib/aws/Aws/data/mediatailor/2018-04-23/api-2.json.php new file mode 100644 index 0000000..c5cad10 --- /dev/null +++ b/lib/aws/Aws/data/mediatailor/2018-04-23/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediatailor/2018-04-23/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-04-23', 'endpointPrefix' => 'api.mediatailor', 'signingName' => 'mediatailor', 'serviceFullName' => 'AWS MediaTailor', 'serviceId' => 'MediaTailor', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'mediatailor-2018-04-23', 'signatureVersion' => 'v4', 'serviceAbbreviation' => 'MediaTailor', ], 'operations' => [ 'DeletePlaybackConfiguration' => [ 'name' => 'DeletePlaybackConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/playbackConfiguration/{Name}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePlaybackConfigurationRequest', ], 'errors' => [], ], 'GetPlaybackConfiguration' => [ 'name' => 'GetPlaybackConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/playbackConfiguration/{Name}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetPlaybackConfigurationRequest', ], 'output' => [ 'shape' => 'GetPlaybackConfigurationResponse', ], 'errors' => [], ], 'ListPlaybackConfigurations' => [ 'name' => 'ListPlaybackConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/playbackConfigurations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListPlaybackConfigurationsRequest', ], 'output' => [ 'shape' => 'ListPlaybackConfigurationsResponse', ], 'errors' => [], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{ResourceArn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'PutPlaybackConfiguration' => [ 'name' => 'PutPlaybackConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/playbackConfiguration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutPlaybackConfigurationRequest', ], 'output' => [ 'shape' => 'PutPlaybackConfigurationResponse', ], 'errors' => [], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{ResourceArn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{ResourceArn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], ], ], ], 'shapes' => [ 'BadRequestException' => [ 'type' => 'structure', 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'CdnConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdSegmentUrlPrefix' => [ 'shape' => '__string', ], 'ContentSegmentUrlPrefix' => [ 'shape' => '__string', ], ], ], 'HlsConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManifestEndpointPrefix' => [ 'shape' => '__string', ], ], ], 'DashConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManifestEndpointPrefix' => [ 'shape' => '__string', ], 'MpdLocation' => [ 'shape' => '__string', ], ], ], 'DashConfigurationForPut' => [ 'type' => 'structure', 'members' => [ 'MpdLocation' => [ 'shape' => '__string', ], ], ], 'DeletePlaybackConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'Name', ], ], 'required' => [ 'Name', ], ], 'GetPlaybackConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'Name', ], ], 'required' => [ 'Name', ], ], 'GetPlaybackConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'DashConfiguration' => [ 'shape' => 'DashConfiguration', ], 'HlsConfiguration' => [ 'shape' => 'HlsConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'PlaybackConfigurationArn' => [ 'shape' => '__string', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'PlaybackConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'DashConfiguration' => [ 'shape' => 'DashConfiguration', ], 'HlsConfiguration' => [ 'shape' => 'HlsConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'PlaybackConfigurationArn' => [ 'shape' => '__string', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'ListPlaybackConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => '__integerMin1Max100', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListPlaybackConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'Items' => [ 'shape' => '__listOfPlaybackConfigurations', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceArn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'PutPlaybackConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'DashConfiguration' => [ 'shape' => 'DashConfigurationForPut', ], 'Name' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'PutPlaybackConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'DashConfiguration' => [ 'shape' => 'DashConfiguration', ], 'HlsConfiguration' => [ 'shape' => 'HlsConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'PlaybackConfigurationArn' => [ 'shape' => '__string', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceArn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'ResourceArn', 'Tags', ], ], 'TagsModel' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'Tags', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ResourceArn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'ResourceArn', 'TagKeys', ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfPlaybackConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlaybackConfiguration', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__integerMin1Max100' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/mediatailor/2018-04-23/paginators-1.json.php b/lib/aws/Aws/data/mediatailor/2018-04-23/paginators-1.json.php new file mode 100644 index 0000000..cb77a04 --- /dev/null +++ b/lib/aws/Aws/data/mediatailor/2018-04-23/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mediatailor/2018-04-23/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/metering.marketplace/2016-01-14/api-2.json.php b/lib/aws/Aws/data/metering.marketplace/2016-01-14/api-2.json.php new file mode 100644 index 0000000..b790259 --- /dev/null +++ b/lib/aws/Aws/data/metering.marketplace/2016-01-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/metering.marketplace/2016-01-14/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-01-14', 'endpointPrefix' => 'metering.marketplace', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWSMarketplace Metering', 'serviceId' => 'Marketplace Metering', 'signatureVersion' => 'v4', 'signingName' => 'aws-marketplace', 'targetPrefix' => 'AWSMPMeteringService', 'uid' => 'meteringmarketplace-2016-01-14', ], 'operations' => [ 'BatchMeterUsage' => [ 'name' => 'BatchMeterUsage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchMeterUsageRequest', ], 'output' => [ 'shape' => 'BatchMeterUsageResult', ], 'errors' => [ [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidProductCodeException', ], [ 'shape' => 'InvalidUsageDimensionException', ], [ 'shape' => 'InvalidCustomerIdentifierException', ], [ 'shape' => 'TimestampOutOfBoundsException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'DisabledApiException', ], ], ], 'MeterUsage' => [ 'name' => 'MeterUsage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MeterUsageRequest', ], 'output' => [ 'shape' => 'MeterUsageResult', ], 'errors' => [ [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidProductCodeException', ], [ 'shape' => 'InvalidUsageDimensionException', ], [ 'shape' => 'InvalidEndpointRegionException', ], [ 'shape' => 'TimestampOutOfBoundsException', ], [ 'shape' => 'DuplicateRequestException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'RegisterUsage' => [ 'name' => 'RegisterUsage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterUsageRequest', ], 'output' => [ 'shape' => 'RegisterUsageResult', ], 'errors' => [ [ 'shape' => 'InvalidProductCodeException', ], [ 'shape' => 'InvalidRegionException', ], [ 'shape' => 'InvalidPublicKeyVersionException', ], [ 'shape' => 'PlatformNotSupportedException', ], [ 'shape' => 'CustomerNotEntitledException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'DisabledApiException', ], ], ], 'ResolveCustomer' => [ 'name' => 'ResolveCustomer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResolveCustomerRequest', ], 'output' => [ 'shape' => 'ResolveCustomerResult', ], 'errors' => [ [ 'shape' => 'InvalidTokenException', ], [ 'shape' => 'ExpiredTokenException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'DisabledApiException', ], ], ], ], 'shapes' => [ 'BatchMeterUsageRequest' => [ 'type' => 'structure', 'required' => [ 'UsageRecords', 'ProductCode', ], 'members' => [ 'UsageRecords' => [ 'shape' => 'UsageRecordList', ], 'ProductCode' => [ 'shape' => 'ProductCode', ], ], ], 'BatchMeterUsageResult' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'UsageRecordResultList', ], 'UnprocessedRecords' => [ 'shape' => 'UsageRecordList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CustomerIdentifier' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'CustomerNotEntitledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'DisabledApiException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'DuplicateRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'ExpiredTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidCustomerIdentifierException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidEndpointRegionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidProductCodeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidPublicKeyVersionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidRegionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidUsageDimensionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'MeterUsageRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', 'Timestamp', 'UsageDimension', ], 'members' => [ 'ProductCode' => [ 'shape' => 'ProductCode', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'UsageDimension' => [ 'shape' => 'UsageDimension', ], 'UsageQuantity' => [ 'shape' => 'UsageQuantity', ], 'DryRun' => [ 'shape' => 'Boolean', ], ], ], 'MeterUsageResult' => [ 'type' => 'structure', 'members' => [ 'MeteringRecordId' => [ 'shape' => 'String', ], ], ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '\\S+', ], 'Nonce' => [ 'type' => 'string', 'max' => 255, ], 'PlatformNotSupportedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'ProductCode' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'RegisterUsageRequest' => [ 'type' => 'structure', 'required' => [ 'ProductCode', 'PublicKeyVersion', ], 'members' => [ 'ProductCode' => [ 'shape' => 'ProductCode', ], 'PublicKeyVersion' => [ 'shape' => 'VersionInteger', ], 'Nonce' => [ 'shape' => 'Nonce', ], ], ], 'RegisterUsageResult' => [ 'type' => 'structure', 'members' => [ 'PublicKeyRotationTimestamp' => [ 'shape' => 'Timestamp', ], 'Signature' => [ 'shape' => 'NonEmptyString', ], ], ], 'ResolveCustomerRequest' => [ 'type' => 'structure', 'required' => [ 'RegistrationToken', ], 'members' => [ 'RegistrationToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ResolveCustomerResult' => [ 'type' => 'structure', 'members' => [ 'CustomerIdentifier' => [ 'shape' => 'CustomerIdentifier', ], 'ProductCode' => [ 'shape' => 'ProductCode', ], ], ], 'String' => [ 'type' => 'string', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TimestampOutOfBoundsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'UsageDimension' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'UsageQuantity' => [ 'type' => 'integer', 'max' => 2147483647, 'min' => 0, ], 'UsageRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'CustomerIdentifier', 'Dimension', ], 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'CustomerIdentifier' => [ 'shape' => 'CustomerIdentifier', ], 'Dimension' => [ 'shape' => 'UsageDimension', ], 'Quantity' => [ 'shape' => 'UsageQuantity', ], ], ], 'UsageRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsageRecord', ], 'max' => 25, 'min' => 0, ], 'UsageRecordResult' => [ 'type' => 'structure', 'members' => [ 'UsageRecord' => [ 'shape' => 'UsageRecord', ], 'MeteringRecordId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'UsageRecordResultStatus', ], ], ], 'UsageRecordResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsageRecordResult', ], ], 'UsageRecordResultStatus' => [ 'type' => 'string', 'enum' => [ 'Success', 'CustomerNotSubscribed', 'DuplicateRecord', ], ], 'VersionInteger' => [ 'type' => 'integer', 'min' => 1, ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/metering.marketplace/2016-01-14/paginators-1.json.php b/lib/aws/Aws/data/metering.marketplace/2016-01-14/paginators-1.json.php new file mode 100644 index 0000000..57e43bd --- /dev/null +++ b/lib/aws/Aws/data/metering.marketplace/2016-01-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/metering.marketplace/2016-01-14/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mgh/2017-05-31/api-2.json.php b/lib/aws/Aws/data/mgh/2017-05-31/api-2.json.php new file mode 100644 index 0000000..5ffd6ce --- /dev/null +++ b/lib/aws/Aws/data/mgh/2017-05-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mgh/2017-05-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-05-31', 'endpointPrefix' => 'mgh', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Migration Hub', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSMigrationHub', 'uid' => 'AWSMigrationHub-2017-05-31', ], 'operations' => [ 'AssociateCreatedArtifact' => [ 'name' => 'AssociateCreatedArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateCreatedArtifactRequest', ], 'output' => [ 'shape' => 'AssociateCreatedArtifactResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AssociateDiscoveredResource' => [ 'name' => 'AssociateDiscoveredResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDiscoveredResourceRequest', ], 'output' => [ 'shape' => 'AssociateDiscoveredResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateProgressUpdateStream' => [ 'name' => 'CreateProgressUpdateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProgressUpdateStreamRequest', ], 'output' => [ 'shape' => 'CreateProgressUpdateStreamResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], ], ], 'DeleteProgressUpdateStream' => [ 'name' => 'DeleteProgressUpdateStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProgressUpdateStreamRequest', ], 'output' => [ 'shape' => 'DeleteProgressUpdateStreamResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeApplicationState' => [ 'name' => 'DescribeApplicationState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationStateRequest', ], 'output' => [ 'shape' => 'DescribeApplicationStateResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeMigrationTask' => [ 'name' => 'DescribeMigrationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMigrationTaskRequest', ], 'output' => [ 'shape' => 'DescribeMigrationTaskResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateCreatedArtifact' => [ 'name' => 'DisassociateCreatedArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateCreatedArtifactRequest', ], 'output' => [ 'shape' => 'DisassociateCreatedArtifactResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateDiscoveredResource' => [ 'name' => 'DisassociateDiscoveredResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateDiscoveredResourceRequest', ], 'output' => [ 'shape' => 'DisassociateDiscoveredResourceResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ImportMigrationTask' => [ 'name' => 'ImportMigrationTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportMigrationTaskRequest', ], 'output' => [ 'shape' => 'ImportMigrationTaskResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListCreatedArtifacts' => [ 'name' => 'ListCreatedArtifacts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCreatedArtifactsRequest', ], 'output' => [ 'shape' => 'ListCreatedArtifactsResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListDiscoveredResources' => [ 'name' => 'ListDiscoveredResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDiscoveredResourcesRequest', ], 'output' => [ 'shape' => 'ListDiscoveredResourcesResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListMigrationTasks' => [ 'name' => 'ListMigrationTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMigrationTasksRequest', ], 'output' => [ 'shape' => 'ListMigrationTasksResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListProgressUpdateStreams' => [ 'name' => 'ListProgressUpdateStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProgressUpdateStreamsRequest', ], 'output' => [ 'shape' => 'ListProgressUpdateStreamsResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'NotifyApplicationState' => [ 'name' => 'NotifyApplicationState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'NotifyApplicationStateRequest', ], 'output' => [ 'shape' => 'NotifyApplicationStateResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'NotifyMigrationTaskState' => [ 'name' => 'NotifyMigrationTaskState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'NotifyMigrationTaskStateRequest', ], 'output' => [ 'shape' => 'NotifyMigrationTaskStateResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'PutResourceAttributes' => [ 'name' => 'PutResourceAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutResourceAttributesRequest', ], 'output' => [ 'shape' => 'PutResourceAttributesResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DryRunOperation', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ApplicationId' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'ApplicationStatus' => [ 'type' => 'string', 'enum' => [ 'NOT_STARTED', 'IN_PROGRESS', 'COMPLETED', ], ], 'AssociateCreatedArtifactRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'CreatedArtifact', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'CreatedArtifact' => [ 'shape' => 'CreatedArtifact', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'AssociateCreatedArtifactResult' => [ 'type' => 'structure', 'members' => [], ], 'AssociateDiscoveredResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'DiscoveredResource', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'DiscoveredResource' => [ 'shape' => 'DiscoveredResource', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'AssociateDiscoveredResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'ConfigurationId' => [ 'type' => 'string', 'min' => 1, ], 'CreateProgressUpdateStreamRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStreamName', ], 'members' => [ 'ProgressUpdateStreamName' => [ 'shape' => 'ProgressUpdateStream', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'CreateProgressUpdateStreamResult' => [ 'type' => 'structure', 'members' => [], ], 'CreatedArtifact' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'CreatedArtifactName', ], 'Description' => [ 'shape' => 'CreatedArtifactDescription', ], ], ], 'CreatedArtifactDescription' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'CreatedArtifactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreatedArtifact', ], ], 'CreatedArtifactName' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, 'pattern' => 'arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*', ], 'DeleteProgressUpdateStreamRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStreamName', ], 'members' => [ 'ProgressUpdateStreamName' => [ 'shape' => 'ProgressUpdateStream', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'DeleteProgressUpdateStreamResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeApplicationStateRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationId', ], 'members' => [ 'ApplicationId' => [ 'shape' => 'ApplicationId', ], ], ], 'DescribeApplicationStateResult' => [ 'type' => 'structure', 'members' => [ 'ApplicationStatus' => [ 'shape' => 'ApplicationStatus', ], 'LastUpdatedTime' => [ 'shape' => 'UpdateDateTime', ], ], ], 'DescribeMigrationTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], ], ], 'DescribeMigrationTaskResult' => [ 'type' => 'structure', 'members' => [ 'MigrationTask' => [ 'shape' => 'MigrationTask', ], ], ], 'DisassociateCreatedArtifactRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'CreatedArtifactName', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'CreatedArtifactName' => [ 'shape' => 'CreatedArtifactName', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'DisassociateCreatedArtifactResult' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateDiscoveredResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'ConfigurationId', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'ConfigurationId' => [ 'shape' => 'ConfigurationId', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'DisassociateDiscoveredResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'DiscoveredResource' => [ 'type' => 'structure', 'required' => [ 'ConfigurationId', ], 'members' => [ 'ConfigurationId' => [ 'shape' => 'ConfigurationId', ], 'Description' => [ 'shape' => 'DiscoveredResourceDescription', ], ], ], 'DiscoveredResourceDescription' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'DiscoveredResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiscoveredResource', ], ], 'DryRun' => [ 'type' => 'boolean', ], 'DryRunOperation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'ImportMigrationTaskRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'ImportMigrationTaskResult' => [ 'type' => 'structure', 'members' => [], ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LatestResourceAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceAttribute', ], 'max' => 100, 'min' => 0, ], 'ListCreatedArtifactsRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResultsCreatedArtifacts', ], ], ], 'ListCreatedArtifactsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'CreatedArtifactList' => [ 'shape' => 'CreatedArtifactList', ], ], ], 'ListDiscoveredResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResultsResources', ], ], ], 'ListDiscoveredResourcesResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'DiscoveredResourceList' => [ 'shape' => 'DiscoveredResourceList', ], ], ], 'ListMigrationTasksRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'ResourceName' => [ 'shape' => 'ResourceName', ], ], ], 'ListMigrationTasksResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MigrationTaskSummaryList' => [ 'shape' => 'MigrationTaskSummaryList', ], ], ], 'ListProgressUpdateStreamsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListProgressUpdateStreamsResult' => [ 'type' => 'structure', 'members' => [ 'ProgressUpdateStreamSummaryList' => [ 'shape' => 'ProgressUpdateStreamSummaryList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'MaxResultsCreatedArtifacts' => [ 'type' => 'integer', 'box' => true, 'max' => 10, 'min' => 1, ], 'MaxResultsResources' => [ 'type' => 'integer', 'box' => true, 'max' => 10, 'min' => 1, ], 'MigrationTask' => [ 'type' => 'structure', 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'Task' => [ 'shape' => 'Task', ], 'UpdateDateTime' => [ 'shape' => 'UpdateDateTime', ], 'ResourceAttributeList' => [ 'shape' => 'LatestResourceAttributeList', ], ], ], 'MigrationTaskName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[^:|]+', ], 'MigrationTaskSummary' => [ 'type' => 'structure', 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'Status' => [ 'shape' => 'Status', ], 'ProgressPercent' => [ 'shape' => 'ProgressPercent', ], 'StatusDetail' => [ 'shape' => 'StatusDetail', ], 'UpdateDateTime' => [ 'shape' => 'UpdateDateTime', ], ], ], 'MigrationTaskSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MigrationTaskSummary', ], ], 'NextUpdateSeconds' => [ 'type' => 'integer', 'min' => 0, ], 'NotifyApplicationStateRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationId', 'Status', ], 'members' => [ 'ApplicationId' => [ 'shape' => 'ApplicationId', ], 'Status' => [ 'shape' => 'ApplicationStatus', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'NotifyApplicationStateResult' => [ 'type' => 'structure', 'members' => [], ], 'NotifyMigrationTaskStateRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'Task', 'UpdateDateTime', 'NextUpdateSeconds', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'Task' => [ 'shape' => 'Task', ], 'UpdateDateTime' => [ 'shape' => 'UpdateDateTime', ], 'NextUpdateSeconds' => [ 'shape' => 'NextUpdateSeconds', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'NotifyMigrationTaskStateResult' => [ 'type' => 'structure', 'members' => [], ], 'PolicyErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ProgressPercent' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 0, ], 'ProgressUpdateStream' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[^/:|\\000-\\037]+', ], 'ProgressUpdateStreamSummary' => [ 'type' => 'structure', 'members' => [ 'ProgressUpdateStreamName' => [ 'shape' => 'ProgressUpdateStream', ], ], ], 'ProgressUpdateStreamSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProgressUpdateStreamSummary', ], ], 'PutResourceAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'ProgressUpdateStream', 'MigrationTaskName', 'ResourceAttributeList', ], 'members' => [ 'ProgressUpdateStream' => [ 'shape' => 'ProgressUpdateStream', ], 'MigrationTaskName' => [ 'shape' => 'MigrationTaskName', ], 'ResourceAttributeList' => [ 'shape' => 'ResourceAttributeList', ], 'DryRun' => [ 'shape' => 'DryRun', ], ], ], 'PutResourceAttributesResult' => [ 'type' => 'structure', 'members' => [], ], 'ResourceAttribute' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'ResourceAttributeType', ], 'Value' => [ 'shape' => 'ResourceAttributeValue', ], ], ], 'ResourceAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceAttribute', ], 'max' => 100, 'min' => 1, ], 'ResourceAttributeType' => [ 'type' => 'string', 'enum' => [ 'IPV4_ADDRESS', 'IPV6_ADDRESS', 'MAC_ADDRESS', 'FQDN', 'VM_MANAGER_ID', 'VM_MANAGED_OBJECT_REFERENCE', 'VM_NAME', 'VM_PATH', 'BIOS_ID', 'MOTHERBOARD_SERIAL_NUMBER', ], ], 'ResourceAttributeValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ResourceName' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'Status' => [ 'type' => 'string', 'enum' => [ 'NOT_STARTED', 'IN_PROGRESS', 'FAILED', 'COMPLETED', ], ], 'StatusDetail' => [ 'type' => 'string', 'max' => 500, 'min' => 0, ], 'Task' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'Status', ], 'StatusDetail' => [ 'shape' => 'StatusDetail', ], 'ProgressPercent' => [ 'shape' => 'ProgressPercent', ], ], ], 'Token' => [ 'type' => 'string', ], 'UnauthorizedOperation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateDateTime' => [ 'type' => 'timestamp', ], ],]; diff --git a/lib/aws/Aws/data/mgh/2017-05-31/paginators-1.json.php b/lib/aws/Aws/data/mgh/2017-05-31/paginators-1.json.php new file mode 100644 index 0000000..d54abf4 --- /dev/null +++ b/lib/aws/Aws/data/mgh/2017-05-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mgh/2017-05-31/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mobile/2017-07-01/api-2.json.php b/lib/aws/Aws/data/mobile/2017-07-01/api-2.json.php new file mode 100644 index 0000000..ec0298b --- /dev/null +++ b/lib/aws/Aws/data/mobile/2017-07-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mobile/2017-07-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-07-01', 'endpointPrefix' => 'mobile', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS Mobile', 'signatureVersion' => 'v4', 'signingName' => 'AWSMobileHubService', 'uid' => 'mobile-2017-07-01', ], 'operations' => [ 'CreateProject' => [ 'name' => 'CreateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/projects', ], 'input' => [ 'shape' => 'CreateProjectRequest', ], 'output' => [ 'shape' => 'CreateProjectResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteProject' => [ 'name' => 'DeleteProject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/projects/{projectId}', ], 'input' => [ 'shape' => 'DeleteProjectRequest', ], 'output' => [ 'shape' => 'DeleteProjectResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DescribeBundle' => [ 'name' => 'DescribeBundle', 'http' => [ 'method' => 'GET', 'requestUri' => '/bundles/{bundleId}', ], 'input' => [ 'shape' => 'DescribeBundleRequest', ], 'output' => [ 'shape' => 'DescribeBundleResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'DescribeProject' => [ 'name' => 'DescribeProject', 'http' => [ 'method' => 'GET', 'requestUri' => '/project', ], 'input' => [ 'shape' => 'DescribeProjectRequest', ], 'output' => [ 'shape' => 'DescribeProjectResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ExportBundle' => [ 'name' => 'ExportBundle', 'http' => [ 'method' => 'POST', 'requestUri' => '/bundles/{bundleId}', ], 'input' => [ 'shape' => 'ExportBundleRequest', ], 'output' => [ 'shape' => 'ExportBundleResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ExportProject' => [ 'name' => 'ExportProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/exports/{projectId}', ], 'input' => [ 'shape' => 'ExportProjectRequest', ], 'output' => [ 'shape' => 'ExportProjectResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ListBundles' => [ 'name' => 'ListBundles', 'http' => [ 'method' => 'GET', 'requestUri' => '/bundles', ], 'input' => [ 'shape' => 'ListBundlesRequest', ], 'output' => [ 'shape' => 'ListBundlesResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListProjects' => [ 'name' => 'ListProjects', 'http' => [ 'method' => 'GET', 'requestUri' => '/projects', ], 'input' => [ 'shape' => 'ListProjectsRequest', ], 'output' => [ 'shape' => 'ListProjectsResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'UpdateProject' => [ 'name' => 'UpdateProject', 'http' => [ 'method' => 'POST', 'requestUri' => '/update', ], 'input' => [ 'shape' => 'UpdateProjectRequest', ], 'output' => [ 'shape' => 'UpdateProjectResult', ], 'errors' => [ [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccountActionRequiredException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'AccountActionRequiredException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'AttributeKey' => [ 'type' => 'string', ], 'AttributeValue' => [ 'type' => 'string', ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BundleDescription' => [ 'type' => 'string', ], 'BundleDetails' => [ 'type' => 'structure', 'members' => [ 'bundleId' => [ 'shape' => 'BundleId', ], 'title' => [ 'shape' => 'BundleTitle', ], 'version' => [ 'shape' => 'BundleVersion', ], 'description' => [ 'shape' => 'BundleDescription', ], 'iconUrl' => [ 'shape' => 'IconUrl', ], 'availablePlatforms' => [ 'shape' => 'Platforms', ], ], ], 'BundleId' => [ 'type' => 'string', ], 'BundleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleDetails', ], ], 'BundleTitle' => [ 'type' => 'string', ], 'BundleVersion' => [ 'type' => 'string', ], 'ConsoleUrl' => [ 'type' => 'string', ], 'Contents' => [ 'type' => 'blob', ], 'CreateProjectRequest' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ProjectName', 'location' => 'querystring', 'locationName' => 'name', ], 'region' => [ 'shape' => 'ProjectRegion', 'location' => 'querystring', 'locationName' => 'region', ], 'contents' => [ 'shape' => 'Contents', ], 'snapshotId' => [ 'shape' => 'SnapshotId', 'location' => 'querystring', 'locationName' => 'snapshotId', ], ], 'payload' => 'contents', ], 'CreateProjectResult' => [ 'type' => 'structure', 'members' => [ 'details' => [ 'shape' => 'ProjectDetails', ], ], ], 'Date' => [ 'type' => 'timestamp', ], 'DeleteProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', 'location' => 'uri', 'locationName' => 'projectId', ], ], ], 'DeleteProjectResult' => [ 'type' => 'structure', 'members' => [ 'deletedResources' => [ 'shape' => 'Resources', ], 'orphanedResources' => [ 'shape' => 'Resources', ], ], ], 'DescribeBundleRequest' => [ 'type' => 'structure', 'required' => [ 'bundleId', ], 'members' => [ 'bundleId' => [ 'shape' => 'BundleId', 'location' => 'uri', 'locationName' => 'bundleId', ], ], ], 'DescribeBundleResult' => [ 'type' => 'structure', 'members' => [ 'details' => [ 'shape' => 'BundleDetails', ], ], ], 'DescribeProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', 'location' => 'querystring', 'locationName' => 'projectId', ], 'syncFromResources' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'syncFromResources', ], ], ], 'DescribeProjectResult' => [ 'type' => 'structure', 'members' => [ 'details' => [ 'shape' => 'ProjectDetails', ], ], ], 'DownloadUrl' => [ 'type' => 'string', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExportBundleRequest' => [ 'type' => 'structure', 'required' => [ 'bundleId', ], 'members' => [ 'bundleId' => [ 'shape' => 'BundleId', 'location' => 'uri', 'locationName' => 'bundleId', ], 'projectId' => [ 'shape' => 'ProjectId', 'location' => 'querystring', 'locationName' => 'projectId', ], 'platform' => [ 'shape' => 'Platform', 'location' => 'querystring', 'locationName' => 'platform', ], ], ], 'ExportBundleResult' => [ 'type' => 'structure', 'members' => [ 'downloadUrl' => [ 'shape' => 'DownloadUrl', ], ], ], 'ExportProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'projectId' => [ 'shape' => 'ProjectId', 'location' => 'uri', 'locationName' => 'projectId', ], ], ], 'ExportProjectResult' => [ 'type' => 'structure', 'members' => [ 'downloadUrl' => [ 'shape' => 'DownloadUrl', ], 'shareUrl' => [ 'shape' => 'ShareUrl', ], 'snapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'Feature' => [ 'type' => 'string', ], 'IconUrl' => [ 'type' => 'string', ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'ErrorMessage', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListBundlesRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListBundlesResult' => [ 'type' => 'structure', 'members' => [ 'bundleList' => [ 'shape' => 'BundleList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListProjectsRequest' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListProjectsResult' => [ 'type' => 'structure', 'members' => [ 'projects' => [ 'shape' => 'ProjectSummaries', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', ], 'NextToken' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Platform' => [ 'type' => 'string', 'enum' => [ 'OSX', 'WINDOWS', 'LINUX', 'OBJC', 'SWIFT', 'ANDROID', 'JAVASCRIPT', ], ], 'Platforms' => [ 'type' => 'list', 'member' => [ 'shape' => 'Platform', ], ], 'ProjectDetails' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'projectId' => [ 'shape' => 'ProjectId', ], 'region' => [ 'shape' => 'ProjectRegion', ], 'state' => [ 'shape' => 'ProjectState', ], 'createdDate' => [ 'shape' => 'Date', ], 'lastUpdatedDate' => [ 'shape' => 'Date', ], 'consoleUrl' => [ 'shape' => 'ConsoleUrl', ], 'resources' => [ 'shape' => 'Resources', ], ], ], 'ProjectId' => [ 'type' => 'string', ], 'ProjectName' => [ 'type' => 'string', ], 'ProjectRegion' => [ 'type' => 'string', ], 'ProjectState' => [ 'type' => 'string', 'enum' => [ 'NORMAL', 'SYNCING', 'IMPORTING', ], ], 'ProjectSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSummary', ], ], 'ProjectSummary' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'ProjectName', ], 'projectId' => [ 'shape' => 'ProjectId', ], ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'ResourceType', ], 'name' => [ 'shape' => 'ResourceName', ], 'arn' => [ 'shape' => 'ResourceArn', ], 'feature' => [ 'shape' => 'Feature', ], 'attributes' => [ 'shape' => 'Attributes', ], ], ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceName' => [ 'type' => 'string', ], 'ResourceType' => [ 'type' => 'string', ], 'Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'ErrorMessage', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'ShareUrl' => [ 'type' => 'string', ], 'SnapshotId' => [ 'type' => 'string', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'ErrorMessage', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UpdateProjectRequest' => [ 'type' => 'structure', 'required' => [ 'projectId', ], 'members' => [ 'contents' => [ 'shape' => 'Contents', ], 'projectId' => [ 'shape' => 'ProjectId', 'location' => 'querystring', 'locationName' => 'projectId', ], ], 'payload' => 'contents', ], 'UpdateProjectResult' => [ 'type' => 'structure', 'members' => [ 'details' => [ 'shape' => 'ProjectDetails', ], ], ], ],]; diff --git a/lib/aws/Aws/data/mobile/2017-07-01/paginators-1.json.php b/lib/aws/Aws/data/mobile/2017-07-01/paginators-1.json.php new file mode 100644 index 0000000..6536443 --- /dev/null +++ b/lib/aws/Aws/data/mobile/2017-07-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mobile/2017-07-01/paginators-1.json +return [ 'pagination' => [ 'ListBundles' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListProjects' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/monitoring/2010-08-01/api-2.json.php b/lib/aws/Aws/data/monitoring/2010-08-01/api-2.json.php new file mode 100644 index 0000000..376888a --- /dev/null +++ b/lib/aws/Aws/data/monitoring/2010-08-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/monitoring/2010-08-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-08-01', 'endpointPrefix' => 'monitoring', 'protocol' => 'query', 'serviceAbbreviation' => 'CloudWatch', 'serviceFullName' => 'Amazon CloudWatch', 'serviceId' => 'CloudWatch', 'signatureVersion' => 'v4', 'uid' => 'monitoring-2010-08-01', 'xmlNamespace' => 'http://monitoring.amazonaws.com/doc/2010-08-01/', ], 'operations' => [ 'DeleteAlarms' => [ 'name' => 'DeleteAlarms', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAlarmsInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DeleteDashboards' => [ 'name' => 'DeleteDashboards', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDashboardsInput', ], 'output' => [ 'shape' => 'DeleteDashboardsOutput', 'resultWrapper' => 'DeleteDashboardsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'DashboardNotFoundError', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'DescribeAlarmHistory' => [ 'name' => 'DescribeAlarmHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAlarmHistoryInput', ], 'output' => [ 'shape' => 'DescribeAlarmHistoryOutput', 'resultWrapper' => 'DescribeAlarmHistoryResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeAlarms' => [ 'name' => 'DescribeAlarms', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAlarmsInput', ], 'output' => [ 'shape' => 'DescribeAlarmsOutput', 'resultWrapper' => 'DescribeAlarmsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeAlarmsForMetric' => [ 'name' => 'DescribeAlarmsForMetric', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAlarmsForMetricInput', ], 'output' => [ 'shape' => 'DescribeAlarmsForMetricOutput', 'resultWrapper' => 'DescribeAlarmsForMetricResult', ], ], 'DisableAlarmActions' => [ 'name' => 'DisableAlarmActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableAlarmActionsInput', ], ], 'EnableAlarmActions' => [ 'name' => 'EnableAlarmActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableAlarmActionsInput', ], ], 'GetDashboard' => [ 'name' => 'GetDashboard', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDashboardInput', ], 'output' => [ 'shape' => 'GetDashboardOutput', 'resultWrapper' => 'GetDashboardResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'DashboardNotFoundError', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'GetMetricData' => [ 'name' => 'GetMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMetricDataInput', ], 'output' => [ 'shape' => 'GetMetricDataOutput', 'resultWrapper' => 'GetMetricDataResult', ], 'errors' => [ [ 'shape' => 'InvalidNextToken', ], ], ], 'GetMetricStatistics' => [ 'name' => 'GetMetricStatistics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMetricStatisticsInput', ], 'output' => [ 'shape' => 'GetMetricStatisticsOutput', 'resultWrapper' => 'GetMetricStatisticsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'GetMetricWidgetImage' => [ 'name' => 'GetMetricWidgetImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMetricWidgetImageInput', ], 'output' => [ 'shape' => 'GetMetricWidgetImageOutput', 'resultWrapper' => 'GetMetricWidgetImageResult', ], ], 'ListDashboards' => [ 'name' => 'ListDashboards', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDashboardsInput', ], 'output' => [ 'shape' => 'ListDashboardsOutput', 'resultWrapper' => 'ListDashboardsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'ListMetrics' => [ 'name' => 'ListMetrics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMetricsInput', ], 'output' => [ 'shape' => 'ListMetricsOutput', 'resultWrapper' => 'ListMetricsResult', ], 'errors' => [ [ 'shape' => 'InternalServiceFault', ], [ 'shape' => 'InvalidParameterValueException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceOutput', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'PutDashboard' => [ 'name' => 'PutDashboard', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDashboardInput', ], 'output' => [ 'shape' => 'PutDashboardOutput', 'resultWrapper' => 'PutDashboardResult', ], 'errors' => [ [ 'shape' => 'DashboardInvalidInputError', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'PutMetricAlarm' => [ 'name' => 'PutMetricAlarm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutMetricAlarmInput', ], 'errors' => [ [ 'shape' => 'LimitExceededFault', ], ], ], 'PutMetricData' => [ 'name' => 'PutMetricData', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutMetricDataInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InvalidParameterCombinationException', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'SetAlarmState' => [ 'name' => 'SetAlarmState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetAlarmStateInput', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], [ 'shape' => 'InvalidFormatFault', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'output' => [ 'shape' => 'TagResourceOutput', 'resultWrapper' => 'TagResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InternalServiceFault', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'output' => [ 'shape' => 'UntagResourceOutput', 'resultWrapper' => 'UntagResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InternalServiceFault', ], ], ], ], 'shapes' => [ 'ActionPrefix' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ActionsEnabled' => [ 'type' => 'boolean', ], 'AlarmArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'AlarmDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'AlarmHistoryItem' => [ 'type' => 'structure', 'members' => [ 'AlarmName' => [ 'shape' => 'AlarmName', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'HistoryItemType' => [ 'shape' => 'HistoryItemType', ], 'HistorySummary' => [ 'shape' => 'HistorySummary', ], 'HistoryData' => [ 'shape' => 'HistoryData', ], ], ], 'AlarmHistoryItems' => [ 'type' => 'list', 'member' => [ 'shape' => 'AlarmHistoryItem', ], ], 'AlarmName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'AlarmNamePrefix' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'AlarmNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AlarmName', ], 'max' => 100, ], 'AmazonResourceName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'AwsQueryErrorMessage' => [ 'type' => 'string', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GreaterThanOrEqualToThreshold', 'GreaterThanThreshold', 'LessThanThreshold', 'LessThanOrEqualToThreshold', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ConcurrentModificationException', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], 'Counts' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatapointValue', ], ], 'DashboardArn' => [ 'type' => 'string', ], 'DashboardBody' => [ 'type' => 'string', ], 'DashboardEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'DashboardEntry', ], ], 'DashboardEntry' => [ 'type' => 'structure', 'members' => [ 'DashboardName' => [ 'shape' => 'DashboardName', ], 'DashboardArn' => [ 'shape' => 'DashboardArn', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'DashboardErrorMessage' => [ 'type' => 'string', ], 'DashboardInvalidInputError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'DashboardErrorMessage', ], 'dashboardValidationMessages' => [ 'shape' => 'DashboardValidationMessages', ], ], 'error' => [ 'code' => 'InvalidParameterInput', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DashboardName' => [ 'type' => 'string', ], 'DashboardNamePrefix' => [ 'type' => 'string', ], 'DashboardNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'DashboardName', ], ], 'DashboardNotFoundError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'DashboardErrorMessage', ], ], 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DashboardValidationMessage' => [ 'type' => 'structure', 'members' => [ 'DataPath' => [ 'shape' => 'DataPath', ], 'Message' => [ 'shape' => 'Message', ], ], ], 'DashboardValidationMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'DashboardValidationMessage', ], ], 'DataPath' => [ 'type' => 'string', ], 'Datapoint' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'SampleCount' => [ 'shape' => 'DatapointValue', ], 'Average' => [ 'shape' => 'DatapointValue', ], 'Sum' => [ 'shape' => 'DatapointValue', ], 'Minimum' => [ 'shape' => 'DatapointValue', ], 'Maximum' => [ 'shape' => 'DatapointValue', ], 'Unit' => [ 'shape' => 'StandardUnit', ], 'ExtendedStatistics' => [ 'shape' => 'DatapointValueMap', ], ], 'xmlOrder' => [ 'Timestamp', 'SampleCount', 'Average', 'Sum', 'Minimum', 'Maximum', 'Unit', 'ExtendedStatistics', ], ], 'DatapointValue' => [ 'type' => 'double', ], 'DatapointValueMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ExtendedStatistic', ], 'value' => [ 'shape' => 'DatapointValue', ], ], 'DatapointValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatapointValue', ], ], 'Datapoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'Datapoint', ], ], 'DatapointsToAlarm' => [ 'type' => 'integer', 'min' => 1, ], 'DeleteAlarmsInput' => [ 'type' => 'structure', 'required' => [ 'AlarmNames', ], 'members' => [ 'AlarmNames' => [ 'shape' => 'AlarmNames', ], ], ], 'DeleteDashboardsInput' => [ 'type' => 'structure', 'required' => [ 'DashboardNames', ], 'members' => [ 'DashboardNames' => [ 'shape' => 'DashboardNames', ], ], ], 'DeleteDashboardsOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAlarmHistoryInput' => [ 'type' => 'structure', 'members' => [ 'AlarmName' => [ 'shape' => 'AlarmName', ], 'HistoryItemType' => [ 'shape' => 'HistoryItemType', ], 'StartDate' => [ 'shape' => 'Timestamp', ], 'EndDate' => [ 'shape' => 'Timestamp', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAlarmHistoryOutput' => [ 'type' => 'structure', 'members' => [ 'AlarmHistoryItems' => [ 'shape' => 'AlarmHistoryItems', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAlarmsForMetricInput' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'Namespace', ], 'Statistic' => [ 'shape' => 'Statistic', ], 'ExtendedStatistic' => [ 'shape' => 'ExtendedStatistic', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Period' => [ 'shape' => 'Period', ], 'Unit' => [ 'shape' => 'StandardUnit', ], ], ], 'DescribeAlarmsForMetricOutput' => [ 'type' => 'structure', 'members' => [ 'MetricAlarms' => [ 'shape' => 'MetricAlarms', ], ], ], 'DescribeAlarmsInput' => [ 'type' => 'structure', 'members' => [ 'AlarmNames' => [ 'shape' => 'AlarmNames', ], 'AlarmNamePrefix' => [ 'shape' => 'AlarmNamePrefix', ], 'StateValue' => [ 'shape' => 'StateValue', ], 'ActionPrefix' => [ 'shape' => 'ActionPrefix', ], 'MaxRecords' => [ 'shape' => 'MaxRecords', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAlarmsOutput' => [ 'type' => 'structure', 'members' => [ 'MetricAlarms' => [ 'shape' => 'MetricAlarms', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'Dimension' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'DimensionName', ], 'Value' => [ 'shape' => 'DimensionValue', ], ], 'xmlOrder' => [ 'Name', 'Value', ], ], 'DimensionFilter' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DimensionName', ], 'Value' => [ 'shape' => 'DimensionValue', ], ], ], 'DimensionFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'DimensionFilter', ], 'max' => 10, ], 'DimensionName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'DimensionValue' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Dimensions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Dimension', ], 'max' => 10, ], 'DisableAlarmActionsInput' => [ 'type' => 'structure', 'required' => [ 'AlarmNames', ], 'members' => [ 'AlarmNames' => [ 'shape' => 'AlarmNames', ], ], ], 'EnableAlarmActionsInput' => [ 'type' => 'structure', 'required' => [ 'AlarmNames', ], 'members' => [ 'AlarmNames' => [ 'shape' => 'AlarmNames', ], ], ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'EvaluateLowSampleCountPercentile' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'EvaluationPeriods' => [ 'type' => 'integer', 'min' => 1, ], 'ExtendedStatistic' => [ 'type' => 'string', 'pattern' => 'p(\\d{1,2}(\\.\\d{0,2})?|100)', ], 'ExtendedStatistics' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtendedStatistic', ], 'max' => 10, 'min' => 1, ], 'FaultDescription' => [ 'type' => 'string', ], 'GetDashboardInput' => [ 'type' => 'structure', 'required' => [ 'DashboardName', ], 'members' => [ 'DashboardName' => [ 'shape' => 'DashboardName', ], ], ], 'GetDashboardOutput' => [ 'type' => 'structure', 'members' => [ 'DashboardArn' => [ 'shape' => 'DashboardArn', ], 'DashboardBody' => [ 'shape' => 'DashboardBody', ], 'DashboardName' => [ 'shape' => 'DashboardName', ], ], ], 'GetMetricDataInput' => [ 'type' => 'structure', 'required' => [ 'MetricDataQueries', 'StartTime', 'EndTime', ], 'members' => [ 'MetricDataQueries' => [ 'shape' => 'MetricDataQueries', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ScanBy' => [ 'shape' => 'ScanBy', ], 'MaxDatapoints' => [ 'shape' => 'GetMetricDataMaxDatapoints', ], ], ], 'GetMetricDataMaxDatapoints' => [ 'type' => 'integer', ], 'GetMetricDataOutput' => [ 'type' => 'structure', 'members' => [ 'MetricDataResults' => [ 'shape' => 'MetricDataResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Messages' => [ 'shape' => 'MetricDataResultMessages', ], ], ], 'GetMetricStatisticsInput' => [ 'type' => 'structure', 'required' => [ 'Namespace', 'MetricName', 'StartTime', 'EndTime', 'Period', ], 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Period' => [ 'shape' => 'Period', ], 'Statistics' => [ 'shape' => 'Statistics', ], 'ExtendedStatistics' => [ 'shape' => 'ExtendedStatistics', ], 'Unit' => [ 'shape' => 'StandardUnit', ], ], ], 'GetMetricStatisticsOutput' => [ 'type' => 'structure', 'members' => [ 'Label' => [ 'shape' => 'MetricLabel', ], 'Datapoints' => [ 'shape' => 'Datapoints', ], ], ], 'GetMetricWidgetImageInput' => [ 'type' => 'structure', 'required' => [ 'MetricWidget', ], 'members' => [ 'MetricWidget' => [ 'shape' => 'MetricWidget', ], 'OutputFormat' => [ 'shape' => 'OutputFormat', ], ], ], 'GetMetricWidgetImageOutput' => [ 'type' => 'structure', 'members' => [ 'MetricWidgetImage' => [ 'shape' => 'MetricWidgetImage', ], ], ], 'HistoryData' => [ 'type' => 'string', 'max' => 4095, 'min' => 1, ], 'HistoryItemType' => [ 'type' => 'string', 'enum' => [ 'ConfigurationUpdate', 'StateUpdate', 'Action', ], ], 'HistorySummary' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'InternalServiceFault' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'FaultDescription', ], ], 'error' => [ 'code' => 'InternalServiceError', 'httpStatusCode' => 500, ], 'exception' => true, 'xmlOrder' => [ 'Message', ], ], 'InvalidFormatFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'code' => 'InvalidFormat', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidNextToken' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'code' => 'InvalidNextToken', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidParameterCombinationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterCombination', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, 'synthetic' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterValue', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, 'synthetic' => true, ], 'LastModified' => [ 'type' => 'timestamp', ], 'LimitExceededFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'code' => 'LimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ListDashboardsInput' => [ 'type' => 'structure', 'members' => [ 'DashboardNamePrefix' => [ 'shape' => 'DashboardNamePrefix', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDashboardsOutput' => [ 'type' => 'structure', 'members' => [ 'DashboardEntries' => [ 'shape' => 'DashboardEntries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListMetricsInput' => [ 'type' => 'structure', 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Dimensions' => [ 'shape' => 'DimensionFilters', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListMetricsOutput' => [ 'type' => 'structure', 'members' => [ 'Metrics' => [ 'shape' => 'Metrics', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], 'xmlOrder' => [ 'Metrics', 'NextToken', ], ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], ], ], 'ListTagsForResourceOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'MaxRecords' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'MessageData' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'MessageDataCode', ], 'Value' => [ 'shape' => 'MessageDataValue', ], ], ], 'MessageDataCode' => [ 'type' => 'string', ], 'MessageDataValue' => [ 'type' => 'string', ], 'Metric' => [ 'type' => 'structure', 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], ], 'xmlOrder' => [ 'Namespace', 'MetricName', 'Dimensions', ], ], 'MetricAlarm' => [ 'type' => 'structure', 'members' => [ 'AlarmName' => [ 'shape' => 'AlarmName', ], 'AlarmArn' => [ 'shape' => 'AlarmArn', ], 'AlarmDescription' => [ 'shape' => 'AlarmDescription', ], 'AlarmConfigurationUpdatedTimestamp' => [ 'shape' => 'Timestamp', ], 'ActionsEnabled' => [ 'shape' => 'ActionsEnabled', ], 'OKActions' => [ 'shape' => 'ResourceList', ], 'AlarmActions' => [ 'shape' => 'ResourceList', ], 'InsufficientDataActions' => [ 'shape' => 'ResourceList', ], 'StateValue' => [ 'shape' => 'StateValue', ], 'StateReason' => [ 'shape' => 'StateReason', ], 'StateReasonData' => [ 'shape' => 'StateReasonData', ], 'StateUpdatedTimestamp' => [ 'shape' => 'Timestamp', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'Namespace', ], 'Statistic' => [ 'shape' => 'Statistic', ], 'ExtendedStatistic' => [ 'shape' => 'ExtendedStatistic', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Period' => [ 'shape' => 'Period', ], 'Unit' => [ 'shape' => 'StandardUnit', ], 'EvaluationPeriods' => [ 'shape' => 'EvaluationPeriods', ], 'DatapointsToAlarm' => [ 'shape' => 'DatapointsToAlarm', ], 'Threshold' => [ 'shape' => 'Threshold', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'TreatMissingData' => [ 'shape' => 'TreatMissingData', ], 'EvaluateLowSampleCountPercentile' => [ 'shape' => 'EvaluateLowSampleCountPercentile', ], 'Metrics' => [ 'shape' => 'MetricDataQueries', ], ], 'xmlOrder' => [ 'AlarmName', 'AlarmArn', 'AlarmDescription', 'AlarmConfigurationUpdatedTimestamp', 'ActionsEnabled', 'OKActions', 'AlarmActions', 'InsufficientDataActions', 'StateValue', 'StateReason', 'StateReasonData', 'StateUpdatedTimestamp', 'MetricName', 'Namespace', 'Statistic', 'Dimensions', 'Period', 'Unit', 'EvaluationPeriods', 'Threshold', 'ComparisonOperator', 'ExtendedStatistic', 'TreatMissingData', 'EvaluateLowSampleCountPercentile', 'DatapointsToAlarm', 'Metrics', ], ], 'MetricAlarms' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricAlarm', ], ], 'MetricData' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDatum', ], ], 'MetricDataQueries' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDataQuery', ], ], 'MetricDataQuery' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'MetricId', ], 'MetricStat' => [ 'shape' => 'MetricStat', ], 'Expression' => [ 'shape' => 'MetricExpression', ], 'Label' => [ 'shape' => 'MetricLabel', ], 'ReturnData' => [ 'shape' => 'ReturnData', ], ], ], 'MetricDataResult' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'MetricId', ], 'Label' => [ 'shape' => 'MetricLabel', ], 'Timestamps' => [ 'shape' => 'Timestamps', ], 'Values' => [ 'shape' => 'DatapointValues', ], 'StatusCode' => [ 'shape' => 'StatusCode', ], 'Messages' => [ 'shape' => 'MetricDataResultMessages', ], ], ], 'MetricDataResultMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'MessageData', ], ], 'MetricDataResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDataResult', ], ], 'MetricDatum' => [ 'type' => 'structure', 'required' => [ 'MetricName', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Value' => [ 'shape' => 'DatapointValue', ], 'StatisticValues' => [ 'shape' => 'StatisticSet', ], 'Values' => [ 'shape' => 'Values', ], 'Counts' => [ 'shape' => 'Counts', ], 'Unit' => [ 'shape' => 'StandardUnit', ], 'StorageResolution' => [ 'shape' => 'StorageResolution', ], ], ], 'MetricExpression' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'MetricId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'MetricLabel' => [ 'type' => 'string', ], 'MetricName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'MetricStat' => [ 'type' => 'structure', 'required' => [ 'Metric', 'Period', 'Stat', ], 'members' => [ 'Metric' => [ 'shape' => 'Metric', ], 'Period' => [ 'shape' => 'Period', ], 'Stat' => [ 'shape' => 'Stat', ], 'Unit' => [ 'shape' => 'StandardUnit', ], ], ], 'MetricWidget' => [ 'type' => 'string', ], 'MetricWidgetImage' => [ 'type' => 'blob', ], 'Metrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'Metric', ], ], 'MissingRequiredParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'MissingParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, 'synthetic' => true, ], 'Namespace' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[^:].*', ], 'NextToken' => [ 'type' => 'string', ], 'OutputFormat' => [ 'type' => 'string', ], 'Period' => [ 'type' => 'integer', 'min' => 1, ], 'PutDashboardInput' => [ 'type' => 'structure', 'required' => [ 'DashboardName', 'DashboardBody', ], 'members' => [ 'DashboardName' => [ 'shape' => 'DashboardName', ], 'DashboardBody' => [ 'shape' => 'DashboardBody', ], ], ], 'PutDashboardOutput' => [ 'type' => 'structure', 'members' => [ 'DashboardValidationMessages' => [ 'shape' => 'DashboardValidationMessages', ], ], ], 'PutMetricAlarmInput' => [ 'type' => 'structure', 'required' => [ 'AlarmName', 'EvaluationPeriods', 'Threshold', 'ComparisonOperator', ], 'members' => [ 'AlarmName' => [ 'shape' => 'AlarmName', ], 'AlarmDescription' => [ 'shape' => 'AlarmDescription', ], 'ActionsEnabled' => [ 'shape' => 'ActionsEnabled', ], 'OKActions' => [ 'shape' => 'ResourceList', ], 'AlarmActions' => [ 'shape' => 'ResourceList', ], 'InsufficientDataActions' => [ 'shape' => 'ResourceList', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'Namespace', ], 'Statistic' => [ 'shape' => 'Statistic', ], 'ExtendedStatistic' => [ 'shape' => 'ExtendedStatistic', ], 'Dimensions' => [ 'shape' => 'Dimensions', ], 'Period' => [ 'shape' => 'Period', ], 'Unit' => [ 'shape' => 'StandardUnit', ], 'EvaluationPeriods' => [ 'shape' => 'EvaluationPeriods', ], 'DatapointsToAlarm' => [ 'shape' => 'DatapointsToAlarm', ], 'Threshold' => [ 'shape' => 'Threshold', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'TreatMissingData' => [ 'shape' => 'TreatMissingData', ], 'EvaluateLowSampleCountPercentile' => [ 'shape' => 'EvaluateLowSampleCountPercentile', ], 'Metrics' => [ 'shape' => 'MetricDataQueries', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'PutMetricDataInput' => [ 'type' => 'structure', 'required' => [ 'Namespace', 'MetricData', ], 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricData' => [ 'shape' => 'MetricData', ], ], ], 'ResourceId' => [ 'type' => 'string', ], 'ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], 'max' => 5, ], 'ResourceName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ResourceNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'code' => 'ResourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceType', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], ], 'error' => [ 'code' => 'ResourceNotFoundException', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', ], 'ReturnData' => [ 'type' => 'boolean', ], 'ScanBy' => [ 'type' => 'string', 'enum' => [ 'TimestampDescending', 'TimestampAscending', ], ], 'SetAlarmStateInput' => [ 'type' => 'structure', 'required' => [ 'AlarmName', 'StateValue', 'StateReason', ], 'members' => [ 'AlarmName' => [ 'shape' => 'AlarmName', ], 'StateValue' => [ 'shape' => 'StateValue', ], 'StateReason' => [ 'shape' => 'StateReason', ], 'StateReasonData' => [ 'shape' => 'StateReasonData', ], ], ], 'Size' => [ 'type' => 'long', ], 'StandardUnit' => [ 'type' => 'string', 'enum' => [ 'Seconds', 'Microseconds', 'Milliseconds', 'Bytes', 'Kilobytes', 'Megabytes', 'Gigabytes', 'Terabytes', 'Bits', 'Kilobits', 'Megabits', 'Gigabits', 'Terabits', 'Percent', 'Count', 'Bytes/Second', 'Kilobytes/Second', 'Megabytes/Second', 'Gigabytes/Second', 'Terabytes/Second', 'Bits/Second', 'Kilobits/Second', 'Megabits/Second', 'Gigabits/Second', 'Terabits/Second', 'Count/Second', 'None', ], ], 'Stat' => [ 'type' => 'string', ], 'StateReason' => [ 'type' => 'string', 'max' => 1023, 'min' => 0, ], 'StateReasonData' => [ 'type' => 'string', 'max' => 4000, 'min' => 0, ], 'StateValue' => [ 'type' => 'string', 'enum' => [ 'OK', 'ALARM', 'INSUFFICIENT_DATA', ], ], 'Statistic' => [ 'type' => 'string', 'enum' => [ 'SampleCount', 'Average', 'Sum', 'Minimum', 'Maximum', ], ], 'StatisticSet' => [ 'type' => 'structure', 'required' => [ 'SampleCount', 'Sum', 'Minimum', 'Maximum', ], 'members' => [ 'SampleCount' => [ 'shape' => 'DatapointValue', ], 'Sum' => [ 'shape' => 'DatapointValue', ], 'Minimum' => [ 'shape' => 'DatapointValue', ], 'Maximum' => [ 'shape' => 'DatapointValue', ], ], ], 'Statistics' => [ 'type' => 'list', 'member' => [ 'shape' => 'Statistic', ], 'max' => 5, 'min' => 1, ], 'StatusCode' => [ 'type' => 'string', 'enum' => [ 'Complete', 'InternalError', 'PartialData', ], ], 'StorageResolution' => [ 'type' => 'integer', 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Tags', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Threshold' => [ 'type' => 'double', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Timestamps' => [ 'type' => 'list', 'member' => [ 'shape' => 'Timestamp', ], ], 'TreatMissingData' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'TagKeys', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'AmazonResourceName', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'Values' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatapointValue', ], ], ],]; diff --git a/lib/aws/Aws/data/monitoring/2010-08-01/paginators-1.json.php b/lib/aws/Aws/data/monitoring/2010-08-01/paginators-1.json.php new file mode 100644 index 0000000..f125ed2 --- /dev/null +++ b/lib/aws/Aws/data/monitoring/2010-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/monitoring/2010-08-01/paginators-1.json +return [ 'pagination' => [ 'DescribeAlarmHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'AlarmHistoryItems', ], 'DescribeAlarms' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxRecords', 'output_token' => 'NextToken', 'result_key' => 'MetricAlarms', ], 'DescribeAlarmsForMetric' => [ 'result_key' => 'MetricAlarms', ], 'GetMetricData' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxDatapoints', 'output_token' => 'NextToken', 'result_key' => [ 'MetricDataResults', 'Messages', ], ], 'ListDashboards' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'DashboardEntries', ], 'ListMetrics' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Metrics', ], ],]; diff --git a/lib/aws/Aws/data/monitoring/2010-08-01/smoke.json.php b/lib/aws/Aws/data/monitoring/2010-08-01/smoke.json.php new file mode 100644 index 0000000..c85059d --- /dev/null +++ b/lib/aws/Aws/data/monitoring/2010-08-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/monitoring/2010-08-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListMetrics', 'input' => [ 'Namespace' => 'AWS/EC2', ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'SetAlarmState', 'input' => [ 'AlarmName' => 'abc', 'StateValue' => 'mno', 'StateReason' => 'xyz', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/monitoring/2010-08-01/waiters-2.json.php b/lib/aws/Aws/data/monitoring/2010-08-01/waiters-2.json.php new file mode 100644 index 0000000..8cfa37f --- /dev/null +++ b/lib/aws/Aws/data/monitoring/2010-08-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/monitoring/2010-08-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'AlarmExists' => [ 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'DescribeAlarms', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => true, 'argument' => 'length(MetricAlarms[]) > `0`', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/mq/2017-11-27/api-2.json.php b/lib/aws/Aws/data/mq/2017-11-27/api-2.json.php new file mode 100644 index 0000000..adb0ab2 --- /dev/null +++ b/lib/aws/Aws/data/mq/2017-11-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mq/2017-11-27/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-11-27', 'endpointPrefix' => 'mq', 'signingName' => 'mq', 'serviceFullName' => 'AmazonMQ', 'serviceId' => 'mq', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'mq-2017-11-27', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateBroker' => [ 'name' => 'CreateBroker', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/brokers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateBrokerRequest', ], 'output' => [ 'shape' => 'CreateBrokerResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateConfiguration' => [ 'name' => 'CreateConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/configurations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateConfigurationRequest', ], 'output' => [ 'shape' => 'CreateConfigurationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'CreateTagsRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/brokers/{broker-id}/users/{username}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DeleteBroker' => [ 'name' => 'DeleteBroker', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/brokers/{broker-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteBrokerRequest', ], 'output' => [ 'shape' => 'DeleteBrokerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/brokers/{broker-id}/users/{username}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeBroker' => [ 'name' => 'DescribeBroker', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/brokers/{broker-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeBrokerRequest', ], 'output' => [ 'shape' => 'DescribeBrokerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeConfiguration' => [ 'name' => 'DescribeConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/configurations/{configuration-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeConfigurationRevision' => [ 'name' => 'DescribeConfigurationRevision', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/configurations/{configuration-id}/revisions/{configuration-revision}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeConfigurationRevisionRequest', ], 'output' => [ 'shape' => 'DescribeConfigurationRevisionResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DescribeUser' => [ 'name' => 'DescribeUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/brokers/{broker-id}/users/{username}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeUserRequest', ], 'output' => [ 'shape' => 'DescribeUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListBrokers' => [ 'name' => 'ListBrokers', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/brokers', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListBrokersRequest', ], 'output' => [ 'shape' => 'ListBrokersResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListConfigurationRevisions' => [ 'name' => 'ListConfigurationRevisions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/configurations/{configuration-id}/revisions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListConfigurationRevisionsRequest', ], 'output' => [ 'shape' => 'ListConfigurationRevisionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListConfigurations' => [ 'name' => 'ListConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/configurations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListConfigurationsRequest', ], 'output' => [ 'shape' => 'ListConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/brokers/{broker-id}/users', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'RebootBroker' => [ 'name' => 'RebootBroker', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/brokers/{broker-id}/reboot', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RebootBrokerRequest', ], 'output' => [ 'shape' => 'RebootBrokerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'UpdateBroker' => [ 'name' => 'UpdateBroker', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/brokers/{broker-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateBrokerRequest', ], 'output' => [ 'shape' => 'UpdateBrokerResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'UpdateConfiguration' => [ 'name' => 'UpdateConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/configurations/{configuration-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateConfigurationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/brokers/{broker-id}/users/{username}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'output' => [ 'shape' => 'UpdateUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], ], 'shapes' => [ 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BrokerInstance' => [ 'type' => 'structure', 'members' => [ 'ConsoleURL' => [ 'shape' => '__string', 'locationName' => 'consoleURL', ], 'Endpoints' => [ 'shape' => '__listOf__string', 'locationName' => 'endpoints', ], 'IpAddress' => [ 'shape' => '__string', 'locationName' => 'ipAddress', ], ], ], 'BrokerState' => [ 'type' => 'string', 'enum' => [ 'CREATION_IN_PROGRESS', 'CREATION_FAILED', 'DELETION_IN_PROGRESS', 'RUNNING', 'REBOOT_IN_PROGRESS', ], ], 'BrokerSummary' => [ 'type' => 'structure', 'members' => [ 'BrokerArn' => [ 'shape' => '__string', 'locationName' => 'brokerArn', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'BrokerName' => [ 'shape' => '__string', 'locationName' => 'brokerName', ], 'BrokerState' => [ 'shape' => 'BrokerState', 'locationName' => 'brokerState', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'DeploymentMode' => [ 'shape' => 'DeploymentMode', 'locationName' => 'deploymentMode', ], 'HostInstanceType' => [ 'shape' => '__string', 'locationName' => 'hostInstanceType', ], ], ], 'ChangeType' => [ 'type' => 'string', 'enum' => [ 'CREATE', 'UPDATE', 'DELETE', ], ], 'Configuration' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'ConfigurationId' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'Revision' => [ 'shape' => '__integer', 'locationName' => 'revision', ], ], ], 'ConfigurationRevision' => [ 'type' => 'structure', 'members' => [ 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'Revision' => [ 'shape' => '__integer', 'locationName' => 'revision', ], ], ], 'Configurations' => [ 'type' => 'structure', 'members' => [ 'Current' => [ 'shape' => 'ConfigurationId', 'locationName' => 'current', ], 'History' => [ 'shape' => '__listOfConfigurationId', 'locationName' => 'history', ], 'Pending' => [ 'shape' => 'ConfigurationId', 'locationName' => 'pending', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateBrokerInput' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerName' => [ 'shape' => '__string', 'locationName' => 'brokerName', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'CreatorRequestId' => [ 'shape' => '__string', 'locationName' => 'creatorRequestId', 'idempotencyToken' => true, ], 'DeploymentMode' => [ 'shape' => 'DeploymentMode', 'locationName' => 'deploymentMode', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'HostInstanceType' => [ 'shape' => '__string', 'locationName' => 'hostInstanceType', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], 'MaintenanceWindowStartTime' => [ 'shape' => 'WeeklyStartTime', 'locationName' => 'maintenanceWindowStartTime', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'Users' => [ 'shape' => '__listOfUser', 'locationName' => 'users', ], ], ], 'CreateBrokerOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerArn' => [ 'shape' => '__string', 'locationName' => 'brokerArn', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], ], ], 'CreateBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerName' => [ 'shape' => '__string', 'locationName' => 'brokerName', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'CreatorRequestId' => [ 'shape' => '__string', 'locationName' => 'creatorRequestId', 'idempotencyToken' => true, ], 'DeploymentMode' => [ 'shape' => 'DeploymentMode', 'locationName' => 'deploymentMode', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'HostInstanceType' => [ 'shape' => '__string', 'locationName' => 'hostInstanceType', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], 'MaintenanceWindowStartTime' => [ 'shape' => 'WeeklyStartTime', 'locationName' => 'maintenanceWindowStartTime', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'Users' => [ 'shape' => '__listOfUser', 'locationName' => 'users', ], ], ], 'CreateBrokerResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerArn' => [ 'shape' => '__string', 'locationName' => 'brokerArn', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], ], ], 'CreateConfigurationInput' => [ 'type' => 'structure', 'members' => [ 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'CreateConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], ], ], 'CreateConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'CreateConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'ResourceArn', ], ], 'CreateUserInput' => [ 'type' => 'structure', 'members' => [ 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Password' => [ 'shape' => '__string', 'locationName' => 'password', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Password' => [ 'shape' => '__string', 'locationName' => 'password', ], 'Username' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'username', ], ], 'required' => [ 'Username', 'BrokerId', ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'DayOfWeek' => [ 'type' => 'string', 'enum' => [ 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY', ], ], 'DeleteBrokerOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], ], ], 'DeleteBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], ], 'required' => [ 'BrokerId', ], ], 'DeleteBrokerResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], ], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagKeys' => [ 'shape' => '__listOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'Username' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'username', ], ], 'required' => [ 'Username', 'BrokerId', ], ], 'DeleteUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeploymentMode' => [ 'type' => 'string', 'enum' => [ 'SINGLE_INSTANCE', 'ACTIVE_STANDBY_MULTI_AZ', ], ], 'DescribeBrokerOutput' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerArn' => [ 'shape' => '__string', 'locationName' => 'brokerArn', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'BrokerInstances' => [ 'shape' => '__listOfBrokerInstance', 'locationName' => 'brokerInstances', ], 'BrokerName' => [ 'shape' => '__string', 'locationName' => 'brokerName', ], 'BrokerState' => [ 'shape' => 'BrokerState', 'locationName' => 'brokerState', ], 'Configurations' => [ 'shape' => 'Configurations', 'locationName' => 'configurations', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'DeploymentMode' => [ 'shape' => 'DeploymentMode', 'locationName' => 'deploymentMode', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'HostInstanceType' => [ 'shape' => '__string', 'locationName' => 'hostInstanceType', ], 'Logs' => [ 'shape' => 'LogsSummary', 'locationName' => 'logs', ], 'MaintenanceWindowStartTime' => [ 'shape' => 'WeeklyStartTime', 'locationName' => 'maintenanceWindowStartTime', ], 'PendingEngineVersion' => [ 'shape' => '__string', 'locationName' => 'pendingEngineVersion', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'Users' => [ 'shape' => '__listOfUserSummary', 'locationName' => 'users', ], ], ], 'DescribeBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], ], 'required' => [ 'BrokerId', ], ], 'DescribeBrokerResponse' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerArn' => [ 'shape' => '__string', 'locationName' => 'brokerArn', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'BrokerInstances' => [ 'shape' => '__listOfBrokerInstance', 'locationName' => 'brokerInstances', ], 'BrokerName' => [ 'shape' => '__string', 'locationName' => 'brokerName', ], 'BrokerState' => [ 'shape' => 'BrokerState', 'locationName' => 'brokerState', ], 'Configurations' => [ 'shape' => 'Configurations', 'locationName' => 'configurations', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'DeploymentMode' => [ 'shape' => 'DeploymentMode', 'locationName' => 'deploymentMode', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'HostInstanceType' => [ 'shape' => '__string', 'locationName' => 'hostInstanceType', ], 'Logs' => [ 'shape' => 'LogsSummary', 'locationName' => 'logs', ], 'MaintenanceWindowStartTime' => [ 'shape' => 'WeeklyStartTime', 'locationName' => 'maintenanceWindowStartTime', ], 'PendingEngineVersion' => [ 'shape' => '__string', 'locationName' => 'pendingEngineVersion', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], 'Users' => [ 'shape' => '__listOfUserSummary', 'locationName' => 'users', ], ], ], 'DescribeConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'configuration-id', ], ], 'required' => [ 'ConfigurationId', ], ], 'DescribeConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'EngineType' => [ 'shape' => 'EngineType', 'locationName' => 'engineType', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'DescribeConfigurationRevisionOutput' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'locationName' => 'configurationId', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Data' => [ 'shape' => '__string', 'locationName' => 'data', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], ], ], 'DescribeConfigurationRevisionRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'configuration-id', ], 'ConfigurationRevision' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'configuration-revision', ], ], 'required' => [ 'ConfigurationRevision', 'ConfigurationId', ], ], 'DescribeConfigurationRevisionResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'locationName' => 'configurationId', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Data' => [ 'shape' => '__string', 'locationName' => 'data', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], ], ], 'DescribeUserOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Pending' => [ 'shape' => 'UserPendingChanges', 'locationName' => 'pending', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'DescribeUserRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'Username' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'username', ], ], 'required' => [ 'Username', 'BrokerId', ], ], 'DescribeUserResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Pending' => [ 'shape' => 'UserPendingChanges', 'locationName' => 'pending', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'EngineType' => [ 'type' => 'string', 'enum' => [ 'ACTIVEMQ', ], ], 'Error' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'ListBrokersOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerSummaries' => [ 'shape' => '__listOfBrokerSummary', 'locationName' => 'brokerSummaries', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListBrokersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListBrokersResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerSummaries' => [ 'shape' => '__listOfBrokerSummary', 'locationName' => 'brokerSummaries', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListConfigurationRevisionsOutput' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'locationName' => 'configurationId', ], 'MaxResults' => [ 'shape' => '__integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Revisions' => [ 'shape' => '__listOfConfigurationRevision', 'locationName' => 'revisions', ], ], ], 'ListConfigurationRevisionsRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'configuration-id', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ConfigurationId', ], ], 'ListConfigurationRevisionsResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'locationName' => 'configurationId', ], 'MaxResults' => [ 'shape' => '__integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Revisions' => [ 'shape' => '__listOfConfigurationRevision', 'locationName' => 'revisions', ], ], ], 'ListConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'Configurations' => [ 'shape' => '__listOfConfiguration', 'locationName' => 'configurations', ], 'MaxResults' => [ 'shape' => '__integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'Configurations' => [ 'shape' => '__listOfConfiguration', 'locationName' => 'configurations', ], 'MaxResults' => [ 'shape' => '__integer', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'ListUsersOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'MaxResults' => [ 'shape' => '__integerMin5Max100', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Users' => [ 'shape' => '__listOfUserSummary', 'locationName' => 'users', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'BrokerId', ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'MaxResults' => [ 'shape' => '__integerMin5Max100', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Users' => [ 'shape' => '__listOfUserSummary', 'locationName' => 'users', ], ], ], 'Logs' => [ 'type' => 'structure', 'members' => [ 'Audit' => [ 'shape' => '__boolean', 'locationName' => 'audit', ], 'General' => [ 'shape' => '__boolean', 'locationName' => 'general', ], ], ], 'LogsSummary' => [ 'type' => 'structure', 'members' => [ 'Audit' => [ 'shape' => '__boolean', 'locationName' => 'audit', ], 'AuditLogGroup' => [ 'shape' => '__string', 'locationName' => 'auditLogGroup', ], 'General' => [ 'shape' => '__boolean', 'locationName' => 'general', ], 'GeneralLogGroup' => [ 'shape' => '__string', 'locationName' => 'generalLogGroup', ], 'Pending' => [ 'shape' => 'PendingLogs', 'locationName' => 'pending', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'PendingLogs' => [ 'type' => 'structure', 'members' => [ 'Audit' => [ 'shape' => '__boolean', 'locationName' => 'audit', ], 'General' => [ 'shape' => '__boolean', 'locationName' => 'general', ], ], ], 'RebootBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], ], 'required' => [ 'BrokerId', ], ], 'RebootBrokerResponse' => [ 'type' => 'structure', 'members' => [], ], 'SanitizationWarning' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => '__string', 'locationName' => 'attributeName', ], 'ElementName' => [ 'shape' => '__string', 'locationName' => 'elementName', ], 'Reason' => [ 'shape' => 'SanitizationWarningReason', 'locationName' => 'reason', ], ], ], 'SanitizationWarningReason' => [ 'type' => 'string', 'enum' => [ 'DISALLOWED_ELEMENT_REMOVED', 'DISALLOWED_ATTRIBUTE_REMOVED', 'INVALID_ATTRIBUTE_VALUE_REMOVED', ], ], 'Tags' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 401, ], ], 'UpdateBrokerInput' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], ], 'UpdateBrokerOutput' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], ], 'UpdateBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], 'required' => [ 'BrokerId', ], ], 'UpdateBrokerResponse' => [ 'type' => 'structure', 'members' => [ 'AutoMinorVersionUpgrade' => [ 'shape' => '__boolean', 'locationName' => 'autoMinorVersionUpgrade', ], 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'EngineVersion' => [ 'shape' => '__string', 'locationName' => 'engineVersion', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], ], 'UpdateConfigurationInput' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => '__string', 'locationName' => 'data', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], ], ], 'UpdateConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Warnings' => [ 'shape' => '__listOfSanitizationWarning', 'locationName' => 'warnings', ], ], ], 'UpdateConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'configuration-id', ], 'Data' => [ 'shape' => '__string', 'locationName' => 'data', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], ], 'required' => [ 'ConfigurationId', ], ], 'UpdateConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Created' => [ 'shape' => '__timestampIso8601', 'locationName' => 'created', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'LatestRevision' => [ 'shape' => 'ConfigurationRevision', 'locationName' => 'latestRevision', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Warnings' => [ 'shape' => '__listOfSanitizationWarning', 'locationName' => 'warnings', ], ], ], 'UpdateUserInput' => [ 'type' => 'structure', 'members' => [ 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Password' => [ 'shape' => '__string', 'locationName' => 'password', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Password' => [ 'shape' => '__string', 'locationName' => 'password', ], 'Username' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'username', ], ], 'required' => [ 'Username', 'BrokerId', ], ], 'UpdateUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'User' => [ 'type' => 'structure', 'members' => [ 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'Password' => [ 'shape' => '__string', 'locationName' => 'password', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'UserPendingChanges' => [ 'type' => 'structure', 'members' => [ 'ConsoleAccess' => [ 'shape' => '__boolean', 'locationName' => 'consoleAccess', ], 'Groups' => [ 'shape' => '__listOf__string', 'locationName' => 'groups', ], 'PendingChange' => [ 'shape' => 'ChangeType', 'locationName' => 'pendingChange', ], ], ], 'UserSummary' => [ 'type' => 'structure', 'members' => [ 'PendingChange' => [ 'shape' => 'ChangeType', 'locationName' => 'pendingChange', ], 'Username' => [ 'shape' => '__string', 'locationName' => 'username', ], ], ], 'WeeklyStartTime' => [ 'type' => 'structure', 'members' => [ 'DayOfWeek' => [ 'shape' => 'DayOfWeek', 'locationName' => 'dayOfWeek', ], 'TimeOfDay' => [ 'shape' => '__string', 'locationName' => 'timeOfDay', ], 'TimeZone' => [ 'shape' => '__string', 'locationName' => 'timeZone', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__integerMin5Max100' => [ 'type' => 'integer', 'min' => 5, 'max' => 100, ], '__listOfBrokerInstance' => [ 'type' => 'list', 'member' => [ 'shape' => 'BrokerInstance', ], ], '__listOfBrokerSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'BrokerSummary', ], ], '__listOfConfiguration' => [ 'type' => 'list', 'member' => [ 'shape' => 'Configuration', ], ], '__listOfConfigurationId' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationId', ], ], '__listOfConfigurationRevision' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationRevision', ], ], '__listOfSanitizationWarning' => [ 'type' => 'list', 'member' => [ 'shape' => 'SanitizationWarning', ], ], '__listOfUser' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], '__listOfUserSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserSummary', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/mq/2017-11-27/paginators-1.json.php b/lib/aws/Aws/data/mq/2017-11-27/paginators-1.json.php new file mode 100644 index 0000000..08db604 --- /dev/null +++ b/lib/aws/Aws/data/mq/2017-11-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mq/2017-11-27/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/mturk-requester/2017-01-17/api-2.json.php b/lib/aws/Aws/data/mturk-requester/2017-01-17/api-2.json.php new file mode 100644 index 0000000..cc9f469 --- /dev/null +++ b/lib/aws/Aws/data/mturk-requester/2017-01-17/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mturk-requester/2017-01-17/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-01-17', 'endpointPrefix' => 'mturk-requester', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon MTurk', 'serviceFullName' => 'Amazon Mechanical Turk', 'serviceId' => 'MTurk', 'signatureVersion' => 'v4', 'targetPrefix' => 'MTurkRequesterServiceV20170117', 'uid' => 'mturk-requester-2017-01-17', ], 'operations' => [ 'AcceptQualificationRequest' => [ 'name' => 'AcceptQualificationRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptQualificationRequestRequest', ], 'output' => [ 'shape' => 'AcceptQualificationRequestResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'ApproveAssignment' => [ 'name' => 'ApproveAssignment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApproveAssignmentRequest', ], 'output' => [ 'shape' => 'ApproveAssignmentResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'AssociateQualificationWithWorker' => [ 'name' => 'AssociateQualificationWithWorker', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateQualificationWithWorkerRequest', ], 'output' => [ 'shape' => 'AssociateQualificationWithWorkerResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'CreateAdditionalAssignmentsForHIT' => [ 'name' => 'CreateAdditionalAssignmentsForHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAdditionalAssignmentsForHITRequest', ], 'output' => [ 'shape' => 'CreateAdditionalAssignmentsForHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'CreateHIT' => [ 'name' => 'CreateHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHITRequest', ], 'output' => [ 'shape' => 'CreateHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'CreateHITType' => [ 'name' => 'CreateHITType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHITTypeRequest', ], 'output' => [ 'shape' => 'CreateHITTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'CreateHITWithHITType' => [ 'name' => 'CreateHITWithHITType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHITWithHITTypeRequest', ], 'output' => [ 'shape' => 'CreateHITWithHITTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'CreateQualificationType' => [ 'name' => 'CreateQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateQualificationTypeRequest', ], 'output' => [ 'shape' => 'CreateQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'CreateWorkerBlock' => [ 'name' => 'CreateWorkerBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWorkerBlockRequest', ], 'output' => [ 'shape' => 'CreateWorkerBlockResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'DeleteHIT' => [ 'name' => 'DeleteHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHITRequest', ], 'output' => [ 'shape' => 'DeleteHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'DeleteQualificationType' => [ 'name' => 'DeleteQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteQualificationTypeRequest', ], 'output' => [ 'shape' => 'DeleteQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'DeleteWorkerBlock' => [ 'name' => 'DeleteWorkerBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWorkerBlockRequest', ], 'output' => [ 'shape' => 'DeleteWorkerBlockResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'DisassociateQualificationFromWorker' => [ 'name' => 'DisassociateQualificationFromWorker', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateQualificationFromWorkerRequest', ], 'output' => [ 'shape' => 'DisassociateQualificationFromWorkerResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'GetAccountBalance' => [ 'name' => 'GetAccountBalance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAccountBalanceRequest', ], 'output' => [ 'shape' => 'GetAccountBalanceResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'GetAssignment' => [ 'name' => 'GetAssignment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAssignmentRequest', ], 'output' => [ 'shape' => 'GetAssignmentResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'GetFileUploadURL' => [ 'name' => 'GetFileUploadURL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFileUploadURLRequest', ], 'output' => [ 'shape' => 'GetFileUploadURLResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'GetHIT' => [ 'name' => 'GetHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetHITRequest', ], 'output' => [ 'shape' => 'GetHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'GetQualificationScore' => [ 'name' => 'GetQualificationScore', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQualificationScoreRequest', ], 'output' => [ 'shape' => 'GetQualificationScoreResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'GetQualificationType' => [ 'name' => 'GetQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQualificationTypeRequest', ], 'output' => [ 'shape' => 'GetQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListAssignmentsForHIT' => [ 'name' => 'ListAssignmentsForHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssignmentsForHITRequest', ], 'output' => [ 'shape' => 'ListAssignmentsForHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListBonusPayments' => [ 'name' => 'ListBonusPayments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListBonusPaymentsRequest', ], 'output' => [ 'shape' => 'ListBonusPaymentsResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListHITs' => [ 'name' => 'ListHITs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHITsRequest', ], 'output' => [ 'shape' => 'ListHITsResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListHITsForQualificationType' => [ 'name' => 'ListHITsForQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHITsForQualificationTypeRequest', ], 'output' => [ 'shape' => 'ListHITsForQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListQualificationRequests' => [ 'name' => 'ListQualificationRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListQualificationRequestsRequest', ], 'output' => [ 'shape' => 'ListQualificationRequestsResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListQualificationTypes' => [ 'name' => 'ListQualificationTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListQualificationTypesRequest', ], 'output' => [ 'shape' => 'ListQualificationTypesResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListReviewPolicyResultsForHIT' => [ 'name' => 'ListReviewPolicyResultsForHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListReviewPolicyResultsForHITRequest', ], 'output' => [ 'shape' => 'ListReviewPolicyResultsForHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListReviewableHITs' => [ 'name' => 'ListReviewableHITs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListReviewableHITsRequest', ], 'output' => [ 'shape' => 'ListReviewableHITsResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListWorkerBlocks' => [ 'name' => 'ListWorkerBlocks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWorkerBlocksRequest', ], 'output' => [ 'shape' => 'ListWorkerBlocksResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'ListWorkersWithQualificationType' => [ 'name' => 'ListWorkersWithQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWorkersWithQualificationTypeRequest', ], 'output' => [ 'shape' => 'ListWorkersWithQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'NotifyWorkers' => [ 'name' => 'NotifyWorkers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'NotifyWorkersRequest', ], 'output' => [ 'shape' => 'NotifyWorkersResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'RejectAssignment' => [ 'name' => 'RejectAssignment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectAssignmentRequest', ], 'output' => [ 'shape' => 'RejectAssignmentResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'RejectQualificationRequest' => [ 'name' => 'RejectQualificationRequest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectQualificationRequestRequest', ], 'output' => [ 'shape' => 'RejectQualificationRequestResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'SendBonus' => [ 'name' => 'SendBonus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendBonusRequest', ], 'output' => [ 'shape' => 'SendBonusResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'SendTestEventNotification' => [ 'name' => 'SendTestEventNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendTestEventNotificationRequest', ], 'output' => [ 'shape' => 'SendTestEventNotificationResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], 'UpdateExpirationForHIT' => [ 'name' => 'UpdateExpirationForHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateExpirationForHITRequest', ], 'output' => [ 'shape' => 'UpdateExpirationForHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'UpdateHITReviewStatus' => [ 'name' => 'UpdateHITReviewStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateHITReviewStatusRequest', ], 'output' => [ 'shape' => 'UpdateHITReviewStatusResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'UpdateHITTypeOfHIT' => [ 'name' => 'UpdateHITTypeOfHIT', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateHITTypeOfHITRequest', ], 'output' => [ 'shape' => 'UpdateHITTypeOfHITResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'UpdateNotificationSettings' => [ 'name' => 'UpdateNotificationSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNotificationSettingsRequest', ], 'output' => [ 'shape' => 'UpdateNotificationSettingsResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], 'idempotent' => true, ], 'UpdateQualificationType' => [ 'name' => 'UpdateQualificationType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateQualificationTypeRequest', ], 'output' => [ 'shape' => 'UpdateQualificationTypeResponse', ], 'errors' => [ [ 'shape' => 'ServiceFault', ], [ 'shape' => 'RequestError', ], ], ], ], 'shapes' => [ 'AcceptQualificationRequestRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationRequestId', ], 'members' => [ 'QualificationRequestId' => [ 'shape' => 'String', ], 'IntegerValue' => [ 'shape' => 'Integer', ], ], ], 'AcceptQualificationRequestResponse' => [ 'type' => 'structure', 'members' => [], ], 'ApproveAssignmentRequest' => [ 'type' => 'structure', 'required' => [ 'AssignmentId', ], 'members' => [ 'AssignmentId' => [ 'shape' => 'EntityId', ], 'RequesterFeedback' => [ 'shape' => 'String', ], 'OverrideRejection' => [ 'shape' => 'Boolean', ], ], ], 'ApproveAssignmentResponse' => [ 'type' => 'structure', 'members' => [], ], 'Assignment' => [ 'type' => 'structure', 'members' => [ 'AssignmentId' => [ 'shape' => 'EntityId', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], 'HITId' => [ 'shape' => 'EntityId', ], 'AssignmentStatus' => [ 'shape' => 'AssignmentStatus', ], 'AutoApprovalTime' => [ 'shape' => 'Timestamp', ], 'AcceptTime' => [ 'shape' => 'Timestamp', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], 'ApprovalTime' => [ 'shape' => 'Timestamp', ], 'RejectionTime' => [ 'shape' => 'Timestamp', ], 'Deadline' => [ 'shape' => 'Timestamp', ], 'Answer' => [ 'shape' => 'String', ], 'RequesterFeedback' => [ 'shape' => 'String', ], ], ], 'AssignmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Assignment', ], ], 'AssignmentStatus' => [ 'type' => 'string', 'enum' => [ 'Submitted', 'Approved', 'Rejected', ], ], 'AssignmentStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssignmentStatus', ], ], 'AssociateQualificationWithWorkerRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', 'WorkerId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], 'IntegerValue' => [ 'shape' => 'Integer', ], 'SendNotification' => [ 'shape' => 'Boolean', ], ], ], 'AssociateQualificationWithWorkerResponse' => [ 'type' => 'structure', 'members' => [], ], 'BonusPayment' => [ 'type' => 'structure', 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'BonusAmount' => [ 'shape' => 'CurrencyAmount', ], 'AssignmentId' => [ 'shape' => 'EntityId', ], 'Reason' => [ 'shape' => 'String', ], 'GrantTime' => [ 'shape' => 'Timestamp', ], ], ], 'BonusPaymentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BonusPayment', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'Comparator' => [ 'type' => 'string', 'enum' => [ 'LessThan', 'LessThanOrEqualTo', 'GreaterThan', 'GreaterThanOrEqualTo', 'EqualTo', 'NotEqualTo', 'Exists', 'DoesNotExist', 'In', 'NotIn', ], ], 'CountryParameters' => [ 'type' => 'string', 'max' => 2, 'min' => 2, ], 'CreateAdditionalAssignmentsForHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', 'NumberOfAdditionalAssignments', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'NumberOfAdditionalAssignments' => [ 'shape' => 'Integer', ], 'UniqueRequestToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'CreateAdditionalAssignmentsForHITResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateHITRequest' => [ 'type' => 'structure', 'required' => [ 'LifetimeInSeconds', 'AssignmentDurationInSeconds', 'Reward', 'Title', 'Description', ], 'members' => [ 'MaxAssignments' => [ 'shape' => 'Integer', ], 'AutoApprovalDelayInSeconds' => [ 'shape' => 'Long', ], 'LifetimeInSeconds' => [ 'shape' => 'Long', ], 'AssignmentDurationInSeconds' => [ 'shape' => 'Long', ], 'Reward' => [ 'shape' => 'CurrencyAmount', ], 'Title' => [ 'shape' => 'String', ], 'Keywords' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Question' => [ 'shape' => 'String', ], 'RequesterAnnotation' => [ 'shape' => 'String', ], 'QualificationRequirements' => [ 'shape' => 'QualificationRequirementList', ], 'UniqueRequestToken' => [ 'shape' => 'IdempotencyToken', ], 'AssignmentReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'HITReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'HITLayoutId' => [ 'shape' => 'EntityId', ], 'HITLayoutParameters' => [ 'shape' => 'HITLayoutParameterList', ], ], ], 'CreateHITResponse' => [ 'type' => 'structure', 'members' => [ 'HIT' => [ 'shape' => 'HIT', ], ], ], 'CreateHITTypeRequest' => [ 'type' => 'structure', 'required' => [ 'AssignmentDurationInSeconds', 'Reward', 'Title', 'Description', ], 'members' => [ 'AutoApprovalDelayInSeconds' => [ 'shape' => 'Long', ], 'AssignmentDurationInSeconds' => [ 'shape' => 'Long', ], 'Reward' => [ 'shape' => 'CurrencyAmount', ], 'Title' => [ 'shape' => 'String', ], 'Keywords' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'QualificationRequirements' => [ 'shape' => 'QualificationRequirementList', ], ], ], 'CreateHITTypeResponse' => [ 'type' => 'structure', 'members' => [ 'HITTypeId' => [ 'shape' => 'EntityId', ], ], ], 'CreateHITWithHITTypeRequest' => [ 'type' => 'structure', 'required' => [ 'HITTypeId', 'LifetimeInSeconds', ], 'members' => [ 'HITTypeId' => [ 'shape' => 'EntityId', ], 'MaxAssignments' => [ 'shape' => 'Integer', ], 'LifetimeInSeconds' => [ 'shape' => 'Long', ], 'Question' => [ 'shape' => 'String', ], 'RequesterAnnotation' => [ 'shape' => 'String', ], 'UniqueRequestToken' => [ 'shape' => 'IdempotencyToken', ], 'AssignmentReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'HITReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'HITLayoutId' => [ 'shape' => 'EntityId', ], 'HITLayoutParameters' => [ 'shape' => 'HITLayoutParameterList', ], ], ], 'CreateHITWithHITTypeResponse' => [ 'type' => 'structure', 'members' => [ 'HIT' => [ 'shape' => 'HIT', ], ], ], 'CreateQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Description', 'QualificationTypeStatus', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Keywords' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'QualificationTypeStatus' => [ 'shape' => 'QualificationTypeStatus', ], 'RetryDelayInSeconds' => [ 'shape' => 'Long', ], 'Test' => [ 'shape' => 'String', ], 'AnswerKey' => [ 'shape' => 'String', ], 'TestDurationInSeconds' => [ 'shape' => 'Long', ], 'AutoGranted' => [ 'shape' => 'Boolean', ], 'AutoGrantedValue' => [ 'shape' => 'Integer', ], ], ], 'CreateQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [ 'QualificationType' => [ 'shape' => 'QualificationType', ], ], ], 'CreateWorkerBlockRequest' => [ 'type' => 'structure', 'required' => [ 'WorkerId', 'Reason', ], 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'CreateWorkerBlockResponse' => [ 'type' => 'structure', 'members' => [], ], 'CurrencyAmount' => [ 'type' => 'string', 'pattern' => '^[0-9]+(\\.)?[0-9]{0,2}$', ], 'CustomerId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^A[A-Z0-9]+$', ], 'CustomerIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomerId', ], ], 'DeleteHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteHITResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], ], ], 'DeleteQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteWorkerBlockRequest' => [ 'type' => 'structure', 'required' => [ 'WorkerId', ], 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'DeleteWorkerBlockResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateQualificationFromWorkerRequest' => [ 'type' => 'structure', 'required' => [ 'WorkerId', 'QualificationTypeId', ], 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'DisassociateQualificationFromWorkerResponse' => [ 'type' => 'structure', 'members' => [], ], 'EntityId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[A-Z0-9]+$', ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'AssignmentAccepted', 'AssignmentAbandoned', 'AssignmentReturned', 'AssignmentSubmitted', 'AssignmentRejected', 'AssignmentApproved', 'HITCreated', 'HITExpired', 'HITReviewable', 'HITExtended', 'HITDisposed', 'Ping', ], ], 'EventTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventType', ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'GetAccountBalanceRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAccountBalanceResponse' => [ 'type' => 'structure', 'members' => [ 'AvailableBalance' => [ 'shape' => 'CurrencyAmount', ], 'OnHoldBalance' => [ 'shape' => 'CurrencyAmount', ], ], ], 'GetAssignmentRequest' => [ 'type' => 'structure', 'required' => [ 'AssignmentId', ], 'members' => [ 'AssignmentId' => [ 'shape' => 'EntityId', ], ], ], 'GetAssignmentResponse' => [ 'type' => 'structure', 'members' => [ 'Assignment' => [ 'shape' => 'Assignment', ], 'HIT' => [ 'shape' => 'HIT', ], ], ], 'GetFileUploadURLRequest' => [ 'type' => 'structure', 'required' => [ 'AssignmentId', 'QuestionIdentifier', ], 'members' => [ 'AssignmentId' => [ 'shape' => 'EntityId', ], 'QuestionIdentifier' => [ 'shape' => 'String', ], ], ], 'GetFileUploadURLResponse' => [ 'type' => 'structure', 'members' => [ 'FileUploadURL' => [ 'shape' => 'String', ], ], ], 'GetHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], ], ], 'GetHITResponse' => [ 'type' => 'structure', 'members' => [ 'HIT' => [ 'shape' => 'HIT', ], ], ], 'GetQualificationScoreRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', 'WorkerId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], ], ], 'GetQualificationScoreResponse' => [ 'type' => 'structure', 'members' => [ 'Qualification' => [ 'shape' => 'Qualification', ], ], ], 'GetQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], ], ], 'GetQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [ 'QualificationType' => [ 'shape' => 'QualificationType', ], ], ], 'HIT' => [ 'type' => 'structure', 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'HITTypeId' => [ 'shape' => 'EntityId', ], 'HITGroupId' => [ 'shape' => 'EntityId', ], 'HITLayoutId' => [ 'shape' => 'EntityId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'Title' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Question' => [ 'shape' => 'String', ], 'Keywords' => [ 'shape' => 'String', ], 'HITStatus' => [ 'shape' => 'HITStatus', ], 'MaxAssignments' => [ 'shape' => 'Integer', ], 'Reward' => [ 'shape' => 'CurrencyAmount', ], 'AutoApprovalDelayInSeconds' => [ 'shape' => 'Long', ], 'Expiration' => [ 'shape' => 'Timestamp', ], 'AssignmentDurationInSeconds' => [ 'shape' => 'Long', ], 'RequesterAnnotation' => [ 'shape' => 'String', ], 'QualificationRequirements' => [ 'shape' => 'QualificationRequirementList', ], 'HITReviewStatus' => [ 'shape' => 'HITReviewStatus', ], 'NumberOfAssignmentsPending' => [ 'shape' => 'Integer', ], 'NumberOfAssignmentsAvailable' => [ 'shape' => 'Integer', ], 'NumberOfAssignmentsCompleted' => [ 'shape' => 'Integer', ], ], ], 'HITAccessActions' => [ 'type' => 'string', 'enum' => [ 'Accept', 'PreviewAndAccept', 'DiscoverPreviewAndAccept', ], ], 'HITLayoutParameter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'HITLayoutParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HITLayoutParameter', ], ], 'HITList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HIT', ], ], 'HITReviewStatus' => [ 'type' => 'string', 'enum' => [ 'NotReviewed', 'MarkedForReview', 'ReviewedAppropriate', 'ReviewedInappropriate', ], ], 'HITStatus' => [ 'type' => 'string', 'enum' => [ 'Assignable', 'Unassignable', 'Reviewable', 'Reviewing', 'Disposed', ], ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Integer', ], ], 'ListAssignmentsForHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], 'AssignmentStatuses' => [ 'shape' => 'AssignmentStatusList', ], ], ], 'ListAssignmentsForHITResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'Assignments' => [ 'shape' => 'AssignmentList', ], ], ], 'ListBonusPaymentsRequest' => [ 'type' => 'structure', 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'AssignmentId' => [ 'shape' => 'EntityId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListBonusPaymentsResponse' => [ 'type' => 'structure', 'members' => [ 'NumResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'BonusPayments' => [ 'shape' => 'BonusPaymentList', ], ], ], 'ListHITsForQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListHITsForQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'HITs' => [ 'shape' => 'HITList', ], ], ], 'ListHITsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListHITsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'HITs' => [ 'shape' => 'HITList', ], ], ], 'ListQualificationRequestsRequest' => [ 'type' => 'structure', 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListQualificationRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'NumResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'QualificationRequests' => [ 'shape' => 'QualificationRequestList', ], ], ], 'ListQualificationTypesRequest' => [ 'type' => 'structure', 'required' => [ 'MustBeRequestable', ], 'members' => [ 'Query' => [ 'shape' => 'String', ], 'MustBeRequestable' => [ 'shape' => 'Boolean', ], 'MustBeOwnedByCaller' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListQualificationTypesResponse' => [ 'type' => 'structure', 'members' => [ 'NumResults' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'QualificationTypes' => [ 'shape' => 'QualificationTypeList', ], ], ], 'ListReviewPolicyResultsForHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'PolicyLevels' => [ 'shape' => 'ReviewPolicyLevelList', ], 'RetrieveActions' => [ 'shape' => 'Boolean', ], 'RetrieveResults' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListReviewPolicyResultsForHITResponse' => [ 'type' => 'structure', 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'AssignmentReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'HITReviewPolicy' => [ 'shape' => 'ReviewPolicy', ], 'AssignmentReviewReport' => [ 'shape' => 'ReviewReport', ], 'HITReviewReport' => [ 'shape' => 'ReviewReport', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListReviewableHITsRequest' => [ 'type' => 'structure', 'members' => [ 'HITTypeId' => [ 'shape' => 'EntityId', ], 'Status' => [ 'shape' => 'ReviewableHITStatus', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListReviewableHITsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'HITs' => [ 'shape' => 'HITList', ], ], ], 'ListWorkerBlocksRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListWorkerBlocksResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'WorkerBlocks' => [ 'shape' => 'WorkerBlockList', ], ], ], 'ListWorkersWithQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'Status' => [ 'shape' => 'QualificationStatus', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'ResultSize', ], ], ], 'ListWorkersWithQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'NumResults' => [ 'shape' => 'Integer', ], 'Qualifications' => [ 'shape' => 'QualificationList', ], ], ], 'Locale' => [ 'type' => 'structure', 'required' => [ 'Country', ], 'members' => [ 'Country' => [ 'shape' => 'CountryParameters', ], 'Subdivision' => [ 'shape' => 'CountryParameters', ], ], ], 'LocaleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Locale', ], ], 'Long' => [ 'type' => 'long', ], 'NotificationSpecification' => [ 'type' => 'structure', 'required' => [ 'Destination', 'Transport', 'Version', 'EventTypes', ], 'members' => [ 'Destination' => [ 'shape' => 'String', ], 'Transport' => [ 'shape' => 'NotificationTransport', ], 'Version' => [ 'shape' => 'String', ], 'EventTypes' => [ 'shape' => 'EventTypeList', ], ], ], 'NotificationTransport' => [ 'type' => 'string', 'enum' => [ 'Email', 'SQS', 'SNS', ], ], 'NotifyWorkersFailureCode' => [ 'type' => 'string', 'enum' => [ 'SoftFailure', 'HardFailure', ], ], 'NotifyWorkersFailureStatus' => [ 'type' => 'structure', 'members' => [ 'NotifyWorkersFailureCode' => [ 'shape' => 'NotifyWorkersFailureCode', ], 'NotifyWorkersFailureMessage' => [ 'shape' => 'String', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], ], ], 'NotifyWorkersFailureStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotifyWorkersFailureStatus', ], ], 'NotifyWorkersRequest' => [ 'type' => 'structure', 'required' => [ 'Subject', 'MessageText', 'WorkerIds', ], 'members' => [ 'Subject' => [ 'shape' => 'String', ], 'MessageText' => [ 'shape' => 'String', ], 'WorkerIds' => [ 'shape' => 'CustomerIdList', ], ], ], 'NotifyWorkersResponse' => [ 'type' => 'structure', 'members' => [ 'NotifyWorkersFailureStatuses' => [ 'shape' => 'NotifyWorkersFailureStatusList', ], ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'ParameterMapEntry' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'StringList', ], ], ], 'ParameterMapEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterMapEntry', ], ], 'PolicyParameter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'StringList', ], 'MapEntries' => [ 'shape' => 'ParameterMapEntryList', ], ], ], 'PolicyParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyParameter', ], ], 'Qualification' => [ 'type' => 'structure', 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], 'GrantTime' => [ 'shape' => 'Timestamp', ], 'IntegerValue' => [ 'shape' => 'Integer', ], 'LocaleValue' => [ 'shape' => 'Locale', ], 'Status' => [ 'shape' => 'QualificationStatus', ], ], ], 'QualificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Qualification', ], ], 'QualificationRequest' => [ 'type' => 'structure', 'members' => [ 'QualificationRequestId' => [ 'shape' => 'String', ], 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'WorkerId' => [ 'shape' => 'CustomerId', ], 'Test' => [ 'shape' => 'String', ], 'Answer' => [ 'shape' => 'String', ], 'SubmitTime' => [ 'shape' => 'Timestamp', ], ], ], 'QualificationRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QualificationRequest', ], ], 'QualificationRequirement' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', 'Comparator', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'String', ], 'Comparator' => [ 'shape' => 'Comparator', ], 'IntegerValues' => [ 'shape' => 'IntegerList', ], 'LocaleValues' => [ 'shape' => 'LocaleList', ], 'RequiredToPreview' => [ 'shape' => 'Boolean', 'deprecated' => true, ], 'ActionsGuarded' => [ 'shape' => 'HITAccessActions', ], ], ], 'QualificationRequirementList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QualificationRequirement', ], ], 'QualificationStatus' => [ 'type' => 'string', 'enum' => [ 'Granted', 'Revoked', ], ], 'QualificationType' => [ 'type' => 'structure', 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Keywords' => [ 'shape' => 'String', ], 'QualificationTypeStatus' => [ 'shape' => 'QualificationTypeStatus', ], 'Test' => [ 'shape' => 'String', ], 'TestDurationInSeconds' => [ 'shape' => 'Long', ], 'AnswerKey' => [ 'shape' => 'String', ], 'RetryDelayInSeconds' => [ 'shape' => 'Long', ], 'IsRequestable' => [ 'shape' => 'Boolean', ], 'AutoGranted' => [ 'shape' => 'Boolean', ], 'AutoGrantedValue' => [ 'shape' => 'Integer', ], ], ], 'QualificationTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QualificationType', ], ], 'QualificationTypeStatus' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'RejectAssignmentRequest' => [ 'type' => 'structure', 'required' => [ 'AssignmentId', 'RequesterFeedback', ], 'members' => [ 'AssignmentId' => [ 'shape' => 'EntityId', ], 'RequesterFeedback' => [ 'shape' => 'String', ], ], ], 'RejectAssignmentResponse' => [ 'type' => 'structure', 'members' => [], ], 'RejectQualificationRequestRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationRequestId', ], 'members' => [ 'QualificationRequestId' => [ 'shape' => 'String', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'RejectQualificationRequestResponse' => [ 'type' => 'structure', 'members' => [], ], 'RequestError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'TurkErrorCode' => [ 'shape' => 'TurkErrorCode', ], ], 'exception' => true, ], 'ResultSize' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ReviewActionDetail' => [ 'type' => 'structure', 'members' => [ 'ActionId' => [ 'shape' => 'EntityId', ], 'ActionName' => [ 'shape' => 'String', ], 'TargetId' => [ 'shape' => 'EntityId', ], 'TargetType' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'ReviewActionStatus', ], 'CompleteTime' => [ 'shape' => 'Timestamp', ], 'Result' => [ 'shape' => 'String', ], 'ErrorCode' => [ 'shape' => 'String', ], ], ], 'ReviewActionDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReviewActionDetail', ], ], 'ReviewActionStatus' => [ 'type' => 'string', 'enum' => [ 'Intended', 'Succeeded', 'Failed', 'Cancelled', ], ], 'ReviewPolicy' => [ 'type' => 'structure', 'required' => [ 'PolicyName', ], 'members' => [ 'PolicyName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'PolicyParameterList', ], ], ], 'ReviewPolicyLevel' => [ 'type' => 'string', 'enum' => [ 'Assignment', 'HIT', ], ], 'ReviewPolicyLevelList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReviewPolicyLevel', ], ], 'ReviewReport' => [ 'type' => 'structure', 'members' => [ 'ReviewResults' => [ 'shape' => 'ReviewResultDetailList', ], 'ReviewActions' => [ 'shape' => 'ReviewActionDetailList', ], ], ], 'ReviewResultDetail' => [ 'type' => 'structure', 'members' => [ 'ActionId' => [ 'shape' => 'EntityId', ], 'SubjectId' => [ 'shape' => 'EntityId', ], 'SubjectType' => [ 'shape' => 'String', ], 'QuestionId' => [ 'shape' => 'EntityId', ], 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'ReviewResultDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReviewResultDetail', ], ], 'ReviewableHITStatus' => [ 'type' => 'string', 'enum' => [ 'Reviewable', 'Reviewing', ], ], 'SendBonusRequest' => [ 'type' => 'structure', 'required' => [ 'WorkerId', 'BonusAmount', 'AssignmentId', 'Reason', ], 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'BonusAmount' => [ 'shape' => 'CurrencyAmount', ], 'AssignmentId' => [ 'shape' => 'EntityId', ], 'Reason' => [ 'shape' => 'String', ], 'UniqueRequestToken' => [ 'shape' => 'IdempotencyToken', ], ], ], 'SendBonusResponse' => [ 'type' => 'structure', 'members' => [], ], 'SendTestEventNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'Notification', 'TestEventType', ], 'members' => [ 'Notification' => [ 'shape' => 'NotificationSpecification', ], 'TestEventType' => [ 'shape' => 'EventType', ], ], ], 'SendTestEventNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'ServiceFault' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'TurkErrorCode' => [ 'shape' => 'TurkErrorCode', ], ], 'exception' => true, 'fault' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TurkErrorCode' => [ 'type' => 'string', ], 'UpdateExpirationForHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', 'ExpireAt', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'ExpireAt' => [ 'shape' => 'Timestamp', ], ], ], 'UpdateExpirationForHITResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateHITReviewStatusRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'Revert' => [ 'shape' => 'Boolean', ], ], ], 'UpdateHITReviewStatusResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateHITTypeOfHITRequest' => [ 'type' => 'structure', 'required' => [ 'HITId', 'HITTypeId', ], 'members' => [ 'HITId' => [ 'shape' => 'EntityId', ], 'HITTypeId' => [ 'shape' => 'EntityId', ], ], ], 'UpdateHITTypeOfHITResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotificationSettingsRequest' => [ 'type' => 'structure', 'required' => [ 'HITTypeId', ], 'members' => [ 'HITTypeId' => [ 'shape' => 'EntityId', ], 'Notification' => [ 'shape' => 'NotificationSpecification', ], 'Active' => [ 'shape' => 'Boolean', ], ], ], 'UpdateNotificationSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateQualificationTypeRequest' => [ 'type' => 'structure', 'required' => [ 'QualificationTypeId', ], 'members' => [ 'QualificationTypeId' => [ 'shape' => 'EntityId', ], 'Description' => [ 'shape' => 'String', ], 'QualificationTypeStatus' => [ 'shape' => 'QualificationTypeStatus', ], 'Test' => [ 'shape' => 'String', ], 'AnswerKey' => [ 'shape' => 'String', ], 'TestDurationInSeconds' => [ 'shape' => 'Long', ], 'RetryDelayInSeconds' => [ 'shape' => 'Long', ], 'AutoGranted' => [ 'shape' => 'Boolean', ], 'AutoGrantedValue' => [ 'shape' => 'Integer', ], ], ], 'UpdateQualificationTypeResponse' => [ 'type' => 'structure', 'members' => [ 'QualificationType' => [ 'shape' => 'QualificationType', ], ], ], 'WorkerBlock' => [ 'type' => 'structure', 'members' => [ 'WorkerId' => [ 'shape' => 'CustomerId', ], 'Reason' => [ 'shape' => 'String', ], ], ], 'WorkerBlockList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkerBlock', ], ], ],]; diff --git a/lib/aws/Aws/data/mturk-requester/2017-01-17/paginators-1.json.php b/lib/aws/Aws/data/mturk-requester/2017-01-17/paginators-1.json.php new file mode 100644 index 0000000..d79dfa3 --- /dev/null +++ b/lib/aws/Aws/data/mturk-requester/2017-01-17/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mturk-requester/2017-01-17/paginators-1.json +return [ 'pagination' => [ 'ListAssignmentsForHIT' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListBonusPayments' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListHITs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListHITsForQualificationType' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListQualificationRequests' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListQualificationTypes' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListReviewPolicyResultsForHIT' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListReviewableHITs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListWorkerBlocks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListWorkersWithQualificationType' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/mturk-requester/2017-01-17/smoke.json.php b/lib/aws/Aws/data/mturk-requester/2017-01-17/smoke.json.php new file mode 100644 index 0000000..ec60de5 --- /dev/null +++ b/lib/aws/Aws/data/mturk-requester/2017-01-17/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/mturk-requester/2017-01-17/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'GetAccountBalance', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/neptune/2014-10-31/api-2.json.php b/lib/aws/Aws/data/neptune/2014-10-31/api-2.json.php new file mode 100644 index 0000000..ae971a6 --- /dev/null +++ b/lib/aws/Aws/data/neptune/2014-10-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/neptune/2014-10-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-10-31', 'endpointPrefix' => 'rds', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon Neptune', 'serviceFullName' => 'Amazon Neptune', 'serviceId' => 'Neptune', 'signatureVersion' => 'v4', 'signingName' => 'rds', 'uid' => 'neptune-2014-10-31', 'xmlNamespace' => 'http://rds.amazonaws.com/doc/2014-10-31/', ], 'operations' => [ 'AddRoleToDBCluster' => [ 'name' => 'AddRoleToDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddRoleToDBClusterMessage', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterRoleAlreadyExistsFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterRoleQuotaExceededFault', ], ], ], 'AddSourceIdentifierToSubscription' => [ 'name' => 'AddSourceIdentifierToSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddSourceIdentifierToSubscriptionMessage', ], 'output' => [ 'shape' => 'AddSourceIdentifierToSubscriptionResult', 'resultWrapper' => 'AddSourceIdentifierToSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ApplyPendingMaintenanceAction' => [ 'name' => 'ApplyPendingMaintenanceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplyPendingMaintenanceActionMessage', ], 'output' => [ 'shape' => 'ApplyPendingMaintenanceActionResult', 'resultWrapper' => 'ApplyPendingMaintenanceActionResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'CopyDBClusterParameterGroup' => [ 'name' => 'CopyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBClusterParameterGroupResult', 'resultWrapper' => 'CopyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CopyDBClusterSnapshot' => [ 'name' => 'CopyDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CopyDBClusterSnapshotResult', 'resultWrapper' => 'CopyDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CopyDBParameterGroup' => [ 'name' => 'CopyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBParameterGroupResult', 'resultWrapper' => 'CopyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], ], ], 'CreateDBCluster' => [ 'name' => 'CreateDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterMessage', ], 'output' => [ 'shape' => 'CreateDBClusterResult', 'resultWrapper' => 'CreateDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], ], ], 'CreateDBClusterParameterGroup' => [ 'name' => 'CreateDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBClusterParameterGroupResult', 'resultWrapper' => 'CreateDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBClusterSnapshot' => [ 'name' => 'CreateDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CreateDBClusterSnapshotResult', 'resultWrapper' => 'CreateDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'CreateDBInstance' => [ 'name' => 'CreateDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceResult', 'resultWrapper' => 'CreateDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DomainNotFoundFault', ], ], ], 'CreateDBParameterGroup' => [ 'name' => 'CreateDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBParameterGroupResult', 'resultWrapper' => 'CreateDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBSubnetGroup' => [ 'name' => 'CreateDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSubnetGroupResult', 'resultWrapper' => 'CreateDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'DBSubnetGroupQuotaExceededFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'CreateEventSubscription' => [ 'name' => 'CreateEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEventSubscriptionMessage', ], 'output' => [ 'shape' => 'CreateEventSubscriptionResult', 'resultWrapper' => 'CreateEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionAlreadyExistFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'DeleteDBCluster' => [ 'name' => 'DeleteDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterResult', 'resultWrapper' => 'DeleteDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'DeleteDBClusterParameterGroup' => [ 'name' => 'DeleteDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBClusterSnapshot' => [ 'name' => 'DeleteDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterSnapshotResult', 'resultWrapper' => 'DeleteDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DeleteDBInstance' => [ 'name' => 'DeleteDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBInstanceMessage', ], 'output' => [ 'shape' => 'DeleteDBInstanceResult', 'resultWrapper' => 'DeleteDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'DeleteDBParameterGroup' => [ 'name' => 'DeleteDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBSubnetGroup' => [ 'name' => 'DeleteDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidDBSubnetStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DeleteEventSubscription' => [ 'name' => 'DeleteEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEventSubscriptionMessage', ], 'output' => [ 'shape' => 'DeleteEventSubscriptionResult', 'resultWrapper' => 'DeleteEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'InvalidEventSubscriptionStateFault', ], ], ], 'DescribeDBClusterParameterGroups' => [ 'name' => 'DescribeDBClusterParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupsMessage', 'resultWrapper' => 'DescribeDBClusterParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterParameters' => [ 'name' => 'DescribeDBClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParametersMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupDetails', 'resultWrapper' => 'DescribeDBClusterParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterSnapshotAttributes' => [ 'name' => 'DescribeDBClusterSnapshotAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesMessage', ], 'output' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesResult', 'resultWrapper' => 'DescribeDBClusterSnapshotAttributesResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusterSnapshots' => [ 'name' => 'DescribeDBClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotsMessage', ], 'output' => [ 'shape' => 'DBClusterSnapshotMessage', 'resultWrapper' => 'DescribeDBClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusters' => [ 'name' => 'DescribeDBClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClustersMessage', ], 'output' => [ 'shape' => 'DBClusterMessage', 'resultWrapper' => 'DescribeDBClustersResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'DescribeDBEngineVersions' => [ 'name' => 'DescribeDBEngineVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBEngineVersionsMessage', ], 'output' => [ 'shape' => 'DBEngineVersionMessage', 'resultWrapper' => 'DescribeDBEngineVersionsResult', ], ], 'DescribeDBInstances' => [ 'name' => 'DescribeDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBInstancesMessage', ], 'output' => [ 'shape' => 'DBInstanceMessage', 'resultWrapper' => 'DescribeDBInstancesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBParameterGroups' => [ 'name' => 'DescribeDBParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBParameterGroupsMessage', 'resultWrapper' => 'DescribeDBParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBParameters' => [ 'name' => 'DescribeDBParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParametersMessage', ], 'output' => [ 'shape' => 'DBParameterGroupDetails', 'resultWrapper' => 'DescribeDBParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBSubnetGroups' => [ 'name' => 'DescribeDBSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSubnetGroupsMessage', ], 'output' => [ 'shape' => 'DBSubnetGroupMessage', 'resultWrapper' => 'DescribeDBSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DescribeEngineDefaultClusterParameters' => [ 'name' => 'DescribeEngineDefaultClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultClusterParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultClusterParametersResult', 'resultWrapper' => 'DescribeEngineDefaultClusterParametersResult', ], ], 'DescribeEngineDefaultParameters' => [ 'name' => 'DescribeEngineDefaultParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultParametersResult', 'resultWrapper' => 'DescribeEngineDefaultParametersResult', ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'EventCategoriesMessage', 'resultWrapper' => 'DescribeEventCategoriesResult', ], ], 'DescribeEventSubscriptions' => [ 'name' => 'DescribeEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventSubscriptionsMessage', ], 'output' => [ 'shape' => 'EventSubscriptionsMessage', 'resultWrapper' => 'DescribeEventSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeOrderableDBInstanceOptions' => [ 'name' => 'DescribeOrderableDBInstanceOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableDBInstanceOptionsMessage', ], 'output' => [ 'shape' => 'OrderableDBInstanceOptionsMessage', 'resultWrapper' => 'DescribeOrderableDBInstanceOptionsResult', ], ], 'DescribePendingMaintenanceActions' => [ 'name' => 'DescribePendingMaintenanceActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePendingMaintenanceActionsMessage', ], 'output' => [ 'shape' => 'PendingMaintenanceActionsMessage', 'resultWrapper' => 'DescribePendingMaintenanceActionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeValidDBInstanceModifications' => [ 'name' => 'DescribeValidDBInstanceModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeValidDBInstanceModificationsMessage', ], 'output' => [ 'shape' => 'DescribeValidDBInstanceModificationsResult', 'resultWrapper' => 'DescribeValidDBInstanceModificationsResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'FailoverDBCluster' => [ 'name' => 'FailoverDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'FailoverDBClusterMessage', ], 'output' => [ 'shape' => 'FailoverDBClusterResult', 'resultWrapper' => 'FailoverDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ModifyDBCluster' => [ 'name' => 'ModifyDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterResult', 'resultWrapper' => 'ModifyDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterAlreadyExistsFault', ], ], ], 'ModifyDBClusterParameterGroup' => [ 'name' => 'ModifyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBClusterSnapshotAttribute' => [ 'name' => 'ModifyDBClusterSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeResult', 'resultWrapper' => 'ModifyDBClusterSnapshotAttributeResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SharedSnapshotQuotaExceededFault', ], ], ], 'ModifyDBInstance' => [ 'name' => 'ModifyDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBInstanceMessage', ], 'output' => [ 'shape' => 'ModifyDBInstanceResult', 'resultWrapper' => 'ModifyDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBUpgradeDependencyFailureFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'CertificateNotFoundFault', ], [ 'shape' => 'DomainNotFoundFault', ], ], ], 'ModifyDBParameterGroup' => [ 'name' => 'ModifyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBSubnetGroup' => [ 'name' => 'ModifyDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyDBSubnetGroupResult', 'resultWrapper' => 'ModifyDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'ModifyEventSubscription' => [ 'name' => 'ModifyEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEventSubscriptionMessage', ], 'output' => [ 'shape' => 'ModifyEventSubscriptionResult', 'resultWrapper' => 'ModifyEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], ], ], 'PromoteReadReplicaDBCluster' => [ 'name' => 'PromoteReadReplicaDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PromoteReadReplicaDBClusterMessage', ], 'output' => [ 'shape' => 'PromoteReadReplicaDBClusterResult', 'resultWrapper' => 'PromoteReadReplicaDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'RebootDBInstance' => [ 'name' => 'RebootDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootDBInstanceMessage', ], 'output' => [ 'shape' => 'RebootDBInstanceResult', 'resultWrapper' => 'RebootDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'RemoveRoleFromDBCluster' => [ 'name' => 'RemoveRoleFromDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveRoleFromDBClusterMessage', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterRoleNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'RemoveSourceIdentifierFromSubscription' => [ 'name' => 'RemoveSourceIdentifierFromSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionMessage', ], 'output' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionResult', 'resultWrapper' => 'RemoveSourceIdentifierFromSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ResetDBClusterParameterGroup' => [ 'name' => 'ResetDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ResetDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'ResetDBParameterGroup' => [ 'name' => 'ResetDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ResetDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'RestoreDBClusterFromSnapshot' => [ 'name' => 'RestoreDBClusterFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterFromSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterFromSnapshotResult', 'resultWrapper' => 'RestoreDBClusterFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'RestoreDBClusterToPointInTime' => [ 'name' => 'RestoreDBClusterToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterToPointInTimeMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterToPointInTimeResult', 'resultWrapper' => 'RestoreDBClusterToPointInTimeResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], ], ], ], 'shapes' => [ 'AddRoleToDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'RoleArn', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], ], ], 'AddSourceIdentifierToSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'AddSourceIdentifierToSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ApplyMethod' => [ 'type' => 'string', 'enum' => [ 'immediate', 'pending-reboot', ], ], 'ApplyPendingMaintenanceActionMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceIdentifier', 'ApplyAction', 'OptInType', ], 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'ApplyAction' => [ 'shape' => 'String', ], 'OptInType' => [ 'shape' => 'String', ], ], ], 'ApplyPendingMaintenanceActionResult' => [ 'type' => 'structure', 'members' => [ 'ResourcePendingMaintenanceActions' => [ 'shape' => 'ResourcePendingMaintenanceActions', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AttributeValue', ], ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'AvailabilityZone', ], ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AvailabilityZone', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'CertificateNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CertificateNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CharacterSet' => [ 'type' => 'structure', 'members' => [ 'CharacterSetName' => [ 'shape' => 'String', ], 'CharacterSetDescription' => [ 'shape' => 'String', ], ], ], 'CloudwatchLogsExportConfiguration' => [ 'type' => 'structure', 'members' => [ 'EnableLogTypes' => [ 'shape' => 'LogTypeList', ], 'DisableLogTypes' => [ 'shape' => 'LogTypeList', ], ], ], 'CopyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupDescription', ], 'members' => [ 'SourceDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CopyDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterSnapshotIdentifier', 'TargetDBClusterSnapshotIdentifier', ], 'members' => [ 'SourceDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'CopyTags' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CopyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBParameterGroupIdentifier', 'TargetDBParameterGroupIdentifier', 'TargetDBParameterGroupDescription', ], 'members' => [ 'SourceDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CreateDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ReplicationSourceIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CreateDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'CreateDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'DBClusterIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CreateDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBInstanceClass', 'Engine', ], 'members' => [ 'DBName' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', 'deprecated' => true, ], 'Tags' => [ 'shape' => 'TagList', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'Timezone' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], ], 'CreateDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CreateDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'DBSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'CreateEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SnsTopicArn', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'DBCluster' => [ 'type' => 'structure', 'members' => [ 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroup' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'String', ], 'EarliestRestorableTime' => [ 'shape' => 'TStamp', ], 'Endpoint' => [ 'shape' => 'String', ], 'ReaderEndpoint' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBClusterOptionGroupMemberships' => [ 'shape' => 'DBClusterOptionGroupMemberships', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ReplicationSourceIdentifier' => [ 'shape' => 'String', ], 'ReadReplicaIdentifiers' => [ 'shape' => 'ReadReplicaIdentifierList', ], 'DBClusterMembers' => [ 'shape' => 'DBClusterMemberList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'HostedZoneId' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbClusterResourceId' => [ 'shape' => 'String', ], 'DBClusterArn' => [ 'shape' => 'String', ], 'AssociatedRoles' => [ 'shape' => 'DBClusterRoles', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], 'CloneGroupId' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], ], 'wrapper' => true, ], 'DBClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBCluster', 'locationName' => 'DBCluster', ], ], 'DBClusterMember' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'IsClusterWriter' => [ 'shape' => 'Boolean', ], 'DBClusterParameterGroupStatus' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], ], 'wrapper' => true, ], 'DBClusterMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterMember', 'locationName' => 'DBClusterMember', ], ], 'DBClusterMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusters' => [ 'shape' => 'DBClusterList', ], ], ], 'DBClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterOptionGroupMemberships' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterOptionGroupStatus', 'locationName' => 'DBClusterOptionGroup', ], ], 'DBClusterOptionGroupStatus' => [ 'type' => 'structure', 'members' => [ 'DBClusterOptionGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DBClusterParameterGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBClusterParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterParameterGroup', 'locationName' => 'DBClusterParameterGroup', ], ], 'DBClusterParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterParameterGroups' => [ 'shape' => 'DBClusterParameterGroupList', ], ], ], 'DBClusterQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterQuotaExceededFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRole' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBClusterRoleAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoleQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoles' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterRole', 'locationName' => 'DBClusterRole', ], ], 'DBClusterSnapshot' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Engine' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'VpcId' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'Integer', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DBClusterSnapshotArn' => [ 'shape' => 'String', ], 'SourceDBClusterSnapshotArn' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'DBClusterSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterSnapshotAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', ], 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], ], ], 'DBClusterSnapshotAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshotAttribute', 'locationName' => 'DBClusterSnapshotAttribute', ], ], 'DBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotAttributes' => [ 'shape' => 'DBClusterSnapshotAttributeList', ], ], 'wrapper' => true, ], 'DBClusterSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshot', 'locationName' => 'DBClusterSnapshot', ], ], 'DBClusterSnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterSnapshots' => [ 'shape' => 'DBClusterSnapshotList', ], ], ], 'DBClusterSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBEngineVersion' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'DBEngineDescription' => [ 'shape' => 'String', ], 'DBEngineVersionDescription' => [ 'shape' => 'String', ], 'DefaultCharacterSet' => [ 'shape' => 'CharacterSet', ], 'SupportedCharacterSets' => [ 'shape' => 'SupportedCharacterSetsList', ], 'ValidUpgradeTarget' => [ 'shape' => 'ValidUpgradeTargetList', ], 'SupportedTimezones' => [ 'shape' => 'SupportedTimezonesList', ], 'ExportableLogTypes' => [ 'shape' => 'LogTypeList', ], 'SupportsLogExportsToCloudwatchLogs' => [ 'shape' => 'Boolean', ], 'SupportsReadReplica' => [ 'shape' => 'Boolean', ], ], ], 'DBEngineVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBEngineVersion', 'locationName' => 'DBEngineVersion', ], ], 'DBEngineVersionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBEngineVersions' => [ 'shape' => 'DBEngineVersionList', ], ], ], 'DBInstance' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'DBInstanceStatus' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'Integer', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupMembershipList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupStatusList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'ReadReplicaSourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'ReadReplicaDBInstanceIdentifiers' => [ 'shape' => 'ReadReplicaDBInstanceIdentifierList', ], 'ReadReplicaDBClusterIdentifiers' => [ 'shape' => 'ReadReplicaDBClusterIdentifierList', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupMemberships' => [ 'shape' => 'OptionGroupMembershipList', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'SecondaryAvailabilityZone' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', 'deprecated' => true, ], 'StatusInfos' => [ 'shape' => 'DBInstanceStatusInfoList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'DbInstancePort' => [ 'shape' => 'Integer', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbiResourceId' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'DomainMemberships' => [ 'shape' => 'DomainMembershipList', ], 'CopyTagsToSnapshot' => [ 'shape' => 'Boolean', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'EnhancedMonitoringResourceArn' => [ 'shape' => 'String', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceArn' => [ 'shape' => 'String', ], 'Timezone' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], 'PerformanceInsightsEnabled' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], ], 'wrapper' => true, ], 'DBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstance', 'locationName' => 'DBInstance', ], ], 'DBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBInstances' => [ 'shape' => 'DBInstanceList', ], ], ], 'DBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceStatusInfo' => [ 'type' => 'structure', 'members' => [ 'StatusType' => [ 'shape' => 'String', ], 'Normal' => [ 'shape' => 'Boolean', ], 'Status' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'DBInstanceStatusInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceStatusInfo', 'locationName' => 'DBInstanceStatusInfo', ], ], 'DBParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DBParameterGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroup', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroupStatus', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupList', ], ], ], 'DBSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSecurityGroupMembership', 'locationName' => 'DBSecurityGroup', ], ], 'DBSecurityGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DBSecurityGroupName', ], ], 'DBSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], 'DBSubnetGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupDoesNotCoverEnoughAZs' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupDoesNotCoverEnoughAZs', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSubnetGroups' => [ 'shape' => 'DBSubnetGroups', ], ], ], 'DBSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSubnetGroup', 'locationName' => 'DBSubnetGroup', ], ], 'DBSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBUpgradeDependencyFailureFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBUpgradeDependencyFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DeleteDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'DeleteDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'DeleteDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'DeleteDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'DescribeDBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'DescribeDBClusterSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'IncludeShared' => [ 'shape' => 'Boolean', ], 'IncludePublic' => [ 'shape' => 'Boolean', ], ], ], 'DescribeDBClustersMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBEngineVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'DefaultOnly' => [ 'shape' => 'Boolean', ], 'ListSupportedCharacterSets' => [ 'shape' => 'BooleanOptional', ], 'ListSupportedTimezones' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEngineDefaultParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeEventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'Engine', ], 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Vpc' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribePendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], ], ], 'DescribeValidDBInstanceModificationsMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeValidDBInstanceModificationsResult' => [ 'type' => 'structure', 'members' => [ 'ValidDBInstanceModificationsMessage' => [ 'shape' => 'ValidDBInstanceModificationsMessage', ], ], ], 'DomainMembership' => [ 'type' => 'structure', 'members' => [ 'Domain' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'FQDN' => [ 'shape' => 'String', ], 'IAMRoleName' => [ 'shape' => 'String', ], ], ], 'DomainMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainMembership', 'locationName' => 'DomainMembership', ], ], 'DomainNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DomainNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'Double' => [ 'type' => 'double', ], 'DoubleOptional' => [ 'type' => 'double', ], 'DoubleRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Double', ], 'To' => [ 'shape' => 'Double', ], ], ], 'DoubleRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DoubleRange', 'locationName' => 'DoubleRange', ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'HostedZoneId' => [ 'shape' => 'String', ], ], ], 'EngineDefaults' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Date' => [ 'shape' => 'TStamp', ], 'SourceArn' => [ 'shape' => 'String', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'EventCategory', ], ], 'EventCategoriesMap' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], ], 'wrapper' => true, ], 'EventCategoriesMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoriesMap', 'locationName' => 'EventCategoriesMap', ], ], 'EventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'EventCategoriesMapList' => [ 'shape' => 'EventCategoriesMapList', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventSubscription' => [ 'type' => 'structure', 'members' => [ 'CustomerAwsId' => [ 'shape' => 'String', ], 'CustSubscriptionId' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubscriptionCreationTime' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIdsList' => [ 'shape' => 'SourceIdsList', ], 'EventCategoriesList' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'EventSubscriptionArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'EventSubscriptionQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'EventSubscriptionQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventSubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', 'locationName' => 'EventSubscription', ], ], 'EventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'EventSubscriptionsList' => [ 'shape' => 'EventSubscriptionsList', ], ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'FailoverDBClusterMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'TargetDBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'FailoverDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Value', ], ], 'InstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBClusterCapacityFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBInstanceCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBInstanceCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientStorageClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientStorageClusterCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidDBClusterSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterSnapshotStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBInstanceStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBInstanceState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidEventSubscriptionStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidEventSubscriptionState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRestoreFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRestoreFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSKeyNotAccessibleFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'KMSKeyNotAccessibleFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'LogTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ModifyDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'NewDBClusterIdentifier' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], ], ], 'ModifyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'Parameters', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'ModifyDBClusterSnapshotAttributeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'AttributeName', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'AttributeName' => [ 'shape' => 'String', ], 'ValuesToAdd' => [ 'shape' => 'AttributeValueList', ], 'ValuesToRemove' => [ 'shape' => 'AttributeValueList', ], ], ], 'ModifyDBClusterSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'ModifyDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AllowMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'NewDBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'DBPortNumber' => [ 'shape' => 'IntegerOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', 'deprecated' => true, ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'CloudwatchLogsExportConfiguration' => [ 'shape' => 'CloudwatchLogsExportConfiguration', ], ], ], 'ModifyDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ModifyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'Parameters', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'ModifyEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'OptionGroupMembership' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'OptionGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupMembership', 'locationName' => 'OptionGroupMembership', ], ], 'OptionGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'OrderableDBInstanceOption' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'MultiAZCapable' => [ 'shape' => 'Boolean', ], 'ReadReplicaCapable' => [ 'shape' => 'Boolean', ], 'Vpc' => [ 'shape' => 'Boolean', ], 'SupportsStorageEncryption' => [ 'shape' => 'Boolean', ], 'StorageType' => [ 'shape' => 'String', ], 'SupportsIops' => [ 'shape' => 'Boolean', ], 'SupportsEnhancedMonitoring' => [ 'shape' => 'Boolean', ], 'SupportsIAMDatabaseAuthentication' => [ 'shape' => 'Boolean', ], 'SupportsPerformanceInsights' => [ 'shape' => 'Boolean', ], 'MinStorageSize' => [ 'shape' => 'IntegerOptional', ], 'MaxStorageSize' => [ 'shape' => 'IntegerOptional', ], 'MinIopsPerDbInstance' => [ 'shape' => 'IntegerOptional', ], 'MaxIopsPerDbInstance' => [ 'shape' => 'IntegerOptional', ], 'MinIopsPerGib' => [ 'shape' => 'DoubleOptional', ], 'MaxIopsPerGib' => [ 'shape' => 'DoubleOptional', ], ], 'wrapper' => true, ], 'OrderableDBInstanceOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableDBInstanceOption', 'locationName' => 'OrderableDBInstanceOption', ], ], 'OrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OrderableDBInstanceOptions' => [ 'shape' => 'OrderableDBInstanceOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'ApplyMethod' => [ 'shape' => 'ApplyMethod', ], ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingCloudwatchLogsExports' => [ 'type' => 'structure', 'members' => [ 'LogTypesToEnable' => [ 'shape' => 'LogTypeList', ], 'LogTypesToDisable' => [ 'shape' => 'LogTypeList', ], ], ], 'PendingMaintenanceAction' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'String', ], 'AutoAppliedAfterDate' => [ 'shape' => 'TStamp', ], 'ForcedApplyDate' => [ 'shape' => 'TStamp', ], 'OptInStatus' => [ 'shape' => 'String', ], 'CurrentApplyDate' => [ 'shape' => 'TStamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'PendingMaintenanceActionDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingMaintenanceAction', 'locationName' => 'PendingMaintenanceAction', ], ], 'PendingMaintenanceActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePendingMaintenanceActions', 'locationName' => 'ResourcePendingMaintenanceActions', ], ], 'PendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'PendingMaintenanceActions' => [ 'shape' => 'PendingMaintenanceActions', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'DBInstanceClass' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PendingCloudwatchLogsExports' => [ 'shape' => 'PendingCloudwatchLogsExports', ], ], ], 'PromoteReadReplicaDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'PromoteReadReplicaDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'ProvisionedIopsNotAvailableInAZFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ProvisionedIopsNotAvailableInAZFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Range' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', ], 'To' => [ 'shape' => 'Integer', ], 'Step' => [ 'shape' => 'IntegerOptional', ], ], ], 'RangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Range', 'locationName' => 'Range', ], ], 'ReadReplicaDBClusterIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaDBClusterIdentifier', ], ], 'ReadReplicaDBInstanceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaDBInstanceIdentifier', ], ], 'ReadReplicaIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaIdentifier', ], ], 'RebootDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RemoveRoleFromDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'RoleArn', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], ], ], 'RemoveSourceIdentifierFromSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'RemoveSourceIdentifierFromSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'ResetDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResetDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResourcePendingMaintenanceActions' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'PendingMaintenanceActionDetails' => [ 'shape' => 'PendingMaintenanceActionDetails', ], ], 'wrapper' => true, ], 'RestoreDBClusterFromSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SnapshotIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBClusterFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'RestoreDBClusterToPointInTimeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SourceDBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RestoreType' => [ 'shape' => 'String', ], 'SourceDBClusterIdentifier' => [ 'shape' => 'String', ], 'RestoreToTime' => [ 'shape' => 'TStamp', ], 'UseLatestRestorableTime' => [ 'shape' => 'Boolean', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBClusterToPointInTimeResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'SNSInvalidTopicFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSInvalidTopic', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSNoAuthorizationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSNoAuthorization', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSTopicArnNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSTopicArnNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SharedSnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SharedSnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SourceId', ], ], 'SourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'db-instance', 'db-parameter-group', 'db-security-group', 'db-snapshot', 'db-cluster', 'db-cluster-snapshot', ], ], 'StorageQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'StorageTypeNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageTypeNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetAlreadyInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'SubscriptionAlreadyExistFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionAlreadyExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionCategoryNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionCategoryNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SupportedCharacterSetsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CharacterSet', 'locationName' => 'CharacterSet', ], ], 'SupportedTimezonesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Timezone', 'locationName' => 'Timezone', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagListMessage' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'Timezone' => [ 'type' => 'structure', 'members' => [ 'TimezoneName' => [ 'shape' => 'String', ], ], ], 'UpgradeTarget' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'AutoUpgrade' => [ 'shape' => 'Boolean', ], 'IsMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], ], ], 'ValidDBInstanceModificationsMessage' => [ 'type' => 'structure', 'members' => [ 'Storage' => [ 'shape' => 'ValidStorageOptionsList', ], ], 'wrapper' => true, ], 'ValidStorageOptions' => [ 'type' => 'structure', 'members' => [ 'StorageType' => [ 'shape' => 'String', ], 'StorageSize' => [ 'shape' => 'RangeList', ], 'ProvisionedIops' => [ 'shape' => 'RangeList', ], 'IopsToStorageRatio' => [ 'shape' => 'DoubleRangeList', ], ], ], 'ValidStorageOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidStorageOptions', 'locationName' => 'ValidStorageOptions', ], ], 'ValidUpgradeTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpgradeTarget', 'locationName' => 'UpgradeTarget', ], ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcSecurityGroupId', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', 'locationName' => 'VpcSecurityGroupMembership', ], ], ],]; diff --git a/lib/aws/Aws/data/neptune/2014-10-31/paginators-1.json.php b/lib/aws/Aws/data/neptune/2014-10-31/paginators-1.json.php new file mode 100644 index 0000000..961a2f8 --- /dev/null +++ b/lib/aws/Aws/data/neptune/2014-10-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/neptune/2014-10-31/paginators-1.json +return [ 'pagination' => [ 'DescribeDBEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBEngineVersions', ], 'DescribeDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstances', ], 'DescribeDBParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBParameterGroups', ], 'DescribeDBParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeDBSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSubnetGroups', ], 'DescribeEngineDefaultParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'EngineDefaults.Marker', 'result_key' => 'EngineDefaults.Parameters', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'EventSubscriptionsList', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeOrderableDBInstanceOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableDBInstanceOptions', ], 'ListTagsForResource' => [ 'result_key' => 'TagList', ], ],]; diff --git a/lib/aws/Aws/data/neptune/2014-10-31/waiters-2.json.php b/lib/aws/Aws/data/neptune/2014-10-31/waiters-2.json.php new file mode 100644 index 0000000..9bdfe58 --- /dev/null +++ b/lib/aws/Aws/data/neptune/2014-10-31/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/neptune/2014-10-31/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DBInstanceAvailable' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-restore', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-parameters', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], 'DBInstanceDeleted' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'DBInstanceNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'resetting-master-credentials', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], ],]; diff --git a/lib/aws/Aws/data/opsworks/2013-02-18/api-2.json.php b/lib/aws/Aws/data/opsworks/2013-02-18/api-2.json.php new file mode 100644 index 0000000..42332ff --- /dev/null +++ b/lib/aws/Aws/data/opsworks/2013-02-18/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworks/2013-02-18/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-02-18', 'endpointPrefix' => 'opsworks', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS OpsWorks', 'serviceId' => 'OpsWorks', 'signatureVersion' => 'v4', 'targetPrefix' => 'OpsWorks_20130218', 'uid' => 'opsworks-2013-02-18', ], 'operations' => [ 'AssignInstance' => [ 'name' => 'AssignInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AssignVolume' => [ 'name' => 'AssignVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssignVolumeRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AssociateElasticIp' => [ 'name' => 'AssociateElasticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateElasticIpRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AttachElasticLoadBalancer' => [ 'name' => 'AttachElasticLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachElasticLoadBalancerRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CloneStack' => [ 'name' => 'CloneStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CloneStackRequest', ], 'output' => [ 'shape' => 'CloneStackResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateApp' => [ 'name' => 'CreateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAppRequest', ], 'output' => [ 'shape' => 'CreateAppResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateDeployment' => [ 'name' => 'CreateDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDeploymentRequest', ], 'output' => [ 'shape' => 'CreateDeploymentResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateInstance' => [ 'name' => 'CreateInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateInstanceRequest', ], 'output' => [ 'shape' => 'CreateInstanceResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateLayer' => [ 'name' => 'CreateLayer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLayerRequest', ], 'output' => [ 'shape' => 'CreateLayerResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateStack' => [ 'name' => 'CreateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStackRequest', ], 'output' => [ 'shape' => 'CreateStackResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'CreateUserProfile' => [ 'name' => 'CreateUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserProfileRequest', ], 'output' => [ 'shape' => 'CreateUserProfileResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'DeleteApp' => [ 'name' => 'DeleteApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAppRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteInstance' => [ 'name' => 'DeleteInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteLayer' => [ 'name' => 'DeleteLayer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLayerRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteStack' => [ 'name' => 'DeleteStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStackRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteUserProfile' => [ 'name' => 'DeleteUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserProfileRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeregisterEcsCluster' => [ 'name' => 'DeregisterEcsCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterEcsClusterRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeregisterElasticIp' => [ 'name' => 'DeregisterElasticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterElasticIpRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeregisterInstance' => [ 'name' => 'DeregisterInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeregisterRdsDbInstance' => [ 'name' => 'DeregisterRdsDbInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterRdsDbInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeregisterVolume' => [ 'name' => 'DeregisterVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterVolumeRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeAgentVersions' => [ 'name' => 'DescribeAgentVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAgentVersionsRequest', ], 'output' => [ 'shape' => 'DescribeAgentVersionsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeApps' => [ 'name' => 'DescribeApps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAppsRequest', ], 'output' => [ 'shape' => 'DescribeAppsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeCommands' => [ 'name' => 'DescribeCommands', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCommandsRequest', ], 'output' => [ 'shape' => 'DescribeCommandsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeDeployments' => [ 'name' => 'DescribeDeployments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDeploymentsRequest', ], 'output' => [ 'shape' => 'DescribeDeploymentsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeEcsClusters' => [ 'name' => 'DescribeEcsClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEcsClustersRequest', ], 'output' => [ 'shape' => 'DescribeEcsClustersResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeElasticIps' => [ 'name' => 'DescribeElasticIps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeElasticIpsRequest', ], 'output' => [ 'shape' => 'DescribeElasticIpsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeElasticLoadBalancers' => [ 'name' => 'DescribeElasticLoadBalancers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeElasticLoadBalancersRequest', ], 'output' => [ 'shape' => 'DescribeElasticLoadBalancersResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeInstances' => [ 'name' => 'DescribeInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancesRequest', ], 'output' => [ 'shape' => 'DescribeInstancesResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeLayers' => [ 'name' => 'DescribeLayers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLayersRequest', ], 'output' => [ 'shape' => 'DescribeLayersResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeLoadBasedAutoScaling' => [ 'name' => 'DescribeLoadBasedAutoScaling', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoadBasedAutoScalingRequest', ], 'output' => [ 'shape' => 'DescribeLoadBasedAutoScalingResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeMyUserProfile' => [ 'name' => 'DescribeMyUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeMyUserProfileResult', ], ], 'DescribeOperatingSystems' => [ 'name' => 'DescribeOperatingSystems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeOperatingSystemsResponse', ], ], 'DescribePermissions' => [ 'name' => 'DescribePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePermissionsRequest', ], 'output' => [ 'shape' => 'DescribePermissionsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeRaidArrays' => [ 'name' => 'DescribeRaidArrays', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRaidArraysRequest', ], 'output' => [ 'shape' => 'DescribeRaidArraysResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeRdsDbInstances' => [ 'name' => 'DescribeRdsDbInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRdsDbInstancesRequest', ], 'output' => [ 'shape' => 'DescribeRdsDbInstancesResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeServiceErrors' => [ 'name' => 'DescribeServiceErrors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServiceErrorsRequest', ], 'output' => [ 'shape' => 'DescribeServiceErrorsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeStackProvisioningParameters' => [ 'name' => 'DescribeStackProvisioningParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackProvisioningParametersRequest', ], 'output' => [ 'shape' => 'DescribeStackProvisioningParametersResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeStackSummary' => [ 'name' => 'DescribeStackSummary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStackSummaryRequest', ], 'output' => [ 'shape' => 'DescribeStackSummaryResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeStacks' => [ 'name' => 'DescribeStacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStacksRequest', ], 'output' => [ 'shape' => 'DescribeStacksResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeTimeBasedAutoScaling' => [ 'name' => 'DescribeTimeBasedAutoScaling', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTimeBasedAutoScalingRequest', ], 'output' => [ 'shape' => 'DescribeTimeBasedAutoScalingResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeUserProfiles' => [ 'name' => 'DescribeUserProfiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserProfilesRequest', ], 'output' => [ 'shape' => 'DescribeUserProfilesResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeVolumes' => [ 'name' => 'DescribeVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVolumesRequest', ], 'output' => [ 'shape' => 'DescribeVolumesResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DetachElasticLoadBalancer' => [ 'name' => 'DetachElasticLoadBalancer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachElasticLoadBalancerRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateElasticIp' => [ 'name' => 'DisassociateElasticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateElasticIpRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetHostnameSuggestion' => [ 'name' => 'GetHostnameSuggestion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetHostnameSuggestionRequest', ], 'output' => [ 'shape' => 'GetHostnameSuggestionResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GrantAccess' => [ 'name' => 'GrantAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GrantAccessRequest', ], 'output' => [ 'shape' => 'GrantAccessResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RebootInstance' => [ 'name' => 'RebootInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RegisterEcsCluster' => [ 'name' => 'RegisterEcsCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterEcsClusterRequest', ], 'output' => [ 'shape' => 'RegisterEcsClusterResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RegisterElasticIp' => [ 'name' => 'RegisterElasticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterElasticIpRequest', ], 'output' => [ 'shape' => 'RegisterElasticIpResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RegisterInstance' => [ 'name' => 'RegisterInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterInstanceRequest', ], 'output' => [ 'shape' => 'RegisterInstanceResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RegisterRdsDbInstance' => [ 'name' => 'RegisterRdsDbInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterRdsDbInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RegisterVolume' => [ 'name' => 'RegisterVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterVolumeRequest', ], 'output' => [ 'shape' => 'RegisterVolumeResult', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'SetLoadBasedAutoScaling' => [ 'name' => 'SetLoadBasedAutoScaling', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetLoadBasedAutoScalingRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'SetPermission' => [ 'name' => 'SetPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetPermissionRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'SetTimeBasedAutoScaling' => [ 'name' => 'SetTimeBasedAutoScaling', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetTimeBasedAutoScalingRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StartInstance' => [ 'name' => 'StartInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StartStack' => [ 'name' => 'StartStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartStackRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StopInstance' => [ 'name' => 'StopInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StopStack' => [ 'name' => 'StopStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopStackRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UnassignInstance' => [ 'name' => 'UnassignInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UnassignVolume' => [ 'name' => 'UnassignVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnassignVolumeRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateApp' => [ 'name' => 'UpdateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAppRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateElasticIp' => [ 'name' => 'UpdateElasticIp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateElasticIpRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateInstance' => [ 'name' => 'UpdateInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateLayer' => [ 'name' => 'UpdateLayer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLayerRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateMyUserProfile' => [ 'name' => 'UpdateMyUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMyUserProfileRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], ], ], 'UpdateRdsDbInstance' => [ 'name' => 'UpdateRdsDbInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRdsDbInstanceRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateStack' => [ 'name' => 'UpdateStack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStackRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateUserProfile' => [ 'name' => 'UpdateUserProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserProfileRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateVolume' => [ 'name' => 'UpdateVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateVolumeRequest', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AgentVersion' => [ 'type' => 'structure', 'members' => [ 'Version' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], ], ], 'AgentVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'AgentVersion', ], ], 'App' => [ 'type' => 'structure', 'members' => [ 'AppId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'Shortname' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DataSources' => [ 'shape' => 'DataSources', ], 'Type' => [ 'shape' => 'AppType', ], 'AppSource' => [ 'shape' => 'Source', ], 'Domains' => [ 'shape' => 'Strings', ], 'EnableSsl' => [ 'shape' => 'Boolean', ], 'SslConfiguration' => [ 'shape' => 'SslConfiguration', ], 'Attributes' => [ 'shape' => 'AppAttributes', ], 'CreatedAt' => [ 'shape' => 'String', ], 'Environment' => [ 'shape' => 'EnvironmentVariables', ], ], ], 'AppAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AppAttributesKeys', ], 'value' => [ 'shape' => 'String', ], ], 'AppAttributesKeys' => [ 'type' => 'string', 'enum' => [ 'DocumentRoot', 'RailsEnv', 'AutoBundleOnDeploy', 'AwsFlowRubySettings', ], ], 'AppType' => [ 'type' => 'string', 'enum' => [ 'aws-flow-ruby', 'java', 'rails', 'php', 'nodejs', 'static', 'other', ], ], 'Apps' => [ 'type' => 'list', 'member' => [ 'shape' => 'App', ], ], 'Architecture' => [ 'type' => 'string', 'enum' => [ 'x86_64', 'i386', ], ], 'AssignInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'LayerIds', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], ], ], 'AssignVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'AssociateElasticIpRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticIp', ], 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'AttachElasticLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticLoadBalancerName', 'LayerId', ], 'members' => [ 'ElasticLoadBalancerName' => [ 'shape' => 'String', ], 'LayerId' => [ 'shape' => 'String', ], ], ], 'AutoScalingThresholds' => [ 'type' => 'structure', 'members' => [ 'InstanceCount' => [ 'shape' => 'Integer', ], 'ThresholdsWaitTime' => [ 'shape' => 'Minute', ], 'IgnoreMetricsTime' => [ 'shape' => 'Minute', ], 'CpuThreshold' => [ 'shape' => 'Double', ], 'MemoryThreshold' => [ 'shape' => 'Double', ], 'LoadThreshold' => [ 'shape' => 'Double', ], 'Alarms' => [ 'shape' => 'Strings', ], ], ], 'AutoScalingType' => [ 'type' => 'string', 'enum' => [ 'load', 'timer', ], ], 'BlockDeviceMapping' => [ 'type' => 'structure', 'members' => [ 'DeviceName' => [ 'shape' => 'String', ], 'NoDevice' => [ 'shape' => 'String', ], 'VirtualName' => [ 'shape' => 'String', ], 'Ebs' => [ 'shape' => 'EbsBlockDevice', ], ], ], 'BlockDeviceMappings' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlockDeviceMapping', ], ], 'Boolean' => [ 'type' => 'boolean', 'box' => true, ], 'ChefConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManageBerkshelf' => [ 'shape' => 'Boolean', ], 'BerkshelfVersion' => [ 'shape' => 'String', ], ], ], 'CloneStackRequest' => [ 'type' => 'structure', 'required' => [ 'SourceStackId', 'ServiceRoleArn', ], 'members' => [ 'SourceStackId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'StackAttributes', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'DefaultInstanceProfileArn' => [ 'shape' => 'String', ], 'DefaultOs' => [ 'shape' => 'String', ], 'HostnameTheme' => [ 'shape' => 'String', ], 'DefaultAvailabilityZone' => [ 'shape' => 'String', ], 'DefaultSubnetId' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], 'ChefConfiguration' => [ 'shape' => 'ChefConfiguration', ], 'UseCustomCookbooks' => [ 'shape' => 'Boolean', ], 'UseOpsworksSecurityGroups' => [ 'shape' => 'Boolean', ], 'CustomCookbooksSource' => [ 'shape' => 'Source', ], 'DefaultSshKeyName' => [ 'shape' => 'String', ], 'ClonePermissions' => [ 'shape' => 'Boolean', ], 'CloneAppIds' => [ 'shape' => 'Strings', ], 'DefaultRootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'AgentVersion' => [ 'shape' => 'String', ], ], ], 'CloneStackResult' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'CloudWatchLogsConfiguration' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Boolean', ], 'LogStreams' => [ 'shape' => 'CloudWatchLogsLogStreams', ], ], ], 'CloudWatchLogsEncoding' => [ 'type' => 'string', 'enum' => [ 'ascii', 'big5', 'big5hkscs', 'cp037', 'cp424', 'cp437', 'cp500', 'cp720', 'cp737', 'cp775', 'cp850', 'cp852', 'cp855', 'cp856', 'cp857', 'cp858', 'cp860', 'cp861', 'cp862', 'cp863', 'cp864', 'cp865', 'cp866', 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', 'cp1006', 'cp1026', 'cp1140', 'cp1250', 'cp1251', 'cp1252', 'cp1253', 'cp1254', 'cp1255', 'cp1256', 'cp1257', 'cp1258', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5', 'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r', 'koi8_u', 'mac_cyrillic', 'mac_greek', 'mac_iceland', 'mac_latin2', 'mac_roman', 'mac_turkish', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8', 'utf_8_sig', ], ], 'CloudWatchLogsInitialPosition' => [ 'type' => 'string', 'enum' => [ 'start_of_file', 'end_of_file', ], ], 'CloudWatchLogsLogStream' => [ 'type' => 'structure', 'members' => [ 'LogGroupName' => [ 'shape' => 'String', ], 'DatetimeFormat' => [ 'shape' => 'String', ], 'TimeZone' => [ 'shape' => 'CloudWatchLogsTimeZone', ], 'File' => [ 'shape' => 'String', ], 'FileFingerprintLines' => [ 'shape' => 'String', ], 'MultiLineStartPattern' => [ 'shape' => 'String', ], 'InitialPosition' => [ 'shape' => 'CloudWatchLogsInitialPosition', ], 'Encoding' => [ 'shape' => 'CloudWatchLogsEncoding', ], 'BufferDuration' => [ 'shape' => 'Integer', ], 'BatchCount' => [ 'shape' => 'Integer', ], 'BatchSize' => [ 'shape' => 'Integer', ], ], ], 'CloudWatchLogsLogStreams' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchLogsLogStream', ], ], 'CloudWatchLogsTimeZone' => [ 'type' => 'string', 'enum' => [ 'LOCAL', 'UTC', ], ], 'Command' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'DeploymentId' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'AcknowledgedAt' => [ 'shape' => 'DateTime', ], 'CompletedAt' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'String', ], 'ExitCode' => [ 'shape' => 'Integer', ], 'LogUrl' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], ], ], 'Commands' => [ 'type' => 'list', 'member' => [ 'shape' => 'Command', ], ], 'CreateAppRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'Name', 'Type', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Shortname' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DataSources' => [ 'shape' => 'DataSources', ], 'Type' => [ 'shape' => 'AppType', ], 'AppSource' => [ 'shape' => 'Source', ], 'Domains' => [ 'shape' => 'Strings', ], 'EnableSsl' => [ 'shape' => 'Boolean', ], 'SslConfiguration' => [ 'shape' => 'SslConfiguration', ], 'Attributes' => [ 'shape' => 'AppAttributes', ], 'Environment' => [ 'shape' => 'EnvironmentVariables', ], ], ], 'CreateAppResult' => [ 'type' => 'structure', 'members' => [ 'AppId' => [ 'shape' => 'String', ], ], ], 'CreateDeploymentRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'Command', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'AppId' => [ 'shape' => 'String', ], 'InstanceIds' => [ 'shape' => 'Strings', ], 'LayerIds' => [ 'shape' => 'Strings', ], 'Command' => [ 'shape' => 'DeploymentCommand', ], 'Comment' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], ], ], 'CreateDeploymentResult' => [ 'type' => 'structure', 'members' => [ 'DeploymentId' => [ 'shape' => 'String', ], ], ], 'CreateInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'LayerIds', 'InstanceType', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], 'InstanceType' => [ 'shape' => 'String', ], 'AutoScalingType' => [ 'shape' => 'AutoScalingType', ], 'Hostname' => [ 'shape' => 'String', ], 'Os' => [ 'shape' => 'String', ], 'AmiId' => [ 'shape' => 'String', ], 'SshKeyName' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VirtualizationType' => [ 'shape' => 'String', ], 'SubnetId' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'Architecture', ], 'RootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappings', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'AgentVersion' => [ 'shape' => 'String', ], 'Tenancy' => [ 'shape' => 'String', ], ], ], 'CreateInstanceResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'CreateLayerRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'Type', 'Name', 'Shortname', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'LayerType', ], 'Name' => [ 'shape' => 'String', ], 'Shortname' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'LayerAttributes', ], 'CloudWatchLogsConfiguration' => [ 'shape' => 'CloudWatchLogsConfiguration', ], 'CustomInstanceProfileArn' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'CustomSecurityGroupIds' => [ 'shape' => 'Strings', ], 'Packages' => [ 'shape' => 'Strings', ], 'VolumeConfigurations' => [ 'shape' => 'VolumeConfigurations', ], 'EnableAutoHealing' => [ 'shape' => 'Boolean', ], 'AutoAssignElasticIps' => [ 'shape' => 'Boolean', ], 'AutoAssignPublicIps' => [ 'shape' => 'Boolean', ], 'CustomRecipes' => [ 'shape' => 'Recipes', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'UseEbsOptimizedInstances' => [ 'shape' => 'Boolean', ], 'LifecycleEventConfiguration' => [ 'shape' => 'LifecycleEventConfiguration', ], ], ], 'CreateLayerResult' => [ 'type' => 'structure', 'members' => [ 'LayerId' => [ 'shape' => 'String', ], ], ], 'CreateStackRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Region', 'ServiceRoleArn', 'DefaultInstanceProfileArn', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'StackAttributes', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'DefaultInstanceProfileArn' => [ 'shape' => 'String', ], 'DefaultOs' => [ 'shape' => 'String', ], 'HostnameTheme' => [ 'shape' => 'String', ], 'DefaultAvailabilityZone' => [ 'shape' => 'String', ], 'DefaultSubnetId' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], 'ChefConfiguration' => [ 'shape' => 'ChefConfiguration', ], 'UseCustomCookbooks' => [ 'shape' => 'Boolean', ], 'UseOpsworksSecurityGroups' => [ 'shape' => 'Boolean', ], 'CustomCookbooksSource' => [ 'shape' => 'Source', ], 'DefaultSshKeyName' => [ 'shape' => 'String', ], 'DefaultRootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'AgentVersion' => [ 'shape' => 'String', ], ], ], 'CreateStackResult' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'CreateUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'IamUserArn', ], 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], 'SshUsername' => [ 'shape' => 'String', ], 'SshPublicKey' => [ 'shape' => 'String', ], 'AllowSelfManagement' => [ 'shape' => 'Boolean', ], ], ], 'CreateUserProfileResult' => [ 'type' => 'structure', 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], ], ], 'DailyAutoScalingSchedule' => [ 'type' => 'map', 'key' => [ 'shape' => 'Hour', ], 'value' => [ 'shape' => 'Switch', ], ], 'DataSource' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], ], ], 'DataSources' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataSource', ], ], 'DateTime' => [ 'type' => 'string', ], 'DeleteAppRequest' => [ 'type' => 'structure', 'required' => [ 'AppId', ], 'members' => [ 'AppId' => [ 'shape' => 'String', ], ], ], 'DeleteInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'DeleteElasticIp' => [ 'shape' => 'Boolean', ], 'DeleteVolumes' => [ 'shape' => 'Boolean', ], ], ], 'DeleteLayerRequest' => [ 'type' => 'structure', 'required' => [ 'LayerId', ], 'members' => [ 'LayerId' => [ 'shape' => 'String', ], ], ], 'DeleteStackRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'DeleteUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'IamUserArn', ], 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], ], ], 'Deployment' => [ 'type' => 'structure', 'members' => [ 'DeploymentId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'AppId' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'CompletedAt' => [ 'shape' => 'DateTime', ], 'Duration' => [ 'shape' => 'Integer', ], 'IamUserArn' => [ 'shape' => 'String', ], 'Comment' => [ 'shape' => 'String', ], 'Command' => [ 'shape' => 'DeploymentCommand', ], 'Status' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'InstanceIds' => [ 'shape' => 'Strings', ], ], ], 'DeploymentCommand' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DeploymentCommandName', ], 'Args' => [ 'shape' => 'DeploymentCommandArgs', ], ], ], 'DeploymentCommandArgs' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'Strings', ], ], 'DeploymentCommandName' => [ 'type' => 'string', 'enum' => [ 'install_dependencies', 'update_dependencies', 'update_custom_cookbooks', 'execute_recipes', 'configure', 'setup', 'deploy', 'rollback', 'start', 'stop', 'restart', 'undeploy', ], ], 'Deployments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Deployment', ], ], 'DeregisterEcsClusterRequest' => [ 'type' => 'structure', 'required' => [ 'EcsClusterArn', ], 'members' => [ 'EcsClusterArn' => [ 'shape' => 'String', ], ], ], 'DeregisterElasticIpRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticIp', ], 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], ], ], 'DeregisterInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'DeregisterRdsDbInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'RdsDbInstanceArn', ], 'members' => [ 'RdsDbInstanceArn' => [ 'shape' => 'String', ], ], ], 'DeregisterVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], ], ], 'DescribeAgentVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], ], ], 'DescribeAgentVersionsResult' => [ 'type' => 'structure', 'members' => [ 'AgentVersions' => [ 'shape' => 'AgentVersions', ], ], ], 'DescribeAppsRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'AppIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeAppsResult' => [ 'type' => 'structure', 'members' => [ 'Apps' => [ 'shape' => 'Apps', ], ], ], 'DescribeCommandsRequest' => [ 'type' => 'structure', 'members' => [ 'DeploymentId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'CommandIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeCommandsResult' => [ 'type' => 'structure', 'members' => [ 'Commands' => [ 'shape' => 'Commands', ], ], ], 'DescribeDeploymentsRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'AppId' => [ 'shape' => 'String', ], 'DeploymentIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeDeploymentsResult' => [ 'type' => 'structure', 'members' => [ 'Deployments' => [ 'shape' => 'Deployments', ], ], ], 'DescribeEcsClustersRequest' => [ 'type' => 'structure', 'members' => [ 'EcsClusterArns' => [ 'shape' => 'Strings', ], 'StackId' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'Integer', ], ], ], 'DescribeEcsClustersResult' => [ 'type' => 'structure', 'members' => [ 'EcsClusters' => [ 'shape' => 'EcsClusters', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeElasticIpsRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'Ips' => [ 'shape' => 'Strings', ], ], ], 'DescribeElasticIpsResult' => [ 'type' => 'structure', 'members' => [ 'ElasticIps' => [ 'shape' => 'ElasticIps', ], ], ], 'DescribeElasticLoadBalancersRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeElasticLoadBalancersResult' => [ 'type' => 'structure', 'members' => [ 'ElasticLoadBalancers' => [ 'shape' => 'ElasticLoadBalancers', ], ], ], 'DescribeInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'LayerId' => [ 'shape' => 'String', ], 'InstanceIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeInstancesResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'Instances', ], ], ], 'DescribeLayersRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeLayersResult' => [ 'type' => 'structure', 'members' => [ 'Layers' => [ 'shape' => 'Layers', ], ], ], 'DescribeLoadBasedAutoScalingRequest' => [ 'type' => 'structure', 'required' => [ 'LayerIds', ], 'members' => [ 'LayerIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeLoadBasedAutoScalingResult' => [ 'type' => 'structure', 'members' => [ 'LoadBasedAutoScalingConfigurations' => [ 'shape' => 'LoadBasedAutoScalingConfigurations', ], ], ], 'DescribeMyUserProfileResult' => [ 'type' => 'structure', 'members' => [ 'UserProfile' => [ 'shape' => 'SelfUserProfile', ], ], ], 'DescribeOperatingSystemsResponse' => [ 'type' => 'structure', 'members' => [ 'OperatingSystems' => [ 'shape' => 'OperatingSystems', ], ], ], 'DescribePermissionsRequest' => [ 'type' => 'structure', 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], ], ], 'DescribePermissionsResult' => [ 'type' => 'structure', 'members' => [ 'Permissions' => [ 'shape' => 'Permissions', ], ], ], 'DescribeRaidArraysRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'RaidArrayIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeRaidArraysResult' => [ 'type' => 'structure', 'members' => [ 'RaidArrays' => [ 'shape' => 'RaidArrays', ], ], ], 'DescribeRdsDbInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'RdsDbInstanceArns' => [ 'shape' => 'Strings', ], ], ], 'DescribeRdsDbInstancesResult' => [ 'type' => 'structure', 'members' => [ 'RdsDbInstances' => [ 'shape' => 'RdsDbInstances', ], ], ], 'DescribeServiceErrorsRequest' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'ServiceErrorIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeServiceErrorsResult' => [ 'type' => 'structure', 'members' => [ 'ServiceErrors' => [ 'shape' => 'ServiceErrors', ], ], ], 'DescribeStackProvisioningParametersRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'DescribeStackProvisioningParametersResult' => [ 'type' => 'structure', 'members' => [ 'AgentInstallerUrl' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'Parameters', ], ], ], 'DescribeStackSummaryRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'DescribeStackSummaryResult' => [ 'type' => 'structure', 'members' => [ 'StackSummary' => [ 'shape' => 'StackSummary', ], ], ], 'DescribeStacksRequest' => [ 'type' => 'structure', 'members' => [ 'StackIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeStacksResult' => [ 'type' => 'structure', 'members' => [ 'Stacks' => [ 'shape' => 'Stacks', ], ], ], 'DescribeTimeBasedAutoScalingRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeTimeBasedAutoScalingResult' => [ 'type' => 'structure', 'members' => [ 'TimeBasedAutoScalingConfigurations' => [ 'shape' => 'TimeBasedAutoScalingConfigurations', ], ], ], 'DescribeUserProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'IamUserArns' => [ 'shape' => 'Strings', ], ], ], 'DescribeUserProfilesResult' => [ 'type' => 'structure', 'members' => [ 'UserProfiles' => [ 'shape' => 'UserProfiles', ], ], ], 'DescribeVolumesRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'RaidArrayId' => [ 'shape' => 'String', ], 'VolumeIds' => [ 'shape' => 'Strings', ], ], ], 'DescribeVolumesResult' => [ 'type' => 'structure', 'members' => [ 'Volumes' => [ 'shape' => 'Volumes', ], ], ], 'DetachElasticLoadBalancerRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticLoadBalancerName', 'LayerId', ], 'members' => [ 'ElasticLoadBalancerName' => [ 'shape' => 'String', ], 'LayerId' => [ 'shape' => 'String', ], ], ], 'DisassociateElasticIpRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticIp', ], 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], ], ], 'Double' => [ 'type' => 'double', 'box' => true, ], 'EbsBlockDevice' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'VolumeSize' => [ 'shape' => 'Integer', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'DeleteOnTermination' => [ 'shape' => 'Boolean', ], ], ], 'EcsCluster' => [ 'type' => 'structure', 'members' => [ 'EcsClusterArn' => [ 'shape' => 'String', ], 'EcsClusterName' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'RegisteredAt' => [ 'shape' => 'DateTime', ], ], ], 'EcsClusters' => [ 'type' => 'list', 'member' => [ 'shape' => 'EcsCluster', ], ], 'ElasticIp' => [ 'type' => 'structure', 'members' => [ 'Ip' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'ElasticIps' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticIp', ], ], 'ElasticLoadBalancer' => [ 'type' => 'structure', 'members' => [ 'ElasticLoadBalancerName' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'DnsName' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'LayerId' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'Strings', ], 'SubnetIds' => [ 'shape' => 'Strings', ], 'Ec2InstanceIds' => [ 'shape' => 'Strings', ], ], ], 'ElasticLoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ElasticLoadBalancer', ], ], 'EnvironmentVariable' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], 'Secure' => [ 'shape' => 'Boolean', ], ], ], 'EnvironmentVariables' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnvironmentVariable', ], ], 'GetHostnameSuggestionRequest' => [ 'type' => 'structure', 'required' => [ 'LayerId', ], 'members' => [ 'LayerId' => [ 'shape' => 'String', ], ], ], 'GetHostnameSuggestionResult' => [ 'type' => 'structure', 'members' => [ 'LayerId' => [ 'shape' => 'String', ], 'Hostname' => [ 'shape' => 'String', ], ], ], 'GrantAccessRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'ValidForInMinutes' => [ 'shape' => 'ValidForInMinutes', ], ], ], 'GrantAccessResult' => [ 'type' => 'structure', 'members' => [ 'TemporaryCredential' => [ 'shape' => 'TemporaryCredential', ], ], ], 'Hour' => [ 'type' => 'string', ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'AgentVersion' => [ 'shape' => 'String', ], 'AmiId' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'Architecture', ], 'Arn' => [ 'shape' => 'String', ], 'AutoScalingType' => [ 'shape' => 'AutoScalingType', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'BlockDeviceMappings' => [ 'shape' => 'BlockDeviceMappings', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'Ec2InstanceId' => [ 'shape' => 'String', ], 'EcsClusterArn' => [ 'shape' => 'String', ], 'EcsContainerInstanceArn' => [ 'shape' => 'String', ], 'ElasticIp' => [ 'shape' => 'String', ], 'Hostname' => [ 'shape' => 'String', ], 'InfrastructureClass' => [ 'shape' => 'String', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'InstanceId' => [ 'shape' => 'String', ], 'InstanceProfileArn' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'LastServiceErrorId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], 'Os' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'PrivateDns' => [ 'shape' => 'String', ], 'PrivateIp' => [ 'shape' => 'String', ], 'PublicDns' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'RegisteredBy' => [ 'shape' => 'String', ], 'ReportedAgentVersion' => [ 'shape' => 'String', ], 'ReportedOs' => [ 'shape' => 'ReportedOs', ], 'RootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'RootDeviceVolumeId' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'Strings', ], 'SshHostDsaKeyFingerprint' => [ 'shape' => 'String', ], 'SshHostRsaKeyFingerprint' => [ 'shape' => 'String', ], 'SshKeyName' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubnetId' => [ 'shape' => 'String', ], 'Tenancy' => [ 'shape' => 'String', ], 'VirtualizationType' => [ 'shape' => 'VirtualizationType', ], ], ], 'InstanceIdentity' => [ 'type' => 'structure', 'members' => [ 'Document' => [ 'shape' => 'String', ], 'Signature' => [ 'shape' => 'String', ], ], ], 'Instances' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InstancesCount' => [ 'type' => 'structure', 'members' => [ 'Assigning' => [ 'shape' => 'Integer', ], 'Booting' => [ 'shape' => 'Integer', ], 'ConnectionLost' => [ 'shape' => 'Integer', ], 'Deregistering' => [ 'shape' => 'Integer', ], 'Online' => [ 'shape' => 'Integer', ], 'Pending' => [ 'shape' => 'Integer', ], 'Rebooting' => [ 'shape' => 'Integer', ], 'Registered' => [ 'shape' => 'Integer', ], 'Registering' => [ 'shape' => 'Integer', ], 'Requested' => [ 'shape' => 'Integer', ], 'RunningSetup' => [ 'shape' => 'Integer', ], 'SetupFailed' => [ 'shape' => 'Integer', ], 'ShuttingDown' => [ 'shape' => 'Integer', ], 'StartFailed' => [ 'shape' => 'Integer', ], 'StopFailed' => [ 'shape' => 'Integer', ], 'Stopped' => [ 'shape' => 'Integer', ], 'Stopping' => [ 'shape' => 'Integer', ], 'Terminated' => [ 'shape' => 'Integer', ], 'Terminating' => [ 'shape' => 'Integer', ], 'Unassigning' => [ 'shape' => 'Integer', ], ], ], 'Integer' => [ 'type' => 'integer', 'box' => true, ], 'Layer' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'LayerId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'LayerType', ], 'Name' => [ 'shape' => 'String', ], 'Shortname' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'LayerAttributes', ], 'CloudWatchLogsConfiguration' => [ 'shape' => 'CloudWatchLogsConfiguration', ], 'CustomInstanceProfileArn' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'CustomSecurityGroupIds' => [ 'shape' => 'Strings', ], 'DefaultSecurityGroupNames' => [ 'shape' => 'Strings', ], 'Packages' => [ 'shape' => 'Strings', ], 'VolumeConfigurations' => [ 'shape' => 'VolumeConfigurations', ], 'EnableAutoHealing' => [ 'shape' => 'Boolean', ], 'AutoAssignElasticIps' => [ 'shape' => 'Boolean', ], 'AutoAssignPublicIps' => [ 'shape' => 'Boolean', ], 'DefaultRecipes' => [ 'shape' => 'Recipes', ], 'CustomRecipes' => [ 'shape' => 'Recipes', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'UseEbsOptimizedInstances' => [ 'shape' => 'Boolean', ], 'LifecycleEventConfiguration' => [ 'shape' => 'LifecycleEventConfiguration', ], ], ], 'LayerAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'LayerAttributesKeys', ], 'value' => [ 'shape' => 'String', ], ], 'LayerAttributesKeys' => [ 'type' => 'string', 'enum' => [ 'EcsClusterArn', 'EnableHaproxyStats', 'HaproxyStatsUrl', 'HaproxyStatsUser', 'HaproxyStatsPassword', 'HaproxyHealthCheckUrl', 'HaproxyHealthCheckMethod', 'MysqlRootPassword', 'MysqlRootPasswordUbiquitous', 'GangliaUrl', 'GangliaUser', 'GangliaPassword', 'MemcachedMemory', 'NodejsVersion', 'RubyVersion', 'RubygemsVersion', 'ManageBundler', 'BundlerVersion', 'RailsStack', 'PassengerVersion', 'Jvm', 'JvmVersion', 'JvmOptions', 'JavaAppServer', 'JavaAppServerVersion', ], ], 'LayerType' => [ 'type' => 'string', 'enum' => [ 'aws-flow-ruby', 'ecs-cluster', 'java-app', 'lb', 'web', 'php-app', 'rails-app', 'nodejs-app', 'memcached', 'db-master', 'monitoring-master', 'custom', ], ], 'Layers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Layer', ], ], 'LifecycleEventConfiguration' => [ 'type' => 'structure', 'members' => [ 'Shutdown' => [ 'shape' => 'ShutdownEventConfiguration', ], ], ], 'ListTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'Tags', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'LoadBasedAutoScalingConfiguration' => [ 'type' => 'structure', 'members' => [ 'LayerId' => [ 'shape' => 'String', ], 'Enable' => [ 'shape' => 'Boolean', ], 'UpScaling' => [ 'shape' => 'AutoScalingThresholds', ], 'DownScaling' => [ 'shape' => 'AutoScalingThresholds', ], ], ], 'LoadBasedAutoScalingConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoadBasedAutoScalingConfiguration', ], ], 'MaxResults' => [ 'type' => 'integer', ], 'Minute' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', ], 'OperatingSystem' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Id' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'ConfigurationManagers' => [ 'shape' => 'OperatingSystemConfigurationManagers', ], 'ReportedName' => [ 'shape' => 'String', ], 'ReportedVersion' => [ 'shape' => 'String', ], 'Supported' => [ 'shape' => 'Boolean', ], ], ], 'OperatingSystemConfigurationManager' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'OperatingSystemConfigurationManagers' => [ 'type' => 'list', 'member' => [ 'shape' => 'OperatingSystemConfigurationManager', ], ], 'OperatingSystems' => [ 'type' => 'list', 'member' => [ 'shape' => 'OperatingSystem', ], ], 'Parameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Permission' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'IamUserArn' => [ 'shape' => 'String', ], 'AllowSsh' => [ 'shape' => 'Boolean', ], 'AllowSudo' => [ 'shape' => 'Boolean', ], 'Level' => [ 'shape' => 'String', ], ], ], 'Permissions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Permission', ], ], 'RaidArray' => [ 'type' => 'structure', 'members' => [ 'RaidArrayId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'RaidLevel' => [ 'shape' => 'Integer', ], 'NumberOfDisks' => [ 'shape' => 'Integer', ], 'Size' => [ 'shape' => 'Integer', ], 'Device' => [ 'shape' => 'String', ], 'MountPoint' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'StackId' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], ], ], 'RaidArrays' => [ 'type' => 'list', 'member' => [ 'shape' => 'RaidArray', ], ], 'RdsDbInstance' => [ 'type' => 'structure', 'members' => [ 'RdsDbInstanceArn' => [ 'shape' => 'String', ], 'DbInstanceIdentifier' => [ 'shape' => 'String', ], 'DbUser' => [ 'shape' => 'String', ], 'DbPassword' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'Address' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'MissingOnRds' => [ 'shape' => 'Boolean', ], ], ], 'RdsDbInstances' => [ 'type' => 'list', 'member' => [ 'shape' => 'RdsDbInstance', ], ], 'RebootInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'Recipes' => [ 'type' => 'structure', 'members' => [ 'Setup' => [ 'shape' => 'Strings', ], 'Configure' => [ 'shape' => 'Strings', ], 'Deploy' => [ 'shape' => 'Strings', ], 'Undeploy' => [ 'shape' => 'Strings', ], 'Shutdown' => [ 'shape' => 'Strings', ], ], ], 'RegisterEcsClusterRequest' => [ 'type' => 'structure', 'required' => [ 'EcsClusterArn', 'StackId', ], 'members' => [ 'EcsClusterArn' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], ], ], 'RegisterEcsClusterResult' => [ 'type' => 'structure', 'members' => [ 'EcsClusterArn' => [ 'shape' => 'String', ], ], ], 'RegisterElasticIpRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticIp', 'StackId', ], 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], ], ], 'RegisterElasticIpResult' => [ 'type' => 'structure', 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], ], ], 'RegisterInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Hostname' => [ 'shape' => 'String', ], 'PublicIp' => [ 'shape' => 'String', ], 'PrivateIp' => [ 'shape' => 'String', ], 'RsaPublicKey' => [ 'shape' => 'String', ], 'RsaPublicKeyFingerprint' => [ 'shape' => 'String', ], 'InstanceIdentity' => [ 'shape' => 'InstanceIdentity', ], ], ], 'RegisterInstanceResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'RegisterRdsDbInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'RdsDbInstanceArn', 'DbUser', 'DbPassword', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'RdsDbInstanceArn' => [ 'shape' => 'String', ], 'DbUser' => [ 'shape' => 'String', ], 'DbPassword' => [ 'shape' => 'String', ], ], ], 'RegisterVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'Ec2VolumeId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], ], ], 'RegisterVolumeResult' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], ], ], 'ReportedOs' => [ 'type' => 'structure', 'members' => [ 'Family' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'ResourceArn' => [ 'type' => 'string', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RootDeviceType' => [ 'type' => 'string', 'enum' => [ 'ebs', 'instance-store', ], ], 'SelfUserProfile' => [ 'type' => 'structure', 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'SshUsername' => [ 'shape' => 'String', ], 'SshPublicKey' => [ 'shape' => 'String', ], ], ], 'ServiceError' => [ 'type' => 'structure', 'members' => [ 'ServiceErrorId' => [ 'shape' => 'String', ], 'StackId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], ], ], 'ServiceErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceError', ], ], 'SetLoadBasedAutoScalingRequest' => [ 'type' => 'structure', 'required' => [ 'LayerId', ], 'members' => [ 'LayerId' => [ 'shape' => 'String', ], 'Enable' => [ 'shape' => 'Boolean', ], 'UpScaling' => [ 'shape' => 'AutoScalingThresholds', ], 'DownScaling' => [ 'shape' => 'AutoScalingThresholds', ], ], ], 'SetPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', 'IamUserArn', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'IamUserArn' => [ 'shape' => 'String', ], 'AllowSsh' => [ 'shape' => 'Boolean', ], 'AllowSudo' => [ 'shape' => 'Boolean', ], 'Level' => [ 'shape' => 'String', ], ], ], 'SetTimeBasedAutoScalingRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'AutoScalingSchedule' => [ 'shape' => 'WeeklyAutoScalingSchedule', ], ], ], 'ShutdownEventConfiguration' => [ 'type' => 'structure', 'members' => [ 'ExecutionTimeout' => [ 'shape' => 'Integer', ], 'DelayUntilElbConnectionsDrained' => [ 'shape' => 'Boolean', ], ], ], 'Source' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'SourceType', ], 'Url' => [ 'shape' => 'String', ], 'Username' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'String', ], 'SshKey' => [ 'shape' => 'String', ], 'Revision' => [ 'shape' => 'String', ], ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'git', 'svn', 'archive', 's3', ], ], 'SslConfiguration' => [ 'type' => 'structure', 'required' => [ 'Certificate', 'PrivateKey', ], 'members' => [ 'Certificate' => [ 'shape' => 'String', ], 'PrivateKey' => [ 'shape' => 'String', ], 'Chain' => [ 'shape' => 'String', ], ], ], 'Stack' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'StackAttributes', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'DefaultInstanceProfileArn' => [ 'shape' => 'String', ], 'DefaultOs' => [ 'shape' => 'String', ], 'HostnameTheme' => [ 'shape' => 'String', ], 'DefaultAvailabilityZone' => [ 'shape' => 'String', ], 'DefaultSubnetId' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], 'ChefConfiguration' => [ 'shape' => 'ChefConfiguration', ], 'UseCustomCookbooks' => [ 'shape' => 'Boolean', ], 'UseOpsworksSecurityGroups' => [ 'shape' => 'Boolean', ], 'CustomCookbooksSource' => [ 'shape' => 'Source', ], 'DefaultSshKeyName' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'DateTime', ], 'DefaultRootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'AgentVersion' => [ 'shape' => 'String', ], ], ], 'StackAttributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'StackAttributesKeys', ], 'value' => [ 'shape' => 'String', ], ], 'StackAttributesKeys' => [ 'type' => 'string', 'enum' => [ 'Color', ], ], 'StackConfigurationManager' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Version' => [ 'shape' => 'String', ], ], ], 'StackSummary' => [ 'type' => 'structure', 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Arn' => [ 'shape' => 'String', ], 'LayersCount' => [ 'shape' => 'Integer', ], 'AppsCount' => [ 'shape' => 'Integer', ], 'InstancesCount' => [ 'shape' => 'InstancesCount', ], ], ], 'Stacks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stack', ], ], 'StartInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'StartStackRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'StopInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'StopStackRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], ], ], 'String' => [ 'type' => 'string', ], 'Strings' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Switch' => [ 'type' => 'string', ], 'TagKey' => [ 'type' => 'string', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'TemporaryCredential' => [ 'type' => 'structure', 'members' => [ 'Username' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'String', ], 'ValidForInMinutes' => [ 'shape' => 'Integer', ], 'InstanceId' => [ 'shape' => 'String', ], ], ], 'TimeBasedAutoScalingConfiguration' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'AutoScalingSchedule' => [ 'shape' => 'WeeklyAutoScalingSchedule', ], ], ], 'TimeBasedAutoScalingConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'TimeBasedAutoScalingConfiguration', ], ], 'UnassignInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], ], ], 'UnassignVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'UpdateAppRequest' => [ 'type' => 'structure', 'required' => [ 'AppId', ], 'members' => [ 'AppId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DataSources' => [ 'shape' => 'DataSources', ], 'Type' => [ 'shape' => 'AppType', ], 'AppSource' => [ 'shape' => 'Source', ], 'Domains' => [ 'shape' => 'Strings', ], 'EnableSsl' => [ 'shape' => 'Boolean', ], 'SslConfiguration' => [ 'shape' => 'SslConfiguration', ], 'Attributes' => [ 'shape' => 'AppAttributes', ], 'Environment' => [ 'shape' => 'EnvironmentVariables', ], ], ], 'UpdateElasticIpRequest' => [ 'type' => 'structure', 'required' => [ 'ElasticIp', ], 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'UpdateInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'String', ], 'LayerIds' => [ 'shape' => 'Strings', ], 'InstanceType' => [ 'shape' => 'String', ], 'AutoScalingType' => [ 'shape' => 'AutoScalingType', ], 'Hostname' => [ 'shape' => 'String', ], 'Os' => [ 'shape' => 'String', ], 'AmiId' => [ 'shape' => 'String', ], 'SshKeyName' => [ 'shape' => 'String', ], 'Architecture' => [ 'shape' => 'Architecture', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'EbsOptimized' => [ 'shape' => 'Boolean', ], 'AgentVersion' => [ 'shape' => 'String', ], ], ], 'UpdateLayerRequest' => [ 'type' => 'structure', 'required' => [ 'LayerId', ], 'members' => [ 'LayerId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Shortname' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'LayerAttributes', ], 'CloudWatchLogsConfiguration' => [ 'shape' => 'CloudWatchLogsConfiguration', ], 'CustomInstanceProfileArn' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'CustomSecurityGroupIds' => [ 'shape' => 'Strings', ], 'Packages' => [ 'shape' => 'Strings', ], 'VolumeConfigurations' => [ 'shape' => 'VolumeConfigurations', ], 'EnableAutoHealing' => [ 'shape' => 'Boolean', ], 'AutoAssignElasticIps' => [ 'shape' => 'Boolean', ], 'AutoAssignPublicIps' => [ 'shape' => 'Boolean', ], 'CustomRecipes' => [ 'shape' => 'Recipes', ], 'InstallUpdatesOnBoot' => [ 'shape' => 'Boolean', ], 'UseEbsOptimizedInstances' => [ 'shape' => 'Boolean', ], 'LifecycleEventConfiguration' => [ 'shape' => 'LifecycleEventConfiguration', ], ], ], 'UpdateMyUserProfileRequest' => [ 'type' => 'structure', 'members' => [ 'SshPublicKey' => [ 'shape' => 'String', ], ], ], 'UpdateRdsDbInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'RdsDbInstanceArn', ], 'members' => [ 'RdsDbInstanceArn' => [ 'shape' => 'String', ], 'DbUser' => [ 'shape' => 'String', ], 'DbPassword' => [ 'shape' => 'String', ], ], ], 'UpdateStackRequest' => [ 'type' => 'structure', 'required' => [ 'StackId', ], 'members' => [ 'StackId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'StackAttributes', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'DefaultInstanceProfileArn' => [ 'shape' => 'String', ], 'DefaultOs' => [ 'shape' => 'String', ], 'HostnameTheme' => [ 'shape' => 'String', ], 'DefaultAvailabilityZone' => [ 'shape' => 'String', ], 'DefaultSubnetId' => [ 'shape' => 'String', ], 'CustomJson' => [ 'shape' => 'String', ], 'ConfigurationManager' => [ 'shape' => 'StackConfigurationManager', ], 'ChefConfiguration' => [ 'shape' => 'ChefConfiguration', ], 'UseCustomCookbooks' => [ 'shape' => 'Boolean', ], 'CustomCookbooksSource' => [ 'shape' => 'Source', ], 'DefaultSshKeyName' => [ 'shape' => 'String', ], 'DefaultRootDeviceType' => [ 'shape' => 'RootDeviceType', ], 'UseOpsworksSecurityGroups' => [ 'shape' => 'Boolean', ], 'AgentVersion' => [ 'shape' => 'String', ], ], ], 'UpdateUserProfileRequest' => [ 'type' => 'structure', 'required' => [ 'IamUserArn', ], 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], 'SshUsername' => [ 'shape' => 'String', ], 'SshPublicKey' => [ 'shape' => 'String', ], 'AllowSelfManagement' => [ 'shape' => 'Boolean', ], ], ], 'UpdateVolumeRequest' => [ 'type' => 'structure', 'required' => [ 'VolumeId', ], 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'MountPoint' => [ 'shape' => 'String', ], ], ], 'UserProfile' => [ 'type' => 'structure', 'members' => [ 'IamUserArn' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'SshUsername' => [ 'shape' => 'String', ], 'SshPublicKey' => [ 'shape' => 'String', ], 'AllowSelfManagement' => [ 'shape' => 'Boolean', ], ], ], 'UserProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserProfile', ], ], 'ValidForInMinutes' => [ 'type' => 'integer', 'box' => true, 'max' => 1440, 'min' => 60, ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'VirtualizationType' => [ 'type' => 'string', 'enum' => [ 'paravirtual', 'hvm', ], ], 'Volume' => [ 'type' => 'structure', 'members' => [ 'VolumeId' => [ 'shape' => 'String', ], 'Ec2VolumeId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'RaidArrayId' => [ 'shape' => 'String', ], 'InstanceId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'Size' => [ 'shape' => 'Integer', ], 'Device' => [ 'shape' => 'String', ], 'MountPoint' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', ], ], ], 'VolumeConfiguration' => [ 'type' => 'structure', 'required' => [ 'MountPoint', 'NumberOfDisks', 'Size', ], 'members' => [ 'MountPoint' => [ 'shape' => 'String', ], 'RaidLevel' => [ 'shape' => 'Integer', ], 'NumberOfDisks' => [ 'shape' => 'Integer', ], 'Size' => [ 'shape' => 'Integer', ], 'VolumeType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'Integer', ], 'Encrypted' => [ 'shape' => 'Boolean', ], ], ], 'VolumeConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeConfiguration', ], ], 'VolumeType' => [ 'type' => 'string', 'enum' => [ 'gp2', 'io1', 'standard', ], ], 'Volumes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Volume', ], ], 'WeeklyAutoScalingSchedule' => [ 'type' => 'structure', 'members' => [ 'Monday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Tuesday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Wednesday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Thursday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Friday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Saturday' => [ 'shape' => 'DailyAutoScalingSchedule', ], 'Sunday' => [ 'shape' => 'DailyAutoScalingSchedule', ], ], ], ],]; diff --git a/lib/aws/Aws/data/opsworks/2013-02-18/paginators-1.json.php b/lib/aws/Aws/data/opsworks/2013-02-18/paginators-1.json.php new file mode 100644 index 0000000..6a654bc --- /dev/null +++ b/lib/aws/Aws/data/opsworks/2013-02-18/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworks/2013-02-18/paginators-1.json +return [ 'pagination' => [ 'DescribeApps' => [ 'result_key' => 'Apps', ], 'DescribeCommands' => [ 'result_key' => 'Commands', ], 'DescribeDeployments' => [ 'result_key' => 'Deployments', ], 'DescribeEcsClusters' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'EcsClusters', ], 'DescribeElasticIps' => [ 'result_key' => 'ElasticIps', ], 'DescribeElasticLoadBalancers' => [ 'result_key' => 'ElasticLoadBalancers', ], 'DescribeInstances' => [ 'result_key' => 'Instances', ], 'DescribeLayers' => [ 'result_key' => 'Layers', ], 'DescribeLoadBasedAutoScaling' => [ 'result_key' => 'LoadBasedAutoScalingConfigurations', ], 'DescribePermissions' => [ 'result_key' => 'Permissions', ], 'DescribeRaidArrays' => [ 'result_key' => 'RaidArrays', ], 'DescribeServiceErrors' => [ 'result_key' => 'ServiceErrors', ], 'DescribeStacks' => [ 'result_key' => 'Stacks', ], 'DescribeTimeBasedAutoScaling' => [ 'result_key' => 'TimeBasedAutoScalingConfigurations', ], 'DescribeUserProfiles' => [ 'result_key' => 'UserProfiles', ], 'DescribeVolumes' => [ 'result_key' => 'Volumes', ], ],]; diff --git a/lib/aws/Aws/data/opsworks/2013-02-18/smoke.json.php b/lib/aws/Aws/data/opsworks/2013-02-18/smoke.json.php new file mode 100644 index 0000000..9096327 --- /dev/null +++ b/lib/aws/Aws/data/opsworks/2013-02-18/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworks/2013-02-18/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeStacks', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeLayers', 'input' => [ 'StackId' => 'fake_stack', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/opsworks/2013-02-18/waiters-2.json.php b/lib/aws/Aws/data/opsworks/2013-02-18/waiters-2.json.php new file mode 100644 index 0000000..93d72ad --- /dev/null +++ b/lib/aws/Aws/data/opsworks/2013-02-18/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworks/2013-02-18/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'AppExists' => [ 'delay' => 1, 'operation' => 'DescribeApps', 'maxAttempts' => 40, 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'matcher' => 'status', 'expected' => 400, 'state' => 'failure', ], ], ], 'DeploymentSuccessful' => [ 'delay' => 15, 'operation' => 'DescribeDeployments', 'maxAttempts' => 40, 'description' => 'Wait until a deployment has completed successfully.', 'acceptors' => [ [ 'expected' => 'successful', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Deployments[].Status', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Deployments[].Status', ], ], ], 'InstanceOnline' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'description' => 'Wait until OpsWorks instance is online.', 'acceptors' => [ [ 'expected' => 'online', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Instances[].Status', ], [ 'expected' => 'setup_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'shutting_down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'start_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stopped', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'terminating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stop_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], ], ], 'InstanceRegistered' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'description' => 'Wait until OpsWorks instance is registered.', 'acceptors' => [ [ 'expected' => 'registered', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Instances[].Status', ], [ 'expected' => 'setup_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'shutting_down', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stopped', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stopping', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'terminating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'terminated', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stop_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], ], ], 'InstanceStopped' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'description' => 'Wait until OpsWorks instance is stopped.', 'acceptors' => [ [ 'expected' => 'stopped', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Instances[].Status', ], [ 'expected' => 'booting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'requested', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'running_setup', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'setup_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'start_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'stop_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], ], ], 'InstanceTerminated' => [ 'delay' => 15, 'operation' => 'DescribeInstances', 'maxAttempts' => 40, 'description' => 'Wait until OpsWorks instance is terminated.', 'acceptors' => [ [ 'expected' => 'terminated', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Instances[].Status', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'booting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'online', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'pending', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'requested', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'running_setup', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'setup_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], [ 'expected' => 'start_failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Instances[].Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/opsworkscm/2016-11-01/api-2.json.php b/lib/aws/Aws/data/opsworkscm/2016-11-01/api-2.json.php new file mode 100644 index 0000000..d7972a8 --- /dev/null +++ b/lib/aws/Aws/data/opsworkscm/2016-11-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworkscm/2016-11-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-01', 'endpointPrefix' => 'opsworks-cm', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'OpsWorksCM', 'serviceFullName' => 'AWS OpsWorks for Chef Automate', 'serviceId' => 'OpsWorksCM', 'signatureVersion' => 'v4', 'signingName' => 'opsworks-cm', 'targetPrefix' => 'OpsWorksCM_V2016_11_01', 'uid' => 'opsworkscm-2016-11-01', ], 'operations' => [ 'AssociateNode' => [ 'name' => 'AssociateNode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateNodeRequest', ], 'output' => [ 'shape' => 'AssociateNodeResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'CreateBackup' => [ 'name' => 'CreateBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBackupRequest', ], 'output' => [ 'shape' => 'CreateBackupResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'CreateServer' => [ 'name' => 'CreateServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServerRequest', ], 'output' => [ 'shape' => 'CreateServerResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteBackup' => [ 'name' => 'DeleteBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBackupRequest', ], 'output' => [ 'shape' => 'DeleteBackupResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DeleteServer' => [ 'name' => 'DeleteServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServerRequest', ], 'output' => [ 'shape' => 'DeleteServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesRequest', ], 'output' => [ 'shape' => 'DescribeAccountAttributesResponse', ], ], 'DescribeBackups' => [ 'name' => 'DescribeBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBackupsRequest', ], 'output' => [ 'shape' => 'DescribeBackupsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsRequest', ], 'output' => [ 'shape' => 'DescribeEventsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeNodeAssociationStatus' => [ 'name' => 'DescribeNodeAssociationStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNodeAssociationStatusRequest', ], 'output' => [ 'shape' => 'DescribeNodeAssociationStatusResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'DescribeServers' => [ 'name' => 'DescribeServers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServersRequest', ], 'output' => [ 'shape' => 'DescribeServersResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DisassociateNode' => [ 'name' => 'DisassociateNode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateNodeRequest', ], 'output' => [ 'shape' => 'DisassociateNodeResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'ExportServerEngineAttribute' => [ 'name' => 'ExportServerEngineAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExportServerEngineAttributeRequest', ], 'output' => [ 'shape' => 'ExportServerEngineAttributeResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'RestoreServer' => [ 'name' => 'RestoreServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreServerRequest', ], 'output' => [ 'shape' => 'RestoreServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'StartMaintenance' => [ 'name' => 'StartMaintenance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartMaintenanceRequest', ], 'output' => [ 'shape' => 'StartMaintenanceResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpdateServer' => [ 'name' => 'UpdateServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServerRequest', ], 'output' => [ 'shape' => 'UpdateServerResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], 'UpdateServerEngineAttributes' => [ 'name' => 'UpdateServerEngineAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServerEngineAttributesRequest', ], 'output' => [ 'shape' => 'UpdateServerEngineAttributesResponse', ], 'errors' => [ [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ValidationException', ], ], ], ], 'shapes' => [ 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Maximum' => [ 'shape' => 'Integer', ], 'Used' => [ 'shape' => 'Integer', ], ], ], 'AccountAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', ], ], 'AssociateNodeRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', 'NodeName', 'EngineAttributes', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'NodeName' => [ 'shape' => 'NodeName', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], ], ], 'AssociateNodeResponse' => [ 'type' => 'structure', 'members' => [ 'NodeAssociationStatusToken' => [ 'shape' => 'NodeAssociationStatusToken', ], ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[A-Z][A-Z0-9_]*', ], 'AttributeValue' => [ 'type' => 'string', ], 'Backup' => [ 'type' => 'structure', 'members' => [ 'BackupArn' => [ 'shape' => 'String', ], 'BackupId' => [ 'shape' => 'BackupId', ], 'BackupType' => [ 'shape' => 'BackupType', ], 'CreatedAt' => [ 'shape' => 'Timestamp', ], 'Description' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineModel' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'InstanceProfileArn' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'KeyPair' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'S3DataSize' => [ 'shape' => 'Integer', 'deprecated' => true, ], 'S3DataUrl' => [ 'shape' => 'String', 'deprecated' => true, ], 'S3LogUrl' => [ 'shape' => 'String', ], 'SecurityGroupIds' => [ 'shape' => 'Strings', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'BackupStatus', ], 'StatusDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'Strings', ], 'ToolsVersion' => [ 'shape' => 'String', ], 'UserArn' => [ 'shape' => 'String', ], ], ], 'BackupId' => [ 'type' => 'string', 'max' => 79, ], 'BackupRetentionCountDefinition' => [ 'type' => 'integer', 'min' => 1, ], 'BackupStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'OK', 'FAILED', 'DELETING', ], ], 'BackupType' => [ 'type' => 'string', 'enum' => [ 'AUTOMATED', 'MANUAL', ], ], 'Backups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Backup', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CreateBackupRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'Description' => [ 'shape' => 'String', ], ], ], 'CreateBackupResponse' => [ 'type' => 'structure', 'members' => [ 'Backup' => [ 'shape' => 'Backup', ], ], ], 'CreateServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', 'InstanceProfileArn', 'InstanceType', 'ServiceRoleArn', ], 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'DisableAutomatedBackup' => [ 'shape' => 'Boolean', ], 'Engine' => [ 'shape' => 'String', ], 'EngineModel' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], 'BackupRetentionCount' => [ 'shape' => 'BackupRetentionCountDefinition', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'InstanceProfileArn' => [ 'shape' => 'InstanceProfileArn', ], 'InstanceType' => [ 'shape' => 'String', ], 'KeyPair' => [ 'shape' => 'KeyPair', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'PreferredBackupWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'SecurityGroupIds' => [ 'shape' => 'Strings', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRoleArn', ], 'SubnetIds' => [ 'shape' => 'Strings', ], 'BackupId' => [ 'shape' => 'BackupId', ], ], ], 'CreateServerResponse' => [ 'type' => 'structure', 'members' => [ 'Server' => [ 'shape' => 'Server', ], ], ], 'DeleteBackupRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], ], ], 'DeleteBackupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], ], ], 'DeleteServerResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountAttributesRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'AccountAttributes', ], ], ], 'DescribeBackupsRequest' => [ 'type' => 'structure', 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeBackupsResponse' => [ 'type' => 'structure', 'members' => [ 'Backups' => [ 'shape' => 'Backups', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeEventsRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeEventsResponse' => [ 'type' => 'structure', 'members' => [ 'ServerEvents' => [ 'shape' => 'ServerEvents', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeNodeAssociationStatusRequest' => [ 'type' => 'structure', 'required' => [ 'NodeAssociationStatusToken', 'ServerName', ], 'members' => [ 'NodeAssociationStatusToken' => [ 'shape' => 'NodeAssociationStatusToken', ], 'ServerName' => [ 'shape' => 'ServerName', ], ], ], 'DescribeNodeAssociationStatusResponse' => [ 'type' => 'structure', 'members' => [ 'NodeAssociationStatus' => [ 'shape' => 'NodeAssociationStatus', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], ], ], 'DescribeServersRequest' => [ 'type' => 'structure', 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeServersResponse' => [ 'type' => 'structure', 'members' => [ 'Servers' => [ 'shape' => 'Servers', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DisassociateNodeRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', 'NodeName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'NodeName' => [ 'shape' => 'NodeName', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], ], ], 'DisassociateNodeResponse' => [ 'type' => 'structure', 'members' => [ 'NodeAssociationStatusToken' => [ 'shape' => 'NodeAssociationStatusToken', ], ], ], 'EngineAttribute' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'EngineAttributeName', ], 'Value' => [ 'shape' => 'EngineAttributeValue', ], ], ], 'EngineAttributeName' => [ 'type' => 'string', ], 'EngineAttributeValue' => [ 'type' => 'string', 'sensitive' => true, ], 'EngineAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EngineAttribute', ], ], 'ExportServerEngineAttributeRequest' => [ 'type' => 'structure', 'required' => [ 'ExportAttributeName', 'ServerName', ], 'members' => [ 'ExportAttributeName' => [ 'shape' => 'String', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'InputAttributes' => [ 'shape' => 'EngineAttributes', ], ], ], 'ExportServerEngineAttributeResponse' => [ 'type' => 'structure', 'members' => [ 'EngineAttribute' => [ 'shape' => 'EngineAttribute', ], 'ServerName' => [ 'shape' => 'ServerName', ], ], ], 'InstanceProfileArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:iam::[0-9]{12}:instance-profile/.*', ], 'Integer' => [ 'type' => 'integer', ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'KeyPair' => [ 'type' => 'string', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MaintenanceStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'FAILED', ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'NextToken' => [ 'type' => 'string', ], 'NodeAssociationStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'FAILED', 'IN_PROGRESS', ], ], 'NodeAssociationStatusToken' => [ 'type' => 'string', ], 'NodeName' => [ 'type' => 'string', 'pattern' => '^[\\-\\p{Alnum}_:.]+$', ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'RestoreServerRequest' => [ 'type' => 'structure', 'required' => [ 'BackupId', 'ServerName', ], 'members' => [ 'BackupId' => [ 'shape' => 'BackupId', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'InstanceType' => [ 'shape' => 'String', ], 'KeyPair' => [ 'shape' => 'KeyPair', ], ], ], 'RestoreServerResponse' => [ 'type' => 'structure', 'members' => [], ], 'Server' => [ 'type' => 'structure', 'members' => [ 'AssociatePublicIpAddress' => [ 'shape' => 'Boolean', ], 'BackupRetentionCount' => [ 'shape' => 'Integer', ], 'ServerName' => [ 'shape' => 'String', ], 'CreatedAt' => [ 'shape' => 'Timestamp', ], 'CloudFormationStackArn' => [ 'shape' => 'String', ], 'DisableAutomatedBackup' => [ 'shape' => 'Boolean', ], 'Endpoint' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineModel' => [ 'shape' => 'String', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], 'EngineVersion' => [ 'shape' => 'String', ], 'InstanceProfileArn' => [ 'shape' => 'String', ], 'InstanceType' => [ 'shape' => 'String', ], 'KeyPair' => [ 'shape' => 'String', ], 'MaintenanceStatus' => [ 'shape' => 'MaintenanceStatus', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'PreferredBackupWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'SecurityGroupIds' => [ 'shape' => 'Strings', ], 'ServiceRoleArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'ServerStatus', ], 'StatusReason' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'Strings', ], 'ServerArn' => [ 'shape' => 'String', ], ], ], 'ServerEvent' => [ 'type' => 'structure', 'members' => [ 'CreatedAt' => [ 'shape' => 'Timestamp', ], 'ServerName' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], 'LogUrl' => [ 'shape' => 'String', ], ], ], 'ServerEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerEvent', ], ], 'ServerName' => [ 'type' => 'string', 'max' => 40, 'min' => 1, 'pattern' => '[a-zA-Z][a-zA-Z0-9\\-]*', ], 'ServerStatus' => [ 'type' => 'string', 'enum' => [ 'BACKING_UP', 'CONNECTION_LOST', 'CREATING', 'DELETING', 'MODIFYING', 'FAILED', 'HEALTHY', 'RUNNING', 'RESTORING', 'SETUP', 'UNDER_MAINTENANCE', 'UNHEALTHY', 'TERMINATED', ], ], 'Servers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Server', ], ], 'ServiceRoleArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:iam::[0-9]{12}:role/.*', ], 'StartMaintenanceRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'EngineAttributes' => [ 'shape' => 'EngineAttributes', ], ], ], 'StartMaintenanceResponse' => [ 'type' => 'structure', 'members' => [ 'Server' => [ 'shape' => 'Server', ], ], ], 'String' => [ 'type' => 'string', ], 'Strings' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'TimeWindowDefinition' => [ 'type' => 'string', 'pattern' => '^((Mon|Tue|Wed|Thu|Fri|Sat|Sun):)?([0-1][0-9]|2[0-3]):[0-5][0-9]$', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UpdateServerEngineAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', 'AttributeName', ], 'members' => [ 'ServerName' => [ 'shape' => 'ServerName', ], 'AttributeName' => [ 'shape' => 'AttributeName', ], 'AttributeValue' => [ 'shape' => 'AttributeValue', ], ], ], 'UpdateServerEngineAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Server' => [ 'shape' => 'Server', ], ], ], 'UpdateServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerName', ], 'members' => [ 'DisableAutomatedBackup' => [ 'shape' => 'Boolean', ], 'BackupRetentionCount' => [ 'shape' => 'Integer', ], 'ServerName' => [ 'shape' => 'ServerName', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'TimeWindowDefinition', ], 'PreferredBackupWindow' => [ 'shape' => 'TimeWindowDefinition', ], ], ], 'UpdateServerResponse' => [ 'type' => 'structure', 'members' => [ 'Server' => [ 'shape' => 'Server', ], ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/opsworkscm/2016-11-01/paginators-1.json.php b/lib/aws/Aws/data/opsworkscm/2016-11-01/paginators-1.json.php new file mode 100644 index 0000000..05e613c --- /dev/null +++ b/lib/aws/Aws/data/opsworkscm/2016-11-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworkscm/2016-11-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/opsworkscm/2016-11-01/waiters-2.json.php b/lib/aws/Aws/data/opsworkscm/2016-11-01/waiters-2.json.php new file mode 100644 index 0000000..95628a8 --- /dev/null +++ b/lib/aws/Aws/data/opsworkscm/2016-11-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/opsworkscm/2016-11-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'NodeAssociated' => [ 'delay' => 15, 'maxAttempts' => 15, 'operation' => 'DescribeNodeAssociationStatus', 'description' => 'Wait until node is associated or disassociated.', 'acceptors' => [ [ 'expected' => 'SUCCESS', 'state' => 'success', 'matcher' => 'path', 'argument' => 'NodeAssociationStatus', ], [ 'expected' => 'FAILED', 'state' => 'failure', 'matcher' => 'path', 'argument' => 'NodeAssociationStatus', ], ], ], ],]; diff --git a/lib/aws/Aws/data/organizations/2016-11-28/api-2.json.php b/lib/aws/Aws/data/organizations/2016-11-28/api-2.json.php new file mode 100644 index 0000000..8c4232f --- /dev/null +++ b/lib/aws/Aws/data/organizations/2016-11-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/organizations/2016-11-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-28', 'endpointPrefix' => 'organizations', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Organizations', 'serviceFullName' => 'AWS Organizations', 'serviceId' => 'Organizations', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSOrganizationsV20161128', 'uid' => 'organizations-2016-11-28', ], 'operations' => [ 'AcceptHandshake' => [ 'name' => 'AcceptHandshake', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptHandshakeRequest', ], 'output' => [ 'shape' => 'AcceptHandshakeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'HandshakeConstraintViolationException', ], [ 'shape' => 'HandshakeNotFoundException', ], [ 'shape' => 'InvalidHandshakeTransitionException', ], [ 'shape' => 'HandshakeAlreadyInStateException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'AccessDeniedForDependencyException', ], ], ], 'AttachPolicy' => [ 'name' => 'AttachPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachPolicyRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'DuplicatePolicyAttachmentException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'PolicyTypeNotEnabledException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TargetNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CancelHandshake' => [ 'name' => 'CancelHandshake', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelHandshakeRequest', ], 'output' => [ 'shape' => 'CancelHandshakeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'HandshakeNotFoundException', ], [ 'shape' => 'InvalidHandshakeTransitionException', ], [ 'shape' => 'HandshakeAlreadyInStateException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateAccount' => [ 'name' => 'CreateAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAccountRequest', ], 'output' => [ 'shape' => 'CreateAccountResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'FinalizingOrganizationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateOrganization' => [ 'name' => 'CreateOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOrganizationRequest', ], 'output' => [ 'shape' => 'CreateOrganizationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AlreadyInOrganizationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'AccessDeniedForDependencyException', ], ], ], 'CreateOrganizationalUnit' => [ 'name' => 'CreateOrganizationalUnit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOrganizationalUnitRequest', ], 'output' => [ 'shape' => 'CreateOrganizationalUnitResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'DuplicateOrganizationalUnitException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ParentNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreatePolicy' => [ 'name' => 'CreatePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePolicyRequest', ], 'output' => [ 'shape' => 'CreatePolicyResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'DuplicatePolicyException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PolicyTypeNotAvailableForOrganizationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeclineHandshake' => [ 'name' => 'DeclineHandshake', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeclineHandshakeRequest', ], 'output' => [ 'shape' => 'DeclineHandshakeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'HandshakeNotFoundException', ], [ 'shape' => 'InvalidHandshakeTransitionException', ], [ 'shape' => 'HandshakeAlreadyInStateException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteOrganization' => [ 'name' => 'DeleteOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OrganizationNotEmptyException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteOrganizationalUnit' => [ 'name' => 'DeleteOrganizationalUnit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteOrganizationalUnitRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OrganizationalUnitNotEmptyException', ], [ 'shape' => 'OrganizationalUnitNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeletePolicy' => [ 'name' => 'DeletePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePolicyRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyInUseException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeAccount' => [ 'name' => 'DescribeAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountRequest', ], 'output' => [ 'shape' => 'DescribeAccountResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountNotFoundException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeCreateAccountStatus' => [ 'name' => 'DescribeCreateAccountStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCreateAccountStatusRequest', ], 'output' => [ 'shape' => 'DescribeCreateAccountStatusResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'CreateAccountStatusNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeHandshake' => [ 'name' => 'DescribeHandshake', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHandshakeRequest', ], 'output' => [ 'shape' => 'DescribeHandshakeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'HandshakeNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeOrganization' => [ 'name' => 'DescribeOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'DescribeOrganizationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeOrganizationalUnit' => [ 'name' => 'DescribeOrganizationalUnit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrganizationalUnitRequest', ], 'output' => [ 'shape' => 'DescribeOrganizationalUnitResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OrganizationalUnitNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribePolicy' => [ 'name' => 'DescribePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePolicyRequest', ], 'output' => [ 'shape' => 'DescribePolicyResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DetachPolicy' => [ 'name' => 'DetachPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachPolicyRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotAttachedException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TargetNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DisableAWSServiceAccess' => [ 'name' => 'DisableAWSServiceAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableAWSServiceAccessRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DisablePolicyType' => [ 'name' => 'DisablePolicyType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisablePolicyTypeRequest', ], 'output' => [ 'shape' => 'DisablePolicyTypeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyTypeNotEnabledException', ], [ 'shape' => 'RootNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'EnableAWSServiceAccess' => [ 'name' => 'EnableAWSServiceAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableAWSServiceAccessRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'EnableAllFeatures' => [ 'name' => 'EnableAllFeatures', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableAllFeaturesRequest', ], 'output' => [ 'shape' => 'EnableAllFeaturesResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'HandshakeConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'EnablePolicyType' => [ 'name' => 'EnablePolicyType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnablePolicyTypeRequest', ], 'output' => [ 'shape' => 'EnablePolicyTypeResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyTypeAlreadyEnabledException', ], [ 'shape' => 'RootNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'PolicyTypeNotAvailableForOrganizationException', ], ], ], 'InviteAccountToOrganization' => [ 'name' => 'InviteAccountToOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'InviteAccountToOrganizationRequest', ], 'output' => [ 'shape' => 'InviteAccountToOrganizationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'AccountOwnerNotVerifiedException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'HandshakeConstraintViolationException', ], [ 'shape' => 'DuplicateHandshakeException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'FinalizingOrganizationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'LeaveOrganization' => [ 'name' => 'LeaveOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountNotFoundException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'MasterCannotLeaveOrganizationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListAWSServiceAccessForOrganization' => [ 'name' => 'ListAWSServiceAccessForOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAWSServiceAccessForOrganizationRequest', ], 'output' => [ 'shape' => 'ListAWSServiceAccessForOrganizationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListAccounts' => [ 'name' => 'ListAccounts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAccountsRequest', ], 'output' => [ 'shape' => 'ListAccountsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListAccountsForParent' => [ 'name' => 'ListAccountsForParent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAccountsForParentRequest', ], 'output' => [ 'shape' => 'ListAccountsForParentResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ParentNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListChildren' => [ 'name' => 'ListChildren', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListChildrenRequest', ], 'output' => [ 'shape' => 'ListChildrenResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ParentNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListCreateAccountStatus' => [ 'name' => 'ListCreateAccountStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCreateAccountStatusRequest', ], 'output' => [ 'shape' => 'ListCreateAccountStatusResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListHandshakesForAccount' => [ 'name' => 'ListHandshakesForAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHandshakesForAccountRequest', ], 'output' => [ 'shape' => 'ListHandshakesForAccountResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListHandshakesForOrganization' => [ 'name' => 'ListHandshakesForOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHandshakesForOrganizationRequest', ], 'output' => [ 'shape' => 'ListHandshakesForOrganizationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListOrganizationalUnitsForParent' => [ 'name' => 'ListOrganizationalUnitsForParent', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOrganizationalUnitsForParentRequest', ], 'output' => [ 'shape' => 'ListOrganizationalUnitsForParentResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ParentNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListParents' => [ 'name' => 'ListParents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListParentsRequest', ], 'output' => [ 'shape' => 'ListParentsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ChildNotFoundException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListPolicies' => [ 'name' => 'ListPolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesRequest', ], 'output' => [ 'shape' => 'ListPoliciesResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListPoliciesForTarget' => [ 'name' => 'ListPoliciesForTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPoliciesForTargetRequest', ], 'output' => [ 'shape' => 'ListPoliciesForTargetResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TargetNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListRoots' => [ 'name' => 'ListRoots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRootsRequest', ], 'output' => [ 'shape' => 'ListRootsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListTargetsForPolicy' => [ 'name' => 'ListTargetsForPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTargetsForPolicyRequest', ], 'output' => [ 'shape' => 'ListTargetsForPolicyResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'MoveAccount' => [ 'name' => 'MoveAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'MoveAccountRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'SourceParentNotFoundException', ], [ 'shape' => 'DestinationParentNotFoundException', ], [ 'shape' => 'DuplicateAccountException', ], [ 'shape' => 'AccountNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ServiceException', ], ], ], 'RemoveAccountFromOrganization' => [ 'name' => 'RemoveAccountFromOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveAccountFromOrganizationRequest', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AccountNotFoundException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'MasterCannotLeaveOrganizationException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateOrganizationalUnit' => [ 'name' => 'UpdateOrganizationalUnit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateOrganizationalUnitRequest', ], 'output' => [ 'shape' => 'UpdateOrganizationalUnitResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'DuplicateOrganizationalUnitException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OrganizationalUnitNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdatePolicy' => [ 'name' => 'UpdatePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePolicyRequest', ], 'output' => [ 'shape' => 'UpdatePolicyResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'AWSOrganizationsNotInUseException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'ConstraintViolationException', ], [ 'shape' => 'DuplicatePolicyException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PolicyNotFoundException', ], [ 'shape' => 'ServiceException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'AWSOrganizationsNotInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AcceptHandshakeRequest' => [ 'type' => 'structure', 'required' => [ 'HandshakeId', ], 'members' => [ 'HandshakeId' => [ 'shape' => 'HandshakeId', ], ], ], 'AcceptHandshakeResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AccessDeniedForDependencyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'Reason' => [ 'shape' => 'AccessDeniedForDependencyExceptionReason', ], ], 'exception' => true, ], 'AccessDeniedForDependencyExceptionReason' => [ 'type' => 'string', 'enum' => [ 'ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE', ], ], 'Account' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'AccountId', ], 'Arn' => [ 'shape' => 'AccountArn', ], 'Email' => [ 'shape' => 'Email', ], 'Name' => [ 'shape' => 'AccountName', ], 'Status' => [ 'shape' => 'AccountStatus', ], 'JoinedMethod' => [ 'shape' => 'AccountJoinedMethod', ], 'JoinedTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'AccountArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}', ], 'AccountId' => [ 'type' => 'string', 'pattern' => '^\\d{12}$', ], 'AccountJoinedMethod' => [ 'type' => 'string', 'enum' => [ 'INVITED', 'CREATED', ], ], 'AccountName' => [ 'type' => 'string', 'max' => 50, 'min' => 1, 'pattern' => '[\\u0020-\\u007E]+', 'sensitive' => true, ], 'AccountNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AccountOwnerNotVerifiedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AccountStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'SUSPENDED', ], ], 'Accounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Account', ], ], 'ActionType' => [ 'type' => 'string', 'enum' => [ 'INVITE', 'ENABLE_ALL_FEATURES', 'APPROVE_ALL_FEATURES', 'ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE', ], ], 'AlreadyInOrganizationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AttachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'TargetId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'TargetId' => [ 'shape' => 'PolicyTargetId', ], ], ], 'AwsManagedPolicy' => [ 'type' => 'boolean', ], 'CancelHandshakeRequest' => [ 'type' => 'structure', 'required' => [ 'HandshakeId', ], 'members' => [ 'HandshakeId' => [ 'shape' => 'HandshakeId', ], ], ], 'CancelHandshakeResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'Child' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ChildId', ], 'Type' => [ 'shape' => 'ChildType', ], ], ], 'ChildId' => [ 'type' => 'string', 'pattern' => '^(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$', ], 'ChildNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ChildType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORGANIZATIONAL_UNIT', ], ], 'Children' => [ 'type' => 'list', 'member' => [ 'shape' => 'Child', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ConstraintViolationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'Reason' => [ 'shape' => 'ConstraintViolationExceptionReason', ], ], 'exception' => true, ], 'ConstraintViolationExceptionReason' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT_NUMBER_LIMIT_EXCEEDED', 'HANDSHAKE_RATE_LIMIT_EXCEEDED', 'OU_NUMBER_LIMIT_EXCEEDED', 'OU_DEPTH_LIMIT_EXCEEDED', 'POLICY_NUMBER_LIMIT_EXCEEDED', 'MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED', 'MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED', 'ACCOUNT_CANNOT_LEAVE_ORGANIZATION', 'ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA', 'ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION', 'MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED', 'MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED', 'ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED', 'MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE', 'MASTER_ACCOUNT_MISSING_CONTACT_INFO', 'ORGANIZATION_NOT_IN_ALL_FEATURES_MODE', 'EMAIL_VERIFICATION_CODE_EXPIRED', 'WAIT_PERIOD_ACTIVE', ], ], 'CreateAccountFailureReason' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT_LIMIT_EXCEEDED', 'EMAIL_ALREADY_EXISTS', 'INVALID_ADDRESS', 'INVALID_EMAIL', 'CONCURRENT_ACCOUNT_MODIFICATION', 'INTERNAL_FAILURE', ], ], 'CreateAccountRequest' => [ 'type' => 'structure', 'required' => [ 'Email', 'AccountName', ], 'members' => [ 'Email' => [ 'shape' => 'Email', ], 'AccountName' => [ 'shape' => 'AccountName', ], 'RoleName' => [ 'shape' => 'RoleName', ], 'IamUserAccessToBilling' => [ 'shape' => 'IAMUserAccessToBilling', ], ], ], 'CreateAccountRequestId' => [ 'type' => 'string', 'pattern' => '^car-[a-z0-9]{8,32}$', ], 'CreateAccountResponse' => [ 'type' => 'structure', 'members' => [ 'CreateAccountStatus' => [ 'shape' => 'CreateAccountStatus', ], ], ], 'CreateAccountState' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', ], ], 'CreateAccountStates' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateAccountState', ], ], 'CreateAccountStatus' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'CreateAccountRequestId', ], 'AccountName' => [ 'shape' => 'AccountName', ], 'State' => [ 'shape' => 'CreateAccountState', ], 'RequestedTimestamp' => [ 'shape' => 'Timestamp', ], 'CompletedTimestamp' => [ 'shape' => 'Timestamp', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'FailureReason' => [ 'shape' => 'CreateAccountFailureReason', ], ], ], 'CreateAccountStatusNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'CreateAccountStatuses' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateAccountStatus', ], ], 'CreateOrganizationRequest' => [ 'type' => 'structure', 'members' => [ 'FeatureSet' => [ 'shape' => 'OrganizationFeatureSet', ], ], ], 'CreateOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'Organization' => [ 'shape' => 'Organization', ], ], ], 'CreateOrganizationalUnitRequest' => [ 'type' => 'structure', 'required' => [ 'ParentId', 'Name', ], 'members' => [ 'ParentId' => [ 'shape' => 'ParentId', ], 'Name' => [ 'shape' => 'OrganizationalUnitName', ], ], ], 'CreateOrganizationalUnitResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationalUnit' => [ 'shape' => 'OrganizationalUnit', ], ], ], 'CreatePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Content', 'Description', 'Name', 'Type', ], 'members' => [ 'Content' => [ 'shape' => 'PolicyContent', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'Name' => [ 'shape' => 'PolicyName', ], 'Type' => [ 'shape' => 'PolicyType', ], ], ], 'CreatePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], 'DeclineHandshakeRequest' => [ 'type' => 'structure', 'required' => [ 'HandshakeId', ], 'members' => [ 'HandshakeId' => [ 'shape' => 'HandshakeId', ], ], ], 'DeclineHandshakeResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'DeleteOrganizationalUnitRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationalUnitId', ], 'members' => [ 'OrganizationalUnitId' => [ 'shape' => 'OrganizationalUnitId', ], ], ], 'DeletePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], ], ], 'DescribeAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], ], ], 'DescribeAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], ], ], 'DescribeCreateAccountStatusRequest' => [ 'type' => 'structure', 'required' => [ 'CreateAccountRequestId', ], 'members' => [ 'CreateAccountRequestId' => [ 'shape' => 'CreateAccountRequestId', ], ], ], 'DescribeCreateAccountStatusResponse' => [ 'type' => 'structure', 'members' => [ 'CreateAccountStatus' => [ 'shape' => 'CreateAccountStatus', ], ], ], 'DescribeHandshakeRequest' => [ 'type' => 'structure', 'required' => [ 'HandshakeId', ], 'members' => [ 'HandshakeId' => [ 'shape' => 'HandshakeId', ], ], ], 'DescribeHandshakeResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'DescribeOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'Organization' => [ 'shape' => 'Organization', ], ], ], 'DescribeOrganizationalUnitRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationalUnitId', ], 'members' => [ 'OrganizationalUnitId' => [ 'shape' => 'OrganizationalUnitId', ], ], ], 'DescribeOrganizationalUnitResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationalUnit' => [ 'shape' => 'OrganizationalUnit', ], ], ], 'DescribePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], ], ], 'DescribePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], 'DestinationParentNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'DetachPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'TargetId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'TargetId' => [ 'shape' => 'PolicyTargetId', ], ], ], 'DisableAWSServiceAccessRequest' => [ 'type' => 'structure', 'required' => [ 'ServicePrincipal', ], 'members' => [ 'ServicePrincipal' => [ 'shape' => 'ServicePrincipal', ], ], ], 'DisablePolicyTypeRequest' => [ 'type' => 'structure', 'required' => [ 'RootId', 'PolicyType', ], 'members' => [ 'RootId' => [ 'shape' => 'RootId', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], ], ], 'DisablePolicyTypeResponse' => [ 'type' => 'structure', 'members' => [ 'Root' => [ 'shape' => 'Root', ], ], ], 'DuplicateAccountException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'DuplicateHandshakeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'DuplicateOrganizationalUnitException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'DuplicatePolicyAttachmentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'DuplicatePolicyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Email' => [ 'type' => 'string', 'max' => 64, 'min' => 6, 'pattern' => '[^\\s@]+@[^\\s@]+\\.[^\\s@]+', 'sensitive' => true, ], 'EnableAWSServiceAccessRequest' => [ 'type' => 'structure', 'required' => [ 'ServicePrincipal', ], 'members' => [ 'ServicePrincipal' => [ 'shape' => 'ServicePrincipal', ], ], ], 'EnableAllFeaturesRequest' => [ 'type' => 'structure', 'members' => [], ], 'EnableAllFeaturesResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'EnablePolicyTypeRequest' => [ 'type' => 'structure', 'required' => [ 'RootId', 'PolicyType', ], 'members' => [ 'RootId' => [ 'shape' => 'RootId', ], 'PolicyType' => [ 'shape' => 'PolicyType', ], ], ], 'EnablePolicyTypeResponse' => [ 'type' => 'structure', 'members' => [ 'Root' => [ 'shape' => 'Root', ], ], ], 'EnabledServicePrincipal' => [ 'type' => 'structure', 'members' => [ 'ServicePrincipal' => [ 'shape' => 'ServicePrincipal', ], 'DateEnabled' => [ 'shape' => 'Timestamp', ], ], ], 'EnabledServicePrincipals' => [ 'type' => 'list', 'member' => [ 'shape' => 'EnabledServicePrincipal', ], ], 'ExceptionMessage' => [ 'type' => 'string', ], 'ExceptionType' => [ 'type' => 'string', ], 'FinalizingOrganizationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'GenericArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::.+:.+', ], 'Handshake' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'HandshakeId', ], 'Arn' => [ 'shape' => 'HandshakeArn', ], 'Parties' => [ 'shape' => 'HandshakeParties', ], 'State' => [ 'shape' => 'HandshakeState', ], 'RequestedTimestamp' => [ 'shape' => 'Timestamp', ], 'ExpirationTimestamp' => [ 'shape' => 'Timestamp', ], 'Action' => [ 'shape' => 'ActionType', ], 'Resources' => [ 'shape' => 'HandshakeResources', ], ], ], 'HandshakeAlreadyInStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'HandshakeArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::\\d{12}:handshake\\/o-[a-z0-9]{10,32}\\/[a-z_]{1,32}\\/h-[0-9a-z]{8,32}', ], 'HandshakeConstraintViolationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'Reason' => [ 'shape' => 'HandshakeConstraintViolationExceptionReason', ], ], 'exception' => true, ], 'HandshakeConstraintViolationExceptionReason' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT_NUMBER_LIMIT_EXCEEDED', 'HANDSHAKE_RATE_LIMIT_EXCEEDED', 'ALREADY_IN_AN_ORGANIZATION', 'ORGANIZATION_ALREADY_HAS_ALL_FEATURES', 'INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES', 'PAYMENT_INSTRUMENT_REQUIRED', 'ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD', 'ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED', ], ], 'HandshakeFilter' => [ 'type' => 'structure', 'members' => [ 'ActionType' => [ 'shape' => 'ActionType', ], 'ParentHandshakeId' => [ 'shape' => 'HandshakeId', ], ], ], 'HandshakeId' => [ 'type' => 'string', 'pattern' => '^h-[0-9a-z]{8,32}$', ], 'HandshakeNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'HandshakeNotes' => [ 'type' => 'string', 'max' => 1024, 'sensitive' => true, ], 'HandshakeParties' => [ 'type' => 'list', 'member' => [ 'shape' => 'HandshakeParty', ], ], 'HandshakeParty' => [ 'type' => 'structure', 'required' => [ 'Id', 'Type', ], 'members' => [ 'Id' => [ 'shape' => 'HandshakePartyId', ], 'Type' => [ 'shape' => 'HandshakePartyType', ], ], ], 'HandshakePartyId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'sensitive' => true, ], 'HandshakePartyType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORGANIZATION', 'EMAIL', ], ], 'HandshakeResource' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'HandshakeResourceValue', ], 'Type' => [ 'shape' => 'HandshakeResourceType', ], 'Resources' => [ 'shape' => 'HandshakeResources', ], ], ], 'HandshakeResourceType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORGANIZATION', 'ORGANIZATION_FEATURE_SET', 'EMAIL', 'MASTER_EMAIL', 'MASTER_NAME', 'NOTES', 'PARENT_HANDSHAKE', ], ], 'HandshakeResourceValue' => [ 'type' => 'string', 'sensitive' => true, ], 'HandshakeResources' => [ 'type' => 'list', 'member' => [ 'shape' => 'HandshakeResource', ], ], 'HandshakeState' => [ 'type' => 'string', 'enum' => [ 'REQUESTED', 'OPEN', 'CANCELED', 'ACCEPTED', 'DECLINED', 'EXPIRED', ], ], 'Handshakes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Handshake', ], ], 'IAMUserAccessToBilling' => [ 'type' => 'string', 'enum' => [ 'ALLOW', 'DENY', ], ], 'InvalidHandshakeTransitionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'Reason' => [ 'shape' => 'InvalidInputExceptionReason', ], ], 'exception' => true, ], 'InvalidInputExceptionReason' => [ 'type' => 'string', 'enum' => [ 'INVALID_PARTY_TYPE_TARGET', 'INVALID_SYNTAX_ORGANIZATION_ARN', 'INVALID_SYNTAX_POLICY_ID', 'INVALID_ENUM', 'INVALID_LIST_MEMBER', 'MAX_LENGTH_EXCEEDED', 'MAX_VALUE_EXCEEDED', 'MIN_LENGTH_EXCEEDED', 'MIN_VALUE_EXCEEDED', 'IMMUTABLE_POLICY', 'INVALID_PATTERN', 'INVALID_PATTERN_TARGET_ID', 'INPUT_REQUIRED', 'INVALID_NEXT_TOKEN', 'MAX_LIMIT_EXCEEDED_FILTER', 'MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS', 'INVALID_FULL_NAME_TARGET', 'UNRECOGNIZED_SERVICE_PRINCIPAL', 'INVALID_ROLE_NAME', ], ], 'InviteAccountToOrganizationRequest' => [ 'type' => 'structure', 'required' => [ 'Target', ], 'members' => [ 'Target' => [ 'shape' => 'HandshakeParty', ], 'Notes' => [ 'shape' => 'HandshakeNotes', ], ], ], 'InviteAccountToOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'Handshake' => [ 'shape' => 'Handshake', ], ], ], 'ListAWSServiceAccessForOrganizationRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAWSServiceAccessForOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'EnabledServicePrincipals' => [ 'shape' => 'EnabledServicePrincipals', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAccountsForParentRequest' => [ 'type' => 'structure', 'required' => [ 'ParentId', ], 'members' => [ 'ParentId' => [ 'shape' => 'ParentId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAccountsForParentResponse' => [ 'type' => 'structure', 'members' => [ 'Accounts' => [ 'shape' => 'Accounts', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAccountsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAccountsResponse' => [ 'type' => 'structure', 'members' => [ 'Accounts' => [ 'shape' => 'Accounts', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListChildrenRequest' => [ 'type' => 'structure', 'required' => [ 'ParentId', 'ChildType', ], 'members' => [ 'ParentId' => [ 'shape' => 'ParentId', ], 'ChildType' => [ 'shape' => 'ChildType', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListChildrenResponse' => [ 'type' => 'structure', 'members' => [ 'Children' => [ 'shape' => 'Children', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCreateAccountStatusRequest' => [ 'type' => 'structure', 'members' => [ 'States' => [ 'shape' => 'CreateAccountStates', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListCreateAccountStatusResponse' => [ 'type' => 'structure', 'members' => [ 'CreateAccountStatuses' => [ 'shape' => 'CreateAccountStatuses', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListHandshakesForAccountRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'HandshakeFilter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListHandshakesForAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Handshakes' => [ 'shape' => 'Handshakes', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListHandshakesForOrganizationRequest' => [ 'type' => 'structure', 'members' => [ 'Filter' => [ 'shape' => 'HandshakeFilter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListHandshakesForOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'Handshakes' => [ 'shape' => 'Handshakes', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOrganizationalUnitsForParentRequest' => [ 'type' => 'structure', 'required' => [ 'ParentId', ], 'members' => [ 'ParentId' => [ 'shape' => 'ParentId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListOrganizationalUnitsForParentResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationalUnits' => [ 'shape' => 'OrganizationalUnits', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListParentsRequest' => [ 'type' => 'structure', 'required' => [ 'ChildId', ], 'members' => [ 'ChildId' => [ 'shape' => 'ChildId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListParentsResponse' => [ 'type' => 'structure', 'members' => [ 'Parents' => [ 'shape' => 'Parents', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPoliciesForTargetRequest' => [ 'type' => 'structure', 'required' => [ 'TargetId', 'Filter', ], 'members' => [ 'TargetId' => [ 'shape' => 'PolicyTargetId', ], 'Filter' => [ 'shape' => 'PolicyType', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListPoliciesForTargetResponse' => [ 'type' => 'structure', 'members' => [ 'Policies' => [ 'shape' => 'Policies', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListPoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'Filter', ], 'members' => [ 'Filter' => [ 'shape' => 'PolicyType', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListPoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'Policies' => [ 'shape' => 'Policies', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListRootsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListRootsResponse' => [ 'type' => 'structure', 'members' => [ 'Roots' => [ 'shape' => 'Roots', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTargetsForPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListTargetsForPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Targets' => [ 'shape' => 'PolicyTargets', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MalformedPolicyDocumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'MasterCannotLeaveOrganizationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 20, 'min' => 1, ], 'MoveAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'SourceParentId', 'DestinationParentId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'SourceParentId' => [ 'shape' => 'ParentId', ], 'DestinationParentId' => [ 'shape' => 'ParentId', ], ], ], 'NextToken' => [ 'type' => 'string', ], 'Organization' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'OrganizationId', ], 'Arn' => [ 'shape' => 'OrganizationArn', ], 'FeatureSet' => [ 'shape' => 'OrganizationFeatureSet', ], 'MasterAccountArn' => [ 'shape' => 'AccountArn', ], 'MasterAccountId' => [ 'shape' => 'AccountId', ], 'MasterAccountEmail' => [ 'shape' => 'Email', ], 'AvailablePolicyTypes' => [ 'shape' => 'PolicyTypes', ], ], ], 'OrganizationArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}', ], 'OrganizationFeatureSet' => [ 'type' => 'string', 'enum' => [ 'ALL', 'CONSOLIDATED_BILLING', ], ], 'OrganizationId' => [ 'type' => 'string', 'pattern' => '^o-[a-z0-9]{10,32}$', ], 'OrganizationNotEmptyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'OrganizationalUnit' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'OrganizationalUnitId', ], 'Arn' => [ 'shape' => 'OrganizationalUnitArn', ], 'Name' => [ 'shape' => 'OrganizationalUnitName', ], ], ], 'OrganizationalUnitArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::\\d{12}:ou\\/o-[a-z0-9]{10,32}\\/ou-[0-9a-z]{4,32}-[0-9a-z]{8,32}', ], 'OrganizationalUnitId' => [ 'type' => 'string', 'pattern' => '^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$', ], 'OrganizationalUnitName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'OrganizationalUnitNotEmptyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'OrganizationalUnitNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'OrganizationalUnits' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrganizationalUnit', ], ], 'Parent' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ParentId', ], 'Type' => [ 'shape' => 'ParentType', ], ], ], 'ParentId' => [ 'type' => 'string', 'pattern' => '^(r-[0-9a-z]{4,32})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$', ], 'ParentNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ParentType' => [ 'type' => 'string', 'enum' => [ 'ROOT', 'ORGANIZATIONAL_UNIT', ], ], 'Parents' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parent', ], ], 'Policies' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicySummary', ], ], 'Policy' => [ 'type' => 'structure', 'members' => [ 'PolicySummary' => [ 'shape' => 'PolicySummary', ], 'Content' => [ 'shape' => 'PolicyContent', ], ], ], 'PolicyArn' => [ 'type' => 'string', 'pattern' => '^(arn:aws:organizations::\\d{12}:policy\\/o-[a-z0-9]{10,32}\\/[0-9a-z_]+\\/p-[0-9a-z]{10,32})|(arn:aws:organizations::aws:policy\\/[0-9a-z_]+\\/p-[0-9a-zA-Z_]{10,128})', ], 'PolicyContent' => [ 'type' => 'string', 'max' => 1000000, 'min' => 1, ], 'PolicyDescription' => [ 'type' => 'string', 'max' => 512, ], 'PolicyId' => [ 'type' => 'string', 'pattern' => '^p-[0-9a-zA-Z_]{8,128}$', ], 'PolicyInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicyName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'PolicyNotAttachedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicyNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicySummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'PolicyId', ], 'Arn' => [ 'shape' => 'PolicyArn', ], 'Name' => [ 'shape' => 'PolicyName', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'Type' => [ 'shape' => 'PolicyType', ], 'AwsManaged' => [ 'shape' => 'AwsManagedPolicy', ], ], ], 'PolicyTargetId' => [ 'type' => 'string', 'pattern' => '^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$', ], 'PolicyTargetSummary' => [ 'type' => 'structure', 'members' => [ 'TargetId' => [ 'shape' => 'PolicyTargetId', ], 'Arn' => [ 'shape' => 'GenericArn', ], 'Name' => [ 'shape' => 'TargetName', ], 'Type' => [ 'shape' => 'TargetType', ], ], ], 'PolicyTargets' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyTargetSummary', ], ], 'PolicyType' => [ 'type' => 'string', 'enum' => [ 'SERVICE_CONTROL_POLICY', ], ], 'PolicyTypeAlreadyEnabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicyTypeNotAvailableForOrganizationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicyTypeNotEnabledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PolicyTypeStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'PENDING_ENABLE', 'PENDING_DISABLE', ], ], 'PolicyTypeSummary' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'PolicyType', ], 'Status' => [ 'shape' => 'PolicyTypeStatus', ], ], ], 'PolicyTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'PolicyTypeSummary', ], ], 'RemoveAccountFromOrganizationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], ], ], 'RoleName' => [ 'type' => 'string', 'pattern' => '[\\w+=,.@-]{1,64}', ], 'Root' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'RootId', ], 'Arn' => [ 'shape' => 'RootArn', ], 'Name' => [ 'shape' => 'RootName', ], 'PolicyTypes' => [ 'shape' => 'PolicyTypes', ], ], ], 'RootArn' => [ 'type' => 'string', 'pattern' => '^arn:aws:organizations::\\d{12}:root\\/o-[a-z0-9]{10,32}\\/r-[0-9a-z]{4,32}', ], 'RootId' => [ 'type' => 'string', 'pattern' => '^r-[0-9a-z]{4,32}$', ], 'RootName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'RootNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Roots' => [ 'type' => 'list', 'member' => [ 'shape' => 'Root', ], ], 'ServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ServicePrincipal' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]*', ], 'SourceParentNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'TargetName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TargetNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'TargetType' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', 'ORGANIZATIONAL_UNIT', 'ROOT', ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ExceptionType', ], 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UpdateOrganizationalUnitRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationalUnitId', ], 'members' => [ 'OrganizationalUnitId' => [ 'shape' => 'OrganizationalUnitId', ], 'Name' => [ 'shape' => 'OrganizationalUnitName', ], ], ], 'UpdateOrganizationalUnitResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationalUnit' => [ 'shape' => 'OrganizationalUnit', ], ], ], 'UpdatePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'PolicyId', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'Name' => [ 'shape' => 'PolicyName', ], 'Description' => [ 'shape' => 'PolicyDescription', ], 'Content' => [ 'shape' => 'PolicyContent', ], ], ], 'UpdatePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], ], ],]; diff --git a/lib/aws/Aws/data/organizations/2016-11-28/paginators-1.json.php b/lib/aws/Aws/data/organizations/2016-11-28/paginators-1.json.php new file mode 100644 index 0000000..9706908 --- /dev/null +++ b/lib/aws/Aws/data/organizations/2016-11-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/organizations/2016-11-28/paginators-1.json +return [ 'pagination' => [ 'ListAWSServiceAccessForOrganization' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListAccounts' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListAccountsForParent' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListChildren' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListCreateAccountStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListHandshakesForAccount' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListHandshakesForOrganization' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListOrganizationalUnitsForParent' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListParents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPolicies' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListPoliciesForTarget' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListRoots' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTargetsForPolicy' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/pi/2018-02-27/api-2.json.php b/lib/aws/Aws/data/pi/2018-02-27/api-2.json.php new file mode 100644 index 0000000..827a932 --- /dev/null +++ b/lib/aws/Aws/data/pi/2018-02-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pi/2018-02-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-02-27', 'endpointPrefix' => 'pi', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS PI', 'serviceFullName' => 'AWS Performance Insights', 'serviceId' => 'PI', 'signatureVersion' => 'v4', 'signingName' => 'pi', 'targetPrefix' => 'PerformanceInsightsv20180227', 'uid' => 'pi-2018-02-27', ], 'operations' => [ 'DescribeDimensionKeys' => [ 'name' => 'DescribeDimensionKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDimensionKeysRequest', ], 'output' => [ 'shape' => 'DescribeDimensionKeysResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'NotAuthorizedException', ], ], ], 'GetResourceMetrics' => [ 'name' => 'GetResourceMetrics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourceMetricsRequest', ], 'output' => [ 'shape' => 'GetResourceMetricsResponse', ], 'errors' => [ [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'NotAuthorizedException', ], ], ], ], 'shapes' => [ 'DataPoint' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'Value', ], 'members' => [ 'Timestamp' => [ 'shape' => 'ISOTimestamp', ], 'Value' => [ 'shape' => 'Double', ], ], ], 'DataPointsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DataPoint', ], ], 'DescribeDimensionKeysRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceType', 'Identifier', 'StartTime', 'EndTime', 'Metric', 'GroupBy', ], 'members' => [ 'ServiceType' => [ 'shape' => 'ServiceType', ], 'Identifier' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'ISOTimestamp', ], 'EndTime' => [ 'shape' => 'ISOTimestamp', ], 'Metric' => [ 'shape' => 'String', ], 'PeriodInSeconds' => [ 'shape' => 'Integer', ], 'GroupBy' => [ 'shape' => 'DimensionGroup', ], 'PartitionBy' => [ 'shape' => 'DimensionGroup', ], 'Filter' => [ 'shape' => 'MetricQueryFilterMap', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeDimensionKeysResponse' => [ 'type' => 'structure', 'members' => [ 'AlignedStartTime' => [ 'shape' => 'ISOTimestamp', ], 'AlignedEndTime' => [ 'shape' => 'ISOTimestamp', ], 'PartitionKeys' => [ 'shape' => 'ResponsePartitionKeyList', ], 'Keys' => [ 'shape' => 'DimensionKeyDescriptionList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DimensionGroup' => [ 'type' => 'structure', 'required' => [ 'Group', ], 'members' => [ 'Group' => [ 'shape' => 'String', ], 'Dimensions' => [ 'shape' => 'StringList', ], 'Limit' => [ 'shape' => 'Limit', ], ], ], 'DimensionKeyDescription' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'DimensionMap', ], 'Total' => [ 'shape' => 'Double', ], 'Partitions' => [ 'shape' => 'MetricValuesList', ], ], ], 'DimensionKeyDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DimensionKeyDescription', ], ], 'DimensionMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'Double' => [ 'type' => 'double', ], 'GetResourceMetricsRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceType', 'Identifier', 'MetricQueries', 'StartTime', 'EndTime', ], 'members' => [ 'ServiceType' => [ 'shape' => 'ServiceType', ], 'Identifier' => [ 'shape' => 'String', ], 'MetricQueries' => [ 'shape' => 'MetricQueryList', ], 'StartTime' => [ 'shape' => 'ISOTimestamp', ], 'EndTime' => [ 'shape' => 'ISOTimestamp', ], 'PeriodInSeconds' => [ 'shape' => 'Integer', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetResourceMetricsResponse' => [ 'type' => 'structure', 'members' => [ 'AlignedStartTime' => [ 'shape' => 'ISOTimestamp', ], 'AlignedEndTime' => [ 'shape' => 'ISOTimestamp', ], 'Identifier' => [ 'shape' => 'String', ], 'MetricList' => [ 'shape' => 'MetricKeyDataPointsList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ISOTimestamp' => [ 'type' => 'timestamp', ], 'Integer' => [ 'type' => 'integer', ], 'InternalServiceError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Limit' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 20, 'min' => 0, ], 'MetricKeyDataPoints' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ResponseResourceMetricKey', ], 'DataPoints' => [ 'shape' => 'DataPointsList', ], ], ], 'MetricKeyDataPointsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricKeyDataPoints', ], ], 'MetricQuery' => [ 'type' => 'structure', 'required' => [ 'Metric', ], 'members' => [ 'Metric' => [ 'shape' => 'String', ], 'GroupBy' => [ 'shape' => 'DimensionGroup', ], 'Filter' => [ 'shape' => 'MetricQueryFilterMap', ], ], ], 'MetricQueryFilterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'MetricQueryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricQuery', ], 'max' => 15, 'min' => 1, ], 'MetricValuesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Double', ], ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResponsePartitionKey' => [ 'type' => 'structure', 'required' => [ 'Dimensions', ], 'members' => [ 'Dimensions' => [ 'shape' => 'DimensionMap', ], ], ], 'ResponsePartitionKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResponsePartitionKey', ], ], 'ResponseResourceMetricKey' => [ 'type' => 'structure', 'required' => [ 'Metric', ], 'members' => [ 'Metric' => [ 'shape' => 'String', ], 'Dimensions' => [ 'shape' => 'DimensionMap', ], ], ], 'ServiceType' => [ 'type' => 'string', 'enum' => [ 'RDS', ], ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], 'max' => 10, 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/pi/2018-02-27/paginators-1.json.php b/lib/aws/Aws/data/pi/2018-02-27/paginators-1.json.php new file mode 100644 index 0000000..27bdd85 --- /dev/null +++ b/lib/aws/Aws/data/pi/2018-02-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pi/2018-02-27/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/pinpoint-email/2018-07-26/api-2.json.php b/lib/aws/Aws/data/pinpoint-email/2018-07-26/api-2.json.php new file mode 100644 index 0000000..9c50f24 --- /dev/null +++ b/lib/aws/Aws/data/pinpoint-email/2018-07-26/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pinpoint-email/2018-07-26/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-07-26', 'endpointPrefix' => 'email', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Pinpoint Email', 'serviceFullName' => 'Amazon Pinpoint Email Service', 'serviceId' => 'Pinpoint Email', 'signatureVersion' => 'v4', 'signingName' => 'ses', 'targetPrefix' => 'com.amazonaws.services.pinpoint.email', 'uid' => 'pinpoint-email-2018-07-26', ], 'operations' => [ 'CreateConfigurationSet' => [ 'name' => 'CreateConfigurationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/configuration-sets', ], 'input' => [ 'shape' => 'CreateConfigurationSetRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateConfigurationSetEventDestination' => [ 'name' => 'CreateConfigurationSetEventDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations', ], 'input' => [ 'shape' => 'CreateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'CreateDedicatedIpPool' => [ 'name' => 'CreateDedicatedIpPool', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/dedicated-ip-pools', ], 'input' => [ 'shape' => 'CreateDedicatedIpPoolRequest', ], 'output' => [ 'shape' => 'CreateDedicatedIpPoolResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateDeliverabilityTestReport' => [ 'name' => 'CreateDeliverabilityTestReport', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/deliverability-dashboard/test', ], 'input' => [ 'shape' => 'CreateDeliverabilityTestReportRequest', ], 'output' => [ 'shape' => 'CreateDeliverabilityTestReportResponse', ], 'errors' => [ [ 'shape' => 'AccountSuspendedException', ], [ 'shape' => 'SendingPausedException', ], [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'CreateEmailIdentity' => [ 'name' => 'CreateEmailIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/identities', ], 'input' => [ 'shape' => 'CreateEmailIdentityRequest', ], 'output' => [ 'shape' => 'CreateEmailIdentityResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteConfigurationSet' => [ 'name' => 'DeleteConfigurationSet', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}', ], 'input' => [ 'shape' => 'DeleteConfigurationSetRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteConfigurationSetEventDestination' => [ 'name' => 'DeleteConfigurationSetEventDestination', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}', ], 'input' => [ 'shape' => 'DeleteConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'DeleteDedicatedIpPool' => [ 'name' => 'DeleteDedicatedIpPool', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/dedicated-ip-pools/{PoolName}', ], 'input' => [ 'shape' => 'DeleteDedicatedIpPoolRequest', ], 'output' => [ 'shape' => 'DeleteDedicatedIpPoolResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteEmailIdentity' => [ 'name' => 'DeleteEmailIdentity', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/identities/{EmailIdentity}', ], 'input' => [ 'shape' => 'DeleteEmailIdentityRequest', ], 'output' => [ 'shape' => 'DeleteEmailIdentityResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'GetAccount' => [ 'name' => 'GetAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/account', ], 'input' => [ 'shape' => 'GetAccountRequest', ], 'output' => [ 'shape' => 'GetAccountResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetBlacklistReports' => [ 'name' => 'GetBlacklistReports', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/deliverability-dashboard/blacklist-report', ], 'input' => [ 'shape' => 'GetBlacklistReportsRequest', ], 'output' => [ 'shape' => 'GetBlacklistReportsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetConfigurationSet' => [ 'name' => 'GetConfigurationSet', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}', ], 'input' => [ 'shape' => 'GetConfigurationSetRequest', ], 'output' => [ 'shape' => 'GetConfigurationSetResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetConfigurationSetEventDestinations' => [ 'name' => 'GetConfigurationSetEventDestinations', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations', ], 'input' => [ 'shape' => 'GetConfigurationSetEventDestinationsRequest', ], 'output' => [ 'shape' => 'GetConfigurationSetEventDestinationsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDedicatedIp' => [ 'name' => 'GetDedicatedIp', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/dedicated-ips/{IP}', ], 'input' => [ 'shape' => 'GetDedicatedIpRequest', ], 'output' => [ 'shape' => 'GetDedicatedIpResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDedicatedIps' => [ 'name' => 'GetDedicatedIps', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/dedicated-ips', ], 'input' => [ 'shape' => 'GetDedicatedIpsRequest', ], 'output' => [ 'shape' => 'GetDedicatedIpsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDeliverabilityDashboardOptions' => [ 'name' => 'GetDeliverabilityDashboardOptions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/deliverability-dashboard', ], 'input' => [ 'shape' => 'GetDeliverabilityDashboardOptionsRequest', ], 'output' => [ 'shape' => 'GetDeliverabilityDashboardOptionsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDeliverabilityTestReport' => [ 'name' => 'GetDeliverabilityTestReport', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/deliverability-dashboard/test-reports/{ReportId}', ], 'input' => [ 'shape' => 'GetDeliverabilityTestReportRequest', ], 'output' => [ 'shape' => 'GetDeliverabilityTestReportResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetDomainStatisticsReport' => [ 'name' => 'GetDomainStatisticsReport', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/deliverability-dashboard/statistics-report/{Domain}', ], 'input' => [ 'shape' => 'GetDomainStatisticsReportRequest', ], 'output' => [ 'shape' => 'GetDomainStatisticsReportResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetEmailIdentity' => [ 'name' => 'GetEmailIdentity', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/identities/{EmailIdentity}', ], 'input' => [ 'shape' => 'GetEmailIdentityRequest', ], 'output' => [ 'shape' => 'GetEmailIdentityResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListConfigurationSets' => [ 'name' => 'ListConfigurationSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/configuration-sets', ], 'input' => [ 'shape' => 'ListConfigurationSetsRequest', ], 'output' => [ 'shape' => 'ListConfigurationSetsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListDedicatedIpPools' => [ 'name' => 'ListDedicatedIpPools', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/dedicated-ip-pools', ], 'input' => [ 'shape' => 'ListDedicatedIpPoolsRequest', ], 'output' => [ 'shape' => 'ListDedicatedIpPoolsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListDeliverabilityTestReports' => [ 'name' => 'ListDeliverabilityTestReports', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/deliverability-dashboard/test-reports', ], 'input' => [ 'shape' => 'ListDeliverabilityTestReportsRequest', ], 'output' => [ 'shape' => 'ListDeliverabilityTestReportsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListEmailIdentities' => [ 'name' => 'ListEmailIdentities', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/identities', ], 'input' => [ 'shape' => 'ListEmailIdentitiesRequest', ], 'output' => [ 'shape' => 'ListEmailIdentitiesResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/tags', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutAccountDedicatedIpWarmupAttributes' => [ 'name' => 'PutAccountDedicatedIpWarmupAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/account/dedicated-ips/warmup', ], 'input' => [ 'shape' => 'PutAccountDedicatedIpWarmupAttributesRequest', ], 'output' => [ 'shape' => 'PutAccountDedicatedIpWarmupAttributesResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutAccountSendingAttributes' => [ 'name' => 'PutAccountSendingAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/account/sending', ], 'input' => [ 'shape' => 'PutAccountSendingAttributesRequest', ], 'output' => [ 'shape' => 'PutAccountSendingAttributesResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutConfigurationSetDeliveryOptions' => [ 'name' => 'PutConfigurationSetDeliveryOptions', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/delivery-options', ], 'input' => [ 'shape' => 'PutConfigurationSetDeliveryOptionsRequest', ], 'output' => [ 'shape' => 'PutConfigurationSetDeliveryOptionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutConfigurationSetReputationOptions' => [ 'name' => 'PutConfigurationSetReputationOptions', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/reputation-options', ], 'input' => [ 'shape' => 'PutConfigurationSetReputationOptionsRequest', ], 'output' => [ 'shape' => 'PutConfigurationSetReputationOptionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutConfigurationSetSendingOptions' => [ 'name' => 'PutConfigurationSetSendingOptions', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/sending', ], 'input' => [ 'shape' => 'PutConfigurationSetSendingOptionsRequest', ], 'output' => [ 'shape' => 'PutConfigurationSetSendingOptionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutConfigurationSetTrackingOptions' => [ 'name' => 'PutConfigurationSetTrackingOptions', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/tracking-options', ], 'input' => [ 'shape' => 'PutConfigurationSetTrackingOptionsRequest', ], 'output' => [ 'shape' => 'PutConfigurationSetTrackingOptionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutDedicatedIpInPool' => [ 'name' => 'PutDedicatedIpInPool', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/dedicated-ips/{IP}/pool', ], 'input' => [ 'shape' => 'PutDedicatedIpInPoolRequest', ], 'output' => [ 'shape' => 'PutDedicatedIpInPoolResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutDedicatedIpWarmupAttributes' => [ 'name' => 'PutDedicatedIpWarmupAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/dedicated-ips/{IP}/warmup', ], 'input' => [ 'shape' => 'PutDedicatedIpWarmupAttributesRequest', ], 'output' => [ 'shape' => 'PutDedicatedIpWarmupAttributesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutDeliverabilityDashboardOption' => [ 'name' => 'PutDeliverabilityDashboardOption', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/deliverability-dashboard', ], 'input' => [ 'shape' => 'PutDeliverabilityDashboardOptionRequest', ], 'output' => [ 'shape' => 'PutDeliverabilityDashboardOptionResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutEmailIdentityDkimAttributes' => [ 'name' => 'PutEmailIdentityDkimAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/identities/{EmailIdentity}/dkim', ], 'input' => [ 'shape' => 'PutEmailIdentityDkimAttributesRequest', ], 'output' => [ 'shape' => 'PutEmailIdentityDkimAttributesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutEmailIdentityFeedbackAttributes' => [ 'name' => 'PutEmailIdentityFeedbackAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/identities/{EmailIdentity}/feedback', ], 'input' => [ 'shape' => 'PutEmailIdentityFeedbackAttributesRequest', ], 'output' => [ 'shape' => 'PutEmailIdentityFeedbackAttributesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'PutEmailIdentityMailFromAttributes' => [ 'name' => 'PutEmailIdentityMailFromAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/identities/{EmailIdentity}/mail-from', ], 'input' => [ 'shape' => 'PutEmailIdentityMailFromAttributesRequest', ], 'output' => [ 'shape' => 'PutEmailIdentityMailFromAttributesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'SendEmail' => [ 'name' => 'SendEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/outbound-emails', ], 'input' => [ 'shape' => 'SendEmailRequest', ], 'output' => [ 'shape' => 'SendEmailResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'AccountSuspendedException', ], [ 'shape' => 'SendingPausedException', ], [ 'shape' => 'MessageRejected', ], [ 'shape' => 'MailFromDomainNotVerifiedException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/tags', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/tags', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateConfigurationSetEventDestination' => [ 'name' => 'UpdateConfigurationSetEventDestination', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}', ], 'input' => [ 'shape' => 'UpdateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'UpdateConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], ], 'shapes' => [ 'AccountSuspendedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'AmazonResourceName' => [ 'type' => 'string', ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'BehaviorOnMxFailure' => [ 'type' => 'string', 'enum' => [ 'USE_DEFAULT_VALUE', 'REJECT_MESSAGE', ], ], 'BlacklistEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlacklistEntry', ], ], 'BlacklistEntry' => [ 'type' => 'structure', 'members' => [ 'RblName' => [ 'shape' => 'RblName', ], 'ListingTime' => [ 'shape' => 'Timestamp', ], 'Description' => [ 'shape' => 'BlacklistingDescription', ], ], ], 'BlacklistItemName' => [ 'type' => 'string', ], 'BlacklistItemNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'BlacklistItemName', ], ], 'BlacklistReport' => [ 'type' => 'map', 'key' => [ 'shape' => 'BlacklistItemName', ], 'value' => [ 'shape' => 'BlacklistEntries', ], ], 'BlacklistingDescription' => [ 'type' => 'string', ], 'Body' => [ 'type' => 'structure', 'members' => [ 'Text' => [ 'shape' => 'Content', ], 'Html' => [ 'shape' => 'Content', ], ], ], 'Charset' => [ 'type' => 'string', ], 'CloudWatchDestination' => [ 'type' => 'structure', 'required' => [ 'DimensionConfigurations', ], 'members' => [ 'DimensionConfigurations' => [ 'shape' => 'CloudWatchDimensionConfigurations', ], ], ], 'CloudWatchDimensionConfiguration' => [ 'type' => 'structure', 'required' => [ 'DimensionName', 'DimensionValueSource', 'DefaultDimensionValue', ], 'members' => [ 'DimensionName' => [ 'shape' => 'DimensionName', ], 'DimensionValueSource' => [ 'shape' => 'DimensionValueSource', ], 'DefaultDimensionValue' => [ 'shape' => 'DefaultDimensionValue', ], ], ], 'CloudWatchDimensionConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchDimensionConfiguration', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'ConfigurationSetName' => [ 'type' => 'string', ], 'ConfigurationSetNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConfigurationSetName', ], ], 'Content' => [ 'type' => 'structure', 'required' => [ 'Data', ], 'members' => [ 'Data' => [ 'shape' => 'MessageData', ], 'Charset' => [ 'shape' => 'Charset', ], ], ], 'CreateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestinationName', 'EventDestination', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', ], 'EventDestination' => [ 'shape' => 'EventDestinationDefinition', ], ], ], 'CreateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateConfigurationSetRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'TrackingOptions' => [ 'shape' => 'TrackingOptions', ], 'DeliveryOptions' => [ 'shape' => 'DeliveryOptions', ], 'ReputationOptions' => [ 'shape' => 'ReputationOptions', ], 'SendingOptions' => [ 'shape' => 'SendingOptions', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateDedicatedIpPoolRequest' => [ 'type' => 'structure', 'required' => [ 'PoolName', ], 'members' => [ 'PoolName' => [ 'shape' => 'PoolName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDedicatedIpPoolResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateDeliverabilityTestReportRequest' => [ 'type' => 'structure', 'required' => [ 'FromEmailAddress', 'Content', ], 'members' => [ 'ReportName' => [ 'shape' => 'ReportName', ], 'FromEmailAddress' => [ 'shape' => 'EmailAddress', ], 'Content' => [ 'shape' => 'EmailContent', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDeliverabilityTestReportResponse' => [ 'type' => 'structure', 'required' => [ 'ReportId', 'DeliverabilityTestStatus', ], 'members' => [ 'ReportId' => [ 'shape' => 'ReportId', ], 'DeliverabilityTestStatus' => [ 'shape' => 'DeliverabilityTestStatus', ], ], ], 'CreateEmailIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEmailIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'VerifiedForSendingStatus' => [ 'shape' => 'Enabled', ], 'DkimAttributes' => [ 'shape' => 'DkimAttributes', ], ], ], 'CustomRedirectDomain' => [ 'type' => 'string', ], 'DailyVolume' => [ 'type' => 'structure', 'members' => [ 'StartDate' => [ 'shape' => 'Timestamp', ], 'VolumeStatistics' => [ 'shape' => 'VolumeStatistics', ], 'DomainIspPlacements' => [ 'shape' => 'DomainIspPlacements', ], ], ], 'DailyVolumes' => [ 'type' => 'list', 'member' => [ 'shape' => 'DailyVolume', ], ], 'DedicatedIp' => [ 'type' => 'structure', 'required' => [ 'Ip', 'WarmupStatus', 'WarmupPercentage', ], 'members' => [ 'Ip' => [ 'shape' => 'Ip', ], 'WarmupStatus' => [ 'shape' => 'WarmupStatus', ], 'WarmupPercentage' => [ 'shape' => 'Percentage100Wrapper', ], 'PoolName' => [ 'shape' => 'PoolName', ], ], ], 'DedicatedIpList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DedicatedIp', ], ], 'DefaultDimensionValue' => [ 'type' => 'string', ], 'DeleteConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestinationName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', 'location' => 'uri', 'locationName' => 'EventDestinationName', ], ], ], 'DeleteConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConfigurationSetRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], ], ], 'DeleteConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDedicatedIpPoolRequest' => [ 'type' => 'structure', 'required' => [ 'PoolName', ], 'members' => [ 'PoolName' => [ 'shape' => 'PoolName', 'location' => 'uri', 'locationName' => 'PoolName', ], ], ], 'DeleteDedicatedIpPoolResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteEmailIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'EmailIdentity', ], ], ], 'DeleteEmailIdentityResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeliverabilityTestReport' => [ 'type' => 'structure', 'members' => [ 'ReportId' => [ 'shape' => 'ReportId', ], 'ReportName' => [ 'shape' => 'ReportName', ], 'Subject' => [ 'shape' => 'DeliverabilityTestSubject', ], 'FromEmailAddress' => [ 'shape' => 'EmailAddress', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], 'DeliverabilityTestStatus' => [ 'shape' => 'DeliverabilityTestStatus', ], ], ], 'DeliverabilityTestReports' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeliverabilityTestReport', ], ], 'DeliverabilityTestStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'COMPLETED', ], ], 'DeliverabilityTestSubject' => [ 'type' => 'string', ], 'DeliveryOptions' => [ 'type' => 'structure', 'members' => [ 'SendingPoolName' => [ 'shape' => 'PoolName', ], ], ], 'Destination' => [ 'type' => 'structure', 'members' => [ 'ToAddresses' => [ 'shape' => 'EmailAddressList', ], 'CcAddresses' => [ 'shape' => 'EmailAddressList', ], 'BccAddresses' => [ 'shape' => 'EmailAddressList', ], ], ], 'DimensionName' => [ 'type' => 'string', ], 'DimensionValueSource' => [ 'type' => 'string', 'enum' => [ 'MESSAGE_TAG', 'EMAIL_HEADER', 'LINK_TAG', ], ], 'DkimAttributes' => [ 'type' => 'structure', 'members' => [ 'SigningEnabled' => [ 'shape' => 'Enabled', ], 'Status' => [ 'shape' => 'DkimStatus', ], 'Tokens' => [ 'shape' => 'DnsTokenList', ], ], ], 'DkimStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'SUCCESS', 'FAILED', 'TEMPORARY_FAILURE', 'NOT_STARTED', ], ], 'DnsToken' => [ 'type' => 'string', ], 'DnsTokenList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DnsToken', ], ], 'DomainIspPlacement' => [ 'type' => 'structure', 'members' => [ 'IspName' => [ 'shape' => 'IspName', ], 'InboxRawCount' => [ 'shape' => 'Volume', ], 'SpamRawCount' => [ 'shape' => 'Volume', ], 'InboxPercentage' => [ 'shape' => 'Percentage', ], 'SpamPercentage' => [ 'shape' => 'Percentage', ], ], ], 'DomainIspPlacements' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainIspPlacement', ], ], 'EmailAddress' => [ 'type' => 'string', ], 'EmailAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EmailAddress', ], ], 'EmailContent' => [ 'type' => 'structure', 'members' => [ 'Simple' => [ 'shape' => 'Message', ], 'Raw' => [ 'shape' => 'RawMessage', ], ], ], 'Enabled' => [ 'type' => 'boolean', ], 'EventDestination' => [ 'type' => 'structure', 'required' => [ 'Name', 'MatchingEventTypes', ], 'members' => [ 'Name' => [ 'shape' => 'EventDestinationName', ], 'Enabled' => [ 'shape' => 'Enabled', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'CloudWatchDestination' => [ 'shape' => 'CloudWatchDestination', ], 'SnsDestination' => [ 'shape' => 'SnsDestination', ], 'PinpointDestination' => [ 'shape' => 'PinpointDestination', ], ], ], 'EventDestinationDefinition' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'Enabled', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'CloudWatchDestination' => [ 'shape' => 'CloudWatchDestination', ], 'SnsDestination' => [ 'shape' => 'SnsDestination', ], 'PinpointDestination' => [ 'shape' => 'PinpointDestination', ], ], ], 'EventDestinationName' => [ 'type' => 'string', ], 'EventDestinations' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDestination', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'SEND', 'REJECT', 'BOUNCE', 'COMPLAINT', 'DELIVERY', 'OPEN', 'CLICK', 'RENDERING_FAILURE', ], ], 'EventTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventType', ], ], 'GeneralEnforcementStatus' => [ 'type' => 'string', ], 'GetAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetAccountResponse' => [ 'type' => 'structure', 'members' => [ 'SendQuota' => [ 'shape' => 'SendQuota', ], 'SendingEnabled' => [ 'shape' => 'Enabled', ], 'DedicatedIpAutoWarmupEnabled' => [ 'shape' => 'Enabled', ], 'EnforcementStatus' => [ 'shape' => 'GeneralEnforcementStatus', ], 'ProductionAccessEnabled' => [ 'shape' => 'Enabled', ], ], ], 'GetBlacklistReportsRequest' => [ 'type' => 'structure', 'required' => [ 'BlacklistItemNames', ], 'members' => [ 'BlacklistItemNames' => [ 'shape' => 'BlacklistItemNames', ], ], ], 'GetBlacklistReportsResponse' => [ 'type' => 'structure', 'required' => [ 'BlacklistReport', ], 'members' => [ 'BlacklistReport' => [ 'shape' => 'BlacklistReport', ], ], ], 'GetConfigurationSetEventDestinationsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], ], ], 'GetConfigurationSetEventDestinationsResponse' => [ 'type' => 'structure', 'members' => [ 'EventDestinations' => [ 'shape' => 'EventDestinations', ], ], ], 'GetConfigurationSetRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], ], ], 'GetConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], 'TrackingOptions' => [ 'shape' => 'TrackingOptions', ], 'DeliveryOptions' => [ 'shape' => 'DeliveryOptions', ], 'ReputationOptions' => [ 'shape' => 'ReputationOptions', ], 'SendingOptions' => [ 'shape' => 'SendingOptions', ], ], ], 'GetDedicatedIpRequest' => [ 'type' => 'structure', 'required' => [ 'Ip', ], 'members' => [ 'Ip' => [ 'shape' => 'Ip', 'location' => 'uri', 'locationName' => 'IP', ], ], ], 'GetDedicatedIpResponse' => [ 'type' => 'structure', 'members' => [ 'DedicatedIp' => [ 'shape' => 'DedicatedIp', ], ], ], 'GetDedicatedIpsRequest' => [ 'type' => 'structure', 'members' => [ 'PoolName' => [ 'shape' => 'PoolName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'PageSize' => [ 'shape' => 'MaxItems', ], ], ], 'GetDedicatedIpsResponse' => [ 'type' => 'structure', 'members' => [ 'DedicatedIps' => [ 'shape' => 'DedicatedIpList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetDeliverabilityDashboardOptionsRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetDeliverabilityDashboardOptionsResponse' => [ 'type' => 'structure', 'required' => [ 'DashboardEnabled', ], 'members' => [ 'DashboardEnabled' => [ 'shape' => 'Enabled', ], ], ], 'GetDeliverabilityTestReportRequest' => [ 'type' => 'structure', 'required' => [ 'ReportId', ], 'members' => [ 'ReportId' => [ 'shape' => 'ReportId', 'location' => 'uri', 'locationName' => 'ReportId', ], ], ], 'GetDeliverabilityTestReportResponse' => [ 'type' => 'structure', 'required' => [ 'DeliverabilityTestReport', 'OverallPlacement', 'IspPlacements', ], 'members' => [ 'DeliverabilityTestReport' => [ 'shape' => 'DeliverabilityTestReport', ], 'OverallPlacement' => [ 'shape' => 'PlacementStatistics', ], 'IspPlacements' => [ 'shape' => 'IspPlacements', ], 'Message' => [ 'shape' => 'MessageContent', ], ], ], 'GetDomainStatisticsReportRequest' => [ 'type' => 'structure', 'required' => [ 'Domain', 'StartDate', 'EndDate', ], 'members' => [ 'Domain' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'Domain', ], 'StartDate' => [ 'shape' => 'Timestamp', ], 'EndDate' => [ 'shape' => 'Timestamp', ], ], ], 'GetDomainStatisticsReportResponse' => [ 'type' => 'structure', 'required' => [ 'OverallVolume', 'DailyVolumes', ], 'members' => [ 'OverallVolume' => [ 'shape' => 'OverallVolume', ], 'DailyVolumes' => [ 'shape' => 'DailyVolumes', ], ], ], 'GetEmailIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'EmailIdentity', ], ], ], 'GetEmailIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'FeedbackForwardingStatus' => [ 'shape' => 'Enabled', ], 'VerifiedForSendingStatus' => [ 'shape' => 'Enabled', ], 'DkimAttributes' => [ 'shape' => 'DkimAttributes', ], 'MailFromAttributes' => [ 'shape' => 'MailFromAttributes', ], ], ], 'Identity' => [ 'type' => 'string', ], 'IdentityInfo' => [ 'type' => 'structure', 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'IdentityName' => [ 'shape' => 'Identity', ], 'SendingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'IdentityInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdentityInfo', ], ], 'IdentityType' => [ 'type' => 'string', 'enum' => [ 'EMAIL_ADDRESS', 'DOMAIN', 'MANAGED_DOMAIN', ], ], 'Ip' => [ 'type' => 'string', ], 'IspName' => [ 'type' => 'string', ], 'IspPlacement' => [ 'type' => 'structure', 'members' => [ 'IspName' => [ 'shape' => 'IspName', ], 'PlacementStatistics' => [ 'shape' => 'PlacementStatistics', ], ], ], 'IspPlacements' => [ 'type' => 'list', 'member' => [ 'shape' => 'IspPlacement', ], ], 'KinesisFirehoseDestination' => [ 'type' => 'structure', 'required' => [ 'IamRoleArn', 'DeliveryStreamArn', ], 'members' => [ 'IamRoleArn' => [ 'shape' => 'AmazonResourceName', ], 'DeliveryStreamArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'LastFreshStart' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListConfigurationSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'PageSize' => [ 'shape' => 'MaxItems', ], ], ], 'ListConfigurationSetsResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSets' => [ 'shape' => 'ConfigurationSetNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDedicatedIpPoolsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'PageSize' => [ 'shape' => 'MaxItems', ], ], ], 'ListDedicatedIpPoolsResponse' => [ 'type' => 'structure', 'members' => [ 'DedicatedIpPools' => [ 'shape' => 'ListOfDedicatedIpPools', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDeliverabilityTestReportsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'PageSize' => [ 'shape' => 'MaxItems', ], ], ], 'ListDeliverabilityTestReportsResponse' => [ 'type' => 'structure', 'required' => [ 'DeliverabilityTestReports', ], 'members' => [ 'DeliverabilityTestReports' => [ 'shape' => 'DeliverabilityTestReports', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListEmailIdentitiesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'PageSize' => [ 'shape' => 'MaxItems', ], ], ], 'ListEmailIdentitiesResponse' => [ 'type' => 'structure', 'members' => [ 'EmailIdentities' => [ 'shape' => 'IdentityInfoList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOfDedicatedIpPools' => [ 'type' => 'list', 'member' => [ 'shape' => 'PoolName', ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'required' => [ 'Tags', ], 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'MailFromAttributes' => [ 'type' => 'structure', 'required' => [ 'MailFromDomain', 'MailFromDomainStatus', 'BehaviorOnMxFailure', ], 'members' => [ 'MailFromDomain' => [ 'shape' => 'MailFromDomainName', ], 'MailFromDomainStatus' => [ 'shape' => 'MailFromDomainStatus', ], 'BehaviorOnMxFailure' => [ 'shape' => 'BehaviorOnMxFailure', ], ], ], 'MailFromDomainName' => [ 'type' => 'string', ], 'MailFromDomainNotVerifiedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MailFromDomainStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'SUCCESS', 'FAILED', 'TEMPORARY_FAILURE', ], ], 'Max24HourSend' => [ 'type' => 'double', ], 'MaxItems' => [ 'type' => 'integer', ], 'MaxSendRate' => [ 'type' => 'double', ], 'Message' => [ 'type' => 'structure', 'required' => [ 'Subject', 'Body', ], 'members' => [ 'Subject' => [ 'shape' => 'Content', ], 'Body' => [ 'shape' => 'Body', ], ], ], 'MessageContent' => [ 'type' => 'string', ], 'MessageData' => [ 'type' => 'string', ], 'MessageRejected' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MessageTag' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'MessageTagName', ], 'Value' => [ 'shape' => 'MessageTagValue', ], ], ], 'MessageTagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MessageTag', ], ], 'MessageTagName' => [ 'type' => 'string', ], 'MessageTagValue' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'OutboundMessageId' => [ 'type' => 'string', ], 'OverallVolume' => [ 'type' => 'structure', 'members' => [ 'VolumeStatistics' => [ 'shape' => 'VolumeStatistics', ], 'ReadRatePercent' => [ 'shape' => 'Percentage', ], 'DomainIspPlacements' => [ 'shape' => 'DomainIspPlacements', ], ], ], 'Percentage' => [ 'type' => 'double', ], 'Percentage100Wrapper' => [ 'type' => 'integer', ], 'PinpointDestination' => [ 'type' => 'structure', 'members' => [ 'ApplicationArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'PlacementStatistics' => [ 'type' => 'structure', 'members' => [ 'InboxPercentage' => [ 'shape' => 'Percentage', ], 'SpamPercentage' => [ 'shape' => 'Percentage', ], 'MissingPercentage' => [ 'shape' => 'Percentage', ], 'SpfPercentage' => [ 'shape' => 'Percentage', ], 'DkimPercentage' => [ 'shape' => 'Percentage', ], ], ], 'PoolName' => [ 'type' => 'string', ], 'PutAccountDedicatedIpWarmupAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'AutoWarmupEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutAccountDedicatedIpWarmupAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutAccountSendingAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'SendingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutAccountSendingAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutConfigurationSetDeliveryOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'SendingPoolName' => [ 'shape' => 'SendingPoolName', ], ], ], 'PutConfigurationSetDeliveryOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutConfigurationSetReputationOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'ReputationMetricsEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutConfigurationSetReputationOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutConfigurationSetSendingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'SendingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutConfigurationSetSendingOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutConfigurationSetTrackingOptionsRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'CustomRedirectDomain' => [ 'shape' => 'CustomRedirectDomain', ], ], ], 'PutConfigurationSetTrackingOptionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutDedicatedIpInPoolRequest' => [ 'type' => 'structure', 'required' => [ 'Ip', 'DestinationPoolName', ], 'members' => [ 'Ip' => [ 'shape' => 'Ip', 'location' => 'uri', 'locationName' => 'IP', ], 'DestinationPoolName' => [ 'shape' => 'PoolName', ], ], ], 'PutDedicatedIpInPoolResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutDedicatedIpWarmupAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'Ip', 'WarmupPercentage', ], 'members' => [ 'Ip' => [ 'shape' => 'Ip', 'location' => 'uri', 'locationName' => 'IP', ], 'WarmupPercentage' => [ 'shape' => 'Percentage100Wrapper', ], ], ], 'PutDedicatedIpWarmupAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutDeliverabilityDashboardOptionRequest' => [ 'type' => 'structure', 'required' => [ 'DashboardEnabled', ], 'members' => [ 'DashboardEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutDeliverabilityDashboardOptionResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutEmailIdentityDkimAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'EmailIdentity', ], 'SigningEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutEmailIdentityDkimAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutEmailIdentityFeedbackAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'EmailIdentity', ], 'EmailForwardingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'PutEmailIdentityFeedbackAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutEmailIdentityMailFromAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', 'location' => 'uri', 'locationName' => 'EmailIdentity', ], 'MailFromDomain' => [ 'shape' => 'MailFromDomainName', ], 'BehaviorOnMxFailure' => [ 'shape' => 'BehaviorOnMxFailure', ], ], ], 'PutEmailIdentityMailFromAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'RawMessage' => [ 'type' => 'structure', 'required' => [ 'Data', ], 'members' => [ 'Data' => [ 'shape' => 'RawMessageData', ], ], ], 'RawMessageData' => [ 'type' => 'blob', ], 'RblName' => [ 'type' => 'string', ], 'ReportId' => [ 'type' => 'string', ], 'ReportName' => [ 'type' => 'string', ], 'ReputationOptions' => [ 'type' => 'structure', 'members' => [ 'ReputationMetricsEnabled' => [ 'shape' => 'Enabled', ], 'LastFreshStart' => [ 'shape' => 'LastFreshStart', ], ], ], 'SendEmailRequest' => [ 'type' => 'structure', 'required' => [ 'Destination', 'Content', ], 'members' => [ 'FromEmailAddress' => [ 'shape' => 'EmailAddress', ], 'Destination' => [ 'shape' => 'Destination', ], 'ReplyToAddresses' => [ 'shape' => 'EmailAddressList', ], 'FeedbackForwardingEmailAddress' => [ 'shape' => 'EmailAddress', ], 'Content' => [ 'shape' => 'EmailContent', ], 'EmailTags' => [ 'shape' => 'MessageTagList', ], 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', ], ], ], 'SendEmailResponse' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'OutboundMessageId', ], ], ], 'SendQuota' => [ 'type' => 'structure', 'members' => [ 'Max24HourSend' => [ 'shape' => 'Max24HourSend', ], 'MaxSendRate' => [ 'shape' => 'MaxSendRate', ], 'SentLast24Hours' => [ 'shape' => 'SentLast24Hours', ], ], ], 'SendingOptions' => [ 'type' => 'structure', 'members' => [ 'SendingEnabled' => [ 'shape' => 'Enabled', ], ], ], 'SendingPausedException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SendingPoolName' => [ 'type' => 'string', ], 'SentLast24Hours' => [ 'type' => 'double', ], 'SnsDestination' => [ 'type' => 'structure', 'required' => [ 'TopicArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'AmazonResourceName', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TrackingOptions' => [ 'type' => 'structure', 'required' => [ 'CustomRedirectDomain', ], 'members' => [ 'CustomRedirectDomain' => [ 'shape' => 'CustomRedirectDomain', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'AmazonResourceName', 'location' => 'querystring', 'locationName' => 'ResourceArn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', 'location' => 'querystring', 'locationName' => 'TagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'required' => [ 'ConfigurationSetName', 'EventDestinationName', 'EventDestination', ], 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'ConfigurationSetName', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => 'EventDestinationName', 'location' => 'uri', 'locationName' => 'EventDestinationName', ], 'EventDestination' => [ 'shape' => 'EventDestinationDefinition', ], ], ], 'UpdateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Volume' => [ 'type' => 'long', ], 'VolumeStatistics' => [ 'type' => 'structure', 'members' => [ 'InboxRawCount' => [ 'shape' => 'Volume', ], 'SpamRawCount' => [ 'shape' => 'Volume', ], 'ProjectedInbox' => [ 'shape' => 'Volume', ], 'ProjectedSpam' => [ 'shape' => 'Volume', ], ], ], 'WarmupStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'DONE', ], ], ],]; diff --git a/lib/aws/Aws/data/pinpoint-email/2018-07-26/paginators-1.json.php b/lib/aws/Aws/data/pinpoint-email/2018-07-26/paginators-1.json.php new file mode 100644 index 0000000..9d3db7c --- /dev/null +++ b/lib/aws/Aws/data/pinpoint-email/2018-07-26/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pinpoint-email/2018-07-26/paginators-1.json +return [ 'pagination' => [ 'GetDedicatedIps' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], 'ListConfigurationSets' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], 'ListDedicatedIpPools' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], 'ListDeliverabilityTestReports' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], 'ListEmailIdentities' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], ],]; diff --git a/lib/aws/Aws/data/pinpoint/2016-12-01/api-2.json.php b/lib/aws/Aws/data/pinpoint/2016-12-01/api-2.json.php new file mode 100644 index 0000000..6be604a --- /dev/null +++ b/lib/aws/Aws/data/pinpoint/2016-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pinpoint/2016-12-01/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2016-12-01', 'endpointPrefix' => 'pinpoint', 'signingName' => 'mobiletargeting', 'serviceFullName' => 'Amazon Pinpoint', 'serviceId' => 'Pinpoint', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'pinpoint-2016-12-01', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateApp' => [ 'name' => 'CreateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAppRequest', ], 'output' => [ 'shape' => 'CreateAppResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateCampaign' => [ 'name' => 'CreateCampaign', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/campaigns', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCampaignRequest', ], 'output' => [ 'shape' => 'CreateCampaignResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateExportJob' => [ 'name' => 'CreateExportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/jobs/export', 'responseCode' => 202, ], 'input' => [ 'shape' => 'CreateExportJobRequest', ], 'output' => [ 'shape' => 'CreateExportJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateImportJob' => [ 'name' => 'CreateImportJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/jobs/import', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateImportJobRequest', ], 'output' => [ 'shape' => 'CreateImportJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateSegment' => [ 'name' => 'CreateSegment', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/segments', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateSegmentRequest', ], 'output' => [ 'shape' => 'CreateSegmentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteAdmChannel' => [ 'name' => 'DeleteAdmChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/adm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteAdmChannelRequest', ], 'output' => [ 'shape' => 'DeleteAdmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApnsChannel' => [ 'name' => 'DeleteApnsChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/apns', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteApnsChannelRequest', ], 'output' => [ 'shape' => 'DeleteApnsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApnsSandboxChannel' => [ 'name' => 'DeleteApnsSandboxChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/apns_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteApnsSandboxChannelRequest', ], 'output' => [ 'shape' => 'DeleteApnsSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApnsVoipChannel' => [ 'name' => 'DeleteApnsVoipChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteApnsVoipChannelRequest', ], 'output' => [ 'shape' => 'DeleteApnsVoipChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApnsVoipSandboxChannel' => [ 'name' => 'DeleteApnsVoipSandboxChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteApnsVoipSandboxChannelRequest', ], 'output' => [ 'shape' => 'DeleteApnsVoipSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteApp' => [ 'name' => 'DeleteApp', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteAppRequest', ], 'output' => [ 'shape' => 'DeleteAppResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteBaiduChannel' => [ 'name' => 'DeleteBaiduChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/baidu', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteBaiduChannelRequest', ], 'output' => [ 'shape' => 'DeleteBaiduChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteCampaign' => [ 'name' => 'DeleteCampaign', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteCampaignRequest', ], 'output' => [ 'shape' => 'DeleteCampaignResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteEmailChannel' => [ 'name' => 'DeleteEmailChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/email', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteEmailChannelRequest', ], 'output' => [ 'shape' => 'DeleteEmailChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteEndpoint' => [ 'name' => 'DeleteEndpoint', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/endpoints/{endpoint-id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteEndpointRequest', ], 'output' => [ 'shape' => 'DeleteEndpointResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteEventStream' => [ 'name' => 'DeleteEventStream', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/eventstream', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteEventStreamRequest', ], 'output' => [ 'shape' => 'DeleteEventStreamResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteGcmChannel' => [ 'name' => 'DeleteGcmChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/gcm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteGcmChannelRequest', ], 'output' => [ 'shape' => 'DeleteGcmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteSegment' => [ 'name' => 'DeleteSegment', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteSegmentRequest', ], 'output' => [ 'shape' => 'DeleteSegmentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteSmsChannel' => [ 'name' => 'DeleteSmsChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/sms', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteSmsChannelRequest', ], 'output' => [ 'shape' => 'DeleteSmsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteUserEndpoints' => [ 'name' => 'DeleteUserEndpoints', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/users/{user-id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'DeleteUserEndpointsRequest', ], 'output' => [ 'shape' => 'DeleteUserEndpointsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteVoiceChannel' => [ 'name' => 'DeleteVoiceChannel', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/apps/{application-id}/channels/voice', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteVoiceChannelRequest', ], 'output' => [ 'shape' => 'DeleteVoiceChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetAdmChannel' => [ 'name' => 'GetAdmChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/adm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAdmChannelRequest', ], 'output' => [ 'shape' => 'GetAdmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApnsChannel' => [ 'name' => 'GetApnsChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/apns', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApnsChannelRequest', ], 'output' => [ 'shape' => 'GetApnsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApnsSandboxChannel' => [ 'name' => 'GetApnsSandboxChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/apns_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApnsSandboxChannelRequest', ], 'output' => [ 'shape' => 'GetApnsSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApnsVoipChannel' => [ 'name' => 'GetApnsVoipChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApnsVoipChannelRequest', ], 'output' => [ 'shape' => 'GetApnsVoipChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApnsVoipSandboxChannel' => [ 'name' => 'GetApnsVoipSandboxChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApnsVoipSandboxChannelRequest', ], 'output' => [ 'shape' => 'GetApnsVoipSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApp' => [ 'name' => 'GetApp', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAppRequest', ], 'output' => [ 'shape' => 'GetAppResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApplicationSettings' => [ 'name' => 'GetApplicationSettings', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/settings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApplicationSettingsRequest', ], 'output' => [ 'shape' => 'GetApplicationSettingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetApps' => [ 'name' => 'GetApps', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetAppsRequest', ], 'output' => [ 'shape' => 'GetAppsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetBaiduChannel' => [ 'name' => 'GetBaiduChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/baidu', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetBaiduChannelRequest', ], 'output' => [ 'shape' => 'GetBaiduChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetCampaign' => [ 'name' => 'GetCampaign', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCampaignRequest', ], 'output' => [ 'shape' => 'GetCampaignResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetCampaignActivities' => [ 'name' => 'GetCampaignActivities', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}/activities', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCampaignActivitiesRequest', ], 'output' => [ 'shape' => 'GetCampaignActivitiesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetCampaignVersion' => [ 'name' => 'GetCampaignVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCampaignVersionRequest', ], 'output' => [ 'shape' => 'GetCampaignVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetCampaignVersions' => [ 'name' => 'GetCampaignVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCampaignVersionsRequest', ], 'output' => [ 'shape' => 'GetCampaignVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetCampaigns' => [ 'name' => 'GetCampaigns', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/campaigns', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCampaignsRequest', ], 'output' => [ 'shape' => 'GetCampaignsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetChannels' => [ 'name' => 'GetChannels', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetChannelsRequest', ], 'output' => [ 'shape' => 'GetChannelsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetEmailChannel' => [ 'name' => 'GetEmailChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/email', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetEmailChannelRequest', ], 'output' => [ 'shape' => 'GetEmailChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetEndpoint' => [ 'name' => 'GetEndpoint', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/endpoints/{endpoint-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetEndpointRequest', ], 'output' => [ 'shape' => 'GetEndpointResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetEventStream' => [ 'name' => 'GetEventStream', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/eventstream', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetEventStreamRequest', ], 'output' => [ 'shape' => 'GetEventStreamResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetExportJob' => [ 'name' => 'GetExportJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/jobs/export/{job-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetExportJobRequest', ], 'output' => [ 'shape' => 'GetExportJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetExportJobs' => [ 'name' => 'GetExportJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/jobs/export', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetExportJobsRequest', ], 'output' => [ 'shape' => 'GetExportJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetGcmChannel' => [ 'name' => 'GetGcmChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/gcm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetGcmChannelRequest', ], 'output' => [ 'shape' => 'GetGcmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetImportJob' => [ 'name' => 'GetImportJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/jobs/import/{job-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetImportJobRequest', ], 'output' => [ 'shape' => 'GetImportJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetImportJobs' => [ 'name' => 'GetImportJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/jobs/import', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetImportJobsRequest', ], 'output' => [ 'shape' => 'GetImportJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegment' => [ 'name' => 'GetSegment', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentRequest', ], 'output' => [ 'shape' => 'GetSegmentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegmentExportJobs' => [ 'name' => 'GetSegmentExportJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}/jobs/export', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentExportJobsRequest', ], 'output' => [ 'shape' => 'GetSegmentExportJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegmentImportJobs' => [ 'name' => 'GetSegmentImportJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}/jobs/import', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentImportJobsRequest', ], 'output' => [ 'shape' => 'GetSegmentImportJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegmentVersion' => [ 'name' => 'GetSegmentVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}/versions/{version}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentVersionRequest', ], 'output' => [ 'shape' => 'GetSegmentVersionResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegmentVersions' => [ 'name' => 'GetSegmentVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentVersionsRequest', ], 'output' => [ 'shape' => 'GetSegmentVersionsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSegments' => [ 'name' => 'GetSegments', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/segments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSegmentsRequest', ], 'output' => [ 'shape' => 'GetSegmentsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetSmsChannel' => [ 'name' => 'GetSmsChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/sms', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSmsChannelRequest', ], 'output' => [ 'shape' => 'GetSmsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetUserEndpoints' => [ 'name' => 'GetUserEndpoints', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/users/{user-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetUserEndpointsRequest', ], 'output' => [ 'shape' => 'GetUserEndpointsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'GetVoiceChannel' => [ 'name' => 'GetVoiceChannel', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/apps/{application-id}/channels/voice', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetVoiceChannelRequest', ], 'output' => [ 'shape' => 'GetVoiceChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [], ], 'PhoneNumberValidate' => [ 'name' => 'PhoneNumberValidate', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/phone/number/validate', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PhoneNumberValidateRequest', ], 'output' => [ 'shape' => 'PhoneNumberValidateResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutEventStream' => [ 'name' => 'PutEventStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/eventstream', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutEventStreamRequest', ], 'output' => [ 'shape' => 'PutEventStreamResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'PutEvents' => [ 'name' => 'PutEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/events', 'responseCode' => 202, ], 'input' => [ 'shape' => 'PutEventsRequest', ], 'output' => [ 'shape' => 'PutEventsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'RemoveAttributes' => [ 'name' => 'RemoveAttributes', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/attributes/{attribute-type}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'RemoveAttributesRequest', ], 'output' => [ 'shape' => 'RemoveAttributesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'SendMessages' => [ 'name' => 'SendMessages', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/messages', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SendMessagesRequest', ], 'output' => [ 'shape' => 'SendMessagesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'SendUsersMessages' => [ 'name' => 'SendUsersMessages', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/apps/{application-id}/users-messages', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SendUsersMessagesRequest', ], 'output' => [ 'shape' => 'SendUsersMessagesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/tags/{resource-arn}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [], ], 'UpdateAdmChannel' => [ 'name' => 'UpdateAdmChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/adm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateAdmChannelRequest', ], 'output' => [ 'shape' => 'UpdateAdmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApnsChannel' => [ 'name' => 'UpdateApnsChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/apns', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApnsChannelRequest', ], 'output' => [ 'shape' => 'UpdateApnsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApnsSandboxChannel' => [ 'name' => 'UpdateApnsSandboxChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/apns_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApnsSandboxChannelRequest', ], 'output' => [ 'shape' => 'UpdateApnsSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApnsVoipChannel' => [ 'name' => 'UpdateApnsVoipChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApnsVoipChannelRequest', ], 'output' => [ 'shape' => 'UpdateApnsVoipChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApnsVoipSandboxChannel' => [ 'name' => 'UpdateApnsVoipSandboxChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/apns_voip_sandbox', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApnsVoipSandboxChannelRequest', ], 'output' => [ 'shape' => 'UpdateApnsVoipSandboxChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateApplicationSettings' => [ 'name' => 'UpdateApplicationSettings', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/settings', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApplicationSettingsRequest', ], 'output' => [ 'shape' => 'UpdateApplicationSettingsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateBaiduChannel' => [ 'name' => 'UpdateBaiduChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/baidu', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateBaiduChannelRequest', ], 'output' => [ 'shape' => 'UpdateBaiduChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateCampaign' => [ 'name' => 'UpdateCampaign', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/campaigns/{campaign-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateCampaignRequest', ], 'output' => [ 'shape' => 'UpdateCampaignResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateEmailChannel' => [ 'name' => 'UpdateEmailChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/email', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateEmailChannelRequest', ], 'output' => [ 'shape' => 'UpdateEmailChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateEndpoint' => [ 'name' => 'UpdateEndpoint', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/endpoints/{endpoint-id}', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateEndpointRequest', ], 'output' => [ 'shape' => 'UpdateEndpointResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateEndpointsBatch' => [ 'name' => 'UpdateEndpointsBatch', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/endpoints', 'responseCode' => 202, ], 'input' => [ 'shape' => 'UpdateEndpointsBatchRequest', ], 'output' => [ 'shape' => 'UpdateEndpointsBatchResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateGcmChannel' => [ 'name' => 'UpdateGcmChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/gcm', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateGcmChannelRequest', ], 'output' => [ 'shape' => 'UpdateGcmChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateSegment' => [ 'name' => 'UpdateSegment', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/segments/{segment-id}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateSegmentRequest', ], 'output' => [ 'shape' => 'UpdateSegmentResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateSmsChannel' => [ 'name' => 'UpdateSmsChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/sms', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateSmsChannelRequest', ], 'output' => [ 'shape' => 'UpdateSmsChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateVoiceChannel' => [ 'name' => 'UpdateVoiceChannel', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/apps/{application-id}/channels/voice', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateVoiceChannelRequest', ], 'output' => [ 'shape' => 'UpdateVoiceChannelResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'ADMChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ClientId' => [ 'shape' => '__string', ], 'ClientSecret' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], ], 'required' => [], ], 'ADMChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'ADMMessage' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Body' => [ 'shape' => '__string', ], 'ConsolidationKey' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => 'MapOf__string', ], 'ExpiresAfter' => [ 'shape' => '__string', ], 'IconReference' => [ 'shape' => '__string', ], 'ImageIconUrl' => [ 'shape' => '__string', ], 'ImageUrl' => [ 'shape' => '__string', ], 'MD5' => [ 'shape' => '__string', ], 'RawContent' => [ 'shape' => '__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'SmallImageIconUrl' => [ 'shape' => '__string', ], 'Sound' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], ], 'APNSChannelRequest' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => '__string', ], 'Certificate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'PrivateKey' => [ 'shape' => '__string', ], 'TeamId' => [ 'shape' => '__string', ], 'TokenKey' => [ 'shape' => '__string', ], 'TokenKeyId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'APNSChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'HasTokenKey' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'APNSMessage' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Badge' => [ 'shape' => '__integer', ], 'Body' => [ 'shape' => '__string', ], 'Category' => [ 'shape' => '__string', ], 'CollapseId' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => 'MapOf__string', ], 'MediaUrl' => [ 'shape' => '__string', ], 'PreferredAuthenticationMethod' => [ 'shape' => '__string', ], 'Priority' => [ 'shape' => '__string', ], 'RawContent' => [ 'shape' => '__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'Sound' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'ThreadId' => [ 'shape' => '__string', ], 'TimeToLive' => [ 'shape' => '__integer', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], ], 'APNSSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => '__string', ], 'Certificate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'PrivateKey' => [ 'shape' => '__string', ], 'TeamId' => [ 'shape' => '__string', ], 'TokenKey' => [ 'shape' => '__string', ], 'TokenKeyId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'APNSSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'HasTokenKey' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'APNSVoipChannelRequest' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => '__string', ], 'Certificate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'PrivateKey' => [ 'shape' => '__string', ], 'TeamId' => [ 'shape' => '__string', ], 'TokenKey' => [ 'shape' => '__string', ], 'TokenKeyId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'APNSVoipChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'HasTokenKey' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'APNSVoipSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => '__string', ], 'Certificate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'PrivateKey' => [ 'shape' => '__string', ], 'TeamId' => [ 'shape' => '__string', ], 'TokenKey' => [ 'shape' => '__string', ], 'TokenKeyId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'APNSVoipSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'DefaultAuthenticationMethod' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'HasTokenKey' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'Action' => [ 'type' => 'string', 'enum' => [ 'OPEN_APP', 'DEEP_LINK', 'URL', ], ], 'ActivitiesResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfActivityResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ActivityResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CampaignId' => [ 'shape' => '__string', ], 'End' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Result' => [ 'shape' => '__string', ], 'ScheduledStart' => [ 'shape' => '__string', ], 'Start' => [ 'shape' => '__string', ], 'State' => [ 'shape' => '__string', ], 'SuccessfulEndpointCount' => [ 'shape' => '__integer', ], 'TimezonesCompletedCount' => [ 'shape' => '__integer', ], 'TimezonesTotalCount' => [ 'shape' => '__integer', ], 'TotalEndpointCount' => [ 'shape' => '__integer', ], 'TreatmentId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'AddressConfiguration' => [ 'type' => 'structure', 'members' => [ 'BodyOverride' => [ 'shape' => '__string', ], 'ChannelType' => [ 'shape' => 'ChannelType', ], 'Context' => [ 'shape' => 'MapOf__string', ], 'RawContent' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'TitleOverride' => [ 'shape' => '__string', ], ], ], 'ApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], ], 'required' => [], ], 'ApplicationSettingsResource' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CampaignHook' => [ 'shape' => 'CampaignHook', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Limits' => [ 'shape' => 'CampaignLimits', ], 'QuietTime' => [ 'shape' => 'QuietTime', ], ], 'required' => [], ], 'ApplicationsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfApplicationResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], ], 'AttributeDimension' => [ 'type' => 'structure', 'members' => [ 'AttributeType' => [ 'shape' => 'AttributeType', ], 'Values' => [ 'shape' => 'ListOf__string', ], ], 'required' => [], ], 'AttributeType' => [ 'type' => 'string', 'enum' => [ 'INCLUSIVE', 'EXCLUSIVE', ], ], 'AttributesResource' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'AttributeType' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'ListOf__string', ], ], 'required' => [], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'BaiduChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiKey' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'SecretKey' => [ 'shape' => '__string', ], ], 'required' => [], ], 'BaiduChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Credential' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'BaiduMessage' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Body' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => 'MapOf__string', ], 'IconReference' => [ 'shape' => '__string', ], 'ImageIconUrl' => [ 'shape' => '__string', ], 'ImageUrl' => [ 'shape' => '__string', ], 'RawContent' => [ 'shape' => '__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'SmallImageIconUrl' => [ 'shape' => '__string', ], 'Sound' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'TimeToLive' => [ 'shape' => '__integer', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], ], 'CampaignEmailMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'FromAddress' => [ 'shape' => '__string', ], 'HtmlBody' => [ 'shape' => '__string', ], 'Title' => [ 'shape' => '__string', ], ], 'required' => [], ], 'CampaignEventFilter' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'EventDimensions', ], 'FilterType' => [ 'shape' => 'FilterType', ], ], 'required' => [], ], 'CampaignHook' => [ 'type' => 'structure', 'members' => [ 'LambdaFunctionName' => [ 'shape' => '__string', ], 'Mode' => [ 'shape' => 'Mode', ], 'WebUrl' => [ 'shape' => '__string', ], ], ], 'CampaignLimits' => [ 'type' => 'structure', 'members' => [ 'Daily' => [ 'shape' => '__integer', ], 'MaximumDuration' => [ 'shape' => '__integer', ], 'MessagesPerSecond' => [ 'shape' => '__integer', ], 'Total' => [ 'shape' => '__integer', ], ], ], 'CampaignResponse' => [ 'type' => 'structure', 'members' => [ 'AdditionalTreatments' => [ 'shape' => 'ListOfTreatmentResource', ], 'ApplicationId' => [ 'shape' => '__string', ], 'Arn' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'DefaultState' => [ 'shape' => 'CampaignState', ], 'Description' => [ 'shape' => '__string', ], 'HoldoutPercent' => [ 'shape' => '__integer', ], 'Hook' => [ 'shape' => 'CampaignHook', ], 'Id' => [ 'shape' => '__string', ], 'IsPaused' => [ 'shape' => '__boolean', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Limits' => [ 'shape' => 'CampaignLimits', ], 'MessageConfiguration' => [ 'shape' => 'MessageConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'Schedule' => [ 'shape' => 'Schedule', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentVersion' => [ 'shape' => '__integer', ], 'State' => [ 'shape' => 'CampaignState', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], 'TreatmentDescription' => [ 'shape' => '__string', ], 'TreatmentName' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'CampaignSmsMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'MessageType' => [ 'shape' => 'MessageType', ], 'SenderId' => [ 'shape' => '__string', ], ], ], 'CampaignState' => [ 'type' => 'structure', 'members' => [ 'CampaignStatus' => [ 'shape' => 'CampaignStatus', ], ], ], 'CampaignStatus' => [ 'type' => 'string', 'enum' => [ 'SCHEDULED', 'EXECUTING', 'PENDING_NEXT_RUN', 'COMPLETED', 'PAUSED', 'DELETED', ], ], 'CampaignsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfCampaignResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], ], 'ChannelType' => [ 'type' => 'string', 'enum' => [ 'GCM', 'APNS', 'APNS_SANDBOX', 'APNS_VOIP', 'APNS_VOIP_SANDBOX', 'ADM', 'SMS', 'VOICE', 'EMAIL', 'BAIDU', 'CUSTOM', ], ], 'ChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'Channels' => [ 'shape' => 'MapOfChannelResponse', ], ], 'required' => [], ], 'CreateAppRequest' => [ 'type' => 'structure', 'members' => [ 'CreateApplicationRequest' => [ 'shape' => 'CreateApplicationRequest', ], ], 'required' => [ 'CreateApplicationRequest', ], 'payload' => 'CreateApplicationRequest', ], 'CreateAppResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationResponse' => [ 'shape' => 'ApplicationResponse', ], ], 'required' => [ 'ApplicationResponse', ], 'payload' => 'ApplicationResponse', ], 'CreateApplicationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], ], 'required' => [], ], 'CreateCampaignRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'WriteCampaignRequest' => [ 'shape' => 'WriteCampaignRequest', ], ], 'required' => [ 'ApplicationId', 'WriteCampaignRequest', ], 'payload' => 'WriteCampaignRequest', ], 'CreateCampaignResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignResponse' => [ 'shape' => 'CampaignResponse', ], ], 'required' => [ 'CampaignResponse', ], 'payload' => 'CampaignResponse', ], 'CreateExportJobRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'ExportJobRequest' => [ 'shape' => 'ExportJobRequest', ], ], 'required' => [ 'ApplicationId', 'ExportJobRequest', ], 'payload' => 'ExportJobRequest', ], 'CreateExportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ExportJobResponse' => [ 'shape' => 'ExportJobResponse', ], ], 'required' => [ 'ExportJobResponse', ], 'payload' => 'ExportJobResponse', ], 'CreateImportJobRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'ImportJobRequest' => [ 'shape' => 'ImportJobRequest', ], ], 'required' => [ 'ApplicationId', 'ImportJobRequest', ], 'payload' => 'ImportJobRequest', ], 'CreateImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ImportJobResponse' => [ 'shape' => 'ImportJobResponse', ], ], 'required' => [ 'ImportJobResponse', ], 'payload' => 'ImportJobResponse', ], 'CreateSegmentRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'WriteSegmentRequest' => [ 'shape' => 'WriteSegmentRequest', ], ], 'required' => [ 'ApplicationId', 'WriteSegmentRequest', ], 'payload' => 'WriteSegmentRequest', ], 'CreateSegmentResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentResponse' => [ 'shape' => 'SegmentResponse', ], ], 'required' => [ 'SegmentResponse', ], 'payload' => 'SegmentResponse', ], 'DefaultMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], ], ], 'DefaultPushNotificationMessage' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Body' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => 'MapOf__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], ], 'DeleteAdmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteAdmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ADMChannelResponse' => [ 'shape' => 'ADMChannelResponse', ], ], 'required' => [ 'ADMChannelResponse', ], 'payload' => 'ADMChannelResponse', ], 'DeleteApnsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteApnsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSChannelResponse' => [ 'shape' => 'APNSChannelResponse', ], ], 'required' => [ 'APNSChannelResponse', ], 'payload' => 'APNSChannelResponse', ], 'DeleteApnsSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteApnsSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSSandboxChannelResponse' => [ 'shape' => 'APNSSandboxChannelResponse', ], ], 'required' => [ 'APNSSandboxChannelResponse', ], 'payload' => 'APNSSandboxChannelResponse', ], 'DeleteApnsVoipChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteApnsVoipChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipChannelResponse' => [ 'shape' => 'APNSVoipChannelResponse', ], ], 'required' => [ 'APNSVoipChannelResponse', ], 'payload' => 'APNSVoipChannelResponse', ], 'DeleteApnsVoipSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteApnsVoipSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipSandboxChannelResponse' => [ 'shape' => 'APNSVoipSandboxChannelResponse', ], ], 'required' => [ 'APNSVoipSandboxChannelResponse', ], 'payload' => 'APNSVoipSandboxChannelResponse', ], 'DeleteAppRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteAppResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationResponse' => [ 'shape' => 'ApplicationResponse', ], ], 'required' => [ 'ApplicationResponse', ], 'payload' => 'ApplicationResponse', ], 'DeleteBaiduChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteBaiduChannelResponse' => [ 'type' => 'structure', 'members' => [ 'BaiduChannelResponse' => [ 'shape' => 'BaiduChannelResponse', ], ], 'required' => [ 'BaiduChannelResponse', ], 'payload' => 'BaiduChannelResponse', ], 'DeleteCampaignRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], ], 'required' => [ 'CampaignId', 'ApplicationId', ], ], 'DeleteCampaignResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignResponse' => [ 'shape' => 'CampaignResponse', ], ], 'required' => [ 'CampaignResponse', ], 'payload' => 'CampaignResponse', ], 'DeleteEmailChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteEmailChannelResponse' => [ 'type' => 'structure', 'members' => [ 'EmailChannelResponse' => [ 'shape' => 'EmailChannelResponse', ], ], 'required' => [ 'EmailChannelResponse', ], 'payload' => 'EmailChannelResponse', ], 'DeleteEndpointRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EndpointId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'endpoint-id', ], ], 'required' => [ 'ApplicationId', 'EndpointId', ], ], 'DeleteEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointResponse' => [ 'shape' => 'EndpointResponse', ], ], 'required' => [ 'EndpointResponse', ], 'payload' => 'EndpointResponse', ], 'DeleteEventStreamRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteEventStreamResponse' => [ 'type' => 'structure', 'members' => [ 'EventStream' => [ 'shape' => 'EventStream', ], ], 'required' => [ 'EventStream', ], 'payload' => 'EventStream', ], 'DeleteGcmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteGcmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'GCMChannelResponse' => [ 'shape' => 'GCMChannelResponse', ], ], 'required' => [ 'GCMChannelResponse', ], 'payload' => 'GCMChannelResponse', ], 'DeleteSegmentRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], ], 'required' => [ 'SegmentId', 'ApplicationId', ], ], 'DeleteSegmentResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentResponse' => [ 'shape' => 'SegmentResponse', ], ], 'required' => [ 'SegmentResponse', ], 'payload' => 'SegmentResponse', ], 'DeleteSmsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteSmsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'SMSChannelResponse' => [ 'shape' => 'SMSChannelResponse', ], ], 'required' => [ 'SMSChannelResponse', ], 'payload' => 'SMSChannelResponse', ], 'DeleteUserEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'UserId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'user-id', ], ], 'required' => [ 'ApplicationId', 'UserId', ], ], 'DeleteUserEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointsResponse' => [ 'shape' => 'EndpointsResponse', ], ], 'required' => [ 'EndpointsResponse', ], 'payload' => 'EndpointsResponse', ], 'DeleteVoiceChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'DeleteVoiceChannelResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceChannelResponse' => [ 'shape' => 'VoiceChannelResponse', ], ], 'required' => [ 'VoiceChannelResponse', ], 'payload' => 'VoiceChannelResponse', ], 'DeliveryStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCESSFUL', 'THROTTLED', 'TEMPORARY_FAILURE', 'PERMANENT_FAILURE', 'UNKNOWN_FAILURE', 'OPT_OUT', 'DUPLICATE', ], ], 'DimensionType' => [ 'type' => 'string', 'enum' => [ 'INCLUSIVE', 'EXCLUSIVE', ], ], 'DirectMessageConfiguration' => [ 'type' => 'structure', 'members' => [ 'ADMMessage' => [ 'shape' => 'ADMMessage', ], 'APNSMessage' => [ 'shape' => 'APNSMessage', ], 'BaiduMessage' => [ 'shape' => 'BaiduMessage', ], 'DefaultMessage' => [ 'shape' => 'DefaultMessage', ], 'DefaultPushNotificationMessage' => [ 'shape' => 'DefaultPushNotificationMessage', ], 'EmailMessage' => [ 'shape' => 'EmailMessage', ], 'GCMMessage' => [ 'shape' => 'GCMMessage', ], 'SMSMessage' => [ 'shape' => 'SMSMessage', ], 'VoiceMessage' => [ 'shape' => 'VoiceMessage', ], ], 'required' => [], ], 'Duration' => [ 'type' => 'string', 'enum' => [ 'HR_24', 'DAY_7', 'DAY_14', 'DAY_30', ], ], 'EmailChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSet' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'FromAddress' => [ 'shape' => '__string', ], 'Identity' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'EmailChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'ConfigurationSet' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'FromAddress' => [ 'shape' => '__string', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'Identity' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'MessagesPerSecond' => [ 'shape' => '__integer', ], 'Platform' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'EmailMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'FeedbackForwardingAddress' => [ 'shape' => '__string', ], 'FromAddress' => [ 'shape' => '__string', ], 'RawEmail' => [ 'shape' => 'RawEmail', ], 'ReplyToAddresses' => [ 'shape' => 'ListOf__string', ], 'SimpleEmail' => [ 'shape' => 'SimpleEmail', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], ], ], 'EndpointBatchItem' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'MapOfListOf__string', ], 'ChannelType' => [ 'shape' => 'ChannelType', ], 'Demographic' => [ 'shape' => 'EndpointDemographic', ], 'EffectiveDate' => [ 'shape' => '__string', ], 'EndpointStatus' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Location' => [ 'shape' => 'EndpointLocation', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'OptOut' => [ 'shape' => '__string', ], 'RequestId' => [ 'shape' => '__string', ], 'User' => [ 'shape' => 'EndpointUser', ], ], ], 'EndpointBatchRequest' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfEndpointBatchItem', ], ], 'required' => [], ], 'EndpointDemographic' => [ 'type' => 'structure', 'members' => [ 'AppVersion' => [ 'shape' => '__string', ], 'Locale' => [ 'shape' => '__string', ], 'Make' => [ 'shape' => '__string', ], 'Model' => [ 'shape' => '__string', ], 'ModelVersion' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'PlatformVersion' => [ 'shape' => '__string', ], 'Timezone' => [ 'shape' => '__string', ], ], ], 'EndpointItemResponse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'StatusCode' => [ 'shape' => '__integer', ], ], ], 'EndpointLocation' => [ 'type' => 'structure', 'members' => [ 'City' => [ 'shape' => '__string', ], 'Country' => [ 'shape' => '__string', ], 'Latitude' => [ 'shape' => '__double', ], 'Longitude' => [ 'shape' => '__double', ], 'PostalCode' => [ 'shape' => '__string', ], 'Region' => [ 'shape' => '__string', ], ], ], 'EndpointMessageResult' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => '__string', ], 'DeliveryStatus' => [ 'shape' => 'DeliveryStatus', ], 'MessageId' => [ 'shape' => '__string', ], 'StatusCode' => [ 'shape' => '__integer', ], 'StatusMessage' => [ 'shape' => '__string', ], 'UpdatedToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'EndpointRequest' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'MapOfListOf__string', ], 'ChannelType' => [ 'shape' => 'ChannelType', ], 'Demographic' => [ 'shape' => 'EndpointDemographic', ], 'EffectiveDate' => [ 'shape' => '__string', ], 'EndpointStatus' => [ 'shape' => '__string', ], 'Location' => [ 'shape' => 'EndpointLocation', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'OptOut' => [ 'shape' => '__string', ], 'RequestId' => [ 'shape' => '__string', ], 'User' => [ 'shape' => 'EndpointUser', ], ], ], 'EndpointResponse' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => '__string', ], 'ApplicationId' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'MapOfListOf__string', ], 'ChannelType' => [ 'shape' => 'ChannelType', ], 'CohortId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Demographic' => [ 'shape' => 'EndpointDemographic', ], 'EffectiveDate' => [ 'shape' => '__string', ], 'EndpointStatus' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Location' => [ 'shape' => 'EndpointLocation', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'OptOut' => [ 'shape' => '__string', ], 'RequestId' => [ 'shape' => '__string', ], 'User' => [ 'shape' => 'EndpointUser', ], ], ], 'EndpointSendConfiguration' => [ 'type' => 'structure', 'members' => [ 'BodyOverride' => [ 'shape' => '__string', ], 'Context' => [ 'shape' => 'MapOf__string', ], 'RawContent' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'TitleOverride' => [ 'shape' => '__string', ], ], ], 'EndpointUser' => [ 'type' => 'structure', 'members' => [ 'UserAttributes' => [ 'shape' => 'MapOfListOf__string', ], 'UserId' => [ 'shape' => '__string', ], ], ], 'EndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfEndpointResponse', ], ], 'required' => [], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'AppPackageName' => [ 'shape' => '__string', ], 'AppTitle' => [ 'shape' => '__string', ], 'AppVersionCode' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'MapOf__string', ], 'ClientSdkVersion' => [ 'shape' => '__string', ], 'EventType' => [ 'shape' => '__string', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'SdkName' => [ 'shape' => '__string', ], 'Session' => [ 'shape' => 'Session', ], 'Timestamp' => [ 'shape' => '__string', ], ], 'required' => [], ], 'EventDimensions' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'MapOfAttributeDimension', ], 'EventType' => [ 'shape' => 'SetDimension', ], 'Metrics' => [ 'shape' => 'MapOfMetricDimension', ], ], ], 'EventItemResponse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'StatusCode' => [ 'shape' => '__integer', ], ], ], 'EventStream' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'DestinationStreamArn' => [ 'shape' => '__string', ], 'ExternalId' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'LastUpdatedBy' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'EventsBatch' => [ 'type' => 'structure', 'members' => [ 'Endpoint' => [ 'shape' => 'PublicEndpoint', ], 'Events' => [ 'shape' => 'MapOfEvent', ], ], 'required' => [], ], 'EventsRequest' => [ 'type' => 'structure', 'members' => [ 'BatchItem' => [ 'shape' => 'MapOfEventsBatch', ], ], 'required' => [], ], 'EventsResponse' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'MapOfItemResponse', ], ], ], 'ExportJobRequest' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => '__string', ], 'S3UrlPrefix' => [ 'shape' => '__string', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentVersion' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'ExportJobResource' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => '__string', ], 'S3UrlPrefix' => [ 'shape' => '__string', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentVersion' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'ExportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CompletedPieces' => [ 'shape' => '__integer', ], 'CompletionDate' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'ExportJobResource', ], 'FailedPieces' => [ 'shape' => '__integer', ], 'Failures' => [ 'shape' => 'ListOf__string', ], 'Id' => [ 'shape' => '__string', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'TotalFailures' => [ 'shape' => '__integer', ], 'TotalPieces' => [ 'shape' => '__integer', ], 'TotalProcessed' => [ 'shape' => '__integer', ], 'Type' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ExportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfExportJobResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'FilterType' => [ 'type' => 'string', 'enum' => [ 'SYSTEM', 'ENDPOINT', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'Format' => [ 'type' => 'string', 'enum' => [ 'CSV', 'JSON', ], ], 'Frequency' => [ 'type' => 'string', 'enum' => [ 'ONCE', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'EVENT', ], ], 'GCMChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApiKey' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], ], 'required' => [], ], 'GCMChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Credential' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'GCMMessage' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Body' => [ 'shape' => '__string', ], 'CollapseKey' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => 'MapOf__string', ], 'IconReference' => [ 'shape' => '__string', ], 'ImageIconUrl' => [ 'shape' => '__string', ], 'ImageUrl' => [ 'shape' => '__string', ], 'Priority' => [ 'shape' => '__string', ], 'RawContent' => [ 'shape' => '__string', ], 'RestrictedPackageName' => [ 'shape' => '__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'SmallImageIconUrl' => [ 'shape' => '__string', ], 'Sound' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'TimeToLive' => [ 'shape' => '__integer', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], ], 'GPSCoordinates' => [ 'type' => 'structure', 'members' => [ 'Latitude' => [ 'shape' => '__double', ], 'Longitude' => [ 'shape' => '__double', ], ], 'required' => [], ], 'GPSPointDimension' => [ 'type' => 'structure', 'members' => [ 'Coordinates' => [ 'shape' => 'GPSCoordinates', ], 'RangeInKilometers' => [ 'shape' => '__double', ], ], 'required' => [], ], 'GetAdmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetAdmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ADMChannelResponse' => [ 'shape' => 'ADMChannelResponse', ], ], 'required' => [ 'ADMChannelResponse', ], 'payload' => 'ADMChannelResponse', ], 'GetApnsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApnsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSChannelResponse' => [ 'shape' => 'APNSChannelResponse', ], ], 'required' => [ 'APNSChannelResponse', ], 'payload' => 'APNSChannelResponse', ], 'GetApnsSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApnsSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSSandboxChannelResponse' => [ 'shape' => 'APNSSandboxChannelResponse', ], ], 'required' => [ 'APNSSandboxChannelResponse', ], 'payload' => 'APNSSandboxChannelResponse', ], 'GetApnsVoipChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApnsVoipChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipChannelResponse' => [ 'shape' => 'APNSVoipChannelResponse', ], ], 'required' => [ 'APNSVoipChannelResponse', ], 'payload' => 'APNSVoipChannelResponse', ], 'GetApnsVoipSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApnsVoipSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipSandboxChannelResponse' => [ 'shape' => 'APNSVoipSandboxChannelResponse', ], ], 'required' => [ 'APNSVoipSandboxChannelResponse', ], 'payload' => 'APNSVoipSandboxChannelResponse', ], 'GetAppRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetAppResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationResponse' => [ 'shape' => 'ApplicationResponse', ], ], 'required' => [ 'ApplicationResponse', ], 'payload' => 'ApplicationResponse', ], 'GetApplicationSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApplicationSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationSettingsResource' => [ 'shape' => 'ApplicationSettingsResource', ], ], 'required' => [ 'ApplicationSettingsResource', ], 'payload' => 'ApplicationSettingsResource', ], 'GetAppsRequest' => [ 'type' => 'structure', 'members' => [ 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], ], 'GetAppsResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationsResponse' => [ 'shape' => 'ApplicationsResponse', ], ], 'required' => [ 'ApplicationsResponse', ], 'payload' => 'ApplicationsResponse', ], 'GetBaiduChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetBaiduChannelResponse' => [ 'type' => 'structure', 'members' => [ 'BaiduChannelResponse' => [ 'shape' => 'BaiduChannelResponse', ], ], 'required' => [ 'BaiduChannelResponse', ], 'payload' => 'BaiduChannelResponse', ], 'GetCampaignActivitiesRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', 'CampaignId', ], ], 'GetCampaignActivitiesResponse' => [ 'type' => 'structure', 'members' => [ 'ActivitiesResponse' => [ 'shape' => 'ActivitiesResponse', ], ], 'required' => [ 'ActivitiesResponse', ], 'payload' => 'ActivitiesResponse', ], 'GetCampaignRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], ], 'required' => [ 'CampaignId', 'ApplicationId', ], ], 'GetCampaignResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignResponse' => [ 'shape' => 'CampaignResponse', ], ], 'required' => [ 'CampaignResponse', ], 'payload' => 'CampaignResponse', ], 'GetCampaignVersionRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], 'Version' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'version', ], ], 'required' => [ 'Version', 'ApplicationId', 'CampaignId', ], ], 'GetCampaignVersionResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignResponse' => [ 'shape' => 'CampaignResponse', ], ], 'required' => [ 'CampaignResponse', ], 'payload' => 'CampaignResponse', ], 'GetCampaignVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', 'CampaignId', ], ], 'GetCampaignVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignsResponse' => [ 'shape' => 'CampaignsResponse', ], ], 'required' => [ 'CampaignsResponse', ], 'payload' => 'CampaignsResponse', ], 'GetCampaignsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', ], ], 'GetCampaignsResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignsResponse' => [ 'shape' => 'CampaignsResponse', ], ], 'required' => [ 'CampaignsResponse', ], 'payload' => 'CampaignsResponse', ], 'GetChannelsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetChannelsResponse' => [ 'type' => 'structure', 'members' => [ 'ChannelsResponse' => [ 'shape' => 'ChannelsResponse', ], ], 'required' => [ 'ChannelsResponse', ], 'payload' => 'ChannelsResponse', ], 'GetEmailChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetEmailChannelResponse' => [ 'type' => 'structure', 'members' => [ 'EmailChannelResponse' => [ 'shape' => 'EmailChannelResponse', ], ], 'required' => [ 'EmailChannelResponse', ], 'payload' => 'EmailChannelResponse', ], 'GetEndpointRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EndpointId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'endpoint-id', ], ], 'required' => [ 'ApplicationId', 'EndpointId', ], ], 'GetEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointResponse' => [ 'shape' => 'EndpointResponse', ], ], 'required' => [ 'EndpointResponse', ], 'payload' => 'EndpointResponse', ], 'GetEventStreamRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetEventStreamResponse' => [ 'type' => 'structure', 'members' => [ 'EventStream' => [ 'shape' => 'EventStream', ], ], 'required' => [ 'EventStream', ], 'payload' => 'EventStream', ], 'GetExportJobRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'JobId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'job-id', ], ], 'required' => [ 'ApplicationId', 'JobId', ], ], 'GetExportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ExportJobResponse' => [ 'shape' => 'ExportJobResponse', ], ], 'required' => [ 'ExportJobResponse', ], 'payload' => 'ExportJobResponse', ], 'GetExportJobsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', ], ], 'GetExportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'ExportJobsResponse' => [ 'shape' => 'ExportJobsResponse', ], ], 'required' => [ 'ExportJobsResponse', ], 'payload' => 'ExportJobsResponse', ], 'GetGcmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetGcmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'GCMChannelResponse' => [ 'shape' => 'GCMChannelResponse', ], ], 'required' => [ 'GCMChannelResponse', ], 'payload' => 'GCMChannelResponse', ], 'GetImportJobRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'JobId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'job-id', ], ], 'required' => [ 'ApplicationId', 'JobId', ], ], 'GetImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ImportJobResponse' => [ 'shape' => 'ImportJobResponse', ], ], 'required' => [ 'ImportJobResponse', ], 'payload' => 'ImportJobResponse', ], 'GetImportJobsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', ], ], 'GetImportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'ImportJobsResponse' => [ 'shape' => 'ImportJobsResponse', ], ], 'required' => [ 'ImportJobsResponse', ], 'payload' => 'ImportJobsResponse', ], 'GetSegmentExportJobsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'SegmentId', 'ApplicationId', ], ], 'GetSegmentExportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'ExportJobsResponse' => [ 'shape' => 'ExportJobsResponse', ], ], 'required' => [ 'ExportJobsResponse', ], 'payload' => 'ExportJobsResponse', ], 'GetSegmentImportJobsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'SegmentId', 'ApplicationId', ], ], 'GetSegmentImportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'ImportJobsResponse' => [ 'shape' => 'ImportJobsResponse', ], ], 'required' => [ 'ImportJobsResponse', ], 'payload' => 'ImportJobsResponse', ], 'GetSegmentRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], ], 'required' => [ 'SegmentId', 'ApplicationId', ], ], 'GetSegmentResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentResponse' => [ 'shape' => 'SegmentResponse', ], ], 'required' => [ 'SegmentResponse', ], 'payload' => 'SegmentResponse', ], 'GetSegmentVersionRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], 'Version' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'version', ], ], 'required' => [ 'SegmentId', 'Version', 'ApplicationId', ], ], 'GetSegmentVersionResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentResponse' => [ 'shape' => 'SegmentResponse', ], ], 'required' => [ 'SegmentResponse', ], 'payload' => 'SegmentResponse', ], 'GetSegmentVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'SegmentId', 'ApplicationId', ], ], 'GetSegmentVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentsResponse' => [ 'shape' => 'SegmentsResponse', ], ], 'required' => [ 'SegmentsResponse', ], 'payload' => 'SegmentsResponse', ], 'GetSegmentsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'page-size', ], 'Token' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'token', ], ], 'required' => [ 'ApplicationId', ], ], 'GetSegmentsResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentsResponse' => [ 'shape' => 'SegmentsResponse', ], ], 'required' => [ 'SegmentsResponse', ], 'payload' => 'SegmentsResponse', ], 'GetSmsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetSmsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'SMSChannelResponse' => [ 'shape' => 'SMSChannelResponse', ], ], 'required' => [ 'SMSChannelResponse', ], 'payload' => 'SMSChannelResponse', ], 'GetUserEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'UserId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'user-id', ], ], 'required' => [ 'ApplicationId', 'UserId', ], ], 'GetUserEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointsResponse' => [ 'shape' => 'EndpointsResponse', ], ], 'required' => [ 'EndpointsResponse', ], 'payload' => 'EndpointsResponse', ], 'GetVoiceChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', ], ], 'GetVoiceChannelResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceChannelResponse' => [ 'shape' => 'VoiceChannelResponse', ], ], 'required' => [ 'VoiceChannelResponse', ], 'payload' => 'VoiceChannelResponse', ], 'ImportJobRequest' => [ 'type' => 'structure', 'members' => [ 'DefineSegment' => [ 'shape' => '__boolean', ], 'ExternalId' => [ 'shape' => '__string', ], 'Format' => [ 'shape' => 'Format', ], 'RegisterEndpoints' => [ 'shape' => '__boolean', ], 'RoleArn' => [ 'shape' => '__string', ], 'S3Url' => [ 'shape' => '__string', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentName' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ImportJobResource' => [ 'type' => 'structure', 'members' => [ 'DefineSegment' => [ 'shape' => '__boolean', ], 'ExternalId' => [ 'shape' => '__string', ], 'Format' => [ 'shape' => 'Format', ], 'RegisterEndpoints' => [ 'shape' => '__boolean', ], 'RoleArn' => [ 'shape' => '__string', ], 'S3Url' => [ 'shape' => '__string', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentName' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ImportJobResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CompletedPieces' => [ 'shape' => '__integer', ], 'CompletionDate' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'ImportJobResource', ], 'FailedPieces' => [ 'shape' => '__integer', ], 'Failures' => [ 'shape' => 'ListOf__string', ], 'Id' => [ 'shape' => '__string', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'TotalFailures' => [ 'shape' => '__integer', ], 'TotalPieces' => [ 'shape' => '__integer', ], 'TotalProcessed' => [ 'shape' => '__integer', ], 'Type' => [ 'shape' => '__string', ], ], 'required' => [], ], 'ImportJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfImportJobResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'Include' => [ 'type' => 'string', 'enum' => [ 'ALL', 'ANY', 'NONE', ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'ItemResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointItemResponse' => [ 'shape' => 'EndpointItemResponse', ], 'EventsItemResponse' => [ 'shape' => 'MapOfEventItemResponse', ], ], ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'CREATED', 'INITIALIZING', 'PROCESSING', 'COMPLETING', 'COMPLETED', 'FAILING', 'FAILED', ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], ], 'required' => [ 'ResourceArn', ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'TagsModel' => [ 'shape' => 'TagsModel', ], ], 'required' => [ 'TagsModel', ], 'payload' => 'TagsModel', ], 'Message' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Body' => [ 'shape' => '__string', ], 'ImageIconUrl' => [ 'shape' => '__string', ], 'ImageSmallIconUrl' => [ 'shape' => '__string', ], 'ImageUrl' => [ 'shape' => '__string', ], 'JsonBody' => [ 'shape' => '__string', ], 'MediaUrl' => [ 'shape' => '__string', ], 'RawContent' => [ 'shape' => '__string', ], 'SilentPush' => [ 'shape' => '__boolean', ], 'TimeToLive' => [ 'shape' => '__integer', ], 'Title' => [ 'shape' => '__string', ], 'Url' => [ 'shape' => '__string', ], ], 'required' => [], ], 'MessageBody' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], ], 'MessageConfiguration' => [ 'type' => 'structure', 'members' => [ 'ADMMessage' => [ 'shape' => 'Message', ], 'APNSMessage' => [ 'shape' => 'Message', ], 'BaiduMessage' => [ 'shape' => 'Message', ], 'DefaultMessage' => [ 'shape' => 'Message', ], 'EmailMessage' => [ 'shape' => 'CampaignEmailMessage', ], 'GCMMessage' => [ 'shape' => 'Message', ], 'SMSMessage' => [ 'shape' => 'CampaignSmsMessage', ], ], ], 'MessageRequest' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'MapOfAddressConfiguration', ], 'Context' => [ 'shape' => 'MapOf__string', ], 'Endpoints' => [ 'shape' => 'MapOfEndpointSendConfiguration', ], 'MessageConfiguration' => [ 'shape' => 'DirectMessageConfiguration', ], 'TraceId' => [ 'shape' => '__string', ], ], 'required' => [], ], 'MessageResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'EndpointResult' => [ 'shape' => 'MapOfEndpointMessageResult', ], 'RequestId' => [ 'shape' => '__string', ], 'Result' => [ 'shape' => 'MapOfMessageResult', ], ], 'required' => [], ], 'MessageResult' => [ 'type' => 'structure', 'members' => [ 'DeliveryStatus' => [ 'shape' => 'DeliveryStatus', ], 'MessageId' => [ 'shape' => '__string', ], 'StatusCode' => [ 'shape' => '__integer', ], 'StatusMessage' => [ 'shape' => '__string', ], 'UpdatedToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'MessageType' => [ 'type' => 'string', 'enum' => [ 'TRANSACTIONAL', 'PROMOTIONAL', ], ], 'MethodNotAllowedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 405, ], ], 'MetricDimension' => [ 'type' => 'structure', 'members' => [ 'ComparisonOperator' => [ 'shape' => '__string', ], 'Value' => [ 'shape' => '__double', ], ], 'required' => [], ], 'Mode' => [ 'type' => 'string', 'enum' => [ 'DELIVERY', 'FILTER', ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'NumberValidateRequest' => [ 'type' => 'structure', 'members' => [ 'IsoCountryCode' => [ 'shape' => '__string', ], 'PhoneNumber' => [ 'shape' => '__string', ], ], ], 'NumberValidateResponse' => [ 'type' => 'structure', 'members' => [ 'Carrier' => [ 'shape' => '__string', ], 'City' => [ 'shape' => '__string', ], 'CleansedPhoneNumberE164' => [ 'shape' => '__string', ], 'CleansedPhoneNumberNational' => [ 'shape' => '__string', ], 'Country' => [ 'shape' => '__string', ], 'CountryCodeIso2' => [ 'shape' => '__string', ], 'CountryCodeNumeric' => [ 'shape' => '__string', ], 'County' => [ 'shape' => '__string', ], 'OriginalCountryCodeIso2' => [ 'shape' => '__string', ], 'OriginalPhoneNumber' => [ 'shape' => '__string', ], 'PhoneType' => [ 'shape' => '__string', ], 'PhoneTypeCode' => [ 'shape' => '__integer', ], 'Timezone' => [ 'shape' => '__string', ], 'ZipCode' => [ 'shape' => '__string', ], ], ], 'PhoneNumberValidateRequest' => [ 'type' => 'structure', 'members' => [ 'NumberValidateRequest' => [ 'shape' => 'NumberValidateRequest', ], ], 'required' => [ 'NumberValidateRequest', ], 'payload' => 'NumberValidateRequest', ], 'PhoneNumberValidateResponse' => [ 'type' => 'structure', 'members' => [ 'NumberValidateResponse' => [ 'shape' => 'NumberValidateResponse', ], ], 'required' => [ 'NumberValidateResponse', ], 'payload' => 'NumberValidateResponse', ], 'PublicEndpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => '__string', ], 'Attributes' => [ 'shape' => 'MapOfListOf__string', ], 'ChannelType' => [ 'shape' => 'ChannelType', ], 'Demographic' => [ 'shape' => 'EndpointDemographic', ], 'EffectiveDate' => [ 'shape' => '__string', ], 'EndpointStatus' => [ 'shape' => '__string', ], 'Location' => [ 'shape' => 'EndpointLocation', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'OptOut' => [ 'shape' => '__string', ], 'RequestId' => [ 'shape' => '__string', ], 'User' => [ 'shape' => 'EndpointUser', ], ], ], 'PutEventStreamRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'WriteEventStream' => [ 'shape' => 'WriteEventStream', ], ], 'required' => [ 'ApplicationId', 'WriteEventStream', ], 'payload' => 'WriteEventStream', ], 'PutEventStreamResponse' => [ 'type' => 'structure', 'members' => [ 'EventStream' => [ 'shape' => 'EventStream', ], ], 'required' => [ 'EventStream', ], 'payload' => 'EventStream', ], 'PutEventsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EventsRequest' => [ 'shape' => 'EventsRequest', ], ], 'required' => [ 'ApplicationId', 'EventsRequest', ], 'payload' => 'EventsRequest', ], 'PutEventsResponse' => [ 'type' => 'structure', 'members' => [ 'EventsResponse' => [ 'shape' => 'EventsResponse', ], ], 'required' => [ 'EventsResponse', ], 'payload' => 'EventsResponse', ], 'QuietTime' => [ 'type' => 'structure', 'members' => [ 'End' => [ 'shape' => '__string', ], 'Start' => [ 'shape' => '__string', ], ], ], 'RawEmail' => [ 'type' => 'structure', 'members' => [ 'Data' => [ 'shape' => '__blob', ], ], ], '__blob' => [ 'type' => 'blob', ], 'RecencyDimension' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => 'Duration', ], 'RecencyType' => [ 'shape' => 'RecencyType', ], ], 'required' => [], ], 'RecencyType' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', ], ], 'RemoveAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'AttributeType' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'attribute-type', ], 'UpdateAttributesRequest' => [ 'shape' => 'UpdateAttributesRequest', ], ], 'required' => [ 'AttributeType', 'ApplicationId', 'UpdateAttributesRequest', ], 'payload' => 'UpdateAttributesRequest', ], 'RemoveAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'AttributesResource' => [ 'shape' => 'AttributesResource', ], ], 'required' => [ 'AttributesResource', ], 'payload' => 'AttributesResource', ], 'SMSChannelRequest' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => '__boolean', ], 'SenderId' => [ 'shape' => '__string', ], 'ShortCode' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SMSChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'PromotionalMessagesPerSecond' => [ 'shape' => '__integer', ], 'SenderId' => [ 'shape' => '__string', ], 'ShortCode' => [ 'shape' => '__string', ], 'TransactionalMessagesPerSecond' => [ 'shape' => '__integer', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'SMSMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'Keyword' => [ 'shape' => '__string', ], 'MessageType' => [ 'shape' => 'MessageType', ], 'OriginationNumber' => [ 'shape' => '__string', ], 'SenderId' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], ], ], 'Schedule' => [ 'type' => 'structure', 'members' => [ 'EndTime' => [ 'shape' => '__string', ], 'EventFilter' => [ 'shape' => 'CampaignEventFilter', ], 'Frequency' => [ 'shape' => 'Frequency', ], 'IsLocalTime' => [ 'shape' => '__boolean', ], 'QuietTime' => [ 'shape' => 'QuietTime', ], 'StartTime' => [ 'shape' => '__string', ], 'Timezone' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SegmentBehaviors' => [ 'type' => 'structure', 'members' => [ 'Recency' => [ 'shape' => 'RecencyDimension', ], ], ], 'SegmentDemographics' => [ 'type' => 'structure', 'members' => [ 'AppVersion' => [ 'shape' => 'SetDimension', ], 'Channel' => [ 'shape' => 'SetDimension', ], 'DeviceType' => [ 'shape' => 'SetDimension', ], 'Make' => [ 'shape' => 'SetDimension', ], 'Model' => [ 'shape' => 'SetDimension', ], 'Platform' => [ 'shape' => 'SetDimension', ], ], ], 'SegmentDimensions' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'MapOfAttributeDimension', ], 'Behavior' => [ 'shape' => 'SegmentBehaviors', ], 'Demographic' => [ 'shape' => 'SegmentDemographics', ], 'Location' => [ 'shape' => 'SegmentLocation', ], 'Metrics' => [ 'shape' => 'MapOfMetricDimension', ], 'UserAttributes' => [ 'shape' => 'MapOfAttributeDimension', ], ], ], 'SegmentGroup' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'ListOfSegmentDimensions', ], 'SourceSegments' => [ 'shape' => 'ListOfSegmentReference', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Type' => [ 'shape' => 'Type', ], ], 'required' => [], ], 'SegmentGroupList' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'ListOfSegmentGroup', ], 'Include' => [ 'shape' => 'Include', ], ], 'required' => [], ], 'SegmentImportResource' => [ 'type' => 'structure', 'members' => [ 'ChannelCounts' => [ 'shape' => 'MapOf__integer', ], 'ExternalId' => [ 'shape' => '__string', ], 'Format' => [ 'shape' => 'Format', ], 'RoleArn' => [ 'shape' => '__string', ], 'S3Url' => [ 'shape' => '__string', ], 'Size' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'SegmentLocation' => [ 'type' => 'structure', 'members' => [ 'Country' => [ 'shape' => 'SetDimension', ], 'GPSPoint' => [ 'shape' => 'GPSPointDimension', ], ], ], 'SegmentReference' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'SegmentResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'Arn' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Dimensions' => [ 'shape' => 'SegmentDimensions', ], 'Id' => [ 'shape' => '__string', ], 'ImportDefinition' => [ 'shape' => 'SegmentImportResource', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'SegmentGroups' => [ 'shape' => 'SegmentGroupList', ], 'SegmentType' => [ 'shape' => 'SegmentType', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'SegmentType' => [ 'type' => 'string', 'enum' => [ 'DIMENSIONAL', 'IMPORT', ], ], 'SegmentsResponse' => [ 'type' => 'structure', 'members' => [ 'Item' => [ 'shape' => 'ListOfSegmentResponse', ], 'NextToken' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SendMessagesRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'MessageRequest' => [ 'shape' => 'MessageRequest', ], ], 'required' => [ 'ApplicationId', 'MessageRequest', ], 'payload' => 'MessageRequest', ], 'SendMessagesResponse' => [ 'type' => 'structure', 'members' => [ 'MessageResponse' => [ 'shape' => 'MessageResponse', ], ], 'required' => [ 'MessageResponse', ], 'payload' => 'MessageResponse', ], 'SendUsersMessageRequest' => [ 'type' => 'structure', 'members' => [ 'Context' => [ 'shape' => 'MapOf__string', ], 'MessageConfiguration' => [ 'shape' => 'DirectMessageConfiguration', ], 'TraceId' => [ 'shape' => '__string', ], 'Users' => [ 'shape' => 'MapOfEndpointSendConfiguration', ], ], 'required' => [], ], 'SendUsersMessageResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'RequestId' => [ 'shape' => '__string', ], 'Result' => [ 'shape' => 'MapOfMapOfEndpointMessageResult', ], ], 'required' => [], ], 'SendUsersMessagesRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SendUsersMessageRequest' => [ 'shape' => 'SendUsersMessageRequest', ], ], 'required' => [ 'ApplicationId', 'SendUsersMessageRequest', ], 'payload' => 'SendUsersMessageRequest', ], 'SendUsersMessagesResponse' => [ 'type' => 'structure', 'members' => [ 'SendUsersMessageResponse' => [ 'shape' => 'SendUsersMessageResponse', ], ], 'required' => [ 'SendUsersMessageResponse', ], 'payload' => 'SendUsersMessageResponse', ], 'Session' => [ 'type' => 'structure', 'members' => [ 'Duration' => [ 'shape' => '__integer', ], 'Id' => [ 'shape' => '__string', ], 'StartTimestamp' => [ 'shape' => '__string', ], 'StopTimestamp' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SetDimension' => [ 'type' => 'structure', 'members' => [ 'DimensionType' => [ 'shape' => 'DimensionType', ], 'Values' => [ 'shape' => 'ListOf__string', ], ], 'required' => [], ], 'SimpleEmail' => [ 'type' => 'structure', 'members' => [ 'HtmlPart' => [ 'shape' => 'SimpleEmailPart', ], 'Subject' => [ 'shape' => 'SimpleEmailPart', ], 'TextPart' => [ 'shape' => 'SimpleEmailPart', ], ], ], 'SimpleEmailPart' => [ 'type' => 'structure', 'members' => [ 'Charset' => [ 'shape' => '__string', ], 'Data' => [ 'shape' => '__string', ], ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'ALL', 'ANY', 'NONE', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagsModel' => [ 'shape' => 'TagsModel', ], ], 'required' => [ 'ResourceArn', 'TagsModel', ], 'payload' => 'TagsModel', ], 'TagsModel' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], ], 'required' => [ 'tags', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', ], 'RequestID' => [ 'shape' => '__string', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'TreatmentResource' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', ], 'MessageConfiguration' => [ 'shape' => 'MessageConfiguration', ], 'Schedule' => [ 'shape' => 'Schedule', ], 'SizePercent' => [ 'shape' => '__integer', ], 'State' => [ 'shape' => 'CampaignState', ], 'TreatmentDescription' => [ 'shape' => '__string', ], 'TreatmentName' => [ 'shape' => '__string', ], ], 'required' => [], ], 'Type' => [ 'type' => 'string', 'enum' => [ 'ALL', 'ANY', 'NONE', ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'resource-arn', ], 'TagKeys' => [ 'shape' => 'ListOf__string', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], 'required' => [ 'TagKeys', 'ResourceArn', ], ], 'UpdateAdmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ADMChannelRequest' => [ 'shape' => 'ADMChannelRequest', ], 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', 'ADMChannelRequest', ], 'payload' => 'ADMChannelRequest', ], 'UpdateAdmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ADMChannelResponse' => [ 'shape' => 'ADMChannelResponse', ], ], 'required' => [ 'ADMChannelResponse', ], 'payload' => 'ADMChannelResponse', ], 'UpdateApnsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'APNSChannelRequest' => [ 'shape' => 'APNSChannelRequest', ], 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', 'APNSChannelRequest', ], 'payload' => 'APNSChannelRequest', ], 'UpdateApnsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSChannelResponse' => [ 'shape' => 'APNSChannelResponse', ], ], 'required' => [ 'APNSChannelResponse', ], 'payload' => 'APNSChannelResponse', ], 'UpdateApnsSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'APNSSandboxChannelRequest' => [ 'shape' => 'APNSSandboxChannelRequest', ], 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', 'APNSSandboxChannelRequest', ], 'payload' => 'APNSSandboxChannelRequest', ], 'UpdateApnsSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSSandboxChannelResponse' => [ 'shape' => 'APNSSandboxChannelResponse', ], ], 'required' => [ 'APNSSandboxChannelResponse', ], 'payload' => 'APNSSandboxChannelResponse', ], 'UpdateApnsVoipChannelRequest' => [ 'type' => 'structure', 'members' => [ 'APNSVoipChannelRequest' => [ 'shape' => 'APNSVoipChannelRequest', ], 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', 'APNSVoipChannelRequest', ], 'payload' => 'APNSVoipChannelRequest', ], 'UpdateApnsVoipChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipChannelResponse' => [ 'shape' => 'APNSVoipChannelResponse', ], ], 'required' => [ 'APNSVoipChannelResponse', ], 'payload' => 'APNSVoipChannelResponse', ], 'UpdateApnsVoipSandboxChannelRequest' => [ 'type' => 'structure', 'members' => [ 'APNSVoipSandboxChannelRequest' => [ 'shape' => 'APNSVoipSandboxChannelRequest', ], 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], ], 'required' => [ 'ApplicationId', 'APNSVoipSandboxChannelRequest', ], 'payload' => 'APNSVoipSandboxChannelRequest', ], 'UpdateApnsVoipSandboxChannelResponse' => [ 'type' => 'structure', 'members' => [ 'APNSVoipSandboxChannelResponse' => [ 'shape' => 'APNSVoipSandboxChannelResponse', ], ], 'required' => [ 'APNSVoipSandboxChannelResponse', ], 'payload' => 'APNSVoipSandboxChannelResponse', ], 'UpdateApplicationSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'WriteApplicationSettingsRequest' => [ 'shape' => 'WriteApplicationSettingsRequest', ], ], 'required' => [ 'ApplicationId', 'WriteApplicationSettingsRequest', ], 'payload' => 'WriteApplicationSettingsRequest', ], 'UpdateApplicationSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationSettingsResource' => [ 'shape' => 'ApplicationSettingsResource', ], ], 'required' => [ 'ApplicationSettingsResource', ], 'payload' => 'ApplicationSettingsResource', ], 'UpdateAttributesRequest' => [ 'type' => 'structure', 'members' => [ 'Blacklist' => [ 'shape' => 'ListOf__string', ], ], ], 'UpdateBaiduChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'BaiduChannelRequest' => [ 'shape' => 'BaiduChannelRequest', ], ], 'required' => [ 'ApplicationId', 'BaiduChannelRequest', ], 'payload' => 'BaiduChannelRequest', ], 'UpdateBaiduChannelResponse' => [ 'type' => 'structure', 'members' => [ 'BaiduChannelResponse' => [ 'shape' => 'BaiduChannelResponse', ], ], 'required' => [ 'BaiduChannelResponse', ], 'payload' => 'BaiduChannelResponse', ], 'UpdateCampaignRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'CampaignId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'campaign-id', ], 'WriteCampaignRequest' => [ 'shape' => 'WriteCampaignRequest', ], ], 'required' => [ 'CampaignId', 'ApplicationId', 'WriteCampaignRequest', ], 'payload' => 'WriteCampaignRequest', ], 'UpdateCampaignResponse' => [ 'type' => 'structure', 'members' => [ 'CampaignResponse' => [ 'shape' => 'CampaignResponse', ], ], 'required' => [ 'CampaignResponse', ], 'payload' => 'CampaignResponse', ], 'UpdateEmailChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EmailChannelRequest' => [ 'shape' => 'EmailChannelRequest', ], ], 'required' => [ 'ApplicationId', 'EmailChannelRequest', ], 'payload' => 'EmailChannelRequest', ], 'UpdateEmailChannelResponse' => [ 'type' => 'structure', 'members' => [ 'EmailChannelResponse' => [ 'shape' => 'EmailChannelResponse', ], ], 'required' => [ 'EmailChannelResponse', ], 'payload' => 'EmailChannelResponse', ], 'UpdateEndpointRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EndpointId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'endpoint-id', ], 'EndpointRequest' => [ 'shape' => 'EndpointRequest', ], ], 'required' => [ 'ApplicationId', 'EndpointId', 'EndpointRequest', ], 'payload' => 'EndpointRequest', ], 'UpdateEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'MessageBody' => [ 'shape' => 'MessageBody', ], ], 'required' => [ 'MessageBody', ], 'payload' => 'MessageBody', ], 'UpdateEndpointsBatchRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'EndpointBatchRequest' => [ 'shape' => 'EndpointBatchRequest', ], ], 'required' => [ 'ApplicationId', 'EndpointBatchRequest', ], 'payload' => 'EndpointBatchRequest', ], 'UpdateEndpointsBatchResponse' => [ 'type' => 'structure', 'members' => [ 'MessageBody' => [ 'shape' => 'MessageBody', ], ], 'required' => [ 'MessageBody', ], 'payload' => 'MessageBody', ], 'UpdateGcmChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'GCMChannelRequest' => [ 'shape' => 'GCMChannelRequest', ], ], 'required' => [ 'ApplicationId', 'GCMChannelRequest', ], 'payload' => 'GCMChannelRequest', ], 'UpdateGcmChannelResponse' => [ 'type' => 'structure', 'members' => [ 'GCMChannelResponse' => [ 'shape' => 'GCMChannelResponse', ], ], 'required' => [ 'GCMChannelResponse', ], 'payload' => 'GCMChannelResponse', ], 'UpdateSegmentRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SegmentId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'segment-id', ], 'WriteSegmentRequest' => [ 'shape' => 'WriteSegmentRequest', ], ], 'required' => [ 'SegmentId', 'ApplicationId', 'WriteSegmentRequest', ], 'payload' => 'WriteSegmentRequest', ], 'UpdateSegmentResponse' => [ 'type' => 'structure', 'members' => [ 'SegmentResponse' => [ 'shape' => 'SegmentResponse', ], ], 'required' => [ 'SegmentResponse', ], 'payload' => 'SegmentResponse', ], 'UpdateSmsChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'SMSChannelRequest' => [ 'shape' => 'SMSChannelRequest', ], ], 'required' => [ 'ApplicationId', 'SMSChannelRequest', ], 'payload' => 'SMSChannelRequest', ], 'UpdateSmsChannelResponse' => [ 'type' => 'structure', 'members' => [ 'SMSChannelResponse' => [ 'shape' => 'SMSChannelResponse', ], ], 'required' => [ 'SMSChannelResponse', ], 'payload' => 'SMSChannelResponse', ], 'UpdateVoiceChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'application-id', ], 'VoiceChannelRequest' => [ 'shape' => 'VoiceChannelRequest', ], ], 'required' => [ 'ApplicationId', 'VoiceChannelRequest', ], 'payload' => 'VoiceChannelRequest', ], 'UpdateVoiceChannelResponse' => [ 'type' => 'structure', 'members' => [ 'VoiceChannelResponse' => [ 'shape' => 'VoiceChannelResponse', ], ], 'required' => [ 'VoiceChannelResponse', ], 'payload' => 'VoiceChannelResponse', ], 'VoiceChannelRequest' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => '__boolean', ], ], 'required' => [], ], 'VoiceChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', ], 'CreationDate' => [ 'shape' => '__string', ], 'Enabled' => [ 'shape' => '__boolean', ], 'HasCredential' => [ 'shape' => '__boolean', ], 'Id' => [ 'shape' => '__string', ], 'IsArchived' => [ 'shape' => '__boolean', ], 'LastModifiedBy' => [ 'shape' => '__string', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Platform' => [ 'shape' => '__string', ], 'Version' => [ 'shape' => '__integer', ], ], 'required' => [], ], 'VoiceMessage' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => '__string', ], 'LanguageCode' => [ 'shape' => '__string', ], 'OriginationNumber' => [ 'shape' => '__string', ], 'Substitutions' => [ 'shape' => 'MapOfListOf__string', ], 'VoiceId' => [ 'shape' => '__string', ], ], ], 'WriteApplicationSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'CampaignHook' => [ 'shape' => 'CampaignHook', ], 'CloudWatchMetricsEnabled' => [ 'shape' => '__boolean', ], 'Limits' => [ 'shape' => 'CampaignLimits', ], 'QuietTime' => [ 'shape' => 'QuietTime', ], ], ], 'WriteCampaignRequest' => [ 'type' => 'structure', 'members' => [ 'AdditionalTreatments' => [ 'shape' => 'ListOfWriteTreatmentResource', ], 'Description' => [ 'shape' => '__string', ], 'HoldoutPercent' => [ 'shape' => '__integer', ], 'Hook' => [ 'shape' => 'CampaignHook', ], 'IsPaused' => [ 'shape' => '__boolean', ], 'Limits' => [ 'shape' => 'CampaignLimits', ], 'MessageConfiguration' => [ 'shape' => 'MessageConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'Schedule' => [ 'shape' => 'Schedule', ], 'SegmentId' => [ 'shape' => '__string', ], 'SegmentVersion' => [ 'shape' => '__integer', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], 'TreatmentDescription' => [ 'shape' => '__string', ], 'TreatmentName' => [ 'shape' => '__string', ], ], ], 'WriteEventStream' => [ 'type' => 'structure', 'members' => [ 'DestinationStreamArn' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'WriteSegmentRequest' => [ 'type' => 'structure', 'members' => [ 'Dimensions' => [ 'shape' => 'SegmentDimensions', ], 'Name' => [ 'shape' => '__string', ], 'SegmentGroups' => [ 'shape' => 'SegmentGroupList', ], 'tags' => [ 'shape' => 'MapOf__string', 'locationName' => 'tags', ], ], 'required' => [], ], 'WriteTreatmentResource' => [ 'type' => 'structure', 'members' => [ 'MessageConfiguration' => [ 'shape' => 'MessageConfiguration', ], 'Schedule' => [ 'shape' => 'Schedule', ], 'SizePercent' => [ 'shape' => '__integer', ], 'TreatmentDescription' => [ 'shape' => '__string', ], 'TreatmentName' => [ 'shape' => '__string', ], ], 'required' => [], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], 'ListOfActivityResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActivityResponse', ], ], 'ListOfApplicationResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationResponse', ], ], 'ListOfCampaignResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'CampaignResponse', ], ], 'ListOfEndpointBatchItem' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointBatchItem', ], ], 'ListOfEndpointResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointResponse', ], ], 'ListOfExportJobResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExportJobResponse', ], ], 'ListOfImportJobResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportJobResponse', ], ], 'ListOfSegmentDimensions' => [ 'type' => 'list', 'member' => [ 'shape' => 'SegmentDimensions', ], ], 'ListOfSegmentGroup' => [ 'type' => 'list', 'member' => [ 'shape' => 'SegmentGroup', ], ], 'ListOfSegmentReference' => [ 'type' => 'list', 'member' => [ 'shape' => 'SegmentReference', ], ], 'ListOfSegmentResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'SegmentResponse', ], ], 'ListOfTreatmentResource' => [ 'type' => 'list', 'member' => [ 'shape' => 'TreatmentResource', ], ], 'ListOfWriteTreatmentResource' => [ 'type' => 'list', 'member' => [ 'shape' => 'WriteTreatmentResource', ], ], 'ListOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], 'MapOfAddressConfiguration' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'AddressConfiguration', ], ], 'MapOfAttributeDimension' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'AttributeDimension', ], ], 'MapOfChannelResponse' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'ChannelResponse', ], ], 'MapOfEndpointMessageResult' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'EndpointMessageResult', ], ], 'MapOfEndpointSendConfiguration' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'EndpointSendConfiguration', ], ], 'MapOfEvent' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'Event', ], ], 'MapOfEventItemResponse' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'EventItemResponse', ], ], 'MapOfEventsBatch' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'EventsBatch', ], ], 'MapOfItemResponse' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'ItemResponse', ], ], 'MapOfMessageResult' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'MessageResult', ], ], 'MapOfMetricDimension' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'MetricDimension', ], ], 'MapOf__double' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__double', ], ], 'MapOf__integer' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__integer', ], ], 'MapOfListOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'ListOf__string', ], ], 'MapOfMapOfEndpointMessageResult' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => 'MapOfEndpointMessageResult', ], ], 'MapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/polly/2016-06-10/api-2.json.php b/lib/aws/Aws/data/polly/2016-06-10/api-2.json.php new file mode 100644 index 0000000..aa84d86 --- /dev/null +++ b/lib/aws/Aws/data/polly/2016-06-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/polly/2016-06-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-06-10', 'endpointPrefix' => 'polly', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Polly', 'serviceId' => 'Polly', 'signatureVersion' => 'v4', 'uid' => 'polly-2016-06-10', ], 'operations' => [ 'DeleteLexicon' => [ 'name' => 'DeleteLexicon', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/lexicons/{LexiconName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteLexiconInput', ], 'output' => [ 'shape' => 'DeleteLexiconOutput', ], 'errors' => [ [ 'shape' => 'LexiconNotFoundException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DescribeVoices' => [ 'name' => 'DescribeVoices', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/voices', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeVoicesInput', ], 'output' => [ 'shape' => 'DescribeVoicesOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetLexicon' => [ 'name' => 'GetLexicon', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/lexicons/{LexiconName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetLexiconInput', ], 'output' => [ 'shape' => 'GetLexiconOutput', ], 'errors' => [ [ 'shape' => 'LexiconNotFoundException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetSpeechSynthesisTask' => [ 'name' => 'GetSpeechSynthesisTask', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/synthesisTasks/{TaskId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetSpeechSynthesisTaskInput', ], 'output' => [ 'shape' => 'GetSpeechSynthesisTaskOutput', ], 'errors' => [ [ 'shape' => 'InvalidTaskIdException', ], [ 'shape' => 'ServiceFailureException', ], [ 'shape' => 'SynthesisTaskNotFoundException', ], ], ], 'ListLexicons' => [ 'name' => 'ListLexicons', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/lexicons', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListLexiconsInput', ], 'output' => [ 'shape' => 'ListLexiconsOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListSpeechSynthesisTasks' => [ 'name' => 'ListSpeechSynthesisTasks', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/synthesisTasks', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListSpeechSynthesisTasksInput', ], 'output' => [ 'shape' => 'ListSpeechSynthesisTasksOutput', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'PutLexicon' => [ 'name' => 'PutLexicon', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/lexicons/{LexiconName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutLexiconInput', ], 'output' => [ 'shape' => 'PutLexiconOutput', ], 'errors' => [ [ 'shape' => 'InvalidLexiconException', ], [ 'shape' => 'UnsupportedPlsAlphabetException', ], [ 'shape' => 'UnsupportedPlsLanguageException', ], [ 'shape' => 'LexiconSizeExceededException', ], [ 'shape' => 'MaxLexemeLengthExceededException', ], [ 'shape' => 'MaxLexiconsNumberExceededException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'StartSpeechSynthesisTask' => [ 'name' => 'StartSpeechSynthesisTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/synthesisTasks', 'responseCode' => 200, ], 'input' => [ 'shape' => 'StartSpeechSynthesisTaskInput', ], 'output' => [ 'shape' => 'StartSpeechSynthesisTaskOutput', ], 'errors' => [ [ 'shape' => 'TextLengthExceededException', ], [ 'shape' => 'InvalidS3BucketException', ], [ 'shape' => 'InvalidS3KeyException', ], [ 'shape' => 'InvalidSampleRateException', ], [ 'shape' => 'InvalidSnsTopicArnException', ], [ 'shape' => 'InvalidSsmlException', ], [ 'shape' => 'LexiconNotFoundException', ], [ 'shape' => 'ServiceFailureException', ], [ 'shape' => 'MarksNotSupportedForFormatException', ], [ 'shape' => 'SsmlMarksNotSupportedForTextTypeException', ], [ 'shape' => 'LanguageNotSupportedException', ], ], ], 'SynthesizeSpeech' => [ 'name' => 'SynthesizeSpeech', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/speech', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SynthesizeSpeechInput', ], 'output' => [ 'shape' => 'SynthesizeSpeechOutput', ], 'errors' => [ [ 'shape' => 'TextLengthExceededException', ], [ 'shape' => 'InvalidSampleRateException', ], [ 'shape' => 'InvalidSsmlException', ], [ 'shape' => 'LexiconNotFoundException', ], [ 'shape' => 'ServiceFailureException', ], [ 'shape' => 'MarksNotSupportedForFormatException', ], [ 'shape' => 'SsmlMarksNotSupportedForTextTypeException', ], [ 'shape' => 'LanguageNotSupportedException', ], ], ], ], 'shapes' => [ 'Alphabet' => [ 'type' => 'string', ], 'AudioStream' => [ 'type' => 'blob', 'streaming' => true, ], 'ContentType' => [ 'type' => 'string', ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteLexiconInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'LexiconName', 'location' => 'uri', 'locationName' => 'LexiconName', ], ], ], 'DeleteLexiconOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeVoicesInput' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => 'LanguageCode', 'location' => 'querystring', 'locationName' => 'LanguageCode', ], 'IncludeAdditionalLanguageCodes' => [ 'shape' => 'IncludeAdditionalLanguageCodes', 'location' => 'querystring', 'locationName' => 'IncludeAdditionalLanguageCodes', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'DescribeVoicesOutput' => [ 'type' => 'structure', 'members' => [ 'Voices' => [ 'shape' => 'VoiceList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'Gender' => [ 'type' => 'string', 'enum' => [ 'Female', 'Male', ], ], 'GetLexiconInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'LexiconName', 'location' => 'uri', 'locationName' => 'LexiconName', ], ], ], 'GetLexiconOutput' => [ 'type' => 'structure', 'members' => [ 'Lexicon' => [ 'shape' => 'Lexicon', ], 'LexiconAttributes' => [ 'shape' => 'LexiconAttributes', ], ], ], 'GetSpeechSynthesisTaskInput' => [ 'type' => 'structure', 'required' => [ 'TaskId', ], 'members' => [ 'TaskId' => [ 'shape' => 'TaskId', 'location' => 'uri', 'locationName' => 'TaskId', ], ], ], 'GetSpeechSynthesisTaskOutput' => [ 'type' => 'structure', 'members' => [ 'SynthesisTask' => [ 'shape' => 'SynthesisTask', ], ], ], 'IncludeAdditionalLanguageCodes' => [ 'type' => 'boolean', ], 'InvalidLexiconException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidS3BucketException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidS3KeyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidSampleRateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidSnsTopicArnException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidSsmlException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTaskIdException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LanguageCode' => [ 'type' => 'string', 'enum' => [ 'cmn-CN', 'cy-GB', 'da-DK', 'de-DE', 'en-AU', 'en-GB', 'en-GB-WLS', 'en-IN', 'en-US', 'es-ES', 'es-MX', 'es-US', 'fr-CA', 'fr-FR', 'is-IS', 'it-IT', 'ja-JP', 'hi-IN', 'ko-KR', 'nb-NO', 'nl-NL', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sv-SE', 'tr-TR', ], ], 'LanguageCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LanguageCode', ], ], 'LanguageName' => [ 'type' => 'string', ], 'LanguageNotSupportedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LastModified' => [ 'type' => 'timestamp', ], 'LexemesCount' => [ 'type' => 'integer', ], 'Lexicon' => [ 'type' => 'structure', 'members' => [ 'Content' => [ 'shape' => 'LexiconContent', ], 'Name' => [ 'shape' => 'LexiconName', ], ], ], 'LexiconArn' => [ 'type' => 'string', ], 'LexiconAttributes' => [ 'type' => 'structure', 'members' => [ 'Alphabet' => [ 'shape' => 'Alphabet', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'LexiconArn' => [ 'shape' => 'LexiconArn', ], 'LexemesCount' => [ 'shape' => 'LexemesCount', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'LexiconContent' => [ 'type' => 'string', ], 'LexiconDescription' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'LexiconName', ], 'Attributes' => [ 'shape' => 'LexiconAttributes', ], ], ], 'LexiconDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LexiconDescription', ], ], 'LexiconName' => [ 'type' => 'string', 'pattern' => '[0-9A-Za-z]{1,20}', 'sensitive' => true, ], 'LexiconNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LexiconName', ], 'max' => 5, ], 'LexiconNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'LexiconSizeExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListLexiconsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListLexiconsOutput' => [ 'type' => 'structure', 'members' => [ 'Lexicons' => [ 'shape' => 'LexiconDescriptionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSpeechSynthesisTasksInput' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'Status' => [ 'shape' => 'TaskStatus', 'location' => 'querystring', 'locationName' => 'Status', ], ], ], 'ListSpeechSynthesisTasksOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'SynthesisTasks' => [ 'shape' => 'SynthesisTasks', ], ], ], 'MarksNotSupportedForFormatException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MaxLexemeLengthExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MaxLexiconsNumberExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'NextToken' => [ 'type' => 'string', ], 'OutputFormat' => [ 'type' => 'string', 'enum' => [ 'json', 'mp3', 'ogg_vorbis', 'pcm', ], ], 'OutputS3BucketName' => [ 'type' => 'string', 'pattern' => '^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$', ], 'OutputS3KeyPrefix' => [ 'type' => 'string', 'pattern' => '^[0-9a-zA-Z\\/\\!\\-_\\.\\*\\\'\\(\\)]{0,800}$', ], 'OutputUri' => [ 'type' => 'string', ], 'PutLexiconInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'Content', ], 'members' => [ 'Name' => [ 'shape' => 'LexiconName', 'location' => 'uri', 'locationName' => 'LexiconName', ], 'Content' => [ 'shape' => 'LexiconContent', ], ], ], 'PutLexiconOutput' => [ 'type' => 'structure', 'members' => [], ], 'RequestCharacters' => [ 'type' => 'integer', ], 'SampleRate' => [ 'type' => 'string', ], 'ServiceFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'Size' => [ 'type' => 'integer', ], 'SnsTopicArn' => [ 'type' => 'string', 'pattern' => '^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\\w{12}:.+$', ], 'SpeechMarkType' => [ 'type' => 'string', 'enum' => [ 'sentence', 'ssml', 'viseme', 'word', ], ], 'SpeechMarkTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SpeechMarkType', ], 'max' => 4, ], 'SsmlMarksNotSupportedForTextTypeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'StartSpeechSynthesisTaskInput' => [ 'type' => 'structure', 'required' => [ 'OutputFormat', 'OutputS3BucketName', 'Text', 'VoiceId', ], 'members' => [ 'LexiconNames' => [ 'shape' => 'LexiconNameList', ], 'OutputFormat' => [ 'shape' => 'OutputFormat', ], 'OutputS3BucketName' => [ 'shape' => 'OutputS3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'OutputS3KeyPrefix', ], 'SampleRate' => [ 'shape' => 'SampleRate', ], 'SnsTopicArn' => [ 'shape' => 'SnsTopicArn', ], 'SpeechMarkTypes' => [ 'shape' => 'SpeechMarkTypeList', ], 'Text' => [ 'shape' => 'Text', ], 'TextType' => [ 'shape' => 'TextType', ], 'VoiceId' => [ 'shape' => 'VoiceId', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'StartSpeechSynthesisTaskOutput' => [ 'type' => 'structure', 'members' => [ 'SynthesisTask' => [ 'shape' => 'SynthesisTask', ], ], ], 'SynthesisTask' => [ 'type' => 'structure', 'members' => [ 'TaskId' => [ 'shape' => 'TaskId', ], 'TaskStatus' => [ 'shape' => 'TaskStatus', ], 'TaskStatusReason' => [ 'shape' => 'TaskStatusReason', ], 'OutputUri' => [ 'shape' => 'OutputUri', ], 'CreationTime' => [ 'shape' => 'DateTime', ], 'RequestCharacters' => [ 'shape' => 'RequestCharacters', ], 'SnsTopicArn' => [ 'shape' => 'SnsTopicArn', ], 'LexiconNames' => [ 'shape' => 'LexiconNameList', ], 'OutputFormat' => [ 'shape' => 'OutputFormat', ], 'SampleRate' => [ 'shape' => 'SampleRate', ], 'SpeechMarkTypes' => [ 'shape' => 'SpeechMarkTypeList', ], 'TextType' => [ 'shape' => 'TextType', ], 'VoiceId' => [ 'shape' => 'VoiceId', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'SynthesisTaskNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'SynthesisTasks' => [ 'type' => 'list', 'member' => [ 'shape' => 'SynthesisTask', ], ], 'SynthesizeSpeechInput' => [ 'type' => 'structure', 'required' => [ 'OutputFormat', 'Text', 'VoiceId', ], 'members' => [ 'LexiconNames' => [ 'shape' => 'LexiconNameList', ], 'OutputFormat' => [ 'shape' => 'OutputFormat', ], 'SampleRate' => [ 'shape' => 'SampleRate', ], 'SpeechMarkTypes' => [ 'shape' => 'SpeechMarkTypeList', ], 'Text' => [ 'shape' => 'Text', ], 'TextType' => [ 'shape' => 'TextType', ], 'VoiceId' => [ 'shape' => 'VoiceId', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'SynthesizeSpeechOutput' => [ 'type' => 'structure', 'members' => [ 'AudioStream' => [ 'shape' => 'AudioStream', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'RequestCharacters' => [ 'shape' => 'RequestCharacters', 'location' => 'header', 'locationName' => 'x-amzn-RequestCharacters', ], ], 'payload' => 'AudioStream', ], 'TaskId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TaskStatus' => [ 'type' => 'string', 'enum' => [ 'scheduled', 'inProgress', 'completed', 'failed', ], ], 'TaskStatusReason' => [ 'type' => 'string', ], 'Text' => [ 'type' => 'string', ], 'TextLengthExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TextType' => [ 'type' => 'string', 'enum' => [ 'ssml', 'text', ], ], 'UnsupportedPlsAlphabetException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UnsupportedPlsLanguageException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Voice' => [ 'type' => 'structure', 'members' => [ 'Gender' => [ 'shape' => 'Gender', ], 'Id' => [ 'shape' => 'VoiceId', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'LanguageName' => [ 'shape' => 'LanguageName', ], 'Name' => [ 'shape' => 'VoiceName', ], 'AdditionalLanguageCodes' => [ 'shape' => 'LanguageCodeList', ], ], ], 'VoiceId' => [ 'type' => 'string', 'enum' => [ 'Geraint', 'Gwyneth', 'Mads', 'Naja', 'Hans', 'Marlene', 'Nicole', 'Russell', 'Amy', 'Brian', 'Emma', 'Raveena', 'Ivy', 'Joanna', 'Joey', 'Justin', 'Kendra', 'Kimberly', 'Matthew', 'Salli', 'Conchita', 'Enrique', 'Miguel', 'Penelope', 'Chantal', 'Celine', 'Lea', 'Mathieu', 'Dora', 'Karl', 'Carla', 'Giorgio', 'Mizuki', 'Liv', 'Lotte', 'Ruben', 'Ewa', 'Jacek', 'Jan', 'Maja', 'Ricardo', 'Vitoria', 'Cristiano', 'Ines', 'Carmen', 'Maxim', 'Tatyana', 'Astrid', 'Filiz', 'Vicki', 'Takumi', 'Seoyeon', 'Aditi', 'Zhiyu', 'Bianca', 'Lucia', 'Mia', ], ], 'VoiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Voice', ], ], 'VoiceName' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/polly/2016-06-10/paginators-1.json.php b/lib/aws/Aws/data/polly/2016-06-10/paginators-1.json.php new file mode 100644 index 0000000..a69b94f --- /dev/null +++ b/lib/aws/Aws/data/polly/2016-06-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/polly/2016-06-10/paginators-1.json +return [ 'pagination' => [ 'ListSpeechSynthesisTasks' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/polly/2016-06-10/smoke.json.php b/lib/aws/Aws/data/polly/2016-06-10/smoke.json.php new file mode 100644 index 0000000..6c2a330 --- /dev/null +++ b/lib/aws/Aws/data/polly/2016-06-10/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/polly/2016-06-10/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeVoices', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/pricing/2017-10-15/api-2.json.php b/lib/aws/Aws/data/pricing/2017-10-15/api-2.json.php new file mode 100644 index 0000000..26e1653 --- /dev/null +++ b/lib/aws/Aws/data/pricing/2017-10-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pricing/2017-10-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-15', 'endpointPrefix' => 'api.pricing', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS Pricing', 'serviceFullName' => 'AWS Price List Service', 'signatureVersion' => 'v4', 'signingName' => 'pricing', 'targetPrefix' => 'AWSPriceListService', 'uid' => 'pricing-2017-10-15', ], 'operations' => [ 'DescribeServices' => [ 'name' => 'DescribeServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServicesRequest', ], 'output' => [ 'shape' => 'DescribeServicesResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'GetAttributeValues' => [ 'name' => 'GetAttributeValues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAttributeValuesRequest', ], 'output' => [ 'shape' => 'GetAttributeValuesResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], 'GetProducts' => [ 'name' => 'GetProducts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetProductsRequest', ], 'output' => [ 'shape' => 'GetProductsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], ], ], ], 'shapes' => [ 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'String', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', ], ], 'BoxedInteger' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'DescribeServicesRequest' => [ 'type' => 'structure', 'members' => [ 'ServiceCode' => [ 'shape' => 'String', ], 'FormatVersion' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxedInteger', 'box' => true, ], ], ], 'DescribeServicesResponse' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'ServiceList', ], 'FormatVersion' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ExpiredNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Type', 'Field', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'FilterType', ], 'Field' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'FilterType' => [ 'type' => 'string', 'enum' => [ 'TERM_MATCH', ], ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'GetAttributeValuesRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceCode', 'AttributeName', ], 'members' => [ 'ServiceCode' => [ 'shape' => 'String', ], 'AttributeName' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxedInteger', 'box' => true, ], ], ], 'GetAttributeValuesResponse' => [ 'type' => 'structure', 'members' => [ 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetProductsRequest' => [ 'type' => 'structure', 'members' => [ 'ServiceCode' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'Filters', ], 'FormatVersion' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], 'MaxResults' => [ 'shape' => 'BoxedInteger', 'box' => true, ], ], ], 'GetProductsResponse' => [ 'type' => 'structure', 'members' => [ 'FormatVersion' => [ 'shape' => 'String', ], 'PriceList' => [ 'shape' => 'PriceList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'PriceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PriceListItemJSON', 'jsonvalue' => true, ], ], 'PriceListItemJSON' => [ 'type' => 'string', ], 'Service' => [ 'type' => 'structure', 'members' => [ 'ServiceCode' => [ 'shape' => 'String', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'ServiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Service', ], ], 'String' => [ 'type' => 'string', ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/pricing/2017-10-15/paginators-1.json.php b/lib/aws/Aws/data/pricing/2017-10-15/paginators-1.json.php new file mode 100644 index 0000000..144b2c8 --- /dev/null +++ b/lib/aws/Aws/data/pricing/2017-10-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/pricing/2017-10-15/paginators-1.json +return [ 'pagination' => [ 'DescribeServices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'GetAttributeValues' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'GetProducts' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/quicksight/2018-04-01/api-2.json.php b/lib/aws/Aws/data/quicksight/2018-04-01/api-2.json.php new file mode 100644 index 0000000..9f44192 --- /dev/null +++ b/lib/aws/Aws/data/quicksight/2018-04-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/quicksight/2018-04-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-04-01', 'endpointPrefix' => 'quicksight', 'jsonVersion' => '1.0', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon QuickSight', 'serviceId' => 'QuickSight', 'signatureVersion' => 'v4', 'uid' => 'quicksight-2018-04-01', ], 'operations' => [ 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups', ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'CreateGroupMembership' => [ 'name' => 'CreateGroupMembership', 'http' => [ 'method' => 'PUT', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}', ], 'input' => [ 'shape' => 'CreateGroupMembershipRequest', ], 'output' => [ 'shape' => 'CreateGroupMembershipResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}', ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'output' => [ 'shape' => 'DeleteGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DeleteGroupMembership' => [ 'name' => 'DeleteGroupMembership', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}', ], 'input' => [ 'shape' => 'DeleteGroupMembershipRequest', ], 'output' => [ 'shape' => 'DeleteGroupMembershipResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DeleteUserByPrincipalId' => [ 'name' => 'DeleteUserByPrincipalId', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}', ], 'input' => [ 'shape' => 'DeleteUserByPrincipalIdRequest', ], 'output' => [ 'shape' => 'DeleteUserByPrincipalIdResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DescribeGroup' => [ 'name' => 'DescribeGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}', ], 'input' => [ 'shape' => 'DescribeGroupRequest', ], 'output' => [ 'shape' => 'DescribeGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DescribeUser' => [ 'name' => 'DescribeUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}', ], 'input' => [ 'shape' => 'DescribeUserRequest', ], 'output' => [ 'shape' => 'DescribeUserResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'GetDashboardEmbedUrl' => [ 'name' => 'GetDashboardEmbedUrl', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url', ], 'input' => [ 'shape' => 'GetDashboardEmbedUrlRequest', ], 'output' => [ 'shape' => 'GetDashboardEmbedUrlResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'DomainNotWhitelistedException', ], [ 'shape' => 'QuickSightUserNotFoundException', ], [ 'shape' => 'IdentityTypeNotSupportedException', ], [ 'shape' => 'SessionLifetimeInMinutesInvalidException', ], [ 'shape' => 'UnsupportedUserEditionException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'ListGroupMemberships' => [ 'name' => 'ListGroupMemberships', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members', ], 'input' => [ 'shape' => 'ListGroupMembershipsRequest', ], 'output' => [ 'shape' => 'ListGroupMembershipsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups', ], 'input' => [ 'shape' => 'ListGroupsRequest', ], 'output' => [ 'shape' => 'ListGroupsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'ListUserGroups' => [ 'name' => 'ListUserGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups', ], 'input' => [ 'shape' => 'ListUserGroupsRequest', ], 'output' => [ 'shape' => 'ListUserGroupsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'RegisterUser' => [ 'name' => 'RegisterUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users', ], 'input' => [ 'shape' => 'RegisterUserRequest', ], 'output' => [ 'shape' => 'RegisterUserResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}', ], 'input' => [ 'shape' => 'UpdateGroupRequest', ], 'output' => [ 'shape' => 'UpdateGroupResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'PreconditionNotMetException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'PUT', 'requestUri' => '/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}', ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'output' => [ 'shape' => 'UpdateUserResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'Arn' => [ 'type' => 'string', ], 'AwsAccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '^[0-9]{12}$', ], 'Boolean' => [ 'type' => 'boolean', ], 'CreateGroupMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'MemberName', 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'MemberName' => [ 'shape' => 'GroupMemberName', 'location' => 'uri', 'locationName' => 'MemberName', ], 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'CreateGroupMembershipResponse' => [ 'type' => 'structure', 'members' => [ 'GroupMember' => [ 'shape' => 'GroupMember', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'CreateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'CreateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DeleteGroupMembershipRequest' => [ 'type' => 'structure', 'required' => [ 'MemberName', 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'MemberName' => [ 'shape' => 'GroupMemberName', 'location' => 'uri', 'locationName' => 'MemberName', ], 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DeleteGroupMembershipResponse' => [ 'type' => 'structure', 'members' => [ 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DeleteGroupResponse' => [ 'type' => 'structure', 'members' => [ 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DeleteUserByPrincipalIdRequest' => [ 'type' => 'structure', 'required' => [ 'PrincipalId', 'AwsAccountId', 'Namespace', ], 'members' => [ 'PrincipalId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'PrincipalId', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DeleteUserByPrincipalIdResponse' => [ 'type' => 'structure', 'members' => [ 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'UserName' => [ 'shape' => 'UserName', 'location' => 'uri', 'locationName' => 'UserName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DeleteUserResponse' => [ 'type' => 'structure', 'members' => [ 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DescribeGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DescribeGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DescribeUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'UserName' => [ 'shape' => 'UserName', 'location' => 'uri', 'locationName' => 'UserName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'DescribeUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'DomainNotWhitelistedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'EmbeddingUrl' => [ 'type' => 'string', 'sensitive' => true, ], 'ExceptionResourceType' => [ 'type' => 'string', 'enum' => [ 'USER', 'GROUP', 'NAMESPACE', 'DATA_SOURCE', 'DATA_SET', 'VPC_CONNECTION', 'INGESTION', ], ], 'GetDashboardEmbedUrlRequest' => [ 'type' => 'structure', 'required' => [ 'AwsAccountId', 'DashboardId', 'IdentityType', ], 'members' => [ 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'DashboardId' => [ 'shape' => 'String', 'location' => 'uri', 'locationName' => 'DashboardId', ], 'IdentityType' => [ 'shape' => 'IdentityType', 'location' => 'querystring', 'locationName' => 'creds-type', ], 'SessionLifetimeInMinutes' => [ 'shape' => 'SessionLifetimeInMinutes', 'location' => 'querystring', 'locationName' => 'session-lifetime', ], 'UndoRedoDisabled' => [ 'shape' => 'boolean', 'location' => 'querystring', 'locationName' => 'undo-redo-disabled', ], 'ResetDisabled' => [ 'shape' => 'boolean', 'location' => 'querystring', 'locationName' => 'reset-disabled', ], ], ], 'GetDashboardEmbedUrlResponse' => [ 'type' => 'structure', 'members' => [ 'EmbedUrl' => [ 'shape' => 'EmbeddingUrl', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], 'RequestId' => [ 'shape' => 'String', ], ], ], 'Group' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'GroupName' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], 'PrincipalId' => [ 'shape' => 'String', ], ], ], 'GroupDescription' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'GroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], ], 'GroupMember' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'MemberName' => [ 'shape' => 'GroupMemberName', ], ], ], 'GroupMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupMember', ], ], 'GroupMemberName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]+', ], 'GroupName' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]+', ], 'IdentityType' => [ 'type' => 'string', 'enum' => [ 'IAM', 'QUICKSIGHT', ], ], 'IdentityTypeNotSupportedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ExceptionResourceType', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ListGroupMembershipsRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, 'location' => 'querystring', 'locationName' => 'max-results', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'ListGroupMembershipsResponse' => [ 'type' => 'structure', 'members' => [ 'GroupMemberList' => [ 'shape' => 'GroupMemberList', ], 'NextToken' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'ListGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'AwsAccountId', 'Namespace', ], 'members' => [ 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, 'location' => 'querystring', 'locationName' => 'max-results', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'ListGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'GroupList' => [ 'shape' => 'GroupList', ], 'NextToken' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'ListUserGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'UserName' => [ 'shape' => 'UserName', 'location' => 'uri', 'locationName' => 'UserName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, 'location' => 'querystring', 'locationName' => 'max-results', ], ], ], 'ListUserGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'GroupList' => [ 'shape' => 'GroupList', ], 'NextToken' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'AwsAccountId', 'Namespace', ], 'members' => [ 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'NextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'next-token', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, 'location' => 'querystring', 'locationName' => 'max-results', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'UserList' => [ 'shape' => 'UserList', ], 'NextToken' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100000, 'min' => 1, ], 'Namespace' => [ 'type' => 'string', 'pattern' => 'default', ], 'PreconditionNotMetException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'QuickSightUserNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'RegisterUserRequest' => [ 'type' => 'structure', 'required' => [ 'IdentityType', 'Email', 'UserRole', 'AwsAccountId', 'Namespace', ], 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'Email' => [ 'shape' => 'String', ], 'UserRole' => [ 'shape' => 'UserRole', ], 'IamArn' => [ 'shape' => 'String', ], 'SessionName' => [ 'shape' => 'RoleSessionName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'RegisterUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], 'UserInvitationUrl' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'ResourceExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ExceptionResourceType', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ExceptionResourceType', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ResourceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'ExceptionResourceType', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, ], 'RoleSessionName' => [ 'type' => 'string', 'max' => 64, 'min' => 2, 'pattern' => '[\\w+=.@-]*', ], 'SessionLifetimeInMinutes' => [ 'type' => 'long', 'max' => 600, 'min' => 15, ], 'SessionLifetimeInMinutesInvalidException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'StatusCode' => [ 'type' => 'integer', ], 'String' => [ 'type' => 'string', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnsupportedUserEditionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'UpdateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'AwsAccountId', 'Namespace', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], ], ], 'UpdateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserName', 'AwsAccountId', 'Namespace', 'Email', 'Role', ], 'members' => [ 'UserName' => [ 'shape' => 'UserName', 'location' => 'uri', 'locationName' => 'UserName', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], 'Email' => [ 'shape' => 'String', ], 'Role' => [ 'shape' => 'UserRole', ], ], ], 'UpdateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], 'RequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'StatusCode', 'location' => 'statusCode', ], ], ], 'User' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'UserName' => [ 'shape' => 'UserName', ], 'Email' => [ 'shape' => 'String', ], 'Role' => [ 'shape' => 'UserRole', ], 'IdentityType' => [ 'shape' => 'IdentityType', ], 'Active' => [ 'shape' => 'Boolean', ], 'PrincipalId' => [ 'shape' => 'String', ], ], ], 'UserList' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'UserName' => [ 'type' => 'string', 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]+', ], 'UserRole' => [ 'type' => 'string', 'enum' => [ 'ADMIN', 'AUTHOR', 'READER', 'RESTRICTED_AUTHOR', 'RESTRICTED_READER', ], ], 'boolean' => [ 'type' => 'boolean', ], ],]; diff --git a/lib/aws/Aws/data/quicksight/2018-04-01/paginators-1.json.php b/lib/aws/Aws/data/quicksight/2018-04-01/paginators-1.json.php new file mode 100644 index 0000000..ea5faec --- /dev/null +++ b/lib/aws/Aws/data/quicksight/2018-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/quicksight/2018-04-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/ram/2018-01-04/api-2.json.php b/lib/aws/Aws/data/ram/2018-01-04/api-2.json.php new file mode 100644 index 0000000..8abd7cb --- /dev/null +++ b/lib/aws/Aws/data/ram/2018-01-04/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ram/2018-01-04/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-01-04', 'endpointPrefix' => 'ram', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'RAM', 'serviceFullName' => 'AWS Resource Access Manager', 'serviceId' => 'RAM', 'signatureVersion' => 'v4', 'uid' => 'ram-2018-01-04', ], 'operations' => [ 'AcceptResourceShareInvitation' => [ 'name' => 'AcceptResourceShareInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/acceptresourceshareinvitation', ], 'input' => [ 'shape' => 'AcceptResourceShareInvitationRequest', ], 'output' => [ 'shape' => 'AcceptResourceShareInvitationResponse', ], 'errors' => [ [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceShareInvitationArnNotFoundException', ], [ 'shape' => 'ResourceShareInvitationAlreadyAcceptedException', ], [ 'shape' => 'ResourceShareInvitationAlreadyRejectedException', ], [ 'shape' => 'ResourceShareInvitationExpiredException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'AssociateResourceShare' => [ 'name' => 'AssociateResourceShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/associateresourceshare', ], 'input' => [ 'shape' => 'AssociateResourceShareRequest', ], 'output' => [ 'shape' => 'AssociateResourceShareResponse', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'ResourceShareLimitExceededException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnknownResourceException', ], ], ], 'CreateResourceShare' => [ 'name' => 'CreateResourceShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/createresourceshare', ], 'input' => [ 'shape' => 'CreateResourceShareRequest', ], 'output' => [ 'shape' => 'CreateResourceShareResponse', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceShareLimitExceededException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteResourceShare' => [ 'name' => 'DeleteResourceShare', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/deleteresourceshare', ], 'input' => [ 'shape' => 'DeleteResourceShareRequest', ], 'output' => [ 'shape' => 'DeleteResourceShareResponse', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DisassociateResourceShare' => [ 'name' => 'DisassociateResourceShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/disassociateresourceshare', ], 'input' => [ 'shape' => 'DisassociateResourceShareRequest', ], 'output' => [ 'shape' => 'DisassociateResourceShareResponse', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'ResourceShareLimitExceededException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidStateTransitionException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnknownResourceException', ], ], ], 'EnableSharingWithAwsOrganization' => [ 'name' => 'EnableSharingWithAwsOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/enablesharingwithawsorganization', ], 'input' => [ 'shape' => 'EnableSharingWithAwsOrganizationRequest', ], 'output' => [ 'shape' => 'EnableSharingWithAwsOrganizationResponse', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetResourcePolicies' => [ 'name' => 'GetResourcePolicies', 'http' => [ 'method' => 'POST', 'requestUri' => '/getresourcepolicies', ], 'input' => [ 'shape' => 'GetResourcePoliciesRequest', ], 'output' => [ 'shape' => 'GetResourcePoliciesResponse', ], 'errors' => [ [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetResourceShareAssociations' => [ 'name' => 'GetResourceShareAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/getresourceshareassociations', ], 'input' => [ 'shape' => 'GetResourceShareAssociationsRequest', ], 'output' => [ 'shape' => 'GetResourceShareAssociationsResponse', ], 'errors' => [ [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetResourceShareInvitations' => [ 'name' => 'GetResourceShareInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/getresourceshareinvitations', ], 'input' => [ 'shape' => 'GetResourceShareInvitationsRequest', ], 'output' => [ 'shape' => 'GetResourceShareInvitationsResponse', ], 'errors' => [ [ 'shape' => 'ResourceShareInvitationArnNotFoundException', ], [ 'shape' => 'InvalidMaxResultsException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetResourceShares' => [ 'name' => 'GetResourceShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/getresourceshares', ], 'input' => [ 'shape' => 'GetResourceSharesRequest', ], 'output' => [ 'shape' => 'GetResourceSharesResponse', ], 'errors' => [ [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListPrincipals' => [ 'name' => 'ListPrincipals', 'http' => [ 'method' => 'POST', 'requestUri' => '/listprincipals', ], 'input' => [ 'shape' => 'ListPrincipalsRequest', ], 'output' => [ 'shape' => 'ListPrincipalsResponse', ], 'errors' => [ [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ListResources' => [ 'name' => 'ListResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/listresources', ], 'input' => [ 'shape' => 'ListResourcesRequest', ], 'output' => [ 'shape' => 'ListResourcesResponse', ], 'errors' => [ [ 'shape' => 'InvalidResourceTypeException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'RejectResourceShareInvitation' => [ 'name' => 'RejectResourceShareInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/rejectresourceshareinvitation', ], 'input' => [ 'shape' => 'RejectResourceShareInvitationRequest', ], 'output' => [ 'shape' => 'RejectResourceShareInvitationResponse', ], 'errors' => [ [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ResourceShareInvitationArnNotFoundException', ], [ 'shape' => 'ResourceShareInvitationAlreadyAcceptedException', ], [ 'shape' => 'ResourceShareInvitationAlreadyRejectedException', ], [ 'shape' => 'ResourceShareInvitationExpiredException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tagresource', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'TagLimitExceededException', ], [ 'shape' => 'ResourceArnNotFoundException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/untagresource', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateResourceShare' => [ 'name' => 'UpdateResourceShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateresourceshare', ], 'input' => [ 'shape' => 'UpdateResourceShareRequest', ], 'output' => [ 'shape' => 'UpdateResourceShareResponse', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'MalformedArnException', ], [ 'shape' => 'InvalidClientTokenException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerInternalException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], ], 'shapes' => [ 'AcceptResourceShareInvitationRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareInvitationArn', ], 'members' => [ 'resourceShareInvitationArn' => [ 'shape' => 'String', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'AcceptResourceShareInvitationResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareInvitation' => [ 'shape' => 'ResourceShareInvitation', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'AssociateResourceShareRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'resourceArns' => [ 'shape' => 'ResourceArnList', ], 'principals' => [ 'shape' => 'PrincipalArnOrIdList', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'AssociateResourceShareResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareAssociations' => [ 'shape' => 'ResourceShareAssociationList', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CreateResourceShareRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'String', ], 'resourceArns' => [ 'shape' => 'ResourceArnList', ], 'principals' => [ 'shape' => 'PrincipalArnOrIdList', ], 'tags' => [ 'shape' => 'TagList', ], 'allowExternalPrincipals' => [ 'shape' => 'Boolean', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'CreateResourceShareResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShare' => [ 'shape' => 'ResourceShare', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteResourceShareRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'resourceShareArn', ], 'clientToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'clientToken', ], ], ], 'DeleteResourceShareResponse' => [ 'type' => 'structure', 'members' => [ 'returnValue' => [ 'shape' => 'Boolean', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'DisassociateResourceShareRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'resourceArns' => [ 'shape' => 'ResourceArnList', ], 'principals' => [ 'shape' => 'PrincipalArnOrIdList', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'DisassociateResourceShareResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareAssociations' => [ 'shape' => 'ResourceShareAssociationList', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'EnableSharingWithAwsOrganizationRequest' => [ 'type' => 'structure', 'members' => [], ], 'EnableSharingWithAwsOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'returnValue' => [ 'shape' => 'Boolean', ], ], ], 'GetResourcePoliciesRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArns', ], 'members' => [ 'resourceArns' => [ 'shape' => 'ResourceArnList', ], 'principal' => [ 'shape' => 'String', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetResourcePoliciesResponse' => [ 'type' => 'structure', 'members' => [ 'policies' => [ 'shape' => 'PolicyList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'GetResourceShareAssociationsRequest' => [ 'type' => 'structure', 'required' => [ 'associationType', ], 'members' => [ 'associationType' => [ 'shape' => 'ResourceShareAssociationType', ], 'resourceShareArns' => [ 'shape' => 'ResourceShareArnList', ], 'resourceArn' => [ 'shape' => 'String', ], 'principal' => [ 'shape' => 'String', ], 'associationStatus' => [ 'shape' => 'ResourceShareAssociationStatus', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetResourceShareAssociationsResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareAssociations' => [ 'shape' => 'ResourceShareAssociationList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'GetResourceShareInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'resourceShareInvitationArns' => [ 'shape' => 'ResourceShareInvitationArnList', ], 'resourceShareArns' => [ 'shape' => 'ResourceShareArnList', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetResourceShareInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareInvitations' => [ 'shape' => 'ResourceShareInvitationList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'GetResourceSharesRequest' => [ 'type' => 'structure', 'required' => [ 'resourceOwner', ], 'members' => [ 'resourceShareArns' => [ 'shape' => 'ResourceShareArnList', ], 'resourceShareStatus' => [ 'shape' => 'ResourceShareStatus', ], 'resourceOwner' => [ 'shape' => 'ResourceOwner', ], 'name' => [ 'shape' => 'String', ], 'tagFilters' => [ 'shape' => 'TagFilters', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetResourceSharesResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShares' => [ 'shape' => 'ResourceShareList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidClientTokenException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidMaxResultsException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidResourceTypeException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidStateTransitionException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListPrincipalsRequest' => [ 'type' => 'structure', 'required' => [ 'resourceOwner', ], 'members' => [ 'resourceOwner' => [ 'shape' => 'ResourceOwner', ], 'resourceArn' => [ 'shape' => 'String', ], 'principals' => [ 'shape' => 'PrincipalArnOrIdList', ], 'resourceType' => [ 'shape' => 'String', ], 'resourceShareArns' => [ 'shape' => 'ResourceShareArnList', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListPrincipalsResponse' => [ 'type' => 'structure', 'members' => [ 'principals' => [ 'shape' => 'PrincipalList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'resourceOwner', ], 'members' => [ 'resourceOwner' => [ 'shape' => 'ResourceOwner', ], 'principal' => [ 'shape' => 'String', ], 'resourceType' => [ 'shape' => 'String', ], 'resourceArns' => [ 'shape' => 'ResourceArnList', ], 'resourceShareArns' => [ 'shape' => 'ResourceShareArnList', ], 'nextToken' => [ 'shape' => 'String', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'resources' => [ 'shape' => 'ResourceList', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'MalformedArnException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 500, 'min' => 1, ], 'MissingRequiredParameterException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Policy' => [ 'type' => 'string', ], 'PolicyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Policy', ], ], 'Principal' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'resourceShareArn' => [ 'shape' => 'String', ], 'creationTime' => [ 'shape' => 'DateTime', ], 'lastUpdatedTime' => [ 'shape' => 'DateTime', ], 'external' => [ 'shape' => 'Boolean', ], ], ], 'PrincipalArnOrIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PrincipalList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Principal', ], ], 'RejectResourceShareInvitationRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareInvitationArn', ], 'members' => [ 'resourceShareInvitationArn' => [ 'shape' => 'String', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'RejectResourceShareInvitationResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShareInvitation' => [ 'shape' => 'ResourceShareInvitation', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'String', ], 'resourceShareArn' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'ResourceStatus', ], 'statusMessage' => [ 'shape' => 'String', ], 'creationTime' => [ 'shape' => 'DateTime', ], 'lastUpdatedTime' => [ 'shape' => 'DateTime', ], ], ], 'ResourceArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceArnNotFoundException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'ResourceOwner' => [ 'type' => 'string', 'enum' => [ 'SELF', 'OTHER-ACCOUNTS', ], ], 'ResourceShare' => [ 'type' => 'structure', 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'owningAccountId' => [ 'shape' => 'String', ], 'allowExternalPrincipals' => [ 'shape' => 'Boolean', ], 'status' => [ 'shape' => 'ResourceShareStatus', ], 'statusMessage' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'TagList', ], 'creationTime' => [ 'shape' => 'DateTime', ], 'lastUpdatedTime' => [ 'shape' => 'DateTime', ], ], ], 'ResourceShareArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceShareAssociation' => [ 'type' => 'structure', 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'associatedEntity' => [ 'shape' => 'String', ], 'associationType' => [ 'shape' => 'ResourceShareAssociationType', ], 'status' => [ 'shape' => 'ResourceShareAssociationStatus', ], 'statusMessage' => [ 'shape' => 'String', ], 'creationTime' => [ 'shape' => 'DateTime', ], 'lastUpdatedTime' => [ 'shape' => 'DateTime', ], 'external' => [ 'shape' => 'Boolean', ], ], ], 'ResourceShareAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceShareAssociation', ], ], 'ResourceShareAssociationStatus' => [ 'type' => 'string', 'enum' => [ 'ASSOCIATING', 'ASSOCIATED', 'FAILED', 'DISASSOCIATING', 'DISASSOCIATED', ], ], 'ResourceShareAssociationType' => [ 'type' => 'string', 'enum' => [ 'PRINCIPAL', 'RESOURCE', ], ], 'ResourceShareInvitation' => [ 'type' => 'structure', 'members' => [ 'resourceShareInvitationArn' => [ 'shape' => 'String', ], 'resourceShareName' => [ 'shape' => 'String', ], 'resourceShareArn' => [ 'shape' => 'String', ], 'senderAccountId' => [ 'shape' => 'String', ], 'receiverAccountId' => [ 'shape' => 'String', ], 'invitationTimestamp' => [ 'shape' => 'DateTime', ], 'status' => [ 'shape' => 'ResourceShareInvitationStatus', ], 'resourceShareAssociations' => [ 'shape' => 'ResourceShareAssociationList', ], ], ], 'ResourceShareInvitationAlreadyAcceptedException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceShareInvitationAlreadyRejectedException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceShareInvitationArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ResourceShareInvitationArnNotFoundException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceShareInvitationExpiredException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceShareInvitationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceShareInvitation', ], ], 'ResourceShareInvitationStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACCEPTED', 'REJECTED', 'EXPIRED', ], ], 'ResourceShareLimitExceededException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceShareList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceShare', ], ], 'ResourceShareStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACTIVE', 'FAILED', 'DELETING', 'DELETED', ], ], 'ResourceStatus' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'ZONAL_RESOURCE_INACCESSIBLE', 'LIMIT_EXCEEDED', 'UNAVAILABLE', ], ], 'ServerInternalException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagFilter' => [ 'type' => 'structure', 'members' => [ 'tagKey' => [ 'shape' => 'TagKey', ], 'tagValues' => [ 'shape' => 'TagValueList', ], ], ], 'TagFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagLimitExceededException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', 'tags', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'TagValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagValue', ], ], 'UnknownResourceException' => [ 'type' => 'structure', 'required' => [ 'message', ], 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', 'tagKeys', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateResourceShareRequest' => [ 'type' => 'structure', 'required' => [ 'resourceShareArn', ], 'members' => [ 'resourceShareArn' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'allowExternalPrincipals' => [ 'shape' => 'Boolean', ], 'clientToken' => [ 'shape' => 'String', ], ], ], 'UpdateResourceShareResponse' => [ 'type' => 'structure', 'members' => [ 'resourceShare' => [ 'shape' => 'ResourceShare', ], 'clientToken' => [ 'shape' => 'String', ], ], ], ],]; diff --git a/lib/aws/Aws/data/ram/2018-01-04/paginators-1.json.php b/lib/aws/Aws/data/ram/2018-01-04/paginators-1.json.php new file mode 100644 index 0000000..a5d82e3 --- /dev/null +++ b/lib/aws/Aws/data/ram/2018-01-04/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ram/2018-01-04/paginators-1.json +return [ 'pagination' => [ 'GetResourcePolicies' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetResourceShareAssociations' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetResourceShareInvitations' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'GetResourceShares' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListPrincipals' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListResources' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/rds-data/2018-08-01/api-2.json.php b/lib/aws/Aws/data/rds-data/2018-08-01/api-2.json.php new file mode 100644 index 0000000..7f8ca0d --- /dev/null +++ b/lib/aws/Aws/data/rds-data/2018-08-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds-data/2018-08-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-08-01', 'endpointPrefix' => 'rds-data', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS RDS DataService', 'serviceId' => 'RDS Data', 'signatureVersion' => 'v4', 'signingName' => 'rds-data', 'uid' => 'rds-data-2018-08-01', ], 'operations' => [ 'ExecuteSql' => [ 'name' => 'ExecuteSql', 'http' => [ 'method' => 'POST', 'requestUri' => '/ExecuteSql', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ExecuteSqlRequest', ], 'output' => [ 'shape' => 'ExecuteSqlResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ServiceUnavailableError', ], ], ], ], 'shapes' => [ 'Boolean' => [ 'type' => 'boolean', 'box' => true, ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'ForbiddenException', 'httpStatusCode' => 403, 'senderFault' => true, ], ], 'Value' => [ 'type' => 'structure', 'members' => [ 'arrayValues' => [ 'shape' => 'ArrayValues', ], 'bigIntValue' => [ 'shape' => 'Long', ], 'bitValue' => [ 'shape' => 'Boolean', ], 'blobValue' => [ 'shape' => 'Blob', ], 'doubleValue' => [ 'shape' => 'Double', ], 'intValue' => [ 'shape' => 'Integer', ], 'isNull' => [ 'shape' => 'Boolean', ], 'realValue' => [ 'shape' => 'Float', ], 'stringValue' => [ 'shape' => 'String', ], 'structValue' => [ 'shape' => 'StructValue', ], ], ], 'SqlStatementResults' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlStatementResult', ], ], 'ColumnMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ColumnMetadata', ], ], 'ResultFrame' => [ 'type' => 'structure', 'members' => [ 'records' => [ 'shape' => 'Records', ], 'resultSetMetadata' => [ 'shape' => 'ResultSetMetadata', ], ], ], 'Long' => [ 'type' => 'long', 'box' => true, ], 'Row' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], 'String' => [ 'type' => 'string', ], 'ArrayValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], 'Float' => [ 'type' => 'float', 'box' => true, ], 'ExecuteSqlResponse' => [ 'type' => 'structure', 'required' => [ 'sqlStatementResults', ], 'members' => [ 'sqlStatementResults' => [ 'shape' => 'SqlStatementResults', ], ], ], 'SqlStatementResult' => [ 'type' => 'structure', 'members' => [ 'numberOfRecordsUpdated' => [ 'shape' => 'Long', ], 'resultFrame' => [ 'shape' => 'ResultFrame', ], ], ], 'ResultSetMetadata' => [ 'type' => 'structure', 'members' => [ 'columnCount' => [ 'shape' => 'Long', ], 'columnMetadata' => [ 'shape' => 'ColumnMetadataList', ], ], ], 'Records' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], ], 'ExecuteSqlRequest' => [ 'type' => 'structure', 'required' => [ 'awsSecretStoreArn', 'dbClusterOrInstanceArn', 'sqlStatements', ], 'members' => [ 'awsSecretStoreArn' => [ 'shape' => 'Arn', ], 'database' => [ 'shape' => 'DbName', ], 'dbClusterOrInstanceArn' => [ 'shape' => 'Arn', ], 'schema' => [ 'shape' => 'DbName', ], 'sqlStatements' => [ 'shape' => 'SqlStatement', ], ], ], 'Arn' => [ 'type' => 'string', 'max' => 1024, ], 'StructValue' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'ArrayValues', ], ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'code' => 'BadRequestException', 'httpStatusCode' => 400, 'senderFault' => true, ], ], 'Blob' => [ 'type' => 'blob', ], 'SqlStatement' => [ 'type' => 'string', 'max' => 65536, ], 'Double' => [ 'type' => 'double', 'box' => true, ], 'ServiceUnavailableError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'code' => 'ServiceUnavailableError', 'httpStatusCode' => 503, 'fault' => true, ], ], 'ColumnMetadata' => [ 'type' => 'structure', 'members' => [ 'arrayBaseColumnType' => [ 'shape' => 'Integer', ], 'isAutoIncrement' => [ 'shape' => 'Boolean', ], 'isCaseSensitive' => [ 'shape' => 'Boolean', ], 'isCurrency' => [ 'shape' => 'Boolean', ], 'isSigned' => [ 'shape' => 'Boolean', ], 'label' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'nullable' => [ 'shape' => 'Integer', ], 'precision' => [ 'shape' => 'Integer', ], 'scale' => [ 'shape' => 'Integer', ], 'schemaName' => [ 'shape' => 'String', ], 'tableName' => [ 'shape' => 'String', ], 'type' => [ 'shape' => 'Integer', ], 'typeName' => [ 'shape' => 'String', ], ], ], 'Integer' => [ 'type' => 'integer', 'box' => true, ], 'DbName' => [ 'type' => 'string', 'max' => 64, ], 'Record' => [ 'type' => 'structure', 'members' => [ 'values' => [ 'shape' => 'Row', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'code' => 'InternalServerErrorException', 'httpStatusCode' => 500, 'fault' => true, ], ], ],]; diff --git a/lib/aws/Aws/data/rds-data/2018-08-01/paginators-1.json.php b/lib/aws/Aws/data/rds-data/2018-08-01/paginators-1.json.php new file mode 100644 index 0000000..2fc7a76 --- /dev/null +++ b/lib/aws/Aws/data/rds-data/2018-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds-data/2018-08-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/rds/2014-09-01/api-2.json.php b/lib/aws/Aws/data/rds/2014-09-01/api-2.json.php new file mode 100644 index 0000000..7d82ced --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-09-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-09-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-09-01', 'endpointPrefix' => 'rds', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon RDS', 'serviceFullName' => 'Amazon Relational Database Service', 'serviceId' => 'RDS', 'signatureVersion' => 'v4', 'uid' => 'rds-2014-09-01', 'xmlNamespace' => 'http://rds.amazonaws.com/doc/2014-09-01/', ], 'operations' => [ 'AddSourceIdentifierToSubscription' => [ 'name' => 'AddSourceIdentifierToSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddSourceIdentifierToSubscriptionMessage', ], 'output' => [ 'shape' => 'AddSourceIdentifierToSubscriptionResult', 'resultWrapper' => 'AddSourceIdentifierToSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'AuthorizeDBSecurityGroupIngress' => [ 'name' => 'AuthorizeDBSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeDBSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'AuthorizeDBSecurityGroupIngressResult', 'resultWrapper' => 'AuthorizeDBSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'AuthorizationAlreadyExistsFault', ], [ 'shape' => 'AuthorizationQuotaExceededFault', ], ], ], 'CopyDBParameterGroup' => [ 'name' => 'CopyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBParameterGroupResult', 'resultWrapper' => 'CopyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], ], ], 'CopyDBSnapshot' => [ 'name' => 'CopyDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBSnapshotMessage', ], 'output' => [ 'shape' => 'CopyDBSnapshotResult', 'resultWrapper' => 'CopyDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], ], ], 'CopyOptionGroup' => [ 'name' => 'CopyOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyOptionGroupMessage', ], 'output' => [ 'shape' => 'CopyOptionGroupResult', 'resultWrapper' => 'CopyOptionGroupResult', ], 'errors' => [ [ 'shape' => 'OptionGroupAlreadyExistsFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'OptionGroupQuotaExceededFault', ], ], ], 'CreateDBInstance' => [ 'name' => 'CreateDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceResult', 'resultWrapper' => 'CreateDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], ], ], 'CreateDBInstanceReadReplica' => [ 'name' => 'CreateDBInstanceReadReplica', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceReadReplicaMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceReadReplicaResult', 'resultWrapper' => 'CreateDBInstanceReadReplicaResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupNotAllowedFault', ], [ 'shape' => 'InvalidDBSubnetGroupFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], ], ], 'CreateDBParameterGroup' => [ 'name' => 'CreateDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBParameterGroupResult', 'resultWrapper' => 'CreateDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBSecurityGroup' => [ 'name' => 'CreateDBSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSecurityGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSecurityGroupResult', 'resultWrapper' => 'CreateDBSecurityGroupResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupAlreadyExistsFault', ], [ 'shape' => 'DBSecurityGroupQuotaExceededFault', ], [ 'shape' => 'DBSecurityGroupNotSupportedFault', ], ], ], 'CreateDBSnapshot' => [ 'name' => 'CreateDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSnapshotMessage', ], 'output' => [ 'shape' => 'CreateDBSnapshotResult', 'resultWrapper' => 'CreateDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], ], ], 'CreateDBSubnetGroup' => [ 'name' => 'CreateDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSubnetGroupResult', 'resultWrapper' => 'CreateDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'DBSubnetGroupQuotaExceededFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'CreateEventSubscription' => [ 'name' => 'CreateEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEventSubscriptionMessage', ], 'output' => [ 'shape' => 'CreateEventSubscriptionResult', 'resultWrapper' => 'CreateEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionAlreadyExistFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'CreateOptionGroup' => [ 'name' => 'CreateOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOptionGroupMessage', ], 'output' => [ 'shape' => 'CreateOptionGroupResult', 'resultWrapper' => 'CreateOptionGroupResult', ], 'errors' => [ [ 'shape' => 'OptionGroupAlreadyExistsFault', ], [ 'shape' => 'OptionGroupQuotaExceededFault', ], ], ], 'DeleteDBInstance' => [ 'name' => 'DeleteDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBInstanceMessage', ], 'output' => [ 'shape' => 'DeleteDBInstanceResult', 'resultWrapper' => 'DeleteDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], ], ], 'DeleteDBParameterGroup' => [ 'name' => 'DeleteDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBSecurityGroup' => [ 'name' => 'DeleteDBSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSecurityGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], ], ], 'DeleteDBSnapshot' => [ 'name' => 'DeleteDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteDBSnapshotResult', 'resultWrapper' => 'DeleteDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'DeleteDBSubnetGroup' => [ 'name' => 'DeleteDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidDBSubnetStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DeleteEventSubscription' => [ 'name' => 'DeleteEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEventSubscriptionMessage', ], 'output' => [ 'shape' => 'DeleteEventSubscriptionResult', 'resultWrapper' => 'DeleteEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'InvalidEventSubscriptionStateFault', ], ], ], 'DeleteOptionGroup' => [ 'name' => 'DeleteOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteOptionGroupMessage', ], 'errors' => [ [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'InvalidOptionGroupStateFault', ], ], ], 'DescribeDBEngineVersions' => [ 'name' => 'DescribeDBEngineVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBEngineVersionsMessage', ], 'output' => [ 'shape' => 'DBEngineVersionMessage', 'resultWrapper' => 'DescribeDBEngineVersionsResult', ], ], 'DescribeDBInstances' => [ 'name' => 'DescribeDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBInstancesMessage', ], 'output' => [ 'shape' => 'DBInstanceMessage', 'resultWrapper' => 'DescribeDBInstancesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBLogFiles' => [ 'name' => 'DescribeDBLogFiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBLogFilesMessage', ], 'output' => [ 'shape' => 'DescribeDBLogFilesResponse', 'resultWrapper' => 'DescribeDBLogFilesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBParameterGroups' => [ 'name' => 'DescribeDBParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBParameterGroupsMessage', 'resultWrapper' => 'DescribeDBParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBParameters' => [ 'name' => 'DescribeDBParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParametersMessage', ], 'output' => [ 'shape' => 'DBParameterGroupDetails', 'resultWrapper' => 'DescribeDBParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBSecurityGroups' => [ 'name' => 'DescribeDBSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSecurityGroupsMessage', ], 'output' => [ 'shape' => 'DBSecurityGroupMessage', 'resultWrapper' => 'DescribeDBSecurityGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], ], ], 'DescribeDBSnapshots' => [ 'name' => 'DescribeDBSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSnapshotsMessage', ], 'output' => [ 'shape' => 'DBSnapshotMessage', 'resultWrapper' => 'DescribeDBSnapshotsResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'DescribeDBSubnetGroups' => [ 'name' => 'DescribeDBSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSubnetGroupsMessage', ], 'output' => [ 'shape' => 'DBSubnetGroupMessage', 'resultWrapper' => 'DescribeDBSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DescribeEngineDefaultParameters' => [ 'name' => 'DescribeEngineDefaultParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultParametersResult', 'resultWrapper' => 'DescribeEngineDefaultParametersResult', ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'EventCategoriesMessage', 'resultWrapper' => 'DescribeEventCategoriesResult', ], ], 'DescribeEventSubscriptions' => [ 'name' => 'DescribeEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventSubscriptionsMessage', ], 'output' => [ 'shape' => 'EventSubscriptionsMessage', 'resultWrapper' => 'DescribeEventSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeOptionGroupOptions' => [ 'name' => 'DescribeOptionGroupOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOptionGroupOptionsMessage', ], 'output' => [ 'shape' => 'OptionGroupOptionsMessage', 'resultWrapper' => 'DescribeOptionGroupOptionsResult', ], ], 'DescribeOptionGroups' => [ 'name' => 'DescribeOptionGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOptionGroupsMessage', ], 'output' => [ 'shape' => 'OptionGroups', 'resultWrapper' => 'DescribeOptionGroupsResult', ], 'errors' => [ [ 'shape' => 'OptionGroupNotFoundFault', ], ], ], 'DescribeOrderableDBInstanceOptions' => [ 'name' => 'DescribeOrderableDBInstanceOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableDBInstanceOptionsMessage', ], 'output' => [ 'shape' => 'OrderableDBInstanceOptionsMessage', 'resultWrapper' => 'DescribeOrderableDBInstanceOptionsResult', ], ], 'DescribeReservedDBInstances' => [ 'name' => 'DescribeReservedDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedDBInstancesMessage', ], 'output' => [ 'shape' => 'ReservedDBInstanceMessage', 'resultWrapper' => 'DescribeReservedDBInstancesResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstanceNotFoundFault', ], ], ], 'DescribeReservedDBInstancesOfferings' => [ 'name' => 'DescribeReservedDBInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedDBInstancesOfferingsMessage', ], 'output' => [ 'shape' => 'ReservedDBInstancesOfferingMessage', 'resultWrapper' => 'DescribeReservedDBInstancesOfferingsResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstancesOfferingNotFoundFault', ], ], ], 'DownloadDBLogFilePortion' => [ 'name' => 'DownloadDBLogFilePortion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DownloadDBLogFilePortionMessage', ], 'output' => [ 'shape' => 'DownloadDBLogFilePortionDetails', 'resultWrapper' => 'DownloadDBLogFilePortionResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBLogFileNotFoundFault', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'ModifyDBInstance' => [ 'name' => 'ModifyDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBInstanceMessage', ], 'output' => [ 'shape' => 'ModifyDBInstanceResult', 'resultWrapper' => 'ModifyDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBUpgradeDependencyFailureFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], ], ], 'ModifyDBParameterGroup' => [ 'name' => 'ModifyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBSubnetGroup' => [ 'name' => 'ModifyDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyDBSubnetGroupResult', 'resultWrapper' => 'ModifyDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'ModifyEventSubscription' => [ 'name' => 'ModifyEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEventSubscriptionMessage', ], 'output' => [ 'shape' => 'ModifyEventSubscriptionResult', 'resultWrapper' => 'ModifyEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], ], ], 'ModifyOptionGroup' => [ 'name' => 'ModifyOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyOptionGroupMessage', ], 'output' => [ 'shape' => 'ModifyOptionGroupResult', 'resultWrapper' => 'ModifyOptionGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidOptionGroupStateFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], ], ], 'PromoteReadReplica' => [ 'name' => 'PromoteReadReplica', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PromoteReadReplicaMessage', ], 'output' => [ 'shape' => 'PromoteReadReplicaResult', 'resultWrapper' => 'PromoteReadReplicaResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'PurchaseReservedDBInstancesOffering' => [ 'name' => 'PurchaseReservedDBInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedDBInstancesOfferingMessage', ], 'output' => [ 'shape' => 'PurchaseReservedDBInstancesOfferingResult', 'resultWrapper' => 'PurchaseReservedDBInstancesOfferingResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstancesOfferingNotFoundFault', ], [ 'shape' => 'ReservedDBInstanceAlreadyExistsFault', ], [ 'shape' => 'ReservedDBInstanceQuotaExceededFault', ], ], ], 'RebootDBInstance' => [ 'name' => 'RebootDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootDBInstanceMessage', ], 'output' => [ 'shape' => 'RebootDBInstanceResult', 'resultWrapper' => 'RebootDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'RemoveSourceIdentifierFromSubscription' => [ 'name' => 'RemoveSourceIdentifierFromSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionMessage', ], 'output' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionResult', 'resultWrapper' => 'RemoveSourceIdentifierFromSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'ResetDBParameterGroup' => [ 'name' => 'ResetDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ResetDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'RestoreDBInstanceFromDBSnapshot' => [ 'name' => 'RestoreDBInstanceFromDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBInstanceFromDBSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreDBInstanceFromDBSnapshotResult', 'resultWrapper' => 'RestoreDBInstanceFromDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], ], ], 'RestoreDBInstanceToPointInTime' => [ 'name' => 'RestoreDBInstanceToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBInstanceToPointInTimeMessage', ], 'output' => [ 'shape' => 'RestoreDBInstanceToPointInTimeResult', 'resultWrapper' => 'RestoreDBInstanceToPointInTimeResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'PointInTimeRestoreNotEnabledFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], ], ], 'RevokeDBSecurityGroupIngress' => [ 'name' => 'RevokeDBSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeDBSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'RevokeDBSecurityGroupIngressResult', 'resultWrapper' => 'RevokeDBSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], ], ], ], 'shapes' => [ 'AddSourceIdentifierToSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'AddSourceIdentifierToSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ApplyMethod' => [ 'type' => 'string', 'enum' => [ 'immediate', 'pending-reboot', ], ], 'AuthorizationAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizeDBSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'AuthorizeDBSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'AvailabilityZone', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'CharacterSet' => [ 'type' => 'structure', 'members' => [ 'CharacterSetName' => [ 'shape' => 'String', ], 'CharacterSetDescription' => [ 'shape' => 'String', ], ], ], 'CopyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBParameterGroupIdentifier', 'TargetDBParameterGroupIdentifier', 'TargetDBParameterGroupDescription', ], 'members' => [ 'SourceDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CopyDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBSnapshotIdentifier', 'TargetDBSnapshotIdentifier', ], 'members' => [ 'SourceDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'TargetDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'CopyOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceOptionGroupIdentifier', 'TargetOptionGroupIdentifier', 'TargetOptionGroupDescription', ], 'members' => [ 'SourceOptionGroupIdentifier' => [ 'shape' => 'String', ], 'TargetOptionGroupIdentifier' => [ 'shape' => 'String', ], 'TargetOptionGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'CreateDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'AllocatedStorage', 'DBInstanceClass', 'Engine', 'MasterUsername', 'MasterUserPassword', ], 'members' => [ 'DBName' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], ], ], 'CreateDBInstanceReadReplicaMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'SourceDBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], ], ], 'CreateDBInstanceReadReplicaResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CreateDBSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', 'DBSecurityGroupDescription', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'CreateDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', 'DBInstanceIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'CreateDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'DBSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'CreateEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SnsTopicArn', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'CreateOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', 'EngineName', 'MajorEngineVersion', 'OptionGroupDescription', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'OptionGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'DBEngineVersion' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'DBEngineDescription' => [ 'shape' => 'String', ], 'DBEngineVersionDescription' => [ 'shape' => 'String', ], 'DefaultCharacterSet' => [ 'shape' => 'CharacterSet', ], 'SupportedCharacterSets' => [ 'shape' => 'SupportedCharacterSetsList', ], ], ], 'DBEngineVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBEngineVersion', 'locationName' => 'DBEngineVersion', ], ], 'DBEngineVersionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBEngineVersions' => [ 'shape' => 'DBEngineVersionList', ], ], ], 'DBInstance' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'DBInstanceStatus' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'Integer', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupMembershipList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupStatusList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'ReadReplicaSourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'ReadReplicaDBInstanceIdentifiers' => [ 'shape' => 'ReadReplicaDBInstanceIdentifierList', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupMemberships' => [ 'shape' => 'OptionGroupMembershipList', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'SecondaryAvailabilityZone' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', ], 'StatusInfos' => [ 'shape' => 'DBInstanceStatusInfoList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstance', 'locationName' => 'DBInstance', ], ], 'DBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBInstances' => [ 'shape' => 'DBInstanceList', ], ], ], 'DBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceStatusInfo' => [ 'type' => 'structure', 'members' => [ 'StatusType' => [ 'shape' => 'String', ], 'Normal' => [ 'shape' => 'Boolean', ], 'Status' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'DBInstanceStatusInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceStatusInfo', 'locationName' => 'DBInstanceStatusInfo', ], ], 'DBLogFileNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBLogFileNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroup', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroupStatus', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupList', ], ], ], 'DBSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', ], 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'EC2SecurityGroups' => [ 'shape' => 'EC2SecurityGroupList', ], 'IPRanges' => [ 'shape' => 'IPRangeList', ], ], 'wrapper' => true, ], 'DBSecurityGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSecurityGroupMembership', 'locationName' => 'DBSecurityGroup', ], ], 'DBSecurityGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroups', ], ], ], 'DBSecurityGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DBSecurityGroupName', ], ], 'DBSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'QuotaExceeded.DBSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSecurityGroup', 'locationName' => 'DBSecurityGroup', ], ], 'DBSnapshot' => [ 'type' => 'structure', 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Engine' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'Integer', ], 'SourceRegion' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSnapshot', 'locationName' => 'DBSnapshot', ], ], 'DBSnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSnapshots' => [ 'shape' => 'DBSnapshotList', ], ], ], 'DBSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], ], 'wrapper' => true, ], 'DBSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupDoesNotCoverEnoughAZs' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupDoesNotCoverEnoughAZs', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSubnetGroups' => [ 'shape' => 'DBSubnetGroups', ], ], ], 'DBSubnetGroupNotAllowedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotAllowedFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSubnetGroup', 'locationName' => 'DBSubnetGroup', ], ], 'DBSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBUpgradeDependencyFailureFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBUpgradeDependencyFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DeleteDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'DeleteDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'DeleteDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'DeleteOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], ], ], 'DescribeDBEngineVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'DefaultOnly' => [ 'shape' => 'Boolean', ], 'ListSupportedCharacterSets' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBLogFilesDetails' => [ 'type' => 'structure', 'members' => [ 'LogFileName' => [ 'shape' => 'String', ], 'LastWritten' => [ 'shape' => 'Long', ], 'Size' => [ 'shape' => 'Long', ], ], ], 'DescribeDBLogFilesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeDBLogFilesDetails', 'locationName' => 'DescribeDBLogFilesDetails', ], ], 'DescribeDBLogFilesMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'FilenameContains' => [ 'shape' => 'String', ], 'FileLastWritten' => [ 'shape' => 'Long', ], 'FileSize' => [ 'shape' => 'Long', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBLogFilesResponse' => [ 'type' => 'structure', 'members' => [ 'DescribeDBLogFiles' => [ 'shape' => 'DescribeDBLogFilesList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSecurityGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeEventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOptionGroupOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'EngineName', ], 'members' => [ 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOptionGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'Engine', ], 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Vpc' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedDBInstancesOfferingsMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Double' => [ 'type' => 'double', ], 'DownloadDBLogFilePortionDetails' => [ 'type' => 'structure', 'members' => [ 'LogFileData' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'AdditionalDataPending' => [ 'shape' => 'Boolean', ], ], ], 'DownloadDBLogFilePortionMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'LogFileName', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'LogFileName' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'NumberOfLines' => [ 'shape' => 'Integer', ], ], ], 'EC2SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'EC2SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2SecurityGroup', 'locationName' => 'EC2SecurityGroup', ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], ], ], 'EngineDefaults' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Date' => [ 'shape' => 'TStamp', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'EventCategory', ], ], 'EventCategoriesMap' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], ], 'wrapper' => true, ], 'EventCategoriesMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoriesMap', 'locationName' => 'EventCategoriesMap', ], ], 'EventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'EventCategoriesMapList' => [ 'shape' => 'EventCategoriesMapList', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventSubscription' => [ 'type' => 'structure', 'members' => [ 'CustomerAwsId' => [ 'shape' => 'String', ], 'CustSubscriptionId' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubscriptionCreationTime' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIdsList' => [ 'shape' => 'SourceIdsList', ], 'EventCategoriesList' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'EventSubscriptionQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'EventSubscriptionQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventSubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', 'locationName' => 'EventSubscription', ], ], 'EventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'EventSubscriptionsList' => [ 'shape' => 'EventSubscriptionsList', ], ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Value', ], ], 'IPRange' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], ], ], 'IPRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPRange', 'locationName' => 'IPRange', ], ], 'InstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBInstanceCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBInstanceCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidDBInstanceStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBInstanceState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidEventSubscriptionStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidEventSubscriptionState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidOptionGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidOptionGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRestoreFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRestoreFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'Long' => [ 'type' => 'long', ], 'ModifyDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AllowMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'NewDBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], ], ], 'ModifyDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ModifyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'Parameters', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'ModifyEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'ModifyOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'OptionsToInclude' => [ 'shape' => 'OptionConfigurationList', ], 'OptionsToRemove' => [ 'shape' => 'OptionNamesList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], ], ], 'ModifyOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'Option' => [ 'type' => 'structure', 'members' => [ 'OptionName' => [ 'shape' => 'String', ], 'OptionDescription' => [ 'shape' => 'String', ], 'Persistent' => [ 'shape' => 'Boolean', ], 'Permanent' => [ 'shape' => 'Boolean', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'OptionSettings' => [ 'shape' => 'OptionSettingConfigurationList', ], 'DBSecurityGroupMemberships' => [ 'shape' => 'DBSecurityGroupMembershipList', ], 'VpcSecurityGroupMemberships' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], ], ], 'OptionConfiguration' => [ 'type' => 'structure', 'required' => [ 'OptionName', ], 'members' => [ 'OptionName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSecurityGroupMemberships' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupMemberships' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'OptionSettings' => [ 'shape' => 'OptionSettingsList', ], ], ], 'OptionConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionConfiguration', 'locationName' => 'OptionConfiguration', ], ], 'OptionGroup' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'OptionGroupDescription' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'OptionsList', ], 'AllowsVpcAndNonVpcInstanceMemberships' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'OptionGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroupMembership' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'OptionGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupMembership', 'locationName' => 'OptionGroupMembership', ], ], 'OptionGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroupOption' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'MinimumRequiredMinorEngineVersion' => [ 'shape' => 'String', ], 'PortRequired' => [ 'shape' => 'Boolean', ], 'DefaultPort' => [ 'shape' => 'IntegerOptional', ], 'OptionsDependedOn' => [ 'shape' => 'OptionsDependedOn', ], 'Persistent' => [ 'shape' => 'Boolean', ], 'Permanent' => [ 'shape' => 'Boolean', ], 'OptionGroupOptionSettings' => [ 'shape' => 'OptionGroupOptionSettingsList', ], ], ], 'OptionGroupOptionSetting' => [ 'type' => 'structure', 'members' => [ 'SettingName' => [ 'shape' => 'String', ], 'SettingDescription' => [ 'shape' => 'String', ], 'DefaultValue' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], ], ], 'OptionGroupOptionSettingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupOptionSetting', 'locationName' => 'OptionGroupOptionSetting', ], ], 'OptionGroupOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupOption', 'locationName' => 'OptionGroupOption', ], ], 'OptionGroupOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OptionGroupOptions' => [ 'shape' => 'OptionGroupOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'OptionGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroups' => [ 'type' => 'structure', 'members' => [ 'OptionGroupsList' => [ 'shape' => 'OptionGroupsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'OptionGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroup', 'locationName' => 'OptionGroup', ], ], 'OptionNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'OptionSetting' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], 'DefaultValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'IsCollection' => [ 'shape' => 'Boolean', ], ], ], 'OptionSettingConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionSetting', 'locationName' => 'OptionSetting', ], ], 'OptionSettingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionSetting', 'locationName' => 'OptionSetting', ], ], 'OptionsDependedOn' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'OptionName', ], ], 'OptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Option', 'locationName' => 'Option', ], ], 'OrderableDBInstanceOption' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'MultiAZCapable' => [ 'shape' => 'Boolean', ], 'ReadReplicaCapable' => [ 'shape' => 'Boolean', ], 'Vpc' => [ 'shape' => 'Boolean', ], 'StorageType' => [ 'shape' => 'String', ], 'SupportsIops' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'OrderableDBInstanceOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableDBInstanceOption', 'locationName' => 'OrderableDBInstanceOption', ], ], 'OrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OrderableDBInstanceOptions' => [ 'shape' => 'OrderableDBInstanceOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'ApplyMethod' => [ 'shape' => 'ApplyMethod', ], ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'DBInstanceClass' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], ], ], 'PointInTimeRestoreNotEnabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PointInTimeRestoreNotEnabled', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PromoteReadReplicaMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], ], ], 'PromoteReadReplicaResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ProvisionedIopsNotAvailableInAZFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ProvisionedIopsNotAvailableInAZFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PurchaseReservedDBInstancesOfferingMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedDBInstancesOfferingId', ], 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'DBInstanceCount' => [ 'shape' => 'IntegerOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'PurchaseReservedDBInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstance' => [ 'shape' => 'ReservedDBInstance', ], ], ], 'ReadReplicaDBInstanceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaDBInstanceIdentifier', ], ], 'RebootDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'RecurringChargeAmount' => [ 'shape' => 'Double', ], 'RecurringChargeFrequency' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'RecurringChargeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'RecurringCharge', ], ], 'RemoveSourceIdentifierFromSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'RemoveSourceIdentifierFromSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'ReservedDBInstance' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'DBInstanceCount' => [ 'shape' => 'Integer', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'State' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], 'wrapper' => true, ], 'ReservedDBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceAlreadyExists', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedDBInstance', 'locationName' => 'ReservedDBInstance', ], ], 'ReservedDBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedDBInstances' => [ 'shape' => 'ReservedDBInstanceList', ], ], ], 'ReservedDBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], 'wrapper' => true, ], 'ReservedDBInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedDBInstancesOffering', 'locationName' => 'ReservedDBInstancesOffering', ], ], 'ReservedDBInstancesOfferingMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferings' => [ 'shape' => 'ReservedDBInstancesOfferingList', ], ], ], 'ReservedDBInstancesOfferingNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstancesOfferingNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResetDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'RestoreDBInstanceFromDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBSnapshotIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], ], ], 'RestoreDBInstanceFromDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RestoreDBInstanceToPointInTimeMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBInstanceIdentifier', 'TargetDBInstanceIdentifier', ], 'members' => [ 'SourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'TargetDBInstanceIdentifier' => [ 'shape' => 'String', ], 'RestoreTime' => [ 'shape' => 'TStamp', ], 'UseLatestRestorableTime' => [ 'shape' => 'Boolean', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], ], ], 'RestoreDBInstanceToPointInTimeResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RevokeDBSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'RevokeDBSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'SNSInvalidTopicFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSInvalidTopic', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSNoAuthorizationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSNoAuthorization', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSTopicArnNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSTopicArnNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SourceId', ], ], 'SourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'db-instance', 'db-parameter-group', 'db-security-group', 'db-snapshot', ], ], 'StorageQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'StorageTypeNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageTypeNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetAlreadyInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'SubscriptionAlreadyExistFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionAlreadyExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionCategoryNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionCategoryNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SupportedCharacterSetsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CharacterSet', 'locationName' => 'CharacterSet', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagListMessage' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcSecurityGroupId', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', 'locationName' => 'VpcSecurityGroupMembership', ], ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-09-01/paginators-1.json.php b/lib/aws/Aws/data/rds/2014-09-01/paginators-1.json.php new file mode 100644 index 0000000..3d123f1 --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-09-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-09-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/rds/2014-09-01/smoke.json.php b/lib/aws/Aws/data/rds/2014-09-01/smoke.json.php new file mode 100644 index 0000000..871e167 --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-09-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-09-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeDBEngineVersions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeDBInstances', 'input' => [ 'DBInstanceIdentifier' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-10-31/api-2.json.php b/lib/aws/Aws/data/rds/2014-10-31/api-2.json.php new file mode 100644 index 0000000..4988aea --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-10-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-10-31', 'endpointPrefix' => 'rds', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon RDS', 'serviceFullName' => 'Amazon Relational Database Service', 'serviceId' => 'RDS', 'signatureVersion' => 'v4', 'uid' => 'rds-2014-10-31', 'xmlNamespace' => 'http://rds.amazonaws.com/doc/2014-10-31/', ], 'operations' => [ 'AddRoleToDBCluster' => [ 'name' => 'AddRoleToDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddRoleToDBClusterMessage', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterRoleAlreadyExistsFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterRoleQuotaExceededFault', ], ], ], 'AddRoleToDBInstance' => [ 'name' => 'AddRoleToDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddRoleToDBInstanceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBInstanceRoleAlreadyExistsFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceRoleQuotaExceededFault', ], ], ], 'AddSourceIdentifierToSubscription' => [ 'name' => 'AddSourceIdentifierToSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddSourceIdentifierToSubscriptionMessage', ], 'output' => [ 'shape' => 'AddSourceIdentifierToSubscriptionResult', 'resultWrapper' => 'AddSourceIdentifierToSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ApplyPendingMaintenanceAction' => [ 'name' => 'ApplyPendingMaintenanceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ApplyPendingMaintenanceActionMessage', ], 'output' => [ 'shape' => 'ApplyPendingMaintenanceActionResult', 'resultWrapper' => 'ApplyPendingMaintenanceActionResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'AuthorizeDBSecurityGroupIngress' => [ 'name' => 'AuthorizeDBSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeDBSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'AuthorizeDBSecurityGroupIngressResult', 'resultWrapper' => 'AuthorizeDBSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'AuthorizationAlreadyExistsFault', ], [ 'shape' => 'AuthorizationQuotaExceededFault', ], ], ], 'BacktrackDBCluster' => [ 'name' => 'BacktrackDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BacktrackDBClusterMessage', ], 'output' => [ 'shape' => 'DBClusterBacktrack', 'resultWrapper' => 'BacktrackDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'CopyDBClusterParameterGroup' => [ 'name' => 'CopyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBClusterParameterGroupResult', 'resultWrapper' => 'CopyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CopyDBClusterSnapshot' => [ 'name' => 'CopyDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CopyDBClusterSnapshotResult', 'resultWrapper' => 'CopyDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CopyDBParameterGroup' => [ 'name' => 'CopyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CopyDBParameterGroupResult', 'resultWrapper' => 'CopyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], ], ], 'CopyDBSnapshot' => [ 'name' => 'CopyDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyDBSnapshotMessage', ], 'output' => [ 'shape' => 'CopyDBSnapshotResult', 'resultWrapper' => 'CopyDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CopyOptionGroup' => [ 'name' => 'CopyOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyOptionGroupMessage', ], 'output' => [ 'shape' => 'CopyOptionGroupResult', 'resultWrapper' => 'CopyOptionGroupResult', ], 'errors' => [ [ 'shape' => 'OptionGroupAlreadyExistsFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'OptionGroupQuotaExceededFault', ], ], ], 'CreateDBCluster' => [ 'name' => 'CreateDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterMessage', ], 'output' => [ 'shape' => 'CreateDBClusterResult', 'resultWrapper' => 'CreateDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'GlobalClusterNotFoundFault', ], [ 'shape' => 'InvalidGlobalClusterStateFault', ], ], ], 'CreateDBClusterEndpoint' => [ 'name' => 'CreateDBClusterEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterEndpointMessage', ], 'output' => [ 'shape' => 'DBClusterEndpoint', 'resultWrapper' => 'CreateDBClusterEndpointResult', ], 'errors' => [ [ 'shape' => 'DBClusterEndpointQuotaExceededFault', ], [ 'shape' => 'DBClusterEndpointAlreadyExistsFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'CreateDBClusterParameterGroup' => [ 'name' => 'CreateDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBClusterParameterGroupResult', 'resultWrapper' => 'CreateDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBClusterSnapshot' => [ 'name' => 'CreateDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CreateDBClusterSnapshotResult', 'resultWrapper' => 'CreateDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'CreateDBInstance' => [ 'name' => 'CreateDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceResult', 'resultWrapper' => 'CreateDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DomainNotFoundFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], ], ], 'CreateDBInstanceReadReplica' => [ 'name' => 'CreateDBInstanceReadReplica', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBInstanceReadReplicaMessage', ], 'output' => [ 'shape' => 'CreateDBInstanceReadReplicaResult', 'resultWrapper' => 'CreateDBInstanceReadReplicaResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupNotAllowedFault', ], [ 'shape' => 'InvalidDBSubnetGroupFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'CreateDBParameterGroup' => [ 'name' => 'CreateDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateDBParameterGroupResult', 'resultWrapper' => 'CreateDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupQuotaExceededFault', ], [ 'shape' => 'DBParameterGroupAlreadyExistsFault', ], ], ], 'CreateDBSecurityGroup' => [ 'name' => 'CreateDBSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSecurityGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSecurityGroupResult', 'resultWrapper' => 'CreateDBSecurityGroupResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupAlreadyExistsFault', ], [ 'shape' => 'DBSecurityGroupQuotaExceededFault', ], [ 'shape' => 'DBSecurityGroupNotSupportedFault', ], ], ], 'CreateDBSnapshot' => [ 'name' => 'CreateDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSnapshotMessage', ], 'output' => [ 'shape' => 'CreateDBSnapshotResult', 'resultWrapper' => 'CreateDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], ], ], 'CreateDBSubnetGroup' => [ 'name' => 'CreateDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateDBSubnetGroupResult', 'resultWrapper' => 'CreateDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'DBSubnetGroupQuotaExceededFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'CreateEventSubscription' => [ 'name' => 'CreateEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEventSubscriptionMessage', ], 'output' => [ 'shape' => 'CreateEventSubscriptionResult', 'resultWrapper' => 'CreateEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionAlreadyExistFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'CreateGlobalCluster' => [ 'name' => 'CreateGlobalCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGlobalClusterMessage', ], 'output' => [ 'shape' => 'CreateGlobalClusterResult', 'resultWrapper' => 'CreateGlobalClusterResult', ], 'errors' => [ [ 'shape' => 'GlobalClusterAlreadyExistsFault', ], [ 'shape' => 'GlobalClusterQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'CreateOptionGroup' => [ 'name' => 'CreateOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateOptionGroupMessage', ], 'output' => [ 'shape' => 'CreateOptionGroupResult', 'resultWrapper' => 'CreateOptionGroupResult', ], 'errors' => [ [ 'shape' => 'OptionGroupAlreadyExistsFault', ], [ 'shape' => 'OptionGroupQuotaExceededFault', ], ], ], 'DeleteDBCluster' => [ 'name' => 'DeleteDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterResult', 'resultWrapper' => 'DeleteDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], ], ], 'DeleteDBClusterEndpoint' => [ 'name' => 'DeleteDBClusterEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterEndpointMessage', ], 'output' => [ 'shape' => 'DBClusterEndpoint', 'resultWrapper' => 'DeleteDBClusterEndpointResult', ], 'errors' => [ [ 'shape' => 'InvalidDBClusterEndpointStateFault', ], [ 'shape' => 'DBClusterEndpointNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'DeleteDBClusterParameterGroup' => [ 'name' => 'DeleteDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBClusterSnapshot' => [ 'name' => 'DeleteDBClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBClusterSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteDBClusterSnapshotResult', 'resultWrapper' => 'DeleteDBClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DeleteDBInstance' => [ 'name' => 'DeleteDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBInstanceMessage', ], 'output' => [ 'shape' => 'DeleteDBInstanceResult', 'resultWrapper' => 'DeleteDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'DBInstanceAutomatedBackupQuotaExceededFault', ], ], ], 'DeleteDBInstanceAutomatedBackup' => [ 'name' => 'DeleteDBInstanceAutomatedBackup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBInstanceAutomatedBackupMessage', ], 'output' => [ 'shape' => 'DeleteDBInstanceAutomatedBackupResult', 'resultWrapper' => 'DeleteDBInstanceAutomatedBackupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceAutomatedBackupStateFault', ], [ 'shape' => 'DBInstanceAutomatedBackupNotFoundFault', ], ], ], 'DeleteDBParameterGroup' => [ 'name' => 'DeleteDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DeleteDBSecurityGroup' => [ 'name' => 'DeleteDBSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSecurityGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], ], ], 'DeleteDBSnapshot' => [ 'name' => 'DeleteDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteDBSnapshotResult', 'resultWrapper' => 'DeleteDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'DeleteDBSubnetGroup' => [ 'name' => 'DeleteDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDBSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidDBSubnetStateFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DeleteEventSubscription' => [ 'name' => 'DeleteEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEventSubscriptionMessage', ], 'output' => [ 'shape' => 'DeleteEventSubscriptionResult', 'resultWrapper' => 'DeleteEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'InvalidEventSubscriptionStateFault', ], ], ], 'DeleteGlobalCluster' => [ 'name' => 'DeleteGlobalCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGlobalClusterMessage', ], 'output' => [ 'shape' => 'DeleteGlobalClusterResult', 'resultWrapper' => 'DeleteGlobalClusterResult', ], 'errors' => [ [ 'shape' => 'GlobalClusterNotFoundFault', ], [ 'shape' => 'InvalidGlobalClusterStateFault', ], ], ], 'DeleteOptionGroup' => [ 'name' => 'DeleteOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteOptionGroupMessage', ], 'errors' => [ [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'InvalidOptionGroupStateFault', ], ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesMessage', ], 'output' => [ 'shape' => 'AccountAttributesMessage', 'resultWrapper' => 'DescribeAccountAttributesResult', ], ], 'DescribeCertificates' => [ 'name' => 'DescribeCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCertificatesMessage', ], 'output' => [ 'shape' => 'CertificateMessage', 'resultWrapper' => 'DescribeCertificatesResult', ], 'errors' => [ [ 'shape' => 'CertificateNotFoundFault', ], ], ], 'DescribeDBClusterBacktracks' => [ 'name' => 'DescribeDBClusterBacktracks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterBacktracksMessage', ], 'output' => [ 'shape' => 'DBClusterBacktrackMessage', 'resultWrapper' => 'DescribeDBClusterBacktracksResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterBacktrackNotFoundFault', ], ], ], 'DescribeDBClusterEndpoints' => [ 'name' => 'DescribeDBClusterEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterEndpointsMessage', ], 'output' => [ 'shape' => 'DBClusterEndpointMessage', 'resultWrapper' => 'DescribeDBClusterEndpointsResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'DescribeDBClusterParameterGroups' => [ 'name' => 'DescribeDBClusterParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupsMessage', 'resultWrapper' => 'DescribeDBClusterParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterParameters' => [ 'name' => 'DescribeDBClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterParametersMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupDetails', 'resultWrapper' => 'DescribeDBClusterParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBClusterSnapshotAttributes' => [ 'name' => 'DescribeDBClusterSnapshotAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesMessage', ], 'output' => [ 'shape' => 'DescribeDBClusterSnapshotAttributesResult', 'resultWrapper' => 'DescribeDBClusterSnapshotAttributesResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusterSnapshots' => [ 'name' => 'DescribeDBClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClusterSnapshotsMessage', ], 'output' => [ 'shape' => 'DBClusterSnapshotMessage', 'resultWrapper' => 'DescribeDBClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], ], ], 'DescribeDBClusters' => [ 'name' => 'DescribeDBClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBClustersMessage', ], 'output' => [ 'shape' => 'DBClusterMessage', 'resultWrapper' => 'DescribeDBClustersResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'DescribeDBEngineVersions' => [ 'name' => 'DescribeDBEngineVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBEngineVersionsMessage', ], 'output' => [ 'shape' => 'DBEngineVersionMessage', 'resultWrapper' => 'DescribeDBEngineVersionsResult', ], ], 'DescribeDBInstanceAutomatedBackups' => [ 'name' => 'DescribeDBInstanceAutomatedBackups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBInstanceAutomatedBackupsMessage', ], 'output' => [ 'shape' => 'DBInstanceAutomatedBackupMessage', 'resultWrapper' => 'DescribeDBInstanceAutomatedBackupsResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAutomatedBackupNotFoundFault', ], ], ], 'DescribeDBInstances' => [ 'name' => 'DescribeDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBInstancesMessage', ], 'output' => [ 'shape' => 'DBInstanceMessage', 'resultWrapper' => 'DescribeDBInstancesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBLogFiles' => [ 'name' => 'DescribeDBLogFiles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBLogFilesMessage', ], 'output' => [ 'shape' => 'DescribeDBLogFilesResponse', 'resultWrapper' => 'DescribeDBLogFilesResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'DescribeDBParameterGroups' => [ 'name' => 'DescribeDBParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParameterGroupsMessage', ], 'output' => [ 'shape' => 'DBParameterGroupsMessage', 'resultWrapper' => 'DescribeDBParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBParameters' => [ 'name' => 'DescribeDBParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBParametersMessage', ], 'output' => [ 'shape' => 'DBParameterGroupDetails', 'resultWrapper' => 'DescribeDBParametersResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'DescribeDBSecurityGroups' => [ 'name' => 'DescribeDBSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSecurityGroupsMessage', ], 'output' => [ 'shape' => 'DBSecurityGroupMessage', 'resultWrapper' => 'DescribeDBSecurityGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], ], ], 'DescribeDBSnapshotAttributes' => [ 'name' => 'DescribeDBSnapshotAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSnapshotAttributesMessage', ], 'output' => [ 'shape' => 'DescribeDBSnapshotAttributesResult', 'resultWrapper' => 'DescribeDBSnapshotAttributesResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'DescribeDBSnapshots' => [ 'name' => 'DescribeDBSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSnapshotsMessage', ], 'output' => [ 'shape' => 'DBSnapshotMessage', 'resultWrapper' => 'DescribeDBSnapshotsResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'DescribeDBSubnetGroups' => [ 'name' => 'DescribeDBSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDBSubnetGroupsMessage', ], 'output' => [ 'shape' => 'DBSubnetGroupMessage', 'resultWrapper' => 'DescribeDBSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], ], ], 'DescribeEngineDefaultClusterParameters' => [ 'name' => 'DescribeEngineDefaultClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultClusterParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultClusterParametersResult', 'resultWrapper' => 'DescribeEngineDefaultClusterParametersResult', ], ], 'DescribeEngineDefaultParameters' => [ 'name' => 'DescribeEngineDefaultParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEngineDefaultParametersMessage', ], 'output' => [ 'shape' => 'DescribeEngineDefaultParametersResult', 'resultWrapper' => 'DescribeEngineDefaultParametersResult', ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'EventCategoriesMessage', 'resultWrapper' => 'DescribeEventCategoriesResult', ], ], 'DescribeEventSubscriptions' => [ 'name' => 'DescribeEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventSubscriptionsMessage', ], 'output' => [ 'shape' => 'EventSubscriptionsMessage', 'resultWrapper' => 'DescribeEventSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeGlobalClusters' => [ 'name' => 'DescribeGlobalClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGlobalClustersMessage', ], 'output' => [ 'shape' => 'GlobalClustersMessage', 'resultWrapper' => 'DescribeGlobalClustersResult', ], 'errors' => [ [ 'shape' => 'GlobalClusterNotFoundFault', ], ], ], 'DescribeOptionGroupOptions' => [ 'name' => 'DescribeOptionGroupOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOptionGroupOptionsMessage', ], 'output' => [ 'shape' => 'OptionGroupOptionsMessage', 'resultWrapper' => 'DescribeOptionGroupOptionsResult', ], ], 'DescribeOptionGroups' => [ 'name' => 'DescribeOptionGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOptionGroupsMessage', ], 'output' => [ 'shape' => 'OptionGroups', 'resultWrapper' => 'DescribeOptionGroupsResult', ], 'errors' => [ [ 'shape' => 'OptionGroupNotFoundFault', ], ], ], 'DescribeOrderableDBInstanceOptions' => [ 'name' => 'DescribeOrderableDBInstanceOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableDBInstanceOptionsMessage', ], 'output' => [ 'shape' => 'OrderableDBInstanceOptionsMessage', 'resultWrapper' => 'DescribeOrderableDBInstanceOptionsResult', ], ], 'DescribePendingMaintenanceActions' => [ 'name' => 'DescribePendingMaintenanceActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePendingMaintenanceActionsMessage', ], 'output' => [ 'shape' => 'PendingMaintenanceActionsMessage', 'resultWrapper' => 'DescribePendingMaintenanceActionsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], ], ], 'DescribeReservedDBInstances' => [ 'name' => 'DescribeReservedDBInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedDBInstancesMessage', ], 'output' => [ 'shape' => 'ReservedDBInstanceMessage', 'resultWrapper' => 'DescribeReservedDBInstancesResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstanceNotFoundFault', ], ], ], 'DescribeReservedDBInstancesOfferings' => [ 'name' => 'DescribeReservedDBInstancesOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedDBInstancesOfferingsMessage', ], 'output' => [ 'shape' => 'ReservedDBInstancesOfferingMessage', 'resultWrapper' => 'DescribeReservedDBInstancesOfferingsResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstancesOfferingNotFoundFault', ], ], ], 'DescribeSourceRegions' => [ 'name' => 'DescribeSourceRegions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSourceRegionsMessage', ], 'output' => [ 'shape' => 'SourceRegionMessage', 'resultWrapper' => 'DescribeSourceRegionsResult', ], ], 'DescribeValidDBInstanceModifications' => [ 'name' => 'DescribeValidDBInstanceModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeValidDBInstanceModificationsMessage', ], 'output' => [ 'shape' => 'DescribeValidDBInstanceModificationsResult', 'resultWrapper' => 'DescribeValidDBInstanceModificationsResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'DownloadDBLogFilePortion' => [ 'name' => 'DownloadDBLogFilePortion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DownloadDBLogFilePortionMessage', ], 'output' => [ 'shape' => 'DownloadDBLogFilePortionDetails', 'resultWrapper' => 'DownloadDBLogFilePortionResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBLogFileNotFoundFault', ], ], ], 'FailoverDBCluster' => [ 'name' => 'FailoverDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'FailoverDBClusterMessage', ], 'output' => [ 'shape' => 'FailoverDBClusterResult', 'resultWrapper' => 'FailoverDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceMessage', ], 'output' => [ 'shape' => 'TagListMessage', 'resultWrapper' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ModifyCurrentDBClusterCapacity' => [ 'name' => 'ModifyCurrentDBClusterCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyCurrentDBClusterCapacityMessage', ], 'output' => [ 'shape' => 'DBClusterCapacityInfo', 'resultWrapper' => 'ModifyCurrentDBClusterCapacityResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBClusterCapacityFault', ], ], ], 'ModifyDBCluster' => [ 'name' => 'ModifyDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterResult', 'resultWrapper' => 'ModifyDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBClusterAlreadyExistsFault', ], ], ], 'ModifyDBClusterEndpoint' => [ 'name' => 'ModifyDBClusterEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterEndpointMessage', ], 'output' => [ 'shape' => 'DBClusterEndpoint', 'resultWrapper' => 'ModifyDBClusterEndpointResult', ], 'errors' => [ [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBClusterEndpointStateFault', ], [ 'shape' => 'DBClusterEndpointNotFoundFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'ModifyDBClusterParameterGroup' => [ 'name' => 'ModifyDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBClusterSnapshotAttribute' => [ 'name' => 'ModifyDBClusterSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeMessage', ], 'output' => [ 'shape' => 'ModifyDBClusterSnapshotAttributeResult', 'resultWrapper' => 'ModifyDBClusterSnapshotAttributeResult', ], 'errors' => [ [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'SharedSnapshotQuotaExceededFault', ], ], ], 'ModifyDBInstance' => [ 'name' => 'ModifyDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBInstanceMessage', ], 'output' => [ 'shape' => 'ModifyDBInstanceResult', 'resultWrapper' => 'ModifyDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'DBUpgradeDependencyFailureFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'CertificateNotFoundFault', ], [ 'shape' => 'DomainNotFoundFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], ], ], 'ModifyDBParameterGroup' => [ 'name' => 'ModifyDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ModifyDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidDBParameterGroupStateFault', ], ], ], 'ModifyDBSnapshot' => [ 'name' => 'ModifyDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSnapshotMessage', ], 'output' => [ 'shape' => 'ModifyDBSnapshotResult', 'resultWrapper' => 'ModifyDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotNotFoundFault', ], ], ], 'ModifyDBSnapshotAttribute' => [ 'name' => 'ModifyDBSnapshotAttribute', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSnapshotAttributeMessage', ], 'output' => [ 'shape' => 'ModifyDBSnapshotAttributeResult', 'resultWrapper' => 'ModifyDBSnapshotAttributeResult', ], 'errors' => [ [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'SharedSnapshotQuotaExceededFault', ], ], ], 'ModifyDBSubnetGroup' => [ 'name' => 'ModifyDBSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDBSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyDBSubnetGroupResult', 'resultWrapper' => 'ModifyDBSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], ], ], 'ModifyEventSubscription' => [ 'name' => 'ModifyEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEventSubscriptionMessage', ], 'output' => [ 'shape' => 'ModifyEventSubscriptionResult', 'resultWrapper' => 'ModifyEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], ], ], 'ModifyGlobalCluster' => [ 'name' => 'ModifyGlobalCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyGlobalClusterMessage', ], 'output' => [ 'shape' => 'ModifyGlobalClusterResult', 'resultWrapper' => 'ModifyGlobalClusterResult', ], 'errors' => [ [ 'shape' => 'GlobalClusterNotFoundFault', ], [ 'shape' => 'InvalidGlobalClusterStateFault', ], ], ], 'ModifyOptionGroup' => [ 'name' => 'ModifyOptionGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyOptionGroupMessage', ], 'output' => [ 'shape' => 'ModifyOptionGroupResult', 'resultWrapper' => 'ModifyOptionGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidOptionGroupStateFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], ], ], 'PromoteReadReplica' => [ 'name' => 'PromoteReadReplica', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PromoteReadReplicaMessage', ], 'output' => [ 'shape' => 'PromoteReadReplicaResult', 'resultWrapper' => 'PromoteReadReplicaResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'PromoteReadReplicaDBCluster' => [ 'name' => 'PromoteReadReplicaDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PromoteReadReplicaDBClusterMessage', ], 'output' => [ 'shape' => 'PromoteReadReplicaDBClusterResult', 'resultWrapper' => 'PromoteReadReplicaDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'PurchaseReservedDBInstancesOffering' => [ 'name' => 'PurchaseReservedDBInstancesOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedDBInstancesOfferingMessage', ], 'output' => [ 'shape' => 'PurchaseReservedDBInstancesOfferingResult', 'resultWrapper' => 'PurchaseReservedDBInstancesOfferingResult', ], 'errors' => [ [ 'shape' => 'ReservedDBInstancesOfferingNotFoundFault', ], [ 'shape' => 'ReservedDBInstanceAlreadyExistsFault', ], [ 'shape' => 'ReservedDBInstanceQuotaExceededFault', ], ], ], 'RebootDBInstance' => [ 'name' => 'RebootDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootDBInstanceMessage', ], 'output' => [ 'shape' => 'RebootDBInstanceResult', 'resultWrapper' => 'RebootDBInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], ], ], 'RemoveFromGlobalCluster' => [ 'name' => 'RemoveFromGlobalCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveFromGlobalClusterMessage', ], 'output' => [ 'shape' => 'RemoveFromGlobalClusterResult', 'resultWrapper' => 'RemoveFromGlobalClusterResult', ], 'errors' => [ [ 'shape' => 'GlobalClusterNotFoundFault', ], [ 'shape' => 'InvalidGlobalClusterStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'RemoveRoleFromDBCluster' => [ 'name' => 'RemoveRoleFromDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveRoleFromDBClusterMessage', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterRoleNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], 'RemoveRoleFromDBInstance' => [ 'name' => 'RemoveRoleFromDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveRoleFromDBInstanceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBInstanceRoleNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'RemoveSourceIdentifierFromSubscription' => [ 'name' => 'RemoveSourceIdentifierFromSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionMessage', ], 'output' => [ 'shape' => 'RemoveSourceIdentifierFromSubscriptionResult', 'resultWrapper' => 'RemoveSourceIdentifierFromSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceMessage', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], ], ], 'ResetDBClusterParameterGroup' => [ 'name' => 'ResetDBClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'DBClusterParameterGroupNameMessage', 'resultWrapper' => 'ResetDBClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'ResetDBParameterGroup' => [ 'name' => 'ResetDBParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetDBParameterGroupMessage', ], 'output' => [ 'shape' => 'DBParameterGroupNameMessage', 'resultWrapper' => 'ResetDBParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidDBParameterGroupStateFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], ], ], 'RestoreDBClusterFromS3' => [ 'name' => 'RestoreDBClusterFromS3', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterFromS3Message', ], 'output' => [ 'shape' => 'RestoreDBClusterFromS3Result', 'resultWrapper' => 'RestoreDBClusterFromS3Result', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidS3BucketFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], ], ], 'RestoreDBClusterFromSnapshot' => [ 'name' => 'RestoreDBClusterFromSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterFromSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterFromSnapshotResult', 'resultWrapper' => 'RestoreDBClusterFromSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], ], ], 'RestoreDBClusterToPointInTime' => [ 'name' => 'RestoreDBClusterToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBClusterToPointInTimeMessage', ], 'output' => [ 'shape' => 'RestoreDBClusterToPointInTimeResult', 'resultWrapper' => 'RestoreDBClusterToPointInTimeResult', ], 'errors' => [ [ 'shape' => 'DBClusterAlreadyExistsFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'DBClusterQuotaExceededFault', ], [ 'shape' => 'DBClusterSnapshotNotFoundFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'InsufficientDBClusterCapacityFault', ], [ 'shape' => 'InsufficientStorageClusterCapacityFault', ], [ 'shape' => 'InvalidDBClusterSnapshotStateFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBClusterParameterGroupNotFoundFault', ], ], ], 'RestoreDBInstanceFromDBSnapshot' => [ 'name' => 'RestoreDBInstanceFromDBSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBInstanceFromDBSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreDBInstanceFromDBSnapshotResult', 'resultWrapper' => 'RestoreDBInstanceFromDBSnapshotResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBSnapshotNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'InvalidDBSnapshotStateFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DomainNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], ], ], 'RestoreDBInstanceFromS3' => [ 'name' => 'RestoreDBInstanceFromS3', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBInstanceFromS3Message', ], 'output' => [ 'shape' => 'RestoreDBInstanceFromS3Result', 'resultWrapper' => 'RestoreDBInstanceFromS3Result', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidS3BucketFault', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], ], ], 'RestoreDBInstanceToPointInTime' => [ 'name' => 'RestoreDBInstanceToPointInTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreDBInstanceToPointInTimeMessage', ], 'output' => [ 'shape' => 'RestoreDBInstanceToPointInTimeResult', 'resultWrapper' => 'RestoreDBInstanceToPointInTimeResult', ], 'errors' => [ [ 'shape' => 'DBInstanceAlreadyExistsFault', ], [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InstanceQuotaExceededFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'PointInTimeRestoreNotEnabledFault', ], [ 'shape' => 'StorageQuotaExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ProvisionedIopsNotAvailableInAZFault', ], [ 'shape' => 'OptionGroupNotFoundFault', ], [ 'shape' => 'StorageTypeNotSupportedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'DomainNotFoundFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], [ 'shape' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'DBInstanceAutomatedBackupNotFoundFault', ], ], ], 'RevokeDBSecurityGroupIngress' => [ 'name' => 'RevokeDBSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeDBSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'RevokeDBSecurityGroupIngressResult', 'resultWrapper' => 'RevokeDBSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], ], ], 'StartDBCluster' => [ 'name' => 'StartDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDBClusterMessage', ], 'output' => [ 'shape' => 'StartDBClusterResult', 'resultWrapper' => 'StartDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'StartDBInstance' => [ 'name' => 'StartDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDBInstanceMessage', ], 'output' => [ 'shape' => 'StartDBInstanceResult', 'resultWrapper' => 'StartDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'InsufficientDBInstanceCapacityFault', ], [ 'shape' => 'DBSubnetGroupNotFoundFault', ], [ 'shape' => 'DBSubnetGroupDoesNotCoverEnoughAZs', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'KMSKeyNotAccessibleFault', ], ], ], 'StopDBCluster' => [ 'name' => 'StopDBCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDBClusterMessage', ], 'output' => [ 'shape' => 'StopDBClusterResult', 'resultWrapper' => 'StopDBClusterResult', ], 'errors' => [ [ 'shape' => 'DBClusterNotFoundFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], ], ], 'StopDBInstance' => [ 'name' => 'StopDBInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDBInstanceMessage', ], 'output' => [ 'shape' => 'StopDBInstanceResult', 'resultWrapper' => 'StopDBInstanceResult', ], 'errors' => [ [ 'shape' => 'DBInstanceNotFoundFault', ], [ 'shape' => 'InvalidDBInstanceStateFault', ], [ 'shape' => 'DBSnapshotAlreadyExistsFault', ], [ 'shape' => 'SnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidDBClusterStateFault', ], ], ], ], 'shapes' => [ 'AccountAttributesMessage' => [ 'type' => 'structure', 'members' => [ 'AccountQuotas' => [ 'shape' => 'AccountQuotaList', ], ], ], 'AccountQuota' => [ 'type' => 'structure', 'members' => [ 'AccountQuotaName' => [ 'shape' => 'String', ], 'Used' => [ 'shape' => 'Long', ], 'Max' => [ 'shape' => 'Long', ], ], 'wrapper' => true, ], 'AccountQuotaList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountQuota', 'locationName' => 'AccountQuota', ], ], 'AddRoleToDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'RoleArn', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], ], ], 'AddRoleToDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'RoleArn', 'FeatureName', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], 'FeatureName' => [ 'shape' => 'String', ], ], ], 'AddSourceIdentifierToSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'AddSourceIdentifierToSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'AddTagsToResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ApplyMethod' => [ 'type' => 'string', 'enum' => [ 'immediate', 'pending-reboot', ], ], 'ApplyPendingMaintenanceActionMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceIdentifier', 'ApplyAction', 'OptInType', ], 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'ApplyAction' => [ 'shape' => 'String', ], 'OptInType' => [ 'shape' => 'String', ], ], ], 'ApplyPendingMaintenanceActionResult' => [ 'type' => 'structure', 'members' => [ 'ResourcePendingMaintenanceActions' => [ 'shape' => 'ResourcePendingMaintenanceActions', ], ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AttributeValue', ], ], 'AuthorizationAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizeDBSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'AuthorizeDBSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'AvailabilityZone', ], ], 'AvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AvailabilityZone', ], ], 'AvailableProcessorFeature' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'DefaultValue' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], ], ], 'AvailableProcessorFeatureList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailableProcessorFeature', 'locationName' => 'AvailableProcessorFeature', ], ], 'BacktrackDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'BacktrackTo', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'BacktrackTo' => [ 'shape' => 'TStamp', ], 'Force' => [ 'shape' => 'BooleanOptional', ], 'UseEarliestTimeOnPointInTimeUnavailable' => [ 'shape' => 'BooleanOptional', ], ], ], 'BackupPolicyNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, 'deprecatedMessage' => 'Please avoid using this fault', 'error' => [ 'code' => 'BackupPolicyNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'Certificate' => [ 'type' => 'structure', 'members' => [ 'CertificateIdentifier' => [ 'shape' => 'String', ], 'CertificateType' => [ 'shape' => 'String', ], 'Thumbprint' => [ 'shape' => 'String', ], 'ValidFrom' => [ 'shape' => 'TStamp', ], 'ValidTill' => [ 'shape' => 'TStamp', ], 'CertificateArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'CertificateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Certificate', 'locationName' => 'Certificate', ], ], 'CertificateMessage' => [ 'type' => 'structure', 'members' => [ 'Certificates' => [ 'shape' => 'CertificateList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'CertificateNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CertificateNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'CharacterSet' => [ 'type' => 'structure', 'members' => [ 'CharacterSetName' => [ 'shape' => 'String', ], 'CharacterSetDescription' => [ 'shape' => 'String', ], ], ], 'CloudwatchLogsExportConfiguration' => [ 'type' => 'structure', 'members' => [ 'EnableLogTypes' => [ 'shape' => 'LogTypeList', ], 'DisableLogTypes' => [ 'shape' => 'LogTypeList', ], ], ], 'CopyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupIdentifier', 'TargetDBClusterParameterGroupDescription', ], 'members' => [ 'SourceDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CopyDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBClusterSnapshotIdentifier', 'TargetDBClusterSnapshotIdentifier', ], 'members' => [ 'SourceDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'TargetDBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', ], 'CopyTags' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CopyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBParameterGroupIdentifier', 'TargetDBParameterGroupIdentifier', 'TargetDBParameterGroupDescription', ], 'members' => [ 'SourceDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupIdentifier' => [ 'shape' => 'String', ], 'TargetDBParameterGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CopyDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceDBSnapshotIdentifier', 'TargetDBSnapshotIdentifier', ], 'members' => [ 'SourceDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'TargetDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'CopyTags' => [ 'shape' => 'BooleanOptional', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], ], ], 'CopyDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'CopyOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'SourceOptionGroupIdentifier', 'TargetOptionGroupIdentifier', 'TargetOptionGroupDescription', ], 'members' => [ 'SourceOptionGroupIdentifier' => [ 'shape' => 'String', ], 'TargetOptionGroupIdentifier' => [ 'shape' => 'String', ], 'TargetOptionGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CopyOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'CreateDBClusterEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'DBClusterEndpointIdentifier', 'EndpointType', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterEndpointIdentifier' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'String', ], 'StaticMembers' => [ 'shape' => 'StringList', ], 'ExcludedMembers' => [ 'shape' => 'StringList', ], ], ], 'CreateDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ReplicationSourceIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'EngineMode' => [ 'shape' => 'String', ], 'ScalingConfiguration' => [ 'shape' => 'ScalingConfiguration', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroup' => [ 'shape' => 'DBClusterParameterGroup', ], ], ], 'CreateDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'CreateDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'DBClusterIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'CreateDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBInstanceClass', 'Engine', ], 'members' => [ 'DBName' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'Timezone' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'PerformanceInsightsRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateDBInstanceReadReplicaMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'SourceDBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'StorageType' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'PreSignedUrl' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'PerformanceInsightsRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateDBInstanceReadReplicaResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'CreateDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'DBParameterGroupFamily', 'Description', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroup' => [ 'shape' => 'DBParameterGroup', ], ], ], 'CreateDBSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', 'DBSecurityGroupDescription', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'CreateDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', 'DBInstanceIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'CreateDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'DBSubnetGroupDescription', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'CreateEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SnsTopicArn', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'CreateGlobalClusterMessage' => [ 'type' => 'structure', 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'SourceDBClusterIdentifier' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'DatabaseName' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], ], ], 'CreateGlobalClusterResult' => [ 'type' => 'structure', 'members' => [ 'GlobalCluster' => [ 'shape' => 'GlobalCluster', ], ], ], 'CreateOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', 'EngineName', 'MajorEngineVersion', 'OptionGroupDescription', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'OptionGroupDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'DBCluster' => [ 'type' => 'structure', 'members' => [ 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroup' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'String', ], 'EarliestRestorableTime' => [ 'shape' => 'TStamp', ], 'Endpoint' => [ 'shape' => 'String', ], 'ReaderEndpoint' => [ 'shape' => 'String', ], 'CustomEndpoints' => [ 'shape' => 'StringList', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBClusterOptionGroupMemberships' => [ 'shape' => 'DBClusterOptionGroupMemberships', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ReplicationSourceIdentifier' => [ 'shape' => 'String', ], 'ReadReplicaIdentifiers' => [ 'shape' => 'ReadReplicaIdentifierList', ], 'DBClusterMembers' => [ 'shape' => 'DBClusterMemberList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'HostedZoneId' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbClusterResourceId' => [ 'shape' => 'String', ], 'DBClusterArn' => [ 'shape' => 'String', ], 'AssociatedRoles' => [ 'shape' => 'DBClusterRoles', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], 'CloneGroupId' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'EarliestBacktrackTime' => [ 'shape' => 'TStamp', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'BacktrackConsumedChangeRecords' => [ 'shape' => 'LongOptional', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'Capacity' => [ 'shape' => 'IntegerOptional', ], 'EngineMode' => [ 'shape' => 'String', ], 'ScalingConfigurationInfo' => [ 'shape' => 'ScalingConfigurationInfo', ], 'DeletionProtection' => [ 'shape' => 'Boolean', ], 'HttpEndpointEnabled' => [ 'shape' => 'Boolean', ], 'CopyTagsToSnapshot' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'DBClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterBacktrack' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'BacktrackIdentifier' => [ 'shape' => 'String', ], 'BacktrackTo' => [ 'shape' => 'TStamp', ], 'BacktrackedFrom' => [ 'shape' => 'TStamp', ], 'BacktrackRequestCreationTime' => [ 'shape' => 'TStamp', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBClusterBacktrackList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterBacktrack', 'locationName' => 'DBClusterBacktrack', ], ], 'DBClusterBacktrackMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterBacktracks' => [ 'shape' => 'DBClusterBacktrackList', ], ], ], 'DBClusterBacktrackNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterBacktrackNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterCapacityInfo' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'PendingCapacity' => [ 'shape' => 'IntegerOptional', ], 'CurrentCapacity' => [ 'shape' => 'IntegerOptional', ], 'SecondsBeforeTimeout' => [ 'shape' => 'IntegerOptional', ], 'TimeoutAction' => [ 'shape' => 'String', ], ], ], 'DBClusterEndpoint' => [ 'type' => 'structure', 'members' => [ 'DBClusterEndpointIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterEndpointResourceIdentifier' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'String', ], 'CustomEndpointType' => [ 'shape' => 'String', ], 'StaticMembers' => [ 'shape' => 'StringList', ], 'ExcludedMembers' => [ 'shape' => 'StringList', ], 'DBClusterEndpointArn' => [ 'shape' => 'String', ], ], ], 'DBClusterEndpointAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterEndpointAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterEndpointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterEndpoint', 'locationName' => 'DBClusterEndpointList', ], ], 'DBClusterEndpointMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterEndpoints' => [ 'shape' => 'DBClusterEndpointList', ], ], ], 'DBClusterEndpointNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterEndpointNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterEndpointQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterEndpointQuotaExceededFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBCluster', 'locationName' => 'DBCluster', ], ], 'DBClusterMember' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'IsClusterWriter' => [ 'shape' => 'Boolean', ], 'DBClusterParameterGroupStatus' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], ], 'wrapper' => true, ], 'DBClusterMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterMember', 'locationName' => 'DBClusterMember', ], ], 'DBClusterMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusters' => [ 'shape' => 'DBClusterList', ], ], ], 'DBClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterOptionGroupMemberships' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterOptionGroupStatus', 'locationName' => 'DBClusterOptionGroup', ], ], 'DBClusterOptionGroupStatus' => [ 'type' => 'structure', 'members' => [ 'DBClusterOptionGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DBClusterParameterGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBClusterParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterParameterGroup', 'locationName' => 'DBClusterParameterGroup', ], ], 'DBClusterParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBClusterParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterParameterGroups' => [ 'shape' => 'DBClusterParameterGroupList', ], ], ], 'DBClusterQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterQuotaExceededFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRole' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'FeatureName' => [ 'shape' => 'String', ], ], ], 'DBClusterRoleAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoleQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterRoleQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterRoles' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterRole', 'locationName' => 'DBClusterRole', ], ], 'DBClusterSnapshot' => [ 'type' => 'structure', 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Engine' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'VpcId' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'Integer', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DBClusterSnapshotArn' => [ 'shape' => 'String', ], 'SourceDBClusterSnapshotArn' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'DBClusterSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBClusterSnapshotAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', ], 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], ], ], 'DBClusterSnapshotAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshotAttribute', 'locationName' => 'DBClusterSnapshotAttribute', ], ], 'DBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotAttributes' => [ 'shape' => 'DBClusterSnapshotAttributeList', ], ], 'wrapper' => true, ], 'DBClusterSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBClusterSnapshot', 'locationName' => 'DBClusterSnapshot', ], ], 'DBClusterSnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBClusterSnapshots' => [ 'shape' => 'DBClusterSnapshotList', ], ], ], 'DBClusterSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBClusterSnapshotNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBEngineVersion' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'DBEngineDescription' => [ 'shape' => 'String', ], 'DBEngineVersionDescription' => [ 'shape' => 'String', ], 'DefaultCharacterSet' => [ 'shape' => 'CharacterSet', ], 'SupportedCharacterSets' => [ 'shape' => 'SupportedCharacterSetsList', ], 'ValidUpgradeTarget' => [ 'shape' => 'ValidUpgradeTargetList', ], 'SupportedTimezones' => [ 'shape' => 'SupportedTimezonesList', ], 'ExportableLogTypes' => [ 'shape' => 'LogTypeList', ], 'SupportsLogExportsToCloudwatchLogs' => [ 'shape' => 'Boolean', ], 'SupportsReadReplica' => [ 'shape' => 'Boolean', ], 'SupportedEngineModes' => [ 'shape' => 'EngineModeList', ], 'SupportedFeatureNames' => [ 'shape' => 'FeatureNameList', ], ], ], 'DBEngineVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBEngineVersion', 'locationName' => 'DBEngineVersion', ], ], 'DBEngineVersionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBEngineVersions' => [ 'shape' => 'DBEngineVersionList', ], ], ], 'DBInstance' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'DBInstanceStatus' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'Integer', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupMembershipList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupStatusList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'LatestRestorableTime' => [ 'shape' => 'TStamp', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'ReadReplicaSourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'ReadReplicaDBInstanceIdentifiers' => [ 'shape' => 'ReadReplicaDBInstanceIdentifierList', ], 'ReadReplicaDBClusterIdentifiers' => [ 'shape' => 'ReadReplicaDBClusterIdentifierList', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupMemberships' => [ 'shape' => 'OptionGroupMembershipList', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'SecondaryAvailabilityZone' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', ], 'StatusInfos' => [ 'shape' => 'DBInstanceStatusInfoList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'DbInstancePort' => [ 'shape' => 'Integer', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DbiResourceId' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'DomainMemberships' => [ 'shape' => 'DomainMembershipList', ], 'CopyTagsToSnapshot' => [ 'shape' => 'Boolean', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'EnhancedMonitoringResourceArn' => [ 'shape' => 'String', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceArn' => [ 'shape' => 'String', ], 'Timezone' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], 'PerformanceInsightsEnabled' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'PerformanceInsightsRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'DeletionProtection' => [ 'shape' => 'Boolean', ], 'AssociatedRoles' => [ 'shape' => 'DBInstanceRoles', ], 'ListenerEndpoint' => [ 'shape' => 'Endpoint', ], ], 'wrapper' => true, ], 'DBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceAutomatedBackup' => [ 'type' => 'structure', 'members' => [ 'DBInstanceArn' => [ 'shape' => 'String', ], 'DbiResourceId' => [ 'shape' => 'String', ], 'Region' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'RestoreWindow' => [ 'shape' => 'RestoreWindow', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'StorageType' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Timezone' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'DBInstanceAutomatedBackupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceAutomatedBackup', 'locationName' => 'DBInstanceAutomatedBackup', ], ], 'DBInstanceAutomatedBackupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBInstanceAutomatedBackups' => [ 'shape' => 'DBInstanceAutomatedBackupList', ], ], ], 'DBInstanceAutomatedBackupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAutomatedBackupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceAutomatedBackupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceAutomatedBackupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstance', 'locationName' => 'DBInstance', ], ], 'DBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBInstances' => [ 'shape' => 'DBInstanceList', ], ], ], 'DBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceRole' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => 'String', ], 'FeatureName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBInstanceRoleAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceRoleAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceRoleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceRoleNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceRoleQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBInstanceRoleQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBInstanceRoles' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceRole', 'locationName' => 'DBInstanceRole', ], ], 'DBInstanceStatusInfo' => [ 'type' => 'structure', 'members' => [ 'StatusType' => [ 'shape' => 'String', ], 'Normal' => [ 'shape' => 'Boolean', ], 'Status' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'DBInstanceStatusInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBInstanceStatusInfo', 'locationName' => 'DBInstanceStatusInfo', ], ], 'DBLogFileNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBLogFileNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroup' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DBParameterGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroup', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], ], ], 'DBParameterGroupStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBParameterGroupStatus', 'locationName' => 'DBParameterGroup', ], ], 'DBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBParameterGroups' => [ 'shape' => 'DBParameterGroupList', ], ], ], 'DBSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'String', ], 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'EC2SecurityGroups' => [ 'shape' => 'EC2SecurityGroupList', ], 'IPRanges' => [ 'shape' => 'IPRangeList', ], 'DBSecurityGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSecurityGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'DBSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSecurityGroupMembership', 'locationName' => 'DBSecurityGroup', ], ], 'DBSecurityGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroups', ], ], ], 'DBSecurityGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DBSecurityGroupName', ], ], 'DBSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSecurityGroupNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'QuotaExceeded.DBSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSecurityGroup', 'locationName' => 'DBSecurityGroup', ], ], 'DBSnapshot' => [ 'type' => 'structure', 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Engine' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'Integer', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'InstanceCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PercentProgress' => [ 'shape' => 'Integer', ], 'SourceRegion' => [ 'shape' => 'String', ], 'SourceDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'DBSnapshotArn' => [ 'shape' => 'String', ], 'Timezone' => [ 'shape' => 'String', ], 'IAMDatabaseAuthenticationEnabled' => [ 'shape' => 'Boolean', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'DbiResourceId' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSnapshotAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', ], 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], ], 'wrapper' => true, ], 'DBSnapshotAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSnapshotAttribute', 'locationName' => 'DBSnapshotAttribute', ], ], 'DBSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotAttributes' => [ 'shape' => 'DBSnapshotAttributeList', ], ], 'wrapper' => true, ], 'DBSnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSnapshot', 'locationName' => 'DBSnapshot', ], ], 'DBSnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSnapshots' => [ 'shape' => 'DBSnapshotList', ], ], ], 'DBSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSnapshotNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], 'DBSubnetGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'DBSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupDoesNotCoverEnoughAZs' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupDoesNotCoverEnoughAZs', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'DBSubnetGroups' => [ 'shape' => 'DBSubnetGroups', ], ], ], 'DBSubnetGroupNotAllowedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotAllowedFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'DBSubnetGroup', 'locationName' => 'DBSubnetGroup', ], ], 'DBSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DBUpgradeDependencyFailureFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DBUpgradeDependencyFailure', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DeleteDBClusterEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterEndpointIdentifier', ], 'members' => [ 'DBClusterEndpointIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'DeleteDBClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshot' => [ 'shape' => 'DBClusterSnapshot', ], ], ], 'DeleteDBInstanceAutomatedBackupMessage' => [ 'type' => 'structure', 'required' => [ 'DbiResourceId', ], 'members' => [ 'DbiResourceId' => [ 'shape' => 'String', ], ], ], 'DeleteDBInstanceAutomatedBackupResult' => [ 'type' => 'structure', 'members' => [ 'DBInstanceAutomatedBackup' => [ 'shape' => 'DBInstanceAutomatedBackup', ], ], ], 'DeleteDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'SkipFinalSnapshot' => [ 'shape' => 'Boolean', ], 'FinalDBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DeleteAutomatedBackups' => [ 'shape' => 'BooleanOptional', ], ], ], 'DeleteDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'DeleteDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'DeleteDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'DeleteGlobalClusterMessage' => [ 'type' => 'structure', 'required' => [ 'GlobalClusterIdentifier', ], 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteGlobalClusterResult' => [ 'type' => 'structure', 'members' => [ 'GlobalCluster' => [ 'shape' => 'GlobalCluster', ], ], ], 'DeleteOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], ], ], 'DescribeAccountAttributesMessage' => [ 'type' => 'structure', 'members' => [], ], 'DescribeCertificatesMessage' => [ 'type' => 'structure', 'members' => [ 'CertificateIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterBacktracksMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'BacktrackIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterEndpointsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterEndpointIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeDBClusterSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'DescribeDBClusterSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'IncludeShared' => [ 'shape' => 'Boolean', ], 'IncludePublic' => [ 'shape' => 'Boolean', ], ], ], 'DescribeDBClustersMessage' => [ 'type' => 'structure', 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBEngineVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'DefaultOnly' => [ 'shape' => 'Boolean', ], 'ListSupportedCharacterSets' => [ 'shape' => 'BooleanOptional', ], 'ListSupportedTimezones' => [ 'shape' => 'BooleanOptional', ], ], ], 'DescribeDBInstanceAutomatedBackupsMessage' => [ 'type' => 'structure', 'members' => [ 'DbiResourceId' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBLogFilesDetails' => [ 'type' => 'structure', 'members' => [ 'LogFileName' => [ 'shape' => 'String', ], 'LastWritten' => [ 'shape' => 'Long', ], 'Size' => [ 'shape' => 'Long', ], ], ], 'DescribeDBLogFilesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeDBLogFilesDetails', 'locationName' => 'DescribeDBLogFilesDetails', ], ], 'DescribeDBLogFilesMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'FilenameContains' => [ 'shape' => 'String', ], 'FileLastWritten' => [ 'shape' => 'Long', ], 'FileSize' => [ 'shape' => 'Long', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBLogFilesResponse' => [ 'type' => 'structure', 'members' => [ 'DescribeDBLogFiles' => [ 'shape' => 'DescribeDBLogFilesList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSecurityGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDBSnapshotAttributesMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeDBSnapshotAttributesResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshotAttributesResult' => [ 'shape' => 'DBSnapshotAttributesResult', ], ], ], 'DescribeDBSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'IncludeShared' => [ 'shape' => 'Boolean', ], 'IncludePublic' => [ 'shape' => 'Boolean', ], 'DbiResourceId' => [ 'shape' => 'String', ], ], ], 'DescribeDBSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultClusterParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEngineDefaultParametersMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupFamily', ], 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEngineDefaultParametersResult' => [ 'type' => 'structure', 'members' => [ 'EngineDefaults' => [ 'shape' => 'EngineDefaults', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeEventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeGlobalClustersMessage' => [ 'type' => 'structure', 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOptionGroupOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'EngineName', ], 'members' => [ 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeOptionGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'required' => [ 'Engine', ], 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Vpc' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribePendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], ], ], 'DescribeReservedDBInstancesMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedDBInstancesOfferingsMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'Filters' => [ 'shape' => 'FilterList', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeSourceRegionsMessage' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'DescribeValidDBInstanceModificationsMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeValidDBInstanceModificationsResult' => [ 'type' => 'structure', 'members' => [ 'ValidDBInstanceModificationsMessage' => [ 'shape' => 'ValidDBInstanceModificationsMessage', ], ], ], 'DomainMembership' => [ 'type' => 'structure', 'members' => [ 'Domain' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'FQDN' => [ 'shape' => 'String', ], 'IAMRoleName' => [ 'shape' => 'String', ], ], ], 'DomainMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainMembership', 'locationName' => 'DomainMembership', ], ], 'DomainNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DomainNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'Double' => [ 'type' => 'double', ], 'DoubleOptional' => [ 'type' => 'double', ], 'DoubleRange' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Double', ], 'To' => [ 'shape' => 'Double', ], ], ], 'DoubleRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DoubleRange', 'locationName' => 'DoubleRange', ], ], 'DownloadDBLogFilePortionDetails' => [ 'type' => 'structure', 'members' => [ 'LogFileData' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'AdditionalDataPending' => [ 'shape' => 'Boolean', ], ], ], 'DownloadDBLogFilePortionMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'LogFileName', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'LogFileName' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'NumberOfLines' => [ 'shape' => 'Integer', ], ], ], 'EC2SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'EC2SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2SecurityGroup', 'locationName' => 'EC2SecurityGroup', ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'HostedZoneId' => [ 'shape' => 'String', ], ], ], 'EngineDefaults' => [ 'type' => 'structure', 'members' => [ 'DBParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'EngineModeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Date' => [ 'shape' => 'TStamp', ], 'SourceArn' => [ 'shape' => 'String', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'EventCategory', ], ], 'EventCategoriesMap' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], ], 'wrapper' => true, ], 'EventCategoriesMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoriesMap', 'locationName' => 'EventCategoriesMap', ], ], 'EventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'EventCategoriesMapList' => [ 'shape' => 'EventCategoriesMapList', ], ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventSubscription' => [ 'type' => 'structure', 'members' => [ 'CustomerAwsId' => [ 'shape' => 'String', ], 'CustSubscriptionId' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubscriptionCreationTime' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIdsList' => [ 'shape' => 'SourceIdsList', ], 'EventCategoriesList' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'EventSubscriptionArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'EventSubscriptionQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'EventSubscriptionQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventSubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', 'locationName' => 'EventSubscription', ], ], 'EventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'EventSubscriptionsList' => [ 'shape' => 'EventSubscriptionsList', ], ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'FailoverDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'TargetDBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'FailoverDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'FeatureNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Values' => [ 'shape' => 'FilterValueList', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', 'locationName' => 'Filter', ], ], 'FilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'Value', ], ], 'GlobalCluster' => [ 'type' => 'structure', 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'GlobalClusterResourceId' => [ 'shape' => 'String', ], 'GlobalClusterArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'GlobalClusterMembers' => [ 'shape' => 'GlobalClusterMemberList', ], ], 'wrapper' => true, ], 'GlobalClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'GlobalClusterAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'GlobalClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalCluster', 'locationName' => 'GlobalClusterMember', ], ], 'GlobalClusterMember' => [ 'type' => 'structure', 'members' => [ 'DBClusterArn' => [ 'shape' => 'String', ], 'Readers' => [ 'shape' => 'ReadersArnList', ], 'IsWriter' => [ 'shape' => 'Boolean', ], ], 'wrapper' => true, ], 'GlobalClusterMemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlobalClusterMember', 'locationName' => 'GlobalClusterMember', ], ], 'GlobalClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'GlobalClusterNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'GlobalClusterQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'GlobalClusterQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'GlobalClustersMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'GlobalClusters' => [ 'shape' => 'GlobalClusterList', ], ], ], 'IPRange' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], ], ], 'IPRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPRange', 'locationName' => 'IPRange', ], ], 'InstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBClusterCapacityFault', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientDBInstanceCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientDBInstanceCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientStorageClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientStorageClusterCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidDBClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterCapacityFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBClusterEndpointStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterEndpointStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBClusterSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterSnapshotStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBClusterStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBInstanceAutomatedBackupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBInstanceAutomatedBackupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBInstanceStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBInstanceState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidDBSubnetStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidDBSubnetStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidEventSubscriptionStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidEventSubscriptionState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidGlobalClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidGlobalClusterStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidOptionGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidOptionGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRestoreFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRestoreFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidS3BucketFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidS3BucketFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSKeyNotAccessibleFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'KMSKeyNotAccessibleFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'LogTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Long' => [ 'type' => 'long', ], 'LongOptional' => [ 'type' => 'long', ], 'MinimumEngineVersionPerAllowedValue' => [ 'type' => 'structure', 'members' => [ 'AllowedValue' => [ 'shape' => 'String', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], ], ], 'MinimumEngineVersionPerAllowedValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MinimumEngineVersionPerAllowedValue', 'locationName' => 'MinimumEngineVersionPerAllowedValue', ], ], 'ModifyCurrentDBClusterCapacityMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Capacity' => [ 'shape' => 'IntegerOptional', ], 'SecondsBeforeTimeout' => [ 'shape' => 'IntegerOptional', ], 'TimeoutAction' => [ 'shape' => 'String', ], ], ], 'ModifyDBClusterEndpointMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterEndpointIdentifier', ], 'members' => [ 'DBClusterEndpointIdentifier' => [ 'shape' => 'String', ], 'EndpointType' => [ 'shape' => 'String', ], 'StaticMembers' => [ 'shape' => 'StringList', ], 'ExcludedMembers' => [ 'shape' => 'StringList', ], ], ], 'ModifyDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'NewDBClusterIdentifier' => [ 'shape' => 'String', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'CloudwatchLogsExportConfiguration' => [ 'shape' => 'CloudwatchLogsExportConfiguration', ], 'EngineVersion' => [ 'shape' => 'String', ], 'ScalingConfiguration' => [ 'shape' => 'ScalingConfiguration', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'EnableHttpEndpoint' => [ 'shape' => 'BooleanOptional', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', 'Parameters', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'ModifyDBClusterSnapshotAttributeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterSnapshotIdentifier', 'AttributeName', ], 'members' => [ 'DBClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'AttributeName' => [ 'shape' => 'String', ], 'ValuesToAdd' => [ 'shape' => 'AttributeValueList', ], 'ValuesToRemove' => [ 'shape' => 'AttributeValueList', ], ], ], 'ModifyDBClusterSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'DBClusterSnapshotAttributesResult' => [ 'shape' => 'DBClusterSnapshotAttributesResult', ], ], ], 'ModifyDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AllowMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'NewDBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'DBPortNumber' => [ 'shape' => 'IntegerOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'PromotionTier' => [ 'shape' => 'IntegerOptional', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'PerformanceInsightsRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CloudwatchLogsExportConfiguration' => [ 'shape' => 'CloudwatchLogsExportConfiguration', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ModifyDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', 'Parameters', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyDBSnapshotAttributeMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', 'AttributeName', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'AttributeName' => [ 'shape' => 'String', ], 'ValuesToAdd' => [ 'shape' => 'AttributeValueList', ], 'ValuesToRemove' => [ 'shape' => 'AttributeValueList', ], ], ], 'ModifyDBSnapshotAttributeResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshotAttributesResult' => [ 'shape' => 'DBSnapshotAttributesResult', ], ], ], 'ModifyDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBSnapshotIdentifier', ], 'members' => [ 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], ], ], 'ModifyDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBSnapshot' => [ 'shape' => 'DBSnapshot', ], ], ], 'ModifyDBSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBSubnetGroupName', 'SubnetIds', ], 'members' => [ 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DBSubnetGroupDescription' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyDBSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'DBSubnetGroup' => [ 'shape' => 'DBSubnetGroup', ], ], ], 'ModifyEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'ModifyGlobalClusterMessage' => [ 'type' => 'structure', 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'NewGlobalClusterIdentifier' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyGlobalClusterResult' => [ 'type' => 'structure', 'members' => [ 'GlobalCluster' => [ 'shape' => 'GlobalCluster', ], ], ], 'ModifyOptionGroupMessage' => [ 'type' => 'structure', 'required' => [ 'OptionGroupName', ], 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'OptionsToInclude' => [ 'shape' => 'OptionConfigurationList', ], 'OptionsToRemove' => [ 'shape' => 'OptionNamesList', ], 'ApplyImmediately' => [ 'shape' => 'Boolean', ], ], ], 'ModifyOptionGroupResult' => [ 'type' => 'structure', 'members' => [ 'OptionGroup' => [ 'shape' => 'OptionGroup', ], ], ], 'Option' => [ 'type' => 'structure', 'members' => [ 'OptionName' => [ 'shape' => 'String', ], 'OptionDescription' => [ 'shape' => 'String', ], 'Persistent' => [ 'shape' => 'Boolean', ], 'Permanent' => [ 'shape' => 'Boolean', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'OptionVersion' => [ 'shape' => 'String', ], 'OptionSettings' => [ 'shape' => 'OptionSettingConfigurationList', ], 'DBSecurityGroupMemberships' => [ 'shape' => 'DBSecurityGroupMembershipList', ], 'VpcSecurityGroupMemberships' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], ], ], 'OptionConfiguration' => [ 'type' => 'structure', 'required' => [ 'OptionName', ], 'members' => [ 'OptionName' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'OptionVersion' => [ 'shape' => 'String', ], 'DBSecurityGroupMemberships' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupMemberships' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'OptionSettings' => [ 'shape' => 'OptionSettingsList', ], ], ], 'OptionConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionConfiguration', 'locationName' => 'OptionConfiguration', ], ], 'OptionGroup' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'OptionGroupDescription' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'Options' => [ 'shape' => 'OptionsList', ], 'AllowsVpcAndNonVpcInstanceMemberships' => [ 'shape' => 'Boolean', ], 'VpcId' => [ 'shape' => 'String', ], 'OptionGroupArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'OptionGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroupMembership' => [ 'type' => 'structure', 'members' => [ 'OptionGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'OptionGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupMembership', 'locationName' => 'OptionGroupMembership', ], ], 'OptionGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroupOption' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'EngineName' => [ 'shape' => 'String', ], 'MajorEngineVersion' => [ 'shape' => 'String', ], 'MinimumRequiredMinorEngineVersion' => [ 'shape' => 'String', ], 'PortRequired' => [ 'shape' => 'Boolean', ], 'DefaultPort' => [ 'shape' => 'IntegerOptional', ], 'OptionsDependedOn' => [ 'shape' => 'OptionsDependedOn', ], 'OptionsConflictsWith' => [ 'shape' => 'OptionsConflictsWith', ], 'Persistent' => [ 'shape' => 'Boolean', ], 'Permanent' => [ 'shape' => 'Boolean', ], 'RequiresAutoMinorEngineVersionUpgrade' => [ 'shape' => 'Boolean', ], 'VpcOnly' => [ 'shape' => 'Boolean', ], 'SupportsOptionVersionDowngrade' => [ 'shape' => 'BooleanOptional', ], 'OptionGroupOptionSettings' => [ 'shape' => 'OptionGroupOptionSettingsList', ], 'OptionGroupOptionVersions' => [ 'shape' => 'OptionGroupOptionVersionsList', ], ], ], 'OptionGroupOptionSetting' => [ 'type' => 'structure', 'members' => [ 'SettingName' => [ 'shape' => 'String', ], 'SettingDescription' => [ 'shape' => 'String', ], 'DefaultValue' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'IsRequired' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersionPerAllowedValue' => [ 'shape' => 'MinimumEngineVersionPerAllowedValueList', ], ], ], 'OptionGroupOptionSettingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupOptionSetting', 'locationName' => 'OptionGroupOptionSetting', ], ], 'OptionGroupOptionVersionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionVersion', 'locationName' => 'OptionVersion', ], ], 'OptionGroupOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroupOption', 'locationName' => 'OptionGroupOption', ], ], 'OptionGroupOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OptionGroupOptions' => [ 'shape' => 'OptionGroupOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'OptionGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OptionGroupQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OptionGroups' => [ 'type' => 'structure', 'members' => [ 'OptionGroupsList' => [ 'shape' => 'OptionGroupsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'OptionGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionGroup', 'locationName' => 'OptionGroup', ], ], 'OptionNamesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'OptionSetting' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], 'DefaultValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'IsCollection' => [ 'shape' => 'Boolean', ], ], ], 'OptionSettingConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionSetting', 'locationName' => 'OptionSetting', ], ], 'OptionSettingsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OptionSetting', 'locationName' => 'OptionSetting', ], ], 'OptionVersion' => [ 'type' => 'structure', 'members' => [ 'Version' => [ 'shape' => 'String', ], 'IsDefault' => [ 'shape' => 'Boolean', ], ], ], 'OptionsConflictsWith' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'OptionConflictName', ], ], 'OptionsDependedOn' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'OptionName', ], ], 'OptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Option', 'locationName' => 'Option', ], ], 'OrderableDBInstanceOption' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], 'MultiAZCapable' => [ 'shape' => 'Boolean', ], 'ReadReplicaCapable' => [ 'shape' => 'Boolean', ], 'Vpc' => [ 'shape' => 'Boolean', ], 'SupportsStorageEncryption' => [ 'shape' => 'Boolean', ], 'StorageType' => [ 'shape' => 'String', ], 'SupportsIops' => [ 'shape' => 'Boolean', ], 'SupportsEnhancedMonitoring' => [ 'shape' => 'Boolean', ], 'SupportsIAMDatabaseAuthentication' => [ 'shape' => 'Boolean', ], 'SupportsPerformanceInsights' => [ 'shape' => 'Boolean', ], 'MinStorageSize' => [ 'shape' => 'IntegerOptional', ], 'MaxStorageSize' => [ 'shape' => 'IntegerOptional', ], 'MinIopsPerDbInstance' => [ 'shape' => 'IntegerOptional', ], 'MaxIopsPerDbInstance' => [ 'shape' => 'IntegerOptional', ], 'MinIopsPerGib' => [ 'shape' => 'DoubleOptional', ], 'MaxIopsPerGib' => [ 'shape' => 'DoubleOptional', ], 'AvailableProcessorFeatures' => [ 'shape' => 'AvailableProcessorFeatureList', ], 'SupportedEngineModes' => [ 'shape' => 'EngineModeList', ], ], 'wrapper' => true, ], 'OrderableDBInstanceOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableDBInstanceOption', 'locationName' => 'OrderableDBInstanceOption', ], ], 'OrderableDBInstanceOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OrderableDBInstanceOptions' => [ 'shape' => 'OrderableDBInstanceOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], 'ApplyMethod' => [ 'shape' => 'ApplyMethod', ], 'SupportedEngineModes' => [ 'shape' => 'EngineModeList', ], ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingCloudwatchLogsExports' => [ 'type' => 'structure', 'members' => [ 'LogTypesToEnable' => [ 'shape' => 'LogTypeList', ], 'LogTypesToDisable' => [ 'shape' => 'LogTypeList', ], ], ], 'PendingMaintenanceAction' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'String', ], 'AutoAppliedAfterDate' => [ 'shape' => 'TStamp', ], 'ForcedApplyDate' => [ 'shape' => 'TStamp', ], 'OptInStatus' => [ 'shape' => 'String', ], 'CurrentApplyDate' => [ 'shape' => 'TStamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'PendingMaintenanceActionDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'PendingMaintenanceAction', 'locationName' => 'PendingMaintenanceAction', ], ], 'PendingMaintenanceActions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePendingMaintenanceActions', 'locationName' => 'ResourcePendingMaintenanceActions', ], ], 'PendingMaintenanceActionsMessage' => [ 'type' => 'structure', 'members' => [ 'PendingMaintenanceActions' => [ 'shape' => 'PendingMaintenanceActions', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'DBInstanceClass' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'StorageType' => [ 'shape' => 'String', ], 'CACertificateIdentifier' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PendingCloudwatchLogsExports' => [ 'shape' => 'PendingCloudwatchLogsExports', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], ], ], 'PointInTimeRestoreNotEnabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'PointInTimeRestoreNotEnabled', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ProcessorFeature' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'ProcessorFeatureList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProcessorFeature', 'locationName' => 'ProcessorFeature', ], ], 'PromoteReadReplicaDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'PromoteReadReplicaDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'PromoteReadReplicaMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], ], ], 'PromoteReadReplicaResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'ProvisionedIopsNotAvailableInAZFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ProvisionedIopsNotAvailableInAZFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PurchaseReservedDBInstancesOfferingMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedDBInstancesOfferingId', ], 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'DBInstanceCount' => [ 'shape' => 'IntegerOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'PurchaseReservedDBInstancesOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstance' => [ 'shape' => 'ReservedDBInstance', ], ], ], 'Range' => [ 'type' => 'structure', 'members' => [ 'From' => [ 'shape' => 'Integer', ], 'To' => [ 'shape' => 'Integer', ], 'Step' => [ 'shape' => 'IntegerOptional', ], ], ], 'RangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Range', 'locationName' => 'Range', ], ], 'ReadReplicaDBClusterIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaDBClusterIdentifier', ], ], 'ReadReplicaDBInstanceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaDBInstanceIdentifier', ], ], 'ReadReplicaIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ReadReplicaIdentifier', ], ], 'ReadersArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'RebootDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'RecurringChargeAmount' => [ 'shape' => 'Double', ], 'RecurringChargeFrequency' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'RecurringChargeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'RecurringCharge', ], ], 'RemoveFromGlobalClusterMessage' => [ 'type' => 'structure', 'members' => [ 'GlobalClusterIdentifier' => [ 'shape' => 'String', ], 'DbClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'RemoveFromGlobalClusterResult' => [ 'type' => 'structure', 'members' => [ 'GlobalCluster' => [ 'shape' => 'GlobalCluster', ], ], ], 'RemoveRoleFromDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'RoleArn', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], ], ], 'RemoveRoleFromDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'RoleArn', 'FeatureName', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'RoleArn' => [ 'shape' => 'String', ], 'FeatureName' => [ 'shape' => 'String', ], ], ], 'RemoveSourceIdentifierFromSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SourceIdentifier', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SourceIdentifier' => [ 'shape' => 'String', ], ], ], 'RemoveSourceIdentifierFromSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'ReservedDBInstance' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstanceId' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'DBInstanceCount' => [ 'shape' => 'Integer', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'State' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], 'ReservedDBInstanceArn' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'ReservedDBInstanceAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceAlreadyExists', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedDBInstance', 'locationName' => 'ReservedDBInstance', ], ], 'ReservedDBInstanceMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedDBInstances' => [ 'shape' => 'ReservedDBInstanceList', ], ], ], 'ReservedDBInstanceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstanceQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstanceQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReservedDBInstancesOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedDBInstancesOfferingId' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'ProductDescription' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'Boolean', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], ], 'wrapper' => true, ], 'ReservedDBInstancesOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedDBInstancesOffering', 'locationName' => 'ReservedDBInstancesOffering', ], ], 'ReservedDBInstancesOfferingMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedDBInstancesOfferings' => [ 'shape' => 'ReservedDBInstancesOfferingList', ], ], ], 'ReservedDBInstancesOfferingNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedDBInstancesOfferingNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResetDBClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterParameterGroupName', ], 'members' => [ 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResetDBParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'DBParameterGroupName', ], 'members' => [ 'DBParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResourcePendingMaintenanceActions' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifier' => [ 'shape' => 'String', ], 'PendingMaintenanceActionDetails' => [ 'shape' => 'PendingMaintenanceActionDetails', ], ], 'wrapper' => true, ], 'RestoreDBClusterFromS3Message' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'Engine', 'MasterUsername', 'MasterUserPassword', 'SourceEngine', 'SourceEngineVersion', 'S3BucketName', 'S3IngestionRoleArn', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'CharacterSetName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'SourceEngine' => [ 'shape' => 'String', ], 'SourceEngineVersion' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3Prefix' => [ 'shape' => 'String', ], 'S3IngestionRoleArn' => [ 'shape' => 'String', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBClusterFromS3Result' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'RestoreDBClusterFromSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SnapshotIdentifier', 'Engine', ], 'members' => [ 'AvailabilityZones' => [ 'shape' => 'AvailabilityZones', ], 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'DatabaseName' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'EngineMode' => [ 'shape' => 'String', ], 'ScalingConfiguration' => [ 'shape' => 'ScalingConfiguration', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBClusterFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'RestoreDBClusterToPointInTimeMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', 'SourceDBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'RestoreType' => [ 'shape' => 'String', ], 'SourceDBClusterIdentifier' => [ 'shape' => 'String', ], 'RestoreToTime' => [ 'shape' => 'TStamp', ], 'UseLatestRestorableTime' => [ 'shape' => 'Boolean', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'DBClusterParameterGroupName' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBClusterToPointInTimeResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'RestoreDBInstanceFromDBSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBSnapshotIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBInstanceFromDBSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RestoreDBInstanceFromS3Message' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', 'DBInstanceClass', 'Engine', 'SourceEngine', 'SourceEngineVersion', 'S3BucketName', 'S3IngestionRoleArn', ], 'members' => [ 'DBName' => [ 'shape' => 'String', ], 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'AllocatedStorage' => [ 'shape' => 'IntegerOptional', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'DBSecurityGroups' => [ 'shape' => 'DBSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'BackupRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredBackupWindow' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'EngineVersion' => [ 'shape' => 'String', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'StorageEncrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'MonitoringInterval' => [ 'shape' => 'IntegerOptional', ], 'MonitoringRoleArn' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'SourceEngine' => [ 'shape' => 'String', ], 'SourceEngineVersion' => [ 'shape' => 'String', ], 'S3BucketName' => [ 'shape' => 'String', ], 'S3Prefix' => [ 'shape' => 'String', ], 'S3IngestionRoleArn' => [ 'shape' => 'String', ], 'EnablePerformanceInsights' => [ 'shape' => 'BooleanOptional', ], 'PerformanceInsightsKMSKeyId' => [ 'shape' => 'String', ], 'PerformanceInsightsRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], ], ], 'RestoreDBInstanceFromS3Result' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RestoreDBInstanceToPointInTimeMessage' => [ 'type' => 'structure', 'required' => [ 'TargetDBInstanceIdentifier', ], 'members' => [ 'SourceDBInstanceIdentifier' => [ 'shape' => 'String', ], 'TargetDBInstanceIdentifier' => [ 'shape' => 'String', ], 'RestoreTime' => [ 'shape' => 'TStamp', ], 'UseLatestRestorableTime' => [ 'shape' => 'Boolean', ], 'DBInstanceClass' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'DBSubnetGroupName' => [ 'shape' => 'String', ], 'MultiAZ' => [ 'shape' => 'BooleanOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'AutoMinorVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'LicenseModel' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Engine' => [ 'shape' => 'String', ], 'Iops' => [ 'shape' => 'IntegerOptional', ], 'OptionGroupName' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'Domain' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], 'DBParameterGroupName' => [ 'shape' => 'String', ], 'DeletionProtection' => [ 'shape' => 'BooleanOptional', ], 'SourceDbiResourceId' => [ 'shape' => 'String', ], ], ], 'RestoreDBInstanceToPointInTimeResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'RestoreWindow' => [ 'type' => 'structure', 'members' => [ 'EarliestTime' => [ 'shape' => 'TStamp', ], 'LatestTime' => [ 'shape' => 'TStamp', ], ], ], 'RevokeDBSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'DBSecurityGroupName', ], 'members' => [ 'DBSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupId' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'RevokeDBSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'DBSecurityGroup' => [ 'shape' => 'DBSecurityGroup', ], ], ], 'SNSInvalidTopicFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSInvalidTopic', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSNoAuthorizationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSNoAuthorization', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSTopicArnNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSTopicArnNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ScalingConfiguration' => [ 'type' => 'structure', 'members' => [ 'MinCapacity' => [ 'shape' => 'IntegerOptional', ], 'MaxCapacity' => [ 'shape' => 'IntegerOptional', ], 'AutoPause' => [ 'shape' => 'BooleanOptional', ], 'SecondsUntilAutoPause' => [ 'shape' => 'IntegerOptional', ], ], ], 'ScalingConfigurationInfo' => [ 'type' => 'structure', 'members' => [ 'MinCapacity' => [ 'shape' => 'IntegerOptional', ], 'MaxCapacity' => [ 'shape' => 'IntegerOptional', ], 'AutoPause' => [ 'shape' => 'BooleanOptional', ], 'SecondsUntilAutoPause' => [ 'shape' => 'IntegerOptional', ], ], ], 'SharedSnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SharedSnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SourceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SourceId', ], ], 'SourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SourceRegion' => [ 'type' => 'structure', 'members' => [ 'RegionName' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'SourceRegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceRegion', 'locationName' => 'SourceRegion', ], ], 'SourceRegionMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'SourceRegions' => [ 'shape' => 'SourceRegionList', ], ], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'db-instance', 'db-parameter-group', 'db-security-group', 'db-snapshot', 'db-cluster', 'db-cluster-snapshot', ], ], 'StartDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'StartDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'StartDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'StartDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'StopDBClusterMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'StopDBClusterResult' => [ 'type' => 'structure', 'members' => [ 'DBCluster' => [ 'shape' => 'DBCluster', ], ], ], 'StopDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], 'DBSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], 'StopDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], 'StorageQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'StorageTypeNotSupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'StorageTypeNotSupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetAlreadyInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'SubscriptionAlreadyExistFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionAlreadyExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionCategoryNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionCategoryNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SupportedCharacterSetsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CharacterSet', 'locationName' => 'CharacterSet', ], ], 'SupportedTimezonesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Timezone', 'locationName' => 'Timezone', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagListMessage' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'Timezone' => [ 'type' => 'structure', 'members' => [ 'TimezoneName' => [ 'shape' => 'String', ], ], ], 'UpgradeTarget' => [ 'type' => 'structure', 'members' => [ 'Engine' => [ 'shape' => 'String', ], 'EngineVersion' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'AutoUpgrade' => [ 'shape' => 'Boolean', ], 'IsMajorVersionUpgrade' => [ 'shape' => 'Boolean', ], ], ], 'ValidDBInstanceModificationsMessage' => [ 'type' => 'structure', 'members' => [ 'Storage' => [ 'shape' => 'ValidStorageOptionsList', ], 'ValidProcessorFeatures' => [ 'shape' => 'AvailableProcessorFeatureList', ], ], 'wrapper' => true, ], 'ValidStorageOptions' => [ 'type' => 'structure', 'members' => [ 'StorageType' => [ 'shape' => 'String', ], 'StorageSize' => [ 'shape' => 'RangeList', ], 'ProvisionedIops' => [ 'shape' => 'RangeList', ], 'IopsToStorageRatio' => [ 'shape' => 'DoubleRangeList', ], ], ], 'ValidStorageOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidStorageOptions', 'locationName' => 'ValidStorageOptions', ], ], 'ValidUpgradeTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpgradeTarget', 'locationName' => 'UpgradeTarget', ], ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcSecurityGroupId', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', 'locationName' => 'VpcSecurityGroupMembership', ], ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-10-31/paginators-1.json.php b/lib/aws/Aws/data/rds/2014-10-31/paginators-1.json.php new file mode 100644 index 0000000..f7164b7 --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-10-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/paginators-1.json +return [ 'pagination' => [ 'DescribeDBClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBClusters', ], 'DescribeDBEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBEngineVersions', ], 'DescribeDBInstanceAutomatedBackups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstanceAutomatedBackups', ], 'DescribeDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstances', ], 'DescribeDBLogFiles' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DescribeDBLogFiles', ], 'DescribeDBParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBParameterGroups', ], 'DescribeDBParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeDBSecurityGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSecurityGroups', ], 'DescribeDBSnapshots' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSnapshots', ], 'DescribeDBSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSubnetGroups', ], 'DescribeEngineDefaultParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'EngineDefaults.Marker', 'result_key' => 'EngineDefaults.Parameters', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'EventSubscriptionsList', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeGlobalClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'GlobalClusters', ], 'DescribeOptionGroupOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupOptions', ], 'DescribeOptionGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupsList', ], 'DescribeOrderableDBInstanceOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableDBInstanceOptions', ], 'DescribeReservedDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstances', ], 'DescribeReservedDBInstancesOfferings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstancesOfferings', ], 'DownloadDBLogFilePortion' => [ 'input_token' => 'Marker', 'limit_key' => 'NumberOfLines', 'more_results' => 'AdditionalDataPending', 'output_token' => 'Marker', 'result_key' => 'LogFileData', ], 'ListTagsForResource' => [ 'result_key' => 'TagList', ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-10-31/smoke.json.php b/lib/aws/Aws/data/rds/2014-10-31/smoke.json.php new file mode 100644 index 0000000..f3a489b --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-10-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeDBEngineVersions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeDBInstances', 'input' => [ 'DBInstanceIdentifier' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-10-31/waiters-1.json.php b/lib/aws/Aws/data/rds/2014-10-31/waiters-1.json.php new file mode 100644 index 0000000..f89c2db --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-10-31/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 30, 'max_attempts' => 60, ], '__DBInstanceState' => [ 'operation' => 'DescribeDBInstances', 'acceptor_path' => 'DBInstances[].DBInstanceStatus', 'acceptor_type' => 'output', ], 'DBInstanceAvailable' => [ 'extends' => '__DBInstanceState', 'success_value' => 'available', 'failure_value' => [ 'deleted', 'deleting', 'failed', 'incompatible-restore', 'incompatible-parameters', 'incompatible-parameters', 'incompatible-restore', ], ], 'DBInstanceDeleted' => [ 'extends' => '__DBInstanceState', 'success_value' => 'deleted', 'failure_value' => [ 'creating', 'modifying', 'rebooting', 'resetting-master-credentials', ], ], ],]; diff --git a/lib/aws/Aws/data/rds/2014-10-31/waiters-2.json.php b/lib/aws/Aws/data/rds/2014-10-31/waiters-2.json.php new file mode 100644 index 0000000..6bf06df --- /dev/null +++ b/lib/aws/Aws/data/rds/2014-10-31/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'DBInstanceAvailable' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-restore', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'incompatible-parameters', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], 'DBInstanceDeleted' => [ 'delay' => 30, 'operation' => 'DescribeDBInstances', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'DBInstanceNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], [ 'expected' => 'resetting-master-credentials', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBInstances[].DBInstanceStatus', ], ], ], 'DBSnapshotAvailable' => [ 'delay' => 30, 'operation' => 'DescribeDBSnapshots', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'incompatible-restore', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'incompatible-parameters', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], ], ], 'DBSnapshotDeleted' => [ 'delay' => 30, 'operation' => 'DescribeDBSnapshots', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'deleted', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'DBSnapshotNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'rebooting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], [ 'expected' => 'resetting-master-credentials', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'DBSnapshots[].Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/redshift/2012-12-01/api-2.json.php b/lib/aws/Aws/data/redshift/2012-12-01/api-2.json.php new file mode 100644 index 0000000..a9e9cc2 --- /dev/null +++ b/lib/aws/Aws/data/redshift/2012-12-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/redshift/2012-12-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-12-01', 'endpointPrefix' => 'redshift', 'protocol' => 'query', 'serviceFullName' => 'Amazon Redshift', 'serviceId' => 'Redshift', 'signatureVersion' => 'v4', 'uid' => 'redshift-2012-12-01', 'xmlNamespace' => 'http://redshift.amazonaws.com/doc/2012-12-01/', ], 'operations' => [ 'AcceptReservedNodeExchange' => [ 'name' => 'AcceptReservedNodeExchange', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptReservedNodeExchangeInputMessage', ], 'output' => [ 'shape' => 'AcceptReservedNodeExchangeOutputMessage', 'resultWrapper' => 'AcceptReservedNodeExchangeResult', ], 'errors' => [ [ 'shape' => 'ReservedNodeNotFoundFault', ], [ 'shape' => 'InvalidReservedNodeStateFault', ], [ 'shape' => 'ReservedNodeAlreadyMigratedFault', ], [ 'shape' => 'ReservedNodeOfferingNotFoundFault', ], [ 'shape' => 'UnsupportedOperationFault', ], [ 'shape' => 'DependentServiceUnavailableFault', ], [ 'shape' => 'ReservedNodeAlreadyExistsFault', ], ], ], 'AuthorizeClusterSecurityGroupIngress' => [ 'name' => 'AuthorizeClusterSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeClusterSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'AuthorizeClusterSecurityGroupIngressResult', 'resultWrapper' => 'AuthorizeClusterSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidClusterSecurityGroupStateFault', ], [ 'shape' => 'AuthorizationAlreadyExistsFault', ], [ 'shape' => 'AuthorizationQuotaExceededFault', ], ], ], 'AuthorizeSnapshotAccess' => [ 'name' => 'AuthorizeSnapshotAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeSnapshotAccessMessage', ], 'output' => [ 'shape' => 'AuthorizeSnapshotAccessResult', 'resultWrapper' => 'AuthorizeSnapshotAccessResult', ], 'errors' => [ [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'AuthorizationAlreadyExistsFault', ], [ 'shape' => 'AuthorizationQuotaExceededFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'LimitExceededFault', ], ], ], 'BatchDeleteClusterSnapshots' => [ 'name' => 'BatchDeleteClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDeleteClusterSnapshotsRequest', ], 'output' => [ 'shape' => 'BatchDeleteClusterSnapshotsResult', 'resultWrapper' => 'BatchDeleteClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'BatchDeleteRequestSizeExceededFault', ], ], ], 'BatchModifyClusterSnapshots' => [ 'name' => 'BatchModifyClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchModifyClusterSnapshotsMessage', ], 'output' => [ 'shape' => 'BatchModifyClusterSnapshotsOutputMessage', 'resultWrapper' => 'BatchModifyClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'InvalidRetentionPeriodFault', ], [ 'shape' => 'BatchModifyClusterSnapshotsLimitExceededFault', ], ], ], 'CancelResize' => [ 'name' => 'CancelResize', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelResizeMessage', ], 'output' => [ 'shape' => 'ResizeProgressMessage', 'resultWrapper' => 'CancelResizeResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ResizeNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'UnsupportedOperationFault', ], ], ], 'CopyClusterSnapshot' => [ 'name' => 'CopyClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CopyClusterSnapshotResult', 'resultWrapper' => 'CopyClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'ClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'ClusterSnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterMessage', ], 'output' => [ 'shape' => 'CreateClusterResult', 'resultWrapper' => 'CreateClusterResult', ], 'errors' => [ [ 'shape' => 'ClusterAlreadyExistsFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'ClusterQuotaExceededFault', ], [ 'shape' => 'NumberOfNodesQuotaExceededFault', ], [ 'shape' => 'NumberOfNodesPerClusterLimitExceededFault', ], [ 'shape' => 'ClusterSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidClusterSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'HsmClientCertificateNotFoundFault', ], [ 'shape' => 'HsmConfigurationNotFoundFault', ], [ 'shape' => 'InvalidElasticIpFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], [ 'shape' => 'InvalidClusterTrackFault', ], [ 'shape' => 'SnapshotScheduleNotFoundFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'CreateClusterParameterGroup' => [ 'name' => 'CreateClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'CreateClusterParameterGroupResult', 'resultWrapper' => 'CreateClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterParameterGroupQuotaExceededFault', ], [ 'shape' => 'ClusterParameterGroupAlreadyExistsFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'CreateClusterSecurityGroup' => [ 'name' => 'CreateClusterSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterSecurityGroupMessage', ], 'output' => [ 'shape' => 'CreateClusterSecurityGroupResult', 'resultWrapper' => 'CreateClusterSecurityGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterSecurityGroupAlreadyExistsFault', ], [ 'shape' => 'ClusterSecurityGroupQuotaExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'CreateClusterSnapshot' => [ 'name' => 'CreateClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CreateClusterSnapshotResult', 'resultWrapper' => 'CreateClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'ClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ClusterSnapshotQuotaExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'CreateClusterSubnetGroup' => [ 'name' => 'CreateClusterSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterSubnetGroupMessage', ], 'output' => [ 'shape' => 'CreateClusterSubnetGroupResult', 'resultWrapper' => 'CreateClusterSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterSubnetGroupAlreadyExistsFault', ], [ 'shape' => 'ClusterSubnetGroupQuotaExceededFault', ], [ 'shape' => 'ClusterSubnetQuotaExceededFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], ], ], 'CreateEventSubscription' => [ 'name' => 'CreateEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEventSubscriptionMessage', ], 'output' => [ 'shape' => 'CreateEventSubscriptionResult', 'resultWrapper' => 'CreateEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'EventSubscriptionQuotaExceededFault', ], [ 'shape' => 'SubscriptionAlreadyExistFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionEventIdNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], [ 'shape' => 'SubscriptionSeverityNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'CreateHsmClientCertificate' => [ 'name' => 'CreateHsmClientCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHsmClientCertificateMessage', ], 'output' => [ 'shape' => 'CreateHsmClientCertificateResult', 'resultWrapper' => 'CreateHsmClientCertificateResult', ], 'errors' => [ [ 'shape' => 'HsmClientCertificateAlreadyExistsFault', ], [ 'shape' => 'HsmClientCertificateQuotaExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'CreateHsmConfiguration' => [ 'name' => 'CreateHsmConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHsmConfigurationMessage', ], 'output' => [ 'shape' => 'CreateHsmConfigurationResult', 'resultWrapper' => 'CreateHsmConfigurationResult', ], 'errors' => [ [ 'shape' => 'HsmConfigurationAlreadyExistsFault', ], [ 'shape' => 'HsmConfigurationQuotaExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'CreateSnapshotCopyGrant' => [ 'name' => 'CreateSnapshotCopyGrant', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotCopyGrantMessage', ], 'output' => [ 'shape' => 'CreateSnapshotCopyGrantResult', 'resultWrapper' => 'CreateSnapshotCopyGrantResult', ], 'errors' => [ [ 'shape' => 'SnapshotCopyGrantAlreadyExistsFault', ], [ 'shape' => 'SnapshotCopyGrantQuotaExceededFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'InvalidTagFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], ], ], 'CreateSnapshotSchedule' => [ 'name' => 'CreateSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotScheduleMessage', ], 'output' => [ 'shape' => 'SnapshotSchedule', 'resultWrapper' => 'CreateSnapshotScheduleResult', ], 'errors' => [ [ 'shape' => 'SnapshotScheduleAlreadyExistsFault', ], [ 'shape' => 'InvalidScheduleFault', ], [ 'shape' => 'SnapshotScheduleQuotaExceededFault', ], [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'ScheduleDefinitionTypeUnsupportedFault', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsMessage', ], 'errors' => [ [ 'shape' => 'TagLimitExceededFault', ], [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DeleteCluster' => [ 'name' => 'DeleteCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterMessage', ], 'output' => [ 'shape' => 'DeleteClusterResult', 'resultWrapper' => 'DeleteClusterResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'ClusterSnapshotQuotaExceededFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'DeleteClusterParameterGroup' => [ 'name' => 'DeleteClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterParameterGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidClusterParameterGroupStateFault', ], [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], ], ], 'DeleteClusterSecurityGroup' => [ 'name' => 'DeleteClusterSecurityGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterSecurityGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidClusterSecurityGroupStateFault', ], [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], ], ], 'DeleteClusterSnapshot' => [ 'name' => 'DeleteClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterSnapshotMessage', ], 'output' => [ 'shape' => 'DeleteClusterSnapshotResult', 'resultWrapper' => 'DeleteClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], ], ], 'DeleteClusterSubnetGroup' => [ 'name' => 'DeleteClusterSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteClusterSubnetGroupMessage', ], 'errors' => [ [ 'shape' => 'InvalidClusterSubnetGroupStateFault', ], [ 'shape' => 'InvalidClusterSubnetStateFault', ], [ 'shape' => 'ClusterSubnetGroupNotFoundFault', ], ], ], 'DeleteEventSubscription' => [ 'name' => 'DeleteEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEventSubscriptionMessage', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'InvalidSubscriptionStateFault', ], ], ], 'DeleteHsmClientCertificate' => [ 'name' => 'DeleteHsmClientCertificate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHsmClientCertificateMessage', ], 'errors' => [ [ 'shape' => 'InvalidHsmClientCertificateStateFault', ], [ 'shape' => 'HsmClientCertificateNotFoundFault', ], ], ], 'DeleteHsmConfiguration' => [ 'name' => 'DeleteHsmConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteHsmConfigurationMessage', ], 'errors' => [ [ 'shape' => 'InvalidHsmConfigurationStateFault', ], [ 'shape' => 'HsmConfigurationNotFoundFault', ], ], ], 'DeleteSnapshotCopyGrant' => [ 'name' => 'DeleteSnapshotCopyGrant', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotCopyGrantMessage', ], 'errors' => [ [ 'shape' => 'InvalidSnapshotCopyGrantStateFault', ], [ 'shape' => 'SnapshotCopyGrantNotFoundFault', ], ], ], 'DeleteSnapshotSchedule' => [ 'name' => 'DeleteSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotScheduleMessage', ], 'errors' => [ [ 'shape' => 'InvalidClusterSnapshotScheduleStateFault', ], [ 'shape' => 'SnapshotScheduleNotFoundFault', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsMessage', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeAccountAttributes' => [ 'name' => 'DescribeAccountAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountAttributesMessage', ], 'output' => [ 'shape' => 'AccountAttributeList', 'resultWrapper' => 'DescribeAccountAttributesResult', ], ], 'DescribeClusterDbRevisions' => [ 'name' => 'DescribeClusterDbRevisions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterDbRevisionsMessage', ], 'output' => [ 'shape' => 'ClusterDbRevisionsMessage', 'resultWrapper' => 'DescribeClusterDbRevisionsResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], ], ], 'DescribeClusterParameterGroups' => [ 'name' => 'DescribeClusterParameterGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterParameterGroupsMessage', ], 'output' => [ 'shape' => 'ClusterParameterGroupsMessage', 'resultWrapper' => 'DescribeClusterParameterGroupsResult', ], 'errors' => [ [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeClusterParameters' => [ 'name' => 'DescribeClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterParametersMessage', ], 'output' => [ 'shape' => 'ClusterParameterGroupDetails', 'resultWrapper' => 'DescribeClusterParametersResult', ], 'errors' => [ [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], ], ], 'DescribeClusterSecurityGroups' => [ 'name' => 'DescribeClusterSecurityGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterSecurityGroupsMessage', ], 'output' => [ 'shape' => 'ClusterSecurityGroupMessage', 'resultWrapper' => 'DescribeClusterSecurityGroupsResult', ], 'errors' => [ [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeClusterSnapshots' => [ 'name' => 'DescribeClusterSnapshots', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterSnapshotsMessage', ], 'output' => [ 'shape' => 'SnapshotMessage', 'resultWrapper' => 'DescribeClusterSnapshotsResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeClusterSubnetGroups' => [ 'name' => 'DescribeClusterSubnetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterSubnetGroupsMessage', ], 'output' => [ 'shape' => 'ClusterSubnetGroupMessage', 'resultWrapper' => 'DescribeClusterSubnetGroupsResult', ], 'errors' => [ [ 'shape' => 'ClusterSubnetGroupNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeClusterTracks' => [ 'name' => 'DescribeClusterTracks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterTracksMessage', ], 'output' => [ 'shape' => 'TrackListMessage', 'resultWrapper' => 'DescribeClusterTracksResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterTrackFault', ], [ 'shape' => 'UnauthorizedOperation', ], ], ], 'DescribeClusterVersions' => [ 'name' => 'DescribeClusterVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterVersionsMessage', ], 'output' => [ 'shape' => 'ClusterVersionsMessage', 'resultWrapper' => 'DescribeClusterVersionsResult', ], ], 'DescribeClusters' => [ 'name' => 'DescribeClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClustersMessage', ], 'output' => [ 'shape' => 'ClustersMessage', 'resultWrapper' => 'DescribeClustersResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeDefaultClusterParameters' => [ 'name' => 'DescribeDefaultClusterParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDefaultClusterParametersMessage', ], 'output' => [ 'shape' => 'DescribeDefaultClusterParametersResult', 'resultWrapper' => 'DescribeDefaultClusterParametersResult', ], ], 'DescribeEventCategories' => [ 'name' => 'DescribeEventCategories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventCategoriesMessage', ], 'output' => [ 'shape' => 'EventCategoriesMessage', 'resultWrapper' => 'DescribeEventCategoriesResult', ], ], 'DescribeEventSubscriptions' => [ 'name' => 'DescribeEventSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventSubscriptionsMessage', ], 'output' => [ 'shape' => 'EventSubscriptionsMessage', 'resultWrapper' => 'DescribeEventSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeEvents' => [ 'name' => 'DescribeEvents', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEventsMessage', ], 'output' => [ 'shape' => 'EventsMessage', 'resultWrapper' => 'DescribeEventsResult', ], ], 'DescribeHsmClientCertificates' => [ 'name' => 'DescribeHsmClientCertificates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHsmClientCertificatesMessage', ], 'output' => [ 'shape' => 'HsmClientCertificateMessage', 'resultWrapper' => 'DescribeHsmClientCertificatesResult', ], 'errors' => [ [ 'shape' => 'HsmClientCertificateNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeHsmConfigurations' => [ 'name' => 'DescribeHsmConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHsmConfigurationsMessage', ], 'output' => [ 'shape' => 'HsmConfigurationMessage', 'resultWrapper' => 'DescribeHsmConfigurationsResult', ], 'errors' => [ [ 'shape' => 'HsmConfigurationNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeLoggingStatus' => [ 'name' => 'DescribeLoggingStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLoggingStatusMessage', ], 'output' => [ 'shape' => 'LoggingStatus', 'resultWrapper' => 'DescribeLoggingStatusResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'DescribeOrderableClusterOptions' => [ 'name' => 'DescribeOrderableClusterOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrderableClusterOptionsMessage', ], 'output' => [ 'shape' => 'OrderableClusterOptionsMessage', 'resultWrapper' => 'DescribeOrderableClusterOptionsResult', ], ], 'DescribeReservedNodeOfferings' => [ 'name' => 'DescribeReservedNodeOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedNodeOfferingsMessage', ], 'output' => [ 'shape' => 'ReservedNodeOfferingsMessage', 'resultWrapper' => 'DescribeReservedNodeOfferingsResult', ], 'errors' => [ [ 'shape' => 'ReservedNodeOfferingNotFoundFault', ], [ 'shape' => 'UnsupportedOperationFault', ], [ 'shape' => 'DependentServiceUnavailableFault', ], ], ], 'DescribeReservedNodes' => [ 'name' => 'DescribeReservedNodes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeReservedNodesMessage', ], 'output' => [ 'shape' => 'ReservedNodesMessage', 'resultWrapper' => 'DescribeReservedNodesResult', ], 'errors' => [ [ 'shape' => 'ReservedNodeNotFoundFault', ], [ 'shape' => 'DependentServiceUnavailableFault', ], ], ], 'DescribeResize' => [ 'name' => 'DescribeResize', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeResizeMessage', ], 'output' => [ 'shape' => 'ResizeProgressMessage', 'resultWrapper' => 'DescribeResizeResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ResizeNotFoundFault', ], ], ], 'DescribeSnapshotCopyGrants' => [ 'name' => 'DescribeSnapshotCopyGrants', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotCopyGrantsMessage', ], 'output' => [ 'shape' => 'SnapshotCopyGrantMessage', 'resultWrapper' => 'DescribeSnapshotCopyGrantsResult', ], 'errors' => [ [ 'shape' => 'SnapshotCopyGrantNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeSnapshotSchedules' => [ 'name' => 'DescribeSnapshotSchedules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotSchedulesMessage', ], 'output' => [ 'shape' => 'DescribeSnapshotSchedulesOutputMessage', 'resultWrapper' => 'DescribeSnapshotSchedulesResult', ], ], 'DescribeStorage' => [ 'name' => 'DescribeStorage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'output' => [ 'shape' => 'CustomerStorageMessage', 'resultWrapper' => 'DescribeStorageResult', ], ], 'DescribeTableRestoreStatus' => [ 'name' => 'DescribeTableRestoreStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTableRestoreStatusMessage', ], 'output' => [ 'shape' => 'TableRestoreStatusMessage', 'resultWrapper' => 'DescribeTableRestoreStatusResult', ], 'errors' => [ [ 'shape' => 'TableRestoreNotFoundFault', ], [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsMessage', ], 'output' => [ 'shape' => 'TaggedResourceListMessage', 'resultWrapper' => 'DescribeTagsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DisableLogging' => [ 'name' => 'DisableLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableLoggingMessage', ], 'output' => [ 'shape' => 'LoggingStatus', 'resultWrapper' => 'DisableLoggingResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'DisableSnapshotCopy' => [ 'name' => 'DisableSnapshotCopy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableSnapshotCopyMessage', ], 'output' => [ 'shape' => 'DisableSnapshotCopyResult', 'resultWrapper' => 'DisableSnapshotCopyResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'SnapshotCopyAlreadyDisabledFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'UnauthorizedOperation', ], ], ], 'EnableLogging' => [ 'name' => 'EnableLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableLoggingMessage', ], 'output' => [ 'shape' => 'LoggingStatus', 'resultWrapper' => 'EnableLoggingResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'BucketNotFoundFault', ], [ 'shape' => 'InsufficientS3BucketPolicyFault', ], [ 'shape' => 'InvalidS3KeyPrefixFault', ], [ 'shape' => 'InvalidS3BucketNameFault', ], ], ], 'EnableSnapshotCopy' => [ 'name' => 'EnableSnapshotCopy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableSnapshotCopyMessage', ], 'output' => [ 'shape' => 'EnableSnapshotCopyResult', 'resultWrapper' => 'EnableSnapshotCopyResult', ], 'errors' => [ [ 'shape' => 'IncompatibleOrderableOptions', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'CopyToRegionDisabledFault', ], [ 'shape' => 'SnapshotCopyAlreadyEnabledFault', ], [ 'shape' => 'UnknownSnapshotCopyRegionFault', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'SnapshotCopyGrantNotFoundFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'GetClusterCredentials' => [ 'name' => 'GetClusterCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetClusterCredentialsMessage', ], 'output' => [ 'shape' => 'ClusterCredentials', 'resultWrapper' => 'GetClusterCredentialsResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'UnsupportedOperationFault', ], ], ], 'GetReservedNodeExchangeOfferings' => [ 'name' => 'GetReservedNodeExchangeOfferings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReservedNodeExchangeOfferingsInputMessage', ], 'output' => [ 'shape' => 'GetReservedNodeExchangeOfferingsOutputMessage', 'resultWrapper' => 'GetReservedNodeExchangeOfferingsResult', ], 'errors' => [ [ 'shape' => 'ReservedNodeNotFoundFault', ], [ 'shape' => 'InvalidReservedNodeStateFault', ], [ 'shape' => 'ReservedNodeAlreadyMigratedFault', ], [ 'shape' => 'ReservedNodeOfferingNotFoundFault', ], [ 'shape' => 'UnsupportedOperationFault', ], [ 'shape' => 'DependentServiceUnavailableFault', ], ], ], 'ModifyCluster' => [ 'name' => 'ModifyCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterMessage', ], 'output' => [ 'shape' => 'ModifyClusterResult', 'resultWrapper' => 'ModifyClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'InvalidClusterSecurityGroupStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'NumberOfNodesQuotaExceededFault', ], [ 'shape' => 'NumberOfNodesPerClusterLimitExceededFault', ], [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'UnsupportedOptionFault', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'HsmClientCertificateNotFoundFault', ], [ 'shape' => 'HsmConfigurationNotFoundFault', ], [ 'shape' => 'ClusterAlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], [ 'shape' => 'InvalidElasticIpFault', ], [ 'shape' => 'TableLimitExceededFault', ], [ 'shape' => 'InvalidClusterTrackFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'ModifyClusterDbRevision' => [ 'name' => 'ModifyClusterDbRevision', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterDbRevisionMessage', ], 'output' => [ 'shape' => 'ModifyClusterDbRevisionResult', 'resultWrapper' => 'ModifyClusterDbRevisionResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'ClusterOnLatestRevisionFault', ], [ 'shape' => 'InvalidClusterStateFault', ], ], ], 'ModifyClusterIamRoles' => [ 'name' => 'ModifyClusterIamRoles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterIamRolesMessage', ], 'output' => [ 'shape' => 'ModifyClusterIamRolesResult', 'resultWrapper' => 'ModifyClusterIamRolesResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'ModifyClusterMaintenance' => [ 'name' => 'ModifyClusterMaintenance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterMaintenanceMessage', ], 'output' => [ 'shape' => 'ModifyClusterMaintenanceResult', 'resultWrapper' => 'ModifyClusterMaintenanceResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'ModifyClusterParameterGroup' => [ 'name' => 'ModifyClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'ClusterParameterGroupNameMessage', 'resultWrapper' => 'ModifyClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidClusterParameterGroupStateFault', ], ], ], 'ModifyClusterSnapshot' => [ 'name' => 'ModifyClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterSnapshotMessage', ], 'output' => [ 'shape' => 'ModifyClusterSnapshotResult', 'resultWrapper' => 'ModifyClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'ModifyClusterSnapshotSchedule' => [ 'name' => 'ModifyClusterSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterSnapshotScheduleMessage', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'SnapshotScheduleNotFoundFault', ], [ 'shape' => 'InvalidClusterSnapshotScheduleStateFault', ], ], ], 'ModifyClusterSubnetGroup' => [ 'name' => 'ModifyClusterSubnetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterSubnetGroupMessage', ], 'output' => [ 'shape' => 'ModifyClusterSubnetGroupResult', 'resultWrapper' => 'ModifyClusterSubnetGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterSubnetGroupNotFoundFault', ], [ 'shape' => 'ClusterSubnetQuotaExceededFault', ], [ 'shape' => 'SubnetAlreadyInUse', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], ], ], 'ModifyEventSubscription' => [ 'name' => 'ModifyEventSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyEventSubscriptionMessage', ], 'output' => [ 'shape' => 'ModifyEventSubscriptionResult', 'resultWrapper' => 'ModifyEventSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionNotFoundFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'SNSTopicArnNotFoundFault', ], [ 'shape' => 'SubscriptionEventIdNotFoundFault', ], [ 'shape' => 'SubscriptionCategoryNotFoundFault', ], [ 'shape' => 'SubscriptionSeverityNotFoundFault', ], [ 'shape' => 'SourceNotFoundFault', ], [ 'shape' => 'InvalidSubscriptionStateFault', ], ], ], 'ModifySnapshotCopyRetentionPeriod' => [ 'name' => 'ModifySnapshotCopyRetentionPeriod', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotCopyRetentionPeriodMessage', ], 'output' => [ 'shape' => 'ModifySnapshotCopyRetentionPeriodResult', 'resultWrapper' => 'ModifySnapshotCopyRetentionPeriodResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'SnapshotCopyDisabledFault', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'InvalidRetentionPeriodFault', ], ], ], 'ModifySnapshotSchedule' => [ 'name' => 'ModifySnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifySnapshotScheduleMessage', ], 'output' => [ 'shape' => 'SnapshotSchedule', 'resultWrapper' => 'ModifySnapshotScheduleResult', ], 'errors' => [ [ 'shape' => 'InvalidScheduleFault', ], [ 'shape' => 'SnapshotScheduleNotFoundFault', ], [ 'shape' => 'SnapshotScheduleUpdateInProgressFault', ], ], ], 'PurchaseReservedNodeOffering' => [ 'name' => 'PurchaseReservedNodeOffering', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurchaseReservedNodeOfferingMessage', ], 'output' => [ 'shape' => 'PurchaseReservedNodeOfferingResult', 'resultWrapper' => 'PurchaseReservedNodeOfferingResult', ], 'errors' => [ [ 'shape' => 'ReservedNodeOfferingNotFoundFault', ], [ 'shape' => 'ReservedNodeAlreadyExistsFault', ], [ 'shape' => 'ReservedNodeQuotaExceededFault', ], [ 'shape' => 'UnsupportedOperationFault', ], ], ], 'RebootCluster' => [ 'name' => 'RebootCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootClusterMessage', ], 'output' => [ 'shape' => 'RebootClusterResult', 'resultWrapper' => 'RebootClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], ], ], 'ResetClusterParameterGroup' => [ 'name' => 'ResetClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'ClusterParameterGroupNameMessage', 'resultWrapper' => 'ResetClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterParameterGroupStateFault', ], [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], ], ], 'ResizeCluster' => [ 'name' => 'ResizeCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResizeClusterMessage', ], 'output' => [ 'shape' => 'ResizeClusterResult', 'resultWrapper' => 'ResizeClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'NumberOfNodesQuotaExceededFault', ], [ 'shape' => 'NumberOfNodesPerClusterLimitExceededFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'UnsupportedOptionFault', ], [ 'shape' => 'UnsupportedOperationFault', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'LimitExceededFault', ], ], ], 'RestoreFromClusterSnapshot' => [ 'name' => 'RestoreFromClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreFromClusterSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreFromClusterSnapshotResult', 'resultWrapper' => 'RestoreFromClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'AccessToSnapshotDeniedFault', ], [ 'shape' => 'ClusterAlreadyExistsFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'ClusterQuotaExceededFault', ], [ 'shape' => 'InsufficientClusterCapacityFault', ], [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'InvalidRestoreFault', ], [ 'shape' => 'NumberOfNodesQuotaExceededFault', ], [ 'shape' => 'NumberOfNodesPerClusterLimitExceededFault', ], [ 'shape' => 'InvalidVPCNetworkStateFault', ], [ 'shape' => 'InvalidClusterSubnetGroupStateFault', ], [ 'shape' => 'InvalidSubnet', ], [ 'shape' => 'ClusterSubnetGroupNotFoundFault', ], [ 'shape' => 'UnauthorizedOperation', ], [ 'shape' => 'HsmClientCertificateNotFoundFault', ], [ 'shape' => 'HsmConfigurationNotFoundFault', ], [ 'shape' => 'InvalidElasticIpFault', ], [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], [ 'shape' => 'InvalidClusterTrackFault', ], [ 'shape' => 'SnapshotScheduleNotFoundFault', ], ], ], 'RestoreTableFromClusterSnapshot' => [ 'name' => 'RestoreTableFromClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreTableFromClusterSnapshotMessage', ], 'output' => [ 'shape' => 'RestoreTableFromClusterSnapshotResult', 'resultWrapper' => 'RestoreTableFromClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'InProgressTableRestoreQuotaExceededFault', ], [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'InvalidTableRestoreArgumentFault', ], [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'UnsupportedOperationFault', ], ], ], 'RevokeClusterSecurityGroupIngress' => [ 'name' => 'RevokeClusterSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeClusterSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'RevokeClusterSecurityGroupIngressResult', 'resultWrapper' => 'RevokeClusterSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'ClusterSecurityGroupNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'InvalidClusterSecurityGroupStateFault', ], ], ], 'RevokeSnapshotAccess' => [ 'name' => 'RevokeSnapshotAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeSnapshotAccessMessage', ], 'output' => [ 'shape' => 'RevokeSnapshotAccessResult', 'resultWrapper' => 'RevokeSnapshotAccessResult', ], 'errors' => [ [ 'shape' => 'AccessToSnapshotDeniedFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], ], ], 'RotateEncryptionKey' => [ 'name' => 'RotateEncryptionKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RotateEncryptionKeyMessage', ], 'output' => [ 'shape' => 'RotateEncryptionKeyResult', 'resultWrapper' => 'RotateEncryptionKeyResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], [ 'shape' => 'InvalidClusterStateFault', ], [ 'shape' => 'DependentServiceRequestThrottlingFault', ], ], ], ], 'shapes' => [ 'AcceptReservedNodeExchangeInputMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedNodeId', 'TargetReservedNodeOfferingId', ], 'members' => [ 'ReservedNodeId' => [ 'shape' => 'String', ], 'TargetReservedNodeOfferingId' => [ 'shape' => 'String', ], ], ], 'AcceptReservedNodeExchangeOutputMessage' => [ 'type' => 'structure', 'members' => [ 'ExchangedReservedNode' => [ 'shape' => 'ReservedNode', ], ], ], 'AccessToSnapshotDeniedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AccessToSnapshotDenied', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AccountAttribute' => [ 'type' => 'structure', 'members' => [ 'AttributeName' => [ 'shape' => 'String', ], 'AttributeValues' => [ 'shape' => 'AttributeValueList', ], ], ], 'AccountAttributeList' => [ 'type' => 'structure', 'members' => [ 'AccountAttributes' => [ 'shape' => 'AttributeList', ], ], ], 'AccountWithRestoreAccess' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'String', ], 'AccountAlias' => [ 'shape' => 'String', ], ], ], 'AccountsWithRestoreAccessList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountWithRestoreAccess', 'locationName' => 'AccountWithRestoreAccess', ], ], 'AssociatedClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterAssociatedToSchedule', 'locationName' => 'ClusterAssociatedToSchedule', ], ], 'AttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountAttribute', 'locationName' => 'AccountAttribute', ], ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AttributeName', ], ], 'AttributeValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValueTarget', 'locationName' => 'AttributeValueTarget', ], ], 'AttributeValueTarget' => [ 'type' => 'structure', 'members' => [ 'AttributeValue' => [ 'shape' => 'String', ], ], ], 'AuthorizationAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizationQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AuthorizationQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'AuthorizeClusterSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSecurityGroupName', ], 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'AuthorizeClusterSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroup' => [ 'shape' => 'ClusterSecurityGroup', ], ], ], 'AuthorizeSnapshotAccessMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifier', 'AccountWithRestoreAccess', ], 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotClusterIdentifier' => [ 'shape' => 'String', ], 'AccountWithRestoreAccess' => [ 'shape' => 'String', ], ], ], 'AuthorizeSnapshotAccessResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'SupportedPlatforms' => [ 'shape' => 'SupportedPlatformsList', ], ], 'wrapper' => true, ], 'AvailabilityZoneList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZone', 'locationName' => 'AvailabilityZone', ], ], 'BatchDeleteClusterSnapshotsRequest' => [ 'type' => 'structure', 'required' => [ 'Identifiers', ], 'members' => [ 'Identifiers' => [ 'shape' => 'DeleteClusterSnapshotMessageList', ], ], ], 'BatchDeleteClusterSnapshotsResult' => [ 'type' => 'structure', 'members' => [ 'Resources' => [ 'shape' => 'SnapshotIdentifierList', ], 'Errors' => [ 'shape' => 'BatchSnapshotOperationErrorList', ], ], ], 'BatchDeleteRequestSizeExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'BatchDeleteRequestSizeExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'BatchModifyClusterSnapshotsLimitExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'BatchModifyClusterSnapshotsLimitExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'BatchModifyClusterSnapshotsMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifierList', ], 'members' => [ 'SnapshotIdentifierList' => [ 'shape' => 'SnapshotIdentifierList', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'BatchModifyClusterSnapshotsOutputMessage' => [ 'type' => 'structure', 'members' => [ 'Resources' => [ 'shape' => 'SnapshotIdentifierList', ], 'Errors' => [ 'shape' => 'BatchSnapshotOperationErrors', ], ], ], 'BatchSnapshotOperationErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotErrorMessage', 'locationName' => 'SnapshotErrorMessage', ], ], 'BatchSnapshotOperationErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotErrorMessage', 'locationName' => 'SnapshotErrorMessage', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'BucketNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'BucketNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CancelResizeMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'Cluster' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'ClusterStatus' => [ 'shape' => 'String', ], 'ModifyStatus' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'DBName' => [ 'shape' => 'String', ], 'Endpoint' => [ 'shape' => 'Endpoint', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'AutomatedSnapshotRetentionPeriod' => [ 'shape' => 'Integer', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'Integer', ], 'ClusterSecurityGroups' => [ 'shape' => 'ClusterSecurityGroupMembershipList', ], 'VpcSecurityGroups' => [ 'shape' => 'VpcSecurityGroupMembershipList', ], 'ClusterParameterGroups' => [ 'shape' => 'ClusterParameterGroupStatusList', ], 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'PendingModifiedValues' => [ 'shape' => 'PendingModifiedValues', ], 'ClusterVersion' => [ 'shape' => 'String', ], 'AllowVersionUpgrade' => [ 'shape' => 'Boolean', ], 'NumberOfNodes' => [ 'shape' => 'Integer', ], 'PubliclyAccessible' => [ 'shape' => 'Boolean', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'RestoreStatus' => [ 'shape' => 'RestoreStatus', ], 'DataTransferProgress' => [ 'shape' => 'DataTransferProgress', ], 'HsmStatus' => [ 'shape' => 'HsmStatus', ], 'ClusterSnapshotCopyStatus' => [ 'shape' => 'ClusterSnapshotCopyStatus', ], 'ClusterPublicKey' => [ 'shape' => 'String', ], 'ClusterNodes' => [ 'shape' => 'ClusterNodesList', ], 'ElasticIpStatus' => [ 'shape' => 'ElasticIpStatus', ], 'ClusterRevisionNumber' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnhancedVpcRouting' => [ 'shape' => 'Boolean', ], 'IamRoles' => [ 'shape' => 'ClusterIamRoleList', ], 'PendingActions' => [ 'shape' => 'PendingActionsList', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'ElasticResizeNumberOfNodeOptions' => [ 'shape' => 'String', ], 'DeferredMaintenanceWindows' => [ 'shape' => 'DeferredMaintenanceWindowsList', ], 'SnapshotScheduleIdentifier' => [ 'shape' => 'String', ], 'SnapshotScheduleState' => [ 'shape' => 'ScheduleState', ], 'ResizeInfo' => [ 'shape' => 'ResizeInfo', ], ], 'wrapper' => true, ], 'ClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterAssociatedToSchedule' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ScheduleAssociationState' => [ 'shape' => 'ScheduleState', ], ], ], 'ClusterCredentials' => [ 'type' => 'structure', 'members' => [ 'DbUser' => [ 'shape' => 'String', ], 'DbPassword' => [ 'shape' => 'SensitiveString', ], 'Expiration' => [ 'shape' => 'TStamp', ], ], ], 'ClusterDbRevision' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'CurrentDatabaseRevision' => [ 'shape' => 'String', ], 'DatabaseRevisionReleaseDate' => [ 'shape' => 'TStamp', ], 'RevisionTargets' => [ 'shape' => 'RevisionTargetsList', ], ], ], 'ClusterDbRevisionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterDbRevision', 'locationName' => 'ClusterDbRevision', ], ], 'ClusterDbRevisionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ClusterDbRevisions' => [ 'shape' => 'ClusterDbRevisionsList', ], ], ], 'ClusterIamRole' => [ 'type' => 'structure', 'members' => [ 'IamRoleArn' => [ 'shape' => 'String', ], 'ApplyStatus' => [ 'shape' => 'String', ], ], ], 'ClusterIamRoleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterIamRole', 'locationName' => 'ClusterIamRole', ], ], 'ClusterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Cluster', 'locationName' => 'Cluster', ], ], 'ClusterNode' => [ 'type' => 'structure', 'members' => [ 'NodeRole' => [ 'shape' => 'String', ], 'PrivateIPAddress' => [ 'shape' => 'String', ], 'PublicIPAddress' => [ 'shape' => 'String', ], ], ], 'ClusterNodesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterNode', ], ], 'ClusterNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ClusterOnLatestRevisionFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterOnLatestRevision', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterParameterGroup' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'ClusterParameterGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterParameterGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterParameterGroupDetails' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParametersList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'ClusterParameterGroupNameMessage' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterGroupStatus' => [ 'shape' => 'String', ], ], ], 'ClusterParameterGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterParameterGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ClusterParameterGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterParameterGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterParameterGroupStatus' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], 'ClusterParameterStatusList' => [ 'shape' => 'ClusterParameterStatusList', ], ], ], 'ClusterParameterGroupStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterParameterGroupStatus', 'locationName' => 'ClusterParameterGroup', ], ], 'ClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ParameterGroups' => [ 'shape' => 'ParameterGroupList', ], ], ], 'ClusterParameterStatus' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterApplyStatus' => [ 'shape' => 'String', ], 'ParameterApplyErrorDescription' => [ 'shape' => 'String', ], ], ], 'ClusterParameterStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterParameterStatus', ], ], 'ClusterQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSecurityGroup' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'EC2SecurityGroups' => [ 'shape' => 'EC2SecurityGroupList', ], 'IPRanges' => [ 'shape' => 'IPRangeList', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'ClusterSecurityGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSecurityGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'ClusterSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterSecurityGroupMembership', 'locationName' => 'ClusterSecurityGroup', ], ], 'ClusterSecurityGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ClusterSecurityGroups' => [ 'shape' => 'ClusterSecurityGroups', ], ], ], 'ClusterSecurityGroupNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ClusterSecurityGroupName', ], ], 'ClusterSecurityGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSecurityGroupNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSecurityGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'QuotaExceeded.ClusterSecurityGroup', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterSecurityGroup', 'locationName' => 'ClusterSecurityGroup', ], ], 'ClusterSnapshotAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSnapshotAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSnapshotCopyStatus' => [ 'type' => 'structure', 'members' => [ 'DestinationRegion' => [ 'shape' => 'String', ], 'RetentionPeriod' => [ 'shape' => 'Long', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'Integer', ], 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], ], ], 'ClusterSnapshotNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSnapshotNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSnapshotQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSnapshotQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSubnetGroup' => [ 'type' => 'structure', 'members' => [ 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'SubnetGroupStatus' => [ 'shape' => 'String', ], 'Subnets' => [ 'shape' => 'SubnetList', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'ClusterSubnetGroupAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSubnetGroupAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSubnetGroupMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ClusterSubnetGroups' => [ 'shape' => 'ClusterSubnetGroups', ], ], ], 'ClusterSubnetGroupNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSubnetGroupNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSubnetGroupQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSubnetGroupQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterSubnetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterSubnetGroup', 'locationName' => 'ClusterSubnetGroup', ], ], 'ClusterSubnetQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterSubnetQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ClusterVersion' => [ 'type' => 'structure', 'members' => [ 'ClusterVersion' => [ 'shape' => 'String', ], 'ClusterParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], ], ], 'ClusterVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterVersion', 'locationName' => 'ClusterVersion', ], ], 'ClusterVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ClusterVersions' => [ 'shape' => 'ClusterVersionList', ], ], ], 'ClustersMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Clusters' => [ 'shape' => 'ClusterList', ], ], ], 'CopyClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SourceSnapshotIdentifier', 'TargetSnapshotIdentifier', ], 'members' => [ 'SourceSnapshotIdentifier' => [ 'shape' => 'String', ], 'SourceSnapshotClusterIdentifier' => [ 'shape' => 'String', ], 'TargetSnapshotIdentifier' => [ 'shape' => 'String', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], ], ], 'CopyClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'CopyToRegionDisabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'CopyToRegionDisabledFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'CreateClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'NodeType', 'MasterUsername', 'MasterUserPassword', ], 'members' => [ 'DBName' => [ 'shape' => 'String', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ClusterType' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'MasterUsername' => [ 'shape' => 'String', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'ClusterSecurityGroups' => [ 'shape' => 'ClusterSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ClusterParameterGroupName' => [ 'shape' => 'String', ], 'AutomatedSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'ClusterVersion' => [ 'shape' => 'String', ], 'AllowVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'NumberOfNodes' => [ 'shape' => 'IntegerOptional', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'Encrypted' => [ 'shape' => 'BooleanOptional', ], 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'ElasticIp' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EnhancedVpcRouting' => [ 'shape' => 'BooleanOptional', ], 'AdditionalInfo' => [ 'shape' => 'String', ], 'IamRoles' => [ 'shape' => 'IamRoleArnList', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'SnapshotScheduleIdentifier' => [ 'shape' => 'String', ], ], ], 'CreateClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', 'ParameterGroupFamily', 'Description', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ParameterGroupFamily' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateClusterParameterGroupResult' => [ 'type' => 'structure', 'members' => [ 'ClusterParameterGroup' => [ 'shape' => 'ClusterParameterGroup', ], ], ], 'CreateClusterResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'CreateClusterSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSecurityGroupName', 'Description', ], 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateClusterSecurityGroupResult' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroup' => [ 'shape' => 'ClusterSecurityGroup', ], ], ], 'CreateClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifier', 'ClusterIdentifier', ], 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'CreateClusterSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSubnetGroupName', 'Description', 'SubnetIds', ], 'members' => [ 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateClusterSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'ClusterSubnetGroup' => [ 'shape' => 'ClusterSubnetGroup', ], ], ], 'CreateEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', 'SnsTopicArn', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Severity' => [ 'shape' => 'String', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'CreateHsmClientCertificateMessage' => [ 'type' => 'structure', 'required' => [ 'HsmClientCertificateIdentifier', ], 'members' => [ 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateHsmClientCertificateResult' => [ 'type' => 'structure', 'members' => [ 'HsmClientCertificate' => [ 'shape' => 'HsmClientCertificate', ], ], ], 'CreateHsmConfigurationMessage' => [ 'type' => 'structure', 'required' => [ 'HsmConfigurationIdentifier', 'Description', 'HsmIpAddress', 'HsmPartitionName', 'HsmPartitionPassword', 'HsmServerPublicCertificate', ], 'members' => [ 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'HsmIpAddress' => [ 'shape' => 'String', ], 'HsmPartitionName' => [ 'shape' => 'String', ], 'HsmPartitionPassword' => [ 'shape' => 'String', ], 'HsmServerPublicCertificate' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateHsmConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'HsmConfiguration' => [ 'shape' => 'HsmConfiguration', ], ], ], 'CreateSnapshotCopyGrantMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotCopyGrantName', ], 'members' => [ 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateSnapshotCopyGrantResult' => [ 'type' => 'structure', 'members' => [ 'SnapshotCopyGrant' => [ 'shape' => 'SnapshotCopyGrant', ], ], ], 'CreateSnapshotScheduleMessage' => [ 'type' => 'structure', 'members' => [ 'ScheduleDefinitions' => [ 'shape' => 'ScheduleDefinitionList', ], 'ScheduleIdentifier' => [ 'shape' => 'String', ], 'ScheduleDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'DryRun' => [ 'shape' => 'BooleanOptional', ], 'NextInvocations' => [ 'shape' => 'IntegerOptional', ], ], ], 'CreateTagsMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CustomerStorageMessage' => [ 'type' => 'structure', 'members' => [ 'TotalBackupSizeInMegaBytes' => [ 'shape' => 'Double', ], 'TotalProvisionedStorageInMegaBytes' => [ 'shape' => 'Double', ], ], ], 'DataTransferProgress' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'CurrentRateInMegaBytesPerSecond' => [ 'shape' => 'DoubleOptional', ], 'TotalDataInMegaBytes' => [ 'shape' => 'Long', ], 'DataTransferredInMegaBytes' => [ 'shape' => 'Long', ], 'EstimatedTimeToCompletionInSeconds' => [ 'shape' => 'LongOptional', ], 'ElapsedTimeInSeconds' => [ 'shape' => 'LongOptional', ], ], ], 'DbGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DbGroup', ], ], 'DefaultClusterParameters' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'DeferredMaintenanceWindow' => [ 'type' => 'structure', 'members' => [ 'DeferMaintenanceIdentifier' => [ 'shape' => 'String', ], 'DeferMaintenanceStartTime' => [ 'shape' => 'TStamp', ], 'DeferMaintenanceEndTime' => [ 'shape' => 'TStamp', ], ], ], 'DeferredMaintenanceWindowsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeferredMaintenanceWindow', 'locationName' => 'DeferredMaintenanceWindow', ], ], 'DeleteClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SkipFinalClusterSnapshot' => [ 'shape' => 'Boolean', ], 'FinalClusterSnapshotIdentifier' => [ 'shape' => 'String', ], 'FinalClusterSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], ], ], 'DeleteClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteClusterResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'DeleteClusterSecurityGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSecurityGroupName', ], 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifier', ], 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteClusterSnapshotMessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteClusterSnapshotMessage', 'locationName' => 'DeleteClusterSnapshotMessage', ], ], 'DeleteClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'DeleteClusterSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSubnetGroupName', ], 'members' => [ 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], ], ], 'DeleteEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], ], ], 'DeleteHsmClientCertificateMessage' => [ 'type' => 'structure', 'required' => [ 'HsmClientCertificateIdentifier', ], 'members' => [ 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteHsmConfigurationMessage' => [ 'type' => 'structure', 'required' => [ 'HsmConfigurationIdentifier', ], 'members' => [ 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotCopyGrantMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotCopyGrantName', ], 'members' => [ 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], ], ], 'DeleteSnapshotScheduleMessage' => [ 'type' => 'structure', 'required' => [ 'ScheduleIdentifier', ], 'members' => [ 'ScheduleIdentifier' => [ 'shape' => 'String', ], ], ], 'DeleteTagsMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'DependentServiceRequestThrottlingFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DependentServiceRequestThrottlingFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DependentServiceUnavailableFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'DependentServiceUnavailableFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'DescribeAccountAttributesMessage' => [ 'type' => 'structure', 'members' => [ 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'DescribeClusterDbRevisionsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeClusterParameterGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeClusterSecurityGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeClusterSnapshotsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'OwnerAccount' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], 'ClusterExists' => [ 'shape' => 'BooleanOptional', ], 'SortingEntities' => [ 'shape' => 'SnapshotSortingEntityList', ], ], ], 'DescribeClusterSubnetGroupsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeClusterTracksMessage' => [ 'type' => 'structure', 'members' => [ 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeClusterVersionsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterVersion' => [ 'shape' => 'String', ], 'ClusterParameterGroupFamily' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeClustersMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeDefaultClusterParametersMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupFamily', ], 'members' => [ 'ParameterGroupFamily' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeDefaultClusterParametersResult' => [ 'type' => 'structure', 'members' => [ 'DefaultClusterParameters' => [ 'shape' => 'DefaultClusterParameters', ], ], ], 'DescribeEventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], ], ], 'DescribeEventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeEventsMessage' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'EndTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'IntegerOptional', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeHsmClientCertificatesMessage' => [ 'type' => 'structure', 'members' => [ 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeHsmConfigurationsMessage' => [ 'type' => 'structure', 'members' => [ 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeLoggingStatusMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeOrderableClusterOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterVersion' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedNodeOfferingsMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedNodeOfferingId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeReservedNodesMessage' => [ 'type' => 'structure', 'members' => [ 'ReservedNodeId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeResizeMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DescribeSnapshotCopyGrantsMessage' => [ 'type' => 'structure', 'members' => [ 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DescribeSnapshotSchedulesMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ScheduleIdentifier' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], 'Marker' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], ], ], 'DescribeSnapshotSchedulesOutputMessage' => [ 'type' => 'structure', 'members' => [ 'SnapshotSchedules' => [ 'shape' => 'SnapshotScheduleList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeTableRestoreStatusMessage' => [ 'type' => 'structure', 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'TableRestoreRequestId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'DescribeTagsMessage' => [ 'type' => 'structure', 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], 'TagValues' => [ 'shape' => 'TagValueList', ], ], ], 'DisableLoggingMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DisableSnapshotCopyMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'DisableSnapshotCopyResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'Double' => [ 'type' => 'double', ], 'DoubleOptional' => [ 'type' => 'double', ], 'EC2SecurityGroup' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'EC2SecurityGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EC2SecurityGroup', 'locationName' => 'EC2SecurityGroup', ], ], 'ElasticIpStatus' => [ 'type' => 'structure', 'members' => [ 'ElasticIp' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'EligibleTracksToUpdateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpdateTarget', 'locationName' => 'UpdateTarget', ], ], 'EnableLoggingMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'BucketName', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], ], ], 'EnableSnapshotCopyMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'DestinationRegion', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'DestinationRegion' => [ 'shape' => 'String', ], 'RetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], ], ], 'EnableSnapshotCopyResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], ], ], 'Event' => [ 'type' => 'structure', 'members' => [ 'SourceIdentifier' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'SourceType', ], 'Message' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Severity' => [ 'shape' => 'String', ], 'Date' => [ 'shape' => 'TStamp', ], 'EventId' => [ 'shape' => 'String', ], ], ], 'EventCategoriesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'EventCategory', ], ], 'EventCategoriesMap' => [ 'type' => 'structure', 'members' => [ 'SourceType' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventInfoMapList', ], ], 'wrapper' => true, ], 'EventCategoriesMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventCategoriesMap', 'locationName' => 'EventCategoriesMap', ], ], 'EventCategoriesMessage' => [ 'type' => 'structure', 'members' => [ 'EventCategoriesMapList' => [ 'shape' => 'EventCategoriesMapList', ], ], ], 'EventInfoMap' => [ 'type' => 'structure', 'members' => [ 'EventId' => [ 'shape' => 'String', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'EventDescription' => [ 'shape' => 'String', ], 'Severity' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'EventInfoMapList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventInfoMap', 'locationName' => 'EventInfoMap', ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', 'locationName' => 'Event', ], ], 'EventSubscription' => [ 'type' => 'structure', 'members' => [ 'CustomerAwsId' => [ 'shape' => 'String', ], 'CustSubscriptionId' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'SubscriptionCreationTime' => [ 'shape' => 'TStamp', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIdsList' => [ 'shape' => 'SourceIdsList', ], 'EventCategoriesList' => [ 'shape' => 'EventCategoriesList', ], 'Severity' => [ 'shape' => 'String', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'EventSubscriptionQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'EventSubscriptionQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'EventSubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventSubscription', 'locationName' => 'EventSubscription', ], ], 'EventSubscriptionsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'EventSubscriptionsList' => [ 'shape' => 'EventSubscriptionsList', ], ], ], 'EventsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Events' => [ 'shape' => 'EventList', ], ], ], 'GetClusterCredentialsMessage' => [ 'type' => 'structure', 'required' => [ 'DbUser', 'ClusterIdentifier', ], 'members' => [ 'DbUser' => [ 'shape' => 'String', ], 'DbName' => [ 'shape' => 'String', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'DurationSeconds' => [ 'shape' => 'IntegerOptional', ], 'AutoCreate' => [ 'shape' => 'BooleanOptional', ], 'DbGroups' => [ 'shape' => 'DbGroupList', ], ], ], 'GetReservedNodeExchangeOfferingsInputMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedNodeId', ], 'members' => [ 'ReservedNodeId' => [ 'shape' => 'String', ], 'MaxRecords' => [ 'shape' => 'IntegerOptional', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'GetReservedNodeExchangeOfferingsOutputMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedNodeOfferings' => [ 'shape' => 'ReservedNodeOfferingList', ], ], ], 'HsmClientCertificate' => [ 'type' => 'structure', 'members' => [ 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'HsmClientCertificatePublicKey' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'HsmClientCertificateAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmClientCertificateAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmClientCertificateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HsmClientCertificate', 'locationName' => 'HsmClientCertificate', ], ], 'HsmClientCertificateMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'HsmClientCertificates' => [ 'shape' => 'HsmClientCertificateList', ], ], ], 'HsmClientCertificateNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmClientCertificateNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmClientCertificateQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmClientCertificateQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmConfiguration' => [ 'type' => 'structure', 'members' => [ 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'HsmIpAddress' => [ 'shape' => 'String', ], 'HsmPartitionName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'HsmConfigurationAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmConfigurationAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HsmConfiguration', 'locationName' => 'HsmConfiguration', ], ], 'HsmConfigurationMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'HsmConfigurations' => [ 'shape' => 'HsmConfigurationList', ], ], ], 'HsmConfigurationNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmConfigurationNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmConfigurationQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HsmConfigurationQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'HsmStatus' => [ 'type' => 'structure', 'members' => [ 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'IPRange' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'IPRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPRange', 'locationName' => 'IPRange', ], ], 'IamRoleArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'IamRoleArn', ], ], 'ImportTablesCompleted' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ImportTablesInProgress' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ImportTablesNotStarted' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'InProgressTableRestoreQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InProgressTableRestoreQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'IncompatibleOrderableOptions' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'IncompatibleOrderableOptions', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientClusterCapacityFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientClusterCapacity', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientS3BucketPolicyFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientS3BucketPolicyFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Integer' => [ 'type' => 'integer', ], 'IntegerOptional' => [ 'type' => 'integer', ], 'InvalidClusterParameterGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterParameterGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterSecurityGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterSecurityGroupState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterSnapshotScheduleStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterSnapshotScheduleState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterSnapshotStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterSnapshotState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterSubnetGroupStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterSubnetGroupStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterSubnetStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterSubnetStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidClusterTrackFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidClusterTrack', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidElasticIpFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidElasticIpFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidHsmClientCertificateStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidHsmClientCertificateStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidHsmConfigurationStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidHsmConfigurationStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidReservedNodeStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidReservedNodeState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRestoreFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRestore', 'httpStatusCode' => 406, 'senderFault' => true, ], 'exception' => true, ], 'InvalidRetentionPeriodFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidRetentionPeriodFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidS3BucketNameFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidS3BucketNameFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidS3KeyPrefixFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidS3KeyPrefixFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidScheduleFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSchedule', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSnapshotCopyGrantStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSnapshotCopyGrantStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubnet' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubnet', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSubscriptionStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidSubscriptionStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidTableRestoreArgumentFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidTableRestoreArgument', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidTagFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidTagFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidVPCNetworkStateFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InvalidVPCNetworkStateFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LimitExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'LimitExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'LoggingStatus' => [ 'type' => 'structure', 'members' => [ 'LoggingEnabled' => [ 'shape' => 'Boolean', ], 'BucketName' => [ 'shape' => 'String', ], 'S3KeyPrefix' => [ 'shape' => 'String', ], 'LastSuccessfulDeliveryTime' => [ 'shape' => 'TStamp', ], 'LastFailureTime' => [ 'shape' => 'TStamp', ], 'LastFailureMessage' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', ], 'LongOptional' => [ 'type' => 'long', ], 'MaintenanceTrack' => [ 'type' => 'structure', 'members' => [ 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'DatabaseVersion' => [ 'shape' => 'String', ], 'UpdateTargets' => [ 'shape' => 'EligibleTracksToUpdateList', ], ], ], 'ModifyClusterDbRevisionMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'RevisionTarget', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'RevisionTarget' => [ 'shape' => 'String', ], ], ], 'ModifyClusterDbRevisionResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ModifyClusterIamRolesMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'AddIamRoles' => [ 'shape' => 'IamRoleArnList', ], 'RemoveIamRoles' => [ 'shape' => 'IamRoleArnList', ], ], ], 'ModifyClusterIamRolesResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ModifyClusterMaintenanceMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'DeferMaintenance' => [ 'shape' => 'BooleanOptional', ], 'DeferMaintenanceIdentifier' => [ 'shape' => 'String', ], 'DeferMaintenanceStartTime' => [ 'shape' => 'TStamp', ], 'DeferMaintenanceEndTime' => [ 'shape' => 'TStamp', ], 'DeferMaintenanceDuration' => [ 'shape' => 'IntegerOptional', ], ], ], 'ModifyClusterMaintenanceResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ModifyClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ClusterType' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'NumberOfNodes' => [ 'shape' => 'IntegerOptional', ], 'ClusterSecurityGroups' => [ 'shape' => 'ClusterSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'MasterUserPassword' => [ 'shape' => 'String', ], 'ClusterParameterGroupName' => [ 'shape' => 'String', ], 'AutomatedSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'ClusterVersion' => [ 'shape' => 'String', ], 'AllowVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'NewClusterIdentifier' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'ElasticIp' => [ 'shape' => 'String', ], 'EnhancedVpcRouting' => [ 'shape' => 'BooleanOptional', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'BooleanOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], ], ], 'ModifyClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', 'Parameters', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ModifyClusterResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ModifyClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifier', ], 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'Force' => [ 'shape' => 'Boolean', ], ], ], 'ModifyClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'ModifyClusterSnapshotScheduleMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ScheduleIdentifier' => [ 'shape' => 'String', ], 'DisassociateSchedule' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyClusterSubnetGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSubnetGroupName', 'SubnetIds', ], 'members' => [ 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'SubnetIds' => [ 'shape' => 'SubnetIdentifierList', ], ], ], 'ModifyClusterSubnetGroupResult' => [ 'type' => 'structure', 'members' => [ 'ClusterSubnetGroup' => [ 'shape' => 'ClusterSubnetGroup', ], ], ], 'ModifyEventSubscriptionMessage' => [ 'type' => 'structure', 'required' => [ 'SubscriptionName', ], 'members' => [ 'SubscriptionName' => [ 'shape' => 'String', ], 'SnsTopicArn' => [ 'shape' => 'String', ], 'SourceType' => [ 'shape' => 'String', ], 'SourceIds' => [ 'shape' => 'SourceIdsList', ], 'EventCategories' => [ 'shape' => 'EventCategoriesList', ], 'Severity' => [ 'shape' => 'String', ], 'Enabled' => [ 'shape' => 'BooleanOptional', ], ], ], 'ModifyEventSubscriptionResult' => [ 'type' => 'structure', 'members' => [ 'EventSubscription' => [ 'shape' => 'EventSubscription', ], ], ], 'ModifySnapshotCopyRetentionPeriodMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'RetentionPeriod', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'RetentionPeriod' => [ 'shape' => 'Integer', ], 'Manual' => [ 'shape' => 'Boolean', ], ], ], 'ModifySnapshotCopyRetentionPeriodResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ModifySnapshotScheduleMessage' => [ 'type' => 'structure', 'required' => [ 'ScheduleIdentifier', 'ScheduleDefinitions', ], 'members' => [ 'ScheduleIdentifier' => [ 'shape' => 'String', ], 'ScheduleDefinitions' => [ 'shape' => 'ScheduleDefinitionList', ], ], ], 'NumberOfNodesPerClusterLimitExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NumberOfNodesPerClusterLimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NumberOfNodesQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'NumberOfNodesQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'OrderableClusterOption' => [ 'type' => 'structure', 'members' => [ 'ClusterVersion' => [ 'shape' => 'String', ], 'ClusterType' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'AvailabilityZones' => [ 'shape' => 'AvailabilityZoneList', ], ], 'wrapper' => true, ], 'OrderableClusterOptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableClusterOption', 'locationName' => 'OrderableClusterOption', ], ], 'OrderableClusterOptionsMessage' => [ 'type' => 'structure', 'members' => [ 'OrderableClusterOptions' => [ 'shape' => 'OrderableClusterOptionsList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'ParameterName' => [ 'shape' => 'String', ], 'ParameterValue' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'Source' => [ 'shape' => 'String', ], 'DataType' => [ 'shape' => 'String', ], 'AllowedValues' => [ 'shape' => 'String', ], 'ApplyType' => [ 'shape' => 'ParameterApplyType', ], 'IsModifiable' => [ 'shape' => 'Boolean', ], 'MinimumEngineVersion' => [ 'shape' => 'String', ], ], ], 'ParameterApplyType' => [ 'type' => 'string', 'enum' => [ 'static', 'dynamic', ], ], 'ParameterGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterParameterGroup', 'locationName' => 'ClusterParameterGroup', ], ], 'ParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', 'locationName' => 'Parameter', ], ], 'PendingActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'PendingModifiedValues' => [ 'type' => 'structure', 'members' => [ 'MasterUserPassword' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'NumberOfNodes' => [ 'shape' => 'IntegerOptional', ], 'ClusterType' => [ 'shape' => 'String', ], 'ClusterVersion' => [ 'shape' => 'String', ], 'AutomatedSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'EnhancedVpcRouting' => [ 'shape' => 'BooleanOptional', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'EncryptionType' => [ 'shape' => 'String', ], ], ], 'PurchaseReservedNodeOfferingMessage' => [ 'type' => 'structure', 'required' => [ 'ReservedNodeOfferingId', ], 'members' => [ 'ReservedNodeOfferingId' => [ 'shape' => 'String', ], 'NodeCount' => [ 'shape' => 'IntegerOptional', ], ], ], 'PurchaseReservedNodeOfferingResult' => [ 'type' => 'structure', 'members' => [ 'ReservedNode' => [ 'shape' => 'ReservedNode', ], ], ], 'RebootClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'RebootClusterResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'RecurringCharge' => [ 'type' => 'structure', 'members' => [ 'RecurringChargeAmount' => [ 'shape' => 'Double', ], 'RecurringChargeFrequency' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'RecurringChargeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecurringCharge', 'locationName' => 'RecurringCharge', ], ], 'ReservedNode' => [ 'type' => 'structure', 'members' => [ 'ReservedNodeId' => [ 'shape' => 'String', ], 'ReservedNodeOfferingId' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'TStamp', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'NodeCount' => [ 'shape' => 'Integer', ], 'State' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], 'ReservedNodeOfferingType' => [ 'shape' => 'ReservedNodeOfferingType', ], ], 'wrapper' => true, ], 'ReservedNodeAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedNodeAlreadyExists', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedNodeAlreadyMigratedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedNodeAlreadyMigrated', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReservedNodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedNode', 'locationName' => 'ReservedNode', ], ], 'ReservedNodeNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedNodeNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedNodeOffering' => [ 'type' => 'structure', 'members' => [ 'ReservedNodeOfferingId' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'Duration' => [ 'shape' => 'Integer', ], 'FixedPrice' => [ 'shape' => 'Double', ], 'UsagePrice' => [ 'shape' => 'Double', ], 'CurrencyCode' => [ 'shape' => 'String', ], 'OfferingType' => [ 'shape' => 'String', ], 'RecurringCharges' => [ 'shape' => 'RecurringChargeList', ], 'ReservedNodeOfferingType' => [ 'shape' => 'ReservedNodeOfferingType', ], ], 'wrapper' => true, ], 'ReservedNodeOfferingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReservedNodeOffering', 'locationName' => 'ReservedNodeOffering', ], ], 'ReservedNodeOfferingNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedNodeOfferingNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ReservedNodeOfferingType' => [ 'type' => 'string', 'enum' => [ 'Regular', 'Upgradable', ], ], 'ReservedNodeOfferingsMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedNodeOfferings' => [ 'shape' => 'ReservedNodeOfferingList', ], ], ], 'ReservedNodeQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ReservedNodeQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ReservedNodesMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'ReservedNodes' => [ 'shape' => 'ReservedNodeList', ], ], ], 'ResetClusterParameterGroupMessage' => [ 'type' => 'structure', 'required' => [ 'ParameterGroupName', ], 'members' => [ 'ParameterGroupName' => [ 'shape' => 'String', ], 'ResetAllParameters' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], ], 'ResizeClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'NumberOfNodes', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'ClusterType' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'NumberOfNodes' => [ 'shape' => 'Integer', ], 'Classic' => [ 'shape' => 'BooleanOptional', ], ], ], 'ResizeClusterResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'ResizeInfo' => [ 'type' => 'structure', 'members' => [ 'ResizeType' => [ 'shape' => 'String', ], 'AllowCancelResize' => [ 'shape' => 'Boolean', ], ], ], 'ResizeNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResizeNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ResizeProgressMessage' => [ 'type' => 'structure', 'members' => [ 'TargetNodeType' => [ 'shape' => 'String', ], 'TargetNumberOfNodes' => [ 'shape' => 'IntegerOptional', ], 'TargetClusterType' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'ImportTablesCompleted' => [ 'shape' => 'ImportTablesCompleted', ], 'ImportTablesInProgress' => [ 'shape' => 'ImportTablesInProgress', ], 'ImportTablesNotStarted' => [ 'shape' => 'ImportTablesNotStarted', ], 'AvgResizeRateInMegaBytesPerSecond' => [ 'shape' => 'DoubleOptional', ], 'TotalResizeDataInMegaBytes' => [ 'shape' => 'LongOptional', ], 'ProgressInMegaBytes' => [ 'shape' => 'LongOptional', ], 'ElapsedTimeInSeconds' => [ 'shape' => 'LongOptional', ], 'EstimatedTimeToCompletionInSeconds' => [ 'shape' => 'LongOptional', ], 'ResizeType' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], 'TargetEncryptionType' => [ 'shape' => 'String', ], ], ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ResourceNotFoundFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'RestorableNodeTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'NodeType', ], ], 'RestoreFromClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'SnapshotIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotClusterIdentifier' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'IntegerOptional', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'AllowVersionUpgrade' => [ 'shape' => 'BooleanOptional', ], 'ClusterSubnetGroupName' => [ 'shape' => 'String', ], 'PubliclyAccessible' => [ 'shape' => 'BooleanOptional', ], 'OwnerAccount' => [ 'shape' => 'String', ], 'HsmClientCertificateIdentifier' => [ 'shape' => 'String', ], 'HsmConfigurationIdentifier' => [ 'shape' => 'String', ], 'ElasticIp' => [ 'shape' => 'String', ], 'ClusterParameterGroupName' => [ 'shape' => 'String', ], 'ClusterSecurityGroups' => [ 'shape' => 'ClusterSecurityGroupNameList', ], 'VpcSecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIdList', ], 'PreferredMaintenanceWindow' => [ 'shape' => 'String', ], 'AutomatedSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'EnhancedVpcRouting' => [ 'shape' => 'BooleanOptional', ], 'AdditionalInfo' => [ 'shape' => 'String', ], 'IamRoles' => [ 'shape' => 'IamRoleArnList', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'SnapshotScheduleIdentifier' => [ 'shape' => 'String', ], ], ], 'RestoreFromClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'RestoreStatus' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'CurrentRestoreRateInMegaBytesPerSecond' => [ 'shape' => 'Double', ], 'SnapshotSizeInMegaBytes' => [ 'shape' => 'Long', ], 'ProgressInMegaBytes' => [ 'shape' => 'Long', ], 'ElapsedTimeInSeconds' => [ 'shape' => 'Long', ], 'EstimatedTimeToCompletionInSeconds' => [ 'shape' => 'Long', ], ], ], 'RestoreTableFromClusterSnapshotMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', 'SnapshotIdentifier', 'SourceDatabaseName', 'SourceTableName', 'NewTableName', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SourceDatabaseName' => [ 'shape' => 'String', ], 'SourceSchemaName' => [ 'shape' => 'String', ], 'SourceTableName' => [ 'shape' => 'String', ], 'TargetDatabaseName' => [ 'shape' => 'String', ], 'TargetSchemaName' => [ 'shape' => 'String', ], 'NewTableName' => [ 'shape' => 'String', ], ], ], 'RestoreTableFromClusterSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'TableRestoreStatus' => [ 'shape' => 'TableRestoreStatus', ], ], ], 'RevisionTarget' => [ 'type' => 'structure', 'members' => [ 'DatabaseRevision' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DatabaseRevisionReleaseDate' => [ 'shape' => 'TStamp', ], ], ], 'RevisionTargetsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RevisionTarget', 'locationName' => 'RevisionTarget', ], ], 'RevokeClusterSecurityGroupIngressMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterSecurityGroupName', ], 'members' => [ 'ClusterSecurityGroupName' => [ 'shape' => 'String', ], 'CIDRIP' => [ 'shape' => 'String', ], 'EC2SecurityGroupName' => [ 'shape' => 'String', ], 'EC2SecurityGroupOwnerId' => [ 'shape' => 'String', ], ], ], 'RevokeClusterSecurityGroupIngressResult' => [ 'type' => 'structure', 'members' => [ 'ClusterSecurityGroup' => [ 'shape' => 'ClusterSecurityGroup', ], ], ], 'RevokeSnapshotAccessMessage' => [ 'type' => 'structure', 'required' => [ 'SnapshotIdentifier', 'AccountWithRestoreAccess', ], 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotClusterIdentifier' => [ 'shape' => 'String', ], 'AccountWithRestoreAccess' => [ 'shape' => 'String', ], ], ], 'RevokeSnapshotAccessResult' => [ 'type' => 'structure', 'members' => [ 'Snapshot' => [ 'shape' => 'Snapshot', ], ], ], 'RotateEncryptionKeyMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], ], ], 'RotateEncryptionKeyResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], 'SNSInvalidTopicFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSInvalidTopic', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSNoAuthorizationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSNoAuthorization', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SNSTopicArnNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SNSTopicArnNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'ScheduleDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ScheduleDefinition', ], ], 'ScheduleDefinitionTypeUnsupportedFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ScheduleDefinitionTypeUnsupported', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ScheduleState' => [ 'type' => 'string', 'enum' => [ 'MODIFYING', 'ACTIVE', 'FAILED', ], ], 'ScheduledSnapshotTimeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TStamp', 'locationName' => 'SnapshotTime', ], ], 'SensitiveString' => [ 'type' => 'string', 'sensitive' => true, ], 'Snapshot' => [ 'type' => 'structure', 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotCreateTime' => [ 'shape' => 'TStamp', ], 'Status' => [ 'shape' => 'String', ], 'Port' => [ 'shape' => 'Integer', ], 'AvailabilityZone' => [ 'shape' => 'String', ], 'ClusterCreateTime' => [ 'shape' => 'TStamp', ], 'MasterUsername' => [ 'shape' => 'String', ], 'ClusterVersion' => [ 'shape' => 'String', ], 'SnapshotType' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'NumberOfNodes' => [ 'shape' => 'Integer', ], 'DBName' => [ 'shape' => 'String', ], 'VpcId' => [ 'shape' => 'String', ], 'Encrypted' => [ 'shape' => 'Boolean', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'EncryptedWithHSM' => [ 'shape' => 'Boolean', ], 'AccountsWithRestoreAccess' => [ 'shape' => 'AccountsWithRestoreAccessList', ], 'OwnerAccount' => [ 'shape' => 'String', ], 'TotalBackupSizeInMegaBytes' => [ 'shape' => 'Double', ], 'ActualIncrementalBackupSizeInMegaBytes' => [ 'shape' => 'Double', ], 'BackupProgressInMegaBytes' => [ 'shape' => 'Double', ], 'CurrentBackupRateInMegaBytesPerSecond' => [ 'shape' => 'Double', ], 'EstimatedSecondsToCompletion' => [ 'shape' => 'Long', ], 'ElapsedTimeInSeconds' => [ 'shape' => 'Long', ], 'SourceRegion' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'RestorableNodeTypes' => [ 'shape' => 'RestorableNodeTypeList', ], 'EnhancedVpcRouting' => [ 'shape' => 'Boolean', ], 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'ManualSnapshotRetentionPeriod' => [ 'shape' => 'IntegerOptional', ], 'ManualSnapshotRemainingDays' => [ 'shape' => 'IntegerOptional', ], 'SnapshotRetentionStartTime' => [ 'shape' => 'TStamp', ], ], 'wrapper' => true, ], 'SnapshotAttributeToSortBy' => [ 'type' => 'string', 'enum' => [ 'SOURCE_TYPE', 'TOTAL_SIZE', 'CREATE_TIME', ], ], 'SnapshotCopyAlreadyDisabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyAlreadyDisabledFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotCopyAlreadyEnabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyAlreadyEnabledFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotCopyDisabledFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyDisabledFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotCopyGrant' => [ 'type' => 'structure', 'members' => [ 'SnapshotCopyGrantName' => [ 'shape' => 'String', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], 'wrapper' => true, ], 'SnapshotCopyGrantAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyGrantAlreadyExistsFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotCopyGrantList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotCopyGrant', 'locationName' => 'SnapshotCopyGrant', ], ], 'SnapshotCopyGrantMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'SnapshotCopyGrants' => [ 'shape' => 'SnapshotCopyGrantList', ], ], ], 'SnapshotCopyGrantNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyGrantNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotCopyGrantQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotCopyGrantQuotaExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotErrorMessage' => [ 'type' => 'structure', 'members' => [ 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SnapshotClusterIdentifier' => [ 'shape' => 'String', ], 'FailureCode' => [ 'shape' => 'String', ], 'FailureReason' => [ 'shape' => 'String', ], ], ], 'SnapshotIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'String', ], ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'Snapshot', ], ], 'SnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Snapshots' => [ 'shape' => 'SnapshotList', ], ], ], 'SnapshotSchedule' => [ 'type' => 'structure', 'members' => [ 'ScheduleDefinitions' => [ 'shape' => 'ScheduleDefinitionList', ], 'ScheduleIdentifier' => [ 'shape' => 'String', ], 'ScheduleDescription' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], 'NextInvocations' => [ 'shape' => 'ScheduledSnapshotTimeList', ], 'AssociatedClusterCount' => [ 'shape' => 'IntegerOptional', ], 'AssociatedClusters' => [ 'shape' => 'AssociatedClusterList', ], ], ], 'SnapshotScheduleAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotScheduleAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotScheduleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotSchedule', 'locationName' => 'SnapshotSchedule', ], ], 'SnapshotScheduleNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotScheduleNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotScheduleQuotaExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotScheduleQuotaExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotScheduleUpdateInProgressFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SnapshotScheduleUpdateInProgress', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SnapshotSortingEntity' => [ 'type' => 'structure', 'required' => [ 'Attribute', ], 'members' => [ 'Attribute' => [ 'shape' => 'SnapshotAttributeToSortBy', ], 'SortOrder' => [ 'shape' => 'SortByOrder', ], ], ], 'SnapshotSortingEntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SnapshotSortingEntity', 'locationName' => 'SnapshotSortingEntity', ], ], 'SortByOrder' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], 'SourceIdsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SourceId', ], ], 'SourceNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SourceNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'cluster', 'cluster-parameter-group', 'cluster-security-group', 'cluster-snapshot', ], ], 'String' => [ 'type' => 'string', ], 'Subnet' => [ 'type' => 'structure', 'members' => [ 'SubnetIdentifier' => [ 'shape' => 'String', ], 'SubnetAvailabilityZone' => [ 'shape' => 'AvailabilityZone', ], 'SubnetStatus' => [ 'shape' => 'String', ], ], ], 'SubnetAlreadyInUse' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubnetAlreadyInUse', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubnetIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'SubnetIdentifier', ], ], 'SubnetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subnet', 'locationName' => 'Subnet', ], ], 'SubscriptionAlreadyExistFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionAlreadyExist', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionCategoryNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionCategoryNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionEventIdNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionEventIdNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionSeverityNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'SubscriptionSeverityNotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'SupportedOperation' => [ 'type' => 'structure', 'members' => [ 'OperationName' => [ 'shape' => 'String', ], ], ], 'SupportedOperationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedOperation', 'locationName' => 'SupportedOperation', ], ], 'SupportedPlatform' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'SupportedPlatformsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SupportedPlatform', 'locationName' => 'SupportedPlatform', ], ], 'TStamp' => [ 'type' => 'timestamp', ], 'TableLimitExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TableLimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TableRestoreNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TableRestoreNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TableRestoreStatus' => [ 'type' => 'structure', 'members' => [ 'TableRestoreRequestId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'TableRestoreStatusType', ], 'Message' => [ 'shape' => 'String', ], 'RequestTime' => [ 'shape' => 'TStamp', ], 'ProgressInMegaBytes' => [ 'shape' => 'LongOptional', ], 'TotalDataInMegaBytes' => [ 'shape' => 'LongOptional', ], 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SnapshotIdentifier' => [ 'shape' => 'String', ], 'SourceDatabaseName' => [ 'shape' => 'String', ], 'SourceSchemaName' => [ 'shape' => 'String', ], 'SourceTableName' => [ 'shape' => 'String', ], 'TargetDatabaseName' => [ 'shape' => 'String', ], 'TargetSchemaName' => [ 'shape' => 'String', ], 'NewTableName' => [ 'shape' => 'String', ], ], 'wrapper' => true, ], 'TableRestoreStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TableRestoreStatus', 'locationName' => 'TableRestoreStatus', ], ], 'TableRestoreStatusMessage' => [ 'type' => 'structure', 'members' => [ 'TableRestoreStatusDetails' => [ 'shape' => 'TableRestoreStatusList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'TableRestoreStatusType' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', 'CANCELED', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'String', ], ], ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'TagKey', ], ], 'TagLimitExceededFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TagLimitExceededFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'TagValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'TagValue', ], ], 'TaggedResource' => [ 'type' => 'structure', 'members' => [ 'Tag' => [ 'shape' => 'Tag', ], 'ResourceName' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], ], 'TaggedResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaggedResource', 'locationName' => 'TaggedResource', ], ], 'TaggedResourceListMessage' => [ 'type' => 'structure', 'members' => [ 'TaggedResources' => [ 'shape' => 'TaggedResourceList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'TrackList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceTrack', 'locationName' => 'MaintenanceTrack', ], ], 'TrackListMessage' => [ 'type' => 'structure', 'members' => [ 'MaintenanceTracks' => [ 'shape' => 'TrackList', ], 'Marker' => [ 'shape' => 'String', ], ], ], 'UnauthorizedOperation' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnauthorizedOperation', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnknownSnapshotCopyRegionFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnknownSnapshotCopyRegionFault', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'UnsupportedOperationFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnsupportedOperation', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnsupportedOptionFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnsupportedOptionFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UpdateTarget' => [ 'type' => 'structure', 'members' => [ 'MaintenanceTrackName' => [ 'shape' => 'String', ], 'DatabaseVersion' => [ 'shape' => 'String', ], 'SupportedOperations' => [ 'shape' => 'SupportedOperationList', ], ], ], 'VpcSecurityGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'VpcSecurityGroupId', ], ], 'VpcSecurityGroupMembership' => [ 'type' => 'structure', 'members' => [ 'VpcSecurityGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'VpcSecurityGroupMembershipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VpcSecurityGroupMembership', 'locationName' => 'VpcSecurityGroup', ], ], ],]; diff --git a/lib/aws/Aws/data/redshift/2012-12-01/paginators-1.json.php b/lib/aws/Aws/data/redshift/2012-12-01/paginators-1.json.php new file mode 100644 index 0000000..5c71774 --- /dev/null +++ b/lib/aws/Aws/data/redshift/2012-12-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/redshift/2012-12-01/paginators-1.json +return [ 'pagination' => [ 'DescribeClusterParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ParameterGroups', ], 'DescribeClusterParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeClusterSecurityGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ClusterSecurityGroups', ], 'DescribeClusterSnapshots' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Snapshots', ], 'DescribeClusterSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ClusterSubnetGroups', ], 'DescribeClusterVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ClusterVersions', ], 'DescribeClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Clusters', ], 'DescribeDefaultClusterParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'DefaultClusterParameters.Marker', 'result_key' => 'DefaultClusterParameters.Parameters', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'EventSubscriptionsList', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeHsmClientCertificates' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'HsmClientCertificates', ], 'DescribeHsmConfigurations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'HsmConfigurations', ], 'DescribeOrderableClusterOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableClusterOptions', ], 'DescribeReservedNodeOfferings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedNodeOfferings', ], 'DescribeReservedNodes' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedNodes', ], ],]; diff --git a/lib/aws/Aws/data/redshift/2012-12-01/smoke.json.php b/lib/aws/Aws/data/redshift/2012-12-01/smoke.json.php new file mode 100644 index 0000000..c8cd400 --- /dev/null +++ b/lib/aws/Aws/data/redshift/2012-12-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/redshift/2012-12-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeClusterVersions', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeClusters', 'input' => [ 'ClusterIdentifier' => 'fake-cluster', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/redshift/2012-12-01/waiters-1.json.php b/lib/aws/Aws/data/redshift/2012-12-01/waiters-1.json.php new file mode 100644 index 0000000..37e96b9 --- /dev/null +++ b/lib/aws/Aws/data/redshift/2012-12-01/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/redshift/2012-12-01/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'acceptor_type' => 'output', ], '__ClusterState' => [ 'interval' => 60, 'max_attempts' => 30, 'operation' => 'DescribeClusters', 'acceptor_path' => 'Clusters[].ClusterStatus', ], 'ClusterAvailable' => [ 'extends' => '__ClusterState', 'ignore_errors' => [ 'ClusterNotFound', ], 'success_value' => 'available', 'failure_value' => [ 'deleting', ], ], 'ClusterDeleted' => [ 'extends' => '__ClusterState', 'success_type' => 'error', 'success_value' => 'ClusterNotFound', 'failure_value' => [ 'creating', 'rebooting', ], ], 'SnapshotAvailable' => [ 'interval' => 15, 'max_attempts' => 20, 'operation' => 'DescribeClusterSnapshots', 'acceptor_path' => 'Snapshots[].Status', 'success_value' => 'available', 'failure_value' => [ 'failed', 'deleted', ], ], ],]; diff --git a/lib/aws/Aws/data/redshift/2012-12-01/waiters-2.json.php b/lib/aws/Aws/data/redshift/2012-12-01/waiters-2.json.php new file mode 100644 index 0000000..b7e2e3c --- /dev/null +++ b/lib/aws/Aws/data/redshift/2012-12-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/redshift/2012-12-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'ClusterAvailable' => [ 'delay' => 60, 'operation' => 'DescribeClusters', 'maxAttempts' => 30, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Clusters[].ClusterStatus', ], [ 'expected' => 'deleting', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Clusters[].ClusterStatus', ], [ 'expected' => 'ClusterNotFound', 'matcher' => 'error', 'state' => 'retry', ], ], ], 'ClusterDeleted' => [ 'delay' => 60, 'operation' => 'DescribeClusters', 'maxAttempts' => 30, 'acceptors' => [ [ 'expected' => 'ClusterNotFound', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'creating', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Clusters[].ClusterStatus', ], [ 'expected' => 'modifying', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Clusters[].ClusterStatus', ], ], ], 'ClusterRestored' => [ 'operation' => 'DescribeClusters', 'maxAttempts' => 30, 'delay' => 60, 'acceptors' => [ [ 'state' => 'success', 'matcher' => 'pathAll', 'argument' => 'Clusters[].RestoreStatus.Status', 'expected' => 'completed', ], [ 'state' => 'failure', 'matcher' => 'pathAny', 'argument' => 'Clusters[].ClusterStatus', 'expected' => 'deleting', ], ], ], 'SnapshotAvailable' => [ 'delay' => 15, 'operation' => 'DescribeClusterSnapshots', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 'available', 'matcher' => 'pathAll', 'state' => 'success', 'argument' => 'Snapshots[].Status', ], [ 'expected' => 'failed', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Snapshots[].Status', ], [ 'expected' => 'deleted', 'matcher' => 'pathAny', 'state' => 'failure', 'argument' => 'Snapshots[].Status', ], ], ], ],]; diff --git a/lib/aws/Aws/data/rekognition/2016-06-27/api-2.json.php b/lib/aws/Aws/data/rekognition/2016-06-27/api-2.json.php new file mode 100644 index 0000000..eebfebd --- /dev/null +++ b/lib/aws/Aws/data/rekognition/2016-06-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rekognition/2016-06-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-06-27', 'endpointPrefix' => 'rekognition', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Rekognition', 'serviceId' => 'Rekognition', 'signatureVersion' => 'v4', 'targetPrefix' => 'RekognitionService', 'uid' => 'rekognition-2016-06-27', ], 'operations' => [ 'CompareFaces' => [ 'name' => 'CompareFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CompareFacesRequest', ], 'output' => [ 'shape' => 'CompareFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'CreateCollection' => [ 'name' => 'CreateCollection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCollectionRequest', ], 'output' => [ 'shape' => 'CreateCollectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'CreateStreamProcessor' => [ 'name' => 'CreateStreamProcessor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStreamProcessorRequest', ], 'output' => [ 'shape' => 'CreateStreamProcessorResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'DeleteCollection' => [ 'name' => 'DeleteCollection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCollectionRequest', ], 'output' => [ 'shape' => 'DeleteCollectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteFaces' => [ 'name' => 'DeleteFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFacesRequest', ], 'output' => [ 'shape' => 'DeleteFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteStreamProcessor' => [ 'name' => 'DeleteStreamProcessor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStreamProcessorRequest', ], 'output' => [ 'shape' => 'DeleteStreamProcessorResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'DescribeCollection' => [ 'name' => 'DescribeCollection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCollectionRequest', ], 'output' => [ 'shape' => 'DescribeCollectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeStreamProcessor' => [ 'name' => 'DescribeStreamProcessor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStreamProcessorRequest', ], 'output' => [ 'shape' => 'DescribeStreamProcessorResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'DetectFaces' => [ 'name' => 'DetectFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectFacesRequest', ], 'output' => [ 'shape' => 'DetectFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'DetectLabels' => [ 'name' => 'DetectLabels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectLabelsRequest', ], 'output' => [ 'shape' => 'DetectLabelsResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'DetectModerationLabels' => [ 'name' => 'DetectModerationLabels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectModerationLabelsRequest', ], 'output' => [ 'shape' => 'DetectModerationLabelsResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'DetectText' => [ 'name' => 'DetectText', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectTextRequest', ], 'output' => [ 'shape' => 'DetectTextResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'GetCelebrityInfo' => [ 'name' => 'GetCelebrityInfo', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCelebrityInfoRequest', ], 'output' => [ 'shape' => 'GetCelebrityInfoResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetCelebrityRecognition' => [ 'name' => 'GetCelebrityRecognition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCelebrityRecognitionRequest', ], 'output' => [ 'shape' => 'GetCelebrityRecognitionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetContentModeration' => [ 'name' => 'GetContentModeration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContentModerationRequest', ], 'output' => [ 'shape' => 'GetContentModerationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetFaceDetection' => [ 'name' => 'GetFaceDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFaceDetectionRequest', ], 'output' => [ 'shape' => 'GetFaceDetectionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetFaceSearch' => [ 'name' => 'GetFaceSearch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFaceSearchRequest', ], 'output' => [ 'shape' => 'GetFaceSearchResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetLabelDetection' => [ 'name' => 'GetLabelDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLabelDetectionRequest', ], 'output' => [ 'shape' => 'GetLabelDetectionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetPersonTracking' => [ 'name' => 'GetPersonTracking', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPersonTrackingRequest', ], 'output' => [ 'shape' => 'GetPersonTrackingResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'IndexFaces' => [ 'name' => 'IndexFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'IndexFacesRequest', ], 'output' => [ 'shape' => 'IndexFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'ListCollections' => [ 'name' => 'ListCollections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCollectionsRequest', ], 'output' => [ 'shape' => 'ListCollectionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListFaces' => [ 'name' => 'ListFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListFacesRequest', ], 'output' => [ 'shape' => 'ListFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListStreamProcessors' => [ 'name' => 'ListStreamProcessors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStreamProcessorsRequest', ], 'output' => [ 'shape' => 'ListStreamProcessorsResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPaginationTokenException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'RecognizeCelebrities' => [ 'name' => 'RecognizeCelebrities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RecognizeCelebritiesRequest', ], 'output' => [ 'shape' => 'RecognizeCelebritiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidImageFormatException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'SearchFaces' => [ 'name' => 'SearchFaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchFacesRequest', ], 'output' => [ 'shape' => 'SearchFacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'SearchFacesByImage' => [ 'name' => 'SearchFacesByImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchFacesByImageRequest', ], 'output' => [ 'shape' => 'SearchFacesByImageResponse', ], 'errors' => [ [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ImageTooLargeException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidImageFormatException', ], ], ], 'StartCelebrityRecognition' => [ 'name' => 'StartCelebrityRecognition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartCelebrityRecognitionRequest', ], 'output' => [ 'shape' => 'StartCelebrityRecognitionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartContentModeration' => [ 'name' => 'StartContentModeration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartContentModerationRequest', ], 'output' => [ 'shape' => 'StartContentModerationResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartFaceDetection' => [ 'name' => 'StartFaceDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartFaceDetectionRequest', ], 'output' => [ 'shape' => 'StartFaceDetectionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartFaceSearch' => [ 'name' => 'StartFaceSearch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartFaceSearchRequest', ], 'output' => [ 'shape' => 'StartFaceSearchResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartLabelDetection' => [ 'name' => 'StartLabelDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartLabelDetectionRequest', ], 'output' => [ 'shape' => 'StartLabelDetectionResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartPersonTracking' => [ 'name' => 'StartPersonTracking', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartPersonTrackingRequest', ], 'output' => [ 'shape' => 'StartPersonTrackingResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'VideoTooLargeException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], 'idempotent' => true, ], 'StartStreamProcessor' => [ 'name' => 'StartStreamProcessor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartStreamProcessorRequest', ], 'output' => [ 'shape' => 'StartStreamProcessorResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], 'StopStreamProcessor' => [ 'name' => 'StopStreamProcessor', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopStreamProcessorRequest', ], 'output' => [ 'shape' => 'StopStreamProcessorResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AgeRange' => [ 'type' => 'structure', 'members' => [ 'Low' => [ 'shape' => 'UInteger', ], 'High' => [ 'shape' => 'UInteger', ], ], ], 'Attribute' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'ALL', ], ], 'Attributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ], 'Beard' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BoundingBox' => [ 'type' => 'structure', 'members' => [ 'Width' => [ 'shape' => 'Float', ], 'Height' => [ 'shape' => 'Float', ], 'Left' => [ 'shape' => 'Float', ], 'Top' => [ 'shape' => 'Float', ], ], ], 'Celebrity' => [ 'type' => 'structure', 'members' => [ 'Urls' => [ 'shape' => 'Urls', ], 'Name' => [ 'shape' => 'String', ], 'Id' => [ 'shape' => 'RekognitionUniqueId', ], 'Face' => [ 'shape' => 'ComparedFace', ], 'MatchConfidence' => [ 'shape' => 'Percent', ], ], ], 'CelebrityDetail' => [ 'type' => 'structure', 'members' => [ 'Urls' => [ 'shape' => 'Urls', ], 'Name' => [ 'shape' => 'String', ], 'Id' => [ 'shape' => 'RekognitionUniqueId', ], 'Confidence' => [ 'shape' => 'Percent', ], 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Face' => [ 'shape' => 'FaceDetail', ], ], ], 'CelebrityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Celebrity', ], ], 'CelebrityRecognition' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Celebrity' => [ 'shape' => 'CelebrityDetail', ], ], ], 'CelebrityRecognitionSortBy' => [ 'type' => 'string', 'enum' => [ 'ID', 'TIMESTAMP', ], ], 'CelebrityRecognitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CelebrityRecognition', ], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-_]+$', ], 'CollectionId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-]+', ], 'CollectionIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CollectionId', ], ], 'CompareFacesMatch' => [ 'type' => 'structure', 'members' => [ 'Similarity' => [ 'shape' => 'Percent', ], 'Face' => [ 'shape' => 'ComparedFace', ], ], ], 'CompareFacesMatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompareFacesMatch', ], ], 'CompareFacesRequest' => [ 'type' => 'structure', 'required' => [ 'SourceImage', 'TargetImage', ], 'members' => [ 'SourceImage' => [ 'shape' => 'Image', ], 'TargetImage' => [ 'shape' => 'Image', ], 'SimilarityThreshold' => [ 'shape' => 'Percent', ], ], ], 'CompareFacesResponse' => [ 'type' => 'structure', 'members' => [ 'SourceImageFace' => [ 'shape' => 'ComparedSourceImageFace', ], 'FaceMatches' => [ 'shape' => 'CompareFacesMatchList', ], 'UnmatchedFaces' => [ 'shape' => 'CompareFacesUnmatchList', ], 'SourceImageOrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], 'TargetImageOrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], ], ], 'CompareFacesUnmatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComparedFace', ], ], 'ComparedFace' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Confidence' => [ 'shape' => 'Percent', ], 'Landmarks' => [ 'shape' => 'Landmarks', ], 'Pose' => [ 'shape' => 'Pose', ], 'Quality' => [ 'shape' => 'ImageQuality', ], ], ], 'ComparedFaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComparedFace', ], ], 'ComparedSourceImageFace' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'ContentModerationDetection' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'ModerationLabel' => [ 'shape' => 'ModerationLabel', ], ], ], 'ContentModerationDetections' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentModerationDetection', ], ], 'ContentModerationSortBy' => [ 'type' => 'string', 'enum' => [ 'NAME', 'TIMESTAMP', ], ], 'CreateCollectionRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], ], ], 'CreateCollectionResponse' => [ 'type' => 'structure', 'members' => [ 'StatusCode' => [ 'shape' => 'UInteger', ], 'CollectionArn' => [ 'shape' => 'String', ], 'FaceModelVersion' => [ 'shape' => 'String', ], ], ], 'CreateStreamProcessorRequest' => [ 'type' => 'structure', 'required' => [ 'Input', 'Output', 'Name', 'Settings', 'RoleArn', ], 'members' => [ 'Input' => [ 'shape' => 'StreamProcessorInput', ], 'Output' => [ 'shape' => 'StreamProcessorOutput', ], 'Name' => [ 'shape' => 'StreamProcessorName', ], 'Settings' => [ 'shape' => 'StreamProcessorSettings', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'CreateStreamProcessorResponse' => [ 'type' => 'structure', 'members' => [ 'StreamProcessorArn' => [ 'shape' => 'StreamProcessorArn', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'Degree' => [ 'type' => 'float', 'max' => 180, 'min' => -180, ], 'DeleteCollectionRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], ], ], 'DeleteCollectionResponse' => [ 'type' => 'structure', 'members' => [ 'StatusCode' => [ 'shape' => 'UInteger', ], ], ], 'DeleteFacesRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', 'FaceIds', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'FaceIds' => [ 'shape' => 'FaceIdList', ], ], ], 'DeleteFacesResponse' => [ 'type' => 'structure', 'members' => [ 'DeletedFaces' => [ 'shape' => 'FaceIdList', ], ], ], 'DeleteStreamProcessorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], ], ], 'DeleteStreamProcessorResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeCollectionRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], ], ], 'DescribeCollectionResponse' => [ 'type' => 'structure', 'members' => [ 'FaceCount' => [ 'shape' => 'ULong', ], 'FaceModelVersion' => [ 'shape' => 'String', ], 'CollectionARN' => [ 'shape' => 'String', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', ], ], ], 'DescribeStreamProcessorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], ], ], 'DescribeStreamProcessorResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], 'StreamProcessorArn' => [ 'shape' => 'StreamProcessorArn', ], 'Status' => [ 'shape' => 'StreamProcessorStatus', ], 'StatusMessage' => [ 'shape' => 'String', ], 'CreationTimestamp' => [ 'shape' => 'DateTime', ], 'LastUpdateTimestamp' => [ 'shape' => 'DateTime', ], 'Input' => [ 'shape' => 'StreamProcessorInput', ], 'Output' => [ 'shape' => 'StreamProcessorOutput', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'Settings' => [ 'shape' => 'StreamProcessorSettings', ], ], ], 'DetectFacesRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'DetectFacesResponse' => [ 'type' => 'structure', 'members' => [ 'FaceDetails' => [ 'shape' => 'FaceDetailList', ], 'OrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], ], ], 'DetectLabelsRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], 'MaxLabels' => [ 'shape' => 'UInteger', ], 'MinConfidence' => [ 'shape' => 'Percent', ], ], ], 'DetectLabelsResponse' => [ 'type' => 'structure', 'members' => [ 'Labels' => [ 'shape' => 'Labels', ], 'OrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], 'LabelModelVersion' => [ 'shape' => 'String', ], ], ], 'DetectModerationLabelsRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], 'MinConfidence' => [ 'shape' => 'Percent', ], ], ], 'DetectModerationLabelsResponse' => [ 'type' => 'structure', 'members' => [ 'ModerationLabels' => [ 'shape' => 'ModerationLabels', ], 'ModerationModelVersion' => [ 'shape' => 'String', ], ], ], 'DetectTextRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], ], ], 'DetectTextResponse' => [ 'type' => 'structure', 'members' => [ 'TextDetections' => [ 'shape' => 'TextDetectionList', ], ], ], 'Emotion' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'EmotionName', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'EmotionName' => [ 'type' => 'string', 'enum' => [ 'HAPPY', 'SAD', 'ANGRY', 'CONFUSED', 'DISGUSTED', 'SURPRISED', 'CALM', 'UNKNOWN', ], ], 'Emotions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Emotion', ], ], 'ExternalImageId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-:]+', ], 'EyeOpen' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'Eyeglasses' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'Face' => [ 'type' => 'structure', 'members' => [ 'FaceId' => [ 'shape' => 'FaceId', ], 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'ImageId' => [ 'shape' => 'ImageId', ], 'ExternalImageId' => [ 'shape' => 'ExternalImageId', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'FaceAttributes' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'ALL', ], ], 'FaceDetail' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'AgeRange' => [ 'shape' => 'AgeRange', ], 'Smile' => [ 'shape' => 'Smile', ], 'Eyeglasses' => [ 'shape' => 'Eyeglasses', ], 'Sunglasses' => [ 'shape' => 'Sunglasses', ], 'Gender' => [ 'shape' => 'Gender', ], 'Beard' => [ 'shape' => 'Beard', ], 'Mustache' => [ 'shape' => 'Mustache', ], 'EyesOpen' => [ 'shape' => 'EyeOpen', ], 'MouthOpen' => [ 'shape' => 'MouthOpen', ], 'Emotions' => [ 'shape' => 'Emotions', ], 'Landmarks' => [ 'shape' => 'Landmarks', ], 'Pose' => [ 'shape' => 'Pose', ], 'Quality' => [ 'shape' => 'ImageQuality', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'FaceDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaceDetail', ], ], 'FaceDetection' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Face' => [ 'shape' => 'FaceDetail', ], ], ], 'FaceDetections' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaceDetection', ], ], 'FaceId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'FaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaceId', ], 'max' => 4096, 'min' => 1, ], 'FaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Face', ], ], 'FaceMatch' => [ 'type' => 'structure', 'members' => [ 'Similarity' => [ 'shape' => 'Percent', ], 'Face' => [ 'shape' => 'Face', ], ], ], 'FaceMatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaceMatch', ], ], 'FaceModelVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'FaceRecord' => [ 'type' => 'structure', 'members' => [ 'Face' => [ 'shape' => 'Face', ], 'FaceDetail' => [ 'shape' => 'FaceDetail', ], ], ], 'FaceRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaceRecord', ], ], 'FaceSearchSettings' => [ 'type' => 'structure', 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'FaceMatchThreshold' => [ 'shape' => 'Percent', ], ], ], 'FaceSearchSortBy' => [ 'type' => 'string', 'enum' => [ 'INDEX', 'TIMESTAMP', ], ], 'Float' => [ 'type' => 'float', ], 'Gender' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'GenderType', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'GenderType' => [ 'type' => 'string', 'enum' => [ 'Male', 'Female', ], ], 'Geometry' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Polygon' => [ 'shape' => 'Polygon', ], ], ], 'GetCelebrityInfoRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'RekognitionUniqueId', ], ], ], 'GetCelebrityInfoResponse' => [ 'type' => 'structure', 'members' => [ 'Urls' => [ 'shape' => 'Urls', ], 'Name' => [ 'shape' => 'String', ], ], ], 'GetCelebrityRecognitionRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'SortBy' => [ 'shape' => 'CelebrityRecognitionSortBy', ], ], ], 'GetCelebrityRecognitionResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Celebrities' => [ 'shape' => 'CelebrityRecognitions', ], ], ], 'GetContentModerationRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'SortBy' => [ 'shape' => 'ContentModerationSortBy', ], ], ], 'GetContentModerationResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'ModerationLabels' => [ 'shape' => 'ContentModerationDetections', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'ModerationModelVersion' => [ 'shape' => 'String', ], ], ], 'GetFaceDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetFaceDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Faces' => [ 'shape' => 'FaceDetections', ], ], ], 'GetFaceSearchRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'SortBy' => [ 'shape' => 'FaceSearchSortBy', ], ], ], 'GetFaceSearchResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'Persons' => [ 'shape' => 'PersonMatches', ], ], ], 'GetLabelDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'SortBy' => [ 'shape' => 'LabelDetectionSortBy', ], ], ], 'GetLabelDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Labels' => [ 'shape' => 'LabelDetections', ], 'LabelModelVersion' => [ 'shape' => 'String', ], ], ], 'GetPersonTrackingRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'SortBy' => [ 'shape' => 'PersonTrackingSortBy', ], ], ], 'GetPersonTrackingResponse' => [ 'type' => 'structure', 'members' => [ 'JobStatus' => [ 'shape' => 'VideoJobStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'VideoMetadata' => [ 'shape' => 'VideoMetadata', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Persons' => [ 'shape' => 'PersonDetections', ], ], ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Image' => [ 'type' => 'structure', 'members' => [ 'Bytes' => [ 'shape' => 'ImageBlob', ], 'S3Object' => [ 'shape' => 'S3Object', ], ], ], 'ImageBlob' => [ 'type' => 'blob', 'max' => 5242880, 'min' => 1, ], 'ImageId' => [ 'type' => 'string', 'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'ImageQuality' => [ 'type' => 'structure', 'members' => [ 'Brightness' => [ 'shape' => 'Float', ], 'Sharpness' => [ 'shape' => 'Float', ], ], ], 'ImageTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'IndexFacesRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', 'Image', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'Image' => [ 'shape' => 'Image', ], 'ExternalImageId' => [ 'shape' => 'ExternalImageId', ], 'DetectionAttributes' => [ 'shape' => 'Attributes', ], 'MaxFaces' => [ 'shape' => 'MaxFacesToIndex', ], 'QualityFilter' => [ 'shape' => 'QualityFilter', ], ], ], 'IndexFacesResponse' => [ 'type' => 'structure', 'members' => [ 'FaceRecords' => [ 'shape' => 'FaceRecordList', ], 'OrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], 'FaceModelVersion' => [ 'shape' => 'String', ], 'UnindexedFaces' => [ 'shape' => 'UnindexedFaces', ], ], ], 'Instance' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'Instances' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', ], ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'InvalidImageFormatException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidPaginationTokenException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3ObjectException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'JobId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-_]+$', ], 'JobTag' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-:]+', ], 'KinesisDataArn' => [ 'type' => 'string', 'pattern' => '(^arn:([a-z\\d-]+):kinesis:([a-z\\d-]+):\\d{12}:.+$)', ], 'KinesisDataStream' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'KinesisDataArn', ], ], ], 'KinesisVideoArn' => [ 'type' => 'string', 'pattern' => '(^arn:([a-z\\d-]+):kinesisvideo:([a-z\\d-]+):\\d{12}:.+$)', ], 'KinesisVideoStream' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'KinesisVideoArn', ], ], ], 'Label' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Confidence' => [ 'shape' => 'Percent', ], 'Instances' => [ 'shape' => 'Instances', ], 'Parents' => [ 'shape' => 'Parents', ], ], ], 'LabelDetection' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Label' => [ 'shape' => 'Label', ], ], ], 'LabelDetectionSortBy' => [ 'type' => 'string', 'enum' => [ 'NAME', 'TIMESTAMP', ], ], 'LabelDetections' => [ 'type' => 'list', 'member' => [ 'shape' => 'LabelDetection', ], ], 'Labels' => [ 'type' => 'list', 'member' => [ 'shape' => 'Label', ], ], 'Landmark' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'LandmarkType', ], 'X' => [ 'shape' => 'Float', ], 'Y' => [ 'shape' => 'Float', ], ], ], 'LandmarkType' => [ 'type' => 'string', 'enum' => [ 'eyeLeft', 'eyeRight', 'nose', 'mouthLeft', 'mouthRight', 'leftEyeBrowLeft', 'leftEyeBrowRight', 'leftEyeBrowUp', 'rightEyeBrowLeft', 'rightEyeBrowRight', 'rightEyeBrowUp', 'leftEyeLeft', 'leftEyeRight', 'leftEyeUp', 'leftEyeDown', 'rightEyeLeft', 'rightEyeRight', 'rightEyeUp', 'rightEyeDown', 'noseLeft', 'noseRight', 'mouthUp', 'mouthDown', 'leftPupil', 'rightPupil', 'upperJawlineLeft', 'midJawlineLeft', 'chinBottom', 'midJawlineRight', 'upperJawlineRight', ], ], 'Landmarks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Landmark', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListCollectionsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'ListCollectionsResponse' => [ 'type' => 'structure', 'members' => [ 'CollectionIds' => [ 'shape' => 'CollectionIdList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'FaceModelVersions' => [ 'shape' => 'FaceModelVersionList', ], ], ], 'ListFacesRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'PageSize', ], ], ], 'ListFacesResponse' => [ 'type' => 'structure', 'members' => [ 'Faces' => [ 'shape' => 'FaceList', ], 'NextToken' => [ 'shape' => 'String', ], 'FaceModelVersion' => [ 'shape' => 'String', ], ], ], 'ListStreamProcessorsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListStreamProcessorsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], 'StreamProcessors' => [ 'shape' => 'StreamProcessorList', ], ], ], 'MaxFaces' => [ 'type' => 'integer', 'max' => 4096, 'min' => 1, ], 'MaxFacesToIndex' => [ 'type' => 'integer', 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'ModerationLabel' => [ 'type' => 'structure', 'members' => [ 'Confidence' => [ 'shape' => 'Percent', ], 'Name' => [ 'shape' => 'String', ], 'ParentName' => [ 'shape' => 'String', ], ], ], 'ModerationLabels' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModerationLabel', ], ], 'MouthOpen' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'Mustache' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'NotificationChannel' => [ 'type' => 'structure', 'required' => [ 'SNSTopicArn', 'RoleArn', ], 'members' => [ 'SNSTopicArn' => [ 'shape' => 'SNSTopicArn', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'OrientationCorrection' => [ 'type' => 'string', 'enum' => [ 'ROTATE_0', 'ROTATE_90', 'ROTATE_180', 'ROTATE_270', ], ], 'PageSize' => [ 'type' => 'integer', 'max' => 4096, 'min' => 0, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 255, ], 'Parent' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'Parents' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parent', ], ], 'Percent' => [ 'type' => 'float', 'max' => 100, 'min' => 0, ], 'PersonDetail' => [ 'type' => 'structure', 'members' => [ 'Index' => [ 'shape' => 'PersonIndex', ], 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Face' => [ 'shape' => 'FaceDetail', ], ], ], 'PersonDetection' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Person' => [ 'shape' => 'PersonDetail', ], ], ], 'PersonDetections' => [ 'type' => 'list', 'member' => [ 'shape' => 'PersonDetection', ], ], 'PersonIndex' => [ 'type' => 'long', ], 'PersonMatch' => [ 'type' => 'structure', 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Person' => [ 'shape' => 'PersonDetail', ], 'FaceMatches' => [ 'shape' => 'FaceMatchList', ], ], ], 'PersonMatches' => [ 'type' => 'list', 'member' => [ 'shape' => 'PersonMatch', ], ], 'PersonTrackingSortBy' => [ 'type' => 'string', 'enum' => [ 'INDEX', 'TIMESTAMP', ], ], 'Point' => [ 'type' => 'structure', 'members' => [ 'X' => [ 'shape' => 'Float', ], 'Y' => [ 'shape' => 'Float', ], ], ], 'Polygon' => [ 'type' => 'list', 'member' => [ 'shape' => 'Point', ], ], 'Pose' => [ 'type' => 'structure', 'members' => [ 'Roll' => [ 'shape' => 'Degree', ], 'Yaw' => [ 'shape' => 'Degree', ], 'Pitch' => [ 'shape' => 'Degree', ], ], ], 'ProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'QualityFilter' => [ 'type' => 'string', 'enum' => [ 'NONE', 'AUTO', ], ], 'Reason' => [ 'type' => 'string', 'enum' => [ 'EXCEEDS_MAX_FACES', 'EXTREME_POSE', 'LOW_BRIGHTNESS', 'LOW_SHARPNESS', 'LOW_CONFIDENCE', 'SMALL_BOUNDING_BOX', ], ], 'Reasons' => [ 'type' => 'list', 'member' => [ 'shape' => 'Reason', ], ], 'RecognizeCelebritiesRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], ], ], 'RecognizeCelebritiesResponse' => [ 'type' => 'structure', 'members' => [ 'CelebrityFaces' => [ 'shape' => 'CelebrityList', ], 'UnrecognizedFaces' => [ 'shape' => 'ComparedFaceList', ], 'OrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], ], ], 'RekognitionUniqueId' => [ 'type' => 'string', 'pattern' => '[0-9A-Za-z]*', ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'S3Bucket' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[0-9A-Za-z\\.\\-_]*', ], 'S3Object' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'S3Bucket', ], 'Name' => [ 'shape' => 'S3ObjectName', ], 'Version' => [ 'shape' => 'S3ObjectVersion', ], ], ], 'S3ObjectName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'S3ObjectVersion' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'SNSTopicArn' => [ 'type' => 'string', 'pattern' => '(^arn:aws:sns:.*:\\w{12}:.+$)', ], 'SearchFacesByImageRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', 'Image', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'Image' => [ 'shape' => 'Image', ], 'MaxFaces' => [ 'shape' => 'MaxFaces', ], 'FaceMatchThreshold' => [ 'shape' => 'Percent', ], ], ], 'SearchFacesByImageResponse' => [ 'type' => 'structure', 'members' => [ 'SearchedFaceBoundingBox' => [ 'shape' => 'BoundingBox', ], 'SearchedFaceConfidence' => [ 'shape' => 'Percent', ], 'FaceMatches' => [ 'shape' => 'FaceMatchList', ], 'FaceModelVersion' => [ 'shape' => 'String', ], ], ], 'SearchFacesRequest' => [ 'type' => 'structure', 'required' => [ 'CollectionId', 'FaceId', ], 'members' => [ 'CollectionId' => [ 'shape' => 'CollectionId', ], 'FaceId' => [ 'shape' => 'FaceId', ], 'MaxFaces' => [ 'shape' => 'MaxFaces', ], 'FaceMatchThreshold' => [ 'shape' => 'Percent', ], ], ], 'SearchFacesResponse' => [ 'type' => 'structure', 'members' => [ 'SearchedFaceId' => [ 'shape' => 'FaceId', ], 'FaceMatches' => [ 'shape' => 'FaceMatchList', ], 'FaceModelVersion' => [ 'shape' => 'String', ], ], ], 'Smile' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'StartCelebrityRecognitionRequest' => [ 'type' => 'structure', 'required' => [ 'Video', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartCelebrityRecognitionResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartContentModerationRequest' => [ 'type' => 'structure', 'required' => [ 'Video', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'MinConfidence' => [ 'shape' => 'Percent', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartContentModerationResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartFaceDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'Video', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'FaceAttributes' => [ 'shape' => 'FaceAttributes', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartFaceDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartFaceSearchRequest' => [ 'type' => 'structure', 'required' => [ 'Video', 'CollectionId', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'FaceMatchThreshold' => [ 'shape' => 'Percent', ], 'CollectionId' => [ 'shape' => 'CollectionId', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartFaceSearchResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartLabelDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'Video', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'MinConfidence' => [ 'shape' => 'Percent', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartLabelDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartPersonTrackingRequest' => [ 'type' => 'structure', 'required' => [ 'Video', ], 'members' => [ 'Video' => [ 'shape' => 'Video', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], 'JobTag' => [ 'shape' => 'JobTag', ], ], ], 'StartPersonTrackingResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartStreamProcessorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], ], ], 'StartStreamProcessorResponse' => [ 'type' => 'structure', 'members' => [], ], 'StatusMessage' => [ 'type' => 'string', ], 'StopStreamProcessorRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], ], ], 'StopStreamProcessorResponse' => [ 'type' => 'structure', 'members' => [], ], 'StreamProcessor' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'StreamProcessorName', ], 'Status' => [ 'shape' => 'StreamProcessorStatus', ], ], ], 'StreamProcessorArn' => [ 'type' => 'string', 'pattern' => '(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:streamprocessor\\/.+$)', ], 'StreamProcessorInput' => [ 'type' => 'structure', 'members' => [ 'KinesisVideoStream' => [ 'shape' => 'KinesisVideoStream', ], ], ], 'StreamProcessorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StreamProcessor', ], ], 'StreamProcessorName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-]+', ], 'StreamProcessorOutput' => [ 'type' => 'structure', 'members' => [ 'KinesisDataStream' => [ 'shape' => 'KinesisDataStream', ], ], ], 'StreamProcessorSettings' => [ 'type' => 'structure', 'members' => [ 'FaceSearch' => [ 'shape' => 'FaceSearchSettings', ], ], ], 'StreamProcessorStatus' => [ 'type' => 'string', 'enum' => [ 'STOPPED', 'STARTING', 'RUNNING', 'FAILED', 'STOPPING', ], ], 'String' => [ 'type' => 'string', ], 'Sunglasses' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Boolean', ], 'Confidence' => [ 'shape' => 'Percent', ], ], ], 'TextDetection' => [ 'type' => 'structure', 'members' => [ 'DetectedText' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'TextTypes', ], 'Id' => [ 'shape' => 'UInteger', ], 'ParentId' => [ 'shape' => 'UInteger', ], 'Confidence' => [ 'shape' => 'Percent', ], 'Geometry' => [ 'shape' => 'Geometry', ], ], ], 'TextDetectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TextDetection', ], ], 'TextTypes' => [ 'type' => 'string', 'enum' => [ 'LINE', 'WORD', ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'Timestamp' => [ 'type' => 'long', ], 'UInteger' => [ 'type' => 'integer', 'min' => 0, ], 'ULong' => [ 'type' => 'long', 'min' => 0, ], 'UnindexedFace' => [ 'type' => 'structure', 'members' => [ 'Reasons' => [ 'shape' => 'Reasons', ], 'FaceDetail' => [ 'shape' => 'FaceDetail', ], ], ], 'UnindexedFaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnindexedFace', ], ], 'Url' => [ 'type' => 'string', ], 'Urls' => [ 'type' => 'list', 'member' => [ 'shape' => 'Url', ], ], 'Video' => [ 'type' => 'structure', 'members' => [ 'S3Object' => [ 'shape' => 'S3Object', ], ], ], 'VideoJobStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', ], ], 'VideoMetadata' => [ 'type' => 'structure', 'members' => [ 'Codec' => [ 'shape' => 'String', ], 'DurationMillis' => [ 'shape' => 'ULong', ], 'Format' => [ 'shape' => 'String', ], 'FrameRate' => [ 'shape' => 'Float', ], 'FrameHeight' => [ 'shape' => 'ULong', ], 'FrameWidth' => [ 'shape' => 'ULong', ], ], ], 'VideoTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/rekognition/2016-06-27/paginators-1.json.php b/lib/aws/Aws/data/rekognition/2016-06-27/paginators-1.json.php new file mode 100644 index 0000000..e904cf6 --- /dev/null +++ b/lib/aws/Aws/data/rekognition/2016-06-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rekognition/2016-06-27/paginators-1.json +return [ 'pagination' => [ 'GetCelebrityRecognition' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetContentModeration' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetFaceDetection' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetFaceSearch' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetLabelDetection' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetPersonTracking' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListCollections' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'CollectionIds', ], 'ListFaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Faces', ], 'ListStreamProcessors' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], ],]; diff --git a/lib/aws/Aws/data/rekognition/2016-06-27/smoke.json.php b/lib/aws/Aws/data/rekognition/2016-06-27/smoke.json.php new file mode 100644 index 0000000..57dc6ca --- /dev/null +++ b/lib/aws/Aws/data/rekognition/2016-06-27/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/rekognition/2016-06-27/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListCollections', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/resource-groups/2017-11-27/api-2.json.php b/lib/aws/Aws/data/resource-groups/2017-11-27/api-2.json.php new file mode 100644 index 0000000..7ab2bf3 --- /dev/null +++ b/lib/aws/Aws/data/resource-groups/2017-11-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/resource-groups/2017-11-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-11-27', 'endpointPrefix' => 'resource-groups', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'Resource Groups', 'serviceFullName' => 'AWS Resource Groups', 'serviceId' => 'Resource Groups', 'signatureVersion' => 'v4', 'signingName' => 'resource-groups', 'uid' => 'resource-groups-2017-11-27', ], 'operations' => [ 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/groups', ], 'input' => [ 'shape' => 'CreateGroupInput', ], 'output' => [ 'shape' => 'CreateGroupOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/groups/{GroupName}', ], 'input' => [ 'shape' => 'DeleteGroupInput', ], 'output' => [ 'shape' => 'DeleteGroupOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetGroup' => [ 'name' => 'GetGroup', 'http' => [ 'method' => 'GET', 'requestUri' => '/groups/{GroupName}', ], 'input' => [ 'shape' => 'GetGroupInput', ], 'output' => [ 'shape' => 'GetGroupOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetGroupQuery' => [ 'name' => 'GetGroupQuery', 'http' => [ 'method' => 'GET', 'requestUri' => '/groups/{GroupName}/query', ], 'input' => [ 'shape' => 'GetGroupQueryInput', ], 'output' => [ 'shape' => 'GetGroupQueryOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'GetTags' => [ 'name' => 'GetTags', 'http' => [ 'method' => 'GET', 'requestUri' => '/resources/{Arn}/tags', ], 'input' => [ 'shape' => 'GetTagsInput', ], 'output' => [ 'shape' => 'GetTagsOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListGroupResources' => [ 'name' => 'ListGroupResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/groups/{GroupName}/resource-identifiers-list', ], 'input' => [ 'shape' => 'ListGroupResourcesInput', ], 'output' => [ 'shape' => 'ListGroupResourcesOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/groups-list', ], 'input' => [ 'shape' => 'ListGroupsInput', ], 'output' => [ 'shape' => 'ListGroupsOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'SearchResources' => [ 'name' => 'SearchResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/resources/search', ], 'input' => [ 'shape' => 'SearchResourcesInput', ], 'output' => [ 'shape' => 'SearchResourcesOutput', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'Tag' => [ 'name' => 'Tag', 'http' => [ 'method' => 'PUT', 'requestUri' => '/resources/{Arn}/tags', ], 'input' => [ 'shape' => 'TagInput', ], 'output' => [ 'shape' => 'TagOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'Untag' => [ 'name' => 'Untag', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/resources/{Arn}/tags', ], 'input' => [ 'shape' => 'UntagInput', ], 'output' => [ 'shape' => 'UntagOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'PUT', 'requestUri' => '/groups/{GroupName}', ], 'input' => [ 'shape' => 'UpdateGroupInput', ], 'output' => [ 'shape' => 'UpdateGroupOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], 'UpdateGroupQuery' => [ 'name' => 'UpdateGroupQuery', 'http' => [ 'method' => 'PUT', 'requestUri' => '/groups/{GroupName}/query', ], 'input' => [ 'shape' => 'UpdateGroupQueryInput', ], 'output' => [ 'shape' => 'UpdateGroupQueryOutput', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'MethodNotAllowedException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], ], 'shapes' => [ 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CreateGroupInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'ResourceQuery', ], 'members' => [ 'Name' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], 'ResourceQuery' => [ 'shape' => 'ResourceQuery', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateGroupOutput' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], 'ResourceQuery' => [ 'shape' => 'ResourceQuery', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DeleteGroupInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], ], ], 'DeleteGroupOutput' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'ErrorMessage' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'GetGroupInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], ], ], 'GetGroupOutput' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'GetGroupQueryInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], ], ], 'GetGroupQueryOutput' => [ 'type' => 'structure', 'members' => [ 'GroupQuery' => [ 'shape' => 'GroupQuery', ], ], ], 'GetTagsInput' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', 'location' => 'uri', 'locationName' => 'Arn', ], ], ], 'GetTagsOutput' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'Group' => [ 'type' => 'structure', 'required' => [ 'GroupArn', 'Name', ], 'members' => [ 'GroupArn' => [ 'shape' => 'GroupArn', ], 'Name' => [ 'shape' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], ], ], 'GroupArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:resource-groups:[a-z]{2}-[a-z]+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,128}', ], 'GroupDescription' => [ 'type' => 'string', 'max' => 512, 'pattern' => '[\\sa-zA-Z0-9_\\.-]*', ], 'GroupFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'GroupFilterName', ], 'Values' => [ 'shape' => 'GroupFilterValues', ], ], ], 'GroupFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupFilter', ], ], 'GroupFilterName' => [ 'type' => 'string', 'enum' => [ 'resource-type', ], ], 'GroupFilterValue' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'GroupFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupFilterValue', ], 'max' => 5, 'min' => 1, ], 'GroupIdentifier' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'GroupArn' => [ 'shape' => 'GroupArn', ], ], ], 'GroupIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupIdentifier', ], ], 'GroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], ], 'GroupName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9_\\.-]+', ], 'GroupQuery' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'ResourceQuery', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'ResourceQuery' => [ 'shape' => 'ResourceQuery', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'ListGroupResourcesInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'Filters' => [ 'shape' => 'ResourceFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListGroupResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifiers' => [ 'shape' => 'ResourceIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'QueryErrors' => [ 'shape' => 'QueryErrorList', ], ], ], 'ListGroupsInput' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'GroupFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'GroupIdentifiers' => [ 'shape' => 'GroupIdentifierList', ], 'Groups' => [ 'shape' => 'GroupList', 'deprecated' => true, 'deprecatedMessage' => 'This field is deprecated, use GroupIdentifiers instead.', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'MethodNotAllowedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 405, ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Query' => [ 'type' => 'string', 'max' => 2048, ], 'QueryError' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'QueryErrorCode', ], 'Message' => [ 'shape' => 'QueryErrorMessage', ], ], ], 'QueryErrorCode' => [ 'type' => 'string', 'enum' => [ 'CLOUDFORMATION_STACK_INACTIVE', 'CLOUDFORMATION_STACK_NOT_EXISTING', ], ], 'QueryErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryError', ], ], 'QueryErrorMessage' => [ 'type' => 'string', ], 'QueryType' => [ 'type' => 'string', 'enum' => [ 'TAG_FILTERS_1_0', 'CLOUDFORMATION_STACK_1_0', ], ], 'ResourceArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:[a-z0-9\\-]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+', ], 'ResourceFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceFilterName', ], 'Values' => [ 'shape' => 'ResourceFilterValues', ], ], ], 'ResourceFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceFilter', ], ], 'ResourceFilterName' => [ 'type' => 'string', 'enum' => [ 'resource-type', ], ], 'ResourceFilterValue' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => 'AWS::[a-zA-Z0-9]+::[a-zA-Z0-9]+', ], 'ResourceFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceFilterValue', ], 'max' => 5, 'min' => 1, ], 'ResourceIdentifier' => [ 'type' => 'structure', 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'ResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceIdentifier', ], ], 'ResourceQuery' => [ 'type' => 'structure', 'required' => [ 'Type', 'Query', ], 'members' => [ 'Type' => [ 'shape' => 'QueryType', ], 'Query' => [ 'shape' => 'Query', ], ], ], 'ResourceType' => [ 'type' => 'string', 'pattern' => 'AWS::[a-zA-Z0-9]+::\\w+', ], 'SearchResourcesInput' => [ 'type' => 'structure', 'required' => [ 'ResourceQuery', ], 'members' => [ 'ResourceQuery' => [ 'shape' => 'ResourceQuery', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'SearchResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceIdentifiers' => [ 'shape' => 'ResourceIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'QueryErrors' => [ 'shape' => 'QueryErrorList', ], ], ], 'TagInput' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Tags', ], 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', 'location' => 'uri', 'locationName' => 'Arn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagOutput' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'UntagInput' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Keys', ], 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', 'location' => 'uri', 'locationName' => 'Arn', ], 'Keys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagOutput' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'GroupArn', ], 'Keys' => [ 'shape' => 'TagKeyList', ], ], ], 'UpdateGroupInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'Description' => [ 'shape' => 'GroupDescription', ], ], ], 'UpdateGroupOutput' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'UpdateGroupQueryInput' => [ 'type' => 'structure', 'required' => [ 'GroupName', 'ResourceQuery', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', 'location' => 'uri', 'locationName' => 'GroupName', ], 'ResourceQuery' => [ 'shape' => 'ResourceQuery', ], ], ], 'UpdateGroupQueryOutput' => [ 'type' => 'structure', 'members' => [ 'GroupQuery' => [ 'shape' => 'GroupQuery', ], ], ], ],]; diff --git a/lib/aws/Aws/data/resource-groups/2017-11-27/paginators-1.json.php b/lib/aws/Aws/data/resource-groups/2017-11-27/paginators-1.json.php new file mode 100644 index 0000000..25558b2 --- /dev/null +++ b/lib/aws/Aws/data/resource-groups/2017-11-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/resource-groups/2017-11-27/paginators-1.json +return [ 'pagination' => [ 'ListGroupResources' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'SearchResources' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/api-2.json.php b/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/api-2.json.php new file mode 100644 index 0000000..603e48b --- /dev/null +++ b/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/resourcegroupstaggingapi/2017-01-26/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-01-26', 'endpointPrefix' => 'tagging', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Resource Groups Tagging API', 'signatureVersion' => 'v4', 'targetPrefix' => 'ResourceGroupsTaggingAPI_20170126', 'uid' => 'resourcegroupstaggingapi-2017-01-26', ], 'operations' => [ 'GetResources' => [ 'name' => 'GetResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourcesInput', ], 'output' => [ 'shape' => 'GetResourcesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'PaginationTokenExpiredException', ], ], ], 'GetTagKeys' => [ 'name' => 'GetTagKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTagKeysInput', ], 'output' => [ 'shape' => 'GetTagKeysOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'PaginationTokenExpiredException', ], ], ], 'GetTagValues' => [ 'name' => 'GetTagValues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTagValuesInput', ], 'output' => [ 'shape' => 'GetTagValuesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'PaginationTokenExpiredException', ], ], ], 'TagResources' => [ 'name' => 'TagResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourcesInput', ], 'output' => [ 'shape' => 'TagResourcesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalServiceException', ], ], ], 'UntagResources' => [ 'name' => 'UntagResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourcesInput', ], 'output' => [ 'shape' => 'UntagResourcesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalServiceException', ], ], ], ], 'shapes' => [ 'AmazonResourceType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'InternalServiceException', 'InvalidParameterException', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExceptionMessage' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'FailedResourcesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ResourceARN', ], 'value' => [ 'shape' => 'FailureInfo', ], ], 'FailureInfo' => [ 'type' => 'structure', 'members' => [ 'StatusCode' => [ 'shape' => 'StatusCode', ], 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ErrorMessage', ], ], ], 'GetResourcesInput' => [ 'type' => 'structure', 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], 'TagFilters' => [ 'shape' => 'TagFilterList', ], 'ResourcesPerPage' => [ 'shape' => 'ResourcesPerPage', ], 'TagsPerPage' => [ 'shape' => 'TagsPerPage', ], 'ResourceTypeFilters' => [ 'shape' => 'ResourceTypeFilterList', ], ], ], 'GetResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], 'ResourceTagMappingList' => [ 'shape' => 'ResourceTagMappingList', ], ], ], 'GetTagKeysInput' => [ 'type' => 'structure', 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetTagKeysOutput' => [ 'type' => 'structure', 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'GetTagValuesInput' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], 'Key' => [ 'shape' => 'TagKey', ], ], ], 'GetTagValuesOutput' => [ 'type' => 'structure', 'members' => [ 'PaginationToken' => [ 'shape' => 'PaginationToken', ], 'TagValues' => [ 'shape' => 'TagValuesOutputList', ], ], ], 'InternalServiceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'PaginationTokenExpiredException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourceARN' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'ResourceARNList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceARN', ], 'max' => 20, 'min' => 1, ], 'ResourceTagMapping' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ResourceTagMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTagMapping', ], ], 'ResourceTypeFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AmazonResourceType', ], ], 'ResourcesPerPage' => [ 'type' => 'integer', ], 'StatusCode' => [ 'type' => 'integer', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Values' => [ 'shape' => 'TagValueList', ], ], ], 'TagFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagFilter', ], 'max' => 50, 'min' => 0, ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagKeyListForUntag' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 1, ], 'TagResourcesInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARNList', 'Tags', ], 'members' => [ 'ResourceARNList' => [ 'shape' => 'ResourceARNList', ], 'Tags' => [ 'shape' => 'TagMap', ], ], ], 'TagResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'FailedResourcesMap' => [ 'shape' => 'FailedResourcesMap', ], ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TagValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagValue', ], 'max' => 20, 'min' => 0, ], 'TagValuesOutputList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagValue', ], ], 'TagsPerPage' => [ 'type' => 'integer', ], 'ThrottledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UntagResourcesInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARNList', 'TagKeys', ], 'members' => [ 'ResourceARNList' => [ 'shape' => 'ResourceARNList', ], 'TagKeys' => [ 'shape' => 'TagKeyListForUntag', ], ], ], 'UntagResourcesOutput' => [ 'type' => 'structure', 'members' => [ 'FailedResourcesMap' => [ 'shape' => 'FailedResourcesMap', ], ], ], ],]; diff --git a/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json.php b/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json.php new file mode 100644 index 0000000..20e1b8f --- /dev/null +++ b/lib/aws/Aws/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json +return [ 'pagination' => [ 'GetResources' => [ 'input_token' => 'PaginationToken', 'limit_key' => 'ResourcesPerPage', 'output_token' => 'PaginationToken', 'result_key' => 'ResourceTagMappingList', ], 'GetTagKeys' => [ 'input_token' => 'PaginationToken', 'output_token' => 'PaginationToken', 'result_key' => 'TagKeys', ], 'GetTagValues' => [ 'input_token' => 'PaginationToken', 'output_token' => 'PaginationToken', 'result_key' => 'TagValues', ], ],]; diff --git a/lib/aws/Aws/data/robomaker/2018-06-29/api-2.json.php b/lib/aws/Aws/data/robomaker/2018-06-29/api-2.json.php new file mode 100644 index 0000000..4ad0a27 --- /dev/null +++ b/lib/aws/Aws/data/robomaker/2018-06-29/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/robomaker/2018-06-29/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-06-29', 'endpointPrefix' => 'robomaker', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'RoboMaker', 'serviceFullName' => 'AWS RoboMaker', 'serviceId' => 'RoboMaker', 'signatureVersion' => 'v4', 'signingName' => 'robomaker', 'uid' => 'robomaker-2018-06-29', ], 'operations' => [ 'BatchDescribeSimulationJob' => [ 'name' => 'BatchDescribeSimulationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/batchDescribeSimulationJob', ], 'input' => [ 'shape' => 'BatchDescribeSimulationJobRequest', ], 'output' => [ 'shape' => 'BatchDescribeSimulationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CancelSimulationJob' => [ 'name' => 'CancelSimulationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/cancelSimulationJob', ], 'input' => [ 'shape' => 'CancelSimulationJobRequest', ], 'output' => [ 'shape' => 'CancelSimulationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateDeploymentJob' => [ 'name' => 'CreateDeploymentJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/createDeploymentJob', ], 'input' => [ 'shape' => 'CreateDeploymentJobRequest', ], 'output' => [ 'shape' => 'CreateDeploymentJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentDeploymentException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'CreateFleet' => [ 'name' => 'CreateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/createFleet', ], 'input' => [ 'shape' => 'CreateFleetRequest', ], 'output' => [ 'shape' => 'CreateFleetResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateRobot' => [ 'name' => 'CreateRobot', 'http' => [ 'method' => 'POST', 'requestUri' => '/createRobot', ], 'input' => [ 'shape' => 'CreateRobotRequest', ], 'output' => [ 'shape' => 'CreateRobotResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'CreateRobotApplication' => [ 'name' => 'CreateRobotApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/createRobotApplication', ], 'input' => [ 'shape' => 'CreateRobotApplicationRequest', ], 'output' => [ 'shape' => 'CreateRobotApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'CreateRobotApplicationVersion' => [ 'name' => 'CreateRobotApplicationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/createRobotApplicationVersion', ], 'input' => [ 'shape' => 'CreateRobotApplicationVersionRequest', ], 'output' => [ 'shape' => 'CreateRobotApplicationVersionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'CreateSimulationApplication' => [ 'name' => 'CreateSimulationApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/createSimulationApplication', ], 'input' => [ 'shape' => 'CreateSimulationApplicationRequest', ], 'output' => [ 'shape' => 'CreateSimulationApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'CreateSimulationApplicationVersion' => [ 'name' => 'CreateSimulationApplicationVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/createSimulationApplicationVersion', ], 'input' => [ 'shape' => 'CreateSimulationApplicationVersionRequest', ], 'output' => [ 'shape' => 'CreateSimulationApplicationVersionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'CreateSimulationJob' => [ 'name' => 'CreateSimulationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/createSimulationJob', ], 'input' => [ 'shape' => 'CreateSimulationJobRequest', ], 'output' => [ 'shape' => 'CreateSimulationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'DeleteFleet' => [ 'name' => 'DeleteFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteFleet', ], 'input' => [ 'shape' => 'DeleteFleetRequest', ], 'output' => [ 'shape' => 'DeleteFleetResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteRobot' => [ 'name' => 'DeleteRobot', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteRobot', ], 'input' => [ 'shape' => 'DeleteRobotRequest', ], 'output' => [ 'shape' => 'DeleteRobotResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteRobotApplication' => [ 'name' => 'DeleteRobotApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteRobotApplication', ], 'input' => [ 'shape' => 'DeleteRobotApplicationRequest', ], 'output' => [ 'shape' => 'DeleteRobotApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DeleteSimulationApplication' => [ 'name' => 'DeleteSimulationApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteSimulationApplication', ], 'input' => [ 'shape' => 'DeleteSimulationApplicationRequest', ], 'output' => [ 'shape' => 'DeleteSimulationApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DeregisterRobot' => [ 'name' => 'DeregisterRobot', 'http' => [ 'method' => 'POST', 'requestUri' => '/deregisterRobot', ], 'input' => [ 'shape' => 'DeregisterRobotRequest', ], 'output' => [ 'shape' => 'DeregisterRobotResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeDeploymentJob' => [ 'name' => 'DescribeDeploymentJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeDeploymentJob', ], 'input' => [ 'shape' => 'DescribeDeploymentJobRequest', ], 'output' => [ 'shape' => 'DescribeDeploymentJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeFleet' => [ 'name' => 'DescribeFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeFleet', ], 'input' => [ 'shape' => 'DescribeFleetRequest', ], 'output' => [ 'shape' => 'DescribeFleetResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeRobot' => [ 'name' => 'DescribeRobot', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeRobot', ], 'input' => [ 'shape' => 'DescribeRobotRequest', ], 'output' => [ 'shape' => 'DescribeRobotResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeRobotApplication' => [ 'name' => 'DescribeRobotApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeRobotApplication', ], 'input' => [ 'shape' => 'DescribeRobotApplicationRequest', ], 'output' => [ 'shape' => 'DescribeRobotApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeSimulationApplication' => [ 'name' => 'DescribeSimulationApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeSimulationApplication', ], 'input' => [ 'shape' => 'DescribeSimulationApplicationRequest', ], 'output' => [ 'shape' => 'DescribeSimulationApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'DescribeSimulationJob' => [ 'name' => 'DescribeSimulationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeSimulationJob', ], 'input' => [ 'shape' => 'DescribeSimulationJobRequest', ], 'output' => [ 'shape' => 'DescribeSimulationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListDeploymentJobs' => [ 'name' => 'ListDeploymentJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/listDeploymentJobs', ], 'input' => [ 'shape' => 'ListDeploymentJobsRequest', ], 'output' => [ 'shape' => 'ListDeploymentJobsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListFleets' => [ 'name' => 'ListFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/listFleets', ], 'input' => [ 'shape' => 'ListFleetsRequest', ], 'output' => [ 'shape' => 'ListFleetsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListRobotApplications' => [ 'name' => 'ListRobotApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/listRobotApplications', ], 'input' => [ 'shape' => 'ListRobotApplicationsRequest', ], 'output' => [ 'shape' => 'ListRobotApplicationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListRobots' => [ 'name' => 'ListRobots', 'http' => [ 'method' => 'POST', 'requestUri' => '/listRobots', ], 'input' => [ 'shape' => 'ListRobotsRequest', ], 'output' => [ 'shape' => 'ListRobotsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListSimulationApplications' => [ 'name' => 'ListSimulationApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/listSimulationApplications', ], 'input' => [ 'shape' => 'ListSimulationApplicationsRequest', ], 'output' => [ 'shape' => 'ListSimulationApplicationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListSimulationJobs' => [ 'name' => 'ListSimulationJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/listSimulationJobs', ], 'input' => [ 'shape' => 'ListSimulationJobsRequest', ], 'output' => [ 'shape' => 'ListSimulationJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'RegisterRobot' => [ 'name' => 'RegisterRobot', 'http' => [ 'method' => 'POST', 'requestUri' => '/registerRobot', ], 'input' => [ 'shape' => 'RegisterRobotRequest', ], 'output' => [ 'shape' => 'RegisterRobotResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RestartSimulationJob' => [ 'name' => 'RestartSimulationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/restartSimulationJob', ], 'input' => [ 'shape' => 'RestartSimulationJobRequest', ], 'output' => [ 'shape' => 'RestartSimulationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'SyncDeploymentJob' => [ 'name' => 'SyncDeploymentJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/syncDeploymentJob', ], 'input' => [ 'shape' => 'SyncDeploymentJobRequest', ], 'output' => [ 'shape' => 'SyncDeploymentJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ConcurrentDeploymentException', ], [ 'shape' => 'IdempotentParameterMismatchException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/tags/{resourceArn}', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateRobotApplication' => [ 'name' => 'UpdateRobotApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateRobotApplication', ], 'input' => [ 'shape' => 'UpdateRobotApplicationRequest', ], 'output' => [ 'shape' => 'UpdateRobotApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], 'UpdateSimulationApplication' => [ 'name' => 'UpdateSimulationApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateSimulationApplication', ], 'input' => [ 'shape' => 'UpdateSimulationApplicationRequest', ], 'output' => [ 'shape' => 'UpdateSimulationApplicationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServerException', ], ], ], ], 'shapes' => [ 'Architecture' => [ 'type' => 'string', 'enum' => [ 'X86_64', 'ARM64', 'ARMHF', ], ], 'Arn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, 'pattern' => 'arn:.*', ], 'Arns' => [ 'type' => 'list', 'member' => [ 'shape' => 'Arn', ], 'max' => 100, 'min' => 1, ], 'BatchDescribeSimulationJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobs', ], 'members' => [ 'jobs' => [ 'shape' => 'Arns', ], ], ], 'BatchDescribeSimulationJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'SimulationJobs', ], 'unprocessedJobs' => [ 'shape' => 'Arns', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CancelSimulationJobRequest' => [ 'type' => 'structure', 'required' => [ 'job', ], 'members' => [ 'job' => [ 'shape' => 'Arn', ], ], ], 'CancelSimulationJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9_\\-=]*', ], 'Command' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-]*', ], 'ConcurrentDeploymentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CreateDeploymentJobRequest' => [ 'type' => 'structure', 'required' => [ 'clientRequestToken', 'fleet', 'deploymentApplicationConfigs', ], 'members' => [ 'deploymentConfig' => [ 'shape' => 'DeploymentConfig', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'fleet' => [ 'shape' => 'Arn', ], 'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateDeploymentJobResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'fleet' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'failureCode' => [ 'shape' => 'DeploymentJobErrorCode', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'deploymentConfig' => [ 'shape' => 'DeploymentConfig', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateFleetResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateRobotApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'sources', 'robotSoftwareSuite', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'sources' => [ 'shape' => 'SourceConfigs', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateRobotApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateRobotApplicationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'currentRevisionId' => [ 'shape' => 'RevisionId', ], ], ], 'CreateRobotApplicationVersionResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], ], ], 'CreateRobotRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'architecture', 'greengrassGroupId', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'architecture' => [ 'shape' => 'Architecture', ], 'greengrassGroupId' => [ 'shape' => 'Id', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateRobotResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'greengrassGroupId' => [ 'shape' => 'Id', ], 'architecture' => [ 'shape' => 'Architecture', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateSimulationApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'sources', 'simulationSoftwareSuite', 'robotSoftwareSuite', 'renderingEngine', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'sources' => [ 'shape' => 'SourceConfigs', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateSimulationApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'CreateSimulationApplicationVersionRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'currentRevisionId' => [ 'shape' => 'RevisionId', ], ], ], 'CreateSimulationApplicationVersionResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], ], ], 'CreateSimulationJobRequest' => [ 'type' => 'structure', 'required' => [ 'maxJobDurationInSeconds', 'iamRole', ], 'members' => [ 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'failureBehavior' => [ 'shape' => 'FailureBehavior', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], 'tags' => [ 'shape' => 'TagMap', ], 'vpcConfig' => [ 'shape' => 'VPCConfig', ], ], ], 'CreateSimulationJobResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'SimulationJobStatus', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'failureBehavior' => [ 'shape' => 'FailureBehavior', ], 'failureCode' => [ 'shape' => 'SimulationJobErrorCode', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'simulationTimeMillis' => [ 'shape' => 'SimulationTimeMillis', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], 'tags' => [ 'shape' => 'TagMap', ], 'vpcConfig' => [ 'shape' => 'VPCConfigResponse', ], ], ], 'CreatedAt' => [ 'type' => 'timestamp', ], 'DeleteFleetRequest' => [ 'type' => 'structure', 'required' => [ 'fleet', ], 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], ], ], 'DeleteFleetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRobotApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], ], ], 'DeleteRobotApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRobotRequest' => [ 'type' => 'structure', 'required' => [ 'robot', ], 'members' => [ 'robot' => [ 'shape' => 'Arn', ], ], ], 'DeleteRobotResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSimulationApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], ], ], 'DeleteSimulationApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeploymentApplicationConfig' => [ 'type' => 'structure', 'required' => [ 'application', 'applicationVersion', 'launchConfig', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'DeploymentVersion', ], 'launchConfig' => [ 'shape' => 'DeploymentLaunchConfig', ], ], ], 'DeploymentApplicationConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentApplicationConfig', ], 'max' => 1, 'min' => 1, ], 'DeploymentConfig' => [ 'type' => 'structure', 'members' => [ 'concurrentDeploymentPercentage' => [ 'shape' => 'Percentage', ], 'failureThresholdPercentage' => [ 'shape' => 'Percentage', ], ], ], 'DeploymentJob' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'fleet' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ], 'deploymentConfig' => [ 'shape' => 'DeploymentConfig', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'failureCode' => [ 'shape' => 'DeploymentJobErrorCode', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], ], ], 'DeploymentJobErrorCode' => [ 'type' => 'string', 'enum' => [ 'ResourceNotFound', 'EnvironmentSetupError', 'EtagMismatch', 'FailureThresholdBreached', 'RobotDeploymentNoResponse', 'RobotAgentConnectionTimeout', 'GreengrassDeploymentFailed', 'MissingRobotArchitecture', 'MissingRobotApplicationArchitecture', 'MissingRobotDeploymentResource', 'GreengrassGroupVersionDoesNotExist', 'ExtractingBundleFailure', 'PreLaunchFileFailure', 'PostLaunchFileFailure', 'BadPermissionError', 'InternalServerError', ], ], 'DeploymentJobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeploymentJob', ], 'max' => 200, 'min' => 0, ], 'DeploymentLaunchConfig' => [ 'type' => 'structure', 'required' => [ 'packageName', 'launchFile', ], 'members' => [ 'packageName' => [ 'shape' => 'Command', ], 'preLaunchFile' => [ 'shape' => 'Path', ], 'launchFile' => [ 'shape' => 'Command', ], 'postLaunchFile' => [ 'shape' => 'Path', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariableMap', ], ], ], 'DeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Preparing', 'InProgress', 'Failed', 'Succeeded', ], ], 'DeploymentVersion' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[0-9]*', ], 'DeregisterRobotRequest' => [ 'type' => 'structure', 'required' => [ 'fleet', 'robot', ], 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], 'robot' => [ 'shape' => 'Arn', ], ], ], 'DeregisterRobotResponse' => [ 'type' => 'structure', 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], 'robot' => [ 'shape' => 'Arn', ], ], ], 'DescribeDeploymentJobRequest' => [ 'type' => 'structure', 'required' => [ 'job', ], 'members' => [ 'job' => [ 'shape' => 'Arn', ], ], ], 'DescribeDeploymentJobResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'fleet' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'deploymentConfig' => [ 'shape' => 'DeploymentConfig', ], 'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'failureCode' => [ 'shape' => 'DeploymentJobErrorCode', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'robotDeploymentSummary' => [ 'shape' => 'RobotDeploymentSummary', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'DescribeFleetRequest' => [ 'type' => 'structure', 'required' => [ 'fleet', ], 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], ], ], 'DescribeFleetResponse' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'arn' => [ 'shape' => 'Arn', ], 'robots' => [ 'shape' => 'Robots', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'lastDeploymentStatus' => [ 'shape' => 'DeploymentStatus', ], 'lastDeploymentJob' => [ 'shape' => 'Arn', ], 'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'DescribeRobotApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], ], ], 'DescribeRobotApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'revisionId' => [ 'shape' => 'RevisionId', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'DescribeRobotRequest' => [ 'type' => 'structure', 'required' => [ 'robot', ], 'members' => [ 'robot' => [ 'shape' => 'Arn', ], ], ], 'DescribeRobotResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'fleetArn' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'RobotStatus', ], 'greengrassGroupId' => [ 'shape' => 'Id', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'architecture' => [ 'shape' => 'Architecture', ], 'lastDeploymentJob' => [ 'shape' => 'Arn', ], 'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'DescribeSimulationApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], ], ], 'DescribeSimulationApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'revisionId' => [ 'shape' => 'RevisionId', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'DescribeSimulationJobRequest' => [ 'type' => 'structure', 'required' => [ 'job', ], 'members' => [ 'job' => [ 'shape' => 'Arn', ], ], ], 'DescribeSimulationJobResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'SimulationJobStatus', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'failureBehavior' => [ 'shape' => 'FailureBehavior', ], 'failureCode' => [ 'shape' => 'SimulationJobErrorCode', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'simulationTimeMillis' => [ 'shape' => 'SimulationTimeMillis', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], 'tags' => [ 'shape' => 'TagMap', ], 'vpcConfig' => [ 'shape' => 'VPCConfigResponse', ], ], ], 'EnvironmentVariableKey' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[A-Z_][A-Z0-9_]*', ], 'EnvironmentVariableMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'EnvironmentVariableKey', ], 'value' => [ 'shape' => 'EnvironmentVariableValue', ], 'max' => 16, 'min' => 0, ], 'EnvironmentVariableValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'FailureBehavior' => [ 'type' => 'string', 'enum' => [ 'Fail', 'Continue', ], ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'values' => [ 'shape' => 'FilterValues', ], ], ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'Name', ], 'max' => 1, 'min' => 1, ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], 'max' => 1, 'min' => 1, ], 'Fleet' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'arn' => [ 'shape' => 'Arn', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'lastDeploymentStatus' => [ 'shape' => 'DeploymentStatus', ], 'lastDeploymentJob' => [ 'shape' => 'Arn', ], 'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ], ], ], 'Fleets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Fleet', ], 'max' => 200, 'min' => 0, ], 'GenericInteger' => [ 'type' => 'integer', ], 'GenericString' => [ 'type' => 'string', ], 'IamRole' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => 'arn:.*', ], 'Id' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'JobDuration' => [ 'type' => 'long', ], 'LastUpdatedAt' => [ 'type' => 'timestamp', ], 'LaunchConfig' => [ 'type' => 'structure', 'required' => [ 'packageName', 'launchFile', ], 'members' => [ 'packageName' => [ 'shape' => 'Command', ], 'launchFile' => [ 'shape' => 'Command', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariableMap', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListDeploymentJobsRequest' => [ 'type' => 'structure', 'members' => [ 'filters' => [ 'shape' => 'Filters', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListDeploymentJobsResponse' => [ 'type' => 'structure', 'members' => [ 'deploymentJobs' => [ 'shape' => 'DeploymentJobs', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListFleetsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filters' => [ 'shape' => 'Filters', ], ], ], 'ListFleetsResponse' => [ 'type' => 'structure', 'members' => [ 'fleetDetails' => [ 'shape' => 'Fleets', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRobotApplicationsRequest' => [ 'type' => 'structure', 'members' => [ 'versionQualifier' => [ 'shape' => 'VersionQualifier', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filters' => [ 'shape' => 'Filters', ], ], ], 'ListRobotApplicationsResponse' => [ 'type' => 'structure', 'members' => [ 'robotApplicationSummaries' => [ 'shape' => 'RobotApplicationSummaries', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListRobotsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filters' => [ 'shape' => 'Filters', ], ], ], 'ListRobotsResponse' => [ 'type' => 'structure', 'members' => [ 'robots' => [ 'shape' => 'Robots', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSimulationApplicationsRequest' => [ 'type' => 'structure', 'members' => [ 'versionQualifier' => [ 'shape' => 'VersionQualifier', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filters' => [ 'shape' => 'Filters', ], ], ], 'ListSimulationApplicationsResponse' => [ 'type' => 'structure', 'members' => [ 'simulationApplicationSummaries' => [ 'shape' => 'SimulationApplicationSummaries', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListSimulationJobsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'PaginationToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'filters' => [ 'shape' => 'Filters', ], ], ], 'ListSimulationJobsResponse' => [ 'type' => 'structure', 'required' => [ 'simulationJobSummaries', ], 'members' => [ 'simulationJobSummaries' => [ 'shape' => 'SimulationJobSummaries', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'uri', 'locationName' => 'resourceArn', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagMap', ], ], ], 'MaxResults' => [ 'type' => 'integer', ], 'Name' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[a-zA-Z0-9_\\-]*', ], 'OutputLocation' => [ 'type' => 'structure', 'members' => [ 's3Bucket' => [ 'shape' => 'S3Bucket', ], 's3Prefix' => [ 'shape' => 'S3Key', ], ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-\\/+=]*', ], 'Path' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'PercentDone' => [ 'type' => 'float', 'max' => 100, 'min' => 0, ], 'Percentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ProgressDetail' => [ 'type' => 'structure', 'members' => [ 'currentProgress' => [ 'shape' => 'RobotDeploymentStep', ], 'percentDone' => [ 'shape' => 'PercentDone', ], 'estimatedTimeRemainingSeconds' => [ 'shape' => 'GenericInteger', ], 'targetResource' => [ 'shape' => 'GenericString', ], ], ], 'RegisterRobotRequest' => [ 'type' => 'structure', 'required' => [ 'fleet', 'robot', ], 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], 'robot' => [ 'shape' => 'Arn', ], ], ], 'RegisterRobotResponse' => [ 'type' => 'structure', 'members' => [ 'fleet' => [ 'shape' => 'Arn', ], 'robot' => [ 'shape' => 'Arn', ], ], ], 'RenderingEngine' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'RenderingEngineType', ], 'version' => [ 'shape' => 'RenderingEngineVersionType', ], ], ], 'RenderingEngineType' => [ 'type' => 'string', 'enum' => [ 'OGRE', ], ], 'RenderingEngineVersionType' => [ 'type' => 'string', 'pattern' => '1.x', ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'RestartSimulationJobRequest' => [ 'type' => 'structure', 'required' => [ 'job', ], 'members' => [ 'job' => [ 'shape' => 'Arn', ], ], ], 'RestartSimulationJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'RevisionId' => [ 'type' => 'string', 'max' => 40, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-]*', ], 'Robot' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'fleetArn' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'RobotStatus', ], 'greenGrassGroupId' => [ 'shape' => 'Id', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'architecture' => [ 'shape' => 'Architecture', ], 'lastDeploymentJob' => [ 'shape' => 'Arn', ], 'lastDeploymentTime' => [ 'shape' => 'CreatedAt', ], ], ], 'RobotApplicationConfig' => [ 'type' => 'structure', 'required' => [ 'application', 'launchConfig', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], 'launchConfig' => [ 'shape' => 'LaunchConfig', ], ], ], 'RobotApplicationConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'RobotApplicationConfig', ], 'max' => 1, 'min' => 1, ], 'RobotApplicationNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'Name', ], 'max' => 1, 'min' => 1, ], 'RobotApplicationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RobotApplicationSummary', ], 'max' => 100, 'min' => 0, ], 'RobotApplicationSummary' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'arn' => [ 'shape' => 'Arn', ], 'version' => [ 'shape' => 'Version', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], ], ], 'RobotDeployment' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'deploymentStartTime' => [ 'shape' => 'CreatedAt', ], 'deploymentFinishTime' => [ 'shape' => 'CreatedAt', ], 'status' => [ 'shape' => 'RobotStatus', ], 'progressDetail' => [ 'shape' => 'ProgressDetail', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'failureCode' => [ 'shape' => 'DeploymentJobErrorCode', ], ], ], 'RobotDeploymentStep' => [ 'type' => 'string', 'enum' => [ 'Validating', 'DownloadingExtracting', 'ExecutingPreLaunch', 'Launching', 'ExecutingPostLaunch', 'Finished', ], ], 'RobotDeploymentSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'RobotDeployment', ], ], 'RobotSoftwareSuite' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'RobotSoftwareSuiteType', ], 'version' => [ 'shape' => 'RobotSoftwareSuiteVersionType', ], ], ], 'RobotSoftwareSuiteType' => [ 'type' => 'string', 'enum' => [ 'ROS', ], ], 'RobotSoftwareSuiteVersionType' => [ 'type' => 'string', 'enum' => [ 'Kinetic', ], ], 'RobotStatus' => [ 'type' => 'string', 'enum' => [ 'Available', 'Registered', 'PendingNewDeployment', 'Deploying', 'Failed', 'InSync', 'NoResponse', ], ], 'Robots' => [ 'type' => 'list', 'member' => [ 'shape' => 'Robot', ], 'max' => 1000, 'min' => 0, ], 'S3Bucket' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '[a-z0-9][a-z0-9\\-]*[a-z0-9]', ], 'S3Etag' => [ 'type' => 'string', ], 'S3Key' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '.*', ], 'SecurityGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], 'max' => 5, 'min' => 1, ], 'SimulationApplicationConfig' => [ 'type' => 'structure', 'required' => [ 'application', 'launchConfig', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'applicationVersion' => [ 'shape' => 'Version', ], 'launchConfig' => [ 'shape' => 'LaunchConfig', ], ], ], 'SimulationApplicationConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'SimulationApplicationConfig', ], 'max' => 1, 'min' => 1, ], 'SimulationApplicationNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'Name', ], 'max' => 1, 'min' => 1, ], 'SimulationApplicationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SimulationApplicationSummary', ], 'max' => 100, 'min' => 0, ], 'SimulationApplicationSummary' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'Name', ], 'arn' => [ 'shape' => 'Arn', ], 'version' => [ 'shape' => 'Version', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], ], ], 'SimulationJob' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'SimulationJobStatus', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'failureBehavior' => [ 'shape' => 'FailureBehavior', ], 'failureCode' => [ 'shape' => 'SimulationJobErrorCode', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'simulationTimeMillis' => [ 'shape' => 'SimulationTimeMillis', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], 'tags' => [ 'shape' => 'TagMap', ], 'vpcConfig' => [ 'shape' => 'VPCConfigResponse', ], ], ], 'SimulationJobErrorCode' => [ 'type' => 'string', 'enum' => [ 'InternalServiceError', 'RobotApplicationCrash', 'SimulationApplicationCrash', 'BadPermissionsRobotApplication', 'BadPermissionsSimulationApplication', 'BadPermissionsS3Output', 'BadPermissionsCloudwatchLogs', 'SubnetIpLimitExceeded', 'ENILimitExceeded', 'BadPermissionsUserCredentials', 'InvalidBundleRobotApplication', 'InvalidBundleSimulationApplication', 'RobotApplicationVersionMismatchedEtag', 'SimulationApplicationVersionMismatchedEtag', 'WrongRegionS3Output', 'WrongRegionRobotApplication', 'WrongRegionSimulationApplication', ], ], 'SimulationJobStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Preparing', 'Running', 'Restarting', 'Completed', 'Failed', 'RunningFailed', 'Terminating', 'Terminated', 'Canceled', ], ], 'SimulationJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SimulationJobSummary', ], 'max' => 100, 'min' => 0, ], 'SimulationJobSummary' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'SimulationJobStatus', ], 'simulationApplicationNames' => [ 'shape' => 'SimulationApplicationNames', ], 'robotApplicationNames' => [ 'shape' => 'RobotApplicationNames', ], ], ], 'SimulationJobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'SimulationJob', ], ], 'SimulationSoftwareSuite' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'SimulationSoftwareSuiteType', ], 'version' => [ 'shape' => 'SimulationSoftwareSuiteVersionType', ], ], ], 'SimulationSoftwareSuiteType' => [ 'type' => 'string', 'enum' => [ 'Gazebo', ], ], 'SimulationSoftwareSuiteVersionType' => [ 'type' => 'string', 'pattern' => '7|9', ], 'SimulationTimeMillis' => [ 'type' => 'long', ], 'Source' => [ 'type' => 'structure', 'members' => [ 's3Bucket' => [ 'shape' => 'S3Bucket', ], 's3Key' => [ 'shape' => 'S3Key', ], 'etag' => [ 'shape' => 'S3Etag', ], 'architecture' => [ 'shape' => 'Architecture', ], ], ], 'SourceConfig' => [ 'type' => 'structure', 'members' => [ 's3Bucket' => [ 'shape' => 'S3Bucket', ], 's3Key' => [ 'shape' => 'S3Key', ], 'architecture' => [ 'shape' => 'Architecture', ], ], ], 'SourceConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceConfig', ], ], 'Sources' => [ 'type' => 'list', 'member' => [ 'shape' => 'Source', ], ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericString', ], 'max' => 16, 'min' => 1, ], 'SyncDeploymentJobRequest' => [ 'type' => 'structure', 'required' => [ 'clientRequestToken', 'fleet', ], 'members' => [ 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], 'fleet' => [ 'shape' => 'Arn', ], ], ], 'SyncDeploymentJobResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'fleet' => [ 'shape' => 'Arn', ], 'status' => [ 'shape' => 'DeploymentStatus', ], 'deploymentConfig' => [ 'shape' => 'DeploymentConfig', ], 'deploymentApplicationConfigs' => [ 'shape' => 'DeploymentApplicationConfigs', ], 'failureReason' => [ 'shape' => 'GenericString', ], 'failureCode' => [ 'shape' => 'DeploymentJobErrorCode', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9 _.\\-\\/+=:]*', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], 'max' => 50, 'min' => 0, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'tags' => [ 'shape' => 'TagMap', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '[a-zA-Z0-9 _.\\-\\/+=:]*', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', 'location' => 'uri', 'locationName' => 'resourceArn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', 'location' => 'querystring', 'locationName' => 'tagKeys', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateRobotApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', 'sources', 'robotSoftwareSuite', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'sources' => [ 'shape' => 'SourceConfigs', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'currentRevisionId' => [ 'shape' => 'RevisionId', ], ], ], 'UpdateRobotApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], ], ], 'UpdateSimulationApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'application', 'sources', 'simulationSoftwareSuite', 'robotSoftwareSuite', 'renderingEngine', ], 'members' => [ 'application' => [ 'shape' => 'Arn', ], 'sources' => [ 'shape' => 'SourceConfigs', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'currentRevisionId' => [ 'shape' => 'RevisionId', ], ], ], 'UpdateSimulationApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'sources' => [ 'shape' => 'Sources', ], 'simulationSoftwareSuite' => [ 'shape' => 'SimulationSoftwareSuite', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], 'renderingEngine' => [ 'shape' => 'RenderingEngine', ], 'lastUpdatedAt' => [ 'shape' => 'LastUpdatedAt', ], 'revisionId' => [ 'shape' => 'RevisionId', ], ], ], 'VPCConfig' => [ 'type' => 'structure', 'required' => [ 'subnets', ], 'members' => [ 'subnets' => [ 'shape' => 'Subnets', ], 'securityGroups' => [ 'shape' => 'SecurityGroups', ], 'assignPublicIp' => [ 'shape' => 'Boolean', ], ], ], 'VPCConfigResponse' => [ 'type' => 'structure', 'members' => [ 'subnets' => [ 'shape' => 'Subnets', ], 'securityGroups' => [ 'shape' => 'SecurityGroups', ], 'vpcId' => [ 'shape' => 'GenericString', ], 'assignPublicIp' => [ 'shape' => 'Boolean', ], ], ], 'Version' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '(\\$LATEST)|[0-9]*', ], 'VersionQualifier' => [ 'type' => 'string', 'pattern' => 'ALL', ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/robomaker/2018-06-29/paginators-1.json.php b/lib/aws/Aws/data/robomaker/2018-06-29/paginators-1.json.php new file mode 100644 index 0000000..d9c14db --- /dev/null +++ b/lib/aws/Aws/data/robomaker/2018-06-29/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/robomaker/2018-06-29/paginators-1.json +return [ 'pagination' => [ 'ListDeploymentJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListFleets' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListRobotApplications' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListRobots' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSimulationApplications' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSimulationJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/route53/2013-04-01/api-2.json.php b/lib/aws/Aws/data/route53/2013-04-01/api-2.json.php new file mode 100644 index 0000000..3356ed8 --- /dev/null +++ b/lib/aws/Aws/data/route53/2013-04-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53/2013-04-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-04-01', 'endpointPrefix' => 'route53', 'globalEndpoint' => 'route53.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'Route 53', 'serviceFullName' => 'Amazon Route 53', 'serviceId' => 'Route 53', 'signatureVersion' => 'v4', 'uid' => 'route53-2013-04-01', ], 'operations' => [ 'AssociateVPCWithHostedZone' => [ 'name' => 'AssociateVPCWithHostedZone', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}/associatevpc', ], 'input' => [ 'shape' => 'AssociateVPCWithHostedZoneRequest', 'locationName' => 'AssociateVPCWithHostedZoneRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'AssociateVPCWithHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'NotAuthorizedException', ], [ 'shape' => 'InvalidVPCId', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'PublicZoneVPCAssociation', ], [ 'shape' => 'ConflictingDomainExists', ], [ 'shape' => 'LimitsExceeded', ], ], ], 'ChangeResourceRecordSets' => [ 'name' => 'ChangeResourceRecordSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}/rrset/', ], 'input' => [ 'shape' => 'ChangeResourceRecordSetsRequest', 'locationName' => 'ChangeResourceRecordSetsRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'ChangeResourceRecordSetsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'InvalidChangeBatch', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'PriorRequestNotComplete', ], ], ], 'ChangeTagsForResource' => [ 'name' => 'ChangeTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/tags/{ResourceType}/{ResourceId}', ], 'input' => [ 'shape' => 'ChangeTagsForResourceRequest', 'locationName' => 'ChangeTagsForResourceRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'ChangeTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'PriorRequestNotComplete', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateHealthCheck' => [ 'name' => 'CreateHealthCheck', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/healthcheck', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateHealthCheckRequest', 'locationName' => 'CreateHealthCheckRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateHealthCheckResponse', ], 'errors' => [ [ 'shape' => 'TooManyHealthChecks', ], [ 'shape' => 'HealthCheckAlreadyExists', ], [ 'shape' => 'InvalidInput', ], ], ], 'CreateHostedZone' => [ 'name' => 'CreateHostedZone', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateHostedZoneRequest', 'locationName' => 'CreateHostedZoneRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'InvalidDomainName', ], [ 'shape' => 'HostedZoneAlreadyExists', ], [ 'shape' => 'TooManyHostedZones', ], [ 'shape' => 'InvalidVPCId', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DelegationSetNotAvailable', ], [ 'shape' => 'ConflictingDomainExists', ], [ 'shape' => 'NoSuchDelegationSet', ], [ 'shape' => 'DelegationSetNotReusable', ], ], ], 'CreateQueryLoggingConfig' => [ 'name' => 'CreateQueryLoggingConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/queryloggingconfig', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateQueryLoggingConfigRequest', 'locationName' => 'CreateQueryLoggingConfigRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateQueryLoggingConfigResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModification', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'NoSuchCloudWatchLogsLogGroup', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'QueryLoggingConfigAlreadyExists', ], [ 'shape' => 'InsufficientCloudWatchLogsResourcePolicy', ], ], ], 'CreateReusableDelegationSet' => [ 'name' => 'CreateReusableDelegationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/delegationset', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateReusableDelegationSetRequest', 'locationName' => 'CreateReusableDelegationSetRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateReusableDelegationSetResponse', ], 'errors' => [ [ 'shape' => 'DelegationSetAlreadyCreated', ], [ 'shape' => 'LimitsExceeded', ], [ 'shape' => 'HostedZoneNotFound', ], [ 'shape' => 'InvalidArgument', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DelegationSetNotAvailable', ], [ 'shape' => 'DelegationSetAlreadyReusable', ], ], ], 'CreateTrafficPolicy' => [ 'name' => 'CreateTrafficPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/trafficpolicy', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateTrafficPolicyRequest', 'locationName' => 'CreateTrafficPolicyRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateTrafficPolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'TooManyTrafficPolicies', ], [ 'shape' => 'TrafficPolicyAlreadyExists', ], [ 'shape' => 'InvalidTrafficPolicyDocument', ], ], ], 'CreateTrafficPolicyInstance' => [ 'name' => 'CreateTrafficPolicyInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/trafficpolicyinstance', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateTrafficPolicyInstanceRequest', 'locationName' => 'CreateTrafficPolicyInstanceRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateTrafficPolicyInstanceResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'TooManyTrafficPolicyInstances', ], [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'TrafficPolicyInstanceAlreadyExists', ], ], ], 'CreateTrafficPolicyVersion' => [ 'name' => 'CreateTrafficPolicyVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/trafficpolicy/{Id}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateTrafficPolicyVersionRequest', 'locationName' => 'CreateTrafficPolicyVersionRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateTrafficPolicyVersionResponse', ], 'errors' => [ [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'TooManyTrafficPolicyVersionsForCurrentPolicy', ], [ 'shape' => 'ConcurrentModification', ], [ 'shape' => 'InvalidTrafficPolicyDocument', ], ], ], 'CreateVPCAssociationAuthorization' => [ 'name' => 'CreateVPCAssociationAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}/authorizevpcassociation', ], 'input' => [ 'shape' => 'CreateVPCAssociationAuthorizationRequest', 'locationName' => 'CreateVPCAssociationAuthorizationRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'CreateVPCAssociationAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModification', ], [ 'shape' => 'TooManyVPCAssociationAuthorizations', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidVPCId', ], [ 'shape' => 'InvalidInput', ], ], ], 'DeleteHealthCheck' => [ 'name' => 'DeleteHealthCheck', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/healthcheck/{HealthCheckId}', ], 'input' => [ 'shape' => 'DeleteHealthCheckRequest', ], 'output' => [ 'shape' => 'DeleteHealthCheckResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'HealthCheckInUse', ], [ 'shape' => 'InvalidInput', ], ], ], 'DeleteHostedZone' => [ 'name' => 'DeleteHostedZone', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/hostedzone/{Id}', ], 'input' => [ 'shape' => 'DeleteHostedZoneRequest', ], 'output' => [ 'shape' => 'DeleteHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'HostedZoneNotEmpty', ], [ 'shape' => 'PriorRequestNotComplete', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'InvalidDomainName', ], ], ], 'DeleteQueryLoggingConfig' => [ 'name' => 'DeleteQueryLoggingConfig', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/queryloggingconfig/{Id}', ], 'input' => [ 'shape' => 'DeleteQueryLoggingConfigRequest', ], 'output' => [ 'shape' => 'DeleteQueryLoggingConfigResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModification', ], [ 'shape' => 'NoSuchQueryLoggingConfig', ], [ 'shape' => 'InvalidInput', ], ], ], 'DeleteReusableDelegationSet' => [ 'name' => 'DeleteReusableDelegationSet', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/delegationset/{Id}', ], 'input' => [ 'shape' => 'DeleteReusableDelegationSetRequest', ], 'output' => [ 'shape' => 'DeleteReusableDelegationSetResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDelegationSet', ], [ 'shape' => 'DelegationSetInUse', ], [ 'shape' => 'DelegationSetNotReusable', ], [ 'shape' => 'InvalidInput', ], ], ], 'DeleteTrafficPolicy' => [ 'name' => 'DeleteTrafficPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/trafficpolicy/{Id}/{Version}', ], 'input' => [ 'shape' => 'DeleteTrafficPolicyRequest', ], 'output' => [ 'shape' => 'DeleteTrafficPolicyResponse', ], 'errors' => [ [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'TrafficPolicyInUse', ], [ 'shape' => 'ConcurrentModification', ], ], ], 'DeleteTrafficPolicyInstance' => [ 'name' => 'DeleteTrafficPolicyInstance', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/2013-04-01/trafficpolicyinstance/{Id}', ], 'input' => [ 'shape' => 'DeleteTrafficPolicyInstanceRequest', ], 'output' => [ 'shape' => 'DeleteTrafficPolicyInstanceResponse', ], 'errors' => [ [ 'shape' => 'NoSuchTrafficPolicyInstance', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'PriorRequestNotComplete', ], ], ], 'DeleteVPCAssociationAuthorization' => [ 'name' => 'DeleteVPCAssociationAuthorization', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation', ], 'input' => [ 'shape' => 'DeleteVPCAssociationAuthorizationRequest', 'locationName' => 'DeleteVPCAssociationAuthorizationRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'DeleteVPCAssociationAuthorizationResponse', ], 'errors' => [ [ 'shape' => 'ConcurrentModification', ], [ 'shape' => 'VPCAssociationAuthorizationNotFound', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidVPCId', ], [ 'shape' => 'InvalidInput', ], ], ], 'DisassociateVPCFromHostedZone' => [ 'name' => 'DisassociateVPCFromHostedZone', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}/disassociatevpc', ], 'input' => [ 'shape' => 'DisassociateVPCFromHostedZoneRequest', 'locationName' => 'DisassociateVPCFromHostedZoneRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'DisassociateVPCFromHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidVPCId', ], [ 'shape' => 'VPCAssociationNotFound', ], [ 'shape' => 'LastVPCAssociation', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetAccountLimit' => [ 'name' => 'GetAccountLimit', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/accountlimit/{Type}', ], 'input' => [ 'shape' => 'GetAccountLimitRequest', ], 'output' => [ 'shape' => 'GetAccountLimitResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'GetChange' => [ 'name' => 'GetChange', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/change/{Id}', ], 'input' => [ 'shape' => 'GetChangeRequest', ], 'output' => [ 'shape' => 'GetChangeResponse', ], 'errors' => [ [ 'shape' => 'NoSuchChange', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetCheckerIpRanges' => [ 'name' => 'GetCheckerIpRanges', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/checkeripranges', ], 'input' => [ 'shape' => 'GetCheckerIpRangesRequest', ], 'output' => [ 'shape' => 'GetCheckerIpRangesResponse', ], ], 'GetGeoLocation' => [ 'name' => 'GetGeoLocation', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/geolocation', ], 'input' => [ 'shape' => 'GetGeoLocationRequest', ], 'output' => [ 'shape' => 'GetGeoLocationResponse', ], 'errors' => [ [ 'shape' => 'NoSuchGeoLocation', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetHealthCheck' => [ 'name' => 'GetHealthCheck', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/healthcheck/{HealthCheckId}', ], 'input' => [ 'shape' => 'GetHealthCheckRequest', ], 'output' => [ 'shape' => 'GetHealthCheckResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'IncompatibleVersion', ], ], ], 'GetHealthCheckCount' => [ 'name' => 'GetHealthCheckCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/healthcheckcount', ], 'input' => [ 'shape' => 'GetHealthCheckCountRequest', ], 'output' => [ 'shape' => 'GetHealthCheckCountResponse', ], ], 'GetHealthCheckLastFailureReason' => [ 'name' => 'GetHealthCheckLastFailureReason', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason', ], 'input' => [ 'shape' => 'GetHealthCheckLastFailureReasonRequest', ], 'output' => [ 'shape' => 'GetHealthCheckLastFailureReasonResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetHealthCheckStatus' => [ 'name' => 'GetHealthCheckStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/healthcheck/{HealthCheckId}/status', ], 'input' => [ 'shape' => 'GetHealthCheckStatusRequest', ], 'output' => [ 'shape' => 'GetHealthCheckStatusResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetHostedZone' => [ 'name' => 'GetHostedZone', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzone/{Id}', ], 'input' => [ 'shape' => 'GetHostedZoneRequest', ], 'output' => [ 'shape' => 'GetHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetHostedZoneCount' => [ 'name' => 'GetHostedZoneCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzonecount', ], 'input' => [ 'shape' => 'GetHostedZoneCountRequest', ], 'output' => [ 'shape' => 'GetHostedZoneCountResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'GetHostedZoneLimit' => [ 'name' => 'GetHostedZoneLimit', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzonelimit/{Id}/{Type}', ], 'input' => [ 'shape' => 'GetHostedZoneLimitRequest', ], 'output' => [ 'shape' => 'GetHostedZoneLimitResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'HostedZoneNotPrivate', ], ], ], 'GetQueryLoggingConfig' => [ 'name' => 'GetQueryLoggingConfig', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/queryloggingconfig/{Id}', ], 'input' => [ 'shape' => 'GetQueryLoggingConfigRequest', ], 'output' => [ 'shape' => 'GetQueryLoggingConfigResponse', ], 'errors' => [ [ 'shape' => 'NoSuchQueryLoggingConfig', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetReusableDelegationSet' => [ 'name' => 'GetReusableDelegationSet', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/delegationset/{Id}', ], 'input' => [ 'shape' => 'GetReusableDelegationSetRequest', ], 'output' => [ 'shape' => 'GetReusableDelegationSetResponse', ], 'errors' => [ [ 'shape' => 'NoSuchDelegationSet', ], [ 'shape' => 'DelegationSetNotReusable', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetReusableDelegationSetLimit' => [ 'name' => 'GetReusableDelegationSetLimit', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}', ], 'input' => [ 'shape' => 'GetReusableDelegationSetLimitRequest', ], 'output' => [ 'shape' => 'GetReusableDelegationSetLimitResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchDelegationSet', ], ], ], 'GetTrafficPolicy' => [ 'name' => 'GetTrafficPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicy/{Id}/{Version}', ], 'input' => [ 'shape' => 'GetTrafficPolicyRequest', ], 'output' => [ 'shape' => 'GetTrafficPolicyResponse', ], 'errors' => [ [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetTrafficPolicyInstance' => [ 'name' => 'GetTrafficPolicyInstance', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicyinstance/{Id}', ], 'input' => [ 'shape' => 'GetTrafficPolicyInstanceRequest', ], 'output' => [ 'shape' => 'GetTrafficPolicyInstanceResponse', ], 'errors' => [ [ 'shape' => 'NoSuchTrafficPolicyInstance', ], [ 'shape' => 'InvalidInput', ], ], ], 'GetTrafficPolicyInstanceCount' => [ 'name' => 'GetTrafficPolicyInstanceCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicyinstancecount', ], 'input' => [ 'shape' => 'GetTrafficPolicyInstanceCountRequest', ], 'output' => [ 'shape' => 'GetTrafficPolicyInstanceCountResponse', ], ], 'ListGeoLocations' => [ 'name' => 'ListGeoLocations', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/geolocations', ], 'input' => [ 'shape' => 'ListGeoLocationsRequest', ], 'output' => [ 'shape' => 'ListGeoLocationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListHealthChecks' => [ 'name' => 'ListHealthChecks', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/healthcheck', ], 'input' => [ 'shape' => 'ListHealthChecksRequest', ], 'output' => [ 'shape' => 'ListHealthChecksResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'IncompatibleVersion', ], ], ], 'ListHostedZones' => [ 'name' => 'ListHostedZones', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzone', ], 'input' => [ 'shape' => 'ListHostedZonesRequest', ], 'output' => [ 'shape' => 'ListHostedZonesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchDelegationSet', ], [ 'shape' => 'DelegationSetNotReusable', ], ], ], 'ListHostedZonesByName' => [ 'name' => 'ListHostedZonesByName', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzonesbyname', ], 'input' => [ 'shape' => 'ListHostedZonesByNameRequest', ], 'output' => [ 'shape' => 'ListHostedZonesByNameResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'InvalidDomainName', ], ], ], 'ListQueryLoggingConfigs' => [ 'name' => 'ListQueryLoggingConfigs', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/queryloggingconfig', ], 'input' => [ 'shape' => 'ListQueryLoggingConfigsRequest', ], 'output' => [ 'shape' => 'ListQueryLoggingConfigsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'InvalidPaginationToken', ], [ 'shape' => 'NoSuchHostedZone', ], ], ], 'ListResourceRecordSets' => [ 'name' => 'ListResourceRecordSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzone/{Id}/rrset', ], 'input' => [ 'shape' => 'ListResourceRecordSetsRequest', ], 'output' => [ 'shape' => 'ListResourceRecordSetsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], ], ], 'ListReusableDelegationSets' => [ 'name' => 'ListReusableDelegationSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/delegationset', ], 'input' => [ 'shape' => 'ListReusableDelegationSetsRequest', ], 'output' => [ 'shape' => 'ListReusableDelegationSetsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/tags/{ResourceType}/{ResourceId}', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'PriorRequestNotComplete', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTagsForResources' => [ 'name' => 'ListTagsForResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/tags/{ResourceType}', ], 'input' => [ 'shape' => 'ListTagsForResourcesRequest', 'locationName' => 'ListTagsForResourcesRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'ListTagsForResourcesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'PriorRequestNotComplete', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTrafficPolicies' => [ 'name' => 'ListTrafficPolicies', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicies', ], 'input' => [ 'shape' => 'ListTrafficPoliciesRequest', ], 'output' => [ 'shape' => 'ListTrafficPoliciesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListTrafficPolicyInstances' => [ 'name' => 'ListTrafficPolicyInstances', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicyinstances', ], 'input' => [ 'shape' => 'ListTrafficPolicyInstancesRequest', ], 'output' => [ 'shape' => 'ListTrafficPolicyInstancesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicyInstance', ], ], ], 'ListTrafficPolicyInstancesByHostedZone' => [ 'name' => 'ListTrafficPolicyInstancesByHostedZone', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicyinstances/hostedzone', ], 'input' => [ 'shape' => 'ListTrafficPolicyInstancesByHostedZoneRequest', ], 'output' => [ 'shape' => 'ListTrafficPolicyInstancesByHostedZoneResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicyInstance', ], [ 'shape' => 'NoSuchHostedZone', ], ], ], 'ListTrafficPolicyInstancesByPolicy' => [ 'name' => 'ListTrafficPolicyInstancesByPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicyinstances/trafficpolicy', ], 'input' => [ 'shape' => 'ListTrafficPolicyInstancesByPolicyRequest', ], 'output' => [ 'shape' => 'ListTrafficPolicyInstancesByPolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicyInstance', ], [ 'shape' => 'NoSuchTrafficPolicy', ], ], ], 'ListTrafficPolicyVersions' => [ 'name' => 'ListTrafficPolicyVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/trafficpolicies/{Id}/versions', ], 'input' => [ 'shape' => 'ListTrafficPolicyVersionsRequest', ], 'output' => [ 'shape' => 'ListTrafficPolicyVersionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicy', ], ], ], 'ListVPCAssociationAuthorizations' => [ 'name' => 'ListVPCAssociationAuthorizations', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/hostedzone/{Id}/authorizevpcassociation', ], 'input' => [ 'shape' => 'ListVPCAssociationAuthorizationsRequest', ], 'output' => [ 'shape' => 'ListVPCAssociationAuthorizationsResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'InvalidPaginationToken', ], ], ], 'TestDNSAnswer' => [ 'name' => 'TestDNSAnswer', 'http' => [ 'method' => 'GET', 'requestUri' => '/2013-04-01/testdnsanswer', ], 'input' => [ 'shape' => 'TestDNSAnswerRequest', ], 'output' => [ 'shape' => 'TestDNSAnswerResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], ], ], 'UpdateHealthCheck' => [ 'name' => 'UpdateHealthCheck', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/healthcheck/{HealthCheckId}', ], 'input' => [ 'shape' => 'UpdateHealthCheckRequest', 'locationName' => 'UpdateHealthCheckRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'UpdateHealthCheckResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHealthCheck', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'HealthCheckVersionMismatch', ], ], ], 'UpdateHostedZoneComment' => [ 'name' => 'UpdateHostedZoneComment', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/hostedzone/{Id}', ], 'input' => [ 'shape' => 'UpdateHostedZoneCommentRequest', 'locationName' => 'UpdateHostedZoneCommentRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'UpdateHostedZoneCommentResponse', ], 'errors' => [ [ 'shape' => 'NoSuchHostedZone', ], [ 'shape' => 'InvalidInput', ], ], ], 'UpdateTrafficPolicyComment' => [ 'name' => 'UpdateTrafficPolicyComment', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/trafficpolicy/{Id}/{Version}', ], 'input' => [ 'shape' => 'UpdateTrafficPolicyCommentRequest', 'locationName' => 'UpdateTrafficPolicyCommentRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'UpdateTrafficPolicyCommentResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'ConcurrentModification', ], ], ], 'UpdateTrafficPolicyInstance' => [ 'name' => 'UpdateTrafficPolicyInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/2013-04-01/trafficpolicyinstance/{Id}', ], 'input' => [ 'shape' => 'UpdateTrafficPolicyInstanceRequest', 'locationName' => 'UpdateTrafficPolicyInstanceRequest', 'xmlNamespace' => [ 'uri' => 'https://route53.amazonaws.com/doc/2013-04-01/', ], ], 'output' => [ 'shape' => 'UpdateTrafficPolicyInstanceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NoSuchTrafficPolicy', ], [ 'shape' => 'NoSuchTrafficPolicyInstance', ], [ 'shape' => 'PriorRequestNotComplete', ], [ 'shape' => 'ConflictingTypes', ], ], ], ], 'shapes' => [ 'AccountLimit' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'AccountLimitType', ], 'Value' => [ 'shape' => 'LimitValue', ], ], ], 'AccountLimitType' => [ 'type' => 'string', 'enum' => [ 'MAX_HEALTH_CHECKS_BY_OWNER', 'MAX_HOSTED_ZONES_BY_OWNER', 'MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER', 'MAX_REUSABLE_DELEGATION_SETS_BY_OWNER', 'MAX_TRAFFIC_POLICIES_BY_OWNER', ], ], 'AlarmIdentifier' => [ 'type' => 'structure', 'required' => [ 'Region', 'Name', ], 'members' => [ 'Region' => [ 'shape' => 'CloudWatchRegion', ], 'Name' => [ 'shape' => 'AlarmName', ], ], ], 'AlarmName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'AliasHealthEnabled' => [ 'type' => 'boolean', ], 'AliasTarget' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'DNSName', 'EvaluateTargetHealth', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'DNSName' => [ 'shape' => 'DNSName', ], 'EvaluateTargetHealth' => [ 'shape' => 'AliasHealthEnabled', ], ], ], 'AssociateVPCComment' => [ 'type' => 'string', ], 'AssociateVPCWithHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPC', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'VPC' => [ 'shape' => 'VPC', ], 'Comment' => [ 'shape' => 'AssociateVPCComment', ], ], ], 'AssociateVPCWithHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'ChangeInfo', ], 'members' => [ 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], ], ], 'Change' => [ 'type' => 'structure', 'required' => [ 'Action', 'ResourceRecordSet', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ResourceRecordSet' => [ 'shape' => 'ResourceRecordSet', ], ], ], 'ChangeAction' => [ 'type' => 'string', 'enum' => [ 'CREATE', 'DELETE', 'UPSERT', ], ], 'ChangeBatch' => [ 'type' => 'structure', 'required' => [ 'Changes', ], 'members' => [ 'Comment' => [ 'shape' => 'ResourceDescription', ], 'Changes' => [ 'shape' => 'Changes', ], ], ], 'ChangeInfo' => [ 'type' => 'structure', 'required' => [ 'Id', 'Status', 'SubmittedAt', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Status' => [ 'shape' => 'ChangeStatus', ], 'SubmittedAt' => [ 'shape' => 'TimeStamp', ], 'Comment' => [ 'shape' => 'ResourceDescription', ], ], ], 'ChangeResourceRecordSetsRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'ChangeBatch', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'ChangeBatch' => [ 'shape' => 'ChangeBatch', ], ], ], 'ChangeResourceRecordSetsResponse' => [ 'type' => 'structure', 'required' => [ 'ChangeInfo', ], 'members' => [ 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], ], ], 'ChangeStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'INSYNC', ], ], 'ChangeTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', ], 'members' => [ 'ResourceType' => [ 'shape' => 'TagResourceType', 'location' => 'uri', 'locationName' => 'ResourceType', ], 'ResourceId' => [ 'shape' => 'TagResourceId', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'AddTags' => [ 'shape' => 'TagList', ], 'RemoveTagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'ChangeTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'Changes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Change', 'locationName' => 'Change', ], 'min' => 1, ], 'CheckerIpRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPAddressCidr', ], ], 'ChildHealthCheckList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HealthCheckId', 'locationName' => 'ChildHealthCheck', ], 'max' => 256, ], 'CloudWatchAlarmConfiguration' => [ 'type' => 'structure', 'required' => [ 'EvaluationPeriods', 'Threshold', 'ComparisonOperator', 'Period', 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'EvaluationPeriods' => [ 'shape' => 'EvaluationPeriods', ], 'Threshold' => [ 'shape' => 'Threshold', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'Period' => [ 'shape' => 'Period', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'Namespace', ], 'Statistic' => [ 'shape' => 'Statistic', ], 'Dimensions' => [ 'shape' => 'DimensionList', ], ], ], 'CloudWatchLogsLogGroupArn' => [ 'type' => 'string', ], 'CloudWatchRegion' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', ], 'max' => 64, 'min' => 1, ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GreaterThanOrEqualToThreshold', 'GreaterThanThreshold', 'LessThanThreshold', 'LessThanOrEqualToThreshold', ], ], 'ConcurrentModification' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ConflictingDomainExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ConflictingTypes' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'CreateHealthCheckRequest' => [ 'type' => 'structure', 'required' => [ 'CallerReference', 'HealthCheckConfig', ], 'members' => [ 'CallerReference' => [ 'shape' => 'HealthCheckNonce', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], ], ], 'CreateHealthCheckResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheck', 'Location', ], 'members' => [ 'HealthCheck' => [ 'shape' => 'HealthCheck', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'CallerReference', ], 'members' => [ 'Name' => [ 'shape' => 'DNSName', ], 'VPC' => [ 'shape' => 'VPC', ], 'CallerReference' => [ 'shape' => 'Nonce', ], 'HostedZoneConfig' => [ 'shape' => 'HostedZoneConfig', ], 'DelegationSetId' => [ 'shape' => 'ResourceId', ], ], ], 'CreateHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZone', 'ChangeInfo', 'DelegationSet', 'Location', ], 'members' => [ 'HostedZone' => [ 'shape' => 'HostedZone', ], 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], 'DelegationSet' => [ 'shape' => 'DelegationSet', ], 'VPC' => [ 'shape' => 'VPC', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateQueryLoggingConfigRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'CloudWatchLogsLogGroupArn', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'CloudWatchLogsLogGroupArn', ], ], ], 'CreateQueryLoggingConfigResponse' => [ 'type' => 'structure', 'required' => [ 'QueryLoggingConfig', 'Location', ], 'members' => [ 'QueryLoggingConfig' => [ 'shape' => 'QueryLoggingConfig', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateReusableDelegationSetRequest' => [ 'type' => 'structure', 'required' => [ 'CallerReference', ], 'members' => [ 'CallerReference' => [ 'shape' => 'Nonce', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', ], ], ], 'CreateReusableDelegationSetResponse' => [ 'type' => 'structure', 'required' => [ 'DelegationSet', 'Location', ], 'members' => [ 'DelegationSet' => [ 'shape' => 'DelegationSet', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateTrafficPolicyInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'Name', 'TTL', 'TrafficPolicyId', 'TrafficPolicyVersion', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'DNSName', ], 'TTL' => [ 'shape' => 'TTL', ], 'TrafficPolicyId' => [ 'shape' => 'TrafficPolicyId', ], 'TrafficPolicyVersion' => [ 'shape' => 'TrafficPolicyVersion', ], ], ], 'CreateTrafficPolicyInstanceResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstance', 'Location', ], 'members' => [ 'TrafficPolicyInstance' => [ 'shape' => 'TrafficPolicyInstance', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateTrafficPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Document', ], 'members' => [ 'Name' => [ 'shape' => 'TrafficPolicyName', ], 'Document' => [ 'shape' => 'TrafficPolicyDocument', ], 'Comment' => [ 'shape' => 'TrafficPolicyComment', ], ], ], 'CreateTrafficPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicy', 'Location', ], 'members' => [ 'TrafficPolicy' => [ 'shape' => 'TrafficPolicy', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateTrafficPolicyVersionRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Document', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', 'location' => 'uri', 'locationName' => 'Id', ], 'Document' => [ 'shape' => 'TrafficPolicyDocument', ], 'Comment' => [ 'shape' => 'TrafficPolicyComment', ], ], ], 'CreateTrafficPolicyVersionResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicy', 'Location', ], 'members' => [ 'TrafficPolicy' => [ 'shape' => 'TrafficPolicy', ], 'Location' => [ 'shape' => 'ResourceURI', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateVPCAssociationAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPC', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'VPC' => [ 'shape' => 'VPC', ], ], ], 'CreateVPCAssociationAuthorizationResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPC', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'VPC' => [ 'shape' => 'VPC', ], ], ], 'DNSName' => [ 'type' => 'string', 'max' => 1024, ], 'DNSRCode' => [ 'type' => 'string', ], 'DelegationSet' => [ 'type' => 'structure', 'required' => [ 'NameServers', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'CallerReference' => [ 'shape' => 'Nonce', ], 'NameServers' => [ 'shape' => 'DelegationSetNameServers', ], ], ], 'DelegationSetAlreadyCreated' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DelegationSetAlreadyReusable' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DelegationSetInUse' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DelegationSetNameServers' => [ 'type' => 'list', 'member' => [ 'shape' => 'DNSName', 'locationName' => 'NameServer', ], 'min' => 1, ], 'DelegationSetNotAvailable' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DelegationSetNotReusable' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DelegationSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'DelegationSet', 'locationName' => 'DelegationSet', ], ], 'DeleteHealthCheckRequest' => [ 'type' => 'structure', 'required' => [ 'HealthCheckId', ], 'members' => [ 'HealthCheckId' => [ 'shape' => 'HealthCheckId', 'location' => 'uri', 'locationName' => 'HealthCheckId', ], ], ], 'DeleteHealthCheckResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeleteHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'ChangeInfo', ], 'members' => [ 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], ], ], 'DeleteQueryLoggingConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'QueryLoggingConfigId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeleteQueryLoggingConfigResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReusableDelegationSetRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeleteReusableDelegationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTrafficPolicyInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyInstanceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'DeleteTrafficPolicyInstanceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTrafficPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Version', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', 'location' => 'uri', 'locationName' => 'Id', ], 'Version' => [ 'shape' => 'TrafficPolicyVersion', 'location' => 'uri', 'locationName' => 'Version', ], ], ], 'DeleteTrafficPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteVPCAssociationAuthorizationRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPC', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'VPC' => [ 'shape' => 'VPC', ], ], ], 'DeleteVPCAssociationAuthorizationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Dimension' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'DimensionField', ], 'Value' => [ 'shape' => 'DimensionField', ], ], ], 'DimensionField' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'DimensionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Dimension', 'locationName' => 'Dimension', ], 'max' => 10, ], 'Disabled' => [ 'type' => 'boolean', ], 'DisassociateVPCComment' => [ 'type' => 'string', ], 'DisassociateVPCFromHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPC', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'VPC' => [ 'shape' => 'VPC', ], 'Comment' => [ 'shape' => 'DisassociateVPCComment', ], ], ], 'DisassociateVPCFromHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'ChangeInfo', ], 'members' => [ 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], ], ], 'EnableSNI' => [ 'type' => 'boolean', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ErrorMessages' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorMessage', 'locationName' => 'Message', ], ], 'EvaluationPeriods' => [ 'type' => 'integer', 'min' => 1, ], 'FailureThreshold' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'FullyQualifiedDomainName' => [ 'type' => 'string', 'max' => 255, ], 'GeoLocation' => [ 'type' => 'structure', 'members' => [ 'ContinentCode' => [ 'shape' => 'GeoLocationContinentCode', ], 'CountryCode' => [ 'shape' => 'GeoLocationCountryCode', ], 'SubdivisionCode' => [ 'shape' => 'GeoLocationSubdivisionCode', ], ], ], 'GeoLocationContinentCode' => [ 'type' => 'string', 'max' => 2, 'min' => 2, ], 'GeoLocationContinentName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'GeoLocationCountryCode' => [ 'type' => 'string', 'max' => 2, 'min' => 1, ], 'GeoLocationCountryName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'GeoLocationDetails' => [ 'type' => 'structure', 'members' => [ 'ContinentCode' => [ 'shape' => 'GeoLocationContinentCode', ], 'ContinentName' => [ 'shape' => 'GeoLocationContinentName', ], 'CountryCode' => [ 'shape' => 'GeoLocationCountryCode', ], 'CountryName' => [ 'shape' => 'GeoLocationCountryName', ], 'SubdivisionCode' => [ 'shape' => 'GeoLocationSubdivisionCode', ], 'SubdivisionName' => [ 'shape' => 'GeoLocationSubdivisionName', ], ], ], 'GeoLocationDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoLocationDetails', 'locationName' => 'GeoLocationDetails', ], ], 'GeoLocationSubdivisionCode' => [ 'type' => 'string', 'max' => 3, 'min' => 1, ], 'GeoLocationSubdivisionName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'GetAccountLimitRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'AccountLimitType', 'location' => 'uri', 'locationName' => 'Type', ], ], ], 'GetAccountLimitResponse' => [ 'type' => 'structure', 'required' => [ 'Limit', 'Count', ], 'members' => [ 'Limit' => [ 'shape' => 'AccountLimit', ], 'Count' => [ 'shape' => 'UsageCount', ], ], ], 'GetChangeRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetChangeResponse' => [ 'type' => 'structure', 'required' => [ 'ChangeInfo', ], 'members' => [ 'ChangeInfo' => [ 'shape' => 'ChangeInfo', ], ], ], 'GetCheckerIpRangesRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetCheckerIpRangesResponse' => [ 'type' => 'structure', 'required' => [ 'CheckerIpRanges', ], 'members' => [ 'CheckerIpRanges' => [ 'shape' => 'CheckerIpRanges', ], ], ], 'GetGeoLocationRequest' => [ 'type' => 'structure', 'members' => [ 'ContinentCode' => [ 'shape' => 'GeoLocationContinentCode', 'location' => 'querystring', 'locationName' => 'continentcode', ], 'CountryCode' => [ 'shape' => 'GeoLocationCountryCode', 'location' => 'querystring', 'locationName' => 'countrycode', ], 'SubdivisionCode' => [ 'shape' => 'GeoLocationSubdivisionCode', 'location' => 'querystring', 'locationName' => 'subdivisioncode', ], ], ], 'GetGeoLocationResponse' => [ 'type' => 'structure', 'required' => [ 'GeoLocationDetails', ], 'members' => [ 'GeoLocationDetails' => [ 'shape' => 'GeoLocationDetails', ], ], ], 'GetHealthCheckCountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetHealthCheckCountResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheckCount', ], 'members' => [ 'HealthCheckCount' => [ 'shape' => 'HealthCheckCount', ], ], ], 'GetHealthCheckLastFailureReasonRequest' => [ 'type' => 'structure', 'required' => [ 'HealthCheckId', ], 'members' => [ 'HealthCheckId' => [ 'shape' => 'HealthCheckId', 'location' => 'uri', 'locationName' => 'HealthCheckId', ], ], ], 'GetHealthCheckLastFailureReasonResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheckObservations', ], 'members' => [ 'HealthCheckObservations' => [ 'shape' => 'HealthCheckObservations', ], ], ], 'GetHealthCheckRequest' => [ 'type' => 'structure', 'required' => [ 'HealthCheckId', ], 'members' => [ 'HealthCheckId' => [ 'shape' => 'HealthCheckId', 'location' => 'uri', 'locationName' => 'HealthCheckId', ], ], ], 'GetHealthCheckResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheck', ], 'members' => [ 'HealthCheck' => [ 'shape' => 'HealthCheck', ], ], ], 'GetHealthCheckStatusRequest' => [ 'type' => 'structure', 'required' => [ 'HealthCheckId', ], 'members' => [ 'HealthCheckId' => [ 'shape' => 'HealthCheckId', 'location' => 'uri', 'locationName' => 'HealthCheckId', ], ], ], 'GetHealthCheckStatusResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheckObservations', ], 'members' => [ 'HealthCheckObservations' => [ 'shape' => 'HealthCheckObservations', ], ], ], 'GetHostedZoneCountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetHostedZoneCountResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZoneCount', ], 'members' => [ 'HostedZoneCount' => [ 'shape' => 'HostedZoneCount', ], ], ], 'GetHostedZoneLimitRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'HostedZoneId', ], 'members' => [ 'Type' => [ 'shape' => 'HostedZoneLimitType', 'location' => 'uri', 'locationName' => 'Type', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetHostedZoneLimitResponse' => [ 'type' => 'structure', 'required' => [ 'Limit', 'Count', ], 'members' => [ 'Limit' => [ 'shape' => 'HostedZoneLimit', ], 'Count' => [ 'shape' => 'UsageCount', ], ], ], 'GetHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZone', ], 'members' => [ 'HostedZone' => [ 'shape' => 'HostedZone', ], 'DelegationSet' => [ 'shape' => 'DelegationSet', ], 'VPCs' => [ 'shape' => 'VPCs', ], ], ], 'GetQueryLoggingConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'QueryLoggingConfigId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetQueryLoggingConfigResponse' => [ 'type' => 'structure', 'required' => [ 'QueryLoggingConfig', ], 'members' => [ 'QueryLoggingConfig' => [ 'shape' => 'QueryLoggingConfig', ], ], ], 'GetReusableDelegationSetLimitRequest' => [ 'type' => 'structure', 'required' => [ 'Type', 'DelegationSetId', ], 'members' => [ 'Type' => [ 'shape' => 'ReusableDelegationSetLimitType', 'location' => 'uri', 'locationName' => 'Type', ], 'DelegationSetId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetReusableDelegationSetLimitResponse' => [ 'type' => 'structure', 'required' => [ 'Limit', 'Count', ], 'members' => [ 'Limit' => [ 'shape' => 'ReusableDelegationSetLimit', ], 'Count' => [ 'shape' => 'UsageCount', ], ], ], 'GetReusableDelegationSetRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetReusableDelegationSetResponse' => [ 'type' => 'structure', 'required' => [ 'DelegationSet', ], 'members' => [ 'DelegationSet' => [ 'shape' => 'DelegationSet', ], ], ], 'GetTrafficPolicyInstanceCountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetTrafficPolicyInstanceCountResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstanceCount', ], 'members' => [ 'TrafficPolicyInstanceCount' => [ 'shape' => 'TrafficPolicyInstanceCount', ], ], ], 'GetTrafficPolicyInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyInstanceId', 'location' => 'uri', 'locationName' => 'Id', ], ], ], 'GetTrafficPolicyInstanceResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstance', ], 'members' => [ 'TrafficPolicyInstance' => [ 'shape' => 'TrafficPolicyInstance', ], ], ], 'GetTrafficPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Version', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', 'location' => 'uri', 'locationName' => 'Id', ], 'Version' => [ 'shape' => 'TrafficPolicyVersion', 'location' => 'uri', 'locationName' => 'Version', ], ], ], 'GetTrafficPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicy', ], 'members' => [ 'TrafficPolicy' => [ 'shape' => 'TrafficPolicy', ], ], ], 'HealthCheck' => [ 'type' => 'structure', 'required' => [ 'Id', 'CallerReference', 'HealthCheckConfig', 'HealthCheckVersion', ], 'members' => [ 'Id' => [ 'shape' => 'HealthCheckId', ], 'CallerReference' => [ 'shape' => 'HealthCheckNonce', ], 'LinkedService' => [ 'shape' => 'LinkedService', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], 'HealthCheckVersion' => [ 'shape' => 'HealthCheckVersion', ], 'CloudWatchAlarmConfiguration' => [ 'shape' => 'CloudWatchAlarmConfiguration', ], ], ], 'HealthCheckAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'HealthCheckConfig' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'IPAddress' => [ 'shape' => 'IPAddress', ], 'Port' => [ 'shape' => 'Port', ], 'Type' => [ 'shape' => 'HealthCheckType', ], 'ResourcePath' => [ 'shape' => 'ResourcePath', ], 'FullyQualifiedDomainName' => [ 'shape' => 'FullyQualifiedDomainName', ], 'SearchString' => [ 'shape' => 'SearchString', ], 'RequestInterval' => [ 'shape' => 'RequestInterval', ], 'FailureThreshold' => [ 'shape' => 'FailureThreshold', ], 'MeasureLatency' => [ 'shape' => 'MeasureLatency', ], 'Inverted' => [ 'shape' => 'Inverted', ], 'Disabled' => [ 'shape' => 'Disabled', ], 'HealthThreshold' => [ 'shape' => 'HealthThreshold', ], 'ChildHealthChecks' => [ 'shape' => 'ChildHealthCheckList', ], 'EnableSNI' => [ 'shape' => 'EnableSNI', ], 'Regions' => [ 'shape' => 'HealthCheckRegionList', ], 'AlarmIdentifier' => [ 'shape' => 'AlarmIdentifier', ], 'InsufficientDataHealthStatus' => [ 'shape' => 'InsufficientDataHealthStatus', ], ], ], 'HealthCheckCount' => [ 'type' => 'long', ], 'HealthCheckId' => [ 'type' => 'string', 'max' => 64, ], 'HealthCheckInUse' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'deprecated' => true, 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'HealthCheckNonce' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'HealthCheckObservation' => [ 'type' => 'structure', 'members' => [ 'Region' => [ 'shape' => 'HealthCheckRegion', ], 'IPAddress' => [ 'shape' => 'IPAddress', ], 'StatusReport' => [ 'shape' => 'StatusReport', ], ], ], 'HealthCheckObservations' => [ 'type' => 'list', 'member' => [ 'shape' => 'HealthCheckObservation', 'locationName' => 'HealthCheckObservation', ], ], 'HealthCheckRegion' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1', ], 'max' => 64, 'min' => 1, ], 'HealthCheckRegionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HealthCheckRegion', 'locationName' => 'Region', ], 'max' => 64, 'min' => 3, ], 'HealthCheckType' => [ 'type' => 'string', 'enum' => [ 'HTTP', 'HTTPS', 'HTTP_STR_MATCH', 'HTTPS_STR_MATCH', 'TCP', 'CALCULATED', 'CLOUDWATCH_METRIC', ], ], 'HealthCheckVersion' => [ 'type' => 'long', 'min' => 1, ], 'HealthCheckVersionMismatch' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'HealthChecks' => [ 'type' => 'list', 'member' => [ 'shape' => 'HealthCheck', 'locationName' => 'HealthCheck', ], ], 'HealthThreshold' => [ 'type' => 'integer', 'max' => 256, 'min' => 0, ], 'HostedZone' => [ 'type' => 'structure', 'required' => [ 'Id', 'Name', 'CallerReference', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'DNSName', ], 'CallerReference' => [ 'shape' => 'Nonce', ], 'Config' => [ 'shape' => 'HostedZoneConfig', ], 'ResourceRecordSetCount' => [ 'shape' => 'HostedZoneRRSetCount', ], 'LinkedService' => [ 'shape' => 'LinkedService', ], ], ], 'HostedZoneAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'HostedZoneConfig' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'ResourceDescription', ], 'PrivateZone' => [ 'shape' => 'IsPrivateZone', ], ], ], 'HostedZoneCount' => [ 'type' => 'long', ], 'HostedZoneLimit' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'HostedZoneLimitType', ], 'Value' => [ 'shape' => 'LimitValue', ], ], ], 'HostedZoneLimitType' => [ 'type' => 'string', 'enum' => [ 'MAX_RRSETS_BY_ZONE', 'MAX_VPCS_ASSOCIATED_BY_ZONE', ], ], 'HostedZoneNotEmpty' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'HostedZoneNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'HostedZoneNotPrivate' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'HostedZoneRRSetCount' => [ 'type' => 'long', ], 'HostedZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'HostedZone', 'locationName' => 'HostedZone', ], ], 'IPAddress' => [ 'type' => 'string', 'max' => 45, 'pattern' => '(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$)', ], 'IPAddressCidr' => [ 'type' => 'string', ], 'IncompatibleVersion' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InsufficientCloudWatchLogsResourcePolicy' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InsufficientDataHealthStatus' => [ 'type' => 'string', 'enum' => [ 'Healthy', 'Unhealthy', 'LastKnownStatus', ], ], 'InvalidArgument' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidChangeBatch' => [ 'type' => 'structure', 'members' => [ 'messages' => [ 'shape' => 'ErrorMessages', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidDomainName' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidInput' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidPaginationToken' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidTrafficPolicyDocument' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidVPCId' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Inverted' => [ 'type' => 'boolean', ], 'IsPrivateZone' => [ 'type' => 'boolean', ], 'LastVPCAssociation' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'LimitValue' => [ 'type' => 'long', 'min' => 1, ], 'LimitsExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LinkedService' => [ 'type' => 'structure', 'members' => [ 'ServicePrincipal' => [ 'shape' => 'ServicePrincipal', ], 'Description' => [ 'shape' => 'ResourceDescription', ], ], ], 'ListGeoLocationsRequest' => [ 'type' => 'structure', 'members' => [ 'StartContinentCode' => [ 'shape' => 'GeoLocationContinentCode', 'location' => 'querystring', 'locationName' => 'startcontinentcode', ], 'StartCountryCode' => [ 'shape' => 'GeoLocationCountryCode', 'location' => 'querystring', 'locationName' => 'startcountrycode', ], 'StartSubdivisionCode' => [ 'shape' => 'GeoLocationSubdivisionCode', 'location' => 'querystring', 'locationName' => 'startsubdivisioncode', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListGeoLocationsResponse' => [ 'type' => 'structure', 'required' => [ 'GeoLocationDetailsList', 'IsTruncated', 'MaxItems', ], 'members' => [ 'GeoLocationDetailsList' => [ 'shape' => 'GeoLocationDetailsList', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextContinentCode' => [ 'shape' => 'GeoLocationContinentCode', ], 'NextCountryCode' => [ 'shape' => 'GeoLocationCountryCode', ], 'NextSubdivisionCode' => [ 'shape' => 'GeoLocationSubdivisionCode', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListHealthChecksRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'PageMarker', 'location' => 'querystring', 'locationName' => 'marker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListHealthChecksResponse' => [ 'type' => 'structure', 'required' => [ 'HealthChecks', 'Marker', 'IsTruncated', 'MaxItems', ], 'members' => [ 'HealthChecks' => [ 'shape' => 'HealthChecks', ], 'Marker' => [ 'shape' => 'PageMarker', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextMarker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListHostedZonesByNameRequest' => [ 'type' => 'structure', 'members' => [ 'DNSName' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'dnsname', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'hostedzoneid', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListHostedZonesByNameResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZones', 'IsTruncated', 'MaxItems', ], 'members' => [ 'HostedZones' => [ 'shape' => 'HostedZones', ], 'DNSName' => [ 'shape' => 'DNSName', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextDNSName' => [ 'shape' => 'DNSName', ], 'NextHostedZoneId' => [ 'shape' => 'ResourceId', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListHostedZonesRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'PageMarker', 'location' => 'querystring', 'locationName' => 'marker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], 'DelegationSetId' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'delegationsetid', ], ], ], 'ListHostedZonesResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZones', 'Marker', 'IsTruncated', 'MaxItems', ], 'members' => [ 'HostedZones' => [ 'shape' => 'HostedZones', ], 'Marker' => [ 'shape' => 'PageMarker', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextMarker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListQueryLoggingConfigsRequest' => [ 'type' => 'structure', 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'hostedzoneid', ], 'NextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nexttoken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxresults', ], ], ], 'ListQueryLoggingConfigsResponse' => [ 'type' => 'structure', 'required' => [ 'QueryLoggingConfigs', ], 'members' => [ 'QueryLoggingConfigs' => [ 'shape' => 'QueryLoggingConfigs', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListResourceRecordSetsRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'StartRecordName' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'name', ], 'StartRecordType' => [ 'shape' => 'RRType', 'location' => 'querystring', 'locationName' => 'type', ], 'StartRecordIdentifier' => [ 'shape' => 'ResourceRecordSetIdentifier', 'location' => 'querystring', 'locationName' => 'identifier', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListResourceRecordSetsResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceRecordSets', 'IsTruncated', 'MaxItems', ], 'members' => [ 'ResourceRecordSets' => [ 'shape' => 'ResourceRecordSets', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextRecordName' => [ 'shape' => 'DNSName', ], 'NextRecordType' => [ 'shape' => 'RRType', ], 'NextRecordIdentifier' => [ 'shape' => 'ResourceRecordSetIdentifier', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListReusableDelegationSetsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'PageMarker', 'location' => 'querystring', 'locationName' => 'marker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListReusableDelegationSetsResponse' => [ 'type' => 'structure', 'required' => [ 'DelegationSets', 'Marker', 'IsTruncated', 'MaxItems', ], 'members' => [ 'DelegationSets' => [ 'shape' => 'DelegationSets', ], 'Marker' => [ 'shape' => 'PageMarker', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'NextMarker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', ], 'members' => [ 'ResourceType' => [ 'shape' => 'TagResourceType', 'location' => 'uri', 'locationName' => 'ResourceType', ], 'ResourceId' => [ 'shape' => 'TagResourceId', 'location' => 'uri', 'locationName' => 'ResourceId', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceTagSet', ], 'members' => [ 'ResourceTagSet' => [ 'shape' => 'ResourceTagSet', ], ], ], 'ListTagsForResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceIds', ], 'members' => [ 'ResourceType' => [ 'shape' => 'TagResourceType', 'location' => 'uri', 'locationName' => 'ResourceType', ], 'ResourceIds' => [ 'shape' => 'TagResourceIdList', ], ], ], 'ListTagsForResourcesResponse' => [ 'type' => 'structure', 'required' => [ 'ResourceTagSets', ], 'members' => [ 'ResourceTagSets' => [ 'shape' => 'ResourceTagSetList', ], ], ], 'ListTrafficPoliciesRequest' => [ 'type' => 'structure', 'members' => [ 'TrafficPolicyIdMarker' => [ 'shape' => 'TrafficPolicyId', 'location' => 'querystring', 'locationName' => 'trafficpolicyid', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListTrafficPoliciesResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicySummaries', 'IsTruncated', 'TrafficPolicyIdMarker', 'MaxItems', ], 'members' => [ 'TrafficPolicySummaries' => [ 'shape' => 'TrafficPolicySummaries', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'TrafficPolicyIdMarker' => [ 'shape' => 'TrafficPolicyId', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListTrafficPolicyInstancesByHostedZoneRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'id', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancename', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancetype', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListTrafficPolicyInstancesByHostedZoneResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstances', 'IsTruncated', 'MaxItems', ], 'members' => [ 'TrafficPolicyInstances' => [ 'shape' => 'TrafficPolicyInstances', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListTrafficPolicyInstancesByPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyId', 'TrafficPolicyVersion', ], 'members' => [ 'TrafficPolicyId' => [ 'shape' => 'TrafficPolicyId', 'location' => 'querystring', 'locationName' => 'id', ], 'TrafficPolicyVersion' => [ 'shape' => 'TrafficPolicyVersion', 'location' => 'querystring', 'locationName' => 'version', ], 'HostedZoneIdMarker' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'hostedzoneid', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancename', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancetype', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListTrafficPolicyInstancesByPolicyResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstances', 'IsTruncated', 'MaxItems', ], 'members' => [ 'TrafficPolicyInstances' => [ 'shape' => 'TrafficPolicyInstances', ], 'HostedZoneIdMarker' => [ 'shape' => 'ResourceId', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListTrafficPolicyInstancesRequest' => [ 'type' => 'structure', 'members' => [ 'HostedZoneIdMarker' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'hostedzoneid', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancename', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', 'location' => 'querystring', 'locationName' => 'trafficpolicyinstancetype', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListTrafficPolicyInstancesResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstances', 'IsTruncated', 'MaxItems', ], 'members' => [ 'TrafficPolicyInstances' => [ 'shape' => 'TrafficPolicyInstances', ], 'HostedZoneIdMarker' => [ 'shape' => 'ResourceId', ], 'TrafficPolicyInstanceNameMarker' => [ 'shape' => 'DNSName', ], 'TrafficPolicyInstanceTypeMarker' => [ 'shape' => 'RRType', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListTrafficPolicyVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', 'location' => 'uri', 'locationName' => 'Id', ], 'TrafficPolicyVersionMarker' => [ 'shape' => 'TrafficPolicyVersionMarker', 'location' => 'querystring', 'locationName' => 'trafficpolicyversion', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', 'location' => 'querystring', 'locationName' => 'maxitems', ], ], ], 'ListTrafficPolicyVersionsResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicies', 'IsTruncated', 'TrafficPolicyVersionMarker', 'MaxItems', ], 'members' => [ 'TrafficPolicies' => [ 'shape' => 'TrafficPolicies', ], 'IsTruncated' => [ 'shape' => 'PageTruncated', ], 'TrafficPolicyVersionMarker' => [ 'shape' => 'TrafficPolicyVersionMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListVPCAssociationAuthorizationsRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'NextToken' => [ 'shape' => 'PaginationToken', 'location' => 'querystring', 'locationName' => 'nexttoken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxresults', ], ], ], 'ListVPCAssociationAuthorizationsResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'VPCs', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'VPCs' => [ 'shape' => 'VPCs', ], ], ], 'MaxResults' => [ 'type' => 'string', ], 'MeasureLatency' => [ 'type' => 'boolean', ], 'Message' => [ 'type' => 'string', 'max' => 1024, ], 'MetricName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Nameserver' => [ 'type' => 'string', 'max' => 255, 'min' => 0, ], 'Namespace' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'NoSuchChange' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchCloudWatchLogsLogGroup' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchDelegationSet' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NoSuchGeoLocation' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchHealthCheck' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchHostedZone' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchQueryLoggingConfig' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchTrafficPolicy' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchTrafficPolicyInstance' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Nonce' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'NotAuthorizedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'PageMarker' => [ 'type' => 'string', 'max' => 64, ], 'PageMaxItems' => [ 'type' => 'string', ], 'PageTruncated' => [ 'type' => 'boolean', ], 'PaginationToken' => [ 'type' => 'string', 'max' => 256, ], 'Period' => [ 'type' => 'integer', 'min' => 60, ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 1, ], 'PriorRequestNotComplete' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'PublicZoneVPCAssociation' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'QueryLoggingConfig' => [ 'type' => 'structure', 'required' => [ 'Id', 'HostedZoneId', 'CloudWatchLogsLogGroupArn', ], 'members' => [ 'Id' => [ 'shape' => 'QueryLoggingConfigId', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'CloudWatchLogsLogGroupArn' => [ 'shape' => 'CloudWatchLogsLogGroupArn', ], ], ], 'QueryLoggingConfigAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'QueryLoggingConfigId' => [ 'type' => 'string', 'max' => 36, 'min' => 1, ], 'QueryLoggingConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueryLoggingConfig', 'locationName' => 'QueryLoggingConfig', ], ], 'RData' => [ 'type' => 'string', 'max' => 4000, ], 'RRType' => [ 'type' => 'string', 'enum' => [ 'SOA', 'A', 'TXT', 'NS', 'CNAME', 'MX', 'NAPTR', 'PTR', 'SRV', 'SPF', 'AAAA', 'CAA', ], ], 'RecordData' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordDataEntry', 'locationName' => 'RecordDataEntry', ], ], 'RecordDataEntry' => [ 'type' => 'string', 'max' => 512, 'min' => 0, ], 'RequestInterval' => [ 'type' => 'integer', 'max' => 30, 'min' => 10, ], 'ResettableElementName' => [ 'type' => 'string', 'enum' => [ 'FullyQualifiedDomainName', 'Regions', 'ResourcePath', 'ChildHealthChecks', ], 'max' => 64, 'min' => 1, ], 'ResettableElementNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResettableElementName', 'locationName' => 'ResettableElementName', ], 'max' => 64, ], 'ResourceDescription' => [ 'type' => 'string', 'max' => 256, ], 'ResourceId' => [ 'type' => 'string', 'max' => 32, ], 'ResourcePath' => [ 'type' => 'string', 'max' => 255, ], 'ResourceRecord' => [ 'type' => 'structure', 'required' => [ 'Value', ], 'members' => [ 'Value' => [ 'shape' => 'RData', ], ], ], 'ResourceRecordSet' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', ], 'members' => [ 'Name' => [ 'shape' => 'DNSName', ], 'Type' => [ 'shape' => 'RRType', ], 'SetIdentifier' => [ 'shape' => 'ResourceRecordSetIdentifier', ], 'Weight' => [ 'shape' => 'ResourceRecordSetWeight', ], 'Region' => [ 'shape' => 'ResourceRecordSetRegion', ], 'GeoLocation' => [ 'shape' => 'GeoLocation', ], 'Failover' => [ 'shape' => 'ResourceRecordSetFailover', ], 'MultiValueAnswer' => [ 'shape' => 'ResourceRecordSetMultiValueAnswer', ], 'TTL' => [ 'shape' => 'TTL', ], 'ResourceRecords' => [ 'shape' => 'ResourceRecords', ], 'AliasTarget' => [ 'shape' => 'AliasTarget', ], 'HealthCheckId' => [ 'shape' => 'HealthCheckId', ], 'TrafficPolicyInstanceId' => [ 'shape' => 'TrafficPolicyInstanceId', ], ], ], 'ResourceRecordSetFailover' => [ 'type' => 'string', 'enum' => [ 'PRIMARY', 'SECONDARY', ], ], 'ResourceRecordSetIdentifier' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ResourceRecordSetMultiValueAnswer' => [ 'type' => 'boolean', ], 'ResourceRecordSetRegion' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', 'cn-north-1', 'cn-northwest-1', 'ap-south-1', ], 'max' => 64, 'min' => 1, ], 'ResourceRecordSetWeight' => [ 'type' => 'long', 'max' => 255, 'min' => 0, ], 'ResourceRecordSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceRecordSet', 'locationName' => 'ResourceRecordSet', ], ], 'ResourceRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceRecord', 'locationName' => 'ResourceRecord', ], 'min' => 1, ], 'ResourceTagSet' => [ 'type' => 'structure', 'members' => [ 'ResourceType' => [ 'shape' => 'TagResourceType', ], 'ResourceId' => [ 'shape' => 'TagResourceId', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ResourceTagSetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceTagSet', 'locationName' => 'ResourceTagSet', ], ], 'ResourceURI' => [ 'type' => 'string', 'max' => 1024, ], 'ReusableDelegationSetLimit' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'ReusableDelegationSetLimitType', ], 'Value' => [ 'shape' => 'LimitValue', ], ], ], 'ReusableDelegationSetLimitType' => [ 'type' => 'string', 'enum' => [ 'MAX_ZONES_BY_REUSABLE_DELEGATION_SET', ], ], 'SearchString' => [ 'type' => 'string', 'max' => 255, ], 'ServicePrincipal' => [ 'type' => 'string', 'max' => 128, ], 'Statistic' => [ 'type' => 'string', 'enum' => [ 'Average', 'Sum', 'SampleCount', 'Maximum', 'Minimum', ], ], 'Status' => [ 'type' => 'string', ], 'StatusReport' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'Status', ], 'CheckedTime' => [ 'shape' => 'TimeStamp', ], ], ], 'SubnetMask' => [ 'type' => 'string', 'max' => 3, 'min' => 0, ], 'TTL' => [ 'type' => 'long', 'max' => 2147483647, 'min' => 0, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], 'max' => 10, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], 'max' => 10, 'min' => 1, ], 'TagResourceId' => [ 'type' => 'string', 'max' => 64, ], 'TagResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagResourceId', 'locationName' => 'ResourceId', ], 'max' => 10, 'min' => 1, ], 'TagResourceType' => [ 'type' => 'string', 'enum' => [ 'healthcheck', 'hostedzone', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, ], 'TestDNSAnswerRequest' => [ 'type' => 'structure', 'required' => [ 'HostedZoneId', 'RecordName', 'RecordType', ], 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', 'location' => 'querystring', 'locationName' => 'hostedzoneid', ], 'RecordName' => [ 'shape' => 'DNSName', 'location' => 'querystring', 'locationName' => 'recordname', ], 'RecordType' => [ 'shape' => 'RRType', 'location' => 'querystring', 'locationName' => 'recordtype', ], 'ResolverIP' => [ 'shape' => 'IPAddress', 'location' => 'querystring', 'locationName' => 'resolverip', ], 'EDNS0ClientSubnetIP' => [ 'shape' => 'IPAddress', 'location' => 'querystring', 'locationName' => 'edns0clientsubnetip', ], 'EDNS0ClientSubnetMask' => [ 'shape' => 'SubnetMask', 'location' => 'querystring', 'locationName' => 'edns0clientsubnetmask', ], ], ], 'TestDNSAnswerResponse' => [ 'type' => 'structure', 'required' => [ 'Nameserver', 'RecordName', 'RecordType', 'RecordData', 'ResponseCode', 'Protocol', ], 'members' => [ 'Nameserver' => [ 'shape' => 'Nameserver', ], 'RecordName' => [ 'shape' => 'DNSName', ], 'RecordType' => [ 'shape' => 'RRType', ], 'RecordData' => [ 'shape' => 'RecordData', ], 'ResponseCode' => [ 'shape' => 'DNSRCode', ], 'Protocol' => [ 'shape' => 'TransportProtocol', ], ], ], 'Threshold' => [ 'type' => 'double', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TimeStamp' => [ 'type' => 'timestamp', ], 'TooManyHealthChecks' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TooManyHostedZones' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrafficPolicies' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrafficPolicyInstances' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyTrafficPolicyVersionsForCurrentPolicy' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TooManyVPCAssociationAuthorizations' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrafficPolicies' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrafficPolicy', 'locationName' => 'TrafficPolicy', ], ], 'TrafficPolicy' => [ 'type' => 'structure', 'required' => [ 'Id', 'Version', 'Name', 'Type', 'Document', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', ], 'Version' => [ 'shape' => 'TrafficPolicyVersion', ], 'Name' => [ 'shape' => 'TrafficPolicyName', ], 'Type' => [ 'shape' => 'RRType', ], 'Document' => [ 'shape' => 'TrafficPolicyDocument', ], 'Comment' => [ 'shape' => 'TrafficPolicyComment', ], ], ], 'TrafficPolicyAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'TrafficPolicyComment' => [ 'type' => 'string', 'max' => 1024, ], 'TrafficPolicyDocument' => [ 'type' => 'string', 'max' => 102400, ], 'TrafficPolicyId' => [ 'type' => 'string', 'max' => 36, 'min' => 1, ], 'TrafficPolicyInUse' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'TrafficPolicyInstance' => [ 'type' => 'structure', 'required' => [ 'Id', 'HostedZoneId', 'Name', 'TTL', 'State', 'Message', 'TrafficPolicyId', 'TrafficPolicyVersion', 'TrafficPolicyType', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyInstanceId', ], 'HostedZoneId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'DNSName', ], 'TTL' => [ 'shape' => 'TTL', ], 'State' => [ 'shape' => 'TrafficPolicyInstanceState', ], 'Message' => [ 'shape' => 'Message', ], 'TrafficPolicyId' => [ 'shape' => 'TrafficPolicyId', ], 'TrafficPolicyVersion' => [ 'shape' => 'TrafficPolicyVersion', ], 'TrafficPolicyType' => [ 'shape' => 'RRType', ], ], ], 'TrafficPolicyInstanceAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'TrafficPolicyInstanceCount' => [ 'type' => 'integer', ], 'TrafficPolicyInstanceId' => [ 'type' => 'string', 'max' => 36, 'min' => 1, ], 'TrafficPolicyInstanceState' => [ 'type' => 'string', ], 'TrafficPolicyInstances' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrafficPolicyInstance', 'locationName' => 'TrafficPolicyInstance', ], ], 'TrafficPolicyName' => [ 'type' => 'string', 'max' => 512, ], 'TrafficPolicySummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrafficPolicySummary', 'locationName' => 'TrafficPolicySummary', ], ], 'TrafficPolicySummary' => [ 'type' => 'structure', 'required' => [ 'Id', 'Name', 'Type', 'LatestVersion', 'TrafficPolicyCount', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', ], 'Name' => [ 'shape' => 'TrafficPolicyName', ], 'Type' => [ 'shape' => 'RRType', ], 'LatestVersion' => [ 'shape' => 'TrafficPolicyVersion', ], 'TrafficPolicyCount' => [ 'shape' => 'TrafficPolicyVersion', ], ], ], 'TrafficPolicyVersion' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'TrafficPolicyVersionMarker' => [ 'type' => 'string', 'max' => 4, ], 'TransportProtocol' => [ 'type' => 'string', ], 'UpdateHealthCheckRequest' => [ 'type' => 'structure', 'required' => [ 'HealthCheckId', ], 'members' => [ 'HealthCheckId' => [ 'shape' => 'HealthCheckId', 'location' => 'uri', 'locationName' => 'HealthCheckId', ], 'HealthCheckVersion' => [ 'shape' => 'HealthCheckVersion', ], 'IPAddress' => [ 'shape' => 'IPAddress', ], 'Port' => [ 'shape' => 'Port', ], 'ResourcePath' => [ 'shape' => 'ResourcePath', ], 'FullyQualifiedDomainName' => [ 'shape' => 'FullyQualifiedDomainName', ], 'SearchString' => [ 'shape' => 'SearchString', ], 'FailureThreshold' => [ 'shape' => 'FailureThreshold', ], 'Inverted' => [ 'shape' => 'Inverted', ], 'Disabled' => [ 'shape' => 'Disabled', ], 'HealthThreshold' => [ 'shape' => 'HealthThreshold', ], 'ChildHealthChecks' => [ 'shape' => 'ChildHealthCheckList', ], 'EnableSNI' => [ 'shape' => 'EnableSNI', ], 'Regions' => [ 'shape' => 'HealthCheckRegionList', ], 'AlarmIdentifier' => [ 'shape' => 'AlarmIdentifier', ], 'InsufficientDataHealthStatus' => [ 'shape' => 'InsufficientDataHealthStatus', ], 'ResetElements' => [ 'shape' => 'ResettableElementNameList', ], ], ], 'UpdateHealthCheckResponse' => [ 'type' => 'structure', 'required' => [ 'HealthCheck', ], 'members' => [ 'HealthCheck' => [ 'shape' => 'HealthCheck', ], ], ], 'UpdateHostedZoneCommentRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', 'location' => 'uri', 'locationName' => 'Id', ], 'Comment' => [ 'shape' => 'ResourceDescription', ], ], ], 'UpdateHostedZoneCommentResponse' => [ 'type' => 'structure', 'required' => [ 'HostedZone', ], 'members' => [ 'HostedZone' => [ 'shape' => 'HostedZone', ], ], ], 'UpdateTrafficPolicyCommentRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Version', 'Comment', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyId', 'location' => 'uri', 'locationName' => 'Id', ], 'Version' => [ 'shape' => 'TrafficPolicyVersion', 'location' => 'uri', 'locationName' => 'Version', ], 'Comment' => [ 'shape' => 'TrafficPolicyComment', ], ], ], 'UpdateTrafficPolicyCommentResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicy', ], 'members' => [ 'TrafficPolicy' => [ 'shape' => 'TrafficPolicy', ], ], ], 'UpdateTrafficPolicyInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'TTL', 'TrafficPolicyId', 'TrafficPolicyVersion', ], 'members' => [ 'Id' => [ 'shape' => 'TrafficPolicyInstanceId', 'location' => 'uri', 'locationName' => 'Id', ], 'TTL' => [ 'shape' => 'TTL', ], 'TrafficPolicyId' => [ 'shape' => 'TrafficPolicyId', ], 'TrafficPolicyVersion' => [ 'shape' => 'TrafficPolicyVersion', ], ], ], 'UpdateTrafficPolicyInstanceResponse' => [ 'type' => 'structure', 'required' => [ 'TrafficPolicyInstance', ], 'members' => [ 'TrafficPolicyInstance' => [ 'shape' => 'TrafficPolicyInstance', ], ], ], 'UsageCount' => [ 'type' => 'long', 'min' => 0, ], 'VPC' => [ 'type' => 'structure', 'members' => [ 'VPCRegion' => [ 'shape' => 'VPCRegion', ], 'VPCId' => [ 'shape' => 'VPCId', ], ], ], 'VPCAssociationAuthorizationNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'VPCAssociationNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'VPCId' => [ 'type' => 'string', 'max' => 1024, ], 'VPCRegion' => [ 'type' => 'string', 'enum' => [ 'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-south-1', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'eu-north-1', 'sa-east-1', 'ca-central-1', 'cn-north-1', ], 'max' => 64, 'min' => 1, ], 'VPCs' => [ 'type' => 'list', 'member' => [ 'shape' => 'VPC', 'locationName' => 'VPC', ], 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/route53/2013-04-01/paginators-1.json.php b/lib/aws/Aws/data/route53/2013-04-01/paginators-1.json.php new file mode 100644 index 0000000..9fb1132 --- /dev/null +++ b/lib/aws/Aws/data/route53/2013-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53/2013-04-01/paginators-1.json +return [ 'pagination' => [ 'ListHealthChecks' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'NextMarker', 'result_key' => 'HealthChecks', ], 'ListHostedZones' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => 'NextMarker', 'result_key' => 'HostedZones', ], 'ListResourceRecordSets' => [ 'input_token' => [ 'StartRecordName', 'StartRecordType', 'StartRecordIdentifier', ], 'limit_key' => 'MaxItems', 'more_results' => 'IsTruncated', 'output_token' => [ 'NextRecordName', 'NextRecordType', 'NextRecordIdentifier', ], 'result_key' => 'ResourceRecordSets', ], ],]; diff --git a/lib/aws/Aws/data/route53/2013-04-01/smoke.json.php b/lib/aws/Aws/data/route53/2013-04-01/smoke.json.php new file mode 100644 index 0000000..73d7c34 --- /dev/null +++ b/lib/aws/Aws/data/route53/2013-04-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53/2013-04-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListHostedZones', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetHostedZone', 'input' => [ 'Id' => 'fake-zone', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/route53/2013-04-01/waiters-2.json.php b/lib/aws/Aws/data/route53/2013-04-01/waiters-2.json.php new file mode 100644 index 0000000..9b72d2a --- /dev/null +++ b/lib/aws/Aws/data/route53/2013-04-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53/2013-04-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'ResourceRecordSetsChanged' => [ 'delay' => 30, 'maxAttempts' => 60, 'operation' => 'GetChange', 'acceptors' => [ [ 'matcher' => 'path', 'expected' => 'INSYNC', 'argument' => 'ChangeInfo.Status', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/route53domains/2014-05-15/api-2.json.php b/lib/aws/Aws/data/route53domains/2014-05-15/api-2.json.php new file mode 100644 index 0000000..9e68d33 --- /dev/null +++ b/lib/aws/Aws/data/route53domains/2014-05-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53domains/2014-05-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-05-15', 'endpointPrefix' => 'route53domains', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Route 53 Domains', 'signatureVersion' => 'v4', 'targetPrefix' => 'Route53Domains_v20140515', 'uid' => 'route53domains-2014-05-15', ], 'operations' => [ 'CheckDomainAvailability' => [ 'name' => 'CheckDomainAvailability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CheckDomainAvailabilityRequest', ], 'output' => [ 'shape' => 'CheckDomainAvailabilityResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'CheckDomainTransferability' => [ 'name' => 'CheckDomainTransferability', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CheckDomainTransferabilityRequest', ], 'output' => [ 'shape' => 'CheckDomainTransferabilityResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'DeleteTagsForDomain' => [ 'name' => 'DeleteTagsForDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsForDomainRequest', ], 'output' => [ 'shape' => 'DeleteTagsForDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'DisableDomainAutoRenew' => [ 'name' => 'DisableDomainAutoRenew', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableDomainAutoRenewRequest', ], 'output' => [ 'shape' => 'DisableDomainAutoRenewResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'DisableDomainTransferLock' => [ 'name' => 'DisableDomainTransferLock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableDomainTransferLockRequest', ], 'output' => [ 'shape' => 'DisableDomainTransferLockResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'EnableDomainAutoRenew' => [ 'name' => 'EnableDomainAutoRenew', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableDomainAutoRenewRequest', ], 'output' => [ 'shape' => 'EnableDomainAutoRenewResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], [ 'shape' => 'TLDRulesViolation', ], ], ], 'EnableDomainTransferLock' => [ 'name' => 'EnableDomainTransferLock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableDomainTransferLockRequest', ], 'output' => [ 'shape' => 'EnableDomainTransferLockResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'GetContactReachabilityStatus' => [ 'name' => 'GetContactReachabilityStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetContactReachabilityStatusRequest', ], 'output' => [ 'shape' => 'GetContactReachabilityStatusResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'GetDomainDetail' => [ 'name' => 'GetDomainDetail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDomainDetailRequest', ], 'output' => [ 'shape' => 'GetDomainDetailResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'GetDomainSuggestions' => [ 'name' => 'GetDomainSuggestions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDomainSuggestionsRequest', ], 'output' => [ 'shape' => 'GetDomainSuggestionsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'GetOperationDetail' => [ 'name' => 'GetOperationDetail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOperationDetailRequest', ], 'output' => [ 'shape' => 'GetOperationDetailResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListDomains' => [ 'name' => 'ListDomains', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDomainsRequest', ], 'output' => [ 'shape' => 'ListDomainsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListOperations' => [ 'name' => 'ListOperations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOperationsRequest', ], 'output' => [ 'shape' => 'ListOperationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListTagsForDomain' => [ 'name' => 'ListTagsForDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForDomainRequest', ], 'output' => [ 'shape' => 'ListTagsForDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'RegisterDomain' => [ 'name' => 'RegisterDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterDomainRequest', ], 'output' => [ 'shape' => 'RegisterDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'DomainLimitExceeded', ], [ 'shape' => 'OperationLimitExceeded', ], ], ], 'RenewDomain' => [ 'name' => 'RenewDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RenewDomainRequest', ], 'output' => [ 'shape' => 'RenewDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], ], ], 'ResendContactReachabilityEmail' => [ 'name' => 'ResendContactReachabilityEmail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResendContactReachabilityEmailRequest', ], 'output' => [ 'shape' => 'ResendContactReachabilityEmailResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'RetrieveDomainAuthCode' => [ 'name' => 'RetrieveDomainAuthCode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetrieveDomainAuthCodeRequest', ], 'output' => [ 'shape' => 'RetrieveDomainAuthCodeResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'TransferDomain' => [ 'name' => 'TransferDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TransferDomainRequest', ], 'output' => [ 'shape' => 'TransferDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'UnsupportedTLD', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'DomainLimitExceeded', ], [ 'shape' => 'OperationLimitExceeded', ], ], ], 'UpdateDomainContact' => [ 'name' => 'UpdateDomainContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDomainContactRequest', ], 'output' => [ 'shape' => 'UpdateDomainContactResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'UpdateDomainContactPrivacy' => [ 'name' => 'UpdateDomainContactPrivacy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDomainContactPrivacyRequest', ], 'output' => [ 'shape' => 'UpdateDomainContactPrivacyResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'UpdateDomainNameservers' => [ 'name' => 'UpdateDomainNameservers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDomainNameserversRequest', ], 'output' => [ 'shape' => 'UpdateDomainNameserversResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'TLDRulesViolation', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'UpdateTagsForDomain' => [ 'name' => 'UpdateTagsForDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTagsForDomainRequest', ], 'output' => [ 'shape' => 'UpdateTagsForDomainResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationLimitExceeded', ], [ 'shape' => 'UnsupportedTLD', ], ], ], 'ViewBilling' => [ 'name' => 'ViewBilling', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ViewBillingRequest', ], 'output' => [ 'shape' => 'ViewBillingResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], ], 'shapes' => [ 'AddressLine' => [ 'type' => 'string', 'max' => 255, ], 'BillingRecord' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Operation' => [ 'shape' => 'OperationType', ], 'InvoiceId' => [ 'shape' => 'InvoiceId', ], 'BillDate' => [ 'shape' => 'Timestamp', ], 'Price' => [ 'shape' => 'Price', ], ], ], 'BillingRecords' => [ 'type' => 'list', 'member' => [ 'shape' => 'BillingRecord', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CheckDomainAvailabilityRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'IdnLangCode' => [ 'shape' => 'LangCode', ], ], ], 'CheckDomainAvailabilityResponse' => [ 'type' => 'structure', 'required' => [ 'Availability', ], 'members' => [ 'Availability' => [ 'shape' => 'DomainAvailability', ], ], ], 'CheckDomainTransferabilityRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AuthCode' => [ 'shape' => 'DomainAuthCode', ], ], ], 'CheckDomainTransferabilityResponse' => [ 'type' => 'structure', 'required' => [ 'Transferability', ], 'members' => [ 'Transferability' => [ 'shape' => 'DomainTransferability', ], ], ], 'City' => [ 'type' => 'string', 'max' => 255, ], 'ContactDetail' => [ 'type' => 'structure', 'members' => [ 'FirstName' => [ 'shape' => 'ContactName', ], 'LastName' => [ 'shape' => 'ContactName', ], 'ContactType' => [ 'shape' => 'ContactType', ], 'OrganizationName' => [ 'shape' => 'ContactName', ], 'AddressLine1' => [ 'shape' => 'AddressLine', ], 'AddressLine2' => [ 'shape' => 'AddressLine', ], 'City' => [ 'shape' => 'City', ], 'State' => [ 'shape' => 'State', ], 'CountryCode' => [ 'shape' => 'CountryCode', ], 'ZipCode' => [ 'shape' => 'ZipCode', ], 'PhoneNumber' => [ 'shape' => 'ContactNumber', ], 'Email' => [ 'shape' => 'Email', ], 'Fax' => [ 'shape' => 'ContactNumber', ], 'ExtraParams' => [ 'shape' => 'ExtraParamList', ], ], 'sensitive' => true, ], 'ContactName' => [ 'type' => 'string', 'max' => 255, ], 'ContactNumber' => [ 'type' => 'string', 'max' => 30, ], 'ContactType' => [ 'type' => 'string', 'enum' => [ 'PERSON', 'COMPANY', 'ASSOCIATION', 'PUBLIC_BODY', 'RESELLER', ], ], 'CountryCode' => [ 'type' => 'string', 'enum' => [ 'AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AN', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GI', 'GL', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GU', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IQ', 'IR', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'ST', 'SV', 'SY', 'SZ', 'TC', 'TD', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW', ], ], 'CurrentExpiryYear' => [ 'type' => 'integer', ], 'DNSSec' => [ 'type' => 'string', ], 'DeleteTagsForDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'TagsToDelete', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'TagsToDelete' => [ 'shape' => 'TagKeyList', ], ], ], 'DeleteTagsForDomainResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisableDomainAutoRenewRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'DisableDomainAutoRenewResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisableDomainTransferLockRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'DisableDomainTransferLockResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'DomainAuthCode' => [ 'type' => 'string', 'max' => 1024, 'sensitive' => true, ], 'DomainAvailability' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'AVAILABLE_RESERVED', 'AVAILABLE_PREORDER', 'UNAVAILABLE', 'UNAVAILABLE_PREMIUM', 'UNAVAILABLE_RESTRICTED', 'RESERVED', 'DONT_KNOW', ], ], 'DomainLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DomainName' => [ 'type' => 'string', 'max' => 255, ], 'DomainStatus' => [ 'type' => 'string', ], 'DomainStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainStatus', ], ], 'DomainSuggestion' => [ 'type' => 'structure', 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Availability' => [ 'shape' => 'String', ], ], ], 'DomainSuggestionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainSuggestion', ], ], 'DomainSummary' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AutoRenew' => [ 'shape' => 'Boolean', ], 'TransferLock' => [ 'shape' => 'Boolean', ], 'Expiry' => [ 'shape' => 'Timestamp', ], ], ], 'DomainSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainSummary', ], ], 'DomainTransferability' => [ 'type' => 'structure', 'members' => [ 'Transferable' => [ 'shape' => 'Transferable', ], ], ], 'DuplicateRequest' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DurationInYears' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'Email' => [ 'type' => 'string', 'max' => 254, ], 'EnableDomainAutoRenewRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'EnableDomainAutoRenewResponse' => [ 'type' => 'structure', 'members' => [], ], 'EnableDomainTransferLockRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'EnableDomainTransferLockResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExtraParam' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', ], 'members' => [ 'Name' => [ 'shape' => 'ExtraParamName', ], 'Value' => [ 'shape' => 'ExtraParamValue', ], ], ], 'ExtraParamList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtraParam', ], ], 'ExtraParamName' => [ 'type' => 'string', 'enum' => [ 'DUNS_NUMBER', 'BRAND_NUMBER', 'BIRTH_DEPARTMENT', 'BIRTH_DATE_IN_YYYY_MM_DD', 'BIRTH_COUNTRY', 'BIRTH_CITY', 'DOCUMENT_NUMBER', 'AU_ID_NUMBER', 'AU_ID_TYPE', 'CA_LEGAL_TYPE', 'CA_BUSINESS_ENTITY_TYPE', 'ES_IDENTIFICATION', 'ES_IDENTIFICATION_TYPE', 'ES_LEGAL_FORM', 'FI_BUSINESS_NUMBER', 'FI_ID_NUMBER', 'FI_NATIONALITY', 'FI_ORGANIZATION_TYPE', 'IT_PIN', 'IT_REGISTRANT_ENTITY_TYPE', 'RU_PASSPORT_DATA', 'SE_ID_NUMBER', 'SG_ID_NUMBER', 'VAT_NUMBER', 'UK_CONTACT_TYPE', 'UK_COMPANY_NUMBER', ], ], 'ExtraParamValue' => [ 'type' => 'string', 'max' => 2048, ], 'FIAuthKey' => [ 'type' => 'string', ], 'GetContactReachabilityStatusRequest' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], ], ], 'GetContactReachabilityStatusResponse' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'status' => [ 'shape' => 'ReachabilityStatus', ], ], ], 'GetDomainDetailRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'GetDomainDetailResponse' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'Nameservers', 'AdminContact', 'RegistrantContact', 'TechContact', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'Nameservers' => [ 'shape' => 'NameserverList', ], 'AutoRenew' => [ 'shape' => 'Boolean', ], 'AdminContact' => [ 'shape' => 'ContactDetail', ], 'RegistrantContact' => [ 'shape' => 'ContactDetail', ], 'TechContact' => [ 'shape' => 'ContactDetail', ], 'AdminPrivacy' => [ 'shape' => 'Boolean', ], 'RegistrantPrivacy' => [ 'shape' => 'Boolean', ], 'TechPrivacy' => [ 'shape' => 'Boolean', ], 'RegistrarName' => [ 'shape' => 'RegistrarName', ], 'WhoIsServer' => [ 'shape' => 'RegistrarWhoIsServer', ], 'RegistrarUrl' => [ 'shape' => 'RegistrarUrl', ], 'AbuseContactEmail' => [ 'shape' => 'Email', ], 'AbuseContactPhone' => [ 'shape' => 'ContactNumber', ], 'RegistryDomainId' => [ 'shape' => 'RegistryDomainId', ], 'CreationDate' => [ 'shape' => 'Timestamp', ], 'UpdatedDate' => [ 'shape' => 'Timestamp', ], 'ExpirationDate' => [ 'shape' => 'Timestamp', ], 'Reseller' => [ 'shape' => 'Reseller', ], 'DnsSec' => [ 'shape' => 'DNSSec', ], 'StatusList' => [ 'shape' => 'DomainStatusList', ], ], ], 'GetDomainSuggestionsRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'SuggestionCount', 'OnlyAvailable', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'SuggestionCount' => [ 'shape' => 'Integer', ], 'OnlyAvailable' => [ 'shape' => 'Boolean', ], ], ], 'GetDomainSuggestionsResponse' => [ 'type' => 'structure', 'members' => [ 'SuggestionsList' => [ 'shape' => 'DomainSuggestionsList', ], ], ], 'GetOperationDetailRequest' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'GetOperationDetailResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], 'Status' => [ 'shape' => 'OperationStatus', ], 'Message' => [ 'shape' => 'ErrorMessage', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'Type' => [ 'shape' => 'OperationType', ], 'SubmittedDate' => [ 'shape' => 'Timestamp', ], ], ], 'GlueIp' => [ 'type' => 'string', 'max' => 45, ], 'GlueIpList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GlueIp', ], ], 'HostName' => [ 'type' => 'string', 'max' => 255, 'pattern' => '[a-zA-Z0-9_\\-.]*', ], 'Integer' => [ 'type' => 'integer', ], 'InvalidInput' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvoiceId' => [ 'type' => 'string', ], 'LangCode' => [ 'type' => 'string', 'max' => 3, ], 'ListDomainsRequest' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListDomainsResponse' => [ 'type' => 'structure', 'required' => [ 'Domains', ], 'members' => [ 'Domains' => [ 'shape' => 'DomainSummaryList', ], 'NextPageMarker' => [ 'shape' => 'PageMarker', ], ], ], 'ListOperationsRequest' => [ 'type' => 'structure', 'members' => [ 'SubmittedSince' => [ 'shape' => 'Timestamp', ], 'Marker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ListOperationsResponse' => [ 'type' => 'structure', 'required' => [ 'Operations', ], 'members' => [ 'Operations' => [ 'shape' => 'OperationSummaryList', ], 'NextPageMarker' => [ 'shape' => 'PageMarker', ], ], ], 'ListTagsForDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'ListTagsForDomainResponse' => [ 'type' => 'structure', 'required' => [ 'TagList', ], 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'Nameserver' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'HostName', ], 'GlueIps' => [ 'shape' => 'GlueIpList', ], ], ], 'NameserverList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Nameserver', ], ], 'OperationId' => [ 'type' => 'string', 'max' => 255, ], 'OperationLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'OperationStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'IN_PROGRESS', 'ERROR', 'SUCCESSFUL', 'FAILED', ], ], 'OperationSummary' => [ 'type' => 'structure', 'required' => [ 'OperationId', 'Status', 'Type', 'SubmittedDate', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], 'Status' => [ 'shape' => 'OperationStatus', ], 'Type' => [ 'shape' => 'OperationType', ], 'SubmittedDate' => [ 'shape' => 'Timestamp', ], ], ], 'OperationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OperationSummary', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'REGISTER_DOMAIN', 'DELETE_DOMAIN', 'TRANSFER_IN_DOMAIN', 'UPDATE_DOMAIN_CONTACT', 'UPDATE_NAMESERVER', 'CHANGE_PRIVACY_PROTECTION', 'DOMAIN_LOCK', 'ENABLE_AUTORENEW', 'DISABLE_AUTORENEW', 'ADD_DNSSEC', 'REMOVE_DNSSEC', 'EXPIRE_DOMAIN', 'TRANSFER_OUT_DOMAIN', 'CHANGE_DOMAIN_OWNER', 'RENEW_DOMAIN', 'PUSH_DOMAIN', ], ], 'PageMarker' => [ 'type' => 'string', 'max' => 4096, ], 'PageMaxItems' => [ 'type' => 'integer', 'max' => 100, ], 'Price' => [ 'type' => 'double', ], 'ReachabilityStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'DONE', 'EXPIRED', ], ], 'RegisterDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'DurationInYears', 'AdminContact', 'RegistrantContact', 'TechContact', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'IdnLangCode' => [ 'shape' => 'LangCode', ], 'DurationInYears' => [ 'shape' => 'DurationInYears', ], 'AutoRenew' => [ 'shape' => 'Boolean', ], 'AdminContact' => [ 'shape' => 'ContactDetail', ], 'RegistrantContact' => [ 'shape' => 'ContactDetail', ], 'TechContact' => [ 'shape' => 'ContactDetail', ], 'PrivacyProtectAdminContact' => [ 'shape' => 'Boolean', ], 'PrivacyProtectRegistrantContact' => [ 'shape' => 'Boolean', ], 'PrivacyProtectTechContact' => [ 'shape' => 'Boolean', ], ], ], 'RegisterDomainResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'RegistrarName' => [ 'type' => 'string', ], 'RegistrarUrl' => [ 'type' => 'string', ], 'RegistrarWhoIsServer' => [ 'type' => 'string', ], 'RegistryDomainId' => [ 'type' => 'string', ], 'RenewDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'CurrentExpiryYear', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'DurationInYears' => [ 'shape' => 'DurationInYears', ], 'CurrentExpiryYear' => [ 'shape' => 'CurrentExpiryYear', ], ], ], 'RenewDomainResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'Reseller' => [ 'type' => 'string', ], 'ResendContactReachabilityEmailRequest' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], ], ], 'ResendContactReachabilityEmailResponse' => [ 'type' => 'structure', 'members' => [ 'domainName' => [ 'shape' => 'DomainName', ], 'emailAddress' => [ 'shape' => 'Email', ], 'isAlreadyVerified' => [ 'shape' => 'Boolean', ], ], ], 'RetrieveDomainAuthCodeRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], ], ], 'RetrieveDomainAuthCodeResponse' => [ 'type' => 'structure', 'required' => [ 'AuthCode', ], 'members' => [ 'AuthCode' => [ 'shape' => 'DomainAuthCode', ], ], ], 'State' => [ 'type' => 'string', 'max' => 255, ], 'String' => [ 'type' => 'string', ], 'TLDRulesViolation' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TransferDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'DurationInYears', 'AdminContact', 'RegistrantContact', 'TechContact', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'IdnLangCode' => [ 'shape' => 'LangCode', ], 'DurationInYears' => [ 'shape' => 'DurationInYears', ], 'Nameservers' => [ 'shape' => 'NameserverList', ], 'AuthCode' => [ 'shape' => 'DomainAuthCode', ], 'AutoRenew' => [ 'shape' => 'Boolean', ], 'AdminContact' => [ 'shape' => 'ContactDetail', ], 'RegistrantContact' => [ 'shape' => 'ContactDetail', ], 'TechContact' => [ 'shape' => 'ContactDetail', ], 'PrivacyProtectAdminContact' => [ 'shape' => 'Boolean', ], 'PrivacyProtectRegistrantContact' => [ 'shape' => 'Boolean', ], 'PrivacyProtectTechContact' => [ 'shape' => 'Boolean', ], ], ], 'TransferDomainResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'Transferable' => [ 'type' => 'string', 'enum' => [ 'TRANSFERABLE', 'UNTRANSFERABLE', 'DONT_KNOW', ], ], 'UnsupportedTLD' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateDomainContactPrivacyRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AdminPrivacy' => [ 'shape' => 'Boolean', ], 'RegistrantPrivacy' => [ 'shape' => 'Boolean', ], 'TechPrivacy' => [ 'shape' => 'Boolean', ], ], ], 'UpdateDomainContactPrivacyResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'UpdateDomainContactRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'AdminContact' => [ 'shape' => 'ContactDetail', ], 'RegistrantContact' => [ 'shape' => 'ContactDetail', ], 'TechContact' => [ 'shape' => 'ContactDetail', ], ], ], 'UpdateDomainContactResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'UpdateDomainNameserversRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', 'Nameservers', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'FIAuthKey' => [ 'shape' => 'FIAuthKey', 'deprecated' => true, ], 'Nameservers' => [ 'shape' => 'NameserverList', ], ], ], 'UpdateDomainNameserversResponse' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'UpdateTagsForDomainRequest' => [ 'type' => 'structure', 'required' => [ 'DomainName', ], 'members' => [ 'DomainName' => [ 'shape' => 'DomainName', ], 'TagsToUpdate' => [ 'shape' => 'TagList', ], ], ], 'UpdateTagsForDomainResponse' => [ 'type' => 'structure', 'members' => [], ], 'ViewBillingRequest' => [ 'type' => 'structure', 'members' => [ 'Start' => [ 'shape' => 'Timestamp', ], 'End' => [ 'shape' => 'Timestamp', ], 'Marker' => [ 'shape' => 'PageMarker', ], 'MaxItems' => [ 'shape' => 'PageMaxItems', ], ], ], 'ViewBillingResponse' => [ 'type' => 'structure', 'members' => [ 'NextPageMarker' => [ 'shape' => 'PageMarker', ], 'BillingRecords' => [ 'shape' => 'BillingRecords', ], ], ], 'ZipCode' => [ 'type' => 'string', 'max' => 255, ], ],]; diff --git a/lib/aws/Aws/data/route53domains/2014-05-15/paginators-1.json.php b/lib/aws/Aws/data/route53domains/2014-05-15/paginators-1.json.php new file mode 100644 index 0000000..1736529 --- /dev/null +++ b/lib/aws/Aws/data/route53domains/2014-05-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53domains/2014-05-15/paginators-1.json +return [ 'pagination' => [ 'ListDomains' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'output_token' => 'NextPageMarker', 'result_key' => 'Domains', ], 'ListOperations' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxItems', 'output_token' => 'NextPageMarker', 'result_key' => 'Operations', ], ],]; diff --git a/lib/aws/Aws/data/route53resolver/2018-04-01/api-2.json.php b/lib/aws/Aws/data/route53resolver/2018-04-01/api-2.json.php new file mode 100644 index 0000000..7478b33 --- /dev/null +++ b/lib/aws/Aws/data/route53resolver/2018-04-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53resolver/2018-04-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-04-01', 'endpointPrefix' => 'route53resolver', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Route53Resolver', 'serviceFullName' => 'Amazon Route 53 Resolver', 'serviceId' => 'Route53Resolver', 'signatureVersion' => 'v4', 'targetPrefix' => 'Route53Resolver', 'uid' => 'route53resolver-2018-04-01', ], 'operations' => [ 'AssociateResolverEndpointIpAddress' => [ 'name' => 'AssociateResolverEndpointIpAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateResolverEndpointIpAddressRequest', ], 'output' => [ 'shape' => 'AssociateResolverEndpointIpAddressResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'AssociateResolverRule' => [ 'name' => 'AssociateResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateResolverRuleRequest', ], 'output' => [ 'shape' => 'AssociateResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateResolverEndpoint' => [ 'name' => 'CreateResolverEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResolverEndpointRequest', ], 'output' => [ 'shape' => 'CreateResolverEndpointResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateResolverRule' => [ 'name' => 'CreateResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResolverRuleRequest', ], 'output' => [ 'shape' => 'CreateResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteResolverEndpoint' => [ 'name' => 'DeleteResolverEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResolverEndpointRequest', ], 'output' => [ 'shape' => 'DeleteResolverEndpointResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteResolverRule' => [ 'name' => 'DeleteResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResolverRuleRequest', ], 'output' => [ 'shape' => 'DeleteResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DisassociateResolverEndpointIpAddress' => [ 'name' => 'DisassociateResolverEndpointIpAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateResolverEndpointIpAddressRequest', ], 'output' => [ 'shape' => 'DisassociateResolverEndpointIpAddressResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DisassociateResolverRule' => [ 'name' => 'DisassociateResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateResolverRuleRequest', ], 'output' => [ 'shape' => 'DisassociateResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetResolverEndpoint' => [ 'name' => 'GetResolverEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResolverEndpointRequest', ], 'output' => [ 'shape' => 'GetResolverEndpointResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetResolverRule' => [ 'name' => 'GetResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResolverRuleRequest', ], 'output' => [ 'shape' => 'GetResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetResolverRuleAssociation' => [ 'name' => 'GetResolverRuleAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResolverRuleAssociationRequest', ], 'output' => [ 'shape' => 'GetResolverRuleAssociationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetResolverRulePolicy' => [ 'name' => 'GetResolverRulePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResolverRulePolicyRequest', ], 'output' => [ 'shape' => 'GetResolverRulePolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListResolverEndpointIpAddresses' => [ 'name' => 'ListResolverEndpointIpAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResolverEndpointIpAddressesRequest', ], 'output' => [ 'shape' => 'ListResolverEndpointIpAddressesResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListResolverEndpoints' => [ 'name' => 'ListResolverEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResolverEndpointsRequest', ], 'output' => [ 'shape' => 'ListResolverEndpointsResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListResolverRuleAssociations' => [ 'name' => 'ListResolverRuleAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResolverRuleAssociationsRequest', ], 'output' => [ 'shape' => 'ListResolverRuleAssociationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListResolverRules' => [ 'name' => 'ListResolverRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResolverRulesRequest', ], 'output' => [ 'shape' => 'ListResolverRulesResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'PutResolverRulePolicy' => [ 'name' => 'PutResolverRulePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutResolverRulePolicyRequest', ], 'output' => [ 'shape' => 'PutResolverRulePolicyResponse', ], 'errors' => [ [ 'shape' => 'InvalidPolicyDocument', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'UnknownResourceException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'output' => [ 'shape' => 'TagResourceResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidTagException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'output' => [ 'shape' => 'UntagResourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateResolverEndpoint' => [ 'name' => 'UpdateResolverEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateResolverEndpointRequest', ], 'output' => [ 'shape' => 'UpdateResolverEndpointResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateResolverRule' => [ 'name' => 'UpdateResolverRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateResolverRuleRequest', ], 'output' => [ 'shape' => 'UpdateResolverRuleResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'ThrottlingException', ], ], ], ], 'shapes' => [ 'AccountId' => [ 'type' => 'string', 'max' => 32, 'min' => 12, ], 'Arn' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'AssociateResolverEndpointIpAddressRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', 'IpAddress', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], 'IpAddress' => [ 'shape' => 'IpAddressUpdate', ], ], ], 'AssociateResolverEndpointIpAddressResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'AssociateResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverRuleId', 'VPCId', ], 'members' => [ 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'Name', ], 'VPCId' => [ 'shape' => 'ResourceId', ], ], ], 'AssociateResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRuleAssociation' => [ 'shape' => 'ResolverRuleAssociation', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CreateResolverEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'CreatorRequestId', 'SecurityGroupIds', 'Direction', 'IpAddresses', ], 'members' => [ 'CreatorRequestId' => [ 'shape' => 'CreatorRequestId', ], 'Name' => [ 'shape' => 'Name', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', 'box' => true, ], 'Direction' => [ 'shape' => 'ResolverEndpointDirection', ], 'IpAddresses' => [ 'shape' => 'IpAddressesRequest', ], 'Tags' => [ 'shape' => 'TagList', 'box' => true, ], ], ], 'CreateResolverEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'CreateResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'CreatorRequestId', 'RuleType', 'DomainName', ], 'members' => [ 'CreatorRequestId' => [ 'shape' => 'CreatorRequestId', ], 'Name' => [ 'shape' => 'Name', ], 'RuleType' => [ 'shape' => 'RuleTypeOption', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'TargetIps' => [ 'shape' => 'TargetList', 'box' => true, ], 'ResolverEndpointId' => [ 'shape' => 'ResourceId', 'box' => true, ], 'Tags' => [ 'shape' => 'TagList', 'box' => true, ], ], ], 'CreateResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRule' => [ 'shape' => 'ResolverRule', ], ], ], 'CreatorRequestId' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'DeleteResolverEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], ], ], 'DeleteResolverEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'DeleteResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverRuleId', ], 'members' => [ 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], ], ], 'DeleteResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRule' => [ 'shape' => 'ResolverRule', ], ], ], 'DisassociateResolverEndpointIpAddressRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', 'IpAddress', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], 'IpAddress' => [ 'shape' => 'IpAddressUpdate', ], ], ], 'DisassociateResolverEndpointIpAddressResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'DisassociateResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'VPCId', 'ResolverRuleId', ], 'members' => [ 'VPCId' => [ 'shape' => 'ResourceId', ], 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], ], ], 'DisassociateResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRuleAssociation' => [ 'shape' => 'ResolverRuleAssociation', ], ], ], 'DomainName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ExceptionMessage' => [ 'type' => 'string', ], 'Filter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], ], ], 'FilterName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'FilterValue' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], ], 'Filters' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], ], 'GetResolverEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], ], ], 'GetResolverEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'GetResolverRuleAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverRuleAssociationId', ], 'members' => [ 'ResolverRuleAssociationId' => [ 'shape' => 'ResourceId', ], ], ], 'GetResolverRuleAssociationResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRuleAssociation' => [ 'shape' => 'ResolverRuleAssociation', ], ], ], 'GetResolverRulePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], ], ], 'GetResolverRulePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRulePolicy' => [ 'shape' => 'ResolverRulePolicy', ], ], ], 'GetResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverRuleId', ], 'members' => [ 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], ], ], 'GetResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRule' => [ 'shape' => 'ResolverRule', ], ], ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'required' => [ 'Message', ], 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], 'FieldName' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidPolicyDocument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidTagException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'Ip' => [ 'type' => 'string', 'max' => 36, 'min' => 7, ], 'IpAddressCount' => [ 'type' => 'integer', ], 'IpAddressRequest' => [ 'type' => 'structure', 'required' => [ 'SubnetId', ], 'members' => [ 'SubnetId' => [ 'shape' => 'SubnetId', ], 'Ip' => [ 'shape' => 'Ip', 'box' => true, ], ], ], 'IpAddressResponse' => [ 'type' => 'structure', 'members' => [ 'IpId' => [ 'shape' => 'ResourceId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'Ip' => [ 'shape' => 'Ip', ], 'Status' => [ 'shape' => 'IpAddressStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'CreationTime' => [ 'shape' => 'Rfc3339TimeString', ], 'ModificationTime' => [ 'shape' => 'Rfc3339TimeString', ], ], ], 'IpAddressStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'FAILED_CREATION', 'ATTACHING', 'ATTACHED', 'REMAP_DETACHING', 'REMAP_ATTACHING', 'DETACHING', 'FAILED_RESOURCE_GONE', 'DELETING', 'DELETE_FAILED_FAS_EXPIRED', ], ], 'IpAddressUpdate' => [ 'type' => 'structure', 'members' => [ 'IpId' => [ 'shape' => 'ResourceId', 'box' => true, ], 'SubnetId' => [ 'shape' => 'SubnetId', 'box' => true, ], 'Ip' => [ 'shape' => 'Ip', 'box' => true, ], ], ], 'IpAddressesRequest' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddressRequest', ], 'max' => 10, 'min' => 1, ], 'IpAddressesResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddressResponse', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListResolverEndpointIpAddressesRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', 'box' => true, ], ], ], 'ListResolverEndpointIpAddressesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'IpAddresses' => [ 'shape' => 'IpAddressesResponse', ], ], ], 'ListResolverEndpointsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', 'box' => true, ], 'Filters' => [ 'shape' => 'Filters', 'box' => true, ], ], ], 'ListResolverEndpointsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'ResolverEndpoints' => [ 'shape' => 'ResolverEndpoints', ], ], ], 'ListResolverRuleAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', 'box' => true, ], 'Filters' => [ 'shape' => 'Filters', 'box' => true, ], ], ], 'ListResolverRuleAssociationsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'ResolverRuleAssociations' => [ 'shape' => 'ResolverRuleAssociations', ], ], ], 'ListResolverRulesRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', 'box' => true, ], 'Filters' => [ 'shape' => 'Filters', 'box' => true, ], ], ], 'ListResolverRulesResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'ResolverRules' => [ 'shape' => 'ResolverRules', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', 'box' => true, ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Name' => [ 'type' => 'string', 'max' => 64, 'pattern' => '(?!^[0-9]+$)([a-zA-Z0-9-_\' \']+)', ], 'NextToken' => [ 'type' => 'string', ], 'Port' => [ 'type' => 'integer', 'max' => 65535, 'min' => 0, ], 'PutResolverRulePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'ResolverRulePolicy', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'ResolverRulePolicy' => [ 'shape' => 'ResolverRulePolicy', ], ], ], 'PutResolverRulePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ReturnValue' => [ 'shape' => 'Boolean', ], ], ], 'ResolverEndpoint' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'CreatorRequestId' => [ 'shape' => 'CreatorRequestId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'Name', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], 'Direction' => [ 'shape' => 'ResolverEndpointDirection', ], 'IpAddressCount' => [ 'shape' => 'IpAddressCount', ], 'HostVPCId' => [ 'shape' => 'ResourceId', ], 'Status' => [ 'shape' => 'ResolverEndpointStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'CreationTime' => [ 'shape' => 'Rfc3339TimeString', ], 'ModificationTime' => [ 'shape' => 'Rfc3339TimeString', ], ], ], 'ResolverEndpointDirection' => [ 'type' => 'string', 'enum' => [ 'INBOUND', 'OUTBOUND', ], ], 'ResolverEndpointStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'OPERATIONAL', 'UPDATING', 'AUTO_RECOVERING', 'ACTION_NEEDED', 'DELETING', ], ], 'ResolverEndpoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResolverEndpoint', ], ], 'ResolverRule' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'CreatorRequestId' => [ 'shape' => 'CreatorRequestId', ], 'Arn' => [ 'shape' => 'Arn', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'Status' => [ 'shape' => 'ResolverRuleStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], 'RuleType' => [ 'shape' => 'RuleTypeOption', ], 'Name' => [ 'shape' => 'Name', ], 'TargetIps' => [ 'shape' => 'TargetList', ], 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], 'OwnerId' => [ 'shape' => 'AccountId', ], 'ShareStatus' => [ 'shape' => 'ShareStatus', ], ], ], 'ResolverRuleAssociation' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'Name', ], 'VPCId' => [ 'shape' => 'ResourceId', ], 'Status' => [ 'shape' => 'ResolverRuleAssociationStatus', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], ], ], 'ResolverRuleAssociationStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'COMPLETE', 'DELETING', 'FAILED', 'OVERRIDDEN', ], ], 'ResolverRuleAssociations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResolverRuleAssociation', ], ], 'ResolverRuleConfig' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Name', ], 'TargetIps' => [ 'shape' => 'TargetList', ], 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], ], ], 'ResolverRulePolicy' => [ 'type' => 'string', 'max' => 5000, ], 'ResolverRuleStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLETE', 'DELETING', 'UPDATING', 'FAILED', ], ], 'ResolverRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResolverRule', ], ], 'ResourceExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Rfc3339TimeString' => [ 'type' => 'string', 'max' => 40, 'min' => 20, ], 'RuleTypeOption' => [ 'type' => 'string', 'enum' => [ 'FORWARD', 'SYSTEM', 'RECURSIVE', ], ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceId', ], ], 'ShareStatus' => [ 'type' => 'string', 'enum' => [ 'NOT_SHARED', 'SHARED_WITH_ME', 'SHARED_BY_ME', ], ], 'StatusMessage' => [ 'type' => 'string', 'max' => 255, ], 'String' => [ 'type' => 'string', ], 'SubnetId' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', ], 'TargetAddress' => [ 'type' => 'structure', 'required' => [ 'Ip', ], 'members' => [ 'Ip' => [ 'shape' => 'Ip', ], 'Port' => [ 'shape' => 'Port', 'box' => true, ], ], ], 'TargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetAddress', ], 'min' => 1, ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UnknownResourceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateResolverEndpointRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverEndpointId', ], 'members' => [ 'ResolverEndpointId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'Name', 'box' => true, ], ], ], 'UpdateResolverEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverEndpoint' => [ 'shape' => 'ResolverEndpoint', ], ], ], 'UpdateResolverRuleRequest' => [ 'type' => 'structure', 'required' => [ 'ResolverRuleId', 'Config', ], 'members' => [ 'ResolverRuleId' => [ 'shape' => 'ResourceId', ], 'Config' => [ 'shape' => 'ResolverRuleConfig', ], ], ], 'UpdateResolverRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ResolverRule' => [ 'shape' => 'ResolverRule', ], ], ], ],]; diff --git a/lib/aws/Aws/data/route53resolver/2018-04-01/paginators-1.json.php b/lib/aws/Aws/data/route53resolver/2018-04-01/paginators-1.json.php new file mode 100644 index 0000000..7ca2b09 --- /dev/null +++ b/lib/aws/Aws/data/route53resolver/2018-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53resolver/2018-04-01/paginators-1.json +return [ 'pagination' => [ 'ListResolverEndpointIpAddresses' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListResolverEndpoints' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListResolverRuleAssociations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListResolverRules' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/route53resolver/2018-04-01/smoke.json.php b/lib/aws/Aws/data/route53resolver/2018-04-01/smoke.json.php new file mode 100644 index 0000000..6c0dfe9 --- /dev/null +++ b/lib/aws/Aws/data/route53resolver/2018-04-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/route53resolver/2018-04-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListResolverEndpoints', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetResolverRule', 'input' => [ 'ResolverRuleId' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/runtime.lex/2016-11-28/api-2.json.php b/lib/aws/Aws/data/runtime.lex/2016-11-28/api-2.json.php new file mode 100644 index 0000000..2872cd3 --- /dev/null +++ b/lib/aws/Aws/data/runtime.lex/2016-11-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/runtime.lex/2016-11-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-28', 'endpointPrefix' => 'runtime.lex', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Lex Runtime Service', 'serviceId' => 'Lex Runtime Service', 'signatureVersion' => 'v4', 'signingName' => 'lex', 'uid' => 'runtime.lex-2016-11-28', ], 'operations' => [ 'PostContent' => [ 'name' => 'PostContent', 'http' => [ 'method' => 'POST', 'requestUri' => '/bot/{botName}/alias/{botAlias}/user/{userId}/content', ], 'input' => [ 'shape' => 'PostContentRequest', ], 'output' => [ 'shape' => 'PostContentResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'UnsupportedMediaTypeException', ], [ 'shape' => 'NotAcceptableException', ], [ 'shape' => 'RequestTimeoutException', ], [ 'shape' => 'DependencyFailedException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'LoopDetectedException', ], ], 'authtype' => 'v4-unsigned-body', ], 'PostText' => [ 'name' => 'PostText', 'http' => [ 'method' => 'POST', 'requestUri' => '/bot/{botName}/alias/{botAlias}/user/{userId}/text', ], 'input' => [ 'shape' => 'PostTextRequest', ], 'output' => [ 'shape' => 'PostTextResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'DependencyFailedException', ], [ 'shape' => 'BadGatewayException', ], [ 'shape' => 'LoopDetectedException', ], ], ], ], 'shapes' => [ 'Accept' => [ 'type' => 'string', ], 'AttributesString' => [ 'type' => 'string', 'sensitive' => true, ], 'BadGatewayException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'BlobStream' => [ 'type' => 'blob', 'streaming' => true, ], 'BotAlias' => [ 'type' => 'string', ], 'BotName' => [ 'type' => 'string', ], 'Button' => [ 'type' => 'structure', 'required' => [ 'text', 'value', ], 'members' => [ 'text' => [ 'shape' => 'ButtonTextStringWithLength', ], 'value' => [ 'shape' => 'ButtonValueStringWithLength', ], ], ], 'ButtonTextStringWithLength' => [ 'type' => 'string', 'max' => 15, 'min' => 1, ], 'ButtonValueStringWithLength' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ContentType' => [ 'type' => 'string', 'enum' => [ 'application/vnd.amazonaws.card.generic', ], ], 'DependencyFailedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 424, ], 'exception' => true, ], 'DialogState' => [ 'type' => 'string', 'enum' => [ 'ElicitIntent', 'ConfirmIntent', 'ElicitSlot', 'Fulfilled', 'ReadyForFulfillment', 'Failed', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'GenericAttachment' => [ 'type' => 'structure', 'members' => [ 'title' => [ 'shape' => 'StringWithLength', ], 'subTitle' => [ 'shape' => 'StringWithLength', ], 'attachmentLinkUrl' => [ 'shape' => 'StringUrlWithLength', ], 'imageUrl' => [ 'shape' => 'StringUrlWithLength', ], 'buttons' => [ 'shape' => 'listOfButtons', ], ], ], 'HttpContentType' => [ 'type' => 'string', ], 'IntentName' => [ 'type' => 'string', ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'retryAfterSeconds' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'Retry-After', ], 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'LoopDetectedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 508, ], 'exception' => true, ], 'MessageFormatType' => [ 'type' => 'string', 'enum' => [ 'PlainText', 'CustomPayload', 'SSML', 'Composite', ], ], 'NotAcceptableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 406, ], 'exception' => true, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'PostContentRequest' => [ 'type' => 'structure', 'required' => [ 'botName', 'botAlias', 'userId', 'contentType', 'inputStream', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'botAlias' => [ 'shape' => 'BotAlias', 'location' => 'uri', 'locationName' => 'botAlias', ], 'userId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'userId', ], 'sessionAttributes' => [ 'shape' => 'AttributesString', 'jsonvalue' => true, 'location' => 'header', 'locationName' => 'x-amz-lex-session-attributes', ], 'requestAttributes' => [ 'shape' => 'AttributesString', 'jsonvalue' => true, 'location' => 'header', 'locationName' => 'x-amz-lex-request-attributes', ], 'contentType' => [ 'shape' => 'HttpContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'accept' => [ 'shape' => 'Accept', 'location' => 'header', 'locationName' => 'Accept', ], 'inputStream' => [ 'shape' => 'BlobStream', ], ], 'payload' => 'inputStream', ], 'PostContentResponse' => [ 'type' => 'structure', 'members' => [ 'contentType' => [ 'shape' => 'HttpContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'intentName' => [ 'shape' => 'IntentName', 'location' => 'header', 'locationName' => 'x-amz-lex-intent-name', ], 'slots' => [ 'shape' => 'String', 'jsonvalue' => true, 'location' => 'header', 'locationName' => 'x-amz-lex-slots', ], 'sessionAttributes' => [ 'shape' => 'String', 'jsonvalue' => true, 'location' => 'header', 'locationName' => 'x-amz-lex-session-attributes', ], 'message' => [ 'shape' => 'Text', 'location' => 'header', 'locationName' => 'x-amz-lex-message', ], 'messageFormat' => [ 'shape' => 'MessageFormatType', 'location' => 'header', 'locationName' => 'x-amz-lex-message-format', ], 'dialogState' => [ 'shape' => 'DialogState', 'location' => 'header', 'locationName' => 'x-amz-lex-dialog-state', ], 'slotToElicit' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'x-amz-lex-slot-to-elicit', ], 'inputTranscript' => [ 'shape' => 'String', 'location' => 'header', 'locationName' => 'x-amz-lex-input-transcript', ], 'audioStream' => [ 'shape' => 'BlobStream', ], ], 'payload' => 'audioStream', ], 'PostTextRequest' => [ 'type' => 'structure', 'required' => [ 'botName', 'botAlias', 'userId', 'inputText', ], 'members' => [ 'botName' => [ 'shape' => 'BotName', 'location' => 'uri', 'locationName' => 'botName', ], 'botAlias' => [ 'shape' => 'BotAlias', 'location' => 'uri', 'locationName' => 'botAlias', ], 'userId' => [ 'shape' => 'UserId', 'location' => 'uri', 'locationName' => 'userId', ], 'sessionAttributes' => [ 'shape' => 'StringMap', ], 'requestAttributes' => [ 'shape' => 'StringMap', ], 'inputText' => [ 'shape' => 'Text', ], ], ], 'PostTextResponse' => [ 'type' => 'structure', 'members' => [ 'intentName' => [ 'shape' => 'IntentName', ], 'slots' => [ 'shape' => 'StringMap', ], 'sessionAttributes' => [ 'shape' => 'StringMap', ], 'message' => [ 'shape' => 'Text', ], 'messageFormat' => [ 'shape' => 'MessageFormatType', ], 'dialogState' => [ 'shape' => 'DialogState', ], 'slotToElicit' => [ 'shape' => 'String', ], 'responseCard' => [ 'shape' => 'ResponseCard', ], ], ], 'RequestTimeoutException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 408, ], 'exception' => true, ], 'ResponseCard' => [ 'type' => 'structure', 'members' => [ 'version' => [ 'shape' => 'String', ], 'contentType' => [ 'shape' => 'ContentType', ], 'genericAttachments' => [ 'shape' => 'genericAttachmentList', ], ], ], 'String' => [ 'type' => 'string', ], 'StringMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], 'sensitive' => true, ], 'StringUrlWithLength' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'StringWithLength' => [ 'type' => 'string', 'max' => 80, 'min' => 1, ], 'Text' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'sensitive' => true, ], 'UnsupportedMediaTypeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 415, ], 'exception' => true, ], 'UserId' => [ 'type' => 'string', 'max' => 100, 'min' => 2, 'pattern' => '[0-9a-zA-Z._:-]+', ], 'genericAttachmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GenericAttachment', ], 'max' => 10, 'min' => 0, ], 'listOfButtons' => [ 'type' => 'list', 'member' => [ 'shape' => 'Button', ], 'max' => 5, 'min' => 0, ], ],]; diff --git a/lib/aws/Aws/data/runtime.lex/2016-11-28/paginators-1.json.php b/lib/aws/Aws/data/runtime.lex/2016-11-28/paginators-1.json.php new file mode 100644 index 0000000..ff774c9 --- /dev/null +++ b/lib/aws/Aws/data/runtime.lex/2016-11-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/runtime.lex/2016-11-28/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/api-2.json.php b/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/api-2.json.php new file mode 100644 index 0000000..80d59bb --- /dev/null +++ b/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/runtime.sagemaker/2017-05-13/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-05-13', 'endpointPrefix' => 'runtime.sagemaker', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon SageMaker Runtime', 'serviceId' => 'SageMaker Runtime', 'signatureVersion' => 'v4', 'signingName' => 'sagemaker', 'uid' => 'runtime.sagemaker-2017-05-13', ], 'operations' => [ 'InvokeEndpoint' => [ 'name' => 'InvokeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/endpoints/{EndpointName}/invocations', ], 'input' => [ 'shape' => 'InvokeEndpointInput', ], 'output' => [ 'shape' => 'InvokeEndpointOutput', ], 'errors' => [ [ 'shape' => 'InternalFailure', ], [ 'shape' => 'ServiceUnavailable', ], [ 'shape' => 'ValidationError', ], [ 'shape' => 'ModelError', ], ], ], ], 'shapes' => [ 'BodyBlob' => [ 'type' => 'blob', 'max' => 5242880, 'sensitive' => true, ], 'CustomAttributesHeader' => [ 'type' => 'string', 'max' => 1024, 'sensitive' => true, ], 'EndpointName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'Header' => [ 'type' => 'string', 'max' => 1024, ], 'InternalFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'InvokeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'Body', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', 'location' => 'uri', 'locationName' => 'EndpointName', ], 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Accept' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Accept', ], 'CustomAttributes' => [ 'shape' => 'CustomAttributesHeader', 'location' => 'header', 'locationName' => 'X-Amzn-SageMaker-Custom-Attributes', ], ], 'payload' => 'Body', ], 'InvokeEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'Body', ], 'members' => [ 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'InvokedProductionVariant' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'x-Amzn-Invoked-Production-Variant', ], 'CustomAttributes' => [ 'shape' => 'CustomAttributesHeader', 'location' => 'header', 'locationName' => 'X-Amzn-SageMaker-Custom-Attributes', ], ], 'payload' => 'Body', ], 'LogStreamArn' => [ 'type' => 'string', ], 'Message' => [ 'type' => 'string', 'max' => 2048, ], 'ModelError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'OriginalStatusCode' => [ 'shape' => 'StatusCode', ], 'OriginalMessage' => [ 'shape' => 'Message', ], 'LogStreamArn' => [ 'shape' => 'LogStreamArn', ], ], 'error' => [ 'httpStatusCode' => 424, ], 'exception' => true, ], 'ServiceUnavailable' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'StatusCode' => [ 'type' => 'integer', ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, 'synthetic' => true, ], ],]; diff --git a/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/paginators-1.json.php b/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/paginators-1.json.php new file mode 100644 index 0000000..c8270bd --- /dev/null +++ b/lib/aws/Aws/data/runtime.sagemaker/2017-05-13/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/runtime.sagemaker/2017-05-13/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/s3/2006-03-01/api-2.json.php b/lib/aws/Aws/data/s3/2006-03-01/api-2.json.php new file mode 100644 index 0000000..c2778d7 --- /dev/null +++ b/lib/aws/Aws/data/s3/2006-03-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2006-03-01', 'checksumFormat' => 'md5', 'endpointPrefix' => 's3', 'globalEndpoint' => 's3.amazonaws.com', 'protocol' => 'rest-xml', 'serviceAbbreviation' => 'Amazon S3', 'serviceFullName' => 'Amazon Simple Storage Service', 'serviceId' => 'S3', 'signatureVersion' => 's3', 'uid' => 's3-2006-03-01', ], 'operations' => [ 'AbortMultipartUpload' => [ 'name' => 'AbortMultipartUpload', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'AbortMultipartUploadRequest', ], 'output' => [ 'shape' => 'AbortMultipartUploadOutput', ], 'errors' => [ [ 'shape' => 'NoSuchUpload', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html', ], 'CompleteMultipartUpload' => [ 'name' => 'CompleteMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'CompleteMultipartUploadRequest', ], 'output' => [ 'shape' => 'CompleteMultipartUploadOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html', ], 'CopyObject' => [ 'name' => 'CopyObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'CopyObjectRequest', ], 'output' => [ 'shape' => 'CopyObjectOutput', ], 'errors' => [ [ 'shape' => 'ObjectNotInActiveTierError', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html', 'alias' => 'PutObjectCopy', ], 'CreateBucket' => [ 'name' => 'CreateBucket', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'CreateBucketRequest', ], 'output' => [ 'shape' => 'CreateBucketOutput', ], 'errors' => [ [ 'shape' => 'BucketAlreadyExists', ], [ 'shape' => 'BucketAlreadyOwnedByYou', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html', 'alias' => 'PutBucket', ], 'CreateMultipartUpload' => [ 'name' => 'CreateMultipartUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}?uploads', ], 'input' => [ 'shape' => 'CreateMultipartUploadRequest', ], 'output' => [ 'shape' => 'CreateMultipartUploadOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html', 'alias' => 'InitiateMultipartUpload', ], 'DeleteBucket' => [ 'name' => 'DeleteBucket', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html', ], 'DeleteBucketAnalyticsConfiguration' => [ 'name' => 'DeleteBucketAnalyticsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?analytics', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketAnalyticsConfigurationRequest', ], ], 'DeleteBucketCors' => [ 'name' => 'DeleteBucketCors', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?cors', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html', ], 'DeleteBucketEncryption' => [ 'name' => 'DeleteBucketEncryption', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?encryption', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketEncryptionRequest', ], ], 'DeleteBucketInventoryConfiguration' => [ 'name' => 'DeleteBucketInventoryConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?inventory', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketInventoryConfigurationRequest', ], ], 'DeleteBucketLifecycle' => [ 'name' => 'DeleteBucketLifecycle', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?lifecycle', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html', ], 'DeleteBucketMetricsConfiguration' => [ 'name' => 'DeleteBucketMetricsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?metrics', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketMetricsConfigurationRequest', ], ], 'DeleteBucketPolicy' => [ 'name' => 'DeleteBucketPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?policy', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html', ], 'DeleteBucketReplication' => [ 'name' => 'DeleteBucketReplication', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?replication', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketReplicationRequest', ], ], 'DeleteBucketTagging' => [ 'name' => 'DeleteBucketTagging', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?tagging', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html', ], 'DeleteBucketWebsite' => [ 'name' => 'DeleteBucketWebsite', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?website', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html', ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteObjectRequest', ], 'output' => [ 'shape' => 'DeleteObjectOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html', ], 'DeleteObjectTagging' => [ 'name' => 'DeleteObjectTagging', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}?tagging', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteObjectTaggingRequest', ], 'output' => [ 'shape' => 'DeleteObjectTaggingOutput', ], ], 'DeleteObjects' => [ 'name' => 'DeleteObjects', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}?delete', ], 'input' => [ 'shape' => 'DeleteObjectsRequest', ], 'output' => [ 'shape' => 'DeleteObjectsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html', 'alias' => 'DeleteMultipleObjects', ], 'DeletePublicAccessBlock' => [ 'name' => 'DeletePublicAccessBlock', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?publicAccessBlock', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeletePublicAccessBlockRequest', ], ], 'GetBucketAccelerateConfiguration' => [ 'name' => 'GetBucketAccelerateConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?accelerate', ], 'input' => [ 'shape' => 'GetBucketAccelerateConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketAccelerateConfigurationOutput', ], ], 'GetBucketAcl' => [ 'name' => 'GetBucketAcl', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?acl', ], 'input' => [ 'shape' => 'GetBucketAclRequest', ], 'output' => [ 'shape' => 'GetBucketAclOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html', ], 'GetBucketAnalyticsConfiguration' => [ 'name' => 'GetBucketAnalyticsConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?analytics', ], 'input' => [ 'shape' => 'GetBucketAnalyticsConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketAnalyticsConfigurationOutput', ], ], 'GetBucketCors' => [ 'name' => 'GetBucketCors', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'GetBucketCorsRequest', ], 'output' => [ 'shape' => 'GetBucketCorsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html', ], 'GetBucketEncryption' => [ 'name' => 'GetBucketEncryption', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?encryption', ], 'input' => [ 'shape' => 'GetBucketEncryptionRequest', ], 'output' => [ 'shape' => 'GetBucketEncryptionOutput', ], ], 'GetBucketInventoryConfiguration' => [ 'name' => 'GetBucketInventoryConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?inventory', ], 'input' => [ 'shape' => 'GetBucketInventoryConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketInventoryConfigurationOutput', ], ], 'GetBucketLifecycle' => [ 'name' => 'GetBucketLifecycle', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'GetBucketLifecycleRequest', ], 'output' => [ 'shape' => 'GetBucketLifecycleOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html', 'deprecated' => true, ], 'GetBucketLifecycleConfiguration' => [ 'name' => 'GetBucketLifecycleConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'GetBucketLifecycleConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketLifecycleConfigurationOutput', ], ], 'GetBucketLocation' => [ 'name' => 'GetBucketLocation', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?location', ], 'input' => [ 'shape' => 'GetBucketLocationRequest', ], 'output' => [ 'shape' => 'GetBucketLocationOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html', ], 'GetBucketLogging' => [ 'name' => 'GetBucketLogging', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?logging', ], 'input' => [ 'shape' => 'GetBucketLoggingRequest', ], 'output' => [ 'shape' => 'GetBucketLoggingOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html', ], 'GetBucketMetricsConfiguration' => [ 'name' => 'GetBucketMetricsConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?metrics', ], 'input' => [ 'shape' => 'GetBucketMetricsConfigurationRequest', ], 'output' => [ 'shape' => 'GetBucketMetricsConfigurationOutput', ], ], 'GetBucketNotification' => [ 'name' => 'GetBucketNotification', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'GetBucketNotificationConfigurationRequest', ], 'output' => [ 'shape' => 'NotificationConfigurationDeprecated', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html', 'deprecated' => true, ], 'GetBucketNotificationConfiguration' => [ 'name' => 'GetBucketNotificationConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'GetBucketNotificationConfigurationRequest', ], 'output' => [ 'shape' => 'NotificationConfiguration', ], ], 'GetBucketPolicy' => [ 'name' => 'GetBucketPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'GetBucketPolicyRequest', ], 'output' => [ 'shape' => 'GetBucketPolicyOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html', ], 'GetBucketPolicyStatus' => [ 'name' => 'GetBucketPolicyStatus', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?policyStatus', ], 'input' => [ 'shape' => 'GetBucketPolicyStatusRequest', ], 'output' => [ 'shape' => 'GetBucketPolicyStatusOutput', ], ], 'GetBucketReplication' => [ 'name' => 'GetBucketReplication', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'GetBucketReplicationRequest', ], 'output' => [ 'shape' => 'GetBucketReplicationOutput', ], ], 'GetBucketRequestPayment' => [ 'name' => 'GetBucketRequestPayment', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?requestPayment', ], 'input' => [ 'shape' => 'GetBucketRequestPaymentRequest', ], 'output' => [ 'shape' => 'GetBucketRequestPaymentOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html', ], 'GetBucketTagging' => [ 'name' => 'GetBucketTagging', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'GetBucketTaggingRequest', ], 'output' => [ 'shape' => 'GetBucketTaggingOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETtagging.html', ], 'GetBucketVersioning' => [ 'name' => 'GetBucketVersioning', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?versioning', ], 'input' => [ 'shape' => 'GetBucketVersioningRequest', ], 'output' => [ 'shape' => 'GetBucketVersioningOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html', ], 'GetBucketWebsite' => [ 'name' => 'GetBucketWebsite', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'GetBucketWebsiteRequest', ], 'output' => [ 'shape' => 'GetBucketWebsiteOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html', ], 'GetObject' => [ 'name' => 'GetObject', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'GetObjectRequest', ], 'output' => [ 'shape' => 'GetObjectOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html', ], 'GetObjectAcl' => [ 'name' => 'GetObjectAcl', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?acl', ], 'input' => [ 'shape' => 'GetObjectAclRequest', ], 'output' => [ 'shape' => 'GetObjectAclOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html', ], 'GetObjectLegalHold' => [ 'name' => 'GetObjectLegalHold', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?legal-hold', ], 'input' => [ 'shape' => 'GetObjectLegalHoldRequest', ], 'output' => [ 'shape' => 'GetObjectLegalHoldOutput', ], ], 'GetObjectLockConfiguration' => [ 'name' => 'GetObjectLockConfiguration', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?object-lock', ], 'input' => [ 'shape' => 'GetObjectLockConfigurationRequest', ], 'output' => [ 'shape' => 'GetObjectLockConfigurationOutput', ], ], 'GetObjectRetention' => [ 'name' => 'GetObjectRetention', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?retention', ], 'input' => [ 'shape' => 'GetObjectRetentionRequest', ], 'output' => [ 'shape' => 'GetObjectRetentionOutput', ], ], 'GetObjectTagging' => [ 'name' => 'GetObjectTagging', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?tagging', ], 'input' => [ 'shape' => 'GetObjectTaggingRequest', ], 'output' => [ 'shape' => 'GetObjectTaggingOutput', ], ], 'GetObjectTorrent' => [ 'name' => 'GetObjectTorrent', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}?torrent', ], 'input' => [ 'shape' => 'GetObjectTorrentRequest', ], 'output' => [ 'shape' => 'GetObjectTorrentOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html', ], 'GetPublicAccessBlock' => [ 'name' => 'GetPublicAccessBlock', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?publicAccessBlock', ], 'input' => [ 'shape' => 'GetPublicAccessBlockRequest', ], 'output' => [ 'shape' => 'GetPublicAccessBlockOutput', ], ], 'HeadBucket' => [ 'name' => 'HeadBucket', 'http' => [ 'method' => 'HEAD', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'HeadBucketRequest', ], 'errors' => [ [ 'shape' => 'NoSuchBucket', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html', ], 'HeadObject' => [ 'name' => 'HeadObject', 'http' => [ 'method' => 'HEAD', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'HeadObjectRequest', ], 'output' => [ 'shape' => 'HeadObjectOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html', ], 'ListBucketAnalyticsConfigurations' => [ 'name' => 'ListBucketAnalyticsConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?analytics', ], 'input' => [ 'shape' => 'ListBucketAnalyticsConfigurationsRequest', ], 'output' => [ 'shape' => 'ListBucketAnalyticsConfigurationsOutput', ], ], 'ListBucketInventoryConfigurations' => [ 'name' => 'ListBucketInventoryConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?inventory', ], 'input' => [ 'shape' => 'ListBucketInventoryConfigurationsRequest', ], 'output' => [ 'shape' => 'ListBucketInventoryConfigurationsOutput', ], ], 'ListBucketMetricsConfigurations' => [ 'name' => 'ListBucketMetricsConfigurations', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?metrics', ], 'input' => [ 'shape' => 'ListBucketMetricsConfigurationsRequest', ], 'output' => [ 'shape' => 'ListBucketMetricsConfigurationsOutput', ], ], 'ListBuckets' => [ 'name' => 'ListBuckets', 'http' => [ 'method' => 'GET', 'requestUri' => '/', ], 'output' => [ 'shape' => 'ListBucketsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html', 'alias' => 'GetService', ], 'ListMultipartUploads' => [ 'name' => 'ListMultipartUploads', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?uploads', ], 'input' => [ 'shape' => 'ListMultipartUploadsRequest', ], 'output' => [ 'shape' => 'ListMultipartUploadsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html', ], 'ListObjectVersions' => [ 'name' => 'ListObjectVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?versions', ], 'input' => [ 'shape' => 'ListObjectVersionsRequest', ], 'output' => [ 'shape' => 'ListObjectVersionsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html', 'alias' => 'GetBucketObjectVersions', ], 'ListObjects' => [ 'name' => 'ListObjects', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}', ], 'input' => [ 'shape' => 'ListObjectsRequest', ], 'output' => [ 'shape' => 'ListObjectsOutput', ], 'errors' => [ [ 'shape' => 'NoSuchBucket', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html', 'alias' => 'GetBucket', ], 'ListObjectsV2' => [ 'name' => 'ListObjectsV2', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}?list-type=2', ], 'input' => [ 'shape' => 'ListObjectsV2Request', ], 'output' => [ 'shape' => 'ListObjectsV2Output', ], 'errors' => [ [ 'shape' => 'NoSuchBucket', ], ], ], 'ListParts' => [ 'name' => 'ListParts', 'http' => [ 'method' => 'GET', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'ListPartsRequest', ], 'output' => [ 'shape' => 'ListPartsOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html', ], 'PutBucketAccelerateConfiguration' => [ 'name' => 'PutBucketAccelerateConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?accelerate', ], 'input' => [ 'shape' => 'PutBucketAccelerateConfigurationRequest', ], ], 'PutBucketAcl' => [ 'name' => 'PutBucketAcl', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?acl', ], 'input' => [ 'shape' => 'PutBucketAclRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html', ], 'PutBucketAnalyticsConfiguration' => [ 'name' => 'PutBucketAnalyticsConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?analytics', ], 'input' => [ 'shape' => 'PutBucketAnalyticsConfigurationRequest', ], ], 'PutBucketCors' => [ 'name' => 'PutBucketCors', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'PutBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html', ], 'PutBucketEncryption' => [ 'name' => 'PutBucketEncryption', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?encryption', ], 'input' => [ 'shape' => 'PutBucketEncryptionRequest', ], ], 'PutBucketInventoryConfiguration' => [ 'name' => 'PutBucketInventoryConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?inventory', ], 'input' => [ 'shape' => 'PutBucketInventoryConfigurationRequest', ], ], 'PutBucketLifecycle' => [ 'name' => 'PutBucketLifecycle', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'PutBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html', 'deprecated' => true, ], 'PutBucketLifecycleConfiguration' => [ 'name' => 'PutBucketLifecycleConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'PutBucketLifecycleConfigurationRequest', ], ], 'PutBucketLogging' => [ 'name' => 'PutBucketLogging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?logging', ], 'input' => [ 'shape' => 'PutBucketLoggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html', ], 'PutBucketMetricsConfiguration' => [ 'name' => 'PutBucketMetricsConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?metrics', ], 'input' => [ 'shape' => 'PutBucketMetricsConfigurationRequest', ], ], 'PutBucketNotification' => [ 'name' => 'PutBucketNotification', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'PutBucketNotificationRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html', 'deprecated' => true, ], 'PutBucketNotificationConfiguration' => [ 'name' => 'PutBucketNotificationConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?notification', ], 'input' => [ 'shape' => 'PutBucketNotificationConfigurationRequest', ], ], 'PutBucketPolicy' => [ 'name' => 'PutBucketPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'PutBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html', ], 'PutBucketReplication' => [ 'name' => 'PutBucketReplication', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'PutBucketReplicationRequest', ], ], 'PutBucketRequestPayment' => [ 'name' => 'PutBucketRequestPayment', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?requestPayment', ], 'input' => [ 'shape' => 'PutBucketRequestPaymentRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html', ], 'PutBucketTagging' => [ 'name' => 'PutBucketTagging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'PutBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTtagging.html', ], 'PutBucketVersioning' => [ 'name' => 'PutBucketVersioning', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?versioning', ], 'input' => [ 'shape' => 'PutBucketVersioningRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html', ], 'PutBucketWebsite' => [ 'name' => 'PutBucketWebsite', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'PutBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html', ], 'PutObject' => [ 'name' => 'PutObject', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'PutObjectRequest', ], 'output' => [ 'shape' => 'PutObjectOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html', ], 'PutObjectAcl' => [ 'name' => 'PutObjectAcl', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?acl', ], 'input' => [ 'shape' => 'PutObjectAclRequest', ], 'output' => [ 'shape' => 'PutObjectAclOutput', ], 'errors' => [ [ 'shape' => 'NoSuchKey', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html', ], 'PutObjectLegalHold' => [ 'name' => 'PutObjectLegalHold', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?legal-hold', ], 'input' => [ 'shape' => 'PutObjectLegalHoldRequest', ], 'output' => [ 'shape' => 'PutObjectLegalHoldOutput', ], ], 'PutObjectLockConfiguration' => [ 'name' => 'PutObjectLockConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?object-lock', ], 'input' => [ 'shape' => 'PutObjectLockConfigurationRequest', ], 'output' => [ 'shape' => 'PutObjectLockConfigurationOutput', ], ], 'PutObjectRetention' => [ 'name' => 'PutObjectRetention', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?retention', ], 'input' => [ 'shape' => 'PutObjectRetentionRequest', ], 'output' => [ 'shape' => 'PutObjectRetentionOutput', ], ], 'PutObjectTagging' => [ 'name' => 'PutObjectTagging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?tagging', ], 'input' => [ 'shape' => 'PutObjectTaggingRequest', ], 'output' => [ 'shape' => 'PutObjectTaggingOutput', ], ], 'PutPublicAccessBlock' => [ 'name' => 'PutPublicAccessBlock', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}?publicAccessBlock', ], 'input' => [ 'shape' => 'PutPublicAccessBlockRequest', ], ], 'RestoreObject' => [ 'name' => 'RestoreObject', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}?restore', ], 'input' => [ 'shape' => 'RestoreObjectRequest', ], 'output' => [ 'shape' => 'RestoreObjectOutput', ], 'errors' => [ [ 'shape' => 'ObjectAlreadyInActiveTierError', ], ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html', 'alias' => 'PostObjectRestore', ], 'SelectObjectContent' => [ 'name' => 'SelectObjectContent', 'http' => [ 'method' => 'POST', 'requestUri' => '/{Bucket}/{Key+}?select&select-type=2', ], 'input' => [ 'shape' => 'SelectObjectContentRequest', 'locationName' => 'SelectObjectContentRequest', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'output' => [ 'shape' => 'SelectObjectContentOutput', ], ], 'UploadPart' => [ 'name' => 'UploadPart', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'UploadPartRequest', ], 'output' => [ 'shape' => 'UploadPartOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html', ], 'UploadPartCopy' => [ 'name' => 'UploadPartCopy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}', ], 'input' => [ 'shape' => 'UploadPartCopyRequest', ], 'output' => [ 'shape' => 'UploadPartCopyOutput', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html', ], ], 'shapes' => [ 'AbortDate' => [ 'type' => 'timestamp', ], 'AbortIncompleteMultipartUpload' => [ 'type' => 'structure', 'members' => [ 'DaysAfterInitiation' => [ 'shape' => 'DaysAfterInitiation', ], ], ], 'AbortMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'AbortMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'AbortRuleId' => [ 'type' => 'string', ], 'AccelerateConfiguration' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BucketAccelerateStatus', ], ], ], 'AcceptRanges' => [ 'type' => 'string', ], 'AccessControlPolicy' => [ 'type' => 'structure', 'members' => [ 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'AccessControlTranslation' => [ 'type' => 'structure', 'required' => [ 'Owner', ], 'members' => [ 'Owner' => [ 'shape' => 'OwnerOverride', ], ], ], 'AccountId' => [ 'type' => 'string', ], 'AllowQuotedRecordDelimiter' => [ 'type' => 'boolean', ], 'AllowedHeader' => [ 'type' => 'string', ], 'AllowedHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedHeader', ], 'flattened' => true, ], 'AllowedMethod' => [ 'type' => 'string', ], 'AllowedMethods' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedMethod', ], 'flattened' => true, ], 'AllowedOrigin' => [ 'type' => 'string', ], 'AllowedOrigins' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedOrigin', ], 'flattened' => true, ], 'AnalyticsAndOperator' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tags' => [ 'shape' => 'TagSet', 'flattened' => true, 'locationName' => 'Tag', ], ], ], 'AnalyticsConfiguration' => [ 'type' => 'structure', 'required' => [ 'Id', 'StorageClassAnalysis', ], 'members' => [ 'Id' => [ 'shape' => 'AnalyticsId', ], 'Filter' => [ 'shape' => 'AnalyticsFilter', ], 'StorageClassAnalysis' => [ 'shape' => 'StorageClassAnalysis', ], ], ], 'AnalyticsConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AnalyticsConfiguration', ], 'flattened' => true, ], 'AnalyticsExportDestination' => [ 'type' => 'structure', 'required' => [ 'S3BucketDestination', ], 'members' => [ 'S3BucketDestination' => [ 'shape' => 'AnalyticsS3BucketDestination', ], ], ], 'AnalyticsFilter' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tag' => [ 'shape' => 'Tag', ], 'And' => [ 'shape' => 'AnalyticsAndOperator', ], ], ], 'AnalyticsId' => [ 'type' => 'string', ], 'AnalyticsS3BucketDestination' => [ 'type' => 'structure', 'required' => [ 'Format', 'Bucket', ], 'members' => [ 'Format' => [ 'shape' => 'AnalyticsS3ExportFileFormat', ], 'BucketAccountId' => [ 'shape' => 'AccountId', ], 'Bucket' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], ], ], 'AnalyticsS3ExportFileFormat' => [ 'type' => 'string', 'enum' => [ 'CSV', ], ], 'Body' => [ 'type' => 'blob', ], 'Bucket' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'BucketName', ], 'CreationDate' => [ 'shape' => 'CreationDate', ], ], ], 'BucketAccelerateStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Suspended', ], ], 'BucketAlreadyExists' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BucketAlreadyOwnedByYou' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'BucketCannedACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'authenticated-read', ], ], 'BucketLifecycleConfiguration' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'LifecycleRules', 'locationName' => 'Rule', ], ], ], 'BucketLocationConstraint' => [ 'type' => 'string', 'enum' => [ 'EU', 'eu-west-1', 'us-west-1', 'us-west-2', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1', 'cn-north-1', 'eu-central-1', ], ], 'BucketLoggingStatus' => [ 'type' => 'structure', 'members' => [ 'LoggingEnabled' => [ 'shape' => 'LoggingEnabled', ], ], ], 'BucketLogsPermission' => [ 'type' => 'string', 'enum' => [ 'FULL_CONTROL', 'READ', 'WRITE', ], ], 'BucketName' => [ 'type' => 'string', ], 'BucketVersioningStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Suspended', ], ], 'Buckets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Bucket', 'locationName' => 'Bucket', ], ], 'BypassGovernanceRetention' => [ 'type' => 'boolean', ], 'BytesProcessed' => [ 'type' => 'long', ], 'BytesReturned' => [ 'type' => 'long', ], 'BytesScanned' => [ 'type' => 'long', ], 'CORSConfiguration' => [ 'type' => 'structure', 'required' => [ 'CORSRules', ], 'members' => [ 'CORSRules' => [ 'shape' => 'CORSRules', 'locationName' => 'CORSRule', ], ], ], 'CORSRule' => [ 'type' => 'structure', 'required' => [ 'AllowedMethods', 'AllowedOrigins', ], 'members' => [ 'AllowedHeaders' => [ 'shape' => 'AllowedHeaders', 'locationName' => 'AllowedHeader', ], 'AllowedMethods' => [ 'shape' => 'AllowedMethods', 'locationName' => 'AllowedMethod', ], 'AllowedOrigins' => [ 'shape' => 'AllowedOrigins', 'locationName' => 'AllowedOrigin', ], 'ExposeHeaders' => [ 'shape' => 'ExposeHeaders', 'locationName' => 'ExposeHeader', ], 'MaxAgeSeconds' => [ 'shape' => 'MaxAgeSeconds', ], ], ], 'CORSRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'CORSRule', ], 'flattened' => true, ], 'CSVInput' => [ 'type' => 'structure', 'members' => [ 'FileHeaderInfo' => [ 'shape' => 'FileHeaderInfo', ], 'Comments' => [ 'shape' => 'Comments', ], 'QuoteEscapeCharacter' => [ 'shape' => 'QuoteEscapeCharacter', ], 'RecordDelimiter' => [ 'shape' => 'RecordDelimiter', ], 'FieldDelimiter' => [ 'shape' => 'FieldDelimiter', ], 'QuoteCharacter' => [ 'shape' => 'QuoteCharacter', ], 'AllowQuotedRecordDelimiter' => [ 'shape' => 'AllowQuotedRecordDelimiter', ], ], ], 'CSVOutput' => [ 'type' => 'structure', 'members' => [ 'QuoteFields' => [ 'shape' => 'QuoteFields', ], 'QuoteEscapeCharacter' => [ 'shape' => 'QuoteEscapeCharacter', ], 'RecordDelimiter' => [ 'shape' => 'RecordDelimiter', ], 'FieldDelimiter' => [ 'shape' => 'FieldDelimiter', ], 'QuoteCharacter' => [ 'shape' => 'QuoteCharacter', ], ], ], 'CacheControl' => [ 'type' => 'string', ], 'CloudFunction' => [ 'type' => 'string', ], 'CloudFunctionConfiguration' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'CloudFunction' => [ 'shape' => 'CloudFunction', ], 'InvocationRole' => [ 'shape' => 'CloudFunctionInvocationRole', ], ], ], 'CloudFunctionInvocationRole' => [ 'type' => 'string', ], 'Code' => [ 'type' => 'string', ], 'Comments' => [ 'type' => 'string', ], 'CommonPrefix' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], ], ], 'CommonPrefixList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommonPrefix', ], 'flattened' => true, ], 'CompleteMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'Location', ], 'Bucket' => [ 'shape' => 'BucketName', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'ETag' => [ 'shape' => 'ETag', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'CompleteMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MultipartUpload' => [ 'shape' => 'CompletedMultipartUpload', 'locationName' => 'CompleteMultipartUpload', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'MultipartUpload', ], 'CompletedMultipartUpload' => [ 'type' => 'structure', 'members' => [ 'Parts' => [ 'shape' => 'CompletedPartList', 'locationName' => 'Part', ], ], ], 'CompletedPart' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'PartNumber' => [ 'shape' => 'PartNumber', ], ], ], 'CompletedPartList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompletedPart', ], 'flattened' => true, ], 'CompressionType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'GZIP', 'BZIP2', ], ], 'Condition' => [ 'type' => 'structure', 'members' => [ 'HttpErrorCodeReturnedEquals' => [ 'shape' => 'HttpErrorCodeReturnedEquals', ], 'KeyPrefixEquals' => [ 'shape' => 'KeyPrefixEquals', ], ], ], 'ConfirmRemoveSelfBucketAccess' => [ 'type' => 'boolean', ], 'ContentDisposition' => [ 'type' => 'string', ], 'ContentEncoding' => [ 'type' => 'string', ], 'ContentLanguage' => [ 'type' => 'string', ], 'ContentLength' => [ 'type' => 'long', ], 'ContentMD5' => [ 'type' => 'string', ], 'ContentRange' => [ 'type' => 'string', ], 'ContentType' => [ 'type' => 'string', ], 'ContinuationEvent' => [ 'type' => 'structure', 'members' => [], 'event' => true, ], 'CopyObjectOutput' => [ 'type' => 'structure', 'members' => [ 'CopyObjectResult' => [ 'shape' => 'CopyObjectResult', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'CopySourceVersionId' => [ 'shape' => 'CopySourceVersionId', 'location' => 'header', 'locationName' => 'x-amz-copy-source-version-id', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'CopyObjectResult', ], 'CopyObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CopySource', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'CopySource' => [ 'shape' => 'CopySource', 'location' => 'header', 'locationName' => 'x-amz-copy-source', ], 'CopySourceIfMatch' => [ 'shape' => 'CopySourceIfMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-match', ], 'CopySourceIfModifiedSince' => [ 'shape' => 'CopySourceIfModifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-modified-since', ], 'CopySourceIfNoneMatch' => [ 'shape' => 'CopySourceIfNoneMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-none-match', ], 'CopySourceIfUnmodifiedSince' => [ 'shape' => 'CopySourceIfUnmodifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-unmodified-since', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'MetadataDirective' => [ 'shape' => 'MetadataDirective', 'location' => 'header', 'locationName' => 'x-amz-metadata-directive', ], 'TaggingDirective' => [ 'shape' => 'TaggingDirective', 'location' => 'header', 'locationName' => 'x-amz-tagging-directive', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'CopySourceSSECustomerAlgorithm' => [ 'shape' => 'CopySourceSSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-algorithm', ], 'CopySourceSSECustomerKey' => [ 'shape' => 'CopySourceSSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key', ], 'CopySourceSSECustomerKeyMD5' => [ 'shape' => 'CopySourceSSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'Tagging' => [ 'shape' => 'TaggingHeader', 'location' => 'header', 'locationName' => 'x-amz-tagging', ], 'ObjectLockMode' => [ 'shape' => 'ObjectLockMode', 'location' => 'header', 'locationName' => 'x-amz-object-lock-mode', ], 'ObjectLockRetainUntilDate' => [ 'shape' => 'ObjectLockRetainUntilDate', 'location' => 'header', 'locationName' => 'x-amz-object-lock-retain-until-date', ], 'ObjectLockLegalHoldStatus' => [ 'shape' => 'ObjectLockLegalHoldStatus', 'location' => 'header', 'locationName' => 'x-amz-object-lock-legal-hold', ], ], ], 'CopyObjectResult' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'CopyPartResult' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'CopySource' => [ 'type' => 'string', 'pattern' => '\\/.+\\/.+', ], 'CopySourceIfMatch' => [ 'type' => 'string', ], 'CopySourceIfModifiedSince' => [ 'type' => 'timestamp', ], 'CopySourceIfNoneMatch' => [ 'type' => 'string', ], 'CopySourceIfUnmodifiedSince' => [ 'type' => 'timestamp', ], 'CopySourceRange' => [ 'type' => 'string', ], 'CopySourceSSECustomerAlgorithm' => [ 'type' => 'string', ], 'CopySourceSSECustomerKey' => [ 'type' => 'string', 'sensitive' => true, ], 'CopySourceSSECustomerKeyMD5' => [ 'type' => 'string', ], 'CopySourceVersionId' => [ 'type' => 'string', ], 'CreateBucketConfiguration' => [ 'type' => 'structure', 'members' => [ 'LocationConstraint' => [ 'shape' => 'BucketLocationConstraint', ], ], ], 'CreateBucketOutput' => [ 'type' => 'structure', 'members' => [ 'Location' => [ 'shape' => 'Location', 'location' => 'header', 'locationName' => 'Location', ], ], ], 'CreateBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'ACL' => [ 'shape' => 'BucketCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CreateBucketConfiguration' => [ 'shape' => 'CreateBucketConfiguration', 'locationName' => 'CreateBucketConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'ObjectLockEnabledForBucket' => [ 'shape' => 'ObjectLockEnabledForBucket', 'location' => 'header', 'locationName' => 'x-amz-bucket-object-lock-enabled', ], ], 'payload' => 'CreateBucketConfiguration', ], 'CreateMultipartUploadOutput' => [ 'type' => 'structure', 'members' => [ 'AbortDate' => [ 'shape' => 'AbortDate', 'location' => 'header', 'locationName' => 'x-amz-abort-date', ], 'AbortRuleId' => [ 'shape' => 'AbortRuleId', 'location' => 'header', 'locationName' => 'x-amz-abort-rule-id', ], 'Bucket' => [ 'shape' => 'BucketName', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'CreateMultipartUploadRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'Tagging' => [ 'shape' => 'TaggingHeader', 'location' => 'header', 'locationName' => 'x-amz-tagging', ], 'ObjectLockMode' => [ 'shape' => 'ObjectLockMode', 'location' => 'header', 'locationName' => 'x-amz-object-lock-mode', ], 'ObjectLockRetainUntilDate' => [ 'shape' => 'ObjectLockRetainUntilDate', 'location' => 'header', 'locationName' => 'x-amz-object-lock-retain-until-date', ], 'ObjectLockLegalHoldStatus' => [ 'shape' => 'ObjectLockLegalHoldStatus', 'location' => 'header', 'locationName' => 'x-amz-object-lock-legal-hold', ], ], ], 'CreationDate' => [ 'type' => 'timestamp', ], 'Date' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'Days' => [ 'type' => 'integer', ], 'DaysAfterInitiation' => [ 'type' => 'integer', ], 'DefaultRetention' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'ObjectLockRetentionMode', ], 'Days' => [ 'shape' => 'Days', ], 'Years' => [ 'shape' => 'Years', ], ], ], 'Delete' => [ 'type' => 'structure', 'required' => [ 'Objects', ], 'members' => [ 'Objects' => [ 'shape' => 'ObjectIdentifierList', 'locationName' => 'Object', ], 'Quiet' => [ 'shape' => 'Quiet', ], ], ], 'DeleteBucketAnalyticsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'AnalyticsId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'DeleteBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketInventoryConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'InventoryId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'DeleteBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketMetricsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'MetricsId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'DeleteBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeleteMarker' => [ 'type' => 'boolean', ], 'DeleteMarkerEntry' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'IsLatest' => [ 'shape' => 'IsLatest', ], 'LastModified' => [ 'shape' => 'LastModified', ], ], ], 'DeleteMarkerReplication' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'DeleteMarkerReplicationStatus', ], ], ], 'DeleteMarkerReplicationStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'DeleteMarkerVersionId' => [ 'type' => 'string', ], 'DeleteMarkers' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteMarkerEntry', ], 'flattened' => true, ], 'DeleteObjectOutput' => [ 'type' => 'structure', 'members' => [ 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'DeleteObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'BypassGovernanceRetention' => [ 'shape' => 'BypassGovernanceRetention', 'location' => 'header', 'locationName' => 'x-amz-bypass-governance-retention', ], ], ], 'DeleteObjectTaggingOutput' => [ 'type' => 'structure', 'members' => [ 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], ], ], 'DeleteObjectTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], ], ], 'DeleteObjectsOutput' => [ 'type' => 'structure', 'members' => [ 'Deleted' => [ 'shape' => 'DeletedObjects', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'Errors' => [ 'shape' => 'Errors', 'locationName' => 'Error', ], ], ], 'DeleteObjectsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Delete', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delete' => [ 'shape' => 'Delete', 'locationName' => 'Delete', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'BypassGovernanceRetention' => [ 'shape' => 'BypassGovernanceRetention', 'location' => 'header', 'locationName' => 'x-amz-bypass-governance-retention', ], ], 'payload' => 'Delete', ], 'DeletePublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'DeletedObject' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'DeleteMarker' => [ 'shape' => 'DeleteMarker', ], 'DeleteMarkerVersionId' => [ 'shape' => 'DeleteMarkerVersionId', ], ], ], 'DeletedObjects' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeletedObject', ], 'flattened' => true, ], 'Delimiter' => [ 'type' => 'string', ], 'Description' => [ 'type' => 'string', ], 'Destination' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'Account' => [ 'shape' => 'AccountId', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'AccessControlTranslation' => [ 'shape' => 'AccessControlTranslation', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], 'DisplayName' => [ 'type' => 'string', ], 'ETag' => [ 'type' => 'string', ], 'EmailAddress' => [ 'type' => 'string', ], 'EnableRequestProgress' => [ 'type' => 'boolean', ], 'EncodingType' => [ 'type' => 'string', 'enum' => [ 'url', ], ], 'Encryption' => [ 'type' => 'structure', 'required' => [ 'EncryptionType', ], 'members' => [ 'EncryptionType' => [ 'shape' => 'ServerSideEncryption', ], 'KMSKeyId' => [ 'shape' => 'SSEKMSKeyId', ], 'KMSContext' => [ 'shape' => 'KMSContext', ], ], ], 'EncryptionConfiguration' => [ 'type' => 'structure', 'members' => [ 'ReplicaKmsKeyID' => [ 'shape' => 'ReplicaKmsKeyID', ], ], ], 'EndEvent' => [ 'type' => 'structure', 'members' => [], 'event' => true, ], 'Error' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'Code' => [ 'shape' => 'Code', ], 'Message' => [ 'shape' => 'Message', ], ], ], 'ErrorDocument' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], ], ], 'Errors' => [ 'type' => 'list', 'member' => [ 'shape' => 'Error', ], 'flattened' => true, ], 'Event' => [ 'type' => 'string', 'enum' => [ 's3:ReducedRedundancyLostObject', 's3:ObjectCreated:*', 's3:ObjectCreated:Put', 's3:ObjectCreated:Post', 's3:ObjectCreated:Copy', 's3:ObjectCreated:CompleteMultipartUpload', 's3:ObjectRemoved:*', 's3:ObjectRemoved:Delete', 's3:ObjectRemoved:DeleteMarkerCreated', 's3:ObjectRestore:Post', 's3:ObjectRestore:Completed', ], ], 'EventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Event', ], 'flattened' => true, ], 'Expiration' => [ 'type' => 'string', ], 'ExpirationStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'ExpiredObjectDeleteMarker' => [ 'type' => 'boolean', ], 'Expires' => [ 'type' => 'timestamp', ], 'ExposeHeader' => [ 'type' => 'string', ], 'ExposeHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExposeHeader', ], 'flattened' => true, ], 'Expression' => [ 'type' => 'string', ], 'ExpressionType' => [ 'type' => 'string', 'enum' => [ 'SQL', ], ], 'FetchOwner' => [ 'type' => 'boolean', ], 'FieldDelimiter' => [ 'type' => 'string', ], 'FileHeaderInfo' => [ 'type' => 'string', 'enum' => [ 'USE', 'IGNORE', 'NONE', ], ], 'FilterRule' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterRuleName', ], 'Value' => [ 'shape' => 'FilterRuleValue', ], ], ], 'FilterRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterRule', ], 'flattened' => true, ], 'FilterRuleName' => [ 'type' => 'string', 'enum' => [ 'prefix', 'suffix', ], ], 'FilterRuleValue' => [ 'type' => 'string', ], 'GetBucketAccelerateConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BucketAccelerateStatus', ], ], ], 'GetBucketAccelerateConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketAclOutput' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], ], ], 'GetBucketAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketAnalyticsConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'AnalyticsConfiguration' => [ 'shape' => 'AnalyticsConfiguration', ], ], 'payload' => 'AnalyticsConfiguration', ], 'GetBucketAnalyticsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'AnalyticsId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'GetBucketCorsOutput' => [ 'type' => 'structure', 'members' => [ 'CORSRules' => [ 'shape' => 'CORSRules', 'locationName' => 'CORSRule', ], ], ], 'GetBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketEncryptionOutput' => [ 'type' => 'structure', 'members' => [ 'ServerSideEncryptionConfiguration' => [ 'shape' => 'ServerSideEncryptionConfiguration', ], ], 'payload' => 'ServerSideEncryptionConfiguration', ], 'GetBucketEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketInventoryConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'InventoryConfiguration' => [ 'shape' => 'InventoryConfiguration', ], ], 'payload' => 'InventoryConfiguration', ], 'GetBucketInventoryConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'InventoryId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'GetBucketLifecycleConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'LifecycleRules', 'locationName' => 'Rule', ], ], ], 'GetBucketLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLifecycleOutput' => [ 'type' => 'structure', 'members' => [ 'Rules' => [ 'shape' => 'Rules', 'locationName' => 'Rule', ], ], ], 'GetBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLocationOutput' => [ 'type' => 'structure', 'members' => [ 'LocationConstraint' => [ 'shape' => 'BucketLocationConstraint', ], ], ], 'GetBucketLocationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketLoggingOutput' => [ 'type' => 'structure', 'members' => [ 'LoggingEnabled' => [ 'shape' => 'LoggingEnabled', ], ], ], 'GetBucketLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketMetricsConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'MetricsConfiguration' => [ 'shape' => 'MetricsConfiguration', ], ], 'payload' => 'MetricsConfiguration', ], 'GetBucketMetricsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'MetricsId', 'location' => 'querystring', 'locationName' => 'id', ], ], ], 'GetBucketNotificationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketPolicyOutput' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'Policy', ], ], 'payload' => 'Policy', ], 'GetBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketPolicyStatusOutput' => [ 'type' => 'structure', 'members' => [ 'PolicyStatus' => [ 'shape' => 'PolicyStatus', ], ], 'payload' => 'PolicyStatus', ], 'GetBucketPolicyStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketReplicationOutput' => [ 'type' => 'structure', 'members' => [ 'ReplicationConfiguration' => [ 'shape' => 'ReplicationConfiguration', ], ], 'payload' => 'ReplicationConfiguration', ], 'GetBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketRequestPaymentOutput' => [ 'type' => 'structure', 'members' => [ 'Payer' => [ 'shape' => 'Payer', ], ], ], 'GetBucketRequestPaymentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketTaggingOutput' => [ 'type' => 'structure', 'required' => [ 'TagSet', ], 'members' => [ 'TagSet' => [ 'shape' => 'TagSet', ], ], ], 'GetBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketVersioningOutput' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'BucketVersioningStatus', ], 'MFADelete' => [ 'shape' => 'MFADeleteStatus', 'locationName' => 'MfaDelete', ], ], ], 'GetBucketVersioningRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetBucketWebsiteOutput' => [ 'type' => 'structure', 'members' => [ 'RedirectAllRequestsTo' => [ 'shape' => 'RedirectAllRequestsTo', ], 'IndexDocument' => [ 'shape' => 'IndexDocument', ], 'ErrorDocument' => [ 'shape' => 'ErrorDocument', ], 'RoutingRules' => [ 'shape' => 'RoutingRules', ], ], ], 'GetBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetObjectAclOutput' => [ 'type' => 'structure', 'members' => [ 'Owner' => [ 'shape' => 'Owner', ], 'Grants' => [ 'shape' => 'Grants', 'locationName' => 'AccessControlList', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'GetObjectAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetObjectLegalHoldOutput' => [ 'type' => 'structure', 'members' => [ 'LegalHold' => [ 'shape' => 'ObjectLockLegalHold', ], ], 'payload' => 'LegalHold', ], 'GetObjectLegalHoldRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetObjectLockConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'ObjectLockConfiguration' => [ 'shape' => 'ObjectLockConfiguration', ], ], 'payload' => 'ObjectLockConfiguration', ], 'GetObjectLockConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GetObjectOutput' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'AcceptRanges' => [ 'shape' => 'AcceptRanges', 'location' => 'header', 'locationName' => 'accept-ranges', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'Restore' => [ 'shape' => 'Restore', 'location' => 'header', 'locationName' => 'x-amz-restore', ], 'LastModified' => [ 'shape' => 'LastModified', 'location' => 'header', 'locationName' => 'Last-Modified', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'MissingMeta' => [ 'shape' => 'MissingMeta', 'location' => 'header', 'locationName' => 'x-amz-missing-meta', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentRange' => [ 'shape' => 'ContentRange', 'location' => 'header', 'locationName' => 'Content-Range', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'ReplicationStatus' => [ 'shape' => 'ReplicationStatus', 'location' => 'header', 'locationName' => 'x-amz-replication-status', ], 'PartsCount' => [ 'shape' => 'PartsCount', 'location' => 'header', 'locationName' => 'x-amz-mp-parts-count', ], 'TagCount' => [ 'shape' => 'TagCount', 'location' => 'header', 'locationName' => 'x-amz-tagging-count', ], 'ObjectLockMode' => [ 'shape' => 'ObjectLockMode', 'location' => 'header', 'locationName' => 'x-amz-object-lock-mode', ], 'ObjectLockRetainUntilDate' => [ 'shape' => 'ObjectLockRetainUntilDate', 'location' => 'header', 'locationName' => 'x-amz-object-lock-retain-until-date', ], 'ObjectLockLegalHoldStatus' => [ 'shape' => 'ObjectLockLegalHoldStatus', 'location' => 'header', 'locationName' => 'x-amz-object-lock-legal-hold', ], ], 'payload' => 'Body', ], 'GetObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'IfMatch' => [ 'shape' => 'IfMatch', 'location' => 'header', 'locationName' => 'If-Match', ], 'IfModifiedSince' => [ 'shape' => 'IfModifiedSince', 'location' => 'header', 'locationName' => 'If-Modified-Since', ], 'IfNoneMatch' => [ 'shape' => 'IfNoneMatch', 'location' => 'header', 'locationName' => 'If-None-Match', ], 'IfUnmodifiedSince' => [ 'shape' => 'IfUnmodifiedSince', 'location' => 'header', 'locationName' => 'If-Unmodified-Since', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Range' => [ 'shape' => 'Range', 'location' => 'header', 'locationName' => 'Range', ], 'ResponseCacheControl' => [ 'shape' => 'ResponseCacheControl', 'location' => 'querystring', 'locationName' => 'response-cache-control', ], 'ResponseContentDisposition' => [ 'shape' => 'ResponseContentDisposition', 'location' => 'querystring', 'locationName' => 'response-content-disposition', ], 'ResponseContentEncoding' => [ 'shape' => 'ResponseContentEncoding', 'location' => 'querystring', 'locationName' => 'response-content-encoding', ], 'ResponseContentLanguage' => [ 'shape' => 'ResponseContentLanguage', 'location' => 'querystring', 'locationName' => 'response-content-language', ], 'ResponseContentType' => [ 'shape' => 'ResponseContentType', 'location' => 'querystring', 'locationName' => 'response-content-type', ], 'ResponseExpires' => [ 'shape' => 'ResponseExpires', 'location' => 'querystring', 'locationName' => 'response-expires', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], ], ], 'GetObjectRetentionOutput' => [ 'type' => 'structure', 'members' => [ 'Retention' => [ 'shape' => 'ObjectLockRetention', ], ], 'payload' => 'Retention', ], 'GetObjectRetentionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetObjectTaggingOutput' => [ 'type' => 'structure', 'required' => [ 'TagSet', ], 'members' => [ 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'TagSet' => [ 'shape' => 'TagSet', ], ], ], 'GetObjectTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], ], ], 'GetObjectTorrentOutput' => [ 'type' => 'structure', 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'Body', ], 'GetObjectTorrentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'GetPublicAccessBlockOutput' => [ 'type' => 'structure', 'members' => [ 'PublicAccessBlockConfiguration' => [ 'shape' => 'PublicAccessBlockConfiguration', ], ], 'payload' => 'PublicAccessBlockConfiguration', ], 'GetPublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'GlacierJobParameters' => [ 'type' => 'structure', 'required' => [ 'Tier', ], 'members' => [ 'Tier' => [ 'shape' => 'Tier', ], ], ], 'Grant' => [ 'type' => 'structure', 'members' => [ 'Grantee' => [ 'shape' => 'Grantee', ], 'Permission' => [ 'shape' => 'Permission', ], ], ], 'GrantFullControl' => [ 'type' => 'string', ], 'GrantRead' => [ 'type' => 'string', ], 'GrantReadACP' => [ 'type' => 'string', ], 'GrantWrite' => [ 'type' => 'string', ], 'GrantWriteACP' => [ 'type' => 'string', ], 'Grantee' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'DisplayName' => [ 'shape' => 'DisplayName', ], 'EmailAddress' => [ 'shape' => 'EmailAddress', ], 'ID' => [ 'shape' => 'ID', ], 'Type' => [ 'shape' => 'Type', 'locationName' => 'xsi:type', 'xmlAttribute' => true, ], 'URI' => [ 'shape' => 'URI', ], ], 'xmlNamespace' => [ 'prefix' => 'xsi', 'uri' => 'http://www.w3.org/2001/XMLSchema-instance', ], ], 'Grants' => [ 'type' => 'list', 'member' => [ 'shape' => 'Grant', 'locationName' => 'Grant', ], ], 'HeadBucketRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], ], ], 'HeadObjectOutput' => [ 'type' => 'structure', 'members' => [ 'DeleteMarker' => [ 'shape' => 'DeleteMarker', 'location' => 'header', 'locationName' => 'x-amz-delete-marker', ], 'AcceptRanges' => [ 'shape' => 'AcceptRanges', 'location' => 'header', 'locationName' => 'accept-ranges', ], 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'Restore' => [ 'shape' => 'Restore', 'location' => 'header', 'locationName' => 'x-amz-restore', ], 'LastModified' => [ 'shape' => 'LastModified', 'location' => 'header', 'locationName' => 'Last-Modified', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'MissingMeta' => [ 'shape' => 'MissingMeta', 'location' => 'header', 'locationName' => 'x-amz-missing-meta', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'ReplicationStatus' => [ 'shape' => 'ReplicationStatus', 'location' => 'header', 'locationName' => 'x-amz-replication-status', ], 'PartsCount' => [ 'shape' => 'PartsCount', 'location' => 'header', 'locationName' => 'x-amz-mp-parts-count', ], 'ObjectLockMode' => [ 'shape' => 'ObjectLockMode', 'location' => 'header', 'locationName' => 'x-amz-object-lock-mode', ], 'ObjectLockRetainUntilDate' => [ 'shape' => 'ObjectLockRetainUntilDate', 'location' => 'header', 'locationName' => 'x-amz-object-lock-retain-until-date', ], 'ObjectLockLegalHoldStatus' => [ 'shape' => 'ObjectLockLegalHoldStatus', 'location' => 'header', 'locationName' => 'x-amz-object-lock-legal-hold', ], ], ], 'HeadObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'IfMatch' => [ 'shape' => 'IfMatch', 'location' => 'header', 'locationName' => 'If-Match', ], 'IfModifiedSince' => [ 'shape' => 'IfModifiedSince', 'location' => 'header', 'locationName' => 'If-Modified-Since', ], 'IfNoneMatch' => [ 'shape' => 'IfNoneMatch', 'location' => 'header', 'locationName' => 'If-None-Match', ], 'IfUnmodifiedSince' => [ 'shape' => 'IfUnmodifiedSince', 'location' => 'header', 'locationName' => 'If-Unmodified-Since', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Range' => [ 'shape' => 'Range', 'location' => 'header', 'locationName' => 'Range', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], ], ], 'HostName' => [ 'type' => 'string', ], 'HttpErrorCodeReturnedEquals' => [ 'type' => 'string', ], 'HttpRedirectCode' => [ 'type' => 'string', ], 'ID' => [ 'type' => 'string', ], 'IfMatch' => [ 'type' => 'string', ], 'IfModifiedSince' => [ 'type' => 'timestamp', ], 'IfNoneMatch' => [ 'type' => 'string', ], 'IfUnmodifiedSince' => [ 'type' => 'timestamp', ], 'IndexDocument' => [ 'type' => 'structure', 'required' => [ 'Suffix', ], 'members' => [ 'Suffix' => [ 'shape' => 'Suffix', ], ], ], 'Initiated' => [ 'type' => 'timestamp', ], 'Initiator' => [ 'type' => 'structure', 'members' => [ 'ID' => [ 'shape' => 'ID', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], ], ], 'InputSerialization' => [ 'type' => 'structure', 'members' => [ 'CSV' => [ 'shape' => 'CSVInput', ], 'CompressionType' => [ 'shape' => 'CompressionType', ], 'JSON' => [ 'shape' => 'JSONInput', ], 'Parquet' => [ 'shape' => 'ParquetInput', ], ], ], 'InventoryConfiguration' => [ 'type' => 'structure', 'required' => [ 'Destination', 'IsEnabled', 'Id', 'IncludedObjectVersions', 'Schedule', ], 'members' => [ 'Destination' => [ 'shape' => 'InventoryDestination', ], 'IsEnabled' => [ 'shape' => 'IsEnabled', ], 'Filter' => [ 'shape' => 'InventoryFilter', ], 'Id' => [ 'shape' => 'InventoryId', ], 'IncludedObjectVersions' => [ 'shape' => 'InventoryIncludedObjectVersions', ], 'OptionalFields' => [ 'shape' => 'InventoryOptionalFields', ], 'Schedule' => [ 'shape' => 'InventorySchedule', ], ], ], 'InventoryConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryConfiguration', ], 'flattened' => true, ], 'InventoryDestination' => [ 'type' => 'structure', 'required' => [ 'S3BucketDestination', ], 'members' => [ 'S3BucketDestination' => [ 'shape' => 'InventoryS3BucketDestination', ], ], ], 'InventoryEncryption' => [ 'type' => 'structure', 'members' => [ 'SSES3' => [ 'shape' => 'SSES3', 'locationName' => 'SSE-S3', ], 'SSEKMS' => [ 'shape' => 'SSEKMS', 'locationName' => 'SSE-KMS', ], ], ], 'InventoryFilter' => [ 'type' => 'structure', 'required' => [ 'Prefix', ], 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], ], ], 'InventoryFormat' => [ 'type' => 'string', 'enum' => [ 'CSV', 'ORC', 'Parquet', ], ], 'InventoryFrequency' => [ 'type' => 'string', 'enum' => [ 'Daily', 'Weekly', ], ], 'InventoryId' => [ 'type' => 'string', ], 'InventoryIncludedObjectVersions' => [ 'type' => 'string', 'enum' => [ 'All', 'Current', ], ], 'InventoryOptionalField' => [ 'type' => 'string', 'enum' => [ 'Size', 'LastModifiedDate', 'StorageClass', 'ETag', 'IsMultipartUploaded', 'ReplicationStatus', 'EncryptionStatus', 'ObjectLockRetainUntilDate', 'ObjectLockMode', 'ObjectLockLegalHoldStatus', ], ], 'InventoryOptionalFields' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryOptionalField', 'locationName' => 'Field', ], ], 'InventoryS3BucketDestination' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Format', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Bucket' => [ 'shape' => 'BucketName', ], 'Format' => [ 'shape' => 'InventoryFormat', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Encryption' => [ 'shape' => 'InventoryEncryption', ], ], ], 'InventorySchedule' => [ 'type' => 'structure', 'required' => [ 'Frequency', ], 'members' => [ 'Frequency' => [ 'shape' => 'InventoryFrequency', ], ], ], 'IsEnabled' => [ 'type' => 'boolean', ], 'IsLatest' => [ 'type' => 'boolean', ], 'IsPublic' => [ 'type' => 'boolean', ], 'IsTruncated' => [ 'type' => 'boolean', ], 'JSONInput' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'JSONType', ], ], ], 'JSONOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDelimiter' => [ 'shape' => 'RecordDelimiter', ], ], ], 'JSONType' => [ 'type' => 'string', 'enum' => [ 'DOCUMENT', 'LINES', ], ], 'KMSContext' => [ 'type' => 'string', ], 'KeyCount' => [ 'type' => 'integer', ], 'KeyMarker' => [ 'type' => 'string', ], 'KeyPrefixEquals' => [ 'type' => 'string', ], 'LambdaFunctionArn' => [ 'type' => 'string', ], 'LambdaFunctionConfiguration' => [ 'type' => 'structure', 'required' => [ 'LambdaFunctionArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'LambdaFunctionArn' => [ 'shape' => 'LambdaFunctionArn', 'locationName' => 'CloudFunction', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'LambdaFunctionConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaFunctionConfiguration', ], 'flattened' => true, ], 'LastModified' => [ 'type' => 'timestamp', ], 'LifecycleConfiguration' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'Rules', 'locationName' => 'Rule', ], ], ], 'LifecycleExpiration' => [ 'type' => 'structure', 'members' => [ 'Date' => [ 'shape' => 'Date', ], 'Days' => [ 'shape' => 'Days', ], 'ExpiredObjectDeleteMarker' => [ 'shape' => 'ExpiredObjectDeleteMarker', ], ], ], 'LifecycleRule' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Expiration' => [ 'shape' => 'LifecycleExpiration', ], 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', 'deprecated' => true, ], 'Filter' => [ 'shape' => 'LifecycleRuleFilter', ], 'Status' => [ 'shape' => 'ExpirationStatus', ], 'Transitions' => [ 'shape' => 'TransitionList', 'locationName' => 'Transition', ], 'NoncurrentVersionTransitions' => [ 'shape' => 'NoncurrentVersionTransitionList', 'locationName' => 'NoncurrentVersionTransition', ], 'NoncurrentVersionExpiration' => [ 'shape' => 'NoncurrentVersionExpiration', ], 'AbortIncompleteMultipartUpload' => [ 'shape' => 'AbortIncompleteMultipartUpload', ], ], ], 'LifecycleRuleAndOperator' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tags' => [ 'shape' => 'TagSet', 'flattened' => true, 'locationName' => 'Tag', ], ], ], 'LifecycleRuleFilter' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tag' => [ 'shape' => 'Tag', ], 'And' => [ 'shape' => 'LifecycleRuleAndOperator', ], ], ], 'LifecycleRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'LifecycleRule', ], 'flattened' => true, ], 'ListBucketAnalyticsConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'ContinuationToken' => [ 'shape' => 'Token', ], 'NextContinuationToken' => [ 'shape' => 'NextToken', ], 'AnalyticsConfigurationList' => [ 'shape' => 'AnalyticsConfigurationList', 'locationName' => 'AnalyticsConfiguration', ], ], ], 'ListBucketAnalyticsConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContinuationToken' => [ 'shape' => 'Token', 'location' => 'querystring', 'locationName' => 'continuation-token', ], ], ], 'ListBucketInventoryConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'ContinuationToken' => [ 'shape' => 'Token', ], 'InventoryConfigurationList' => [ 'shape' => 'InventoryConfigurationList', 'locationName' => 'InventoryConfiguration', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'NextContinuationToken' => [ 'shape' => 'NextToken', ], ], ], 'ListBucketInventoryConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContinuationToken' => [ 'shape' => 'Token', 'location' => 'querystring', 'locationName' => 'continuation-token', ], ], ], 'ListBucketMetricsConfigurationsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'ContinuationToken' => [ 'shape' => 'Token', ], 'NextContinuationToken' => [ 'shape' => 'NextToken', ], 'MetricsConfigurationList' => [ 'shape' => 'MetricsConfigurationList', 'locationName' => 'MetricsConfiguration', ], ], ], 'ListBucketMetricsConfigurationsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContinuationToken' => [ 'shape' => 'Token', 'location' => 'querystring', 'locationName' => 'continuation-token', ], ], ], 'ListBucketsOutput' => [ 'type' => 'structure', 'members' => [ 'Buckets' => [ 'shape' => 'Buckets', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ListMultipartUploadsOutput' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', ], 'UploadIdMarker' => [ 'shape' => 'UploadIdMarker', ], 'NextKeyMarker' => [ 'shape' => 'NextKeyMarker', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'NextUploadIdMarker' => [ 'shape' => 'NextUploadIdMarker', ], 'MaxUploads' => [ 'shape' => 'MaxUploads', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Uploads' => [ 'shape' => 'MultipartUploadList', 'locationName' => 'Upload', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListMultipartUploadsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', 'location' => 'querystring', 'locationName' => 'key-marker', ], 'MaxUploads' => [ 'shape' => 'MaxUploads', 'location' => 'querystring', 'locationName' => 'max-uploads', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'UploadIdMarker' => [ 'shape' => 'UploadIdMarker', 'location' => 'querystring', 'locationName' => 'upload-id-marker', ], ], ], 'ListObjectVersionsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', ], 'VersionIdMarker' => [ 'shape' => 'VersionIdMarker', ], 'NextKeyMarker' => [ 'shape' => 'NextKeyMarker', ], 'NextVersionIdMarker' => [ 'shape' => 'NextVersionIdMarker', ], 'Versions' => [ 'shape' => 'ObjectVersionList', 'locationName' => 'Version', ], 'DeleteMarkers' => [ 'shape' => 'DeleteMarkers', 'locationName' => 'DeleteMarker', ], 'Name' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListObjectVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'KeyMarker' => [ 'shape' => 'KeyMarker', 'location' => 'querystring', 'locationName' => 'key-marker', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', 'location' => 'querystring', 'locationName' => 'max-keys', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'VersionIdMarker' => [ 'shape' => 'VersionIdMarker', 'location' => 'querystring', 'locationName' => 'version-id-marker', ], ], ], 'ListObjectsOutput' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Marker' => [ 'shape' => 'Marker', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Contents' => [ 'shape' => 'ObjectList', ], 'Name' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], ], ], 'ListObjectsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'Marker' => [ 'shape' => 'Marker', 'location' => 'querystring', 'locationName' => 'marker', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', 'location' => 'querystring', 'locationName' => 'max-keys', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'ListObjectsV2Output' => [ 'type' => 'structure', 'members' => [ 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Contents' => [ 'shape' => 'ObjectList', ], 'Name' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Delimiter' => [ 'shape' => 'Delimiter', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', ], 'CommonPrefixes' => [ 'shape' => 'CommonPrefixList', ], 'EncodingType' => [ 'shape' => 'EncodingType', ], 'KeyCount' => [ 'shape' => 'KeyCount', ], 'ContinuationToken' => [ 'shape' => 'Token', ], 'NextContinuationToken' => [ 'shape' => 'NextToken', ], 'StartAfter' => [ 'shape' => 'StartAfter', ], ], ], 'ListObjectsV2Request' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Delimiter' => [ 'shape' => 'Delimiter', 'location' => 'querystring', 'locationName' => 'delimiter', ], 'EncodingType' => [ 'shape' => 'EncodingType', 'location' => 'querystring', 'locationName' => 'encoding-type', ], 'MaxKeys' => [ 'shape' => 'MaxKeys', 'location' => 'querystring', 'locationName' => 'max-keys', ], 'Prefix' => [ 'shape' => 'Prefix', 'location' => 'querystring', 'locationName' => 'prefix', ], 'ContinuationToken' => [ 'shape' => 'Token', 'location' => 'querystring', 'locationName' => 'continuation-token', ], 'FetchOwner' => [ 'shape' => 'FetchOwner', 'location' => 'querystring', 'locationName' => 'fetch-owner', ], 'StartAfter' => [ 'shape' => 'StartAfter', 'location' => 'querystring', 'locationName' => 'start-after', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'ListPartsOutput' => [ 'type' => 'structure', 'members' => [ 'AbortDate' => [ 'shape' => 'AbortDate', 'location' => 'header', 'locationName' => 'x-amz-abort-date', ], 'AbortRuleId' => [ 'shape' => 'AbortRuleId', 'location' => 'header', 'locationName' => 'x-amz-abort-rule-id', ], 'Bucket' => [ 'shape' => 'BucketName', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'PartNumberMarker' => [ 'shape' => 'PartNumberMarker', ], 'NextPartNumberMarker' => [ 'shape' => 'NextPartNumberMarker', ], 'MaxParts' => [ 'shape' => 'MaxParts', ], 'IsTruncated' => [ 'shape' => 'IsTruncated', ], 'Parts' => [ 'shape' => 'Parts', 'locationName' => 'Part', ], 'Initiator' => [ 'shape' => 'Initiator', ], 'Owner' => [ 'shape' => 'Owner', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'ListPartsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'MaxParts' => [ 'shape' => 'MaxParts', 'location' => 'querystring', 'locationName' => 'max-parts', ], 'PartNumberMarker' => [ 'shape' => 'PartNumberMarker', 'location' => 'querystring', 'locationName' => 'part-number-marker', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'Location' => [ 'type' => 'string', ], 'LocationPrefix' => [ 'type' => 'string', ], 'LoggingEnabled' => [ 'type' => 'structure', 'required' => [ 'TargetBucket', 'TargetPrefix', ], 'members' => [ 'TargetBucket' => [ 'shape' => 'TargetBucket', ], 'TargetGrants' => [ 'shape' => 'TargetGrants', ], 'TargetPrefix' => [ 'shape' => 'TargetPrefix', ], ], ], 'MFA' => [ 'type' => 'string', ], 'MFADelete' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'MFADeleteStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'Marker' => [ 'type' => 'string', ], 'MaxAgeSeconds' => [ 'type' => 'integer', ], 'MaxKeys' => [ 'type' => 'integer', ], 'MaxParts' => [ 'type' => 'integer', ], 'MaxUploads' => [ 'type' => 'integer', ], 'Message' => [ 'type' => 'string', ], 'Metadata' => [ 'type' => 'map', 'key' => [ 'shape' => 'MetadataKey', ], 'value' => [ 'shape' => 'MetadataValue', ], ], 'MetadataDirective' => [ 'type' => 'string', 'enum' => [ 'COPY', 'REPLACE', ], ], 'MetadataEntry' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'MetadataKey', ], 'Value' => [ 'shape' => 'MetadataValue', ], ], ], 'MetadataKey' => [ 'type' => 'string', ], 'MetadataValue' => [ 'type' => 'string', ], 'MetricsAndOperator' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tags' => [ 'shape' => 'TagSet', 'flattened' => true, 'locationName' => 'Tag', ], ], ], 'MetricsConfiguration' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'MetricsId', ], 'Filter' => [ 'shape' => 'MetricsFilter', ], ], ], 'MetricsConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricsConfiguration', ], 'flattened' => true, ], 'MetricsFilter' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tag' => [ 'shape' => 'Tag', ], 'And' => [ 'shape' => 'MetricsAndOperator', ], ], ], 'MetricsId' => [ 'type' => 'string', ], 'MissingMeta' => [ 'type' => 'integer', ], 'MultipartUpload' => [ 'type' => 'structure', 'members' => [ 'UploadId' => [ 'shape' => 'MultipartUploadId', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'Initiated' => [ 'shape' => 'Initiated', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], 'Owner' => [ 'shape' => 'Owner', ], 'Initiator' => [ 'shape' => 'Initiator', ], ], ], 'MultipartUploadId' => [ 'type' => 'string', ], 'MultipartUploadList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MultipartUpload', ], 'flattened' => true, ], 'NextKeyMarker' => [ 'type' => 'string', ], 'NextMarker' => [ 'type' => 'string', ], 'NextPartNumberMarker' => [ 'type' => 'integer', ], 'NextToken' => [ 'type' => 'string', ], 'NextUploadIdMarker' => [ 'type' => 'string', ], 'NextVersionIdMarker' => [ 'type' => 'string', ], 'NoSuchBucket' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchKey' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoSuchUpload' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'NoncurrentVersionExpiration' => [ 'type' => 'structure', 'members' => [ 'NoncurrentDays' => [ 'shape' => 'Days', ], ], ], 'NoncurrentVersionTransition' => [ 'type' => 'structure', 'members' => [ 'NoncurrentDays' => [ 'shape' => 'Days', ], 'StorageClass' => [ 'shape' => 'TransitionStorageClass', ], ], ], 'NoncurrentVersionTransitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NoncurrentVersionTransition', ], 'flattened' => true, ], 'NotificationConfiguration' => [ 'type' => 'structure', 'members' => [ 'TopicConfigurations' => [ 'shape' => 'TopicConfigurationList', 'locationName' => 'TopicConfiguration', ], 'QueueConfigurations' => [ 'shape' => 'QueueConfigurationList', 'locationName' => 'QueueConfiguration', ], 'LambdaFunctionConfigurations' => [ 'shape' => 'LambdaFunctionConfigurationList', 'locationName' => 'CloudFunctionConfiguration', ], ], ], 'NotificationConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'TopicConfiguration' => [ 'shape' => 'TopicConfigurationDeprecated', ], 'QueueConfiguration' => [ 'shape' => 'QueueConfigurationDeprecated', ], 'CloudFunctionConfiguration' => [ 'shape' => 'CloudFunctionConfiguration', ], ], ], 'NotificationConfigurationFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'S3KeyFilter', 'locationName' => 'S3Key', ], ], ], 'NotificationId' => [ 'type' => 'string', ], 'Object' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], 'StorageClass' => [ 'shape' => 'ObjectStorageClass', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ObjectAlreadyInActiveTierError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectCannedACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'authenticated-read', 'aws-exec-read', 'bucket-owner-read', 'bucket-owner-full-control', ], ], 'ObjectIdentifier' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], ], ], 'ObjectIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectIdentifier', ], 'flattened' => true, ], 'ObjectKey' => [ 'type' => 'string', 'min' => 1, ], 'ObjectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Object', ], 'flattened' => true, ], 'ObjectLockConfiguration' => [ 'type' => 'structure', 'members' => [ 'ObjectLockEnabled' => [ 'shape' => 'ObjectLockEnabled', ], 'Rule' => [ 'shape' => 'ObjectLockRule', ], ], ], 'ObjectLockEnabled' => [ 'type' => 'string', 'enum' => [ 'Enabled', ], ], 'ObjectLockEnabledForBucket' => [ 'type' => 'boolean', ], 'ObjectLockLegalHold' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ObjectLockLegalHoldStatus', ], ], ], 'ObjectLockLegalHoldStatus' => [ 'type' => 'string', 'enum' => [ 'ON', 'OFF', ], ], 'ObjectLockMode' => [ 'type' => 'string', 'enum' => [ 'GOVERNANCE', 'COMPLIANCE', ], ], 'ObjectLockRetainUntilDate' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'ObjectLockRetention' => [ 'type' => 'structure', 'members' => [ 'Mode' => [ 'shape' => 'ObjectLockRetentionMode', ], 'RetainUntilDate' => [ 'shape' => 'Date', ], ], ], 'ObjectLockRetentionMode' => [ 'type' => 'string', 'enum' => [ 'GOVERNANCE', 'COMPLIANCE', ], ], 'ObjectLockRule' => [ 'type' => 'structure', 'members' => [ 'DefaultRetention' => [ 'shape' => 'DefaultRetention', ], ], ], 'ObjectLockToken' => [ 'type' => 'string', ], 'ObjectNotInActiveTierError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectStorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'GLACIER', 'STANDARD_IA', 'ONEZONE_IA', 'INTELLIGENT_TIERING', 'DEEP_ARCHIVE', ], ], 'ObjectVersion' => [ 'type' => 'structure', 'members' => [ 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], 'StorageClass' => [ 'shape' => 'ObjectVersionStorageClass', ], 'Key' => [ 'shape' => 'ObjectKey', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', ], 'IsLatest' => [ 'shape' => 'IsLatest', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'Owner' => [ 'shape' => 'Owner', ], ], ], 'ObjectVersionId' => [ 'type' => 'string', ], 'ObjectVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ObjectVersion', ], 'flattened' => true, ], 'ObjectVersionStorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', ], ], 'OutputLocation' => [ 'type' => 'structure', 'members' => [ 'S3' => [ 'shape' => 'S3Location', ], ], ], 'OutputSerialization' => [ 'type' => 'structure', 'members' => [ 'CSV' => [ 'shape' => 'CSVOutput', ], 'JSON' => [ 'shape' => 'JSONOutput', ], ], ], 'Owner' => [ 'type' => 'structure', 'members' => [ 'DisplayName' => [ 'shape' => 'DisplayName', ], 'ID' => [ 'shape' => 'ID', ], ], ], 'OwnerOverride' => [ 'type' => 'string', 'enum' => [ 'Destination', ], ], 'ParquetInput' => [ 'type' => 'structure', 'members' => [], ], 'Part' => [ 'type' => 'structure', 'members' => [ 'PartNumber' => [ 'shape' => 'PartNumber', ], 'LastModified' => [ 'shape' => 'LastModified', ], 'ETag' => [ 'shape' => 'ETag', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'PartNumber' => [ 'type' => 'integer', ], 'PartNumberMarker' => [ 'type' => 'integer', ], 'Parts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Part', ], 'flattened' => true, ], 'PartsCount' => [ 'type' => 'integer', ], 'Payer' => [ 'type' => 'string', 'enum' => [ 'Requester', 'BucketOwner', ], ], 'Permission' => [ 'type' => 'string', 'enum' => [ 'FULL_CONTROL', 'WRITE', 'WRITE_ACP', 'READ', 'READ_ACP', ], ], 'Policy' => [ 'type' => 'string', ], 'PolicyStatus' => [ 'type' => 'structure', 'members' => [ 'IsPublic' => [ 'shape' => 'IsPublic', 'locationName' => 'IsPublic', ], ], ], 'Prefix' => [ 'type' => 'string', ], 'Priority' => [ 'type' => 'integer', ], 'Progress' => [ 'type' => 'structure', 'members' => [ 'BytesScanned' => [ 'shape' => 'BytesScanned', ], 'BytesProcessed' => [ 'shape' => 'BytesProcessed', ], 'BytesReturned' => [ 'shape' => 'BytesReturned', ], ], ], 'ProgressEvent' => [ 'type' => 'structure', 'members' => [ 'Details' => [ 'shape' => 'Progress', 'eventpayload' => true, ], ], 'event' => true, ], 'Protocol' => [ 'type' => 'string', 'enum' => [ 'http', 'https', ], ], 'PublicAccessBlockConfiguration' => [ 'type' => 'structure', 'members' => [ 'BlockPublicAcls' => [ 'shape' => 'Setting', 'locationName' => 'BlockPublicAcls', ], 'IgnorePublicAcls' => [ 'shape' => 'Setting', 'locationName' => 'IgnorePublicAcls', ], 'BlockPublicPolicy' => [ 'shape' => 'Setting', 'locationName' => 'BlockPublicPolicy', ], 'RestrictPublicBuckets' => [ 'shape' => 'Setting', 'locationName' => 'RestrictPublicBuckets', ], ], ], 'PutBucketAccelerateConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'AccelerateConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'AccelerateConfiguration' => [ 'shape' => 'AccelerateConfiguration', 'locationName' => 'AccelerateConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'AccelerateConfiguration', ], 'PutBucketAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'ACL' => [ 'shape' => 'BucketCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'AccessControlPolicy' => [ 'shape' => 'AccessControlPolicy', 'locationName' => 'AccessControlPolicy', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], ], 'payload' => 'AccessControlPolicy', ], 'PutBucketAnalyticsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', 'AnalyticsConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'AnalyticsId', 'location' => 'querystring', 'locationName' => 'id', ], 'AnalyticsConfiguration' => [ 'shape' => 'AnalyticsConfiguration', 'locationName' => 'AnalyticsConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'AnalyticsConfiguration', ], 'PutBucketCorsRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CORSConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CORSConfiguration' => [ 'shape' => 'CORSConfiguration', 'locationName' => 'CORSConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'CORSConfiguration', ], 'PutBucketEncryptionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'ServerSideEncryptionConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ServerSideEncryptionConfiguration' => [ 'shape' => 'ServerSideEncryptionConfiguration', 'locationName' => 'ServerSideEncryptionConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'ServerSideEncryptionConfiguration', ], 'PutBucketInventoryConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', 'InventoryConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'InventoryId', 'location' => 'querystring', 'locationName' => 'id', ], 'InventoryConfiguration' => [ 'shape' => 'InventoryConfiguration', 'locationName' => 'InventoryConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'InventoryConfiguration', ], 'PutBucketLifecycleConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'LifecycleConfiguration' => [ 'shape' => 'BucketLifecycleConfiguration', 'locationName' => 'LifecycleConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'LifecycleConfiguration', ], 'PutBucketLifecycleRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'LifecycleConfiguration' => [ 'shape' => 'LifecycleConfiguration', 'locationName' => 'LifecycleConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'LifecycleConfiguration', ], 'PutBucketLoggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'BucketLoggingStatus', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'BucketLoggingStatus' => [ 'shape' => 'BucketLoggingStatus', 'locationName' => 'BucketLoggingStatus', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'BucketLoggingStatus', ], 'PutBucketMetricsConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Id', 'MetricsConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Id' => [ 'shape' => 'MetricsId', 'location' => 'querystring', 'locationName' => 'id', ], 'MetricsConfiguration' => [ 'shape' => 'MetricsConfiguration', 'locationName' => 'MetricsConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'MetricsConfiguration', ], 'PutBucketNotificationConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'NotificationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfiguration', 'locationName' => 'NotificationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'NotificationConfiguration', ], 'PutBucketNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'NotificationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'NotificationConfiguration' => [ 'shape' => 'NotificationConfigurationDeprecated', 'locationName' => 'NotificationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'NotificationConfiguration', ], 'PutBucketPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Policy', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ConfirmRemoveSelfBucketAccess' => [ 'shape' => 'ConfirmRemoveSelfBucketAccess', 'location' => 'header', 'locationName' => 'x-amz-confirm-remove-self-bucket-access', ], 'Policy' => [ 'shape' => 'Policy', ], ], 'payload' => 'Policy', ], 'PutBucketReplicationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'ReplicationConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ReplicationConfiguration' => [ 'shape' => 'ReplicationConfiguration', 'locationName' => 'ReplicationConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'ReplicationConfiguration', ], 'PutBucketRequestPaymentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'RequestPaymentConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'RequestPaymentConfiguration' => [ 'shape' => 'RequestPaymentConfiguration', 'locationName' => 'RequestPaymentConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'RequestPaymentConfiguration', ], 'PutBucketTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Tagging', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Tagging' => [ 'shape' => 'Tagging', 'locationName' => 'Tagging', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'Tagging', ], 'PutBucketVersioningRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'VersioningConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'MFA' => [ 'shape' => 'MFA', 'location' => 'header', 'locationName' => 'x-amz-mfa', ], 'VersioningConfiguration' => [ 'shape' => 'VersioningConfiguration', 'locationName' => 'VersioningConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'VersioningConfiguration', ], 'PutBucketWebsiteRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'WebsiteConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'WebsiteConfiguration' => [ 'shape' => 'WebsiteConfiguration', 'locationName' => 'WebsiteConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'WebsiteConfiguration', ], 'PutObjectAclOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectAclRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'AccessControlPolicy' => [ 'shape' => 'AccessControlPolicy', 'locationName' => 'AccessControlPolicy', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWrite' => [ 'shape' => 'GrantWrite', 'location' => 'header', 'locationName' => 'x-amz-grant-write', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], ], 'payload' => 'AccessControlPolicy', ], 'PutObjectLegalHoldOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectLegalHoldRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'LegalHold' => [ 'shape' => 'ObjectLockLegalHold', 'locationName' => 'LegalHold', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'LegalHold', ], 'PutObjectLockConfigurationOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectLockConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ObjectLockConfiguration' => [ 'shape' => 'ObjectLockConfiguration', 'locationName' => 'ObjectLockConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'Token' => [ 'shape' => 'ObjectLockToken', 'location' => 'header', 'locationName' => 'x-amz-bucket-object-lock-token', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'ObjectLockConfiguration', ], 'PutObjectOutput' => [ 'type' => 'structure', 'members' => [ 'Expiration' => [ 'shape' => 'Expiration', 'location' => 'header', 'locationName' => 'x-amz-expiration', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'ACL' => [ 'shape' => 'ObjectCannedACL', 'location' => 'header', 'locationName' => 'x-amz-acl', ], 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CacheControl' => [ 'shape' => 'CacheControl', 'location' => 'header', 'locationName' => 'Cache-Control', ], 'ContentDisposition' => [ 'shape' => 'ContentDisposition', 'location' => 'header', 'locationName' => 'Content-Disposition', ], 'ContentEncoding' => [ 'shape' => 'ContentEncoding', 'location' => 'header', 'locationName' => 'Content-Encoding', ], 'ContentLanguage' => [ 'shape' => 'ContentLanguage', 'location' => 'header', 'locationName' => 'Content-Language', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'ContentType' => [ 'shape' => 'ContentType', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Expires' => [ 'shape' => 'Expires', 'location' => 'header', 'locationName' => 'Expires', ], 'GrantFullControl' => [ 'shape' => 'GrantFullControl', 'location' => 'header', 'locationName' => 'x-amz-grant-full-control', ], 'GrantRead' => [ 'shape' => 'GrantRead', 'location' => 'header', 'locationName' => 'x-amz-grant-read', ], 'GrantReadACP' => [ 'shape' => 'GrantReadACP', 'location' => 'header', 'locationName' => 'x-amz-grant-read-acp', ], 'GrantWriteACP' => [ 'shape' => 'GrantWriteACP', 'location' => 'header', 'locationName' => 'x-amz-grant-write-acp', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Metadata' => [ 'shape' => 'Metadata', 'location' => 'headers', 'locationName' => 'x-amz-meta-', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'StorageClass' => [ 'shape' => 'StorageClass', 'location' => 'header', 'locationName' => 'x-amz-storage-class', ], 'WebsiteRedirectLocation' => [ 'shape' => 'WebsiteRedirectLocation', 'location' => 'header', 'locationName' => 'x-amz-website-redirect-location', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'Tagging' => [ 'shape' => 'TaggingHeader', 'location' => 'header', 'locationName' => 'x-amz-tagging', ], 'ObjectLockMode' => [ 'shape' => 'ObjectLockMode', 'location' => 'header', 'locationName' => 'x-amz-object-lock-mode', ], 'ObjectLockRetainUntilDate' => [ 'shape' => 'ObjectLockRetainUntilDate', 'location' => 'header', 'locationName' => 'x-amz-object-lock-retain-until-date', ], 'ObjectLockLegalHoldStatus' => [ 'shape' => 'ObjectLockLegalHoldStatus', 'location' => 'header', 'locationName' => 'x-amz-object-lock-legal-hold', ], ], 'payload' => 'Body', ], 'PutObjectRetentionOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'PutObjectRetentionRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'Retention' => [ 'shape' => 'ObjectLockRetention', 'locationName' => 'Retention', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'BypassGovernanceRetention' => [ 'shape' => 'BypassGovernanceRetention', 'location' => 'header', 'locationName' => 'x-amz-bypass-governance-retention', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], ], 'payload' => 'Retention', ], 'PutObjectTaggingOutput' => [ 'type' => 'structure', 'members' => [ 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'header', 'locationName' => 'x-amz-version-id', ], ], ], 'PutObjectTaggingRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'Tagging', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Tagging' => [ 'shape' => 'Tagging', 'locationName' => 'Tagging', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'Tagging', ], 'PutPublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'PublicAccessBlockConfiguration', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'PublicAccessBlockConfiguration' => [ 'shape' => 'PublicAccessBlockConfiguration', 'locationName' => 'PublicAccessBlockConfiguration', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], ], 'payload' => 'PublicAccessBlockConfiguration', ], 'QueueArn' => [ 'type' => 'string', ], 'QueueConfiguration' => [ 'type' => 'structure', 'required' => [ 'QueueArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'QueueArn' => [ 'shape' => 'QueueArn', 'locationName' => 'Queue', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'QueueConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Queue' => [ 'shape' => 'QueueArn', ], ], ], 'QueueConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueueConfiguration', ], 'flattened' => true, ], 'Quiet' => [ 'type' => 'boolean', ], 'QuoteCharacter' => [ 'type' => 'string', ], 'QuoteEscapeCharacter' => [ 'type' => 'string', ], 'QuoteFields' => [ 'type' => 'string', 'enum' => [ 'ALWAYS', 'ASNEEDED', ], ], 'Range' => [ 'type' => 'string', ], 'RecordDelimiter' => [ 'type' => 'string', ], 'RecordsEvent' => [ 'type' => 'structure', 'members' => [ 'Payload' => [ 'shape' => 'Body', 'eventpayload' => true, ], ], 'event' => true, ], 'Redirect' => [ 'type' => 'structure', 'members' => [ 'HostName' => [ 'shape' => 'HostName', ], 'HttpRedirectCode' => [ 'shape' => 'HttpRedirectCode', ], 'Protocol' => [ 'shape' => 'Protocol', ], 'ReplaceKeyPrefixWith' => [ 'shape' => 'ReplaceKeyPrefixWith', ], 'ReplaceKeyWith' => [ 'shape' => 'ReplaceKeyWith', ], ], ], 'RedirectAllRequestsTo' => [ 'type' => 'structure', 'required' => [ 'HostName', ], 'members' => [ 'HostName' => [ 'shape' => 'HostName', ], 'Protocol' => [ 'shape' => 'Protocol', ], ], ], 'ReplaceKeyPrefixWith' => [ 'type' => 'string', ], 'ReplaceKeyWith' => [ 'type' => 'string', ], 'ReplicaKmsKeyID' => [ 'type' => 'string', ], 'ReplicationConfiguration' => [ 'type' => 'structure', 'required' => [ 'Role', 'Rules', ], 'members' => [ 'Role' => [ 'shape' => 'Role', ], 'Rules' => [ 'shape' => 'ReplicationRules', 'locationName' => 'Rule', ], ], ], 'ReplicationRule' => [ 'type' => 'structure', 'required' => [ 'Status', 'Destination', ], 'members' => [ 'ID' => [ 'shape' => 'ID', ], 'Priority' => [ 'shape' => 'Priority', ], 'Prefix' => [ 'shape' => 'Prefix', 'deprecated' => true, ], 'Filter' => [ 'shape' => 'ReplicationRuleFilter', ], 'Status' => [ 'shape' => 'ReplicationRuleStatus', ], 'SourceSelectionCriteria' => [ 'shape' => 'SourceSelectionCriteria', ], 'Destination' => [ 'shape' => 'Destination', ], 'DeleteMarkerReplication' => [ 'shape' => 'DeleteMarkerReplication', ], ], ], 'ReplicationRuleAndOperator' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tags' => [ 'shape' => 'TagSet', 'flattened' => true, 'locationName' => 'Tag', ], ], ], 'ReplicationRuleFilter' => [ 'type' => 'structure', 'members' => [ 'Prefix' => [ 'shape' => 'Prefix', ], 'Tag' => [ 'shape' => 'Tag', ], 'And' => [ 'shape' => 'ReplicationRuleAndOperator', ], ], ], 'ReplicationRuleStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'ReplicationRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationRule', ], 'flattened' => true, ], 'ReplicationStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLETE', 'PENDING', 'FAILED', 'REPLICA', ], ], 'RequestCharged' => [ 'type' => 'string', 'enum' => [ 'requester', ], ], 'RequestPayer' => [ 'type' => 'string', 'enum' => [ 'requester', ], ], 'RequestPaymentConfiguration' => [ 'type' => 'structure', 'required' => [ 'Payer', ], 'members' => [ 'Payer' => [ 'shape' => 'Payer', ], ], ], 'RequestProgress' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => 'EnableRequestProgress', ], ], ], 'ResponseCacheControl' => [ 'type' => 'string', ], 'ResponseContentDisposition' => [ 'type' => 'string', ], 'ResponseContentEncoding' => [ 'type' => 'string', ], 'ResponseContentLanguage' => [ 'type' => 'string', ], 'ResponseContentType' => [ 'type' => 'string', ], 'ResponseExpires' => [ 'type' => 'timestamp', ], 'Restore' => [ 'type' => 'string', ], 'RestoreObjectOutput' => [ 'type' => 'structure', 'members' => [ 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], 'RestoreOutputPath' => [ 'shape' => 'RestoreOutputPath', 'location' => 'header', 'locationName' => 'x-amz-restore-output-path', ], ], ], 'RestoreObjectRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'VersionId' => [ 'shape' => 'ObjectVersionId', 'location' => 'querystring', 'locationName' => 'versionId', ], 'RestoreRequest' => [ 'shape' => 'RestoreRequest', 'locationName' => 'RestoreRequest', 'xmlNamespace' => [ 'uri' => 'http://s3.amazonaws.com/doc/2006-03-01/', ], ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'RestoreRequest', ], 'RestoreOutputPath' => [ 'type' => 'string', ], 'RestoreRequest' => [ 'type' => 'structure', 'members' => [ 'Days' => [ 'shape' => 'Days', ], 'GlacierJobParameters' => [ 'shape' => 'GlacierJobParameters', ], 'Type' => [ 'shape' => 'RestoreRequestType', ], 'Tier' => [ 'shape' => 'Tier', ], 'Description' => [ 'shape' => 'Description', ], 'SelectParameters' => [ 'shape' => 'SelectParameters', ], 'OutputLocation' => [ 'shape' => 'OutputLocation', ], ], ], 'RestoreRequestType' => [ 'type' => 'string', 'enum' => [ 'SELECT', ], ], 'Role' => [ 'type' => 'string', ], 'RoutingRule' => [ 'type' => 'structure', 'required' => [ 'Redirect', ], 'members' => [ 'Condition' => [ 'shape' => 'Condition', ], 'Redirect' => [ 'shape' => 'Redirect', ], ], ], 'RoutingRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'RoutingRule', 'locationName' => 'RoutingRule', ], ], 'Rule' => [ 'type' => 'structure', 'required' => [ 'Prefix', 'Status', ], 'members' => [ 'Expiration' => [ 'shape' => 'LifecycleExpiration', ], 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Status' => [ 'shape' => 'ExpirationStatus', ], 'Transition' => [ 'shape' => 'Transition', ], 'NoncurrentVersionTransition' => [ 'shape' => 'NoncurrentVersionTransition', ], 'NoncurrentVersionExpiration' => [ 'shape' => 'NoncurrentVersionExpiration', ], 'AbortIncompleteMultipartUpload' => [ 'shape' => 'AbortIncompleteMultipartUpload', ], ], ], 'Rules' => [ 'type' => 'list', 'member' => [ 'shape' => 'Rule', ], 'flattened' => true, ], 'S3KeyFilter' => [ 'type' => 'structure', 'members' => [ 'FilterRules' => [ 'shape' => 'FilterRuleList', 'locationName' => 'FilterRule', ], ], ], 'S3Location' => [ 'type' => 'structure', 'required' => [ 'BucketName', 'Prefix', ], 'members' => [ 'BucketName' => [ 'shape' => 'BucketName', ], 'Prefix' => [ 'shape' => 'LocationPrefix', ], 'Encryption' => [ 'shape' => 'Encryption', ], 'CannedACL' => [ 'shape' => 'ObjectCannedACL', ], 'AccessControlList' => [ 'shape' => 'Grants', ], 'Tagging' => [ 'shape' => 'Tagging', ], 'UserMetadata' => [ 'shape' => 'UserMetadata', ], 'StorageClass' => [ 'shape' => 'StorageClass', ], ], ], 'SSECustomerAlgorithm' => [ 'type' => 'string', ], 'SSECustomerKey' => [ 'type' => 'string', 'sensitive' => true, ], 'SSECustomerKeyMD5' => [ 'type' => 'string', ], 'SSEKMS' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'SSEKMSKeyId', ], ], 'locationName' => 'SSE-KMS', ], 'SSEKMSKeyId' => [ 'type' => 'string', 'sensitive' => true, ], 'SSES3' => [ 'type' => 'structure', 'members' => [], 'locationName' => 'SSE-S3', ], 'SelectObjectContentEventStream' => [ 'type' => 'structure', 'members' => [ 'Records' => [ 'shape' => 'RecordsEvent', ], 'Stats' => [ 'shape' => 'StatsEvent', ], 'Progress' => [ 'shape' => 'ProgressEvent', ], 'Cont' => [ 'shape' => 'ContinuationEvent', ], 'End' => [ 'shape' => 'EndEvent', ], ], 'eventstream' => true, ], 'SelectObjectContentOutput' => [ 'type' => 'structure', 'members' => [ 'Payload' => [ 'shape' => 'SelectObjectContentEventStream', ], ], 'payload' => 'Payload', ], 'SelectObjectContentRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'Expression', 'ExpressionType', 'InputSerialization', 'OutputSerialization', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'Expression' => [ 'shape' => 'Expression', ], 'ExpressionType' => [ 'shape' => 'ExpressionType', ], 'RequestProgress' => [ 'shape' => 'RequestProgress', ], 'InputSerialization' => [ 'shape' => 'InputSerialization', ], 'OutputSerialization' => [ 'shape' => 'OutputSerialization', ], ], ], 'SelectParameters' => [ 'type' => 'structure', 'required' => [ 'InputSerialization', 'ExpressionType', 'Expression', 'OutputSerialization', ], 'members' => [ 'InputSerialization' => [ 'shape' => 'InputSerialization', ], 'ExpressionType' => [ 'shape' => 'ExpressionType', ], 'Expression' => [ 'shape' => 'Expression', ], 'OutputSerialization' => [ 'shape' => 'OutputSerialization', ], ], ], 'ServerSideEncryption' => [ 'type' => 'string', 'enum' => [ 'AES256', 'aws:kms', ], ], 'ServerSideEncryptionByDefault' => [ 'type' => 'structure', 'required' => [ 'SSEAlgorithm', ], 'members' => [ 'SSEAlgorithm' => [ 'shape' => 'ServerSideEncryption', ], 'KMSMasterKeyID' => [ 'shape' => 'SSEKMSKeyId', ], ], ], 'ServerSideEncryptionConfiguration' => [ 'type' => 'structure', 'required' => [ 'Rules', ], 'members' => [ 'Rules' => [ 'shape' => 'ServerSideEncryptionRules', 'locationName' => 'Rule', ], ], ], 'ServerSideEncryptionRule' => [ 'type' => 'structure', 'members' => [ 'ApplyServerSideEncryptionByDefault' => [ 'shape' => 'ServerSideEncryptionByDefault', ], ], ], 'ServerSideEncryptionRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerSideEncryptionRule', ], 'flattened' => true, ], 'Setting' => [ 'type' => 'boolean', ], 'Size' => [ 'type' => 'long', ], 'SourceSelectionCriteria' => [ 'type' => 'structure', 'members' => [ 'SseKmsEncryptedObjects' => [ 'shape' => 'SseKmsEncryptedObjects', ], ], ], 'SseKmsEncryptedObjects' => [ 'type' => 'structure', 'required' => [ 'Status', ], 'members' => [ 'Status' => [ 'shape' => 'SseKmsEncryptedObjectsStatus', ], ], ], 'SseKmsEncryptedObjectsStatus' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'StartAfter' => [ 'type' => 'string', ], 'Stats' => [ 'type' => 'structure', 'members' => [ 'BytesScanned' => [ 'shape' => 'BytesScanned', ], 'BytesProcessed' => [ 'shape' => 'BytesProcessed', ], 'BytesReturned' => [ 'shape' => 'BytesReturned', ], ], ], 'StatsEvent' => [ 'type' => 'structure', 'members' => [ 'Details' => [ 'shape' => 'Stats', 'eventpayload' => true, ], ], 'event' => true, ], 'StorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'STANDARD_IA', 'ONEZONE_IA', 'INTELLIGENT_TIERING', 'GLACIER', 'DEEP_ARCHIVE', ], ], 'StorageClassAnalysis' => [ 'type' => 'structure', 'members' => [ 'DataExport' => [ 'shape' => 'StorageClassAnalysisDataExport', ], ], ], 'StorageClassAnalysisDataExport' => [ 'type' => 'structure', 'required' => [ 'OutputSchemaVersion', 'Destination', ], 'members' => [ 'OutputSchemaVersion' => [ 'shape' => 'StorageClassAnalysisSchemaVersion', ], 'Destination' => [ 'shape' => 'AnalyticsExportDestination', ], ], ], 'StorageClassAnalysisSchemaVersion' => [ 'type' => 'string', 'enum' => [ 'V_1', ], ], 'Suffix' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'ObjectKey', ], 'Value' => [ 'shape' => 'Value', ], ], ], 'TagCount' => [ 'type' => 'integer', ], 'TagSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', 'locationName' => 'Tag', ], ], 'Tagging' => [ 'type' => 'structure', 'required' => [ 'TagSet', ], 'members' => [ 'TagSet' => [ 'shape' => 'TagSet', ], ], ], 'TaggingDirective' => [ 'type' => 'string', 'enum' => [ 'COPY', 'REPLACE', ], ], 'TaggingHeader' => [ 'type' => 'string', ], 'TargetBucket' => [ 'type' => 'string', ], 'TargetGrant' => [ 'type' => 'structure', 'members' => [ 'Grantee' => [ 'shape' => 'Grantee', ], 'Permission' => [ 'shape' => 'BucketLogsPermission', ], ], ], 'TargetGrants' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGrant', 'locationName' => 'Grant', ], ], 'TargetPrefix' => [ 'type' => 'string', ], 'Tier' => [ 'type' => 'string', 'enum' => [ 'Standard', 'Bulk', 'Expedited', ], ], 'Token' => [ 'type' => 'string', ], 'TopicArn' => [ 'type' => 'string', ], 'TopicConfiguration' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Events', ], 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'TopicArn' => [ 'shape' => 'TopicArn', 'locationName' => 'Topic', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Filter' => [ 'shape' => 'NotificationConfigurationFilter', ], ], ], 'TopicConfigurationDeprecated' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'NotificationId', ], 'Events' => [ 'shape' => 'EventList', 'locationName' => 'Event', ], 'Event' => [ 'shape' => 'Event', 'deprecated' => true, ], 'Topic' => [ 'shape' => 'TopicArn', ], ], ], 'TopicConfigurationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicConfiguration', ], 'flattened' => true, ], 'Transition' => [ 'type' => 'structure', 'members' => [ 'Date' => [ 'shape' => 'Date', ], 'Days' => [ 'shape' => 'Days', ], 'StorageClass' => [ 'shape' => 'TransitionStorageClass', ], ], ], 'TransitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Transition', ], 'flattened' => true, ], 'TransitionStorageClass' => [ 'type' => 'string', 'enum' => [ 'GLACIER', 'STANDARD_IA', 'ONEZONE_IA', 'INTELLIGENT_TIERING', 'DEEP_ARCHIVE', ], ], 'Type' => [ 'type' => 'string', 'enum' => [ 'CanonicalUser', 'AmazonCustomerByEmail', 'Group', ], ], 'URI' => [ 'type' => 'string', ], 'UploadIdMarker' => [ 'type' => 'string', ], 'UploadPartCopyOutput' => [ 'type' => 'structure', 'members' => [ 'CopySourceVersionId' => [ 'shape' => 'CopySourceVersionId', 'location' => 'header', 'locationName' => 'x-amz-copy-source-version-id', ], 'CopyPartResult' => [ 'shape' => 'CopyPartResult', ], 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], 'payload' => 'CopyPartResult', ], 'UploadPartCopyRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'CopySource', 'Key', 'PartNumber', 'UploadId', ], 'members' => [ 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'CopySource' => [ 'shape' => 'CopySource', 'location' => 'header', 'locationName' => 'x-amz-copy-source', ], 'CopySourceIfMatch' => [ 'shape' => 'CopySourceIfMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-match', ], 'CopySourceIfModifiedSince' => [ 'shape' => 'CopySourceIfModifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-modified-since', ], 'CopySourceIfNoneMatch' => [ 'shape' => 'CopySourceIfNoneMatch', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-none-match', ], 'CopySourceIfUnmodifiedSince' => [ 'shape' => 'CopySourceIfUnmodifiedSince', 'location' => 'header', 'locationName' => 'x-amz-copy-source-if-unmodified-since', ], 'CopySourceRange' => [ 'shape' => 'CopySourceRange', 'location' => 'header', 'locationName' => 'x-amz-copy-source-range', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'CopySourceSSECustomerAlgorithm' => [ 'shape' => 'CopySourceSSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-algorithm', ], 'CopySourceSSECustomerKey' => [ 'shape' => 'CopySourceSSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key', ], 'CopySourceSSECustomerKeyMD5' => [ 'shape' => 'CopySourceSSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-copy-source-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], ], 'UploadPartOutput' => [ 'type' => 'structure', 'members' => [ 'ServerSideEncryption' => [ 'shape' => 'ServerSideEncryption', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption', ], 'ETag' => [ 'shape' => 'ETag', 'location' => 'header', 'locationName' => 'ETag', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'SSEKMSKeyId' => [ 'shape' => 'SSEKMSKeyId', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-aws-kms-key-id', ], 'RequestCharged' => [ 'shape' => 'RequestCharged', 'location' => 'header', 'locationName' => 'x-amz-request-charged', ], ], ], 'UploadPartRequest' => [ 'type' => 'structure', 'required' => [ 'Bucket', 'Key', 'PartNumber', 'UploadId', ], 'members' => [ 'Body' => [ 'shape' => 'Body', 'streaming' => true, ], 'Bucket' => [ 'shape' => 'BucketName', 'location' => 'uri', 'locationName' => 'Bucket', ], 'ContentLength' => [ 'shape' => 'ContentLength', 'location' => 'header', 'locationName' => 'Content-Length', ], 'ContentMD5' => [ 'shape' => 'ContentMD5', 'location' => 'header', 'locationName' => 'Content-MD5', ], 'Key' => [ 'shape' => 'ObjectKey', 'location' => 'uri', 'locationName' => 'Key', ], 'PartNumber' => [ 'shape' => 'PartNumber', 'location' => 'querystring', 'locationName' => 'partNumber', ], 'UploadId' => [ 'shape' => 'MultipartUploadId', 'location' => 'querystring', 'locationName' => 'uploadId', ], 'SSECustomerAlgorithm' => [ 'shape' => 'SSECustomerAlgorithm', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-algorithm', ], 'SSECustomerKey' => [ 'shape' => 'SSECustomerKey', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key', ], 'SSECustomerKeyMD5' => [ 'shape' => 'SSECustomerKeyMD5', 'location' => 'header', 'locationName' => 'x-amz-server-side-encryption-customer-key-MD5', ], 'RequestPayer' => [ 'shape' => 'RequestPayer', 'location' => 'header', 'locationName' => 'x-amz-request-payer', ], ], 'payload' => 'Body', ], 'UserMetadata' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetadataEntry', 'locationName' => 'MetadataEntry', ], ], 'Value' => [ 'type' => 'string', ], 'VersionIdMarker' => [ 'type' => 'string', ], 'VersioningConfiguration' => [ 'type' => 'structure', 'members' => [ 'MFADelete' => [ 'shape' => 'MFADelete', 'locationName' => 'MfaDelete', ], 'Status' => [ 'shape' => 'BucketVersioningStatus', ], ], ], 'WebsiteConfiguration' => [ 'type' => 'structure', 'members' => [ 'ErrorDocument' => [ 'shape' => 'ErrorDocument', ], 'IndexDocument' => [ 'shape' => 'IndexDocument', ], 'RedirectAllRequestsTo' => [ 'shape' => 'RedirectAllRequestsTo', ], 'RoutingRules' => [ 'shape' => 'RoutingRules', ], ], ], 'WebsiteRedirectLocation' => [ 'type' => 'string', ], 'Years' => [ 'type' => 'integer', ], ],]; diff --git a/lib/aws/Aws/data/s3/2006-03-01/paginators-1.json.php b/lib/aws/Aws/data/s3/2006-03-01/paginators-1.json.php new file mode 100644 index 0000000..025a49d --- /dev/null +++ b/lib/aws/Aws/data/s3/2006-03-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/paginators-1.json +return [ 'pagination' => [ 'ListBuckets' => [ 'result_key' => 'Buckets', ], 'ListMultipartUploads' => [ 'input_token' => [ 'KeyMarker', 'UploadIdMarker', ], 'limit_key' => 'MaxUploads', 'more_results' => 'IsTruncated', 'output_token' => [ 'NextKeyMarker', 'NextUploadIdMarker', ], 'result_key' => [ 'Uploads', 'CommonPrefixes', ], ], 'ListObjectVersions' => [ 'input_token' => [ 'KeyMarker', 'VersionIdMarker', ], 'limit_key' => 'MaxKeys', 'more_results' => 'IsTruncated', 'output_token' => [ 'NextKeyMarker', 'NextVersionIdMarker', ], 'result_key' => [ 'Versions', 'DeleteMarkers', 'CommonPrefixes', ], ], 'ListObjects' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxKeys', 'more_results' => 'IsTruncated', 'output_token' => 'NextMarker || Contents[-1].Key', 'result_key' => [ 'Contents', 'CommonPrefixes', ], ], 'ListObjectsV2' => [ 'input_token' => 'ContinuationToken', 'limit_key' => 'MaxKeys', 'output_token' => 'NextContinuationToken', 'result_key' => [ 'Contents', 'CommonPrefixes', ], ], 'ListParts' => [ 'input_token' => 'PartNumberMarker', 'limit_key' => 'MaxParts', 'more_results' => 'IsTruncated', 'output_token' => 'NextPartNumberMarker', 'result_key' => 'Parts', ], ],]; diff --git a/lib/aws/Aws/data/s3/2006-03-01/smoke.json.php b/lib/aws/Aws/data/s3/2006-03-01/smoke.json.php new file mode 100644 index 0000000..1d393b0 --- /dev/null +++ b/lib/aws/Aws/data/s3/2006-03-01/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListBuckets', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/s3/2006-03-01/waiters-1.json.php b/lib/aws/Aws/data/s3/2006-03-01/waiters-1.json.php new file mode 100644 index 0000000..70e0bdb --- /dev/null +++ b/lib/aws/Aws/data/s3/2006-03-01/waiters-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/waiters-1.json +return [ 'waiters' => [ '__default__' => [ 'interval' => 5, 'max_attempts' => 20, ], 'BucketExists' => [ 'operation' => 'HeadBucket', 'ignore_errors' => [ 'NoSuchBucket', ], 'success_type' => 'output', ], 'BucketNotExists' => [ 'operation' => 'HeadBucket', 'success_type' => 'error', 'success_value' => 'NoSuchBucket', ], 'ObjectExists' => [ 'operation' => 'HeadObject', 'ignore_errors' => [ 'NoSuchKey', ], 'success_type' => 'output', ], 'ObjectNotExists' => [ 'operation' => 'HeadObject', 'success_type' => 'error', 'success_value' => 'NoSuchKey', ], ],]; diff --git a/lib/aws/Aws/data/s3/2006-03-01/waiters-2.json.php b/lib/aws/Aws/data/s3/2006-03-01/waiters-2.json.php new file mode 100644 index 0000000..6058168 --- /dev/null +++ b/lib/aws/Aws/data/s3/2006-03-01/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3/2006-03-01/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'BucketExists' => [ 'delay' => 5, 'operation' => 'HeadBucket', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 301, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 403, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 404, 'matcher' => 'status', 'state' => 'retry', ], ], ], 'BucketNotExists' => [ 'delay' => 5, 'operation' => 'HeadBucket', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 404, 'matcher' => 'status', 'state' => 'success', ], ], ], 'ObjectExists' => [ 'delay' => 5, 'operation' => 'HeadObject', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 404, 'matcher' => 'status', 'state' => 'retry', ], ], ], 'ObjectNotExists' => [ 'delay' => 5, 'operation' => 'HeadObject', 'maxAttempts' => 20, 'acceptors' => [ [ 'expected' => 404, 'matcher' => 'status', 'state' => 'success', ], ], ], ],]; diff --git a/lib/aws/Aws/data/s3control/2018-08-20/api-2.json.php b/lib/aws/Aws/data/s3control/2018-08-20/api-2.json.php new file mode 100644 index 0000000..ae717f9 --- /dev/null +++ b/lib/aws/Aws/data/s3control/2018-08-20/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3control/2018-08-20/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-08-20', 'endpointPrefix' => 's3-control', 'protocol' => 'rest-xml', 'serviceFullName' => 'AWS S3 Control', 'serviceId' => 'S3 Control', 'signatureVersion' => 's3v4', 'signingName' => 's3', 'uid' => 's3control-2018-08-20', ], 'operations' => [ 'DeletePublicAccessBlock' => [ 'name' => 'DeletePublicAccessBlock', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v20180820/configuration/publicAccessBlock', ], 'input' => [ 'shape' => 'DeletePublicAccessBlockRequest', ], ], 'GetPublicAccessBlock' => [ 'name' => 'GetPublicAccessBlock', 'http' => [ 'method' => 'GET', 'requestUri' => '/v20180820/configuration/publicAccessBlock', ], 'input' => [ 'shape' => 'GetPublicAccessBlockRequest', ], 'output' => [ 'shape' => 'GetPublicAccessBlockOutput', ], 'errors' => [ [ 'shape' => 'NoSuchPublicAccessBlockConfiguration', ], ], ], 'PutPublicAccessBlock' => [ 'name' => 'PutPublicAccessBlock', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v20180820/configuration/publicAccessBlock', ], 'input' => [ 'shape' => 'PutPublicAccessBlockRequest', ], ], ], 'shapes' => [ 'AccountId' => [ 'type' => 'string', ], 'DeletePublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', 'location' => 'header', 'locationName' => 'x-amz-account-id', ], ], ], 'GetPublicAccessBlockOutput' => [ 'type' => 'structure', 'members' => [ 'PublicAccessBlockConfiguration' => [ 'shape' => 'PublicAccessBlockConfiguration', ], ], 'payload' => 'PublicAccessBlockConfiguration', ], 'GetPublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', 'location' => 'header', 'locationName' => 'x-amz-account-id', ], ], ], 'NoSuchPublicAccessBlockConfiguration' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NoSuchPublicAccessBlockConfigurationMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'NoSuchPublicAccessBlockConfigurationMessage' => [ 'type' => 'string', ], 'PublicAccessBlockConfiguration' => [ 'type' => 'structure', 'members' => [ 'BlockPublicAcls' => [ 'shape' => 'Setting', 'locationName' => 'BlockPublicAcls', ], 'IgnorePublicAcls' => [ 'shape' => 'Setting', 'locationName' => 'IgnorePublicAcls', ], 'BlockPublicPolicy' => [ 'shape' => 'Setting', 'locationName' => 'BlockPublicPolicy', ], 'RestrictPublicBuckets' => [ 'shape' => 'Setting', 'locationName' => 'RestrictPublicBuckets', ], ], ], 'PutPublicAccessBlockRequest' => [ 'type' => 'structure', 'required' => [ 'PublicAccessBlockConfiguration', 'AccountId', ], 'members' => [ 'PublicAccessBlockConfiguration' => [ 'shape' => 'PublicAccessBlockConfiguration', 'locationName' => 'PublicAccessBlockConfiguration', 'xmlNamespace' => [ 'uri' => 'http://awss3control.amazonaws.com/doc/2018-08-20/', ], ], 'AccountId' => [ 'shape' => 'AccountId', 'location' => 'header', 'locationName' => 'x-amz-account-id', ], ], 'payload' => 'PublicAccessBlockConfiguration', ], 'Setting' => [ 'type' => 'boolean', ], ],]; diff --git a/lib/aws/Aws/data/s3control/2018-08-20/paginators-1.json.php b/lib/aws/Aws/data/s3control/2018-08-20/paginators-1.json.php new file mode 100644 index 0000000..4782094 --- /dev/null +++ b/lib/aws/Aws/data/s3control/2018-08-20/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/s3control/2018-08-20/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/sagemaker/2017-07-24/api-2.json.php b/lib/aws/Aws/data/sagemaker/2017-07-24/api-2.json.php new file mode 100644 index 0000000..b8446c7 --- /dev/null +++ b/lib/aws/Aws/data/sagemaker/2017-07-24/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sagemaker/2017-07-24/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-07-24', 'endpointPrefix' => 'api.sagemaker', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'SageMaker', 'serviceFullName' => 'Amazon SageMaker Service', 'serviceId' => 'SageMaker', 'signatureVersion' => 'v4', 'signingName' => 'sagemaker', 'targetPrefix' => 'SageMaker', 'uid' => 'sagemaker-2017-07-24', ], 'operations' => [ 'AddTags' => [ 'name' => 'AddTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsInput', ], 'output' => [ 'shape' => 'AddTagsOutput', ], ], 'CreateAlgorithm' => [ 'name' => 'CreateAlgorithm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAlgorithmInput', ], 'output' => [ 'shape' => 'CreateAlgorithmOutput', ], ], 'CreateCodeRepository' => [ 'name' => 'CreateCodeRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCodeRepositoryInput', ], 'output' => [ 'shape' => 'CreateCodeRepositoryOutput', ], ], 'CreateCompilationJob' => [ 'name' => 'CreateCompilationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCompilationJobRequest', ], 'output' => [ 'shape' => 'CreateCompilationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateEndpoint' => [ 'name' => 'CreateEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEndpointInput', ], 'output' => [ 'shape' => 'CreateEndpointOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateEndpointConfig' => [ 'name' => 'CreateEndpointConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEndpointConfigInput', ], 'output' => [ 'shape' => 'CreateEndpointConfigOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateHyperParameterTuningJob' => [ 'name' => 'CreateHyperParameterTuningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHyperParameterTuningJobRequest', ], 'output' => [ 'shape' => 'CreateHyperParameterTuningJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateLabelingJob' => [ 'name' => 'CreateLabelingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateLabelingJobRequest', ], 'output' => [ 'shape' => 'CreateLabelingJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateModel' => [ 'name' => 'CreateModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateModelInput', ], 'output' => [ 'shape' => 'CreateModelOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateModelPackage' => [ 'name' => 'CreateModelPackage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateModelPackageInput', ], 'output' => [ 'shape' => 'CreateModelPackageOutput', ], ], 'CreateNotebookInstance' => [ 'name' => 'CreateNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNotebookInstanceInput', ], 'output' => [ 'shape' => 'CreateNotebookInstanceOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateNotebookInstanceLifecycleConfig' => [ 'name' => 'CreateNotebookInstanceLifecycleConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNotebookInstanceLifecycleConfigInput', ], 'output' => [ 'shape' => 'CreateNotebookInstanceLifecycleConfigOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreatePresignedNotebookInstanceUrl' => [ 'name' => 'CreatePresignedNotebookInstanceUrl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePresignedNotebookInstanceUrlInput', ], 'output' => [ 'shape' => 'CreatePresignedNotebookInstanceUrlOutput', ], ], 'CreateTrainingJob' => [ 'name' => 'CreateTrainingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTrainingJobRequest', ], 'output' => [ 'shape' => 'CreateTrainingJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateTransformJob' => [ 'name' => 'CreateTransformJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTransformJobRequest', ], 'output' => [ 'shape' => 'CreateTransformJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'CreateWorkteam' => [ 'name' => 'CreateWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWorkteamRequest', ], 'output' => [ 'shape' => 'CreateWorkteamResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'DeleteAlgorithm' => [ 'name' => 'DeleteAlgorithm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAlgorithmInput', ], ], 'DeleteCodeRepository' => [ 'name' => 'DeleteCodeRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteCodeRepositoryInput', ], ], 'DeleteEndpoint' => [ 'name' => 'DeleteEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEndpointInput', ], ], 'DeleteEndpointConfig' => [ 'name' => 'DeleteEndpointConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEndpointConfigInput', ], ], 'DeleteModel' => [ 'name' => 'DeleteModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteModelInput', ], ], 'DeleteModelPackage' => [ 'name' => 'DeleteModelPackage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteModelPackageInput', ], ], 'DeleteNotebookInstance' => [ 'name' => 'DeleteNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotebookInstanceInput', ], ], 'DeleteNotebookInstanceLifecycleConfig' => [ 'name' => 'DeleteNotebookInstanceLifecycleConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotebookInstanceLifecycleConfigInput', ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsInput', ], 'output' => [ 'shape' => 'DeleteTagsOutput', ], ], 'DeleteWorkteam' => [ 'name' => 'DeleteWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWorkteamRequest', ], 'output' => [ 'shape' => 'DeleteWorkteamResponse', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'DescribeAlgorithm' => [ 'name' => 'DescribeAlgorithm', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAlgorithmInput', ], 'output' => [ 'shape' => 'DescribeAlgorithmOutput', ], ], 'DescribeCodeRepository' => [ 'name' => 'DescribeCodeRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCodeRepositoryInput', ], 'output' => [ 'shape' => 'DescribeCodeRepositoryOutput', ], ], 'DescribeCompilationJob' => [ 'name' => 'DescribeCompilationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCompilationJobRequest', ], 'output' => [ 'shape' => 'DescribeCompilationJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DescribeEndpoint' => [ 'name' => 'DescribeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointInput', ], 'output' => [ 'shape' => 'DescribeEndpointOutput', ], ], 'DescribeEndpointConfig' => [ 'name' => 'DescribeEndpointConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEndpointConfigInput', ], 'output' => [ 'shape' => 'DescribeEndpointConfigOutput', ], ], 'DescribeHyperParameterTuningJob' => [ 'name' => 'DescribeHyperParameterTuningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeHyperParameterTuningJobRequest', ], 'output' => [ 'shape' => 'DescribeHyperParameterTuningJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DescribeLabelingJob' => [ 'name' => 'DescribeLabelingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeLabelingJobRequest', ], 'output' => [ 'shape' => 'DescribeLabelingJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DescribeModel' => [ 'name' => 'DescribeModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeModelInput', ], 'output' => [ 'shape' => 'DescribeModelOutput', ], ], 'DescribeModelPackage' => [ 'name' => 'DescribeModelPackage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeModelPackageInput', ], 'output' => [ 'shape' => 'DescribeModelPackageOutput', ], ], 'DescribeNotebookInstance' => [ 'name' => 'DescribeNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNotebookInstanceInput', ], 'output' => [ 'shape' => 'DescribeNotebookInstanceOutput', ], ], 'DescribeNotebookInstanceLifecycleConfig' => [ 'name' => 'DescribeNotebookInstanceLifecycleConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNotebookInstanceLifecycleConfigInput', ], 'output' => [ 'shape' => 'DescribeNotebookInstanceLifecycleConfigOutput', ], ], 'DescribeSubscribedWorkteam' => [ 'name' => 'DescribeSubscribedWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubscribedWorkteamRequest', ], 'output' => [ 'shape' => 'DescribeSubscribedWorkteamResponse', ], ], 'DescribeTrainingJob' => [ 'name' => 'DescribeTrainingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrainingJobRequest', ], 'output' => [ 'shape' => 'DescribeTrainingJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DescribeTransformJob' => [ 'name' => 'DescribeTransformJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTransformJobRequest', ], 'output' => [ 'shape' => 'DescribeTransformJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'DescribeWorkteam' => [ 'name' => 'DescribeWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkteamRequest', ], 'output' => [ 'shape' => 'DescribeWorkteamResponse', ], ], 'GetSearchSuggestions' => [ 'name' => 'GetSearchSuggestions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSearchSuggestionsRequest', ], 'output' => [ 'shape' => 'GetSearchSuggestionsResponse', ], ], 'ListAlgorithms' => [ 'name' => 'ListAlgorithms', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAlgorithmsInput', ], 'output' => [ 'shape' => 'ListAlgorithmsOutput', ], ], 'ListCodeRepositories' => [ 'name' => 'ListCodeRepositories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCodeRepositoriesInput', ], 'output' => [ 'shape' => 'ListCodeRepositoriesOutput', ], ], 'ListCompilationJobs' => [ 'name' => 'ListCompilationJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCompilationJobsRequest', ], 'output' => [ 'shape' => 'ListCompilationJobsResponse', ], ], 'ListEndpointConfigs' => [ 'name' => 'ListEndpointConfigs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEndpointConfigsInput', ], 'output' => [ 'shape' => 'ListEndpointConfigsOutput', ], ], 'ListEndpoints' => [ 'name' => 'ListEndpoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEndpointsInput', ], 'output' => [ 'shape' => 'ListEndpointsOutput', ], ], 'ListHyperParameterTuningJobs' => [ 'name' => 'ListHyperParameterTuningJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListHyperParameterTuningJobsRequest', ], 'output' => [ 'shape' => 'ListHyperParameterTuningJobsResponse', ], ], 'ListLabelingJobs' => [ 'name' => 'ListLabelingJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLabelingJobsRequest', ], 'output' => [ 'shape' => 'ListLabelingJobsResponse', ], ], 'ListLabelingJobsForWorkteam' => [ 'name' => 'ListLabelingJobsForWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLabelingJobsForWorkteamRequest', ], 'output' => [ 'shape' => 'ListLabelingJobsForWorkteamResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'ListModelPackages' => [ 'name' => 'ListModelPackages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListModelPackagesInput', ], 'output' => [ 'shape' => 'ListModelPackagesOutput', ], ], 'ListModels' => [ 'name' => 'ListModels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListModelsInput', ], 'output' => [ 'shape' => 'ListModelsOutput', ], ], 'ListNotebookInstanceLifecycleConfigs' => [ 'name' => 'ListNotebookInstanceLifecycleConfigs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListNotebookInstanceLifecycleConfigsInput', ], 'output' => [ 'shape' => 'ListNotebookInstanceLifecycleConfigsOutput', ], ], 'ListNotebookInstances' => [ 'name' => 'ListNotebookInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListNotebookInstancesInput', ], 'output' => [ 'shape' => 'ListNotebookInstancesOutput', ], ], 'ListSubscribedWorkteams' => [ 'name' => 'ListSubscribedWorkteams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSubscribedWorkteamsRequest', ], 'output' => [ 'shape' => 'ListSubscribedWorkteamsResponse', ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsInput', ], 'output' => [ 'shape' => 'ListTagsOutput', ], ], 'ListTrainingJobs' => [ 'name' => 'ListTrainingJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTrainingJobsRequest', ], 'output' => [ 'shape' => 'ListTrainingJobsResponse', ], ], 'ListTrainingJobsForHyperParameterTuningJob' => [ 'name' => 'ListTrainingJobsForHyperParameterTuningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTrainingJobsForHyperParameterTuningJobRequest', ], 'output' => [ 'shape' => 'ListTrainingJobsForHyperParameterTuningJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'ListTransformJobs' => [ 'name' => 'ListTransformJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTransformJobsRequest', ], 'output' => [ 'shape' => 'ListTransformJobsResponse', ], ], 'ListWorkteams' => [ 'name' => 'ListWorkteams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWorkteamsRequest', ], 'output' => [ 'shape' => 'ListWorkteamsResponse', ], ], 'RenderUiTemplate' => [ 'name' => 'RenderUiTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RenderUiTemplateRequest', ], 'output' => [ 'shape' => 'RenderUiTemplateResponse', ], ], 'Search' => [ 'name' => 'Search', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchRequest', ], 'output' => [ 'shape' => 'SearchResponse', ], ], 'StartNotebookInstance' => [ 'name' => 'StartNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartNotebookInstanceInput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'StopCompilationJob' => [ 'name' => 'StopCompilationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopCompilationJobRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'StopHyperParameterTuningJob' => [ 'name' => 'StopHyperParameterTuningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopHyperParameterTuningJobRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'StopLabelingJob' => [ 'name' => 'StopLabelingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopLabelingJobRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'StopNotebookInstance' => [ 'name' => 'StopNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopNotebookInstanceInput', ], ], 'StopTrainingJob' => [ 'name' => 'StopTrainingJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTrainingJobRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'StopTransformJob' => [ 'name' => 'StopTransformJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopTransformJobRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFound', ], ], ], 'UpdateCodeRepository' => [ 'name' => 'UpdateCodeRepository', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateCodeRepositoryInput', ], 'output' => [ 'shape' => 'UpdateCodeRepositoryOutput', ], ], 'UpdateEndpoint' => [ 'name' => 'UpdateEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEndpointInput', ], 'output' => [ 'shape' => 'UpdateEndpointOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'UpdateEndpointWeightsAndCapacities' => [ 'name' => 'UpdateEndpointWeightsAndCapacities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEndpointWeightsAndCapacitiesInput', ], 'output' => [ 'shape' => 'UpdateEndpointWeightsAndCapacitiesOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'UpdateNotebookInstance' => [ 'name' => 'UpdateNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNotebookInstanceInput', ], 'output' => [ 'shape' => 'UpdateNotebookInstanceOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'UpdateNotebookInstanceLifecycleConfig' => [ 'name' => 'UpdateNotebookInstanceLifecycleConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNotebookInstanceLifecycleConfigInput', ], 'output' => [ 'shape' => 'UpdateNotebookInstanceLifecycleConfigOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'UpdateWorkteam' => [ 'name' => 'UpdateWorkteam', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateWorkteamRequest', ], 'output' => [ 'shape' => 'UpdateWorkteamResponse', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], ], 'shapes' => [ 'Accept' => [ 'type' => 'string', 'max' => 256, 'pattern' => '.*', ], 'AccountId' => [ 'type' => 'string', 'pattern' => '^\\d+$', ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AdditionalCodeRepositoryNamesOrUrls' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], 'max' => 3, ], 'AlgorithmArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:algorithm/.*', ], 'AlgorithmImage' => [ 'type' => 'string', 'max' => 255, 'pattern' => '.*', ], 'AlgorithmSortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', ], ], 'AlgorithmSpecification' => [ 'type' => 'structure', 'required' => [ 'TrainingInputMode', ], 'members' => [ 'TrainingImage' => [ 'shape' => 'AlgorithmImage', ], 'AlgorithmName' => [ 'shape' => 'ArnOrName', ], 'TrainingInputMode' => [ 'shape' => 'TrainingInputMode', ], 'MetricDefinitions' => [ 'shape' => 'MetricDefinitionList', ], ], ], 'AlgorithmStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Completed', 'Failed', 'Deleting', ], ], 'AlgorithmStatusDetails' => [ 'type' => 'structure', 'members' => [ 'ValidationStatuses' => [ 'shape' => 'AlgorithmStatusItemList', ], 'ImageScanStatuses' => [ 'shape' => 'AlgorithmStatusItemList', ], ], ], 'AlgorithmStatusItem' => [ 'type' => 'structure', 'required' => [ 'Name', 'Status', ], 'members' => [ 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'DetailedAlgorithmStatus', ], 'FailureReason' => [ 'shape' => 'String', ], ], ], 'AlgorithmStatusItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AlgorithmStatusItem', ], ], 'AlgorithmSummary' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', 'AlgorithmArn', 'CreationTime', 'AlgorithmStatus', ], 'members' => [ 'AlgorithmName' => [ 'shape' => 'EntityName', ], 'AlgorithmArn' => [ 'shape' => 'AlgorithmArn', ], 'AlgorithmDescription' => [ 'shape' => 'EntityDescription', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'AlgorithmStatus' => [ 'shape' => 'AlgorithmStatus', ], ], ], 'AlgorithmSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AlgorithmSummary', ], ], 'AlgorithmValidationProfile' => [ 'type' => 'structure', 'required' => [ 'ProfileName', 'TrainingJobDefinition', ], 'members' => [ 'ProfileName' => [ 'shape' => 'EntityName', ], 'TrainingJobDefinition' => [ 'shape' => 'TrainingJobDefinition', ], 'TransformJobDefinition' => [ 'shape' => 'TransformJobDefinition', ], ], ], 'AlgorithmValidationProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'AlgorithmValidationProfile', ], 'max' => 1, 'min' => 1, ], 'AlgorithmValidationSpecification' => [ 'type' => 'structure', 'required' => [ 'ValidationRole', 'ValidationProfiles', ], 'members' => [ 'ValidationRole' => [ 'shape' => 'RoleArn', ], 'ValidationProfiles' => [ 'shape' => 'AlgorithmValidationProfiles', ], ], ], 'AnnotationConsolidationConfig' => [ 'type' => 'structure', 'required' => [ 'AnnotationConsolidationLambdaArn', ], 'members' => [ 'AnnotationConsolidationLambdaArn' => [ 'shape' => 'LambdaFunctionArn', ], ], ], 'ArnOrName' => [ 'type' => 'string', 'max' => 170, 'min' => 1, 'pattern' => '(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?<!-)$', ], 'AssemblyType' => [ 'type' => 'string', 'enum' => [ 'None', 'Line', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '.+', ], 'AttributeNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeName', ], 'max' => 16, ], 'BatchStrategy' => [ 'type' => 'string', 'enum' => [ 'MultiRecord', 'SingleRecord', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOperator' => [ 'type' => 'string', 'enum' => [ 'And', 'Or', ], ], 'Branch' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[^ ~^:?*\\[]+', ], 'CategoricalParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'Values' => [ 'shape' => 'ParameterValues', ], ], ], 'CategoricalParameterRangeSpecification' => [ 'type' => 'structure', 'required' => [ 'Values', ], 'members' => [ 'Values' => [ 'shape' => 'ParameterValues', ], ], ], 'CategoricalParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'CategoricalParameterRange', ], 'max' => 20, 'min' => 0, ], 'Cents' => [ 'type' => 'integer', 'max' => 99, 'min' => 0, ], 'CertifyForMarketplace' => [ 'type' => 'boolean', ], 'Channel' => [ 'type' => 'structure', 'required' => [ 'ChannelName', 'DataSource', ], 'members' => [ 'ChannelName' => [ 'shape' => 'ChannelName', ], 'DataSource' => [ 'shape' => 'DataSource', ], 'ContentType' => [ 'shape' => 'ContentType', ], 'CompressionType' => [ 'shape' => 'CompressionType', ], 'RecordWrapperType' => [ 'shape' => 'RecordWrapper', ], 'InputMode' => [ 'shape' => 'TrainingInputMode', ], 'ShuffleConfig' => [ 'shape' => 'ShuffleConfig', ], ], ], 'ChannelName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[A-Za-z0-9\\.\\-_]+', ], 'ChannelSpecification' => [ 'type' => 'structure', 'required' => [ 'Name', 'SupportedContentTypes', 'SupportedInputModes', ], 'members' => [ 'Name' => [ 'shape' => 'ChannelName', ], 'Description' => [ 'shape' => 'EntityDescription', ], 'IsRequired' => [ 'shape' => 'Boolean', ], 'SupportedContentTypes' => [ 'shape' => 'ContentTypes', ], 'SupportedCompressionTypes' => [ 'shape' => 'CompressionTypes', ], 'SupportedInputModes' => [ 'shape' => 'InputModes', ], ], ], 'ChannelSpecifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChannelSpecification', ], 'max' => 8, 'min' => 1, ], 'CodeRepositoryArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:code-repository/.*', ], 'CodeRepositoryContains' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '[a-zA-Z0-9-]+', ], 'CodeRepositoryNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'CodeRepositoryNameOrUrl' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^https://([^/]+)/?(.*)$|^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'CodeRepositorySortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'LastModifiedTime', ], ], 'CodeRepositorySortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'CodeRepositorySummary' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', 'CodeRepositoryArn', 'CreationTime', 'LastModifiedTime', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], 'CodeRepositoryArn' => [ 'shape' => 'CodeRepositoryArn', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'GitConfig' => [ 'shape' => 'GitConfig', ], ], ], 'CodeRepositorySummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CodeRepositorySummary', ], ], 'CognitoClientId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+]+', ], 'CognitoMemberDefinition' => [ 'type' => 'structure', 'required' => [ 'UserPool', 'UserGroup', 'ClientId', ], 'members' => [ 'UserPool' => [ 'shape' => 'CognitoUserPool', ], 'UserGroup' => [ 'shape' => 'CognitoUserGroup', ], 'ClientId' => [ 'shape' => 'CognitoClientId', ], ], ], 'CognitoUserGroup' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+', ], 'CognitoUserPool' => [ 'type' => 'string', 'max' => 55, 'min' => 1, 'pattern' => '[\\w-]+_[0-9a-zA-Z]+', ], 'CompilationJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:compilation-job/.*', ], 'CompilationJobStatus' => [ 'type' => 'string', 'enum' => [ 'INPROGRESS', 'COMPLETED', 'FAILED', 'STARTING', 'STOPPING', 'STOPPED', ], ], 'CompilationJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompilationJobSummary', ], ], 'CompilationJobSummary' => [ 'type' => 'structure', 'required' => [ 'CompilationJobName', 'CompilationJobArn', 'CreationTime', 'CompilationTargetDevice', 'CompilationJobStatus', ], 'members' => [ 'CompilationJobName' => [ 'shape' => 'EntityName', ], 'CompilationJobArn' => [ 'shape' => 'CompilationJobArn', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'CompilationStartTime' => [ 'shape' => 'Timestamp', ], 'CompilationEndTime' => [ 'shape' => 'Timestamp', ], 'CompilationTargetDevice' => [ 'shape' => 'TargetDevice', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'CompilationJobStatus' => [ 'shape' => 'CompilationJobStatus', ], ], ], 'CompressionType' => [ 'type' => 'string', 'enum' => [ 'None', 'Gzip', ], ], 'CompressionTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompressionType', ], ], 'ContainerDefinition' => [ 'type' => 'structure', 'members' => [ 'ContainerHostname' => [ 'shape' => 'ContainerHostname', ], 'Image' => [ 'shape' => 'Image', ], 'ModelDataUrl' => [ 'shape' => 'Url', ], 'Environment' => [ 'shape' => 'EnvironmentMap', ], 'ModelPackageName' => [ 'shape' => 'ArnOrName', ], ], ], 'ContainerDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerDefinition', ], 'max' => 5, ], 'ContainerHostname' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'ContentClassifier' => [ 'type' => 'string', 'enum' => [ 'FreeOfPersonallyIdentifiableInformation', 'FreeOfAdultContent', ], ], 'ContentClassifiers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentClassifier', ], 'max' => 256, ], 'ContentType' => [ 'type' => 'string', 'max' => 256, 'pattern' => '.*', ], 'ContentTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentType', ], ], 'ContinuousParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'MinValue', 'MaxValue', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], 'ScalingType' => [ 'shape' => 'HyperParameterScalingType', ], ], ], 'ContinuousParameterRangeSpecification' => [ 'type' => 'structure', 'required' => [ 'MinValue', 'MaxValue', ], 'members' => [ 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], ], ], 'ContinuousParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContinuousParameterRange', ], 'max' => 20, 'min' => 0, ], 'CreateAlgorithmInput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', 'TrainingSpecification', ], 'members' => [ 'AlgorithmName' => [ 'shape' => 'EntityName', ], 'AlgorithmDescription' => [ 'shape' => 'EntityDescription', ], 'TrainingSpecification' => [ 'shape' => 'TrainingSpecification', ], 'InferenceSpecification' => [ 'shape' => 'InferenceSpecification', ], 'ValidationSpecification' => [ 'shape' => 'AlgorithmValidationSpecification', ], 'CertifyForMarketplace' => [ 'shape' => 'CertifyForMarketplace', ], ], ], 'CreateAlgorithmOutput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmArn', ], 'members' => [ 'AlgorithmArn' => [ 'shape' => 'AlgorithmArn', ], ], ], 'CreateCodeRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', 'GitConfig', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], 'GitConfig' => [ 'shape' => 'GitConfig', ], ], ], 'CreateCodeRepositoryOutput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryArn', ], 'members' => [ 'CodeRepositoryArn' => [ 'shape' => 'CodeRepositoryArn', ], ], ], 'CreateCompilationJobRequest' => [ 'type' => 'structure', 'required' => [ 'CompilationJobName', 'RoleArn', 'InputConfig', 'OutputConfig', 'StoppingCondition', ], 'members' => [ 'CompilationJobName' => [ 'shape' => 'EntityName', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputConfig' => [ 'shape' => 'InputConfig', ], 'OutputConfig' => [ 'shape' => 'OutputConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], ], ], 'CreateCompilationJobResponse' => [ 'type' => 'structure', 'required' => [ 'CompilationJobArn', ], 'members' => [ 'CompilationJobArn' => [ 'shape' => 'CompilationJobArn', ], ], ], 'CreateEndpointConfigInput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigName', 'ProductionVariants', ], 'members' => [ 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], 'ProductionVariants' => [ 'shape' => 'ProductionVariantList', ], 'Tags' => [ 'shape' => 'TagList', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'CreateEndpointConfigOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigArn', ], 'members' => [ 'EndpointConfigArn' => [ 'shape' => 'EndpointConfigArn', ], ], ], 'CreateEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'EndpointConfigName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'EndpointArn', ], ], ], 'CreateHyperParameterTuningJobRequest' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', 'HyperParameterTuningJobConfig', 'TrainingJobDefinition', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], 'HyperParameterTuningJobConfig' => [ 'shape' => 'HyperParameterTuningJobConfig', ], 'TrainingJobDefinition' => [ 'shape' => 'HyperParameterTrainingJobDefinition', ], 'WarmStartConfig' => [ 'shape' => 'HyperParameterTuningJobWarmStartConfig', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateHyperParameterTuningJobResponse' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobArn', ], 'members' => [ 'HyperParameterTuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], ], ], 'CreateLabelingJobRequest' => [ 'type' => 'structure', 'required' => [ 'LabelingJobName', 'LabelAttributeName', 'InputConfig', 'OutputConfig', 'RoleArn', 'HumanTaskConfig', ], 'members' => [ 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], 'LabelAttributeName' => [ 'shape' => 'LabelAttributeName', ], 'InputConfig' => [ 'shape' => 'LabelingJobInputConfig', ], 'OutputConfig' => [ 'shape' => 'LabelingJobOutputConfig', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'LabelCategoryConfigS3Uri' => [ 'shape' => 'S3Uri', ], 'StoppingConditions' => [ 'shape' => 'LabelingJobStoppingConditions', ], 'LabelingJobAlgorithmsConfig' => [ 'shape' => 'LabelingJobAlgorithmsConfig', ], 'HumanTaskConfig' => [ 'shape' => 'HumanTaskConfig', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateLabelingJobResponse' => [ 'type' => 'structure', 'required' => [ 'LabelingJobArn', ], 'members' => [ 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], ], ], 'CreateModelInput' => [ 'type' => 'structure', 'required' => [ 'ModelName', 'ExecutionRoleArn', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], 'PrimaryContainer' => [ 'shape' => 'ContainerDefinition', ], 'Containers' => [ 'shape' => 'ContainerDefinitionList', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'Tags' => [ 'shape' => 'TagList', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], ], ], 'CreateModelOutput' => [ 'type' => 'structure', 'required' => [ 'ModelArn', ], 'members' => [ 'ModelArn' => [ 'shape' => 'ModelArn', ], ], ], 'CreateModelPackageInput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageName', ], 'members' => [ 'ModelPackageName' => [ 'shape' => 'EntityName', ], 'ModelPackageDescription' => [ 'shape' => 'EntityDescription', ], 'InferenceSpecification' => [ 'shape' => 'InferenceSpecification', ], 'ValidationSpecification' => [ 'shape' => 'ModelPackageValidationSpecification', ], 'SourceAlgorithmSpecification' => [ 'shape' => 'SourceAlgorithmSpecification', ], 'CertifyForMarketplace' => [ 'shape' => 'CertifyForMarketplace', ], ], ], 'CreateModelPackageOutput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageArn', ], 'members' => [ 'ModelPackageArn' => [ 'shape' => 'ModelPackageArn', ], ], ], 'CreateNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', 'InstanceType', 'RoleArn', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'Tags' => [ 'shape' => 'TagList', ], 'LifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'DirectInternetAccess' => [ 'shape' => 'DirectInternetAccess', ], 'VolumeSizeInGB' => [ 'shape' => 'NotebookInstanceVolumeSizeInGB', ], 'AcceleratorTypes' => [ 'shape' => 'NotebookInstanceAcceleratorTypes', ], 'DefaultCodeRepository' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], 'AdditionalCodeRepositories' => [ 'shape' => 'AdditionalCodeRepositoryNamesOrUrls', ], 'RootAccess' => [ 'shape' => 'RootAccess', ], ], ], 'CreateNotebookInstanceLifecycleConfigInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'OnCreate' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], 'OnStart' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], ], ], 'CreateNotebookInstanceLifecycleConfigOutput' => [ 'type' => 'structure', 'members' => [ 'NotebookInstanceLifecycleConfigArn' => [ 'shape' => 'NotebookInstanceLifecycleConfigArn', ], ], ], 'CreateNotebookInstanceOutput' => [ 'type' => 'structure', 'members' => [ 'NotebookInstanceArn' => [ 'shape' => 'NotebookInstanceArn', ], ], ], 'CreatePresignedNotebookInstanceUrlInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], 'SessionExpirationDurationInSeconds' => [ 'shape' => 'SessionExpirationDurationInSeconds', ], ], ], 'CreatePresignedNotebookInstanceUrlOutput' => [ 'type' => 'structure', 'members' => [ 'AuthorizedUrl' => [ 'shape' => 'NotebookInstanceUrl', ], ], ], 'CreateTrainingJobRequest' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'AlgorithmSpecification', 'RoleArn', 'OutputDataConfig', 'ResourceConfig', 'StoppingCondition', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'HyperParameters' => [ 'shape' => 'HyperParameters', ], 'AlgorithmSpecification' => [ 'shape' => 'AlgorithmSpecification', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'ResourceConfig' => [ 'shape' => 'ResourceConfig', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], 'Tags' => [ 'shape' => 'TagList', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], 'EnableInterContainerTrafficEncryption' => [ 'shape' => 'Boolean', ], ], ], 'CreateTrainingJobResponse' => [ 'type' => 'structure', 'required' => [ 'TrainingJobArn', ], 'members' => [ 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], ], ], 'CreateTransformJobRequest' => [ 'type' => 'structure', 'required' => [ 'TransformJobName', 'ModelName', 'TransformInput', 'TransformOutput', 'TransformResources', ], 'members' => [ 'TransformJobName' => [ 'shape' => 'TransformJobName', ], 'ModelName' => [ 'shape' => 'ModelName', ], 'MaxConcurrentTransforms' => [ 'shape' => 'MaxConcurrentTransforms', ], 'MaxPayloadInMB' => [ 'shape' => 'MaxPayloadInMB', ], 'BatchStrategy' => [ 'shape' => 'BatchStrategy', ], 'Environment' => [ 'shape' => 'TransformEnvironmentMap', ], 'TransformInput' => [ 'shape' => 'TransformInput', ], 'TransformOutput' => [ 'shape' => 'TransformOutput', ], 'TransformResources' => [ 'shape' => 'TransformResources', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateTransformJobResponse' => [ 'type' => 'structure', 'required' => [ 'TransformJobArn', ], 'members' => [ 'TransformJobArn' => [ 'shape' => 'TransformJobArn', ], ], ], 'CreateWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamName', 'MemberDefinitions', 'Description', ], 'members' => [ 'WorkteamName' => [ 'shape' => 'WorkteamName', ], 'MemberDefinitions' => [ 'shape' => 'MemberDefinitions', ], 'Description' => [ 'shape' => 'String200', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateWorkteamResponse' => [ 'type' => 'structure', 'members' => [ 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], ], ], 'CreationTime' => [ 'type' => 'timestamp', ], 'DataInputConfig' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[\\S\\s]+', ], 'DataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataSource', ], 'members' => [ 'S3DataSource' => [ 'shape' => 'S3DataSource', ], ], ], 'DeleteAlgorithmInput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', ], 'members' => [ 'AlgorithmName' => [ 'shape' => 'EntityName', ], ], ], 'DeleteCodeRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], ], ], 'DeleteEndpointConfigInput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigName', ], 'members' => [ 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], ], ], 'DeleteEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], ], ], 'DeleteModelInput' => [ 'type' => 'structure', 'required' => [ 'ModelName', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], ], ], 'DeleteModelPackageInput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageName', ], 'members' => [ 'ModelPackageName' => [ 'shape' => 'EntityName', ], ], ], 'DeleteNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], ], ], 'DeleteNotebookInstanceLifecycleConfigInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], ], ], 'DeleteTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'DeleteTagsOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamName', ], 'members' => [ 'WorkteamName' => [ 'shape' => 'WorkteamName', ], ], ], 'DeleteWorkteamResponse' => [ 'type' => 'structure', 'required' => [ 'Success', ], 'members' => [ 'Success' => [ 'shape' => 'Success', ], ], ], 'DeployedImage' => [ 'type' => 'structure', 'members' => [ 'SpecifiedImage' => [ 'shape' => 'Image', ], 'ResolvedImage' => [ 'shape' => 'Image', ], 'ResolutionTime' => [ 'shape' => 'Timestamp', ], ], ], 'DeployedImages' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeployedImage', ], ], 'DescribeAlgorithmInput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', ], 'members' => [ 'AlgorithmName' => [ 'shape' => 'ArnOrName', ], ], ], 'DescribeAlgorithmOutput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', 'AlgorithmArn', 'CreationTime', 'TrainingSpecification', 'AlgorithmStatus', 'AlgorithmStatusDetails', ], 'members' => [ 'AlgorithmName' => [ 'shape' => 'EntityName', ], 'AlgorithmArn' => [ 'shape' => 'AlgorithmArn', ], 'AlgorithmDescription' => [ 'shape' => 'EntityDescription', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'TrainingSpecification' => [ 'shape' => 'TrainingSpecification', ], 'InferenceSpecification' => [ 'shape' => 'InferenceSpecification', ], 'ValidationSpecification' => [ 'shape' => 'AlgorithmValidationSpecification', ], 'AlgorithmStatus' => [ 'shape' => 'AlgorithmStatus', ], 'AlgorithmStatusDetails' => [ 'shape' => 'AlgorithmStatusDetails', ], 'ProductId' => [ 'shape' => 'ProductId', ], 'CertifyForMarketplace' => [ 'shape' => 'CertifyForMarketplace', ], ], ], 'DescribeCodeRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], ], ], 'DescribeCodeRepositoryOutput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', 'CodeRepositoryArn', 'CreationTime', 'LastModifiedTime', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], 'CodeRepositoryArn' => [ 'shape' => 'CodeRepositoryArn', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'GitConfig' => [ 'shape' => 'GitConfig', ], ], ], 'DescribeCompilationJobRequest' => [ 'type' => 'structure', 'required' => [ 'CompilationJobName', ], 'members' => [ 'CompilationJobName' => [ 'shape' => 'EntityName', ], ], ], 'DescribeCompilationJobResponse' => [ 'type' => 'structure', 'required' => [ 'CompilationJobName', 'CompilationJobArn', 'CompilationJobStatus', 'StoppingCondition', 'CreationTime', 'LastModifiedTime', 'FailureReason', 'ModelArtifacts', 'RoleArn', 'InputConfig', 'OutputConfig', ], 'members' => [ 'CompilationJobName' => [ 'shape' => 'EntityName', ], 'CompilationJobArn' => [ 'shape' => 'CompilationJobArn', ], 'CompilationJobStatus' => [ 'shape' => 'CompilationJobStatus', ], 'CompilationStartTime' => [ 'shape' => 'Timestamp', ], 'CompilationEndTime' => [ 'shape' => 'Timestamp', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'ModelArtifacts' => [ 'shape' => 'ModelArtifacts', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputConfig' => [ 'shape' => 'InputConfig', ], 'OutputConfig' => [ 'shape' => 'OutputConfig', ], ], ], 'DescribeEndpointConfigInput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigName', ], 'members' => [ 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], ], ], 'DescribeEndpointConfigOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigName', 'EndpointConfigArn', 'ProductionVariants', 'CreationTime', ], 'members' => [ 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], 'EndpointConfigArn' => [ 'shape' => 'EndpointConfigArn', ], 'ProductionVariants' => [ 'shape' => 'ProductionVariantList', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], ], ], 'DescribeEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'EndpointArn', 'EndpointConfigName', 'EndpointStatus', 'CreationTime', 'LastModifiedTime', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], 'EndpointArn' => [ 'shape' => 'EndpointArn', ], 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], 'ProductionVariants' => [ 'shape' => 'ProductionVariantSummaryList', ], 'EndpointStatus' => [ 'shape' => 'EndpointStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeHyperParameterTuningJobRequest' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], ], ], 'DescribeHyperParameterTuningJobResponse' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', 'HyperParameterTuningJobArn', 'HyperParameterTuningJobConfig', 'TrainingJobDefinition', 'HyperParameterTuningJobStatus', 'CreationTime', 'TrainingJobStatusCounters', 'ObjectiveStatusCounters', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], 'HyperParameterTuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], 'HyperParameterTuningJobConfig' => [ 'shape' => 'HyperParameterTuningJobConfig', ], 'TrainingJobDefinition' => [ 'shape' => 'HyperParameterTrainingJobDefinition', ], 'HyperParameterTuningJobStatus' => [ 'shape' => 'HyperParameterTuningJobStatus', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'HyperParameterTuningEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'TrainingJobStatusCounters' => [ 'shape' => 'TrainingJobStatusCounters', ], 'ObjectiveStatusCounters' => [ 'shape' => 'ObjectiveStatusCounters', ], 'BestTrainingJob' => [ 'shape' => 'HyperParameterTrainingJobSummary', ], 'OverallBestTrainingJob' => [ 'shape' => 'HyperParameterTrainingJobSummary', ], 'WarmStartConfig' => [ 'shape' => 'HyperParameterTuningJobWarmStartConfig', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], ], ], 'DescribeLabelingJobRequest' => [ 'type' => 'structure', 'required' => [ 'LabelingJobName', ], 'members' => [ 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], ], ], 'DescribeLabelingJobResponse' => [ 'type' => 'structure', 'required' => [ 'LabelingJobStatus', 'LabelCounters', 'CreationTime', 'LastModifiedTime', 'JobReferenceCode', 'LabelingJobName', 'LabelingJobArn', 'InputConfig', 'OutputConfig', 'RoleArn', 'HumanTaskConfig', ], 'members' => [ 'LabelingJobStatus' => [ 'shape' => 'LabelingJobStatus', ], 'LabelCounters' => [ 'shape' => 'LabelCounters', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'JobReferenceCode' => [ 'shape' => 'JobReferenceCode', ], 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], 'LabelAttributeName' => [ 'shape' => 'LabelAttributeName', ], 'InputConfig' => [ 'shape' => 'LabelingJobInputConfig', ], 'OutputConfig' => [ 'shape' => 'LabelingJobOutputConfig', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'LabelCategoryConfigS3Uri' => [ 'shape' => 'S3Uri', ], 'StoppingConditions' => [ 'shape' => 'LabelingJobStoppingConditions', ], 'LabelingJobAlgorithmsConfig' => [ 'shape' => 'LabelingJobAlgorithmsConfig', ], 'HumanTaskConfig' => [ 'shape' => 'HumanTaskConfig', ], 'Tags' => [ 'shape' => 'TagList', ], 'LabelingJobOutput' => [ 'shape' => 'LabelingJobOutput', ], ], ], 'DescribeModelInput' => [ 'type' => 'structure', 'required' => [ 'ModelName', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], ], ], 'DescribeModelOutput' => [ 'type' => 'structure', 'required' => [ 'ModelName', 'ExecutionRoleArn', 'CreationTime', 'ModelArn', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], 'PrimaryContainer' => [ 'shape' => 'ContainerDefinition', ], 'Containers' => [ 'shape' => 'ContainerDefinitionList', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'ModelArn' => [ 'shape' => 'ModelArn', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], ], ], 'DescribeModelPackageInput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageName', ], 'members' => [ 'ModelPackageName' => [ 'shape' => 'ArnOrName', ], ], ], 'DescribeModelPackageOutput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageName', 'ModelPackageArn', 'CreationTime', 'ModelPackageStatus', 'ModelPackageStatusDetails', ], 'members' => [ 'ModelPackageName' => [ 'shape' => 'EntityName', ], 'ModelPackageArn' => [ 'shape' => 'ModelPackageArn', ], 'ModelPackageDescription' => [ 'shape' => 'EntityDescription', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'InferenceSpecification' => [ 'shape' => 'InferenceSpecification', ], 'SourceAlgorithmSpecification' => [ 'shape' => 'SourceAlgorithmSpecification', ], 'ValidationSpecification' => [ 'shape' => 'ModelPackageValidationSpecification', ], 'ModelPackageStatus' => [ 'shape' => 'ModelPackageStatus', ], 'ModelPackageStatusDetails' => [ 'shape' => 'ModelPackageStatusDetails', ], 'CertifyForMarketplace' => [ 'shape' => 'CertifyForMarketplace', ], ], ], 'DescribeNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], ], ], 'DescribeNotebookInstanceLifecycleConfigInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], ], ], 'DescribeNotebookInstanceLifecycleConfigOutput' => [ 'type' => 'structure', 'members' => [ 'NotebookInstanceLifecycleConfigArn' => [ 'shape' => 'NotebookInstanceLifecycleConfigArn', ], 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'OnCreate' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], 'OnStart' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], ], ], 'DescribeNotebookInstanceOutput' => [ 'type' => 'structure', 'members' => [ 'NotebookInstanceArn' => [ 'shape' => 'NotebookInstanceArn', ], 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], 'NotebookInstanceStatus' => [ 'shape' => 'NotebookInstanceStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'Url' => [ 'shape' => 'NotebookInstanceUrl', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupIds', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'DirectInternetAccess' => [ 'shape' => 'DirectInternetAccess', ], 'VolumeSizeInGB' => [ 'shape' => 'NotebookInstanceVolumeSizeInGB', ], 'AcceleratorTypes' => [ 'shape' => 'NotebookInstanceAcceleratorTypes', ], 'DefaultCodeRepository' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], 'AdditionalCodeRepositories' => [ 'shape' => 'AdditionalCodeRepositoryNamesOrUrls', ], 'RootAccess' => [ 'shape' => 'RootAccess', ], ], ], 'DescribeSubscribedWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamArn', ], 'members' => [ 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], ], ], 'DescribeSubscribedWorkteamResponse' => [ 'type' => 'structure', 'required' => [ 'SubscribedWorkteam', ], 'members' => [ 'SubscribedWorkteam' => [ 'shape' => 'SubscribedWorkteam', ], ], ], 'DescribeTrainingJobRequest' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], ], ], 'DescribeTrainingJobResponse' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'TrainingJobArn', 'ModelArtifacts', 'TrainingJobStatus', 'SecondaryStatus', 'AlgorithmSpecification', 'ResourceConfig', 'StoppingCondition', 'CreationTime', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], 'TuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], 'ModelArtifacts' => [ 'shape' => 'ModelArtifacts', ], 'TrainingJobStatus' => [ 'shape' => 'TrainingJobStatus', ], 'SecondaryStatus' => [ 'shape' => 'SecondaryStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'HyperParameters' => [ 'shape' => 'HyperParameters', ], 'AlgorithmSpecification' => [ 'shape' => 'AlgorithmSpecification', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'ResourceConfig' => [ 'shape' => 'ResourceConfig', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TrainingStartTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'SecondaryStatusTransitions' => [ 'shape' => 'SecondaryStatusTransitions', ], 'FinalMetricDataList' => [ 'shape' => 'FinalMetricDataList', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], 'EnableInterContainerTrafficEncryption' => [ 'shape' => 'Boolean', ], ], ], 'DescribeTransformJobRequest' => [ 'type' => 'structure', 'required' => [ 'TransformJobName', ], 'members' => [ 'TransformJobName' => [ 'shape' => 'TransformJobName', ], ], ], 'DescribeTransformJobResponse' => [ 'type' => 'structure', 'required' => [ 'TransformJobName', 'TransformJobArn', 'TransformJobStatus', 'ModelName', 'TransformInput', 'TransformResources', 'CreationTime', ], 'members' => [ 'TransformJobName' => [ 'shape' => 'TransformJobName', ], 'TransformJobArn' => [ 'shape' => 'TransformJobArn', ], 'TransformJobStatus' => [ 'shape' => 'TransformJobStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'ModelName' => [ 'shape' => 'ModelName', ], 'MaxConcurrentTransforms' => [ 'shape' => 'MaxConcurrentTransforms', ], 'MaxPayloadInMB' => [ 'shape' => 'MaxPayloadInMB', ], 'BatchStrategy' => [ 'shape' => 'BatchStrategy', ], 'Environment' => [ 'shape' => 'TransformEnvironmentMap', ], 'TransformInput' => [ 'shape' => 'TransformInput', ], 'TransformOutput' => [ 'shape' => 'TransformOutput', ], 'TransformResources' => [ 'shape' => 'TransformResources', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TransformStartTime' => [ 'shape' => 'Timestamp', ], 'TransformEndTime' => [ 'shape' => 'Timestamp', ], 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], ], ], 'DescribeWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamName', ], 'members' => [ 'WorkteamName' => [ 'shape' => 'WorkteamName', ], ], ], 'DescribeWorkteamResponse' => [ 'type' => 'structure', 'required' => [ 'Workteam', ], 'members' => [ 'Workteam' => [ 'shape' => 'Workteam', ], ], ], 'DesiredWeightAndCapacity' => [ 'type' => 'structure', 'required' => [ 'VariantName', ], 'members' => [ 'VariantName' => [ 'shape' => 'VariantName', ], 'DesiredWeight' => [ 'shape' => 'VariantWeight', ], 'DesiredInstanceCount' => [ 'shape' => 'TaskCount', ], ], ], 'DesiredWeightAndCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DesiredWeightAndCapacity', ], 'min' => 1, ], 'DetailedAlgorithmStatus' => [ 'type' => 'string', 'enum' => [ 'NotStarted', 'InProgress', 'Completed', 'Failed', ], ], 'DetailedModelPackageStatus' => [ 'type' => 'string', 'enum' => [ 'NotStarted', 'InProgress', 'Completed', 'Failed', ], ], 'DirectInternetAccess' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'DisassociateAdditionalCodeRepositories' => [ 'type' => 'boolean', ], 'DisassociateDefaultCodeRepository' => [ 'type' => 'boolean', ], 'DisassociateNotebookInstanceAcceleratorTypes' => [ 'type' => 'boolean', ], 'DisassociateNotebookInstanceLifecycleConfig' => [ 'type' => 'boolean', ], 'Dollars' => [ 'type' => 'integer', 'max' => 1, 'min' => 0, ], 'EndpointArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint/.*', ], 'EndpointConfigArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint-config/.*', ], 'EndpointConfigName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'EndpointConfigNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'EndpointConfigSortKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', ], ], 'EndpointConfigSummary' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigName', 'EndpointConfigArn', 'CreationTime', ], 'members' => [ 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], 'EndpointConfigArn' => [ 'shape' => 'EndpointConfigArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'EndpointConfigSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointConfigSummary', ], ], 'EndpointName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'EndpointNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'EndpointSortKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', ], ], 'EndpointStatus' => [ 'type' => 'string', 'enum' => [ 'OutOfService', 'Creating', 'Updating', 'SystemUpdating', 'RollingBack', 'InService', 'Deleting', 'Failed', ], ], 'EndpointSummary' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'EndpointArn', 'CreationTime', 'LastModifiedTime', 'EndpointStatus', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], 'EndpointArn' => [ 'shape' => 'EndpointArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'EndpointStatus' => [ 'shape' => 'EndpointStatus', ], ], ], 'EndpointSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EndpointSummary', ], ], 'EntityDescription' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*', ], 'EntityName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*$', ], 'EnvironmentKey' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '[a-zA-Z_][a-zA-Z0-9_]*', ], 'EnvironmentMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'EnvironmentKey', ], 'value' => [ 'shape' => 'EnvironmentValue', ], 'max' => 16, ], 'EnvironmentValue' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '[\\S\\s]*', ], 'FailureReason' => [ 'type' => 'string', 'max' => 1024, ], 'Filter' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'ResourcePropertyName', ], 'Operator' => [ 'shape' => 'Operator', ], 'Value' => [ 'shape' => 'FilterValue', ], ], ], 'FilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Filter', ], 'max' => 20, 'min' => 1, ], 'FilterValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '.+', ], 'FinalHyperParameterTuningJobObjectiveMetric' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'HyperParameterTuningJobObjectiveType', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Value' => [ 'shape' => 'MetricValue', ], ], ], 'FinalMetricDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricData', ], 'max' => 20, 'min' => 0, ], 'Float' => [ 'type' => 'float', ], 'Framework' => [ 'type' => 'string', 'enum' => [ 'TENSORFLOW', 'MXNET', 'ONNX', 'PYTORCH', 'XGBOOST', ], ], 'GetSearchSuggestionsRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceType', ], 'SuggestionQuery' => [ 'shape' => 'SuggestionQuery', ], ], ], 'GetSearchSuggestionsResponse' => [ 'type' => 'structure', 'members' => [ 'PropertyNameSuggestions' => [ 'shape' => 'PropertyNameSuggestionList', ], ], ], 'GitConfig' => [ 'type' => 'structure', 'required' => [ 'RepositoryUrl', ], 'members' => [ 'RepositoryUrl' => [ 'shape' => 'GitConfigUrl', ], 'Branch' => [ 'shape' => 'Branch', ], 'SecretArn' => [ 'shape' => 'SecretArn', ], ], ], 'GitConfigForUpdate' => [ 'type' => 'structure', 'members' => [ 'SecretArn' => [ 'shape' => 'SecretArn', ], ], ], 'GitConfigUrl' => [ 'type' => 'string', 'pattern' => '^https://([^/]+)/?(.*)$', ], 'HumanTaskConfig' => [ 'type' => 'structure', 'required' => [ 'WorkteamArn', 'UiConfig', 'PreHumanTaskLambdaArn', 'TaskTitle', 'TaskDescription', 'NumberOfHumanWorkersPerDataObject', 'TaskTimeLimitInSeconds', 'AnnotationConsolidationConfig', ], 'members' => [ 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], 'UiConfig' => [ 'shape' => 'UiConfig', ], 'PreHumanTaskLambdaArn' => [ 'shape' => 'LambdaFunctionArn', ], 'TaskKeywords' => [ 'shape' => 'TaskKeywords', ], 'TaskTitle' => [ 'shape' => 'TaskTitle', ], 'TaskDescription' => [ 'shape' => 'TaskDescription', ], 'NumberOfHumanWorkersPerDataObject' => [ 'shape' => 'NumberOfHumanWorkersPerDataObject', ], 'TaskTimeLimitInSeconds' => [ 'shape' => 'TaskTimeLimitInSeconds', ], 'TaskAvailabilityLifetimeInSeconds' => [ 'shape' => 'TaskAvailabilityLifetimeInSeconds', ], 'MaxConcurrentTaskCount' => [ 'shape' => 'MaxConcurrentTaskCount', ], 'AnnotationConsolidationConfig' => [ 'shape' => 'AnnotationConsolidationConfig', ], 'PublicWorkforceTaskPrice' => [ 'shape' => 'PublicWorkforceTaskPrice', ], ], ], 'HyperParameterAlgorithmSpecification' => [ 'type' => 'structure', 'required' => [ 'TrainingInputMode', ], 'members' => [ 'TrainingImage' => [ 'shape' => 'AlgorithmImage', ], 'TrainingInputMode' => [ 'shape' => 'TrainingInputMode', ], 'AlgorithmName' => [ 'shape' => 'ArnOrName', ], 'MetricDefinitions' => [ 'shape' => 'MetricDefinitionList', ], ], ], 'HyperParameterScalingType' => [ 'type' => 'string', 'enum' => [ 'Auto', 'Linear', 'Logarithmic', 'ReverseLogarithmic', ], ], 'HyperParameterSpecification' => [ 'type' => 'structure', 'required' => [ 'Name', 'Type', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterName', ], 'Description' => [ 'shape' => 'EntityDescription', ], 'Type' => [ 'shape' => 'ParameterType', ], 'Range' => [ 'shape' => 'ParameterRange', ], 'IsTunable' => [ 'shape' => 'Boolean', ], 'IsRequired' => [ 'shape' => 'Boolean', ], 'DefaultValue' => [ 'shape' => 'ParameterValue', ], ], ], 'HyperParameterSpecifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'HyperParameterSpecification', ], 'max' => 100, 'min' => 0, ], 'HyperParameterTrainingJobDefinition' => [ 'type' => 'structure', 'required' => [ 'AlgorithmSpecification', 'RoleArn', 'OutputDataConfig', 'ResourceConfig', 'StoppingCondition', ], 'members' => [ 'StaticHyperParameters' => [ 'shape' => 'HyperParameters', ], 'AlgorithmSpecification' => [ 'shape' => 'HyperParameterAlgorithmSpecification', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'ResourceConfig' => [ 'shape' => 'ResourceConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], 'EnableInterContainerTrafficEncryption' => [ 'shape' => 'Boolean', ], ], ], 'HyperParameterTrainingJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'HyperParameterTrainingJobSummary', ], ], 'HyperParameterTrainingJobSummary' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'TrainingJobArn', 'CreationTime', 'TrainingJobStatus', 'TunedHyperParameters', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], 'TuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TrainingStartTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'TrainingJobStatus' => [ 'shape' => 'TrainingJobStatus', ], 'TunedHyperParameters' => [ 'shape' => 'HyperParameters', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'FinalHyperParameterTuningJobObjectiveMetric' => [ 'shape' => 'FinalHyperParameterTuningJobObjectiveMetric', ], 'ObjectiveStatus' => [ 'shape' => 'ObjectiveStatus', ], ], ], 'HyperParameterTuningJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:hyper-parameter-tuning-job/.*', ], 'HyperParameterTuningJobConfig' => [ 'type' => 'structure', 'required' => [ 'Strategy', 'HyperParameterTuningJobObjective', 'ResourceLimits', 'ParameterRanges', ], 'members' => [ 'Strategy' => [ 'shape' => 'HyperParameterTuningJobStrategyType', ], 'HyperParameterTuningJobObjective' => [ 'shape' => 'HyperParameterTuningJobObjective', ], 'ResourceLimits' => [ 'shape' => 'ResourceLimits', ], 'ParameterRanges' => [ 'shape' => 'ParameterRanges', ], 'TrainingJobEarlyStoppingType' => [ 'shape' => 'TrainingJobEarlyStoppingType', ], ], ], 'HyperParameterTuningJobName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'HyperParameterTuningJobObjective' => [ 'type' => 'structure', 'required' => [ 'Type', 'MetricName', ], 'members' => [ 'Type' => [ 'shape' => 'HyperParameterTuningJobObjectiveType', ], 'MetricName' => [ 'shape' => 'MetricName', ], ], ], 'HyperParameterTuningJobObjectiveType' => [ 'type' => 'string', 'enum' => [ 'Maximize', 'Minimize', ], ], 'HyperParameterTuningJobObjectives' => [ 'type' => 'list', 'member' => [ 'shape' => 'HyperParameterTuningJobObjective', ], ], 'HyperParameterTuningJobSortByOptions' => [ 'type' => 'string', 'enum' => [ 'Name', 'Status', 'CreationTime', ], ], 'HyperParameterTuningJobStatus' => [ 'type' => 'string', 'enum' => [ 'Completed', 'InProgress', 'Failed', 'Stopped', 'Stopping', ], ], 'HyperParameterTuningJobStrategyType' => [ 'type' => 'string', 'enum' => [ 'Bayesian', 'Random', ], ], 'HyperParameterTuningJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'HyperParameterTuningJobSummary', ], ], 'HyperParameterTuningJobSummary' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', 'HyperParameterTuningJobArn', 'HyperParameterTuningJobStatus', 'Strategy', 'CreationTime', 'TrainingJobStatusCounters', 'ObjectiveStatusCounters', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], 'HyperParameterTuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], 'HyperParameterTuningJobStatus' => [ 'shape' => 'HyperParameterTuningJobStatus', ], 'Strategy' => [ 'shape' => 'HyperParameterTuningJobStrategyType', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'HyperParameterTuningEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'TrainingJobStatusCounters' => [ 'shape' => 'TrainingJobStatusCounters', ], 'ObjectiveStatusCounters' => [ 'shape' => 'ObjectiveStatusCounters', ], 'ResourceLimits' => [ 'shape' => 'ResourceLimits', ], ], ], 'HyperParameterTuningJobWarmStartConfig' => [ 'type' => 'structure', 'required' => [ 'ParentHyperParameterTuningJobs', 'WarmStartType', ], 'members' => [ 'ParentHyperParameterTuningJobs' => [ 'shape' => 'ParentHyperParameterTuningJobs', ], 'WarmStartType' => [ 'shape' => 'HyperParameterTuningJobWarmStartType', ], ], ], 'HyperParameterTuningJobWarmStartType' => [ 'type' => 'string', 'enum' => [ 'IdenticalDataAndAlgorithm', 'TransferLearning', ], ], 'HyperParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'ParameterKey', ], 'value' => [ 'shape' => 'ParameterValue', ], 'max' => 100, 'min' => 0, ], 'Image' => [ 'type' => 'string', 'max' => 255, 'pattern' => '[\\S]+', ], 'ImageDigest' => [ 'type' => 'string', 'max' => 72, 'pattern' => '^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$', ], 'InferenceSpecification' => [ 'type' => 'structure', 'required' => [ 'Containers', 'SupportedTransformInstanceTypes', 'SupportedRealtimeInferenceInstanceTypes', 'SupportedContentTypes', 'SupportedResponseMIMETypes', ], 'members' => [ 'Containers' => [ 'shape' => 'ModelPackageContainerDefinitionList', ], 'SupportedTransformInstanceTypes' => [ 'shape' => 'TransformInstanceTypes', ], 'SupportedRealtimeInferenceInstanceTypes' => [ 'shape' => 'RealtimeInferenceInstanceTypes', ], 'SupportedContentTypes' => [ 'shape' => 'ContentTypes', ], 'SupportedResponseMIMETypes' => [ 'shape' => 'ResponseMIMETypes', ], ], ], 'InputConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', 'DataInputConfig', 'Framework', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], 'DataInputConfig' => [ 'shape' => 'DataInputConfig', ], 'Framework' => [ 'shape' => 'Framework', ], ], ], 'InputDataConfig' => [ 'type' => 'list', 'member' => [ 'shape' => 'Channel', ], 'max' => 8, 'min' => 1, ], 'InputModes' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrainingInputMode', ], 'min' => 1, ], 'InstanceType' => [ 'type' => 'string', 'enum' => [ 'ml.t2.medium', 'ml.t2.large', 'ml.t2.xlarge', 'ml.t2.2xlarge', 'ml.t3.medium', 'ml.t3.large', 'ml.t3.xlarge', 'ml.t3.2xlarge', 'ml.m4.xlarge', 'ml.m4.2xlarge', 'ml.m4.4xlarge', 'ml.m4.10xlarge', 'ml.m4.16xlarge', 'ml.m5.xlarge', 'ml.m5.2xlarge', 'ml.m5.4xlarge', 'ml.m5.12xlarge', 'ml.m5.24xlarge', 'ml.c4.xlarge', 'ml.c4.2xlarge', 'ml.c4.4xlarge', 'ml.c4.8xlarge', 'ml.c5.xlarge', 'ml.c5.2xlarge', 'ml.c5.4xlarge', 'ml.c5.9xlarge', 'ml.c5.18xlarge', 'ml.c5d.xlarge', 'ml.c5d.2xlarge', 'ml.c5d.4xlarge', 'ml.c5d.9xlarge', 'ml.c5d.18xlarge', 'ml.p2.xlarge', 'ml.p2.8xlarge', 'ml.p2.16xlarge', 'ml.p3.2xlarge', 'ml.p3.8xlarge', 'ml.p3.16xlarge', ], ], 'IntegerParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'MinValue', 'MaxValue', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], 'ScalingType' => [ 'shape' => 'HyperParameterScalingType', ], ], ], 'IntegerParameterRangeSpecification' => [ 'type' => 'structure', 'required' => [ 'MinValue', 'MaxValue', ], 'members' => [ 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], ], ], 'IntegerParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'IntegerParameterRange', ], 'max' => 20, 'min' => 0, ], 'JobReferenceCode' => [ 'type' => 'string', 'min' => 1, 'pattern' => '.+', ], 'JobReferenceCodeContains' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '.+', ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, 'pattern' => '.*', ], 'LabelAttributeName' => [ 'type' => 'string', 'max' => 127, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'LabelCounter' => [ 'type' => 'integer', 'min' => 0, ], 'LabelCounters' => [ 'type' => 'structure', 'members' => [ 'TotalLabeled' => [ 'shape' => 'LabelCounter', ], 'HumanLabeled' => [ 'shape' => 'LabelCounter', ], 'MachineLabeled' => [ 'shape' => 'LabelCounter', ], 'FailedNonRetryableError' => [ 'shape' => 'LabelCounter', ], 'Unlabeled' => [ 'shape' => 'LabelCounter', ], ], ], 'LabelCountersForWorkteam' => [ 'type' => 'structure', 'members' => [ 'HumanLabeled' => [ 'shape' => 'LabelCounter', ], 'PendingHuman' => [ 'shape' => 'LabelCounter', ], 'Total' => [ 'shape' => 'LabelCounter', ], ], ], 'LabelingJobAlgorithmSpecificationArn' => [ 'type' => 'string', 'max' => 2048, 'pattern' => 'arn:.*', ], 'LabelingJobAlgorithmsConfig' => [ 'type' => 'structure', 'required' => [ 'LabelingJobAlgorithmSpecificationArn', ], 'members' => [ 'LabelingJobAlgorithmSpecificationArn' => [ 'shape' => 'LabelingJobAlgorithmSpecificationArn', ], 'InitialActiveLearningModelArn' => [ 'shape' => 'ModelArn', ], 'LabelingJobResourceConfig' => [ 'shape' => 'LabelingJobResourceConfig', ], ], ], 'LabelingJobArn' => [ 'type' => 'string', 'max' => 2048, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:labeling-job/.*', ], 'LabelingJobDataAttributes' => [ 'type' => 'structure', 'members' => [ 'ContentClassifiers' => [ 'shape' => 'ContentClassifiers', ], ], ], 'LabelingJobDataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataSource', ], 'members' => [ 'S3DataSource' => [ 'shape' => 'LabelingJobS3DataSource', ], ], ], 'LabelingJobForWorkteamSummary' => [ 'type' => 'structure', 'required' => [ 'JobReferenceCode', 'WorkRequesterAccountId', 'CreationTime', ], 'members' => [ 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], 'JobReferenceCode' => [ 'shape' => 'JobReferenceCode', ], 'WorkRequesterAccountId' => [ 'shape' => 'AccountId', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LabelCounters' => [ 'shape' => 'LabelCountersForWorkteam', ], ], ], 'LabelingJobForWorkteamSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LabelingJobForWorkteamSummary', ], ], 'LabelingJobInputConfig' => [ 'type' => 'structure', 'required' => [ 'DataSource', ], 'members' => [ 'DataSource' => [ 'shape' => 'LabelingJobDataSource', ], 'DataAttributes' => [ 'shape' => 'LabelingJobDataAttributes', ], ], ], 'LabelingJobName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'LabelingJobOutput' => [ 'type' => 'structure', 'required' => [ 'OutputDatasetS3Uri', ], 'members' => [ 'OutputDatasetS3Uri' => [ 'shape' => 'S3Uri', ], 'FinalActiveLearningModelArn' => [ 'shape' => 'ModelArn', ], ], ], 'LabelingJobOutputConfig' => [ 'type' => 'structure', 'required' => [ 'S3OutputPath', ], 'members' => [ 'S3OutputPath' => [ 'shape' => 'S3Uri', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'LabelingJobResourceConfig' => [ 'type' => 'structure', 'members' => [ 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'LabelingJobS3DataSource' => [ 'type' => 'structure', 'required' => [ 'ManifestS3Uri', ], 'members' => [ 'ManifestS3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'LabelingJobStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Completed', 'Failed', 'Stopping', 'Stopped', ], ], 'LabelingJobStoppingConditions' => [ 'type' => 'structure', 'members' => [ 'MaxHumanLabeledObjectCount' => [ 'shape' => 'MaxHumanLabeledObjectCount', ], 'MaxPercentageOfInputDatasetLabeled' => [ 'shape' => 'MaxPercentageOfInputDatasetLabeled', ], ], ], 'LabelingJobSummary' => [ 'type' => 'structure', 'required' => [ 'LabelingJobName', 'LabelingJobArn', 'CreationTime', 'LastModifiedTime', 'LabelingJobStatus', 'LabelCounters', 'WorkteamArn', 'PreHumanTaskLambdaArn', ], 'members' => [ 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'LabelingJobStatus' => [ 'shape' => 'LabelingJobStatus', ], 'LabelCounters' => [ 'shape' => 'LabelCounters', ], 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], 'PreHumanTaskLambdaArn' => [ 'shape' => 'LambdaFunctionArn', ], 'AnnotationConsolidationLambdaArn' => [ 'shape' => 'LambdaFunctionArn', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'LabelingJobOutput' => [ 'shape' => 'LabelingJobOutput', ], 'InputConfig' => [ 'shape' => 'LabelingJobInputConfig', ], ], ], 'LabelingJobSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LabelingJobSummary', ], ], 'LambdaFunctionArn' => [ 'type' => 'string', 'max' => 2048, 'pattern' => 'arn:aws[a-z\\-]*:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?', ], 'LastModifiedTime' => [ 'type' => 'timestamp', ], 'ListAlgorithmsInput' => [ 'type' => 'structure', 'members' => [ 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'SortBy' => [ 'shape' => 'AlgorithmSortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListAlgorithmsOutput' => [ 'type' => 'structure', 'required' => [ 'AlgorithmSummaryList', ], 'members' => [ 'AlgorithmSummaryList' => [ 'shape' => 'AlgorithmSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCodeRepositoriesInput' => [ 'type' => 'structure', 'members' => [ 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'CodeRepositoryNameContains', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'SortBy' => [ 'shape' => 'CodeRepositorySortBy', ], 'SortOrder' => [ 'shape' => 'CodeRepositorySortOrder', ], ], ], 'ListCodeRepositoriesOutput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositorySummaryList', ], 'members' => [ 'CodeRepositorySummaryList' => [ 'shape' => 'CodeRepositorySummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCompilationJobsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'LastModifiedTimeAfter' => [ 'shape' => 'LastModifiedTime', ], 'LastModifiedTimeBefore' => [ 'shape' => 'LastModifiedTime', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'StatusEquals' => [ 'shape' => 'CompilationJobStatus', ], 'SortBy' => [ 'shape' => 'ListCompilationJobsSortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListCompilationJobsResponse' => [ 'type' => 'structure', 'required' => [ 'CompilationJobSummaries', ], 'members' => [ 'CompilationJobSummaries' => [ 'shape' => 'CompilationJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCompilationJobsSortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', ], ], 'ListEndpointConfigsInput' => [ 'type' => 'structure', 'members' => [ 'SortBy' => [ 'shape' => 'EndpointConfigSortKey', ], 'SortOrder' => [ 'shape' => 'OrderKey', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'EndpointConfigNameContains', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'ListEndpointConfigsOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointConfigs', ], 'members' => [ 'EndpointConfigs' => [ 'shape' => 'EndpointConfigSummaryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListEndpointsInput' => [ 'type' => 'structure', 'members' => [ 'SortBy' => [ 'shape' => 'EndpointSortKey', ], 'SortOrder' => [ 'shape' => 'OrderKey', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'EndpointNameContains', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'StatusEquals' => [ 'shape' => 'EndpointStatus', ], ], ], 'ListEndpointsOutput' => [ 'type' => 'structure', 'required' => [ 'Endpoints', ], 'members' => [ 'Endpoints' => [ 'shape' => 'EndpointSummaryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListHyperParameterTuningJobsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'SortBy' => [ 'shape' => 'HyperParameterTuningJobSortByOptions', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'StatusEquals' => [ 'shape' => 'HyperParameterTuningJobStatus', ], ], ], 'ListHyperParameterTuningJobsResponse' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobSummaries', ], 'members' => [ 'HyperParameterTuningJobSummaries' => [ 'shape' => 'HyperParameterTuningJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListLabelingJobsForWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamArn', ], 'members' => [ 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'JobReferenceCodeContains' => [ 'shape' => 'JobReferenceCodeContains', ], 'SortBy' => [ 'shape' => 'ListLabelingJobsForWorkteamSortByOptions', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListLabelingJobsForWorkteamResponse' => [ 'type' => 'structure', 'required' => [ 'LabelingJobSummaryList', ], 'members' => [ 'LabelingJobSummaryList' => [ 'shape' => 'LabelingJobForWorkteamSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListLabelingJobsForWorkteamSortByOptions' => [ 'type' => 'string', 'enum' => [ 'CreationTime', ], ], 'ListLabelingJobsRequest' => [ 'type' => 'structure', 'members' => [ 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'SortBy' => [ 'shape' => 'SortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'StatusEquals' => [ 'shape' => 'LabelingJobStatus', ], ], ], 'ListLabelingJobsResponse' => [ 'type' => 'structure', 'members' => [ 'LabelingJobSummaryList' => [ 'shape' => 'LabelingJobSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListModelPackagesInput' => [ 'type' => 'structure', 'members' => [ 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'SortBy' => [ 'shape' => 'ModelPackageSortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListModelPackagesOutput' => [ 'type' => 'structure', 'required' => [ 'ModelPackageSummaryList', ], 'members' => [ 'ModelPackageSummaryList' => [ 'shape' => 'ModelPackageSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListModelsInput' => [ 'type' => 'structure', 'members' => [ 'SortBy' => [ 'shape' => 'ModelSortKey', ], 'SortOrder' => [ 'shape' => 'OrderKey', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NameContains' => [ 'shape' => 'ModelNameContains', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], ], ], 'ListModelsOutput' => [ 'type' => 'structure', 'required' => [ 'Models', ], 'members' => [ 'Models' => [ 'shape' => 'ModelSummaryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListNotebookInstanceLifecycleConfigsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'SortBy' => [ 'shape' => 'NotebookInstanceLifecycleConfigSortKey', ], 'SortOrder' => [ 'shape' => 'NotebookInstanceLifecycleConfigSortOrder', ], 'NameContains' => [ 'shape' => 'NotebookInstanceLifecycleConfigNameContains', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'LastModifiedTimeBefore' => [ 'shape' => 'LastModifiedTime', ], 'LastModifiedTimeAfter' => [ 'shape' => 'LastModifiedTime', ], ], ], 'ListNotebookInstanceLifecycleConfigsOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'NotebookInstanceLifecycleConfigs' => [ 'shape' => 'NotebookInstanceLifecycleConfigSummaryList', ], ], ], 'ListNotebookInstancesInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'SortBy' => [ 'shape' => 'NotebookInstanceSortKey', ], 'SortOrder' => [ 'shape' => 'NotebookInstanceSortOrder', ], 'NameContains' => [ 'shape' => 'NotebookInstanceNameContains', ], 'CreationTimeBefore' => [ 'shape' => 'CreationTime', ], 'CreationTimeAfter' => [ 'shape' => 'CreationTime', ], 'LastModifiedTimeBefore' => [ 'shape' => 'LastModifiedTime', ], 'LastModifiedTimeAfter' => [ 'shape' => 'LastModifiedTime', ], 'StatusEquals' => [ 'shape' => 'NotebookInstanceStatus', ], 'NotebookInstanceLifecycleConfigNameContains' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'DefaultCodeRepositoryContains' => [ 'shape' => 'CodeRepositoryContains', ], 'AdditionalCodeRepositoryEquals' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], ], ], 'ListNotebookInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'NotebookInstances' => [ 'shape' => 'NotebookInstanceSummaryList', ], ], ], 'ListSubscribedWorkteamsRequest' => [ 'type' => 'structure', 'members' => [ 'NameContains' => [ 'shape' => 'WorkteamName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListSubscribedWorkteamsResponse' => [ 'type' => 'structure', 'required' => [ 'SubscribedWorkteams', ], 'members' => [ 'SubscribedWorkteams' => [ 'shape' => 'SubscribedWorkteams', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'ListTagsMaxResults', ], ], ], 'ListTagsMaxResults' => [ 'type' => 'integer', 'min' => 50, ], 'ListTagsOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTrainingJobsForHyperParameterTuningJobRequest' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'StatusEquals' => [ 'shape' => 'TrainingJobStatus', ], 'SortBy' => [ 'shape' => 'TrainingJobSortByOptions', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListTrainingJobsForHyperParameterTuningJobResponse' => [ 'type' => 'structure', 'required' => [ 'TrainingJobSummaries', ], 'members' => [ 'TrainingJobSummaries' => [ 'shape' => 'HyperParameterTrainingJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTrainingJobsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'StatusEquals' => [ 'shape' => 'TrainingJobStatus', ], 'SortBy' => [ 'shape' => 'SortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'ListTrainingJobsResponse' => [ 'type' => 'structure', 'required' => [ 'TrainingJobSummaries', ], 'members' => [ 'TrainingJobSummaries' => [ 'shape' => 'TrainingJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTransformJobsRequest' => [ 'type' => 'structure', 'members' => [ 'CreationTimeAfter' => [ 'shape' => 'Timestamp', ], 'CreationTimeBefore' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeAfter' => [ 'shape' => 'Timestamp', ], 'LastModifiedTimeBefore' => [ 'shape' => 'Timestamp', ], 'NameContains' => [ 'shape' => 'NameContains', ], 'StatusEquals' => [ 'shape' => 'TransformJobStatus', ], 'SortBy' => [ 'shape' => 'SortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListTransformJobsResponse' => [ 'type' => 'structure', 'required' => [ 'TransformJobSummaries', ], 'members' => [ 'TransformJobSummaries' => [ 'shape' => 'TransformJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListWorkteamsRequest' => [ 'type' => 'structure', 'members' => [ 'SortBy' => [ 'shape' => 'ListWorkteamsSortByOptions', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'NameContains' => [ 'shape' => 'WorkteamName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListWorkteamsResponse' => [ 'type' => 'structure', 'required' => [ 'Workteams', ], 'members' => [ 'Workteams' => [ 'shape' => 'Workteams', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListWorkteamsSortByOptions' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreateDate', ], ], 'MaxConcurrentTaskCount' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'MaxConcurrentTransforms' => [ 'type' => 'integer', 'min' => 0, ], 'MaxHumanLabeledObjectCount' => [ 'type' => 'integer', 'min' => 1, ], 'MaxNumberOfTrainingJobs' => [ 'type' => 'integer', 'min' => 1, ], 'MaxParallelTrainingJobs' => [ 'type' => 'integer', 'min' => 1, ], 'MaxPayloadInMB' => [ 'type' => 'integer', 'min' => 0, ], 'MaxPercentageOfInputDatasetLabeled' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxRuntimeInSeconds' => [ 'type' => 'integer', 'min' => 1, ], 'MemberDefinition' => [ 'type' => 'structure', 'members' => [ 'CognitoMemberDefinition' => [ 'shape' => 'CognitoMemberDefinition', ], ], ], 'MemberDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'MemberDefinition', ], 'max' => 10, 'min' => 1, ], 'MetricData' => [ 'type' => 'structure', 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Value' => [ 'shape' => 'Float', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], ], ], 'MetricDefinition' => [ 'type' => 'structure', 'required' => [ 'Name', 'Regex', ], 'members' => [ 'Name' => [ 'shape' => 'MetricName', ], 'Regex' => [ 'shape' => 'MetricRegex', ], ], ], 'MetricDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MetricDefinition', ], 'max' => 20, 'min' => 0, ], 'MetricName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '.+', ], 'MetricRegex' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'MetricValue' => [ 'type' => 'float', ], 'ModelArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model/.*', ], 'ModelArtifacts' => [ 'type' => 'structure', 'required' => [ 'S3ModelArtifacts', ], 'members' => [ 'S3ModelArtifacts' => [ 'shape' => 'S3Uri', ], ], ], 'ModelName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'ModelNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'ModelPackageArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/.*', ], 'ModelPackageContainerDefinition' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'ContainerHostname' => [ 'shape' => 'ContainerHostname', ], 'Image' => [ 'shape' => 'Image', ], 'ImageDigest' => [ 'shape' => 'ImageDigest', ], 'ModelDataUrl' => [ 'shape' => 'Url', ], 'ProductId' => [ 'shape' => 'ProductId', ], ], ], 'ModelPackageContainerDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModelPackageContainerDefinition', ], 'max' => 1, 'min' => 1, ], 'ModelPackageSortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', ], ], 'ModelPackageStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Completed', 'Failed', 'Deleting', ], ], 'ModelPackageStatusDetails' => [ 'type' => 'structure', 'required' => [ 'ValidationStatuses', ], 'members' => [ 'ValidationStatuses' => [ 'shape' => 'ModelPackageStatusItemList', ], 'ImageScanStatuses' => [ 'shape' => 'ModelPackageStatusItemList', ], ], ], 'ModelPackageStatusItem' => [ 'type' => 'structure', 'required' => [ 'Name', 'Status', ], 'members' => [ 'Name' => [ 'shape' => 'EntityName', ], 'Status' => [ 'shape' => 'DetailedModelPackageStatus', ], 'FailureReason' => [ 'shape' => 'String', ], ], ], 'ModelPackageStatusItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModelPackageStatusItem', ], ], 'ModelPackageSummary' => [ 'type' => 'structure', 'required' => [ 'ModelPackageName', 'ModelPackageArn', 'CreationTime', 'ModelPackageStatus', ], 'members' => [ 'ModelPackageName' => [ 'shape' => 'EntityName', ], 'ModelPackageArn' => [ 'shape' => 'ModelPackageArn', ], 'ModelPackageDescription' => [ 'shape' => 'EntityDescription', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'ModelPackageStatus' => [ 'shape' => 'ModelPackageStatus', ], ], ], 'ModelPackageSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModelPackageSummary', ], ], 'ModelPackageValidationProfile' => [ 'type' => 'structure', 'required' => [ 'ProfileName', 'TransformJobDefinition', ], 'members' => [ 'ProfileName' => [ 'shape' => 'EntityName', ], 'TransformJobDefinition' => [ 'shape' => 'TransformJobDefinition', ], ], ], 'ModelPackageValidationProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModelPackageValidationProfile', ], 'max' => 1, 'min' => 1, ], 'ModelPackageValidationSpecification' => [ 'type' => 'structure', 'required' => [ 'ValidationRole', 'ValidationProfiles', ], 'members' => [ 'ValidationRole' => [ 'shape' => 'RoleArn', ], 'ValidationProfiles' => [ 'shape' => 'ModelPackageValidationProfiles', ], ], ], 'ModelSortKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', ], ], 'ModelSummary' => [ 'type' => 'structure', 'required' => [ 'ModelName', 'ModelArn', 'CreationTime', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], 'ModelArn' => [ 'shape' => 'ModelArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], ], ], 'ModelSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModelSummary', ], ], 'NameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9\\-]+', ], 'NestedFilters' => [ 'type' => 'structure', 'required' => [ 'NestedPropertyName', 'Filters', ], 'members' => [ 'NestedPropertyName' => [ 'shape' => 'ResourcePropertyName', ], 'Filters' => [ 'shape' => 'FilterList', ], ], ], 'NestedFiltersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NestedFilters', ], 'max' => 20, 'min' => 1, ], 'NetworkInterfaceId' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', 'max' => 8192, 'pattern' => '.*', ], 'NotebookInstanceAcceleratorType' => [ 'type' => 'string', 'enum' => [ 'ml.eia1.medium', 'ml.eia1.large', 'ml.eia1.xlarge', ], ], 'NotebookInstanceAcceleratorTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotebookInstanceAcceleratorType', ], ], 'NotebookInstanceArn' => [ 'type' => 'string', 'max' => 256, ], 'NotebookInstanceLifecycleConfigArn' => [ 'type' => 'string', 'max' => 256, ], 'NotebookInstanceLifecycleConfigContent' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, 'pattern' => '[\\S\\s]+', ], 'NotebookInstanceLifecycleConfigList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotebookInstanceLifecycleHook', ], 'max' => 1, ], 'NotebookInstanceLifecycleConfigName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'NotebookInstanceLifecycleConfigNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'NotebookInstanceLifecycleConfigSortKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'LastModifiedTime', ], ], 'NotebookInstanceLifecycleConfigSortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'NotebookInstanceLifecycleConfigSummary' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', 'NotebookInstanceLifecycleConfigArn', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'NotebookInstanceLifecycleConfigArn' => [ 'shape' => 'NotebookInstanceLifecycleConfigArn', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], ], ], 'NotebookInstanceLifecycleConfigSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotebookInstanceLifecycleConfigSummary', ], ], 'NotebookInstanceLifecycleHook' => [ 'type' => 'structure', 'members' => [ 'Content' => [ 'shape' => 'NotebookInstanceLifecycleConfigContent', ], ], ], 'NotebookInstanceName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'NotebookInstanceNameContains' => [ 'type' => 'string', 'max' => 63, 'pattern' => '[a-zA-Z0-9-]+', ], 'NotebookInstanceSortKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', ], ], 'NotebookInstanceSortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'NotebookInstanceStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InService', 'Stopping', 'Stopped', 'Failed', 'Deleting', 'Updating', ], ], 'NotebookInstanceSummary' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', 'NotebookInstanceArn', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], 'NotebookInstanceArn' => [ 'shape' => 'NotebookInstanceArn', ], 'NotebookInstanceStatus' => [ 'shape' => 'NotebookInstanceStatus', ], 'Url' => [ 'shape' => 'NotebookInstanceUrl', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'CreationTime' => [ 'shape' => 'CreationTime', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'DefaultCodeRepository' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], 'AdditionalCodeRepositories' => [ 'shape' => 'AdditionalCodeRepositoryNamesOrUrls', ], ], ], 'NotebookInstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotebookInstanceSummary', ], ], 'NotebookInstanceUrl' => [ 'type' => 'string', ], 'NotebookInstanceVolumeSizeInGB' => [ 'type' => 'integer', 'max' => 16384, 'min' => 5, ], 'NumberOfHumanWorkersPerDataObject' => [ 'type' => 'integer', 'max' => 9, 'min' => 1, ], 'ObjectiveStatus' => [ 'type' => 'string', 'enum' => [ 'Succeeded', 'Pending', 'Failed', ], ], 'ObjectiveStatusCounter' => [ 'type' => 'integer', 'min' => 0, ], 'ObjectiveStatusCounters' => [ 'type' => 'structure', 'members' => [ 'Succeeded' => [ 'shape' => 'ObjectiveStatusCounter', ], 'Pending' => [ 'shape' => 'ObjectiveStatusCounter', ], 'Failed' => [ 'shape' => 'ObjectiveStatusCounter', ], ], ], 'Operator' => [ 'type' => 'string', 'enum' => [ 'Equals', 'NotEquals', 'GreaterThan', 'GreaterThanOrEqualTo', 'LessThan', 'LessThanOrEqualTo', 'Contains', ], ], 'OrderKey' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'OutputConfig' => [ 'type' => 'structure', 'required' => [ 'S3OutputLocation', 'TargetDevice', ], 'members' => [ 'S3OutputLocation' => [ 'shape' => 'S3Uri', ], 'TargetDevice' => [ 'shape' => 'TargetDevice', ], ], ], 'OutputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3OutputPath', ], 'members' => [ 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'S3OutputPath' => [ 'shape' => 'S3Uri', ], ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 8192, 'pattern' => '.*', ], 'ParameterKey' => [ 'type' => 'string', 'max' => 256, 'pattern' => '.*', ], 'ParameterName' => [ 'type' => 'string', 'max' => 256, 'pattern' => '[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*', ], 'ParameterRange' => [ 'type' => 'structure', 'members' => [ 'IntegerParameterRangeSpecification' => [ 'shape' => 'IntegerParameterRangeSpecification', ], 'ContinuousParameterRangeSpecification' => [ 'shape' => 'ContinuousParameterRangeSpecification', ], 'CategoricalParameterRangeSpecification' => [ 'shape' => 'CategoricalParameterRangeSpecification', ], ], ], 'ParameterRanges' => [ 'type' => 'structure', 'members' => [ 'IntegerParameterRanges' => [ 'shape' => 'IntegerParameterRanges', ], 'ContinuousParameterRanges' => [ 'shape' => 'ContinuousParameterRanges', ], 'CategoricalParameterRanges' => [ 'shape' => 'CategoricalParameterRanges', ], ], ], 'ParameterType' => [ 'type' => 'string', 'enum' => [ 'Integer', 'Continuous', 'Categorical', 'FreeText', ], ], 'ParameterValue' => [ 'type' => 'string', 'max' => 256, 'pattern' => '.*', ], 'ParameterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], 'max' => 20, 'min' => 1, ], 'ParentHyperParameterTuningJob' => [ 'type' => 'structure', 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], ], ], 'ParentHyperParameterTuningJobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParentHyperParameterTuningJob', ], 'max' => 5, 'min' => 1, ], 'ProductId' => [ 'type' => 'string', 'max' => 256, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*$', ], 'ProductListings' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ProductionVariant' => [ 'type' => 'structure', 'required' => [ 'VariantName', 'ModelName', 'InitialInstanceCount', 'InstanceType', ], 'members' => [ 'VariantName' => [ 'shape' => 'VariantName', ], 'ModelName' => [ 'shape' => 'ModelName', ], 'InitialInstanceCount' => [ 'shape' => 'TaskCount', ], 'InstanceType' => [ 'shape' => 'ProductionVariantInstanceType', ], 'InitialVariantWeight' => [ 'shape' => 'VariantWeight', ], 'AcceleratorType' => [ 'shape' => 'ProductionVariantAcceleratorType', ], ], ], 'ProductionVariantAcceleratorType' => [ 'type' => 'string', 'enum' => [ 'ml.eia1.medium', 'ml.eia1.large', 'ml.eia1.xlarge', ], ], 'ProductionVariantInstanceType' => [ 'type' => 'string', 'enum' => [ 'ml.t2.medium', 'ml.t2.large', 'ml.t2.xlarge', 'ml.t2.2xlarge', 'ml.m4.xlarge', 'ml.m4.2xlarge', 'ml.m4.4xlarge', 'ml.m4.10xlarge', 'ml.m4.16xlarge', 'ml.m5.large', 'ml.m5.xlarge', 'ml.m5.2xlarge', 'ml.m5.4xlarge', 'ml.m5.12xlarge', 'ml.m5.24xlarge', 'ml.c4.large', 'ml.c4.xlarge', 'ml.c4.2xlarge', 'ml.c4.4xlarge', 'ml.c4.8xlarge', 'ml.p2.xlarge', 'ml.p2.8xlarge', 'ml.p2.16xlarge', 'ml.p3.2xlarge', 'ml.p3.8xlarge', 'ml.p3.16xlarge', 'ml.c5.large', 'ml.c5.xlarge', 'ml.c5.2xlarge', 'ml.c5.4xlarge', 'ml.c5.9xlarge', 'ml.c5.18xlarge', ], ], 'ProductionVariantList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductionVariant', ], 'min' => 1, ], 'ProductionVariantSummary' => [ 'type' => 'structure', 'required' => [ 'VariantName', ], 'members' => [ 'VariantName' => [ 'shape' => 'VariantName', ], 'DeployedImages' => [ 'shape' => 'DeployedImages', ], 'CurrentWeight' => [ 'shape' => 'VariantWeight', ], 'DesiredWeight' => [ 'shape' => 'VariantWeight', ], 'CurrentInstanceCount' => [ 'shape' => 'TaskCount', ], 'DesiredInstanceCount' => [ 'shape' => 'TaskCount', ], ], ], 'ProductionVariantSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductionVariantSummary', ], 'min' => 1, ], 'PropertyNameHint' => [ 'type' => 'string', 'max' => 100, 'min' => 0, 'pattern' => '.*', ], 'PropertyNameQuery' => [ 'type' => 'structure', 'required' => [ 'PropertyNameHint', ], 'members' => [ 'PropertyNameHint' => [ 'shape' => 'PropertyNameHint', ], ], ], 'PropertyNameSuggestion' => [ 'type' => 'structure', 'members' => [ 'PropertyName' => [ 'shape' => 'ResourcePropertyName', ], ], ], 'PropertyNameSuggestionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PropertyNameSuggestion', ], ], 'PublicWorkforceTaskPrice' => [ 'type' => 'structure', 'members' => [ 'AmountInUsd' => [ 'shape' => 'USD', ], ], ], 'RealtimeInferenceInstanceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductionVariantInstanceType', ], ], 'RecordWrapper' => [ 'type' => 'string', 'enum' => [ 'None', 'RecordIO', ], ], 'RenderUiTemplateRequest' => [ 'type' => 'structure', 'required' => [ 'UiTemplate', 'Task', 'RoleArn', ], 'members' => [ 'UiTemplate' => [ 'shape' => 'UiTemplate', ], 'Task' => [ 'shape' => 'RenderableTask', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'RenderUiTemplateResponse' => [ 'type' => 'structure', 'required' => [ 'RenderedContent', 'Errors', ], 'members' => [ 'RenderedContent' => [ 'shape' => 'String', ], 'Errors' => [ 'shape' => 'RenderingErrorList', ], ], ], 'RenderableTask' => [ 'type' => 'structure', 'required' => [ 'Input', ], 'members' => [ 'Input' => [ 'shape' => 'TaskInput', ], ], ], 'RenderingError' => [ 'type' => 'structure', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'RenderingErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RenderingError', ], ], 'ResourceArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:.*', ], 'ResourceConfig' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'InstanceCount', 'VolumeSizeInGB', ], 'members' => [ 'InstanceType' => [ 'shape' => 'TrainingInstanceType', ], 'InstanceCount' => [ 'shape' => 'TrainingInstanceCount', ], 'VolumeSizeInGB' => [ 'shape' => 'VolumeSizeInGB', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'ResourceInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'FailureReason', ], ], 'exception' => true, ], 'ResourceLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'FailureReason', ], ], 'exception' => true, ], 'ResourceLimits' => [ 'type' => 'structure', 'required' => [ 'MaxNumberOfTrainingJobs', 'MaxParallelTrainingJobs', ], 'members' => [ 'MaxNumberOfTrainingJobs' => [ 'shape' => 'MaxNumberOfTrainingJobs', ], 'MaxParallelTrainingJobs' => [ 'shape' => 'MaxParallelTrainingJobs', ], ], ], 'ResourceNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'FailureReason', ], ], 'exception' => true, ], 'ResourcePropertyName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '.+', ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'TrainingJob', ], ], 'ResponseMIMEType' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^[-\\w]+\\/.+$', ], 'ResponseMIMETypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResponseMIMEType', ], ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => '^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$', ], 'RootAccess' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'S3DataDistribution' => [ 'type' => 'string', 'enum' => [ 'FullyReplicated', 'ShardedByS3Key', ], ], 'S3DataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataType', 'S3Uri', ], 'members' => [ 'S3DataType' => [ 'shape' => 'S3DataType', ], 'S3Uri' => [ 'shape' => 'S3Uri', ], 'S3DataDistributionType' => [ 'shape' => 'S3DataDistribution', ], 'AttributeNames' => [ 'shape' => 'AttributeNames', ], ], ], 'S3DataType' => [ 'type' => 'string', 'enum' => [ 'ManifestFile', 'S3Prefix', 'AugmentedManifestFile', ], ], 'S3Uri' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^(https|s3)://([^/]+)/?(.*)$', ], 'SearchExpression' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', ], 'NestedFilters' => [ 'shape' => 'NestedFiltersList', ], 'SubExpressions' => [ 'shape' => 'SearchExpressionList', ], 'Operator' => [ 'shape' => 'BooleanOperator', ], ], ], 'SearchExpressionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SearchExpression', ], 'max' => 20, 'min' => 1, ], 'SearchRecord' => [ 'type' => 'structure', 'members' => [ 'TrainingJob' => [ 'shape' => 'TrainingJob', ], ], ], 'SearchRequest' => [ 'type' => 'structure', 'required' => [ 'Resource', ], 'members' => [ 'Resource' => [ 'shape' => 'ResourceType', ], 'SearchExpression' => [ 'shape' => 'SearchExpression', ], 'SortBy' => [ 'shape' => 'ResourcePropertyName', ], 'SortOrder' => [ 'shape' => 'SearchSortOrder', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'SearchResponse' => [ 'type' => 'structure', 'members' => [ 'Results' => [ 'shape' => 'SearchResultsList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'SearchResultsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SearchRecord', ], ], 'SearchSortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'SecondaryStatus' => [ 'type' => 'string', 'enum' => [ 'Starting', 'LaunchingMLInstances', 'PreparingTrainingStack', 'Downloading', 'DownloadingTrainingImage', 'Training', 'Uploading', 'Stopping', 'Stopped', 'MaxRuntimeExceeded', 'Completed', 'Failed', ], ], 'SecondaryStatusTransition' => [ 'type' => 'structure', 'required' => [ 'Status', 'StartTime', ], 'members' => [ 'Status' => [ 'shape' => 'SecondaryStatus', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], ], ], 'SecondaryStatusTransitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecondaryStatusTransition', ], ], 'SecretArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => 'arn:aws[a-z\\-]*:secretsmanager:[a-z0-9\\-]*:[0-9]{12}:secret:.*', ], 'SecurityGroupId' => [ 'type' => 'string', 'max' => 32, 'pattern' => '[-0-9a-zA-Z]+', ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], 'max' => 5, ], 'Seed' => [ 'type' => 'long', ], 'SessionExpirationDurationInSeconds' => [ 'type' => 'integer', 'max' => 43200, 'min' => 1800, ], 'ShuffleConfig' => [ 'type' => 'structure', 'required' => [ 'Seed', ], 'members' => [ 'Seed' => [ 'shape' => 'Seed', ], ], ], 'SortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'SourceAlgorithm' => [ 'type' => 'structure', 'required' => [ 'AlgorithmName', ], 'members' => [ 'ModelDataUrl' => [ 'shape' => 'Url', ], 'AlgorithmName' => [ 'shape' => 'ArnOrName', ], ], ], 'SourceAlgorithmList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceAlgorithm', ], 'max' => 1, 'min' => 1, ], 'SourceAlgorithmSpecification' => [ 'type' => 'structure', 'required' => [ 'SourceAlgorithms', ], 'members' => [ 'SourceAlgorithms' => [ 'shape' => 'SourceAlgorithmList', ], ], ], 'SplitType' => [ 'type' => 'string', 'enum' => [ 'None', 'Line', 'RecordIO', 'TFRecord', ], ], 'StartNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], ], ], 'StatusMessage' => [ 'type' => 'string', ], 'StopCompilationJobRequest' => [ 'type' => 'structure', 'required' => [ 'CompilationJobName', ], 'members' => [ 'CompilationJobName' => [ 'shape' => 'EntityName', ], ], ], 'StopHyperParameterTuningJobRequest' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], ], ], 'StopLabelingJobRequest' => [ 'type' => 'structure', 'required' => [ 'LabelingJobName', ], 'members' => [ 'LabelingJobName' => [ 'shape' => 'LabelingJobName', ], ], ], 'StopNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], ], ], 'StopTrainingJobRequest' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], ], ], 'StopTransformJobRequest' => [ 'type' => 'structure', 'required' => [ 'TransformJobName', ], 'members' => [ 'TransformJobName' => [ 'shape' => 'TransformJobName', ], ], ], 'StoppingCondition' => [ 'type' => 'structure', 'members' => [ 'MaxRuntimeInSeconds' => [ 'shape' => 'MaxRuntimeInSeconds', ], ], ], 'String' => [ 'type' => 'string', ], 'String200' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '.+', ], 'SubnetId' => [ 'type' => 'string', 'max' => 32, 'pattern' => '[-0-9a-zA-Z]+', ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], 'max' => 16, 'min' => 1, ], 'SubscribedWorkteam' => [ 'type' => 'structure', 'required' => [ 'WorkteamArn', ], 'members' => [ 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], 'MarketplaceTitle' => [ 'shape' => 'String200', ], 'SellerName' => [ 'shape' => 'String', ], 'MarketplaceDescription' => [ 'shape' => 'String200', ], 'ListingId' => [ 'shape' => 'String', ], ], ], 'SubscribedWorkteams' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubscribedWorkteam', ], ], 'Success' => [ 'type' => 'boolean', ], 'SuggestionQuery' => [ 'type' => 'structure', 'members' => [ 'PropertyNameQuery' => [ 'shape' => 'PropertyNameQuery', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TargetDevice' => [ 'type' => 'string', 'enum' => [ 'ml_m4', 'ml_m5', 'ml_c4', 'ml_c5', 'ml_p2', 'ml_p3', 'jetson_tx1', 'jetson_tx2', 'rasp3b', 'deeplens', 'rk3399', 'rk3288', ], ], 'TaskAvailabilityLifetimeInSeconds' => [ 'type' => 'integer', 'max' => 864000, 'min' => 1, ], 'TaskCount' => [ 'type' => 'integer', 'min' => 1, ], 'TaskDescription' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '.+', ], 'TaskInput' => [ 'type' => 'string', 'max' => 128000, 'min' => 2, 'pattern' => '[\\S\\s]+', ], 'TaskKeyword' => [ 'type' => 'string', 'max' => 30, 'min' => 1, 'pattern' => '^[A-Za-z0-9]+( [A-Za-z0-9]+)*$', ], 'TaskKeywords' => [ 'type' => 'list', 'member' => [ 'shape' => 'TaskKeyword', ], 'max' => 5, 'min' => 1, ], 'TaskTimeLimitInSeconds' => [ 'type' => 'integer', 'max' => 3600, 'min' => 1, ], 'TaskTitle' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD]*$', ], 'TemplateContent' => [ 'type' => 'string', 'max' => 128000, 'min' => 1, 'pattern' => '[\\S\\s]+', ], 'TenthFractionsOfACent' => [ 'type' => 'integer', 'max' => 9, 'min' => 0, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TrainingInputMode' => [ 'type' => 'string', 'enum' => [ 'Pipe', 'File', ], ], 'TrainingInstanceCount' => [ 'type' => 'integer', 'min' => 1, ], 'TrainingInstanceType' => [ 'type' => 'string', 'enum' => [ 'ml.m4.xlarge', 'ml.m4.2xlarge', 'ml.m4.4xlarge', 'ml.m4.10xlarge', 'ml.m4.16xlarge', 'ml.m5.large', 'ml.m5.xlarge', 'ml.m5.2xlarge', 'ml.m5.4xlarge', 'ml.m5.12xlarge', 'ml.m5.24xlarge', 'ml.c4.xlarge', 'ml.c4.2xlarge', 'ml.c4.4xlarge', 'ml.c4.8xlarge', 'ml.p2.xlarge', 'ml.p2.8xlarge', 'ml.p2.16xlarge', 'ml.p3.2xlarge', 'ml.p3.8xlarge', 'ml.p3.16xlarge', 'ml.c5.xlarge', 'ml.c5.2xlarge', 'ml.c5.4xlarge', 'ml.c5.9xlarge', 'ml.c5.18xlarge', ], ], 'TrainingInstanceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrainingInstanceType', ], ], 'TrainingJob' => [ 'type' => 'structure', 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], 'TuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], 'LabelingJobArn' => [ 'shape' => 'LabelingJobArn', ], 'ModelArtifacts' => [ 'shape' => 'ModelArtifacts', ], 'TrainingJobStatus' => [ 'shape' => 'TrainingJobStatus', ], 'SecondaryStatus' => [ 'shape' => 'SecondaryStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'HyperParameters' => [ 'shape' => 'HyperParameters', ], 'AlgorithmSpecification' => [ 'shape' => 'AlgorithmSpecification', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'ResourceConfig' => [ 'shape' => 'ResourceConfig', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TrainingStartTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'SecondaryStatusTransitions' => [ 'shape' => 'SecondaryStatusTransitions', ], 'FinalMetricDataList' => [ 'shape' => 'FinalMetricDataList', ], 'EnableNetworkIsolation' => [ 'shape' => 'Boolean', ], 'EnableInterContainerTrafficEncryption' => [ 'shape' => 'Boolean', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'TrainingJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-job/.*', ], 'TrainingJobDefinition' => [ 'type' => 'structure', 'required' => [ 'TrainingInputMode', 'InputDataConfig', 'OutputDataConfig', 'ResourceConfig', 'StoppingCondition', ], 'members' => [ 'TrainingInputMode' => [ 'shape' => 'TrainingInputMode', ], 'HyperParameters' => [ 'shape' => 'HyperParameters', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'ResourceConfig' => [ 'shape' => 'ResourceConfig', ], 'StoppingCondition' => [ 'shape' => 'StoppingCondition', ], ], ], 'TrainingJobEarlyStoppingType' => [ 'type' => 'string', 'enum' => [ 'Off', 'Auto', ], ], 'TrainingJobName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'TrainingJobSortByOptions' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', 'FinalObjectiveMetricValue', ], ], 'TrainingJobStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Completed', 'Failed', 'Stopping', 'Stopped', ], ], 'TrainingJobStatusCounter' => [ 'type' => 'integer', 'min' => 0, ], 'TrainingJobStatusCounters' => [ 'type' => 'structure', 'members' => [ 'Completed' => [ 'shape' => 'TrainingJobStatusCounter', ], 'InProgress' => [ 'shape' => 'TrainingJobStatusCounter', ], 'RetryableError' => [ 'shape' => 'TrainingJobStatusCounter', ], 'NonRetryableError' => [ 'shape' => 'TrainingJobStatusCounter', ], 'Stopped' => [ 'shape' => 'TrainingJobStatusCounter', ], ], ], 'TrainingJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrainingJobSummary', ], ], 'TrainingJobSummary' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'TrainingJobArn', 'CreationTime', 'TrainingJobStatus', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TrainingEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'TrainingJobStatus' => [ 'shape' => 'TrainingJobStatus', ], ], ], 'TrainingSpecification' => [ 'type' => 'structure', 'required' => [ 'TrainingImage', 'SupportedTrainingInstanceTypes', 'TrainingChannels', ], 'members' => [ 'TrainingImage' => [ 'shape' => 'Image', ], 'TrainingImageDigest' => [ 'shape' => 'ImageDigest', ], 'SupportedHyperParameters' => [ 'shape' => 'HyperParameterSpecifications', ], 'SupportedTrainingInstanceTypes' => [ 'shape' => 'TrainingInstanceTypes', ], 'SupportsDistributedTraining' => [ 'shape' => 'Boolean', ], 'MetricDefinitions' => [ 'shape' => 'MetricDefinitionList', ], 'TrainingChannels' => [ 'shape' => 'ChannelSpecifications', ], 'SupportedTuningJobObjectiveMetrics' => [ 'shape' => 'HyperParameterTuningJobObjectives', ], ], ], 'TransformDataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataSource', ], 'members' => [ 'S3DataSource' => [ 'shape' => 'TransformS3DataSource', ], ], ], 'TransformEnvironmentKey' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '[a-zA-Z_][a-zA-Z0-9_]*', ], 'TransformEnvironmentMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TransformEnvironmentKey', ], 'value' => [ 'shape' => 'TransformEnvironmentValue', ], 'max' => 16, ], 'TransformEnvironmentValue' => [ 'type' => 'string', 'max' => 10240, 'pattern' => '[\\S\\s]*', ], 'TransformInput' => [ 'type' => 'structure', 'required' => [ 'DataSource', ], 'members' => [ 'DataSource' => [ 'shape' => 'TransformDataSource', ], 'ContentType' => [ 'shape' => 'ContentType', ], 'CompressionType' => [ 'shape' => 'CompressionType', ], 'SplitType' => [ 'shape' => 'SplitType', ], ], ], 'TransformInstanceCount' => [ 'type' => 'integer', 'min' => 1, ], 'TransformInstanceType' => [ 'type' => 'string', 'enum' => [ 'ml.m4.xlarge', 'ml.m4.2xlarge', 'ml.m4.4xlarge', 'ml.m4.10xlarge', 'ml.m4.16xlarge', 'ml.c4.xlarge', 'ml.c4.2xlarge', 'ml.c4.4xlarge', 'ml.c4.8xlarge', 'ml.p2.xlarge', 'ml.p2.8xlarge', 'ml.p2.16xlarge', 'ml.p3.2xlarge', 'ml.p3.8xlarge', 'ml.p3.16xlarge', 'ml.c5.xlarge', 'ml.c5.2xlarge', 'ml.c5.4xlarge', 'ml.c5.9xlarge', 'ml.c5.18xlarge', 'ml.m5.large', 'ml.m5.xlarge', 'ml.m5.2xlarge', 'ml.m5.4xlarge', 'ml.m5.12xlarge', 'ml.m5.24xlarge', ], ], 'TransformInstanceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransformInstanceType', ], 'min' => 1, ], 'TransformJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:transform-job/.*', ], 'TransformJobDefinition' => [ 'type' => 'structure', 'required' => [ 'TransformInput', 'TransformOutput', 'TransformResources', ], 'members' => [ 'MaxConcurrentTransforms' => [ 'shape' => 'MaxConcurrentTransforms', ], 'MaxPayloadInMB' => [ 'shape' => 'MaxPayloadInMB', ], 'BatchStrategy' => [ 'shape' => 'BatchStrategy', ], 'Environment' => [ 'shape' => 'TransformEnvironmentMap', ], 'TransformInput' => [ 'shape' => 'TransformInput', ], 'TransformOutput' => [ 'shape' => 'TransformOutput', ], 'TransformResources' => [ 'shape' => 'TransformResources', ], ], ], 'TransformJobName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'TransformJobStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Completed', 'Failed', 'Stopping', 'Stopped', ], ], 'TransformJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'TransformJobSummary', ], ], 'TransformJobSummary' => [ 'type' => 'structure', 'required' => [ 'TransformJobName', 'TransformJobArn', 'CreationTime', 'TransformJobStatus', ], 'members' => [ 'TransformJobName' => [ 'shape' => 'TransformJobName', ], 'TransformJobArn' => [ 'shape' => 'TransformJobArn', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'TransformEndTime' => [ 'shape' => 'Timestamp', ], 'LastModifiedTime' => [ 'shape' => 'Timestamp', ], 'TransformJobStatus' => [ 'shape' => 'TransformJobStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], ], ], 'TransformOutput' => [ 'type' => 'structure', 'required' => [ 'S3OutputPath', ], 'members' => [ 'S3OutputPath' => [ 'shape' => 'S3Uri', ], 'Accept' => [ 'shape' => 'Accept', ], 'AssembleWith' => [ 'shape' => 'AssemblyType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'TransformResources' => [ 'type' => 'structure', 'required' => [ 'InstanceType', 'InstanceCount', ], 'members' => [ 'InstanceType' => [ 'shape' => 'TransformInstanceType', ], 'InstanceCount' => [ 'shape' => 'TransformInstanceCount', ], 'VolumeKmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'TransformS3DataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataType', 'S3Uri', ], 'members' => [ 'S3DataType' => [ 'shape' => 'S3DataType', ], 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'USD' => [ 'type' => 'structure', 'members' => [ 'Dollars' => [ 'shape' => 'Dollars', ], 'Cents' => [ 'shape' => 'Cents', ], 'TenthFractionsOfACent' => [ 'shape' => 'TenthFractionsOfACent', ], ], ], 'UiConfig' => [ 'type' => 'structure', 'required' => [ 'UiTemplateS3Uri', ], 'members' => [ 'UiTemplateS3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'UiTemplate' => [ 'type' => 'structure', 'required' => [ 'Content', ], 'members' => [ 'Content' => [ 'shape' => 'TemplateContent', ], ], ], 'UpdateCodeRepositoryInput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryName', ], 'members' => [ 'CodeRepositoryName' => [ 'shape' => 'EntityName', ], 'GitConfig' => [ 'shape' => 'GitConfigForUpdate', ], ], ], 'UpdateCodeRepositoryOutput' => [ 'type' => 'structure', 'required' => [ 'CodeRepositoryArn', ], 'members' => [ 'CodeRepositoryArn' => [ 'shape' => 'CodeRepositoryArn', ], ], ], 'UpdateEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'EndpointConfigName', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], 'EndpointConfigName' => [ 'shape' => 'EndpointConfigName', ], ], ], 'UpdateEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'EndpointArn', ], ], ], 'UpdateEndpointWeightsAndCapacitiesInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'DesiredWeightsAndCapacities', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', ], 'DesiredWeightsAndCapacities' => [ 'shape' => 'DesiredWeightAndCapacityList', ], ], ], 'UpdateEndpointWeightsAndCapacitiesOutput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'EndpointArn', ], ], ], 'UpdateNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], 'InstanceType' => [ 'shape' => 'InstanceType', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], 'LifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'DisassociateLifecycleConfig' => [ 'shape' => 'DisassociateNotebookInstanceLifecycleConfig', ], 'VolumeSizeInGB' => [ 'shape' => 'NotebookInstanceVolumeSizeInGB', ], 'DefaultCodeRepository' => [ 'shape' => 'CodeRepositoryNameOrUrl', ], 'AdditionalCodeRepositories' => [ 'shape' => 'AdditionalCodeRepositoryNamesOrUrls', ], 'AcceleratorTypes' => [ 'shape' => 'NotebookInstanceAcceleratorTypes', ], 'DisassociateAcceleratorTypes' => [ 'shape' => 'DisassociateNotebookInstanceAcceleratorTypes', ], 'DisassociateDefaultCodeRepository' => [ 'shape' => 'DisassociateDefaultCodeRepository', ], 'DisassociateAdditionalCodeRepositories' => [ 'shape' => 'DisassociateAdditionalCodeRepositories', ], 'RootAccess' => [ 'shape' => 'RootAccess', ], ], ], 'UpdateNotebookInstanceLifecycleConfigInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'OnCreate' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], 'OnStart' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], ], ], 'UpdateNotebookInstanceLifecycleConfigOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotebookInstanceOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateWorkteamRequest' => [ 'type' => 'structure', 'required' => [ 'WorkteamName', ], 'members' => [ 'WorkteamName' => [ 'shape' => 'WorkteamName', ], 'MemberDefinitions' => [ 'shape' => 'MemberDefinitions', ], 'Description' => [ 'shape' => 'String200', ], ], ], 'UpdateWorkteamResponse' => [ 'type' => 'structure', 'required' => [ 'Workteam', ], 'members' => [ 'Workteam' => [ 'shape' => 'Workteam', ], ], ], 'Url' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^(https|s3)://([^/]+)/?(.*)$', ], 'VariantName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'VariantWeight' => [ 'type' => 'float', 'min' => 0, ], 'VolumeSizeInGB' => [ 'type' => 'integer', 'min' => 1, ], 'VpcConfig' => [ 'type' => 'structure', 'required' => [ 'SecurityGroupIds', 'Subnets', ], 'members' => [ 'SecurityGroupIds' => [ 'shape' => 'VpcSecurityGroupIds', ], 'Subnets' => [ 'shape' => 'Subnets', ], ], ], 'VpcSecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], 'max' => 5, 'min' => 1, ], 'Workteam' => [ 'type' => 'structure', 'required' => [ 'WorkteamName', 'MemberDefinitions', 'WorkteamArn', 'Description', ], 'members' => [ 'WorkteamName' => [ 'shape' => 'WorkteamName', ], 'MemberDefinitions' => [ 'shape' => 'MemberDefinitions', ], 'WorkteamArn' => [ 'shape' => 'WorkteamArn', ], 'ProductListingIds' => [ 'shape' => 'ProductListings', ], 'Description' => [ 'shape' => 'String200', ], 'SubDomain' => [ 'shape' => 'String', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], 'LastUpdatedDate' => [ 'shape' => 'Timestamp', ], ], ], 'WorkteamArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:workteam/.*', ], 'WorkteamName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'Workteams' => [ 'type' => 'list', 'member' => [ 'shape' => 'Workteam', ], ], ],]; diff --git a/lib/aws/Aws/data/sagemaker/2017-07-24/paginators-1.json.php b/lib/aws/Aws/data/sagemaker/2017-07-24/paginators-1.json.php new file mode 100644 index 0000000..13eda03 --- /dev/null +++ b/lib/aws/Aws/data/sagemaker/2017-07-24/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sagemaker/2017-07-24/paginators-1.json +return [ 'pagination' => [ 'ListCompilationJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListEndpointConfigs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListEndpoints' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListHyperParameterTuningJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListLabelingJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListLabelingJobsForWorkteam' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListModels' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListNotebookInstanceLifecycleConfigs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListNotebookInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSubscribedWorkteams' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTags' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTrainingJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTrainingJobsForHyperParameterTuningJob' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListTransformJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListWorkteams' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'Search' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/sagemaker/2017-07-24/waiters-2.json.php b/lib/aws/Aws/data/sagemaker/2017-07-24/waiters-2.json.php new file mode 100644 index 0000000..5b4c484 --- /dev/null +++ b/lib/aws/Aws/data/sagemaker/2017-07-24/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sagemaker/2017-07-24/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'NotebookInstanceInService' => [ 'delay' => 30, 'maxAttempts' => 60, 'operation' => 'DescribeNotebookInstance', 'acceptors' => [ [ 'expected' => 'InService', 'matcher' => 'path', 'state' => 'success', 'argument' => 'NotebookInstanceStatus', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'NotebookInstanceStatus', ], ], ], 'NotebookInstanceStopped' => [ 'delay' => 30, 'operation' => 'DescribeNotebookInstance', 'maxAttempts' => 60, 'acceptors' => [ [ 'expected' => 'Stopped', 'matcher' => 'path', 'state' => 'success', 'argument' => 'NotebookInstanceStatus', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'NotebookInstanceStatus', ], ], ], 'NotebookInstanceDeleted' => [ 'delay' => 30, 'maxAttempts' => 60, 'operation' => 'DescribeNotebookInstance', 'acceptors' => [ [ 'expected' => 'ValidationException', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'NotebookInstanceStatus', ], ], ], 'TrainingJobCompletedOrStopped' => [ 'delay' => 120, 'maxAttempts' => 180, 'operation' => 'DescribeTrainingJob', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'TrainingJobStatus', ], [ 'expected' => 'Stopped', 'matcher' => 'path', 'state' => 'success', 'argument' => 'TrainingJobStatus', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'TrainingJobStatus', ], [ 'expected' => 'ValidationException', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'EndpointInService' => [ 'delay' => 30, 'maxAttempts' => 120, 'operation' => 'DescribeEndpoint', 'acceptors' => [ [ 'expected' => 'InService', 'matcher' => 'path', 'state' => 'success', 'argument' => 'EndpointStatus', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'EndpointStatus', ], [ 'expected' => 'ValidationException', 'matcher' => 'error', 'state' => 'failure', ], ], ], 'EndpointDeleted' => [ 'delay' => 30, 'maxAttempts' => 60, 'operation' => 'DescribeEndpoint', 'acceptors' => [ [ 'expected' => 'ValidationException', 'matcher' => 'error', 'state' => 'success', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'EndpointStatus', ], ], ], 'TransformJobCompletedOrStopped' => [ 'delay' => 60, 'maxAttempts' => 60, 'operation' => 'DescribeTransformJob', 'acceptors' => [ [ 'expected' => 'Completed', 'matcher' => 'path', 'state' => 'success', 'argument' => 'TransformJobStatus', ], [ 'expected' => 'Stopped', 'matcher' => 'path', 'state' => 'success', 'argument' => 'TransformJobStatus', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'TransformJobStatus', ], [ 'expected' => 'ValidationException', 'matcher' => 'error', 'state' => 'failure', ], ], ], ],]; diff --git a/lib/aws/Aws/data/secretsmanager/2017-10-17/api-2.json.php b/lib/aws/Aws/data/secretsmanager/2017-10-17/api-2.json.php new file mode 100644 index 0000000..3fb3a45 --- /dev/null +++ b/lib/aws/Aws/data/secretsmanager/2017-10-17/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/secretsmanager/2017-10-17/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-17', 'endpointPrefix' => 'secretsmanager', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Secrets Manager', 'serviceId' => 'Secrets Manager', 'signatureVersion' => 'v4', 'signingName' => 'secretsmanager', 'targetPrefix' => 'secretsmanager', 'uid' => 'secretsmanager-2017-10-17', ], 'operations' => [ 'CancelRotateSecret' => [ 'name' => 'CancelRotateSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelRotateSecretRequest', ], 'output' => [ 'shape' => 'CancelRotateSecretResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateSecret' => [ 'name' => 'CreateSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSecretRequest', ], 'output' => [ 'shape' => 'CreateSecretResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EncryptionFailure', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'PreconditionNotMetException', ], ], ], 'DeleteResourcePolicy' => [ 'name' => 'DeleteResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourcePolicyRequest', ], 'output' => [ 'shape' => 'DeleteResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'DeleteSecret' => [ 'name' => 'DeleteSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSecretRequest', ], 'output' => [ 'shape' => 'DeleteSecretResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'DescribeSecret' => [ 'name' => 'DescribeSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSecretRequest', ], 'output' => [ 'shape' => 'DescribeSecretResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'GetRandomPassword' => [ 'name' => 'GetRandomPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRandomPasswordRequest', ], 'output' => [ 'shape' => 'GetRandomPasswordResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'GetResourcePolicy' => [ 'name' => 'GetResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetResourcePolicyRequest', ], 'output' => [ 'shape' => 'GetResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'GetSecretValue' => [ 'name' => 'GetSecretValue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSecretValueRequest', ], 'output' => [ 'shape' => 'GetSecretValueResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'DecryptionFailure', ], [ 'shape' => 'InternalServiceError', ], ], ], 'ListSecretVersionIds' => [ 'name' => 'ListSecretVersionIds', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSecretVersionIdsRequest', ], 'output' => [ 'shape' => 'ListSecretVersionIdsResponse', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'ListSecrets' => [ 'name' => 'ListSecrets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSecretsRequest', ], 'output' => [ 'shape' => 'ListSecretsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'PutResourcePolicy' => [ 'name' => 'PutResourcePolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutResourcePolicyRequest', ], 'output' => [ 'shape' => 'PutResourcePolicyResponse', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'PutSecretValue' => [ 'name' => 'PutSecretValue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutSecretValueRequest', ], 'output' => [ 'shape' => 'PutSecretValueResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EncryptionFailure', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'RestoreSecret' => [ 'name' => 'RestoreSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RestoreSecretRequest', ], 'output' => [ 'shape' => 'RestoreSecretResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'RotateSecret' => [ 'name' => 'RotateSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RotateSecretRequest', ], 'output' => [ 'shape' => 'RotateSecretResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalServiceError', ], ], ], 'UpdateSecret' => [ 'name' => 'UpdateSecret', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSecretRequest', ], 'output' => [ 'shape' => 'UpdateSecretResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'EncryptionFailure', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'PreconditionNotMetException', ], ], ], 'UpdateSecretVersionStage' => [ 'name' => 'UpdateSecretVersionStage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSecretVersionStageRequest', ], 'output' => [ 'shape' => 'UpdateSecretVersionStageResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceError', ], ], ], ], 'shapes' => [ 'AutomaticallyRotateAfterDaysType' => [ 'type' => 'long', 'max' => 1000, 'min' => 1, ], 'BooleanType' => [ 'type' => 'boolean', ], 'CancelRotateSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], ], ], 'CancelRotateSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], ], ], 'ClientRequestTokenType' => [ 'type' => 'string', 'max' => 64, 'min' => 32, ], 'CreateSecretRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NameType', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenType', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyIdType', ], 'SecretBinary' => [ 'shape' => 'SecretBinaryType', ], 'SecretString' => [ 'shape' => 'SecretStringType', ], 'Tags' => [ 'shape' => 'TagListType', ], ], ], 'CreateSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], ], ], 'CreatedDateType' => [ 'type' => 'timestamp', ], 'DecryptionFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DeleteResourcePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], ], ], 'DeleteResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'NameType', ], ], ], 'DeleteSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'RecoveryWindowInDays' => [ 'shape' => 'RecoveryWindowInDaysType', 'box' => true, ], 'ForceDeleteWithoutRecovery' => [ 'shape' => 'BooleanType', 'box' => true, ], ], ], 'DeleteSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'DeletionDate' => [ 'shape' => 'DeletionDateType', 'box' => true, ], ], ], 'DeletedDateType' => [ 'type' => 'timestamp', ], 'DeletionDateType' => [ 'type' => 'timestamp', ], 'DescribeSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], ], ], 'DescribeSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyIdType', ], 'RotationEnabled' => [ 'shape' => 'RotationEnabledType', 'box' => true, ], 'RotationLambdaARN' => [ 'shape' => 'RotationLambdaARNType', ], 'RotationRules' => [ 'shape' => 'RotationRulesType', ], 'LastRotatedDate' => [ 'shape' => 'LastRotatedDateType', 'box' => true, ], 'LastChangedDate' => [ 'shape' => 'LastChangedDateType', 'box' => true, ], 'LastAccessedDate' => [ 'shape' => 'LastAccessedDateType', 'box' => true, ], 'DeletedDate' => [ 'shape' => 'DeletedDateType', 'box' => true, ], 'Tags' => [ 'shape' => 'TagListType', ], 'VersionIdsToStages' => [ 'shape' => 'SecretVersionsToStagesMapType', ], ], ], 'DescriptionType' => [ 'type' => 'string', 'max' => 2048, ], 'EncryptionFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExcludeCharactersType' => [ 'type' => 'string', 'max' => 4096, 'min' => 0, ], 'ExcludeLowercaseType' => [ 'type' => 'boolean', ], 'ExcludeNumbersType' => [ 'type' => 'boolean', ], 'ExcludePunctuationType' => [ 'type' => 'boolean', ], 'ExcludeUppercaseType' => [ 'type' => 'boolean', ], 'GetRandomPasswordRequest' => [ 'type' => 'structure', 'members' => [ 'PasswordLength' => [ 'shape' => 'PasswordLengthType', 'box' => true, ], 'ExcludeCharacters' => [ 'shape' => 'ExcludeCharactersType', ], 'ExcludeNumbers' => [ 'shape' => 'ExcludeNumbersType', 'box' => true, ], 'ExcludePunctuation' => [ 'shape' => 'ExcludePunctuationType', 'box' => true, ], 'ExcludeUppercase' => [ 'shape' => 'ExcludeUppercaseType', 'box' => true, ], 'ExcludeLowercase' => [ 'shape' => 'ExcludeLowercaseType', 'box' => true, ], 'IncludeSpace' => [ 'shape' => 'IncludeSpaceType', 'box' => true, ], 'RequireEachIncludedType' => [ 'shape' => 'RequireEachIncludedTypeType', 'box' => true, ], ], ], 'GetRandomPasswordResponse' => [ 'type' => 'structure', 'members' => [ 'RandomPassword' => [ 'shape' => 'RandomPasswordType', ], ], ], 'GetResourcePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], ], ], 'GetResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'NameType', ], 'ResourcePolicy' => [ 'shape' => 'NonEmptyResourcePolicyType', ], ], ], 'GetSecretValueRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], 'VersionStage' => [ 'shape' => 'SecretVersionStageType', ], ], ], 'GetSecretValueResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], 'SecretBinary' => [ 'shape' => 'SecretBinaryType', ], 'SecretString' => [ 'shape' => 'SecretStringType', ], 'VersionStages' => [ 'shape' => 'SecretVersionStagesType', ], 'CreatedDate' => [ 'shape' => 'CreatedDateType', 'box' => true, ], ], ], 'IncludeSpaceType' => [ 'type' => 'boolean', ], 'InternalServiceError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'KmsKeyIdType' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'LastAccessedDateType' => [ 'type' => 'timestamp', ], 'LastChangedDateType' => [ 'type' => 'timestamp', ], 'LastRotatedDateType' => [ 'type' => 'timestamp', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListSecretVersionIdsRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'MaxResults' => [ 'shape' => 'MaxResultsType', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextTokenType', ], 'IncludeDeprecated' => [ 'shape' => 'BooleanType', 'box' => true, ], ], ], 'ListSecretVersionIdsResponse' => [ 'type' => 'structure', 'members' => [ 'Versions' => [ 'shape' => 'SecretVersionsListType', ], 'NextToken' => [ 'shape' => 'NextTokenType', ], 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], ], ], 'ListSecretsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResultsType', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextTokenType', ], ], ], 'ListSecretsResponse' => [ 'type' => 'structure', 'members' => [ 'SecretList' => [ 'shape' => 'SecretListType', ], 'NextToken' => [ 'shape' => 'NextTokenType', ], ], ], 'MalformedPolicyDocumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'MaxResultsType' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'NameType' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'NextTokenType' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'NonEmptyResourcePolicyType' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'PasswordLengthType' => [ 'type' => 'long', 'max' => 4096, 'min' => 1, ], 'PreconditionNotMetException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PutResourcePolicyRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', 'ResourcePolicy', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'ResourcePolicy' => [ 'shape' => 'NonEmptyResourcePolicyType', ], ], ], 'PutResourcePolicyResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'NameType', ], ], ], 'PutSecretValueRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenType', 'idempotencyToken' => true, ], 'SecretBinary' => [ 'shape' => 'SecretBinaryType', ], 'SecretString' => [ 'shape' => 'SecretStringType', ], 'VersionStages' => [ 'shape' => 'SecretVersionStagesType', ], ], ], 'PutSecretValueResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], 'VersionStages' => [ 'shape' => 'SecretVersionStagesType', ], ], ], 'RandomPasswordType' => [ 'type' => 'string', 'max' => 4096, 'min' => 0, ], 'RecoveryWindowInDaysType' => [ 'type' => 'long', ], 'RequireEachIncludedTypeType' => [ 'type' => 'boolean', ], 'ResourceExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RestoreSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], ], ], 'RestoreSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], ], ], 'RotateSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenType', 'idempotencyToken' => true, ], 'RotationLambdaARN' => [ 'shape' => 'RotationLambdaARNType', ], 'RotationRules' => [ 'shape' => 'RotationRulesType', ], ], ], 'RotateSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', 'box' => true, ], ], ], 'RotationEnabledType' => [ 'type' => 'boolean', ], 'RotationLambdaARNType' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, ], 'RotationRulesType' => [ 'type' => 'structure', 'members' => [ 'AutomaticallyAfterDays' => [ 'shape' => 'AutomaticallyRotateAfterDaysType', 'box' => true, ], ], ], 'SecretARNType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'SecretBinaryType' => [ 'type' => 'blob', 'max' => 7168, 'min' => 0, 'sensitive' => true, ], 'SecretIdType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'SecretListEntry' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyIdType', ], 'RotationEnabled' => [ 'shape' => 'RotationEnabledType', 'box' => true, ], 'RotationLambdaARN' => [ 'shape' => 'RotationLambdaARNType', ], 'RotationRules' => [ 'shape' => 'RotationRulesType', ], 'LastRotatedDate' => [ 'shape' => 'LastRotatedDateType', 'box' => true, ], 'LastChangedDate' => [ 'shape' => 'LastChangedDateType', 'box' => true, ], 'LastAccessedDate' => [ 'shape' => 'LastAccessedDateType', 'box' => true, ], 'DeletedDate' => [ 'shape' => 'DeletedDateType', ], 'Tags' => [ 'shape' => 'TagListType', ], 'SecretVersionsToStages' => [ 'shape' => 'SecretVersionsToStagesMapType', ], ], ], 'SecretListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecretListEntry', ], ], 'SecretNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'SecretStringType' => [ 'type' => 'string', 'max' => 7168, 'min' => 0, 'sensitive' => true, ], 'SecretVersionIdType' => [ 'type' => 'string', 'max' => 64, 'min' => 32, ], 'SecretVersionStageType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'SecretVersionStagesType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecretVersionStageType', ], 'max' => 20, 'min' => 1, ], 'SecretVersionsListEntry' => [ 'type' => 'structure', 'members' => [ 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], 'VersionStages' => [ 'shape' => 'SecretVersionStagesType', ], 'LastAccessedDate' => [ 'shape' => 'LastAccessedDateType', 'box' => true, ], 'CreatedDate' => [ 'shape' => 'CreatedDateType', 'box' => true, ], ], ], 'SecretVersionsListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecretVersionsListEntry', ], ], 'SecretVersionsToStagesMapType' => [ 'type' => 'map', 'key' => [ 'shape' => 'SecretVersionIdType', ], 'value' => [ 'shape' => 'SecretVersionStagesType', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagKeyType', ], 'Value' => [ 'shape' => 'TagValueType', ], ], ], 'TagKeyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKeyType', ], ], 'TagKeyType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', 'Tags', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'Tags' => [ 'shape' => 'TagListType', ], ], ], 'TagValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', 'TagKeys', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'TagKeys' => [ 'shape' => 'TagKeyListType', ], ], ], 'UpdateSecretRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenType', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'DescriptionType', ], 'KmsKeyId' => [ 'shape' => 'KmsKeyIdType', ], 'SecretBinary' => [ 'shape' => 'SecretBinaryType', ], 'SecretString' => [ 'shape' => 'SecretStringType', ], ], ], 'UpdateSecretResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], 'VersionId' => [ 'shape' => 'SecretVersionIdType', ], ], ], 'UpdateSecretVersionStageRequest' => [ 'type' => 'structure', 'required' => [ 'SecretId', 'VersionStage', ], 'members' => [ 'SecretId' => [ 'shape' => 'SecretIdType', ], 'VersionStage' => [ 'shape' => 'SecretVersionStageType', ], 'RemoveFromVersionId' => [ 'shape' => 'SecretVersionIdType', 'box' => true, ], 'MoveToVersionId' => [ 'shape' => 'SecretVersionIdType', 'box' => true, ], ], ], 'UpdateSecretVersionStageResponse' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'SecretARNType', ], 'Name' => [ 'shape' => 'SecretNameType', ], ], ], ],]; diff --git a/lib/aws/Aws/data/secretsmanager/2017-10-17/paginators-1.json.php b/lib/aws/Aws/data/secretsmanager/2017-10-17/paginators-1.json.php new file mode 100644 index 0000000..9bde656 --- /dev/null +++ b/lib/aws/Aws/data/secretsmanager/2017-10-17/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/secretsmanager/2017-10-17/paginators-1.json +return [ 'pagination' => [ 'ListSecretVersionIds' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSecrets' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/secretsmanager/2017-10-17/smoke.json.php b/lib/aws/Aws/data/secretsmanager/2017-10-17/smoke.json.php new file mode 100644 index 0000000..2f13c14 --- /dev/null +++ b/lib/aws/Aws/data/secretsmanager/2017-10-17/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/secretsmanager/2017-10-17/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListSecrets', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeSecret', 'input' => [ 'SecretId' => 'fake-secret-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/securityhub/2018-10-26/api-2.json.php b/lib/aws/Aws/data/securityhub/2018-10-26/api-2.json.php new file mode 100644 index 0000000..f961d0c --- /dev/null +++ b/lib/aws/Aws/data/securityhub/2018-10-26/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/securityhub/2018-10-26/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-10-26', 'endpointPrefix' => 'securityhub', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS SecurityHub', 'serviceId' => 'SecurityHub', 'signatureVersion' => 'v4', 'signingName' => 'securityhub', 'uid' => 'securityhub-2018-10-26', ], 'operations' => [ 'AcceptInvitation' => [ 'name' => 'AcceptInvitation', 'http' => [ 'method' => 'POST', 'requestUri' => '/master', ], 'input' => [ 'shape' => 'AcceptInvitationRequest', ], 'output' => [ 'shape' => 'AcceptInvitationResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAccessException', ], ], ], 'BatchDisableStandards' => [ 'name' => 'BatchDisableStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/deregister', ], 'input' => [ 'shape' => 'BatchDisableStandardsRequest', ], 'output' => [ 'shape' => 'BatchDisableStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'BatchEnableStandards' => [ 'name' => 'BatchEnableStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/register', ], 'input' => [ 'shape' => 'BatchEnableStandardsRequest', ], 'output' => [ 'shape' => 'BatchEnableStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'BatchImportFindings' => [ 'name' => 'BatchImportFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/findings/import', ], 'input' => [ 'shape' => 'BatchImportFindingsRequest', ], 'output' => [ 'shape' => 'BatchImportFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], ], ], 'CreateInsight' => [ 'name' => 'CreateInsight', 'http' => [ 'method' => 'POST', 'requestUri' => '/insights', ], 'input' => [ 'shape' => 'CreateInsightRequest', ], 'output' => [ 'shape' => 'CreateInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'CreateMembers' => [ 'name' => 'CreateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members', ], 'input' => [ 'shape' => 'CreateMembersRequest', ], 'output' => [ 'shape' => 'CreateMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceConflictException', ], ], ], 'DeclineInvitations' => [ 'name' => 'DeclineInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitations/decline', ], 'input' => [ 'shape' => 'DeclineInvitationsRequest', ], 'output' => [ 'shape' => 'DeclineInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteInsight' => [ 'name' => 'DeleteInsight', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/insights/{InsightArn+}', ], 'input' => [ 'shape' => 'DeleteInsightRequest', ], 'output' => [ 'shape' => 'DeleteInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteInvitations' => [ 'name' => 'DeleteInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitations/delete', ], 'input' => [ 'shape' => 'DeleteInvitationsRequest', ], 'output' => [ 'shape' => 'DeleteInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAccessException', ], ], ], 'DeleteMembers' => [ 'name' => 'DeleteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/delete', ], 'input' => [ 'shape' => 'DeleteMembersRequest', ], 'output' => [ 'shape' => 'DeleteMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisableImportFindingsForProduct' => [ 'name' => 'DisableImportFindingsForProduct', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/productSubscriptions/{ProductSubscriptionArn+}', ], 'input' => [ 'shape' => 'DisableImportFindingsForProductRequest', ], 'output' => [ 'shape' => 'DisableImportFindingsForProductResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DisableSecurityHub' => [ 'name' => 'DisableSecurityHub', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts', ], 'input' => [ 'shape' => 'DisableSecurityHubRequest', ], 'output' => [ 'shape' => 'DisableSecurityHubResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateFromMasterAccount' => [ 'name' => 'DisassociateFromMasterAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/master/disassociate', ], 'input' => [ 'shape' => 'DisassociateFromMasterAccountRequest', ], 'output' => [ 'shape' => 'DisassociateFromMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateMembers' => [ 'name' => 'DisassociateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/disassociate', ], 'input' => [ 'shape' => 'DisassociateMembersRequest', ], 'output' => [ 'shape' => 'DisassociateMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'EnableImportFindingsForProduct' => [ 'name' => 'EnableImportFindingsForProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/productSubscriptions', ], 'input' => [ 'shape' => 'EnableImportFindingsForProductRequest', ], 'output' => [ 'shape' => 'EnableImportFindingsForProductResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'EnableSecurityHub' => [ 'name' => 'EnableSecurityHub', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts', ], 'input' => [ 'shape' => 'EnableSecurityHubRequest', ], 'output' => [ 'shape' => 'EnableSecurityHubResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceConflictException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'GetEnabledStandards' => [ 'name' => 'GetEnabledStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/get', ], 'input' => [ 'shape' => 'GetEnabledStandardsRequest', ], 'output' => [ 'shape' => 'GetEnabledStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetFindings' => [ 'name' => 'GetFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/findings', ], 'input' => [ 'shape' => 'GetFindingsRequest', ], 'output' => [ 'shape' => 'GetFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetInsightResults' => [ 'name' => 'GetInsightResults', 'http' => [ 'method' => 'GET', 'requestUri' => '/insights/results/{InsightArn+}', ], 'input' => [ 'shape' => 'GetInsightResultsRequest', ], 'output' => [ 'shape' => 'GetInsightResultsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetInsights' => [ 'name' => 'GetInsights', 'http' => [ 'method' => 'POST', 'requestUri' => '/insights/get', ], 'input' => [ 'shape' => 'GetInsightsRequest', ], 'output' => [ 'shape' => 'GetInsightsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetInvitationsCount' => [ 'name' => 'GetInvitationsCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitations/count', ], 'input' => [ 'shape' => 'GetInvitationsCountRequest', ], 'output' => [ 'shape' => 'GetInvitationsCountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetMasterAccount' => [ 'name' => 'GetMasterAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/master', ], 'input' => [ 'shape' => 'GetMasterAccountRequest', ], 'output' => [ 'shape' => 'GetMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetMembers' => [ 'name' => 'GetMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/get', ], 'input' => [ 'shape' => 'GetMembersRequest', ], 'output' => [ 'shape' => 'GetMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'InviteMembers' => [ 'name' => 'InviteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/invite', ], 'input' => [ 'shape' => 'InviteMembersRequest', ], 'output' => [ 'shape' => 'InviteMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListEnabledProductsForImport' => [ 'name' => 'ListEnabledProductsForImport', 'http' => [ 'method' => 'GET', 'requestUri' => '/productSubscriptions', ], 'input' => [ 'shape' => 'ListEnabledProductsForImportRequest', ], 'output' => [ 'shape' => 'ListEnabledProductsForImportResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], ], ], 'ListInvitations' => [ 'name' => 'ListInvitations', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitations', ], 'input' => [ 'shape' => 'ListInvitationsRequest', ], 'output' => [ 'shape' => 'ListInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListMembers' => [ 'name' => 'ListMembers', 'http' => [ 'method' => 'GET', 'requestUri' => '/members', ], 'input' => [ 'shape' => 'ListMembersRequest', ], 'output' => [ 'shape' => 'ListMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'UpdateFindings' => [ 'name' => 'UpdateFindings', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/findings', ], 'input' => [ 'shape' => 'UpdateFindingsRequest', ], 'output' => [ 'shape' => 'UpdateFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateInsight' => [ 'name' => 'UpdateInsight', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/insights/{InsightArn+}', ], 'input' => [ 'shape' => 'UpdateInsightRequest', ], 'output' => [ 'shape' => 'UpdateInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'InvalidAccessException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AcceptInvitationRequest' => [ 'type' => 'structure', 'members' => [ 'MasterId' => [ 'shape' => 'NonEmptyString', ], 'InvitationId' => [ 'shape' => 'NonEmptyString', ], ], ], 'AcceptInvitationResponse' => [ 'type' => 'structure', 'members' => [], ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'AccountDetails' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Email' => [ 'shape' => 'NonEmptyString', ], ], ], 'AccountDetailsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountDetails', ], ], 'AccountId' => [ 'type' => 'string', ], 'AccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'ArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'AwsEc2InstanceDetails' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'NonEmptyString', ], 'ImageId' => [ 'shape' => 'NonEmptyString', ], 'IpV4Addresses' => [ 'shape' => 'StringList', ], 'IpV6Addresses' => [ 'shape' => 'StringList', ], 'KeyName' => [ 'shape' => 'NonEmptyString', ], 'IamInstanceProfileArn' => [ 'shape' => 'NonEmptyString', ], 'VpcId' => [ 'shape' => 'NonEmptyString', ], 'SubnetId' => [ 'shape' => 'NonEmptyString', ], 'LaunchedAt' => [ 'shape' => 'NonEmptyString', ], ], ], 'AwsIamAccessKeyDetails' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'NonEmptyString', ], 'Status' => [ 'shape' => 'AwsIamAccessKeyStatus', ], 'CreatedAt' => [ 'shape' => 'NonEmptyString', ], ], ], 'AwsIamAccessKeyStatus' => [ 'type' => 'string', 'enum' => [ 'Active', 'Inactive', ], ], 'AwsS3BucketDetails' => [ 'type' => 'structure', 'members' => [ 'OwnerId' => [ 'shape' => 'NonEmptyString', ], 'OwnerName' => [ 'shape' => 'NonEmptyString', ], ], ], 'AwsSecurityFinding' => [ 'type' => 'structure', 'required' => [ 'SchemaVersion', 'Id', 'ProductArn', 'GeneratorId', 'AwsAccountId', 'Types', 'CreatedAt', 'UpdatedAt', 'Severity', 'Resources', ], 'members' => [ 'SchemaVersion' => [ 'shape' => 'NonEmptyString', ], 'Id' => [ 'shape' => 'NonEmptyString', ], 'ProductArn' => [ 'shape' => 'NonEmptyString', ], 'GeneratorId' => [ 'shape' => 'NonEmptyString', ], 'AwsAccountId' => [ 'shape' => 'NonEmptyString', ], 'Types' => [ 'shape' => 'TypeList', ], 'FirstObservedAt' => [ 'shape' => 'NonEmptyString', ], 'LastObservedAt' => [ 'shape' => 'NonEmptyString', ], 'CreatedAt' => [ 'shape' => 'NonEmptyString', ], 'UpdatedAt' => [ 'shape' => 'NonEmptyString', ], 'Severity' => [ 'shape' => 'Severity', ], 'Confidence' => [ 'shape' => 'Integer', ], 'Criticality' => [ 'shape' => 'Integer', ], 'Title' => [ 'shape' => 'NonEmptyString', ], 'Description' => [ 'shape' => 'NonEmptyString', ], 'Remediation' => [ 'shape' => 'Remediation', ], 'SourceUrl' => [ 'shape' => 'NonEmptyString', ], 'ProductFields' => [ 'shape' => 'FieldMap', ], 'UserDefinedFields' => [ 'shape' => 'FieldMap', ], 'Malware' => [ 'shape' => 'MalwareList', ], 'Network' => [ 'shape' => 'Network', ], 'Process' => [ 'shape' => 'ProcessDetails', ], 'ThreatIntelIndicators' => [ 'shape' => 'ThreatIntelIndicatorList', ], 'Resources' => [ 'shape' => 'ResourceList', ], 'Compliance' => [ 'shape' => 'Compliance', ], 'VerificationState' => [ 'shape' => 'VerificationState', ], 'WorkflowState' => [ 'shape' => 'WorkflowState', ], 'RecordState' => [ 'shape' => 'RecordState', ], 'RelatedFindings' => [ 'shape' => 'RelatedFindingList', ], 'Note' => [ 'shape' => 'Note', ], ], ], 'AwsSecurityFindingFilters' => [ 'type' => 'structure', 'members' => [ 'ProductArn' => [ 'shape' => 'StringFilterList', ], 'AwsAccountId' => [ 'shape' => 'StringFilterList', ], 'Id' => [ 'shape' => 'StringFilterList', ], 'GeneratorId' => [ 'shape' => 'StringFilterList', ], 'Type' => [ 'shape' => 'StringFilterList', ], 'FirstObservedAt' => [ 'shape' => 'DateFilterList', ], 'LastObservedAt' => [ 'shape' => 'DateFilterList', ], 'CreatedAt' => [ 'shape' => 'DateFilterList', ], 'UpdatedAt' => [ 'shape' => 'DateFilterList', ], 'SeverityProduct' => [ 'shape' => 'NumberFilterList', ], 'SeverityNormalized' => [ 'shape' => 'NumberFilterList', ], 'SeverityLabel' => [ 'shape' => 'StringFilterList', ], 'Confidence' => [ 'shape' => 'NumberFilterList', ], 'Criticality' => [ 'shape' => 'NumberFilterList', ], 'Title' => [ 'shape' => 'StringFilterList', ], 'Description' => [ 'shape' => 'StringFilterList', ], 'RecommendationText' => [ 'shape' => 'StringFilterList', ], 'SourceUrl' => [ 'shape' => 'StringFilterList', ], 'ProductFields' => [ 'shape' => 'MapFilterList', ], 'ProductName' => [ 'shape' => 'StringFilterList', ], 'CompanyName' => [ 'shape' => 'StringFilterList', ], 'UserDefinedFields' => [ 'shape' => 'MapFilterList', ], 'MalwareName' => [ 'shape' => 'StringFilterList', ], 'MalwareType' => [ 'shape' => 'StringFilterList', ], 'MalwarePath' => [ 'shape' => 'StringFilterList', ], 'MalwareState' => [ 'shape' => 'StringFilterList', ], 'NetworkDirection' => [ 'shape' => 'StringFilterList', ], 'NetworkProtocol' => [ 'shape' => 'StringFilterList', ], 'NetworkSourceIpV4' => [ 'shape' => 'IpFilterList', ], 'NetworkSourceIpV6' => [ 'shape' => 'IpFilterList', ], 'NetworkSourcePort' => [ 'shape' => 'NumberFilterList', ], 'NetworkSourceDomain' => [ 'shape' => 'StringFilterList', ], 'NetworkSourceMac' => [ 'shape' => 'StringFilterList', ], 'NetworkDestinationIpV4' => [ 'shape' => 'IpFilterList', ], 'NetworkDestinationIpV6' => [ 'shape' => 'IpFilterList', ], 'NetworkDestinationPort' => [ 'shape' => 'NumberFilterList', ], 'NetworkDestinationDomain' => [ 'shape' => 'StringFilterList', ], 'ProcessName' => [ 'shape' => 'StringFilterList', ], 'ProcessPath' => [ 'shape' => 'StringFilterList', ], 'ProcessPid' => [ 'shape' => 'NumberFilterList', ], 'ProcessParentPid' => [ 'shape' => 'NumberFilterList', ], 'ProcessLaunchedAt' => [ 'shape' => 'DateFilterList', ], 'ProcessTerminatedAt' => [ 'shape' => 'DateFilterList', ], 'ThreatIntelIndicatorType' => [ 'shape' => 'StringFilterList', ], 'ThreatIntelIndicatorValue' => [ 'shape' => 'StringFilterList', ], 'ThreatIntelIndicatorCategory' => [ 'shape' => 'StringFilterList', ], 'ThreatIntelIndicatorLastObservedAt' => [ 'shape' => 'DateFilterList', ], 'ThreatIntelIndicatorSource' => [ 'shape' => 'StringFilterList', ], 'ThreatIntelIndicatorSourceUrl' => [ 'shape' => 'StringFilterList', ], 'ResourceType' => [ 'shape' => 'StringFilterList', ], 'ResourceId' => [ 'shape' => 'StringFilterList', ], 'ResourcePartition' => [ 'shape' => 'StringFilterList', ], 'ResourceRegion' => [ 'shape' => 'StringFilterList', ], 'ResourceTags' => [ 'shape' => 'MapFilterList', ], 'ResourceAwsEc2InstanceType' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceImageId' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceIpV4Addresses' => [ 'shape' => 'IpFilterList', ], 'ResourceAwsEc2InstanceIpV6Addresses' => [ 'shape' => 'IpFilterList', ], 'ResourceAwsEc2InstanceKeyName' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceIamInstanceProfileArn' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceVpcId' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceSubnetId' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsEc2InstanceLaunchedAt' => [ 'shape' => 'DateFilterList', ], 'ResourceAwsS3BucketOwnerId' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsS3BucketOwnerName' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsIamAccessKeyUserName' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsIamAccessKeyStatus' => [ 'shape' => 'StringFilterList', ], 'ResourceAwsIamAccessKeyCreatedAt' => [ 'shape' => 'DateFilterList', ], 'ResourceContainerName' => [ 'shape' => 'StringFilterList', ], 'ResourceContainerImageId' => [ 'shape' => 'StringFilterList', ], 'ResourceContainerImageName' => [ 'shape' => 'StringFilterList', ], 'ResourceContainerLaunchedAt' => [ 'shape' => 'DateFilterList', ], 'ResourceDetailsOther' => [ 'shape' => 'MapFilterList', ], 'ComplianceStatus' => [ 'shape' => 'StringFilterList', ], 'VerificationState' => [ 'shape' => 'StringFilterList', ], 'WorkflowState' => [ 'shape' => 'StringFilterList', ], 'RecordState' => [ 'shape' => 'StringFilterList', ], 'RelatedFindingsProductArn' => [ 'shape' => 'StringFilterList', ], 'RelatedFindingsId' => [ 'shape' => 'StringFilterList', ], 'NoteText' => [ 'shape' => 'StringFilterList', ], 'NoteUpdatedAt' => [ 'shape' => 'DateFilterList', ], 'NoteUpdatedBy' => [ 'shape' => 'StringFilterList', ], 'Keyword' => [ 'shape' => 'KeywordFilterList', ], ], ], 'AwsSecurityFindingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AwsSecurityFinding', ], ], 'BatchDisableStandardsRequest' => [ 'type' => 'structure', 'required' => [ 'StandardsSubscriptionArns', ], 'members' => [ 'StandardsSubscriptionArns' => [ 'shape' => 'StandardsSubscriptionArns', ], ], ], 'BatchDisableStandardsResponse' => [ 'type' => 'structure', 'members' => [ 'StandardsSubscriptions' => [ 'shape' => 'StandardsSubscriptions', ], ], ], 'BatchEnableStandardsRequest' => [ 'type' => 'structure', 'required' => [ 'StandardsSubscriptionRequests', ], 'members' => [ 'StandardsSubscriptionRequests' => [ 'shape' => 'StandardsSubscriptionRequests', ], ], ], 'BatchEnableStandardsResponse' => [ 'type' => 'structure', 'members' => [ 'StandardsSubscriptions' => [ 'shape' => 'StandardsSubscriptions', ], ], ], 'BatchImportFindingsRequest' => [ 'type' => 'structure', 'required' => [ 'Findings', ], 'members' => [ 'Findings' => [ 'shape' => 'AwsSecurityFindingList', ], ], ], 'BatchImportFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'FailedCount', 'SuccessCount', ], 'members' => [ 'FailedCount' => [ 'shape' => 'Integer', ], 'SuccessCount' => [ 'shape' => 'Integer', ], 'FailedFindings' => [ 'shape' => 'ImportFindingsErrorList', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'Compliance' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'ComplianceStatus', ], ], ], 'ComplianceStatus' => [ 'type' => 'string', 'enum' => [ 'PASSED', 'WARNING', 'FAILED', 'NOT_AVAILABLE', ], ], 'ContainerDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NonEmptyString', ], 'ImageId' => [ 'shape' => 'NonEmptyString', ], 'ImageName' => [ 'shape' => 'NonEmptyString', ], 'LaunchedAt' => [ 'shape' => 'NonEmptyString', ], ], ], 'CreateInsightRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Filters', 'GroupByAttribute', ], 'members' => [ 'Name' => [ 'shape' => 'NonEmptyString', ], 'Filters' => [ 'shape' => 'AwsSecurityFindingFilters', ], 'GroupByAttribute' => [ 'shape' => 'NonEmptyString', ], ], ], 'CreateInsightResponse' => [ 'type' => 'structure', 'required' => [ 'InsightArn', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'CreateMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountDetails' => [ 'shape' => 'AccountDetailsList', ], ], ], 'CreateMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'DateFilter' => [ 'type' => 'structure', 'members' => [ 'Start' => [ 'shape' => 'NonEmptyString', ], 'End' => [ 'shape' => 'NonEmptyString', ], 'DateRange' => [ 'shape' => 'DateRange', ], ], ], 'DateFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DateFilter', ], ], 'DateRange' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Integer', ], 'Unit' => [ 'shape' => 'DateRangeUnit', ], ], ], 'DateRangeUnit' => [ 'type' => 'string', 'enum' => [ 'DAYS', ], ], 'DeclineInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DeclineInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'DeleteInsightRequest' => [ 'type' => 'structure', 'required' => [ 'InsightArn', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'InsightArn', ], ], ], 'DeleteInsightResponse' => [ 'type' => 'structure', 'required' => [ 'InsightArn', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DeleteInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'DeleteMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DeleteMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'DisableImportFindingsForProductRequest' => [ 'type' => 'structure', 'required' => [ 'ProductSubscriptionArn', ], 'members' => [ 'ProductSubscriptionArn' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'ProductSubscriptionArn', ], ], ], 'DisableImportFindingsForProductResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisableSecurityHubRequest' => [ 'type' => 'structure', 'members' => [], ], 'DisableSecurityHubResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateFromMasterAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateFromMasterAccountResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DisassociateMembersResponse' => [ 'type' => 'structure', 'members' => [], ], 'Double' => [ 'type' => 'double', ], 'EnableImportFindingsForProductRequest' => [ 'type' => 'structure', 'required' => [ 'ProductArn', ], 'members' => [ 'ProductArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'EnableImportFindingsForProductResponse' => [ 'type' => 'structure', 'members' => [ 'ProductSubscriptionArn' => [ 'shape' => 'NonEmptyString', ], ], ], 'EnableSecurityHubRequest' => [ 'type' => 'structure', 'members' => [], ], 'EnableSecurityHubResponse' => [ 'type' => 'structure', 'members' => [], ], 'FieldMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonEmptyString', ], 'value' => [ 'shape' => 'NonEmptyString', ], ], 'GetEnabledStandardsRequest' => [ 'type' => 'structure', 'members' => [ 'StandardsSubscriptionArns' => [ 'shape' => 'StandardsSubscriptionArns', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetEnabledStandardsResponse' => [ 'type' => 'structure', 'members' => [ 'StandardsSubscriptions' => [ 'shape' => 'StandardsSubscriptions', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetFindingsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'AwsSecurityFindingFilters', ], 'SortCriteria' => [ 'shape' => 'SortCriteria', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetFindingsResponse' => [ 'type' => 'structure', 'required' => [ 'Findings', ], 'members' => [ 'Findings' => [ 'shape' => 'AwsSecurityFindingList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetInsightResultsRequest' => [ 'type' => 'structure', 'required' => [ 'InsightArn', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'InsightArn', ], ], ], 'GetInsightResultsResponse' => [ 'type' => 'structure', 'required' => [ 'InsightResults', ], 'members' => [ 'InsightResults' => [ 'shape' => 'InsightResults', ], ], ], 'GetInsightsRequest' => [ 'type' => 'structure', 'members' => [ 'InsightArns' => [ 'shape' => 'ArnList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetInsightsResponse' => [ 'type' => 'structure', 'required' => [ 'Insights', ], 'members' => [ 'Insights' => [ 'shape' => 'InsightList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetInvitationsCountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetInvitationsCountResponse' => [ 'type' => 'structure', 'members' => [ 'InvitationsCount' => [ 'shape' => 'Integer', ], ], ], 'GetMasterAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetMasterAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Master' => [ 'shape' => 'Invitation', ], ], ], 'GetMembersRequest' => [ 'type' => 'structure', 'required' => [ 'AccountIds', ], 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'GetMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'MemberList', ], 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'ImportFindingsError' => [ 'type' => 'structure', 'required' => [ 'Id', 'ErrorCode', 'ErrorMessage', ], 'members' => [ 'Id' => [ 'shape' => 'NonEmptyString', ], 'ErrorCode' => [ 'shape' => 'NonEmptyString', ], 'ErrorMessage' => [ 'shape' => 'NonEmptyString', ], ], ], 'ImportFindingsErrorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImportFindingsError', ], ], 'Insight' => [ 'type' => 'structure', 'required' => [ 'InsightArn', 'Name', 'Filters', 'GroupByAttribute', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', ], 'Name' => [ 'shape' => 'NonEmptyString', ], 'Filters' => [ 'shape' => 'AwsSecurityFindingFilters', ], 'GroupByAttribute' => [ 'shape' => 'NonEmptyString', ], ], ], 'InsightList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Insight', ], ], 'InsightResultValue' => [ 'type' => 'structure', 'required' => [ 'GroupByAttributeValue', 'Count', ], 'members' => [ 'GroupByAttributeValue' => [ 'shape' => 'NonEmptyString', ], 'Count' => [ 'shape' => 'Integer', ], ], ], 'InsightResultValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InsightResultValue', ], ], 'InsightResults' => [ 'type' => 'structure', 'required' => [ 'InsightArn', 'GroupByAttribute', 'ResultValues', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', ], 'GroupByAttribute' => [ 'shape' => 'NonEmptyString', ], 'ResultValues' => [ 'shape' => 'InsightResultValueList', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidAccessException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'InvalidInputException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Invitation' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'InvitationId' => [ 'shape' => 'NonEmptyString', ], 'InvitedAt' => [ 'shape' => 'Timestamp', ], 'MemberStatus' => [ 'shape' => 'NonEmptyString', ], ], ], 'InvitationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Invitation', ], ], 'InviteMembersRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'InviteMembersResponse' => [ 'type' => 'structure', 'members' => [ 'UnprocessedAccounts' => [ 'shape' => 'ResultList', ], ], ], 'IpFilter' => [ 'type' => 'structure', 'members' => [ 'Cidr' => [ 'shape' => 'NonEmptyString', ], ], ], 'IpFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpFilter', ], ], 'KeywordFilter' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'NonEmptyString', ], ], ], 'KeywordFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeywordFilter', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ListEnabledProductsForImportRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'MaxResults', ], ], ], 'ListEnabledProductsForImportResponse' => [ 'type' => 'structure', 'members' => [ 'ProductSubscriptions' => [ 'shape' => 'ProductSubscriptionArnList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListInvitationsResponse' => [ 'type' => 'structure', 'members' => [ 'Invitations' => [ 'shape' => 'InvitationList', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'ListMembersRequest' => [ 'type' => 'structure', 'members' => [ 'OnlyAssociated' => [ 'shape' => 'Boolean', 'location' => 'querystring', 'locationName' => 'OnlyAssociated', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'NextToken', ], ], ], 'ListMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'MemberList', ], 'NextToken' => [ 'shape' => 'NonEmptyString', ], ], ], 'Malware' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NonEmptyString', ], 'Type' => [ 'shape' => 'MalwareType', ], 'Path' => [ 'shape' => 'NonEmptyString', ], 'State' => [ 'shape' => 'MalwareState', ], ], ], 'MalwareList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Malware', ], ], 'MalwareState' => [ 'type' => 'string', 'enum' => [ 'OBSERVED', 'REMOVAL_FAILED', 'REMOVED', ], ], 'MalwareType' => [ 'type' => 'string', 'enum' => [ 'ADWARE', 'BLENDED_THREAT', 'BOTNET_AGENT', 'COIN_MINER', 'EXPLOIT_KIT', 'KEYLOGGER', 'MACRO', 'POTENTIALLY_UNWANTED', 'SPYWARE', 'RANSOMWARE', 'REMOTE_ACCESS', 'ROOTKIT', 'TROJAN', 'VIRUS', 'WORM', ], ], 'MapFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'NonEmptyString', ], 'Value' => [ 'shape' => 'NonEmptyString', ], 'Comparison' => [ 'shape' => 'MapFilterComparison', ], ], ], 'MapFilterComparison' => [ 'type' => 'string', 'enum' => [ 'CONTAINS', ], ], 'MapFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MapFilter', ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Member' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Email' => [ 'shape' => 'NonEmptyString', ], 'MasterId' => [ 'shape' => 'NonEmptyString', ], 'MemberStatus' => [ 'shape' => 'NonEmptyString', ], 'InvitedAt' => [ 'shape' => 'Timestamp', ], 'UpdatedAt' => [ 'shape' => 'Timestamp', ], ], ], 'MemberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Member', ], ], 'Network' => [ 'type' => 'structure', 'members' => [ 'Direction' => [ 'shape' => 'NetworkDirection', ], 'Protocol' => [ 'shape' => 'NonEmptyString', ], 'SourceIpV4' => [ 'shape' => 'NonEmptyString', ], 'SourceIpV6' => [ 'shape' => 'NonEmptyString', ], 'SourcePort' => [ 'shape' => 'Integer', ], 'SourceDomain' => [ 'shape' => 'NonEmptyString', ], 'SourceMac' => [ 'shape' => 'NonEmptyString', ], 'DestinationIpV4' => [ 'shape' => 'NonEmptyString', ], 'DestinationIpV6' => [ 'shape' => 'NonEmptyString', ], 'DestinationPort' => [ 'shape' => 'Integer', ], 'DestinationDomain' => [ 'shape' => 'NonEmptyString', ], ], ], 'NetworkDirection' => [ 'type' => 'string', 'enum' => [ 'IN', 'OUT', ], ], 'NextToken' => [ 'type' => 'string', ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '.*\\S.*', ], 'Note' => [ 'type' => 'structure', 'required' => [ 'Text', 'UpdatedBy', 'UpdatedAt', ], 'members' => [ 'Text' => [ 'shape' => 'NonEmptyString', ], 'UpdatedBy' => [ 'shape' => 'NonEmptyString', ], 'UpdatedAt' => [ 'shape' => 'NonEmptyString', ], ], ], 'NoteUpdate' => [ 'type' => 'structure', 'required' => [ 'Text', 'UpdatedBy', ], 'members' => [ 'Text' => [ 'shape' => 'NonEmptyString', ], 'UpdatedBy' => [ 'shape' => 'NonEmptyString', ], ], ], 'NumberFilter' => [ 'type' => 'structure', 'members' => [ 'Gte' => [ 'shape' => 'Double', ], 'Lte' => [ 'shape' => 'Double', ], 'Eq' => [ 'shape' => 'Double', ], ], ], 'NumberFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NumberFilter', ], ], 'Partition' => [ 'type' => 'string', 'enum' => [ 'aws', 'aws-cn', 'aws-us-gov', ], ], 'ProcessDetails' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'NonEmptyString', ], 'Path' => [ 'shape' => 'NonEmptyString', ], 'Pid' => [ 'shape' => 'Integer', ], 'ParentPid' => [ 'shape' => 'Integer', ], 'LaunchedAt' => [ 'shape' => 'NonEmptyString', ], 'TerminatedAt' => [ 'shape' => 'NonEmptyString', ], ], ], 'ProductSubscriptionArnList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'Recommendation' => [ 'type' => 'structure', 'members' => [ 'Text' => [ 'shape' => 'NonEmptyString', ], 'Url' => [ 'shape' => 'NonEmptyString', ], ], ], 'RecordState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'ARCHIVED', ], ], 'RelatedFinding' => [ 'type' => 'structure', 'required' => [ 'ProductArn', 'Id', ], 'members' => [ 'ProductArn' => [ 'shape' => 'NonEmptyString', ], 'Id' => [ 'shape' => 'NonEmptyString', ], ], ], 'RelatedFindingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RelatedFinding', ], ], 'Remediation' => [ 'type' => 'structure', 'members' => [ 'Recommendation' => [ 'shape' => 'Recommendation', ], ], ], 'Resource' => [ 'type' => 'structure', 'required' => [ 'Type', 'Id', ], 'members' => [ 'Type' => [ 'shape' => 'NonEmptyString', ], 'Id' => [ 'shape' => 'NonEmptyString', ], 'Partition' => [ 'shape' => 'Partition', ], 'Region' => [ 'shape' => 'NonEmptyString', ], 'Tags' => [ 'shape' => 'FieldMap', ], 'Details' => [ 'shape' => 'ResourceDetails', ], ], ], 'ResourceConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceDetails' => [ 'type' => 'structure', 'members' => [ 'AwsEc2Instance' => [ 'shape' => 'AwsEc2InstanceDetails', ], 'AwsS3Bucket' => [ 'shape' => 'AwsS3BucketDetails', ], 'AwsIamAccessKey' => [ 'shape' => 'AwsIamAccessKeyDetails', ], 'Container' => [ 'shape' => 'ContainerDetails', ], 'Other' => [ 'shape' => 'FieldMap', ], ], ], 'ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'NonEmptyString', ], 'Code' => [ 'shape' => 'NonEmptyString', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'Result' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'ProcessingResult' => [ 'shape' => 'NonEmptyString', ], ], ], 'ResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Result', ], ], 'Severity' => [ 'type' => 'structure', 'required' => [ 'Normalized', ], 'members' => [ 'Product' => [ 'shape' => 'Double', ], 'Normalized' => [ 'shape' => 'Integer', ], ], ], 'SortCriteria' => [ 'type' => 'list', 'member' => [ 'shape' => 'SortCriterion', ], ], 'SortCriterion' => [ 'type' => 'structure', 'members' => [ 'Field' => [ 'shape' => 'NonEmptyString', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'asc', 'desc', ], ], 'StandardsInputParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'NonEmptyString', ], 'value' => [ 'shape' => 'NonEmptyString', ], ], 'StandardsStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'READY', 'FAILED', 'DELETING', ], ], 'StandardsSubscription' => [ 'type' => 'structure', 'required' => [ 'StandardsSubscriptionArn', 'StandardsArn', 'StandardsInput', 'StandardsStatus', ], 'members' => [ 'StandardsSubscriptionArn' => [ 'shape' => 'NonEmptyString', ], 'StandardsArn' => [ 'shape' => 'NonEmptyString', ], 'StandardsInput' => [ 'shape' => 'StandardsInputParameterMap', ], 'StandardsStatus' => [ 'shape' => 'StandardsStatus', ], ], ], 'StandardsSubscriptionArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 25, 'min' => 1, ], 'StandardsSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'StandardsArn', ], 'members' => [ 'StandardsArn' => [ 'shape' => 'NonEmptyString', ], 'StandardsInput' => [ 'shape' => 'StandardsInputParameterMap', ], ], ], 'StandardsSubscriptionRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'StandardsSubscriptionRequest', ], 'max' => 25, 'min' => 1, ], 'StandardsSubscriptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'StandardsSubscription', ], ], 'StringFilter' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'NonEmptyString', ], 'Comparison' => [ 'shape' => 'StringFilterComparison', ], ], ], 'StringFilterComparison' => [ 'type' => 'string', 'enum' => [ 'EQUALS', 'CONTAINS', 'PREFIX', ], ], 'StringFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringFilter', ], ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'ThreatIntelIndicator' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ThreatIntelIndicatorType', ], 'Value' => [ 'shape' => 'NonEmptyString', ], 'Category' => [ 'shape' => 'ThreatIntelIndicatorCategory', ], 'LastObservedAt' => [ 'shape' => 'NonEmptyString', ], 'Source' => [ 'shape' => 'NonEmptyString', ], 'SourceUrl' => [ 'shape' => 'NonEmptyString', ], ], ], 'ThreatIntelIndicatorCategory' => [ 'type' => 'string', 'enum' => [ 'BACKDOOR', 'CARD_STEALER', 'COMMAND_AND_CONTROL', 'DROP_SITE', 'EXPLOIT_SITE', 'KEYLOGGER', ], ], 'ThreatIntelIndicatorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ThreatIntelIndicator', ], ], 'ThreatIntelIndicatorType' => [ 'type' => 'string', 'enum' => [ 'DOMAIN', 'EMAIL_ADDRESS', 'HASH_MD5', 'HASH_SHA1', 'HASH_SHA256', 'HASH_SHA512', 'IPV4_ADDRESS', 'IPV6_ADDRESS', 'MUTEX', 'PROCESS', 'URL', ], ], 'Timestamp' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'TypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'UpdateFindingsRequest' => [ 'type' => 'structure', 'required' => [ 'Filters', ], 'members' => [ 'Filters' => [ 'shape' => 'AwsSecurityFindingFilters', ], 'Note' => [ 'shape' => 'NoteUpdate', ], 'RecordState' => [ 'shape' => 'RecordState', ], ], ], 'UpdateFindingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateInsightRequest' => [ 'type' => 'structure', 'required' => [ 'InsightArn', ], 'members' => [ 'InsightArn' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'InsightArn', ], 'Name' => [ 'shape' => 'NonEmptyString', ], 'Filters' => [ 'shape' => 'AwsSecurityFindingFilters', ], 'GroupByAttribute' => [ 'shape' => 'NonEmptyString', ], ], ], 'UpdateInsightResponse' => [ 'type' => 'structure', 'members' => [], ], 'VerificationState' => [ 'type' => 'string', 'enum' => [ 'UNKNOWN', 'TRUE_POSITIVE', 'FALSE_POSITIVE', 'BENIGN_POSITIVE', ], ], 'WorkflowState' => [ 'type' => 'string', 'enum' => [ 'NEW', 'ASSIGNED', 'IN_PROGRESS', 'DEFERRED', 'RESOLVED', ], ], ],]; diff --git a/lib/aws/Aws/data/securityhub/2018-10-26/paginators-1.json.php b/lib/aws/Aws/data/securityhub/2018-10-26/paginators-1.json.php new file mode 100644 index 0000000..7642bed --- /dev/null +++ b/lib/aws/Aws/data/securityhub/2018-10-26/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/securityhub/2018-10-26/paginators-1.json +return [ 'pagination' => [ 'GetFindings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'GetInsights' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListEnabledProductsForImport' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/serverlessrepo/2017-09-08/api-2.json.php b/lib/aws/Aws/data/serverlessrepo/2017-09-08/api-2.json.php new file mode 100644 index 0000000..076d22b --- /dev/null +++ b/lib/aws/Aws/data/serverlessrepo/2017-09-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/serverlessrepo/2017-09-08/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2017-09-08', 'endpointPrefix' => 'serverlessrepo', 'signingName' => 'serverlessrepo', 'serviceFullName' => 'AWSServerlessApplicationRepository', 'serviceId' => 'ServerlessApplicationRepository', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'serverlessrepo-2017-09-08', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateApplication' => [ 'name' => 'CreateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/applications', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateApplicationRequest', ], 'output' => [ 'shape' => 'CreateApplicationResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateApplicationVersion' => [ 'name' => 'CreateApplicationVersion', 'http' => [ 'method' => 'PUT', 'requestUri' => '/applications/{applicationId}/versions/{semanticVersion}', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateApplicationVersionRequest', ], 'output' => [ 'shape' => 'CreateApplicationVersionResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ConflictException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateCloudFormationChangeSet' => [ 'name' => 'CreateCloudFormationChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/applications/{applicationId}/changesets', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFormationChangeSetRequest', ], 'output' => [ 'shape' => 'CreateCloudFormationChangeSetResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'CreateCloudFormationTemplate' => [ 'name' => 'CreateCloudFormationTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/applications/{applicationId}/templates', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCloudFormationTemplateRequest', ], 'output' => [ 'shape' => 'CreateCloudFormationTemplateResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'DeleteApplication' => [ 'name' => 'DeleteApplication', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/applications/{applicationId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteApplicationRequest', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], 'GetApplication' => [ 'name' => 'GetApplication', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications/{applicationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApplicationRequest', ], 'output' => [ 'shape' => 'GetApplicationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'GetApplicationPolicy' => [ 'name' => 'GetApplicationPolicy', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications/{applicationId}/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetApplicationPolicyRequest', ], 'output' => [ 'shape' => 'GetApplicationPolicyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'GetCloudFormationTemplate' => [ 'name' => 'GetCloudFormationTemplate', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications/{applicationId}/templates/{templateId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCloudFormationTemplateRequest', ], 'output' => [ 'shape' => 'GetCloudFormationTemplateResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListApplicationDependencies' => [ 'name' => 'ListApplicationDependencies', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications/{applicationId}/dependencies', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListApplicationDependenciesRequest', ], 'output' => [ 'shape' => 'ListApplicationDependenciesResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListApplicationVersions' => [ 'name' => 'ListApplicationVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications/{applicationId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListApplicationVersionsRequest', ], 'output' => [ 'shape' => 'ListApplicationVersionsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'ListApplications' => [ 'name' => 'ListApplications', 'http' => [ 'method' => 'GET', 'requestUri' => '/applications', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListApplicationsRequest', ], 'output' => [ 'shape' => 'ListApplicationsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'PutApplicationPolicy' => [ 'name' => 'PutApplicationPolicy', 'http' => [ 'method' => 'PUT', 'requestUri' => '/applications/{applicationId}/policy', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutApplicationPolicyRequest', ], 'output' => [ 'shape' => 'PutApplicationPolicyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/applications/{applicationId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateApplicationRequest', ], 'output' => [ 'shape' => 'UpdateApplicationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ConflictException', ], ], ], ], 'shapes' => [ 'Application' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'Version' => [ 'shape' => 'Version', 'locationName' => 'version', ], ], 'required' => [ 'Description', 'Author', 'ApplicationId', 'Name', ], ], 'ApplicationDependencyPage' => [ 'type' => 'structure', 'members' => [ 'Dependencies' => [ 'shape' => '__listOfApplicationDependencySummary', 'locationName' => 'dependencies', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], 'required' => [ 'Dependencies', ], ], 'ApplicationDependencySummary' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], ], 'required' => [ 'ApplicationId', 'SemanticVersion', ], ], 'ApplicationPage' => [ 'type' => 'structure', 'members' => [ 'Applications' => [ 'shape' => '__listOfApplicationSummary', 'locationName' => 'applications', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], 'required' => [ 'Applications', ], ], 'ApplicationPolicy' => [ 'type' => 'structure', 'members' => [ 'Statements' => [ 'shape' => '__listOfApplicationPolicyStatement', 'locationName' => 'statements', ], ], 'required' => [ 'Statements', ], ], 'ApplicationPolicyStatement' => [ 'type' => 'structure', 'members' => [ 'Actions' => [ 'shape' => '__listOf__string', 'locationName' => 'actions', ], 'Principals' => [ 'shape' => '__listOf__string', 'locationName' => 'principals', ], 'StatementId' => [ 'shape' => '__string', 'locationName' => 'statementId', ], ], 'required' => [ 'Principals', 'Actions', ], ], 'ApplicationSummary' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], ], 'required' => [ 'Description', 'Author', 'ApplicationId', 'Name', ], ], 'ApplicationVersionPage' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Versions' => [ 'shape' => '__listOfVersionSummary', 'locationName' => 'versions', ], ], 'required' => [ 'Versions', ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'Capability' => [ 'type' => 'string', 'enum' => [ 'CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM', 'CAPABILITY_AUTO_EXPAND', 'CAPABILITY_RESOURCE_POLICY', ], ], 'ChangeSetDetails' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'ChangeSetId' => [ 'shape' => '__string', 'locationName' => 'changeSetId', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackId' => [ 'shape' => '__string', 'locationName' => 'stackId', ], ], 'required' => [ 'ChangeSetId', 'ApplicationId', 'StackId', 'SemanticVersion', ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateApplicationInput' => [ 'type' => 'structure', 'members' => [ 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseBody' => [ 'shape' => '__string', 'locationName' => 'licenseBody', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeBody' => [ 'shape' => '__string', 'locationName' => 'readmeBody', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'TemplateBody' => [ 'shape' => '__string', 'locationName' => 'templateBody', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'Description', 'Name', 'Author', ], ], 'CreateApplicationRequest' => [ 'type' => 'structure', 'members' => [ 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseBody' => [ 'shape' => '__string', 'locationName' => 'licenseBody', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeBody' => [ 'shape' => '__string', 'locationName' => 'readmeBody', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'TemplateBody' => [ 'shape' => '__string', 'locationName' => 'templateBody', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'Description', 'Name', 'Author', ], ], 'CreateApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'Version' => [ 'shape' => 'Version', 'locationName' => 'version', ], ], ], 'CreateApplicationVersionInput' => [ 'type' => 'structure', 'members' => [ 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateBody' => [ 'shape' => '__string', 'locationName' => 'templateBody', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], ], 'CreateApplicationVersionRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'SemanticVersion' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'semanticVersion', ], 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateBody' => [ 'shape' => '__string', 'locationName' => 'templateBody', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'ApplicationId', 'SemanticVersion', ], ], 'CreateApplicationVersionResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'ParameterDefinitions' => [ 'shape' => '__listOfParameterDefinition', 'locationName' => 'parameterDefinitions', ], 'RequiredCapabilities' => [ 'shape' => '__listOfCapability', 'locationName' => 'requiredCapabilities', ], 'ResourcesSupported' => [ 'shape' => '__boolean', 'locationName' => 'resourcesSupported', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], ], 'CreateCloudFormationChangeSetInput' => [ 'type' => 'structure', 'members' => [ 'Capabilities' => [ 'shape' => '__listOf__string', 'locationName' => 'capabilities', ], 'ChangeSetName' => [ 'shape' => '__string', 'locationName' => 'changeSetName', ], 'ClientToken' => [ 'shape' => '__string', 'locationName' => 'clientToken', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'NotificationArns' => [ 'shape' => '__listOf__string', 'locationName' => 'notificationArns', ], 'ParameterOverrides' => [ 'shape' => '__listOfParameterValue', 'locationName' => 'parameterOverrides', ], 'ResourceTypes' => [ 'shape' => '__listOf__string', 'locationName' => 'resourceTypes', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', 'locationName' => 'rollbackConfiguration', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackName' => [ 'shape' => '__string', 'locationName' => 'stackName', ], 'Tags' => [ 'shape' => '__listOfTag', 'locationName' => 'tags', ], 'TemplateId' => [ 'shape' => '__string', 'locationName' => 'templateId', ], ], 'required' => [ 'StackName', ], ], 'CreateCloudFormationChangeSetRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'Capabilities' => [ 'shape' => '__listOf__string', 'locationName' => 'capabilities', ], 'ChangeSetName' => [ 'shape' => '__string', 'locationName' => 'changeSetName', ], 'ClientToken' => [ 'shape' => '__string', 'locationName' => 'clientToken', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'NotificationArns' => [ 'shape' => '__listOf__string', 'locationName' => 'notificationArns', ], 'ParameterOverrides' => [ 'shape' => '__listOfParameterValue', 'locationName' => 'parameterOverrides', ], 'ResourceTypes' => [ 'shape' => '__listOf__string', 'locationName' => 'resourceTypes', ], 'RollbackConfiguration' => [ 'shape' => 'RollbackConfiguration', 'locationName' => 'rollbackConfiguration', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackName' => [ 'shape' => '__string', 'locationName' => 'stackName', ], 'Tags' => [ 'shape' => '__listOfTag', 'locationName' => 'tags', ], 'TemplateId' => [ 'shape' => '__string', 'locationName' => 'templateId', ], ], 'required' => [ 'ApplicationId', 'StackName', ], ], 'CreateCloudFormationChangeSetResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'ChangeSetId' => [ 'shape' => '__string', 'locationName' => 'changeSetId', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackId' => [ 'shape' => '__string', 'locationName' => 'stackId', ], ], ], 'CreateCloudFormationTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], ], 'required' => [ 'ApplicationId', ], ], 'CreateCloudFormationTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'ExpirationTime' => [ 'shape' => '__string', 'locationName' => 'expirationTime', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'TemplateId' => [ 'shape' => '__string', 'locationName' => 'templateId', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], ], 'DeleteApplicationRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], ], 'required' => [ 'ApplicationId', ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], 'GetApplicationPolicyRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApplicationPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Statements' => [ 'shape' => '__listOfApplicationPolicyStatement', 'locationName' => 'statements', ], ], ], 'GetApplicationRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'SemanticVersion' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'semanticVersion', ], ], 'required' => [ 'ApplicationId', ], ], 'GetApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'Version' => [ 'shape' => 'Version', 'locationName' => 'version', ], ], ], 'GetCloudFormationTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'TemplateId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'templateId', ], ], 'required' => [ 'ApplicationId', 'TemplateId', ], ], 'GetCloudFormationTemplateResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'ExpirationTime' => [ 'shape' => '__string', 'locationName' => 'expirationTime', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'TemplateId' => [ 'shape' => '__string', 'locationName' => 'templateId', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'ListApplicationDependenciesRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'maxItems', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], 'SemanticVersion' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'semanticVersion', ], ], 'required' => [ 'ApplicationId', ], ], 'ListApplicationDependenciesResponse' => [ 'type' => 'structure', 'members' => [ 'Dependencies' => [ 'shape' => '__listOfApplicationDependencySummary', 'locationName' => 'dependencies', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'ListApplicationVersionsRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'maxItems', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], 'required' => [ 'ApplicationId', ], ], 'ListApplicationVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], 'Versions' => [ 'shape' => '__listOfVersionSummary', 'locationName' => 'versions', ], ], ], 'ListApplicationsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxItems' => [ 'shape' => 'MaxItems', 'location' => 'querystring', 'locationName' => 'maxItems', ], 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListApplicationsResponse' => [ 'type' => 'structure', 'members' => [ 'Applications' => [ 'shape' => '__listOfApplicationSummary', 'locationName' => 'applications', ], 'NextToken' => [ 'shape' => '__string', 'locationName' => 'nextToken', ], ], ], 'MaxItems' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'ParameterDefinition' => [ 'type' => 'structure', 'members' => [ 'AllowedPattern' => [ 'shape' => '__string', 'locationName' => 'allowedPattern', ], 'AllowedValues' => [ 'shape' => '__listOf__string', 'locationName' => 'allowedValues', ], 'ConstraintDescription' => [ 'shape' => '__string', 'locationName' => 'constraintDescription', ], 'DefaultValue' => [ 'shape' => '__string', 'locationName' => 'defaultValue', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'MaxLength' => [ 'shape' => '__integer', 'locationName' => 'maxLength', ], 'MaxValue' => [ 'shape' => '__integer', 'locationName' => 'maxValue', ], 'MinLength' => [ 'shape' => '__integer', 'locationName' => 'minLength', ], 'MinValue' => [ 'shape' => '__integer', 'locationName' => 'minValue', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'NoEcho' => [ 'shape' => '__boolean', 'locationName' => 'noEcho', ], 'ReferencedByResources' => [ 'shape' => '__listOf__string', 'locationName' => 'referencedByResources', ], 'Type' => [ 'shape' => '__string', 'locationName' => 'type', ], ], 'required' => [ 'ReferencedByResources', 'Name', ], ], 'ParameterValue' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'Value' => [ 'shape' => '__string', 'locationName' => 'value', ], ], 'required' => [ 'Value', 'Name', ], ], 'PutApplicationPolicyRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'Statements' => [ 'shape' => '__listOfApplicationPolicyStatement', 'locationName' => 'statements', ], ], 'required' => [ 'ApplicationId', 'Statements', ], ], 'PutApplicationPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Statements' => [ 'shape' => '__listOfApplicationPolicyStatement', 'locationName' => 'statements', ], ], ], 'RollbackConfiguration' => [ 'type' => 'structure', 'members' => [ 'MonitoringTimeInMinutes' => [ 'shape' => '__integer', 'locationName' => 'monitoringTimeInMinutes', ], 'RollbackTriggers' => [ 'shape' => '__listOfRollbackTrigger', 'locationName' => 'rollbackTriggers', ], ], ], 'RollbackTrigger' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Type' => [ 'shape' => '__string', 'locationName' => 'type', ], ], 'required' => [ 'Type', 'Arn', ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'PREPARING', 'ACTIVE', 'EXPIRED', ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => '__string', 'locationName' => 'key', ], 'Value' => [ 'shape' => '__string', 'locationName' => 'value', ], ], 'required' => [ 'Value', 'Key', ], ], 'TemplateDetails' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'ExpirationTime' => [ 'shape' => '__string', 'locationName' => 'expirationTime', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'Status' => [ 'shape' => 'Status', 'locationName' => 'status', ], 'TemplateId' => [ 'shape' => '__string', 'locationName' => 'templateId', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'Status', 'TemplateUrl', 'CreationTime', 'ExpirationTime', 'ApplicationId', 'TemplateId', 'SemanticVersion', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'UpdateApplicationInput' => [ 'type' => 'structure', 'members' => [ 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'ReadmeBody' => [ 'shape' => '__string', 'locationName' => 'readmeBody', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], ], ], 'UpdateApplicationRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'ReadmeBody' => [ 'shape' => '__string', 'locationName' => 'readmeBody', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], ], 'required' => [ 'ApplicationId', ], ], 'UpdateApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'Author' => [ 'shape' => '__string', 'locationName' => 'author', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'Description' => [ 'shape' => '__string', 'locationName' => 'description', ], 'HomePageUrl' => [ 'shape' => '__string', 'locationName' => 'homePageUrl', ], 'Labels' => [ 'shape' => '__listOf__string', 'locationName' => 'labels', ], 'LicenseUrl' => [ 'shape' => '__string', 'locationName' => 'licenseUrl', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'ReadmeUrl' => [ 'shape' => '__string', 'locationName' => 'readmeUrl', ], 'SpdxLicenseId' => [ 'shape' => '__string', 'locationName' => 'spdxLicenseId', ], 'Version' => [ 'shape' => 'Version', 'locationName' => 'version', ], ], ], 'Version' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'ParameterDefinitions' => [ 'shape' => '__listOfParameterDefinition', 'locationName' => 'parameterDefinitions', ], 'RequiredCapabilities' => [ 'shape' => '__listOfCapability', 'locationName' => 'requiredCapabilities', ], 'ResourcesSupported' => [ 'shape' => '__boolean', 'locationName' => 'resourcesSupported', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeArchiveUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeArchiveUrl', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'TemplateUrl', 'ParameterDefinitions', 'ResourcesSupported', 'CreationTime', 'RequiredCapabilities', 'ApplicationId', 'SemanticVersion', ], ], 'VersionSummary' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'locationName' => 'applicationId', ], 'CreationTime' => [ 'shape' => '__string', 'locationName' => 'creationTime', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], ], 'required' => [ 'CreationTime', 'ApplicationId', 'SemanticVersion', ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfApplicationDependencySummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationDependencySummary', ], ], '__listOfApplicationPolicyStatement' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationPolicyStatement', ], ], '__listOfApplicationSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationSummary', ], ], '__listOfCapability' => [ 'type' => 'list', 'member' => [ 'shape' => 'Capability', ], ], '__listOfParameterDefinition' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterDefinition', ], ], '__listOfParameterValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], ], '__listOfRollbackTrigger' => [ 'type' => 'list', 'member' => [ 'shape' => 'RollbackTrigger', ], ], '__listOfTag' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], '__listOfVersionSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionSummary', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/serverlessrepo/2017-09-08/paginators-1.json.php b/lib/aws/Aws/data/serverlessrepo/2017-09-08/paginators-1.json.php new file mode 100644 index 0000000..adc0aee --- /dev/null +++ b/lib/aws/Aws/data/serverlessrepo/2017-09-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/serverlessrepo/2017-09-08/paginators-1.json +return [ 'pagination' => [ 'ListApplicationVersions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxItems', ], 'ListApplications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxItems', ], 'ListApplicationDependencies' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxItems', ], ],]; diff --git a/lib/aws/Aws/data/servicecatalog/2015-12-10/api-2.json.php b/lib/aws/Aws/data/servicecatalog/2015-12-10/api-2.json.php new file mode 100644 index 0000000..4ae4909 --- /dev/null +++ b/lib/aws/Aws/data/servicecatalog/2015-12-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/servicecatalog/2015-12-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-12-10', 'endpointPrefix' => 'servicecatalog', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Service Catalog', 'serviceId' => 'Service Catalog', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWS242ServiceCatalogService', 'uid' => 'servicecatalog-2015-12-10', ], 'operations' => [ 'AcceptPortfolioShare' => [ 'name' => 'AcceptPortfolioShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AcceptPortfolioShareInput', ], 'output' => [ 'shape' => 'AcceptPortfolioShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'AssociatePrincipalWithPortfolio' => [ 'name' => 'AssociatePrincipalWithPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociatePrincipalWithPortfolioInput', ], 'output' => [ 'shape' => 'AssociatePrincipalWithPortfolioOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'AssociateProductWithPortfolio' => [ 'name' => 'AssociateProductWithPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateProductWithPortfolioInput', ], 'output' => [ 'shape' => 'AssociateProductWithPortfolioOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'AssociateServiceActionWithProvisioningArtifact' => [ 'name' => 'AssociateServiceActionWithProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateServiceActionWithProvisioningArtifactInput', ], 'output' => [ 'shape' => 'AssociateServiceActionWithProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DuplicateResourceException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'AssociateTagOptionWithResource' => [ 'name' => 'AssociateTagOptionWithResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateTagOptionWithResourceInput', ], 'output' => [ 'shape' => 'AssociateTagOptionWithResourceOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DuplicateResourceException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'BatchAssociateServiceActionWithProvisioningArtifact' => [ 'name' => 'BatchAssociateServiceActionWithProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchAssociateServiceActionWithProvisioningArtifactInput', ], 'output' => [ 'shape' => 'BatchAssociateServiceActionWithProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'BatchDisassociateServiceActionFromProvisioningArtifact' => [ 'name' => 'BatchDisassociateServiceActionFromProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchDisassociateServiceActionFromProvisioningArtifactInput', ], 'output' => [ 'shape' => 'BatchDisassociateServiceActionFromProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'CopyProduct' => [ 'name' => 'CopyProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyProductInput', ], 'output' => [ 'shape' => 'CopyProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'CreateConstraint' => [ 'name' => 'CreateConstraint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateConstraintInput', ], 'output' => [ 'shape' => 'CreateConstraintOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'DuplicateResourceException', ], ], ], 'CreatePortfolio' => [ 'name' => 'CreatePortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePortfolioInput', ], 'output' => [ 'shape' => 'CreatePortfolioOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'CreatePortfolioShare' => [ 'name' => 'CreatePortfolioShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePortfolioShareInput', ], 'output' => [ 'shape' => 'CreatePortfolioShareOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'CreateProduct' => [ 'name' => 'CreateProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProductInput', ], 'output' => [ 'shape' => 'CreateProductOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'CreateProvisionedProductPlan' => [ 'name' => 'CreateProvisionedProductPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProvisionedProductPlanInput', ], 'output' => [ 'shape' => 'CreateProvisionedProductPlanOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'CreateProvisioningArtifact' => [ 'name' => 'CreateProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProvisioningArtifactInput', ], 'output' => [ 'shape' => 'CreateProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateServiceAction' => [ 'name' => 'CreateServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServiceActionInput', ], 'output' => [ 'shape' => 'CreateServiceActionOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateTagOption' => [ 'name' => 'CreateTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagOptionInput', ], 'output' => [ 'shape' => 'CreateTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'DuplicateResourceException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteConstraint' => [ 'name' => 'DeleteConstraint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteConstraintInput', ], 'output' => [ 'shape' => 'DeleteConstraintOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DeletePortfolio' => [ 'name' => 'DeletePortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePortfolioInput', ], 'output' => [ 'shape' => 'DeletePortfolioOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'DeletePortfolioShare' => [ 'name' => 'DeletePortfolioShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePortfolioShareInput', ], 'output' => [ 'shape' => 'DeletePortfolioShareOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'DeleteProduct' => [ 'name' => 'DeleteProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProductInput', ], 'output' => [ 'shape' => 'DeleteProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'DeleteProvisionedProductPlan' => [ 'name' => 'DeleteProvisionedProductPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProvisionedProductPlanInput', ], 'output' => [ 'shape' => 'DeleteProvisionedProductPlanOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteProvisioningArtifact' => [ 'name' => 'DeleteProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProvisioningArtifactInput', ], 'output' => [ 'shape' => 'DeleteProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DeleteServiceAction' => [ 'name' => 'DeleteServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServiceActionInput', ], 'output' => [ 'shape' => 'DeleteServiceActionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'DeleteTagOption' => [ 'name' => 'DeleteTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagOptionInput', ], 'output' => [ 'shape' => 'DeleteTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeConstraint' => [ 'name' => 'DescribeConstraint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeConstraintInput', ], 'output' => [ 'shape' => 'DescribeConstraintOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeCopyProductStatus' => [ 'name' => 'DescribeCopyProductStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCopyProductStatusInput', ], 'output' => [ 'shape' => 'DescribeCopyProductStatusOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribePortfolio' => [ 'name' => 'DescribePortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePortfolioInput', ], 'output' => [ 'shape' => 'DescribePortfolioOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribePortfolioShareStatus' => [ 'name' => 'DescribePortfolioShareStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePortfolioShareStatusInput', ], 'output' => [ 'shape' => 'DescribePortfolioShareStatusOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'DescribeProduct' => [ 'name' => 'DescribeProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProductInput', ], 'output' => [ 'shape' => 'DescribeProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DescribeProductAsAdmin' => [ 'name' => 'DescribeProductAsAdmin', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProductAsAdminInput', ], 'output' => [ 'shape' => 'DescribeProductAsAdminOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeProductView' => [ 'name' => 'DescribeProductView', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProductViewInput', ], 'output' => [ 'shape' => 'DescribeProductViewOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DescribeProvisionedProduct' => [ 'name' => 'DescribeProvisionedProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProvisionedProductInput', ], 'output' => [ 'shape' => 'DescribeProvisionedProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeProvisionedProductPlan' => [ 'name' => 'DescribeProvisionedProductPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProvisionedProductPlanInput', ], 'output' => [ 'shape' => 'DescribeProvisionedProductPlanOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DescribeProvisioningArtifact' => [ 'name' => 'DescribeProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProvisioningArtifactInput', ], 'output' => [ 'shape' => 'DescribeProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeProvisioningParameters' => [ 'name' => 'DescribeProvisioningParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProvisioningParametersInput', ], 'output' => [ 'shape' => 'DescribeProvisioningParametersOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeRecord' => [ 'name' => 'DescribeRecord', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeRecordInput', ], 'output' => [ 'shape' => 'DescribeRecordOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeServiceAction' => [ 'name' => 'DescribeServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServiceActionInput', ], 'output' => [ 'shape' => 'DescribeServiceActionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeTagOption' => [ 'name' => 'DescribeTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagOptionInput', ], 'output' => [ 'shape' => 'DescribeTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisableAWSOrganizationsAccess' => [ 'name' => 'DisableAWSOrganizationsAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableAWSOrganizationsAccessInput', ], 'output' => [ 'shape' => 'DisableAWSOrganizationsAccessOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'DisassociatePrincipalFromPortfolio' => [ 'name' => 'DisassociatePrincipalFromPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociatePrincipalFromPortfolioInput', ], 'output' => [ 'shape' => 'DisassociatePrincipalFromPortfolioOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateProductFromPortfolio' => [ 'name' => 'DisassociateProductFromPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateProductFromPortfolioInput', ], 'output' => [ 'shape' => 'DisassociateProductFromPortfolioOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'DisassociateServiceActionFromProvisioningArtifact' => [ 'name' => 'DisassociateServiceActionFromProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateServiceActionFromProvisioningArtifactInput', ], 'output' => [ 'shape' => 'DisassociateServiceActionFromProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateTagOptionFromResource' => [ 'name' => 'DisassociateTagOptionFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateTagOptionFromResourceInput', ], 'output' => [ 'shape' => 'DisassociateTagOptionFromResourceOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'EnableAWSOrganizationsAccess' => [ 'name' => 'EnableAWSOrganizationsAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableAWSOrganizationsAccessInput', ], 'output' => [ 'shape' => 'EnableAWSOrganizationsAccessOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'ExecuteProvisionedProductPlan' => [ 'name' => 'ExecuteProvisionedProductPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecuteProvisionedProductPlanInput', ], 'output' => [ 'shape' => 'ExecuteProvisionedProductPlanOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'ExecuteProvisionedProductServiceAction' => [ 'name' => 'ExecuteProvisionedProductServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecuteProvisionedProductServiceActionInput', ], 'output' => [ 'shape' => 'ExecuteProvisionedProductServiceActionOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'GetAWSOrganizationsAccessStatus' => [ 'name' => 'GetAWSOrganizationsAccessStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAWSOrganizationsAccessStatusInput', ], 'output' => [ 'shape' => 'GetAWSOrganizationsAccessStatusOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'ListAcceptedPortfolioShares' => [ 'name' => 'ListAcceptedPortfolioShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAcceptedPortfolioSharesInput', ], 'output' => [ 'shape' => 'ListAcceptedPortfolioSharesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'ListConstraintsForPortfolio' => [ 'name' => 'ListConstraintsForPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListConstraintsForPortfolioInput', ], 'output' => [ 'shape' => 'ListConstraintsForPortfolioOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListLaunchPaths' => [ 'name' => 'ListLaunchPaths', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLaunchPathsInput', ], 'output' => [ 'shape' => 'ListLaunchPathsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListOrganizationPortfolioAccess' => [ 'name' => 'ListOrganizationPortfolioAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOrganizationPortfolioAccessInput', ], 'output' => [ 'shape' => 'ListOrganizationPortfolioAccessOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'ListPortfolioAccess' => [ 'name' => 'ListPortfolioAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPortfolioAccessInput', ], 'output' => [ 'shape' => 'ListPortfolioAccessOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListPortfolios' => [ 'name' => 'ListPortfolios', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPortfoliosInput', ], 'output' => [ 'shape' => 'ListPortfoliosOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'ListPortfoliosForProduct' => [ 'name' => 'ListPortfoliosForProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPortfoliosForProductInput', ], 'output' => [ 'shape' => 'ListPortfoliosForProductOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListPrincipalsForPortfolio' => [ 'name' => 'ListPrincipalsForPortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPrincipalsForPortfolioInput', ], 'output' => [ 'shape' => 'ListPrincipalsForPortfolioOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListProvisionedProductPlans' => [ 'name' => 'ListProvisionedProductPlans', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProvisionedProductPlansInput', ], 'output' => [ 'shape' => 'ListProvisionedProductPlansOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListProvisioningArtifacts' => [ 'name' => 'ListProvisioningArtifacts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProvisioningArtifactsInput', ], 'output' => [ 'shape' => 'ListProvisioningArtifactsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListProvisioningArtifactsForServiceAction' => [ 'name' => 'ListProvisioningArtifactsForServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProvisioningArtifactsForServiceActionInput', ], 'output' => [ 'shape' => 'ListProvisioningArtifactsForServiceActionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListRecordHistory' => [ 'name' => 'ListRecordHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRecordHistoryInput', ], 'output' => [ 'shape' => 'ListRecordHistoryOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'ListResourcesForTagOption' => [ 'name' => 'ListResourcesForTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourcesForTagOptionInput', ], 'output' => [ 'shape' => 'ListResourcesForTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListServiceActions' => [ 'name' => 'ListServiceActions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServiceActionsInput', ], 'output' => [ 'shape' => 'ListServiceActionsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'ListServiceActionsForProvisioningArtifact' => [ 'name' => 'ListServiceActionsForProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServiceActionsForProvisioningArtifactInput', ], 'output' => [ 'shape' => 'ListServiceActionsForProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ListTagOptions' => [ 'name' => 'ListTagOptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagOptionsInput', ], 'output' => [ 'shape' => 'ListTagOptionsOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'ProvisionProduct' => [ 'name' => 'ProvisionProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ProvisionProductInput', ], 'output' => [ 'shape' => 'ProvisionProductOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DuplicateResourceException', ], ], ], 'RejectPortfolioShare' => [ 'name' => 'RejectPortfolioShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RejectPortfolioShareInput', ], 'output' => [ 'shape' => 'RejectPortfolioShareOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ScanProvisionedProducts' => [ 'name' => 'ScanProvisionedProducts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ScanProvisionedProductsInput', ], 'output' => [ 'shape' => 'ScanProvisionedProductsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'SearchProducts' => [ 'name' => 'SearchProducts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchProductsInput', ], 'output' => [ 'shape' => 'SearchProductsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'SearchProductsAsAdmin' => [ 'name' => 'SearchProductsAsAdmin', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchProductsAsAdminInput', ], 'output' => [ 'shape' => 'SearchProductsAsAdminOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'SearchProvisionedProducts' => [ 'name' => 'SearchProvisionedProducts', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SearchProvisionedProductsInput', ], 'output' => [ 'shape' => 'SearchProvisionedProductsOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], 'TerminateProvisionedProduct' => [ 'name' => 'TerminateProvisionedProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateProvisionedProductInput', ], 'output' => [ 'shape' => 'TerminateProvisionedProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateConstraint' => [ 'name' => 'UpdateConstraint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateConstraintInput', ], 'output' => [ 'shape' => 'UpdateConstraintOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'UpdatePortfolio' => [ 'name' => 'UpdatePortfolio', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePortfolioInput', ], 'output' => [ 'shape' => 'UpdatePortfolioOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'UpdateProduct' => [ 'name' => 'UpdateProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProductInput', ], 'output' => [ 'shape' => 'UpdateProductOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'TagOptionNotMigratedException', ], ], ], 'UpdateProvisionedProduct' => [ 'name' => 'UpdateProvisionedProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProvisionedProductInput', ], 'output' => [ 'shape' => 'UpdateProvisionedProductOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateProvisioningArtifact' => [ 'name' => 'UpdateProvisioningArtifact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProvisioningArtifactInput', ], 'output' => [ 'shape' => 'UpdateProvisioningArtifactOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'UpdateServiceAction' => [ 'name' => 'UpdateServiceAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceActionInput', ], 'output' => [ 'shape' => 'UpdateServiceActionOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParametersException', ], ], ], 'UpdateTagOption' => [ 'name' => 'UpdateTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateTagOptionInput', ], 'output' => [ 'shape' => 'UpdateTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'DuplicateResourceException', ], [ 'shape' => 'InvalidParametersException', ], ], ], ], 'shapes' => [ 'AcceptLanguage' => [ 'type' => 'string', 'max' => 100, ], 'AcceptPortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'PortfolioShareType' => [ 'shape' => 'PortfolioShareType', ], ], ], 'AcceptPortfolioShareOutput' => [ 'type' => 'structure', 'members' => [], ], 'AccessLevelFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'AccessLevelFilterKey', ], 'Value' => [ 'shape' => 'AccessLevelFilterValue', ], ], ], 'AccessLevelFilterKey' => [ 'type' => 'string', 'enum' => [ 'Account', 'Role', 'User', ], ], 'AccessLevelFilterValue' => [ 'type' => 'string', ], 'AccessStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'UNDER_CHANGE', 'DISABLED', ], ], 'AccountId' => [ 'type' => 'string', 'pattern' => '^[0-9]{12}$', ], 'AccountIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], ], 'AddTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 20, ], 'AllowedValue' => [ 'type' => 'string', ], 'AllowedValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'AllowedValue', ], ], 'ApproximateCount' => [ 'type' => 'integer', ], 'AssociatePrincipalWithPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', 'PrincipalARN', 'PrincipalType', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'PrincipalARN' => [ 'shape' => 'PrincipalARN', ], 'PrincipalType' => [ 'shape' => 'PrincipalType', ], ], ], 'AssociatePrincipalWithPortfolioOutput' => [ 'type' => 'structure', 'members' => [], ], 'AssociateProductWithPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'SourcePortfolioId' => [ 'shape' => 'Id', ], ], ], 'AssociateProductWithPortfolioOutput' => [ 'type' => 'structure', 'members' => [], ], 'AssociateServiceActionWithProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', 'ServiceActionId', ], 'members' => [ 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'ServiceActionId' => [ 'shape' => 'Id', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'AssociateServiceActionWithProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [], ], 'AssociateTagOptionWithResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagOptionId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagOptionId' => [ 'shape' => 'TagOptionId', ], ], ], 'AssociateTagOptionWithResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'AttributeValue' => [ 'type' => 'string', ], 'BatchAssociateServiceActionWithProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ServiceActionAssociations', ], 'members' => [ 'ServiceActionAssociations' => [ 'shape' => 'ServiceActionAssociations', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'BatchAssociateServiceActionWithProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'FailedServiceActionAssociations' => [ 'shape' => 'FailedServiceActionAssociations', ], ], ], 'BatchDisassociateServiceActionFromProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ServiceActionAssociations', ], 'members' => [ 'ServiceActionAssociations' => [ 'shape' => 'ServiceActionAssociations', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'BatchDisassociateServiceActionFromProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'FailedServiceActionAssociations' => [ 'shape' => 'FailedServiceActionAssociations', ], ], ], 'CausingEntity' => [ 'type' => 'string', ], 'ChangeAction' => [ 'type' => 'string', 'enum' => [ 'ADD', 'MODIFY', 'REMOVE', ], ], 'CloudWatchDashboard' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'CloudWatchDashboardName', ], ], ], 'CloudWatchDashboardName' => [ 'type' => 'string', ], 'CloudWatchDashboards' => [ 'type' => 'list', 'member' => [ 'shape' => 'CloudWatchDashboard', ], ], 'ConstraintDescription' => [ 'type' => 'string', 'max' => 2000, ], 'ConstraintDetail' => [ 'type' => 'structure', 'members' => [ 'ConstraintId' => [ 'shape' => 'Id', ], 'Type' => [ 'shape' => 'ConstraintType', ], 'Description' => [ 'shape' => 'ConstraintDescription', ], 'Owner' => [ 'shape' => 'AccountId', ], ], ], 'ConstraintDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConstraintDetail', ], ], 'ConstraintParameters' => [ 'type' => 'string', ], 'ConstraintSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConstraintSummary', ], ], 'ConstraintSummary' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ConstraintType', ], 'Description' => [ 'shape' => 'ConstraintDescription', ], ], ], 'ConstraintType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'CopyOption' => [ 'type' => 'string', 'enum' => [ 'CopyTags', ], ], 'CopyOptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'CopyOption', ], ], 'CopyProductInput' => [ 'type' => 'structure', 'required' => [ 'SourceProductArn', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'SourceProductArn' => [ 'shape' => 'ProductArn', ], 'TargetProductId' => [ 'shape' => 'Id', ], 'TargetProductName' => [ 'shape' => 'ProductViewName', ], 'SourceProvisioningArtifactIdentifiers' => [ 'shape' => 'SourceProvisioningArtifactProperties', ], 'CopyOptions' => [ 'shape' => 'CopyOptions', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CopyProductOutput' => [ 'type' => 'structure', 'members' => [ 'CopyProductToken' => [ 'shape' => 'Id', ], ], ], 'CopyProductStatus' => [ 'type' => 'string', 'enum' => [ 'SUCCEEDED', 'IN_PROGRESS', 'FAILED', ], ], 'CreateConstraintInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', 'ProductId', 'Parameters', 'Type', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'Parameters' => [ 'shape' => 'ConstraintParameters', ], 'Type' => [ 'shape' => 'ConstraintType', ], 'Description' => [ 'shape' => 'ConstraintDescription', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CreateConstraintOutput' => [ 'type' => 'structure', 'members' => [ 'ConstraintDetail' => [ 'shape' => 'ConstraintDetail', ], 'ConstraintParameters' => [ 'shape' => 'ConstraintParameters', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'CreatePortfolioInput' => [ 'type' => 'structure', 'required' => [ 'DisplayName', 'ProviderName', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'DisplayName' => [ 'shape' => 'PortfolioDisplayName', ], 'Description' => [ 'shape' => 'PortfolioDescription', ], 'ProviderName' => [ 'shape' => 'ProviderName', ], 'Tags' => [ 'shape' => 'AddTags', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CreatePortfolioOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetail' => [ 'shape' => 'PortfolioDetail', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreatePortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'OrganizationNode' => [ 'shape' => 'OrganizationNode', ], ], ], 'CreatePortfolioShareOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioShareToken' => [ 'shape' => 'PortfolioShareToken', ], ], ], 'CreateProductInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'Owner', 'ProductType', 'ProvisioningArtifactParameters', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Name' => [ 'shape' => 'ProductViewName', ], 'Owner' => [ 'shape' => 'ProductViewOwner', ], 'Description' => [ 'shape' => 'ProductViewShortDescription', ], 'Distributor' => [ 'shape' => 'ProductViewOwner', ], 'SupportDescription' => [ 'shape' => 'SupportDescription', ], 'SupportEmail' => [ 'shape' => 'SupportEmail', ], 'SupportUrl' => [ 'shape' => 'SupportUrl', ], 'ProductType' => [ 'shape' => 'ProductType', ], 'Tags' => [ 'shape' => 'AddTags', ], 'ProvisioningArtifactParameters' => [ 'shape' => 'ProvisioningArtifactProperties', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CreateProductOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewDetail' => [ 'shape' => 'ProductViewDetail', ], 'ProvisioningArtifactDetail' => [ 'shape' => 'ProvisioningArtifactDetail', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateProvisionedProductPlanInput' => [ 'type' => 'structure', 'required' => [ 'PlanName', 'PlanType', 'ProductId', 'ProvisionedProductName', 'ProvisioningArtifactId', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PlanName' => [ 'shape' => 'ProvisionedProductPlanName', ], 'PlanType' => [ 'shape' => 'ProvisionedProductPlanType', ], 'NotificationArns' => [ 'shape' => 'NotificationArns', ], 'PathId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductName', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'ProvisioningParameters' => [ 'shape' => 'UpdateProvisioningParameters', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateProvisionedProductPlanOutput' => [ 'type' => 'structure', 'members' => [ 'PlanName' => [ 'shape' => 'ProvisionedProductPlanName', ], 'PlanId' => [ 'shape' => 'Id', ], 'ProvisionProductId' => [ 'shape' => 'Id', ], 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductName', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], ], ], 'CreateProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'Parameters', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'Parameters' => [ 'shape' => 'ProvisioningArtifactProperties', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CreateProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactDetail' => [ 'shape' => 'ProvisioningArtifactDetail', ], 'Info' => [ 'shape' => 'ProvisioningArtifactInfo', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'CreateServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'DefinitionType', 'Definition', 'IdempotencyToken', ], 'members' => [ 'Name' => [ 'shape' => 'ServiceActionName', ], 'DefinitionType' => [ 'shape' => 'ServiceActionDefinitionType', ], 'Definition' => [ 'shape' => 'ServiceActionDefinitionMap', ], 'Description' => [ 'shape' => 'ServiceActionDescription', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'CreateServiceActionOutput' => [ 'type' => 'structure', 'members' => [ 'ServiceActionDetail' => [ 'shape' => 'ServiceActionDetail', ], ], ], 'CreateTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagOptionKey', ], 'Value' => [ 'shape' => 'TagOptionValue', ], ], ], 'CreateTagOptionOutput' => [ 'type' => 'structure', 'members' => [ 'TagOptionDetail' => [ 'shape' => 'TagOptionDetail', ], ], ], 'CreatedTime' => [ 'type' => 'timestamp', ], 'CreationTime' => [ 'type' => 'timestamp', ], 'DefaultValue' => [ 'type' => 'string', ], 'DeleteConstraintInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DeleteConstraintOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeletePortfolioInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DeletePortfolioOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeletePortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'AccountId' => [ 'shape' => 'AccountId', ], 'OrganizationNode' => [ 'shape' => 'OrganizationNode', ], ], ], 'DeletePortfolioShareOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioShareToken' => [ 'shape' => 'PortfolioShareToken', ], ], ], 'DeleteProductInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DeleteProductOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProvisionedProductPlanInput' => [ 'type' => 'structure', 'required' => [ 'PlanId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PlanId' => [ 'shape' => 'Id', ], 'IgnoreErrors' => [ 'shape' => 'IgnoreErrors', ], ], ], 'DeleteProvisionedProductPlanOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], ], ], 'DeleteProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'DeleteServiceActionOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TagOptionId', ], ], ], 'DeleteTagOptionOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeConstraintInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribeConstraintOutput' => [ 'type' => 'structure', 'members' => [ 'ConstraintDetail' => [ 'shape' => 'ConstraintDetail', ], 'ConstraintParameters' => [ 'shape' => 'ConstraintParameters', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'DescribeCopyProductStatusInput' => [ 'type' => 'structure', 'required' => [ 'CopyProductToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'CopyProductToken' => [ 'shape' => 'Id', ], ], ], 'DescribeCopyProductStatusOutput' => [ 'type' => 'structure', 'members' => [ 'CopyProductStatus' => [ 'shape' => 'CopyProductStatus', ], 'TargetProductId' => [ 'shape' => 'Id', ], 'StatusDetail' => [ 'shape' => 'StatusDetail', ], ], ], 'DescribePortfolioInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribePortfolioOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetail' => [ 'shape' => 'PortfolioDetail', ], 'Tags' => [ 'shape' => 'Tags', ], 'TagOptions' => [ 'shape' => 'TagOptionDetails', ], ], ], 'DescribePortfolioShareStatusInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioShareToken', ], 'members' => [ 'PortfolioShareToken' => [ 'shape' => 'PortfolioShareToken', ], ], ], 'DescribePortfolioShareStatusOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioShareToken' => [ 'shape' => 'PortfolioShareToken', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'OrganizationNodeValue' => [ 'shape' => 'OrganizationNodeValue', ], 'Status' => [ 'shape' => 'ShareStatus', ], 'ShareDetails' => [ 'shape' => 'ShareDetails', ], ], ], 'DescribeProductAsAdminInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribeProductAsAdminOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewDetail' => [ 'shape' => 'ProductViewDetail', ], 'ProvisioningArtifactSummaries' => [ 'shape' => 'ProvisioningArtifactSummaries', ], 'Tags' => [ 'shape' => 'Tags', ], 'TagOptions' => [ 'shape' => 'TagOptionDetails', ], ], ], 'DescribeProductInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribeProductOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewSummary' => [ 'shape' => 'ProductViewSummary', ], 'ProvisioningArtifacts' => [ 'shape' => 'ProvisioningArtifacts', ], ], ], 'DescribeProductViewInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribeProductViewOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewSummary' => [ 'shape' => 'ProductViewSummary', ], 'ProvisioningArtifacts' => [ 'shape' => 'ProvisioningArtifacts', ], ], ], 'DescribeProvisionedProductInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], ], ], 'DescribeProvisionedProductOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedProductDetail' => [ 'shape' => 'ProvisionedProductDetail', ], 'CloudWatchDashboards' => [ 'shape' => 'CloudWatchDashboards', ], ], ], 'DescribeProvisionedProductPlanInput' => [ 'type' => 'structure', 'required' => [ 'PlanId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PlanId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'DescribeProvisionedProductPlanOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedProductPlanDetails' => [ 'shape' => 'ProvisionedProductPlanDetails', ], 'ResourceChanges' => [ 'shape' => 'ResourceChanges', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'DescribeProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProvisioningArtifactId', 'ProductId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'Verbose' => [ 'shape' => 'Verbose', ], ], ], 'DescribeProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactDetail' => [ 'shape' => 'ProvisioningArtifactDetail', ], 'Info' => [ 'shape' => 'ProvisioningArtifactInfo', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'DescribeProvisioningParametersInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'PathId' => [ 'shape' => 'Id', ], ], ], 'DescribeProvisioningParametersOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactParameters' => [ 'shape' => 'ProvisioningArtifactParameters', ], 'ConstraintSummaries' => [ 'shape' => 'ConstraintSummaries', ], 'UsageInstructions' => [ 'shape' => 'UsageInstructions', ], 'TagOptions' => [ 'shape' => 'TagOptionSummaries', ], 'ProvisioningArtifactPreferences' => [ 'shape' => 'ProvisioningArtifactPreferences', ], ], ], 'DescribeRecordInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'DescribeRecordOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], 'RecordOutputs' => [ 'shape' => 'RecordOutputs', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'DescribeServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'DescribeServiceActionOutput' => [ 'type' => 'structure', 'members' => [ 'ServiceActionDetail' => [ 'shape' => 'ServiceActionDetail', ], ], ], 'DescribeTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TagOptionId', ], ], ], 'DescribeTagOptionOutput' => [ 'type' => 'structure', 'members' => [ 'TagOptionDetail' => [ 'shape' => 'TagOptionDetail', ], ], ], 'Description' => [ 'type' => 'string', ], 'DisableAWSOrganizationsAccessInput' => [ 'type' => 'structure', 'members' => [], ], 'DisableAWSOrganizationsAccessOutput' => [ 'type' => 'structure', 'members' => [], ], 'DisassociatePrincipalFromPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', 'PrincipalARN', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'PrincipalARN' => [ 'shape' => 'PrincipalARN', ], ], ], 'DisassociatePrincipalFromPortfolioOutput' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateProductFromPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'PortfolioId' => [ 'shape' => 'Id', ], ], ], 'DisassociateProductFromPortfolioOutput' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateServiceActionFromProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', 'ServiceActionId', ], 'members' => [ 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'ServiceActionId' => [ 'shape' => 'Id', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'DisassociateServiceActionFromProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateTagOptionFromResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagOptionId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagOptionId' => [ 'shape' => 'TagOptionId', ], ], ], 'DisassociateTagOptionFromResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'DuplicateResourceException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EnableAWSOrganizationsAccessInput' => [ 'type' => 'structure', 'members' => [], ], 'EnableAWSOrganizationsAccessOutput' => [ 'type' => 'structure', 'members' => [], ], 'Error' => [ 'type' => 'string', ], 'ErrorCode' => [ 'type' => 'string', ], 'ErrorDescription' => [ 'type' => 'string', ], 'EvaluationType' => [ 'type' => 'string', 'enum' => [ 'STATIC', 'DYNAMIC', ], ], 'ExecuteProvisionedProductPlanInput' => [ 'type' => 'structure', 'required' => [ 'PlanId', 'IdempotencyToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PlanId' => [ 'shape' => 'Id', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'ExecuteProvisionedProductPlanOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], ], ], 'ExecuteProvisionedProductServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'ProvisionedProductId', 'ServiceActionId', 'ExecuteToken', ], 'members' => [ 'ProvisionedProductId' => [ 'shape' => 'Id', ], 'ServiceActionId' => [ 'shape' => 'Id', ], 'ExecuteToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'ExecuteProvisionedProductServiceActionOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], ], ], 'FailedServiceActionAssociation' => [ 'type' => 'structure', 'members' => [ 'ServiceActionId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'ErrorCode' => [ 'shape' => 'ServiceActionAssociationErrorCode', ], 'ErrorMessage' => [ 'shape' => 'ServiceActionAssociationErrorMessage', ], ], ], 'FailedServiceActionAssociations' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedServiceActionAssociation', ], 'max' => 50, ], 'GetAWSOrganizationsAccessStatusInput' => [ 'type' => 'structure', 'members' => [], ], 'GetAWSOrganizationsAccessStatusOutput' => [ 'type' => 'structure', 'members' => [ 'AccessStatus' => [ 'shape' => 'AccessStatus', ], ], ], 'HasDefaultPath' => [ 'type' => 'boolean', ], 'Id' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\-]*', ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9_-]*', ], 'IgnoreErrors' => [ 'type' => 'boolean', ], 'InstructionType' => [ 'type' => 'string', ], 'InstructionValue' => [ 'type' => 'string', ], 'InvalidParametersException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidStateException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'LastRequestId' => [ 'type' => 'string', ], 'LaunchPathSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'LaunchPathSummary', ], ], 'LaunchPathSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'ConstraintSummaries' => [ 'shape' => 'ConstraintSummaries', ], 'Tags' => [ 'shape' => 'Tags', ], 'Name' => [ 'shape' => 'PortfolioName', ], ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListAcceptedPortfolioSharesInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PortfolioShareType' => [ 'shape' => 'PortfolioShareType', ], ], ], 'ListAcceptedPortfolioSharesOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetails' => [ 'shape' => 'PortfolioDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListConstraintsForPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListConstraintsForPortfolioOutput' => [ 'type' => 'structure', 'members' => [ 'ConstraintDetails' => [ 'shape' => 'ConstraintDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListLaunchPathsInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListLaunchPathsOutput' => [ 'type' => 'structure', 'members' => [ 'LaunchPathSummaries' => [ 'shape' => 'LaunchPathSummaries', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListOrganizationPortfolioAccessInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', 'OrganizationNodeType', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'OrganizationNodeType' => [ 'shape' => 'OrganizationNodeType', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'ListOrganizationPortfolioAccessOutput' => [ 'type' => 'structure', 'members' => [ 'OrganizationNodes' => [ 'shape' => 'OrganizationNodes', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListPortfolioAccessInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], ], ], 'ListPortfolioAccessOutput' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListPortfoliosForProductInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'ListPortfoliosForProductOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetails' => [ 'shape' => 'PortfolioDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListPortfoliosInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], ], ], 'ListPortfoliosOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetails' => [ 'shape' => 'PortfolioDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListPrincipalsForPortfolioInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListPrincipalsForPortfolioOutput' => [ 'type' => 'structure', 'members' => [ 'Principals' => [ 'shape' => 'Principals', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListProvisionedProductPlansInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProvisionProductId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'AccessLevelFilter' => [ 'shape' => 'AccessLevelFilter', ], ], ], 'ListProvisionedProductPlansOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedProductPlans' => [ 'shape' => 'ProvisionedProductPlans', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListProvisioningArtifactsForServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'ServiceActionId', ], 'members' => [ 'ServiceActionId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'ListProvisioningArtifactsForServiceActionOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactViews' => [ 'shape' => 'ProvisioningArtifactViews', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListProvisioningArtifactsInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], ], ], 'ListProvisioningArtifactsOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactDetails' => [ 'shape' => 'ProvisioningArtifactDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListRecordHistoryInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'AccessLevelFilter' => [ 'shape' => 'AccessLevelFilter', ], 'SearchFilter' => [ 'shape' => 'ListRecordHistorySearchFilter', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListRecordHistoryOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetails' => [ 'shape' => 'RecordDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListRecordHistorySearchFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'SearchFilterKey', ], 'Value' => [ 'shape' => 'SearchFilterValue', ], ], ], 'ListResourcesForTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'TagOptionId', ], 'members' => [ 'TagOptionId' => [ 'shape' => 'TagOptionId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListResourcesForTagOptionOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceDetails' => [ 'shape' => 'ResourceDetails', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListServiceActionsForProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', ], 'members' => [ 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'ListServiceActionsForProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'ServiceActionSummaries' => [ 'shape' => 'ServiceActionSummaries', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListServiceActionsInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListServiceActionsOutput' => [ 'type' => 'structure', 'members' => [ 'ServiceActionSummaries' => [ 'shape' => 'ServiceActionSummaries', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListTagOptionsFilters' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagOptionKey', ], 'Value' => [ 'shape' => 'TagOptionValue', ], 'Active' => [ 'shape' => 'TagOptionActive', ], ], ], 'ListTagOptionsInput' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ListTagOptionsFilters', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ListTagOptionsOutput' => [ 'type' => 'structure', 'members' => [ 'TagOptionDetails' => [ 'shape' => 'TagOptionDetails', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'LogicalResourceId' => [ 'type' => 'string', ], 'Message' => [ 'type' => 'string', ], 'Namespaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], ], 'NoEcho' => [ 'type' => 'boolean', ], 'NotificationArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, 'pattern' => 'arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}', ], 'NotificationArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationArn', ], 'max' => 5, ], 'OperationNotSupportedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'OrganizationNode' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'OrganizationNodeType', ], 'Value' => [ 'shape' => 'OrganizationNodeValue', ], ], ], 'OrganizationNodeType' => [ 'type' => 'string', 'enum' => [ 'ORGANIZATION', 'ORGANIZATIONAL_UNIT', 'ACCOUNT', ], ], 'OrganizationNodeValue' => [ 'type' => 'string', 'pattern' => '(^[0-9]{12}$)|(^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32})|(^o-[a-z0-9]{10,32}$)|(^arn:aws:organizations::\\d{12}:ou\\/o-[a-z0-9]{10,32}\\/ou-[0-9a-z]{4,32}-[0-9a-z]{8,32}$)|(^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)', ], 'OrganizationNodes' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrganizationNode', ], ], 'OutputKey' => [ 'type' => 'string', ], 'OutputValue' => [ 'type' => 'string', ], 'PageSize' => [ 'type' => 'integer', 'max' => 20, 'min' => 0, ], 'PageToken' => [ 'type' => 'string', 'max' => 2024, 'pattern' => '[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*', ], 'ParameterConstraints' => [ 'type' => 'structure', 'members' => [ 'AllowedValues' => [ 'shape' => 'AllowedValues', ], ], ], 'ParameterKey' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ParameterType' => [ 'type' => 'string', ], 'ParameterValue' => [ 'type' => 'string', 'max' => 4096, ], 'PhysicalId' => [ 'type' => 'string', ], 'PhysicalResourceId' => [ 'type' => 'string', ], 'PlanResourceType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'PortfolioDescription' => [ 'type' => 'string', 'max' => 2000, ], 'PortfolioDetail' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'ARN' => [ 'shape' => 'ResourceARN', ], 'DisplayName' => [ 'shape' => 'PortfolioDisplayName', ], 'Description' => [ 'shape' => 'PortfolioDescription', ], 'CreatedTime' => [ 'shape' => 'CreationTime', ], 'ProviderName' => [ 'shape' => 'ProviderName', ], ], ], 'PortfolioDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'PortfolioDetail', ], ], 'PortfolioDisplayName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'PortfolioName' => [ 'type' => 'string', ], 'PortfolioShareToken' => [ 'type' => 'string', ], 'PortfolioShareType' => [ 'type' => 'string', 'enum' => [ 'IMPORTED', 'AWS_SERVICECATALOG', 'AWS_ORGANIZATIONS', ], ], 'Principal' => [ 'type' => 'structure', 'members' => [ 'PrincipalARN' => [ 'shape' => 'PrincipalARN', ], 'PrincipalType' => [ 'shape' => 'PrincipalType', ], ], ], 'PrincipalARN' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'PrincipalType' => [ 'type' => 'string', 'enum' => [ 'IAM', ], ], 'Principals' => [ 'type' => 'list', 'member' => [ 'shape' => 'Principal', ], ], 'ProductArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, 'pattern' => 'arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}', ], 'ProductSource' => [ 'type' => 'string', 'enum' => [ 'ACCOUNT', ], ], 'ProductType' => [ 'type' => 'string', 'enum' => [ 'CLOUD_FORMATION_TEMPLATE', 'MARKETPLACE', ], 'max' => 8191, ], 'ProductViewAggregationType' => [ 'type' => 'string', ], 'ProductViewAggregationValue' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'AttributeValue', ], 'ApproximateCount' => [ 'shape' => 'ApproximateCount', ], ], ], 'ProductViewAggregationValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductViewAggregationValue', ], ], 'ProductViewAggregations' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProductViewAggregationType', ], 'value' => [ 'shape' => 'ProductViewAggregationValues', ], ], 'ProductViewDetail' => [ 'type' => 'structure', 'members' => [ 'ProductViewSummary' => [ 'shape' => 'ProductViewSummary', ], 'Status' => [ 'shape' => 'Status', ], 'ProductARN' => [ 'shape' => 'ResourceARN', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], ], ], 'ProductViewDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductViewDetail', ], ], 'ProductViewDistributor' => [ 'type' => 'string', ], 'ProductViewFilterBy' => [ 'type' => 'string', 'enum' => [ 'FullTextSearch', 'Owner', 'ProductType', 'SourceProductId', ], ], 'ProductViewFilterValue' => [ 'type' => 'string', ], 'ProductViewFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductViewFilterValue', ], ], 'ProductViewFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProductViewFilterBy', ], 'value' => [ 'shape' => 'ProductViewFilterValues', ], ], 'ProductViewName' => [ 'type' => 'string', 'max' => 8191, ], 'ProductViewOwner' => [ 'type' => 'string', 'max' => 8191, ], 'ProductViewShortDescription' => [ 'type' => 'string', 'max' => 8191, ], 'ProductViewSortBy' => [ 'type' => 'string', 'enum' => [ 'Title', 'VersionCount', 'CreationDate', ], ], 'ProductViewSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProductViewSummary', ], ], 'ProductViewSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProductViewName', ], 'Owner' => [ 'shape' => 'ProductViewOwner', ], 'ShortDescription' => [ 'shape' => 'ProductViewShortDescription', ], 'Type' => [ 'shape' => 'ProductType', ], 'Distributor' => [ 'shape' => 'ProductViewDistributor', ], 'HasDefaultPath' => [ 'shape' => 'HasDefaultPath', ], 'SupportEmail' => [ 'shape' => 'SupportEmail', ], 'SupportDescription' => [ 'shape' => 'SupportDescription', ], 'SupportUrl' => [ 'shape' => 'SupportUrl', ], ], ], 'PropertyName' => [ 'type' => 'string', ], 'ProviderName' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'ProvisionProductInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', 'ProvisionedProductName', 'ProvisionToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'PathId' => [ 'shape' => 'Id', ], 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductName', ], 'ProvisioningParameters' => [ 'shape' => 'ProvisioningParameters', ], 'ProvisioningPreferences' => [ 'shape' => 'ProvisioningPreferences', ], 'Tags' => [ 'shape' => 'Tags', ], 'NotificationArns' => [ 'shape' => 'NotificationArns', ], 'ProvisionToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'ProvisionProductOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], ], ], 'ProvisionedProductAttribute' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'Arn' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'Type' => [ 'shape' => 'ProvisionedProductType', ], 'Id' => [ 'shape' => 'Id', ], 'Status' => [ 'shape' => 'ProvisionedProductStatus', ], 'StatusMessage' => [ 'shape' => 'ProvisionedProductStatusMessage', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], 'LastRecordId' => [ 'shape' => 'Id', ], 'Tags' => [ 'shape' => 'Tags', ], 'PhysicalId' => [ 'shape' => 'PhysicalId', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'UserArn' => [ 'shape' => 'UserArn', ], 'UserArnSession' => [ 'shape' => 'UserArnSession', ], ], ], 'ProvisionedProductAttributes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisionedProductAttribute', ], ], 'ProvisionedProductDetail' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'Arn' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'Type' => [ 'shape' => 'ProvisionedProductType', ], 'Id' => [ 'shape' => 'ProvisionedProductId', ], 'Status' => [ 'shape' => 'ProvisionedProductStatus', ], 'StatusMessage' => [ 'shape' => 'ProvisionedProductStatusMessage', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'IdempotencyToken' => [ 'shape' => 'IdempotencyToken', ], 'LastRecordId' => [ 'shape' => 'LastRequestId', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], ], ], 'ProvisionedProductDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisionedProductDetail', ], ], 'ProvisionedProductFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProvisionedProductViewFilterBy', ], 'value' => [ 'shape' => 'ProvisionedProductViewFilterValues', ], ], 'ProvisionedProductId' => [ 'type' => 'string', ], 'ProvisionedProductName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9._-]*', ], 'ProvisionedProductNameOrArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}', ], 'ProvisionedProductPlanDetails' => [ 'type' => 'structure', 'members' => [ 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'PathId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'PlanName' => [ 'shape' => 'ProvisionedProductPlanName', ], 'PlanId' => [ 'shape' => 'Id', ], 'ProvisionProductId' => [ 'shape' => 'Id', ], 'ProvisionProductName' => [ 'shape' => 'ProvisionedProductName', ], 'PlanType' => [ 'shape' => 'ProvisionedProductPlanType', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'Status' => [ 'shape' => 'ProvisionedProductPlanStatus', ], 'UpdatedTime' => [ 'shape' => 'UpdatedTime', ], 'NotificationArns' => [ 'shape' => 'NotificationArns', ], 'ProvisioningParameters' => [ 'shape' => 'UpdateProvisioningParameters', ], 'Tags' => [ 'shape' => 'Tags', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], ], ], 'ProvisionedProductPlanName' => [ 'type' => 'string', ], 'ProvisionedProductPlanStatus' => [ 'type' => 'string', 'enum' => [ 'CREATE_IN_PROGRESS', 'CREATE_SUCCESS', 'CREATE_FAILED', 'EXECUTE_IN_PROGRESS', 'EXECUTE_SUCCESS', 'EXECUTE_FAILED', ], ], 'ProvisionedProductPlanSummary' => [ 'type' => 'structure', 'members' => [ 'PlanName' => [ 'shape' => 'ProvisionedProductPlanName', ], 'PlanId' => [ 'shape' => 'Id', ], 'ProvisionProductId' => [ 'shape' => 'Id', ], 'ProvisionProductName' => [ 'shape' => 'ProvisionedProductName', ], 'PlanType' => [ 'shape' => 'ProvisionedProductPlanType', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], ], ], 'ProvisionedProductPlanType' => [ 'type' => 'string', 'enum' => [ 'CLOUDFORMATION', ], ], 'ProvisionedProductPlans' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisionedProductPlanSummary', ], ], 'ProvisionedProductStatus' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'UNDER_CHANGE', 'TAINTED', 'ERROR', 'PLAN_IN_PROGRESS', ], ], 'ProvisionedProductStatusMessage' => [ 'type' => 'string', ], 'ProvisionedProductType' => [ 'type' => 'string', ], 'ProvisionedProductViewFilterBy' => [ 'type' => 'string', 'enum' => [ 'SearchQuery', ], ], 'ProvisionedProductViewFilterValue' => [ 'type' => 'string', ], 'ProvisionedProductViewFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisionedProductViewFilterValue', ], ], 'ProvisioningArtifact' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProvisioningArtifactName', ], 'Description' => [ 'shape' => 'ProvisioningArtifactDescription', ], 'CreatedTime' => [ 'shape' => 'ProvisioningArtifactCreatedTime', ], ], ], 'ProvisioningArtifactActive' => [ 'type' => 'boolean', ], 'ProvisioningArtifactCreatedTime' => [ 'type' => 'timestamp', ], 'ProvisioningArtifactDescription' => [ 'type' => 'string', ], 'ProvisioningArtifactDetail' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProvisioningArtifactName', ], 'Description' => [ 'shape' => 'ProvisioningArtifactName', ], 'Type' => [ 'shape' => 'ProvisioningArtifactType', ], 'CreatedTime' => [ 'shape' => 'CreationTime', ], 'Active' => [ 'shape' => 'ProvisioningArtifactActive', ], ], ], 'ProvisioningArtifactDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifactDetail', ], ], 'ProvisioningArtifactInfo' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProvisioningArtifactInfoKey', ], 'value' => [ 'shape' => 'ProvisioningArtifactInfoValue', ], 'max' => 100, 'min' => 1, ], 'ProvisioningArtifactInfoKey' => [ 'type' => 'string', ], 'ProvisioningArtifactInfoValue' => [ 'type' => 'string', ], 'ProvisioningArtifactName' => [ 'type' => 'string', ], 'ProvisioningArtifactParameter' => [ 'type' => 'structure', 'members' => [ 'ParameterKey' => [ 'shape' => 'ParameterKey', ], 'DefaultValue' => [ 'shape' => 'DefaultValue', ], 'ParameterType' => [ 'shape' => 'ParameterType', ], 'IsNoEcho' => [ 'shape' => 'NoEcho', ], 'Description' => [ 'shape' => 'Description', ], 'ParameterConstraints' => [ 'shape' => 'ParameterConstraints', ], ], ], 'ProvisioningArtifactParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifactParameter', ], ], 'ProvisioningArtifactPreferences' => [ 'type' => 'structure', 'members' => [ 'StackSetAccounts' => [ 'shape' => 'StackSetAccounts', ], 'StackSetRegions' => [ 'shape' => 'StackSetRegions', ], ], ], 'ProvisioningArtifactProperties' => [ 'type' => 'structure', 'required' => [ 'Info', ], 'members' => [ 'Name' => [ 'shape' => 'ProvisioningArtifactName', ], 'Description' => [ 'shape' => 'ProvisioningArtifactDescription', ], 'Info' => [ 'shape' => 'ProvisioningArtifactInfo', ], 'Type' => [ 'shape' => 'ProvisioningArtifactType', ], ], ], 'ProvisioningArtifactPropertyName' => [ 'type' => 'string', 'enum' => [ 'Id', ], ], 'ProvisioningArtifactPropertyValue' => [ 'type' => 'string', ], 'ProvisioningArtifactSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifactSummary', ], ], 'ProvisioningArtifactSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProvisioningArtifactName', ], 'Description' => [ 'shape' => 'ProvisioningArtifactDescription', ], 'CreatedTime' => [ 'shape' => 'ProvisioningArtifactCreatedTime', ], 'ProvisioningArtifactMetadata' => [ 'shape' => 'ProvisioningArtifactInfo', ], ], ], 'ProvisioningArtifactType' => [ 'type' => 'string', 'enum' => [ 'CLOUD_FORMATION_TEMPLATE', 'MARKETPLACE_AMI', 'MARKETPLACE_CAR', ], ], 'ProvisioningArtifactView' => [ 'type' => 'structure', 'members' => [ 'ProductViewSummary' => [ 'shape' => 'ProductViewSummary', ], 'ProvisioningArtifact' => [ 'shape' => 'ProvisioningArtifact', ], ], ], 'ProvisioningArtifactViews' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifactView', ], ], 'ProvisioningArtifacts' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifact', ], ], 'ProvisioningParameter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ParameterKey', ], 'Value' => [ 'shape' => 'ParameterValue', ], ], ], 'ProvisioningParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningParameter', ], ], 'ProvisioningPreferences' => [ 'type' => 'structure', 'members' => [ 'StackSetAccounts' => [ 'shape' => 'StackSetAccounts', ], 'StackSetRegions' => [ 'shape' => 'StackSetRegions', ], 'StackSetFailureToleranceCount' => [ 'shape' => 'StackSetFailureToleranceCount', ], 'StackSetFailureTolerancePercentage' => [ 'shape' => 'StackSetFailureTolerancePercentage', ], 'StackSetMaxConcurrencyCount' => [ 'shape' => 'StackSetMaxConcurrencyCount', ], 'StackSetMaxConcurrencyPercentage' => [ 'shape' => 'StackSetMaxConcurrencyPercentage', ], ], ], 'RecordDetail' => [ 'type' => 'structure', 'members' => [ 'RecordId' => [ 'shape' => 'Id', ], 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductName', ], 'Status' => [ 'shape' => 'RecordStatus', ], 'CreatedTime' => [ 'shape' => 'CreatedTime', ], 'UpdatedTime' => [ 'shape' => 'UpdatedTime', ], 'ProvisionedProductType' => [ 'shape' => 'ProvisionedProductType', ], 'RecordType' => [ 'shape' => 'RecordType', ], 'ProvisionedProductId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'PathId' => [ 'shape' => 'Id', ], 'RecordErrors' => [ 'shape' => 'RecordErrors', ], 'RecordTags' => [ 'shape' => 'RecordTags', ], ], ], 'RecordDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordDetail', ], ], 'RecordError' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Description' => [ 'shape' => 'ErrorDescription', ], ], ], 'RecordErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordError', ], ], 'RecordOutput' => [ 'type' => 'structure', 'members' => [ 'OutputKey' => [ 'shape' => 'OutputKey', ], 'OutputValue' => [ 'shape' => 'OutputValue', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'RecordOutputs' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordOutput', ], ], 'RecordStatus' => [ 'type' => 'string', 'enum' => [ 'CREATED', 'IN_PROGRESS', 'IN_PROGRESS_IN_ERROR', 'SUCCEEDED', 'FAILED', ], ], 'RecordTag' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'RecordTagKey', ], 'Value' => [ 'shape' => 'RecordTagValue', ], ], ], 'RecordTagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$', ], 'RecordTagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$', ], 'RecordTags' => [ 'type' => 'list', 'member' => [ 'shape' => 'RecordTag', ], 'max' => 50, ], 'RecordType' => [ 'type' => 'string', ], 'Region' => [ 'type' => 'string', ], 'RejectPortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'PortfolioShareType' => [ 'shape' => 'PortfolioShareType', ], ], ], 'RejectPortfolioShareOutput' => [ 'type' => 'structure', 'members' => [], ], 'Replacement' => [ 'type' => 'string', 'enum' => [ 'TRUE', 'FALSE', 'CONDITIONAL', ], ], 'RequiresRecreation' => [ 'type' => 'string', 'enum' => [ 'NEVER', 'CONDITIONALLY', 'ALWAYS', ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 150, 'min' => 1, ], 'ResourceAttribute' => [ 'type' => 'string', 'enum' => [ 'PROPERTIES', 'METADATA', 'CREATIONPOLICY', 'UPDATEPOLICY', 'DELETIONPOLICY', 'TAGS', ], ], 'ResourceChange' => [ 'type' => 'structure', 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'LogicalResourceId' => [ 'shape' => 'LogicalResourceId', ], 'PhysicalResourceId' => [ 'shape' => 'PhysicalResourceId', ], 'ResourceType' => [ 'shape' => 'PlanResourceType', ], 'Replacement' => [ 'shape' => 'Replacement', ], 'Scope' => [ 'shape' => 'Scope', ], 'Details' => [ 'shape' => 'ResourceChangeDetails', ], ], ], 'ResourceChangeDetail' => [ 'type' => 'structure', 'members' => [ 'Target' => [ 'shape' => 'ResourceTargetDefinition', ], 'Evaluation' => [ 'shape' => 'EvaluationType', ], 'CausingEntity' => [ 'shape' => 'CausingEntity', ], ], ], 'ResourceChangeDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceChangeDetail', ], ], 'ResourceChanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceChange', ], ], 'ResourceDetail' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceDetailId', ], 'ARN' => [ 'shape' => 'ResourceDetailARN', ], 'Name' => [ 'shape' => 'ResourceDetailName', ], 'Description' => [ 'shape' => 'ResourceDetailDescription', ], 'CreatedTime' => [ 'shape' => 'ResourceDetailCreatedTime', ], ], ], 'ResourceDetailARN' => [ 'type' => 'string', ], 'ResourceDetailCreatedTime' => [ 'type' => 'timestamp', ], 'ResourceDetailDescription' => [ 'type' => 'string', ], 'ResourceDetailId' => [ 'type' => 'string', ], 'ResourceDetailName' => [ 'type' => 'string', ], 'ResourceDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceDetail', ], ], 'ResourceId' => [ 'type' => 'string', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceTargetDefinition' => [ 'type' => 'structure', 'members' => [ 'Attribute' => [ 'shape' => 'ResourceAttribute', ], 'Name' => [ 'shape' => 'PropertyName', ], 'RequiresRecreation' => [ 'shape' => 'RequiresRecreation', ], ], ], 'ResourceType' => [ 'type' => 'string', ], 'ScanProvisionedProductsInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'AccessLevelFilter' => [ 'shape' => 'AccessLevelFilter', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'ScanProvisionedProductsOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedProducts' => [ 'shape' => 'ProvisionedProductDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'Scope' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceAttribute', ], ], 'SearchFilterKey' => [ 'type' => 'string', ], 'SearchFilterValue' => [ 'type' => 'string', ], 'SearchProductsAsAdminInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'Filters' => [ 'shape' => 'ProductViewFilters', ], 'SortBy' => [ 'shape' => 'ProductViewSortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'PageToken' => [ 'shape' => 'PageToken', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'ProductSource' => [ 'shape' => 'ProductSource', ], ], ], 'SearchProductsAsAdminOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewDetails' => [ 'shape' => 'ProductViewDetails', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'SearchProductsInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Filters' => [ 'shape' => 'ProductViewFilters', ], 'PageSize' => [ 'shape' => 'PageSize', ], 'SortBy' => [ 'shape' => 'ProductViewSortBy', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'SearchProductsOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewSummaries' => [ 'shape' => 'ProductViewSummaries', ], 'ProductViewAggregations' => [ 'shape' => 'ProductViewAggregations', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'SearchProvisionedProductsInput' => [ 'type' => 'structure', 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'AccessLevelFilter' => [ 'shape' => 'AccessLevelFilter', ], 'Filters' => [ 'shape' => 'ProvisionedProductFilters', ], 'SortBy' => [ 'shape' => 'SortField', ], 'SortOrder' => [ 'shape' => 'SortOrder', ], 'PageSize' => [ 'shape' => 'SearchProvisionedProductsPageSize', ], 'PageToken' => [ 'shape' => 'PageToken', ], ], ], 'SearchProvisionedProductsOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedProducts' => [ 'shape' => 'ProvisionedProductAttributes', ], 'TotalResultsCount' => [ 'shape' => 'TotalResultsCount', ], 'NextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'SearchProvisionedProductsPageSize' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ServiceActionAssociation' => [ 'type' => 'structure', 'required' => [ 'ServiceActionId', 'ProductId', 'ProvisioningArtifactId', ], 'members' => [ 'ServiceActionId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], ], ], 'ServiceActionAssociationErrorCode' => [ 'type' => 'string', 'enum' => [ 'DUPLICATE_RESOURCE', 'INTERNAL_FAILURE', 'LIMIT_EXCEEDED', 'RESOURCE_NOT_FOUND', 'THROTTLING', ], ], 'ServiceActionAssociationErrorMessage' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ServiceActionAssociations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceActionAssociation', ], 'max' => 50, 'min' => 1, ], 'ServiceActionDefinitionKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'Version', 'AssumeRole', 'Parameters', ], ], 'ServiceActionDefinitionMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ServiceActionDefinitionKey', ], 'value' => [ 'shape' => 'ServiceActionDefinitionValue', ], 'max' => 100, 'min' => 1, ], 'ServiceActionDefinitionType' => [ 'type' => 'string', 'enum' => [ 'SSM_AUTOMATION', ], ], 'ServiceActionDefinitionValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ServiceActionDescription' => [ 'type' => 'string', 'max' => 1024, ], 'ServiceActionDetail' => [ 'type' => 'structure', 'members' => [ 'ServiceActionSummary' => [ 'shape' => 'ServiceActionSummary', ], 'Definition' => [ 'shape' => 'ServiceActionDefinitionMap', ], ], ], 'ServiceActionName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_\\-.]*', ], 'ServiceActionSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceActionSummary', ], ], 'ServiceActionSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ServiceActionName', ], 'Description' => [ 'shape' => 'ServiceActionDescription', ], 'DefinitionType' => [ 'shape' => 'ServiceActionDefinitionType', ], ], ], 'ShareDetails' => [ 'type' => 'structure', 'members' => [ 'SuccessfulShares' => [ 'shape' => 'SuccessfulShares', ], 'ShareErrors' => [ 'shape' => 'ShareErrors', ], ], ], 'ShareError' => [ 'type' => 'structure', 'members' => [ 'Accounts' => [ 'shape' => 'Namespaces', ], 'Message' => [ 'shape' => 'Message', ], 'Error' => [ 'shape' => 'Error', ], ], ], 'ShareErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'ShareError', ], ], 'ShareStatus' => [ 'type' => 'string', 'enum' => [ 'NOT_STARTED', 'IN_PROGRESS', 'COMPLETED', 'COMPLETED_WITH_ERRORS', 'ERROR', ], ], 'SortField' => [ 'type' => 'string', ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'SourceProvisioningArtifactProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceProvisioningArtifactPropertiesMap', ], ], 'SourceProvisioningArtifactPropertiesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProvisioningArtifactPropertyName', ], 'value' => [ 'shape' => 'ProvisioningArtifactPropertyValue', ], ], 'StackSetAccounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], ], 'StackSetFailureToleranceCount' => [ 'type' => 'integer', 'min' => 0, ], 'StackSetFailureTolerancePercentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'StackSetMaxConcurrencyCount' => [ 'type' => 'integer', 'min' => 1, ], 'StackSetMaxConcurrencyPercentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'StackSetOperationType' => [ 'type' => 'string', 'enum' => [ 'CREATE', 'UPDATE', 'DELETE', ], ], 'StackSetRegions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'CREATING', 'FAILED', ], ], 'StatusDetail' => [ 'type' => 'string', ], 'StatusMessage' => [ 'type' => 'string', 'pattern' => '[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*', ], 'SuccessfulShares' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], ], 'SupportDescription' => [ 'type' => 'string', 'max' => 8191, ], 'SupportEmail' => [ 'type' => 'string', 'max' => 254, ], 'SupportUrl' => [ 'type' => 'string', 'max' => 2083, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagOptionActive' => [ 'type' => 'boolean', ], 'TagOptionDetail' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagOptionKey', ], 'Value' => [ 'shape' => 'TagOptionValue', ], 'Active' => [ 'shape' => 'TagOptionActive', ], 'Id' => [ 'shape' => 'TagOptionId', ], ], ], 'TagOptionDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagOptionDetail', ], ], 'TagOptionId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'TagOptionKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagOptionNotMigratedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TagOptionSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagOptionSummary', ], ], 'TagOptionSummary' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TagOptionKey', ], 'Values' => [ 'shape' => 'TagOptionValues', ], ], ], 'TagOptionValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagOptionValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagOptionValue', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, ], 'TerminateProvisionedProductInput' => [ 'type' => 'structure', 'required' => [ 'TerminateToken', ], 'members' => [ 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'ProvisionedProductId' => [ 'shape' => 'Id', ], 'TerminateToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'IgnoreErrors' => [ 'shape' => 'IgnoreErrors', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'TerminateProvisionedProductOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], ], ], 'TotalResultsCount' => [ 'type' => 'integer', ], 'UpdateConstraintInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], 'Description' => [ 'shape' => 'ConstraintDescription', ], ], ], 'UpdateConstraintOutput' => [ 'type' => 'structure', 'members' => [ 'ConstraintDetail' => [ 'shape' => 'ConstraintDetail', ], 'ConstraintParameters' => [ 'shape' => 'ConstraintParameters', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'UpdatePortfolioInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], 'DisplayName' => [ 'shape' => 'PortfolioDisplayName', ], 'Description' => [ 'shape' => 'PortfolioDescription', ], 'ProviderName' => [ 'shape' => 'ProviderName', ], 'AddTags' => [ 'shape' => 'AddTags', ], 'RemoveTags' => [ 'shape' => 'TagKeys', ], ], ], 'UpdatePortfolioOutput' => [ 'type' => 'structure', 'members' => [ 'PortfolioDetail' => [ 'shape' => 'PortfolioDetail', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'UpdateProductInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProductViewName', ], 'Owner' => [ 'shape' => 'ProductViewOwner', ], 'Description' => [ 'shape' => 'ProductViewShortDescription', ], 'Distributor' => [ 'shape' => 'ProductViewOwner', ], 'SupportDescription' => [ 'shape' => 'SupportDescription', ], 'SupportEmail' => [ 'shape' => 'SupportEmail', ], 'SupportUrl' => [ 'shape' => 'SupportUrl', ], 'AddTags' => [ 'shape' => 'AddTags', ], 'RemoveTags' => [ 'shape' => 'TagKeys', ], ], ], 'UpdateProductOutput' => [ 'type' => 'structure', 'members' => [ 'ProductViewDetail' => [ 'shape' => 'ProductViewDetail', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'UpdateProvisionedProductInput' => [ 'type' => 'structure', 'required' => [ 'UpdateToken', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProvisionedProductName' => [ 'shape' => 'ProvisionedProductNameOrArn', ], 'ProvisionedProductId' => [ 'shape' => 'Id', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'PathId' => [ 'shape' => 'Id', ], 'ProvisioningParameters' => [ 'shape' => 'UpdateProvisioningParameters', ], 'ProvisioningPreferences' => [ 'shape' => 'UpdateProvisioningPreferences', ], 'Tags' => [ 'shape' => 'Tags', ], 'UpdateToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], ], ], 'UpdateProvisionedProductOutput' => [ 'type' => 'structure', 'members' => [ 'RecordDetail' => [ 'shape' => 'RecordDetail', ], ], ], 'UpdateProvisioningArtifactInput' => [ 'type' => 'structure', 'required' => [ 'ProductId', 'ProvisioningArtifactId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'ProductId' => [ 'shape' => 'Id', ], 'ProvisioningArtifactId' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ProvisioningArtifactName', ], 'Description' => [ 'shape' => 'ProvisioningArtifactDescription', ], 'Active' => [ 'shape' => 'ProvisioningArtifactActive', ], ], ], 'UpdateProvisioningArtifactOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisioningArtifactDetail' => [ 'shape' => 'ProvisioningArtifactDetail', ], 'Info' => [ 'shape' => 'ProvisioningArtifactInfo', ], 'Status' => [ 'shape' => 'Status', ], ], ], 'UpdateProvisioningParameter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ParameterKey', ], 'Value' => [ 'shape' => 'ParameterValue', ], 'UsePreviousValue' => [ 'shape' => 'UsePreviousValue', ], ], ], 'UpdateProvisioningParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'UpdateProvisioningParameter', ], ], 'UpdateProvisioningPreferences' => [ 'type' => 'structure', 'members' => [ 'StackSetAccounts' => [ 'shape' => 'StackSetAccounts', ], 'StackSetRegions' => [ 'shape' => 'StackSetRegions', ], 'StackSetFailureToleranceCount' => [ 'shape' => 'StackSetFailureToleranceCount', ], 'StackSetFailureTolerancePercentage' => [ 'shape' => 'StackSetFailureTolerancePercentage', ], 'StackSetMaxConcurrencyCount' => [ 'shape' => 'StackSetMaxConcurrencyCount', ], 'StackSetMaxConcurrencyPercentage' => [ 'shape' => 'StackSetMaxConcurrencyPercentage', ], 'StackSetOperationType' => [ 'shape' => 'StackSetOperationType', ], ], ], 'UpdateServiceActionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'Id', ], 'Name' => [ 'shape' => 'ServiceActionName', ], 'Definition' => [ 'shape' => 'ServiceActionDefinitionMap', ], 'Description' => [ 'shape' => 'ServiceActionDescription', ], 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], ], ], 'UpdateServiceActionOutput' => [ 'type' => 'structure', 'members' => [ 'ServiceActionDetail' => [ 'shape' => 'ServiceActionDetail', ], ], ], 'UpdateTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TagOptionId', ], 'Value' => [ 'shape' => 'TagOptionValue', ], 'Active' => [ 'shape' => 'TagOptionActive', ], ], ], 'UpdateTagOptionOutput' => [ 'type' => 'structure', 'members' => [ 'TagOptionDetail' => [ 'shape' => 'TagOptionDetail', ], ], ], 'UpdatedTime' => [ 'type' => 'timestamp', ], 'UsageInstruction' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'InstructionType', ], 'Value' => [ 'shape' => 'InstructionValue', ], ], ], 'UsageInstructions' => [ 'type' => 'list', 'member' => [ 'shape' => 'UsageInstruction', ], ], 'UsePreviousValue' => [ 'type' => 'boolean', ], 'UserArn' => [ 'type' => 'string', ], 'UserArnSession' => [ 'type' => 'string', ], 'Verbose' => [ 'type' => 'boolean', ], ],]; diff --git a/lib/aws/Aws/data/servicecatalog/2015-12-10/paginators-1.json.php b/lib/aws/Aws/data/servicecatalog/2015-12-10/paginators-1.json.php new file mode 100644 index 0000000..f88b48c --- /dev/null +++ b/lib/aws/Aws/data/servicecatalog/2015-12-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/servicecatalog/2015-12-10/paginators-1.json +return [ 'pagination' => [ 'ListAcceptedPortfolioShares' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListConstraintsForPortfolio' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListLaunchPaths' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListOrganizationPortfolioAccess' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListPortfolios' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListPortfoliosForProduct' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListPrincipalsForPortfolio' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListProvisioningArtifactsForServiceAction' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListResourcesForTagOption' => [ 'input_token' => 'PageToken', 'output_token' => 'PageToken', 'limit_key' => 'PageSize', ], 'ListServiceActions' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListServiceActionsForProvisioningArtifact' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'ListTagOptions' => [ 'input_token' => 'PageToken', 'output_token' => 'PageToken', 'limit_key' => 'PageSize', ], 'SearchProducts' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'SearchProductsAsAdmin' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], 'SearchProvisionedProducts' => [ 'input_token' => 'PageToken', 'output_token' => 'NextPageToken', 'limit_key' => 'PageSize', ], ],]; diff --git a/lib/aws/Aws/data/servicecatalog/2015-12-10/smoke.json.php b/lib/aws/Aws/data/servicecatalog/2015-12-10/smoke.json.php new file mode 100644 index 0000000..2a6c340 --- /dev/null +++ b/lib/aws/Aws/data/servicecatalog/2015-12-10/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/servicecatalog/2015-12-10/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListAcceptedPortfolioShares', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/servicediscovery/2017-03-14/api-2.json.php b/lib/aws/Aws/data/servicediscovery/2017-03-14/api-2.json.php new file mode 100644 index 0000000..0fe1e47 --- /dev/null +++ b/lib/aws/Aws/data/servicediscovery/2017-03-14/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/servicediscovery/2017-03-14/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-03-14', 'endpointPrefix' => 'servicediscovery', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'ServiceDiscovery', 'serviceFullName' => 'AWS Cloud Map', 'serviceId' => 'ServiceDiscovery', 'signatureVersion' => 'v4', 'targetPrefix' => 'Route53AutoNaming_v20170314', 'uid' => 'servicediscovery-2017-03-14', ], 'operations' => [ 'CreateHttpNamespace' => [ 'name' => 'CreateHttpNamespace', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateHttpNamespaceRequest', ], 'output' => [ 'shape' => 'CreateHttpNamespaceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NamespaceAlreadyExists', ], [ 'shape' => 'ResourceLimitExceeded', ], [ 'shape' => 'DuplicateRequest', ], ], ], 'CreatePrivateDnsNamespace' => [ 'name' => 'CreatePrivateDnsNamespace', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePrivateDnsNamespaceRequest', ], 'output' => [ 'shape' => 'CreatePrivateDnsNamespaceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NamespaceAlreadyExists', ], [ 'shape' => 'ResourceLimitExceeded', ], [ 'shape' => 'DuplicateRequest', ], ], ], 'CreatePublicDnsNamespace' => [ 'name' => 'CreatePublicDnsNamespace', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePublicDnsNamespaceRequest', ], 'output' => [ 'shape' => 'CreatePublicDnsNamespaceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NamespaceAlreadyExists', ], [ 'shape' => 'ResourceLimitExceeded', ], [ 'shape' => 'DuplicateRequest', ], ], ], 'CreateService' => [ 'name' => 'CreateService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServiceRequest', ], 'output' => [ 'shape' => 'CreateServiceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ResourceLimitExceeded', ], [ 'shape' => 'NamespaceNotFound', ], [ 'shape' => 'ServiceAlreadyExists', ], ], ], 'DeleteNamespace' => [ 'name' => 'DeleteNamespace', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNamespaceRequest', ], 'output' => [ 'shape' => 'DeleteNamespaceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NamespaceNotFound', ], [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'DuplicateRequest', ], ], ], 'DeleteService' => [ 'name' => 'DeleteService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServiceRequest', ], 'output' => [ 'shape' => 'DeleteServiceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ServiceNotFound', ], [ 'shape' => 'ResourceInUse', ], ], ], 'DeregisterInstance' => [ 'name' => 'DeregisterInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterInstanceRequest', ], 'output' => [ 'shape' => 'DeregisterInstanceResponse', ], 'errors' => [ [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'InstanceNotFound', ], [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ServiceNotFound', ], ], ], 'DiscoverInstances' => [ 'name' => 'DiscoverInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DiscoverInstancesRequest', ], 'output' => [ 'shape' => 'DiscoverInstancesResponse', ], 'errors' => [ [ 'shape' => 'ServiceNotFound', ], [ 'shape' => 'NamespaceNotFound', ], [ 'shape' => 'InvalidInput', ], ], 'endpoint' => [ 'hostPrefix' => 'data-', ], ], 'GetInstance' => [ 'name' => 'GetInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstanceRequest', ], 'output' => [ 'shape' => 'GetInstanceResponse', ], 'errors' => [ [ 'shape' => 'InstanceNotFound', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ServiceNotFound', ], ], ], 'GetInstancesHealthStatus' => [ 'name' => 'GetInstancesHealthStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInstancesHealthStatusRequest', ], 'output' => [ 'shape' => 'GetInstancesHealthStatusResponse', ], 'errors' => [ [ 'shape' => 'InstanceNotFound', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ServiceNotFound', ], ], ], 'GetNamespace' => [ 'name' => 'GetNamespace', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetNamespaceRequest', ], 'output' => [ 'shape' => 'GetNamespaceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'NamespaceNotFound', ], ], ], 'GetOperation' => [ 'name' => 'GetOperation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetOperationRequest', ], 'output' => [ 'shape' => 'GetOperationResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'OperationNotFound', ], ], ], 'GetService' => [ 'name' => 'GetService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceRequest', ], 'output' => [ 'shape' => 'GetServiceResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ServiceNotFound', ], ], ], 'ListInstances' => [ 'name' => 'ListInstances', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInstancesRequest', ], 'output' => [ 'shape' => 'ListInstancesResponse', ], 'errors' => [ [ 'shape' => 'ServiceNotFound', ], [ 'shape' => 'InvalidInput', ], ], ], 'ListNamespaces' => [ 'name' => 'ListNamespaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListNamespacesRequest', ], 'output' => [ 'shape' => 'ListNamespacesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListOperations' => [ 'name' => 'ListOperations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOperationsRequest', ], 'output' => [ 'shape' => 'ListOperationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'ListServices' => [ 'name' => 'ListServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServicesRequest', ], 'output' => [ 'shape' => 'ListServicesResponse', ], 'errors' => [ [ 'shape' => 'InvalidInput', ], ], ], 'RegisterInstance' => [ 'name' => 'RegisterInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterInstanceRequest', ], 'output' => [ 'shape' => 'RegisterInstanceResponse', ], 'errors' => [ [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ResourceInUse', ], [ 'shape' => 'ResourceLimitExceeded', ], [ 'shape' => 'ServiceNotFound', ], ], ], 'UpdateInstanceCustomHealthStatus' => [ 'name' => 'UpdateInstanceCustomHealthStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateInstanceCustomHealthStatusRequest', ], 'errors' => [ [ 'shape' => 'InstanceNotFound', ], [ 'shape' => 'ServiceNotFound', ], [ 'shape' => 'CustomHealthNotFound', ], [ 'shape' => 'InvalidInput', ], ], ], 'UpdateService' => [ 'name' => 'UpdateService', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceRequest', ], 'output' => [ 'shape' => 'UpdateServiceResponse', ], 'errors' => [ [ 'shape' => 'DuplicateRequest', ], [ 'shape' => 'InvalidInput', ], [ 'shape' => 'ServiceNotFound', ], ], ], ], 'shapes' => [ 'Arn' => [ 'type' => 'string', 'max' => 255, ], 'AttrKey' => [ 'type' => 'string', 'max' => 255, ], 'AttrValue' => [ 'type' => 'string', 'max' => 1024, ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttrKey', ], 'value' => [ 'shape' => 'AttrValue', ], ], 'Code' => [ 'type' => 'string', ], 'CreateHttpNamespaceRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NamespaceName', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'ResourceDescription', ], ], ], 'CreateHttpNamespaceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'CreatePrivateDnsNamespaceRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Vpc', ], 'members' => [ 'Name' => [ 'shape' => 'NamespaceName', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'Vpc' => [ 'shape' => 'ResourceId', ], ], ], 'CreatePrivateDnsNamespaceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'CreatePublicDnsNamespaceRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'NamespaceName', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'ResourceDescription', ], ], ], 'CreatePublicDnsNamespaceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'CreateServiceRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'ServiceName', ], 'NamespaceId' => [ 'shape' => 'ResourceId', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', 'idempotencyToken' => true, ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'DnsConfig' => [ 'shape' => 'DnsConfig', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], 'HealthCheckCustomConfig' => [ 'shape' => 'HealthCheckCustomConfig', ], ], ], 'CreateServiceResponse' => [ 'type' => 'structure', 'members' => [ 'Service' => [ 'shape' => 'Service', ], ], ], 'CustomHealthNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CustomHealthStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', ], ], 'DeleteNamespaceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'DeleteNamespaceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'DeleteServiceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'DeleteServiceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'InstanceId', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'InstanceId' => [ 'shape' => 'ResourceId', ], ], ], 'DeregisterInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'DiscoverInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'NamespaceName', 'ServiceName', ], 'members' => [ 'NamespaceName' => [ 'shape' => 'NamespaceName', ], 'ServiceName' => [ 'shape' => 'ServiceName', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'QueryParameters' => [ 'shape' => 'Attributes', ], 'HealthStatus' => [ 'shape' => 'HealthStatusFilter', ], ], ], 'DiscoverInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'HttpInstanceSummaryList', ], ], ], 'DnsConfig' => [ 'type' => 'structure', 'required' => [ 'DnsRecords', ], 'members' => [ 'NamespaceId' => [ 'shape' => 'ResourceId', 'deprecated' => true, 'deprecatedMessage' => 'Top level attribute in request should be used to reference namespace-id', ], 'RoutingPolicy' => [ 'shape' => 'RoutingPolicy', ], 'DnsRecords' => [ 'shape' => 'DnsRecordList', ], ], ], 'DnsConfigChange' => [ 'type' => 'structure', 'required' => [ 'DnsRecords', ], 'members' => [ 'DnsRecords' => [ 'shape' => 'DnsRecordList', ], ], ], 'DnsProperties' => [ 'type' => 'structure', 'members' => [ 'HostedZoneId' => [ 'shape' => 'ResourceId', ], ], ], 'DnsRecord' => [ 'type' => 'structure', 'required' => [ 'Type', 'TTL', ], 'members' => [ 'Type' => [ 'shape' => 'RecordType', ], 'TTL' => [ 'shape' => 'RecordTTL', ], ], ], 'DnsRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DnsRecord', ], ], 'DuplicateRequest' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'DuplicateOperationId' => [ 'shape' => 'ResourceId', ], ], 'exception' => true, ], 'ErrorMessage' => [ 'type' => 'string', ], 'FailureThreshold' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'FilterCondition' => [ 'type' => 'string', 'enum' => [ 'EQ', 'IN', 'BETWEEN', ], ], 'FilterValue' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'FilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'FilterValue', ], ], 'GetInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'InstanceId', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'InstanceId' => [ 'shape' => 'ResourceId', ], ], ], 'GetInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'Instance' => [ 'shape' => 'Instance', ], ], ], 'GetInstancesHealthStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'Instances' => [ 'shape' => 'InstanceIdList', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetInstancesHealthStatusResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'InstanceHealthStatusMap', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetNamespaceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'GetNamespaceResponse' => [ 'type' => 'structure', 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], ], ], 'GetOperationRequest' => [ 'type' => 'structure', 'required' => [ 'OperationId', ], 'members' => [ 'OperationId' => [ 'shape' => 'ResourceId', ], ], ], 'GetOperationResponse' => [ 'type' => 'structure', 'members' => [ 'Operation' => [ 'shape' => 'Operation', ], ], ], 'GetServiceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], ], ], 'GetServiceResponse' => [ 'type' => 'structure', 'members' => [ 'Service' => [ 'shape' => 'Service', ], ], ], 'HealthCheckConfig' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'HealthCheckType', ], 'ResourcePath' => [ 'shape' => 'ResourcePath', ], 'FailureThreshold' => [ 'shape' => 'FailureThreshold', ], ], ], 'HealthCheckCustomConfig' => [ 'type' => 'structure', 'members' => [ 'FailureThreshold' => [ 'shape' => 'FailureThreshold', ], ], ], 'HealthCheckType' => [ 'type' => 'string', 'enum' => [ 'HTTP', 'HTTPS', 'TCP', ], ], 'HealthStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', 'UNKNOWN', ], ], 'HealthStatusFilter' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', 'ALL', ], ], 'HttpInstanceSummary' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'ResourceId', ], 'NamespaceName' => [ 'shape' => 'NamespaceName', ], 'ServiceName' => [ 'shape' => 'ServiceName', ], 'HealthStatus' => [ 'shape' => 'HealthStatus', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'HttpInstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HttpInstanceSummary', ], ], 'HttpProperties' => [ 'type' => 'structure', 'members' => [ 'HttpName' => [ 'shape' => 'NamespaceName', ], ], ], 'Instance' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'InstanceHealthStatusMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ResourceId', ], 'value' => [ 'shape' => 'HealthStatus', ], ], 'InstanceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceId', ], 'min' => 1, ], 'InstanceNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InstanceSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'InstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceSummary', ], ], 'InvalidInput' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListInstancesRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'InstanceSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListNamespacesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'NamespaceFilters', ], ], ], 'ListNamespacesResponse' => [ 'type' => 'structure', 'members' => [ 'Namespaces' => [ 'shape' => 'NamespaceSummariesList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOperationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'OperationFilters', ], ], ], 'ListOperationsResponse' => [ 'type' => 'structure', 'members' => [ 'Operations' => [ 'shape' => 'OperationSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListServicesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'Filters' => [ 'shape' => 'ServiceFilters', ], ], ], 'ListServicesResponse' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'ServiceSummariesList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'Namespace' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'NamespaceName', ], 'Type' => [ 'shape' => 'NamespaceType', ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'ServiceCount' => [ 'shape' => 'ResourceCount', ], 'Properties' => [ 'shape' => 'NamespaceProperties', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', ], ], ], 'NamespaceAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', ], 'NamespaceId' => [ 'shape' => 'ResourceId', ], ], 'exception' => true, ], 'NamespaceFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'NamespaceFilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], 'Condition' => [ 'shape' => 'FilterCondition', ], ], ], 'NamespaceFilterName' => [ 'type' => 'string', 'enum' => [ 'TYPE', ], ], 'NamespaceFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'NamespaceFilter', ], ], 'NamespaceName' => [ 'type' => 'string', 'max' => 1024, ], 'NamespaceNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NamespaceProperties' => [ 'type' => 'structure', 'members' => [ 'DnsProperties' => [ 'shape' => 'DnsProperties', ], 'HttpProperties' => [ 'shape' => 'HttpProperties', ], ], ], 'NamespaceSummariesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NamespaceSummary', ], ], 'NamespaceSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'NamespaceName', ], 'Type' => [ 'shape' => 'NamespaceType', ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'ServiceCount' => [ 'shape' => 'ResourceCount', ], 'Properties' => [ 'shape' => 'NamespaceProperties', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], ], ], 'NamespaceType' => [ 'type' => 'string', 'enum' => [ 'DNS_PUBLIC', 'DNS_PRIVATE', 'HTTP', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 4096, ], 'Operation' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'OperationId', ], 'Type' => [ 'shape' => 'OperationType', ], 'Status' => [ 'shape' => 'OperationStatus', ], 'ErrorMessage' => [ 'shape' => 'Message', ], 'ErrorCode' => [ 'shape' => 'Code', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], 'UpdateDate' => [ 'shape' => 'Timestamp', ], 'Targets' => [ 'shape' => 'OperationTargetsMap', ], ], ], 'OperationFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'OperationFilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], 'Condition' => [ 'shape' => 'FilterCondition', ], ], ], 'OperationFilterName' => [ 'type' => 'string', 'enum' => [ 'NAMESPACE_ID', 'SERVICE_ID', 'STATUS', 'TYPE', 'UPDATE_DATE', ], ], 'OperationFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'OperationFilter', ], ], 'OperationId' => [ 'type' => 'string', 'max' => 255, ], 'OperationNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'OperationStatus' => [ 'type' => 'string', 'enum' => [ 'SUBMITTED', 'PENDING', 'SUCCESS', 'FAIL', ], ], 'OperationSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'OperationId', ], 'Status' => [ 'shape' => 'OperationStatus', ], ], ], 'OperationSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OperationSummary', ], ], 'OperationTargetType' => [ 'type' => 'string', 'enum' => [ 'NAMESPACE', 'SERVICE', 'INSTANCE', ], ], 'OperationTargetsMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'OperationTargetType', ], 'value' => [ 'shape' => 'ResourceId', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'CREATE_NAMESPACE', 'DELETE_NAMESPACE', 'UPDATE_SERVICE', 'REGISTER_INSTANCE', 'DEREGISTER_INSTANCE', ], ], 'RecordTTL' => [ 'type' => 'long', 'max' => 2147483647, 'min' => 0, ], 'RecordType' => [ 'type' => 'string', 'enum' => [ 'SRV', 'A', 'AAAA', 'CNAME', ], ], 'RegisterInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'InstanceId', 'Attributes', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'InstanceId' => [ 'shape' => 'ResourceId', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', 'idempotencyToken' => true, ], 'Attributes' => [ 'shape' => 'Attributes', ], ], ], 'RegisterInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], 'ResourceCount' => [ 'type' => 'integer', ], 'ResourceDescription' => [ 'type' => 'string', 'max' => 1024, ], 'ResourceId' => [ 'type' => 'string', 'max' => 64, ], 'ResourceInUse' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourceLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ResourcePath' => [ 'type' => 'string', 'max' => 255, ], 'RoutingPolicy' => [ 'type' => 'string', 'enum' => [ 'MULTIVALUE', 'WEIGHTED', ], ], 'Service' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'ServiceName', ], 'NamespaceId' => [ 'shape' => 'ResourceId', ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'InstanceCount' => [ 'shape' => 'ResourceCount', ], 'DnsConfig' => [ 'shape' => 'DnsConfig', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], 'HealthCheckCustomConfig' => [ 'shape' => 'HealthCheckCustomConfig', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', ], ], ], 'ServiceAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], 'CreatorRequestId' => [ 'shape' => 'ResourceId', ], 'ServiceId' => [ 'shape' => 'ResourceId', ], ], 'exception' => true, ], 'ServiceChange' => [ 'type' => 'structure', 'required' => [ 'DnsConfig', ], 'members' => [ 'Description' => [ 'shape' => 'ResourceDescription', ], 'DnsConfig' => [ 'shape' => 'DnsConfigChange', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], ], ], 'ServiceFilter' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'ServiceFilterName', ], 'Values' => [ 'shape' => 'FilterValues', ], 'Condition' => [ 'shape' => 'FilterCondition', ], ], ], 'ServiceFilterName' => [ 'type' => 'string', 'enum' => [ 'NAMESPACE_ID', ], ], 'ServiceFilters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceFilter', ], ], 'ServiceName' => [ 'type' => 'string', 'pattern' => '((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(\\.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^\\.$)', ], 'ServiceNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ServiceSummariesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceSummary', ], ], 'ServiceSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'ServiceName', ], 'Description' => [ 'shape' => 'ResourceDescription', ], 'InstanceCount' => [ 'shape' => 'ResourceCount', ], 'DnsConfig' => [ 'shape' => 'DnsConfig', ], 'HealthCheckConfig' => [ 'shape' => 'HealthCheckConfig', ], 'HealthCheckCustomConfig' => [ 'shape' => 'HealthCheckCustomConfig', ], 'CreateDate' => [ 'shape' => 'Timestamp', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UpdateInstanceCustomHealthStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ServiceId', 'InstanceId', 'Status', ], 'members' => [ 'ServiceId' => [ 'shape' => 'ResourceId', ], 'InstanceId' => [ 'shape' => 'ResourceId', ], 'Status' => [ 'shape' => 'CustomHealthStatus', ], ], ], 'UpdateServiceRequest' => [ 'type' => 'structure', 'required' => [ 'Id', 'Service', ], 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Service' => [ 'shape' => 'ServiceChange', ], ], ], 'UpdateServiceResponse' => [ 'type' => 'structure', 'members' => [ 'OperationId' => [ 'shape' => 'OperationId', ], ], ], ],]; diff --git a/lib/aws/Aws/data/servicediscovery/2017-03-14/paginators-1.json.php b/lib/aws/Aws/data/servicediscovery/2017-03-14/paginators-1.json.php new file mode 100644 index 0000000..a16f44a --- /dev/null +++ b/lib/aws/Aws/data/servicediscovery/2017-03-14/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/servicediscovery/2017-03-14/paginators-1.json +return [ 'pagination' => [ 'GetInstancesHealthStatus' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListInstances' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListNamespaces' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListOperations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListServices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/shield/2016-06-02/api-2.json.php b/lib/aws/Aws/data/shield/2016-06-02/api-2.json.php new file mode 100644 index 0000000..1850cd4 --- /dev/null +++ b/lib/aws/Aws/data/shield/2016-06-02/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/shield/2016-06-02/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-06-02', 'endpointPrefix' => 'shield', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS Shield', 'serviceFullName' => 'AWS Shield', 'serviceId' => 'Shield', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSShield_20160616', 'uid' => 'shield-2016-06-02', ], 'operations' => [ 'AssociateDRTLogBucket' => [ 'name' => 'AssociateDRTLogBucket', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDRTLogBucketRequest', ], 'output' => [ 'shape' => 'AssociateDRTLogBucketResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'NoAssociatedRoleException', ], [ 'shape' => 'LimitsExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedForDependencyException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'AssociateDRTRole' => [ 'name' => 'AssociateDRTRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDRTRoleRequest', ], 'output' => [ 'shape' => 'AssociateDRTRoleResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedForDependencyException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateProtection' => [ 'name' => 'CreateProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateProtectionRequest', ], 'output' => [ 'shape' => 'CreateProtectionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'LimitsExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'CreateSubscription' => [ 'name' => 'CreateSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], ], ], 'DeleteProtection' => [ 'name' => 'DeleteProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProtectionRequest', ], 'output' => [ 'shape' => 'DeleteProtectionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OptimisticLockException', ], ], ], 'DeleteSubscription' => [ 'name' => 'DeleteSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubscriptionRequest', ], 'output' => [ 'shape' => 'DeleteSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'LockedSubscriptionException', ], [ 'shape' => 'ResourceNotFoundException', ], ], 'deprecated' => true, ], 'DescribeAttack' => [ 'name' => 'DescribeAttack', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAttackRequest', ], 'output' => [ 'shape' => 'DescribeAttackResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeDRTAccess' => [ 'name' => 'DescribeDRTAccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDRTAccessRequest', ], 'output' => [ 'shape' => 'DescribeDRTAccessResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeEmergencyContactSettings' => [ 'name' => 'DescribeEmergencyContactSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEmergencyContactSettingsRequest', ], 'output' => [ 'shape' => 'DescribeEmergencyContactSettingsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeProtection' => [ 'name' => 'DescribeProtection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProtectionRequest', ], 'output' => [ 'shape' => 'DescribeProtectionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeSubscription' => [ 'name' => 'DescribeSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubscriptionRequest', ], 'output' => [ 'shape' => 'DescribeSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateDRTLogBucket' => [ 'name' => 'DisassociateDRTLogBucket', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateDRTLogBucketRequest', ], 'output' => [ 'shape' => 'DisassociateDRTLogBucketResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'NoAssociatedRoleException', ], [ 'shape' => 'AccessDeniedForDependencyException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DisassociateDRTRole' => [ 'name' => 'DisassociateDRTRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateDRTRoleRequest', ], 'output' => [ 'shape' => 'DisassociateDRTRoleResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetSubscriptionState' => [ 'name' => 'GetSubscriptionState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSubscriptionStateRequest', ], 'output' => [ 'shape' => 'GetSubscriptionStateResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], ], ], 'ListAttacks' => [ 'name' => 'ListAttacks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAttacksRequest', ], 'output' => [ 'shape' => 'ListAttacksResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidOperationException', ], ], ], 'ListProtections' => [ 'name' => 'ListProtections', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListProtectionsRequest', ], 'output' => [ 'shape' => 'ListProtectionsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidPaginationTokenException', ], ], ], 'UpdateEmergencyContactSettings' => [ 'name' => 'UpdateEmergencyContactSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateEmergencyContactSettingsRequest', ], 'output' => [ 'shape' => 'UpdateEmergencyContactSettingsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OptimisticLockException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateSubscription' => [ 'name' => 'UpdateSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSubscriptionRequest', ], 'output' => [ 'shape' => 'UpdateSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'LockedSubscriptionException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OptimisticLockException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'AccessDeniedForDependencyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'AssociateDRTLogBucketRequest' => [ 'type' => 'structure', 'required' => [ 'LogBucket', ], 'members' => [ 'LogBucket' => [ 'shape' => 'LogBucket', ], ], ], 'AssociateDRTLogBucketResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateDRTRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleArn', ], 'members' => [ 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'AssociateDRTRoleResponse' => [ 'type' => 'structure', 'members' => [], ], 'AttackDetail' => [ 'type' => 'structure', 'members' => [ 'AttackId' => [ 'shape' => 'AttackId', ], 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'SubResources' => [ 'shape' => 'SubResourceSummaryList', ], 'StartTime' => [ 'shape' => 'AttackTimestamp', ], 'EndTime' => [ 'shape' => 'AttackTimestamp', ], 'AttackCounters' => [ 'shape' => 'SummarizedCounterList', ], 'AttackProperties' => [ 'shape' => 'AttackProperties', ], 'Mitigations' => [ 'shape' => 'MitigationList', ], ], ], 'AttackId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\\\-]*', ], 'AttackLayer' => [ 'type' => 'string', 'enum' => [ 'NETWORK', 'APPLICATION', ], ], 'AttackProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttackProperty', ], ], 'AttackProperty' => [ 'type' => 'structure', 'members' => [ 'AttackLayer' => [ 'shape' => 'AttackLayer', ], 'AttackPropertyIdentifier' => [ 'shape' => 'AttackPropertyIdentifier', ], 'TopContributors' => [ 'shape' => 'TopContributors', ], 'Unit' => [ 'shape' => 'Unit', ], 'Total' => [ 'shape' => 'Long', ], ], ], 'AttackPropertyIdentifier' => [ 'type' => 'string', 'enum' => [ 'DESTINATION_URL', 'REFERRER', 'SOURCE_ASN', 'SOURCE_COUNTRY', 'SOURCE_IP_ADDRESS', 'SOURCE_USER_AGENT', ], ], 'AttackSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttackSummary', ], ], 'AttackSummary' => [ 'type' => 'structure', 'members' => [ 'AttackId' => [ 'shape' => 'String', ], 'ResourceArn' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'AttackTimestamp', ], 'EndTime' => [ 'shape' => 'AttackTimestamp', ], 'AttackVectors' => [ 'shape' => 'AttackVectorDescriptionList', ], ], ], 'AttackTimestamp' => [ 'type' => 'timestamp', ], 'AttackVectorDescription' => [ 'type' => 'structure', 'required' => [ 'VectorType', ], 'members' => [ 'VectorType' => [ 'shape' => 'String', ], ], ], 'AttackVectorDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttackVectorDescription', ], ], 'AutoRenew' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'Contributor' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Value' => [ 'shape' => 'Long', ], ], ], 'CreateProtectionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ResourceArn', ], 'members' => [ 'Name' => [ 'shape' => 'ProtectionName', ], 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'CreateProtectionResponse' => [ 'type' => 'structure', 'members' => [ 'ProtectionId' => [ 'shape' => 'ProtectionId', ], ], ], 'CreateSubscriptionRequest' => [ 'type' => 'structure', 'members' => [], ], 'CreateSubscriptionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteProtectionRequest' => [ 'type' => 'structure', 'required' => [ 'ProtectionId', ], 'members' => [ 'ProtectionId' => [ 'shape' => 'ProtectionId', ], ], ], 'DeleteProtectionResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSubscriptionRequest' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, ], 'DeleteSubscriptionResponse' => [ 'type' => 'structure', 'members' => [], 'deprecated' => true, ], 'DescribeAttackRequest' => [ 'type' => 'structure', 'required' => [ 'AttackId', ], 'members' => [ 'AttackId' => [ 'shape' => 'AttackId', ], ], ], 'DescribeAttackResponse' => [ 'type' => 'structure', 'members' => [ 'Attack' => [ 'shape' => 'AttackDetail', ], ], ], 'DescribeDRTAccessRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeDRTAccessResponse' => [ 'type' => 'structure', 'members' => [ 'RoleArn' => [ 'shape' => 'RoleArn', ], 'LogBucketList' => [ 'shape' => 'LogBucketList', ], ], ], 'DescribeEmergencyContactSettingsRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeEmergencyContactSettingsResponse' => [ 'type' => 'structure', 'members' => [ 'EmergencyContactList' => [ 'shape' => 'EmergencyContactList', ], ], ], 'DescribeProtectionRequest' => [ 'type' => 'structure', 'members' => [ 'ProtectionId' => [ 'shape' => 'ProtectionId', ], 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DescribeProtectionResponse' => [ 'type' => 'structure', 'members' => [ 'Protection' => [ 'shape' => 'Protection', ], ], ], 'DescribeSubscriptionRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'Subscription' => [ 'shape' => 'Subscription', ], ], ], 'DisassociateDRTLogBucketRequest' => [ 'type' => 'structure', 'required' => [ 'LogBucket', ], 'members' => [ 'LogBucket' => [ 'shape' => 'LogBucket', ], ], ], 'DisassociateDRTLogBucketResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateDRTRoleRequest' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateDRTRoleResponse' => [ 'type' => 'structure', 'members' => [], ], 'Double' => [ 'type' => 'double', ], 'DurationInSeconds' => [ 'type' => 'long', 'min' => 0, ], 'EmailAddress' => [ 'type' => 'string', 'max' => 150, 'min' => 1, 'pattern' => '^\\S+@\\S+\\.\\S+$', ], 'EmergencyContact' => [ 'type' => 'structure', 'required' => [ 'EmailAddress', ], 'members' => [ 'EmailAddress' => [ 'shape' => 'EmailAddress', ], ], ], 'EmergencyContactList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EmergencyContact', ], 'max' => 10, 'min' => 0, ], 'GetSubscriptionStateRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetSubscriptionStateResponse' => [ 'type' => 'structure', 'required' => [ 'SubscriptionState', ], 'members' => [ 'SubscriptionState' => [ 'shape' => 'SubscriptionState', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidPaginationTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidResourceException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Limit' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Max' => [ 'shape' => 'Long', ], ], ], 'LimitNumber' => [ 'type' => 'long', ], 'LimitType' => [ 'type' => 'string', ], 'Limits' => [ 'type' => 'list', 'member' => [ 'shape' => 'Limit', ], ], 'LimitsExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], 'Type' => [ 'shape' => 'LimitType', ], 'Limit' => [ 'shape' => 'LimitNumber', ], ], 'exception' => true, ], 'ListAttacksRequest' => [ 'type' => 'structure', 'members' => [ 'ResourceArns' => [ 'shape' => 'ResourceArnFilterList', ], 'StartTime' => [ 'shape' => 'TimeRange', ], 'EndTime' => [ 'shape' => 'TimeRange', ], 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAttacksResponse' => [ 'type' => 'structure', 'members' => [ 'AttackSummaries' => [ 'shape' => 'AttackSummaries', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListProtectionsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListProtectionsResponse' => [ 'type' => 'structure', 'members' => [ 'Protections' => [ 'shape' => 'Protections', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'LockedSubscriptionException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'LogBucket' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '^([a-z]|(\\d(?!\\d{0,2}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})))([a-z\\d]|(\\.(?!(\\.|-)))|(-(?!\\.))){1,61}[a-z\\d]$', ], 'LogBucketList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogBucket', ], 'max' => 10, 'min' => 0, ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 10000, 'min' => 0, ], 'Mitigation' => [ 'type' => 'structure', 'members' => [ 'MitigationName' => [ 'shape' => 'String', ], ], ], 'MitigationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Mitigation', ], ], 'NoAssociatedRoleException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'OptimisticLockException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Protection' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ProtectionId', ], 'Name' => [ 'shape' => 'ProtectionName', ], 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'ProtectionId' => [ 'type' => 'string', 'max' => 36, 'min' => 1, 'pattern' => '[a-zA-Z0-9\\\\-]*', ], 'ProtectionName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[ a-zA-Z0-9_\\\\.\\\\-]*', ], 'Protections' => [ 'type' => 'list', 'member' => [ 'shape' => 'Protection', ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'ResourceArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '^arn:aws.*', ], 'ResourceArnFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '^arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'String' => [ 'type' => 'string', ], 'SubResourceSummary' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'SubResourceType', ], 'Id' => [ 'shape' => 'String', ], 'AttackVectors' => [ 'shape' => 'SummarizedAttackVectorList', ], 'Counters' => [ 'shape' => 'SummarizedCounterList', ], ], ], 'SubResourceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubResourceSummary', ], ], 'SubResourceType' => [ 'type' => 'string', 'enum' => [ 'IP', 'URL', ], ], 'Subscription' => [ 'type' => 'structure', 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'TimeCommitmentInSeconds' => [ 'shape' => 'DurationInSeconds', ], 'AutoRenew' => [ 'shape' => 'AutoRenew', ], 'Limits' => [ 'shape' => 'Limits', ], ], ], 'SubscriptionState' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', ], ], 'SummarizedAttackVector' => [ 'type' => 'structure', 'required' => [ 'VectorType', ], 'members' => [ 'VectorType' => [ 'shape' => 'String', ], 'VectorCounters' => [ 'shape' => 'SummarizedCounterList', ], ], ], 'SummarizedAttackVectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SummarizedAttackVector', ], ], 'SummarizedCounter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Max' => [ 'shape' => 'Double', ], 'Average' => [ 'shape' => 'Double', ], 'Sum' => [ 'shape' => 'Double', ], 'N' => [ 'shape' => 'Integer', ], 'Unit' => [ 'shape' => 'String', ], ], ], 'SummarizedCounterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SummarizedCounter', ], ], 'TimeRange' => [ 'type' => 'structure', 'members' => [ 'FromInclusive' => [ 'shape' => 'AttackTimestamp', ], 'ToExclusive' => [ 'shape' => 'AttackTimestamp', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Token' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, 'pattern' => '^.*$', ], 'TopContributors' => [ 'type' => 'list', 'member' => [ 'shape' => 'Contributor', ], ], 'Unit' => [ 'type' => 'string', 'enum' => [ 'BITS', 'BYTES', 'PACKETS', 'REQUESTS', ], ], 'UpdateEmergencyContactSettingsRequest' => [ 'type' => 'structure', 'members' => [ 'EmergencyContactList' => [ 'shape' => 'EmergencyContactList', ], ], ], 'UpdateEmergencyContactSettingsResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSubscriptionRequest' => [ 'type' => 'structure', 'members' => [ 'AutoRenew' => [ 'shape' => 'AutoRenew', ], ], ], 'UpdateSubscriptionResponse' => [ 'type' => 'structure', 'members' => [], ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/shield/2016-06-02/paginators-1.json.php b/lib/aws/Aws/data/shield/2016-06-02/paginators-1.json.php new file mode 100644 index 0000000..a588b10 --- /dev/null +++ b/lib/aws/Aws/data/shield/2016-06-02/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/shield/2016-06-02/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/shield/2016-06-02/smoke.json.php b/lib/aws/Aws/data/shield/2016-06-02/smoke.json.php new file mode 100644 index 0000000..d4fc909 --- /dev/null +++ b/lib/aws/Aws/data/shield/2016-06-02/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/shield/2016-06-02/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListAttacks', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/signer/2017-08-25/api-2.json.php b/lib/aws/Aws/data/signer/2017-08-25/api-2.json.php new file mode 100644 index 0000000..964277a --- /dev/null +++ b/lib/aws/Aws/data/signer/2017-08-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/signer/2017-08-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-08-25', 'endpointPrefix' => 'signer', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'signer', 'serviceFullName' => 'AWS Signer', 'serviceId' => 'signer', 'signatureVersion' => 'v4', 'signingName' => 'signer', 'uid' => 'signer-2017-08-25', ], 'operations' => [ 'CancelSigningProfile' => [ 'name' => 'CancelSigningProfile', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/signing-profiles/{profileName}', ], 'input' => [ 'shape' => 'CancelSigningProfileRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'DescribeSigningJob' => [ 'name' => 'DescribeSigningJob', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-jobs/{jobId}', ], 'input' => [ 'shape' => 'DescribeSigningJobRequest', ], 'output' => [ 'shape' => 'DescribeSigningJobResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'GetSigningPlatform' => [ 'name' => 'GetSigningPlatform', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-platforms/{platformId}', ], 'input' => [ 'shape' => 'GetSigningPlatformRequest', ], 'output' => [ 'shape' => 'GetSigningPlatformResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'GetSigningProfile' => [ 'name' => 'GetSigningProfile', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-profiles/{profileName}', ], 'input' => [ 'shape' => 'GetSigningProfileRequest', ], 'output' => [ 'shape' => 'GetSigningProfileResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListSigningJobs' => [ 'name' => 'ListSigningJobs', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-jobs', ], 'input' => [ 'shape' => 'ListSigningJobsRequest', ], 'output' => [ 'shape' => 'ListSigningJobsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListSigningPlatforms' => [ 'name' => 'ListSigningPlatforms', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-platforms', ], 'input' => [ 'shape' => 'ListSigningPlatformsRequest', ], 'output' => [ 'shape' => 'ListSigningPlatformsResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListSigningProfiles' => [ 'name' => 'ListSigningProfiles', 'http' => [ 'method' => 'GET', 'requestUri' => '/signing-profiles', ], 'input' => [ 'shape' => 'ListSigningProfilesRequest', ], 'output' => [ 'shape' => 'ListSigningProfilesResponse', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'PutSigningProfile' => [ 'name' => 'PutSigningProfile', 'http' => [ 'method' => 'PUT', 'requestUri' => '/signing-profiles/{profileName}', ], 'input' => [ 'shape' => 'PutSigningProfileRequest', ], 'output' => [ 'shape' => 'PutSigningProfileResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ValidationException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'StartSigningJob' => [ 'name' => 'StartSigningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/signing-jobs', ], 'input' => [ 'shape' => 'StartSigningJobRequest', ], 'output' => [ 'shape' => 'StartSigningJobResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], ], 'shapes' => [ 'key' => [ 'type' => 'string', ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'BucketName' => [ 'type' => 'string', ], 'CancelSigningProfileRequest' => [ 'type' => 'structure', 'required' => [ 'profileName', ], 'members' => [ 'profileName' => [ 'shape' => 'ProfileName', 'location' => 'uri', 'locationName' => 'profileName', ], ], ], 'Category' => [ 'type' => 'string', 'enum' => [ 'AWSIoT', ], ], 'CertificateArn' => [ 'type' => 'string', ], 'ClientRequestToken' => [ 'type' => 'string', ], 'CompletedAt' => [ 'type' => 'timestamp', ], 'CreatedAt' => [ 'type' => 'timestamp', ], 'DescribeSigningJobRequest' => [ 'type' => 'structure', 'required' => [ 'jobId', ], 'members' => [ 'jobId' => [ 'shape' => 'JobId', 'location' => 'uri', 'locationName' => 'jobId', ], ], ], 'DescribeSigningJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'source' => [ 'shape' => 'Source', ], 'signingMaterial' => [ 'shape' => 'SigningMaterial', ], 'platformId' => [ 'shape' => 'PlatformId', ], 'profileName' => [ 'shape' => 'ProfileName', ], 'overrides' => [ 'shape' => 'SigningPlatformOverrides', ], 'signingParameters' => [ 'shape' => 'SigningParameters', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'completedAt' => [ 'shape' => 'CompletedAt', ], 'requestedBy' => [ 'shape' => 'RequestedBy', ], 'status' => [ 'shape' => 'SigningStatus', ], 'statusReason' => [ 'shape' => 'StatusReason', ], 'signedObject' => [ 'shape' => 'SignedObject', ], ], ], 'Destination' => [ 'type' => 'structure', 'members' => [ 's3' => [ 'shape' => 'S3Destination', ], ], ], 'DisplayName' => [ 'type' => 'string', ], 'EncryptionAlgorithm' => [ 'type' => 'string', 'enum' => [ 'RSA', 'ECDSA', ], ], 'EncryptionAlgorithmOptions' => [ 'type' => 'structure', 'required' => [ 'allowedValues', 'defaultValue', ], 'members' => [ 'allowedValues' => [ 'shape' => 'EncryptionAlgorithms', ], 'defaultValue' => [ 'shape' => 'EncryptionAlgorithm', ], ], ], 'EncryptionAlgorithms' => [ 'type' => 'list', 'member' => [ 'shape' => 'EncryptionAlgorithm', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'GetSigningPlatformRequest' => [ 'type' => 'structure', 'required' => [ 'platformId', ], 'members' => [ 'platformId' => [ 'shape' => 'PlatformId', 'location' => 'uri', 'locationName' => 'platformId', ], ], ], 'GetSigningPlatformResponse' => [ 'type' => 'structure', 'members' => [ 'platformId' => [ 'shape' => 'PlatformId', ], 'displayName' => [ 'shape' => 'DisplayName', ], 'partner' => [ 'shape' => 'String', ], 'target' => [ 'shape' => 'String', ], 'category' => [ 'shape' => 'Category', ], 'signingConfiguration' => [ 'shape' => 'SigningConfiguration', ], 'signingImageFormat' => [ 'shape' => 'SigningImageFormat', ], 'maxSizeInMB' => [ 'shape' => 'MaxSizeInMB', ], ], ], 'GetSigningProfileRequest' => [ 'type' => 'structure', 'required' => [ 'profileName', ], 'members' => [ 'profileName' => [ 'shape' => 'ProfileName', 'location' => 'uri', 'locationName' => 'profileName', ], ], ], 'GetSigningProfileResponse' => [ 'type' => 'structure', 'members' => [ 'profileName' => [ 'shape' => 'ProfileName', ], 'signingMaterial' => [ 'shape' => 'SigningMaterial', ], 'platformId' => [ 'shape' => 'PlatformId', ], 'overrides' => [ 'shape' => 'SigningPlatformOverrides', ], 'signingParameters' => [ 'shape' => 'SigningParameters', ], 'status' => [ 'shape' => 'SigningProfileStatus', ], ], ], 'HashAlgorithm' => [ 'type' => 'string', 'enum' => [ 'SHA1', 'SHA256', ], ], 'HashAlgorithmOptions' => [ 'type' => 'structure', 'required' => [ 'allowedValues', 'defaultValue', ], 'members' => [ 'allowedValues' => [ 'shape' => 'HashAlgorithms', ], 'defaultValue' => [ 'shape' => 'HashAlgorithm', ], ], ], 'HashAlgorithms' => [ 'type' => 'list', 'member' => [ 'shape' => 'HashAlgorithm', ], ], 'ImageFormat' => [ 'type' => 'string', 'enum' => [ 'JSON', ], ], 'ImageFormats' => [ 'type' => 'list', 'member' => [ 'shape' => 'ImageFormat', ], ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'JobId' => [ 'type' => 'string', ], 'Key' => [ 'type' => 'string', ], 'ListSigningJobsRequest' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'SigningStatus', 'location' => 'querystring', 'locationName' => 'status', ], 'platformId' => [ 'shape' => 'PlatformId', 'location' => 'querystring', 'locationName' => 'platformId', ], 'requestedBy' => [ 'shape' => 'RequestedBy', 'location' => 'querystring', 'locationName' => 'requestedBy', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListSigningJobsResponse' => [ 'type' => 'structure', 'members' => [ 'jobs' => [ 'shape' => 'SigningJobs', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListSigningPlatformsRequest' => [ 'type' => 'structure', 'members' => [ 'category' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'category', ], 'partner' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'partner', ], 'target' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'target', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'String', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListSigningPlatformsResponse' => [ 'type' => 'structure', 'members' => [ 'platforms' => [ 'shape' => 'SigningPlatforms', ], 'nextToken' => [ 'shape' => 'String', ], ], ], 'ListSigningProfilesRequest' => [ 'type' => 'structure', 'members' => [ 'includeCanceled' => [ 'shape' => 'bool', 'location' => 'querystring', 'locationName' => 'includeCanceled', ], 'maxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'nextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListSigningProfilesResponse' => [ 'type' => 'structure', 'members' => [ 'profiles' => [ 'shape' => 'SigningProfiles', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 25, 'min' => 1, ], 'MaxSizeInMB' => [ 'type' => 'integer', ], 'NextToken' => [ 'type' => 'string', ], 'PlatformId' => [ 'type' => 'string', ], 'Prefix' => [ 'type' => 'string', ], 'ProfileName' => [ 'type' => 'string', 'max' => 20, 'min' => 2, 'pattern' => '^[a-zA-Z0-9_]{2,}', ], 'PutSigningProfileRequest' => [ 'type' => 'structure', 'required' => [ 'profileName', 'signingMaterial', 'platformId', ], 'members' => [ 'profileName' => [ 'shape' => 'ProfileName', 'location' => 'uri', 'locationName' => 'profileName', ], 'signingMaterial' => [ 'shape' => 'SigningMaterial', ], 'platformId' => [ 'shape' => 'PlatformId', ], 'overrides' => [ 'shape' => 'SigningPlatformOverrides', ], 'signingParameters' => [ 'shape' => 'SigningParameters', ], ], ], 'PutSigningProfileResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'string', ], ], ], 'RequestedBy' => [ 'type' => 'string', ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'S3Destination' => [ 'type' => 'structure', 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'prefix' => [ 'shape' => 'Prefix', ], ], ], 'S3SignedObject' => [ 'type' => 'structure', 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'key' => [ 'shape' => 'key', ], ], ], 'S3Source' => [ 'type' => 'structure', 'required' => [ 'bucketName', 'key', 'version', ], 'members' => [ 'bucketName' => [ 'shape' => 'BucketName', ], 'key' => [ 'shape' => 'Key', ], 'version' => [ 'shape' => 'Version', ], ], ], 'SignedObject' => [ 'type' => 'structure', 'members' => [ 's3' => [ 'shape' => 'S3SignedObject', ], ], ], 'SigningConfiguration' => [ 'type' => 'structure', 'required' => [ 'encryptionAlgorithmOptions', 'hashAlgorithmOptions', ], 'members' => [ 'encryptionAlgorithmOptions' => [ 'shape' => 'EncryptionAlgorithmOptions', ], 'hashAlgorithmOptions' => [ 'shape' => 'HashAlgorithmOptions', ], ], ], 'SigningConfigurationOverrides' => [ 'type' => 'structure', 'members' => [ 'encryptionAlgorithm' => [ 'shape' => 'EncryptionAlgorithm', ], 'hashAlgorithm' => [ 'shape' => 'HashAlgorithm', ], ], ], 'SigningImageFormat' => [ 'type' => 'structure', 'required' => [ 'supportedFormats', 'defaultFormat', ], 'members' => [ 'supportedFormats' => [ 'shape' => 'ImageFormats', ], 'defaultFormat' => [ 'shape' => 'ImageFormat', ], ], ], 'SigningJob' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], 'source' => [ 'shape' => 'Source', ], 'signedObject' => [ 'shape' => 'SignedObject', ], 'signingMaterial' => [ 'shape' => 'SigningMaterial', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'status' => [ 'shape' => 'SigningStatus', ], ], ], 'SigningJobs' => [ 'type' => 'list', 'member' => [ 'shape' => 'SigningJob', ], ], 'SigningMaterial' => [ 'type' => 'structure', 'required' => [ 'certificateArn', ], 'members' => [ 'certificateArn' => [ 'shape' => 'CertificateArn', ], ], ], 'SigningParameterKey' => [ 'type' => 'string', ], 'SigningParameterValue' => [ 'type' => 'string', ], 'SigningParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'SigningParameterKey', ], 'value' => [ 'shape' => 'SigningParameterValue', ], ], 'SigningPlatform' => [ 'type' => 'structure', 'members' => [ 'platformId' => [ 'shape' => 'String', ], 'displayName' => [ 'shape' => 'String', ], 'partner' => [ 'shape' => 'String', ], 'target' => [ 'shape' => 'String', ], 'category' => [ 'shape' => 'Category', ], 'signingConfiguration' => [ 'shape' => 'SigningConfiguration', ], 'signingImageFormat' => [ 'shape' => 'SigningImageFormat', ], 'maxSizeInMB' => [ 'shape' => 'MaxSizeInMB', ], ], ], 'SigningPlatformOverrides' => [ 'type' => 'structure', 'members' => [ 'signingConfiguration' => [ 'shape' => 'SigningConfigurationOverrides', ], ], ], 'SigningPlatforms' => [ 'type' => 'list', 'member' => [ 'shape' => 'SigningPlatform', ], ], 'SigningProfile' => [ 'type' => 'structure', 'members' => [ 'profileName' => [ 'shape' => 'ProfileName', ], 'signingMaterial' => [ 'shape' => 'SigningMaterial', ], 'platformId' => [ 'shape' => 'PlatformId', ], 'signingParameters' => [ 'shape' => 'SigningParameters', ], 'status' => [ 'shape' => 'SigningProfileStatus', ], ], ], 'SigningProfileStatus' => [ 'type' => 'string', 'enum' => [ 'Active', 'Canceled', ], ], 'SigningProfiles' => [ 'type' => 'list', 'member' => [ 'shape' => 'SigningProfile', ], ], 'SigningStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Failed', 'Succeeded', ], ], 'Source' => [ 'type' => 'structure', 'members' => [ 's3' => [ 'shape' => 'S3Source', ], ], ], 'StartSigningJobRequest' => [ 'type' => 'structure', 'required' => [ 'source', 'destination', 'clientRequestToken', ], 'members' => [ 'source' => [ 'shape' => 'Source', ], 'destination' => [ 'shape' => 'Destination', ], 'profileName' => [ 'shape' => 'ProfileName', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'StartSigningJobResponse' => [ 'type' => 'structure', 'members' => [ 'jobId' => [ 'shape' => 'JobId', ], ], ], 'StatusReason' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'ValidationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'Version' => [ 'type' => 'string', ], 'bool' => [ 'type' => 'boolean', ], 'string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/signer/2017-08-25/paginators-1.json.php b/lib/aws/Aws/data/signer/2017-08-25/paginators-1.json.php new file mode 100644 index 0000000..d2bc0da --- /dev/null +++ b/lib/aws/Aws/data/signer/2017-08-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/signer/2017-08-25/paginators-1.json +return [ 'pagination' => [ 'ListSigningJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSigningPlatforms' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSigningProfiles' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],]; diff --git a/lib/aws/Aws/data/signer/2017-08-25/waiters-2.json.php b/lib/aws/Aws/data/signer/2017-08-25/waiters-2.json.php new file mode 100644 index 0000000..e42c0ff --- /dev/null +++ b/lib/aws/Aws/data/signer/2017-08-25/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/signer/2017-08-25/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'SuccessfulSigningJob' => [ 'delay' => 20, 'operation' => 'DescribeSigningJob', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'Succeeded', 'matcher' => 'path', 'state' => 'success', 'argument' => 'status', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'status', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'failure', ], ], ], ],]; diff --git a/lib/aws/Aws/data/sms-voice/2018-09-05/api-2.json.php b/lib/aws/Aws/data/sms-voice/2018-09-05/api-2.json.php new file mode 100644 index 0000000..3cd4b07 --- /dev/null +++ b/lib/aws/Aws/data/sms-voice/2018-09-05/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sms-voice/2018-09-05/api-2.json +return [ 'metadata' => [ 'apiVersion' => '2018-09-05', 'endpointPrefix' => 'sms-voice.pinpoint', 'signingName' => 'sms-voice', 'serviceAbbreviation' => 'Pinpoint SMS Voice', 'serviceFullName' => 'Amazon Pinpoint SMS and Voice Service', 'serviceId' => 'Pinpoint SMS Voice', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'pinpoint-sms-voice-2018-09-05', 'signatureVersion' => 'v4', ], 'operations' => [ 'CreateConfigurationSet' => [ 'name' => 'CreateConfigurationSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/sms-voice/configuration-sets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateConfigurationSetRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'AlreadyExistsException', ], ], ], 'CreateConfigurationSetEventDestination' => [ 'name' => 'CreateConfigurationSetEventDestination', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'CreateConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServiceErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'AlreadyExistsException', ], ], ], 'DeleteConfigurationSet' => [ 'name' => 'DeleteConfigurationSet', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/sms-voice/configuration-sets/{ConfigurationSetName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteConfigurationSetRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'DeleteConfigurationSetEventDestination' => [ 'name' => 'DeleteConfigurationSetEventDestination', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'DeleteConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'GetConfigurationSetEventDestinations' => [ 'name' => 'GetConfigurationSetEventDestinations', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetConfigurationSetEventDestinationsRequest', ], 'output' => [ 'shape' => 'GetConfigurationSetEventDestinationsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'ListConfigurationSets' => [ 'name' => 'ListConfigurationSets', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/sms-voice/configuration-sets', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ListConfigurationSetsRequest', ], 'output' => [ 'shape' => 'ListConfigurationSetsResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'SendVoiceMessage' => [ 'name' => 'SendVoiceMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/sms-voice/voice/message', 'responseCode' => 200, ], 'input' => [ 'shape' => 'SendVoiceMessageRequest', ], 'output' => [ 'shape' => 'SendVoiceMessageResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], 'UpdateConfigurationSetEventDestination' => [ 'name' => 'UpdateConfigurationSetEventDestination', 'http' => [ 'method' => 'PUT', 'requestUri' => '/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateConfigurationSetEventDestinationRequest', ], 'output' => [ 'shape' => 'UpdateConfigurationSetEventDestinationResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], ], 'shapes' => [ 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 400, ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CallInstructionsMessageType' => [ 'type' => 'structure', 'members' => [ 'Text' => [ 'shape' => 'NonEmptyString', ], ], 'required' => [], ], 'CloudWatchLogsDestination' => [ 'type' => 'structure', 'members' => [ 'IamRoleArn' => [ 'shape' => 'String', ], 'LogGroupArn' => [ 'shape' => 'String', ], ], 'required' => [], ], 'ConfigurationSets' => [ 'type' => 'list', 'member' => [ 'shape' => 'WordCharactersWithDelimiters', ], ], 'CreateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestination' => [ 'shape' => 'EventDestinationDefinition', ], 'EventDestinationName' => [ 'shape' => 'NonEmptyString', ], ], 'required' => [ 'ConfigurationSetName', ], ], 'CreateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateConfigurationSetRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => 'WordCharactersWithDelimiters', ], ], ], 'CreateConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestinationName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'EventDestinationName', ], ], 'required' => [ 'EventDestinationName', 'ConfigurationSetName', ], ], 'DeleteConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteConfigurationSetRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], ], 'required' => [ 'ConfigurationSetName', ], ], 'DeleteConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'EventDestination' => [ 'type' => 'structure', 'members' => [ 'CloudWatchLogsDestination' => [ 'shape' => 'CloudWatchLogsDestination', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], 'Name' => [ 'shape' => 'String', ], 'SnsDestination' => [ 'shape' => 'SnsDestination', ], ], ], 'EventDestinationDefinition' => [ 'type' => 'structure', 'members' => [ 'CloudWatchLogsDestination' => [ 'shape' => 'CloudWatchLogsDestination', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], 'SnsDestination' => [ 'shape' => 'SnsDestination', ], ], 'required' => [], ], 'EventDestinations' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventDestination', ], ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'INITIATED_CALL', 'RINGING', 'ANSWERED', 'COMPLETED_CALL', 'BUSY', 'FAILED', 'NO_ANSWER', ], ], 'EventTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventType', ], ], 'GetConfigurationSetEventDestinationsRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], ], 'required' => [ 'ConfigurationSetName', ], ], 'GetConfigurationSetEventDestinationsResponse' => [ 'type' => 'structure', 'members' => [ 'EventDestinations' => [ 'shape' => 'EventDestinations', ], ], ], 'InternalServiceErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'KinesisFirehoseDestination' => [ 'type' => 'structure', 'members' => [ 'DeliveryStreamArn' => [ 'shape' => 'String', ], 'IamRoleArn' => [ 'shape' => 'String', ], ], 'required' => [], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 412, ], ], 'ListConfigurationSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'NextToken', ], 'PageSize' => [ 'shape' => '__string', 'location' => 'querystring', 'locationName' => 'PageSize', ], ], ], 'ListConfigurationSetsResponse' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSets' => [ 'shape' => 'ConfigurationSets', ], 'NextToken' => [ 'shape' => 'NextTokenString', ], ], ], 'NextTokenString' => [ 'type' => 'string', ], 'NonEmptyString' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 404, ], ], 'PlainTextMessageType' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => 'String', ], 'Text' => [ 'shape' => 'NonEmptyString', ], 'VoiceId' => [ 'shape' => 'String', ], ], 'required' => [], ], 'SSMLMessageType' => [ 'type' => 'structure', 'members' => [ 'LanguageCode' => [ 'shape' => 'String', ], 'Text' => [ 'shape' => 'NonEmptyString', ], 'VoiceId' => [ 'shape' => 'String', ], ], 'required' => [], ], 'SendVoiceMessageRequest' => [ 'type' => 'structure', 'members' => [ 'CallerId' => [ 'shape' => 'String', ], 'ConfigurationSetName' => [ 'shape' => 'WordCharactersWithDelimiters', ], 'Content' => [ 'shape' => 'VoiceMessageContent', ], 'DestinationPhoneNumber' => [ 'shape' => 'NonEmptyString', ], 'OriginationPhoneNumber' => [ 'shape' => 'NonEmptyString', ], ], ], 'SendVoiceMessageResponse' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'String', ], ], ], 'SnsDestination' => [ 'type' => 'structure', 'members' => [ 'TopicArn' => [ 'shape' => 'String', ], ], 'required' => [], ], 'String' => [ 'type' => 'string', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 429, ], ], 'UpdateConfigurationSetEventDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'ConfigurationSetName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'ConfigurationSetName', ], 'EventDestination' => [ 'shape' => 'EventDestinationDefinition', ], 'EventDestinationName' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'EventDestinationName', ], ], 'required' => [ 'EventDestinationName', 'ConfigurationSetName', ], ], 'UpdateConfigurationSetEventDestinationResponse' => [ 'type' => 'structure', 'members' => [], ], 'VoiceMessageContent' => [ 'type' => 'structure', 'members' => [ 'CallInstructionsMessage' => [ 'shape' => 'CallInstructionsMessageType', ], 'PlainTextMessage' => [ 'shape' => 'PlainTextMessageType', ], 'SSMLMessage' => [ 'shape' => 'SSMLMessageType', ], ], ], 'WordCharactersWithDelimiters' => [ 'type' => 'string', ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/lib/aws/Aws/data/sms/2016-10-24/api-2.json.php b/lib/aws/Aws/data/sms/2016-10-24/api-2.json.php new file mode 100644 index 0000000..be1be85 --- /dev/null +++ b/lib/aws/Aws/data/sms/2016-10-24/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sms/2016-10-24/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-10-24', 'endpointPrefix' => 'sms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'SMS', 'serviceFullName' => 'AWS Server Migration Service', 'serviceId' => 'SMS', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSServerMigrationService_V2016_10_24', 'uid' => 'sms-2016-10-24', ], 'operations' => [ 'CreateApp' => [ 'name' => 'CreateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAppRequest', ], 'output' => [ 'shape' => 'CreateAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'CreateReplicationJob' => [ 'name' => 'CreateReplicationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateReplicationJobRequest', ], 'output' => [ 'shape' => 'CreateReplicationJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ServerCannotBeReplicatedException', ], [ 'shape' => 'ReplicationJobAlreadyExistsException', ], [ 'shape' => 'NoConnectorsAvailableException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'TemporarilyUnavailableException', ], ], ], 'DeleteApp' => [ 'name' => 'DeleteApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAppRequest', ], 'output' => [ 'shape' => 'DeleteAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'DeleteAppLaunchConfiguration' => [ 'name' => 'DeleteAppLaunchConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAppLaunchConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteAppLaunchConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'DeleteAppReplicationConfiguration' => [ 'name' => 'DeleteAppReplicationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAppReplicationConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteAppReplicationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'DeleteReplicationJob' => [ 'name' => 'DeleteReplicationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteReplicationJobRequest', ], 'output' => [ 'shape' => 'DeleteReplicationJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ReplicationJobNotFoundException', ], ], ], 'DeleteServerCatalog' => [ 'name' => 'DeleteServerCatalog', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServerCatalogRequest', ], 'output' => [ 'shape' => 'DeleteServerCatalogResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], ], ], 'DisassociateConnector' => [ 'name' => 'DisassociateConnector', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateConnectorRequest', ], 'output' => [ 'shape' => 'DisassociateConnectorResponse', ], 'errors' => [ [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'GenerateChangeSet' => [ 'name' => 'GenerateChangeSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateChangeSetRequest', ], 'output' => [ 'shape' => 'GenerateChangeSetResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'GenerateTemplate' => [ 'name' => 'GenerateTemplate', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GenerateTemplateRequest', ], 'output' => [ 'shape' => 'GenerateTemplateResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'GetApp' => [ 'name' => 'GetApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAppRequest', ], 'output' => [ 'shape' => 'GetAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'GetAppLaunchConfiguration' => [ 'name' => 'GetAppLaunchConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAppLaunchConfigurationRequest', ], 'output' => [ 'shape' => 'GetAppLaunchConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'GetAppReplicationConfiguration' => [ 'name' => 'GetAppReplicationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAppReplicationConfigurationRequest', ], 'output' => [ 'shape' => 'GetAppReplicationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'GetConnectors' => [ 'name' => 'GetConnectors', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConnectorsRequest', ], 'output' => [ 'shape' => 'GetConnectorsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], ], ], 'GetReplicationJobs' => [ 'name' => 'GetReplicationJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReplicationJobsRequest', ], 'output' => [ 'shape' => 'GetReplicationJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], ], ], 'GetReplicationRuns' => [ 'name' => 'GetReplicationRuns', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetReplicationRunsRequest', ], 'output' => [ 'shape' => 'GetReplicationRunsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], ], ], 'GetServers' => [ 'name' => 'GetServers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServersRequest', ], 'output' => [ 'shape' => 'GetServersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], ], ], 'ImportServerCatalog' => [ 'name' => 'ImportServerCatalog', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportServerCatalogRequest', ], 'output' => [ 'shape' => 'ImportServerCatalogResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'NoConnectorsAvailableException', ], ], ], 'LaunchApp' => [ 'name' => 'LaunchApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LaunchAppRequest', ], 'output' => [ 'shape' => 'LaunchAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'ListApps' => [ 'name' => 'ListApps', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAppsRequest', ], 'output' => [ 'shape' => 'ListAppsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'PutAppLaunchConfiguration' => [ 'name' => 'PutAppLaunchConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAppLaunchConfigurationRequest', ], 'output' => [ 'shape' => 'PutAppLaunchConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'PutAppReplicationConfiguration' => [ 'name' => 'PutAppReplicationConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutAppReplicationConfigurationRequest', ], 'output' => [ 'shape' => 'PutAppReplicationConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'StartAppReplication' => [ 'name' => 'StartAppReplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartAppReplicationRequest', ], 'output' => [ 'shape' => 'StartAppReplicationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'StartOnDemandReplicationRun' => [ 'name' => 'StartOnDemandReplicationRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartOnDemandReplicationRunRequest', ], 'output' => [ 'shape' => 'StartOnDemandReplicationRunResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ReplicationRunLimitExceededException', ], ], ], 'StopAppReplication' => [ 'name' => 'StopAppReplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopAppReplicationRequest', ], 'output' => [ 'shape' => 'StopAppReplicationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'TerminateApp' => [ 'name' => 'TerminateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateAppRequest', ], 'output' => [ 'shape' => 'TerminateAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'UpdateApp' => [ 'name' => 'UpdateApp', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAppRequest', ], 'output' => [ 'shape' => 'UpdateAppResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'OperationNotPermittedException', ], ], ], 'UpdateReplicationJob' => [ 'name' => 'UpdateReplicationJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateReplicationJobRequest', ], 'output' => [ 'shape' => 'UpdateReplicationJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'ServerCannotBeReplicatedException', ], [ 'shape' => 'ReplicationJobNotFoundException', ], [ 'shape' => 'InternalError', ], [ 'shape' => 'TemporarilyUnavailableException', ], ], ], ], 'shapes' => [ 'AmiId' => [ 'type' => 'string', ], 'AppDescription' => [ 'type' => 'string', ], 'AppId' => [ 'type' => 'string', ], 'AppIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'AppId', ], ], 'AppLaunchStatus' => [ 'type' => 'string', 'enum' => [ 'READY_FOR_CONFIGURATION', 'CONFIGURATION_IN_PROGRESS', 'CONFIGURATION_INVALID', 'READY_FOR_LAUNCH', 'VALIDATION_IN_PROGRESS', 'LAUNCH_PENDING', 'LAUNCH_IN_PROGRESS', 'LAUNCHED', 'DELTA_LAUNCH_IN_PROGRESS', 'DELTA_LAUNCH_FAILED', 'LAUNCH_FAILED', 'TERMINATE_IN_PROGRESS', 'TERMINATE_FAILED', 'TERMINATED', ], ], 'AppLaunchStatusMessage' => [ 'type' => 'string', ], 'AppName' => [ 'type' => 'string', ], 'AppReplicationStatus' => [ 'type' => 'string', 'enum' => [ 'READY_FOR_CONFIGURATION', 'CONFIGURATION_IN_PROGRESS', 'CONFIGURATION_INVALID', 'READY_FOR_REPLICATION', 'VALIDATION_IN_PROGRESS', 'REPLICATION_PENDING', 'REPLICATION_IN_PROGRESS', 'REPLICATED', 'DELTA_REPLICATION_IN_PROGRESS', 'DELTA_REPLICATED', 'DELTA_REPLICATION_FAILED', 'REPLICATION_FAILED', 'REPLICATION_STOPPING', 'REPLICATION_STOP_FAILED', 'REPLICATION_STOPPED', ], ], 'AppReplicationStatusMessage' => [ 'type' => 'string', ], 'AppStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'UPDATING', 'DELETING', 'DELETED', 'DELETE_FAILED', ], ], 'AppStatusMessage' => [ 'type' => 'string', ], 'AppSummary' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'name' => [ 'shape' => 'AppName', ], 'description' => [ 'shape' => 'AppDescription', ], 'status' => [ 'shape' => 'AppStatus', ], 'statusMessage' => [ 'shape' => 'AppStatusMessage', ], 'replicationStatus' => [ 'shape' => 'AppReplicationStatus', ], 'replicationStatusMessage' => [ 'shape' => 'AppReplicationStatusMessage', ], 'latestReplicationTime' => [ 'shape' => 'Timestamp', ], 'launchStatus' => [ 'shape' => 'AppLaunchStatus', ], 'launchStatusMessage' => [ 'shape' => 'AppLaunchStatusMessage', ], 'launchDetails' => [ 'shape' => 'LaunchDetails', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastModified' => [ 'shape' => 'Timestamp', ], 'roleName' => [ 'shape' => 'RoleName', ], 'totalServerGroups' => [ 'shape' => 'TotalServerGroups', ], 'totalServers' => [ 'shape' => 'TotalServers', ], ], ], 'Apps' => [ 'type' => 'list', 'member' => [ 'shape' => 'AppSummary', ], ], 'AssociatePublicIpAddress' => [ 'type' => 'boolean', ], 'BucketName' => [ 'type' => 'string', ], 'ClientToken' => [ 'type' => 'string', ], 'Connector' => [ 'type' => 'structure', 'members' => [ 'connectorId' => [ 'shape' => 'ConnectorId', ], 'version' => [ 'shape' => 'ConnectorVersion', ], 'status' => [ 'shape' => 'ConnectorStatus', ], 'capabilityList' => [ 'shape' => 'ConnectorCapabilityList', ], 'vmManagerName' => [ 'shape' => 'VmManagerName', ], 'vmManagerType' => [ 'shape' => 'VmManagerType', ], 'vmManagerId' => [ 'shape' => 'VmManagerId', ], 'ipAddress' => [ 'shape' => 'IpAddress', ], 'macAddress' => [ 'shape' => 'MacAddress', ], 'associatedOn' => [ 'shape' => 'Timestamp', ], ], ], 'ConnectorCapability' => [ 'type' => 'string', 'enum' => [ 'VSPHERE', 'SCVMM', 'HYPERV-MANAGER', 'SNAPSHOT_BATCHING', ], ], 'ConnectorCapabilityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConnectorCapability', ], ], 'ConnectorId' => [ 'type' => 'string', ], 'ConnectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connector', ], ], 'ConnectorStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', ], ], 'ConnectorVersion' => [ 'type' => 'string', ], 'CreateAppRequest' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'AppName', ], 'description' => [ 'shape' => 'AppDescription', ], 'roleName' => [ 'shape' => 'RoleName', ], 'clientToken' => [ 'shape' => 'ClientToken', ], 'serverGroups' => [ 'shape' => 'ServerGroups', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateAppResponse' => [ 'type' => 'structure', 'members' => [ 'appSummary' => [ 'shape' => 'AppSummary', ], 'serverGroups' => [ 'shape' => 'ServerGroups', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'CreateReplicationJobRequest' => [ 'type' => 'structure', 'required' => [ 'serverId', 'seedReplicationTime', ], 'members' => [ 'serverId' => [ 'shape' => 'ServerId', ], 'seedReplicationTime' => [ 'shape' => 'Timestamp', ], 'frequency' => [ 'shape' => 'Frequency', ], 'runOnce' => [ 'shape' => 'RunOnce', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'description' => [ 'shape' => 'Description', ], 'numberOfRecentAmisToKeep' => [ 'shape' => 'NumberOfRecentAmisToKeep', ], 'encrypted' => [ 'shape' => 'Encrypted', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'CreateReplicationJobResponse' => [ 'type' => 'structure', 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], ], ], 'DeleteAppLaunchConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'DeleteAppLaunchConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteAppReplicationConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'DeleteAppReplicationConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteAppRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'forceStopAppReplication' => [ 'shape' => 'ForceStopAppReplication', ], 'forceTerminateApp' => [ 'shape' => 'ForceTerminateApp', ], ], ], 'DeleteAppResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteReplicationJobRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], ], ], 'DeleteReplicationJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteServerCatalogRequest' => [ 'type' => 'structure', 'members' => [], ], 'DeleteServerCatalogResponse' => [ 'type' => 'structure', 'members' => [], ], 'Description' => [ 'type' => 'string', ], 'DisassociateConnectorRequest' => [ 'type' => 'structure', 'required' => [ 'connectorId', ], 'members' => [ 'connectorId' => [ 'shape' => 'ConnectorId', ], ], ], 'DisassociateConnectorResponse' => [ 'type' => 'structure', 'members' => [], ], 'EC2KeyName' => [ 'type' => 'string', ], 'Encrypted' => [ 'type' => 'boolean', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ForceStopAppReplication' => [ 'type' => 'boolean', ], 'ForceTerminateApp' => [ 'type' => 'boolean', ], 'Frequency' => [ 'type' => 'integer', ], 'GenerateChangeSetRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'changesetFormat' => [ 'shape' => 'OutputFormat', ], ], ], 'GenerateChangeSetResponse' => [ 'type' => 'structure', 'members' => [ 's3Location' => [ 'shape' => 'S3Location', ], ], ], 'GenerateTemplateRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'templateFormat' => [ 'shape' => 'OutputFormat', ], ], ], 'GenerateTemplateResponse' => [ 'type' => 'structure', 'members' => [ 's3Location' => [ 'shape' => 'S3Location', ], ], ], 'GetAppLaunchConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'GetAppLaunchConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'roleName' => [ 'shape' => 'RoleName', ], 'serverGroupLaunchConfigurations' => [ 'shape' => 'ServerGroupLaunchConfigurations', ], ], ], 'GetAppReplicationConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'GetAppReplicationConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'serverGroupReplicationConfigurations' => [ 'shape' => 'ServerGroupReplicationConfigurations', ], ], ], 'GetAppRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'GetAppResponse' => [ 'type' => 'structure', 'members' => [ 'appSummary' => [ 'shape' => 'AppSummary', ], 'serverGroups' => [ 'shape' => 'ServerGroups', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'GetConnectorsRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetConnectorsResponse' => [ 'type' => 'structure', 'members' => [ 'connectorList' => [ 'shape' => 'ConnectorList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetReplicationJobsRequest' => [ 'type' => 'structure', 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetReplicationJobsResponse' => [ 'type' => 'structure', 'members' => [ 'replicationJobList' => [ 'shape' => 'ReplicationJobList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetReplicationRunsRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'GetReplicationRunsResponse' => [ 'type' => 'structure', 'members' => [ 'replicationJob' => [ 'shape' => 'ReplicationJob', ], 'replicationRunList' => [ 'shape' => 'ReplicationRunList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetServersRequest' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'vmServerAddressList' => [ 'shape' => 'VmServerAddressList', ], ], ], 'GetServersResponse' => [ 'type' => 'structure', 'members' => [ 'lastModifiedOn' => [ 'shape' => 'Timestamp', ], 'serverCatalogStatus' => [ 'shape' => 'ServerCatalogStatus', ], 'serverList' => [ 'shape' => 'ServerList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ImportServerCatalogRequest' => [ 'type' => 'structure', 'members' => [], ], 'ImportServerCatalogResponse' => [ 'type' => 'structure', 'members' => [], ], 'InstanceType' => [ 'type' => 'string', ], 'InternalError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'KeyName' => [ 'type' => 'string', ], 'KmsKeyId' => [ 'type' => 'string', ], 'LaunchAppRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'LaunchAppResponse' => [ 'type' => 'structure', 'members' => [], ], 'LaunchDetails' => [ 'type' => 'structure', 'members' => [ 'latestLaunchTime' => [ 'shape' => 'Timestamp', ], 'stackName' => [ 'shape' => 'StackName', ], 'stackId' => [ 'shape' => 'StackId', ], ], ], 'LaunchOrder' => [ 'type' => 'integer', ], 'LicenseType' => [ 'type' => 'string', 'enum' => [ 'AWS', 'BYOL', ], ], 'ListAppsRequest' => [ 'type' => 'structure', 'members' => [ 'appIds' => [ 'shape' => 'AppIds', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAppsResponse' => [ 'type' => 'structure', 'members' => [ 'apps' => [ 'shape' => 'Apps', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'LogicalId' => [ 'type' => 'string', ], 'MacAddress' => [ 'type' => 'string', ], 'MaxResults' => [ 'type' => 'integer', ], 'MissingRequiredParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', ], 'NoConnectorsAvailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NumberOfRecentAmisToKeep' => [ 'type' => 'integer', ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'OutputFormat' => [ 'type' => 'string', 'enum' => [ 'JSON', 'YAML', ], ], 'PutAppLaunchConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'roleName' => [ 'shape' => 'RoleName', ], 'serverGroupLaunchConfigurations' => [ 'shape' => 'ServerGroupLaunchConfigurations', ], ], ], 'PutAppLaunchConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'PutAppReplicationConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'serverGroupReplicationConfigurations' => [ 'shape' => 'ServerGroupReplicationConfigurations', ], ], ], 'PutAppReplicationConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'ReplicationJob' => [ 'type' => 'structure', 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'serverId' => [ 'shape' => 'ServerId', ], 'serverType' => [ 'shape' => 'ServerType', ], 'vmServer' => [ 'shape' => 'VmServer', ], 'seedReplicationTime' => [ 'shape' => 'Timestamp', ], 'frequency' => [ 'shape' => 'Frequency', ], 'runOnce' => [ 'shape' => 'RunOnce', ], 'nextReplicationRunStartTime' => [ 'shape' => 'Timestamp', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'latestAmiId' => [ 'shape' => 'AmiId', ], 'state' => [ 'shape' => 'ReplicationJobState', ], 'statusMessage' => [ 'shape' => 'ReplicationJobStatusMessage', ], 'description' => [ 'shape' => 'Description', ], 'numberOfRecentAmisToKeep' => [ 'shape' => 'NumberOfRecentAmisToKeep', ], 'encrypted' => [ 'shape' => 'Encrypted', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'replicationRunList' => [ 'shape' => 'ReplicationRunList', ], ], ], 'ReplicationJobAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationJobId' => [ 'type' => 'string', ], 'ReplicationJobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationJob', ], ], 'ReplicationJobNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationJobState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACTIVE', 'FAILED', 'DELETING', 'DELETED', 'COMPLETED', 'PAUSED_ON_FAILURE', 'FAILING', ], ], 'ReplicationJobStatusMessage' => [ 'type' => 'string', ], 'ReplicationJobTerminated' => [ 'type' => 'boolean', ], 'ReplicationRun' => [ 'type' => 'structure', 'members' => [ 'replicationRunId' => [ 'shape' => 'ReplicationRunId', ], 'state' => [ 'shape' => 'ReplicationRunState', ], 'type' => [ 'shape' => 'ReplicationRunType', ], 'stageDetails' => [ 'shape' => 'ReplicationRunStageDetails', ], 'statusMessage' => [ 'shape' => 'ReplicationRunStatusMessage', ], 'amiId' => [ 'shape' => 'AmiId', ], 'scheduledStartTime' => [ 'shape' => 'Timestamp', ], 'completedTime' => [ 'shape' => 'Timestamp', ], 'description' => [ 'shape' => 'Description', ], 'encrypted' => [ 'shape' => 'Encrypted', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'ReplicationRunId' => [ 'type' => 'string', ], 'ReplicationRunLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationRunList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationRun', ], ], 'ReplicationRunStage' => [ 'type' => 'string', ], 'ReplicationRunStageDetails' => [ 'type' => 'structure', 'members' => [ 'stage' => [ 'shape' => 'ReplicationRunStage', ], 'stageProgress' => [ 'shape' => 'ReplicationRunStageProgress', ], ], ], 'ReplicationRunStageProgress' => [ 'type' => 'string', ], 'ReplicationRunState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'MISSED', 'ACTIVE', 'FAILED', 'COMPLETED', 'DELETING', 'DELETED', ], ], 'ReplicationRunStatusMessage' => [ 'type' => 'string', ], 'ReplicationRunType' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND', 'AUTOMATIC', ], ], 'RoleName' => [ 'type' => 'string', ], 'RunOnce' => [ 'type' => 'boolean', ], 'S3Location' => [ 'type' => 'structure', 'members' => [ 'bucket' => [ 'shape' => 'BucketName', ], 'key' => [ 'shape' => 'KeyName', ], ], ], 'SecurityGroup' => [ 'type' => 'string', ], 'Server' => [ 'type' => 'structure', 'members' => [ 'serverId' => [ 'shape' => 'ServerId', ], 'serverType' => [ 'shape' => 'ServerType', ], 'vmServer' => [ 'shape' => 'VmServer', ], 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'replicationJobTerminated' => [ 'shape' => 'ReplicationJobTerminated', ], ], ], 'ServerCannotBeReplicatedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ServerCatalogStatus' => [ 'type' => 'string', 'enum' => [ 'NOT_IMPORTED', 'IMPORTING', 'AVAILABLE', 'DELETED', 'EXPIRED', ], ], 'ServerGroup' => [ 'type' => 'structure', 'members' => [ 'serverGroupId' => [ 'shape' => 'ServerGroupId', ], 'name' => [ 'shape' => 'ServerGroupName', ], 'serverList' => [ 'shape' => 'ServerList', ], ], ], 'ServerGroupId' => [ 'type' => 'string', ], 'ServerGroupLaunchConfiguration' => [ 'type' => 'structure', 'members' => [ 'serverGroupId' => [ 'shape' => 'ServerGroupId', ], 'launchOrder' => [ 'shape' => 'LaunchOrder', ], 'serverLaunchConfigurations' => [ 'shape' => 'ServerLaunchConfigurations', ], ], ], 'ServerGroupLaunchConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerGroupLaunchConfiguration', ], ], 'ServerGroupName' => [ 'type' => 'string', ], 'ServerGroupReplicationConfiguration' => [ 'type' => 'structure', 'members' => [ 'serverGroupId' => [ 'shape' => 'ServerGroupId', ], 'serverReplicationConfigurations' => [ 'shape' => 'ServerReplicationConfigurations', ], ], ], 'ServerGroupReplicationConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerGroupReplicationConfiguration', ], ], 'ServerGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerGroup', ], ], 'ServerId' => [ 'type' => 'string', ], 'ServerLaunchConfiguration' => [ 'type' => 'structure', 'members' => [ 'server' => [ 'shape' => 'Server', ], 'logicalId' => [ 'shape' => 'LogicalId', ], 'vpc' => [ 'shape' => 'VPC', ], 'subnet' => [ 'shape' => 'Subnet', ], 'securityGroup' => [ 'shape' => 'SecurityGroup', ], 'ec2KeyName' => [ 'shape' => 'EC2KeyName', ], 'userData' => [ 'shape' => 'UserData', ], 'instanceType' => [ 'shape' => 'InstanceType', ], 'associatePublicIpAddress' => [ 'shape' => 'AssociatePublicIpAddress', ], ], ], 'ServerLaunchConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerLaunchConfiguration', ], ], 'ServerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Server', ], ], 'ServerReplicationConfiguration' => [ 'type' => 'structure', 'members' => [ 'server' => [ 'shape' => 'Server', ], 'serverReplicationParameters' => [ 'shape' => 'ServerReplicationParameters', ], ], ], 'ServerReplicationConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServerReplicationConfiguration', ], ], 'ServerReplicationParameters' => [ 'type' => 'structure', 'members' => [ 'seedTime' => [ 'shape' => 'Timestamp', ], 'frequency' => [ 'shape' => 'Frequency', ], 'runOnce' => [ 'shape' => 'RunOnce', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'numberOfRecentAmisToKeep' => [ 'shape' => 'NumberOfRecentAmisToKeep', ], 'encrypted' => [ 'shape' => 'Encrypted', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'ServerType' => [ 'type' => 'string', 'enum' => [ 'VIRTUAL_MACHINE', ], ], 'StackId' => [ 'type' => 'string', ], 'StackName' => [ 'type' => 'string', ], 'StartAppReplicationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'StartAppReplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'StartOnDemandReplicationRunRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'description' => [ 'shape' => 'Description', ], ], ], 'StartOnDemandReplicationRunResponse' => [ 'type' => 'structure', 'members' => [ 'replicationRunId' => [ 'shape' => 'ReplicationRunId', ], ], ], 'StopAppReplicationRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'StopAppReplicationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Subnet' => [ 'type' => 'string', ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagValue' => [ 'type' => 'string', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TemporarilyUnavailableException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'TerminateAppRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], ], ], 'TerminateAppResponse' => [ 'type' => 'structure', 'members' => [], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TotalServerGroups' => [ 'type' => 'integer', ], 'TotalServers' => [ 'type' => 'integer', ], 'UnauthorizedOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateAppRequest' => [ 'type' => 'structure', 'members' => [ 'appId' => [ 'shape' => 'AppId', ], 'name' => [ 'shape' => 'AppName', ], 'description' => [ 'shape' => 'AppDescription', ], 'roleName' => [ 'shape' => 'RoleName', ], 'serverGroups' => [ 'shape' => 'ServerGroups', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'UpdateAppResponse' => [ 'type' => 'structure', 'members' => [ 'appSummary' => [ 'shape' => 'AppSummary', ], 'serverGroups' => [ 'shape' => 'ServerGroups', ], 'tags' => [ 'shape' => 'Tags', ], ], ], 'UpdateReplicationJobRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'frequency' => [ 'shape' => 'Frequency', ], 'nextReplicationRunStartTime' => [ 'shape' => 'Timestamp', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'description' => [ 'shape' => 'Description', ], 'numberOfRecentAmisToKeep' => [ 'shape' => 'NumberOfRecentAmisToKeep', ], 'encrypted' => [ 'shape' => 'Encrypted', ], 'kmsKeyId' => [ 'shape' => 'KmsKeyId', ], ], ], 'UpdateReplicationJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'UserData' => [ 'type' => 'structure', 'members' => [ 's3Location' => [ 'shape' => 'S3Location', ], ], ], 'VPC' => [ 'type' => 'string', ], 'VmId' => [ 'type' => 'string', ], 'VmManagerId' => [ 'type' => 'string', ], 'VmManagerName' => [ 'type' => 'string', ], 'VmManagerType' => [ 'type' => 'string', 'enum' => [ 'VSPHERE', 'SCVMM', 'HYPERV-MANAGER', ], ], 'VmName' => [ 'type' => 'string', ], 'VmPath' => [ 'type' => 'string', ], 'VmServer' => [ 'type' => 'structure', 'members' => [ 'vmServerAddress' => [ 'shape' => 'VmServerAddress', ], 'vmName' => [ 'shape' => 'VmName', ], 'vmManagerName' => [ 'shape' => 'VmManagerName', ], 'vmManagerType' => [ 'shape' => 'VmManagerType', ], 'vmPath' => [ 'shape' => 'VmPath', ], ], ], 'VmServerAddress' => [ 'type' => 'structure', 'members' => [ 'vmManagerId' => [ 'shape' => 'VmManagerId', ], 'vmId' => [ 'shape' => 'VmId', ], ], ], 'VmServerAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VmServerAddress', ], ], ],]; diff --git a/lib/aws/Aws/data/sms/2016-10-24/paginators-1.json.php b/lib/aws/Aws/data/sms/2016-10-24/paginators-1.json.php new file mode 100644 index 0000000..06ff3e1 --- /dev/null +++ b/lib/aws/Aws/data/sms/2016-10-24/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sms/2016-10-24/paginators-1.json +return [ 'pagination' => [ 'GetConnectors' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'connectorList', ], 'GetReplicationJobs' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'replicationJobList', ], 'GetReplicationRuns' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'replicationRunList', ], 'GetServers' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'serverList', ], ],]; diff --git a/lib/aws/Aws/data/sms/2016-10-24/smoke.json.php b/lib/aws/Aws/data/sms/2016-10-24/smoke.json.php new file mode 100644 index 0000000..a8087e2 --- /dev/null +++ b/lib/aws/Aws/data/sms/2016-10-24/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sms/2016-10-24/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetConnectors', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DeleteReplicationJob', 'input' => [ 'replicationJobId' => 'invalidId', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/snowball/2016-06-30/api-2.json.php b/lib/aws/Aws/data/snowball/2016-06-30/api-2.json.php new file mode 100644 index 0000000..a692b3c --- /dev/null +++ b/lib/aws/Aws/data/snowball/2016-06-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/snowball/2016-06-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-06-30', 'endpointPrefix' => 'snowball', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon Snowball', 'serviceFullName' => 'Amazon Import/Export Snowball', 'serviceId' => 'Snowball', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSIESnowballJobManagementService', 'uid' => 'snowball-2016-06-30', ], 'operations' => [ 'CancelCluster' => [ 'name' => 'CancelCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelClusterRequest', ], 'output' => [ 'shape' => 'CancelClusterResult', ], 'errors' => [ [ 'shape' => 'KMSRequestFailedException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'InvalidResourceException', ], ], ], 'CancelJob' => [ 'name' => 'CancelJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelJobRequest', ], 'output' => [ 'shape' => 'CancelJobResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'KMSRequestFailedException', ], ], ], 'CreateAddress' => [ 'name' => 'CreateAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAddressRequest', ], 'output' => [ 'shape' => 'CreateAddressResult', ], 'errors' => [ [ 'shape' => 'InvalidAddressException', ], [ 'shape' => 'UnsupportedAddressException', ], ], ], 'CreateCluster' => [ 'name' => 'CreateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateClusterRequest', ], 'output' => [ 'shape' => 'CreateClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'KMSRequestFailedException', ], [ 'shape' => 'InvalidInputCombinationException', ], [ 'shape' => 'Ec2RequestFailedException', ], ], ], 'CreateJob' => [ 'name' => 'CreateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateJobRequest', ], 'output' => [ 'shape' => 'CreateJobResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'KMSRequestFailedException', ], [ 'shape' => 'InvalidInputCombinationException', ], [ 'shape' => 'ClusterLimitExceededException', ], [ 'shape' => 'Ec2RequestFailedException', ], ], ], 'DescribeAddress' => [ 'name' => 'DescribeAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressRequest', ], 'output' => [ 'shape' => 'DescribeAddressResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], ], ], 'DescribeAddresses' => [ 'name' => 'DescribeAddresses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAddressesRequest', ], 'output' => [ 'shape' => 'DescribeAddressesResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'DescribeCluster' => [ 'name' => 'DescribeCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterRequest', ], 'output' => [ 'shape' => 'DescribeClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], ], ], 'DescribeJob' => [ 'name' => 'DescribeJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeJobRequest', ], 'output' => [ 'shape' => 'DescribeJobResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], ], ], 'GetJobManifest' => [ 'name' => 'GetJobManifest', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobManifestRequest', ], 'output' => [ 'shape' => 'GetJobManifestResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidJobStateException', ], ], ], 'GetJobUnlockCode' => [ 'name' => 'GetJobUnlockCode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetJobUnlockCodeRequest', ], 'output' => [ 'shape' => 'GetJobUnlockCodeResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidJobStateException', ], ], ], 'GetSnowballUsage' => [ 'name' => 'GetSnowballUsage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSnowballUsageRequest', ], 'output' => [ 'shape' => 'GetSnowballUsageResult', ], ], 'ListClusterJobs' => [ 'name' => 'ListClusterJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListClusterJobsRequest', ], 'output' => [ 'shape' => 'ListClusterJobsResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListClusters' => [ 'name' => 'ListClusters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListClustersRequest', ], 'output' => [ 'shape' => 'ListClustersResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], ], ], 'ListCompatibleImages' => [ 'name' => 'ListCompatibleImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCompatibleImagesRequest', ], 'output' => [ 'shape' => 'ListCompatibleImagesResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'Ec2RequestFailedException', ], ], ], 'ListJobs' => [ 'name' => 'ListJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListJobsRequest', ], 'output' => [ 'shape' => 'ListJobsResult', ], 'errors' => [ [ 'shape' => 'InvalidNextTokenException', ], ], ], 'UpdateCluster' => [ 'name' => 'UpdateCluster', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateClusterRequest', ], 'output' => [ 'shape' => 'UpdateClusterResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'KMSRequestFailedException', ], [ 'shape' => 'InvalidInputCombinationException', ], [ 'shape' => 'Ec2RequestFailedException', ], ], ], 'UpdateJob' => [ 'name' => 'UpdateJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateJobRequest', ], 'output' => [ 'shape' => 'UpdateJobResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceException', ], [ 'shape' => 'InvalidJobStateException', ], [ 'shape' => 'KMSRequestFailedException', ], [ 'shape' => 'InvalidInputCombinationException', ], [ 'shape' => 'ClusterLimitExceededException', ], [ 'shape' => 'Ec2RequestFailedException', ], ], ], ], 'shapes' => [ 'Address' => [ 'type' => 'structure', 'members' => [ 'AddressId' => [ 'shape' => 'AddressId', ], 'Name' => [ 'shape' => 'String', ], 'Company' => [ 'shape' => 'String', ], 'Street1' => [ 'shape' => 'String', ], 'Street2' => [ 'shape' => 'String', ], 'Street3' => [ 'shape' => 'String', ], 'City' => [ 'shape' => 'String', ], 'StateOrProvince' => [ 'shape' => 'String', ], 'PrefectureOrDistrict' => [ 'shape' => 'String', ], 'Landmark' => [ 'shape' => 'String', ], 'Country' => [ 'shape' => 'String', ], 'PostalCode' => [ 'shape' => 'String', ], 'PhoneNumber' => [ 'shape' => 'String', ], 'IsRestricted' => [ 'shape' => 'Boolean', ], ], ], 'AddressId' => [ 'type' => 'string', 'max' => 40, 'min' => 40, 'pattern' => 'ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', ], ], 'AmiId' => [ 'type' => 'string', 'max' => 21, 'min' => 12, 'pattern' => '(ami-[0-9a-f]{8})|(ami-[0-9a-f]{17})', ], 'Boolean' => [ 'type' => 'boolean', ], 'CancelClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], ], ], 'CancelClusterResult' => [ 'type' => 'structure', 'members' => [], ], 'CancelJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'CancelJobResult' => [ 'type' => 'structure', 'members' => [], ], 'ClusterId' => [ 'type' => 'string', 'max' => 39, 'min' => 39, 'pattern' => 'CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'ClusterLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ClusterListEntry' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'String', ], 'ClusterState' => [ 'shape' => 'ClusterState', ], 'CreationDate' => [ 'shape' => 'Timestamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'ClusterListEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClusterListEntry', ], ], 'ClusterMetadata' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'KmsKeyARN' => [ 'shape' => 'KmsKeyARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'ClusterState' => [ 'shape' => 'ClusterState', ], 'JobType' => [ 'shape' => 'JobType', ], 'SnowballType' => [ 'shape' => 'SnowballType', ], 'CreationDate' => [ 'shape' => 'Timestamp', ], 'Resources' => [ 'shape' => 'JobResource', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'Notification' => [ 'shape' => 'Notification', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'ClusterState' => [ 'type' => 'string', 'enum' => [ 'AwaitingQuorum', 'Pending', 'InUse', 'Complete', 'Cancelled', ], ], 'CompatibleImage' => [ 'type' => 'structure', 'members' => [ 'AmiId' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], ], ], 'CompatibleImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CompatibleImage', ], ], 'CreateAddressRequest' => [ 'type' => 'structure', 'required' => [ 'Address', ], 'members' => [ 'Address' => [ 'shape' => 'Address', ], ], ], 'CreateAddressResult' => [ 'type' => 'structure', 'members' => [ 'AddressId' => [ 'shape' => 'String', ], ], ], 'CreateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'JobType', 'Resources', 'AddressId', 'RoleARN', 'ShippingOption', ], 'members' => [ 'JobType' => [ 'shape' => 'JobType', ], 'Resources' => [ 'shape' => 'JobResource', ], 'Description' => [ 'shape' => 'String', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'KmsKeyARN' => [ 'shape' => 'KmsKeyARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'SnowballType' => [ 'shape' => 'SnowballType', ], 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'Notification' => [ 'shape' => 'Notification', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'CreateClusterResult' => [ 'type' => 'structure', 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], ], ], 'CreateJobRequest' => [ 'type' => 'structure', 'members' => [ 'JobType' => [ 'shape' => 'JobType', ], 'Resources' => [ 'shape' => 'JobResource', ], 'Description' => [ 'shape' => 'String', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'KmsKeyARN' => [ 'shape' => 'KmsKeyARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'SnowballCapacityPreference' => [ 'shape' => 'SnowballCapacity', ], 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'Notification' => [ 'shape' => 'Notification', ], 'ClusterId' => [ 'shape' => 'ClusterId', ], 'SnowballType' => [ 'shape' => 'SnowballType', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'CreateJobResult' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DataTransfer' => [ 'type' => 'structure', 'members' => [ 'BytesTransferred' => [ 'shape' => 'Long', ], 'ObjectsTransferred' => [ 'shape' => 'Long', ], 'TotalBytes' => [ 'shape' => 'Long', ], 'TotalObjects' => [ 'shape' => 'Long', ], ], ], 'DescribeAddressRequest' => [ 'type' => 'structure', 'required' => [ 'AddressId', ], 'members' => [ 'AddressId' => [ 'shape' => 'AddressId', ], ], ], 'DescribeAddressResult' => [ 'type' => 'structure', 'members' => [ 'Address' => [ 'shape' => 'Address', ], ], ], 'DescribeAddressesRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'ListLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeAddressesResult' => [ 'type' => 'structure', 'members' => [ 'Addresses' => [ 'shape' => 'AddressList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'DescribeClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], ], ], 'DescribeClusterResult' => [ 'type' => 'structure', 'members' => [ 'ClusterMetadata' => [ 'shape' => 'ClusterMetadata', ], ], ], 'DescribeJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'DescribeJobResult' => [ 'type' => 'structure', 'members' => [ 'JobMetadata' => [ 'shape' => 'JobMetadata', ], 'SubJobMetadata' => [ 'shape' => 'JobMetadataList', ], ], ], 'Ec2AmiResource' => [ 'type' => 'structure', 'required' => [ 'AmiId', ], 'members' => [ 'AmiId' => [ 'shape' => 'AmiId', ], 'SnowballAmiId' => [ 'shape' => 'String', ], ], ], 'Ec2AmiResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Ec2AmiResource', ], ], 'Ec2RequestFailedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'EventTriggerDefinition' => [ 'type' => 'structure', 'members' => [ 'EventResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'EventTriggerDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EventTriggerDefinition', ], ], 'GetJobManifestRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'GetJobManifestResult' => [ 'type' => 'structure', 'members' => [ 'ManifestURI' => [ 'shape' => 'String', ], ], ], 'GetJobUnlockCodeRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'GetJobUnlockCodeResult' => [ 'type' => 'structure', 'members' => [ 'UnlockCode' => [ 'shape' => 'String', ], ], ], 'GetSnowballUsageRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetSnowballUsageResult' => [ 'type' => 'structure', 'members' => [ 'SnowballLimit' => [ 'shape' => 'Integer', ], 'SnowballsInUse' => [ 'shape' => 'Integer', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InvalidAddressException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInputCombinationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidJobStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidResourceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'ResourceType' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'JobId' => [ 'type' => 'string', 'max' => 39, 'min' => 39, 'pattern' => '(M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', ], 'JobListEntry' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'String', ], 'JobState' => [ 'shape' => 'JobState', ], 'IsMaster' => [ 'shape' => 'Boolean', ], 'JobType' => [ 'shape' => 'JobType', ], 'SnowballType' => [ 'shape' => 'SnowballType', ], 'CreationDate' => [ 'shape' => 'Timestamp', ], 'Description' => [ 'shape' => 'String', ], ], ], 'JobListEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobListEntry', ], ], 'JobLogs' => [ 'type' => 'structure', 'members' => [ 'JobCompletionReportURI' => [ 'shape' => 'String', ], 'JobSuccessLogURI' => [ 'shape' => 'String', ], 'JobFailureLogURI' => [ 'shape' => 'String', ], ], ], 'JobMetadata' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'String', ], 'JobState' => [ 'shape' => 'JobState', ], 'JobType' => [ 'shape' => 'JobType', ], 'SnowballType' => [ 'shape' => 'SnowballType', ], 'CreationDate' => [ 'shape' => 'Timestamp', ], 'Resources' => [ 'shape' => 'JobResource', ], 'Description' => [ 'shape' => 'String', ], 'KmsKeyARN' => [ 'shape' => 'KmsKeyARN', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'ShippingDetails' => [ 'shape' => 'ShippingDetails', ], 'SnowballCapacityPreference' => [ 'shape' => 'SnowballCapacity', ], 'Notification' => [ 'shape' => 'Notification', ], 'DataTransferProgress' => [ 'shape' => 'DataTransfer', ], 'JobLogInfo' => [ 'shape' => 'JobLogs', ], 'ClusterId' => [ 'shape' => 'String', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'JobMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobMetadata', ], ], 'JobResource' => [ 'type' => 'structure', 'members' => [ 'S3Resources' => [ 'shape' => 'S3ResourceList', ], 'LambdaResources' => [ 'shape' => 'LambdaResourceList', ], 'Ec2AmiResources' => [ 'shape' => 'Ec2AmiResourceList', ], ], ], 'JobState' => [ 'type' => 'string', 'enum' => [ 'New', 'PreparingAppliance', 'PreparingShipment', 'InTransitToCustomer', 'WithCustomer', 'InTransitToAWS', 'WithAWSSortingFacility', 'WithAWS', 'InProgress', 'Complete', 'Cancelled', 'Listing', 'Pending', ], ], 'JobStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobState', ], ], 'JobType' => [ 'type' => 'string', 'enum' => [ 'IMPORT', 'EXPORT', 'LOCAL_USE', ], ], 'KMSRequestFailedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'KeyRange' => [ 'type' => 'structure', 'members' => [ 'BeginMarker' => [ 'shape' => 'String', ], 'EndMarker' => [ 'shape' => 'String', ], ], ], 'KmsKeyARN' => [ 'type' => 'string', 'max' => 255, 'pattern' => 'arn:aws.*:kms:.*:[0-9]{12}:key/.*', ], 'LambdaResource' => [ 'type' => 'structure', 'members' => [ 'LambdaArn' => [ 'shape' => 'ResourceARN', ], 'EventTriggers' => [ 'shape' => 'EventTriggerDefinitionList', ], ], ], 'LambdaResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LambdaResource', ], ], 'ListClusterJobsRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'MaxResults' => [ 'shape' => 'ListLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListClusterJobsResult' => [ 'type' => 'structure', 'members' => [ 'JobListEntries' => [ 'shape' => 'JobListEntryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListClustersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'ListLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListClustersResult' => [ 'type' => 'structure', 'members' => [ 'ClusterListEntries' => [ 'shape' => 'ClusterListEntryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListCompatibleImagesRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'ListLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListCompatibleImagesResult' => [ 'type' => 'structure', 'members' => [ 'CompatibleImages' => [ 'shape' => 'CompatibleImageList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'ListLimit', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListJobsResult' => [ 'type' => 'structure', 'members' => [ 'JobListEntries' => [ 'shape' => 'JobListEntryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'Long' => [ 'type' => 'long', ], 'Notification' => [ 'type' => 'structure', 'members' => [ 'SnsTopicARN' => [ 'shape' => 'SnsTopicARN', ], 'JobStatesToNotify' => [ 'shape' => 'JobStateList', ], 'NotifyAll' => [ 'shape' => 'Boolean', ], ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 255, ], 'RoleARN' => [ 'type' => 'string', 'max' => 255, 'pattern' => 'arn:aws.*:iam::[0-9]{12}:role/.*', ], 'S3Resource' => [ 'type' => 'structure', 'members' => [ 'BucketArn' => [ 'shape' => 'ResourceARN', ], 'KeyRange' => [ 'shape' => 'KeyRange', ], ], ], 'S3ResourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'S3Resource', ], ], 'Shipment' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'String', ], 'TrackingNumber' => [ 'shape' => 'String', ], ], ], 'ShippingDetails' => [ 'type' => 'structure', 'members' => [ 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'InboundShipment' => [ 'shape' => 'Shipment', ], 'OutboundShipment' => [ 'shape' => 'Shipment', ], ], ], 'ShippingOption' => [ 'type' => 'string', 'enum' => [ 'SECOND_DAY', 'NEXT_DAY', 'EXPRESS', 'STANDARD', ], ], 'SnowballCapacity' => [ 'type' => 'string', 'enum' => [ 'T50', 'T80', 'T100', 'T42', 'NoPreference', ], ], 'SnowballType' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'EDGE', 'EDGE_C', 'EDGE_CG', ], ], 'SnsTopicARN' => [ 'type' => 'string', 'max' => 255, 'pattern' => 'arn:aws.*:sns:.*:[0-9]{12}:.*', ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnsupportedAddressException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UpdateClusterRequest' => [ 'type' => 'structure', 'required' => [ 'ClusterId', ], 'members' => [ 'ClusterId' => [ 'shape' => 'ClusterId', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'Description' => [ 'shape' => 'String', ], 'Resources' => [ 'shape' => 'JobResource', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'Notification' => [ 'shape' => 'Notification', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'UpdateClusterResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdateJobRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'RoleARN' => [ 'shape' => 'RoleARN', ], 'Notification' => [ 'shape' => 'Notification', ], 'Resources' => [ 'shape' => 'JobResource', ], 'AddressId' => [ 'shape' => 'AddressId', ], 'ShippingOption' => [ 'shape' => 'ShippingOption', ], 'Description' => [ 'shape' => 'String', ], 'SnowballCapacityPreference' => [ 'shape' => 'SnowballCapacity', ], 'ForwardingAddressId' => [ 'shape' => 'AddressId', ], ], ], 'UpdateJobResult' => [ 'type' => 'structure', 'members' => [], ], ],]; diff --git a/lib/aws/Aws/data/snowball/2016-06-30/paginators-1.json.php b/lib/aws/Aws/data/snowball/2016-06-30/paginators-1.json.php new file mode 100644 index 0000000..17b0ebd --- /dev/null +++ b/lib/aws/Aws/data/snowball/2016-06-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/snowball/2016-06-30/paginators-1.json +return [ 'pagination' => [ 'DescribeAddresses' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Addresses', ], 'ListJobs' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'JobListEntries', ], ],]; diff --git a/lib/aws/Aws/data/snowball/2016-06-30/smoke.json.php b/lib/aws/Aws/data/snowball/2016-06-30/smoke.json.php new file mode 100644 index 0000000..9aa31b4 --- /dev/null +++ b/lib/aws/Aws/data/snowball/2016-06-30/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/snowball/2016-06-30/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeAddresses', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/sns/2010-03-31/api-2.json.php b/lib/aws/Aws/data/sns/2010-03-31/api-2.json.php new file mode 100644 index 0000000..17f084b --- /dev/null +++ b/lib/aws/Aws/data/sns/2010-03-31/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sns/2010-03-31/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2010-03-31', 'endpointPrefix' => 'sns', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon SNS', 'serviceFullName' => 'Amazon Simple Notification Service', 'serviceId' => 'SNS', 'signatureVersion' => 'v4', 'uid' => 'sns-2010-03-31', 'xmlNamespace' => 'http://sns.amazonaws.com/doc/2010-03-31/', ], 'operations' => [ 'AddPermission' => [ 'name' => 'AddPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddPermissionInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CheckIfPhoneNumberIsOptedOut' => [ 'name' => 'CheckIfPhoneNumberIsOptedOut', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CheckIfPhoneNumberIsOptedOutInput', ], 'output' => [ 'shape' => 'CheckIfPhoneNumberIsOptedOutResponse', 'resultWrapper' => 'CheckIfPhoneNumberIsOptedOutResult', ], 'errors' => [ [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ConfirmSubscription' => [ 'name' => 'ConfirmSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ConfirmSubscriptionInput', ], 'output' => [ 'shape' => 'ConfirmSubscriptionResponse', 'resultWrapper' => 'ConfirmSubscriptionResult', ], 'errors' => [ [ 'shape' => 'SubscriptionLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'CreatePlatformApplication' => [ 'name' => 'CreatePlatformApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlatformApplicationInput', ], 'output' => [ 'shape' => 'CreatePlatformApplicationResponse', 'resultWrapper' => 'CreatePlatformApplicationResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'CreatePlatformEndpoint' => [ 'name' => 'CreatePlatformEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePlatformEndpointInput', ], 'output' => [ 'shape' => 'CreateEndpointResponse', 'resultWrapper' => 'CreatePlatformEndpointResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'CreateTopic' => [ 'name' => 'CreateTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTopicInput', ], 'output' => [ 'shape' => 'CreateTopicResponse', 'resultWrapper' => 'CreateTopicResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'TopicLimitExceededException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], 'DeleteEndpoint' => [ 'name' => 'DeleteEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteEndpointInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'DeletePlatformApplication' => [ 'name' => 'DeletePlatformApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePlatformApplicationInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'DeleteTopic' => [ 'name' => 'DeleteTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTopicInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'GetEndpointAttributes' => [ 'name' => 'GetEndpointAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetEndpointAttributesInput', ], 'output' => [ 'shape' => 'GetEndpointAttributesResponse', 'resultWrapper' => 'GetEndpointAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'GetPlatformApplicationAttributes' => [ 'name' => 'GetPlatformApplicationAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPlatformApplicationAttributesInput', ], 'output' => [ 'shape' => 'GetPlatformApplicationAttributesResponse', 'resultWrapper' => 'GetPlatformApplicationAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'GetSMSAttributes' => [ 'name' => 'GetSMSAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSMSAttributesInput', ], 'output' => [ 'shape' => 'GetSMSAttributesResponse', 'resultWrapper' => 'GetSMSAttributesResult', ], 'errors' => [ [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'GetSubscriptionAttributes' => [ 'name' => 'GetSubscriptionAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSubscriptionAttributesInput', ], 'output' => [ 'shape' => 'GetSubscriptionAttributesResponse', 'resultWrapper' => 'GetSubscriptionAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'GetTopicAttributes' => [ 'name' => 'GetTopicAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTopicAttributesInput', ], 'output' => [ 'shape' => 'GetTopicAttributesResponse', 'resultWrapper' => 'GetTopicAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], 'ListEndpointsByPlatformApplication' => [ 'name' => 'ListEndpointsByPlatformApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListEndpointsByPlatformApplicationInput', ], 'output' => [ 'shape' => 'ListEndpointsByPlatformApplicationResponse', 'resultWrapper' => 'ListEndpointsByPlatformApplicationResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'ListPhoneNumbersOptedOut' => [ 'name' => 'ListPhoneNumbersOptedOut', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPhoneNumbersOptedOutInput', ], 'output' => [ 'shape' => 'ListPhoneNumbersOptedOutResponse', 'resultWrapper' => 'ListPhoneNumbersOptedOutResult', ], 'errors' => [ [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'ListPlatformApplications' => [ 'name' => 'ListPlatformApplications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListPlatformApplicationsInput', ], 'output' => [ 'shape' => 'ListPlatformApplicationsResponse', 'resultWrapper' => 'ListPlatformApplicationsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'ListSubscriptions' => [ 'name' => 'ListSubscriptions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSubscriptionsInput', ], 'output' => [ 'shape' => 'ListSubscriptionsResponse', 'resultWrapper' => 'ListSubscriptionsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'ListSubscriptionsByTopic' => [ 'name' => 'ListSubscriptionsByTopic', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSubscriptionsByTopicInput', ], 'output' => [ 'shape' => 'ListSubscriptionsByTopicResponse', 'resultWrapper' => 'ListSubscriptionsByTopicResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'ListTopics' => [ 'name' => 'ListTopics', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTopicsInput', ], 'output' => [ 'shape' => 'ListTopicsResponse', 'resultWrapper' => 'ListTopicsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'OptInPhoneNumber' => [ 'name' => 'OptInPhoneNumber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'OptInPhoneNumberInput', ], 'output' => [ 'shape' => 'OptInPhoneNumberResponse', 'resultWrapper' => 'OptInPhoneNumberResult', ], 'errors' => [ [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidParameterException', ], ], ], 'Publish' => [ 'name' => 'Publish', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PublishInput', ], 'output' => [ 'shape' => 'PublishResponse', 'resultWrapper' => 'PublishResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'EndpointDisabledException', ], [ 'shape' => 'PlatformApplicationDisabledException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'KMSDisabledException', ], [ 'shape' => 'KMSInvalidStateException', ], [ 'shape' => 'KMSNotFoundException', ], [ 'shape' => 'KMSOptInRequired', ], [ 'shape' => 'KMSThrottlingException', ], [ 'shape' => 'KMSAccessDeniedException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], 'RemovePermission' => [ 'name' => 'RemovePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemovePermissionInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'SetEndpointAttributes' => [ 'name' => 'SetEndpointAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetEndpointAttributesInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'SetPlatformApplicationAttributes' => [ 'name' => 'SetPlatformApplicationAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetPlatformApplicationAttributesInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], 'SetSMSAttributes' => [ 'name' => 'SetSMSAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetSMSAttributesInput', ], 'output' => [ 'shape' => 'SetSMSAttributesResponse', 'resultWrapper' => 'SetSMSAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'SetSubscriptionAttributes' => [ 'name' => 'SetSubscriptionAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetSubscriptionAttributesInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'FilterPolicyLimitExceededException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], ], ], 'SetTopicAttributes' => [ 'name' => 'SetTopicAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetTopicAttributesInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], 'Subscribe' => [ 'name' => 'Subscribe', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SubscribeInput', ], 'output' => [ 'shape' => 'SubscribeResponse', 'resultWrapper' => 'SubscribeResult', ], 'errors' => [ [ 'shape' => 'SubscriptionLimitExceededException', ], [ 'shape' => 'FilterPolicyLimitExceededException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], 'Unsubscribe' => [ 'name' => 'Unsubscribe', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnsubscribeInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidSecurityException', ], ], ], ], 'shapes' => [ 'ActionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'action', ], ], 'AddPermissionInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Label', 'AWSAccountId', 'ActionName', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'Label' => [ 'shape' => 'label', ], 'AWSAccountId' => [ 'shape' => 'DelegatesList', ], 'ActionName' => [ 'shape' => 'ActionsList', ], ], ], 'AuthorizationErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'AuthorizationError', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'Binary' => [ 'type' => 'blob', ], 'CheckIfPhoneNumberIsOptedOutInput' => [ 'type' => 'structure', 'required' => [ 'phoneNumber', ], 'members' => [ 'phoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'CheckIfPhoneNumberIsOptedOutResponse' => [ 'type' => 'structure', 'members' => [ 'isOptedOut' => [ 'shape' => 'boolean', ], ], ], 'ConfirmSubscriptionInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Token', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'Token' => [ 'shape' => 'token', ], 'AuthenticateOnUnsubscribe' => [ 'shape' => 'authenticateOnUnsubscribe', ], ], ], 'ConfirmSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], ], ], 'CreateEndpointResponse' => [ 'type' => 'structure', 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'CreatePlatformApplicationInput' => [ 'type' => 'structure', 'required' => [ 'Name', 'Platform', 'Attributes', ], 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Platform' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'CreatePlatformApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], ], ], 'CreatePlatformEndpointInput' => [ 'type' => 'structure', 'required' => [ 'PlatformApplicationArn', 'Token', ], 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], 'Token' => [ 'shape' => 'String', ], 'CustomUserData' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'CreateTopicInput' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'topicName', ], 'Attributes' => [ 'shape' => 'TopicAttributesMap', ], ], ], 'CreateTopicResponse' => [ 'type' => 'structure', 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], ], ], 'DelegatesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'delegate', ], ], 'DeleteEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'DeletePlatformApplicationInput' => [ 'type' => 'structure', 'required' => [ 'PlatformApplicationArn', ], 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], ], ], 'DeleteTopicInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], ], ], 'Endpoint' => [ 'type' => 'structure', 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'EndpointDisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'EndpointDisabled', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'FilterPolicyLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'FilterPolicyLimitExceeded', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'GetEndpointAttributesInput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], ], ], 'GetEndpointAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'GetPlatformApplicationAttributesInput' => [ 'type' => 'structure', 'required' => [ 'PlatformApplicationArn', ], 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], ], ], 'GetPlatformApplicationAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'GetSMSAttributesInput' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'ListString', ], ], ], 'GetSMSAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'GetSubscriptionAttributesInput' => [ 'type' => 'structure', 'required' => [ 'SubscriptionArn', ], 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], ], ], 'GetSubscriptionAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'SubscriptionAttributesMap', ], ], ], 'GetTopicAttributesInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], ], ], 'GetTopicAttributesResponse' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'TopicAttributesMap', ], ], ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'InternalError', 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'InvalidParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'ParameterValueInvalid', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidSecurityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'InvalidSecurity', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'KMSAccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSAccessDenied', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSDisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSDisabled', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSInvalidStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSInvalidState', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSNotFound', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'KMSOptInRequired' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSOptInRequired', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'KMSThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'KMSThrottling', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'ListEndpointsByPlatformApplicationInput' => [ 'type' => 'structure', 'required' => [ 'PlatformApplicationArn', ], 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListEndpointsByPlatformApplicationResponse' => [ 'type' => 'structure', 'members' => [ 'Endpoints' => [ 'shape' => 'ListOfEndpoints', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListOfEndpoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'Endpoint', ], ], 'ListOfPlatformApplications' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformApplication', ], ], 'ListPhoneNumbersOptedOutInput' => [ 'type' => 'structure', 'members' => [ 'nextToken' => [ 'shape' => 'string', ], ], ], 'ListPhoneNumbersOptedOutResponse' => [ 'type' => 'structure', 'members' => [ 'phoneNumbers' => [ 'shape' => 'PhoneNumberList', ], 'nextToken' => [ 'shape' => 'string', ], ], ], 'ListPlatformApplicationsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListPlatformApplicationsResponse' => [ 'type' => 'structure', 'members' => [ 'PlatformApplications' => [ 'shape' => 'ListOfPlatformApplications', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'ListString' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListSubscriptionsByTopicInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'ListSubscriptionsByTopicResponse' => [ 'type' => 'structure', 'members' => [ 'Subscriptions' => [ 'shape' => 'SubscriptionsList', ], 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'ListSubscriptionsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'ListSubscriptionsResponse' => [ 'type' => 'structure', 'members' => [ 'Subscriptions' => [ 'shape' => 'SubscriptionsList', ], 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'ListTopicsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'ListTopicsResponse' => [ 'type' => 'structure', 'members' => [ 'Topics' => [ 'shape' => 'TopicsList', ], 'NextToken' => [ 'shape' => 'nextToken', ], ], ], 'MapStringToString' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'MessageAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', 'locationName' => 'Name', ], 'value' => [ 'shape' => 'MessageAttributeValue', 'locationName' => 'Value', ], ], 'MessageAttributeValue' => [ 'type' => 'structure', 'required' => [ 'DataType', ], 'members' => [ 'DataType' => [ 'shape' => 'String', ], 'StringValue' => [ 'shape' => 'String', ], 'BinaryValue' => [ 'shape' => 'Binary', ], ], ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'NotFound', 'httpStatusCode' => 404, 'senderFault' => true, ], 'exception' => true, ], 'OptInPhoneNumberInput' => [ 'type' => 'structure', 'required' => [ 'phoneNumber', ], 'members' => [ 'phoneNumber' => [ 'shape' => 'PhoneNumber', ], ], ], 'OptInPhoneNumberResponse' => [ 'type' => 'structure', 'members' => [], ], 'PhoneNumber' => [ 'type' => 'string', ], 'PhoneNumberList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PhoneNumber', ], ], 'PlatformApplication' => [ 'type' => 'structure', 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'PlatformApplicationDisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'PlatformApplicationDisabled', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'PublishInput' => [ 'type' => 'structure', 'required' => [ 'Message', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'TargetArn' => [ 'shape' => 'String', ], 'PhoneNumber' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'message', ], 'Subject' => [ 'shape' => 'subject', ], 'MessageStructure' => [ 'shape' => 'messageStructure', ], 'MessageAttributes' => [ 'shape' => 'MessageAttributeMap', ], ], ], 'PublishResponse' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'messageId', ], ], ], 'RemovePermissionInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Label', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'Label' => [ 'shape' => 'label', ], ], ], 'SetEndpointAttributesInput' => [ 'type' => 'structure', 'required' => [ 'EndpointArn', 'Attributes', ], 'members' => [ 'EndpointArn' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'SetPlatformApplicationAttributesInput' => [ 'type' => 'structure', 'required' => [ 'PlatformApplicationArn', 'Attributes', ], 'members' => [ 'PlatformApplicationArn' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'SetSMSAttributesInput' => [ 'type' => 'structure', 'required' => [ 'attributes', ], 'members' => [ 'attributes' => [ 'shape' => 'MapStringToString', ], ], ], 'SetSMSAttributesResponse' => [ 'type' => 'structure', 'members' => [], ], 'SetSubscriptionAttributesInput' => [ 'type' => 'structure', 'required' => [ 'SubscriptionArn', 'AttributeName', ], 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], 'AttributeName' => [ 'shape' => 'attributeName', ], 'AttributeValue' => [ 'shape' => 'attributeValue', ], ], ], 'SetTopicAttributesInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'AttributeName', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'AttributeName' => [ 'shape' => 'attributeName', ], 'AttributeValue' => [ 'shape' => 'attributeValue', ], ], ], 'String' => [ 'type' => 'string', ], 'SubscribeInput' => [ 'type' => 'structure', 'required' => [ 'TopicArn', 'Protocol', ], 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], 'Protocol' => [ 'shape' => 'protocol', ], 'Endpoint' => [ 'shape' => 'endpoint', ], 'Attributes' => [ 'shape' => 'SubscriptionAttributesMap', ], 'ReturnSubscriptionArn' => [ 'shape' => 'boolean', ], ], ], 'SubscribeResponse' => [ 'type' => 'structure', 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], ], ], 'Subscription' => [ 'type' => 'structure', 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], 'Owner' => [ 'shape' => 'account', ], 'Protocol' => [ 'shape' => 'protocol', ], 'Endpoint' => [ 'shape' => 'endpoint', ], 'TopicArn' => [ 'shape' => 'topicARN', ], ], ], 'SubscriptionAttributesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'attributeName', ], 'value' => [ 'shape' => 'attributeValue', ], ], 'SubscriptionLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'SubscriptionLimitExceeded', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'SubscriptionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscription', ], ], 'ThrottledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'Throttled', 'httpStatusCode' => 429, 'senderFault' => true, ], 'exception' => true, ], 'Topic' => [ 'type' => 'structure', 'members' => [ 'TopicArn' => [ 'shape' => 'topicARN', ], ], ], 'TopicAttributesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'attributeName', ], 'value' => [ 'shape' => 'attributeValue', ], ], 'TopicLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], ], 'error' => [ 'code' => 'TopicLimitExceeded', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'TopicsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Topic', ], ], 'UnsubscribeInput' => [ 'type' => 'structure', 'required' => [ 'SubscriptionArn', ], 'members' => [ 'SubscriptionArn' => [ 'shape' => 'subscriptionARN', ], ], ], 'account' => [ 'type' => 'string', ], 'action' => [ 'type' => 'string', ], 'attributeName' => [ 'type' => 'string', ], 'attributeValue' => [ 'type' => 'string', ], 'authenticateOnUnsubscribe' => [ 'type' => 'string', ], 'boolean' => [ 'type' => 'boolean', ], 'delegate' => [ 'type' => 'string', ], 'endpoint' => [ 'type' => 'string', ], 'label' => [ 'type' => 'string', ], 'message' => [ 'type' => 'string', ], 'messageId' => [ 'type' => 'string', ], 'messageStructure' => [ 'type' => 'string', ], 'nextToken' => [ 'type' => 'string', ], 'protocol' => [ 'type' => 'string', ], 'string' => [ 'type' => 'string', ], 'subject' => [ 'type' => 'string', ], 'subscriptionARN' => [ 'type' => 'string', ], 'token' => [ 'type' => 'string', ], 'topicARN' => [ 'type' => 'string', ], 'topicName' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/sns/2010-03-31/paginators-1.json.php b/lib/aws/Aws/data/sns/2010-03-31/paginators-1.json.php new file mode 100644 index 0000000..e38c6a1 --- /dev/null +++ b/lib/aws/Aws/data/sns/2010-03-31/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sns/2010-03-31/paginators-1.json +return [ 'pagination' => [ 'ListEndpointsByPlatformApplication' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Endpoints', ], 'ListPlatformApplications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'PlatformApplications', ], 'ListSubscriptions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Subscriptions', ], 'ListSubscriptionsByTopic' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Subscriptions', ], 'ListTopics' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Topics', ], ],]; diff --git a/lib/aws/Aws/data/sns/2010-03-31/smoke.json.php b/lib/aws/Aws/data/sns/2010-03-31/smoke.json.php new file mode 100644 index 0000000..789d757 --- /dev/null +++ b/lib/aws/Aws/data/sns/2010-03-31/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sns/2010-03-31/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListTopics', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'Publish', 'input' => [ 'Message' => 'hello', 'TopicArn' => 'fake_topic', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/sqs/2012-11-05/api-2.json.php b/lib/aws/Aws/data/sqs/2012-11-05/api-2.json.php new file mode 100644 index 0000000..283a079 --- /dev/null +++ b/lib/aws/Aws/data/sqs/2012-11-05/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sqs/2012-11-05/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-11-05', 'endpointPrefix' => 'sqs', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon SQS', 'serviceFullName' => 'Amazon Simple Queue Service', 'serviceId' => 'SQS', 'signatureVersion' => 'v4', 'uid' => 'sqs-2012-11-05', 'xmlNamespace' => 'http://queue.amazonaws.com/doc/2012-11-05/', ], 'operations' => [ 'AddPermission' => [ 'name' => 'AddPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddPermissionRequest', ], 'errors' => [ [ 'shape' => 'OverLimit', ], ], ], 'ChangeMessageVisibility' => [ 'name' => 'ChangeMessageVisibility', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ChangeMessageVisibilityRequest', ], 'errors' => [ [ 'shape' => 'MessageNotInflight', ], [ 'shape' => 'ReceiptHandleIsInvalid', ], ], ], 'ChangeMessageVisibilityBatch' => [ 'name' => 'ChangeMessageVisibilityBatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ChangeMessageVisibilityBatchRequest', ], 'output' => [ 'shape' => 'ChangeMessageVisibilityBatchResult', 'resultWrapper' => 'ChangeMessageVisibilityBatchResult', ], 'errors' => [ [ 'shape' => 'TooManyEntriesInBatchRequest', ], [ 'shape' => 'EmptyBatchRequest', ], [ 'shape' => 'BatchEntryIdsNotDistinct', ], [ 'shape' => 'InvalidBatchEntryId', ], ], ], 'CreateQueue' => [ 'name' => 'CreateQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateQueueRequest', ], 'output' => [ 'shape' => 'CreateQueueResult', 'resultWrapper' => 'CreateQueueResult', ], 'errors' => [ [ 'shape' => 'QueueDeletedRecently', ], [ 'shape' => 'QueueNameExists', ], ], ], 'DeleteMessage' => [ 'name' => 'DeleteMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMessageRequest', ], 'errors' => [ [ 'shape' => 'InvalidIdFormat', ], [ 'shape' => 'ReceiptHandleIsInvalid', ], ], ], 'DeleteMessageBatch' => [ 'name' => 'DeleteMessageBatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMessageBatchRequest', ], 'output' => [ 'shape' => 'DeleteMessageBatchResult', 'resultWrapper' => 'DeleteMessageBatchResult', ], 'errors' => [ [ 'shape' => 'TooManyEntriesInBatchRequest', ], [ 'shape' => 'EmptyBatchRequest', ], [ 'shape' => 'BatchEntryIdsNotDistinct', ], [ 'shape' => 'InvalidBatchEntryId', ], ], ], 'DeleteQueue' => [ 'name' => 'DeleteQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteQueueRequest', ], ], 'GetQueueAttributes' => [ 'name' => 'GetQueueAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQueueAttributesRequest', ], 'output' => [ 'shape' => 'GetQueueAttributesResult', 'resultWrapper' => 'GetQueueAttributesResult', ], 'errors' => [ [ 'shape' => 'InvalidAttributeName', ], ], ], 'GetQueueUrl' => [ 'name' => 'GetQueueUrl', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetQueueUrlRequest', ], 'output' => [ 'shape' => 'GetQueueUrlResult', 'resultWrapper' => 'GetQueueUrlResult', ], 'errors' => [ [ 'shape' => 'QueueDoesNotExist', ], ], ], 'ListDeadLetterSourceQueues' => [ 'name' => 'ListDeadLetterSourceQueues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDeadLetterSourceQueuesRequest', ], 'output' => [ 'shape' => 'ListDeadLetterSourceQueuesResult', 'resultWrapper' => 'ListDeadLetterSourceQueuesResult', ], 'errors' => [ [ 'shape' => 'QueueDoesNotExist', ], ], ], 'ListQueueTags' => [ 'name' => 'ListQueueTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListQueueTagsRequest', ], 'output' => [ 'shape' => 'ListQueueTagsResult', 'resultWrapper' => 'ListQueueTagsResult', ], ], 'ListQueues' => [ 'name' => 'ListQueues', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListQueuesRequest', ], 'output' => [ 'shape' => 'ListQueuesResult', 'resultWrapper' => 'ListQueuesResult', ], ], 'PurgeQueue' => [ 'name' => 'PurgeQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PurgeQueueRequest', ], 'errors' => [ [ 'shape' => 'QueueDoesNotExist', ], [ 'shape' => 'PurgeQueueInProgress', ], ], ], 'ReceiveMessage' => [ 'name' => 'ReceiveMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ReceiveMessageRequest', ], 'output' => [ 'shape' => 'ReceiveMessageResult', 'resultWrapper' => 'ReceiveMessageResult', ], 'errors' => [ [ 'shape' => 'OverLimit', ], ], ], 'RemovePermission' => [ 'name' => 'RemovePermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemovePermissionRequest', ], ], 'SendMessage' => [ 'name' => 'SendMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendMessageRequest', ], 'output' => [ 'shape' => 'SendMessageResult', 'resultWrapper' => 'SendMessageResult', ], 'errors' => [ [ 'shape' => 'InvalidMessageContents', ], [ 'shape' => 'UnsupportedOperation', ], ], ], 'SendMessageBatch' => [ 'name' => 'SendMessageBatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendMessageBatchRequest', ], 'output' => [ 'shape' => 'SendMessageBatchResult', 'resultWrapper' => 'SendMessageBatchResult', ], 'errors' => [ [ 'shape' => 'TooManyEntriesInBatchRequest', ], [ 'shape' => 'EmptyBatchRequest', ], [ 'shape' => 'BatchEntryIdsNotDistinct', ], [ 'shape' => 'BatchRequestTooLong', ], [ 'shape' => 'InvalidBatchEntryId', ], [ 'shape' => 'UnsupportedOperation', ], ], ], 'SetQueueAttributes' => [ 'name' => 'SetQueueAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetQueueAttributesRequest', ], 'errors' => [ [ 'shape' => 'InvalidAttributeName', ], ], ], 'TagQueue' => [ 'name' => 'TagQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagQueueRequest', ], ], 'UntagQueue' => [ 'name' => 'UntagQueue', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagQueueRequest', ], ], ], 'shapes' => [ 'AWSAccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AWSAccountId', ], 'flattened' => true, ], 'ActionNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ActionName', ], 'flattened' => true, ], 'AddPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Label', 'AWSAccountIds', 'Actions', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Label' => [ 'shape' => 'String', ], 'AWSAccountIds' => [ 'shape' => 'AWSAccountIdList', ], 'Actions' => [ 'shape' => 'ActionNameList', ], ], ], 'AttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'QueueAttributeName', 'locationName' => 'AttributeName', ], 'flattened' => true, ], 'BatchEntryIdsNotDistinct' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.BatchEntryIdsNotDistinct', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'BatchRequestTooLong' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.BatchRequestTooLong', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'BatchResultErrorEntry' => [ 'type' => 'structure', 'required' => [ 'Id', 'SenderFault', 'Code', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'SenderFault' => [ 'shape' => 'Boolean', ], 'Code' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'BatchResultErrorEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchResultErrorEntry', 'locationName' => 'BatchResultErrorEntry', ], 'flattened' => true, ], 'Binary' => [ 'type' => 'blob', ], 'BinaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Binary', 'locationName' => 'BinaryListValue', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'ChangeMessageVisibilityBatchRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Entries', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Entries' => [ 'shape' => 'ChangeMessageVisibilityBatchRequestEntryList', ], ], ], 'ChangeMessageVisibilityBatchRequestEntry' => [ 'type' => 'structure', 'required' => [ 'Id', 'ReceiptHandle', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'ReceiptHandle' => [ 'shape' => 'String', ], 'VisibilityTimeout' => [ 'shape' => 'Integer', ], ], ], 'ChangeMessageVisibilityBatchRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChangeMessageVisibilityBatchRequestEntry', 'locationName' => 'ChangeMessageVisibilityBatchRequestEntry', ], 'flattened' => true, ], 'ChangeMessageVisibilityBatchResult' => [ 'type' => 'structure', 'required' => [ 'Successful', 'Failed', ], 'members' => [ 'Successful' => [ 'shape' => 'ChangeMessageVisibilityBatchResultEntryList', ], 'Failed' => [ 'shape' => 'BatchResultErrorEntryList', ], ], ], 'ChangeMessageVisibilityBatchResultEntry' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], ], ], 'ChangeMessageVisibilityBatchResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChangeMessageVisibilityBatchResultEntry', 'locationName' => 'ChangeMessageVisibilityBatchResultEntry', ], 'flattened' => true, ], 'ChangeMessageVisibilityRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'ReceiptHandle', 'VisibilityTimeout', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'ReceiptHandle' => [ 'shape' => 'String', ], 'VisibilityTimeout' => [ 'shape' => 'Integer', ], ], ], 'CreateQueueRequest' => [ 'type' => 'structure', 'required' => [ 'QueueName', ], 'members' => [ 'QueueName' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'QueueAttributeMap', 'locationName' => 'Attribute', ], ], ], 'CreateQueueResult' => [ 'type' => 'structure', 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'DeleteMessageBatchRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Entries', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Entries' => [ 'shape' => 'DeleteMessageBatchRequestEntryList', ], ], ], 'DeleteMessageBatchRequestEntry' => [ 'type' => 'structure', 'required' => [ 'Id', 'ReceiptHandle', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'ReceiptHandle' => [ 'shape' => 'String', ], ], ], 'DeleteMessageBatchRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteMessageBatchRequestEntry', 'locationName' => 'DeleteMessageBatchRequestEntry', ], 'flattened' => true, ], 'DeleteMessageBatchResult' => [ 'type' => 'structure', 'required' => [ 'Successful', 'Failed', ], 'members' => [ 'Successful' => [ 'shape' => 'DeleteMessageBatchResultEntryList', ], 'Failed' => [ 'shape' => 'BatchResultErrorEntryList', ], ], ], 'DeleteMessageBatchResultEntry' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], ], ], 'DeleteMessageBatchResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeleteMessageBatchResultEntry', 'locationName' => 'DeleteMessageBatchResultEntry', ], 'flattened' => true, ], 'DeleteMessageRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'ReceiptHandle', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'ReceiptHandle' => [ 'shape' => 'String', ], ], ], 'DeleteQueueRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'EmptyBatchRequest' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.EmptyBatchRequest', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'GetQueueAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], ], ], 'GetQueueAttributesResult' => [ 'type' => 'structure', 'members' => [ 'Attributes' => [ 'shape' => 'QueueAttributeMap', 'locationName' => 'Attribute', ], ], ], 'GetQueueUrlRequest' => [ 'type' => 'structure', 'required' => [ 'QueueName', ], 'members' => [ 'QueueName' => [ 'shape' => 'String', ], 'QueueOwnerAWSAccountId' => [ 'shape' => 'String', ], ], ], 'GetQueueUrlResult' => [ 'type' => 'structure', 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InvalidAttributeName' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidBatchEntryId' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.InvalidBatchEntryId', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidIdFormat' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidMessageContents' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ListDeadLetterSourceQueuesRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'ListDeadLetterSourceQueuesResult' => [ 'type' => 'structure', 'required' => [ 'queueUrls', ], 'members' => [ 'queueUrls' => [ 'shape' => 'QueueUrlList', ], ], ], 'ListQueueTagsRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'ListQueueTagsResult' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagMap', 'locationName' => 'Tag', ], ], ], 'ListQueuesRequest' => [ 'type' => 'structure', 'members' => [ 'QueueNamePrefix' => [ 'shape' => 'String', ], ], ], 'ListQueuesResult' => [ 'type' => 'structure', 'members' => [ 'QueueUrls' => [ 'shape' => 'QueueUrlList', ], ], ], 'Message' => [ 'type' => 'structure', 'members' => [ 'MessageId' => [ 'shape' => 'String', ], 'ReceiptHandle' => [ 'shape' => 'String', ], 'MD5OfBody' => [ 'shape' => 'String', ], 'Body' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'MessageSystemAttributeMap', 'locationName' => 'Attribute', ], 'MD5OfMessageAttributes' => [ 'shape' => 'String', ], 'MessageAttributes' => [ 'shape' => 'MessageBodyAttributeMap', 'locationName' => 'MessageAttribute', ], ], ], 'MessageAttributeName' => [ 'type' => 'string', ], 'MessageAttributeNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MessageAttributeName', 'locationName' => 'MessageAttributeName', ], 'flattened' => true, ], 'MessageAttributeValue' => [ 'type' => 'structure', 'required' => [ 'DataType', ], 'members' => [ 'StringValue' => [ 'shape' => 'String', ], 'BinaryValue' => [ 'shape' => 'Binary', ], 'StringListValues' => [ 'shape' => 'StringList', 'flattened' => true, 'locationName' => 'StringListValue', ], 'BinaryListValues' => [ 'shape' => 'BinaryList', 'flattened' => true, 'locationName' => 'BinaryListValue', ], 'DataType' => [ 'shape' => 'String', ], ], ], 'MessageBodyAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', 'locationName' => 'Name', ], 'value' => [ 'shape' => 'MessageAttributeValue', 'locationName' => 'Value', ], 'flattened' => true, ], 'MessageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Message', 'locationName' => 'Message', ], 'flattened' => true, ], 'MessageNotInflight' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.MessageNotInflight', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'MessageSystemAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'MessageSystemAttributeName', 'locationName' => 'Name', ], 'value' => [ 'shape' => 'String', 'locationName' => 'Value', ], 'flattened' => true, 'locationName' => 'Attribute', ], 'MessageSystemAttributeName' => [ 'type' => 'string', 'enum' => [ 'SenderId', 'SentTimestamp', 'ApproximateReceiveCount', 'ApproximateFirstReceiveTimestamp', 'SequenceNumber', 'MessageDeduplicationId', 'MessageGroupId', ], ], 'OverLimit' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'OverLimit', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'PurgeQueueInProgress' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.PurgeQueueInProgress', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'PurgeQueueRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], ], ], 'QueueAttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'QueueAttributeName', 'locationName' => 'Name', ], 'value' => [ 'shape' => 'String', 'locationName' => 'Value', ], 'flattened' => true, 'locationName' => 'Attribute', ], 'QueueAttributeName' => [ 'type' => 'string', 'enum' => [ 'All', 'Policy', 'VisibilityTimeout', 'MaximumMessageSize', 'MessageRetentionPeriod', 'ApproximateNumberOfMessages', 'ApproximateNumberOfMessagesNotVisible', 'CreatedTimestamp', 'LastModifiedTimestamp', 'QueueArn', 'ApproximateNumberOfMessagesDelayed', 'DelaySeconds', 'ReceiveMessageWaitTimeSeconds', 'RedrivePolicy', 'FifoQueue', 'ContentBasedDeduplication', 'KmsMasterKeyId', 'KmsDataKeyReusePeriodSeconds', ], ], 'QueueDeletedRecently' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.QueueDeletedRecently', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'QueueDoesNotExist' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.NonExistentQueue', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'QueueNameExists' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'QueueAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'QueueUrlList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'QueueUrl', ], 'flattened' => true, ], 'ReceiptHandleIsInvalid' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ReceiveMessageRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'AttributeNames' => [ 'shape' => 'AttributeNameList', ], 'MessageAttributeNames' => [ 'shape' => 'MessageAttributeNameList', ], 'MaxNumberOfMessages' => [ 'shape' => 'Integer', ], 'VisibilityTimeout' => [ 'shape' => 'Integer', ], 'WaitTimeSeconds' => [ 'shape' => 'Integer', ], 'ReceiveRequestAttemptId' => [ 'shape' => 'String', ], ], ], 'ReceiveMessageResult' => [ 'type' => 'structure', 'members' => [ 'Messages' => [ 'shape' => 'MessageList', ], ], ], 'RemovePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Label', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Label' => [ 'shape' => 'String', ], ], ], 'SendMessageBatchRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Entries', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Entries' => [ 'shape' => 'SendMessageBatchRequestEntryList', ], ], ], 'SendMessageBatchRequestEntry' => [ 'type' => 'structure', 'required' => [ 'Id', 'MessageBody', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'MessageBody' => [ 'shape' => 'String', ], 'DelaySeconds' => [ 'shape' => 'Integer', ], 'MessageAttributes' => [ 'shape' => 'MessageBodyAttributeMap', 'locationName' => 'MessageAttribute', ], 'MessageDeduplicationId' => [ 'shape' => 'String', ], 'MessageGroupId' => [ 'shape' => 'String', ], ], ], 'SendMessageBatchRequestEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SendMessageBatchRequestEntry', 'locationName' => 'SendMessageBatchRequestEntry', ], 'flattened' => true, ], 'SendMessageBatchResult' => [ 'type' => 'structure', 'required' => [ 'Successful', 'Failed', ], 'members' => [ 'Successful' => [ 'shape' => 'SendMessageBatchResultEntryList', ], 'Failed' => [ 'shape' => 'BatchResultErrorEntryList', ], ], ], 'SendMessageBatchResultEntry' => [ 'type' => 'structure', 'required' => [ 'Id', 'MessageId', 'MD5OfMessageBody', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'MessageId' => [ 'shape' => 'String', ], 'MD5OfMessageBody' => [ 'shape' => 'String', ], 'MD5OfMessageAttributes' => [ 'shape' => 'String', ], 'SequenceNumber' => [ 'shape' => 'String', ], ], ], 'SendMessageBatchResultEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SendMessageBatchResultEntry', 'locationName' => 'SendMessageBatchResultEntry', ], 'flattened' => true, ], 'SendMessageRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'MessageBody', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'MessageBody' => [ 'shape' => 'String', ], 'DelaySeconds' => [ 'shape' => 'Integer', ], 'MessageAttributes' => [ 'shape' => 'MessageBodyAttributeMap', 'locationName' => 'MessageAttribute', ], 'MessageDeduplicationId' => [ 'shape' => 'String', ], 'MessageGroupId' => [ 'shape' => 'String', ], ], ], 'SendMessageResult' => [ 'type' => 'structure', 'members' => [ 'MD5OfMessageBody' => [ 'shape' => 'String', ], 'MD5OfMessageAttributes' => [ 'shape' => 'String', ], 'MessageId' => [ 'shape' => 'String', ], 'SequenceNumber' => [ 'shape' => 'String', ], ], ], 'SetQueueAttributesRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Attributes', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Attributes' => [ 'shape' => 'QueueAttributeMap', 'locationName' => 'Attribute', ], ], ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'StringListValue', ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', 'locationName' => 'TagKey', ], 'flattened' => true, ], 'TagMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TagKey', 'locationName' => 'Key', ], 'value' => [ 'shape' => 'TagValue', 'locationName' => 'Value', ], 'flattened' => true, 'locationName' => 'Tag', ], 'TagQueueRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'Tags', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagMap', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'TooManyEntriesInBatchRequest' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.TooManyEntriesInBatchRequest', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UnsupportedOperation' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'AWS.SimpleQueueService.UnsupportedOperation', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'UntagQueueRequest' => [ 'type' => 'structure', 'required' => [ 'QueueUrl', 'TagKeys', ], 'members' => [ 'QueueUrl' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], ],]; diff --git a/lib/aws/Aws/data/sqs/2012-11-05/paginators-1.json.php b/lib/aws/Aws/data/sqs/2012-11-05/paginators-1.json.php new file mode 100644 index 0000000..b1613b6 --- /dev/null +++ b/lib/aws/Aws/data/sqs/2012-11-05/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sqs/2012-11-05/paginators-1.json +return [ 'pagination' => [ 'ListQueues' => [ 'result_key' => 'QueueUrls', ], ],]; diff --git a/lib/aws/Aws/data/sqs/2012-11-05/smoke.json.php b/lib/aws/Aws/data/sqs/2012-11-05/smoke.json.php new file mode 100644 index 0000000..a1822ce --- /dev/null +++ b/lib/aws/Aws/data/sqs/2012-11-05/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sqs/2012-11-05/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListQueues', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetQueueUrl', 'input' => [ 'QueueName' => 'fake_queue', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/sqs/2012-11-05/waiters-2.json.php b/lib/aws/Aws/data/sqs/2012-11-05/waiters-2.json.php new file mode 100644 index 0000000..ca81598 --- /dev/null +++ b/lib/aws/Aws/data/sqs/2012-11-05/waiters-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sqs/2012-11-05/waiters-2.json +return [ 'version' => 2, 'waiters' => [ 'QueueExists' => [ 'acceptors' => [ [ 'expected' => 200, 'matcher' => 'status', 'state' => 'success', ], [ 'expected' => 'QueueDoesNotExist', 'matcher' => 'error', 'state' => 'retry', ], ], 'delay' => 5, 'maxAttempts' => 40, 'operation' => 'GetQueueUrl', ], ],]; diff --git a/lib/aws/Aws/data/ssm/2014-11-06/api-2.json.php b/lib/aws/Aws/data/ssm/2014-11-06/api-2.json.php new file mode 100644 index 0000000..38d55ec --- /dev/null +++ b/lib/aws/Aws/data/ssm/2014-11-06/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ssm/2014-11-06/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2014-11-06', 'endpointPrefix' => 'ssm', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon SSM', 'serviceFullName' => 'Amazon Simple Systems Manager (SSM)', 'serviceId' => 'SSM', 'signatureVersion' => 'v4', 'targetPrefix' => 'AmazonSSM', 'uid' => 'ssm-2014-11-06', ], 'operations' => [ 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceRequest', ], 'output' => [ 'shape' => 'AddTagsToResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceType', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TooManyTagsError', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'CancelCommand' => [ 'name' => 'CancelCommand', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelCommandRequest', ], 'output' => [ 'shape' => 'CancelCommandResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidCommandId', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'DuplicateInstanceId', ], ], ], 'CancelMaintenanceWindowExecution' => [ 'name' => 'CancelMaintenanceWindowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelMaintenanceWindowExecutionRequest', ], 'output' => [ 'shape' => 'CancelMaintenanceWindowExecutionResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'DoesNotExistException', ], ], ], 'CreateActivation' => [ 'name' => 'CreateActivation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateActivationRequest', ], 'output' => [ 'shape' => 'CreateActivationResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'CreateAssociation' => [ 'name' => 'CreateAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAssociationRequest', ], 'output' => [ 'shape' => 'CreateAssociationResult', ], 'errors' => [ [ 'shape' => 'AssociationAlreadyExists', ], [ 'shape' => 'AssociationLimitExceeded', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'UnsupportedPlatformType', ], [ 'shape' => 'InvalidOutputLocation', ], [ 'shape' => 'InvalidParameters', ], [ 'shape' => 'InvalidTarget', ], [ 'shape' => 'InvalidSchedule', ], ], ], 'CreateAssociationBatch' => [ 'name' => 'CreateAssociationBatch', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAssociationBatchRequest', ], 'output' => [ 'shape' => 'CreateAssociationBatchResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidParameters', ], [ 'shape' => 'DuplicateInstanceId', ], [ 'shape' => 'AssociationLimitExceeded', ], [ 'shape' => 'UnsupportedPlatformType', ], [ 'shape' => 'InvalidOutputLocation', ], [ 'shape' => 'InvalidTarget', ], [ 'shape' => 'InvalidSchedule', ], ], ], 'CreateDocument' => [ 'name' => 'CreateDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateDocumentRequest', ], 'output' => [ 'shape' => 'CreateDocumentResult', ], 'errors' => [ [ 'shape' => 'DocumentAlreadyExists', ], [ 'shape' => 'MaxDocumentSizeExceeded', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocumentContent', ], [ 'shape' => 'DocumentLimitExceeded', ], [ 'shape' => 'InvalidDocumentSchemaVersion', ], ], ], 'CreateMaintenanceWindow' => [ 'name' => 'CreateMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'CreateMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatch', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreatePatchBaseline' => [ 'name' => 'CreatePatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreatePatchBaselineRequest', ], 'output' => [ 'shape' => 'CreatePatchBaselineResult', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatch', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateResourceDataSync' => [ 'name' => 'CreateResourceDataSync', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResourceDataSyncRequest', ], 'output' => [ 'shape' => 'CreateResourceDataSyncResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceDataSyncCountExceededException', ], [ 'shape' => 'ResourceDataSyncAlreadyExistsException', ], [ 'shape' => 'ResourceDataSyncInvalidConfigurationException', ], ], ], 'DeleteActivation' => [ 'name' => 'DeleteActivation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteActivationRequest', ], 'output' => [ 'shape' => 'DeleteActivationResult', ], 'errors' => [ [ 'shape' => 'InvalidActivationId', ], [ 'shape' => 'InvalidActivation', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'DeleteAssociation' => [ 'name' => 'DeleteAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAssociationRequest', ], 'output' => [ 'shape' => 'DeleteAssociationResult', ], 'errors' => [ [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'DeleteDocument' => [ 'name' => 'DeleteDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteDocumentRequest', ], 'output' => [ 'shape' => 'DeleteDocumentResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentOperation', ], [ 'shape' => 'AssociatedInstances', ], ], ], 'DeleteInventory' => [ 'name' => 'DeleteInventory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteInventoryRequest', ], 'output' => [ 'shape' => 'DeleteInventoryResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidTypeNameException', ], [ 'shape' => 'InvalidOptionException', ], [ 'shape' => 'InvalidDeleteInventoryParametersException', ], [ 'shape' => 'InvalidInventoryRequestException', ], ], ], 'DeleteMaintenanceWindow' => [ 'name' => 'DeleteMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'DeleteMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DeleteParameter' => [ 'name' => 'DeleteParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteParameterRequest', ], 'output' => [ 'shape' => 'DeleteParameterResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ParameterNotFound', ], ], ], 'DeleteParameters' => [ 'name' => 'DeleteParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteParametersRequest', ], 'output' => [ 'shape' => 'DeleteParametersResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DeletePatchBaseline' => [ 'name' => 'DeletePatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePatchBaselineRequest', ], 'output' => [ 'shape' => 'DeletePatchBaselineResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteResourceDataSync' => [ 'name' => 'DeleteResourceDataSync', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourceDataSyncRequest', ], 'output' => [ 'shape' => 'DeleteResourceDataSyncResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceDataSyncNotFoundException', ], ], ], 'DeregisterManagedInstance' => [ 'name' => 'DeregisterManagedInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterManagedInstanceRequest', ], 'output' => [ 'shape' => 'DeregisterManagedInstanceResult', ], 'errors' => [ [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeregisterPatchBaselineForPatchGroup' => [ 'name' => 'DeregisterPatchBaselineForPatchGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterPatchBaselineForPatchGroupRequest', ], 'output' => [ 'shape' => 'DeregisterPatchBaselineForPatchGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeregisterTargetFromMaintenanceWindow' => [ 'name' => 'DeregisterTargetFromMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterTargetFromMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'DeregisterTargetFromMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TargetInUseException', ], ], ], 'DeregisterTaskFromMaintenanceWindow' => [ 'name' => 'DeregisterTaskFromMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterTaskFromMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'DeregisterTaskFromMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeActivations' => [ 'name' => 'DescribeActivations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeActivationsRequest', ], 'output' => [ 'shape' => 'DescribeActivationsResult', ], 'errors' => [ [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeAssociation' => [ 'name' => 'DescribeAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssociationRequest', ], 'output' => [ 'shape' => 'DescribeAssociationResult', ], 'errors' => [ [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'InvalidAssociationVersion', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidInstanceId', ], ], ], 'DescribeAssociationExecutionTargets' => [ 'name' => 'DescribeAssociationExecutionTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssociationExecutionTargetsRequest', ], 'output' => [ 'shape' => 'DescribeAssociationExecutionTargetsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'AssociationExecutionDoesNotExist', ], ], ], 'DescribeAssociationExecutions' => [ 'name' => 'DescribeAssociationExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAssociationExecutionsRequest', ], 'output' => [ 'shape' => 'DescribeAssociationExecutionsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeAutomationExecutions' => [ 'name' => 'DescribeAutomationExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAutomationExecutionsRequest', ], 'output' => [ 'shape' => 'DescribeAutomationExecutionsResult', ], 'errors' => [ [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidFilterValue', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeAutomationStepExecutions' => [ 'name' => 'DescribeAutomationStepExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAutomationStepExecutionsRequest', ], 'output' => [ 'shape' => 'DescribeAutomationStepExecutionsResult', ], 'errors' => [ [ 'shape' => 'AutomationExecutionNotFoundException', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidFilterValue', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeAvailablePatches' => [ 'name' => 'DescribeAvailablePatches', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAvailablePatchesRequest', ], 'output' => [ 'shape' => 'DescribeAvailablePatchesResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeDocument' => [ 'name' => 'DescribeDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDocumentRequest', ], 'output' => [ 'shape' => 'DescribeDocumentResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], ], ], 'DescribeDocumentPermission' => [ 'name' => 'DescribeDocumentPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDocumentPermissionRequest', ], 'output' => [ 'shape' => 'DescribeDocumentPermissionResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidPermissionType', ], ], ], 'DescribeEffectiveInstanceAssociations' => [ 'name' => 'DescribeEffectiveInstanceAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEffectiveInstanceAssociationsRequest', ], 'output' => [ 'shape' => 'DescribeEffectiveInstanceAssociationsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeEffectivePatchesForPatchBaseline' => [ 'name' => 'DescribeEffectivePatchesForPatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeEffectivePatchesForPatchBaselineRequest', ], 'output' => [ 'shape' => 'DescribeEffectivePatchesForPatchBaselineResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'UnsupportedOperatingSystem', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeInstanceAssociationsStatus' => [ 'name' => 'DescribeInstanceAssociationsStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceAssociationsStatusRequest', ], 'output' => [ 'shape' => 'DescribeInstanceAssociationsStatusResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeInstanceInformation' => [ 'name' => 'DescribeInstanceInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstanceInformationRequest', ], 'output' => [ 'shape' => 'DescribeInstanceInformationResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidInstanceInformationFilterValue', ], [ 'shape' => 'InvalidFilterKey', ], ], ], 'DescribeInstancePatchStates' => [ 'name' => 'DescribeInstancePatchStates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancePatchStatesRequest', ], 'output' => [ 'shape' => 'DescribeInstancePatchStatesResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeInstancePatchStatesForPatchGroup' => [ 'name' => 'DescribeInstancePatchStatesForPatchGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancePatchStatesForPatchGroupRequest', ], 'output' => [ 'shape' => 'DescribeInstancePatchStatesForPatchGroupResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeInstancePatches' => [ 'name' => 'DescribeInstancePatches', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInstancePatchesRequest', ], 'output' => [ 'shape' => 'DescribeInstancePatchesResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeInventoryDeletions' => [ 'name' => 'DescribeInventoryDeletions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeInventoryDeletionsRequest', ], 'output' => [ 'shape' => 'DescribeInventoryDeletionsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDeletionIdException', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribeMaintenanceWindowExecutionTaskInvocations' => [ 'name' => 'DescribeMaintenanceWindowExecutionTaskInvocations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowExecutionTaskInvocationsRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowExecutionTaskInvocationsResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindowExecutionTasks' => [ 'name' => 'DescribeMaintenanceWindowExecutionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowExecutionTasksRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowExecutionTasksResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindowExecutions' => [ 'name' => 'DescribeMaintenanceWindowExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowExecutionsRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowExecutionsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindowSchedule' => [ 'name' => 'DescribeMaintenanceWindowSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowScheduleRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowScheduleResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'DoesNotExistException', ], ], ], 'DescribeMaintenanceWindowTargets' => [ 'name' => 'DescribeMaintenanceWindowTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowTargetsRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowTargetsResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindowTasks' => [ 'name' => 'DescribeMaintenanceWindowTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowTasksRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowTasksResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindows' => [ 'name' => 'DescribeMaintenanceWindows', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowsRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceWindowsForTarget' => [ 'name' => 'DescribeMaintenanceWindowsForTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceWindowsForTargetRequest', ], 'output' => [ 'shape' => 'DescribeMaintenanceWindowsForTargetResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeParameters' => [ 'name' => 'DescribeParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeParametersRequest', ], 'output' => [ 'shape' => 'DescribeParametersResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidFilterOption', ], [ 'shape' => 'InvalidFilterValue', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribePatchBaselines' => [ 'name' => 'DescribePatchBaselines', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePatchBaselinesRequest', ], 'output' => [ 'shape' => 'DescribePatchBaselinesResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribePatchGroupState' => [ 'name' => 'DescribePatchGroupState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePatchGroupStateRequest', ], 'output' => [ 'shape' => 'DescribePatchGroupStateResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'DescribePatchGroups' => [ 'name' => 'DescribePatchGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribePatchGroupsRequest', ], 'output' => [ 'shape' => 'DescribePatchGroupsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeSessions' => [ 'name' => 'DescribeSessions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSessionsRequest', ], 'output' => [ 'shape' => 'DescribeSessionsResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'GetAutomationExecution' => [ 'name' => 'GetAutomationExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAutomationExecutionRequest', ], 'output' => [ 'shape' => 'GetAutomationExecutionResult', ], 'errors' => [ [ 'shape' => 'AutomationExecutionNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetCommandInvocation' => [ 'name' => 'GetCommandInvocation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCommandInvocationRequest', ], 'output' => [ 'shape' => 'GetCommandInvocationResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidCommandId', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidPluginName', ], [ 'shape' => 'InvocationDoesNotExist', ], ], ], 'GetConnectionStatus' => [ 'name' => 'GetConnectionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetConnectionStatusRequest', ], 'output' => [ 'shape' => 'GetConnectionStatusResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'GetDefaultPatchBaseline' => [ 'name' => 'GetDefaultPatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDefaultPatchBaselineRequest', ], 'output' => [ 'shape' => 'GetDefaultPatchBaselineResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'GetDeployablePatchSnapshotForInstance' => [ 'name' => 'GetDeployablePatchSnapshotForInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDeployablePatchSnapshotForInstanceRequest', ], 'output' => [ 'shape' => 'GetDeployablePatchSnapshotForInstanceResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'UnsupportedOperatingSystem', ], ], ], 'GetDocument' => [ 'name' => 'GetDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDocumentRequest', ], 'output' => [ 'shape' => 'GetDocumentResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], ], ], 'GetInventory' => [ 'name' => 'GetInventory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInventoryRequest', ], 'output' => [ 'shape' => 'GetInventoryResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidInventoryGroupException', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidTypeNameException', ], [ 'shape' => 'InvalidAggregatorException', ], [ 'shape' => 'InvalidResultAttributeException', ], ], ], 'GetInventorySchema' => [ 'name' => 'GetInventorySchema', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetInventorySchemaRequest', ], 'output' => [ 'shape' => 'GetInventorySchemaResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidTypeNameException', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'GetMaintenanceWindow' => [ 'name' => 'GetMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'GetMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetMaintenanceWindowExecution' => [ 'name' => 'GetMaintenanceWindowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMaintenanceWindowExecutionRequest', ], 'output' => [ 'shape' => 'GetMaintenanceWindowExecutionResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetMaintenanceWindowExecutionTask' => [ 'name' => 'GetMaintenanceWindowExecutionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMaintenanceWindowExecutionTaskRequest', ], 'output' => [ 'shape' => 'GetMaintenanceWindowExecutionTaskResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetMaintenanceWindowExecutionTaskInvocation' => [ 'name' => 'GetMaintenanceWindowExecutionTaskInvocation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMaintenanceWindowExecutionTaskInvocationRequest', ], 'output' => [ 'shape' => 'GetMaintenanceWindowExecutionTaskInvocationResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetMaintenanceWindowTask' => [ 'name' => 'GetMaintenanceWindowTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetMaintenanceWindowTaskRequest', ], 'output' => [ 'shape' => 'GetMaintenanceWindowTaskResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetParameter' => [ 'name' => 'GetParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetParameterRequest', ], 'output' => [ 'shape' => 'GetParameterResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidKeyId', ], [ 'shape' => 'ParameterNotFound', ], [ 'shape' => 'ParameterVersionNotFound', ], ], ], 'GetParameterHistory' => [ 'name' => 'GetParameterHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetParameterHistoryRequest', ], 'output' => [ 'shape' => 'GetParameterHistoryResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ParameterNotFound', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidKeyId', ], ], ], 'GetParameters' => [ 'name' => 'GetParameters', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetParametersRequest', ], 'output' => [ 'shape' => 'GetParametersResult', ], 'errors' => [ [ 'shape' => 'InvalidKeyId', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetParametersByPath' => [ 'name' => 'GetParametersByPath', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetParametersByPathRequest', ], 'output' => [ 'shape' => 'GetParametersByPathResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidFilterOption', ], [ 'shape' => 'InvalidFilterValue', ], [ 'shape' => 'InvalidKeyId', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'GetPatchBaseline' => [ 'name' => 'GetPatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPatchBaselineRequest', ], 'output' => [ 'shape' => 'GetPatchBaselineResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetPatchBaselineForPatchGroup' => [ 'name' => 'GetPatchBaselineForPatchGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPatchBaselineForPatchGroupRequest', ], 'output' => [ 'shape' => 'GetPatchBaselineForPatchGroupResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'GetServiceSetting' => [ 'name' => 'GetServiceSetting', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetServiceSettingRequest', ], 'output' => [ 'shape' => 'GetServiceSettingResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceSettingNotFound', ], ], ], 'LabelParameterVersion' => [ 'name' => 'LabelParameterVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'LabelParameterVersionRequest', ], 'output' => [ 'shape' => 'LabelParameterVersionResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TooManyUpdates', ], [ 'shape' => 'ParameterNotFound', ], [ 'shape' => 'ParameterVersionNotFound', ], [ 'shape' => 'ParameterVersionLabelLimitExceeded', ], ], ], 'ListAssociationVersions' => [ 'name' => 'ListAssociationVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssociationVersionsRequest', ], 'output' => [ 'shape' => 'ListAssociationVersionsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'AssociationDoesNotExist', ], ], ], 'ListAssociations' => [ 'name' => 'ListAssociations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAssociationsRequest', ], 'output' => [ 'shape' => 'ListAssociationsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListCommandInvocations' => [ 'name' => 'ListCommandInvocations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCommandInvocationsRequest', ], 'output' => [ 'shape' => 'ListCommandInvocationsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidCommandId', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListCommands' => [ 'name' => 'ListCommands', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListCommandsRequest', ], 'output' => [ 'shape' => 'ListCommandsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidCommandId', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidFilterKey', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListComplianceItems' => [ 'name' => 'ListComplianceItems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListComplianceItemsRequest', ], 'output' => [ 'shape' => 'ListComplianceItemsResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceType', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListComplianceSummaries' => [ 'name' => 'ListComplianceSummaries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListComplianceSummariesRequest', ], 'output' => [ 'shape' => 'ListComplianceSummariesResult', ], 'errors' => [ [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListDocumentVersions' => [ 'name' => 'ListDocumentVersions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDocumentVersionsRequest', ], 'output' => [ 'shape' => 'ListDocumentVersionsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidDocument', ], ], ], 'ListDocuments' => [ 'name' => 'ListDocuments', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDocumentsRequest', ], 'output' => [ 'shape' => 'ListDocumentsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InvalidFilterKey', ], ], ], 'ListInventoryEntries' => [ 'name' => 'ListInventoryEntries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListInventoryEntriesRequest', ], 'output' => [ 'shape' => 'ListInventoryEntriesResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidTypeNameException', ], [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListResourceComplianceSummaries' => [ 'name' => 'ListResourceComplianceSummaries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceComplianceSummariesRequest', ], 'output' => [ 'shape' => 'ListResourceComplianceSummariesResult', ], 'errors' => [ [ 'shape' => 'InvalidFilter', ], [ 'shape' => 'InvalidNextToken', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListResourceDataSync' => [ 'name' => 'ListResourceDataSync', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceDataSyncRequest', ], 'output' => [ 'shape' => 'ListResourceDataSyncResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidNextToken', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceType', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], ], ], 'ModifyDocumentPermission' => [ 'name' => 'ModifyDocumentPermission', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyDocumentPermissionRequest', ], 'output' => [ 'shape' => 'ModifyDocumentPermissionResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidPermissionType', ], [ 'shape' => 'DocumentPermissionLimit', ], [ 'shape' => 'DocumentLimitExceeded', ], ], ], 'PutComplianceItems' => [ 'name' => 'PutComplianceItems', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutComplianceItemsRequest', ], 'output' => [ 'shape' => 'PutComplianceItemsResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidItemContentException', ], [ 'shape' => 'TotalSizeLimitExceededException', ], [ 'shape' => 'ItemSizeLimitExceededException', ], [ 'shape' => 'ComplianceTypeCountLimitExceededException', ], [ 'shape' => 'InvalidResourceType', ], [ 'shape' => 'InvalidResourceId', ], ], ], 'PutInventory' => [ 'name' => 'PutInventory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutInventoryRequest', ], 'output' => [ 'shape' => 'PutInventoryResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidTypeNameException', ], [ 'shape' => 'InvalidItemContentException', ], [ 'shape' => 'TotalSizeLimitExceededException', ], [ 'shape' => 'ItemSizeLimitExceededException', ], [ 'shape' => 'ItemContentMismatchException', ], [ 'shape' => 'CustomSchemaCountLimitExceededException', ], [ 'shape' => 'UnsupportedInventorySchemaVersionException', ], [ 'shape' => 'UnsupportedInventoryItemContextException', ], [ 'shape' => 'InvalidInventoryItemContextException', ], [ 'shape' => 'SubTypeCountLimitExceededException', ], ], ], 'PutParameter' => [ 'name' => 'PutParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutParameterRequest', ], 'output' => [ 'shape' => 'PutParameterResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidKeyId', ], [ 'shape' => 'ParameterLimitExceeded', ], [ 'shape' => 'TooManyUpdates', ], [ 'shape' => 'ParameterAlreadyExists', ], [ 'shape' => 'HierarchyLevelLimitExceededException', ], [ 'shape' => 'HierarchyTypeMismatchException', ], [ 'shape' => 'InvalidAllowedPatternException', ], [ 'shape' => 'ParameterMaxVersionLimitExceeded', ], [ 'shape' => 'ParameterPatternMismatchException', ], [ 'shape' => 'UnsupportedParameterType', ], ], ], 'RegisterDefaultPatchBaseline' => [ 'name' => 'RegisterDefaultPatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterDefaultPatchBaselineRequest', ], 'output' => [ 'shape' => 'RegisterDefaultPatchBaselineResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RegisterPatchBaselineForPatchGroup' => [ 'name' => 'RegisterPatchBaselineForPatchGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterPatchBaselineForPatchGroupRequest', ], 'output' => [ 'shape' => 'RegisterPatchBaselineForPatchGroupResult', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RegisterTargetWithMaintenanceWindow' => [ 'name' => 'RegisterTargetWithMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterTargetWithMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'RegisterTargetWithMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatch', ], [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RegisterTaskWithMaintenanceWindow' => [ 'name' => 'RegisterTaskWithMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterTaskWithMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'RegisterTaskWithMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'IdempotentParameterMismatch', ], [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'FeatureNotAvailableException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceRequest', ], 'output' => [ 'shape' => 'RemoveTagsFromResourceResult', ], 'errors' => [ [ 'shape' => 'InvalidResourceType', ], [ 'shape' => 'InvalidResourceId', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'ResetServiceSetting' => [ 'name' => 'ResetServiceSetting', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetServiceSettingRequest', ], 'output' => [ 'shape' => 'ResetServiceSettingResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceSettingNotFound', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'ResumeSession' => [ 'name' => 'ResumeSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResumeSessionRequest', ], 'output' => [ 'shape' => 'ResumeSessionResponse', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'SendAutomationSignal' => [ 'name' => 'SendAutomationSignal', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendAutomationSignalRequest', ], 'output' => [ 'shape' => 'SendAutomationSignalResult', ], 'errors' => [ [ 'shape' => 'AutomationExecutionNotFoundException', ], [ 'shape' => 'AutomationStepNotFoundException', ], [ 'shape' => 'InvalidAutomationSignalException', ], [ 'shape' => 'InternalServerError', ], ], ], 'SendCommand' => [ 'name' => 'SendCommand', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendCommandRequest', ], 'output' => [ 'shape' => 'SendCommandResult', ], 'errors' => [ [ 'shape' => 'DuplicateInstanceId', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidOutputFolder', ], [ 'shape' => 'InvalidParameters', ], [ 'shape' => 'UnsupportedPlatformType', ], [ 'shape' => 'MaxDocumentSizeExceeded', ], [ 'shape' => 'InvalidRole', ], [ 'shape' => 'InvalidNotificationConfig', ], ], ], 'StartAssociationsOnce' => [ 'name' => 'StartAssociationsOnce', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartAssociationsOnceRequest', ], 'output' => [ 'shape' => 'StartAssociationsOnceResult', ], 'errors' => [ [ 'shape' => 'InvalidAssociation', ], [ 'shape' => 'AssociationDoesNotExist', ], ], ], 'StartAutomationExecution' => [ 'name' => 'StartAutomationExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartAutomationExecutionRequest', ], 'output' => [ 'shape' => 'StartAutomationExecutionResult', ], 'errors' => [ [ 'shape' => 'AutomationDefinitionNotFoundException', ], [ 'shape' => 'InvalidAutomationExecutionParametersException', ], [ 'shape' => 'AutomationExecutionLimitExceededException', ], [ 'shape' => 'AutomationDefinitionVersionNotFoundException', ], [ 'shape' => 'IdempotentParameterMismatch', ], [ 'shape' => 'InvalidTarget', ], [ 'shape' => 'InternalServerError', ], ], ], 'StartSession' => [ 'name' => 'StartSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSessionRequest', ], 'output' => [ 'shape' => 'StartSessionResponse', ], 'errors' => [ [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'TargetNotConnected', ], [ 'shape' => 'InternalServerError', ], ], ], 'StopAutomationExecution' => [ 'name' => 'StopAutomationExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopAutomationExecutionRequest', ], 'output' => [ 'shape' => 'StopAutomationExecutionResult', ], 'errors' => [ [ 'shape' => 'AutomationExecutionNotFoundException', ], [ 'shape' => 'InvalidAutomationStatusUpdateException', ], [ 'shape' => 'InternalServerError', ], ], ], 'TerminateSession' => [ 'name' => 'TerminateSession', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateSessionRequest', ], 'output' => [ 'shape' => 'TerminateSessionResponse', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateAssociation' => [ 'name' => 'UpdateAssociation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAssociationRequest', ], 'output' => [ 'shape' => 'UpdateAssociationResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidSchedule', ], [ 'shape' => 'InvalidParameters', ], [ 'shape' => 'InvalidOutputLocation', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'InvalidUpdate', ], [ 'shape' => 'TooManyUpdates', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidTarget', ], [ 'shape' => 'InvalidAssociationVersion', ], [ 'shape' => 'AssociationVersionLimitExceeded', ], ], ], 'UpdateAssociationStatus' => [ 'name' => 'UpdateAssociationStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateAssociationStatusRequest', ], 'output' => [ 'shape' => 'UpdateAssociationStatusResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'AssociationDoesNotExist', ], [ 'shape' => 'StatusUnchanged', ], [ 'shape' => 'TooManyUpdates', ], ], ], 'UpdateDocument' => [ 'name' => 'UpdateDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDocumentRequest', ], 'output' => [ 'shape' => 'UpdateDocumentResult', ], 'errors' => [ [ 'shape' => 'MaxDocumentSizeExceeded', ], [ 'shape' => 'DocumentVersionLimitExceeded', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'DuplicateDocumentContent', ], [ 'shape' => 'DuplicateDocumentVersionName', ], [ 'shape' => 'InvalidDocumentContent', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidDocumentSchemaVersion', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentOperation', ], ], ], 'UpdateDocumentDefaultVersion' => [ 'name' => 'UpdateDocumentDefaultVersion', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDocumentDefaultVersionRequest', ], 'output' => [ 'shape' => 'UpdateDocumentDefaultVersionResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'InvalidDocument', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidDocumentSchemaVersion', ], ], ], 'UpdateMaintenanceWindow' => [ 'name' => 'UpdateMaintenanceWindow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMaintenanceWindowRequest', ], 'output' => [ 'shape' => 'UpdateMaintenanceWindowResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateMaintenanceWindowTarget' => [ 'name' => 'UpdateMaintenanceWindowTarget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMaintenanceWindowTargetRequest', ], 'output' => [ 'shape' => 'UpdateMaintenanceWindowTargetResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateMaintenanceWindowTask' => [ 'name' => 'UpdateMaintenanceWindowTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMaintenanceWindowTaskRequest', ], 'output' => [ 'shape' => 'UpdateMaintenanceWindowTaskResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateManagedInstanceRole' => [ 'name' => 'UpdateManagedInstanceRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateManagedInstanceRoleRequest', ], 'output' => [ 'shape' => 'UpdateManagedInstanceRoleResult', ], 'errors' => [ [ 'shape' => 'InvalidInstanceId', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdatePatchBaseline' => [ 'name' => 'UpdatePatchBaseline', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePatchBaselineRequest', ], 'output' => [ 'shape' => 'UpdatePatchBaselineResult', ], 'errors' => [ [ 'shape' => 'DoesNotExistException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateServiceSetting' => [ 'name' => 'UpdateServiceSetting', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServiceSettingRequest', ], 'output' => [ 'shape' => 'UpdateServiceSettingResult', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceSettingNotFound', ], [ 'shape' => 'TooManyUpdates', ], ], ], ], 'shapes' => [ 'Account' => [ 'type' => 'string', ], 'AccountId' => [ 'type' => 'string', 'pattern' => '(?i)all|[0-9]{12}', ], 'AccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], 'max' => 20, ], 'Accounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Account', ], 'max' => 50, 'min' => 1, ], 'Activation' => [ 'type' => 'structure', 'members' => [ 'ActivationId' => [ 'shape' => 'ActivationId', ], 'Description' => [ 'shape' => 'ActivationDescription', ], 'DefaultInstanceName' => [ 'shape' => 'DefaultInstanceName', ], 'IamRole' => [ 'shape' => 'IamRole', ], 'RegistrationLimit' => [ 'shape' => 'RegistrationLimit', ], 'RegistrationsCount' => [ 'shape' => 'RegistrationsCount', ], 'ExpirationDate' => [ 'shape' => 'ExpirationDate', ], 'Expired' => [ 'shape' => 'Boolean', ], 'CreatedDate' => [ 'shape' => 'CreatedDate', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ActivationCode' => [ 'type' => 'string', 'max' => 250, 'min' => 20, ], 'ActivationDescription' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'ActivationId' => [ 'type' => 'string', 'pattern' => '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', ], 'ActivationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Activation', ], ], 'AddTagsToResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', 'Tags', ], 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceTypeForTagging', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsToResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'AgentErrorCode' => [ 'type' => 'string', 'max' => 10, ], 'AggregatorSchemaOnly' => [ 'type' => 'boolean', ], 'AllowedPattern' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'AlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ApproveAfterDays' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'AssociatedInstances' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Association' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationId' => [ 'shape' => 'AssociationId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Targets' => [ 'shape' => 'Targets', ], 'LastExecutionDate' => [ 'shape' => 'DateTime', ], 'Overview' => [ 'shape' => 'AssociationOverview', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], 'AssociationAlreadyExists' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AssociationComplianceSeverity' => [ 'type' => 'string', 'enum' => [ 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'UNSPECIFIED', ], ], 'AssociationDescription' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'Date' => [ 'shape' => 'DateTime', ], 'LastUpdateAssociationDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'AssociationStatus', ], 'Overview' => [ 'shape' => 'AssociationOverview', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'AutomationTargetParameterName' => [ 'shape' => 'AutomationTargetParameterName', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'AssociationId' => [ 'shape' => 'AssociationId', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'LastExecutionDate' => [ 'shape' => 'DateTime', ], 'LastSuccessfulExecutionDate' => [ 'shape' => 'DateTime', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'ComplianceSeverity' => [ 'shape' => 'AssociationComplianceSeverity', ], ], ], 'AssociationDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationDescription', ], ], 'AssociationDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AssociationExecution' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'ExecutionId' => [ 'shape' => 'AssociationExecutionId', ], 'Status' => [ 'shape' => 'StatusName', ], 'DetailedStatus' => [ 'shape' => 'StatusName', ], 'CreatedTime' => [ 'shape' => 'DateTime', ], 'LastExecutionDate' => [ 'shape' => 'DateTime', ], 'ResourceCountByStatus' => [ 'shape' => 'ResourceCountByStatus', ], ], ], 'AssociationExecutionDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AssociationExecutionFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', 'Type', ], 'members' => [ 'Key' => [ 'shape' => 'AssociationExecutionFilterKey', ], 'Value' => [ 'shape' => 'AssociationExecutionFilterValue', ], 'Type' => [ 'shape' => 'AssociationFilterOperatorType', ], ], ], 'AssociationExecutionFilterKey' => [ 'type' => 'string', 'enum' => [ 'ExecutionId', 'Status', 'CreatedTime', ], ], 'AssociationExecutionFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationExecutionFilter', ], 'min' => 1, ], 'AssociationExecutionFilterValue' => [ 'type' => 'string', 'min' => 1, ], 'AssociationExecutionId' => [ 'type' => 'string', 'pattern' => '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}', ], 'AssociationExecutionTarget' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'ExecutionId' => [ 'shape' => 'AssociationExecutionId', ], 'ResourceId' => [ 'shape' => 'AssociationResourceId', ], 'ResourceType' => [ 'shape' => 'AssociationResourceType', ], 'Status' => [ 'shape' => 'StatusName', ], 'DetailedStatus' => [ 'shape' => 'StatusName', ], 'LastExecutionDate' => [ 'shape' => 'DateTime', ], 'OutputSource' => [ 'shape' => 'OutputSource', ], ], ], 'AssociationExecutionTargetsFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'AssociationExecutionTargetsFilterKey', ], 'Value' => [ 'shape' => 'AssociationExecutionTargetsFilterValue', ], ], ], 'AssociationExecutionTargetsFilterKey' => [ 'type' => 'string', 'enum' => [ 'Status', 'ResourceId', 'ResourceType', ], ], 'AssociationExecutionTargetsFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationExecutionTargetsFilter', ], 'min' => 1, ], 'AssociationExecutionTargetsFilterValue' => [ 'type' => 'string', 'min' => 1, ], 'AssociationExecutionTargetsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationExecutionTarget', ], ], 'AssociationExecutionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationExecution', ], ], 'AssociationFilter' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'AssociationFilterKey', ], 'value' => [ 'shape' => 'AssociationFilterValue', ], ], ], 'AssociationFilterKey' => [ 'type' => 'string', 'enum' => [ 'InstanceId', 'Name', 'AssociationId', 'AssociationStatusName', 'LastExecutedBefore', 'LastExecutedAfter', 'AssociationName', ], ], 'AssociationFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationFilter', ], 'min' => 1, ], 'AssociationFilterOperatorType' => [ 'type' => 'string', 'enum' => [ 'EQUAL', 'LESS_THAN', 'GREATER_THAN', ], ], 'AssociationFilterValue' => [ 'type' => 'string', 'min' => 1, ], 'AssociationId' => [ 'type' => 'string', 'pattern' => '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}', ], 'AssociationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationId', ], 'max' => 10, 'min' => 1, ], 'AssociationLimitExceeded' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Association', ], ], 'AssociationName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.]{3,128}$', ], 'AssociationOverview' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'StatusName', ], 'DetailedStatus' => [ 'shape' => 'StatusName', ], 'AssociationStatusAggregatedCount' => [ 'shape' => 'AssociationStatusAggregatedCount', ], ], ], 'AssociationResourceId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'AssociationResourceType' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'AssociationStatus' => [ 'type' => 'structure', 'required' => [ 'Date', 'Name', 'Message', ], 'members' => [ 'Date' => [ 'shape' => 'DateTime', ], 'Name' => [ 'shape' => 'AssociationStatusName', ], 'Message' => [ 'shape' => 'StatusMessage', ], 'AdditionalInfo' => [ 'shape' => 'StatusAdditionalInfo', ], ], ], 'AssociationStatusAggregatedCount' => [ 'type' => 'map', 'key' => [ 'shape' => 'StatusName', ], 'value' => [ 'shape' => 'InstanceCount', ], ], 'AssociationStatusName' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Success', 'Failed', ], ], 'AssociationVersion' => [ 'type' => 'string', 'pattern' => '([$]LATEST)|([1-9][0-9]*)', ], 'AssociationVersionInfo' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'Name' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'ComplianceSeverity' => [ 'shape' => 'AssociationComplianceSeverity', ], ], ], 'AssociationVersionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AssociationVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationVersionInfo', ], 'min' => 1, ], 'AttachmentContent' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'AttachmentName', ], 'Size' => [ 'shape' => 'ContentLength', ], 'Hash' => [ 'shape' => 'AttachmentHash', ], 'HashType' => [ 'shape' => 'AttachmentHashType', ], 'Url' => [ 'shape' => 'AttachmentUrl', ], ], ], 'AttachmentContentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentContent', ], ], 'AttachmentHash' => [ 'type' => 'string', 'max' => 256, ], 'AttachmentHashType' => [ 'type' => 'string', 'enum' => [ 'Sha256', ], ], 'AttachmentInformation' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'AttachmentName', ], ], ], 'AttachmentInformationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentInformation', ], ], 'AttachmentName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.]{3,128}$', ], 'AttachmentUrl' => [ 'type' => 'string', ], 'AttachmentsSource' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'AttachmentsSourceKey', ], 'Values' => [ 'shape' => 'AttachmentsSourceValues', ], ], ], 'AttachmentsSourceKey' => [ 'type' => 'string', 'enum' => [ 'SourceUrl', ], ], 'AttachmentsSourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentsSource', ], 'max' => 1, 'min' => 0, ], 'AttachmentsSourceValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'AttachmentsSourceValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentsSourceValue', ], 'max' => 1, 'min' => 1, ], 'AttributeName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'AttributeValue' => [ 'type' => 'string', 'max' => 4096, 'min' => 0, ], 'AutomationActionName' => [ 'type' => 'string', 'pattern' => '^aws:[a-zA-Z]{3,25}$', ], 'AutomationDefinitionNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AutomationDefinitionVersionNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AutomationExecution' => [ 'type' => 'structure', 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'ExecutionStartTime' => [ 'shape' => 'DateTime', ], 'ExecutionEndTime' => [ 'shape' => 'DateTime', ], 'AutomationExecutionStatus' => [ 'shape' => 'AutomationExecutionStatus', ], 'StepExecutions' => [ 'shape' => 'StepExecutionList', ], 'StepExecutionsTruncated' => [ 'shape' => 'Boolean', ], 'Parameters' => [ 'shape' => 'AutomationParameterMap', ], 'Outputs' => [ 'shape' => 'AutomationParameterMap', ], 'FailureMessage' => [ 'shape' => 'String', ], 'Mode' => [ 'shape' => 'ExecutionMode', ], 'ParentAutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'ExecutedBy' => [ 'shape' => 'String', ], 'CurrentStepName' => [ 'shape' => 'String', ], 'CurrentAction' => [ 'shape' => 'String', ], 'TargetParameterName' => [ 'shape' => 'AutomationParameterKey', ], 'Targets' => [ 'shape' => 'Targets', ], 'TargetMaps' => [ 'shape' => 'TargetMaps', ], 'ResolvedTargets' => [ 'shape' => 'ResolvedTargets', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'Target' => [ 'shape' => 'String', ], 'TargetLocations' => [ 'shape' => 'TargetLocations', 'box' => true, ], 'ProgressCounters' => [ 'shape' => 'ProgressCounters', ], ], ], 'AutomationExecutionFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'AutomationExecutionFilterKey', ], 'Values' => [ 'shape' => 'AutomationExecutionFilterValueList', ], ], ], 'AutomationExecutionFilterKey' => [ 'type' => 'string', 'enum' => [ 'DocumentNamePrefix', 'ExecutionStatus', 'ExecutionId', 'ParentExecutionId', 'CurrentAction', 'StartTimeBefore', 'StartTimeAfter', 'AutomationType', ], ], 'AutomationExecutionFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutomationExecutionFilter', ], 'max' => 10, 'min' => 1, ], 'AutomationExecutionFilterValue' => [ 'type' => 'string', 'max' => 150, 'min' => 1, ], 'AutomationExecutionFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutomationExecutionFilterValue', ], 'max' => 10, 'min' => 1, ], 'AutomationExecutionId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, ], 'AutomationExecutionLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AutomationExecutionMetadata' => [ 'type' => 'structure', 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'AutomationExecutionStatus' => [ 'shape' => 'AutomationExecutionStatus', ], 'ExecutionStartTime' => [ 'shape' => 'DateTime', ], 'ExecutionEndTime' => [ 'shape' => 'DateTime', ], 'ExecutedBy' => [ 'shape' => 'String', ], 'LogFile' => [ 'shape' => 'String', ], 'Outputs' => [ 'shape' => 'AutomationParameterMap', ], 'Mode' => [ 'shape' => 'ExecutionMode', ], 'ParentAutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'CurrentStepName' => [ 'shape' => 'String', ], 'CurrentAction' => [ 'shape' => 'String', ], 'FailureMessage' => [ 'shape' => 'String', ], 'TargetParameterName' => [ 'shape' => 'AutomationParameterKey', ], 'Targets' => [ 'shape' => 'Targets', ], 'TargetMaps' => [ 'shape' => 'TargetMaps', ], 'ResolvedTargets' => [ 'shape' => 'ResolvedTargets', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'Target' => [ 'shape' => 'String', ], 'AutomationType' => [ 'shape' => 'AutomationType', ], ], ], 'AutomationExecutionMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutomationExecutionMetadata', ], ], 'AutomationExecutionNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AutomationExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Waiting', 'Success', 'TimedOut', 'Cancelling', 'Cancelled', 'Failed', ], ], 'AutomationParameterKey' => [ 'type' => 'string', 'max' => 30, 'min' => 1, ], 'AutomationParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AutomationParameterKey', ], 'value' => [ 'shape' => 'AutomationParameterValueList', ], 'max' => 200, 'min' => 1, ], 'AutomationParameterValue' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'AutomationParameterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AutomationParameterValue', ], 'max' => 10, 'min' => 0, ], 'AutomationStepNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AutomationTargetParameterName' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'AutomationType' => [ 'type' => 'string', 'enum' => [ 'CrossAccount', 'Local', ], ], 'BaselineDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'BaselineId' => [ 'type' => 'string', 'max' => 128, 'min' => 20, 'pattern' => '^[a-zA-Z0-9_\\-:/]{20,128}$', ], 'BaselineName' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '^[a-zA-Z0-9_\\-.]{3,128}$', ], 'BatchErrorMessage' => [ 'type' => 'string', ], 'Boolean' => [ 'type' => 'boolean', ], 'CancelCommandRequest' => [ 'type' => 'structure', 'required' => [ 'CommandId', ], 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceIds' => [ 'shape' => 'InstanceIdList', ], ], ], 'CancelCommandResult' => [ 'type' => 'structure', 'members' => [], ], 'CancelMaintenanceWindowExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], ], ], 'CancelMaintenanceWindowExecutionResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], ], ], 'ClientToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'CloudWatchLogGroupName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[\\.\\-_/#A-Za-z0-9]+', ], 'CloudWatchOutputConfig' => [ 'type' => 'structure', 'members' => [ 'CloudWatchLogGroupName' => [ 'shape' => 'CloudWatchLogGroupName', ], 'CloudWatchOutputEnabled' => [ 'shape' => 'CloudWatchOutputEnabled', ], ], ], 'CloudWatchOutputEnabled' => [ 'type' => 'boolean', ], 'Command' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Comment' => [ 'shape' => 'Comment', ], 'ExpiresAfter' => [ 'shape' => 'DateTime', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'InstanceIds' => [ 'shape' => 'InstanceIdList', ], 'Targets' => [ 'shape' => 'Targets', ], 'RequestedDateTime' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'CommandStatus', ], 'StatusDetails' => [ 'shape' => 'StatusDetails', ], 'OutputS3Region' => [ 'shape' => 'S3Region', ], 'OutputS3BucketName' => [ 'shape' => 'S3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'TargetCount' => [ 'shape' => 'TargetCount', ], 'CompletedCount' => [ 'shape' => 'CompletedCount', ], 'ErrorCount' => [ 'shape' => 'ErrorCount', ], 'DeliveryTimedOutCount' => [ 'shape' => 'DeliveryTimedOutCount', ], 'ServiceRole' => [ 'shape' => 'ServiceRole', ], 'NotificationConfig' => [ 'shape' => 'NotificationConfig', ], 'CloudWatchOutputConfig' => [ 'shape' => 'CloudWatchOutputConfig', ], ], ], 'CommandFilter' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'CommandFilterKey', ], 'value' => [ 'shape' => 'CommandFilterValue', ], ], ], 'CommandFilterKey' => [ 'type' => 'string', 'enum' => [ 'InvokedAfter', 'InvokedBefore', 'Status', 'ExecutionStage', 'DocumentName', ], ], 'CommandFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommandFilter', ], 'max' => 5, 'min' => 1, ], 'CommandFilterValue' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'CommandId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, ], 'CommandInvocation' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'InstanceName' => [ 'shape' => 'InstanceTagName', ], 'Comment' => [ 'shape' => 'Comment', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'RequestedDateTime' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'CommandInvocationStatus', ], 'StatusDetails' => [ 'shape' => 'StatusDetails', ], 'TraceOutput' => [ 'shape' => 'InvocationTraceOutput', ], 'StandardOutputUrl' => [ 'shape' => 'Url', ], 'StandardErrorUrl' => [ 'shape' => 'Url', ], 'CommandPlugins' => [ 'shape' => 'CommandPluginList', ], 'ServiceRole' => [ 'shape' => 'ServiceRole', ], 'NotificationConfig' => [ 'shape' => 'NotificationConfig', ], 'CloudWatchOutputConfig' => [ 'shape' => 'CloudWatchOutputConfig', ], ], ], 'CommandInvocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommandInvocation', ], ], 'CommandInvocationStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Delayed', 'Success', 'Cancelled', 'TimedOut', 'Failed', 'Cancelling', ], ], 'CommandList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Command', ], ], 'CommandMaxResults' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'CommandPlugin' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'CommandPluginName', ], 'Status' => [ 'shape' => 'CommandPluginStatus', ], 'StatusDetails' => [ 'shape' => 'StatusDetails', ], 'ResponseCode' => [ 'shape' => 'ResponseCode', ], 'ResponseStartDateTime' => [ 'shape' => 'DateTime', ], 'ResponseFinishDateTime' => [ 'shape' => 'DateTime', ], 'Output' => [ 'shape' => 'CommandPluginOutput', ], 'StandardOutputUrl' => [ 'shape' => 'Url', ], 'StandardErrorUrl' => [ 'shape' => 'Url', ], 'OutputS3Region' => [ 'shape' => 'S3Region', ], 'OutputS3BucketName' => [ 'shape' => 'S3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], ], ], 'CommandPluginList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CommandPlugin', ], ], 'CommandPluginName' => [ 'type' => 'string', 'min' => 4, ], 'CommandPluginOutput' => [ 'type' => 'string', 'max' => 2500, ], 'CommandPluginStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Success', 'TimedOut', 'Cancelled', 'Failed', ], ], 'CommandStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'InProgress', 'Success', 'Cancelled', 'Failed', 'TimedOut', 'Cancelling', ], ], 'Comment' => [ 'type' => 'string', 'max' => 100, ], 'CompletedCount' => [ 'type' => 'integer', ], 'ComplianceExecutionId' => [ 'type' => 'string', 'max' => 100, ], 'ComplianceExecutionSummary' => [ 'type' => 'structure', 'required' => [ 'ExecutionTime', ], 'members' => [ 'ExecutionTime' => [ 'shape' => 'DateTime', ], 'ExecutionId' => [ 'shape' => 'ComplianceExecutionId', ], 'ExecutionType' => [ 'shape' => 'ComplianceExecutionType', ], ], ], 'ComplianceExecutionType' => [ 'type' => 'string', 'max' => 50, ], 'ComplianceFilterValue' => [ 'type' => 'string', ], 'ComplianceItem' => [ 'type' => 'structure', 'members' => [ 'ComplianceType' => [ 'shape' => 'ComplianceTypeName', ], 'ResourceType' => [ 'shape' => 'ComplianceResourceType', ], 'ResourceId' => [ 'shape' => 'ComplianceResourceId', ], 'Id' => [ 'shape' => 'ComplianceItemId', ], 'Title' => [ 'shape' => 'ComplianceItemTitle', ], 'Status' => [ 'shape' => 'ComplianceStatus', ], 'Severity' => [ 'shape' => 'ComplianceSeverity', ], 'ExecutionSummary' => [ 'shape' => 'ComplianceExecutionSummary', ], 'Details' => [ 'shape' => 'ComplianceItemDetails', ], ], ], 'ComplianceItemContentHash' => [ 'type' => 'string', 'max' => 256, ], 'ComplianceItemDetails' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'ComplianceItemEntry' => [ 'type' => 'structure', 'required' => [ 'Severity', 'Status', ], 'members' => [ 'Id' => [ 'shape' => 'ComplianceItemId', ], 'Title' => [ 'shape' => 'ComplianceItemTitle', ], 'Severity' => [ 'shape' => 'ComplianceSeverity', ], 'Status' => [ 'shape' => 'ComplianceStatus', ], 'Details' => [ 'shape' => 'ComplianceItemDetails', ], ], ], 'ComplianceItemEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceItemEntry', ], 'max' => 10000, 'min' => 0, ], 'ComplianceItemId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ComplianceItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceItem', ], ], 'ComplianceItemTitle' => [ 'type' => 'string', 'max' => 500, ], 'ComplianceQueryOperatorType' => [ 'type' => 'string', 'enum' => [ 'EQUAL', 'NOT_EQUAL', 'BEGIN_WITH', 'LESS_THAN', 'GREATER_THAN', ], ], 'ComplianceResourceId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ComplianceResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceResourceId', ], 'min' => 1, ], 'ComplianceResourceType' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'ComplianceResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceResourceType', ], 'min' => 1, ], 'ComplianceSeverity' => [ 'type' => 'string', 'enum' => [ 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'INFORMATIONAL', 'UNSPECIFIED', ], ], 'ComplianceStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLIANT', 'NON_COMPLIANT', ], ], 'ComplianceStringFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ComplianceStringFilterKey', ], 'Values' => [ 'shape' => 'ComplianceStringFilterValueList', ], 'Type' => [ 'shape' => 'ComplianceQueryOperatorType', ], ], ], 'ComplianceStringFilterKey' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'ComplianceStringFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceStringFilter', ], ], 'ComplianceStringFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceFilterValue', ], 'max' => 20, 'min' => 1, ], 'ComplianceSummaryCount' => [ 'type' => 'integer', ], 'ComplianceSummaryItem' => [ 'type' => 'structure', 'members' => [ 'ComplianceType' => [ 'shape' => 'ComplianceTypeName', ], 'CompliantSummary' => [ 'shape' => 'CompliantSummary', ], 'NonCompliantSummary' => [ 'shape' => 'NonCompliantSummary', ], ], ], 'ComplianceSummaryItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ComplianceSummaryItem', ], ], 'ComplianceTypeCountLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ComplianceTypeName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+', ], 'CompliantSummary' => [ 'type' => 'structure', 'members' => [ 'CompliantCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'SeveritySummary' => [ 'shape' => 'SeveritySummary', ], ], ], 'ComputerName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'ConnectionStatus' => [ 'type' => 'string', 'enum' => [ 'Connected', 'NotConnected', ], ], 'ContentLength' => [ 'type' => 'long', ], 'CreateActivationRequest' => [ 'type' => 'structure', 'required' => [ 'IamRole', ], 'members' => [ 'Description' => [ 'shape' => 'ActivationDescription', ], 'DefaultInstanceName' => [ 'shape' => 'DefaultInstanceName', ], 'IamRole' => [ 'shape' => 'IamRole', ], 'RegistrationLimit' => [ 'shape' => 'RegistrationLimit', 'box' => true, ], 'ExpirationDate' => [ 'shape' => 'ExpirationDate', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateActivationResult' => [ 'type' => 'structure', 'members' => [ 'ActivationId' => [ 'shape' => 'ActivationId', ], 'ActivationCode' => [ 'shape' => 'ActivationCode', ], ], ], 'CreateAssociationBatchRequest' => [ 'type' => 'structure', 'required' => [ 'Entries', ], 'members' => [ 'Entries' => [ 'shape' => 'CreateAssociationBatchRequestEntries', ], ], ], 'CreateAssociationBatchRequestEntries' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateAssociationBatchRequestEntry', ], 'min' => 1, ], 'CreateAssociationBatchRequestEntry' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'AutomationTargetParameterName' => [ 'shape' => 'AutomationTargetParameterName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'ComplianceSeverity' => [ 'shape' => 'AssociationComplianceSeverity', ], ], ], 'CreateAssociationBatchResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'AssociationDescriptionList', ], 'Failed' => [ 'shape' => 'FailedCreateAssociationList', ], ], ], 'CreateAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'AutomationTargetParameterName' => [ 'shape' => 'AutomationTargetParameterName', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'ComplianceSeverity' => [ 'shape' => 'AssociationComplianceSeverity', ], ], ], 'CreateAssociationResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'CreateDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Content', 'Name', ], 'members' => [ 'Content' => [ 'shape' => 'DocumentContent', ], 'Attachments' => [ 'shape' => 'AttachmentsSourceList', ], 'Name' => [ 'shape' => 'DocumentName', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'TargetType' => [ 'shape' => 'TargetType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateDocumentResult' => [ 'type' => 'structure', 'members' => [ 'DocumentDescription' => [ 'shape' => 'DocumentDescription', ], ], ], 'CreateMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Schedule', 'Duration', 'Cutoff', 'AllowUnassociatedTargets', ], 'members' => [ 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'StartDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'EndDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'ScheduleTimezone' => [ 'shape' => 'MaintenanceWindowTimezone', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', ], 'AllowUnassociatedTargets' => [ 'shape' => 'MaintenanceWindowAllowUnassociatedTargets', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], ], ], 'CreatePatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'Name' => [ 'shape' => 'BaselineName', ], 'GlobalFilters' => [ 'shape' => 'PatchFilterGroup', ], 'ApprovalRules' => [ 'shape' => 'PatchRuleGroup', ], 'ApprovedPatches' => [ 'shape' => 'PatchIdList', ], 'ApprovedPatchesComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApprovedPatchesEnableNonSecurity' => [ 'shape' => 'Boolean', 'box' => true, ], 'RejectedPatches' => [ 'shape' => 'PatchIdList', ], 'RejectedPatchesAction' => [ 'shape' => 'PatchAction', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreatePatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'CreateResourceDataSyncRequest' => [ 'type' => 'structure', 'required' => [ 'SyncName', 'S3Destination', ], 'members' => [ 'SyncName' => [ 'shape' => 'ResourceDataSyncName', ], 'S3Destination' => [ 'shape' => 'ResourceDataSyncS3Destination', ], ], ], 'CreateResourceDataSyncResult' => [ 'type' => 'structure', 'members' => [], ], 'CreatedDate' => [ 'type' => 'timestamp', ], 'CustomSchemaCountLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DateTime' => [ 'type' => 'timestamp', ], 'DefaultBaseline' => [ 'type' => 'boolean', ], 'DefaultInstanceName' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'DeleteActivationRequest' => [ 'type' => 'structure', 'required' => [ 'ActivationId', ], 'members' => [ 'ActivationId' => [ 'shape' => 'ActivationId', ], ], ], 'DeleteActivationResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteAssociationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationId' => [ 'shape' => 'AssociationId', ], ], ], 'DeleteAssociationResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], ], ], 'DeleteDocumentResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteInventoryRequest' => [ 'type' => 'structure', 'required' => [ 'TypeName', ], 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'SchemaDeleteOption' => [ 'shape' => 'InventorySchemaDeleteOption', ], 'DryRun' => [ 'shape' => 'DryRun', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], ], ], 'DeleteInventoryResult' => [ 'type' => 'structure', 'members' => [ 'DeletionId' => [ 'shape' => 'InventoryDeletionId', ], 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'DeletionSummary' => [ 'shape' => 'InventoryDeletionSummary', ], ], ], 'DeleteMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], ], ], 'DeleteMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], ], ], 'DeleteParameterRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], ], ], 'DeleteParameterResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteParametersRequest' => [ 'type' => 'structure', 'required' => [ 'Names', ], 'members' => [ 'Names' => [ 'shape' => 'ParameterNameList', ], ], ], 'DeleteParametersResult' => [ 'type' => 'structure', 'members' => [ 'DeletedParameters' => [ 'shape' => 'ParameterNameList', ], 'InvalidParameters' => [ 'shape' => 'ParameterNameList', ], ], ], 'DeletePatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'DeletePatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'DeleteResourceDataSyncRequest' => [ 'type' => 'structure', 'required' => [ 'SyncName', ], 'members' => [ 'SyncName' => [ 'shape' => 'ResourceDataSyncName', ], ], ], 'DeleteResourceDataSyncResult' => [ 'type' => 'structure', 'members' => [], ], 'DeliveryTimedOutCount' => [ 'type' => 'integer', ], 'DeregisterManagedInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'ManagedInstanceId', ], ], ], 'DeregisterManagedInstanceResult' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterPatchBaselineForPatchGroupRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', 'PatchGroup', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], ], ], 'DeregisterPatchBaselineForPatchGroupResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], ], ], 'DeregisterTargetFromMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'WindowTargetId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], 'Safe' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'DeregisterTargetFromMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], ], ], 'DeregisterTaskFromMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'WindowTaskId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], ], ], 'DeregisterTaskFromMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], ], ], 'DescribeActivationsFilter' => [ 'type' => 'structure', 'members' => [ 'FilterKey' => [ 'shape' => 'DescribeActivationsFilterKeys', ], 'FilterValues' => [ 'shape' => 'StringList', ], ], ], 'DescribeActivationsFilterKeys' => [ 'type' => 'string', 'enum' => [ 'ActivationIds', 'DefaultInstanceName', 'IamRole', ], ], 'DescribeActivationsFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DescribeActivationsFilter', ], ], 'DescribeActivationsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'DescribeActivationsFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeActivationsResult' => [ 'type' => 'structure', 'members' => [ 'ActivationList' => [ 'shape' => 'ActivationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAssociationExecutionTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', 'ExecutionId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'ExecutionId' => [ 'shape' => 'AssociationExecutionId', ], 'Filters' => [ 'shape' => 'AssociationExecutionTargetsFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAssociationExecutionTargetsResult' => [ 'type' => 'structure', 'members' => [ 'AssociationExecutionTargets' => [ 'shape' => 'AssociationExecutionTargetsList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAssociationExecutionsRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'Filters' => [ 'shape' => 'AssociationExecutionFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAssociationExecutionsResult' => [ 'type' => 'structure', 'members' => [ 'AssociationExecutions' => [ 'shape' => 'AssociationExecutionsList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAssociationRequest' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationId' => [ 'shape' => 'AssociationId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], ], ], 'DescribeAssociationResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'DescribeAutomationExecutionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'AutomationExecutionFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAutomationExecutionsResult' => [ 'type' => 'structure', 'members' => [ 'AutomationExecutionMetadataList' => [ 'shape' => 'AutomationExecutionMetadataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAutomationStepExecutionsRequest' => [ 'type' => 'structure', 'required' => [ 'AutomationExecutionId', ], 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'Filters' => [ 'shape' => 'StepExecutionFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'ReverseOrder' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'DescribeAutomationStepExecutionsResult' => [ 'type' => 'structure', 'members' => [ 'StepExecutions' => [ 'shape' => 'StepExecutionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAvailablePatchesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'PatchOrchestratorFilterList', ], 'MaxResults' => [ 'shape' => 'PatchBaselineMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeAvailablePatchesResult' => [ 'type' => 'structure', 'members' => [ 'Patches' => [ 'shape' => 'PatchList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeDocumentPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'PermissionType', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'PermissionType' => [ 'shape' => 'DocumentPermissionType', ], ], ], 'DescribeDocumentPermissionResponse' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIdList', ], ], ], 'DescribeDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], ], ], 'DescribeDocumentResult' => [ 'type' => 'structure', 'members' => [ 'Document' => [ 'shape' => 'DocumentDescription', ], ], ], 'DescribeEffectiveInstanceAssociationsRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'EffectiveInstanceAssociationMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeEffectiveInstanceAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'Associations' => [ 'shape' => 'InstanceAssociationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeEffectivePatchesForPatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'MaxResults' => [ 'shape' => 'PatchBaselineMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeEffectivePatchesForPatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'EffectivePatches' => [ 'shape' => 'EffectivePatchList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstanceAssociationsStatusRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstanceAssociationsStatusResult' => [ 'type' => 'structure', 'members' => [ 'InstanceAssociationStatusInfos' => [ 'shape' => 'InstanceAssociationStatusInfos', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstanceInformationRequest' => [ 'type' => 'structure', 'members' => [ 'InstanceInformationFilterList' => [ 'shape' => 'InstanceInformationFilterList', ], 'Filters' => [ 'shape' => 'InstanceInformationStringFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResultsEC2Compatible', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstanceInformationResult' => [ 'type' => 'structure', 'members' => [ 'InstanceInformationList' => [ 'shape' => 'InstanceInformationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstancePatchStatesForPatchGroupRequest' => [ 'type' => 'structure', 'required' => [ 'PatchGroup', ], 'members' => [ 'PatchGroup' => [ 'shape' => 'PatchGroup', ], 'Filters' => [ 'shape' => 'InstancePatchStateFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'PatchComplianceMaxResults', 'box' => true, ], ], ], 'DescribeInstancePatchStatesForPatchGroupResult' => [ 'type' => 'structure', 'members' => [ 'InstancePatchStates' => [ 'shape' => 'InstancePatchStatesList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstancePatchStatesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceIds', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'PatchComplianceMaxResults', 'box' => true, ], ], ], 'DescribeInstancePatchStatesResult' => [ 'type' => 'structure', 'members' => [ 'InstancePatchStates' => [ 'shape' => 'InstancePatchStateList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInstancePatchesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Filters' => [ 'shape' => 'PatchOrchestratorFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'PatchComplianceMaxResults', 'box' => true, ], ], ], 'DescribeInstancePatchesResult' => [ 'type' => 'structure', 'members' => [ 'Patches' => [ 'shape' => 'PatchComplianceDataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeInventoryDeletionsRequest' => [ 'type' => 'structure', 'members' => [ 'DeletionId' => [ 'shape' => 'InventoryDeletionId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'DescribeInventoryDeletionsResult' => [ 'type' => 'structure', 'members' => [ 'InventoryDeletions' => [ 'shape' => 'InventoryDeletionsList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionTaskInvocationsRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', 'TaskId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionTaskInvocationsResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionTaskInvocationIdentities' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationIdentityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionTasksRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionTasksResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionTaskIdentities' => [ 'shape' => 'MaintenanceWindowExecutionTaskIdentityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionsRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowExecutionsResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutions' => [ 'shape' => 'MaintenanceWindowExecutionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowScheduleRequest' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Targets' => [ 'shape' => 'Targets', ], 'ResourceType' => [ 'shape' => 'MaintenanceWindowResourceType', ], 'Filters' => [ 'shape' => 'PatchOrchestratorFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowSearchMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowScheduleResult' => [ 'type' => 'structure', 'members' => [ 'ScheduledWindowExecutions' => [ 'shape' => 'ScheduledWindowExecutionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowTargetsResult' => [ 'type' => 'structure', 'members' => [ 'Targets' => [ 'shape' => 'MaintenanceWindowTargetList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowTasksRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowTasksResult' => [ 'type' => 'structure', 'members' => [ 'Tasks' => [ 'shape' => 'MaintenanceWindowTaskList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowsForTargetRequest' => [ 'type' => 'structure', 'required' => [ 'Targets', 'ResourceType', ], 'members' => [ 'Targets' => [ 'shape' => 'Targets', ], 'ResourceType' => [ 'shape' => 'MaintenanceWindowResourceType', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowSearchMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowsForTargetResult' => [ 'type' => 'structure', 'members' => [ 'WindowIdentities' => [ 'shape' => 'MaintenanceWindowsForTargetList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'MaintenanceWindowFilterList', ], 'MaxResults' => [ 'shape' => 'MaintenanceWindowMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeMaintenanceWindowsResult' => [ 'type' => 'structure', 'members' => [ 'WindowIdentities' => [ 'shape' => 'MaintenanceWindowIdentityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeParametersRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ParametersFilterList', ], 'ParameterFilters' => [ 'shape' => 'ParameterStringFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeParametersResult' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParameterMetadataList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribePatchBaselinesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'PatchOrchestratorFilterList', ], 'MaxResults' => [ 'shape' => 'PatchBaselineMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribePatchBaselinesResult' => [ 'type' => 'structure', 'members' => [ 'BaselineIdentities' => [ 'shape' => 'PatchBaselineIdentityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribePatchGroupStateRequest' => [ 'type' => 'structure', 'required' => [ 'PatchGroup', ], 'members' => [ 'PatchGroup' => [ 'shape' => 'PatchGroup', ], ], ], 'DescribePatchGroupStateResult' => [ 'type' => 'structure', 'members' => [ 'Instances' => [ 'shape' => 'Integer', ], 'InstancesWithInstalledPatches' => [ 'shape' => 'Integer', ], 'InstancesWithInstalledOtherPatches' => [ 'shape' => 'Integer', ], 'InstancesWithInstalledRejectedPatches' => [ 'shape' => 'InstancesCount', 'box' => true, ], 'InstancesWithMissingPatches' => [ 'shape' => 'Integer', ], 'InstancesWithFailedPatches' => [ 'shape' => 'Integer', ], 'InstancesWithNotApplicablePatches' => [ 'shape' => 'Integer', ], ], ], 'DescribePatchGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'PatchBaselineMaxResults', 'box' => true, ], 'Filters' => [ 'shape' => 'PatchOrchestratorFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribePatchGroupsResult' => [ 'type' => 'structure', 'members' => [ 'Mappings' => [ 'shape' => 'PatchGroupPatchBaselineMappingList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeSessionsRequest' => [ 'type' => 'structure', 'required' => [ 'State', ], 'members' => [ 'State' => [ 'shape' => 'SessionState', ], 'MaxResults' => [ 'shape' => 'SessionMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'SessionFilterList', ], ], ], 'DescribeSessionsResponse' => [ 'type' => 'structure', 'members' => [ 'Sessions' => [ 'shape' => 'SessionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescriptionInDocument' => [ 'type' => 'string', ], 'DocumentARN' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.:/]{3,128}$', ], 'DocumentAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentContent' => [ 'type' => 'string', 'min' => 1, ], 'DocumentDefaultVersionDescription' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'DefaultVersion' => [ 'shape' => 'DocumentVersion', ], 'DefaultVersionName' => [ 'shape' => 'DocumentVersionName', ], ], ], 'DocumentDescription' => [ 'type' => 'structure', 'members' => [ 'Sha1' => [ 'shape' => 'DocumentSha1', ], 'Hash' => [ 'shape' => 'DocumentHash', ], 'HashType' => [ 'shape' => 'DocumentHashType', ], 'Name' => [ 'shape' => 'DocumentARN', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'Owner' => [ 'shape' => 'DocumentOwner', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'DocumentStatus', ], 'StatusInformation' => [ 'shape' => 'DocumentStatusInformation', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Description' => [ 'shape' => 'DescriptionInDocument', ], 'Parameters' => [ 'shape' => 'DocumentParameterList', ], 'PlatformTypes' => [ 'shape' => 'PlatformTypeList', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'SchemaVersion' => [ 'shape' => 'DocumentSchemaVersion', ], 'LatestVersion' => [ 'shape' => 'DocumentVersion', ], 'DefaultVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'TargetType' => [ 'shape' => 'TargetType', ], 'Tags' => [ 'shape' => 'TagList', ], 'AttachmentsInformation' => [ 'shape' => 'AttachmentInformationList', ], ], ], 'DocumentFilter' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'DocumentFilterKey', ], 'value' => [ 'shape' => 'DocumentFilterValue', ], ], ], 'DocumentFilterKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'Owner', 'PlatformTypes', 'DocumentType', ], ], 'DocumentFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentFilter', ], 'min' => 1, ], 'DocumentFilterValue' => [ 'type' => 'string', 'min' => 1, ], 'DocumentFormat' => [ 'type' => 'string', 'enum' => [ 'YAML', 'JSON', ], ], 'DocumentHash' => [ 'type' => 'string', 'max' => 256, ], 'DocumentHashType' => [ 'type' => 'string', 'enum' => [ 'Sha256', 'Sha1', ], ], 'DocumentIdentifier' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'Owner' => [ 'shape' => 'DocumentOwner', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'PlatformTypes' => [ 'shape' => 'PlatformTypeList', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'SchemaVersion' => [ 'shape' => 'DocumentSchemaVersion', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'TargetType' => [ 'shape' => 'TargetType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'DocumentIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentIdentifier', ], ], 'DocumentKeyValuesFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'DocumentKeyValuesFilterKey', ], 'Values' => [ 'shape' => 'DocumentKeyValuesFilterValues', ], ], ], 'DocumentKeyValuesFilterKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'DocumentKeyValuesFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentKeyValuesFilter', ], 'max' => 6, 'min' => 0, ], 'DocumentKeyValuesFilterValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DocumentKeyValuesFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentKeyValuesFilterValue', ], ], 'DocumentLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.]{3,128}$', ], 'DocumentOwner' => [ 'type' => 'string', ], 'DocumentParameter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentParameterName', ], 'Type' => [ 'shape' => 'DocumentParameterType', ], 'Description' => [ 'shape' => 'DocumentParameterDescrption', ], 'DefaultValue' => [ 'shape' => 'DocumentParameterDefaultValue', ], ], ], 'DocumentParameterDefaultValue' => [ 'type' => 'string', ], 'DocumentParameterDescrption' => [ 'type' => 'string', ], 'DocumentParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentParameter', ], ], 'DocumentParameterName' => [ 'type' => 'string', ], 'DocumentParameterType' => [ 'type' => 'string', 'enum' => [ 'String', 'StringList', ], ], 'DocumentPermissionLimit' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentPermissionType' => [ 'type' => 'string', 'enum' => [ 'Share', ], ], 'DocumentSchemaVersion' => [ 'type' => 'string', 'pattern' => '([0-9]+)\\.([0-9]+)', ], 'DocumentSha1' => [ 'type' => 'string', ], 'DocumentStatus' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Active', 'Updating', 'Deleting', 'Failed', ], ], 'DocumentStatusInformation' => [ 'type' => 'string', ], 'DocumentType' => [ 'type' => 'string', 'enum' => [ 'Command', 'Policy', 'Automation', 'Session', 'Package', ], ], 'DocumentVersion' => [ 'type' => 'string', 'pattern' => '([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)', ], 'DocumentVersionInfo' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'IsDefaultVersion' => [ 'shape' => 'Boolean', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'Status' => [ 'shape' => 'DocumentStatus', ], 'StatusInformation' => [ 'shape' => 'DocumentStatusInformation', ], ], ], 'DocumentVersionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentVersionInfo', ], 'min' => 1, ], 'DocumentVersionName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.]{1,128}$', ], 'DocumentVersionNumber' => [ 'type' => 'string', 'pattern' => '(^[1-9][0-9]*$)', ], 'DoesNotExistException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DryRun' => [ 'type' => 'boolean', ], 'DuplicateDocumentContent' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DuplicateDocumentVersionName' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DuplicateInstanceId' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EffectiveInstanceAssociationMaxResults' => [ 'type' => 'integer', 'max' => 5, 'min' => 1, ], 'EffectivePatch' => [ 'type' => 'structure', 'members' => [ 'Patch' => [ 'shape' => 'Patch', ], 'PatchStatus' => [ 'shape' => 'PatchStatus', ], ], ], 'EffectivePatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'EffectivePatch', ], ], 'ErrorCount' => [ 'type' => 'integer', ], 'ExecutionMode' => [ 'type' => 'string', 'enum' => [ 'Auto', 'Interactive', ], ], 'ExecutionRoleName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ExpirationDate' => [ 'type' => 'timestamp', ], 'FailedCreateAssociation' => [ 'type' => 'structure', 'members' => [ 'Entry' => [ 'shape' => 'CreateAssociationBatchRequestEntry', ], 'Message' => [ 'shape' => 'BatchErrorMessage', ], 'Fault' => [ 'shape' => 'Fault', ], ], ], 'FailedCreateAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedCreateAssociation', ], ], 'FailureDetails' => [ 'type' => 'structure', 'members' => [ 'FailureStage' => [ 'shape' => 'String', ], 'FailureType' => [ 'shape' => 'String', ], 'Details' => [ 'shape' => 'AutomationParameterMap', ], ], ], 'Fault' => [ 'type' => 'string', 'enum' => [ 'Client', 'Server', 'Unknown', ], ], 'FeatureNotAvailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'GetAutomationExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'AutomationExecutionId', ], 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], ], ], 'GetAutomationExecutionResult' => [ 'type' => 'structure', 'members' => [ 'AutomationExecution' => [ 'shape' => 'AutomationExecution', ], ], ], 'GetCommandInvocationRequest' => [ 'type' => 'structure', 'required' => [ 'CommandId', 'InstanceId', ], 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'PluginName' => [ 'shape' => 'CommandPluginName', ], ], ], 'GetCommandInvocationResult' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Comment' => [ 'shape' => 'Comment', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'PluginName' => [ 'shape' => 'CommandPluginName', ], 'ResponseCode' => [ 'shape' => 'ResponseCode', ], 'ExecutionStartDateTime' => [ 'shape' => 'StringDateTime', ], 'ExecutionElapsedTime' => [ 'shape' => 'StringDateTime', ], 'ExecutionEndDateTime' => [ 'shape' => 'StringDateTime', ], 'Status' => [ 'shape' => 'CommandInvocationStatus', ], 'StatusDetails' => [ 'shape' => 'StatusDetails', ], 'StandardOutputContent' => [ 'shape' => 'StandardOutputContent', ], 'StandardOutputUrl' => [ 'shape' => 'Url', ], 'StandardErrorContent' => [ 'shape' => 'StandardErrorContent', ], 'StandardErrorUrl' => [ 'shape' => 'Url', ], 'CloudWatchOutputConfig' => [ 'shape' => 'CloudWatchOutputConfig', ], ], ], 'GetConnectionStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Target', ], 'members' => [ 'Target' => [ 'shape' => 'SessionTarget', ], ], ], 'GetConnectionStatusResponse' => [ 'type' => 'structure', 'members' => [ 'Target' => [ 'shape' => 'SessionTarget', ], 'Status' => [ 'shape' => 'ConnectionStatus', ], ], ], 'GetDefaultPatchBaselineRequest' => [ 'type' => 'structure', 'members' => [ 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], ], ], 'GetDefaultPatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], ], ], 'GetDeployablePatchSnapshotForInstanceRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'SnapshotId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'GetDeployablePatchSnapshotForInstanceResult' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'SnapshotDownloadUrl' => [ 'shape' => 'SnapshotDownloadUrl', ], 'Product' => [ 'shape' => 'Product', ], ], ], 'GetDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], ], ], 'GetDocumentResult' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Status' => [ 'shape' => 'DocumentStatus', ], 'StatusInformation' => [ 'shape' => 'DocumentStatusInformation', ], 'Content' => [ 'shape' => 'DocumentContent', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'AttachmentsContent' => [ 'shape' => 'AttachmentContentList', ], ], ], 'GetInventoryRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'InventoryFilterList', ], 'Aggregators' => [ 'shape' => 'InventoryAggregatorList', ], 'ResultAttributes' => [ 'shape' => 'ResultAttributeList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'GetInventoryResult' => [ 'type' => 'structure', 'members' => [ 'Entities' => [ 'shape' => 'InventoryResultEntityList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetInventorySchemaMaxResults' => [ 'type' => 'integer', 'max' => 200, 'min' => 50, ], 'GetInventorySchemaRequest' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeNameFilter', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'GetInventorySchemaMaxResults', 'box' => true, ], 'Aggregator' => [ 'shape' => 'AggregatorSchemaOnly', ], 'SubType' => [ 'shape' => 'IsSubTypeSchema', 'box' => true, ], ], ], 'GetInventorySchemaResult' => [ 'type' => 'structure', 'members' => [ 'Schemas' => [ 'shape' => 'InventoryItemSchemaResultList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetMaintenanceWindowExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], ], ], 'GetMaintenanceWindowExecutionResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskIds' => [ 'shape' => 'MaintenanceWindowExecutionTaskIdList', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], ], ], 'GetMaintenanceWindowExecutionTaskInvocationRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', 'TaskId', 'InvocationId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'InvocationId' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationId', ], ], ], 'GetMaintenanceWindowExecutionTaskInvocationResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'InvocationId' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationId', ], 'ExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskExecutionId', ], 'TaskType' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'Parameters' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationParameters', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTaskTargetId', ], ], ], 'GetMaintenanceWindowExecutionTaskRequest' => [ 'type' => 'structure', 'required' => [ 'WindowExecutionId', 'TaskId', ], 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], ], ], 'GetMaintenanceWindowExecutionTaskResult' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'ServiceRole' => [ 'shape' => 'ServiceRole', ], 'Type' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParametersList', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], ], ], 'GetMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], ], ], 'GetMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'StartDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'EndDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'ScheduleTimezone' => [ 'shape' => 'MaintenanceWindowTimezone', ], 'NextExecutionTime' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', ], 'AllowUnassociatedTargets' => [ 'shape' => 'MaintenanceWindowAllowUnassociatedTargets', ], 'Enabled' => [ 'shape' => 'MaintenanceWindowEnabled', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'ModifiedDate' => [ 'shape' => 'DateTime', ], ], ], 'GetMaintenanceWindowTaskRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'WindowTaskId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], ], ], 'GetMaintenanceWindowTaskResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], 'Targets' => [ 'shape' => 'Targets', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'TaskType' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'TaskInvocationParameters' => [ 'shape' => 'MaintenanceWindowTaskInvocationParameters', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'LoggingInfo' => [ 'shape' => 'LoggingInfo', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], ], ], 'GetParameterHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'WithDecryption' => [ 'shape' => 'Boolean', 'box' => true, ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetParameterHistoryResult' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParameterHistoryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetParameterRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'WithDecryption' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'GetParameterResult' => [ 'type' => 'structure', 'members' => [ 'Parameter' => [ 'shape' => 'Parameter', ], ], ], 'GetParametersByPathMaxResults' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'GetParametersByPathRequest' => [ 'type' => 'structure', 'required' => [ 'Path', ], 'members' => [ 'Path' => [ 'shape' => 'PSParameterName', ], 'Recursive' => [ 'shape' => 'Boolean', 'box' => true, ], 'ParameterFilters' => [ 'shape' => 'ParameterStringFilterList', ], 'WithDecryption' => [ 'shape' => 'Boolean', 'box' => true, ], 'MaxResults' => [ 'shape' => 'GetParametersByPathMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetParametersByPathResult' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParameterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'GetParametersRequest' => [ 'type' => 'structure', 'required' => [ 'Names', ], 'members' => [ 'Names' => [ 'shape' => 'ParameterNameList', ], 'WithDecryption' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'GetParametersResult' => [ 'type' => 'structure', 'members' => [ 'Parameters' => [ 'shape' => 'ParameterList', ], 'InvalidParameters' => [ 'shape' => 'ParameterNameList', ], ], ], 'GetPatchBaselineForPatchGroupRequest' => [ 'type' => 'structure', 'required' => [ 'PatchGroup', ], 'members' => [ 'PatchGroup' => [ 'shape' => 'PatchGroup', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], ], ], 'GetPatchBaselineForPatchGroupResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], ], ], 'GetPatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'GetPatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'Name' => [ 'shape' => 'BaselineName', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'GlobalFilters' => [ 'shape' => 'PatchFilterGroup', ], 'ApprovalRules' => [ 'shape' => 'PatchRuleGroup', ], 'ApprovedPatches' => [ 'shape' => 'PatchIdList', ], 'ApprovedPatchesComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApprovedPatchesEnableNonSecurity' => [ 'shape' => 'Boolean', 'box' => true, ], 'RejectedPatches' => [ 'shape' => 'PatchIdList', ], 'RejectedPatchesAction' => [ 'shape' => 'PatchAction', ], 'PatchGroups' => [ 'shape' => 'PatchGroupList', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'ModifiedDate' => [ 'shape' => 'DateTime', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], ], ], 'GetServiceSettingRequest' => [ 'type' => 'structure', 'required' => [ 'SettingId', ], 'members' => [ 'SettingId' => [ 'shape' => 'ServiceSettingId', ], ], ], 'GetServiceSettingResult' => [ 'type' => 'structure', 'members' => [ 'ServiceSetting' => [ 'shape' => 'ServiceSetting', ], ], ], 'HierarchyLevelLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'HierarchyTypeMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'IPAddress' => [ 'type' => 'string', 'max' => 46, 'min' => 1, ], 'IamRole' => [ 'type' => 'string', 'max' => 64, ], 'IdempotencyToken' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}', ], 'IdempotentParameterMismatch' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InstallOverrideList' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^https://.+$|^s3://([^/]+)/(.*?([^/]+))$', ], 'InstanceAggregatedAssociationOverview' => [ 'type' => 'structure', 'members' => [ 'DetailedStatus' => [ 'shape' => 'StatusName', ], 'InstanceAssociationStatusAggregatedCount' => [ 'shape' => 'InstanceAssociationStatusAggregatedCount', ], ], ], 'InstanceAssociation' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Content' => [ 'shape' => 'DocumentContent', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], ], ], 'InstanceAssociationExecutionSummary' => [ 'type' => 'string', 'max' => 512, 'min' => 1, ], 'InstanceAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceAssociation', ], ], 'InstanceAssociationOutputLocation' => [ 'type' => 'structure', 'members' => [ 'S3Location' => [ 'shape' => 'S3OutputLocation', ], ], ], 'InstanceAssociationOutputUrl' => [ 'type' => 'structure', 'members' => [ 'S3OutputUrl' => [ 'shape' => 'S3OutputUrl', ], ], ], 'InstanceAssociationStatusAggregatedCount' => [ 'type' => 'map', 'key' => [ 'shape' => 'StatusName', ], 'value' => [ 'shape' => 'InstanceCount', ], ], 'InstanceAssociationStatusInfo' => [ 'type' => 'structure', 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'Name' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'ExecutionDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'StatusName', ], 'DetailedStatus' => [ 'shape' => 'StatusName', ], 'ExecutionSummary' => [ 'shape' => 'InstanceAssociationExecutionSummary', ], 'ErrorCode' => [ 'shape' => 'AgentErrorCode', ], 'OutputUrl' => [ 'shape' => 'InstanceAssociationOutputUrl', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], 'InstanceAssociationStatusInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceAssociationStatusInfo', ], ], 'InstanceCount' => [ 'type' => 'integer', ], 'InstanceId' => [ 'type' => 'string', 'pattern' => '(^i-(\\w{8}|\\w{17})$)|(^mi-\\w{17}$)', ], 'InstanceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', ], 'max' => 50, 'min' => 0, ], 'InstanceInformation' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'PingStatus' => [ 'shape' => 'PingStatus', ], 'LastPingDateTime' => [ 'shape' => 'DateTime', 'box' => true, ], 'AgentVersion' => [ 'shape' => 'Version', ], 'IsLatestVersion' => [ 'shape' => 'Boolean', 'box' => true, ], 'PlatformType' => [ 'shape' => 'PlatformType', ], 'PlatformName' => [ 'shape' => 'String', ], 'PlatformVersion' => [ 'shape' => 'String', ], 'ActivationId' => [ 'shape' => 'ActivationId', ], 'IamRole' => [ 'shape' => 'IamRole', ], 'RegistrationDate' => [ 'shape' => 'DateTime', 'box' => true, ], 'ResourceType' => [ 'shape' => 'ResourceType', ], 'Name' => [ 'shape' => 'String', ], 'IPAddress' => [ 'shape' => 'IPAddress', ], 'ComputerName' => [ 'shape' => 'ComputerName', ], 'AssociationStatus' => [ 'shape' => 'StatusName', ], 'LastAssociationExecutionDate' => [ 'shape' => 'DateTime', ], 'LastSuccessfulAssociationExecutionDate' => [ 'shape' => 'DateTime', ], 'AssociationOverview' => [ 'shape' => 'InstanceAggregatedAssociationOverview', ], ], ], 'InstanceInformationFilter' => [ 'type' => 'structure', 'required' => [ 'key', 'valueSet', ], 'members' => [ 'key' => [ 'shape' => 'InstanceInformationFilterKey', ], 'valueSet' => [ 'shape' => 'InstanceInformationFilterValueSet', ], ], ], 'InstanceInformationFilterKey' => [ 'type' => 'string', 'enum' => [ 'InstanceIds', 'AgentVersion', 'PingStatus', 'PlatformTypes', 'ActivationIds', 'IamRole', 'ResourceType', 'AssociationStatus', ], ], 'InstanceInformationFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceInformationFilter', ], 'min' => 0, ], 'InstanceInformationFilterValue' => [ 'type' => 'string', 'min' => 1, ], 'InstanceInformationFilterValueSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceInformationFilterValue', ], 'max' => 100, 'min' => 1, ], 'InstanceInformationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceInformation', ], ], 'InstanceInformationStringFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'InstanceInformationStringFilterKey', ], 'Values' => [ 'shape' => 'InstanceInformationFilterValueSet', ], ], ], 'InstanceInformationStringFilterKey' => [ 'type' => 'string', 'min' => 1, ], 'InstanceInformationStringFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceInformationStringFilter', ], 'min' => 0, ], 'InstancePatchState' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'PatchGroup', 'BaselineId', 'OperationStartTime', 'OperationEndTime', 'Operation', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], 'BaselineId' => [ 'shape' => 'BaselineId', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'InstallOverrideList' => [ 'shape' => 'InstallOverrideList', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'InstalledCount' => [ 'shape' => 'PatchInstalledCount', ], 'InstalledOtherCount' => [ 'shape' => 'PatchInstalledOtherCount', ], 'InstalledRejectedCount' => [ 'shape' => 'PatchInstalledRejectedCount', 'box' => true, ], 'MissingCount' => [ 'shape' => 'PatchMissingCount', ], 'FailedCount' => [ 'shape' => 'PatchFailedCount', ], 'NotApplicableCount' => [ 'shape' => 'PatchNotApplicableCount', ], 'OperationStartTime' => [ 'shape' => 'DateTime', ], 'OperationEndTime' => [ 'shape' => 'DateTime', ], 'Operation' => [ 'shape' => 'PatchOperationType', ], ], ], 'InstancePatchStateFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', 'Type', ], 'members' => [ 'Key' => [ 'shape' => 'InstancePatchStateFilterKey', ], 'Values' => [ 'shape' => 'InstancePatchStateFilterValues', ], 'Type' => [ 'shape' => 'InstancePatchStateOperatorType', ], ], ], 'InstancePatchStateFilterKey' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'InstancePatchStateFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePatchStateFilter', ], 'max' => 4, 'min' => 0, ], 'InstancePatchStateFilterValue' => [ 'type' => 'string', ], 'InstancePatchStateFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePatchStateFilterValue', ], 'max' => 1, 'min' => 1, ], 'InstancePatchStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePatchState', ], ], 'InstancePatchStateOperatorType' => [ 'type' => 'string', 'enum' => [ 'Equal', 'NotEqual', 'LessThan', 'GreaterThan', ], ], 'InstancePatchStatesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstancePatchState', ], 'max' => 5, 'min' => 1, ], 'InstanceTagName' => [ 'type' => 'string', 'max' => 255, ], 'InstancesCount' => [ 'type' => 'integer', ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidActivation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidActivationId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAggregatorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAllowedPatternException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAssociation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAssociationVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAutomationExecutionParametersException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAutomationSignalException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidAutomationStatusUpdateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidCommandId' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidDeleteInventoryParametersException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDeletionIdException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDocument' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDocumentContent' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDocumentOperation' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDocumentSchemaVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidDocumentVersion' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidFilter' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidFilterKey' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidFilterOption' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidFilterValue' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInstanceId' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInstanceInformationFilterValue' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInventoryGroupException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInventoryItemContextException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidInventoryRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidItemContentException' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidKeyId' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidNextToken' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidNotificationConfig' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidOptionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidOutputFolder' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidOutputLocation' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameters' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidPermissionType' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidPluginName' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidResourceId' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidResourceType' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidResultAttributeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidRole' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidSchedule' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidTarget' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidTypeNameException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidUpdate' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InventoryAggregator' => [ 'type' => 'structure', 'members' => [ 'Expression' => [ 'shape' => 'InventoryAggregatorExpression', ], 'Aggregators' => [ 'shape' => 'InventoryAggregatorList', ], 'Groups' => [ 'shape' => 'InventoryGroupList', ], ], ], 'InventoryAggregatorExpression' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'InventoryAggregatorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryAggregator', ], 'max' => 10, 'min' => 1, ], 'InventoryAttributeDataType' => [ 'type' => 'string', 'enum' => [ 'string', 'number', ], ], 'InventoryDeletionId' => [ 'type' => 'string', ], 'InventoryDeletionLastStatusMessage' => [ 'type' => 'string', ], 'InventoryDeletionLastStatusUpdateTime' => [ 'type' => 'timestamp', ], 'InventoryDeletionStartTime' => [ 'type' => 'timestamp', ], 'InventoryDeletionStatus' => [ 'type' => 'string', 'enum' => [ 'InProgress', 'Complete', ], ], 'InventoryDeletionStatusItem' => [ 'type' => 'structure', 'members' => [ 'DeletionId' => [ 'shape' => 'InventoryDeletionId', ], 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'DeletionStartTime' => [ 'shape' => 'InventoryDeletionStartTime', ], 'LastStatus' => [ 'shape' => 'InventoryDeletionStatus', ], 'LastStatusMessage' => [ 'shape' => 'InventoryDeletionLastStatusMessage', ], 'DeletionSummary' => [ 'shape' => 'InventoryDeletionSummary', ], 'LastStatusUpdateTime' => [ 'shape' => 'InventoryDeletionLastStatusUpdateTime', ], ], ], 'InventoryDeletionSummary' => [ 'type' => 'structure', 'members' => [ 'TotalCount' => [ 'shape' => 'TotalCount', ], 'RemainingCount' => [ 'shape' => 'RemainingCount', ], 'SummaryItems' => [ 'shape' => 'InventoryDeletionSummaryItems', ], ], ], 'InventoryDeletionSummaryItem' => [ 'type' => 'structure', 'members' => [ 'Version' => [ 'shape' => 'InventoryItemSchemaVersion', ], 'Count' => [ 'shape' => 'ResourceCount', ], 'RemainingCount' => [ 'shape' => 'RemainingCount', ], ], ], 'InventoryDeletionSummaryItems' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryDeletionSummaryItem', ], ], 'InventoryDeletionsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryDeletionStatusItem', ], ], 'InventoryFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'InventoryFilterKey', ], 'Values' => [ 'shape' => 'InventoryFilterValueList', ], 'Type' => [ 'shape' => 'InventoryQueryOperatorType', ], ], ], 'InventoryFilterKey' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'InventoryFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryFilter', ], 'max' => 5, 'min' => 1, ], 'InventoryFilterValue' => [ 'type' => 'string', ], 'InventoryFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryFilterValue', ], 'max' => 40, 'min' => 1, ], 'InventoryGroup' => [ 'type' => 'structure', 'required' => [ 'Name', 'Filters', ], 'members' => [ 'Name' => [ 'shape' => 'InventoryGroupName', ], 'Filters' => [ 'shape' => 'InventoryFilterList', ], ], ], 'InventoryGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryGroup', ], 'max' => 10, 'min' => 1, ], 'InventoryGroupName' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'InventoryItem' => [ 'type' => 'structure', 'required' => [ 'TypeName', 'SchemaVersion', 'CaptureTime', ], 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'SchemaVersion' => [ 'shape' => 'InventoryItemSchemaVersion', ], 'CaptureTime' => [ 'shape' => 'InventoryItemCaptureTime', ], 'ContentHash' => [ 'shape' => 'InventoryItemContentHash', ], 'Content' => [ 'shape' => 'InventoryItemEntryList', ], 'Context' => [ 'shape' => 'InventoryItemContentContext', ], ], ], 'InventoryItemAttribute' => [ 'type' => 'structure', 'required' => [ 'Name', 'DataType', ], 'members' => [ 'Name' => [ 'shape' => 'InventoryItemAttributeName', ], 'DataType' => [ 'shape' => 'InventoryAttributeDataType', ], ], ], 'InventoryItemAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryItemAttribute', ], 'max' => 50, 'min' => 1, ], 'InventoryItemAttributeName' => [ 'type' => 'string', ], 'InventoryItemCaptureTime' => [ 'type' => 'string', 'pattern' => '^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$', ], 'InventoryItemContentContext' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], 'max' => 50, 'min' => 0, ], 'InventoryItemContentHash' => [ 'type' => 'string', 'max' => 256, ], 'InventoryItemEntry' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], 'max' => 50, 'min' => 0, ], 'InventoryItemEntryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryItemEntry', ], 'max' => 10000, 'min' => 0, ], 'InventoryItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryItem', ], 'max' => 30, 'min' => 1, ], 'InventoryItemSchema' => [ 'type' => 'structure', 'required' => [ 'TypeName', 'Attributes', ], 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Version' => [ 'shape' => 'InventoryItemSchemaVersion', ], 'Attributes' => [ 'shape' => 'InventoryItemAttributeList', ], 'DisplayName' => [ 'shape' => 'InventoryTypeDisplayName', ], ], ], 'InventoryItemSchemaResultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryItemSchema', ], ], 'InventoryItemSchemaVersion' => [ 'type' => 'string', 'pattern' => '^([0-9]{1,6})(\\.[0-9]{1,6})$', ], 'InventoryItemTypeName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '^(AWS|Custom):.*$', ], 'InventoryItemTypeNameFilter' => [ 'type' => 'string', 'max' => 100, 'min' => 0, ], 'InventoryQueryOperatorType' => [ 'type' => 'string', 'enum' => [ 'Equal', 'NotEqual', 'BeginWith', 'LessThan', 'GreaterThan', 'Exists', ], ], 'InventoryResultEntity' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'InventoryResultEntityId', ], 'Data' => [ 'shape' => 'InventoryResultItemMap', ], ], ], 'InventoryResultEntityId' => [ 'type' => 'string', ], 'InventoryResultEntityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InventoryResultEntity', ], ], 'InventoryResultItem' => [ 'type' => 'structure', 'required' => [ 'TypeName', 'SchemaVersion', 'Content', ], 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'SchemaVersion' => [ 'shape' => 'InventoryItemSchemaVersion', ], 'CaptureTime' => [ 'shape' => 'InventoryItemCaptureTime', ], 'ContentHash' => [ 'shape' => 'InventoryItemContentHash', ], 'Content' => [ 'shape' => 'InventoryItemEntryList', ], ], ], 'InventoryResultItemKey' => [ 'type' => 'string', ], 'InventoryResultItemMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'InventoryResultItemKey', ], 'value' => [ 'shape' => 'InventoryResultItem', ], ], 'InventorySchemaDeleteOption' => [ 'type' => 'string', 'enum' => [ 'DisableSchema', 'DeleteSchema', ], ], 'InventoryTypeDisplayName' => [ 'type' => 'string', ], 'InvocationDoesNotExist' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvocationTraceOutput' => [ 'type' => 'string', 'max' => 2500, ], 'IsSubTypeSchema' => [ 'type' => 'boolean', ], 'ItemContentMismatchException' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ItemSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'LabelParameterVersionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Labels', ], 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'ParameterVersion' => [ 'shape' => 'PSParameterVersion', 'box' => true, ], 'Labels' => [ 'shape' => 'ParameterLabelList', ], ], ], 'LabelParameterVersionResult' => [ 'type' => 'structure', 'members' => [ 'InvalidLabels' => [ 'shape' => 'ParameterLabelList', ], ], ], 'LastResourceDataSyncMessage' => [ 'type' => 'string', ], 'LastResourceDataSyncStatus' => [ 'type' => 'string', 'enum' => [ 'Successful', 'Failed', 'InProgress', ], ], 'LastResourceDataSyncTime' => [ 'type' => 'timestamp', ], 'LastSuccessfulResourceDataSyncTime' => [ 'type' => 'timestamp', ], 'ListAssociationVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAssociationVersionsResult' => [ 'type' => 'structure', 'members' => [ 'AssociationVersions' => [ 'shape' => 'AssociationVersionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'AssociationFilterList' => [ 'shape' => 'AssociationFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListAssociationsResult' => [ 'type' => 'structure', 'members' => [ 'Associations' => [ 'shape' => 'AssociationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCommandInvocationsRequest' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'CommandMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'CommandFilterList', ], 'Details' => [ 'shape' => 'Boolean', ], ], ], 'ListCommandInvocationsResult' => [ 'type' => 'structure', 'members' => [ 'CommandInvocations' => [ 'shape' => 'CommandInvocationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListCommandsRequest' => [ 'type' => 'structure', 'members' => [ 'CommandId' => [ 'shape' => 'CommandId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'CommandMaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Filters' => [ 'shape' => 'CommandFilterList', ], ], ], 'ListCommandsResult' => [ 'type' => 'structure', 'members' => [ 'Commands' => [ 'shape' => 'CommandList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListComplianceItemsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ComplianceStringFilterList', ], 'ResourceIds' => [ 'shape' => 'ComplianceResourceIdList', ], 'ResourceTypes' => [ 'shape' => 'ComplianceResourceTypeList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListComplianceItemsResult' => [ 'type' => 'structure', 'members' => [ 'ComplianceItems' => [ 'shape' => 'ComplianceItemList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListComplianceSummariesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ComplianceStringFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListComplianceSummariesResult' => [ 'type' => 'structure', 'members' => [ 'ComplianceSummaryItems' => [ 'shape' => 'ComplianceSummaryItemList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDocumentVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDocumentVersionsResult' => [ 'type' => 'structure', 'members' => [ 'DocumentVersions' => [ 'shape' => 'DocumentVersionList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDocumentsRequest' => [ 'type' => 'structure', 'members' => [ 'DocumentFilterList' => [ 'shape' => 'DocumentFilterList', ], 'Filters' => [ 'shape' => 'DocumentKeyValuesFilterList', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListDocumentsResult' => [ 'type' => 'structure', 'members' => [ 'DocumentIdentifiers' => [ 'shape' => 'DocumentIdentifierList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListInventoryEntriesRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'TypeName', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Filters' => [ 'shape' => 'InventoryFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListInventoryEntriesResult' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'SchemaVersion' => [ 'shape' => 'InventoryItemSchemaVersion', ], 'CaptureTime' => [ 'shape' => 'InventoryItemCaptureTime', ], 'Entries' => [ 'shape' => 'InventoryItemEntryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListResourceComplianceSummariesRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'ComplianceStringFilterList', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListResourceComplianceSummariesResult' => [ 'type' => 'structure', 'members' => [ 'ResourceComplianceSummaryItems' => [ 'shape' => 'ResourceComplianceSummaryItemList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListResourceDataSyncRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', 'box' => true, ], ], ], 'ListResourceDataSyncResult' => [ 'type' => 'structure', 'members' => [ 'ResourceDataSyncItems' => [ 'shape' => 'ResourceDataSyncItemList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', ], 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceTypeForTagging', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], ], ], 'ListTagsForResourceResult' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'LoggingInfo' => [ 'type' => 'structure', 'required' => [ 'S3BucketName', 'S3Region', ], 'members' => [ 'S3BucketName' => [ 'shape' => 'S3BucketName', ], 'S3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'S3Region' => [ 'shape' => 'S3Region', ], ], ], 'Long' => [ 'type' => 'long', ], 'MaintenanceWindowAllowUnassociatedTargets' => [ 'type' => 'boolean', ], 'MaintenanceWindowAutomationParameters' => [ 'type' => 'structure', 'members' => [ 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Parameters' => [ 'shape' => 'AutomationParameterMap', ], ], ], 'MaintenanceWindowCutoff' => [ 'type' => 'integer', 'max' => 23, 'min' => 0, ], 'MaintenanceWindowDescription' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'sensitive' => true, ], 'MaintenanceWindowDurationHours' => [ 'type' => 'integer', 'max' => 24, 'min' => 1, ], 'MaintenanceWindowEnabled' => [ 'type' => 'boolean', ], 'MaintenanceWindowExecution' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], ], ], 'MaintenanceWindowExecutionId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$', ], 'MaintenanceWindowExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowExecution', ], ], 'MaintenanceWindowExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'IN_PROGRESS', 'SUCCESS', 'FAILED', 'TIMED_OUT', 'CANCELLING', 'CANCELLED', 'SKIPPED_OVERLAPPING', ], ], 'MaintenanceWindowExecutionStatusDetails' => [ 'type' => 'string', 'max' => 250, 'min' => 0, ], 'MaintenanceWindowExecutionTaskExecutionId' => [ 'type' => 'string', ], 'MaintenanceWindowExecutionTaskId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$', ], 'MaintenanceWindowExecutionTaskIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], ], 'MaintenanceWindowExecutionTaskIdentity' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'TaskType' => [ 'shape' => 'MaintenanceWindowTaskType', ], ], ], 'MaintenanceWindowExecutionTaskIdentityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowExecutionTaskIdentity', ], ], 'MaintenanceWindowExecutionTaskInvocationId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$', ], 'MaintenanceWindowExecutionTaskInvocationIdentity' => [ 'type' => 'structure', 'members' => [ 'WindowExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionId', ], 'TaskExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskId', ], 'InvocationId' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationId', ], 'ExecutionId' => [ 'shape' => 'MaintenanceWindowExecutionTaskExecutionId', ], 'TaskType' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'Parameters' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationParameters', ], 'Status' => [ 'shape' => 'MaintenanceWindowExecutionStatus', ], 'StatusDetails' => [ 'shape' => 'MaintenanceWindowExecutionStatusDetails', ], 'StartTime' => [ 'shape' => 'DateTime', ], 'EndTime' => [ 'shape' => 'DateTime', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTaskTargetId', ], ], ], 'MaintenanceWindowExecutionTaskInvocationIdentityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowExecutionTaskInvocationIdentity', ], ], 'MaintenanceWindowExecutionTaskInvocationParameters' => [ 'type' => 'string', 'sensitive' => true, ], 'MaintenanceWindowFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'MaintenanceWindowFilterKey', ], 'Values' => [ 'shape' => 'MaintenanceWindowFilterValues', ], ], ], 'MaintenanceWindowFilterKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'MaintenanceWindowFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowFilter', ], 'max' => 5, 'min' => 0, ], 'MaintenanceWindowFilterValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'MaintenanceWindowFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowFilterValue', ], ], 'MaintenanceWindowId' => [ 'type' => 'string', 'max' => 20, 'min' => 20, 'pattern' => '^mw-[0-9a-f]{17}$', ], 'MaintenanceWindowIdentity' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'Enabled' => [ 'shape' => 'MaintenanceWindowEnabled', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'ScheduleTimezone' => [ 'shape' => 'MaintenanceWindowTimezone', ], 'EndDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'StartDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'NextExecutionTime' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], ], ], 'MaintenanceWindowIdentityForTarget' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], ], ], 'MaintenanceWindowIdentityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowIdentity', ], ], 'MaintenanceWindowLambdaClientContext' => [ 'type' => 'string', 'max' => 8000, 'min' => 1, ], 'MaintenanceWindowLambdaParameters' => [ 'type' => 'structure', 'members' => [ 'ClientContext' => [ 'shape' => 'MaintenanceWindowLambdaClientContext', ], 'Qualifier' => [ 'shape' => 'MaintenanceWindowLambdaQualifier', ], 'Payload' => [ 'shape' => 'MaintenanceWindowLambdaPayload', ], ], ], 'MaintenanceWindowLambdaPayload' => [ 'type' => 'blob', 'max' => 4096, 'sensitive' => true, ], 'MaintenanceWindowLambdaQualifier' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'MaintenanceWindowMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 10, ], 'MaintenanceWindowName' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '^[a-zA-Z0-9_\\-.]{3,128}$', ], 'MaintenanceWindowResourceType' => [ 'type' => 'string', 'enum' => [ 'INSTANCE', ], ], 'MaintenanceWindowRunCommandParameters' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'Comment', ], 'DocumentHash' => [ 'shape' => 'DocumentHash', ], 'DocumentHashType' => [ 'shape' => 'DocumentHashType', ], 'NotificationConfig' => [ 'shape' => 'NotificationConfig', ], 'OutputS3BucketName' => [ 'shape' => 'S3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'TimeoutSeconds' => [ 'shape' => 'TimeoutSeconds', 'box' => true, ], ], ], 'MaintenanceWindowSchedule' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'MaintenanceWindowSearchMaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'MaintenanceWindowStepFunctionsInput' => [ 'type' => 'string', 'max' => 4096, 'sensitive' => true, ], 'MaintenanceWindowStepFunctionsName' => [ 'type' => 'string', 'max' => 80, 'min' => 1, ], 'MaintenanceWindowStepFunctionsParameters' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'MaintenanceWindowStepFunctionsInput', ], 'Name' => [ 'shape' => 'MaintenanceWindowStepFunctionsName', ], ], ], 'MaintenanceWindowStringDateTime' => [ 'type' => 'string', ], 'MaintenanceWindowTarget' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], 'ResourceType' => [ 'shape' => 'MaintenanceWindowResourceType', ], 'Targets' => [ 'shape' => 'Targets', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], ], ], 'MaintenanceWindowTargetId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$', ], 'MaintenanceWindowTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowTarget', ], ], 'MaintenanceWindowTask' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'Type' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'Targets' => [ 'shape' => 'Targets', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', ], 'LoggingInfo' => [ 'shape' => 'LoggingInfo', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], ], ], 'MaintenanceWindowTaskArn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'MaintenanceWindowTaskId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$', ], 'MaintenanceWindowTaskInvocationParameters' => [ 'type' => 'structure', 'members' => [ 'RunCommand' => [ 'shape' => 'MaintenanceWindowRunCommandParameters', ], 'Automation' => [ 'shape' => 'MaintenanceWindowAutomationParameters', ], 'StepFunctions' => [ 'shape' => 'MaintenanceWindowStepFunctionsParameters', ], 'Lambda' => [ 'shape' => 'MaintenanceWindowLambdaParameters', ], ], ], 'MaintenanceWindowTaskList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowTask', ], ], 'MaintenanceWindowTaskParameterName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'MaintenanceWindowTaskParameterValue' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'sensitive' => true, ], 'MaintenanceWindowTaskParameterValueExpression' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'MaintenanceWindowTaskParameterValueList', ], ], 'sensitive' => true, ], 'MaintenanceWindowTaskParameterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowTaskParameterValue', ], 'sensitive' => true, ], 'MaintenanceWindowTaskParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'MaintenanceWindowTaskParameterName', ], 'value' => [ 'shape' => 'MaintenanceWindowTaskParameterValueExpression', ], 'sensitive' => true, ], 'MaintenanceWindowTaskParametersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'sensitive' => true, ], 'MaintenanceWindowTaskPriority' => [ 'type' => 'integer', 'min' => 0, ], 'MaintenanceWindowTaskTargetId' => [ 'type' => 'string', 'max' => 36, ], 'MaintenanceWindowTaskType' => [ 'type' => 'string', 'enum' => [ 'RUN_COMMAND', 'AUTOMATION', 'STEP_FUNCTIONS', 'LAMBDA', ], ], 'MaintenanceWindowTimezone' => [ 'type' => 'string', ], 'MaintenanceWindowsForTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'MaintenanceWindowIdentityForTarget', ], ], 'ManagedInstanceId' => [ 'type' => 'string', 'pattern' => '^mi-[0-9a-f]{17}$', ], 'MaxConcurrency' => [ 'type' => 'string', 'max' => 7, 'min' => 1, 'pattern' => '^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$', ], 'MaxDocumentSizeExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MaxErrors' => [ 'type' => 'string', 'max' => 7, 'min' => 1, 'pattern' => '^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'MaxResultsEC2Compatible' => [ 'type' => 'integer', 'max' => 50, 'min' => 5, ], 'ModifyDocumentPermissionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'PermissionType', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'PermissionType' => [ 'shape' => 'DocumentPermissionType', ], 'AccountIdsToAdd' => [ 'shape' => 'AccountIdList', ], 'AccountIdsToRemove' => [ 'shape' => 'AccountIdList', ], ], ], 'ModifyDocumentPermissionResponse' => [ 'type' => 'structure', 'members' => [], ], 'NextToken' => [ 'type' => 'string', ], 'NonCompliantSummary' => [ 'type' => 'structure', 'members' => [ 'NonCompliantCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'SeveritySummary' => [ 'shape' => 'SeveritySummary', ], ], ], 'NormalStringMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], 'NotificationArn' => [ 'type' => 'string', ], 'NotificationConfig' => [ 'type' => 'structure', 'members' => [ 'NotificationArn' => [ 'shape' => 'NotificationArn', ], 'NotificationEvents' => [ 'shape' => 'NotificationEventList', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], ], ], 'NotificationEvent' => [ 'type' => 'string', 'enum' => [ 'All', 'InProgress', 'Success', 'TimedOut', 'Cancelled', 'Failed', ], ], 'NotificationEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationEvent', ], ], 'NotificationType' => [ 'type' => 'string', 'enum' => [ 'Command', 'Invocation', ], ], 'OperatingSystem' => [ 'type' => 'string', 'enum' => [ 'WINDOWS', 'AMAZON_LINUX', 'AMAZON_LINUX_2', 'UBUNTU', 'REDHAT_ENTERPRISE_LINUX', 'SUSE', 'CENTOS', ], ], 'OutputSource' => [ 'type' => 'structure', 'members' => [ 'OutputSourceId' => [ 'shape' => 'OutputSourceId', ], 'OutputSourceType' => [ 'shape' => 'OutputSourceType', ], ], ], 'OutputSourceId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, ], 'OutputSourceType' => [ 'type' => 'string', ], 'OwnerInformation' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'sensitive' => true, ], 'PSParameterName' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'PSParameterSelector' => [ 'type' => 'string', 'max' => 128, 'min' => 0, ], 'PSParameterValue' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'PSParameterVersion' => [ 'type' => 'long', ], 'Parameter' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'Type' => [ 'shape' => 'ParameterType', ], 'Value' => [ 'shape' => 'PSParameterValue', ], 'Version' => [ 'shape' => 'PSParameterVersion', ], 'Selector' => [ 'shape' => 'PSParameterSelector', ], 'SourceResult' => [ 'shape' => 'String', ], 'LastModifiedDate' => [ 'shape' => 'DateTime', ], 'ARN' => [ 'shape' => 'String', ], ], ], 'ParameterAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterDescription' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], 'ParameterHistory' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'Type' => [ 'shape' => 'ParameterType', ], 'KeyId' => [ 'shape' => 'ParameterKeyId', ], 'LastModifiedDate' => [ 'shape' => 'DateTime', ], 'LastModifiedUser' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'ParameterDescription', ], 'Value' => [ 'shape' => 'PSParameterValue', ], 'AllowedPattern' => [ 'shape' => 'AllowedPattern', ], 'Version' => [ 'shape' => 'PSParameterVersion', ], 'Labels' => [ 'shape' => 'ParameterLabelList', ], ], ], 'ParameterHistoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterHistory', ], ], 'ParameterKeyId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([a-zA-Z0-9:/_-]+)$', ], 'ParameterLabel' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ParameterLabelList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterLabel', ], 'max' => 10, 'min' => 1, ], 'ParameterLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Parameter', ], ], 'ParameterMaxVersionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterMetadata' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'Type' => [ 'shape' => 'ParameterType', ], 'KeyId' => [ 'shape' => 'ParameterKeyId', ], 'LastModifiedDate' => [ 'shape' => 'DateTime', ], 'LastModifiedUser' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'ParameterDescription', ], 'AllowedPattern' => [ 'shape' => 'AllowedPattern', ], 'Version' => [ 'shape' => 'PSParameterVersion', ], ], ], 'ParameterMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterMetadata', ], ], 'ParameterName' => [ 'type' => 'string', ], 'ParameterNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PSParameterName', ], 'max' => 10, 'min' => 1, ], 'ParameterNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterPatternMismatchException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterStringFilter' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'ParameterStringFilterKey', ], 'Option' => [ 'shape' => 'ParameterStringQueryOption', ], 'Values' => [ 'shape' => 'ParameterStringFilterValueList', ], ], ], 'ParameterStringFilterKey' => [ 'type' => 'string', 'max' => 132, 'min' => 1, 'pattern' => 'tag:.+|Name|Type|KeyId|Path|Label', ], 'ParameterStringFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterStringFilter', ], ], 'ParameterStringFilterValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ParameterStringFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterStringFilterValue', ], 'max' => 50, 'min' => 1, ], 'ParameterStringQueryOption' => [ 'type' => 'string', 'max' => 10, 'min' => 1, ], 'ParameterType' => [ 'type' => 'string', 'enum' => [ 'String', 'StringList', 'SecureString', ], ], 'ParameterValue' => [ 'type' => 'string', ], 'ParameterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], ], 'ParameterVersionLabelLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ParameterVersionNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Parameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'ParameterName', ], 'value' => [ 'shape' => 'ParameterValueList', ], ], 'ParametersFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'ParametersFilterKey', ], 'Values' => [ 'shape' => 'ParametersFilterValueList', ], ], ], 'ParametersFilterKey' => [ 'type' => 'string', 'enum' => [ 'Name', 'Type', 'KeyId', ], ], 'ParametersFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParametersFilter', ], ], 'ParametersFilterValue' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ParametersFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParametersFilterValue', ], 'max' => 50, 'min' => 1, ], 'Patch' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'PatchId', ], 'ReleaseDate' => [ 'shape' => 'DateTime', ], 'Title' => [ 'shape' => 'PatchTitle', ], 'Description' => [ 'shape' => 'PatchDescription', ], 'ContentUrl' => [ 'shape' => 'PatchContentUrl', ], 'Vendor' => [ 'shape' => 'PatchVendor', ], 'ProductFamily' => [ 'shape' => 'PatchProductFamily', ], 'Product' => [ 'shape' => 'PatchProduct', ], 'Classification' => [ 'shape' => 'PatchClassification', ], 'MsrcSeverity' => [ 'shape' => 'PatchMsrcSeverity', ], 'KbNumber' => [ 'shape' => 'PatchKbNumber', ], 'MsrcNumber' => [ 'shape' => 'PatchMsrcNumber', ], 'Language' => [ 'shape' => 'PatchLanguage', ], ], ], 'PatchAction' => [ 'type' => 'string', 'enum' => [ 'ALLOW_AS_DEPENDENCY', 'BLOCK', ], ], 'PatchBaselineIdentity' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'BaselineName' => [ 'shape' => 'BaselineName', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'BaselineDescription' => [ 'shape' => 'BaselineDescription', ], 'DefaultBaseline' => [ 'shape' => 'DefaultBaseline', ], ], ], 'PatchBaselineIdentityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchBaselineIdentity', ], ], 'PatchBaselineMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'PatchClassification' => [ 'type' => 'string', ], 'PatchComplianceData' => [ 'type' => 'structure', 'required' => [ 'Title', 'KBId', 'Classification', 'Severity', 'State', 'InstalledTime', ], 'members' => [ 'Title' => [ 'shape' => 'PatchTitle', ], 'KBId' => [ 'shape' => 'PatchKbNumber', ], 'Classification' => [ 'shape' => 'PatchClassification', ], 'Severity' => [ 'shape' => 'PatchSeverity', ], 'State' => [ 'shape' => 'PatchComplianceDataState', ], 'InstalledTime' => [ 'shape' => 'DateTime', ], ], ], 'PatchComplianceDataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchComplianceData', ], ], 'PatchComplianceDataState' => [ 'type' => 'string', 'enum' => [ 'INSTALLED', 'INSTALLED_OTHER', 'INSTALLED_REJECTED', 'MISSING', 'NOT_APPLICABLE', 'FAILED', ], ], 'PatchComplianceLevel' => [ 'type' => 'string', 'enum' => [ 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'INFORMATIONAL', 'UNSPECIFIED', ], ], 'PatchComplianceMaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 10, ], 'PatchContentUrl' => [ 'type' => 'string', ], 'PatchDeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'APPROVED', 'PENDING_APPROVAL', 'EXPLICIT_APPROVED', 'EXPLICIT_REJECTED', ], ], 'PatchDescription' => [ 'type' => 'string', ], 'PatchFailedCount' => [ 'type' => 'integer', ], 'PatchFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'PatchFilterKey', ], 'Values' => [ 'shape' => 'PatchFilterValueList', ], ], ], 'PatchFilterGroup' => [ 'type' => 'structure', 'required' => [ 'PatchFilters', ], 'members' => [ 'PatchFilters' => [ 'shape' => 'PatchFilterList', ], ], ], 'PatchFilterKey' => [ 'type' => 'string', 'enum' => [ 'PRODUCT', 'CLASSIFICATION', 'MSRC_SEVERITY', 'PATCH_ID', 'SECTION', 'PRIORITY', 'SEVERITY', ], ], 'PatchFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchFilter', ], 'max' => 4, 'min' => 0, ], 'PatchFilterValue' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'PatchFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchFilterValue', ], 'max' => 20, 'min' => 1, ], 'PatchGroup' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'PatchGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchGroup', ], ], 'PatchGroupPatchBaselineMapping' => [ 'type' => 'structure', 'members' => [ 'PatchGroup' => [ 'shape' => 'PatchGroup', ], 'BaselineIdentity' => [ 'shape' => 'PatchBaselineIdentity', ], ], ], 'PatchGroupPatchBaselineMappingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchGroupPatchBaselineMapping', ], ], 'PatchId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'PatchIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchId', ], 'max' => 50, 'min' => 0, ], 'PatchInstalledCount' => [ 'type' => 'integer', ], 'PatchInstalledOtherCount' => [ 'type' => 'integer', ], 'PatchInstalledRejectedCount' => [ 'type' => 'integer', ], 'PatchKbNumber' => [ 'type' => 'string', ], 'PatchLanguage' => [ 'type' => 'string', ], 'PatchList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Patch', ], ], 'PatchMissingCount' => [ 'type' => 'integer', ], 'PatchMsrcNumber' => [ 'type' => 'string', ], 'PatchMsrcSeverity' => [ 'type' => 'string', ], 'PatchNotApplicableCount' => [ 'type' => 'integer', ], 'PatchOperationType' => [ 'type' => 'string', 'enum' => [ 'Scan', 'Install', ], ], 'PatchOrchestratorFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'PatchOrchestratorFilterKey', ], 'Values' => [ 'shape' => 'PatchOrchestratorFilterValues', ], ], ], 'PatchOrchestratorFilterKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'PatchOrchestratorFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchOrchestratorFilter', ], 'max' => 5, 'min' => 0, ], 'PatchOrchestratorFilterValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'PatchOrchestratorFilterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchOrchestratorFilterValue', ], ], 'PatchProduct' => [ 'type' => 'string', ], 'PatchProductFamily' => [ 'type' => 'string', ], 'PatchRule' => [ 'type' => 'structure', 'required' => [ 'PatchFilterGroup', 'ApproveAfterDays', ], 'members' => [ 'PatchFilterGroup' => [ 'shape' => 'PatchFilterGroup', ], 'ComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApproveAfterDays' => [ 'shape' => 'ApproveAfterDays', 'box' => true, ], 'EnableNonSecurity' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'PatchRuleGroup' => [ 'type' => 'structure', 'required' => [ 'PatchRules', ], 'members' => [ 'PatchRules' => [ 'shape' => 'PatchRuleList', ], ], ], 'PatchRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchRule', ], 'max' => 10, 'min' => 0, ], 'PatchSeverity' => [ 'type' => 'string', ], 'PatchSource' => [ 'type' => 'structure', 'required' => [ 'Name', 'Products', 'Configuration', ], 'members' => [ 'Name' => [ 'shape' => 'PatchSourceName', ], 'Products' => [ 'shape' => 'PatchSourceProductList', ], 'Configuration' => [ 'shape' => 'PatchSourceConfiguration', ], ], ], 'PatchSourceConfiguration' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'sensitive' => true, ], 'PatchSourceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchSource', ], 'max' => 20, 'min' => 0, ], 'PatchSourceName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_\\-.]{3,50}$', ], 'PatchSourceProduct' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'PatchSourceProductList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PatchSourceProduct', ], 'max' => 20, 'min' => 1, ], 'PatchStatus' => [ 'type' => 'structure', 'members' => [ 'DeploymentStatus' => [ 'shape' => 'PatchDeploymentStatus', ], 'ComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApprovalDate' => [ 'shape' => 'DateTime', ], ], ], 'PatchTitle' => [ 'type' => 'string', ], 'PatchVendor' => [ 'type' => 'string', ], 'PingStatus' => [ 'type' => 'string', 'enum' => [ 'Online', 'ConnectionLost', 'Inactive', ], ], 'PlatformType' => [ 'type' => 'string', 'enum' => [ 'Windows', 'Linux', ], ], 'PlatformTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlatformType', ], ], 'Product' => [ 'type' => 'string', ], 'ProgressCounters' => [ 'type' => 'structure', 'members' => [ 'TotalSteps' => [ 'shape' => 'Integer', ], 'SuccessSteps' => [ 'shape' => 'Integer', ], 'FailedSteps' => [ 'shape' => 'Integer', ], 'CancelledSteps' => [ 'shape' => 'Integer', ], 'TimedOutSteps' => [ 'shape' => 'Integer', ], ], ], 'PutComplianceItemsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'ResourceType', 'ComplianceType', 'ExecutionSummary', 'Items', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ComplianceResourceId', ], 'ResourceType' => [ 'shape' => 'ComplianceResourceType', ], 'ComplianceType' => [ 'shape' => 'ComplianceTypeName', ], 'ExecutionSummary' => [ 'shape' => 'ComplianceExecutionSummary', ], 'Items' => [ 'shape' => 'ComplianceItemEntryList', ], 'ItemContentHash' => [ 'shape' => 'ComplianceItemContentHash', ], ], ], 'PutComplianceItemsResult' => [ 'type' => 'structure', 'members' => [], ], 'PutInventoryMessage' => [ 'type' => 'string', ], 'PutInventoryRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'Items', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Items' => [ 'shape' => 'InventoryItemList', ], ], ], 'PutInventoryResult' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'PutInventoryMessage', ], ], ], 'PutParameterRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Value', 'Type', ], 'members' => [ 'Name' => [ 'shape' => 'PSParameterName', ], 'Description' => [ 'shape' => 'ParameterDescription', ], 'Value' => [ 'shape' => 'PSParameterValue', ], 'Type' => [ 'shape' => 'ParameterType', ], 'KeyId' => [ 'shape' => 'ParameterKeyId', ], 'Overwrite' => [ 'shape' => 'Boolean', 'box' => true, ], 'AllowedPattern' => [ 'shape' => 'AllowedPattern', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'PutParameterResult' => [ 'type' => 'structure', 'members' => [ 'Version' => [ 'shape' => 'PSParameterVersion', ], ], ], 'Region' => [ 'type' => 'string', ], 'Regions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Region', ], 'max' => 50, 'min' => 1, ], 'RegisterDefaultPatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'RegisterDefaultPatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], ], ], 'RegisterPatchBaselineForPatchGroupRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', 'PatchGroup', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], ], ], 'RegisterPatchBaselineForPatchGroupResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'PatchGroup' => [ 'shape' => 'PatchGroup', ], ], ], 'RegisterTargetWithMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'ResourceType', 'Targets', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'ResourceType' => [ 'shape' => 'MaintenanceWindowResourceType', ], 'Targets' => [ 'shape' => 'Targets', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], ], ], 'RegisterTargetWithMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], ], ], 'RegisterTaskWithMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'Targets', 'TaskArn', 'TaskType', 'MaxConcurrency', 'MaxErrors', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Targets' => [ 'shape' => 'Targets', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'TaskType' => [ 'shape' => 'MaintenanceWindowTaskType', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'TaskInvocationParameters' => [ 'shape' => 'MaintenanceWindowTaskInvocationParameters', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', 'box' => true, ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'LoggingInfo' => [ 'shape' => 'LoggingInfo', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], ], ], 'RegisterTaskWithMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], ], ], 'RegistrationLimit' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'RegistrationsCount' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'RemainingCount' => [ 'type' => 'integer', ], 'RemoveTagsFromResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceType', 'ResourceId', 'TagKeys', ], 'members' => [ 'ResourceType' => [ 'shape' => 'ResourceTypeForTagging', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], 'RemoveTagsFromResourceResult' => [ 'type' => 'structure', 'members' => [], ], 'ResetServiceSettingRequest' => [ 'type' => 'structure', 'required' => [ 'SettingId', ], 'members' => [ 'SettingId' => [ 'shape' => 'ServiceSettingId', ], ], ], 'ResetServiceSettingResult' => [ 'type' => 'structure', 'members' => [ 'ServiceSetting' => [ 'shape' => 'ServiceSetting', ], ], ], 'ResolvedTargets' => [ 'type' => 'structure', 'members' => [ 'ParameterValues' => [ 'shape' => 'TargetParameterList', ], 'Truncated' => [ 'shape' => 'Boolean', ], ], ], 'ResourceComplianceSummaryItem' => [ 'type' => 'structure', 'members' => [ 'ComplianceType' => [ 'shape' => 'ComplianceTypeName', ], 'ResourceType' => [ 'shape' => 'ComplianceResourceType', ], 'ResourceId' => [ 'shape' => 'ComplianceResourceId', ], 'Status' => [ 'shape' => 'ComplianceStatus', ], 'OverallSeverity' => [ 'shape' => 'ComplianceSeverity', ], 'ExecutionSummary' => [ 'shape' => 'ComplianceExecutionSummary', ], 'CompliantSummary' => [ 'shape' => 'CompliantSummary', ], 'NonCompliantSummary' => [ 'shape' => 'NonCompliantSummary', ], ], ], 'ResourceComplianceSummaryItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceComplianceSummaryItem', ], ], 'ResourceCount' => [ 'type' => 'integer', ], 'ResourceCountByStatus' => [ 'type' => 'string', ], 'ResourceDataSyncAWSKMSKeyARN' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => 'arn:.*', ], 'ResourceDataSyncAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'SyncName' => [ 'shape' => 'ResourceDataSyncName', ], ], 'exception' => true, ], 'ResourceDataSyncCountExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceDataSyncCreatedTime' => [ 'type' => 'timestamp', ], 'ResourceDataSyncInvalidConfigurationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceDataSyncItem' => [ 'type' => 'structure', 'members' => [ 'SyncName' => [ 'shape' => 'ResourceDataSyncName', ], 'S3Destination' => [ 'shape' => 'ResourceDataSyncS3Destination', ], 'LastSyncTime' => [ 'shape' => 'LastResourceDataSyncTime', ], 'LastSuccessfulSyncTime' => [ 'shape' => 'LastSuccessfulResourceDataSyncTime', ], 'LastStatus' => [ 'shape' => 'LastResourceDataSyncStatus', ], 'SyncCreatedTime' => [ 'shape' => 'ResourceDataSyncCreatedTime', ], 'LastSyncStatusMessage' => [ 'shape' => 'LastResourceDataSyncMessage', ], ], ], 'ResourceDataSyncItemList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceDataSyncItem', ], ], 'ResourceDataSyncName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ResourceDataSyncNotFoundException' => [ 'type' => 'structure', 'members' => [ 'SyncName' => [ 'shape' => 'ResourceDataSyncName', ], ], 'exception' => true, ], 'ResourceDataSyncS3BucketName' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ResourceDataSyncS3Destination' => [ 'type' => 'structure', 'required' => [ 'BucketName', 'SyncFormat', 'Region', ], 'members' => [ 'BucketName' => [ 'shape' => 'ResourceDataSyncS3BucketName', ], 'Prefix' => [ 'shape' => 'ResourceDataSyncS3Prefix', ], 'SyncFormat' => [ 'shape' => 'ResourceDataSyncS3Format', ], 'Region' => [ 'shape' => 'ResourceDataSyncS3Region', ], 'AWSKMSKeyARN' => [ 'shape' => 'ResourceDataSyncAWSKMSKeyARN', ], ], ], 'ResourceDataSyncS3Format' => [ 'type' => 'string', 'enum' => [ 'JsonSerDe', ], ], 'ResourceDataSyncS3Prefix' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ResourceDataSyncS3Region' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'ResourceId' => [ 'type' => 'string', ], 'ResourceInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'ManagedInstance', 'Document', 'EC2Instance', ], ], 'ResourceTypeForTagging' => [ 'type' => 'string', 'enum' => [ 'Document', 'ManagedInstance', 'MaintenanceWindow', 'Parameter', 'PatchBaseline', ], ], 'ResponseCode' => [ 'type' => 'integer', ], 'ResultAttribute' => [ 'type' => 'structure', 'required' => [ 'TypeName', ], 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], ], ], 'ResultAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResultAttribute', ], 'max' => 1, 'min' => 1, ], 'ResumeSessionRequest' => [ 'type' => 'structure', 'required' => [ 'SessionId', ], 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], ], ], 'ResumeSessionResponse' => [ 'type' => 'structure', 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], 'TokenValue' => [ 'shape' => 'TokenValue', ], 'StreamUrl' => [ 'shape' => 'StreamUrl', ], ], ], 'S3BucketName' => [ 'type' => 'string', 'max' => 63, 'min' => 3, ], 'S3KeyPrefix' => [ 'type' => 'string', 'max' => 500, ], 'S3OutputLocation' => [ 'type' => 'structure', 'members' => [ 'OutputS3Region' => [ 'shape' => 'S3Region', ], 'OutputS3BucketName' => [ 'shape' => 'S3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], ], ], 'S3OutputUrl' => [ 'type' => 'structure', 'members' => [ 'OutputUrl' => [ 'shape' => 'Url', ], ], ], 'S3Region' => [ 'type' => 'string', 'max' => 20, 'min' => 3, ], 'ScheduleExpression' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ScheduledWindowExecution' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'ExecutionTime' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], ], ], 'ScheduledWindowExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ScheduledWindowExecution', ], ], 'SendAutomationSignalRequest' => [ 'type' => 'structure', 'required' => [ 'AutomationExecutionId', 'SignalType', ], 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'SignalType' => [ 'shape' => 'SignalType', ], 'Payload' => [ 'shape' => 'AutomationParameterMap', ], ], ], 'SendAutomationSignalResult' => [ 'type' => 'structure', 'members' => [], ], 'SendCommandRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentName', ], 'members' => [ 'InstanceIds' => [ 'shape' => 'InstanceIdList', ], 'Targets' => [ 'shape' => 'Targets', ], 'DocumentName' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentHash' => [ 'shape' => 'DocumentHash', ], 'DocumentHashType' => [ 'shape' => 'DocumentHashType', ], 'TimeoutSeconds' => [ 'shape' => 'TimeoutSeconds', 'box' => true, ], 'Comment' => [ 'shape' => 'Comment', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'OutputS3Region' => [ 'shape' => 'S3Region', ], 'OutputS3BucketName' => [ 'shape' => 'S3BucketName', ], 'OutputS3KeyPrefix' => [ 'shape' => 'S3KeyPrefix', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'NotificationConfig' => [ 'shape' => 'NotificationConfig', ], 'CloudWatchOutputConfig' => [ 'shape' => 'CloudWatchOutputConfig', ], ], ], 'SendCommandResult' => [ 'type' => 'structure', 'members' => [ 'Command' => [ 'shape' => 'Command', ], ], ], 'ServiceRole' => [ 'type' => 'string', ], 'ServiceSetting' => [ 'type' => 'structure', 'members' => [ 'SettingId' => [ 'shape' => 'ServiceSettingId', ], 'SettingValue' => [ 'shape' => 'ServiceSettingValue', ], 'LastModifiedDate' => [ 'shape' => 'DateTime', ], 'LastModifiedUser' => [ 'shape' => 'String', ], 'ARN' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], ], ], 'ServiceSettingId' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'ServiceSettingNotFound' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ServiceSettingValue' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, ], 'Session' => [ 'type' => 'structure', 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], 'Target' => [ 'shape' => 'SessionTarget', ], 'Status' => [ 'shape' => 'SessionStatus', ], 'StartDate' => [ 'shape' => 'DateTime', ], 'EndDate' => [ 'shape' => 'DateTime', ], 'DocumentName' => [ 'shape' => 'DocumentName', ], 'Owner' => [ 'shape' => 'SessionOwner', ], 'Details' => [ 'shape' => 'SessionDetails', ], 'OutputUrl' => [ 'shape' => 'SessionManagerOutputUrl', ], ], ], 'SessionDetails' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'SessionFilter' => [ 'type' => 'structure', 'required' => [ 'key', 'value', ], 'members' => [ 'key' => [ 'shape' => 'SessionFilterKey', ], 'value' => [ 'shape' => 'SessionFilterValue', ], ], ], 'SessionFilterKey' => [ 'type' => 'string', 'enum' => [ 'InvokedAfter', 'InvokedBefore', 'Target', 'Owner', 'Status', ], ], 'SessionFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SessionFilter', ], 'max' => 5, 'min' => 1, ], 'SessionFilterValue' => [ 'type' => 'string', 'max' => 200, 'min' => 1, ], 'SessionId' => [ 'type' => 'string', 'max' => 96, 'min' => 1, ], 'SessionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Session', ], ], 'SessionManagerCloudWatchOutputUrl' => [ 'type' => 'string', 'max' => 2083, 'min' => 1, ], 'SessionManagerOutputUrl' => [ 'type' => 'structure', 'members' => [ 'S3OutputUrl' => [ 'shape' => 'SessionManagerS3OutputUrl', ], 'CloudWatchOutputUrl' => [ 'shape' => 'SessionManagerCloudWatchOutputUrl', ], ], ], 'SessionManagerParameterName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'SessionManagerParameterValue' => [ 'type' => 'string', 'max' => 65535, 'min' => 1, ], 'SessionManagerParameterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SessionManagerParameterValue', ], ], 'SessionManagerParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'SessionManagerParameterName', ], 'value' => [ 'shape' => 'SessionManagerParameterValueList', ], ], 'SessionManagerS3OutputUrl' => [ 'type' => 'string', 'max' => 2083, 'min' => 1, ], 'SessionMaxResults' => [ 'type' => 'integer', 'max' => 200, 'min' => 1, ], 'SessionOwner' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'SessionState' => [ 'type' => 'string', 'enum' => [ 'Active', 'History', ], ], 'SessionStatus' => [ 'type' => 'string', 'enum' => [ 'Connected', 'Connecting', 'Disconnected', 'Terminated', 'Terminating', 'Failed', ], ], 'SessionTarget' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'SeveritySummary' => [ 'type' => 'structure', 'members' => [ 'CriticalCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'HighCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'MediumCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'LowCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'InformationalCount' => [ 'shape' => 'ComplianceSummaryCount', ], 'UnspecifiedCount' => [ 'shape' => 'ComplianceSummaryCount', ], ], ], 'SignalType' => [ 'type' => 'string', 'enum' => [ 'Approve', 'Reject', 'StartStep', 'StopStep', 'Resume', ], ], 'SnapshotDownloadUrl' => [ 'type' => 'string', ], 'SnapshotId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$', ], 'StandardErrorContent' => [ 'type' => 'string', 'max' => 8000, ], 'StandardOutputContent' => [ 'type' => 'string', 'max' => 24000, ], 'StartAssociationsOnceRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationIds', ], 'members' => [ 'AssociationIds' => [ 'shape' => 'AssociationIdList', ], ], ], 'StartAssociationsOnceResult' => [ 'type' => 'structure', 'members' => [], ], 'StartAutomationExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentName', ], 'members' => [ 'DocumentName' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', 'box' => true, ], 'Parameters' => [ 'shape' => 'AutomationParameterMap', ], 'ClientToken' => [ 'shape' => 'IdempotencyToken', ], 'Mode' => [ 'shape' => 'ExecutionMode', ], 'TargetParameterName' => [ 'shape' => 'AutomationParameterKey', ], 'Targets' => [ 'shape' => 'Targets', ], 'TargetMaps' => [ 'shape' => 'TargetMaps', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'TargetLocations' => [ 'shape' => 'TargetLocations', 'box' => true, ], ], ], 'StartAutomationExecutionResult' => [ 'type' => 'structure', 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], ], ], 'StartSessionRequest' => [ 'type' => 'structure', 'required' => [ 'Target', ], 'members' => [ 'Target' => [ 'shape' => 'SessionTarget', ], 'DocumentName' => [ 'shape' => 'DocumentARN', ], 'Parameters' => [ 'shape' => 'SessionManagerParameters', ], ], ], 'StartSessionResponse' => [ 'type' => 'structure', 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], 'TokenValue' => [ 'shape' => 'TokenValue', ], 'StreamUrl' => [ 'shape' => 'StreamUrl', ], ], ], 'StatusAdditionalInfo' => [ 'type' => 'string', 'max' => 1024, ], 'StatusDetails' => [ 'type' => 'string', 'max' => 100, 'min' => 0, ], 'StatusMessage' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'StatusName' => [ 'type' => 'string', ], 'StatusUnchanged' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'StepExecution' => [ 'type' => 'structure', 'members' => [ 'StepName' => [ 'shape' => 'String', ], 'Action' => [ 'shape' => 'AutomationActionName', ], 'TimeoutSeconds' => [ 'shape' => 'Long', 'box' => true, ], 'OnFailure' => [ 'shape' => 'String', ], 'MaxAttempts' => [ 'shape' => 'Integer', 'box' => true, ], 'ExecutionStartTime' => [ 'shape' => 'DateTime', ], 'ExecutionEndTime' => [ 'shape' => 'DateTime', ], 'StepStatus' => [ 'shape' => 'AutomationExecutionStatus', ], 'ResponseCode' => [ 'shape' => 'String', ], 'Inputs' => [ 'shape' => 'NormalStringMap', ], 'Outputs' => [ 'shape' => 'AutomationParameterMap', ], 'Response' => [ 'shape' => 'String', ], 'FailureMessage' => [ 'shape' => 'String', ], 'FailureDetails' => [ 'shape' => 'FailureDetails', ], 'StepExecutionId' => [ 'shape' => 'String', ], 'OverriddenParameters' => [ 'shape' => 'AutomationParameterMap', ], 'IsEnd' => [ 'shape' => 'Boolean', 'box' => true, ], 'NextStep' => [ 'shape' => 'String', 'box' => true, ], 'IsCritical' => [ 'shape' => 'Boolean', 'box' => true, ], 'ValidNextSteps' => [ 'shape' => 'ValidNextStepList', ], 'Targets' => [ 'shape' => 'Targets', 'box' => true, ], 'TargetLocation' => [ 'shape' => 'TargetLocation', 'box' => true, ], ], ], 'StepExecutionFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'StepExecutionFilterKey', ], 'Values' => [ 'shape' => 'StepExecutionFilterValueList', ], ], ], 'StepExecutionFilterKey' => [ 'type' => 'string', 'enum' => [ 'StartTimeBefore', 'StartTimeAfter', 'StepExecutionStatus', 'StepExecutionId', 'StepName', 'Action', ], ], 'StepExecutionFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepExecutionFilter', ], 'max' => 6, 'min' => 1, ], 'StepExecutionFilterValue' => [ 'type' => 'string', 'max' => 150, 'min' => 1, ], 'StepExecutionFilterValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepExecutionFilterValue', ], 'max' => 10, 'min' => 1, ], 'StepExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StepExecution', ], ], 'StopAutomationExecutionRequest' => [ 'type' => 'structure', 'required' => [ 'AutomationExecutionId', ], 'members' => [ 'AutomationExecutionId' => [ 'shape' => 'AutomationExecutionId', ], 'Type' => [ 'shape' => 'StopType', ], ], ], 'StopAutomationExecutionResult' => [ 'type' => 'structure', 'members' => [], ], 'StopType' => [ 'type' => 'string', 'enum' => [ 'Complete', 'Cancel', ], ], 'StreamUrl' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'StringDateTime' => [ 'type' => 'string', 'pattern' => '^([\\-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d(?!:))?)?(\\17[0-5]\\d([\\.,]\\d)?)?([zZ]|([\\-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SubTypeCountLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 1000, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'Target' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'TargetKey', ], 'Values' => [ 'shape' => 'TargetValues', ], ], ], 'TargetCount' => [ 'type' => 'integer', ], 'TargetInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TargetKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^[\\p{L}\\p{Z}\\p{N}_.:/=\\-@]*$', ], 'TargetLocation' => [ 'type' => 'structure', 'members' => [ 'Accounts' => [ 'shape' => 'Accounts', ], 'Regions' => [ 'shape' => 'Regions', ], 'TargetLocationMaxConcurrency' => [ 'shape' => 'MaxConcurrency', 'box' => true, ], 'TargetLocationMaxErrors' => [ 'shape' => 'MaxErrors', 'box' => true, ], 'ExecutionRoleName' => [ 'shape' => 'ExecutionRoleName', 'box' => true, ], ], ], 'TargetLocations' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetLocation', ], 'max' => 100, 'min' => 1, ], 'TargetMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'TargetMapKey', ], 'value' => [ 'shape' => 'TargetMapValueList', ], 'max' => 20, 'min' => 1, ], 'TargetMapKey' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'TargetMapValue' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'TargetMapValueList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetMapValue', ], 'max' => 25, 'min' => 0, ], 'TargetMaps' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetMap', ], 'max' => 300, 'min' => 0, ], 'TargetNotConnected' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TargetParameterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], ], 'TargetType' => [ 'type' => 'string', 'max' => 200, 'pattern' => '^\\/[\\w\\.\\-\\:\\/]*$', ], 'TargetValue' => [ 'type' => 'string', ], 'TargetValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetValue', ], 'max' => 50, 'min' => 0, ], 'Targets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Target', ], 'max' => 5, 'min' => 0, ], 'TerminateSessionRequest' => [ 'type' => 'structure', 'required' => [ 'SessionId', ], 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], ], ], 'TerminateSessionResponse' => [ 'type' => 'structure', 'members' => [ 'SessionId' => [ 'shape' => 'SessionId', ], ], ], 'TimeoutSeconds' => [ 'type' => 'integer', 'max' => 2592000, 'min' => 30, ], 'TokenValue' => [ 'type' => 'string', 'max' => 300, 'min' => 0, ], 'TooManyTagsError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'TooManyUpdates' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TotalCount' => [ 'type' => 'integer', ], 'TotalSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnsupportedInventoryItemContextException' => [ 'type' => 'structure', 'members' => [ 'TypeName' => [ 'shape' => 'InventoryItemTypeName', ], 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnsupportedInventorySchemaVersionException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnsupportedOperatingSystem' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnsupportedParameterType' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UnsupportedPlatformType' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UpdateAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'AssociationId', ], 'members' => [ 'AssociationId' => [ 'shape' => 'AssociationId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'Name' => [ 'shape' => 'DocumentARN', ], 'Targets' => [ 'shape' => 'Targets', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'AutomationTargetParameterName' => [ 'shape' => 'AutomationTargetParameterName', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'ComplianceSeverity' => [ 'shape' => 'AssociationComplianceSeverity', ], ], ], 'UpdateAssociationResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'UpdateAssociationStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'InstanceId', 'AssociationStatus', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationStatus' => [ 'shape' => 'AssociationStatus', ], ], ], 'UpdateAssociationStatusResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'UpdateDocumentDefaultVersionRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'DocumentVersion', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersionNumber', ], ], ], 'UpdateDocumentDefaultVersionResult' => [ 'type' => 'structure', 'members' => [ 'Description' => [ 'shape' => 'DocumentDefaultVersionDescription', ], ], ], 'UpdateDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Content', 'Name', ], 'members' => [ 'Content' => [ 'shape' => 'DocumentContent', ], 'Attachments' => [ 'shape' => 'AttachmentsSourceList', ], 'Name' => [ 'shape' => 'DocumentName', ], 'VersionName' => [ 'shape' => 'DocumentVersionName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'TargetType' => [ 'shape' => 'TargetType', ], ], ], 'UpdateDocumentResult' => [ 'type' => 'structure', 'members' => [ 'DocumentDescription' => [ 'shape' => 'DocumentDescription', ], ], ], 'UpdateMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'StartDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'EndDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'ScheduleTimezone' => [ 'shape' => 'MaintenanceWindowTimezone', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', 'box' => true, ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', 'box' => true, ], 'AllowUnassociatedTargets' => [ 'shape' => 'MaintenanceWindowAllowUnassociatedTargets', 'box' => true, ], 'Enabled' => [ 'shape' => 'MaintenanceWindowEnabled', 'box' => true, ], 'Replace' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'UpdateMaintenanceWindowResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'StartDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'EndDate' => [ 'shape' => 'MaintenanceWindowStringDateTime', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'ScheduleTimezone' => [ 'shape' => 'MaintenanceWindowTimezone', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', ], 'AllowUnassociatedTargets' => [ 'shape' => 'MaintenanceWindowAllowUnassociatedTargets', ], 'Enabled' => [ 'shape' => 'MaintenanceWindowEnabled', ], ], ], 'UpdateMaintenanceWindowTargetRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'WindowTargetId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], 'Targets' => [ 'shape' => 'Targets', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'Replace' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'UpdateMaintenanceWindowTargetResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTargetId' => [ 'shape' => 'MaintenanceWindowTargetId', ], 'Targets' => [ 'shape' => 'Targets', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], ], ], 'UpdateMaintenanceWindowTaskRequest' => [ 'type' => 'structure', 'required' => [ 'WindowId', 'WindowTaskId', ], 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], 'Targets' => [ 'shape' => 'Targets', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'TaskInvocationParameters' => [ 'shape' => 'MaintenanceWindowTaskInvocationParameters', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', 'box' => true, ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'LoggingInfo' => [ 'shape' => 'LoggingInfo', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'Replace' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'UpdateMaintenanceWindowTaskResult' => [ 'type' => 'structure', 'members' => [ 'WindowId' => [ 'shape' => 'MaintenanceWindowId', ], 'WindowTaskId' => [ 'shape' => 'MaintenanceWindowTaskId', ], 'Targets' => [ 'shape' => 'Targets', ], 'TaskArn' => [ 'shape' => 'MaintenanceWindowTaskArn', ], 'ServiceRoleArn' => [ 'shape' => 'ServiceRole', ], 'TaskParameters' => [ 'shape' => 'MaintenanceWindowTaskParameters', ], 'TaskInvocationParameters' => [ 'shape' => 'MaintenanceWindowTaskInvocationParameters', ], 'Priority' => [ 'shape' => 'MaintenanceWindowTaskPriority', ], 'MaxConcurrency' => [ 'shape' => 'MaxConcurrency', ], 'MaxErrors' => [ 'shape' => 'MaxErrors', ], 'LoggingInfo' => [ 'shape' => 'LoggingInfo', ], 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], ], ], 'UpdateManagedInstanceRoleRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', 'IamRole', ], 'members' => [ 'InstanceId' => [ 'shape' => 'ManagedInstanceId', ], 'IamRole' => [ 'shape' => 'IamRole', ], ], ], 'UpdateManagedInstanceRoleResult' => [ 'type' => 'structure', 'members' => [], ], 'UpdatePatchBaselineRequest' => [ 'type' => 'structure', 'required' => [ 'BaselineId', ], 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'Name' => [ 'shape' => 'BaselineName', ], 'GlobalFilters' => [ 'shape' => 'PatchFilterGroup', ], 'ApprovalRules' => [ 'shape' => 'PatchRuleGroup', ], 'ApprovedPatches' => [ 'shape' => 'PatchIdList', ], 'ApprovedPatchesComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApprovedPatchesEnableNonSecurity' => [ 'shape' => 'Boolean', 'box' => true, ], 'RejectedPatches' => [ 'shape' => 'PatchIdList', ], 'RejectedPatchesAction' => [ 'shape' => 'PatchAction', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], 'Replace' => [ 'shape' => 'Boolean', 'box' => true, ], ], ], 'UpdatePatchBaselineResult' => [ 'type' => 'structure', 'members' => [ 'BaselineId' => [ 'shape' => 'BaselineId', ], 'Name' => [ 'shape' => 'BaselineName', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'GlobalFilters' => [ 'shape' => 'PatchFilterGroup', ], 'ApprovalRules' => [ 'shape' => 'PatchRuleGroup', ], 'ApprovedPatches' => [ 'shape' => 'PatchIdList', ], 'ApprovedPatchesComplianceLevel' => [ 'shape' => 'PatchComplianceLevel', ], 'ApprovedPatchesEnableNonSecurity' => [ 'shape' => 'Boolean', 'box' => true, ], 'RejectedPatches' => [ 'shape' => 'PatchIdList', ], 'RejectedPatchesAction' => [ 'shape' => 'PatchAction', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'ModifiedDate' => [ 'shape' => 'DateTime', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], ], ], 'UpdateServiceSettingRequest' => [ 'type' => 'structure', 'required' => [ 'SettingId', 'SettingValue', ], 'members' => [ 'SettingId' => [ 'shape' => 'ServiceSettingId', ], 'SettingValue' => [ 'shape' => 'ServiceSettingValue', ], ], ], 'UpdateServiceSettingResult' => [ 'type' => 'structure', 'members' => [], ], 'Url' => [ 'type' => 'string', ], 'ValidNextStep' => [ 'type' => 'string', 'max' => 65535, 'min' => 1, ], 'ValidNextStepList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValidNextStep', ], ], 'Version' => [ 'type' => 'string', 'pattern' => '^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$', ], ],]; diff --git a/lib/aws/Aws/data/ssm/2014-11-06/paginators-1.json.php b/lib/aws/Aws/data/ssm/2014-11-06/paginators-1.json.php new file mode 100644 index 0000000..9634fac --- /dev/null +++ b/lib/aws/Aws/data/ssm/2014-11-06/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ssm/2014-11-06/paginators-1.json +return [ 'pagination' => [ 'DescribeActivations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ActivationList', ], 'DescribeInstanceInformation' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceInformationList', ], 'DescribeParameters' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetParameterHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'GetParametersByPath' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', ], 'ListAssociations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Associations', ], 'ListCommandInvocations' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'CommandInvocations', ], 'ListCommands' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Commands', ], 'ListDocuments' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'DocumentIdentifiers', ], ],]; diff --git a/lib/aws/Aws/data/ssm/2014-11-06/smoke.json.php b/lib/aws/Aws/data/ssm/2014-11-06/smoke.json.php new file mode 100644 index 0000000..7631005 --- /dev/null +++ b/lib/aws/Aws/data/ssm/2014-11-06/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/ssm/2014-11-06/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListDocuments', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDocument', 'input' => [ 'Name' => '\'fake-name\'', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/states/2016-11-23/api-2.json.php b/lib/aws/Aws/data/states/2016-11-23/api-2.json.php new file mode 100644 index 0000000..6a79377 --- /dev/null +++ b/lib/aws/Aws/data/states/2016-11-23/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/states/2016-11-23/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-23', 'endpointPrefix' => 'states', 'jsonVersion' => '1.0', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS SFN', 'serviceFullName' => 'AWS Step Functions', 'serviceId' => 'SFN', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSStepFunctions', 'uid' => 'states-2016-11-23', ], 'operations' => [ 'CreateActivity' => [ 'name' => 'CreateActivity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateActivityInput', ], 'output' => [ 'shape' => 'CreateActivityOutput', ], 'errors' => [ [ 'shape' => 'ActivityLimitExceeded', ], [ 'shape' => 'InvalidName', ], [ 'shape' => 'TooManyTags', ], ], 'idempotent' => true, ], 'CreateStateMachine' => [ 'name' => 'CreateStateMachine', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStateMachineInput', ], 'output' => [ 'shape' => 'CreateStateMachineOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'InvalidDefinition', ], [ 'shape' => 'InvalidName', ], [ 'shape' => 'StateMachineAlreadyExists', ], [ 'shape' => 'StateMachineDeleting', ], [ 'shape' => 'StateMachineLimitExceeded', ], [ 'shape' => 'TooManyTags', ], ], 'idempotent' => true, ], 'DeleteActivity' => [ 'name' => 'DeleteActivity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteActivityInput', ], 'output' => [ 'shape' => 'DeleteActivityOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], ], ], 'DeleteStateMachine' => [ 'name' => 'DeleteStateMachine', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteStateMachineInput', ], 'output' => [ 'shape' => 'DeleteStateMachineOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], ], ], 'DescribeActivity' => [ 'name' => 'DescribeActivity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeActivityInput', ], 'output' => [ 'shape' => 'DescribeActivityOutput', ], 'errors' => [ [ 'shape' => 'ActivityDoesNotExist', ], [ 'shape' => 'InvalidArn', ], ], ], 'DescribeExecution' => [ 'name' => 'DescribeExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeExecutionInput', ], 'output' => [ 'shape' => 'DescribeExecutionOutput', ], 'errors' => [ [ 'shape' => 'ExecutionDoesNotExist', ], [ 'shape' => 'InvalidArn', ], ], ], 'DescribeStateMachine' => [ 'name' => 'DescribeStateMachine', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStateMachineInput', ], 'output' => [ 'shape' => 'DescribeStateMachineOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'StateMachineDoesNotExist', ], ], ], 'DescribeStateMachineForExecution' => [ 'name' => 'DescribeStateMachineForExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStateMachineForExecutionInput', ], 'output' => [ 'shape' => 'DescribeStateMachineForExecutionOutput', ], 'errors' => [ [ 'shape' => 'ExecutionDoesNotExist', ], [ 'shape' => 'InvalidArn', ], ], ], 'GetActivityTask' => [ 'name' => 'GetActivityTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetActivityTaskInput', ], 'output' => [ 'shape' => 'GetActivityTaskOutput', ], 'errors' => [ [ 'shape' => 'ActivityDoesNotExist', ], [ 'shape' => 'ActivityWorkerLimitExceeded', ], [ 'shape' => 'InvalidArn', ], ], ], 'GetExecutionHistory' => [ 'name' => 'GetExecutionHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetExecutionHistoryInput', ], 'output' => [ 'shape' => 'GetExecutionHistoryOutput', ], 'errors' => [ [ 'shape' => 'ExecutionDoesNotExist', ], [ 'shape' => 'InvalidArn', ], [ 'shape' => 'InvalidToken', ], ], ], 'ListActivities' => [ 'name' => 'ListActivities', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActivitiesInput', ], 'output' => [ 'shape' => 'ListActivitiesOutput', ], 'errors' => [ [ 'shape' => 'InvalidToken', ], ], ], 'ListExecutions' => [ 'name' => 'ListExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListExecutionsInput', ], 'output' => [ 'shape' => 'ListExecutionsOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'InvalidToken', ], [ 'shape' => 'StateMachineDoesNotExist', ], ], ], 'ListStateMachines' => [ 'name' => 'ListStateMachines', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStateMachinesInput', ], 'output' => [ 'shape' => 'ListStateMachinesOutput', ], 'errors' => [ [ 'shape' => 'InvalidToken', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'ResourceNotFound', ], ], ], 'SendTaskFailure' => [ 'name' => 'SendTaskFailure', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendTaskFailureInput', ], 'output' => [ 'shape' => 'SendTaskFailureOutput', ], 'errors' => [ [ 'shape' => 'TaskDoesNotExist', ], [ 'shape' => 'InvalidToken', ], [ 'shape' => 'TaskTimedOut', ], ], ], 'SendTaskHeartbeat' => [ 'name' => 'SendTaskHeartbeat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendTaskHeartbeatInput', ], 'output' => [ 'shape' => 'SendTaskHeartbeatOutput', ], 'errors' => [ [ 'shape' => 'TaskDoesNotExist', ], [ 'shape' => 'InvalidToken', ], [ 'shape' => 'TaskTimedOut', ], ], ], 'SendTaskSuccess' => [ 'name' => 'SendTaskSuccess', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SendTaskSuccessInput', ], 'output' => [ 'shape' => 'SendTaskSuccessOutput', ], 'errors' => [ [ 'shape' => 'TaskDoesNotExist', ], [ 'shape' => 'InvalidOutput', ], [ 'shape' => 'InvalidToken', ], [ 'shape' => 'TaskTimedOut', ], ], ], 'StartExecution' => [ 'name' => 'StartExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartExecutionInput', ], 'output' => [ 'shape' => 'StartExecutionOutput', ], 'errors' => [ [ 'shape' => 'ExecutionLimitExceeded', ], [ 'shape' => 'ExecutionAlreadyExists', ], [ 'shape' => 'InvalidArn', ], [ 'shape' => 'InvalidExecutionInput', ], [ 'shape' => 'InvalidName', ], [ 'shape' => 'StateMachineDoesNotExist', ], [ 'shape' => 'StateMachineDeleting', ], ], 'idempotent' => true, ], 'StopExecution' => [ 'name' => 'StopExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopExecutionInput', ], 'output' => [ 'shape' => 'StopExecutionOutput', ], 'errors' => [ [ 'shape' => 'ExecutionDoesNotExist', ], [ 'shape' => 'InvalidArn', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'output' => [ 'shape' => 'TagResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'ResourceNotFound', ], [ 'shape' => 'TooManyTags', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceInput', ], 'output' => [ 'shape' => 'UntagResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'ResourceNotFound', ], ], ], 'UpdateStateMachine' => [ 'name' => 'UpdateStateMachine', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateStateMachineInput', ], 'output' => [ 'shape' => 'UpdateStateMachineOutput', ], 'errors' => [ [ 'shape' => 'InvalidArn', ], [ 'shape' => 'InvalidDefinition', ], [ 'shape' => 'MissingRequiredParameter', ], [ 'shape' => 'StateMachineDeleting', ], [ 'shape' => 'StateMachineDoesNotExist', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'ActivityDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ActivityFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ActivityLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ActivityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActivityListItem', ], ], 'ActivityListItem' => [ 'type' => 'structure', 'required' => [ 'activityArn', 'name', 'creationDate', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'ActivityScheduleFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ActivityScheduledEventDetails' => [ 'type' => 'structure', 'required' => [ 'resource', ], 'members' => [ 'resource' => [ 'shape' => 'Arn', ], 'input' => [ 'shape' => 'SensitiveData', ], 'timeoutInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], 'heartbeatInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], ], ], 'ActivityStartedEventDetails' => [ 'type' => 'structure', 'members' => [ 'workerName' => [ 'shape' => 'Identity', ], ], ], 'ActivitySucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'ActivityTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ActivityWorkerLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Arn' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ConnectorParameters' => [ 'type' => 'string', 'max' => 32768, 'min' => 0, 'sensitive' => true, ], 'CreateActivityInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateActivityOutput' => [ 'type' => 'structure', 'required' => [ 'activityArn', 'creationDate', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'CreateStateMachineInput' => [ 'type' => 'structure', 'required' => [ 'name', 'definition', 'roleArn', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'definition' => [ 'shape' => 'Definition', ], 'roleArn' => [ 'shape' => 'Arn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'CreateStateMachineOutput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', 'creationDate', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'Definition' => [ 'type' => 'string', 'max' => 1048576, 'min' => 1, 'sensitive' => true, ], 'DeleteActivityInput' => [ 'type' => 'structure', 'required' => [ 'activityArn', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteActivityOutput' => [ 'type' => 'structure', 'members' => [], ], 'DeleteStateMachineInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteStateMachineOutput' => [ 'type' => 'structure', 'members' => [], ], 'DescribeActivityInput' => [ 'type' => 'structure', 'required' => [ 'activityArn', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeActivityOutput' => [ 'type' => 'structure', 'required' => [ 'activityArn', 'name', 'creationDate', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeExecutionInput' => [ 'type' => 'structure', 'required' => [ 'executionArn', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'executionArn', 'stateMachineArn', 'status', 'startDate', 'input', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'startDate' => [ 'shape' => 'Timestamp', ], 'stopDate' => [ 'shape' => 'Timestamp', ], 'input' => [ 'shape' => 'SensitiveData', ], 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'DescribeStateMachineForExecutionInput' => [ 'type' => 'structure', 'required' => [ 'executionArn', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeStateMachineForExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', 'name', 'definition', 'roleArn', 'updateDate', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'definition' => [ 'shape' => 'Definition', ], 'roleArn' => [ 'shape' => 'Arn', ], 'updateDate' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeStateMachineInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], ], ], 'DescribeStateMachineOutput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', 'name', 'definition', 'roleArn', 'creationDate', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'StateMachineStatus', ], 'definition' => [ 'shape' => 'Definition', ], 'roleArn' => [ 'shape' => 'Arn', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'EventId' => [ 'type' => 'long', ], 'ExecutionAbortedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ExecutionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExecutionDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExecutionFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ExecutionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExecutionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExecutionListItem', ], ], 'ExecutionListItem' => [ 'type' => 'structure', 'required' => [ 'executionArn', 'stateMachineArn', 'name', 'status', 'startDate', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'status' => [ 'shape' => 'ExecutionStatus', ], 'startDate' => [ 'shape' => 'Timestamp', ], 'stopDate' => [ 'shape' => 'Timestamp', ], ], ], 'ExecutionStartedEventDetails' => [ 'type' => 'structure', 'members' => [ 'input' => [ 'shape' => 'SensitiveData', ], 'roleArn' => [ 'shape' => 'Arn', ], ], ], 'ExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'SUCCEEDED', 'FAILED', 'TIMED_OUT', 'ABORTED', ], ], 'ExecutionSucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'ExecutionTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'GetActivityTaskInput' => [ 'type' => 'structure', 'required' => [ 'activityArn', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], 'workerName' => [ 'shape' => 'Name', ], ], ], 'GetActivityTaskOutput' => [ 'type' => 'structure', 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'input' => [ 'shape' => 'SensitiveDataJobInput', ], ], ], 'GetExecutionHistoryInput' => [ 'type' => 'structure', 'required' => [ 'executionArn', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'maxResults' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'GetExecutionHistoryOutput' => [ 'type' => 'structure', 'required' => [ 'events', ], 'members' => [ 'events' => [ 'shape' => 'HistoryEventList', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'HistoryEvent' => [ 'type' => 'structure', 'required' => [ 'timestamp', 'type', 'id', ], 'members' => [ 'timestamp' => [ 'shape' => 'Timestamp', ], 'type' => [ 'shape' => 'HistoryEventType', ], 'id' => [ 'shape' => 'EventId', ], 'previousEventId' => [ 'shape' => 'EventId', ], 'activityFailedEventDetails' => [ 'shape' => 'ActivityFailedEventDetails', ], 'activityScheduleFailedEventDetails' => [ 'shape' => 'ActivityScheduleFailedEventDetails', ], 'activityScheduledEventDetails' => [ 'shape' => 'ActivityScheduledEventDetails', ], 'activityStartedEventDetails' => [ 'shape' => 'ActivityStartedEventDetails', ], 'activitySucceededEventDetails' => [ 'shape' => 'ActivitySucceededEventDetails', ], 'activityTimedOutEventDetails' => [ 'shape' => 'ActivityTimedOutEventDetails', ], 'taskFailedEventDetails' => [ 'shape' => 'TaskFailedEventDetails', ], 'taskScheduledEventDetails' => [ 'shape' => 'TaskScheduledEventDetails', ], 'taskStartFailedEventDetails' => [ 'shape' => 'TaskStartFailedEventDetails', ], 'taskStartedEventDetails' => [ 'shape' => 'TaskStartedEventDetails', ], 'taskSubmitFailedEventDetails' => [ 'shape' => 'TaskSubmitFailedEventDetails', ], 'taskSubmittedEventDetails' => [ 'shape' => 'TaskSubmittedEventDetails', ], 'taskSucceededEventDetails' => [ 'shape' => 'TaskSucceededEventDetails', ], 'taskTimedOutEventDetails' => [ 'shape' => 'TaskTimedOutEventDetails', ], 'executionFailedEventDetails' => [ 'shape' => 'ExecutionFailedEventDetails', ], 'executionStartedEventDetails' => [ 'shape' => 'ExecutionStartedEventDetails', ], 'executionSucceededEventDetails' => [ 'shape' => 'ExecutionSucceededEventDetails', ], 'executionAbortedEventDetails' => [ 'shape' => 'ExecutionAbortedEventDetails', ], 'executionTimedOutEventDetails' => [ 'shape' => 'ExecutionTimedOutEventDetails', ], 'lambdaFunctionFailedEventDetails' => [ 'shape' => 'LambdaFunctionFailedEventDetails', ], 'lambdaFunctionScheduleFailedEventDetails' => [ 'shape' => 'LambdaFunctionScheduleFailedEventDetails', ], 'lambdaFunctionScheduledEventDetails' => [ 'shape' => 'LambdaFunctionScheduledEventDetails', ], 'lambdaFunctionStartFailedEventDetails' => [ 'shape' => 'LambdaFunctionStartFailedEventDetails', ], 'lambdaFunctionSucceededEventDetails' => [ 'shape' => 'LambdaFunctionSucceededEventDetails', ], 'lambdaFunctionTimedOutEventDetails' => [ 'shape' => 'LambdaFunctionTimedOutEventDetails', ], 'stateEnteredEventDetails' => [ 'shape' => 'StateEnteredEventDetails', ], 'stateExitedEventDetails' => [ 'shape' => 'StateExitedEventDetails', ], ], ], 'HistoryEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryEvent', ], ], 'HistoryEventType' => [ 'type' => 'string', 'enum' => [ 'ActivityFailed', 'ActivityScheduleFailed', 'ActivityScheduled', 'ActivityStarted', 'ActivitySucceeded', 'ActivityTimedOut', 'ChoiceStateEntered', 'ChoiceStateExited', 'TaskFailed', 'TaskScheduled', 'TaskStartFailed', 'TaskStarted', 'TaskSubmitFailed', 'TaskSubmitted', 'TaskSucceeded', 'TaskTimedOut', 'ExecutionFailed', 'ExecutionStarted', 'ExecutionSucceeded', 'ExecutionAborted', 'ExecutionTimedOut', 'FailStateEntered', 'LambdaFunctionFailed', 'LambdaFunctionScheduleFailed', 'LambdaFunctionScheduled', 'LambdaFunctionStartFailed', 'LambdaFunctionStarted', 'LambdaFunctionSucceeded', 'LambdaFunctionTimedOut', 'SucceedStateEntered', 'SucceedStateExited', 'TaskStateAborted', 'TaskStateEntered', 'TaskStateExited', 'PassStateEntered', 'PassStateExited', 'ParallelStateAborted', 'ParallelStateEntered', 'ParallelStateExited', 'ParallelStateFailed', 'ParallelStateStarted', 'ParallelStateSucceeded', 'WaitStateAborted', 'WaitStateEntered', 'WaitStateExited', ], ], 'Identity' => [ 'type' => 'string', 'max' => 256, ], 'InvalidArn' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidDefinition' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidExecutionInput' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidName' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidOutput' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'InvalidToken' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LambdaFunctionFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'LambdaFunctionScheduleFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'LambdaFunctionScheduledEventDetails' => [ 'type' => 'structure', 'required' => [ 'resource', ], 'members' => [ 'resource' => [ 'shape' => 'Arn', ], 'input' => [ 'shape' => 'SensitiveData', ], 'timeoutInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], ], ], 'LambdaFunctionStartFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'LambdaFunctionSucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'LambdaFunctionTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'ListActivitiesInput' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'PageSize', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListActivitiesOutput' => [ 'type' => 'structure', 'required' => [ 'activities', ], 'members' => [ 'activities' => [ 'shape' => 'ActivityList', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'statusFilter' => [ 'shape' => 'ExecutionStatus', ], 'maxResults' => [ 'shape' => 'PageSize', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListExecutionsOutput' => [ 'type' => 'structure', 'required' => [ 'executions', ], 'members' => [ 'executions' => [ 'shape' => 'ExecutionList', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListStateMachinesInput' => [ 'type' => 'structure', 'members' => [ 'maxResults' => [ 'shape' => 'PageSize', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListStateMachinesOutput' => [ 'type' => 'structure', 'required' => [ 'stateMachines', ], 'members' => [ 'stateMachines' => [ 'shape' => 'StateMachineList', ], 'nextToken' => [ 'shape' => 'PageToken', ], ], ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], ], ], 'ListTagsForResourceOutput' => [ 'type' => 'structure', 'members' => [ 'tags' => [ 'shape' => 'TagList', ], ], ], 'MissingRequiredParameter' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Name' => [ 'type' => 'string', 'max' => 80, 'min' => 1, ], 'PageSize' => [ 'type' => 'integer', 'max' => 1000, 'min' => 0, ], 'PageToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'ResourceNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'resourceName' => [ 'shape' => 'Arn', ], ], 'exception' => true, ], 'ReverseOrder' => [ 'type' => 'boolean', ], 'SendTaskFailureInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'SendTaskFailureOutput' => [ 'type' => 'structure', 'members' => [], ], 'SendTaskHeartbeatInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], ], ], 'SendTaskHeartbeatOutput' => [ 'type' => 'structure', 'members' => [], ], 'SendTaskSuccessInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', 'output', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'SendTaskSuccessOutput' => [ 'type' => 'structure', 'members' => [], ], 'SensitiveCause' => [ 'type' => 'string', 'max' => 32768, 'min' => 0, 'sensitive' => true, ], 'SensitiveData' => [ 'type' => 'string', 'max' => 32768, 'sensitive' => true, ], 'SensitiveDataJobInput' => [ 'type' => 'string', 'max' => 65536, 'sensitive' => true, ], 'SensitiveError' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'sensitive' => true, ], 'StartExecutionInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'input' => [ 'shape' => 'SensitiveData', ], ], ], 'StartExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'executionArn', 'startDate', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'startDate' => [ 'shape' => 'Timestamp', ], ], ], 'StateEnteredEventDetails' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'input' => [ 'shape' => 'SensitiveData', ], ], ], 'StateExitedEventDetails' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'StateMachineAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'StateMachineDeleting' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'StateMachineDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'StateMachineLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'StateMachineList' => [ 'type' => 'list', 'member' => [ 'shape' => 'StateMachineListItem', ], ], 'StateMachineListItem' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', 'name', 'creationDate', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'StateMachineStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'DELETING', ], ], 'StopExecutionInput' => [ 'type' => 'structure', 'required' => [ 'executionArn', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'StopExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'stopDate', ], 'members' => [ 'stopDate' => [ 'shape' => 'Timestamp', ], ], ], 'Tag' => [ 'type' => 'structure', 'members' => [ 'key' => [ 'shape' => 'TagKey', ], 'value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tags', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'tags' => [ 'shape' => 'TagList', ], ], ], 'TagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TaskDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TaskFailedEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'TaskScheduledEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', 'region', 'parameters', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'region' => [ 'shape' => 'Name', ], 'parameters' => [ 'shape' => 'ConnectorParameters', ], 'timeoutInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], ], ], 'TaskStartFailedEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'TaskStartedEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], ], ], 'TaskSubmitFailedEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'TaskSubmittedEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'TaskSucceededEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'output' => [ 'shape' => 'SensitiveData', ], ], ], 'TaskTimedOut' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TaskTimedOutEventDetails' => [ 'type' => 'structure', 'required' => [ 'resourceType', 'resource', ], 'members' => [ 'resourceType' => [ 'shape' => 'Name', ], 'resource' => [ 'shape' => 'Name', ], 'error' => [ 'shape' => 'SensitiveError', ], 'cause' => [ 'shape' => 'SensitiveCause', ], ], ], 'TaskToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'TimeoutInSeconds' => [ 'type' => 'long', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyTags' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], 'resourceName' => [ 'shape' => 'Arn', ], ], 'exception' => true, ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'resourceArn', 'tagKeys', ], 'members' => [ 'resourceArn' => [ 'shape' => 'Arn', ], 'tagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'UntagResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateStateMachineInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'definition' => [ 'shape' => 'Definition', ], 'roleArn' => [ 'shape' => 'Arn', ], ], ], 'UpdateStateMachineOutput' => [ 'type' => 'structure', 'required' => [ 'updateDate', ], 'members' => [ 'updateDate' => [ 'shape' => 'Timestamp', ], ], ], ],]; diff --git a/lib/aws/Aws/data/states/2016-11-23/paginators-1.json.php b/lib/aws/Aws/data/states/2016-11-23/paginators-1.json.php new file mode 100644 index 0000000..c14dea1 --- /dev/null +++ b/lib/aws/Aws/data/states/2016-11-23/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/states/2016-11-23/paginators-1.json +return [ 'pagination' => [ 'GetExecutionHistory' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'events', ], 'ListActivities' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'activities', ], 'ListExecutions' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'executions', ], 'ListStateMachines' => [ 'input_token' => 'nextToken', 'limit_key' => 'maxResults', 'output_token' => 'nextToken', 'result_key' => 'stateMachines', ], ],]; diff --git a/lib/aws/Aws/data/states/2016-11-23/smoke.json.php b/lib/aws/Aws/data/states/2016-11-23/smoke.json.php new file mode 100644 index 0000000..c966dac --- /dev/null +++ b/lib/aws/Aws/data/states/2016-11-23/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/states/2016-11-23/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListActivities', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/lib/aws/Aws/data/storagegateway/2013-06-30/api-2.json.php b/lib/aws/Aws/data/storagegateway/2013-06-30/api-2.json.php new file mode 100644 index 0000000..6d0f3a7 --- /dev/null +++ b/lib/aws/Aws/data/storagegateway/2013-06-30/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/storagegateway/2013-06-30/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2013-06-30', 'endpointPrefix' => 'storagegateway', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Storage Gateway', 'serviceId' => 'Storage Gateway', 'signatureVersion' => 'v4', 'targetPrefix' => 'StorageGateway_20130630', 'uid' => 'storagegateway-2013-06-30', ], 'operations' => [ 'ActivateGateway' => [ 'name' => 'ActivateGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ActivateGatewayInput', ], 'output' => [ 'shape' => 'ActivateGatewayOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'AddCache' => [ 'name' => 'AddCache', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddCacheInput', ], 'output' => [ 'shape' => 'AddCacheOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'AddTagsToResource' => [ 'name' => 'AddTagsToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddTagsToResourceInput', ], 'output' => [ 'shape' => 'AddTagsToResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'AddUploadBuffer' => [ 'name' => 'AddUploadBuffer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddUploadBufferInput', ], 'output' => [ 'shape' => 'AddUploadBufferOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'AddWorkingStorage' => [ 'name' => 'AddWorkingStorage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddWorkingStorageInput', ], 'output' => [ 'shape' => 'AddWorkingStorageOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'AttachVolume' => [ 'name' => 'AttachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AttachVolumeInput', ], 'output' => [ 'shape' => 'AttachVolumeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CancelArchival' => [ 'name' => 'CancelArchival', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelArchivalInput', ], 'output' => [ 'shape' => 'CancelArchivalOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CancelRetrieval' => [ 'name' => 'CancelRetrieval', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CancelRetrievalInput', ], 'output' => [ 'shape' => 'CancelRetrievalOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateCachediSCSIVolume' => [ 'name' => 'CreateCachediSCSIVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCachediSCSIVolumeInput', ], 'output' => [ 'shape' => 'CreateCachediSCSIVolumeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateNFSFileShare' => [ 'name' => 'CreateNFSFileShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNFSFileShareInput', ], 'output' => [ 'shape' => 'CreateNFSFileShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateSMBFileShare' => [ 'name' => 'CreateSMBFileShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSMBFileShareInput', ], 'output' => [ 'shape' => 'CreateSMBFileShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateSnapshot' => [ 'name' => 'CreateSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotInput', ], 'output' => [ 'shape' => 'CreateSnapshotOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableError', ], ], ], 'CreateSnapshotFromVolumeRecoveryPoint' => [ 'name' => 'CreateSnapshotFromVolumeRecoveryPoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSnapshotFromVolumeRecoveryPointInput', ], 'output' => [ 'shape' => 'CreateSnapshotFromVolumeRecoveryPointOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ServiceUnavailableError', ], ], ], 'CreateStorediSCSIVolume' => [ 'name' => 'CreateStorediSCSIVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateStorediSCSIVolumeInput', ], 'output' => [ 'shape' => 'CreateStorediSCSIVolumeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateTapeWithBarcode' => [ 'name' => 'CreateTapeWithBarcode', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTapeWithBarcodeInput', ], 'output' => [ 'shape' => 'CreateTapeWithBarcodeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'CreateTapes' => [ 'name' => 'CreateTapes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTapesInput', ], 'output' => [ 'shape' => 'CreateTapesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteBandwidthRateLimit' => [ 'name' => 'DeleteBandwidthRateLimit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBandwidthRateLimitInput', ], 'output' => [ 'shape' => 'DeleteBandwidthRateLimitOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteChapCredentials' => [ 'name' => 'DeleteChapCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteChapCredentialsInput', ], 'output' => [ 'shape' => 'DeleteChapCredentialsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteFileShare' => [ 'name' => 'DeleteFileShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteFileShareInput', ], 'output' => [ 'shape' => 'DeleteFileShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteGateway' => [ 'name' => 'DeleteGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGatewayInput', ], 'output' => [ 'shape' => 'DeleteGatewayOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteSnapshotSchedule' => [ 'name' => 'DeleteSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSnapshotScheduleInput', ], 'output' => [ 'shape' => 'DeleteSnapshotScheduleOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteTape' => [ 'name' => 'DeleteTape', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTapeInput', ], 'output' => [ 'shape' => 'DeleteTapeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteTapeArchive' => [ 'name' => 'DeleteTapeArchive', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTapeArchiveInput', ], 'output' => [ 'shape' => 'DeleteTapeArchiveOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DeleteVolume' => [ 'name' => 'DeleteVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVolumeInput', ], 'output' => [ 'shape' => 'DeleteVolumeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeBandwidthRateLimit' => [ 'name' => 'DescribeBandwidthRateLimit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBandwidthRateLimitInput', ], 'output' => [ 'shape' => 'DescribeBandwidthRateLimitOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeCache' => [ 'name' => 'DescribeCache', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCacheInput', ], 'output' => [ 'shape' => 'DescribeCacheOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeCachediSCSIVolumes' => [ 'name' => 'DescribeCachediSCSIVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCachediSCSIVolumesInput', ], 'output' => [ 'shape' => 'DescribeCachediSCSIVolumesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeChapCredentials' => [ 'name' => 'DescribeChapCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeChapCredentialsInput', ], 'output' => [ 'shape' => 'DescribeChapCredentialsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeGatewayInformation' => [ 'name' => 'DescribeGatewayInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGatewayInformationInput', ], 'output' => [ 'shape' => 'DescribeGatewayInformationOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeMaintenanceStartTime' => [ 'name' => 'DescribeMaintenanceStartTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeMaintenanceStartTimeInput', ], 'output' => [ 'shape' => 'DescribeMaintenanceStartTimeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeNFSFileShares' => [ 'name' => 'DescribeNFSFileShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNFSFileSharesInput', ], 'output' => [ 'shape' => 'DescribeNFSFileSharesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeSMBFileShares' => [ 'name' => 'DescribeSMBFileShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSMBFileSharesInput', ], 'output' => [ 'shape' => 'DescribeSMBFileSharesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeSMBSettings' => [ 'name' => 'DescribeSMBSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSMBSettingsInput', ], 'output' => [ 'shape' => 'DescribeSMBSettingsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeSnapshotSchedule' => [ 'name' => 'DescribeSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSnapshotScheduleInput', ], 'output' => [ 'shape' => 'DescribeSnapshotScheduleOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeStorediSCSIVolumes' => [ 'name' => 'DescribeStorediSCSIVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStorediSCSIVolumesInput', ], 'output' => [ 'shape' => 'DescribeStorediSCSIVolumesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTapeArchives' => [ 'name' => 'DescribeTapeArchives', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTapeArchivesInput', ], 'output' => [ 'shape' => 'DescribeTapeArchivesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTapeRecoveryPoints' => [ 'name' => 'DescribeTapeRecoveryPoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTapeRecoveryPointsInput', ], 'output' => [ 'shape' => 'DescribeTapeRecoveryPointsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTapes' => [ 'name' => 'DescribeTapes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTapesInput', ], 'output' => [ 'shape' => 'DescribeTapesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeUploadBuffer' => [ 'name' => 'DescribeUploadBuffer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUploadBufferInput', ], 'output' => [ 'shape' => 'DescribeUploadBufferOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeVTLDevices' => [ 'name' => 'DescribeVTLDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeVTLDevicesInput', ], 'output' => [ 'shape' => 'DescribeVTLDevicesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DescribeWorkingStorage' => [ 'name' => 'DescribeWorkingStorage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkingStorageInput', ], 'output' => [ 'shape' => 'DescribeWorkingStorageOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DetachVolume' => [ 'name' => 'DetachVolume', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetachVolumeInput', ], 'output' => [ 'shape' => 'DetachVolumeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'DisableGateway' => [ 'name' => 'DisableGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisableGatewayInput', ], 'output' => [ 'shape' => 'DisableGatewayOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'JoinDomain' => [ 'name' => 'JoinDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'JoinDomainInput', ], 'output' => [ 'shape' => 'JoinDomainOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListFileShares' => [ 'name' => 'ListFileShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListFileSharesInput', ], 'output' => [ 'shape' => 'ListFileSharesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListGateways' => [ 'name' => 'ListGateways', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGatewaysInput', ], 'output' => [ 'shape' => 'ListGatewaysOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListLocalDisks' => [ 'name' => 'ListLocalDisks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLocalDisksInput', ], 'output' => [ 'shape' => 'ListLocalDisksOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceInput', ], 'output' => [ 'shape' => 'ListTagsForResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListTapes' => [ 'name' => 'ListTapes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTapesInput', ], 'output' => [ 'shape' => 'ListTapesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListVolumeInitiators' => [ 'name' => 'ListVolumeInitiators', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVolumeInitiatorsInput', ], 'output' => [ 'shape' => 'ListVolumeInitiatorsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListVolumeRecoveryPoints' => [ 'name' => 'ListVolumeRecoveryPoints', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVolumeRecoveryPointsInput', ], 'output' => [ 'shape' => 'ListVolumeRecoveryPointsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ListVolumes' => [ 'name' => 'ListVolumes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVolumesInput', ], 'output' => [ 'shape' => 'ListVolumesOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'NotifyWhenUploaded' => [ 'name' => 'NotifyWhenUploaded', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'NotifyWhenUploadedInput', ], 'output' => [ 'shape' => 'NotifyWhenUploadedOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RefreshCache' => [ 'name' => 'RefreshCache', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RefreshCacheInput', ], 'output' => [ 'shape' => 'RefreshCacheOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RemoveTagsFromResource' => [ 'name' => 'RemoveTagsFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RemoveTagsFromResourceInput', ], 'output' => [ 'shape' => 'RemoveTagsFromResourceOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ResetCache' => [ 'name' => 'ResetCache', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetCacheInput', ], 'output' => [ 'shape' => 'ResetCacheOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RetrieveTapeArchive' => [ 'name' => 'RetrieveTapeArchive', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetrieveTapeArchiveInput', ], 'output' => [ 'shape' => 'RetrieveTapeArchiveOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'RetrieveTapeRecoveryPoint' => [ 'name' => 'RetrieveTapeRecoveryPoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RetrieveTapeRecoveryPointInput', ], 'output' => [ 'shape' => 'RetrieveTapeRecoveryPointOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'SetLocalConsolePassword' => [ 'name' => 'SetLocalConsolePassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetLocalConsolePasswordInput', ], 'output' => [ 'shape' => 'SetLocalConsolePasswordOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'SetSMBGuestPassword' => [ 'name' => 'SetSMBGuestPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SetSMBGuestPasswordInput', ], 'output' => [ 'shape' => 'SetSMBGuestPasswordOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'ShutdownGateway' => [ 'name' => 'ShutdownGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ShutdownGatewayInput', ], 'output' => [ 'shape' => 'ShutdownGatewayOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'StartGateway' => [ 'name' => 'StartGateway', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartGatewayInput', ], 'output' => [ 'shape' => 'StartGatewayOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateBandwidthRateLimit' => [ 'name' => 'UpdateBandwidthRateLimit', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBandwidthRateLimitInput', ], 'output' => [ 'shape' => 'UpdateBandwidthRateLimitOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateChapCredentials' => [ 'name' => 'UpdateChapCredentials', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateChapCredentialsInput', ], 'output' => [ 'shape' => 'UpdateChapCredentialsOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateGatewayInformation' => [ 'name' => 'UpdateGatewayInformation', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGatewayInformationInput', ], 'output' => [ 'shape' => 'UpdateGatewayInformationOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateGatewaySoftwareNow' => [ 'name' => 'UpdateGatewaySoftwareNow', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGatewaySoftwareNowInput', ], 'output' => [ 'shape' => 'UpdateGatewaySoftwareNowOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateMaintenanceStartTime' => [ 'name' => 'UpdateMaintenanceStartTime', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateMaintenanceStartTimeInput', ], 'output' => [ 'shape' => 'UpdateMaintenanceStartTimeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateNFSFileShare' => [ 'name' => 'UpdateNFSFileShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNFSFileShareInput', ], 'output' => [ 'shape' => 'UpdateNFSFileShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateSMBFileShare' => [ 'name' => 'UpdateSMBFileShare', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSMBFileShareInput', ], 'output' => [ 'shape' => 'UpdateSMBFileShareOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateSnapshotSchedule' => [ 'name' => 'UpdateSnapshotSchedule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSnapshotScheduleInput', ], 'output' => [ 'shape' => 'UpdateSnapshotScheduleOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], 'UpdateVTLDeviceType' => [ 'name' => 'UpdateVTLDeviceType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateVTLDeviceTypeInput', ], 'output' => [ 'shape' => 'UpdateVTLDeviceTypeOutput', ], 'errors' => [ [ 'shape' => 'InvalidGatewayRequestException', ], [ 'shape' => 'InternalServerError', ], ], ], ], 'shapes' => [ 'ActivateGatewayInput' => [ 'type' => 'structure', 'required' => [ 'ActivationKey', 'GatewayName', 'GatewayTimezone', 'GatewayRegion', ], 'members' => [ 'ActivationKey' => [ 'shape' => 'ActivationKey', ], 'GatewayName' => [ 'shape' => 'GatewayName', ], 'GatewayTimezone' => [ 'shape' => 'GatewayTimezone', ], 'GatewayRegion' => [ 'shape' => 'RegionId', ], 'GatewayType' => [ 'shape' => 'GatewayType', ], 'TapeDriveType' => [ 'shape' => 'TapeDriveType', ], 'MediumChangerType' => [ 'shape' => 'MediumChangerType', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ActivateGatewayOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ActivationKey' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'AddCacheInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'DiskIds', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], ], ], 'AddCacheOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'AddTagsToResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Tags', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'AddTagsToResourceOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'AddUploadBufferInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'DiskIds', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], ], ], 'AddUploadBufferOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'AddWorkingStorageInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'DiskIds', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], ], ], 'AddWorkingStorageOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'AttachVolumeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'VolumeARN', 'NetworkInterfaceId', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TargetName' => [ 'shape' => 'TargetName', ], 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'DiskId' => [ 'shape' => 'DiskId', ], ], ], 'AttachVolumeOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'TargetARN' => [ 'shape' => 'TargetARN', ], ], ], 'Authentication' => [ 'type' => 'string', 'max' => 15, 'min' => 5, ], 'BandwidthDownloadRateLimit' => [ 'type' => 'long', 'min' => 102400, ], 'BandwidthType' => [ 'type' => 'string', 'max' => 25, 'min' => 3, ], 'BandwidthUploadRateLimit' => [ 'type' => 'long', 'min' => 51200, ], 'Boolean' => [ 'type' => 'boolean', ], 'CachediSCSIVolume' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeId' => [ 'shape' => 'VolumeId', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatus', ], 'VolumeAttachmentStatus' => [ 'shape' => 'VolumeAttachmentStatus', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeProgress' => [ 'shape' => 'DoubleObject', ], 'SourceSnapshotId' => [ 'shape' => 'SnapshotId', ], 'VolumeiSCSIAttributes' => [ 'shape' => 'VolumeiSCSIAttributes', ], 'CreatedDate' => [ 'shape' => 'CreatedDate', ], 'VolumeUsedInBytes' => [ 'shape' => 'VolumeUsedInBytes', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'TargetName' => [ 'shape' => 'TargetName', ], ], ], 'CachediSCSIVolumes' => [ 'type' => 'list', 'member' => [ 'shape' => 'CachediSCSIVolume', ], ], 'CancelArchivalInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'TapeARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'CancelArchivalOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'CancelRetrievalInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'TapeARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'CancelRetrievalOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'ChapCredentials' => [ 'type' => 'list', 'member' => [ 'shape' => 'ChapInfo', ], ], 'ChapInfo' => [ 'type' => 'structure', 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'SecretToAuthenticateInitiator' => [ 'shape' => 'ChapSecret', ], 'InitiatorName' => [ 'shape' => 'IqnName', ], 'SecretToAuthenticateTarget' => [ 'shape' => 'ChapSecret', ], ], ], 'ChapSecret' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'ClientToken' => [ 'type' => 'string', 'max' => 100, 'min' => 5, ], 'CreateCachediSCSIVolumeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'VolumeSizeInBytes', 'TargetName', 'NetworkInterfaceId', 'ClientToken', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'TargetName' => [ 'shape' => 'TargetName', ], 'SourceVolumeARN' => [ 'shape' => 'VolumeARN', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'ClientToken' => [ 'shape' => 'ClientToken', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], ], ], 'CreateCachediSCSIVolumeOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'TargetARN' => [ 'shape' => 'TargetARN', ], ], ], 'CreateNFSFileShareInput' => [ 'type' => 'structure', 'required' => [ 'ClientToken', 'GatewayARN', 'Role', 'LocationARN', ], 'members' => [ 'ClientToken' => [ 'shape' => 'ClientToken', ], 'NFSFileShareDefaults' => [ 'shape' => 'NFSFileShareDefaults', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'Role' => [ 'shape' => 'Role', ], 'LocationARN' => [ 'shape' => 'LocationARN', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ClientList' => [ 'shape' => 'FileShareClientList', ], 'Squash' => [ 'shape' => 'Squash', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateNFSFileShareOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'CreateSMBFileShareInput' => [ 'type' => 'structure', 'required' => [ 'ClientToken', 'GatewayARN', 'Role', 'LocationARN', ], 'members' => [ 'ClientToken' => [ 'shape' => 'ClientToken', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'Role' => [ 'shape' => 'Role', ], 'LocationARN' => [ 'shape' => 'LocationARN', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], 'ValidUserList' => [ 'shape' => 'FileShareUserList', ], 'InvalidUserList' => [ 'shape' => 'FileShareUserList', ], 'Authentication' => [ 'shape' => 'Authentication', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateSMBFileShareOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'CreateSnapshotFromVolumeRecoveryPointInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', 'SnapshotDescription', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'SnapshotDescription' => [ 'shape' => 'SnapshotDescription', ], ], ], 'CreateSnapshotFromVolumeRecoveryPointOutput' => [ 'type' => 'structure', 'members' => [ 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeRecoveryPointTime' => [ 'shape' => 'string', ], ], ], 'CreateSnapshotInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', 'SnapshotDescription', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'SnapshotDescription' => [ 'shape' => 'SnapshotDescription', ], ], ], 'CreateSnapshotOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], ], ], 'CreateStorediSCSIVolumeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'DiskId', 'PreserveExistingData', 'TargetName', 'NetworkInterfaceId', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskId' => [ 'shape' => 'DiskId', ], 'SnapshotId' => [ 'shape' => 'SnapshotId', ], 'PreserveExistingData' => [ 'shape' => 'boolean', ], 'TargetName' => [ 'shape' => 'TargetName', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], ], ], 'CreateStorediSCSIVolumeOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'TargetARN' => [ 'shape' => 'TargetARN', ], ], ], 'CreateTapeWithBarcodeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'TapeSizeInBytes', 'TapeBarcode', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'TapeBarcode' => [ 'shape' => 'TapeBarcode', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'PoolId' => [ 'shape' => 'PoolId', ], ], ], 'CreateTapeWithBarcodeOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'CreateTapesInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'TapeSizeInBytes', 'ClientToken', 'NumTapesToCreate', 'TapeBarcodePrefix', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'ClientToken' => [ 'shape' => 'ClientToken', ], 'NumTapesToCreate' => [ 'shape' => 'NumTapesToCreate', ], 'TapeBarcodePrefix' => [ 'shape' => 'TapeBarcodePrefix', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'PoolId' => [ 'shape' => 'PoolId', ], ], ], 'CreateTapesOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARNs' => [ 'shape' => 'TapeARNs', ], ], ], 'CreatedDate' => [ 'type' => 'timestamp', ], 'DayOfWeek' => [ 'type' => 'integer', 'max' => 6, 'min' => 0, ], 'DeleteBandwidthRateLimitInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'BandwidthType', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'BandwidthType' => [ 'shape' => 'BandwidthType', ], ], ], 'DeleteBandwidthRateLimitOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DeleteChapCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'TargetARN', 'InitiatorName', ], 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'InitiatorName' => [ 'shape' => 'IqnName', ], ], ], 'DeleteChapCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'InitiatorName' => [ 'shape' => 'IqnName', ], ], ], 'DeleteFileShareInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'ForceDelete' => [ 'shape' => 'boolean', ], ], ], 'DeleteFileShareOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'DeleteGatewayInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DeleteGatewayOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DeleteSnapshotScheduleInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DeleteSnapshotScheduleOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DeleteTapeArchiveInput' => [ 'type' => 'structure', 'required' => [ 'TapeARN', ], 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'DeleteTapeArchiveOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'DeleteTapeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'TapeARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'DeleteTapeOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'DeleteVolumeInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DeleteVolumeOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DescribeBandwidthRateLimitInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeBandwidthRateLimitOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'AverageUploadRateLimitInBitsPerSec' => [ 'shape' => 'BandwidthUploadRateLimit', ], 'AverageDownloadRateLimitInBitsPerSec' => [ 'shape' => 'BandwidthDownloadRateLimit', ], ], ], 'DescribeCacheInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeCacheOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], 'CacheAllocatedInBytes' => [ 'shape' => 'long', ], 'CacheUsedPercentage' => [ 'shape' => 'double', ], 'CacheDirtyPercentage' => [ 'shape' => 'double', ], 'CacheHitPercentage' => [ 'shape' => 'double', ], 'CacheMissPercentage' => [ 'shape' => 'double', ], ], ], 'DescribeCachediSCSIVolumesInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARNs', ], 'members' => [ 'VolumeARNs' => [ 'shape' => 'VolumeARNs', ], ], ], 'DescribeCachediSCSIVolumesOutput' => [ 'type' => 'structure', 'members' => [ 'CachediSCSIVolumes' => [ 'shape' => 'CachediSCSIVolumes', ], ], ], 'DescribeChapCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'TargetARN', ], 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], ], ], 'DescribeChapCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'ChapCredentials' => [ 'shape' => 'ChapCredentials', ], ], ], 'DescribeGatewayInformationInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeGatewayInformationOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'GatewayId' => [ 'shape' => 'GatewayId', ], 'GatewayName' => [ 'shape' => 'string', ], 'GatewayTimezone' => [ 'shape' => 'GatewayTimezone', ], 'GatewayState' => [ 'shape' => 'GatewayState', ], 'GatewayNetworkInterfaces' => [ 'shape' => 'GatewayNetworkInterfaces', ], 'GatewayType' => [ 'shape' => 'GatewayType', ], 'NextUpdateAvailabilityDate' => [ 'shape' => 'NextUpdateAvailabilityDate', ], 'LastSoftwareUpdate' => [ 'shape' => 'LastSoftwareUpdate', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'DescribeMaintenanceStartTimeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeMaintenanceStartTimeOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'HourOfDay' => [ 'shape' => 'HourOfDay', ], 'MinuteOfHour' => [ 'shape' => 'MinuteOfHour', ], 'DayOfWeek' => [ 'shape' => 'DayOfWeek', ], 'Timezone' => [ 'shape' => 'GatewayTimezone', ], ], ], 'DescribeNFSFileSharesInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARNList', ], 'members' => [ 'FileShareARNList' => [ 'shape' => 'FileShareARNList', ], ], ], 'DescribeNFSFileSharesOutput' => [ 'type' => 'structure', 'members' => [ 'NFSFileShareInfoList' => [ 'shape' => 'NFSFileShareInfoList', ], ], ], 'DescribeSMBFileSharesInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARNList', ], 'members' => [ 'FileShareARNList' => [ 'shape' => 'FileShareARNList', ], ], ], 'DescribeSMBFileSharesOutput' => [ 'type' => 'structure', 'members' => [ 'SMBFileShareInfoList' => [ 'shape' => 'SMBFileShareInfoList', ], ], ], 'DescribeSMBSettingsInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeSMBSettingsOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'SMBGuestPasswordSet' => [ 'shape' => 'Boolean', ], ], ], 'DescribeSnapshotScheduleInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DescribeSnapshotScheduleOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'StartAt' => [ 'shape' => 'HourOfDay', ], 'RecurrenceInHours' => [ 'shape' => 'RecurrenceInHours', ], 'Description' => [ 'shape' => 'Description', ], 'Timezone' => [ 'shape' => 'GatewayTimezone', ], ], ], 'DescribeStorediSCSIVolumesInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARNs', ], 'members' => [ 'VolumeARNs' => [ 'shape' => 'VolumeARNs', ], ], ], 'DescribeStorediSCSIVolumesOutput' => [ 'type' => 'structure', 'members' => [ 'StorediSCSIVolumes' => [ 'shape' => 'StorediSCSIVolumes', ], ], ], 'DescribeTapeArchivesInput' => [ 'type' => 'structure', 'members' => [ 'TapeARNs' => [ 'shape' => 'TapeARNs', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'DescribeTapeArchivesOutput' => [ 'type' => 'structure', 'members' => [ 'TapeArchives' => [ 'shape' => 'TapeArchives', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'DescribeTapeRecoveryPointsInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'DescribeTapeRecoveryPointsOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeRecoveryPointInfos' => [ 'shape' => 'TapeRecoveryPointInfos', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'DescribeTapesInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'TapeARNs' => [ 'shape' => 'TapeARNs', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'DescribeTapesOutput' => [ 'type' => 'structure', 'members' => [ 'Tapes' => [ 'shape' => 'Tapes', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'DescribeUploadBufferInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeUploadBufferOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], 'UploadBufferUsedInBytes' => [ 'shape' => 'long', ], 'UploadBufferAllocatedInBytes' => [ 'shape' => 'long', ], ], ], 'DescribeVTLDevicesInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'VTLDeviceARNs' => [ 'shape' => 'VTLDeviceARNs', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'DescribeVTLDevicesOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'VTLDevices' => [ 'shape' => 'VTLDevices', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'DescribeWorkingStorageInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DescribeWorkingStorageOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DiskIds' => [ 'shape' => 'DiskIds', ], 'WorkingStorageUsedInBytes' => [ 'shape' => 'long', ], 'WorkingStorageAllocatedInBytes' => [ 'shape' => 'long', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'DetachVolumeInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'ForceDetach' => [ 'shape' => 'Boolean', ], ], ], 'DetachVolumeOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'DeviceType' => [ 'type' => 'string', 'max' => 50, 'min' => 2, ], 'DeviceiSCSIAttributes' => [ 'type' => 'structure', 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'NetworkInterfacePort' => [ 'shape' => 'integer', ], 'ChapEnabled' => [ 'shape' => 'boolean', ], ], ], 'DisableGatewayInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'DisableGatewayOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'Disk' => [ 'type' => 'structure', 'members' => [ 'DiskId' => [ 'shape' => 'DiskId', ], 'DiskPath' => [ 'shape' => 'string', ], 'DiskNode' => [ 'shape' => 'string', ], 'DiskStatus' => [ 'shape' => 'string', ], 'DiskSizeInBytes' => [ 'shape' => 'long', ], 'DiskAllocationType' => [ 'shape' => 'DiskAllocationType', ], 'DiskAllocationResource' => [ 'shape' => 'string', ], 'DiskAttributeList' => [ 'shape' => 'DiskAttributeList', ], ], ], 'DiskAllocationType' => [ 'type' => 'string', 'max' => 100, 'min' => 3, ], 'DiskAttribute' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'DiskAttributeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskAttribute', ], 'max' => 10, 'min' => 0, ], 'DiskId' => [ 'type' => 'string', 'max' => 300, 'min' => 1, ], 'DiskIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskId', ], ], 'Disks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Disk', ], ], 'DomainName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$', ], 'DomainUserName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^\\w[\\w\\.\\- ]*$', ], 'DomainUserPassword' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '^[ -~]+$', 'sensitive' => true, ], 'DoubleObject' => [ 'type' => 'double', ], 'ErrorCode' => [ 'type' => 'string', 'enum' => [ 'ActivationKeyExpired', 'ActivationKeyInvalid', 'ActivationKeyNotFound', 'GatewayInternalError', 'GatewayNotConnected', 'GatewayNotFound', 'GatewayProxyNetworkConnectionBusy', 'AuthenticationFailure', 'BandwidthThrottleScheduleNotFound', 'Blocked', 'CannotExportSnapshot', 'ChapCredentialNotFound', 'DiskAlreadyAllocated', 'DiskDoesNotExist', 'DiskSizeGreaterThanVolumeMaxSize', 'DiskSizeLessThanVolumeSize', 'DiskSizeNotGigAligned', 'DuplicateCertificateInfo', 'DuplicateSchedule', 'EndpointNotFound', 'IAMNotSupported', 'InitiatorInvalid', 'InitiatorNotFound', 'InternalError', 'InvalidGateway', 'InvalidEndpoint', 'InvalidParameters', 'InvalidSchedule', 'LocalStorageLimitExceeded', 'LunAlreadyAllocated ', 'LunInvalid', 'MaximumContentLengthExceeded', 'MaximumTapeCartridgeCountExceeded', 'MaximumVolumeCountExceeded', 'NetworkConfigurationChanged', 'NoDisksAvailable', 'NotImplemented', 'NotSupported', 'OperationAborted', 'OutdatedGateway', 'ParametersNotImplemented', 'RegionInvalid', 'RequestTimeout', 'ServiceUnavailable', 'SnapshotDeleted', 'SnapshotIdInvalid', 'SnapshotInProgress', 'SnapshotNotFound', 'SnapshotScheduleNotFound', 'StagingAreaFull', 'StorageFailure', 'TapeCartridgeNotFound', 'TargetAlreadyExists', 'TargetInvalid', 'TargetNotFound', 'UnauthorizedOperation', 'VolumeAlreadyExists', 'VolumeIdInvalid', 'VolumeInUse', 'VolumeNotFound', 'VolumeNotReady', ], ], 'FileShareARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, ], 'FileShareARNList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileShareARN', ], 'max' => 10, 'min' => 1, ], 'FileShareClientList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPV4AddressCIDR', ], 'max' => 100, 'min' => 1, ], 'FileShareId' => [ 'type' => 'string', 'max' => 30, 'min' => 12, ], 'FileShareInfo' => [ 'type' => 'structure', 'members' => [ 'FileShareType' => [ 'shape' => 'FileShareType', ], 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'FileShareId' => [ 'shape' => 'FileShareId', ], 'FileShareStatus' => [ 'shape' => 'FileShareStatus', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'FileShareInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileShareInfo', ], ], 'FileShareStatus' => [ 'type' => 'string', 'max' => 50, 'min' => 3, ], 'FileShareType' => [ 'type' => 'string', 'enum' => [ 'NFS', 'SMB', ], ], 'FileShareUser' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'FileShareUserList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FileShareUser', ], 'max' => 100, 'min' => 0, ], 'Folder' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'FolderList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Folder', ], 'max' => 50, 'min' => 1, ], 'GatewayARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, ], 'GatewayId' => [ 'type' => 'string', 'max' => 30, 'min' => 12, ], 'GatewayInfo' => [ 'type' => 'structure', 'members' => [ 'GatewayId' => [ 'shape' => 'GatewayId', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'GatewayType' => [ 'shape' => 'GatewayType', ], 'GatewayOperationalState' => [ 'shape' => 'GatewayOperationalState', ], 'GatewayName' => [ 'shape' => 'string', ], ], ], 'GatewayName' => [ 'type' => 'string', 'max' => 255, 'min' => 2, 'pattern' => '^[ -\\.0-\\[\\]-~]*[!-\\.0-\\[\\]-~][ -\\.0-\\[\\]-~]*$', ], 'GatewayNetworkInterfaces' => [ 'type' => 'list', 'member' => [ 'shape' => 'NetworkInterface', ], ], 'GatewayOperationalState' => [ 'type' => 'string', 'max' => 25, 'min' => 2, ], 'GatewayState' => [ 'type' => 'string', 'max' => 25, 'min' => 2, ], 'GatewayTimezone' => [ 'type' => 'string', 'max' => 10, 'min' => 3, ], 'GatewayType' => [ 'type' => 'string', 'max' => 20, 'min' => 2, ], 'Gateways' => [ 'type' => 'list', 'member' => [ 'shape' => 'GatewayInfo', ], ], 'Host' => [ 'type' => 'string', 'pattern' => '^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])(:(\\d+))?$', ], 'Hosts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Host', ], ], 'HourOfDay' => [ 'type' => 'integer', 'max' => 23, 'min' => 0, ], 'IPV4AddressCIDR' => [ 'type' => 'string', 'pattern' => '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))?$', ], 'Initiator' => [ 'type' => 'string', 'max' => 50, 'min' => 1, ], 'Initiators' => [ 'type' => 'list', 'member' => [ 'shape' => 'Initiator', ], ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], 'error' => [ 'shape' => 'StorageGatewayError', ], ], 'exception' => true, ], 'InvalidGatewayRequestException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], 'error' => [ 'shape' => 'StorageGatewayError', ], ], 'exception' => true, ], 'IqnName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[0-9a-z:.-]+', ], 'JoinDomainInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'DomainName', 'UserName', 'Password', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'DomainName' => [ 'shape' => 'DomainName', ], 'OrganizationalUnit' => [ 'shape' => 'OrganizationalUnit', ], 'DomainControllers' => [ 'shape' => 'Hosts', ], 'UserName' => [ 'shape' => 'DomainUserName', ], 'Password' => [ 'shape' => 'DomainUserPassword', ], ], ], 'JoinDomainOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'KMSKey' => [ 'type' => 'string', 'max' => 2048, 'min' => 7, ], 'LastSoftwareUpdate' => [ 'type' => 'string', 'max' => 25, 'min' => 1, ], 'ListFileSharesInput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListFileSharesOutput' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'NextMarker' => [ 'shape' => 'Marker', ], 'FileShareInfoList' => [ 'shape' => 'FileShareInfoList', ], ], ], 'ListGatewaysInput' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'ListGatewaysOutput' => [ 'type' => 'structure', 'members' => [ 'Gateways' => [ 'shape' => 'Gateways', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListLocalDisksInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ListLocalDisksOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Disks' => [ 'shape' => 'Disks', ], ], ], 'ListTagsForResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'ListTagsForResourceOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Marker' => [ 'shape' => 'Marker', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ListTapesInput' => [ 'type' => 'structure', 'members' => [ 'TapeARNs' => [ 'shape' => 'TapeARNs', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'ListTapesOutput' => [ 'type' => 'structure', 'members' => [ 'TapeInfos' => [ 'shape' => 'TapeInfos', ], 'Marker' => [ 'shape' => 'Marker', ], ], ], 'ListVolumeInitiatorsInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'ListVolumeInitiatorsOutput' => [ 'type' => 'structure', 'members' => [ 'Initiators' => [ 'shape' => 'Initiators', ], ], ], 'ListVolumeRecoveryPointsInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ListVolumeRecoveryPointsOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'VolumeRecoveryPointInfos' => [ 'shape' => 'VolumeRecoveryPointInfos', ], ], ], 'ListVolumesInput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Marker' => [ 'shape' => 'Marker', ], 'Limit' => [ 'shape' => 'PositiveIntObject', ], ], ], 'ListVolumesOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Marker' => [ 'shape' => 'Marker', ], 'VolumeInfos' => [ 'shape' => 'VolumeInfos', ], ], ], 'LocalConsolePassword' => [ 'type' => 'string', 'max' => 512, 'min' => 6, 'pattern' => '^[ -~]+$', 'sensitive' => true, ], 'LocationARN' => [ 'type' => 'string', 'max' => 310, 'min' => 16, ], 'Marker' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'MediumChangerType' => [ 'type' => 'string', 'max' => 50, 'min' => 2, ], 'MinuteOfHour' => [ 'type' => 'integer', 'max' => 59, 'min' => 0, ], 'NFSFileShareDefaults' => [ 'type' => 'structure', 'members' => [ 'FileMode' => [ 'shape' => 'PermissionMode', ], 'DirectoryMode' => [ 'shape' => 'PermissionMode', ], 'GroupId' => [ 'shape' => 'PermissionId', ], 'OwnerId' => [ 'shape' => 'PermissionId', ], ], ], 'NFSFileShareInfo' => [ 'type' => 'structure', 'members' => [ 'NFSFileShareDefaults' => [ 'shape' => 'NFSFileShareDefaults', ], 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'FileShareId' => [ 'shape' => 'FileShareId', ], 'FileShareStatus' => [ 'shape' => 'FileShareStatus', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'KMSEncrypted' => [ 'shape' => 'boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'Path' => [ 'shape' => 'Path', ], 'Role' => [ 'shape' => 'Role', ], 'LocationARN' => [ 'shape' => 'LocationARN', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ClientList' => [ 'shape' => 'FileShareClientList', ], 'Squash' => [ 'shape' => 'Squash', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'NFSFileShareInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NFSFileShareInfo', ], ], 'NetworkInterface' => [ 'type' => 'structure', 'members' => [ 'Ipv4Address' => [ 'shape' => 'string', ], 'MacAddress' => [ 'shape' => 'string', ], 'Ipv6Address' => [ 'shape' => 'string', ], ], ], 'NetworkInterfaceId' => [ 'type' => 'string', 'pattern' => '\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z', ], 'NextUpdateAvailabilityDate' => [ 'type' => 'string', 'max' => 25, 'min' => 1, ], 'NotificationId' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'NotifyWhenUploadedInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'NotifyWhenUploadedOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'NotificationId' => [ 'shape' => 'NotificationId', ], ], ], 'NumTapesToCreate' => [ 'type' => 'integer', 'max' => 10, 'min' => 1, ], 'ObjectACL' => [ 'type' => 'string', 'enum' => [ 'private', 'public-read', 'public-read-write', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control', 'aws-exec-read', ], ], 'OrganizationalUnit' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'Path' => [ 'type' => 'string', ], 'PermissionId' => [ 'type' => 'long', 'max' => 4294967294, 'min' => 0, ], 'PermissionMode' => [ 'type' => 'string', 'max' => 4, 'min' => 1, 'pattern' => '^[0-7]{4}$', ], 'PoolId' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'PositiveIntObject' => [ 'type' => 'integer', 'min' => 1, ], 'RecurrenceInHours' => [ 'type' => 'integer', 'max' => 24, 'min' => 1, ], 'RefreshCacheInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'FolderList' => [ 'shape' => 'FolderList', ], 'Recursive' => [ 'shape' => 'Boolean', ], ], ], 'RefreshCacheOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'NotificationId' => [ 'shape' => 'NotificationId', ], ], ], 'RegionId' => [ 'type' => 'string', 'max' => 25, 'min' => 1, ], 'RemoveTagsFromResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'TagKeys', ], 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'RemoveTagsFromResourceOutput' => [ 'type' => 'structure', 'members' => [ 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'ResetCacheInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ResetCacheOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ResourceARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, ], 'RetrieveTapeArchiveInput' => [ 'type' => 'structure', 'required' => [ 'TapeARN', 'GatewayARN', ], 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'RetrieveTapeArchiveOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'RetrieveTapeRecoveryPointInput' => [ 'type' => 'structure', 'required' => [ 'TapeARN', 'GatewayARN', ], 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'RetrieveTapeRecoveryPointOutput' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], ], ], 'Role' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'SMBFileShareInfo' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'FileShareId' => [ 'shape' => 'FileShareId', ], 'FileShareStatus' => [ 'shape' => 'FileShareStatus', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'KMSEncrypted' => [ 'shape' => 'boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'Path' => [ 'shape' => 'Path', ], 'Role' => [ 'shape' => 'Role', ], 'LocationARN' => [ 'shape' => 'LocationARN', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], 'ValidUserList' => [ 'shape' => 'FileShareUserList', ], 'InvalidUserList' => [ 'shape' => 'FileShareUserList', ], 'Authentication' => [ 'shape' => 'Authentication', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'SMBFileShareInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SMBFileShareInfo', ], ], 'SMBGuestPassword' => [ 'type' => 'string', 'max' => 512, 'min' => 6, 'pattern' => '^[ -~]+$', 'sensitive' => true, ], 'ServiceUnavailableError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'string', ], 'error' => [ 'shape' => 'StorageGatewayError', ], ], 'exception' => true, ], 'SetLocalConsolePasswordInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'LocalConsolePassword', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'LocalConsolePassword' => [ 'shape' => 'LocalConsolePassword', ], ], ], 'SetLocalConsolePasswordOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'SetSMBGuestPasswordInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'Password', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'Password' => [ 'shape' => 'SMBGuestPassword', ], ], ], 'SetSMBGuestPasswordOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ShutdownGatewayInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'ShutdownGatewayOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'SnapshotDescription' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'SnapshotId' => [ 'type' => 'string', 'pattern' => '\\Asnap-([0-9A-Fa-f]{8}|[0-9A-Fa-f]{17})\\z', ], 'Squash' => [ 'type' => 'string', 'max' => 15, 'min' => 5, ], 'StartGatewayInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'StartGatewayOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'StorageClass' => [ 'type' => 'string', 'max' => 20, 'min' => 5, ], 'StorageGatewayError' => [ 'type' => 'structure', 'members' => [ 'errorCode' => [ 'shape' => 'ErrorCode', ], 'errorDetails' => [ 'shape' => 'errorDetails', ], ], ], 'StorediSCSIVolume' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeId' => [ 'shape' => 'VolumeId', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'VolumeStatus' => [ 'shape' => 'VolumeStatus', ], 'VolumeAttachmentStatus' => [ 'shape' => 'VolumeAttachmentStatus', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeProgress' => [ 'shape' => 'DoubleObject', ], 'VolumeDiskId' => [ 'shape' => 'DiskId', ], 'SourceSnapshotId' => [ 'shape' => 'SnapshotId', ], 'PreservedExistingData' => [ 'shape' => 'boolean', ], 'VolumeiSCSIAttributes' => [ 'shape' => 'VolumeiSCSIAttributes', ], 'CreatedDate' => [ 'shape' => 'CreatedDate', ], 'VolumeUsedInBytes' => [ 'shape' => 'VolumeUsedInBytes', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'TargetName' => [ 'shape' => 'TargetName', ], ], ], 'StorediSCSIVolumes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StorediSCSIVolume', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 256, ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'Tape' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'TapeBarcode' => [ 'shape' => 'TapeBarcode', ], 'TapeCreatedDate' => [ 'shape' => 'Time', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'TapeStatus' => [ 'shape' => 'TapeStatus', ], 'VTLDevice' => [ 'shape' => 'VTLDeviceARN', ], 'Progress' => [ 'shape' => 'DoubleObject', ], 'TapeUsedInBytes' => [ 'shape' => 'TapeUsage', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'PoolId' => [ 'shape' => 'PoolId', ], ], ], 'TapeARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, 'pattern' => '^arn:(aws|aws-cn|aws-us-gov):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{7,16}$', ], 'TapeARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'TapeARN', ], ], 'TapeArchive' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'TapeBarcode' => [ 'shape' => 'TapeBarcode', ], 'TapeCreatedDate' => [ 'shape' => 'Time', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'CompletionTime' => [ 'shape' => 'Time', ], 'RetrievedTo' => [ 'shape' => 'GatewayARN', ], 'TapeStatus' => [ 'shape' => 'TapeArchiveStatus', ], 'TapeUsedInBytes' => [ 'shape' => 'TapeUsage', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'PoolId' => [ 'shape' => 'PoolId', ], ], ], 'TapeArchiveStatus' => [ 'type' => 'string', ], 'TapeArchives' => [ 'type' => 'list', 'member' => [ 'shape' => 'TapeArchive', ], ], 'TapeBarcode' => [ 'type' => 'string', 'max' => 16, 'min' => 7, 'pattern' => '^[A-Z0-9]*$', ], 'TapeBarcodePrefix' => [ 'type' => 'string', 'max' => 4, 'min' => 1, 'pattern' => '^[A-Z]*$', ], 'TapeDriveType' => [ 'type' => 'string', 'max' => 50, 'min' => 2, ], 'TapeInfo' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'TapeBarcode' => [ 'shape' => 'TapeBarcode', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'TapeStatus' => [ 'shape' => 'TapeStatus', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'PoolId' => [ 'shape' => 'PoolId', ], ], ], 'TapeInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'TapeInfo', ], ], 'TapeRecoveryPointInfo' => [ 'type' => 'structure', 'members' => [ 'TapeARN' => [ 'shape' => 'TapeARN', ], 'TapeRecoveryPointTime' => [ 'shape' => 'Time', ], 'TapeSizeInBytes' => [ 'shape' => 'TapeSize', ], 'TapeStatus' => [ 'shape' => 'TapeRecoveryPointStatus', ], ], ], 'TapeRecoveryPointInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'TapeRecoveryPointInfo', ], ], 'TapeRecoveryPointStatus' => [ 'type' => 'string', ], 'TapeSize' => [ 'type' => 'long', ], 'TapeStatus' => [ 'type' => 'string', ], 'TapeUsage' => [ 'type' => 'long', ], 'Tapes' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tape', ], ], 'TargetARN' => [ 'type' => 'string', 'max' => 800, 'min' => 50, ], 'TargetName' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '^[-\\.;a-z0-9]+$', ], 'Time' => [ 'type' => 'timestamp', ], 'UpdateBandwidthRateLimitInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'AverageUploadRateLimitInBitsPerSec' => [ 'shape' => 'BandwidthUploadRateLimit', ], 'AverageDownloadRateLimitInBitsPerSec' => [ 'shape' => 'BandwidthDownloadRateLimit', ], ], ], 'UpdateBandwidthRateLimitOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'UpdateChapCredentialsInput' => [ 'type' => 'structure', 'required' => [ 'TargetARN', 'SecretToAuthenticateInitiator', 'InitiatorName', ], 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'SecretToAuthenticateInitiator' => [ 'shape' => 'ChapSecret', ], 'InitiatorName' => [ 'shape' => 'IqnName', ], 'SecretToAuthenticateTarget' => [ 'shape' => 'ChapSecret', ], ], ], 'UpdateChapCredentialsOutput' => [ 'type' => 'structure', 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'InitiatorName' => [ 'shape' => 'IqnName', ], ], ], 'UpdateGatewayInformationInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'GatewayName' => [ 'shape' => 'GatewayName', ], 'GatewayTimezone' => [ 'shape' => 'GatewayTimezone', ], ], ], 'UpdateGatewayInformationOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'GatewayName' => [ 'shape' => 'string', ], ], ], 'UpdateGatewaySoftwareNowInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'UpdateGatewaySoftwareNowOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'UpdateMaintenanceStartTimeInput' => [ 'type' => 'structure', 'required' => [ 'GatewayARN', 'HourOfDay', 'MinuteOfHour', 'DayOfWeek', ], 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'HourOfDay' => [ 'shape' => 'HourOfDay', ], 'MinuteOfHour' => [ 'shape' => 'MinuteOfHour', ], 'DayOfWeek' => [ 'shape' => 'DayOfWeek', ], ], ], 'UpdateMaintenanceStartTimeOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'UpdateNFSFileShareInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'NFSFileShareDefaults' => [ 'shape' => 'NFSFileShareDefaults', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ClientList' => [ 'shape' => 'FileShareClientList', ], 'Squash' => [ 'shape' => 'Squash', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], ], ], 'UpdateNFSFileShareOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'UpdateSMBFileShareInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], 'KMSEncrypted' => [ 'shape' => 'Boolean', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], 'DefaultStorageClass' => [ 'shape' => 'StorageClass', ], 'ObjectACL' => [ 'shape' => 'ObjectACL', ], 'ReadOnly' => [ 'shape' => 'Boolean', ], 'GuessMIMETypeEnabled' => [ 'shape' => 'Boolean', ], 'RequesterPays' => [ 'shape' => 'Boolean', ], 'ValidUserList' => [ 'shape' => 'FileShareUserList', ], 'InvalidUserList' => [ 'shape' => 'FileShareUserList', ], ], ], 'UpdateSMBFileShareOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'UpdateSnapshotScheduleInput' => [ 'type' => 'structure', 'required' => [ 'VolumeARN', 'StartAt', 'RecurrenceInHours', ], 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'StartAt' => [ 'shape' => 'HourOfDay', ], 'RecurrenceInHours' => [ 'shape' => 'RecurrenceInHours', ], 'Description' => [ 'shape' => 'Description', ], ], ], 'UpdateSnapshotScheduleOutput' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], ], ], 'UpdateVTLDeviceTypeInput' => [ 'type' => 'structure', 'required' => [ 'VTLDeviceARN', 'DeviceType', ], 'members' => [ 'VTLDeviceARN' => [ 'shape' => 'VTLDeviceARN', ], 'DeviceType' => [ 'shape' => 'DeviceType', ], ], ], 'UpdateVTLDeviceTypeOutput' => [ 'type' => 'structure', 'members' => [ 'VTLDeviceARN' => [ 'shape' => 'VTLDeviceARN', ], ], ], 'VTLDevice' => [ 'type' => 'structure', 'members' => [ 'VTLDeviceARN' => [ 'shape' => 'VTLDeviceARN', ], 'VTLDeviceType' => [ 'shape' => 'VTLDeviceType', ], 'VTLDeviceVendor' => [ 'shape' => 'VTLDeviceVendor', ], 'VTLDeviceProductIdentifier' => [ 'shape' => 'VTLDeviceProductIdentifier', ], 'DeviceiSCSIAttributes' => [ 'shape' => 'DeviceiSCSIAttributes', ], ], ], 'VTLDeviceARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, ], 'VTLDeviceARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'VTLDeviceARN', ], ], 'VTLDeviceProductIdentifier' => [ 'type' => 'string', ], 'VTLDeviceType' => [ 'type' => 'string', ], 'VTLDeviceVendor' => [ 'type' => 'string', ], 'VTLDevices' => [ 'type' => 'list', 'member' => [ 'shape' => 'VTLDevice', ], ], 'VolumeARN' => [ 'type' => 'string', 'max' => 500, 'min' => 50, ], 'VolumeARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeARN', ], ], 'VolumeAttachmentStatus' => [ 'type' => 'string', 'max' => 50, 'min' => 3, ], 'VolumeId' => [ 'type' => 'string', 'max' => 30, 'min' => 12, ], 'VolumeInfo' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeId' => [ 'shape' => 'VolumeId', ], 'GatewayARN' => [ 'shape' => 'GatewayARN', ], 'GatewayId' => [ 'shape' => 'GatewayId', ], 'VolumeType' => [ 'shape' => 'VolumeType', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeAttachmentStatus' => [ 'shape' => 'VolumeAttachmentStatus', ], ], ], 'VolumeInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeInfo', ], ], 'VolumeRecoveryPointInfo' => [ 'type' => 'structure', 'members' => [ 'VolumeARN' => [ 'shape' => 'VolumeARN', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeUsageInBytes' => [ 'shape' => 'long', ], 'VolumeRecoveryPointTime' => [ 'shape' => 'string', ], ], ], 'VolumeRecoveryPointInfos' => [ 'type' => 'list', 'member' => [ 'shape' => 'VolumeRecoveryPointInfo', ], ], 'VolumeStatus' => [ 'type' => 'string', 'max' => 50, 'min' => 3, ], 'VolumeType' => [ 'type' => 'string', 'max' => 100, 'min' => 3, ], 'VolumeUsedInBytes' => [ 'type' => 'long', ], 'VolumeiSCSIAttributes' => [ 'type' => 'structure', 'members' => [ 'TargetARN' => [ 'shape' => 'TargetARN', ], 'NetworkInterfaceId' => [ 'shape' => 'NetworkInterfaceId', ], 'NetworkInterfacePort' => [ 'shape' => 'integer', ], 'LunNumber' => [ 'shape' => 'PositiveIntObject', ], 'ChapEnabled' => [ 'shape' => 'boolean', ], ], ], 'boolean' => [ 'type' => 'boolean', ], 'double' => [ 'type' => 'double', ], 'errorDetails' => [ 'type' => 'map', 'key' => [ 'shape' => 'string', ], 'value' => [ 'shape' => 'string', ], ], 'integer' => [ 'type' => 'integer', ], 'long' => [ 'type' => 'long', ], 'string' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/storagegateway/2013-06-30/paginators-1.json.php b/lib/aws/Aws/data/storagegateway/2013-06-30/paginators-1.json.php new file mode 100644 index 0000000..df36d0d --- /dev/null +++ b/lib/aws/Aws/data/storagegateway/2013-06-30/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/storagegateway/2013-06-30/paginators-1.json +return [ 'pagination' => [ 'DescribeCachediSCSIVolumes' => [ 'result_key' => 'CachediSCSIVolumes', ], 'DescribeStorediSCSIVolumes' => [ 'result_key' => 'StorediSCSIVolumes', ], 'DescribeTapeArchives' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'TapeArchives', ], 'DescribeTapeRecoveryPoints' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'TapeRecoveryPointInfos', ], 'DescribeTapes' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'Tapes', ], 'DescribeVTLDevices' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'VTLDevices', ], 'ListGateways' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'Gateways', ], 'ListLocalDisks' => [ 'result_key' => 'Disks', ], 'ListVolumeRecoveryPoints' => [ 'result_key' => 'VolumeRecoveryPointInfos', ], 'ListVolumes' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'VolumeInfos', ], ],]; diff --git a/lib/aws/Aws/data/streams.dynamodb/2012-08-10/api-2.json.php b/lib/aws/Aws/data/streams.dynamodb/2012-08-10/api-2.json.php new file mode 100644 index 0000000..49a32fb --- /dev/null +++ b/lib/aws/Aws/data/streams.dynamodb/2012-08-10/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/streams.dynamodb/2012-08-10/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-08-10', 'endpointPrefix' => 'streams.dynamodb', 'jsonVersion' => '1.0', 'protocol' => 'json', 'serviceFullName' => 'Amazon DynamoDB Streams', 'signatureVersion' => 'v4', 'signingName' => 'dynamodb', 'targetPrefix' => 'DynamoDBStreams_20120810', 'uid' => 'streams-dynamodb-2012-08-10', ], 'operations' => [ 'DescribeStream' => [ 'name' => 'DescribeStream', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeStreamInput', ], 'output' => [ 'shape' => 'DescribeStreamOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], 'GetRecords' => [ 'name' => 'GetRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRecordsInput', ], 'output' => [ 'shape' => 'GetRecordsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ExpiredIteratorException', ], [ 'shape' => 'TrimmedDataAccessException', ], ], ], 'GetShardIterator' => [ 'name' => 'GetShardIterator', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetShardIteratorInput', ], 'output' => [ 'shape' => 'GetShardIteratorOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'TrimmedDataAccessException', ], ], ], 'ListStreams' => [ 'name' => 'ListStreams', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListStreamsInput', ], 'output' => [ 'shape' => 'ListStreamsOutput', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], ], ], ], 'shapes' => [ 'AttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 65535, ], 'AttributeValue' => [ 'type' => 'structure', 'members' => [ 'S' => [ 'shape' => 'StringAttributeValue', ], 'N' => [ 'shape' => 'NumberAttributeValue', ], 'B' => [ 'shape' => 'BinaryAttributeValue', ], 'SS' => [ 'shape' => 'StringSetAttributeValue', ], 'NS' => [ 'shape' => 'NumberSetAttributeValue', ], 'BS' => [ 'shape' => 'BinarySetAttributeValue', ], 'M' => [ 'shape' => 'MapAttributeValue', ], 'L' => [ 'shape' => 'ListAttributeValue', ], 'NULL' => [ 'shape' => 'NullAttributeValue', ], 'BOOL' => [ 'shape' => 'BooleanAttributeValue', ], ], ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'BinarySetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'BinaryAttributeValue', ], ], 'BooleanAttributeValue' => [ 'type' => 'boolean', ], 'Date' => [ 'type' => 'timestamp', ], 'DescribeStreamInput' => [ 'type' => 'structure', 'required' => [ 'StreamArn', ], 'members' => [ 'StreamArn' => [ 'shape' => 'StreamArn', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'ExclusiveStartShardId' => [ 'shape' => 'ShardId', ], ], ], 'DescribeStreamOutput' => [ 'type' => 'structure', 'members' => [ 'StreamDescription' => [ 'shape' => 'StreamDescription', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpiredIteratorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'GetRecordsInput' => [ 'type' => 'structure', 'required' => [ 'ShardIterator', ], 'members' => [ 'ShardIterator' => [ 'shape' => 'ShardIterator', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], ], ], 'GetRecordsOutput' => [ 'type' => 'structure', 'members' => [ 'Records' => [ 'shape' => 'RecordList', ], 'NextShardIterator' => [ 'shape' => 'ShardIterator', ], ], ], 'GetShardIteratorInput' => [ 'type' => 'structure', 'required' => [ 'StreamArn', 'ShardId', 'ShardIteratorType', ], 'members' => [ 'StreamArn' => [ 'shape' => 'StreamArn', ], 'ShardId' => [ 'shape' => 'ShardId', ], 'ShardIteratorType' => [ 'shape' => 'ShardIteratorType', ], 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], ], ], 'GetShardIteratorOutput' => [ 'type' => 'structure', 'members' => [ 'ShardIterator' => [ 'shape' => 'ShardIterator', ], ], ], 'Identity' => [ 'type' => 'structure', 'members' => [ 'PrincipalId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], ], ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'KeySchema' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeySchemaElement', ], 'max' => 2, 'min' => 1, ], 'KeySchemaAttributeName' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'KeySchemaElement' => [ 'type' => 'structure', 'required' => [ 'AttributeName', 'KeyType', ], 'members' => [ 'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ], 'KeyType' => [ 'shape' => 'KeyType', ], ], ], 'KeyType' => [ 'type' => 'string', 'enum' => [ 'HASH', 'RANGE', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ListAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttributeValue', ], ], 'ListStreamsInput' => [ 'type' => 'structure', 'members' => [ 'TableName' => [ 'shape' => 'TableName', ], 'Limit' => [ 'shape' => 'PositiveIntegerObject', ], 'ExclusiveStartStreamArn' => [ 'shape' => 'StreamArn', ], ], ], 'ListStreamsOutput' => [ 'type' => 'structure', 'members' => [ 'Streams' => [ 'shape' => 'StreamList', ], 'LastEvaluatedStreamArn' => [ 'shape' => 'StreamArn', ], ], ], 'MapAttributeValue' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeName', ], 'value' => [ 'shape' => 'AttributeValue', ], ], 'NullAttributeValue' => [ 'type' => 'boolean', ], 'NumberAttributeValue' => [ 'type' => 'string', ], 'NumberSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'NumberAttributeValue', ], ], 'OperationType' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'MODIFY', 'REMOVE', ], ], 'PositiveIntegerObject' => [ 'type' => 'integer', 'min' => 1, ], 'PositiveLongObject' => [ 'type' => 'long', 'min' => 1, ], 'Record' => [ 'type' => 'structure', 'members' => [ 'eventID' => [ 'shape' => 'String', ], 'eventName' => [ 'shape' => 'OperationType', ], 'eventVersion' => [ 'shape' => 'String', ], 'eventSource' => [ 'shape' => 'String', ], 'awsRegion' => [ 'shape' => 'String', ], 'dynamodb' => [ 'shape' => 'StreamRecord', ], 'userIdentity' => [ 'shape' => 'Identity', ], ], ], 'RecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'SequenceNumber' => [ 'type' => 'string', 'max' => 40, 'min' => 21, ], 'SequenceNumberRange' => [ 'type' => 'structure', 'members' => [ 'StartingSequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'EndingSequenceNumber' => [ 'shape' => 'SequenceNumber', ], ], ], 'Shard' => [ 'type' => 'structure', 'members' => [ 'ShardId' => [ 'shape' => 'ShardId', ], 'SequenceNumberRange' => [ 'shape' => 'SequenceNumberRange', ], 'ParentShardId' => [ 'shape' => 'ShardId', ], ], ], 'ShardDescriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Shard', ], ], 'ShardId' => [ 'type' => 'string', 'max' => 65, 'min' => 28, ], 'ShardIterator' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'ShardIteratorType' => [ 'type' => 'string', 'enum' => [ 'TRIM_HORIZON', 'LATEST', 'AT_SEQUENCE_NUMBER', 'AFTER_SEQUENCE_NUMBER', ], ], 'Stream' => [ 'type' => 'structure', 'members' => [ 'StreamArn' => [ 'shape' => 'StreamArn', ], 'TableName' => [ 'shape' => 'TableName', ], 'StreamLabel' => [ 'shape' => 'String', ], ], ], 'StreamArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 37, ], 'StreamDescription' => [ 'type' => 'structure', 'members' => [ 'StreamArn' => [ 'shape' => 'StreamArn', ], 'StreamLabel' => [ 'shape' => 'String', ], 'StreamStatus' => [ 'shape' => 'StreamStatus', ], 'StreamViewType' => [ 'shape' => 'StreamViewType', ], 'CreationRequestDateTime' => [ 'shape' => 'Date', ], 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'Shards' => [ 'shape' => 'ShardDescriptionList', ], 'LastEvaluatedShardId' => [ 'shape' => 'ShardId', ], ], ], 'StreamList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Stream', ], ], 'StreamRecord' => [ 'type' => 'structure', 'members' => [ 'ApproximateCreationDateTime' => [ 'shape' => 'Date', ], 'Keys' => [ 'shape' => 'AttributeMap', ], 'NewImage' => [ 'shape' => 'AttributeMap', ], 'OldImage' => [ 'shape' => 'AttributeMap', ], 'SequenceNumber' => [ 'shape' => 'SequenceNumber', ], 'SizeBytes' => [ 'shape' => 'PositiveLongObject', ], 'StreamViewType' => [ 'shape' => 'StreamViewType', ], ], ], 'StreamStatus' => [ 'type' => 'string', 'enum' => [ 'ENABLING', 'ENABLED', 'DISABLING', 'DISABLED', ], ], 'StreamViewType' => [ 'type' => 'string', 'enum' => [ 'NEW_IMAGE', 'OLD_IMAGE', 'NEW_AND_OLD_IMAGES', 'KEYS_ONLY', ], ], 'String' => [ 'type' => 'string', ], 'StringAttributeValue' => [ 'type' => 'string', ], 'StringSetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringAttributeValue', ], ], 'TableName' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[a-zA-Z0-9_.-]+', ], 'TrimmedDataAccessException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/streams.dynamodb/2012-08-10/paginators-1.json.php b/lib/aws/Aws/data/streams.dynamodb/2012-08-10/paginators-1.json.php new file mode 100644 index 0000000..89b2d78 --- /dev/null +++ b/lib/aws/Aws/data/streams.dynamodb/2012-08-10/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/streams.dynamodb/2012-08-10/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/sts/2011-06-15/api-2.json.php b/lib/aws/Aws/data/sts/2011-06-15/api-2.json.php new file mode 100644 index 0000000..054a8dd --- /dev/null +++ b/lib/aws/Aws/data/sts/2011-06-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sts/2011-06-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2011-06-15', 'endpointPrefix' => 'sts', 'globalEndpoint' => 'sts.amazonaws.com', 'protocol' => 'query', 'serviceAbbreviation' => 'AWS STS', 'serviceFullName' => 'AWS Security Token Service', 'serviceId' => 'STS', 'signatureVersion' => 'v4', 'uid' => 'sts-2011-06-15', 'xmlNamespace' => 'https://sts.amazonaws.com/doc/2011-06-15/', ], 'operations' => [ 'AssumeRole' => [ 'name' => 'AssumeRole', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssumeRoleRequest', ], 'output' => [ 'shape' => 'AssumeRoleResponse', 'resultWrapper' => 'AssumeRoleResult', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PackedPolicyTooLargeException', ], [ 'shape' => 'RegionDisabledException', ], ], ], 'AssumeRoleWithSAML' => [ 'name' => 'AssumeRoleWithSAML', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssumeRoleWithSAMLRequest', ], 'output' => [ 'shape' => 'AssumeRoleWithSAMLResponse', 'resultWrapper' => 'AssumeRoleWithSAMLResult', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PackedPolicyTooLargeException', ], [ 'shape' => 'IDPRejectedClaimException', ], [ 'shape' => 'InvalidIdentityTokenException', ], [ 'shape' => 'ExpiredTokenException', ], [ 'shape' => 'RegionDisabledException', ], ], ], 'AssumeRoleWithWebIdentity' => [ 'name' => 'AssumeRoleWithWebIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssumeRoleWithWebIdentityRequest', ], 'output' => [ 'shape' => 'AssumeRoleWithWebIdentityResponse', 'resultWrapper' => 'AssumeRoleWithWebIdentityResult', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PackedPolicyTooLargeException', ], [ 'shape' => 'IDPRejectedClaimException', ], [ 'shape' => 'IDPCommunicationErrorException', ], [ 'shape' => 'InvalidIdentityTokenException', ], [ 'shape' => 'ExpiredTokenException', ], [ 'shape' => 'RegionDisabledException', ], ], ], 'DecodeAuthorizationMessage' => [ 'name' => 'DecodeAuthorizationMessage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DecodeAuthorizationMessageRequest', ], 'output' => [ 'shape' => 'DecodeAuthorizationMessageResponse', 'resultWrapper' => 'DecodeAuthorizationMessageResult', ], 'errors' => [ [ 'shape' => 'InvalidAuthorizationMessageException', ], ], ], 'GetCallerIdentity' => [ 'name' => 'GetCallerIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetCallerIdentityRequest', ], 'output' => [ 'shape' => 'GetCallerIdentityResponse', 'resultWrapper' => 'GetCallerIdentityResult', ], ], 'GetFederationToken' => [ 'name' => 'GetFederationToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetFederationTokenRequest', ], 'output' => [ 'shape' => 'GetFederationTokenResponse', 'resultWrapper' => 'GetFederationTokenResult', ], 'errors' => [ [ 'shape' => 'MalformedPolicyDocumentException', ], [ 'shape' => 'PackedPolicyTooLargeException', ], [ 'shape' => 'RegionDisabledException', ], ], ], 'GetSessionToken' => [ 'name' => 'GetSessionToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSessionTokenRequest', ], 'output' => [ 'shape' => 'GetSessionTokenResponse', 'resultWrapper' => 'GetSessionTokenResult', ], 'errors' => [ [ 'shape' => 'RegionDisabledException', ], ], ], ], 'shapes' => [ 'AssumeRoleRequest' => [ 'type' => 'structure', 'required' => [ 'RoleArn', 'RoleSessionName', ], 'members' => [ 'RoleArn' => [ 'shape' => 'arnType', ], 'RoleSessionName' => [ 'shape' => 'roleSessionNameType', ], 'Policy' => [ 'shape' => 'sessionPolicyDocumentType', ], 'DurationSeconds' => [ 'shape' => 'roleDurationSecondsType', ], 'ExternalId' => [ 'shape' => 'externalIdType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'TokenCode' => [ 'shape' => 'tokenCodeType', ], ], ], 'AssumeRoleResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], 'AssumedRoleUser' => [ 'shape' => 'AssumedRoleUser', ], 'PackedPolicySize' => [ 'shape' => 'nonNegativeIntegerType', ], ], ], 'AssumeRoleWithSAMLRequest' => [ 'type' => 'structure', 'required' => [ 'RoleArn', 'PrincipalArn', 'SAMLAssertion', ], 'members' => [ 'RoleArn' => [ 'shape' => 'arnType', ], 'PrincipalArn' => [ 'shape' => 'arnType', ], 'SAMLAssertion' => [ 'shape' => 'SAMLAssertionType', ], 'Policy' => [ 'shape' => 'sessionPolicyDocumentType', ], 'DurationSeconds' => [ 'shape' => 'roleDurationSecondsType', ], ], ], 'AssumeRoleWithSAMLResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], 'AssumedRoleUser' => [ 'shape' => 'AssumedRoleUser', ], 'PackedPolicySize' => [ 'shape' => 'nonNegativeIntegerType', ], 'Subject' => [ 'shape' => 'Subject', ], 'SubjectType' => [ 'shape' => 'SubjectType', ], 'Issuer' => [ 'shape' => 'Issuer', ], 'Audience' => [ 'shape' => 'Audience', ], 'NameQualifier' => [ 'shape' => 'NameQualifier', ], ], ], 'AssumeRoleWithWebIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'RoleArn', 'RoleSessionName', 'WebIdentityToken', ], 'members' => [ 'RoleArn' => [ 'shape' => 'arnType', ], 'RoleSessionName' => [ 'shape' => 'roleSessionNameType', ], 'WebIdentityToken' => [ 'shape' => 'clientTokenType', ], 'ProviderId' => [ 'shape' => 'urlType', ], 'Policy' => [ 'shape' => 'sessionPolicyDocumentType', ], 'DurationSeconds' => [ 'shape' => 'roleDurationSecondsType', ], ], ], 'AssumeRoleWithWebIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], 'SubjectFromWebIdentityToken' => [ 'shape' => 'webIdentitySubjectType', ], 'AssumedRoleUser' => [ 'shape' => 'AssumedRoleUser', ], 'PackedPolicySize' => [ 'shape' => 'nonNegativeIntegerType', ], 'Provider' => [ 'shape' => 'Issuer', ], 'Audience' => [ 'shape' => 'Audience', ], ], ], 'AssumedRoleUser' => [ 'type' => 'structure', 'required' => [ 'AssumedRoleId', 'Arn', ], 'members' => [ 'AssumedRoleId' => [ 'shape' => 'assumedRoleIdType', ], 'Arn' => [ 'shape' => 'arnType', ], ], ], 'Audience' => [ 'type' => 'string', ], 'Credentials' => [ 'type' => 'structure', 'required' => [ 'AccessKeyId', 'SecretAccessKey', 'SessionToken', 'Expiration', ], 'members' => [ 'AccessKeyId' => [ 'shape' => 'accessKeyIdType', ], 'SecretAccessKey' => [ 'shape' => 'accessKeySecretType', ], 'SessionToken' => [ 'shape' => 'tokenType', ], 'Expiration' => [ 'shape' => 'dateType', ], ], ], 'DecodeAuthorizationMessageRequest' => [ 'type' => 'structure', 'required' => [ 'EncodedMessage', ], 'members' => [ 'EncodedMessage' => [ 'shape' => 'encodedMessageType', ], ], ], 'DecodeAuthorizationMessageResponse' => [ 'type' => 'structure', 'members' => [ 'DecodedMessage' => [ 'shape' => 'decodedMessageType', ], ], ], 'ExpiredTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'expiredIdentityTokenMessage', ], ], 'error' => [ 'code' => 'ExpiredTokenException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'FederatedUser' => [ 'type' => 'structure', 'required' => [ 'FederatedUserId', 'Arn', ], 'members' => [ 'FederatedUserId' => [ 'shape' => 'federatedIdType', ], 'Arn' => [ 'shape' => 'arnType', ], ], ], 'GetCallerIdentityRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetCallerIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'userIdType', ], 'Account' => [ 'shape' => 'accountType', ], 'Arn' => [ 'shape' => 'arnType', ], ], ], 'GetFederationTokenRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'userNameType', ], 'Policy' => [ 'shape' => 'sessionPolicyDocumentType', ], 'DurationSeconds' => [ 'shape' => 'durationSecondsType', ], ], ], 'GetFederationTokenResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], 'FederatedUser' => [ 'shape' => 'FederatedUser', ], 'PackedPolicySize' => [ 'shape' => 'nonNegativeIntegerType', ], ], ], 'GetSessionTokenRequest' => [ 'type' => 'structure', 'members' => [ 'DurationSeconds' => [ 'shape' => 'durationSecondsType', ], 'SerialNumber' => [ 'shape' => 'serialNumberType', ], 'TokenCode' => [ 'shape' => 'tokenCodeType', ], ], ], 'GetSessionTokenResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], ], ], 'IDPCommunicationErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'idpCommunicationErrorMessage', ], ], 'error' => [ 'code' => 'IDPCommunicationError', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'IDPRejectedClaimException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'idpRejectedClaimMessage', ], ], 'error' => [ 'code' => 'IDPRejectedClaim', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'InvalidAuthorizationMessageException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidAuthorizationMessage', ], ], 'error' => [ 'code' => 'InvalidAuthorizationMessageException', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InvalidIdentityTokenException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'invalidIdentityTokenMessage', ], ], 'error' => [ 'code' => 'InvalidIdentityToken', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Issuer' => [ 'type' => 'string', ], 'MalformedPolicyDocumentException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'malformedPolicyDocumentMessage', ], ], 'error' => [ 'code' => 'MalformedPolicyDocument', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'NameQualifier' => [ 'type' => 'string', ], 'PackedPolicyTooLargeException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'packedPolicyTooLargeMessage', ], ], 'error' => [ 'code' => 'PackedPolicyTooLarge', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'RegionDisabledException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'regionDisabledMessage', ], ], 'error' => [ 'code' => 'RegionDisabledException', 'httpStatusCode' => 403, 'senderFault' => true, ], 'exception' => true, ], 'SAMLAssertionType' => [ 'type' => 'string', 'max' => 100000, 'min' => 4, ], 'Subject' => [ 'type' => 'string', ], 'SubjectType' => [ 'type' => 'string', ], 'accessKeyIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 16, 'pattern' => '[\\w]*', ], 'accessKeySecretType' => [ 'type' => 'string', ], 'accountType' => [ 'type' => 'string', ], 'arnType' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]+', ], 'assumedRoleIdType' => [ 'type' => 'string', 'max' => 193, 'min' => 2, 'pattern' => '[\\w+=,.@:-]*', ], 'clientTokenType' => [ 'type' => 'string', 'max' => 2048, 'min' => 4, ], 'dateType' => [ 'type' => 'timestamp', ], 'decodedMessageType' => [ 'type' => 'string', ], 'durationSecondsType' => [ 'type' => 'integer', 'max' => 129600, 'min' => 900, ], 'encodedMessageType' => [ 'type' => 'string', 'max' => 10240, 'min' => 1, ], 'expiredIdentityTokenMessage' => [ 'type' => 'string', ], 'externalIdType' => [ 'type' => 'string', 'max' => 1224, 'min' => 2, 'pattern' => '[\\w+=,.@:\\/-]*', ], 'federatedIdType' => [ 'type' => 'string', 'max' => 193, 'min' => 2, 'pattern' => '[\\w+=,.@\\:-]*', ], 'idpCommunicationErrorMessage' => [ 'type' => 'string', ], 'idpRejectedClaimMessage' => [ 'type' => 'string', ], 'invalidAuthorizationMessage' => [ 'type' => 'string', ], 'invalidIdentityTokenMessage' => [ 'type' => 'string', ], 'malformedPolicyDocumentMessage' => [ 'type' => 'string', ], 'nonNegativeIntegerType' => [ 'type' => 'integer', 'min' => 0, ], 'packedPolicyTooLargeMessage' => [ 'type' => 'string', ], 'regionDisabledMessage' => [ 'type' => 'string', ], 'roleDurationSecondsType' => [ 'type' => 'integer', 'max' => 43200, 'min' => 900, ], 'roleSessionNameType' => [ 'type' => 'string', 'max' => 64, 'min' => 2, 'pattern' => '[\\w+=,.@-]*', ], 'serialNumberType' => [ 'type' => 'string', 'max' => 256, 'min' => 9, 'pattern' => '[\\w+=/:,.@-]*', ], 'sessionPolicyDocumentType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+', ], 'tokenCodeType' => [ 'type' => 'string', 'max' => 6, 'min' => 6, 'pattern' => '[\\d]*', ], 'tokenType' => [ 'type' => 'string', ], 'urlType' => [ 'type' => 'string', 'max' => 2048, 'min' => 4, ], 'userIdType' => [ 'type' => 'string', ], 'userNameType' => [ 'type' => 'string', 'max' => 32, 'min' => 2, 'pattern' => '[\\w+=,.@-]*', ], 'webIdentitySubjectType' => [ 'type' => 'string', 'max' => 255, 'min' => 6, ], ],]; diff --git a/lib/aws/Aws/data/sts/2011-06-15/paginators-1.json.php b/lib/aws/Aws/data/sts/2011-06-15/paginators-1.json.php new file mode 100644 index 0000000..d762313 --- /dev/null +++ b/lib/aws/Aws/data/sts/2011-06-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sts/2011-06-15/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/sts/2011-06-15/smoke.json.php b/lib/aws/Aws/data/sts/2011-06-15/smoke.json.php new file mode 100644 index 0000000..28082e8 --- /dev/null +++ b/lib/aws/Aws/data/sts/2011-06-15/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/sts/2011-06-15/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetSessionToken', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetFederationToken', 'input' => [ 'Name' => 'temp', 'Policy' => '{\\"temp\\":true}', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/support/2013-04-15/api-2.json.php b/lib/aws/Aws/data/support/2013-04-15/api-2.json.php new file mode 100644 index 0000000..fde5e60 --- /dev/null +++ b/lib/aws/Aws/data/support/2013-04-15/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/support/2013-04-15/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'uid' => 'support-2013-04-15', 'apiVersion' => '2013-04-15', 'endpointPrefix' => 'support', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Support', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSSupport_20130415', ], 'operations' => [ 'AddAttachmentsToSet' => [ 'name' => 'AddAttachmentsToSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddAttachmentsToSetRequest', ], 'output' => [ 'shape' => 'AddAttachmentsToSetResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'AttachmentSetIdNotFound', ], [ 'shape' => 'AttachmentSetExpired', ], [ 'shape' => 'AttachmentSetSizeLimitExceeded', ], [ 'shape' => 'AttachmentLimitExceeded', ], ], ], 'AddCommunicationToCase' => [ 'name' => 'AddCommunicationToCase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddCommunicationToCaseRequest', ], 'output' => [ 'shape' => 'AddCommunicationToCaseResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'CaseIdNotFound', ], [ 'shape' => 'AttachmentSetIdNotFound', ], [ 'shape' => 'AttachmentSetExpired', ], ], ], 'CreateCase' => [ 'name' => 'CreateCase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateCaseRequest', ], 'output' => [ 'shape' => 'CreateCaseResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'CaseCreationLimitExceeded', ], [ 'shape' => 'AttachmentSetIdNotFound', ], [ 'shape' => 'AttachmentSetExpired', ], ], ], 'DescribeAttachment' => [ 'name' => 'DescribeAttachment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAttachmentRequest', ], 'output' => [ 'shape' => 'DescribeAttachmentResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'DescribeAttachmentLimitExceeded', ], [ 'shape' => 'AttachmentIdNotFound', ], ], ], 'DescribeCases' => [ 'name' => 'DescribeCases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCasesRequest', ], 'output' => [ 'shape' => 'DescribeCasesResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'CaseIdNotFound', ], ], ], 'DescribeCommunications' => [ 'name' => 'DescribeCommunications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeCommunicationsRequest', ], 'output' => [ 'shape' => 'DescribeCommunicationsResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'CaseIdNotFound', ], ], ], 'DescribeServices' => [ 'name' => 'DescribeServices', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServicesRequest', ], 'output' => [ 'shape' => 'DescribeServicesResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeSeverityLevels' => [ 'name' => 'DescribeSeverityLevels', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSeverityLevelsRequest', ], 'output' => [ 'shape' => 'DescribeSeverityLevelsResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTrustedAdvisorCheckRefreshStatuses' => [ 'name' => 'DescribeTrustedAdvisorCheckRefreshStatuses', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrustedAdvisorCheckRefreshStatusesRequest', ], 'output' => [ 'shape' => 'DescribeTrustedAdvisorCheckRefreshStatusesResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTrustedAdvisorCheckResult' => [ 'name' => 'DescribeTrustedAdvisorCheckResult', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrustedAdvisorCheckResultRequest', ], 'output' => [ 'shape' => 'DescribeTrustedAdvisorCheckResultResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTrustedAdvisorCheckSummaries' => [ 'name' => 'DescribeTrustedAdvisorCheckSummaries', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrustedAdvisorCheckSummariesRequest', ], 'output' => [ 'shape' => 'DescribeTrustedAdvisorCheckSummariesResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'DescribeTrustedAdvisorChecks' => [ 'name' => 'DescribeTrustedAdvisorChecks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTrustedAdvisorChecksRequest', ], 'output' => [ 'shape' => 'DescribeTrustedAdvisorChecksResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'RefreshTrustedAdvisorCheck' => [ 'name' => 'RefreshTrustedAdvisorCheck', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RefreshTrustedAdvisorCheckRequest', ], 'output' => [ 'shape' => 'RefreshTrustedAdvisorCheckResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], ], ], 'ResolveCase' => [ 'name' => 'ResolveCase', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResolveCaseRequest', ], 'output' => [ 'shape' => 'ResolveCaseResponse', ], 'errors' => [ [ 'shape' => 'InternalServerError', ], [ 'shape' => 'CaseIdNotFound', ], ], ], ], 'shapes' => [ 'AddAttachmentsToSetRequest' => [ 'type' => 'structure', 'required' => [ 'attachments', ], 'members' => [ 'attachmentSetId' => [ 'shape' => 'AttachmentSetId', ], 'attachments' => [ 'shape' => 'Attachments', ], ], ], 'AddAttachmentsToSetResponse' => [ 'type' => 'structure', 'members' => [ 'attachmentSetId' => [ 'shape' => 'AttachmentSetId', ], 'expiryTime' => [ 'shape' => 'ExpiryTime', ], ], ], 'AddCommunicationToCaseRequest' => [ 'type' => 'structure', 'required' => [ 'communicationBody', ], 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], 'communicationBody' => [ 'shape' => 'CommunicationBody', ], 'ccEmailAddresses' => [ 'shape' => 'CcEmailAddressList', ], 'attachmentSetId' => [ 'shape' => 'AttachmentSetId', ], ], ], 'AddCommunicationToCaseResponse' => [ 'type' => 'structure', 'members' => [ 'result' => [ 'shape' => 'Result', ], ], ], 'AfterTime' => [ 'type' => 'string', ], 'Attachment' => [ 'type' => 'structure', 'members' => [ 'fileName' => [ 'shape' => 'FileName', ], 'data' => [ 'shape' => 'Data', ], ], ], 'AttachmentDetails' => [ 'type' => 'structure', 'members' => [ 'attachmentId' => [ 'shape' => 'AttachmentId', ], 'fileName' => [ 'shape' => 'FileName', ], ], ], 'AttachmentId' => [ 'type' => 'string', ], 'AttachmentIdNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AttachmentLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AttachmentSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'AttachmentDetails', ], ], 'AttachmentSetExpired' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AttachmentSetId' => [ 'type' => 'string', ], 'AttachmentSetIdNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'AttachmentSetSizeLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Attachments' => [ 'type' => 'list', 'member' => [ 'shape' => 'Attachment', ], ], 'BeforeTime' => [ 'type' => 'string', ], 'Boolean' => [ 'type' => 'boolean', ], 'CaseCreationLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CaseDetails' => [ 'type' => 'structure', 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], 'displayId' => [ 'shape' => 'DisplayId', ], 'subject' => [ 'shape' => 'Subject', ], 'status' => [ 'shape' => 'Status', ], 'serviceCode' => [ 'shape' => 'ServiceCode', ], 'categoryCode' => [ 'shape' => 'CategoryCode', ], 'severityCode' => [ 'shape' => 'SeverityCode', ], 'submittedBy' => [ 'shape' => 'SubmittedBy', ], 'timeCreated' => [ 'shape' => 'TimeCreated', ], 'recentCommunications' => [ 'shape' => 'RecentCaseCommunications', ], 'ccEmailAddresses' => [ 'shape' => 'CcEmailAddressList', ], 'language' => [ 'shape' => 'Language', ], ], ], 'CaseId' => [ 'type' => 'string', ], 'CaseIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaseId', ], 'max' => 100, 'min' => 0, ], 'CaseIdNotFound' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'CaseList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CaseDetails', ], ], 'CaseStatus' => [ 'type' => 'string', ], 'Category' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'CategoryCode', ], 'name' => [ 'shape' => 'CategoryName', ], ], ], 'CategoryCode' => [ 'type' => 'string', ], 'CategoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Category', ], ], 'CategoryName' => [ 'type' => 'string', ], 'CcEmailAddress' => [ 'type' => 'string', ], 'CcEmailAddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CcEmailAddress', ], 'max' => 10, 'min' => 0, ], 'Communication' => [ 'type' => 'structure', 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], 'body' => [ 'shape' => 'CommunicationBody', ], 'submittedBy' => [ 'shape' => 'SubmittedBy', ], 'timeCreated' => [ 'shape' => 'TimeCreated', ], 'attachmentSet' => [ 'shape' => 'AttachmentSet', ], ], ], 'CommunicationBody' => [ 'type' => 'string', 'max' => 8000, 'min' => 1, ], 'CommunicationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Communication', ], ], 'CreateCaseRequest' => [ 'type' => 'structure', 'required' => [ 'subject', 'communicationBody', ], 'members' => [ 'subject' => [ 'shape' => 'Subject', ], 'serviceCode' => [ 'shape' => 'ServiceCode', ], 'severityCode' => [ 'shape' => 'SeverityCode', ], 'categoryCode' => [ 'shape' => 'CategoryCode', ], 'communicationBody' => [ 'shape' => 'CommunicationBody', ], 'ccEmailAddresses' => [ 'shape' => 'CcEmailAddressList', ], 'language' => [ 'shape' => 'Language', ], 'issueType' => [ 'shape' => 'IssueType', ], 'attachmentSetId' => [ 'shape' => 'AttachmentSetId', ], ], ], 'CreateCaseResponse' => [ 'type' => 'structure', 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], ], ], 'Data' => [ 'type' => 'blob', ], 'DescribeAttachmentLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DescribeAttachmentRequest' => [ 'type' => 'structure', 'required' => [ 'attachmentId', ], 'members' => [ 'attachmentId' => [ 'shape' => 'AttachmentId', ], ], ], 'DescribeAttachmentResponse' => [ 'type' => 'structure', 'members' => [ 'attachment' => [ 'shape' => 'Attachment', ], ], ], 'DescribeCasesRequest' => [ 'type' => 'structure', 'members' => [ 'caseIdList' => [ 'shape' => 'CaseIdList', ], 'displayId' => [ 'shape' => 'DisplayId', ], 'afterTime' => [ 'shape' => 'AfterTime', ], 'beforeTime' => [ 'shape' => 'BeforeTime', ], 'includeResolvedCases' => [ 'shape' => 'IncludeResolvedCases', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], 'language' => [ 'shape' => 'Language', ], 'includeCommunications' => [ 'shape' => 'IncludeCommunications', ], ], ], 'DescribeCasesResponse' => [ 'type' => 'structure', 'members' => [ 'cases' => [ 'shape' => 'CaseList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeCommunicationsRequest' => [ 'type' => 'structure', 'required' => [ 'caseId', ], 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], 'beforeTime' => [ 'shape' => 'BeforeTime', ], 'afterTime' => [ 'shape' => 'AfterTime', ], 'nextToken' => [ 'shape' => 'NextToken', ], 'maxResults' => [ 'shape' => 'MaxResults', ], ], ], 'DescribeCommunicationsResponse' => [ 'type' => 'structure', 'members' => [ 'communications' => [ 'shape' => 'CommunicationList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeServicesRequest' => [ 'type' => 'structure', 'members' => [ 'serviceCodeList' => [ 'shape' => 'ServiceCodeList', ], 'language' => [ 'shape' => 'Language', ], ], ], 'DescribeServicesResponse' => [ 'type' => 'structure', 'members' => [ 'services' => [ 'shape' => 'ServiceList', ], ], ], 'DescribeSeverityLevelsRequest' => [ 'type' => 'structure', 'members' => [ 'language' => [ 'shape' => 'Language', ], ], ], 'DescribeSeverityLevelsResponse' => [ 'type' => 'structure', 'members' => [ 'severityLevels' => [ 'shape' => 'SeverityLevelsList', ], ], ], 'DescribeTrustedAdvisorCheckRefreshStatusesRequest' => [ 'type' => 'structure', 'required' => [ 'checkIds', ], 'members' => [ 'checkIds' => [ 'shape' => 'StringList', ], ], ], 'DescribeTrustedAdvisorCheckRefreshStatusesResponse' => [ 'type' => 'structure', 'required' => [ 'statuses', ], 'members' => [ 'statuses' => [ 'shape' => 'TrustedAdvisorCheckRefreshStatusList', ], ], ], 'DescribeTrustedAdvisorCheckResultRequest' => [ 'type' => 'structure', 'required' => [ 'checkId', ], 'members' => [ 'checkId' => [ 'shape' => 'String', ], 'language' => [ 'shape' => 'String', ], ], ], 'DescribeTrustedAdvisorCheckResultResponse' => [ 'type' => 'structure', 'members' => [ 'result' => [ 'shape' => 'TrustedAdvisorCheckResult', ], ], ], 'DescribeTrustedAdvisorCheckSummariesRequest' => [ 'type' => 'structure', 'required' => [ 'checkIds', ], 'members' => [ 'checkIds' => [ 'shape' => 'StringList', ], ], ], 'DescribeTrustedAdvisorCheckSummariesResponse' => [ 'type' => 'structure', 'required' => [ 'summaries', ], 'members' => [ 'summaries' => [ 'shape' => 'TrustedAdvisorCheckSummaryList', ], ], ], 'DescribeTrustedAdvisorChecksRequest' => [ 'type' => 'structure', 'required' => [ 'language', ], 'members' => [ 'language' => [ 'shape' => 'String', ], ], ], 'DescribeTrustedAdvisorChecksResponse' => [ 'type' => 'structure', 'required' => [ 'checks', ], 'members' => [ 'checks' => [ 'shape' => 'TrustedAdvisorCheckList', ], ], ], 'DisplayId' => [ 'type' => 'string', ], 'Double' => [ 'type' => 'double', ], 'ErrorMessage' => [ 'type' => 'string', ], 'ExpiryTime' => [ 'type' => 'string', ], 'FileName' => [ 'type' => 'string', ], 'IncludeCommunications' => [ 'type' => 'boolean', ], 'IncludeResolvedCases' => [ 'type' => 'boolean', ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'IssueType' => [ 'type' => 'string', ], 'Language' => [ 'type' => 'string', ], 'Long' => [ 'type' => 'long', ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 10, ], 'NextToken' => [ 'type' => 'string', ], 'RecentCaseCommunications' => [ 'type' => 'structure', 'members' => [ 'communications' => [ 'shape' => 'CommunicationList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'RefreshTrustedAdvisorCheckRequest' => [ 'type' => 'structure', 'required' => [ 'checkId', ], 'members' => [ 'checkId' => [ 'shape' => 'String', ], ], ], 'RefreshTrustedAdvisorCheckResponse' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'TrustedAdvisorCheckRefreshStatus', ], ], ], 'ResolveCaseRequest' => [ 'type' => 'structure', 'members' => [ 'caseId' => [ 'shape' => 'CaseId', ], ], ], 'ResolveCaseResponse' => [ 'type' => 'structure', 'members' => [ 'initialCaseStatus' => [ 'shape' => 'CaseStatus', ], 'finalCaseStatus' => [ 'shape' => 'CaseStatus', ], ], ], 'Result' => [ 'type' => 'boolean', ], 'Service' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'ServiceCode', ], 'name' => [ 'shape' => 'ServiceName', ], 'categories' => [ 'shape' => 'CategoryList', ], ], ], 'ServiceCode' => [ 'type' => 'string', ], 'ServiceCodeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceCode', ], 'max' => 100, 'min' => 0, ], 'ServiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Service', ], ], 'ServiceName' => [ 'type' => 'string', ], 'SeverityCode' => [ 'type' => 'string', ], 'SeverityLevel' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'SeverityLevelCode', ], 'name' => [ 'shape' => 'SeverityLevelName', ], ], ], 'SeverityLevelCode' => [ 'type' => 'string', ], 'SeverityLevelName' => [ 'type' => 'string', ], 'SeverityLevelsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SeverityLevel', ], ], 'Status' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'Subject' => [ 'type' => 'string', ], 'SubmittedBy' => [ 'type' => 'string', ], 'TimeCreated' => [ 'type' => 'string', ], 'TrustedAdvisorCategorySpecificSummary' => [ 'type' => 'structure', 'members' => [ 'costOptimizing' => [ 'shape' => 'TrustedAdvisorCostOptimizingSummary', ], ], ], 'TrustedAdvisorCheckDescription' => [ 'type' => 'structure', 'required' => [ 'id', 'name', 'description', 'category', 'metadata', ], 'members' => [ 'id' => [ 'shape' => 'String', ], 'name' => [ 'shape' => 'String', ], 'description' => [ 'shape' => 'String', ], 'category' => [ 'shape' => 'String', ], 'metadata' => [ 'shape' => 'StringList', ], ], ], 'TrustedAdvisorCheckList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrustedAdvisorCheckDescription', ], ], 'TrustedAdvisorCheckRefreshStatus' => [ 'type' => 'structure', 'required' => [ 'checkId', 'status', 'millisUntilNextRefreshable', ], 'members' => [ 'checkId' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'millisUntilNextRefreshable' => [ 'shape' => 'Long', ], ], ], 'TrustedAdvisorCheckRefreshStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrustedAdvisorCheckRefreshStatus', ], ], 'TrustedAdvisorCheckResult' => [ 'type' => 'structure', 'required' => [ 'checkId', 'timestamp', 'status', 'resourcesSummary', 'categorySpecificSummary', 'flaggedResources', ], 'members' => [ 'checkId' => [ 'shape' => 'String', ], 'timestamp' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'resourcesSummary' => [ 'shape' => 'TrustedAdvisorResourcesSummary', ], 'categorySpecificSummary' => [ 'shape' => 'TrustedAdvisorCategorySpecificSummary', ], 'flaggedResources' => [ 'shape' => 'TrustedAdvisorResourceDetailList', ], ], ], 'TrustedAdvisorCheckSummary' => [ 'type' => 'structure', 'required' => [ 'checkId', 'timestamp', 'status', 'resourcesSummary', 'categorySpecificSummary', ], 'members' => [ 'checkId' => [ 'shape' => 'String', ], 'timestamp' => [ 'shape' => 'String', ], 'status' => [ 'shape' => 'String', ], 'hasFlaggedResources' => [ 'shape' => 'Boolean', ], 'resourcesSummary' => [ 'shape' => 'TrustedAdvisorResourcesSummary', ], 'categorySpecificSummary' => [ 'shape' => 'TrustedAdvisorCategorySpecificSummary', ], ], ], 'TrustedAdvisorCheckSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrustedAdvisorCheckSummary', ], ], 'TrustedAdvisorCostOptimizingSummary' => [ 'type' => 'structure', 'required' => [ 'estimatedMonthlySavings', 'estimatedPercentMonthlySavings', ], 'members' => [ 'estimatedMonthlySavings' => [ 'shape' => 'Double', ], 'estimatedPercentMonthlySavings' => [ 'shape' => 'Double', ], ], ], 'TrustedAdvisorResourceDetail' => [ 'type' => 'structure', 'required' => [ 'status', 'resourceId', 'metadata', ], 'members' => [ 'status' => [ 'shape' => 'String', ], 'region' => [ 'shape' => 'String', ], 'resourceId' => [ 'shape' => 'String', ], 'isSuppressed' => [ 'shape' => 'Boolean', ], 'metadata' => [ 'shape' => 'StringList', ], ], ], 'TrustedAdvisorResourceDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TrustedAdvisorResourceDetail', ], ], 'TrustedAdvisorResourcesSummary' => [ 'type' => 'structure', 'required' => [ 'resourcesProcessed', 'resourcesFlagged', 'resourcesIgnored', 'resourcesSuppressed', ], 'members' => [ 'resourcesProcessed' => [ 'shape' => 'Long', ], 'resourcesFlagged' => [ 'shape' => 'Long', ], 'resourcesIgnored' => [ 'shape' => 'Long', ], 'resourcesSuppressed' => [ 'shape' => 'Long', ], ], ], ],]; diff --git a/lib/aws/Aws/data/support/2013-04-15/paginators-1.json.php b/lib/aws/Aws/data/support/2013-04-15/paginators-1.json.php new file mode 100644 index 0000000..b7a94e6 --- /dev/null +++ b/lib/aws/Aws/data/support/2013-04-15/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/support/2013-04-15/paginators-1.json +return [ 'pagination' => [ 'DescribeCases' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'cases', ], 'DescribeCommunications' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'communications', ], 'DescribeServices' => [ 'result_key' => 'services', ], 'DescribeTrustedAdvisorCheckRefreshStatuses' => [ 'result_key' => 'statuses', ], 'DescribeTrustedAdvisorCheckSummaries' => [ 'result_key' => 'summaries', ], ],]; diff --git a/lib/aws/Aws/data/swf/2012-01-25/api-2.json.php b/lib/aws/Aws/data/swf/2012-01-25/api-2.json.php new file mode 100644 index 0000000..341bb9c --- /dev/null +++ b/lib/aws/Aws/data/swf/2012-01-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/swf/2012-01-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2012-01-25', 'endpointPrefix' => 'swf', 'jsonVersion' => '1.0', 'protocol' => 'json', 'serviceAbbreviation' => 'Amazon SWF', 'serviceFullName' => 'Amazon Simple Workflow Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'SimpleWorkflowService', 'timestampFormat' => 'unixTimestamp', 'uid' => 'swf-2012-01-25', ], 'operations' => [ 'CountClosedWorkflowExecutions' => [ 'name' => 'CountClosedWorkflowExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CountClosedWorkflowExecutionsInput', ], 'output' => [ 'shape' => 'WorkflowExecutionCount', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'CountOpenWorkflowExecutions' => [ 'name' => 'CountOpenWorkflowExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CountOpenWorkflowExecutionsInput', ], 'output' => [ 'shape' => 'WorkflowExecutionCount', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'CountPendingActivityTasks' => [ 'name' => 'CountPendingActivityTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CountPendingActivityTasksInput', ], 'output' => [ 'shape' => 'PendingTaskCount', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'CountPendingDecisionTasks' => [ 'name' => 'CountPendingDecisionTasks', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CountPendingDecisionTasksInput', ], 'output' => [ 'shape' => 'PendingTaskCount', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DeprecateActivityType' => [ 'name' => 'DeprecateActivityType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeprecateActivityTypeInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'TypeDeprecatedFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DeprecateDomain' => [ 'name' => 'DeprecateDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeprecateDomainInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'DomainDeprecatedFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DeprecateWorkflowType' => [ 'name' => 'DeprecateWorkflowType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeprecateWorkflowTypeInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'TypeDeprecatedFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DescribeActivityType' => [ 'name' => 'DescribeActivityType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeActivityTypeInput', ], 'output' => [ 'shape' => 'ActivityTypeDetail', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DescribeDomain' => [ 'name' => 'DescribeDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeDomainInput', ], 'output' => [ 'shape' => 'DomainDetail', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DescribeWorkflowExecution' => [ 'name' => 'DescribeWorkflowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkflowExecutionInput', ], 'output' => [ 'shape' => 'WorkflowExecutionDetail', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'DescribeWorkflowType' => [ 'name' => 'DescribeWorkflowType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkflowTypeInput', ], 'output' => [ 'shape' => 'WorkflowTypeDetail', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'GetWorkflowExecutionHistory' => [ 'name' => 'GetWorkflowExecutionHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetWorkflowExecutionHistoryInput', ], 'output' => [ 'shape' => 'History', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'ListActivityTypes' => [ 'name' => 'ListActivityTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActivityTypesInput', ], 'output' => [ 'shape' => 'ActivityTypeInfos', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedFault', ], [ 'shape' => 'UnknownResourceFault', ], ], ], 'ListClosedWorkflowExecutions' => [ 'name' => 'ListClosedWorkflowExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListClosedWorkflowExecutionsInput', ], 'output' => [ 'shape' => 'WorkflowExecutionInfos', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'ListDomains' => [ 'name' => 'ListDomains', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDomainsInput', ], 'output' => [ 'shape' => 'DomainInfos', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'ListOpenWorkflowExecutions' => [ 'name' => 'ListOpenWorkflowExecutions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOpenWorkflowExecutionsInput', ], 'output' => [ 'shape' => 'WorkflowExecutionInfos', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'ListWorkflowTypes' => [ 'name' => 'ListWorkflowTypes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWorkflowTypesInput', ], 'output' => [ 'shape' => 'WorkflowTypeInfos', ], 'errors' => [ [ 'shape' => 'OperationNotPermittedFault', ], [ 'shape' => 'UnknownResourceFault', ], ], ], 'PollForActivityTask' => [ 'name' => 'PollForActivityTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PollForActivityTaskInput', ], 'output' => [ 'shape' => 'ActivityTask', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], [ 'shape' => 'LimitExceededFault', ], ], ], 'PollForDecisionTask' => [ 'name' => 'PollForDecisionTask', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PollForDecisionTaskInput', ], 'output' => [ 'shape' => 'DecisionTask', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], [ 'shape' => 'LimitExceededFault', ], ], ], 'RecordActivityTaskHeartbeat' => [ 'name' => 'RecordActivityTaskHeartbeat', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RecordActivityTaskHeartbeatInput', ], 'output' => [ 'shape' => 'ActivityTaskStatus', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RegisterActivityType' => [ 'name' => 'RegisterActivityType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterActivityTypeInput', ], 'errors' => [ [ 'shape' => 'TypeAlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RegisterDomain' => [ 'name' => 'RegisterDomain', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterDomainInput', ], 'errors' => [ [ 'shape' => 'DomainAlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RegisterWorkflowType' => [ 'name' => 'RegisterWorkflowType', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterWorkflowTypeInput', ], 'errors' => [ [ 'shape' => 'TypeAlreadyExistsFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RequestCancelWorkflowExecution' => [ 'name' => 'RequestCancelWorkflowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RequestCancelWorkflowExecutionInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RespondActivityTaskCanceled' => [ 'name' => 'RespondActivityTaskCanceled', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RespondActivityTaskCanceledInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RespondActivityTaskCompleted' => [ 'name' => 'RespondActivityTaskCompleted', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RespondActivityTaskCompletedInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RespondActivityTaskFailed' => [ 'name' => 'RespondActivityTaskFailed', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RespondActivityTaskFailedInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'RespondDecisionTaskCompleted' => [ 'name' => 'RespondDecisionTaskCompleted', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RespondDecisionTaskCompletedInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'SignalWorkflowExecution' => [ 'name' => 'SignalWorkflowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'SignalWorkflowExecutionInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], 'StartWorkflowExecution' => [ 'name' => 'StartWorkflowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartWorkflowExecutionInput', ], 'output' => [ 'shape' => 'Run', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'TypeDeprecatedFault', ], [ 'shape' => 'WorkflowExecutionAlreadyStartedFault', ], [ 'shape' => 'LimitExceededFault', ], [ 'shape' => 'OperationNotPermittedFault', ], [ 'shape' => 'DefaultUndefinedFault', ], ], ], 'TerminateWorkflowExecution' => [ 'name' => 'TerminateWorkflowExecution', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateWorkflowExecutionInput', ], 'errors' => [ [ 'shape' => 'UnknownResourceFault', ], [ 'shape' => 'OperationNotPermittedFault', ], ], ], ], 'shapes' => [ 'ActivityId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'ActivityTask' => [ 'type' => 'structure', 'required' => [ 'taskToken', 'activityId', 'startedEventId', 'workflowExecution', 'activityType', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'activityId' => [ 'shape' => 'ActivityId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'activityType' => [ 'shape' => 'ActivityType', ], 'input' => [ 'shape' => 'Data', ], ], ], 'ActivityTaskCancelRequestedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'decisionTaskCompletedEventId', 'activityId', ], 'members' => [ 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'activityId' => [ 'shape' => 'ActivityId', ], ], ], 'ActivityTaskCanceledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'details' => [ 'shape' => 'Data', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'latestCancelRequestedEventId' => [ 'shape' => 'EventId', ], ], ], 'ActivityTaskCompletedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'result' => [ 'shape' => 'Data', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ActivityTaskFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ActivityTaskScheduledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'activityType', 'activityId', 'taskList', 'decisionTaskCompletedEventId', ], 'members' => [ 'activityType' => [ 'shape' => 'ActivityType', ], 'activityId' => [ 'shape' => 'ActivityId', ], 'input' => [ 'shape' => 'Data', ], 'control' => [ 'shape' => 'Data', ], 'scheduleToStartTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'scheduleToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'startToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'heartbeatTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'ActivityTaskStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', ], 'members' => [ 'identity' => [ 'shape' => 'Identity', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], ], ], 'ActivityTaskStatus' => [ 'type' => 'structure', 'required' => [ 'cancelRequested', ], 'members' => [ 'cancelRequested' => [ 'shape' => 'Canceled', ], ], ], 'ActivityTaskTimedOutEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timeoutType', 'scheduledEventId', 'startedEventId', ], 'members' => [ 'timeoutType' => [ 'shape' => 'ActivityTaskTimeoutType', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'details' => [ 'shape' => 'LimitedData', ], ], ], 'ActivityTaskTimeoutType' => [ 'type' => 'string', 'enum' => [ 'START_TO_CLOSE', 'SCHEDULE_TO_START', 'SCHEDULE_TO_CLOSE', 'HEARTBEAT', ], ], 'ActivityType' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], ], ], 'ActivityTypeConfiguration' => [ 'type' => 'structure', 'members' => [ 'defaultTaskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskHeartbeatTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskList' => [ 'shape' => 'TaskList', ], 'defaultTaskPriority' => [ 'shape' => 'TaskPriority', ], 'defaultTaskScheduleToStartTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskScheduleToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'ActivityTypeDetail' => [ 'type' => 'structure', 'required' => [ 'typeInfo', 'configuration', ], 'members' => [ 'typeInfo' => [ 'shape' => 'ActivityTypeInfo', ], 'configuration' => [ 'shape' => 'ActivityTypeConfiguration', ], ], ], 'ActivityTypeInfo' => [ 'type' => 'structure', 'required' => [ 'activityType', 'status', 'creationDate', ], 'members' => [ 'activityType' => [ 'shape' => 'ActivityType', ], 'status' => [ 'shape' => 'RegistrationStatus', ], 'description' => [ 'shape' => 'Description', ], 'creationDate' => [ 'shape' => 'Timestamp', ], 'deprecationDate' => [ 'shape' => 'Timestamp', ], ], ], 'ActivityTypeInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActivityTypeInfo', ], ], 'ActivityTypeInfos' => [ 'type' => 'structure', 'required' => [ 'typeInfos', ], 'members' => [ 'typeInfos' => [ 'shape' => 'ActivityTypeInfoList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'Arn' => [ 'type' => 'string', 'max' => 1600, 'min' => 1, ], 'CancelTimerDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], ], ], 'CancelTimerFailedCause' => [ 'type' => 'string', 'enum' => [ 'TIMER_ID_UNKNOWN', 'OPERATION_NOT_PERMITTED', ], ], 'CancelTimerFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'cause' => [ 'shape' => 'CancelTimerFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'CancelWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'members' => [ 'details' => [ 'shape' => 'Data', ], ], ], 'CancelWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNHANDLED_DECISION', 'OPERATION_NOT_PERMITTED', ], ], 'CancelWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'cause' => [ 'shape' => 'CancelWorkflowExecutionFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'Canceled' => [ 'type' => 'boolean', ], 'CauseMessage' => [ 'type' => 'string', 'max' => 1728, ], 'ChildPolicy' => [ 'type' => 'string', 'enum' => [ 'TERMINATE', 'REQUEST_CANCEL', 'ABANDON', ], ], 'ChildWorkflowExecutionCanceledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'initiatedEventId', 'startedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'details' => [ 'shape' => 'Data', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ChildWorkflowExecutionCompletedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'initiatedEventId', 'startedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'result' => [ 'shape' => 'Data', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ChildWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'initiatedEventId', 'startedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ChildWorkflowExecutionStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'initiatedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], ], ], 'ChildWorkflowExecutionTerminatedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'initiatedEventId', 'startedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'ChildWorkflowExecutionTimedOutEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'workflowType', 'timeoutType', 'initiatedEventId', 'startedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'timeoutType' => [ 'shape' => 'WorkflowExecutionTimeoutType', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'CloseStatus' => [ 'type' => 'string', 'enum' => [ 'COMPLETED', 'FAILED', 'CANCELED', 'TERMINATED', 'CONTINUED_AS_NEW', 'TIMED_OUT', ], ], 'CloseStatusFilter' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'CloseStatus', ], ], ], 'CompleteWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'members' => [ 'result' => [ 'shape' => 'Data', ], ], ], 'CompleteWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNHANDLED_DECISION', 'OPERATION_NOT_PERMITTED', ], ], 'CompleteWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'cause' => [ 'shape' => 'CompleteWorkflowExecutionFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'ContinueAsNewWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'members' => [ 'input' => [ 'shape' => 'Data', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'tagList' => [ 'shape' => 'TagList', ], 'workflowTypeVersion' => [ 'shape' => 'Version', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'ContinueAsNewWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNHANDLED_DECISION', 'WORKFLOW_TYPE_DEPRECATED', 'WORKFLOW_TYPE_DOES_NOT_EXIST', 'DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_TASK_LIST_UNDEFINED', 'DEFAULT_CHILD_POLICY_UNDEFINED', 'CONTINUE_AS_NEW_WORKFLOW_EXECUTION_RATE_EXCEEDED', 'OPERATION_NOT_PERMITTED', ], ], 'ContinueAsNewWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'cause' => [ 'shape' => 'ContinueAsNewWorkflowExecutionFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'Count' => [ 'type' => 'integer', 'min' => 0, ], 'CountClosedWorkflowExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'domain', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'startTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'closeTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'executionFilter' => [ 'shape' => 'WorkflowExecutionFilter', ], 'typeFilter' => [ 'shape' => 'WorkflowTypeFilter', ], 'tagFilter' => [ 'shape' => 'TagFilter', ], 'closeStatusFilter' => [ 'shape' => 'CloseStatusFilter', ], ], ], 'CountOpenWorkflowExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'startTimeFilter', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'startTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'typeFilter' => [ 'shape' => 'WorkflowTypeFilter', ], 'tagFilter' => [ 'shape' => 'TagFilter', ], 'executionFilter' => [ 'shape' => 'WorkflowExecutionFilter', ], ], ], 'CountPendingActivityTasksInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'taskList', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'taskList' => [ 'shape' => 'TaskList', ], ], ], 'CountPendingDecisionTasksInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'taskList', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'taskList' => [ 'shape' => 'TaskList', ], ], ], 'Data' => [ 'type' => 'string', 'max' => 32768, ], 'Decision' => [ 'type' => 'structure', 'required' => [ 'decisionType', ], 'members' => [ 'decisionType' => [ 'shape' => 'DecisionType', ], 'scheduleActivityTaskDecisionAttributes' => [ 'shape' => 'ScheduleActivityTaskDecisionAttributes', ], 'requestCancelActivityTaskDecisionAttributes' => [ 'shape' => 'RequestCancelActivityTaskDecisionAttributes', ], 'completeWorkflowExecutionDecisionAttributes' => [ 'shape' => 'CompleteWorkflowExecutionDecisionAttributes', ], 'failWorkflowExecutionDecisionAttributes' => [ 'shape' => 'FailWorkflowExecutionDecisionAttributes', ], 'cancelWorkflowExecutionDecisionAttributes' => [ 'shape' => 'CancelWorkflowExecutionDecisionAttributes', ], 'continueAsNewWorkflowExecutionDecisionAttributes' => [ 'shape' => 'ContinueAsNewWorkflowExecutionDecisionAttributes', ], 'recordMarkerDecisionAttributes' => [ 'shape' => 'RecordMarkerDecisionAttributes', ], 'startTimerDecisionAttributes' => [ 'shape' => 'StartTimerDecisionAttributes', ], 'cancelTimerDecisionAttributes' => [ 'shape' => 'CancelTimerDecisionAttributes', ], 'signalExternalWorkflowExecutionDecisionAttributes' => [ 'shape' => 'SignalExternalWorkflowExecutionDecisionAttributes', ], 'requestCancelExternalWorkflowExecutionDecisionAttributes' => [ 'shape' => 'RequestCancelExternalWorkflowExecutionDecisionAttributes', ], 'startChildWorkflowExecutionDecisionAttributes' => [ 'shape' => 'StartChildWorkflowExecutionDecisionAttributes', ], 'scheduleLambdaFunctionDecisionAttributes' => [ 'shape' => 'ScheduleLambdaFunctionDecisionAttributes', ], ], ], 'DecisionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Decision', ], ], 'DecisionTask' => [ 'type' => 'structure', 'required' => [ 'taskToken', 'startedEventId', 'workflowExecution', 'workflowType', 'events', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'events' => [ 'shape' => 'HistoryEventList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'previousStartedEventId' => [ 'shape' => 'EventId', ], ], ], 'DecisionTaskCompletedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'executionContext' => [ 'shape' => 'Data', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'DecisionTaskScheduledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'taskList', ], 'members' => [ 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'startToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'DecisionTaskStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', ], 'members' => [ 'identity' => [ 'shape' => 'Identity', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], ], ], 'DecisionTaskTimedOutEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timeoutType', 'scheduledEventId', 'startedEventId', ], 'members' => [ 'timeoutType' => [ 'shape' => 'DecisionTaskTimeoutType', ], 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'DecisionTaskTimeoutType' => [ 'type' => 'string', 'enum' => [ 'START_TO_CLOSE', ], ], 'DecisionType' => [ 'type' => 'string', 'enum' => [ 'ScheduleActivityTask', 'RequestCancelActivityTask', 'CompleteWorkflowExecution', 'FailWorkflowExecution', 'CancelWorkflowExecution', 'ContinueAsNewWorkflowExecution', 'RecordMarker', 'StartTimer', 'CancelTimer', 'SignalExternalWorkflowExecution', 'RequestCancelExternalWorkflowExecution', 'StartChildWorkflowExecution', 'ScheduleLambdaFunction', ], ], 'DefaultUndefinedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DeprecateActivityTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'activityType', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'activityType' => [ 'shape' => 'ActivityType', ], ], ], 'DeprecateDomainInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'DomainName', ], ], ], 'DeprecateWorkflowTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowType', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], ], ], 'DescribeActivityTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'activityType', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'activityType' => [ 'shape' => 'ActivityType', ], ], ], 'DescribeDomainInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'DomainName', ], ], ], 'DescribeWorkflowExecutionInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'execution', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'execution' => [ 'shape' => 'WorkflowExecution', ], ], ], 'DescribeWorkflowTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowType', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 1024, ], 'DomainAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DomainConfiguration' => [ 'type' => 'structure', 'required' => [ 'workflowExecutionRetentionPeriodInDays', ], 'members' => [ 'workflowExecutionRetentionPeriodInDays' => [ 'shape' => 'DurationInDays', ], ], ], 'DomainDeprecatedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'DomainDetail' => [ 'type' => 'structure', 'required' => [ 'domainInfo', 'configuration', ], 'members' => [ 'domainInfo' => [ 'shape' => 'DomainInfo', ], 'configuration' => [ 'shape' => 'DomainConfiguration', ], ], ], 'DomainInfo' => [ 'type' => 'structure', 'required' => [ 'name', 'status', ], 'members' => [ 'name' => [ 'shape' => 'DomainName', ], 'status' => [ 'shape' => 'RegistrationStatus', ], 'description' => [ 'shape' => 'Description', ], ], ], 'DomainInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DomainInfo', ], ], 'DomainInfos' => [ 'type' => 'structure', 'required' => [ 'domainInfos', ], 'members' => [ 'domainInfos' => [ 'shape' => 'DomainInfoList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'DomainName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DurationInDays' => [ 'type' => 'string', 'max' => 8, 'min' => 1, ], 'DurationInSeconds' => [ 'type' => 'string', 'max' => 8, 'min' => 1, ], 'DurationInSecondsOptional' => [ 'type' => 'string', 'max' => 8, ], 'ErrorMessage' => [ 'type' => 'string', ], 'EventId' => [ 'type' => 'long', ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'WorkflowExecutionStarted', 'WorkflowExecutionCancelRequested', 'WorkflowExecutionCompleted', 'CompleteWorkflowExecutionFailed', 'WorkflowExecutionFailed', 'FailWorkflowExecutionFailed', 'WorkflowExecutionTimedOut', 'WorkflowExecutionCanceled', 'CancelWorkflowExecutionFailed', 'WorkflowExecutionContinuedAsNew', 'ContinueAsNewWorkflowExecutionFailed', 'WorkflowExecutionTerminated', 'DecisionTaskScheduled', 'DecisionTaskStarted', 'DecisionTaskCompleted', 'DecisionTaskTimedOut', 'ActivityTaskScheduled', 'ScheduleActivityTaskFailed', 'ActivityTaskStarted', 'ActivityTaskCompleted', 'ActivityTaskFailed', 'ActivityTaskTimedOut', 'ActivityTaskCanceled', 'ActivityTaskCancelRequested', 'RequestCancelActivityTaskFailed', 'WorkflowExecutionSignaled', 'MarkerRecorded', 'RecordMarkerFailed', 'TimerStarted', 'StartTimerFailed', 'TimerFired', 'TimerCanceled', 'CancelTimerFailed', 'StartChildWorkflowExecutionInitiated', 'StartChildWorkflowExecutionFailed', 'ChildWorkflowExecutionStarted', 'ChildWorkflowExecutionCompleted', 'ChildWorkflowExecutionFailed', 'ChildWorkflowExecutionTimedOut', 'ChildWorkflowExecutionCanceled', 'ChildWorkflowExecutionTerminated', 'SignalExternalWorkflowExecutionInitiated', 'SignalExternalWorkflowExecutionFailed', 'ExternalWorkflowExecutionSignaled', 'RequestCancelExternalWorkflowExecutionInitiated', 'RequestCancelExternalWorkflowExecutionFailed', 'ExternalWorkflowExecutionCancelRequested', 'LambdaFunctionScheduled', 'LambdaFunctionStarted', 'LambdaFunctionCompleted', 'LambdaFunctionFailed', 'LambdaFunctionTimedOut', 'ScheduleLambdaFunctionFailed', 'StartLambdaFunctionFailed', ], ], 'ExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'OPEN', 'CLOSED', ], ], 'ExecutionTimeFilter' => [ 'type' => 'structure', 'required' => [ 'oldestDate', ], 'members' => [ 'oldestDate' => [ 'shape' => 'Timestamp', ], 'latestDate' => [ 'shape' => 'Timestamp', ], ], ], 'ExternalWorkflowExecutionCancelRequestedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'initiatedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], ], ], 'ExternalWorkflowExecutionSignaledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowExecution', 'initiatedEventId', ], 'members' => [ 'workflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], ], ], 'FailWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'members' => [ 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], ], ], 'FailWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNHANDLED_DECISION', 'OPERATION_NOT_PERMITTED', ], ], 'FailWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'cause' => [ 'shape' => 'FailWorkflowExecutionFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'FailureReason' => [ 'type' => 'string', 'max' => 256, ], 'FunctionId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'FunctionInput' => [ 'type' => 'string', 'max' => 32768, 'min' => 0, ], 'FunctionName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'GetWorkflowExecutionHistoryInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'execution', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'execution' => [ 'shape' => 'WorkflowExecution', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'History' => [ 'type' => 'structure', 'required' => [ 'events', ], 'members' => [ 'events' => [ 'shape' => 'HistoryEventList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'HistoryEvent' => [ 'type' => 'structure', 'required' => [ 'eventTimestamp', 'eventType', 'eventId', ], 'members' => [ 'eventTimestamp' => [ 'shape' => 'Timestamp', ], 'eventType' => [ 'shape' => 'EventType', ], 'eventId' => [ 'shape' => 'EventId', ], 'workflowExecutionStartedEventAttributes' => [ 'shape' => 'WorkflowExecutionStartedEventAttributes', ], 'workflowExecutionCompletedEventAttributes' => [ 'shape' => 'WorkflowExecutionCompletedEventAttributes', ], 'completeWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'CompleteWorkflowExecutionFailedEventAttributes', ], 'workflowExecutionFailedEventAttributes' => [ 'shape' => 'WorkflowExecutionFailedEventAttributes', ], 'failWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'FailWorkflowExecutionFailedEventAttributes', ], 'workflowExecutionTimedOutEventAttributes' => [ 'shape' => 'WorkflowExecutionTimedOutEventAttributes', ], 'workflowExecutionCanceledEventAttributes' => [ 'shape' => 'WorkflowExecutionCanceledEventAttributes', ], 'cancelWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'CancelWorkflowExecutionFailedEventAttributes', ], 'workflowExecutionContinuedAsNewEventAttributes' => [ 'shape' => 'WorkflowExecutionContinuedAsNewEventAttributes', ], 'continueAsNewWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'ContinueAsNewWorkflowExecutionFailedEventAttributes', ], 'workflowExecutionTerminatedEventAttributes' => [ 'shape' => 'WorkflowExecutionTerminatedEventAttributes', ], 'workflowExecutionCancelRequestedEventAttributes' => [ 'shape' => 'WorkflowExecutionCancelRequestedEventAttributes', ], 'decisionTaskScheduledEventAttributes' => [ 'shape' => 'DecisionTaskScheduledEventAttributes', ], 'decisionTaskStartedEventAttributes' => [ 'shape' => 'DecisionTaskStartedEventAttributes', ], 'decisionTaskCompletedEventAttributes' => [ 'shape' => 'DecisionTaskCompletedEventAttributes', ], 'decisionTaskTimedOutEventAttributes' => [ 'shape' => 'DecisionTaskTimedOutEventAttributes', ], 'activityTaskScheduledEventAttributes' => [ 'shape' => 'ActivityTaskScheduledEventAttributes', ], 'activityTaskStartedEventAttributes' => [ 'shape' => 'ActivityTaskStartedEventAttributes', ], 'activityTaskCompletedEventAttributes' => [ 'shape' => 'ActivityTaskCompletedEventAttributes', ], 'activityTaskFailedEventAttributes' => [ 'shape' => 'ActivityTaskFailedEventAttributes', ], 'activityTaskTimedOutEventAttributes' => [ 'shape' => 'ActivityTaskTimedOutEventAttributes', ], 'activityTaskCanceledEventAttributes' => [ 'shape' => 'ActivityTaskCanceledEventAttributes', ], 'activityTaskCancelRequestedEventAttributes' => [ 'shape' => 'ActivityTaskCancelRequestedEventAttributes', ], 'workflowExecutionSignaledEventAttributes' => [ 'shape' => 'WorkflowExecutionSignaledEventAttributes', ], 'markerRecordedEventAttributes' => [ 'shape' => 'MarkerRecordedEventAttributes', ], 'recordMarkerFailedEventAttributes' => [ 'shape' => 'RecordMarkerFailedEventAttributes', ], 'timerStartedEventAttributes' => [ 'shape' => 'TimerStartedEventAttributes', ], 'timerFiredEventAttributes' => [ 'shape' => 'TimerFiredEventAttributes', ], 'timerCanceledEventAttributes' => [ 'shape' => 'TimerCanceledEventAttributes', ], 'startChildWorkflowExecutionInitiatedEventAttributes' => [ 'shape' => 'StartChildWorkflowExecutionInitiatedEventAttributes', ], 'childWorkflowExecutionStartedEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionStartedEventAttributes', ], 'childWorkflowExecutionCompletedEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionCompletedEventAttributes', ], 'childWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionFailedEventAttributes', ], 'childWorkflowExecutionTimedOutEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionTimedOutEventAttributes', ], 'childWorkflowExecutionCanceledEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionCanceledEventAttributes', ], 'childWorkflowExecutionTerminatedEventAttributes' => [ 'shape' => 'ChildWorkflowExecutionTerminatedEventAttributes', ], 'signalExternalWorkflowExecutionInitiatedEventAttributes' => [ 'shape' => 'SignalExternalWorkflowExecutionInitiatedEventAttributes', ], 'externalWorkflowExecutionSignaledEventAttributes' => [ 'shape' => 'ExternalWorkflowExecutionSignaledEventAttributes', ], 'signalExternalWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'SignalExternalWorkflowExecutionFailedEventAttributes', ], 'externalWorkflowExecutionCancelRequestedEventAttributes' => [ 'shape' => 'ExternalWorkflowExecutionCancelRequestedEventAttributes', ], 'requestCancelExternalWorkflowExecutionInitiatedEventAttributes' => [ 'shape' => 'RequestCancelExternalWorkflowExecutionInitiatedEventAttributes', ], 'requestCancelExternalWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'RequestCancelExternalWorkflowExecutionFailedEventAttributes', ], 'scheduleActivityTaskFailedEventAttributes' => [ 'shape' => 'ScheduleActivityTaskFailedEventAttributes', ], 'requestCancelActivityTaskFailedEventAttributes' => [ 'shape' => 'RequestCancelActivityTaskFailedEventAttributes', ], 'startTimerFailedEventAttributes' => [ 'shape' => 'StartTimerFailedEventAttributes', ], 'cancelTimerFailedEventAttributes' => [ 'shape' => 'CancelTimerFailedEventAttributes', ], 'startChildWorkflowExecutionFailedEventAttributes' => [ 'shape' => 'StartChildWorkflowExecutionFailedEventAttributes', ], 'lambdaFunctionScheduledEventAttributes' => [ 'shape' => 'LambdaFunctionScheduledEventAttributes', ], 'lambdaFunctionStartedEventAttributes' => [ 'shape' => 'LambdaFunctionStartedEventAttributes', ], 'lambdaFunctionCompletedEventAttributes' => [ 'shape' => 'LambdaFunctionCompletedEventAttributes', ], 'lambdaFunctionFailedEventAttributes' => [ 'shape' => 'LambdaFunctionFailedEventAttributes', ], 'lambdaFunctionTimedOutEventAttributes' => [ 'shape' => 'LambdaFunctionTimedOutEventAttributes', ], 'scheduleLambdaFunctionFailedEventAttributes' => [ 'shape' => 'ScheduleLambdaFunctionFailedEventAttributes', ], 'startLambdaFunctionFailedEventAttributes' => [ 'shape' => 'StartLambdaFunctionFailedEventAttributes', ], ], ], 'HistoryEventList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistoryEvent', ], ], 'Identity' => [ 'type' => 'string', 'max' => 256, ], 'LambdaFunctionCompletedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'result' => [ 'shape' => 'Data', ], ], ], 'LambdaFunctionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], ], ], 'LambdaFunctionScheduledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'id', 'name', 'decisionTaskCompletedEventId', ], 'members' => [ 'id' => [ 'shape' => 'FunctionId', ], 'name' => [ 'shape' => 'FunctionName', ], 'control' => [ 'shape' => 'Data', ], 'input' => [ 'shape' => 'FunctionInput', ], 'startToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'LambdaFunctionStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', ], 'members' => [ 'scheduledEventId' => [ 'shape' => 'EventId', ], ], ], 'LambdaFunctionTimedOutEventAttributes' => [ 'type' => 'structure', 'required' => [ 'scheduledEventId', 'startedEventId', ], 'members' => [ 'scheduledEventId' => [ 'shape' => 'EventId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'timeoutType' => [ 'shape' => 'LambdaFunctionTimeoutType', ], ], ], 'LambdaFunctionTimeoutType' => [ 'type' => 'string', 'enum' => [ 'START_TO_CLOSE', ], ], 'LimitExceededFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LimitedData' => [ 'type' => 'string', 'max' => 2048, ], 'ListActivityTypesInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'registrationStatus', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'name' => [ 'shape' => 'Name', ], 'registrationStatus' => [ 'shape' => 'RegistrationStatus', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'ListClosedWorkflowExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'domain', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'startTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'closeTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'executionFilter' => [ 'shape' => 'WorkflowExecutionFilter', ], 'closeStatusFilter' => [ 'shape' => 'CloseStatusFilter', ], 'typeFilter' => [ 'shape' => 'WorkflowTypeFilter', ], 'tagFilter' => [ 'shape' => 'TagFilter', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'ListDomainsInput' => [ 'type' => 'structure', 'required' => [ 'registrationStatus', ], 'members' => [ 'nextPageToken' => [ 'shape' => 'PageToken', ], 'registrationStatus' => [ 'shape' => 'RegistrationStatus', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'ListOpenWorkflowExecutionsInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'startTimeFilter', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'startTimeFilter' => [ 'shape' => 'ExecutionTimeFilter', ], 'typeFilter' => [ 'shape' => 'WorkflowTypeFilter', ], 'tagFilter' => [ 'shape' => 'TagFilter', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], 'executionFilter' => [ 'shape' => 'WorkflowExecutionFilter', ], ], ], 'ListWorkflowTypesInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'registrationStatus', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'name' => [ 'shape' => 'Name', ], 'registrationStatus' => [ 'shape' => 'RegistrationStatus', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'MarkerName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'MarkerRecordedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'markerName', 'decisionTaskCompletedEventId', ], 'members' => [ 'markerName' => [ 'shape' => 'MarkerName', ], 'details' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'Name' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'OpenDecisionTasksCount' => [ 'type' => 'integer', 'max' => 1, 'min' => 0, ], 'OperationNotPermittedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'PageSize' => [ 'type' => 'integer', 'max' => 1000, 'min' => 0, ], 'PageToken' => [ 'type' => 'string', 'max' => 2048, ], 'PendingTaskCount' => [ 'type' => 'structure', 'required' => [ 'count', ], 'members' => [ 'count' => [ 'shape' => 'Count', ], 'truncated' => [ 'shape' => 'Truncated', ], ], ], 'PollForActivityTaskInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'taskList', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'taskList' => [ 'shape' => 'TaskList', ], 'identity' => [ 'shape' => 'Identity', ], ], ], 'PollForDecisionTaskInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'taskList', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'taskList' => [ 'shape' => 'TaskList', ], 'identity' => [ 'shape' => 'Identity', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], 'maximumPageSize' => [ 'shape' => 'PageSize', ], 'reverseOrder' => [ 'shape' => 'ReverseOrder', ], ], ], 'RecordActivityTaskHeartbeatInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'details' => [ 'shape' => 'LimitedData', ], ], ], 'RecordMarkerDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'markerName', ], 'members' => [ 'markerName' => [ 'shape' => 'MarkerName', ], 'details' => [ 'shape' => 'Data', ], ], ], 'RecordMarkerFailedCause' => [ 'type' => 'string', 'enum' => [ 'OPERATION_NOT_PERMITTED', ], ], 'RecordMarkerFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'markerName', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'markerName' => [ 'shape' => 'MarkerName', ], 'cause' => [ 'shape' => 'RecordMarkerFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'RegisterActivityTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'name', 'version', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'description' => [ 'shape' => 'Description', ], 'defaultTaskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskHeartbeatTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskList' => [ 'shape' => 'TaskList', ], 'defaultTaskPriority' => [ 'shape' => 'TaskPriority', ], 'defaultTaskScheduleToStartTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskScheduleToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'RegisterDomainInput' => [ 'type' => 'structure', 'required' => [ 'name', 'workflowExecutionRetentionPeriodInDays', ], 'members' => [ 'name' => [ 'shape' => 'DomainName', ], 'description' => [ 'shape' => 'Description', ], 'workflowExecutionRetentionPeriodInDays' => [ 'shape' => 'DurationInDays', ], ], ], 'RegisterWorkflowTypeInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'name', 'version', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], 'description' => [ 'shape' => 'Description', ], 'defaultTaskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultExecutionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskList' => [ 'shape' => 'TaskList', ], 'defaultTaskPriority' => [ 'shape' => 'TaskPriority', ], 'defaultChildPolicy' => [ 'shape' => 'ChildPolicy', ], 'defaultLambdaRole' => [ 'shape' => 'Arn', ], ], ], 'RegistrationStatus' => [ 'type' => 'string', 'enum' => [ 'REGISTERED', 'DEPRECATED', ], ], 'RequestCancelActivityTaskDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'activityId', ], 'members' => [ 'activityId' => [ 'shape' => 'ActivityId', ], ], ], 'RequestCancelActivityTaskFailedCause' => [ 'type' => 'string', 'enum' => [ 'ACTIVITY_ID_UNKNOWN', 'OPERATION_NOT_PERMITTED', ], ], 'RequestCancelActivityTaskFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'activityId', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'activityId' => [ 'shape' => 'ActivityId', ], 'cause' => [ 'shape' => 'RequestCancelActivityTaskFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'RequestCancelExternalWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'control' => [ 'shape' => 'Data', ], ], ], 'RequestCancelExternalWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION', 'REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED', 'OPERATION_NOT_PERMITTED', ], ], 'RequestCancelExternalWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'cause', 'initiatedEventId', 'decisionTaskCompletedEventId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'cause' => [ 'shape' => 'RequestCancelExternalWorkflowExecutionFailedCause', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'control' => [ 'shape' => 'Data', ], ], ], 'RequestCancelExternalWorkflowExecutionInitiatedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'decisionTaskCompletedEventId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'control' => [ 'shape' => 'Data', ], ], ], 'RequestCancelWorkflowExecutionInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowId', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], ], ], 'RespondActivityTaskCanceledInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'details' => [ 'shape' => 'Data', ], ], ], 'RespondActivityTaskCompletedInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'result' => [ 'shape' => 'Data', ], ], ], 'RespondActivityTaskFailedInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], ], ], 'RespondDecisionTaskCompletedInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'decisions' => [ 'shape' => 'DecisionList', ], 'executionContext' => [ 'shape' => 'Data', ], ], ], 'ReverseOrder' => [ 'type' => 'boolean', ], 'Run' => [ 'type' => 'structure', 'members' => [ 'runId' => [ 'shape' => 'WorkflowRunId', ], ], ], 'ScheduleActivityTaskDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'activityType', 'activityId', ], 'members' => [ 'activityType' => [ 'shape' => 'ActivityType', ], 'activityId' => [ 'shape' => 'ActivityId', ], 'control' => [ 'shape' => 'Data', ], 'input' => [ 'shape' => 'Data', ], 'scheduleToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'scheduleToStartTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'startToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'heartbeatTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'ScheduleActivityTaskFailedCause' => [ 'type' => 'string', 'enum' => [ 'ACTIVITY_TYPE_DEPRECATED', 'ACTIVITY_TYPE_DOES_NOT_EXIST', 'ACTIVITY_ID_ALREADY_IN_USE', 'OPEN_ACTIVITIES_LIMIT_EXCEEDED', 'ACTIVITY_CREATION_RATE_EXCEEDED', 'DEFAULT_SCHEDULE_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_TASK_LIST_UNDEFINED', 'DEFAULT_SCHEDULE_TO_START_TIMEOUT_UNDEFINED', 'DEFAULT_START_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_HEARTBEAT_TIMEOUT_UNDEFINED', 'OPERATION_NOT_PERMITTED', ], ], 'ScheduleActivityTaskFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'activityType', 'activityId', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'activityType' => [ 'shape' => 'ActivityType', ], 'activityId' => [ 'shape' => 'ActivityId', ], 'cause' => [ 'shape' => 'ScheduleActivityTaskFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'ScheduleLambdaFunctionDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'id', 'name', ], 'members' => [ 'id' => [ 'shape' => 'FunctionId', ], 'name' => [ 'shape' => 'FunctionName', ], 'control' => [ 'shape' => 'Data', ], 'input' => [ 'shape' => 'FunctionInput', ], 'startToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], ], ], 'ScheduleLambdaFunctionFailedCause' => [ 'type' => 'string', 'enum' => [ 'ID_ALREADY_IN_USE', 'OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED', 'LAMBDA_FUNCTION_CREATION_RATE_EXCEEDED', 'LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION', ], ], 'ScheduleLambdaFunctionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'id', 'name', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'id' => [ 'shape' => 'FunctionId', ], 'name' => [ 'shape' => 'FunctionName', ], 'cause' => [ 'shape' => 'ScheduleLambdaFunctionFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'SignalExternalWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'signalName', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'signalName' => [ 'shape' => 'SignalName', ], 'input' => [ 'shape' => 'Data', ], 'control' => [ 'shape' => 'Data', ], ], ], 'SignalExternalWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION', 'SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED', 'OPERATION_NOT_PERMITTED', ], ], 'SignalExternalWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'cause', 'initiatedEventId', 'decisionTaskCompletedEventId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'cause' => [ 'shape' => 'SignalExternalWorkflowExecutionFailedCause', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'control' => [ 'shape' => 'Data', ], ], ], 'SignalExternalWorkflowExecutionInitiatedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'signalName', 'decisionTaskCompletedEventId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'signalName' => [ 'shape' => 'SignalName', ], 'input' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'control' => [ 'shape' => 'Data', ], ], ], 'SignalName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'SignalWorkflowExecutionInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowId', 'signalName', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'signalName' => [ 'shape' => 'SignalName', ], 'input' => [ 'shape' => 'Data', ], ], ], 'StartChildWorkflowExecutionDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowType', 'workflowId', ], 'members' => [ 'workflowType' => [ 'shape' => 'WorkflowType', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'control' => [ 'shape' => 'Data', ], 'input' => [ 'shape' => 'Data', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'tagList' => [ 'shape' => 'TagList', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'StartChildWorkflowExecutionFailedCause' => [ 'type' => 'string', 'enum' => [ 'WORKFLOW_TYPE_DOES_NOT_EXIST', 'WORKFLOW_TYPE_DEPRECATED', 'OPEN_CHILDREN_LIMIT_EXCEEDED', 'OPEN_WORKFLOWS_LIMIT_EXCEEDED', 'CHILD_CREATION_RATE_EXCEEDED', 'WORKFLOW_ALREADY_RUNNING', 'DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_TASK_LIST_UNDEFINED', 'DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED', 'DEFAULT_CHILD_POLICY_UNDEFINED', 'OPERATION_NOT_PERMITTED', ], ], 'StartChildWorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowType', 'cause', 'workflowId', 'initiatedEventId', 'decisionTaskCompletedEventId', ], 'members' => [ 'workflowType' => [ 'shape' => 'WorkflowType', ], 'cause' => [ 'shape' => 'StartChildWorkflowExecutionFailedCause', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'initiatedEventId' => [ 'shape' => 'EventId', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'control' => [ 'shape' => 'Data', ], ], ], 'StartChildWorkflowExecutionInitiatedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'workflowType', 'taskList', 'decisionTaskCompletedEventId', 'childPolicy', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'control' => [ 'shape' => 'Data', ], 'input' => [ 'shape' => 'Data', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'tagList' => [ 'shape' => 'TagList', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'StartLambdaFunctionFailedCause' => [ 'type' => 'string', 'enum' => [ 'ASSUME_ROLE_FAILED', ], ], 'StartLambdaFunctionFailedEventAttributes' => [ 'type' => 'structure', 'members' => [ 'scheduledEventId' => [ 'shape' => 'EventId', ], 'cause' => [ 'shape' => 'StartLambdaFunctionFailedCause', ], 'message' => [ 'shape' => 'CauseMessage', ], ], ], 'StartTimerDecisionAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'startToFireTimeout', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'control' => [ 'shape' => 'Data', ], 'startToFireTimeout' => [ 'shape' => 'DurationInSeconds', ], ], ], 'StartTimerFailedCause' => [ 'type' => 'string', 'enum' => [ 'TIMER_ID_ALREADY_IN_USE', 'OPEN_TIMERS_LIMIT_EXCEEDED', 'TIMER_CREATION_RATE_EXCEEDED', 'OPERATION_NOT_PERMITTED', ], ], 'StartTimerFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'cause', 'decisionTaskCompletedEventId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'cause' => [ 'shape' => 'StartTimerFailedCause', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'StartWorkflowExecutionInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowId', 'workflowType', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'input' => [ 'shape' => 'Data', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'tagList' => [ 'shape' => 'TagList', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'Tag' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'TagFilter' => [ 'type' => 'structure', 'required' => [ 'tag', ], 'members' => [ 'tag' => [ 'shape' => 'Tag', ], ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 5, ], 'TaskList' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], ], ], 'TaskPriority' => [ 'type' => 'string', ], 'TaskToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'TerminateReason' => [ 'type' => 'string', 'max' => 256, ], 'TerminateWorkflowExecutionInput' => [ 'type' => 'structure', 'required' => [ 'domain', 'workflowId', ], 'members' => [ 'domain' => [ 'shape' => 'DomainName', ], 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'reason' => [ 'shape' => 'TerminateReason', ], 'details' => [ 'shape' => 'Data', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], ], ], 'TimerCanceledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'startedEventId', 'decisionTaskCompletedEventId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'startedEventId' => [ 'shape' => 'EventId', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'TimerFiredEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'startedEventId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'startedEventId' => [ 'shape' => 'EventId', ], ], ], 'TimerId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'TimerStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timerId', 'startToFireTimeout', 'decisionTaskCompletedEventId', ], 'members' => [ 'timerId' => [ 'shape' => 'TimerId', ], 'control' => [ 'shape' => 'Data', ], 'startToFireTimeout' => [ 'shape' => 'DurationInSeconds', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Truncated' => [ 'type' => 'boolean', ], 'TypeAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TypeDeprecatedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UnknownResourceFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Version' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'VersionOptional' => [ 'type' => 'string', 'max' => 64, ], 'WorkflowExecution' => [ 'type' => 'structure', 'required' => [ 'workflowId', 'runId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], 'runId' => [ 'shape' => 'WorkflowRunId', ], ], ], 'WorkflowExecutionAlreadyStartedFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'WorkflowExecutionCancelRequestedCause' => [ 'type' => 'string', 'enum' => [ 'CHILD_POLICY_APPLIED', ], ], 'WorkflowExecutionCancelRequestedEventAttributes' => [ 'type' => 'structure', 'members' => [ 'externalWorkflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'externalInitiatedEventId' => [ 'shape' => 'EventId', ], 'cause' => [ 'shape' => 'WorkflowExecutionCancelRequestedCause', ], ], ], 'WorkflowExecutionCanceledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'decisionTaskCompletedEventId', ], 'members' => [ 'details' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'WorkflowExecutionCompletedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'decisionTaskCompletedEventId', ], 'members' => [ 'result' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'WorkflowExecutionConfiguration' => [ 'type' => 'structure', 'required' => [ 'taskStartToCloseTimeout', 'executionStartToCloseTimeout', 'taskList', 'childPolicy', ], 'members' => [ 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSeconds', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSeconds', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'WorkflowExecutionContinuedAsNewEventAttributes' => [ 'type' => 'structure', 'required' => [ 'decisionTaskCompletedEventId', 'newExecutionRunId', 'taskList', 'childPolicy', 'workflowType', ], 'members' => [ 'input' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], 'newExecutionRunId' => [ 'shape' => 'WorkflowRunId', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'tagList' => [ 'shape' => 'TagList', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'WorkflowExecutionCount' => [ 'type' => 'structure', 'required' => [ 'count', ], 'members' => [ 'count' => [ 'shape' => 'Count', ], 'truncated' => [ 'shape' => 'Truncated', ], ], ], 'WorkflowExecutionDetail' => [ 'type' => 'structure', 'required' => [ 'executionInfo', 'executionConfiguration', 'openCounts', ], 'members' => [ 'executionInfo' => [ 'shape' => 'WorkflowExecutionInfo', ], 'executionConfiguration' => [ 'shape' => 'WorkflowExecutionConfiguration', ], 'openCounts' => [ 'shape' => 'WorkflowExecutionOpenCounts', ], 'latestActivityTaskTimestamp' => [ 'shape' => 'Timestamp', ], 'latestExecutionContext' => [ 'shape' => 'Data', ], ], ], 'WorkflowExecutionFailedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'decisionTaskCompletedEventId', ], 'members' => [ 'reason' => [ 'shape' => 'FailureReason', ], 'details' => [ 'shape' => 'Data', ], 'decisionTaskCompletedEventId' => [ 'shape' => 'EventId', ], ], ], 'WorkflowExecutionFilter' => [ 'type' => 'structure', 'required' => [ 'workflowId', ], 'members' => [ 'workflowId' => [ 'shape' => 'WorkflowId', ], ], ], 'WorkflowExecutionInfo' => [ 'type' => 'structure', 'required' => [ 'execution', 'workflowType', 'startTimestamp', 'executionStatus', ], 'members' => [ 'execution' => [ 'shape' => 'WorkflowExecution', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'startTimestamp' => [ 'shape' => 'Timestamp', ], 'closeTimestamp' => [ 'shape' => 'Timestamp', ], 'executionStatus' => [ 'shape' => 'ExecutionStatus', ], 'closeStatus' => [ 'shape' => 'CloseStatus', ], 'parent' => [ 'shape' => 'WorkflowExecution', ], 'tagList' => [ 'shape' => 'TagList', ], 'cancelRequested' => [ 'shape' => 'Canceled', ], ], ], 'WorkflowExecutionInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkflowExecutionInfo', ], ], 'WorkflowExecutionInfos' => [ 'type' => 'structure', 'required' => [ 'executionInfos', ], 'members' => [ 'executionInfos' => [ 'shape' => 'WorkflowExecutionInfoList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], ], ], 'WorkflowExecutionOpenCounts' => [ 'type' => 'structure', 'required' => [ 'openActivityTasks', 'openDecisionTasks', 'openTimers', 'openChildWorkflowExecutions', ], 'members' => [ 'openActivityTasks' => [ 'shape' => 'Count', ], 'openDecisionTasks' => [ 'shape' => 'OpenDecisionTasksCount', ], 'openTimers' => [ 'shape' => 'Count', ], 'openChildWorkflowExecutions' => [ 'shape' => 'Count', ], 'openLambdaFunctions' => [ 'shape' => 'Count', ], ], ], 'WorkflowExecutionSignaledEventAttributes' => [ 'type' => 'structure', 'required' => [ 'signalName', ], 'members' => [ 'signalName' => [ 'shape' => 'SignalName', ], 'input' => [ 'shape' => 'Data', ], 'externalWorkflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'externalInitiatedEventId' => [ 'shape' => 'EventId', ], ], ], 'WorkflowExecutionStartedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'childPolicy', 'taskList', 'workflowType', ], 'members' => [ 'input' => [ 'shape' => 'Data', ], 'executionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'taskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'taskList' => [ 'shape' => 'TaskList', ], 'taskPriority' => [ 'shape' => 'TaskPriority', ], 'workflowType' => [ 'shape' => 'WorkflowType', ], 'tagList' => [ 'shape' => 'TagList', ], 'continuedExecutionRunId' => [ 'shape' => 'WorkflowRunIdOptional', ], 'parentWorkflowExecution' => [ 'shape' => 'WorkflowExecution', ], 'parentInitiatedEventId' => [ 'shape' => 'EventId', ], 'lambdaRole' => [ 'shape' => 'Arn', ], ], ], 'WorkflowExecutionTerminatedCause' => [ 'type' => 'string', 'enum' => [ 'CHILD_POLICY_APPLIED', 'EVENT_LIMIT_EXCEEDED', 'OPERATOR_INITIATED', ], ], 'WorkflowExecutionTerminatedEventAttributes' => [ 'type' => 'structure', 'required' => [ 'childPolicy', ], 'members' => [ 'reason' => [ 'shape' => 'TerminateReason', ], 'details' => [ 'shape' => 'Data', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], 'cause' => [ 'shape' => 'WorkflowExecutionTerminatedCause', ], ], ], 'WorkflowExecutionTimedOutEventAttributes' => [ 'type' => 'structure', 'required' => [ 'timeoutType', 'childPolicy', ], 'members' => [ 'timeoutType' => [ 'shape' => 'WorkflowExecutionTimeoutType', ], 'childPolicy' => [ 'shape' => 'ChildPolicy', ], ], ], 'WorkflowExecutionTimeoutType' => [ 'type' => 'string', 'enum' => [ 'START_TO_CLOSE', ], ], 'WorkflowId' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'WorkflowRunId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'WorkflowRunIdOptional' => [ 'type' => 'string', 'max' => 64, ], 'WorkflowType' => [ 'type' => 'structure', 'required' => [ 'name', 'version', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'Version', ], ], ], 'WorkflowTypeConfiguration' => [ 'type' => 'structure', 'members' => [ 'defaultTaskStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultExecutionStartToCloseTimeout' => [ 'shape' => 'DurationInSecondsOptional', ], 'defaultTaskList' => [ 'shape' => 'TaskList', ], 'defaultTaskPriority' => [ 'shape' => 'TaskPriority', ], 'defaultChildPolicy' => [ 'shape' => 'ChildPolicy', ], 'defaultLambdaRole' => [ 'shape' => 'Arn', ], ], ], 'WorkflowTypeDetail' => [ 'type' => 'structure', 'required' => [ 'typeInfo', 'configuration', ], 'members' => [ 'typeInfo' => [ 'shape' => 'WorkflowTypeInfo', ], 'configuration' => [ 'shape' => 'WorkflowTypeConfiguration', ], ], ], 'WorkflowTypeFilter' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'version' => [ 'shape' => 'VersionOptional', ], ], ], 'WorkflowTypeInfo' => [ 'type' => 'structure', 'required' => [ 'workflowType', 'status', 'creationDate', ], 'members' => [ 'workflowType' => [ 'shape' => 'WorkflowType', ], 'status' => [ 'shape' => 'RegistrationStatus', ], 'description' => [ 'shape' => 'Description', ], 'creationDate' => [ 'shape' => 'Timestamp', ], 'deprecationDate' => [ 'shape' => 'Timestamp', ], ], ], 'WorkflowTypeInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkflowTypeInfo', ], ], 'WorkflowTypeInfos' => [ 'type' => 'structure', 'required' => [ 'typeInfos', ], 'members' => [ 'typeInfos' => [ 'shape' => 'WorkflowTypeInfoList', ], 'nextPageToken' => [ 'shape' => 'PageToken', ], ], ], ],]; diff --git a/lib/aws/Aws/data/swf/2012-01-25/paginators-1.json.php b/lib/aws/Aws/data/swf/2012-01-25/paginators-1.json.php new file mode 100644 index 0000000..3317240 --- /dev/null +++ b/lib/aws/Aws/data/swf/2012-01-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/swf/2012-01-25/paginators-1.json +return [ 'pagination' => [ 'GetWorkflowExecutionHistory' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'events', ], 'ListActivityTypes' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'typeInfos', ], 'ListClosedWorkflowExecutions' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'executionInfos', ], 'ListDomains' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'domainInfos', ], 'ListOpenWorkflowExecutions' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'executionInfos', ], 'ListWorkflowTypes' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'typeInfos', ], 'PollForDecisionTask' => [ 'input_token' => 'nextPageToken', 'limit_key' => 'maximumPageSize', 'output_token' => 'nextPageToken', 'result_key' => 'events', ], ],]; diff --git a/lib/aws/Aws/data/textract/2018-06-27/api-2.json.php b/lib/aws/Aws/data/textract/2018-06-27/api-2.json.php new file mode 100644 index 0000000..ed0a2ab --- /dev/null +++ b/lib/aws/Aws/data/textract/2018-06-27/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/textract/2018-06-27/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-06-27', 'endpointPrefix' => 'textract', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Textract', 'serviceId' => 'Textract', 'signatureVersion' => 'v4', 'targetPrefix' => 'Textract', 'uid' => 'textract-2018-06-27', ], 'operations' => [ 'AnalyzeDocument' => [ 'name' => 'AnalyzeDocument', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AnalyzeDocumentRequest', ], 'output' => [ 'shape' => 'AnalyzeDocumentResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'UnsupportedDocumentException', ], [ 'shape' => 'DocumentTooLargeException', ], [ 'shape' => 'BadDocumentException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DetectDocumentText' => [ 'name' => 'DetectDocumentText', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DetectDocumentTextRequest', ], 'output' => [ 'shape' => 'DetectDocumentTextResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'UnsupportedDocumentException', ], [ 'shape' => 'DocumentTooLargeException', ], [ 'shape' => 'BadDocumentException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetDocumentAnalysis' => [ 'name' => 'GetDocumentAnalysis', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDocumentAnalysisRequest', ], 'output' => [ 'shape' => 'GetDocumentAnalysisResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidJobIdException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], ], ], 'GetDocumentTextDetection' => [ 'name' => 'GetDocumentTextDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetDocumentTextDetectionRequest', ], 'output' => [ 'shape' => 'GetDocumentTextDetectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InvalidJobIdException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ThrottlingException', ], ], ], 'StartDocumentAnalysis' => [ 'name' => 'StartDocumentAnalysis', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDocumentAnalysisRequest', ], 'output' => [ 'shape' => 'StartDocumentAnalysisResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'UnsupportedDocumentException', ], [ 'shape' => 'DocumentTooLargeException', ], [ 'shape' => 'BadDocumentException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'StartDocumentTextDetection' => [ 'name' => 'StartDocumentTextDetection', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDocumentTextDetectionRequest', ], 'output' => [ 'shape' => 'StartDocumentTextDetectionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidS3ObjectException', ], [ 'shape' => 'UnsupportedDocumentException', ], [ 'shape' => 'DocumentTooLargeException', ], [ 'shape' => 'BadDocumentException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'IdempotentParameterMismatchException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'LimitExceededException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'AnalyzeDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Document', 'FeatureTypes', ], 'members' => [ 'Document' => [ 'shape' => 'Document', ], 'FeatureTypes' => [ 'shape' => 'FeatureTypes', ], ], ], 'AnalyzeDocumentResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentMetadata' => [ 'shape' => 'DocumentMetadata', ], 'Blocks' => [ 'shape' => 'BlockList', ], ], ], 'BadDocumentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Block' => [ 'type' => 'structure', 'members' => [ 'BlockType' => [ 'shape' => 'BlockType', ], 'Confidence' => [ 'shape' => 'Percent', ], 'Text' => [ 'shape' => 'String', ], 'RowIndex' => [ 'shape' => 'UInteger', ], 'ColumnIndex' => [ 'shape' => 'UInteger', ], 'RowSpan' => [ 'shape' => 'UInteger', ], 'ColumnSpan' => [ 'shape' => 'UInteger', ], 'Geometry' => [ 'shape' => 'Geometry', ], 'Id' => [ 'shape' => 'NonEmptyString', ], 'Relationships' => [ 'shape' => 'RelationshipList', ], 'EntityTypes' => [ 'shape' => 'EntityTypes', ], 'Page' => [ 'shape' => 'UInteger', ], ], ], 'BlockList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Block', ], ], 'BlockType' => [ 'type' => 'string', 'enum' => [ 'KEY_VALUE_SET', 'PAGE', 'LINE', 'WORD', 'TABLE', 'CELL', ], ], 'BoundingBox' => [ 'type' => 'structure', 'members' => [ 'Width' => [ 'shape' => 'Float', ], 'Height' => [ 'shape' => 'Float', ], 'Left' => [ 'shape' => 'Float', ], 'Top' => [ 'shape' => 'Float', ], ], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-_]+$', ], 'DetectDocumentTextRequest' => [ 'type' => 'structure', 'required' => [ 'Document', ], 'members' => [ 'Document' => [ 'shape' => 'Document', ], ], ], 'DetectDocumentTextResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentMetadata' => [ 'shape' => 'DocumentMetadata', ], 'Blocks' => [ 'shape' => 'BlockList', ], ], ], 'Document' => [ 'type' => 'structure', 'members' => [ 'Bytes' => [ 'shape' => 'ImageBlob', ], 'S3Object' => [ 'shape' => 'S3Object', ], ], ], 'DocumentLocation' => [ 'type' => 'structure', 'members' => [ 'S3Object' => [ 'shape' => 'S3Object', ], ], ], 'DocumentMetadata' => [ 'type' => 'structure', 'members' => [ 'Pages' => [ 'shape' => 'UInteger', ], ], ], 'DocumentTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'EntityType' => [ 'type' => 'string', 'enum' => [ 'KEY', 'VALUE', ], ], 'EntityTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityType', ], ], 'ErrorCode' => [ 'type' => 'string', ], 'FeatureType' => [ 'type' => 'string', 'enum' => [ 'TABLES', 'FORMS', ], ], 'FeatureTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'FeatureType', ], ], 'Float' => [ 'type' => 'float', ], 'Geometry' => [ 'type' => 'structure', 'members' => [ 'BoundingBox' => [ 'shape' => 'BoundingBox', ], 'Polygon' => [ 'shape' => 'Polygon', ], ], ], 'GetDocumentAnalysisRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetDocumentAnalysisResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentMetadata' => [ 'shape' => 'DocumentMetadata', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Blocks' => [ 'shape' => 'BlockList', ], 'Warnings' => [ 'shape' => 'Warnings', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], ], ], 'GetDocumentTextDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'JobId', ], 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'GetDocumentTextDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentMetadata' => [ 'shape' => 'DocumentMetadata', ], 'JobStatus' => [ 'shape' => 'JobStatus', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'Blocks' => [ 'shape' => 'BlockList', ], 'Warnings' => [ 'shape' => 'Warnings', ], 'StatusMessage' => [ 'shape' => 'StatusMessage', ], ], ], 'IdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'IdempotentParameterMismatchException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ImageBlob' => [ 'type' => 'blob', 'max' => 5242880, 'min' => 1, ], 'InternalServerError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'InvalidJobIdException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidS3ObjectException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'JobId' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-_]+$', ], 'JobStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', 'PARTIAL_SUCCESS', ], ], 'JobTag' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[a-zA-Z0-9_.\\-:]+', ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'NonEmptyString' => [ 'type' => 'string', 'pattern' => '.*\\S.*', ], 'NotificationChannel' => [ 'type' => 'structure', 'required' => [ 'SNSTopicArn', 'RoleArn', ], 'members' => [ 'SNSTopicArn' => [ 'shape' => 'SNSTopicArn', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], 'Pages' => [ 'type' => 'list', 'member' => [ 'shape' => 'UInteger', ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '.*\\S.*', ], 'Percent' => [ 'type' => 'float', 'max' => 100, 'min' => 0, ], 'Point' => [ 'type' => 'structure', 'members' => [ 'X' => [ 'shape' => 'Float', ], 'Y' => [ 'shape' => 'Float', ], ], ], 'Polygon' => [ 'type' => 'list', 'member' => [ 'shape' => 'Point', ], ], 'ProvisionedThroughputExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Relationship' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'RelationshipType', ], 'Ids' => [ 'shape' => 'IdList', ], ], ], 'RelationshipList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Relationship', ], ], 'RelationshipType' => [ 'type' => 'string', 'enum' => [ 'VALUE', 'CHILD', ], ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => 'arn:([a-z\\d-]+):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+', ], 'S3Bucket' => [ 'type' => 'string', 'max' => 255, 'min' => 3, 'pattern' => '[0-9A-Za-z\\.\\-_]*', ], 'S3Object' => [ 'type' => 'structure', 'members' => [ 'Bucket' => [ 'shape' => 'S3Bucket', ], 'Name' => [ 'shape' => 'S3ObjectName', ], 'Version' => [ 'shape' => 'S3ObjectVersion', ], ], ], 'S3ObjectName' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '.*\\S.*', ], 'S3ObjectVersion' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '.*\\S.*', ], 'SNSTopicArn' => [ 'type' => 'string', 'max' => 1024, 'min' => 20, 'pattern' => '(^arn:([a-z\\d-]+):sns:[a-zA-Z\\d-]{1,20}:\\w{12}:.+$)', ], 'StartDocumentAnalysisRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentLocation', 'FeatureTypes', ], 'members' => [ 'DocumentLocation' => [ 'shape' => 'DocumentLocation', ], 'FeatureTypes' => [ 'shape' => 'FeatureTypes', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'JobTag' => [ 'shape' => 'JobTag', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], ], ], 'StartDocumentAnalysisResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StartDocumentTextDetectionRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentLocation', ], 'members' => [ 'DocumentLocation' => [ 'shape' => 'DocumentLocation', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'JobTag' => [ 'shape' => 'JobTag', ], 'NotificationChannel' => [ 'shape' => 'NotificationChannel', ], ], ], 'StartDocumentTextDetectionResponse' => [ 'type' => 'structure', 'members' => [ 'JobId' => [ 'shape' => 'JobId', ], ], ], 'StatusMessage' => [ 'type' => 'string', ], 'String' => [ 'type' => 'string', ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'fault' => true, ], 'UInteger' => [ 'type' => 'integer', 'min' => 0, ], 'UnsupportedDocumentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Warning' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => 'ErrorCode', ], 'Pages' => [ 'shape' => 'Pages', ], ], ], 'Warnings' => [ 'type' => 'list', 'member' => [ 'shape' => 'Warning', ], ], ],]; diff --git a/lib/aws/Aws/data/textract/2018-06-27/paginators-1.json.php b/lib/aws/Aws/data/textract/2018-06-27/paginators-1.json.php new file mode 100644 index 0000000..7fab5d4 --- /dev/null +++ b/lib/aws/Aws/data/textract/2018-06-27/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/textract/2018-06-27/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/transcribe/2017-10-26/api-2.json.php b/lib/aws/Aws/data/transcribe/2017-10-26/api-2.json.php new file mode 100644 index 0000000..9f9e9b9 --- /dev/null +++ b/lib/aws/Aws/data/transcribe/2017-10-26/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/transcribe/2017-10-26/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-26', 'endpointPrefix' => 'transcribe', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Transcribe Service', 'serviceId' => 'Transcribe', 'signatureVersion' => 'v4', 'signingName' => 'transcribe', 'targetPrefix' => 'Transcribe', 'uid' => 'transcribe-2017-10-26', ], 'operations' => [ 'CreateVocabulary' => [ 'name' => 'CreateVocabulary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateVocabularyRequest', ], 'output' => [ 'shape' => 'CreateVocabularyResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ConflictException', ], ], ], 'DeleteTranscriptionJob' => [ 'name' => 'DeleteTranscriptionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTranscriptionJobRequest', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'DeleteVocabulary' => [ 'name' => 'DeleteVocabulary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteVocabularyRequest', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'GetTranscriptionJob' => [ 'name' => 'GetTranscriptionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTranscriptionJobRequest', ], 'output' => [ 'shape' => 'GetTranscriptionJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], ], ], 'GetVocabulary' => [ 'name' => 'GetVocabulary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetVocabularyRequest', ], 'output' => [ 'shape' => 'GetVocabularyResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'BadRequestException', ], ], ], 'ListTranscriptionJobs' => [ 'name' => 'ListTranscriptionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTranscriptionJobsRequest', ], 'output' => [ 'shape' => 'ListTranscriptionJobsResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'ListVocabularies' => [ 'name' => 'ListVocabularies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListVocabulariesRequest', ], 'output' => [ 'shape' => 'ListVocabulariesResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], ], ], 'StartTranscriptionJob' => [ 'name' => 'StartTranscriptionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTranscriptionJobRequest', ], 'output' => [ 'shape' => 'StartTranscriptionJobResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'ConflictException', ], ], ], 'UpdateVocabulary' => [ 'name' => 'UpdateVocabulary', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateVocabularyRequest', ], 'output' => [ 'shape' => 'UpdateVocabularyResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'InternalFailureException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ConflictException', ], ], ], ], 'shapes' => [ 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'FailureReason', ], ], 'exception' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'CreateVocabularyRequest' => [ 'type' => 'structure', 'required' => [ 'VocabularyName', 'LanguageCode', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], 'VocabularyFileUri' => [ 'shape' => 'Uri', ], ], ], 'CreateVocabularyResponse' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'VocabularyState' => [ 'shape' => 'VocabularyState', ], 'LastModifiedTime' => [ 'shape' => 'DateTime', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteTranscriptionJobRequest' => [ 'type' => 'structure', 'required' => [ 'TranscriptionJobName', ], 'members' => [ 'TranscriptionJobName' => [ 'shape' => 'TranscriptionJobName', ], ], ], 'DeleteVocabularyRequest' => [ 'type' => 'structure', 'required' => [ 'VocabularyName', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], ], ], 'FailureReason' => [ 'type' => 'string', ], 'GetTranscriptionJobRequest' => [ 'type' => 'structure', 'required' => [ 'TranscriptionJobName', ], 'members' => [ 'TranscriptionJobName' => [ 'shape' => 'TranscriptionJobName', ], ], ], 'GetTranscriptionJobResponse' => [ 'type' => 'structure', 'members' => [ 'TranscriptionJob' => [ 'shape' => 'TranscriptionJob', ], ], ], 'GetVocabularyRequest' => [ 'type' => 'structure', 'required' => [ 'VocabularyName', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], ], ], 'GetVocabularyResponse' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'VocabularyState' => [ 'shape' => 'VocabularyState', ], 'LastModifiedTime' => [ 'shape' => 'DateTime', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'DownloadUri' => [ 'shape' => 'Uri', ], ], ], 'InternalFailureException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'LanguageCode' => [ 'type' => 'string', 'enum' => [ 'en-US', 'es-US', 'en-AU', 'fr-CA', 'en-GB', 'de-DE', 'pt-BR', 'fr-FR', 'it-IT', 'ko-KR', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListTranscriptionJobsRequest' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'TranscriptionJobStatus', ], 'JobNameContains' => [ 'shape' => 'TranscriptionJobName', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListTranscriptionJobsResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'TranscriptionJobStatus', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'TranscriptionJobSummaries' => [ 'shape' => 'TranscriptionJobSummaries', ], ], ], 'ListVocabulariesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'StateEquals' => [ 'shape' => 'VocabularyState', ], 'NameContains' => [ 'shape' => 'VocabularyName', ], ], ], 'ListVocabulariesResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'TranscriptionJobStatus', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Vocabularies' => [ 'shape' => 'Vocabularies', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxSpeakers' => [ 'type' => 'integer', 'max' => 10, 'min' => 2, ], 'Media' => [ 'type' => 'structure', 'members' => [ 'MediaFileUri' => [ 'shape' => 'Uri', ], ], ], 'MediaFormat' => [ 'type' => 'string', 'enum' => [ 'mp3', 'mp4', 'wav', 'flac', ], ], 'MediaSampleRateHertz' => [ 'type' => 'integer', 'max' => 48000, 'min' => 8000, ], 'NextToken' => [ 'type' => 'string', 'max' => 8192, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'OutputBucketName' => [ 'type' => 'string', 'pattern' => '[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]', ], 'OutputLocationType' => [ 'type' => 'string', 'enum' => [ 'CUSTOMER_BUCKET', 'SERVICE_BUCKET', ], ], 'Phrase' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'Phrases' => [ 'type' => 'list', 'member' => [ 'shape' => 'Phrase', ], ], 'Settings' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'ShowSpeakerLabels' => [ 'shape' => 'Boolean', ], 'MaxSpeakerLabels' => [ 'shape' => 'MaxSpeakers', ], 'ChannelIdentification' => [ 'shape' => 'Boolean', ], ], ], 'StartTranscriptionJobRequest' => [ 'type' => 'structure', 'required' => [ 'TranscriptionJobName', 'LanguageCode', 'MediaFormat', 'Media', ], 'members' => [ 'TranscriptionJobName' => [ 'shape' => 'TranscriptionJobName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'MediaSampleRateHertz' => [ 'shape' => 'MediaSampleRateHertz', ], 'MediaFormat' => [ 'shape' => 'MediaFormat', ], 'Media' => [ 'shape' => 'Media', ], 'OutputBucketName' => [ 'shape' => 'OutputBucketName', ], 'Settings' => [ 'shape' => 'Settings', ], ], ], 'StartTranscriptionJobResponse' => [ 'type' => 'structure', 'members' => [ 'TranscriptionJob' => [ 'shape' => 'TranscriptionJob', ], ], ], 'String' => [ 'type' => 'string', ], 'Transcript' => [ 'type' => 'structure', 'members' => [ 'TranscriptFileUri' => [ 'shape' => 'Uri', ], ], ], 'TranscriptionJob' => [ 'type' => 'structure', 'members' => [ 'TranscriptionJobName' => [ 'shape' => 'TranscriptionJobName', ], 'TranscriptionJobStatus' => [ 'shape' => 'TranscriptionJobStatus', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'MediaSampleRateHertz' => [ 'shape' => 'MediaSampleRateHertz', ], 'MediaFormat' => [ 'shape' => 'MediaFormat', ], 'Media' => [ 'shape' => 'Media', ], 'Transcript' => [ 'shape' => 'Transcript', ], 'CreationTime' => [ 'shape' => 'DateTime', ], 'CompletionTime' => [ 'shape' => 'DateTime', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'Settings' => [ 'shape' => 'Settings', ], ], ], 'TranscriptionJobName' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '^[0-9a-zA-Z._-]+', ], 'TranscriptionJobStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'FAILED', 'COMPLETED', ], ], 'TranscriptionJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'TranscriptionJobSummary', ], ], 'TranscriptionJobSummary' => [ 'type' => 'structure', 'members' => [ 'TranscriptionJobName' => [ 'shape' => 'TranscriptionJobName', ], 'CreationTime' => [ 'shape' => 'DateTime', ], 'CompletionTime' => [ 'shape' => 'DateTime', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'TranscriptionJobStatus' => [ 'shape' => 'TranscriptionJobStatus', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], 'OutputLocationType' => [ 'shape' => 'OutputLocationType', ], ], ], 'UpdateVocabularyRequest' => [ 'type' => 'structure', 'required' => [ 'VocabularyName', 'LanguageCode', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], 'VocabularyFileUri' => [ 'shape' => 'Uri', ], ], ], 'UpdateVocabularyResponse' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'LastModifiedTime' => [ 'shape' => 'DateTime', ], 'VocabularyState' => [ 'shape' => 'VocabularyState', ], ], ], 'Uri' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], 'Vocabularies' => [ 'type' => 'list', 'member' => [ 'shape' => 'VocabularyInfo', ], ], 'VocabularyInfo' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'LastModifiedTime' => [ 'shape' => 'DateTime', ], 'VocabularyState' => [ 'shape' => 'VocabularyState', ], ], ], 'VocabularyName' => [ 'type' => 'string', 'max' => 200, 'min' => 1, 'pattern' => '^[0-9a-zA-Z._-]+', ], 'VocabularyState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'READY', 'FAILED', ], ], ],]; diff --git a/lib/aws/Aws/data/transcribe/2017-10-26/paginators-1.json.php b/lib/aws/Aws/data/transcribe/2017-10-26/paginators-1.json.php new file mode 100644 index 0000000..cfdf917 --- /dev/null +++ b/lib/aws/Aws/data/transcribe/2017-10-26/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/transcribe/2017-10-26/paginators-1.json +return [ 'pagination' => [ 'ListTranscriptionJobs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListVocabularies' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/transfer/2018-11-05/api-2.json.php b/lib/aws/Aws/data/transfer/2018-11-05/api-2.json.php new file mode 100644 index 0000000..04c4a43 --- /dev/null +++ b/lib/aws/Aws/data/transfer/2018-11-05/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/transfer/2018-11-05/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-11-05', 'endpointPrefix' => 'transfer', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS Transfer', 'serviceFullName' => 'AWS Transfer for SFTP', 'serviceId' => 'Transfer', 'signatureVersion' => 'v4', 'signingName' => 'transfer', 'targetPrefix' => 'TransferService', 'uid' => 'transfer-2018-11-05', ], 'operations' => [ 'CreateServer' => [ 'name' => 'CreateServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateServerRequest', ], 'output' => [ 'shape' => 'CreateServerResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteServer' => [ 'name' => 'DeleteServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteServerRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteSshPublicKey' => [ 'name' => 'DeleteSshPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSshPublicKeyRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeServer' => [ 'name' => 'DescribeServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeServerRequest', ], 'output' => [ 'shape' => 'DescribeServerResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeUser' => [ 'name' => 'DescribeUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserRequest', ], 'output' => [ 'shape' => 'DescribeUserResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ImportSshPublicKey' => [ 'name' => 'ImportSshPublicKey', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportSshPublicKeyRequest', ], 'output' => [ 'shape' => 'ImportSshPublicKeyResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListServers' => [ 'name' => 'ListServers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListServersRequest', ], 'output' => [ 'shape' => 'ListServersResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListTagsForResource' => [ 'name' => 'ListTagsForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsForResourceRequest', ], 'output' => [ 'shape' => 'ListTagsForResourceResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StartServer' => [ 'name' => 'StartServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartServerRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'StopServer' => [ 'name' => 'StopServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopServerRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'TestIdentityProvider' => [ 'name' => 'TestIdentityProvider', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestIdentityProviderRequest', ], 'output' => [ 'shape' => 'TestIdentityProviderResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UntagResource' => [ 'name' => 'UntagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UntagResourceRequest', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], ], ], 'UpdateServer' => [ 'name' => 'UpdateServer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateServerRequest', ], 'output' => [ 'shape' => 'UpdateServerResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'output' => [ 'shape' => 'UpdateUserResponse', ], 'errors' => [ [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InternalServiceError', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'Arn' => [ 'type' => 'string', 'max' => 1600, 'min' => 20, ], 'CreateServerRequest' => [ 'type' => 'structure', 'members' => [ 'EndpointDetails' => [ 'shape' => 'EndpointDetails', ], 'EndpointType' => [ 'shape' => 'EndpointType', ], 'IdentityProviderDetails' => [ 'shape' => 'IdentityProviderDetails', ], 'IdentityProviderType' => [ 'shape' => 'IdentityProviderType', ], 'LoggingRole' => [ 'shape' => 'Role', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'CreateServerResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'Role', 'ServerId', 'UserName', ], 'members' => [ 'HomeDirectory' => [ 'shape' => 'HomeDirectory', ], 'Policy' => [ 'shape' => 'Policy', ], 'Role' => [ 'shape' => 'Role', ], 'ServerId' => [ 'shape' => 'ServerId', ], 'SshPublicKeyBody' => [ 'shape' => 'SshPublicKeyBody', ], 'Tags' => [ 'shape' => 'Tags', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'DateImported' => [ 'type' => 'timestamp', ], 'DeleteServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'DeleteSshPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'SshPublicKeyId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'SshPublicKeyId' => [ 'shape' => 'SshPublicKeyId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'DescribeServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'DescribeServerResponse' => [ 'type' => 'structure', 'required' => [ 'Server', ], 'members' => [ 'Server' => [ 'shape' => 'DescribedServer', ], ], ], 'DescribeUserRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'DescribeUserResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'User', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'User' => [ 'shape' => 'DescribedUser', ], ], ], 'DescribedServer' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'EndpointDetails' => [ 'shape' => 'EndpointDetails', ], 'EndpointType' => [ 'shape' => 'EndpointType', ], 'IdentityProviderDetails' => [ 'shape' => 'IdentityProviderDetails', ], 'IdentityProviderType' => [ 'shape' => 'IdentityProviderType', ], 'LoggingRole' => [ 'shape' => 'Role', ], 'ServerId' => [ 'shape' => 'ServerId', ], 'State' => [ 'shape' => 'State', ], 'Tags' => [ 'shape' => 'Tags', ], 'UserCount' => [ 'shape' => 'UserCount', ], ], ], 'DescribedUser' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'HomeDirectory' => [ 'shape' => 'HomeDirectory', ], 'Policy' => [ 'shape' => 'Policy', ], 'Role' => [ 'shape' => 'Role', ], 'SshPublicKeys' => [ 'shape' => 'SshPublicKeys', ], 'Tags' => [ 'shape' => 'Tags', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'EndpointDetails' => [ 'type' => 'structure', 'members' => [ 'VpcEndpointId' => [ 'shape' => 'VpcEndpointId', ], ], ], 'EndpointType' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'VPC_ENDPOINT', ], ], 'HomeDirectory' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^$|/.*', ], 'IdentityProviderDetails' => [ 'type' => 'structure', 'members' => [ 'Url' => [ 'shape' => 'Url', ], 'InvocationRole' => [ 'shape' => 'Role', ], ], ], 'IdentityProviderType' => [ 'type' => 'string', 'enum' => [ 'SERVICE_MANAGED', 'API_GATEWAY', ], ], 'ImportSshPublicKeyRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'SshPublicKeyBody', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'SshPublicKeyBody' => [ 'shape' => 'SshPublicKeyBody', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'ImportSshPublicKeyResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'SshPublicKeyId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'SshPublicKeyId' => [ 'shape' => 'SshPublicKeyId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'InternalServiceError' => [ 'type' => 'structure', 'required' => [ 'Message', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, 'fault' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'required' => [ 'Message', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'required' => [ 'Message', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'exception' => true, ], 'ListServersRequest' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListServersResponse' => [ 'type' => 'structure', 'required' => [ 'Servers', ], 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'Servers' => [ 'shape' => 'ListedServers', ], ], ], 'ListTagsForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'Users', ], 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'ServerId' => [ 'shape' => 'ServerId', ], 'Users' => [ 'shape' => 'ListedUsers', ], ], ], 'ListedServer' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'IdentityProviderType' => [ 'shape' => 'IdentityProviderType', ], 'EndpointType' => [ 'shape' => 'EndpointType', ], 'LoggingRole' => [ 'shape' => 'Role', ], 'ServerId' => [ 'shape' => 'ServerId', ], 'State' => [ 'shape' => 'State', ], 'UserCount' => [ 'shape' => 'UserCount', ], ], ], 'ListedServers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListedServer', ], ], 'ListedUser' => [ 'type' => 'structure', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'HomeDirectory' => [ 'shape' => 'HomeDirectory', ], 'Role' => [ 'shape' => 'Role', ], 'SshPublicKeyCount' => [ 'shape' => 'SshPublicKeyCount', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'ListedUsers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ListedUser', ], ], 'MaxResults' => [ 'type' => 'integer', 'max' => 1000, 'min' => 1, ], 'Message' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', 'max' => 6144, 'min' => 1, ], 'NullableRole' => [ 'type' => 'string', 'pattern' => '^$|arn:.*role/.*', ], 'Policy' => [ 'type' => 'string', ], 'Resource' => [ 'type' => 'string', ], 'ResourceExistsException' => [ 'type' => 'structure', 'required' => [ 'Message', 'Resource', 'ResourceType', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'Resource' => [ 'shape' => 'Resource', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'required' => [ 'Message', 'Resource', 'ResourceType', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'Resource' => [ 'shape' => 'Resource', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], 'exception' => true, ], 'ResourceType' => [ 'type' => 'string', ], 'Role' => [ 'type' => 'string', 'pattern' => 'arn:.*role/.*', ], 'ServerId' => [ 'type' => 'string', 'pattern' => '^s-([0-9a-f]{17})$', ], 'ServiceErrorMessage' => [ 'type' => 'string', ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ServiceErrorMessage', ], ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'SshPublicKey' => [ 'type' => 'structure', 'required' => [ 'DateImported', 'SshPublicKeyBody', 'SshPublicKeyId', ], 'members' => [ 'DateImported' => [ 'shape' => 'DateImported', ], 'SshPublicKeyBody' => [ 'shape' => 'SshPublicKeyBody', ], 'SshPublicKeyId' => [ 'shape' => 'SshPublicKeyId', ], ], ], 'SshPublicKeyBody' => [ 'type' => 'string', 'max' => 2048, 'pattern' => '^ssh-rsa\\s+[A-Za-z0-9+/]+[=]{0,3}(\\s+.+)?\\s*$', ], 'SshPublicKeyCount' => [ 'type' => 'integer', ], 'SshPublicKeyId' => [ 'type' => 'string', 'pattern' => '^key-[0-9a-f]{17}$', ], 'SshPublicKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'SshPublicKey', ], 'max' => 5, ], 'StartServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'State' => [ 'type' => 'string', 'enum' => [ 'OFFLINE', 'ONLINE', 'STARTING', 'STOPPING', 'START_FAILED', 'STOP_FAILED', ], ], 'StatusCode' => [ 'type' => 'integer', ], 'StopServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', ], 'TagKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'TagKey', ], 'max' => 50, 'min' => 1, ], 'TagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'Tags', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'Tags' => [ 'shape' => 'Tags', ], ], ], 'TagValue' => [ 'type' => 'string', ], 'Tags' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 1, ], 'TestIdentityProviderRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], 'UserPassword' => [ 'shape' => 'UserPassword', ], ], ], 'TestIdentityProviderResponse' => [ 'type' => 'structure', 'required' => [ 'StatusCode', 'Url', ], 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'StatusCode' => [ 'shape' => 'StatusCode', ], 'Url' => [ 'shape' => 'Url', ], ], ], 'UntagResourceRequest' => [ 'type' => 'structure', 'required' => [ 'Arn', 'TagKeys', ], 'members' => [ 'Arn' => [ 'shape' => 'Arn', ], 'TagKeys' => [ 'shape' => 'TagKeys', ], ], ], 'UpdateServerRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'EndpointDetails' => [ 'shape' => 'EndpointDetails', ], 'EndpointType' => [ 'shape' => 'EndpointType', ], 'IdentityProviderDetails' => [ 'shape' => 'IdentityProviderDetails', ], 'LoggingRole' => [ 'shape' => 'NullableRole', ], 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'UpdateServerResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'HomeDirectory' => [ 'shape' => 'HomeDirectory', ], 'Policy' => [ 'shape' => 'Policy', ], 'Role' => [ 'shape' => 'Role', ], 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'UpdateUserResponse' => [ 'type' => 'structure', 'required' => [ 'ServerId', 'UserName', ], 'members' => [ 'ServerId' => [ 'shape' => 'ServerId', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'Url' => [ 'type' => 'string', ], 'UserCount' => [ 'type' => 'integer', ], 'UserName' => [ 'type' => 'string', 'pattern' => '^[a-zA-Z0-9_][a-zA-Z0-9_-]{2,31}$', ], 'UserPassword' => [ 'type' => 'string', ], 'VpcEndpointId' => [ 'type' => 'string', 'pattern' => '^vpce-[0-9a-f]{17}$', ], ],]; diff --git a/lib/aws/Aws/data/transfer/2018-11-05/paginators-1.json.php b/lib/aws/Aws/data/transfer/2018-11-05/paginators-1.json.php new file mode 100644 index 0000000..00f5428 --- /dev/null +++ b/lib/aws/Aws/data/transfer/2018-11-05/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/transfer/2018-11-05/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/translate/2017-07-01/api-2.json.php b/lib/aws/Aws/data/translate/2017-07-01/api-2.json.php new file mode 100644 index 0000000..ac00199 --- /dev/null +++ b/lib/aws/Aws/data/translate/2017-07-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/translate/2017-07-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-07-01', 'endpointPrefix' => 'translate', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon Translate', 'serviceId' => 'Translate', 'signatureVersion' => 'v4', 'signingName' => 'translate', 'targetPrefix' => 'AWSShineFrontendService_20170701', 'uid' => 'translate-2017-07-01', ], 'operations' => [ 'DeleteTerminology' => [ 'name' => 'DeleteTerminology', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTerminologyRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'GetTerminology' => [ 'name' => 'GetTerminology', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetTerminologyRequest', ], 'output' => [ 'shape' => 'GetTerminologyResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ImportTerminology' => [ 'name' => 'ImportTerminology', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportTerminologyRequest', ], 'output' => [ 'shape' => 'ImportTerminologyResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'ListTerminologies' => [ 'name' => 'ListTerminologies', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTerminologiesRequest', ], 'output' => [ 'shape' => 'ListTerminologiesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'TranslateText' => [ 'name' => 'TranslateText', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TranslateTextRequest', ], 'output' => [ 'shape' => 'TranslateTextResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TextSizeLimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'UnsupportedLanguagePairException', ], [ 'shape' => 'DetectedLanguageLowConfidenceException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], ], 'shapes' => [ 'AppliedTerminology' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'Terms' => [ 'shape' => 'TermList', ], ], ], 'AppliedTerminologyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AppliedTerminology', ], ], 'BoundedLengthString' => [ 'type' => 'string', 'max' => 5000, 'min' => 1, 'pattern' => '[\\P{M}\\p{M}]{1,5000}', ], 'DeleteTerminologyRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'Description' => [ 'type' => 'string', 'max' => 256, 'pattern' => '[\\P{M}\\p{M}]{0,256}', ], 'DetectedLanguageLowConfidenceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'DetectedLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], 'exception' => true, ], 'EncryptionKey' => [ 'type' => 'structure', 'required' => [ 'Type', 'Id', ], 'members' => [ 'Type' => [ 'shape' => 'EncryptionKeyType', ], 'Id' => [ 'shape' => 'EncryptionKeyID', ], ], ], 'EncryptionKeyID' => [ 'type' => 'string', 'max' => 400, 'min' => 1, 'pattern' => '(arn:aws((-us-gov)|(-cn))?:kms:)?([a-z]{2}-[a-z]+-\\d:)?(\\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))', ], 'EncryptionKeyType' => [ 'type' => 'string', 'enum' => [ 'KMS', ], ], 'GetTerminologyRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'TerminologyDataFormat', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'TerminologyDataFormat' => [ 'shape' => 'TerminologyDataFormat', ], ], ], 'GetTerminologyResponse' => [ 'type' => 'structure', 'members' => [ 'TerminologyProperties' => [ 'shape' => 'TerminologyProperties', ], 'TerminologyDataLocation' => [ 'shape' => 'TerminologyDataLocation', ], ], ], 'ImportTerminologyRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MergeStrategy', 'TerminologyData', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MergeStrategy' => [ 'shape' => 'MergeStrategy', ], 'Description' => [ 'shape' => 'Description', ], 'TerminologyData' => [ 'shape' => 'TerminologyData', ], 'EncryptionKey' => [ 'shape' => 'EncryptionKey', ], ], ], 'ImportTerminologyResponse' => [ 'type' => 'structure', 'members' => [ 'TerminologyProperties' => [ 'shape' => 'TerminologyProperties', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'LanguageCodeString' => [ 'type' => 'string', 'max' => 5, 'min' => 2, ], 'LanguageCodeStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'LanguageCodeString', ], ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListTerminologiesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResultsInteger', ], ], ], 'ListTerminologiesResponse' => [ 'type' => 'structure', 'members' => [ 'TerminologyPropertiesList' => [ 'shape' => 'TerminologyPropertiesList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResultsInteger' => [ 'type' => 'integer', 'max' => 500, 'min' => 1, ], 'MergeStrategy' => [ 'type' => 'string', 'enum' => [ 'OVERWRITE', ], ], 'NextToken' => [ 'type' => 'string', 'max' => 8192, 'pattern' => '\\p{ASCII}{0,8192}', ], 'ResourceName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^([A-Za-z0-9-]_?)+$', ], 'ResourceNameList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceName', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'String' => [ 'type' => 'string', 'max' => 10000, 'pattern' => '[\\P{M}\\p{M}]{0,10000}', ], 'Term' => [ 'type' => 'structure', 'members' => [ 'SourceText' => [ 'shape' => 'String', ], 'TargetText' => [ 'shape' => 'String', ], ], ], 'TermList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Term', ], ], 'TerminologyArn' => [ 'type' => 'string', 'pattern' => '^arn:aws((-us-gov)|(-cn))?:translate:[a-zA-Z0-9-]+:[0-9]{12}:terminology/.+?/.+?$', ], 'TerminologyData' => [ 'type' => 'structure', 'required' => [ 'File', 'Format', ], 'members' => [ 'File' => [ 'shape' => 'TerminologyFile', ], 'Format' => [ 'shape' => 'TerminologyDataFormat', ], ], ], 'TerminologyDataFormat' => [ 'type' => 'string', 'enum' => [ 'CSV', 'TMX', ], ], 'TerminologyDataLocation' => [ 'type' => 'structure', 'required' => [ 'RepositoryType', 'Location', ], 'members' => [ 'RepositoryType' => [ 'shape' => 'String', ], 'Location' => [ 'shape' => 'String', ], ], ], 'TerminologyFile' => [ 'type' => 'blob', 'max' => 10485760, 'sensitive' => true, ], 'TerminologyProperties' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'Description' => [ 'shape' => 'Description', ], 'Arn' => [ 'shape' => 'TerminologyArn', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCodes' => [ 'shape' => 'LanguageCodeStringList', ], 'EncryptionKey' => [ 'shape' => 'EncryptionKey', ], 'SizeBytes' => [ 'shape' => 'Integer', ], 'TermCount' => [ 'shape' => 'Integer', ], 'CreatedAt' => [ 'shape' => 'Timestamp', ], 'LastUpdatedAt' => [ 'shape' => 'Timestamp', ], ], ], 'TerminologyPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TerminologyProperties', ], ], 'TextSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'TranslateTextRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'SourceLanguageCode', 'TargetLanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], 'TerminologyNames' => [ 'shape' => 'ResourceNameList', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], ], 'TranslateTextResponse' => [ 'type' => 'structure', 'required' => [ 'TranslatedText', 'SourceLanguageCode', 'TargetLanguageCode', ], 'members' => [ 'TranslatedText' => [ 'shape' => 'String', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'AppliedTerminologies' => [ 'shape' => 'AppliedTerminologyList', ], ], ], 'UnsupportedLanguagePairException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], 'exception' => true, ], ],]; diff --git a/lib/aws/Aws/data/translate/2017-07-01/paginators-1.json.php b/lib/aws/Aws/data/translate/2017-07-01/paginators-1.json.php new file mode 100644 index 0000000..1d87d8a --- /dev/null +++ b/lib/aws/Aws/data/translate/2017-07-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/translate/2017-07-01/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/waf-regional/2016-11-28/api-2.json.php b/lib/aws/Aws/data/waf-regional/2016-11-28/api-2.json.php new file mode 100644 index 0000000..65faaad --- /dev/null +++ b/lib/aws/Aws/data/waf-regional/2016-11-28/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf-regional/2016-11-28/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-11-28', 'endpointPrefix' => 'waf-regional', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'WAF Regional', 'serviceFullName' => 'AWS WAF Regional', 'serviceId' => 'WAF Regional', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSWAF_Regional_20161128', 'uid' => 'waf-regional-2016-11-28', ], 'operations' => [ 'AssociateWebACL' => [ 'name' => 'AssociateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateWebACLRequest', ], 'output' => [ 'shape' => 'AssociateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFUnavailableEntityException', ], ], ], 'CreateByteMatchSet' => [ 'name' => 'CreateByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateByteMatchSetRequest', ], 'output' => [ 'shape' => 'CreateByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateGeoMatchSet' => [ 'name' => 'CreateGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGeoMatchSetRequest', ], 'output' => [ 'shape' => 'CreateGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateIPSet' => [ 'name' => 'CreateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateIPSetRequest', ], 'output' => [ 'shape' => 'CreateIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRateBasedRule' => [ 'name' => 'CreateRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRateBasedRuleRequest', ], 'output' => [ 'shape' => 'CreateRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRegexMatchSet' => [ 'name' => 'CreateRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRegexMatchSetRequest', ], 'output' => [ 'shape' => 'CreateRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRegexPatternSet' => [ 'name' => 'CreateRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRegexPatternSetRequest', ], 'output' => [ 'shape' => 'CreateRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRule' => [ 'name' => 'CreateRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRuleRequest', ], 'output' => [ 'shape' => 'CreateRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRuleGroup' => [ 'name' => 'CreateRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRuleGroupRequest', ], 'output' => [ 'shape' => 'CreateRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateSizeConstraintSet' => [ 'name' => 'CreateSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'CreateSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateSqlInjectionMatchSet' => [ 'name' => 'CreateSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'CreateSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateWebACL' => [ 'name' => 'CreateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWebACLRequest', ], 'output' => [ 'shape' => 'CreateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateXssMatchSet' => [ 'name' => 'CreateXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateXssMatchSetRequest', ], 'output' => [ 'shape' => 'CreateXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'DeleteByteMatchSet' => [ 'name' => 'DeleteByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteByteMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteGeoMatchSet' => [ 'name' => 'DeleteGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGeoMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteIPSet' => [ 'name' => 'DeleteIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIPSetRequest', ], 'output' => [ 'shape' => 'DeleteIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteLoggingConfiguration' => [ 'name' => 'DeleteLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], ], ], 'DeletePermissionPolicy' => [ 'name' => 'DeletePermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePermissionPolicyRequest', ], 'output' => [ 'shape' => 'DeletePermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'DeleteRateBasedRule' => [ 'name' => 'DeleteRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRateBasedRuleRequest', ], 'output' => [ 'shape' => 'DeleteRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRegexMatchSet' => [ 'name' => 'DeleteRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRegexMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRegexPatternSet' => [ 'name' => 'DeleteRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRegexPatternSetRequest', ], 'output' => [ 'shape' => 'DeleteRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRule' => [ 'name' => 'DeleteRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleRequest', ], 'output' => [ 'shape' => 'DeleteRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRuleGroup' => [ 'name' => 'DeleteRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleGroupRequest', ], 'output' => [ 'shape' => 'DeleteRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], [ 'shape' => 'WAFInvalidOperationException', ], ], ], 'DeleteSizeConstraintSet' => [ 'name' => 'DeleteSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'DeleteSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteSqlInjectionMatchSet' => [ 'name' => 'DeleteSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteWebACL' => [ 'name' => 'DeleteWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebACLRequest', ], 'output' => [ 'shape' => 'DeleteWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteXssMatchSet' => [ 'name' => 'DeleteXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteXssMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DisassociateWebACL' => [ 'name' => 'DisassociateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateWebACLRequest', ], 'output' => [ 'shape' => 'DisassociateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetByteMatchSet' => [ 'name' => 'GetByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetByteMatchSetRequest', ], 'output' => [ 'shape' => 'GetByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetChangeToken' => [ 'name' => 'GetChangeToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetChangeTokenRequest', ], 'output' => [ 'shape' => 'GetChangeTokenResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetChangeTokenStatus' => [ 'name' => 'GetChangeTokenStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetChangeTokenStatusRequest', ], 'output' => [ 'shape' => 'GetChangeTokenStatusResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetGeoMatchSet' => [ 'name' => 'GetGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGeoMatchSetRequest', ], 'output' => [ 'shape' => 'GetGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetIPSet' => [ 'name' => 'GetIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIPSetRequest', ], 'output' => [ 'shape' => 'GetIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetLoggingConfiguration' => [ 'name' => 'GetLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'GetLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetPermissionPolicy' => [ 'name' => 'GetPermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPermissionPolicyRequest', ], 'output' => [ 'shape' => 'GetPermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRateBasedRule' => [ 'name' => 'GetRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRateBasedRuleRequest', ], 'output' => [ 'shape' => 'GetRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRateBasedRuleManagedKeys' => [ 'name' => 'GetRateBasedRuleManagedKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRateBasedRuleManagedKeysRequest', ], 'output' => [ 'shape' => 'GetRateBasedRuleManagedKeysResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'GetRegexMatchSet' => [ 'name' => 'GetRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRegexMatchSetRequest', ], 'output' => [ 'shape' => 'GetRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRegexPatternSet' => [ 'name' => 'GetRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRegexPatternSetRequest', ], 'output' => [ 'shape' => 'GetRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRule' => [ 'name' => 'GetRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRuleRequest', ], 'output' => [ 'shape' => 'GetRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRuleGroup' => [ 'name' => 'GetRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRuleGroupRequest', ], 'output' => [ 'shape' => 'GetRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetSampledRequests' => [ 'name' => 'GetSampledRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSampledRequestsRequest', ], 'output' => [ 'shape' => 'GetSampledRequestsResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetSizeConstraintSet' => [ 'name' => 'GetSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'GetSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetSqlInjectionMatchSet' => [ 'name' => 'GetSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'GetSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetWebACL' => [ 'name' => 'GetWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetWebACLRequest', ], 'output' => [ 'shape' => 'GetWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetWebACLForResource' => [ 'name' => 'GetWebACLForResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetWebACLForResourceRequest', ], 'output' => [ 'shape' => 'GetWebACLForResourceResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFUnavailableEntityException', ], ], ], 'GetXssMatchSet' => [ 'name' => 'GetXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetXssMatchSetRequest', ], 'output' => [ 'shape' => 'GetXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'ListActivatedRulesInRuleGroup' => [ 'name' => 'ListActivatedRulesInRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActivatedRulesInRuleGroupRequest', ], 'output' => [ 'shape' => 'ListActivatedRulesInRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'ListByteMatchSets' => [ 'name' => 'ListByteMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListByteMatchSetsRequest', ], 'output' => [ 'shape' => 'ListByteMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListGeoMatchSets' => [ 'name' => 'ListGeoMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGeoMatchSetsRequest', ], 'output' => [ 'shape' => 'ListGeoMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListIPSets' => [ 'name' => 'ListIPSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIPSetsRequest', ], 'output' => [ 'shape' => 'ListIPSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListLoggingConfigurations' => [ 'name' => 'ListLoggingConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLoggingConfigurationsRequest', ], 'output' => [ 'shape' => 'ListLoggingConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'ListRateBasedRules' => [ 'name' => 'ListRateBasedRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRateBasedRulesRequest', ], 'output' => [ 'shape' => 'ListRateBasedRulesResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListRegexMatchSets' => [ 'name' => 'ListRegexMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRegexMatchSetsRequest', ], 'output' => [ 'shape' => 'ListRegexMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListRegexPatternSets' => [ 'name' => 'ListRegexPatternSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRegexPatternSetsRequest', ], 'output' => [ 'shape' => 'ListRegexPatternSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListResourcesForWebACL' => [ 'name' => 'ListResourcesForWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourcesForWebACLRequest', ], 'output' => [ 'shape' => 'ListResourcesForWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'ListRuleGroups' => [ 'name' => 'ListRuleGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRuleGroupsRequest', ], 'output' => [ 'shape' => 'ListRuleGroupsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], ], ], 'ListRules' => [ 'name' => 'ListRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRulesRequest', ], 'output' => [ 'shape' => 'ListRulesResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSizeConstraintSets' => [ 'name' => 'ListSizeConstraintSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSizeConstraintSetsRequest', ], 'output' => [ 'shape' => 'ListSizeConstraintSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSqlInjectionMatchSets' => [ 'name' => 'ListSqlInjectionMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSqlInjectionMatchSetsRequest', ], 'output' => [ 'shape' => 'ListSqlInjectionMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSubscribedRuleGroups' => [ 'name' => 'ListSubscribedRuleGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSubscribedRuleGroupsRequest', ], 'output' => [ 'shape' => 'ListSubscribedRuleGroupsResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'ListWebACLs' => [ 'name' => 'ListWebACLs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWebACLsRequest', ], 'output' => [ 'shape' => 'ListWebACLsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListXssMatchSets' => [ 'name' => 'ListXssMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListXssMatchSetsRequest', ], 'output' => [ 'shape' => 'ListXssMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'PutLoggingConfiguration' => [ 'name' => 'PutLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'PutLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFServiceLinkedRoleErrorException', ], ], ], 'PutPermissionPolicy' => [ 'name' => 'PutPermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPermissionPolicyRequest', ], 'output' => [ 'shape' => 'PutPermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidPermissionPolicyException', ], ], ], 'UpdateByteMatchSet' => [ 'name' => 'UpdateByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateByteMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateGeoMatchSet' => [ 'name' => 'UpdateGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGeoMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateIPSet' => [ 'name' => 'UpdateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateIPSetRequest', ], 'output' => [ 'shape' => 'UpdateIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRateBasedRule' => [ 'name' => 'UpdateRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRateBasedRuleRequest', ], 'output' => [ 'shape' => 'UpdateRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRegexMatchSet' => [ 'name' => 'UpdateRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRegexMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'UpdateRegexPatternSet' => [ 'name' => 'UpdateRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRegexPatternSetRequest', ], 'output' => [ 'shape' => 'UpdateRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidRegexPatternException', ], ], ], 'UpdateRule' => [ 'name' => 'UpdateRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRuleRequest', ], 'output' => [ 'shape' => 'UpdateRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRuleGroup' => [ 'name' => 'UpdateRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRuleGroupRequest', ], 'output' => [ 'shape' => 'UpdateRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'UpdateSizeConstraintSet' => [ 'name' => 'UpdateSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'UpdateSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateSqlInjectionMatchSet' => [ 'name' => 'UpdateSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateWebACL' => [ 'name' => 'UpdateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateWebACLRequest', ], 'output' => [ 'shape' => 'UpdateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFSubscriptionNotFoundException', ], ], ], 'UpdateXssMatchSet' => [ 'name' => 'UpdateXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateXssMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], ], 'shapes' => [ 'Action' => [ 'type' => 'string', ], 'ActivatedRule' => [ 'type' => 'structure', 'required' => [ 'Priority', 'RuleId', ], 'members' => [ 'Priority' => [ 'shape' => 'RulePriority', ], 'RuleId' => [ 'shape' => 'ResourceId', ], 'Action' => [ 'shape' => 'WafAction', ], 'OverrideAction' => [ 'shape' => 'WafOverrideAction', ], 'Type' => [ 'shape' => 'WafRuleType', ], 'ExcludedRules' => [ 'shape' => 'ExcludedRules', ], ], ], 'ActivatedRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActivatedRule', ], ], 'AssociateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'ResourceArn', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'AssociateWebACLResponse' => [ 'type' => 'structure', 'members' => [], ], 'ByteMatchSet' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ByteMatchTuples', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'ByteMatchTuples' => [ 'shape' => 'ByteMatchTuples', ], ], ], 'ByteMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchSetSummary', ], ], 'ByteMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'Name', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'ByteMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ByteMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ByteMatchTuple' => [ 'shape' => 'ByteMatchTuple', ], ], ], 'ByteMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchSetUpdate', ], 'min' => 1, ], 'ByteMatchTargetString' => [ 'type' => 'blob', ], 'ByteMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TargetString', 'TextTransformation', 'PositionalConstraint', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TargetString' => [ 'shape' => 'ByteMatchTargetString', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'PositionalConstraint' => [ 'shape' => 'PositionalConstraint', ], ], ], 'ByteMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchTuple', ], ], 'ChangeAction' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'DELETE', ], ], 'ChangeToken' => [ 'type' => 'string', 'min' => 1, ], 'ChangeTokenStatus' => [ 'type' => 'string', 'enum' => [ 'PROVISIONED', 'PENDING', 'INSYNC', ], ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'EQ', 'NE', 'LE', 'LT', 'GE', 'GT', ], ], 'Country' => [ 'type' => 'string', ], 'CreateByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ByteMatchSet' => [ 'shape' => 'ByteMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'GeoMatchSet' => [ 'shape' => 'GeoMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'IPSet' => [ 'shape' => 'IPSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'RateKey', 'RateLimit', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'RateKey' => [ 'shape' => 'RateKey', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'RateBasedRule', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSet' => [ 'shape' => 'RegexMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexPatternSet' => [ 'shape' => 'RegexPatternSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'RuleGroup' => [ 'shape' => 'RuleGroup', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'Rule', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'SizeConstraintSet' => [ 'shape' => 'SizeConstraintSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'SqlInjectionMatchSet' => [ 'shape' => 'SqlInjectionMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'DefaultAction', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'WebACL' => [ 'shape' => 'WebACL', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'XssMatchSet' => [ 'shape' => 'XssMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ChangeToken', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'ChangeToken', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'ChangeToken', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DeleteLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DeletePermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'ChangeToken', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'ChangeToken', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'ChangeToken', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'ChangeToken', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'ChangeToken', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'ChangeToken', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'ChangeToken', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DisassociateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DisassociateWebACLResponse' => [ 'type' => 'structure', 'members' => [], ], 'ExcludedRule' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'ExcludedRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExcludedRule', ], ], 'FieldToMatch' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'MatchFieldType', ], 'Data' => [ 'shape' => 'MatchFieldData', ], ], ], 'GeoMatchConstraint' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'GeoMatchConstraintType', ], 'Value' => [ 'shape' => 'GeoMatchConstraintValue', ], ], ], 'GeoMatchConstraintType' => [ 'type' => 'string', 'enum' => [ 'Country', ], ], 'GeoMatchConstraintValue' => [ 'type' => 'string', 'enum' => [ 'AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BQ', 'BA', 'BW', 'BV', 'BR', 'IO', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CD', 'CK', 'CR', 'CI', 'HR', 'CU', 'CW', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'VA', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MD', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'MP', 'NO', 'OM', 'PK', 'PW', 'PS', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'BL', 'SH', 'KN', 'LC', 'MF', 'PM', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SX', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'SS', 'ES', 'LK', 'SD', 'SR', 'SJ', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UG', 'UA', 'AE', 'GB', 'US', 'UM', 'UY', 'UZ', 'VU', 'VE', 'VN', 'VG', 'VI', 'WF', 'EH', 'YE', 'ZM', 'ZW', ], ], 'GeoMatchConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchConstraint', ], ], 'GeoMatchSet' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'GeoMatchConstraints', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'GeoMatchConstraints' => [ 'shape' => 'GeoMatchConstraints', ], ], ], 'GeoMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchSetSummary', ], ], 'GeoMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'Name', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'GeoMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'GeoMatchConstraint', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'GeoMatchConstraint' => [ 'shape' => 'GeoMatchConstraint', ], ], ], 'GeoMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchSetUpdate', ], 'min' => 1, ], 'GetByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ByteMatchSet' => [ 'shape' => 'ByteMatchSet', ], ], ], 'GetChangeTokenRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetChangeTokenResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'GetChangeTokenStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ChangeToken', ], 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'GetChangeTokenStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeTokenStatus' => [ 'shape' => 'ChangeTokenStatus', ], ], ], 'GetGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'GeoMatchSet' => [ 'shape' => 'GeoMatchSet', ], ], ], 'GetIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'IPSet' => [ 'shape' => 'IPSet', ], ], ], 'GetLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'GetPermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetPermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'PolicyString', ], ], ], 'GetRateBasedRuleManagedKeysRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'GetRateBasedRuleManagedKeysResponse' => [ 'type' => 'structure', 'members' => [ 'ManagedKeys' => [ 'shape' => 'ManagedKeys', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'GetRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'RateBasedRule', ], ], ], 'GetRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSet' => [ 'shape' => 'RegexMatchSet', ], ], ], 'GetRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexPatternSet' => [ 'shape' => 'RegexPatternSet', ], ], ], 'GetRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'RuleGroup' => [ 'shape' => 'RuleGroup', ], ], ], 'GetRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'Rule', ], ], ], 'GetSampledRequestsMaxItems' => [ 'type' => 'long', 'max' => 500, 'min' => 1, ], 'GetSampledRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'WebAclId', 'RuleId', 'TimeWindow', 'MaxItems', ], 'members' => [ 'WebAclId' => [ 'shape' => 'ResourceId', ], 'RuleId' => [ 'shape' => 'ResourceId', ], 'TimeWindow' => [ 'shape' => 'TimeWindow', ], 'MaxItems' => [ 'shape' => 'GetSampledRequestsMaxItems', ], ], ], 'GetSampledRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'SampledRequests' => [ 'shape' => 'SampledHTTPRequests', ], 'PopulationSize' => [ 'shape' => 'PopulationSize', ], 'TimeWindow' => [ 'shape' => 'TimeWindow', ], ], ], 'GetSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'SizeConstraintSet' => [ 'shape' => 'SizeConstraintSet', ], ], ], 'GetSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'SqlInjectionMatchSet' => [ 'shape' => 'SqlInjectionMatchSet', ], ], ], 'GetWebACLForResourceRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetWebACLForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'WebACLSummary' => [ 'shape' => 'WebACLSummary', ], ], ], 'GetWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], ], ], 'GetWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'WebACL' => [ 'shape' => 'WebACL', ], ], ], 'GetXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'XssMatchSet' => [ 'shape' => 'XssMatchSet', ], ], ], 'HTTPHeader' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'HeaderName', ], 'Value' => [ 'shape' => 'HeaderValue', ], ], ], 'HTTPHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'HTTPHeader', ], ], 'HTTPMethod' => [ 'type' => 'string', ], 'HTTPRequest' => [ 'type' => 'structure', 'members' => [ 'ClientIP' => [ 'shape' => 'IPString', ], 'Country' => [ 'shape' => 'Country', ], 'URI' => [ 'shape' => 'URIString', ], 'Method' => [ 'shape' => 'HTTPMethod', ], 'HTTPVersion' => [ 'shape' => 'HTTPVersion', ], 'Headers' => [ 'shape' => 'HTTPHeaders', ], ], ], 'HTTPVersion' => [ 'type' => 'string', ], 'HeaderName' => [ 'type' => 'string', ], 'HeaderValue' => [ 'type' => 'string', ], 'IPSet' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'IPSetDescriptors', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'IPSetDescriptors' => [ 'shape' => 'IPSetDescriptors', ], ], ], 'IPSetDescriptor' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'IPSetDescriptorType', ], 'Value' => [ 'shape' => 'IPSetDescriptorValue', ], ], ], 'IPSetDescriptorType' => [ 'type' => 'string', 'enum' => [ 'IPV4', 'IPV6', ], ], 'IPSetDescriptorValue' => [ 'type' => 'string', ], 'IPSetDescriptors' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetDescriptor', ], ], 'IPSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetSummary', ], ], 'IPSetSummary' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'Name', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'IPSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'IPSetDescriptor', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'IPSetDescriptor' => [ 'shape' => 'IPSetDescriptor', ], ], ], 'IPSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetUpdate', ], 'min' => 1, ], 'IPString' => [ 'type' => 'string', ], 'ListActivatedRulesInRuleGroupRequest' => [ 'type' => 'structure', 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListActivatedRulesInRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'ActivatedRules' => [ 'shape' => 'ActivatedRules', ], ], ], 'ListByteMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListByteMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'ByteMatchSets' => [ 'shape' => 'ByteMatchSetSummaries', ], ], ], 'ListGeoMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListGeoMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'GeoMatchSets' => [ 'shape' => 'GeoMatchSetSummaries', ], ], ], 'ListIPSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListIPSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'IPSets' => [ 'shape' => 'IPSetSummaries', ], ], ], 'ListLoggingConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListLoggingConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfigurations' => [ 'shape' => 'LoggingConfigurations', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'ListRateBasedRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRateBasedRulesResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Rules' => [ 'shape' => 'RuleSummaries', ], ], ], 'ListRegexMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRegexMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RegexMatchSets' => [ 'shape' => 'RegexMatchSetSummaries', ], ], ], 'ListRegexPatternSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRegexPatternSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RegexPatternSets' => [ 'shape' => 'RegexPatternSetSummaries', ], ], ], 'ListResourcesForWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ResourceType' => [ 'shape' => 'ResourceType', ], ], ], 'ListResourcesForWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceArns' => [ 'shape' => 'ResourceArns', ], ], ], 'ListRuleGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRuleGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RuleGroups' => [ 'shape' => 'RuleGroupSummaries', ], ], ], 'ListRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRulesResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Rules' => [ 'shape' => 'RuleSummaries', ], ], ], 'ListSizeConstraintSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSizeConstraintSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'SizeConstraintSets' => [ 'shape' => 'SizeConstraintSetSummaries', ], ], ], 'ListSqlInjectionMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSqlInjectionMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'SqlInjectionMatchSets' => [ 'shape' => 'SqlInjectionMatchSetSummaries', ], ], ], 'ListSubscribedRuleGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSubscribedRuleGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RuleGroups' => [ 'shape' => 'SubscribedRuleGroupSummaries', ], ], ], 'ListWebACLsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListWebACLsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'WebACLs' => [ 'shape' => 'WebACLSummaries', ], ], ], 'ListXssMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListXssMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'XssMatchSets' => [ 'shape' => 'XssMatchSetSummaries', ], ], ], 'LogDestinationConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], 'max' => 1, 'min' => 1, ], 'LoggingConfiguration' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'LogDestinationConfigs', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'LogDestinationConfigs' => [ 'shape' => 'LogDestinationConfigs', ], 'RedactedFields' => [ 'shape' => 'RedactedFields', ], ], ], 'LoggingConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoggingConfiguration', ], ], 'ManagedKey' => [ 'type' => 'string', ], 'ManagedKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedKey', ], ], 'MatchFieldData' => [ 'type' => 'string', ], 'MatchFieldType' => [ 'type' => 'string', 'enum' => [ 'URI', 'QUERY_STRING', 'HEADER', 'METHOD', 'BODY', 'SINGLE_QUERY_ARG', 'ALL_QUERY_ARGS', ], ], 'MetricName' => [ 'type' => 'string', ], 'Negated' => [ 'type' => 'boolean', ], 'NextMarker' => [ 'type' => 'string', 'min' => 1, ], 'PaginationLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ParameterExceptionField' => [ 'type' => 'string', 'enum' => [ 'CHANGE_ACTION', 'WAF_ACTION', 'WAF_OVERRIDE_ACTION', 'PREDICATE_TYPE', 'IPSET_TYPE', 'BYTE_MATCH_FIELD_TYPE', 'SQL_INJECTION_MATCH_FIELD_TYPE', 'BYTE_MATCH_TEXT_TRANSFORMATION', 'BYTE_MATCH_POSITIONAL_CONSTRAINT', 'SIZE_CONSTRAINT_COMPARISON_OPERATOR', 'GEO_MATCH_LOCATION_TYPE', 'GEO_MATCH_LOCATION_VALUE', 'RATE_KEY', 'RULE_TYPE', 'NEXT_MARKER', 'RESOURCE_ARN', ], ], 'ParameterExceptionParameter' => [ 'type' => 'string', 'min' => 1, ], 'ParameterExceptionReason' => [ 'type' => 'string', 'enum' => [ 'INVALID_OPTION', 'ILLEGAL_COMBINATION', 'ILLEGAL_ARGUMENT', ], ], 'PolicyString' => [ 'type' => 'string', 'min' => 1, ], 'PopulationSize' => [ 'type' => 'long', ], 'PositionalConstraint' => [ 'type' => 'string', 'enum' => [ 'EXACTLY', 'STARTS_WITH', 'ENDS_WITH', 'CONTAINS', 'CONTAINS_WORD', ], ], 'Predicate' => [ 'type' => 'structure', 'required' => [ 'Negated', 'Type', 'DataId', ], 'members' => [ 'Negated' => [ 'shape' => 'Negated', ], 'Type' => [ 'shape' => 'PredicateType', ], 'DataId' => [ 'shape' => 'ResourceId', ], ], ], 'PredicateType' => [ 'type' => 'string', 'enum' => [ 'IPMatch', 'ByteMatch', 'SqlInjectionMatch', 'GeoMatch', 'SizeConstraint', 'XssMatch', 'RegexMatch', ], ], 'Predicates' => [ 'type' => 'list', 'member' => [ 'shape' => 'Predicate', ], ], 'PutLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LoggingConfiguration', ], 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'PutLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'PutPermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Policy', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Policy' => [ 'shape' => 'PolicyString', ], ], ], 'PutPermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'RateBasedRule' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'MatchPredicates', 'RateKey', 'RateLimit', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'MatchPredicates' => [ 'shape' => 'Predicates', ], 'RateKey' => [ 'shape' => 'RateKey', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], ], ], 'RateKey' => [ 'type' => 'string', 'enum' => [ 'IP', ], ], 'RateLimit' => [ 'type' => 'long', 'max' => 2000000000, 'min' => 2000, ], 'RedactedFields' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldToMatch', ], ], 'RegexMatchSet' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'RegexMatchTuples' => [ 'shape' => 'RegexMatchTuples', ], ], ], 'RegexMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchSetSummary', ], ], 'RegexMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'Name', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RegexMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'RegexMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'RegexMatchTuple' => [ 'shape' => 'RegexMatchTuple', ], ], ], 'RegexMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchSetUpdate', ], 'min' => 1, ], 'RegexMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', 'RegexPatternSetId', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], ], ], 'RegexMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchTuple', ], ], 'RegexPatternSet' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'RegexPatternStrings', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'RegexPatternStrings' => [ 'shape' => 'RegexPatternStrings', ], ], ], 'RegexPatternSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternSetSummary', ], ], 'RegexPatternSetSummary' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'Name', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RegexPatternSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'RegexPatternString', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'RegexPatternString' => [ 'shape' => 'RegexPatternString', ], ], ], 'RegexPatternSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternSetUpdate', ], 'min' => 1, ], 'RegexPatternString' => [ 'type' => 'string', 'min' => 1, ], 'RegexPatternStrings' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternString', ], 'max' => 10, ], 'ResourceArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, ], 'ResourceArns' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], ], 'ResourceId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ResourceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'APPLICATION_LOAD_BALANCER', 'API_GATEWAY', ], ], 'Rule' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'Predicates', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Predicates' => [ 'shape' => 'Predicates', ], ], ], 'RuleGroup' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], ], ], 'RuleGroupSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleGroupSummary', ], ], 'RuleGroupSummary' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Name', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RuleGroupUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ActivatedRule', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ActivatedRule' => [ 'shape' => 'ActivatedRule', ], ], ], 'RuleGroupUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleGroupUpdate', ], 'min' => 1, ], 'RulePriority' => [ 'type' => 'integer', ], 'RuleSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleSummary', ], ], 'RuleSummary' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'Name', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RuleUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'Predicate', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'Predicate' => [ 'shape' => 'Predicate', ], ], ], 'RuleUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleUpdate', ], ], 'SampleWeight' => [ 'type' => 'long', 'min' => 0, ], 'SampledHTTPRequest' => [ 'type' => 'structure', 'required' => [ 'Request', 'Weight', ], 'members' => [ 'Request' => [ 'shape' => 'HTTPRequest', ], 'Weight' => [ 'shape' => 'SampleWeight', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Action' => [ 'shape' => 'Action', ], 'RuleWithinRuleGroup' => [ 'shape' => 'ResourceId', ], ], ], 'SampledHTTPRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'SampledHTTPRequest', ], ], 'Size' => [ 'type' => 'long', 'max' => 21474836480, 'min' => 0, ], 'SizeConstraint' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', 'ComparisonOperator', 'Size', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'SizeConstraintSet' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'SizeConstraints', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'SizeConstraints' => [ 'shape' => 'SizeConstraints', ], ], ], 'SizeConstraintSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraintSetSummary', ], ], 'SizeConstraintSetSummary' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'Name', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'SizeConstraintSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'SizeConstraint', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'SizeConstraint' => [ 'shape' => 'SizeConstraint', ], ], ], 'SizeConstraintSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraintSetUpdate', ], 'min' => 1, ], 'SizeConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraint', ], ], 'SqlInjectionMatchSet' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'SqlInjectionMatchTuples', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'SqlInjectionMatchTuples' => [ 'shape' => 'SqlInjectionMatchTuples', ], ], ], 'SqlInjectionMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchSetSummary', ], ], 'SqlInjectionMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'Name', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'SqlInjectionMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'SqlInjectionMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'SqlInjectionMatchTuple' => [ 'shape' => 'SqlInjectionMatchTuple', ], ], ], 'SqlInjectionMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchSetUpdate', ], 'min' => 1, ], 'SqlInjectionMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], ], ], 'SqlInjectionMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchTuple', ], ], 'SubscribedRuleGroupSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubscribedRuleGroupSummary', ], ], 'SubscribedRuleGroupSummary' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Name', 'MetricName', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], ], ], 'TextTransformation' => [ 'type' => 'string', 'enum' => [ 'NONE', 'COMPRESS_WHITE_SPACE', 'HTML_ENTITY_DECODE', 'LOWERCASE', 'CMD_LINE', 'URL_DECODE', ], ], 'TimeWindow' => [ 'type' => 'structure', 'required' => [ 'StartTime', 'EndTime', ], 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'URIString' => [ 'type' => 'string', ], 'UpdateByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'ByteMatchSetUpdates', ], ], ], 'UpdateByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'GeoMatchSetUpdates', ], ], ], 'UpdateGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'IPSetUpdates', ], ], ], 'UpdateIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', 'Updates', 'RateLimit', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'RuleUpdates', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], ], ], 'UpdateRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'Updates', 'ChangeToken', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RegexMatchSetUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'Updates', 'ChangeToken', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RegexPatternSetUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Updates', 'ChangeToken', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RuleGroupUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', 'Updates', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'RuleUpdates', ], ], ], 'UpdateRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'SizeConstraintSetUpdates', ], ], ], 'UpdateSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'SqlInjectionMatchSetUpdates', ], ], ], 'UpdateSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'ChangeToken', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'WebACLUpdates', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], ], ], 'UpdateWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'XssMatchSetUpdates', ], ], ], 'UpdateXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'WAFDisallowedNameException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'WAFInvalidAccountException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'WAFInvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'field' => [ 'shape' => 'ParameterExceptionField', ], 'parameter' => [ 'shape' => 'ParameterExceptionParameter', ], 'reason' => [ 'shape' => 'ParameterExceptionReason', ], ], 'exception' => true, ], 'WAFInvalidPermissionPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInvalidRegexPatternException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFLimitsExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonEmptyEntityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonexistentContainerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonexistentItemException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFReferencedItemException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFServiceLinkedRoleErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFStaleDataException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFSubscriptionNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFUnavailableEntityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WafAction' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'WafActionType', ], ], ], 'WafActionType' => [ 'type' => 'string', 'enum' => [ 'BLOCK', 'ALLOW', 'COUNT', ], ], 'WafOverrideAction' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'WafOverrideActionType', ], ], ], 'WafOverrideActionType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'COUNT', ], ], 'WafRuleType' => [ 'type' => 'string', 'enum' => [ 'REGULAR', 'RATE_BASED', 'GROUP', ], ], 'WebACL' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'DefaultAction', 'Rules', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], 'Rules' => [ 'shape' => 'ActivatedRules', ], 'WebACLArn' => [ 'shape' => 'ResourceArn', ], ], ], 'WebACLSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebACLSummary', ], ], 'WebACLSummary' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'Name', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'WebACLUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ActivatedRule', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ActivatedRule' => [ 'shape' => 'ActivatedRule', ], ], ], 'WebACLUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebACLUpdate', ], ], 'XssMatchSet' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'XssMatchTuples', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'XssMatchTuples' => [ 'shape' => 'XssMatchTuples', ], ], ], 'XssMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchSetSummary', ], ], 'XssMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'Name', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'XssMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'XssMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'XssMatchTuple' => [ 'shape' => 'XssMatchTuple', ], ], ], 'XssMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchSetUpdate', ], 'min' => 1, ], 'XssMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], ], ], 'XssMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchTuple', ], ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/waf-regional/2016-11-28/paginators-1.json.php b/lib/aws/Aws/data/waf-regional/2016-11-28/paginators-1.json.php new file mode 100644 index 0000000..2816c25 --- /dev/null +++ b/lib/aws/Aws/data/waf-regional/2016-11-28/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf-regional/2016-11-28/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/waf-regional/2016-11-28/smoke.json.php b/lib/aws/Aws/data/waf-regional/2016-11-28/smoke.json.php new file mode 100644 index 0000000..c07df68 --- /dev/null +++ b/lib/aws/Aws/data/waf-regional/2016-11-28/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf-regional/2016-11-28/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListRules', 'input' => [ 'Limit' => 20, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'CreateSqlInjectionMatchSet', 'input' => [ 'Name' => 'fake_name', 'ChangeToken' => 'fake_token', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/waf/2015-08-24/api-2.json.php b/lib/aws/Aws/data/waf/2015-08-24/api-2.json.php new file mode 100644 index 0000000..dcd6e06 --- /dev/null +++ b/lib/aws/Aws/data/waf/2015-08-24/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf/2015-08-24/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-08-24', 'endpointPrefix' => 'waf', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'WAF', 'serviceFullName' => 'AWS WAF', 'serviceId' => 'WAF', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSWAF_20150824', 'uid' => 'waf-2015-08-24', ], 'operations' => [ 'CreateByteMatchSet' => [ 'name' => 'CreateByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateByteMatchSetRequest', ], 'output' => [ 'shape' => 'CreateByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateGeoMatchSet' => [ 'name' => 'CreateGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGeoMatchSetRequest', ], 'output' => [ 'shape' => 'CreateGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateIPSet' => [ 'name' => 'CreateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateIPSetRequest', ], 'output' => [ 'shape' => 'CreateIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRateBasedRule' => [ 'name' => 'CreateRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRateBasedRuleRequest', ], 'output' => [ 'shape' => 'CreateRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRegexMatchSet' => [ 'name' => 'CreateRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRegexMatchSetRequest', ], 'output' => [ 'shape' => 'CreateRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRegexPatternSet' => [ 'name' => 'CreateRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRegexPatternSetRequest', ], 'output' => [ 'shape' => 'CreateRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRule' => [ 'name' => 'CreateRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRuleRequest', ], 'output' => [ 'shape' => 'CreateRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateRuleGroup' => [ 'name' => 'CreateRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateRuleGroupRequest', ], 'output' => [ 'shape' => 'CreateRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateSizeConstraintSet' => [ 'name' => 'CreateSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'CreateSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateSqlInjectionMatchSet' => [ 'name' => 'CreateSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'CreateSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateWebACL' => [ 'name' => 'CreateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWebACLRequest', ], 'output' => [ 'shape' => 'CreateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'CreateXssMatchSet' => [ 'name' => 'CreateXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateXssMatchSetRequest', ], 'output' => [ 'shape' => 'CreateXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'DeleteByteMatchSet' => [ 'name' => 'DeleteByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteByteMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteGeoMatchSet' => [ 'name' => 'DeleteGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGeoMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteIPSet' => [ 'name' => 'DeleteIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIPSetRequest', ], 'output' => [ 'shape' => 'DeleteIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteLoggingConfiguration' => [ 'name' => 'DeleteLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], ], ], 'DeletePermissionPolicy' => [ 'name' => 'DeletePermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeletePermissionPolicyRequest', ], 'output' => [ 'shape' => 'DeletePermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'DeleteRateBasedRule' => [ 'name' => 'DeleteRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRateBasedRuleRequest', ], 'output' => [ 'shape' => 'DeleteRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRegexMatchSet' => [ 'name' => 'DeleteRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRegexMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRegexPatternSet' => [ 'name' => 'DeleteRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRegexPatternSetRequest', ], 'output' => [ 'shape' => 'DeleteRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRule' => [ 'name' => 'DeleteRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleRequest', ], 'output' => [ 'shape' => 'DeleteRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteRuleGroup' => [ 'name' => 'DeleteRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRuleGroupRequest', ], 'output' => [ 'shape' => 'DeleteRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], [ 'shape' => 'WAFInvalidOperationException', ], ], ], 'DeleteSizeConstraintSet' => [ 'name' => 'DeleteSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'DeleteSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteSqlInjectionMatchSet' => [ 'name' => 'DeleteSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteWebACL' => [ 'name' => 'DeleteWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebACLRequest', ], 'output' => [ 'shape' => 'DeleteWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'DeleteXssMatchSet' => [ 'name' => 'DeleteXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteXssMatchSetRequest', ], 'output' => [ 'shape' => 'DeleteXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonEmptyEntityException', ], ], ], 'GetByteMatchSet' => [ 'name' => 'GetByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetByteMatchSetRequest', ], 'output' => [ 'shape' => 'GetByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetChangeToken' => [ 'name' => 'GetChangeToken', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetChangeTokenRequest', ], 'output' => [ 'shape' => 'GetChangeTokenResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetChangeTokenStatus' => [ 'name' => 'GetChangeTokenStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetChangeTokenStatusRequest', ], 'output' => [ 'shape' => 'GetChangeTokenStatusResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetGeoMatchSet' => [ 'name' => 'GetGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetGeoMatchSetRequest', ], 'output' => [ 'shape' => 'GetGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetIPSet' => [ 'name' => 'GetIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetIPSetRequest', ], 'output' => [ 'shape' => 'GetIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetLoggingConfiguration' => [ 'name' => 'GetLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'GetLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetPermissionPolicy' => [ 'name' => 'GetPermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetPermissionPolicyRequest', ], 'output' => [ 'shape' => 'GetPermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRateBasedRule' => [ 'name' => 'GetRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRateBasedRuleRequest', ], 'output' => [ 'shape' => 'GetRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRateBasedRuleManagedKeys' => [ 'name' => 'GetRateBasedRuleManagedKeys', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRateBasedRuleManagedKeysRequest', ], 'output' => [ 'shape' => 'GetRateBasedRuleManagedKeysResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'GetRegexMatchSet' => [ 'name' => 'GetRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRegexMatchSetRequest', ], 'output' => [ 'shape' => 'GetRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRegexPatternSet' => [ 'name' => 'GetRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRegexPatternSetRequest', ], 'output' => [ 'shape' => 'GetRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRule' => [ 'name' => 'GetRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRuleRequest', ], 'output' => [ 'shape' => 'GetRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetRuleGroup' => [ 'name' => 'GetRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetRuleGroupRequest', ], 'output' => [ 'shape' => 'GetRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetSampledRequests' => [ 'name' => 'GetSampledRequests', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSampledRequestsRequest', ], 'output' => [ 'shape' => 'GetSampledRequestsResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'GetSizeConstraintSet' => [ 'name' => 'GetSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'GetSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetSqlInjectionMatchSet' => [ 'name' => 'GetSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'GetSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetWebACL' => [ 'name' => 'GetWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetWebACLRequest', ], 'output' => [ 'shape' => 'GetWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'GetXssMatchSet' => [ 'name' => 'GetXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetXssMatchSetRequest', ], 'output' => [ 'shape' => 'GetXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFNonexistentItemException', ], ], ], 'ListActivatedRulesInRuleGroup' => [ 'name' => 'ListActivatedRulesInRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListActivatedRulesInRuleGroupRequest', ], 'output' => [ 'shape' => 'ListActivatedRulesInRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'ListByteMatchSets' => [ 'name' => 'ListByteMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListByteMatchSetsRequest', ], 'output' => [ 'shape' => 'ListByteMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListGeoMatchSets' => [ 'name' => 'ListGeoMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGeoMatchSetsRequest', ], 'output' => [ 'shape' => 'ListGeoMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListIPSets' => [ 'name' => 'ListIPSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListIPSetsRequest', ], 'output' => [ 'shape' => 'ListIPSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListLoggingConfigurations' => [ 'name' => 'ListLoggingConfigurations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListLoggingConfigurationsRequest', ], 'output' => [ 'shape' => 'ListLoggingConfigurationsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'ListRateBasedRules' => [ 'name' => 'ListRateBasedRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRateBasedRulesRequest', ], 'output' => [ 'shape' => 'ListRateBasedRulesResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListRegexMatchSets' => [ 'name' => 'ListRegexMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRegexMatchSetsRequest', ], 'output' => [ 'shape' => 'ListRegexMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListRegexPatternSets' => [ 'name' => 'ListRegexPatternSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRegexPatternSetsRequest', ], 'output' => [ 'shape' => 'ListRegexPatternSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListRuleGroups' => [ 'name' => 'ListRuleGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRuleGroupsRequest', ], 'output' => [ 'shape' => 'ListRuleGroupsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], ], ], 'ListRules' => [ 'name' => 'ListRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListRulesRequest', ], 'output' => [ 'shape' => 'ListRulesResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSizeConstraintSets' => [ 'name' => 'ListSizeConstraintSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSizeConstraintSetsRequest', ], 'output' => [ 'shape' => 'ListSizeConstraintSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSqlInjectionMatchSets' => [ 'name' => 'ListSqlInjectionMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSqlInjectionMatchSetsRequest', ], 'output' => [ 'shape' => 'ListSqlInjectionMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListSubscribedRuleGroups' => [ 'name' => 'ListSubscribedRuleGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListSubscribedRuleGroupsRequest', ], 'output' => [ 'shape' => 'ListSubscribedRuleGroupsResponse', ], 'errors' => [ [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInternalErrorException', ], ], ], 'ListWebACLs' => [ 'name' => 'ListWebACLs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListWebACLsRequest', ], 'output' => [ 'shape' => 'ListWebACLsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'ListXssMatchSets' => [ 'name' => 'ListXssMatchSets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListXssMatchSetsRequest', ], 'output' => [ 'shape' => 'ListXssMatchSetsResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'PutLoggingConfiguration' => [ 'name' => 'PutLoggingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutLoggingConfigurationRequest', ], 'output' => [ 'shape' => 'PutLoggingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFServiceLinkedRoleErrorException', ], ], ], 'PutPermissionPolicy' => [ 'name' => 'PutPermissionPolicy', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutPermissionPolicyRequest', ], 'output' => [ 'shape' => 'PutPermissionPolicyResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidPermissionPolicyException', ], ], ], 'UpdateByteMatchSet' => [ 'name' => 'UpdateByteMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateByteMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateByteMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateGeoMatchSet' => [ 'name' => 'UpdateGeoMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateGeoMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateGeoMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateIPSet' => [ 'name' => 'UpdateIPSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateIPSetRequest', ], 'output' => [ 'shape' => 'UpdateIPSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRateBasedRule' => [ 'name' => 'UpdateRateBasedRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRateBasedRuleRequest', ], 'output' => [ 'shape' => 'UpdateRateBasedRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRegexMatchSet' => [ 'name' => 'UpdateRegexMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRegexMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateRegexMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFDisallowedNameException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidAccountException', ], ], ], 'UpdateRegexPatternSet' => [ 'name' => 'UpdateRegexPatternSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRegexPatternSetRequest', ], 'output' => [ 'shape' => 'UpdateRegexPatternSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidRegexPatternException', ], ], ], 'UpdateRule' => [ 'name' => 'UpdateRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRuleRequest', ], 'output' => [ 'shape' => 'UpdateRuleResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateRuleGroup' => [ 'name' => 'UpdateRuleGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRuleGroupRequest', ], 'output' => [ 'shape' => 'UpdateRuleGroupResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFInvalidParameterException', ], ], ], 'UpdateSizeConstraintSet' => [ 'name' => 'UpdateSizeConstraintSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSizeConstraintSetRequest', ], 'output' => [ 'shape' => 'UpdateSizeConstraintSetResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateSqlInjectionMatchSet' => [ 'name' => 'UpdateSqlInjectionMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSqlInjectionMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateSqlInjectionMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], 'UpdateWebACL' => [ 'name' => 'UpdateWebACL', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateWebACLRequest', ], 'output' => [ 'shape' => 'UpdateWebACLResponse', ], 'errors' => [ [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFReferencedItemException', ], [ 'shape' => 'WAFLimitsExceededException', ], [ 'shape' => 'WAFSubscriptionNotFoundException', ], ], ], 'UpdateXssMatchSet' => [ 'name' => 'UpdateXssMatchSet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateXssMatchSetRequest', ], 'output' => [ 'shape' => 'UpdateXssMatchSetResponse', ], 'errors' => [ [ 'shape' => 'WAFInternalErrorException', ], [ 'shape' => 'WAFInvalidAccountException', ], [ 'shape' => 'WAFInvalidOperationException', ], [ 'shape' => 'WAFInvalidParameterException', ], [ 'shape' => 'WAFNonexistentContainerException', ], [ 'shape' => 'WAFNonexistentItemException', ], [ 'shape' => 'WAFStaleDataException', ], [ 'shape' => 'WAFLimitsExceededException', ], ], ], ], 'shapes' => [ 'Action' => [ 'type' => 'string', ], 'ActivatedRule' => [ 'type' => 'structure', 'required' => [ 'Priority', 'RuleId', ], 'members' => [ 'Priority' => [ 'shape' => 'RulePriority', ], 'RuleId' => [ 'shape' => 'ResourceId', ], 'Action' => [ 'shape' => 'WafAction', ], 'OverrideAction' => [ 'shape' => 'WafOverrideAction', ], 'Type' => [ 'shape' => 'WafRuleType', ], 'ExcludedRules' => [ 'shape' => 'ExcludedRules', ], ], ], 'ActivatedRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActivatedRule', ], ], 'ByteMatchSet' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ByteMatchTuples', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'ByteMatchTuples' => [ 'shape' => 'ByteMatchTuples', ], ], ], 'ByteMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchSetSummary', ], ], 'ByteMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'Name', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'ByteMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ByteMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ByteMatchTuple' => [ 'shape' => 'ByteMatchTuple', ], ], ], 'ByteMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchSetUpdate', ], 'min' => 1, ], 'ByteMatchTargetString' => [ 'type' => 'blob', ], 'ByteMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TargetString', 'TextTransformation', 'PositionalConstraint', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TargetString' => [ 'shape' => 'ByteMatchTargetString', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'PositionalConstraint' => [ 'shape' => 'PositionalConstraint', ], ], ], 'ByteMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'ByteMatchTuple', ], ], 'ChangeAction' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'DELETE', ], ], 'ChangeToken' => [ 'type' => 'string', 'min' => 1, ], 'ChangeTokenStatus' => [ 'type' => 'string', 'enum' => [ 'PROVISIONED', 'PENDING', 'INSYNC', ], ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'EQ', 'NE', 'LE', 'LT', 'GE', 'GT', ], ], 'Country' => [ 'type' => 'string', ], 'CreateByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ByteMatchSet' => [ 'shape' => 'ByteMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'GeoMatchSet' => [ 'shape' => 'GeoMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'IPSet' => [ 'shape' => 'IPSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'RateKey', 'RateLimit', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'RateKey' => [ 'shape' => 'RateKey', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'RateBasedRule', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSet' => [ 'shape' => 'RegexMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexPatternSet' => [ 'shape' => 'RegexPatternSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'RuleGroup' => [ 'shape' => 'RuleGroup', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'Rule', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'SizeConstraintSet' => [ 'shape' => 'SizeConstraintSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'SqlInjectionMatchSet' => [ 'shape' => 'SqlInjectionMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'MetricName', 'DefaultAction', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'WebACL' => [ 'shape' => 'WebACL', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'ChangeToken', ], 'members' => [ 'Name' => [ 'shape' => 'ResourceName', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'CreateXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'XssMatchSet' => [ 'shape' => 'XssMatchSet', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ChangeToken', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'ChangeToken', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'ChangeToken', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DeleteLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeletePermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'DeletePermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'ChangeToken', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'ChangeToken', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'ChangeToken', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'ChangeToken', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'ChangeToken', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'ChangeToken', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'ChangeToken', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'DeleteXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'ExcludedRule' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'ExcludedRules' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExcludedRule', ], ], 'FieldToMatch' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'MatchFieldType', ], 'Data' => [ 'shape' => 'MatchFieldData', ], ], ], 'GeoMatchConstraint' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'GeoMatchConstraintType', ], 'Value' => [ 'shape' => 'GeoMatchConstraintValue', ], ], ], 'GeoMatchConstraintType' => [ 'type' => 'string', 'enum' => [ 'Country', ], ], 'GeoMatchConstraintValue' => [ 'type' => 'string', 'enum' => [ 'AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BQ', 'BA', 'BW', 'BV', 'BR', 'IO', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CD', 'CK', 'CR', 'CI', 'HR', 'CU', 'CW', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'VA', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'KP', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MD', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'MP', 'NO', 'OM', 'PK', 'PW', 'PS', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'BL', 'SH', 'KN', 'LC', 'MF', 'PM', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SX', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'SS', 'ES', 'LK', 'SD', 'SR', 'SJ', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UG', 'UA', 'AE', 'GB', 'US', 'UM', 'UY', 'UZ', 'VU', 'VE', 'VN', 'VG', 'VI', 'WF', 'EH', 'YE', 'ZM', 'ZW', ], ], 'GeoMatchConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchConstraint', ], ], 'GeoMatchSet' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'GeoMatchConstraints', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'GeoMatchConstraints' => [ 'shape' => 'GeoMatchConstraints', ], ], ], 'GeoMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchSetSummary', ], ], 'GeoMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'Name', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'GeoMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'GeoMatchConstraint', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'GeoMatchConstraint' => [ 'shape' => 'GeoMatchConstraint', ], ], ], 'GeoMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'GeoMatchSetUpdate', ], 'min' => 1, ], 'GetByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ByteMatchSet' => [ 'shape' => 'ByteMatchSet', ], ], ], 'GetChangeTokenRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetChangeTokenResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'GetChangeTokenStatusRequest' => [ 'type' => 'structure', 'required' => [ 'ChangeToken', ], 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'GetChangeTokenStatusResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeTokenStatus' => [ 'shape' => 'ChangeTokenStatus', ], ], ], 'GetGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'GeoMatchSet' => [ 'shape' => 'GeoMatchSet', ], ], ], 'GetIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'IPSet' => [ 'shape' => 'IPSet', ], ], ], 'GetLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'GetPermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], ], ], 'GetPermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [ 'Policy' => [ 'shape' => 'PolicyString', ], ], ], 'GetRateBasedRuleManagedKeysRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'GetRateBasedRuleManagedKeysResponse' => [ 'type' => 'structure', 'members' => [ 'ManagedKeys' => [ 'shape' => 'ManagedKeys', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'GetRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'RateBasedRule', ], ], ], 'GetRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSet' => [ 'shape' => 'RegexMatchSet', ], ], ], 'GetRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'RegexPatternSet' => [ 'shape' => 'RegexPatternSet', ], ], ], 'GetRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'RuleGroup' => [ 'shape' => 'RuleGroup', ], ], ], 'GetRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], ], ], 'GetRuleResponse' => [ 'type' => 'structure', 'members' => [ 'Rule' => [ 'shape' => 'Rule', ], ], ], 'GetSampledRequestsMaxItems' => [ 'type' => 'long', 'max' => 500, 'min' => 1, ], 'GetSampledRequestsRequest' => [ 'type' => 'structure', 'required' => [ 'WebAclId', 'RuleId', 'TimeWindow', 'MaxItems', ], 'members' => [ 'WebAclId' => [ 'shape' => 'ResourceId', ], 'RuleId' => [ 'shape' => 'ResourceId', ], 'TimeWindow' => [ 'shape' => 'TimeWindow', ], 'MaxItems' => [ 'shape' => 'GetSampledRequestsMaxItems', ], ], ], 'GetSampledRequestsResponse' => [ 'type' => 'structure', 'members' => [ 'SampledRequests' => [ 'shape' => 'SampledHTTPRequests', ], 'PopulationSize' => [ 'shape' => 'PopulationSize', ], 'TimeWindow' => [ 'shape' => 'TimeWindow', ], ], ], 'GetSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'SizeConstraintSet' => [ 'shape' => 'SizeConstraintSet', ], ], ], 'GetSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'SqlInjectionMatchSet' => [ 'shape' => 'SqlInjectionMatchSet', ], ], ], 'GetWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], ], ], 'GetWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'WebACL' => [ 'shape' => 'WebACL', ], ], ], 'GetXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], ], ], 'GetXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'XssMatchSet' => [ 'shape' => 'XssMatchSet', ], ], ], 'HTTPHeader' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'HeaderName', ], 'Value' => [ 'shape' => 'HeaderValue', ], ], ], 'HTTPHeaders' => [ 'type' => 'list', 'member' => [ 'shape' => 'HTTPHeader', ], ], 'HTTPMethod' => [ 'type' => 'string', ], 'HTTPRequest' => [ 'type' => 'structure', 'members' => [ 'ClientIP' => [ 'shape' => 'IPString', ], 'Country' => [ 'shape' => 'Country', ], 'URI' => [ 'shape' => 'URIString', ], 'Method' => [ 'shape' => 'HTTPMethod', ], 'HTTPVersion' => [ 'shape' => 'HTTPVersion', ], 'Headers' => [ 'shape' => 'HTTPHeaders', ], ], ], 'HTTPVersion' => [ 'type' => 'string', ], 'HeaderName' => [ 'type' => 'string', ], 'HeaderValue' => [ 'type' => 'string', ], 'IPSet' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'IPSetDescriptors', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'IPSetDescriptors' => [ 'shape' => 'IPSetDescriptors', ], ], ], 'IPSetDescriptor' => [ 'type' => 'structure', 'required' => [ 'Type', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'IPSetDescriptorType', ], 'Value' => [ 'shape' => 'IPSetDescriptorValue', ], ], ], 'IPSetDescriptorType' => [ 'type' => 'string', 'enum' => [ 'IPV4', 'IPV6', ], ], 'IPSetDescriptorValue' => [ 'type' => 'string', ], 'IPSetDescriptors' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetDescriptor', ], ], 'IPSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetSummary', ], ], 'IPSetSummary' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'Name', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'IPSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'IPSetDescriptor', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'IPSetDescriptor' => [ 'shape' => 'IPSetDescriptor', ], ], ], 'IPSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'IPSetUpdate', ], 'min' => 1, ], 'IPString' => [ 'type' => 'string', ], 'ListActivatedRulesInRuleGroupRequest' => [ 'type' => 'structure', 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListActivatedRulesInRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'ActivatedRules' => [ 'shape' => 'ActivatedRules', ], ], ], 'ListByteMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListByteMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'ByteMatchSets' => [ 'shape' => 'ByteMatchSetSummaries', ], ], ], 'ListGeoMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListGeoMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'GeoMatchSets' => [ 'shape' => 'GeoMatchSetSummaries', ], ], ], 'ListIPSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListIPSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'IPSets' => [ 'shape' => 'IPSetSummaries', ], ], ], 'ListLoggingConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListLoggingConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfigurations' => [ 'shape' => 'LoggingConfigurations', ], 'NextMarker' => [ 'shape' => 'NextMarker', ], ], ], 'ListRateBasedRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRateBasedRulesResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Rules' => [ 'shape' => 'RuleSummaries', ], ], ], 'ListRegexMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRegexMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RegexMatchSets' => [ 'shape' => 'RegexMatchSetSummaries', ], ], ], 'ListRegexPatternSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRegexPatternSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RegexPatternSets' => [ 'shape' => 'RegexPatternSetSummaries', ], ], ], 'ListRuleGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRuleGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RuleGroups' => [ 'shape' => 'RuleGroupSummaries', ], ], ], 'ListRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListRulesResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Rules' => [ 'shape' => 'RuleSummaries', ], ], ], 'ListSizeConstraintSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSizeConstraintSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'SizeConstraintSets' => [ 'shape' => 'SizeConstraintSetSummaries', ], ], ], 'ListSqlInjectionMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSqlInjectionMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'SqlInjectionMatchSets' => [ 'shape' => 'SqlInjectionMatchSetSummaries', ], ], ], 'ListSubscribedRuleGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListSubscribedRuleGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'RuleGroups' => [ 'shape' => 'SubscribedRuleGroupSummaries', ], ], ], 'ListWebACLsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListWebACLsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'WebACLs' => [ 'shape' => 'WebACLSummaries', ], ], ], 'ListXssMatchSetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'Limit' => [ 'shape' => 'PaginationLimit', ], ], ], 'ListXssMatchSetsResponse' => [ 'type' => 'structure', 'members' => [ 'NextMarker' => [ 'shape' => 'NextMarker', ], 'XssMatchSets' => [ 'shape' => 'XssMatchSetSummaries', ], ], ], 'LogDestinationConfigs' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], 'max' => 1, 'min' => 1, ], 'LoggingConfiguration' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'LogDestinationConfigs', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'LogDestinationConfigs' => [ 'shape' => 'LogDestinationConfigs', ], 'RedactedFields' => [ 'shape' => 'RedactedFields', ], ], ], 'LoggingConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'LoggingConfiguration', ], ], 'ManagedKey' => [ 'type' => 'string', ], 'ManagedKeys' => [ 'type' => 'list', 'member' => [ 'shape' => 'ManagedKey', ], ], 'MatchFieldData' => [ 'type' => 'string', ], 'MatchFieldType' => [ 'type' => 'string', 'enum' => [ 'URI', 'QUERY_STRING', 'HEADER', 'METHOD', 'BODY', 'SINGLE_QUERY_ARG', 'ALL_QUERY_ARGS', ], ], 'MetricName' => [ 'type' => 'string', ], 'Negated' => [ 'type' => 'boolean', ], 'NextMarker' => [ 'type' => 'string', 'min' => 1, ], 'PaginationLimit' => [ 'type' => 'integer', 'max' => 100, 'min' => 0, ], 'ParameterExceptionField' => [ 'type' => 'string', 'enum' => [ 'CHANGE_ACTION', 'WAF_ACTION', 'WAF_OVERRIDE_ACTION', 'PREDICATE_TYPE', 'IPSET_TYPE', 'BYTE_MATCH_FIELD_TYPE', 'SQL_INJECTION_MATCH_FIELD_TYPE', 'BYTE_MATCH_TEXT_TRANSFORMATION', 'BYTE_MATCH_POSITIONAL_CONSTRAINT', 'SIZE_CONSTRAINT_COMPARISON_OPERATOR', 'GEO_MATCH_LOCATION_TYPE', 'GEO_MATCH_LOCATION_VALUE', 'RATE_KEY', 'RULE_TYPE', 'NEXT_MARKER', 'RESOURCE_ARN', ], ], 'ParameterExceptionParameter' => [ 'type' => 'string', 'min' => 1, ], 'ParameterExceptionReason' => [ 'type' => 'string', 'enum' => [ 'INVALID_OPTION', 'ILLEGAL_COMBINATION', 'ILLEGAL_ARGUMENT', ], ], 'PolicyString' => [ 'type' => 'string', 'min' => 1, ], 'PopulationSize' => [ 'type' => 'long', ], 'PositionalConstraint' => [ 'type' => 'string', 'enum' => [ 'EXACTLY', 'STARTS_WITH', 'ENDS_WITH', 'CONTAINS', 'CONTAINS_WORD', ], ], 'Predicate' => [ 'type' => 'structure', 'required' => [ 'Negated', 'Type', 'DataId', ], 'members' => [ 'Negated' => [ 'shape' => 'Negated', ], 'Type' => [ 'shape' => 'PredicateType', ], 'DataId' => [ 'shape' => 'ResourceId', ], ], ], 'PredicateType' => [ 'type' => 'string', 'enum' => [ 'IPMatch', 'ByteMatch', 'SqlInjectionMatch', 'GeoMatch', 'SizeConstraint', 'XssMatch', 'RegexMatch', ], ], 'Predicates' => [ 'type' => 'list', 'member' => [ 'shape' => 'Predicate', ], ], 'PutLoggingConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'LoggingConfiguration', ], 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'PutLoggingConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'LoggingConfiguration' => [ 'shape' => 'LoggingConfiguration', ], ], ], 'PutPermissionPolicyRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Policy', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Policy' => [ 'shape' => 'PolicyString', ], ], ], 'PutPermissionPolicyResponse' => [ 'type' => 'structure', 'members' => [], ], 'RateBasedRule' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'MatchPredicates', 'RateKey', 'RateLimit', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'MatchPredicates' => [ 'shape' => 'Predicates', ], 'RateKey' => [ 'shape' => 'RateKey', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], ], ], 'RateKey' => [ 'type' => 'string', 'enum' => [ 'IP', ], ], 'RateLimit' => [ 'type' => 'long', 'max' => 2000000000, 'min' => 2000, ], 'RedactedFields' => [ 'type' => 'list', 'member' => [ 'shape' => 'FieldToMatch', ], ], 'RegexMatchSet' => [ 'type' => 'structure', 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'RegexMatchTuples' => [ 'shape' => 'RegexMatchTuples', ], ], ], 'RegexMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchSetSummary', ], ], 'RegexMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'Name', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RegexMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'RegexMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'RegexMatchTuple' => [ 'shape' => 'RegexMatchTuple', ], ], ], 'RegexMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchSetUpdate', ], 'min' => 1, ], 'RegexMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', 'RegexPatternSetId', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], ], ], 'RegexMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexMatchTuple', ], ], 'RegexPatternSet' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'RegexPatternStrings', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'RegexPatternStrings' => [ 'shape' => 'RegexPatternStrings', ], ], ], 'RegexPatternSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternSetSummary', ], ], 'RegexPatternSetSummary' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'Name', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RegexPatternSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'RegexPatternString', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'RegexPatternString' => [ 'shape' => 'RegexPatternString', ], ], ], 'RegexPatternSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternSetUpdate', ], 'min' => 1, ], 'RegexPatternString' => [ 'type' => 'string', 'min' => 1, ], 'RegexPatternStrings' => [ 'type' => 'list', 'member' => [ 'shape' => 'RegexPatternString', ], 'max' => 10, ], 'ResourceArn' => [ 'type' => 'string', 'max' => 1224, 'min' => 1, ], 'ResourceId' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'ResourceName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'Rule' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'Predicates', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Predicates' => [ 'shape' => 'Predicates', ], ], ], 'RuleGroup' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], ], ], 'RuleGroupSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleGroupSummary', ], ], 'RuleGroupSummary' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Name', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RuleGroupUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ActivatedRule', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ActivatedRule' => [ 'shape' => 'ActivatedRule', ], ], ], 'RuleGroupUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleGroupUpdate', ], 'min' => 1, ], 'RulePriority' => [ 'type' => 'integer', ], 'RuleSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleSummary', ], ], 'RuleSummary' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'Name', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'RuleUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'Predicate', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'Predicate' => [ 'shape' => 'Predicate', ], ], ], 'RuleUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'RuleUpdate', ], ], 'SampleWeight' => [ 'type' => 'long', 'min' => 0, ], 'SampledHTTPRequest' => [ 'type' => 'structure', 'required' => [ 'Request', 'Weight', ], 'members' => [ 'Request' => [ 'shape' => 'HTTPRequest', ], 'Weight' => [ 'shape' => 'SampleWeight', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'Action' => [ 'shape' => 'Action', ], 'RuleWithinRuleGroup' => [ 'shape' => 'ResourceId', ], ], ], 'SampledHTTPRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'SampledHTTPRequest', ], ], 'Size' => [ 'type' => 'long', 'max' => 21474836480, 'min' => 0, ], 'SizeConstraint' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', 'ComparisonOperator', 'Size', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'Size' => [ 'shape' => 'Size', ], ], ], 'SizeConstraintSet' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'SizeConstraints', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'SizeConstraints' => [ 'shape' => 'SizeConstraints', ], ], ], 'SizeConstraintSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraintSetSummary', ], ], 'SizeConstraintSetSummary' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'Name', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'SizeConstraintSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'SizeConstraint', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'SizeConstraint' => [ 'shape' => 'SizeConstraint', ], ], ], 'SizeConstraintSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraintSetUpdate', ], 'min' => 1, ], 'SizeConstraints' => [ 'type' => 'list', 'member' => [ 'shape' => 'SizeConstraint', ], ], 'SqlInjectionMatchSet' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'SqlInjectionMatchTuples', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'SqlInjectionMatchTuples' => [ 'shape' => 'SqlInjectionMatchTuples', ], ], ], 'SqlInjectionMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchSetSummary', ], ], 'SqlInjectionMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'Name', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'SqlInjectionMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'SqlInjectionMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'SqlInjectionMatchTuple' => [ 'shape' => 'SqlInjectionMatchTuple', ], ], ], 'SqlInjectionMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchSetUpdate', ], 'min' => 1, ], 'SqlInjectionMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], ], ], 'SqlInjectionMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'SqlInjectionMatchTuple', ], ], 'SubscribedRuleGroupSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubscribedRuleGroupSummary', ], ], 'SubscribedRuleGroupSummary' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Name', 'MetricName', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], ], ], 'TextTransformation' => [ 'type' => 'string', 'enum' => [ 'NONE', 'COMPRESS_WHITE_SPACE', 'HTML_ENTITY_DECODE', 'LOWERCASE', 'CMD_LINE', 'URL_DECODE', ], ], 'TimeWindow' => [ 'type' => 'structure', 'required' => [ 'StartTime', 'EndTime', ], 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'URIString' => [ 'type' => 'string', ], 'UpdateByteMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'ByteMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'ByteMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'ByteMatchSetUpdates', ], ], ], 'UpdateByteMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateGeoMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'GeoMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'GeoMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'GeoMatchSetUpdates', ], ], ], 'UpdateGeoMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateIPSetRequest' => [ 'type' => 'structure', 'required' => [ 'IPSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'IPSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'IPSetUpdates', ], ], ], 'UpdateIPSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRateBasedRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', 'Updates', 'RateLimit', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'RuleUpdates', ], 'RateLimit' => [ 'shape' => 'RateLimit', ], ], ], 'UpdateRateBasedRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexMatchSetId', 'Updates', 'ChangeToken', ], 'members' => [ 'RegexMatchSetId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RegexMatchSetUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexPatternSetRequest' => [ 'type' => 'structure', 'required' => [ 'RegexPatternSetId', 'Updates', 'ChangeToken', ], 'members' => [ 'RegexPatternSetId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RegexPatternSetUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRegexPatternSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleGroupRequest' => [ 'type' => 'structure', 'required' => [ 'RuleGroupId', 'Updates', 'ChangeToken', ], 'members' => [ 'RuleGroupId' => [ 'shape' => 'ResourceId', ], 'Updates' => [ 'shape' => 'RuleGroupUpdates', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleGroupResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateRuleRequest' => [ 'type' => 'structure', 'required' => [ 'RuleId', 'ChangeToken', 'Updates', ], 'members' => [ 'RuleId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'RuleUpdates', ], ], ], 'UpdateRuleResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateSizeConstraintSetRequest' => [ 'type' => 'structure', 'required' => [ 'SizeConstraintSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'SizeConstraintSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'SizeConstraintSetUpdates', ], ], ], 'UpdateSizeConstraintSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateSqlInjectionMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'SqlInjectionMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'SqlInjectionMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'SqlInjectionMatchSetUpdates', ], ], ], 'UpdateSqlInjectionMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateWebACLRequest' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'ChangeToken', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'WebACLUpdates', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], ], ], 'UpdateWebACLResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'UpdateXssMatchSetRequest' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'ChangeToken', 'Updates', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'ChangeToken' => [ 'shape' => 'ChangeToken', ], 'Updates' => [ 'shape' => 'XssMatchSetUpdates', ], ], ], 'UpdateXssMatchSetResponse' => [ 'type' => 'structure', 'members' => [ 'ChangeToken' => [ 'shape' => 'ChangeToken', ], ], ], 'WAFDisallowedNameException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInternalErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, 'fault' => true, ], 'WAFInvalidAccountException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'WAFInvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'field' => [ 'shape' => 'ParameterExceptionField', ], 'parameter' => [ 'shape' => 'ParameterExceptionParameter', ], 'reason' => [ 'shape' => 'ParameterExceptionReason', ], ], 'exception' => true, ], 'WAFInvalidPermissionPolicyException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFInvalidRegexPatternException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFLimitsExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonEmptyEntityException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonexistentContainerException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFNonexistentItemException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFReferencedItemException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFServiceLinkedRoleErrorException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFStaleDataException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WAFSubscriptionNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'WafAction' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'WafActionType', ], ], ], 'WafActionType' => [ 'type' => 'string', 'enum' => [ 'BLOCK', 'ALLOW', 'COUNT', ], ], 'WafOverrideAction' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'Type' => [ 'shape' => 'WafOverrideActionType', ], ], ], 'WafOverrideActionType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'COUNT', ], ], 'WafRuleType' => [ 'type' => 'string', 'enum' => [ 'REGULAR', 'RATE_BASED', 'GROUP', ], ], 'WebACL' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'DefaultAction', 'Rules', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'DefaultAction' => [ 'shape' => 'WafAction', ], 'Rules' => [ 'shape' => 'ActivatedRules', ], 'WebACLArn' => [ 'shape' => 'ResourceArn', ], ], ], 'WebACLSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebACLSummary', ], ], 'WebACLSummary' => [ 'type' => 'structure', 'required' => [ 'WebACLId', 'Name', ], 'members' => [ 'WebACLId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'WebACLUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'ActivatedRule', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'ActivatedRule' => [ 'shape' => 'ActivatedRule', ], ], ], 'WebACLUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebACLUpdate', ], ], 'XssMatchSet' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'XssMatchTuples', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'XssMatchTuples' => [ 'shape' => 'XssMatchTuples', ], ], ], 'XssMatchSetSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchSetSummary', ], ], 'XssMatchSetSummary' => [ 'type' => 'structure', 'required' => [ 'XssMatchSetId', 'Name', ], 'members' => [ 'XssMatchSetId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], ], ], 'XssMatchSetUpdate' => [ 'type' => 'structure', 'required' => [ 'Action', 'XssMatchTuple', ], 'members' => [ 'Action' => [ 'shape' => 'ChangeAction', ], 'XssMatchTuple' => [ 'shape' => 'XssMatchTuple', ], ], ], 'XssMatchSetUpdates' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchSetUpdate', ], 'min' => 1, ], 'XssMatchTuple' => [ 'type' => 'structure', 'required' => [ 'FieldToMatch', 'TextTransformation', ], 'members' => [ 'FieldToMatch' => [ 'shape' => 'FieldToMatch', ], 'TextTransformation' => [ 'shape' => 'TextTransformation', ], ], ], 'XssMatchTuples' => [ 'type' => 'list', 'member' => [ 'shape' => 'XssMatchTuple', ], ], 'errorMessage' => [ 'type' => 'string', ], ],]; diff --git a/lib/aws/Aws/data/waf/2015-08-24/paginators-1.json.php b/lib/aws/Aws/data/waf/2015-08-24/paginators-1.json.php new file mode 100644 index 0000000..24079f2 --- /dev/null +++ b/lib/aws/Aws/data/waf/2015-08-24/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf/2015-08-24/paginators-1.json +return [ 'pagination' => [],]; diff --git a/lib/aws/Aws/data/waf/2015-08-24/smoke.json.php b/lib/aws/Aws/data/waf/2015-08-24/smoke.json.php new file mode 100644 index 0000000..bfc9b32 --- /dev/null +++ b/lib/aws/Aws/data/waf/2015-08-24/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/waf/2015-08-24/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListRules', 'input' => [ 'Limit' => 20, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'CreateSqlInjectionMatchSet', 'input' => [ 'Name' => 'fake_name', 'ChangeToken' => 'fake_token', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/workdocs/2016-05-01/api-2.json.php b/lib/aws/Aws/data/workdocs/2016-05-01/api-2.json.php new file mode 100644 index 0000000..349fb6d --- /dev/null +++ b/lib/aws/Aws/data/workdocs/2016-05-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workdocs/2016-05-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-05-01', 'endpointPrefix' => 'workdocs', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon WorkDocs', 'serviceId' => 'WorkDocs', 'signatureVersion' => 'v4', 'uid' => 'workdocs-2016-05-01', ], 'operations' => [ 'AbortDocumentVersionUpload' => [ 'name' => 'AbortDocumentVersionUpload', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'AbortDocumentVersionUploadRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'ActivateUser' => [ 'name' => 'ActivateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/users/{UserId}/activation', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ActivateUserRequest', ], 'output' => [ 'shape' => 'ActivateUserResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'AddResourcePermissions' => [ 'name' => 'AddResourcePermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/resources/{ResourceId}/permissions', 'responseCode' => 201, ], 'input' => [ 'shape' => 'AddResourcePermissionsRequest', ], 'output' => [ 'shape' => 'AddResourcePermissionsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateComment' => [ 'name' => 'CreateComment', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}/comment', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateCommentRequest', ], 'output' => [ 'shape' => 'CreateCommentResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DocumentLockedForCommentsException', ], [ 'shape' => 'InvalidCommentOperationException', ], ], ], 'CreateCustomMetadata' => [ 'name' => 'CreateCustomMetadata', 'http' => [ 'method' => 'PUT', 'requestUri' => '/api/v1/resources/{ResourceId}/customMetadata', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateCustomMetadataRequest', ], 'output' => [ 'shape' => 'CreateCustomMetadataResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'CustomMetadataLimitExceededException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateFolder' => [ 'name' => 'CreateFolder', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/folders', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateFolderRequest', ], 'output' => [ 'shape' => 'CreateFolderResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateLabels' => [ 'name' => 'CreateLabels', 'http' => [ 'method' => 'PUT', 'requestUri' => '/api/v1/resources/{ResourceId}/labels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateLabelsRequest', ], 'output' => [ 'shape' => 'CreateLabelsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'TooManyLabelsException', ], ], ], 'CreateNotificationSubscription' => [ 'name' => 'CreateNotificationSubscription', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/organizations/{OrganizationId}/subscriptions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'CreateNotificationSubscriptionRequest', ], 'output' => [ 'shape' => 'CreateNotificationSubscriptionResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'TooManySubscriptionsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/users', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeactivateUser' => [ 'name' => 'DeactivateUser', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/users/{UserId}/activation', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeactivateUserRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteComment' => [ 'name' => 'DeleteComment', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteCommentRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DocumentLockedForCommentsException', ], ], ], 'DeleteCustomMetadata' => [ 'name' => 'DeleteCustomMetadata', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/resources/{ResourceId}/customMetadata', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteCustomMetadataRequest', ], 'output' => [ 'shape' => 'DeleteCustomMetadataResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteDocument' => [ 'name' => 'DeleteDocument', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/documents/{DocumentId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteDocumentRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteFolder' => [ 'name' => 'DeleteFolder', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/folders/{FolderId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFolderRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteFolderContents' => [ 'name' => 'DeleteFolderContents', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/folders/{FolderId}/contents', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteFolderContentsRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteLabels' => [ 'name' => 'DeleteLabels', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/resources/{ResourceId}/labels', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteLabelsRequest', ], 'output' => [ 'shape' => 'DeleteLabelsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DeleteNotificationSubscription' => [ 'name' => 'DeleteNotificationSubscription', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DeleteNotificationSubscriptionRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ProhibitedStateException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/users/{UserId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeActivities' => [ 'name' => 'DescribeActivities', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/activities', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeActivitiesRequest', ], 'output' => [ 'shape' => 'DescribeActivitiesResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeComments' => [ 'name' => 'DescribeComments', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}/comments', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeCommentsRequest', ], 'output' => [ 'shape' => 'DescribeCommentsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeDocumentVersions' => [ 'name' => 'DescribeDocumentVersions', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/documents/{DocumentId}/versions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeDocumentVersionsRequest', ], 'output' => [ 'shape' => 'DescribeDocumentVersionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ProhibitedStateException', ], ], ], 'DescribeFolderContents' => [ 'name' => 'DescribeFolderContents', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/folders/{FolderId}/contents', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeFolderContentsRequest', ], 'output' => [ 'shape' => 'DescribeFolderContentsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ProhibitedStateException', ], ], ], 'DescribeGroups' => [ 'name' => 'DescribeGroups', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/groups', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeGroupsRequest', ], 'output' => [ 'shape' => 'DescribeGroupsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeNotificationSubscriptions' => [ 'name' => 'DescribeNotificationSubscriptions', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/organizations/{OrganizationId}/subscriptions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeNotificationSubscriptionsRequest', ], 'output' => [ 'shape' => 'DescribeNotificationSubscriptionsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeResourcePermissions' => [ 'name' => 'DescribeResourcePermissions', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/resources/{ResourceId}/permissions', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeResourcePermissionsRequest', ], 'output' => [ 'shape' => 'DescribeResourcePermissionsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeRootFolders' => [ 'name' => 'DescribeRootFolders', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/me/root', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeRootFoldersRequest', ], 'output' => [ 'shape' => 'DescribeRootFoldersResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'DescribeUsers' => [ 'name' => 'DescribeUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/users', 'responseCode' => 200, ], 'input' => [ 'shape' => 'DescribeUsersRequest', ], 'output' => [ 'shape' => 'DescribeUsersResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'RequestedEntityTooLargeException', ], ], ], 'GetCurrentUser' => [ 'name' => 'GetCurrentUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/me', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetCurrentUserRequest', ], 'output' => [ 'shape' => 'GetCurrentUserResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetDocument' => [ 'name' => 'GetDocument', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/documents/{DocumentId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDocumentRequest', ], 'output' => [ 'shape' => 'GetDocumentResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidPasswordException', ], ], ], 'GetDocumentPath' => [ 'name' => 'GetDocumentPath', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/documents/{DocumentId}/path', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDocumentPathRequest', ], 'output' => [ 'shape' => 'GetDocumentPathResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetDocumentVersion' => [ 'name' => 'GetDocumentVersion', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetDocumentVersionRequest', ], 'output' => [ 'shape' => 'GetDocumentVersionResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'InvalidPasswordException', ], ], ], 'GetFolder' => [ 'name' => 'GetFolder', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/folders/{FolderId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFolderRequest', ], 'output' => [ 'shape' => 'GetFolderResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ProhibitedStateException', ], ], ], 'GetFolderPath' => [ 'name' => 'GetFolderPath', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/folders/{FolderId}/path', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetFolderPathRequest', ], 'output' => [ 'shape' => 'GetFolderPathResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'GetResources' => [ 'name' => 'GetResources', 'http' => [ 'method' => 'GET', 'requestUri' => '/api/v1/resources', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetResourcesRequest', ], 'output' => [ 'shape' => 'GetResourcesResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'InitiateDocumentVersionUpload' => [ 'name' => 'InitiateDocumentVersionUpload', 'http' => [ 'method' => 'POST', 'requestUri' => '/api/v1/documents', 'responseCode' => 201, ], 'input' => [ 'shape' => 'InitiateDocumentVersionUploadRequest', ], 'output' => [ 'shape' => 'InitiateDocumentVersionUploadResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'StorageLimitExceededException', ], [ 'shape' => 'StorageLimitWillExceedException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DraftUploadOutOfSyncException', ], [ 'shape' => 'ResourceAlreadyCheckedOutException', ], ], ], 'RemoveAllResourcePermissions' => [ 'name' => 'RemoveAllResourcePermissions', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/resources/{ResourceId}/permissions', 'responseCode' => 204, ], 'input' => [ 'shape' => 'RemoveAllResourcePermissionsRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'RemoveResourcePermission' => [ 'name' => 'RemoveResourcePermission', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/api/v1/resources/{ResourceId}/permissions/{PrincipalId}', 'responseCode' => 204, ], 'input' => [ 'shape' => 'RemoveResourcePermissionRequest', ], 'errors' => [ [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateDocument' => [ 'name' => 'UpdateDocument', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/api/v1/documents/{DocumentId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDocumentRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateDocumentVersion' => [ 'name' => 'UpdateDocumentVersion', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/api/v1/documents/{DocumentId}/versions/{VersionId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateDocumentVersionRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'InvalidOperationException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateFolder' => [ 'name' => 'UpdateFolder', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/api/v1/folders/{FolderId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateFolderRequest', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'EntityAlreadyExistsException', ], [ 'shape' => 'ProhibitedStateException', ], [ 'shape' => 'ConflictingOperationException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/api/v1/users/{UserId}', 'responseCode' => 200, ], 'input' => [ 'shape' => 'UpdateUserRequest', ], 'output' => [ 'shape' => 'UpdateUserResponse', ], 'errors' => [ [ 'shape' => 'EntityNotExistsException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'IllegalUserStateException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'DeactivatingLastSystemUserException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], ], 'shapes' => [ 'AbortDocumentVersionUploadRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], ], ], 'ActivateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'UserId', ], 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], ], ], 'ActivateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'Activity' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ActivityType', ], 'TimeStamp' => [ 'shape' => 'TimestampType', ], 'IsIndirectActivity' => [ 'shape' => 'BooleanType', ], 'OrganizationId' => [ 'shape' => 'IdType', ], 'Initiator' => [ 'shape' => 'UserMetadata', ], 'Participants' => [ 'shape' => 'Participants', ], 'ResourceMetadata' => [ 'shape' => 'ResourceMetadata', ], 'OriginalParent' => [ 'shape' => 'ResourceMetadata', ], 'CommentMetadata' => [ 'shape' => 'CommentMetadata', ], ], ], 'ActivityNamesFilterType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'pattern' => '[\\w,]+', ], 'ActivityType' => [ 'type' => 'string', 'enum' => [ 'DOCUMENT_CHECKED_IN', 'DOCUMENT_CHECKED_OUT', 'DOCUMENT_RENAMED', 'DOCUMENT_VERSION_UPLOADED', 'DOCUMENT_VERSION_DELETED', 'DOCUMENT_VERSION_VIEWED', 'DOCUMENT_VERSION_DOWNLOADED', 'DOCUMENT_RECYCLED', 'DOCUMENT_RESTORED', 'DOCUMENT_REVERTED', 'DOCUMENT_SHARED', 'DOCUMENT_UNSHARED', 'DOCUMENT_SHARE_PERMISSION_CHANGED', 'DOCUMENT_SHAREABLE_LINK_CREATED', 'DOCUMENT_SHAREABLE_LINK_REMOVED', 'DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED', 'DOCUMENT_MOVED', 'DOCUMENT_COMMENT_ADDED', 'DOCUMENT_COMMENT_DELETED', 'DOCUMENT_ANNOTATION_ADDED', 'DOCUMENT_ANNOTATION_DELETED', 'FOLDER_CREATED', 'FOLDER_DELETED', 'FOLDER_RENAMED', 'FOLDER_RECYCLED', 'FOLDER_RESTORED', 'FOLDER_SHARED', 'FOLDER_UNSHARED', 'FOLDER_SHARE_PERMISSION_CHANGED', 'FOLDER_SHAREABLE_LINK_CREATED', 'FOLDER_SHAREABLE_LINK_REMOVED', 'FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED', 'FOLDER_MOVED', ], ], 'AddResourcePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'Principals', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'Principals' => [ 'shape' => 'SharePrincipalList', ], 'NotificationOptions' => [ 'shape' => 'NotificationOptions', ], ], ], 'AddResourcePermissionsResponse' => [ 'type' => 'structure', 'members' => [ 'ShareResults' => [ 'shape' => 'ShareResultsList', ], ], ], 'AuthenticationHeaderType' => [ 'type' => 'string', 'max' => 8199, 'min' => 1, 'sensitive' => true, ], 'BooleanEnumType' => [ 'type' => 'string', 'enum' => [ 'TRUE', 'FALSE', ], ], 'BooleanType' => [ 'type' => 'boolean', ], 'Comment' => [ 'type' => 'structure', 'required' => [ 'CommentId', ], 'members' => [ 'CommentId' => [ 'shape' => 'CommentIdType', ], 'ParentId' => [ 'shape' => 'CommentIdType', ], 'ThreadId' => [ 'shape' => 'CommentIdType', ], 'Text' => [ 'shape' => 'CommentTextType', ], 'Contributor' => [ 'shape' => 'User', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'Status' => [ 'shape' => 'CommentStatusType', ], 'Visibility' => [ 'shape' => 'CommentVisibilityType', ], 'RecipientId' => [ 'shape' => 'IdType', ], ], ], 'CommentIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+-.@]+', ], 'CommentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Comment', ], ], 'CommentMetadata' => [ 'type' => 'structure', 'members' => [ 'CommentId' => [ 'shape' => 'CommentIdType', ], 'Contributor' => [ 'shape' => 'User', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'CommentStatus' => [ 'shape' => 'CommentStatusType', ], 'RecipientId' => [ 'shape' => 'IdType', ], ], ], 'CommentStatusType' => [ 'type' => 'string', 'enum' => [ 'DRAFT', 'PUBLISHED', 'DELETED', ], ], 'CommentTextType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'sensitive' => true, ], 'CommentVisibilityType' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'PRIVATE', ], ], 'ConcurrentModificationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ConflictingOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CreateCommentRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', 'Text', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], 'ParentId' => [ 'shape' => 'CommentIdType', ], 'ThreadId' => [ 'shape' => 'CommentIdType', ], 'Text' => [ 'shape' => 'CommentTextType', ], 'Visibility' => [ 'shape' => 'CommentVisibilityType', ], 'NotifyCollaborators' => [ 'shape' => 'BooleanType', ], ], ], 'CreateCommentResponse' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'Comment', ], ], ], 'CreateCustomMetadataRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'CustomMetadata', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'querystring', 'locationName' => 'versionid', ], 'CustomMetadata' => [ 'shape' => 'CustomMetadataMap', ], ], ], 'CreateCustomMetadataResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateFolderRequest' => [ 'type' => 'structure', 'required' => [ 'ParentFolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], ], ], 'CreateFolderResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'FolderMetadata', ], ], ], 'CreateLabelsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'Labels', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'Labels' => [ 'shape' => 'SharedLabels', ], 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], ], ], 'CreateLabelsResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateNotificationSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'Endpoint', 'Protocol', 'SubscriptionType', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'OrganizationId', ], 'Endpoint' => [ 'shape' => 'SubscriptionEndPointType', ], 'Protocol' => [ 'shape' => 'SubscriptionProtocolType', ], 'SubscriptionType' => [ 'shape' => 'SubscriptionType', ], ], ], 'CreateNotificationSubscriptionResponse' => [ 'type' => 'structure', 'members' => [ 'Subscription' => [ 'shape' => 'Subscription', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'Username', 'GivenName', 'Surname', 'Password', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'IdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'EmailAddress' => [ 'shape' => 'EmailAddressType', ], 'GivenName' => [ 'shape' => 'UserAttributeValueType', ], 'Surname' => [ 'shape' => 'UserAttributeValueType', ], 'Password' => [ 'shape' => 'PasswordType', ], 'TimeZoneId' => [ 'shape' => 'TimeZoneIdType', ], 'StorageRule' => [ 'shape' => 'StorageRuleType', ], 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'CustomMetadataKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'CustomMetadataKeyType', ], 'max' => 8, ], 'CustomMetadataKeyType' => [ 'type' => 'string', 'max' => 56, 'min' => 1, 'pattern' => '[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*', ], 'CustomMetadataLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'CustomMetadataMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'CustomMetadataKeyType', ], 'value' => [ 'shape' => 'CustomMetadataValueType', ], 'max' => 8, 'min' => 1, ], 'CustomMetadataValueType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*', ], 'DeactivateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'UserId', ], 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], ], ], 'DeactivatingLastSystemUserException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DeleteCommentRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', 'CommentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], 'CommentId' => [ 'shape' => 'CommentIdType', 'location' => 'uri', 'locationName' => 'CommentId', ], ], ], 'DeleteCustomMetadataRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'querystring', 'locationName' => 'versionId', ], 'Keys' => [ 'shape' => 'CustomMetadataKeyList', 'location' => 'querystring', 'locationName' => 'keys', ], 'DeleteAll' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'deleteAll', ], ], ], 'DeleteCustomMetadataResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], ], ], 'DeleteFolderContentsRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'FolderId', ], ], ], 'DeleteFolderRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'FolderId', ], ], ], 'DeleteLabelsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'Labels' => [ 'shape' => 'SharedLabels', 'location' => 'querystring', 'locationName' => 'labels', ], 'DeleteAll' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'deleteAll', ], ], ], 'DeleteLabelsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteNotificationSubscriptionRequest' => [ 'type' => 'structure', 'required' => [ 'SubscriptionId', 'OrganizationId', ], 'members' => [ 'SubscriptionId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'SubscriptionId', ], 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'OrganizationId', ], ], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'UserId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'UserId', ], ], ], 'DescribeActivitiesRequest' => [ 'type' => 'structure', 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'StartTime' => [ 'shape' => 'TimestampType', 'location' => 'querystring', 'locationName' => 'startTime', ], 'EndTime' => [ 'shape' => 'TimestampType', 'location' => 'querystring', 'locationName' => 'endTime', ], 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'organizationId', ], 'ActivityTypes' => [ 'shape' => 'ActivityNamesFilterType', 'location' => 'querystring', 'locationName' => 'activityTypes', ], 'ResourceId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'resourceId', ], 'UserId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'userId', ], 'IncludeIndirectActivities' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'includeIndirectActivities', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'MarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'DescribeActivitiesResponse' => [ 'type' => 'structure', 'members' => [ 'UserActivities' => [ 'shape' => 'UserActivities', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'DescribeCommentsRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'MarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'DescribeCommentsResponse' => [ 'type' => 'structure', 'members' => [ 'Comments' => [ 'shape' => 'CommentList', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'DescribeDocumentVersionsRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Include' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'include', ], 'Fields' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'fields', ], ], ], 'DescribeDocumentVersionsResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentVersions' => [ 'shape' => 'DocumentVersionMetadataList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DescribeFolderContentsRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'FolderId', ], 'Sort' => [ 'shape' => 'ResourceSortType', 'location' => 'querystring', 'locationName' => 'sort', ], 'Order' => [ 'shape' => 'OrderType', 'location' => 'querystring', 'locationName' => 'order', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], 'Type' => [ 'shape' => 'FolderContentType', 'location' => 'querystring', 'locationName' => 'type', ], 'Include' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'include', ], ], ], 'DescribeFolderContentsResponse' => [ 'type' => 'structure', 'members' => [ 'Folders' => [ 'shape' => 'FolderMetadataList', ], 'Documents' => [ 'shape' => 'DocumentMetadataList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DescribeGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'SearchQuery', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'SearchQuery' => [ 'shape' => 'SearchQueryType', 'location' => 'querystring', 'locationName' => 'searchQuery', ], 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'organizationId', ], 'Marker' => [ 'shape' => 'MarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], 'Limit' => [ 'shape' => 'PositiveIntegerType', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'DescribeGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupMetadataList', ], 'Marker' => [ 'shape' => 'MarkerType', ], ], ], 'DescribeNotificationSubscriptionsRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'OrganizationId', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], ], ], 'DescribeNotificationSubscriptionsResponse' => [ 'type' => 'structure', 'members' => [ 'Subscriptions' => [ 'shape' => 'SubscriptionList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DescribeResourcePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'PrincipalId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'principalId', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'DescribeResourcePermissionsResponse' => [ 'type' => 'structure', 'members' => [ 'Principals' => [ 'shape' => 'PrincipalList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DescribeRootFoldersRequest' => [ 'type' => 'structure', 'required' => [ 'AuthenticationToken', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'DescribeRootFoldersResponse' => [ 'type' => 'structure', 'members' => [ 'Folders' => [ 'shape' => 'FolderMetadataList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DescribeUsersRequest' => [ 'type' => 'structure', 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'OrganizationId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'organizationId', ], 'UserIds' => [ 'shape' => 'UserIdsType', 'location' => 'querystring', 'locationName' => 'userIds', ], 'Query' => [ 'shape' => 'SearchQueryType', 'location' => 'querystring', 'locationName' => 'query', ], 'Include' => [ 'shape' => 'UserFilterType', 'location' => 'querystring', 'locationName' => 'include', ], 'Order' => [ 'shape' => 'OrderType', 'location' => 'querystring', 'locationName' => 'order', ], 'Sort' => [ 'shape' => 'UserSortType', 'location' => 'querystring', 'locationName' => 'sort', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Fields' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'fields', ], ], ], 'DescribeUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'OrganizationUserList', ], 'TotalNumberOfUsers' => [ 'shape' => 'SizeType', 'deprecated' => true, ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'DocumentContentType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, ], 'DocumentLockedForCommentsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'DocumentMetadata' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceIdType', ], 'CreatorId' => [ 'shape' => 'IdType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'LatestVersionMetadata' => [ 'shape' => 'DocumentVersionMetadata', ], 'ResourceState' => [ 'shape' => 'ResourceStateType', ], 'Labels' => [ 'shape' => 'SharedLabels', ], ], ], 'DocumentMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentMetadata', ], ], 'DocumentSourceType' => [ 'type' => 'string', 'enum' => [ 'ORIGINAL', 'WITH_COMMENTS', ], ], 'DocumentSourceUrlMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DocumentSourceType', ], 'value' => [ 'shape' => 'UrlType', ], ], 'DocumentStatusType' => [ 'type' => 'string', 'enum' => [ 'INITIALIZED', 'ACTIVE', ], ], 'DocumentThumbnailType' => [ 'type' => 'string', 'enum' => [ 'SMALL', 'SMALL_HQ', 'LARGE', ], ], 'DocumentThumbnailUrlMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'DocumentThumbnailType', ], 'value' => [ 'shape' => 'UrlType', ], ], 'DocumentVersionIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+-.@]+', ], 'DocumentVersionMetadata' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'DocumentVersionIdType', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'ContentType' => [ 'shape' => 'DocumentContentType', ], 'Size' => [ 'shape' => 'SizeType', ], 'Signature' => [ 'shape' => 'HashType', ], 'Status' => [ 'shape' => 'DocumentStatusType', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'ContentCreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ContentModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'CreatorId' => [ 'shape' => 'IdType', ], 'Thumbnail' => [ 'shape' => 'DocumentThumbnailUrlMap', ], 'Source' => [ 'shape' => 'DocumentSourceUrlMap', ], ], ], 'DocumentVersionMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentVersionMetadata', ], ], 'DocumentVersionStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', ], ], 'DraftUploadOutOfSyncException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'EmailAddressType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}', ], 'EntityAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'EntityIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IdType', ], ], 'EntityNotExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], 'EntityIds' => [ 'shape' => 'EntityIdList', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ErrorMessageType' => [ 'type' => 'string', ], 'FailedDependencyException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 424, ], 'exception' => true, ], 'FieldNamesType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w,]+', ], 'FolderContentType' => [ 'type' => 'string', 'enum' => [ 'ALL', 'DOCUMENT', 'FOLDER', ], ], 'FolderMetadata' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceIdType', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'CreatorId' => [ 'shape' => 'IdType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'ResourceState' => [ 'shape' => 'ResourceStateType', ], 'Signature' => [ 'shape' => 'HashType', ], 'Labels' => [ 'shape' => 'SharedLabels', ], 'Size' => [ 'shape' => 'SizeType', ], 'LatestVersionSize' => [ 'shape' => 'SizeType', ], ], ], 'FolderMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FolderMetadata', ], ], 'GetCurrentUserRequest' => [ 'type' => 'structure', 'required' => [ 'AuthenticationToken', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], ], ], 'GetCurrentUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'GetDocumentPathRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Fields' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'fields', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'GetDocumentPathResponse' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'ResourcePath', ], ], ], 'GetDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'IncludeCustomMetadata' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'includeCustomMetadata', ], ], ], 'GetDocumentResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'DocumentMetadata', ], 'CustomMetadata' => [ 'shape' => 'CustomMetadataMap', ], ], ], 'GetDocumentVersionRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], 'Fields' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'fields', ], 'IncludeCustomMetadata' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'includeCustomMetadata', ], ], ], 'GetDocumentVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'DocumentVersionMetadata', ], 'CustomMetadata' => [ 'shape' => 'CustomMetadataMap', ], ], ], 'GetFolderPathRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'FolderId', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Fields' => [ 'shape' => 'FieldNamesType', 'location' => 'querystring', 'locationName' => 'fields', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'GetFolderPathResponse' => [ 'type' => 'structure', 'members' => [ 'Path' => [ 'shape' => 'ResourcePath', ], ], ], 'GetFolderRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'FolderId', ], 'IncludeCustomMetadata' => [ 'shape' => 'BooleanType', 'location' => 'querystring', 'locationName' => 'includeCustomMetadata', ], ], ], 'GetFolderResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'FolderMetadata', ], 'CustomMetadata' => [ 'shape' => 'CustomMetadataMap', ], ], ], 'GetResourcesRequest' => [ 'type' => 'structure', 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'UserId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'userId', ], 'CollectionType' => [ 'shape' => 'ResourceCollectionType', 'location' => 'querystring', 'locationName' => 'collectionType', ], 'Limit' => [ 'shape' => 'LimitType', 'location' => 'querystring', 'locationName' => 'limit', ], 'Marker' => [ 'shape' => 'PageMarkerType', 'location' => 'querystring', 'locationName' => 'marker', ], ], ], 'GetResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'Folders' => [ 'shape' => 'FolderMetadataList', ], 'Documents' => [ 'shape' => 'DocumentMetadataList', ], 'Marker' => [ 'shape' => 'PageMarkerType', ], ], ], 'GroupMetadata' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Name' => [ 'shape' => 'GroupNameType', ], ], ], 'GroupMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupMetadata', ], ], 'GroupNameType' => [ 'type' => 'string', ], 'HashType' => [ 'type' => 'string', 'max' => 128, 'min' => 0, 'pattern' => '[&\\w+-.@]+', ], 'HeaderNameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w-]+', ], 'HeaderValueType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'IdType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[&\\w+-.@]+', ], 'IllegalUserStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'InitiateDocumentVersionUploadRequest' => [ 'type' => 'structure', 'required' => [ 'ParentFolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'Id' => [ 'shape' => 'ResourceIdType', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'ContentCreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ContentModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'ContentType' => [ 'shape' => 'DocumentContentType', ], 'DocumentSizeInBytes' => [ 'shape' => 'SizeType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], ], ], 'InitiateDocumentVersionUploadResponse' => [ 'type' => 'structure', 'members' => [ 'Metadata' => [ 'shape' => 'DocumentMetadata', ], 'UploadMetadata' => [ 'shape' => 'UploadMetadata', ], ], ], 'InvalidArgumentException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'InvalidCommentOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'InvalidOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 405, ], 'exception' => true, ], 'InvalidPasswordException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 401, ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'LimitType' => [ 'type' => 'integer', 'max' => 999, 'min' => 1, ], 'LocaleType' => [ 'type' => 'string', 'enum' => [ 'en', 'fr', 'ko', 'de', 'es', 'ja', 'ru', 'zh_CN', 'zh_TW', 'pt_BR', 'default', ], ], 'MarkerType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, 'pattern' => '[\\u0000-\\u00FF]+', ], 'MessageType' => [ 'type' => 'string', 'max' => 2048, 'min' => 0, 'sensitive' => true, ], 'NotificationOptions' => [ 'type' => 'structure', 'members' => [ 'SendEmail' => [ 'shape' => 'BooleanType', ], 'EmailMessage' => [ 'shape' => 'MessageType', ], ], ], 'OrderType' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'OrganizationUserList' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'PageMarkerType' => [ 'type' => 'string', 'max' => 2048, 'min' => 1, ], 'Participants' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'UserMetadataList', ], 'Groups' => [ 'shape' => 'GroupMetadataList', ], ], ], 'PasswordType' => [ 'type' => 'string', 'max' => 32, 'min' => 4, 'pattern' => '[\\u0020-\\u00FF]+', 'sensitive' => true, ], 'PermissionInfo' => [ 'type' => 'structure', 'members' => [ 'Role' => [ 'shape' => 'RoleType', ], 'Type' => [ 'shape' => 'RolePermissionType', ], ], ], 'PermissionInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PermissionInfo', ], ], 'PositiveIntegerType' => [ 'type' => 'integer', 'min' => 1, ], 'PositiveSizeType' => [ 'type' => 'long', 'min' => 0, ], 'Principal' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Type' => [ 'shape' => 'PrincipalType', ], 'Roles' => [ 'shape' => 'PermissionInfoList', ], ], ], 'PrincipalList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Principal', ], ], 'PrincipalType' => [ 'type' => 'string', 'enum' => [ 'USER', 'GROUP', 'INVITE', 'ANONYMOUS', 'ORGANIZATION', ], ], 'ProhibitedStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'RemoveAllResourcePermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], ], ], 'RemoveResourcePermissionRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'PrincipalId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'ResourceId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'ResourceId', ], 'PrincipalId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'PrincipalId', ], 'PrincipalType' => [ 'shape' => 'PrincipalType', 'location' => 'querystring', 'locationName' => 'type', ], ], ], 'RequestedEntityTooLargeException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'ResourceAlreadyCheckedOutException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'ResourceCollectionType' => [ 'type' => 'string', 'enum' => [ 'SHARED_WITH_ME', ], ], 'ResourceIdType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+-.@]+', ], 'ResourceMetadata' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'ResourceType', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'OriginalName' => [ 'shape' => 'ResourceNameType', ], 'Id' => [ 'shape' => 'ResourceIdType', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', ], 'Owner' => [ 'shape' => 'UserMetadata', ], 'ParentId' => [ 'shape' => 'ResourceIdType', ], ], ], 'ResourceNameType' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[\\u0020-\\u202D\\u202F-\\uFFFF]+', ], 'ResourcePath' => [ 'type' => 'structure', 'members' => [ 'Components' => [ 'shape' => 'ResourcePathComponentList', ], ], ], 'ResourcePathComponent' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Name' => [ 'shape' => 'ResourceNameType', ], ], ], 'ResourcePathComponentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourcePathComponent', ], ], 'ResourceSortType' => [ 'type' => 'string', 'enum' => [ 'DATE', 'NAME', ], ], 'ResourceStateType' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'RESTORING', 'RECYCLING', 'RECYCLED', ], ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'FOLDER', 'DOCUMENT', ], ], 'RolePermissionType' => [ 'type' => 'string', 'enum' => [ 'DIRECT', 'INHERITED', ], ], 'RoleType' => [ 'type' => 'string', 'enum' => [ 'VIEWER', 'CONTRIBUTOR', 'OWNER', 'COOWNER', ], ], 'SearchQueryType' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[\\u0020-\\uFFFF]+', 'sensitive' => true, ], 'ServiceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'SharePrincipal' => [ 'type' => 'structure', 'required' => [ 'Id', 'Type', 'Role', ], 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Type' => [ 'shape' => 'PrincipalType', ], 'Role' => [ 'shape' => 'RoleType', ], ], ], 'SharePrincipalList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SharePrincipal', ], ], 'ShareResult' => [ 'type' => 'structure', 'members' => [ 'PrincipalId' => [ 'shape' => 'IdType', ], 'InviteePrincipalId' => [ 'shape' => 'IdType', ], 'Role' => [ 'shape' => 'RoleType', ], 'Status' => [ 'shape' => 'ShareStatusType', ], 'ShareId' => [ 'shape' => 'ResourceIdType', ], 'StatusMessage' => [ 'shape' => 'MessageType', ], ], ], 'ShareResultsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ShareResult', ], ], 'ShareStatusType' => [ 'type' => 'string', 'enum' => [ 'SUCCESS', 'FAILURE', ], ], 'SharedLabel' => [ 'type' => 'string', 'max' => 32, 'min' => 1, 'pattern' => '[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*', ], 'SharedLabels' => [ 'type' => 'list', 'member' => [ 'shape' => 'SharedLabel', ], 'max' => 20, ], 'SignedHeaderMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'HeaderNameType', ], 'value' => [ 'shape' => 'HeaderValueType', ], ], 'SizeType' => [ 'type' => 'long', ], 'StorageLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'StorageLimitWillExceedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 413, ], 'exception' => true, ], 'StorageRuleType' => [ 'type' => 'structure', 'members' => [ 'StorageAllocatedInBytes' => [ 'shape' => 'PositiveSizeType', ], 'StorageType' => [ 'shape' => 'StorageType', ], ], ], 'StorageType' => [ 'type' => 'string', 'enum' => [ 'UNLIMITED', 'QUOTA', ], ], 'Subscription' => [ 'type' => 'structure', 'members' => [ 'SubscriptionId' => [ 'shape' => 'IdType', ], 'EndPoint' => [ 'shape' => 'SubscriptionEndPointType', ], 'Protocol' => [ 'shape' => 'SubscriptionProtocolType', ], ], ], 'SubscriptionEndPointType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'SubscriptionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscription', ], 'max' => 256, ], 'SubscriptionProtocolType' => [ 'type' => 'string', 'enum' => [ 'HTTPS', ], ], 'SubscriptionType' => [ 'type' => 'string', 'enum' => [ 'ALL', ], ], 'TimeZoneIdType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'TimestampType' => [ 'type' => 'timestamp', ], 'TooManyLabelsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TooManySubscriptionsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedOperationException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'UnauthorizedResourceAccessException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'UpdateDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], 'ResourceState' => [ 'shape' => 'ResourceStateType', ], ], ], 'UpdateDocumentVersionRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentId', 'VersionId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'DocumentId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'DocumentId', ], 'VersionId' => [ 'shape' => 'DocumentVersionIdType', 'location' => 'uri', 'locationName' => 'VersionId', ], 'VersionStatus' => [ 'shape' => 'DocumentVersionStatus', ], ], ], 'UpdateFolderRequest' => [ 'type' => 'structure', 'required' => [ 'FolderId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'FolderId' => [ 'shape' => 'ResourceIdType', 'location' => 'uri', 'locationName' => 'FolderId', ], 'Name' => [ 'shape' => 'ResourceNameType', ], 'ParentFolderId' => [ 'shape' => 'ResourceIdType', ], 'ResourceState' => [ 'shape' => 'ResourceStateType', ], ], ], 'UpdateUserRequest' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'AuthenticationToken' => [ 'shape' => 'AuthenticationHeaderType', 'location' => 'header', 'locationName' => 'Authentication', ], 'UserId' => [ 'shape' => 'IdType', 'location' => 'uri', 'locationName' => 'UserId', ], 'GivenName' => [ 'shape' => 'UserAttributeValueType', ], 'Surname' => [ 'shape' => 'UserAttributeValueType', ], 'Type' => [ 'shape' => 'UserType', ], 'StorageRule' => [ 'shape' => 'StorageRuleType', ], 'TimeZoneId' => [ 'shape' => 'TimeZoneIdType', ], 'Locale' => [ 'shape' => 'LocaleType', ], 'GrantPoweruserPrivileges' => [ 'shape' => 'BooleanEnumType', ], ], ], 'UpdateUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], ], ], 'UploadMetadata' => [ 'type' => 'structure', 'members' => [ 'UploadUrl' => [ 'shape' => 'UrlType', ], 'SignedHeaders' => [ 'shape' => 'SignedHeaderMap', ], ], ], 'UrlType' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, 'sensitive' => true, ], 'User' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'EmailAddress' => [ 'shape' => 'EmailAddressType', ], 'GivenName' => [ 'shape' => 'UserAttributeValueType', ], 'Surname' => [ 'shape' => 'UserAttributeValueType', ], 'OrganizationId' => [ 'shape' => 'IdType', ], 'RootFolderId' => [ 'shape' => 'ResourceIdType', ], 'RecycleBinFolderId' => [ 'shape' => 'ResourceIdType', ], 'Status' => [ 'shape' => 'UserStatusType', ], 'Type' => [ 'shape' => 'UserType', ], 'CreatedTimestamp' => [ 'shape' => 'TimestampType', ], 'ModifiedTimestamp' => [ 'shape' => 'TimestampType', ], 'TimeZoneId' => [ 'shape' => 'TimeZoneIdType', ], 'Locale' => [ 'shape' => 'LocaleType', ], 'Storage' => [ 'shape' => 'UserStorageMetadata', ], ], ], 'UserActivities' => [ 'type' => 'list', 'member' => [ 'shape' => 'Activity', ], ], 'UserAttributeValueType' => [ 'type' => 'string', 'max' => 64, 'min' => 1, ], 'UserFilterType' => [ 'type' => 'string', 'enum' => [ 'ALL', 'ACTIVE_PENDING', ], ], 'UserIdsType' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, 'pattern' => '[&\\w+-.@, ]+', ], 'UserMetadata' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'IdType', ], 'Username' => [ 'shape' => 'UsernameType', ], 'GivenName' => [ 'shape' => 'UserAttributeValueType', ], 'Surname' => [ 'shape' => 'UserAttributeValueType', ], 'EmailAddress' => [ 'shape' => 'EmailAddressType', ], ], ], 'UserMetadataList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserMetadata', ], ], 'UserSortType' => [ 'type' => 'string', 'enum' => [ 'USER_NAME', 'FULL_NAME', 'STORAGE_LIMIT', 'USER_STATUS', 'STORAGE_USED', ], ], 'UserStatusType' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', 'PENDING', ], ], 'UserStorageMetadata' => [ 'type' => 'structure', 'members' => [ 'StorageUtilizedInBytes' => [ 'shape' => 'SizeType', ], 'StorageRule' => [ 'shape' => 'StorageRuleType', ], ], ], 'UserType' => [ 'type' => 'string', 'enum' => [ 'USER', 'ADMIN', 'POWERUSER', 'MINIMALUSER', 'WORKSPACESUSER', ], ], 'UsernameType' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\w\\-+.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]+)?', ], ],]; diff --git a/lib/aws/Aws/data/workdocs/2016-05-01/paginators-1.json.php b/lib/aws/Aws/data/workdocs/2016-05-01/paginators-1.json.php new file mode 100644 index 0000000..73b7ce2 --- /dev/null +++ b/lib/aws/Aws/data/workdocs/2016-05-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workdocs/2016-05-01/paginators-1.json +return [ 'pagination' => [ 'DescribeDocumentVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'DocumentVersions', ], 'DescribeFolderContents' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => [ 'Folders', 'Documents', ], ], 'DescribeUsers' => [ 'input_token' => 'Marker', 'limit_key' => 'Limit', 'output_token' => 'Marker', 'result_key' => 'Users', ], ],]; diff --git a/lib/aws/Aws/data/worklink/2018-09-25/api-2.json.php b/lib/aws/Aws/data/worklink/2018-09-25/api-2.json.php new file mode 100644 index 0000000..5ec0fdc --- /dev/null +++ b/lib/aws/Aws/data/worklink/2018-09-25/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/worklink/2018-09-25/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2018-09-25', 'endpointPrefix' => 'worklink', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'WorkLink', 'serviceFullName' => 'Amazon WorkLink', 'serviceId' => 'WorkLink', 'signatureVersion' => 'v4', 'signingName' => 'worklink', 'uid' => 'worklink-2018-09-25', ], 'operations' => [ 'AssociateWebsiteCertificateAuthority' => [ 'name' => 'AssociateWebsiteCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/associateWebsiteCertificateAuthority', ], 'input' => [ 'shape' => 'AssociateWebsiteCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'AssociateWebsiteCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'CreateFleet' => [ 'name' => 'CreateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/createFleet', ], 'input' => [ 'shape' => 'CreateFleetRequest', ], 'output' => [ 'shape' => 'CreateFleetResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DeleteFleet' => [ 'name' => 'DeleteFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/deleteFleet', ], 'input' => [ 'shape' => 'DeleteFleetRequest', ], 'output' => [ 'shape' => 'DeleteFleetResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeAuditStreamConfiguration' => [ 'name' => 'DescribeAuditStreamConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeAuditStreamConfiguration', ], 'input' => [ 'shape' => 'DescribeAuditStreamConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeAuditStreamConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeCompanyNetworkConfiguration' => [ 'name' => 'DescribeCompanyNetworkConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeCompanyNetworkConfiguration', ], 'input' => [ 'shape' => 'DescribeCompanyNetworkConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeCompanyNetworkConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeDevice' => [ 'name' => 'DescribeDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeDevice', ], 'input' => [ 'shape' => 'DescribeDeviceRequest', ], 'output' => [ 'shape' => 'DescribeDeviceResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeDevicePolicyConfiguration' => [ 'name' => 'DescribeDevicePolicyConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeDevicePolicyConfiguration', ], 'input' => [ 'shape' => 'DescribeDevicePolicyConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeDevicePolicyConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeFleetMetadata' => [ 'name' => 'DescribeFleetMetadata', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeFleetMetadata', ], 'input' => [ 'shape' => 'DescribeFleetMetadataRequest', ], 'output' => [ 'shape' => 'DescribeFleetMetadataResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeIdentityProviderConfiguration' => [ 'name' => 'DescribeIdentityProviderConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeIdentityProviderConfiguration', ], 'input' => [ 'shape' => 'DescribeIdentityProviderConfigurationRequest', ], 'output' => [ 'shape' => 'DescribeIdentityProviderConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DescribeWebsiteCertificateAuthority' => [ 'name' => 'DescribeWebsiteCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/describeWebsiteCertificateAuthority', ], 'input' => [ 'shape' => 'DescribeWebsiteCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'DescribeWebsiteCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'DisassociateWebsiteCertificateAuthority' => [ 'name' => 'DisassociateWebsiteCertificateAuthority', 'http' => [ 'method' => 'POST', 'requestUri' => '/disassociateWebsiteCertificateAuthority', ], 'input' => [ 'shape' => 'DisassociateWebsiteCertificateAuthorityRequest', ], 'output' => [ 'shape' => 'DisassociateWebsiteCertificateAuthorityResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListDevices' => [ 'name' => 'ListDevices', 'http' => [ 'method' => 'POST', 'requestUri' => '/listDevices', ], 'input' => [ 'shape' => 'ListDevicesRequest', ], 'output' => [ 'shape' => 'ListDevicesResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListFleets' => [ 'name' => 'ListFleets', 'http' => [ 'method' => 'POST', 'requestUri' => '/listFleets', ], 'input' => [ 'shape' => 'ListFleetsRequest', ], 'output' => [ 'shape' => 'ListFleetsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'ListWebsiteCertificateAuthorities' => [ 'name' => 'ListWebsiteCertificateAuthorities', 'http' => [ 'method' => 'POST', 'requestUri' => '/listWebsiteCertificateAuthorities', ], 'input' => [ 'shape' => 'ListWebsiteCertificateAuthoritiesRequest', ], 'output' => [ 'shape' => 'ListWebsiteCertificateAuthoritiesResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'SignOutUser' => [ 'name' => 'SignOutUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/signOutUser', ], 'input' => [ 'shape' => 'SignOutUserRequest', ], 'output' => [ 'shape' => 'SignOutUserResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateAuditStreamConfiguration' => [ 'name' => 'UpdateAuditStreamConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateAuditStreamConfiguration', ], 'input' => [ 'shape' => 'UpdateAuditStreamConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateAuditStreamConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateCompanyNetworkConfiguration' => [ 'name' => 'UpdateCompanyNetworkConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateCompanyNetworkConfiguration', ], 'input' => [ 'shape' => 'UpdateCompanyNetworkConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateCompanyNetworkConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateDevicePolicyConfiguration' => [ 'name' => 'UpdateDevicePolicyConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateDevicePolicyConfiguration', ], 'input' => [ 'shape' => 'UpdateDevicePolicyConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateDevicePolicyConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateFleetMetadata' => [ 'name' => 'UpdateFleetMetadata', 'http' => [ 'method' => 'POST', 'requestUri' => '/UpdateFleetMetadata', ], 'input' => [ 'shape' => 'UpdateFleetMetadataRequest', ], 'output' => [ 'shape' => 'UpdateFleetMetadataResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], 'UpdateIdentityProviderConfiguration' => [ 'name' => 'UpdateIdentityProviderConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/updateIdentityProviderConfiguration', ], 'input' => [ 'shape' => 'UpdateIdentityProviderConfigurationRequest', ], 'output' => [ 'shape' => 'UpdateIdentityProviderConfigurationResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedException', ], [ 'shape' => 'InternalServerErrorException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], ], ], ], 'shapes' => [ 'AssociateWebsiteCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'Certificate', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'Certificate' => [ 'shape' => 'Certificate', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], ], ], 'AssociateWebsiteCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'WebsiteCaId' => [ 'shape' => 'Id', ], ], ], 'AuditStreamArn' => [ 'type' => 'string', ], 'Boolean' => [ 'type' => 'boolean', ], 'Certificate' => [ 'type' => 'string', 'max' => 8192, 'min' => 1, 'pattern' => '-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?', ], 'CertificateChain' => [ 'type' => 'string', 'max' => 32768, 'min' => 1, 'pattern' => '(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?', ], 'CompanyCode' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'CreateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'FleetName', ], 'members' => [ 'FleetName' => [ 'shape' => 'FleetName', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'OptimizeForEndUserLocation' => [ 'shape' => 'Boolean', ], ], ], 'CreateFleetResponse' => [ 'type' => 'structure', 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], 'DeleteFleetRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DeleteFleetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAuditStreamConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DescribeAuditStreamConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'AuditStreamArn' => [ 'shape' => 'AuditStreamArn', ], ], ], 'DescribeCompanyNetworkConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DescribeCompanyNetworkConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], ], ], 'DescribeDevicePolicyConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DescribeDevicePolicyConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'DeviceCaCertificate' => [ 'shape' => 'Certificate', ], ], ], 'DescribeDeviceRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'DeviceId', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'DeviceId' => [ 'shape' => 'Id', ], ], ], 'DescribeDeviceResponse' => [ 'type' => 'structure', 'members' => [ 'Status' => [ 'shape' => 'DeviceStatus', ], 'Model' => [ 'shape' => 'DeviceModel', ], 'Manufacturer' => [ 'shape' => 'DeviceManufacturer', ], 'OperatingSystem' => [ 'shape' => 'DeviceOperatingSystemName', ], 'OperatingSystemVersion' => [ 'shape' => 'DeviceOperatingSystemVersion', ], 'PatchLevel' => [ 'shape' => 'DevicePatchLevel', ], 'FirstAccessedTime' => [ 'shape' => 'DateTime', ], 'LastAccessedTime' => [ 'shape' => 'DateTime', ], 'Username' => [ 'shape' => 'Username', ], ], ], 'DescribeFleetMetadataRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DescribeFleetMetadataResponse' => [ 'type' => 'structure', 'members' => [ 'CreatedTime' => [ 'shape' => 'DateTime', ], 'LastUpdatedTime' => [ 'shape' => 'DateTime', ], 'FleetName' => [ 'shape' => 'FleetName', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'OptimizeForEndUserLocation' => [ 'shape' => 'Boolean', ], 'CompanyCode' => [ 'shape' => 'CompanyCode', ], 'FleetStatus' => [ 'shape' => 'FleetStatus', ], ], ], 'DescribeIdentityProviderConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], ], ], 'DescribeIdentityProviderConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityProviderType' => [ 'shape' => 'IdentityProviderType', ], 'ServiceProviderSamlMetadata' => [ 'shape' => 'SamlMetadata', ], 'IdentityProviderSamlMetadata' => [ 'shape' => 'SamlMetadata', ], ], ], 'DescribeWebsiteCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'WebsiteCaId', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'WebsiteCaId' => [ 'shape' => 'Id', ], ], ], 'DescribeWebsiteCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [ 'Certificate' => [ 'shape' => 'Certificate', ], 'CreatedTime' => [ 'shape' => 'DateTime', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], ], ], 'DeviceManufacturer' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DeviceModel' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DeviceOperatingSystemName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DeviceOperatingSystemVersion' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DevicePatchLevel' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'DeviceStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'SIGNED_OUT', ], ], 'DeviceSummary' => [ 'type' => 'structure', 'members' => [ 'DeviceId' => [ 'shape' => 'Id', ], 'DeviceStatus' => [ 'shape' => 'DeviceStatus', ], ], ], 'DeviceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeviceSummary', ], ], 'DisassociateWebsiteCertificateAuthorityRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'WebsiteCaId', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'WebsiteCaId' => [ 'shape' => 'Id', ], ], ], 'DisassociateWebsiteCertificateAuthorityResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisplayName' => [ 'type' => 'string', 'max' => 100, ], 'ExceptionMessage' => [ 'type' => 'string', ], 'FleetArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'FleetName' => [ 'type' => 'string', 'max' => 48, 'min' => 1, 'pattern' => '^[a-z0-9](?:[a-z0-9\\-]{0,46}[a-z0-9])?$', ], 'FleetStatus' => [ 'type' => 'string', 'enum' => [ 'CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED_TO_CREATE', 'FAILED_TO_DELETE', ], ], 'FleetSummary' => [ 'type' => 'structure', 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'CreatedTime' => [ 'shape' => 'DateTime', ], 'LastUpdatedTime' => [ 'shape' => 'DateTime', ], 'FleetName' => [ 'shape' => 'FleetName', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'CompanyCode' => [ 'shape' => 'CompanyCode', ], 'FleetStatus' => [ 'shape' => 'FleetStatus', ], ], ], 'FleetSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FleetSummary', ], ], 'Id' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'IdentityProviderType' => [ 'type' => 'string', 'enum' => [ 'SAML', ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ListDevicesRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListDevicesResponse' => [ 'type' => 'structure', 'members' => [ 'Devices' => [ 'shape' => 'DeviceSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListFleetsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListFleetsResponse' => [ 'type' => 'structure', 'members' => [ 'FleetSummaryList' => [ 'shape' => 'FleetSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListWebsiteCertificateAuthoritiesRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListWebsiteCertificateAuthoritiesResponse' => [ 'type' => 'structure', 'members' => [ 'WebsiteCertificateAuthorities' => [ 'shape' => 'WebsiteCaSummaryList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MaxResults' => [ 'type' => 'integer', 'min' => 1, ], 'NextToken' => [ 'type' => 'string', 'max' => 4096, 'min' => 1, 'pattern' => '[\\w\\-]+', ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'SamlMetadata' => [ 'type' => 'string', 'max' => 204800, 'min' => 1, ], 'SecurityGroupId' => [ 'type' => 'string', 'pattern' => '^sg-([0-9a-f]{8}|[0-9a-f]{17})$', ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], ], 'SignOutUserRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'Username', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'Username' => [ 'shape' => 'Username', ], ], ], 'SignOutUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'SubnetId' => [ 'type' => 'string', 'pattern' => '^subnet-([0-9a-f]{8}|[0-9a-f]{17})$', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ExceptionMessage', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, ], 'UpdateAuditStreamConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'AuditStreamArn' => [ 'shape' => 'AuditStreamArn', ], ], ], 'UpdateAuditStreamConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateCompanyNetworkConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'VpcId', 'SubnetIds', 'SecurityGroupIds', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIds', ], ], ], 'UpdateCompanyNetworkConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateDevicePolicyConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'DeviceCaCertificate' => [ 'shape' => 'CertificateChain', ], ], ], 'UpdateDevicePolicyConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateFleetMetadataRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], 'OptimizeForEndUserLocation' => [ 'shape' => 'Boolean', ], ], ], 'UpdateFleetMetadataResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateIdentityProviderConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'FleetArn', 'IdentityProviderType', ], 'members' => [ 'FleetArn' => [ 'shape' => 'FleetArn', ], 'IdentityProviderType' => [ 'shape' => 'IdentityProviderType', ], 'IdentityProviderSamlMetadata' => [ 'shape' => 'SamlMetadata', ], ], ], 'UpdateIdentityProviderConfigurationResponse' => [ 'type' => 'structure', 'members' => [], ], 'Username' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'VpcId' => [ 'type' => 'string', 'pattern' => '^vpc-([0-9a-f]{8}|[0-9a-f]{17})$', ], 'WebsiteCaSummary' => [ 'type' => 'structure', 'members' => [ 'WebsiteCaId' => [ 'shape' => 'Id', ], 'CreatedTime' => [ 'shape' => 'DateTime', ], 'DisplayName' => [ 'shape' => 'DisplayName', ], ], ], 'WebsiteCaSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WebsiteCaSummary', ], ], ],]; diff --git a/lib/aws/Aws/data/worklink/2018-09-25/paginators-1.json.php b/lib/aws/Aws/data/worklink/2018-09-25/paginators-1.json.php new file mode 100644 index 0000000..98a8cbd --- /dev/null +++ b/lib/aws/Aws/data/worklink/2018-09-25/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/worklink/2018-09-25/paginators-1.json +return [ 'pagination' => [ 'ListDevices' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListFleets' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListWebsiteCertificateAuthorities' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/workmail/2017-10-01/api-2.json.php b/lib/aws/Aws/data/workmail/2017-10-01/api-2.json.php new file mode 100644 index 0000000..cfab0e0 --- /dev/null +++ b/lib/aws/Aws/data/workmail/2017-10-01/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workmail/2017-10-01/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-10-01', 'endpointPrefix' => 'workmail', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon WorkMail', 'serviceId' => 'WorkMail', 'signatureVersion' => 'v4', 'targetPrefix' => 'WorkMailService', 'uid' => 'workmail-2017-10-01', ], 'operations' => [ 'AssociateDelegateToResource' => [ 'name' => 'AssociateDelegateToResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateDelegateToResourceRequest', ], 'output' => [ 'shape' => 'AssociateDelegateToResourceResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'AssociateMemberToGroup' => [ 'name' => 'AssociateMemberToGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateMemberToGroupRequest', ], 'output' => [ 'shape' => 'AssociateMemberToGroupResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'CreateAlias' => [ 'name' => 'CreateAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAliasRequest', ], 'output' => [ 'shape' => 'CreateAliasResponse', ], 'errors' => [ [ 'shape' => 'EmailAddressInUseException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MailDomainNotFoundException', ], [ 'shape' => 'MailDomainStateException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NameAvailabilityException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'ReservedNameException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'CreateResource' => [ 'name' => 'CreateResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateResourceRequest', ], 'output' => [ 'shape' => 'CreateResourceResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NameAvailabilityException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'ReservedNameException', ], ], 'idempotent' => true, ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'NameAvailabilityException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'ReservedNameException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'DeleteAlias' => [ 'name' => 'DeleteAlias', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAliasRequest', ], 'output' => [ 'shape' => 'DeleteAliasResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'output' => [ 'shape' => 'DeleteGroupResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'DeleteMailboxPermissions' => [ 'name' => 'DeleteMailboxPermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteMailboxPermissionsRequest', ], 'output' => [ 'shape' => 'DeleteMailboxPermissionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DeleteResource' => [ 'name' => 'DeleteResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteResourceRequest', ], 'output' => [ 'shape' => 'DeleteResourceResponse', ], 'errors' => [ [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'DeregisterFromWorkMail' => [ 'name' => 'DeregisterFromWorkMail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeregisterFromWorkMailRequest', ], 'output' => [ 'shape' => 'DeregisterFromWorkMailResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DescribeGroup' => [ 'name' => 'DescribeGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeGroupRequest', ], 'output' => [ 'shape' => 'DescribeGroupResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DescribeOrganization' => [ 'name' => 'DescribeOrganization', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeOrganizationRequest', ], 'output' => [ 'shape' => 'DescribeOrganizationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], ], 'idempotent' => true, ], 'DescribeResource' => [ 'name' => 'DescribeResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeResourceRequest', ], 'output' => [ 'shape' => 'DescribeResourceResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DescribeUser' => [ 'name' => 'DescribeUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeUserRequest', ], 'output' => [ 'shape' => 'DescribeUserResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DisassociateDelegateFromResource' => [ 'name' => 'DisassociateDelegateFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateDelegateFromResourceRequest', ], 'output' => [ 'shape' => 'DisassociateDelegateFromResourceResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'DisassociateMemberFromGroup' => [ 'name' => 'DisassociateMemberFromGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateMemberFromGroupRequest', ], 'output' => [ 'shape' => 'DisassociateMemberFromGroupResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'ListAliases' => [ 'name' => 'ListAliases', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAliasesRequest', ], 'output' => [ 'shape' => 'ListAliasesResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListGroupMembers' => [ 'name' => 'ListGroupMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupMembersRequest', ], 'output' => [ 'shape' => 'ListGroupMembersResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListGroups' => [ 'name' => 'ListGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListGroupsRequest', ], 'output' => [ 'shape' => 'ListGroupsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListMailboxPermissions' => [ 'name' => 'ListMailboxPermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListMailboxPermissionsRequest', ], 'output' => [ 'shape' => 'ListMailboxPermissionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListOrganizations' => [ 'name' => 'ListOrganizations', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListOrganizationsRequest', ], 'output' => [ 'shape' => 'ListOrganizationsResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], ], 'idempotent' => true, ], 'ListResourceDelegates' => [ 'name' => 'ListResourceDelegates', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourceDelegatesRequest', ], 'output' => [ 'shape' => 'ListResourceDelegatesResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListResources' => [ 'name' => 'ListResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListResourcesRequest', ], 'output' => [ 'shape' => 'ListResourcesResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListUsersRequest', ], 'output' => [ 'shape' => 'ListUsersResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'PutMailboxPermissions' => [ 'name' => 'PutMailboxPermissions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutMailboxPermissionsRequest', ], 'output' => [ 'shape' => 'PutMailboxPermissionsResponse', ], 'errors' => [ [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'RegisterToWorkMail' => [ 'name' => 'RegisterToWorkMail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RegisterToWorkMailRequest', ], 'output' => [ 'shape' => 'RegisterToWorkMailResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EmailAddressInUseException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'EntityAlreadyRegisteredException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MailDomainNotFoundException', ], [ 'shape' => 'MailDomainStateException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], 'ResetPassword' => [ 'name' => 'ResetPassword', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResetPasswordRequest', ], 'output' => [ 'shape' => 'ResetPasswordResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidPasswordException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'UpdatePrimaryEmailAddress' => [ 'name' => 'UpdatePrimaryEmailAddress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdatePrimaryEmailAddressRequest', ], 'output' => [ 'shape' => 'UpdatePrimaryEmailAddressResponse', ], 'errors' => [ [ 'shape' => 'DirectoryServiceAuthenticationFailedException', ], [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EmailAddressInUseException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MailDomainNotFoundException', ], [ 'shape' => 'MailDomainStateException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], [ 'shape' => 'UnsupportedOperationException', ], ], 'idempotent' => true, ], 'UpdateResource' => [ 'name' => 'UpdateResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateResourceRequest', ], 'output' => [ 'shape' => 'UpdateResourceResponse', ], 'errors' => [ [ 'shape' => 'DirectoryUnavailableException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'EntityStateException', ], [ 'shape' => 'InvalidConfigurationException', ], [ 'shape' => 'EmailAddressInUseException', ], [ 'shape' => 'MailDomainNotFoundException', ], [ 'shape' => 'MailDomainStateException', ], [ 'shape' => 'NameAvailabilityException', ], [ 'shape' => 'OrganizationNotFoundException', ], [ 'shape' => 'OrganizationStateException', ], ], 'idempotent' => true, ], ], 'shapes' => [ 'Aliases' => [ 'type' => 'list', 'member' => [ 'shape' => 'EmailAddress', ], ], 'AssociateDelegateToResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', 'EntityId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'AssociateDelegateToResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'AssociateMemberToGroupRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'GroupId', 'MemberId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], 'MemberId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'AssociateMemberToGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'BookingOptions' => [ 'type' => 'structure', 'members' => [ 'AutoAcceptRequests' => [ 'shape' => 'Boolean', ], 'AutoDeclineRecurringRequests' => [ 'shape' => 'Boolean', ], 'AutoDeclineConflictingRequests' => [ 'shape' => 'Boolean', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'CreateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'Alias', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'Alias' => [ 'shape' => 'EmailAddress', ], ], ], 'CreateAliasResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'Name', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'Name' => [ 'shape' => 'GroupName', ], ], ], 'CreateGroupResponse' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'CreateResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'Name', 'Type', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'Type' => [ 'shape' => 'ResourceType', ], ], ], 'CreateResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], ], ], 'CreateUserRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'Name', 'DisplayName', 'Password', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'Name' => [ 'shape' => 'UserName', ], 'DisplayName' => [ 'shape' => 'String', ], 'Password' => [ 'shape' => 'Password', ], ], ], 'CreateUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'Delegate' => [ 'type' => 'structure', 'required' => [ 'Id', 'Type', ], 'members' => [ 'Id' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'MemberType', ], ], ], 'DeleteAliasRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'Alias', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'Alias' => [ 'shape' => 'EmailAddress', ], ], ], 'DeleteAliasResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'GroupId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DeleteGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteMailboxPermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'GranteeId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'GranteeId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DeleteMailboxPermissionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], ], ], 'DeleteResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteUserRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'UserId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'UserId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DeleteUserResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeregisterFromWorkMailRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DeregisterFromWorkMailResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeGroupRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'GroupId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DescribeGroupResponse' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], 'Name' => [ 'shape' => 'GroupName', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'State' => [ 'shape' => 'EntityState', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeOrganizationRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], ], ], 'DescribeOrganizationResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'Alias' => [ 'shape' => 'OrganizationName', ], 'State' => [ 'shape' => 'String', ], 'DirectoryId' => [ 'shape' => 'String', ], 'DirectoryType' => [ 'shape' => 'String', ], 'DefaultMailDomain' => [ 'shape' => 'String', ], 'CompletedDate' => [ 'shape' => 'Timestamp', ], 'ErrorMessage' => [ 'shape' => 'String', ], ], ], 'DescribeResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], ], ], 'DescribeResourceResponse' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'Name' => [ 'shape' => 'ResourceName', ], 'Type' => [ 'shape' => 'ResourceType', ], 'BookingOptions' => [ 'shape' => 'BookingOptions', ], 'State' => [ 'shape' => 'EntityState', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'DescribeUserRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'UserId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'UserId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DescribeUserResponse' => [ 'type' => 'structure', 'members' => [ 'UserId' => [ 'shape' => 'WorkMailIdentifier', ], 'Name' => [ 'shape' => 'UserName', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'DisplayName' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'EntityState', ], 'UserRole' => [ 'shape' => 'UserRole', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'DirectoryServiceAuthenticationFailedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DirectoryUnavailableException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DisassociateDelegateFromResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', 'EntityId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DisassociateDelegateFromResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'DisassociateMemberFromGroupRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'GroupId', 'MemberId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], 'MemberId' => [ 'shape' => 'WorkMailIdentifier', ], ], ], 'DisassociateMemberFromGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'EmailAddress' => [ 'type' => 'string', 'max' => 254, 'min' => 1, 'pattern' => '[a-zA-Z0-9._%+-]{1,64}@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}', ], 'EmailAddressInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'EntityAlreadyRegisteredException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'EntityNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'EntityState' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', 'DELETED', ], ], 'EntityStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Group' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'WorkMailIdentifier', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'Name' => [ 'shape' => 'GroupName', ], 'State' => [ 'shape' => 'EntityState', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'GroupName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '[\\u0020-\\u00FF]+', ], 'Groups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], ], 'InvalidConfigurationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'InvalidPasswordException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ListAliasesRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListAliasesResponse' => [ 'type' => 'structure', 'members' => [ 'Aliases' => [ 'shape' => 'Aliases', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListGroupMembersRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'GroupId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'GroupId' => [ 'shape' => 'WorkMailIdentifier', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListGroupMembersResponse' => [ 'type' => 'structure', 'members' => [ 'Members' => [ 'shape' => 'Members', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListGroupsResponse' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'Groups', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListMailboxPermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListMailboxPermissionsResponse' => [ 'type' => 'structure', 'members' => [ 'Permissions' => [ 'shape' => 'Permissions', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListOrganizationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListOrganizationsResponse' => [ 'type' => 'structure', 'members' => [ 'OrganizationSummaries' => [ 'shape' => 'OrganizationSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListResourceDelegatesRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'WorkMailIdentifier', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListResourceDelegatesResponse' => [ 'type' => 'structure', 'members' => [ 'Delegates' => [ 'shape' => 'ResourceDelegates', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListResourcesRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListResourcesResponse' => [ 'type' => 'structure', 'members' => [ 'Resources' => [ 'shape' => 'Resources', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'ListUsersRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], ], ], 'ListUsersResponse' => [ 'type' => 'structure', 'members' => [ 'Users' => [ 'shape' => 'Users', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'MailDomainNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MailDomainStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'Member' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'String', ], 'Name' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'MemberType', ], 'State' => [ 'shape' => 'EntityState', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'MemberType' => [ 'type' => 'string', 'enum' => [ 'GROUP', 'USER', ], ], 'Members' => [ 'type' => 'list', 'member' => [ 'shape' => 'Member', ], ], 'NameAvailabilityException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'OrganizationId' => [ 'type' => 'string', 'pattern' => '^m-[0-9a-f]{32}$', ], 'OrganizationName' => [ 'type' => 'string', 'max' => 62, 'min' => 1, 'pattern' => '^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*', ], 'OrganizationNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'OrganizationStateException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'OrganizationSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrganizationSummary', ], ], 'OrganizationSummary' => [ 'type' => 'structure', 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'Alias' => [ 'shape' => 'OrganizationName', ], 'ErrorMessage' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'String', ], ], ], 'Password' => [ 'type' => 'string', 'max' => 256, 'pattern' => '[\\u0020-\\u00FF]+', 'sensitive' => true, ], 'Permission' => [ 'type' => 'structure', 'required' => [ 'GranteeId', 'GranteeType', 'PermissionValues', ], 'members' => [ 'GranteeId' => [ 'shape' => 'WorkMailIdentifier', ], 'GranteeType' => [ 'shape' => 'MemberType', ], 'PermissionValues' => [ 'shape' => 'PermissionValues', ], ], ], 'PermissionType' => [ 'type' => 'string', 'enum' => [ 'FULL_ACCESS', 'SEND_AS', 'SEND_ON_BEHALF', ], ], 'PermissionValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'PermissionType', ], ], 'Permissions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Permission', ], ], 'PutMailboxPermissionsRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'GranteeId', 'PermissionValues', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'GranteeId' => [ 'shape' => 'WorkMailIdentifier', ], 'PermissionValues' => [ 'shape' => 'PermissionValues', ], ], ], 'PutMailboxPermissionsResponse' => [ 'type' => 'structure', 'members' => [], ], 'RegisterToWorkMailRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'Email', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'Email' => [ 'shape' => 'EmailAddress', ], ], ], 'RegisterToWorkMailResponse' => [ 'type' => 'structure', 'members' => [], ], 'ReservedNameException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'ResetPasswordRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'UserId', 'Password', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'UserId' => [ 'shape' => 'WorkMailIdentifier', ], 'Password' => [ 'shape' => 'Password', ], ], ], 'ResetPasswordResponse' => [ 'type' => 'structure', 'members' => [], ], 'Resource' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'WorkMailIdentifier', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'Name' => [ 'shape' => 'ResourceName', ], 'Type' => [ 'shape' => 'ResourceType', ], 'State' => [ 'shape' => 'EntityState', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'ResourceDelegates' => [ 'type' => 'list', 'member' => [ 'shape' => 'Delegate', ], ], 'ResourceId' => [ 'type' => 'string', 'pattern' => '^r-[0-9a-f]{32}$', ], 'ResourceName' => [ 'type' => 'string', 'max' => 20, 'min' => 1, 'pattern' => '[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?', ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'ROOM', 'EQUIPMENT', ], ], 'Resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'Resource', ], ], 'String' => [ 'type' => 'string', 'max' => 256, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnsupportedOperationException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'UpdatePrimaryEmailAddressRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'EntityId', 'Email', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'EntityId' => [ 'shape' => 'WorkMailIdentifier', ], 'Email' => [ 'shape' => 'EmailAddress', ], ], ], 'UpdatePrimaryEmailAddressResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateResourceRequest' => [ 'type' => 'structure', 'required' => [ 'OrganizationId', 'ResourceId', ], 'members' => [ 'OrganizationId' => [ 'shape' => 'OrganizationId', ], 'ResourceId' => [ 'shape' => 'ResourceId', ], 'Name' => [ 'shape' => 'ResourceName', ], 'BookingOptions' => [ 'shape' => 'BookingOptions', ], ], ], 'UpdateResourceResponse' => [ 'type' => 'structure', 'members' => [], ], 'User' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'WorkMailIdentifier', ], 'Email' => [ 'shape' => 'EmailAddress', ], 'Name' => [ 'shape' => 'UserName', ], 'DisplayName' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'EntityState', ], 'UserRole' => [ 'shape' => 'UserRole', ], 'EnabledDate' => [ 'shape' => 'Timestamp', ], 'DisabledDate' => [ 'shape' => 'Timestamp', ], ], ], 'UserName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?', ], 'UserRole' => [ 'type' => 'string', 'enum' => [ 'USER', 'RESOURCE', 'SYSTEM_USER', ], ], 'Users' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], ], 'WorkMailIdentifier' => [ 'type' => 'string', 'max' => 256, 'min' => 12, ], ],]; diff --git a/lib/aws/Aws/data/workmail/2017-10-01/paginators-1.json.php b/lib/aws/Aws/data/workmail/2017-10-01/paginators-1.json.php new file mode 100644 index 0000000..13731c7 --- /dev/null +++ b/lib/aws/Aws/data/workmail/2017-10-01/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workmail/2017-10-01/paginators-1.json +return [ 'pagination' => [ 'ListAliases' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListGroupMembers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListMailboxPermissions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListOrganizations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListResources' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListUsers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/lib/aws/Aws/data/workspaces/2015-04-08/api-2.json.php b/lib/aws/Aws/data/workspaces/2015-04-08/api-2.json.php new file mode 100644 index 0000000..75e84ce --- /dev/null +++ b/lib/aws/Aws/data/workspaces/2015-04-08/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workspaces/2015-04-08/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2015-04-08', 'endpointPrefix' => 'workspaces', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon WorkSpaces', 'serviceId' => 'WorkSpaces', 'signatureVersion' => 'v4', 'targetPrefix' => 'WorkspacesService', 'uid' => 'workspaces-2015-04-08', ], 'operations' => [ 'AssociateIpGroups' => [ 'name' => 'AssociateIpGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateIpGroupsRequest', ], 'output' => [ 'shape' => 'AssociateIpGroupsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'OperationNotSupportedException', ], ], ], 'AuthorizeIpRules' => [ 'name' => 'AuthorizeIpRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AuthorizeIpRulesRequest', ], 'output' => [ 'shape' => 'AuthorizeIpRulesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'CreateIpGroup' => [ 'name' => 'CreateIpGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateIpGroupRequest', ], 'output' => [ 'shape' => 'CreateIpGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceCreationFailedException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'CreateTags' => [ 'name' => 'CreateTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateTagsRequest', ], 'output' => [ 'shape' => 'CreateTagsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceLimitExceededException', ], ], ], 'CreateWorkspaces' => [ 'name' => 'CreateWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateWorkspacesRequest', ], 'output' => [ 'shape' => 'CreateWorkspacesResult', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InvalidParameterValuesException', ], ], ], 'DeleteIpGroup' => [ 'name' => 'DeleteIpGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteIpGroupRequest', ], 'output' => [ 'shape' => 'DeleteIpGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceAssociatedException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsRequest', ], 'output' => [ 'shape' => 'DeleteTagsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidParameterValuesException', ], ], ], 'DeleteWorkspaceImage' => [ 'name' => 'DeleteWorkspaceImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWorkspaceImageRequest', ], 'output' => [ 'shape' => 'DeleteWorkspaceImageResult', ], 'errors' => [ [ 'shape' => 'ResourceAssociatedException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeAccount' => [ 'name' => 'DescribeAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountRequest', ], 'output' => [ 'shape' => 'DescribeAccountResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeAccountModifications' => [ 'name' => 'DescribeAccountModifications', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeAccountModificationsRequest', ], 'output' => [ 'shape' => 'DescribeAccountModificationsResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeClientProperties' => [ 'name' => 'DescribeClientProperties', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClientPropertiesRequest', ], 'output' => [ 'shape' => 'DescribeClientPropertiesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeIpGroups' => [ 'name' => 'DescribeIpGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeIpGroupsRequest', ], 'output' => [ 'shape' => 'DescribeIpGroupsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeTags' => [ 'name' => 'DescribeTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagsRequest', ], 'output' => [ 'shape' => 'DescribeTagsResult', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DescribeWorkspaceBundles' => [ 'name' => 'DescribeWorkspaceBundles', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkspaceBundlesRequest', ], 'output' => [ 'shape' => 'DescribeWorkspaceBundlesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], ], ], 'DescribeWorkspaceDirectories' => [ 'name' => 'DescribeWorkspaceDirectories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkspaceDirectoriesRequest', ], 'output' => [ 'shape' => 'DescribeWorkspaceDirectoriesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], ], ], 'DescribeWorkspaceImages' => [ 'name' => 'DescribeWorkspaceImages', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkspaceImagesRequest', ], 'output' => [ 'shape' => 'DescribeWorkspaceImagesResult', ], 'errors' => [ [ 'shape' => 'AccessDeniedException', ], ], ], 'DescribeWorkspaces' => [ 'name' => 'DescribeWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkspacesRequest', ], 'output' => [ 'shape' => 'DescribeWorkspacesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'DescribeWorkspacesConnectionStatus' => [ 'name' => 'DescribeWorkspacesConnectionStatus', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeWorkspacesConnectionStatusRequest', ], 'output' => [ 'shape' => 'DescribeWorkspacesConnectionStatusResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], ], ], 'DisassociateIpGroups' => [ 'name' => 'DisassociateIpGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateIpGroupsRequest', ], 'output' => [ 'shape' => 'DisassociateIpGroupsResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ImportWorkspaceImage' => [ 'name' => 'ImportWorkspaceImage', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ImportWorkspaceImageRequest', ], 'output' => [ 'shape' => 'ImportWorkspaceImageResult', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'ResourceAlreadyExistsException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OperationNotSupportedException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ListAvailableManagementCidrRanges' => [ 'name' => 'ListAvailableManagementCidrRanges', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAvailableManagementCidrRangesRequest', ], 'output' => [ 'shape' => 'ListAvailableManagementCidrRangesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ModifyAccount' => [ 'name' => 'ModifyAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyAccountRequest', ], 'output' => [ 'shape' => 'ModifyAccountResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'ResourceUnavailableException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ModifyClientProperties' => [ 'name' => 'ModifyClientProperties', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClientPropertiesRequest', ], 'output' => [ 'shape' => 'ModifyClientPropertiesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'ModifyWorkspaceProperties' => [ 'name' => 'ModifyWorkspaceProperties', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyWorkspacePropertiesRequest', ], 'output' => [ 'shape' => 'ModifyWorkspacePropertiesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'OperationInProgressException', ], [ 'shape' => 'UnsupportedWorkspaceConfigurationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceUnavailableException', ], ], ], 'ModifyWorkspaceState' => [ 'name' => 'ModifyWorkspaceState', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyWorkspaceStateRequest', ], 'output' => [ 'shape' => 'ModifyWorkspaceStateResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'RebootWorkspaces' => [ 'name' => 'RebootWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebootWorkspacesRequest', ], 'output' => [ 'shape' => 'RebootWorkspacesResult', ], ], 'RebuildWorkspaces' => [ 'name' => 'RebuildWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RebuildWorkspacesRequest', ], 'output' => [ 'shape' => 'RebuildWorkspacesResult', ], ], 'RevokeIpRules' => [ 'name' => 'RevokeIpRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeIpRulesRequest', ], 'output' => [ 'shape' => 'RevokeIpRulesResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], ], ], 'StartWorkspaces' => [ 'name' => 'StartWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartWorkspacesRequest', ], 'output' => [ 'shape' => 'StartWorkspacesResult', ], ], 'StopWorkspaces' => [ 'name' => 'StopWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopWorkspacesRequest', ], 'output' => [ 'shape' => 'StopWorkspacesResult', ], ], 'TerminateWorkspaces' => [ 'name' => 'TerminateWorkspaces', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TerminateWorkspacesRequest', ], 'output' => [ 'shape' => 'TerminateWorkspacesResult', ], ], 'UpdateRulesOfIpGroup' => [ 'name' => 'UpdateRulesOfIpGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateRulesOfIpGroupRequest', ], 'output' => [ 'shape' => 'UpdateRulesOfIpGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidParameterValuesException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'InvalidResourceStateException', ], [ 'shape' => 'AccessDeniedException', ], ], ], ], 'shapes' => [ 'ARN' => [ 'type' => 'string', 'pattern' => '^arn:aws:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$', ], 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'AccountModification' => [ 'type' => 'structure', 'members' => [ 'ModificationState' => [ 'shape' => 'DedicatedTenancyModificationStateEnum', ], 'DedicatedTenancySupport' => [ 'shape' => 'DedicatedTenancySupportResultEnum', ], 'DedicatedTenancyManagementCidrRange' => [ 'shape' => 'DedicatedTenancyManagementCidrRange', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'ErrorCode' => [ 'shape' => 'WorkspaceErrorCode', ], 'ErrorMessage' => [ 'shape' => 'Description', ], ], ], 'AccountModificationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountModification', ], ], 'Alias' => [ 'type' => 'string', ], 'AssociateIpGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'GroupIds', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'GroupIds' => [ 'shape' => 'IpGroupIdList', ], ], ], 'AssociateIpGroupsResult' => [ 'type' => 'structure', 'members' => [], ], 'AuthorizeIpRulesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'UserRules', ], 'members' => [ 'GroupId' => [ 'shape' => 'IpGroupId', ], 'UserRules' => [ 'shape' => 'IpRuleList', ], ], ], 'AuthorizeIpRulesResult' => [ 'type' => 'structure', 'members' => [], ], 'BooleanObject' => [ 'type' => 'boolean', ], 'BundleId' => [ 'type' => 'string', 'pattern' => '^wsb-[0-9a-z]{8,63}$', ], 'BundleIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BundleId', ], 'max' => 25, 'min' => 1, ], 'BundleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceBundle', ], ], 'BundleOwner' => [ 'type' => 'string', ], 'ClientProperties' => [ 'type' => 'structure', 'members' => [ 'ReconnectEnabled' => [ 'shape' => 'ReconnectEnum', ], ], ], 'ClientPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClientPropertiesResult', ], ], 'ClientPropertiesResult' => [ 'type' => 'structure', 'members' => [ 'ResourceId' => [ 'shape' => 'NonEmptyString', ], 'ClientProperties' => [ 'shape' => 'ClientProperties', ], ], ], 'Compute' => [ 'type' => 'string', 'enum' => [ 'VALUE', 'STANDARD', 'PERFORMANCE', 'POWER', 'GRAPHICS', 'POWERPRO', 'GRAPHICSPRO', ], ], 'ComputeType' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'Compute', ], ], ], 'ComputerName' => [ 'type' => 'string', ], 'ConnectionState' => [ 'type' => 'string', 'enum' => [ 'CONNECTED', 'DISCONNECTED', 'UNKNOWN', ], ], 'CreateIpGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'IpGroupName', ], 'GroupDesc' => [ 'shape' => 'IpGroupDesc', ], 'UserRules' => [ 'shape' => 'IpRuleList', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateIpGroupResult' => [ 'type' => 'structure', 'members' => [ 'GroupId' => [ 'shape' => 'IpGroupId', ], ], ], 'CreateTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'Tags', ], 'members' => [ 'ResourceId' => [ 'shape' => 'NonEmptyString', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateTagsResult' => [ 'type' => 'structure', 'members' => [], ], 'CreateWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'Workspaces', ], 'members' => [ 'Workspaces' => [ 'shape' => 'WorkspaceRequestList', ], ], ], 'CreateWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedCreateWorkspaceRequests', ], 'PendingRequests' => [ 'shape' => 'WorkspaceList', ], ], ], 'DedicatedTenancyCidrRangeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DedicatedTenancyManagementCidrRange', ], ], 'DedicatedTenancyManagementCidrRange' => [ 'type' => 'string', 'pattern' => '(^([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.0\\.0)(\\/(16$))$', ], 'DedicatedTenancyModificationStateEnum' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'COMPLETED', 'FAILED', ], ], 'DedicatedTenancySupportEnum' => [ 'type' => 'string', 'enum' => [ 'ENABLED', ], ], 'DedicatedTenancySupportResultEnum' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'DefaultOu' => [ 'type' => 'string', ], 'DefaultWorkspaceCreationProperties' => [ 'type' => 'structure', 'members' => [ 'EnableWorkDocs' => [ 'shape' => 'BooleanObject', ], 'EnableInternetAccess' => [ 'shape' => 'BooleanObject', ], 'DefaultOu' => [ 'shape' => 'DefaultOu', ], 'CustomSecurityGroupId' => [ 'shape' => 'SecurityGroupId', ], 'UserEnabledAsLocalAdministrator' => [ 'shape' => 'BooleanObject', ], ], ], 'DeleteIpGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', ], 'members' => [ 'GroupId' => [ 'shape' => 'IpGroupId', ], ], ], 'DeleteIpGroupResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagKeys', ], 'members' => [ 'ResourceId' => [ 'shape' => 'NonEmptyString', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], 'DeleteTagsResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteWorkspaceImageRequest' => [ 'type' => 'structure', 'required' => [ 'ImageId', ], 'members' => [ 'ImageId' => [ 'shape' => 'WorkspaceImageId', ], ], ], 'DeleteWorkspaceImageResult' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountModificationsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeAccountModificationsResult' => [ 'type' => 'structure', 'members' => [ 'AccountModifications' => [ 'shape' => 'AccountModificationList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeAccountRequest' => [ 'type' => 'structure', 'members' => [], ], 'DescribeAccountResult' => [ 'type' => 'structure', 'members' => [ 'DedicatedTenancySupport' => [ 'shape' => 'DedicatedTenancySupportResultEnum', ], 'DedicatedTenancyManagementCidrRange' => [ 'shape' => 'DedicatedTenancyManagementCidrRange', ], ], ], 'DescribeClientPropertiesRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceIds', ], 'members' => [ 'ResourceIds' => [ 'shape' => 'ResourceIdList', ], ], ], 'DescribeClientPropertiesResult' => [ 'type' => 'structure', 'members' => [ 'ClientPropertiesList' => [ 'shape' => 'ClientPropertiesList', ], ], ], 'DescribeIpGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'GroupIds' => [ 'shape' => 'IpGroupIdList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'Limit', ], ], ], 'DescribeIpGroupsResult' => [ 'type' => 'structure', 'members' => [ 'Result' => [ 'shape' => 'WorkspacesIpGroupsList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeTagsRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'NonEmptyString', ], ], ], 'DescribeTagsResult' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'DescribeWorkspaceBundlesRequest' => [ 'type' => 'structure', 'members' => [ 'BundleIds' => [ 'shape' => 'BundleIdList', ], 'Owner' => [ 'shape' => 'BundleOwner', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspaceBundlesResult' => [ 'type' => 'structure', 'members' => [ 'Bundles' => [ 'shape' => 'BundleList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspaceDirectoriesRequest' => [ 'type' => 'structure', 'members' => [ 'DirectoryIds' => [ 'shape' => 'DirectoryIdList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspaceDirectoriesResult' => [ 'type' => 'structure', 'members' => [ 'Directories' => [ 'shape' => 'DirectoryList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspaceImagesRequest' => [ 'type' => 'structure', 'members' => [ 'ImageIds' => [ 'shape' => 'WorkspaceImageIdList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], 'MaxResults' => [ 'shape' => 'Limit', ], ], ], 'DescribeWorkspaceImagesResult' => [ 'type' => 'structure', 'members' => [ 'Images' => [ 'shape' => 'WorkspaceImageList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspacesConnectionStatusRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceIds' => [ 'shape' => 'WorkspaceIdList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspacesConnectionStatusResult' => [ 'type' => 'structure', 'members' => [ 'WorkspacesConnectionStatus' => [ 'shape' => 'WorkspaceConnectionStatusList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspacesRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceIds' => [ 'shape' => 'WorkspaceIdList', ], 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'UserName', ], 'BundleId' => [ 'shape' => 'BundleId', ], 'Limit' => [ 'shape' => 'Limit', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'DescribeWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'Workspaces' => [ 'shape' => 'WorkspaceList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'Description' => [ 'type' => 'string', ], 'DirectoryId' => [ 'type' => 'string', 'pattern' => '^d-[0-9a-f]{8,63}$', ], 'DirectoryIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectoryId', ], 'max' => 25, 'min' => 1, ], 'DirectoryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceDirectory', ], ], 'DirectoryName' => [ 'type' => 'string', ], 'DisassociateIpGroupsRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'GroupIds', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'GroupIds' => [ 'shape' => 'IpGroupIdList', ], ], ], 'DisassociateIpGroupsResult' => [ 'type' => 'structure', 'members' => [], ], 'DnsIpAddresses' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpAddress', ], ], 'Ec2ImageId' => [ 'type' => 'string', 'pattern' => '^ami\\-([a-f0-9]{8}|[a-f0-9]{17})$', ], 'ErrorType' => [ 'type' => 'string', ], 'ExceptionMessage' => [ 'type' => 'string', ], 'FailedCreateWorkspaceRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceRequest' => [ 'shape' => 'WorkspaceRequest', ], 'ErrorCode' => [ 'shape' => 'ErrorType', ], 'ErrorMessage' => [ 'shape' => 'Description', ], ], ], 'FailedCreateWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedCreateWorkspaceRequest', ], ], 'FailedRebootWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedWorkspaceChangeRequest', ], ], 'FailedRebuildWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedWorkspaceChangeRequest', ], ], 'FailedStartWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedWorkspaceChangeRequest', ], ], 'FailedStopWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedWorkspaceChangeRequest', ], ], 'FailedTerminateWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'FailedWorkspaceChangeRequest', ], ], 'FailedWorkspaceChangeRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], 'ErrorCode' => [ 'shape' => 'ErrorType', ], 'ErrorMessage' => [ 'shape' => 'Description', ], ], ], 'ImportWorkspaceImageRequest' => [ 'type' => 'structure', 'required' => [ 'Ec2ImageId', 'IngestionProcess', 'ImageName', 'ImageDescription', ], 'members' => [ 'Ec2ImageId' => [ 'shape' => 'Ec2ImageId', ], 'IngestionProcess' => [ 'shape' => 'WorkspaceImageIngestionProcess', ], 'ImageName' => [ 'shape' => 'WorkspaceImageName', ], 'ImageDescription' => [ 'shape' => 'WorkspaceImageDescription', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'ImportWorkspaceImageResult' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'WorkspaceImageId', ], ], ], 'InvalidParameterValuesException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'InvalidResourceStateException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'IpGroupDesc' => [ 'type' => 'string', ], 'IpGroupId' => [ 'type' => 'string', 'pattern' => 'wsipg-[0-9a-z]{8,63}$', ], 'IpGroupIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpGroupId', ], ], 'IpGroupName' => [ 'type' => 'string', ], 'IpRevokedRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRule', ], ], 'IpRule' => [ 'type' => 'string', ], 'IpRuleDesc' => [ 'type' => 'string', ], 'IpRuleItem' => [ 'type' => 'structure', 'members' => [ 'ipRule' => [ 'shape' => 'IpRule', ], 'ruleDesc' => [ 'shape' => 'IpRuleDesc', ], ], ], 'IpRuleList' => [ 'type' => 'list', 'member' => [ 'shape' => 'IpRuleItem', ], ], 'Limit' => [ 'type' => 'integer', 'max' => 25, 'min' => 1, ], 'ListAvailableManagementCidrRangesRequest' => [ 'type' => 'structure', 'required' => [ 'ManagementCidrRangeConstraint', ], 'members' => [ 'ManagementCidrRangeConstraint' => [ 'shape' => 'ManagementCidrRangeConstraint', ], 'MaxResults' => [ 'shape' => 'ManagementCidrRangeMaxResults', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ListAvailableManagementCidrRangesResult' => [ 'type' => 'structure', 'members' => [ 'ManagementCidrRanges' => [ 'shape' => 'DedicatedTenancyCidrRangeList', ], 'NextToken' => [ 'shape' => 'PaginationToken', ], ], ], 'ManagementCidrRangeConstraint' => [ 'type' => 'string', 'pattern' => '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$', ], 'ManagementCidrRangeMaxResults' => [ 'type' => 'integer', 'max' => 5, 'min' => 1, ], 'ModificationResourceEnum' => [ 'type' => 'string', 'enum' => [ 'ROOT_VOLUME', 'USER_VOLUME', 'COMPUTE_TYPE', ], ], 'ModificationState' => [ 'type' => 'structure', 'members' => [ 'Resource' => [ 'shape' => 'ModificationResourceEnum', ], 'State' => [ 'shape' => 'ModificationStateEnum', ], ], ], 'ModificationStateEnum' => [ 'type' => 'string', 'enum' => [ 'UPDATE_INITIATED', 'UPDATE_IN_PROGRESS', ], ], 'ModificationStateList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ModificationState', ], ], 'ModifyAccountRequest' => [ 'type' => 'structure', 'members' => [ 'DedicatedTenancySupport' => [ 'shape' => 'DedicatedTenancySupportEnum', ], 'DedicatedTenancyManagementCidrRange' => [ 'shape' => 'DedicatedTenancyManagementCidrRange', ], ], ], 'ModifyAccountResult' => [ 'type' => 'structure', 'members' => [], ], 'ModifyClientPropertiesRequest' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'ClientProperties', ], 'members' => [ 'ResourceId' => [ 'shape' => 'NonEmptyString', ], 'ClientProperties' => [ 'shape' => 'ClientProperties', ], ], ], 'ModifyClientPropertiesResult' => [ 'type' => 'structure', 'members' => [], ], 'ModifyWorkspacePropertiesRequest' => [ 'type' => 'structure', 'required' => [ 'WorkspaceId', 'WorkspaceProperties', ], 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], 'WorkspaceProperties' => [ 'shape' => 'WorkspaceProperties', ], ], ], 'ModifyWorkspacePropertiesResult' => [ 'type' => 'structure', 'members' => [], ], 'ModifyWorkspaceStateRequest' => [ 'type' => 'structure', 'required' => [ 'WorkspaceId', 'WorkspaceState', ], 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], 'WorkspaceState' => [ 'shape' => 'TargetWorkspaceState', ], ], ], 'ModifyWorkspaceStateResult' => [ 'type' => 'structure', 'members' => [], ], 'NonEmptyString' => [ 'type' => 'string', 'min' => 1, ], 'OperatingSystem' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'OperatingSystemType', ], ], ], 'OperatingSystemType' => [ 'type' => 'string', 'enum' => [ 'WINDOWS', 'LINUX', ], ], 'OperationInProgressException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'OperationNotSupportedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'PaginationToken' => [ 'type' => 'string', 'max' => 63, 'min' => 1, ], 'RebootRequest' => [ 'type' => 'structure', 'required' => [ 'WorkspaceId', ], 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], ], ], 'RebootWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'RebootRequest', ], 'max' => 25, 'min' => 1, ], 'RebootWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'RebootWorkspaceRequests', ], 'members' => [ 'RebootWorkspaceRequests' => [ 'shape' => 'RebootWorkspaceRequests', ], ], ], 'RebootWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedRebootWorkspaceRequests', ], ], ], 'RebuildRequest' => [ 'type' => 'structure', 'required' => [ 'WorkspaceId', ], 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], ], ], 'RebuildWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'RebuildRequest', ], 'max' => 1, 'min' => 1, ], 'RebuildWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'RebuildWorkspaceRequests', ], 'members' => [ 'RebuildWorkspaceRequests' => [ 'shape' => 'RebuildWorkspaceRequests', ], ], ], 'RebuildWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedRebuildWorkspaceRequests', ], ], ], 'ReconnectEnum' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'RegistrationCode' => [ 'type' => 'string', 'max' => 20, 'min' => 1, ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourceAssociatedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourceCreationFailedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 25, 'min' => 1, ], 'ResourceLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], 'ResourceId' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'ResourceUnavailableException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], 'ResourceId' => [ 'shape' => 'NonEmptyString', ], ], 'exception' => true, ], 'RevokeIpRulesRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'UserRules', ], 'members' => [ 'GroupId' => [ 'shape' => 'IpGroupId', ], 'UserRules' => [ 'shape' => 'IpRevokedRuleList', ], ], ], 'RevokeIpRulesResult' => [ 'type' => 'structure', 'members' => [], ], 'RootStorage' => [ 'type' => 'structure', 'members' => [ 'Capacity' => [ 'shape' => 'NonEmptyString', ], ], ], 'RootVolumeSizeGib' => [ 'type' => 'integer', ], 'RunningMode' => [ 'type' => 'string', 'enum' => [ 'AUTO_STOP', 'ALWAYS_ON', ], ], 'RunningModeAutoStopTimeoutInMinutes' => [ 'type' => 'integer', ], 'SecurityGroupId' => [ 'type' => 'string', 'pattern' => '^(sg-[0-9a-f]{8})$', ], 'StartRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], ], ], 'StartWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'StartRequest', ], 'max' => 25, 'min' => 1, ], 'StartWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'StartWorkspaceRequests', ], 'members' => [ 'StartWorkspaceRequests' => [ 'shape' => 'StartWorkspaceRequests', ], ], ], 'StartWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedStartWorkspaceRequests', ], ], ], 'StopRequest' => [ 'type' => 'structure', 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], ], ], 'StopWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'StopRequest', ], 'max' => 25, 'min' => 1, ], 'StopWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'StopWorkspaceRequests', ], 'members' => [ 'StopWorkspaceRequests' => [ 'shape' => 'StopWorkspaceRequests', ], ], ], 'StopWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedStopWorkspaceRequests', ], ], ], 'SubnetId' => [ 'type' => 'string', 'pattern' => '^(subnet-[0-9a-f]{8})$', ], 'SubnetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], 'TagKey' => [ 'type' => 'string', 'max' => 127, 'min' => 1, ], 'TagKeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], 'TagValue' => [ 'type' => 'string', 'max' => 255, ], 'TargetWorkspaceState' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'ADMIN_MAINTENANCE', ], ], 'TerminateRequest' => [ 'type' => 'structure', 'required' => [ 'WorkspaceId', ], 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], ], ], 'TerminateWorkspaceRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'TerminateRequest', ], 'max' => 25, 'min' => 1, ], 'TerminateWorkspacesRequest' => [ 'type' => 'structure', 'required' => [ 'TerminateWorkspaceRequests', ], 'members' => [ 'TerminateWorkspaceRequests' => [ 'shape' => 'TerminateWorkspaceRequests', ], ], ], 'TerminateWorkspacesResult' => [ 'type' => 'structure', 'members' => [ 'FailedRequests' => [ 'shape' => 'FailedTerminateWorkspaceRequests', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnsupportedWorkspaceConfigurationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'UpdateRulesOfIpGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupId', 'UserRules', ], 'members' => [ 'GroupId' => [ 'shape' => 'IpGroupId', ], 'UserRules' => [ 'shape' => 'IpRuleList', ], ], ], 'UpdateRulesOfIpGroupResult' => [ 'type' => 'structure', 'members' => [], ], 'UserName' => [ 'type' => 'string', 'max' => 63, 'min' => 1, ], 'UserStorage' => [ 'type' => 'structure', 'members' => [ 'Capacity' => [ 'shape' => 'NonEmptyString', ], ], ], 'UserVolumeSizeGib' => [ 'type' => 'integer', ], 'VolumeEncryptionKey' => [ 'type' => 'string', ], 'Workspace' => [ 'type' => 'structure', 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'UserName', ], 'IpAddress' => [ 'shape' => 'IpAddress', ], 'State' => [ 'shape' => 'WorkspaceState', ], 'BundleId' => [ 'shape' => 'BundleId', ], 'SubnetId' => [ 'shape' => 'SubnetId', ], 'ErrorMessage' => [ 'shape' => 'Description', ], 'ErrorCode' => [ 'shape' => 'WorkspaceErrorCode', ], 'ComputerName' => [ 'shape' => 'ComputerName', ], 'VolumeEncryptionKey' => [ 'shape' => 'VolumeEncryptionKey', ], 'UserVolumeEncryptionEnabled' => [ 'shape' => 'BooleanObject', ], 'RootVolumeEncryptionEnabled' => [ 'shape' => 'BooleanObject', ], 'WorkspaceProperties' => [ 'shape' => 'WorkspaceProperties', ], 'ModificationStates' => [ 'shape' => 'ModificationStateList', ], ], ], 'WorkspaceBundle' => [ 'type' => 'structure', 'members' => [ 'BundleId' => [ 'shape' => 'BundleId', ], 'Name' => [ 'shape' => 'NonEmptyString', ], 'Owner' => [ 'shape' => 'BundleOwner', ], 'Description' => [ 'shape' => 'Description', ], 'RootStorage' => [ 'shape' => 'RootStorage', ], 'UserStorage' => [ 'shape' => 'UserStorage', ], 'ComputeType' => [ 'shape' => 'ComputeType', ], ], ], 'WorkspaceConnectionStatus' => [ 'type' => 'structure', 'members' => [ 'WorkspaceId' => [ 'shape' => 'WorkspaceId', ], 'ConnectionState' => [ 'shape' => 'ConnectionState', ], 'ConnectionStateCheckTimestamp' => [ 'shape' => 'Timestamp', ], 'LastKnownUserConnectionTimestamp' => [ 'shape' => 'Timestamp', ], ], ], 'WorkspaceConnectionStatusList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceConnectionStatus', ], ], 'WorkspaceDirectory' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'Alias' => [ 'shape' => 'Alias', ], 'DirectoryName' => [ 'shape' => 'DirectoryName', ], 'RegistrationCode' => [ 'shape' => 'RegistrationCode', ], 'SubnetIds' => [ 'shape' => 'SubnetIds', ], 'DnsIpAddresses' => [ 'shape' => 'DnsIpAddresses', ], 'CustomerUserName' => [ 'shape' => 'UserName', ], 'IamRoleId' => [ 'shape' => 'ARN', ], 'DirectoryType' => [ 'shape' => 'WorkspaceDirectoryType', ], 'WorkspaceSecurityGroupId' => [ 'shape' => 'SecurityGroupId', ], 'State' => [ 'shape' => 'WorkspaceDirectoryState', ], 'WorkspaceCreationProperties' => [ 'shape' => 'DefaultWorkspaceCreationProperties', ], 'ipGroupIds' => [ 'shape' => 'IpGroupIdList', ], ], ], 'WorkspaceDirectoryState' => [ 'type' => 'string', 'enum' => [ 'REGISTERING', 'REGISTERED', 'DEREGISTERING', 'DEREGISTERED', 'ERROR', ], ], 'WorkspaceDirectoryType' => [ 'type' => 'string', 'enum' => [ 'SIMPLE_AD', 'AD_CONNECTOR', ], ], 'WorkspaceErrorCode' => [ 'type' => 'string', ], 'WorkspaceId' => [ 'type' => 'string', 'pattern' => '^ws-[0-9a-z]{8,63}$', ], 'WorkspaceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceId', ], 'max' => 25, 'min' => 1, ], 'WorkspaceImage' => [ 'type' => 'structure', 'members' => [ 'ImageId' => [ 'shape' => 'WorkspaceImageId', ], 'Name' => [ 'shape' => 'WorkspaceImageName', ], 'Description' => [ 'shape' => 'WorkspaceImageDescription', ], 'OperatingSystem' => [ 'shape' => 'OperatingSystem', ], 'State' => [ 'shape' => 'WorkspaceImageState', ], 'RequiredTenancy' => [ 'shape' => 'WorkspaceImageRequiredTenancy', ], 'ErrorCode' => [ 'shape' => 'WorkspaceImageErrorCode', ], 'ErrorMessage' => [ 'shape' => 'Description', ], ], ], 'WorkspaceImageDescription' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_./() -]+$', ], 'WorkspaceImageErrorCode' => [ 'type' => 'string', ], 'WorkspaceImageId' => [ 'type' => 'string', 'pattern' => 'wsi-[0-9a-z]{9,63}$', ], 'WorkspaceImageIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceImageId', ], 'max' => 25, 'min' => 1, ], 'WorkspaceImageIngestionProcess' => [ 'type' => 'string', 'enum' => [ 'BYOL_REGULAR', 'BYOL_GRAPHICS', 'BYOL_GRAPHICSPRO', ], ], 'WorkspaceImageList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceImage', ], ], 'WorkspaceImageName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9_./()\\\\-]+$', ], 'WorkspaceImageRequiredTenancy' => [ 'type' => 'string', 'enum' => [ 'DEFAULT', 'DEDICATED', ], ], 'WorkspaceImageState' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'PENDING', 'ERROR', ], ], 'WorkspaceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Workspace', ], ], 'WorkspaceProperties' => [ 'type' => 'structure', 'members' => [ 'RunningMode' => [ 'shape' => 'RunningMode', ], 'RunningModeAutoStopTimeoutInMinutes' => [ 'shape' => 'RunningModeAutoStopTimeoutInMinutes', ], 'RootVolumeSizeGib' => [ 'shape' => 'RootVolumeSizeGib', ], 'UserVolumeSizeGib' => [ 'shape' => 'UserVolumeSizeGib', ], 'ComputeTypeName' => [ 'shape' => 'Compute', ], ], ], 'WorkspaceRequest' => [ 'type' => 'structure', 'required' => [ 'DirectoryId', 'UserName', 'BundleId', ], 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], 'UserName' => [ 'shape' => 'UserName', ], 'BundleId' => [ 'shape' => 'BundleId', ], 'VolumeEncryptionKey' => [ 'shape' => 'VolumeEncryptionKey', ], 'UserVolumeEncryptionEnabled' => [ 'shape' => 'BooleanObject', ], 'RootVolumeEncryptionEnabled' => [ 'shape' => 'BooleanObject', ], 'WorkspaceProperties' => [ 'shape' => 'WorkspaceProperties', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'WorkspaceRequestList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspaceRequest', ], 'max' => 25, 'min' => 1, ], 'WorkspaceState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'AVAILABLE', 'IMPAIRED', 'UNHEALTHY', 'REBOOTING', 'STARTING', 'REBUILDING', 'MAINTENANCE', 'ADMIN_MAINTENANCE', 'TERMINATING', 'TERMINATED', 'SUSPENDED', 'UPDATING', 'STOPPING', 'STOPPED', 'ERROR', ], ], 'WorkspacesIpGroup' => [ 'type' => 'structure', 'members' => [ 'groupId' => [ 'shape' => 'IpGroupId', ], 'groupName' => [ 'shape' => 'IpGroupName', ], 'groupDesc' => [ 'shape' => 'IpGroupDesc', ], 'userRules' => [ 'shape' => 'IpRuleList', ], ], ], 'WorkspacesIpGroupsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'WorkspacesIpGroup', ], ], ],]; diff --git a/lib/aws/Aws/data/workspaces/2015-04-08/paginators-1.json.php b/lib/aws/Aws/data/workspaces/2015-04-08/paginators-1.json.php new file mode 100644 index 0000000..efa42a4 --- /dev/null +++ b/lib/aws/Aws/data/workspaces/2015-04-08/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workspaces/2015-04-08/paginators-1.json +return [ 'pagination' => [ 'DescribeWorkspaceBundles' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Bundles', ], 'DescribeWorkspaceDirectories' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Directories', ], 'DescribeWorkspaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'Limit', 'output_token' => 'NextToken', 'result_key' => 'Workspaces', ], ],]; diff --git a/lib/aws/Aws/data/workspaces/2015-04-08/smoke.json.php b/lib/aws/Aws/data/workspaces/2015-04-08/smoke.json.php new file mode 100644 index 0000000..306e6d9 --- /dev/null +++ b/lib/aws/Aws/data/workspaces/2015-04-08/smoke.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/workspaces/2015-04-08/smoke.json +return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeWorkspaces', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeWorkspaces', 'input' => [ 'DirectoryId' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/lib/aws/Aws/data/xray/2016-04-12/api-2.json.php b/lib/aws/Aws/data/xray/2016-04-12/api-2.json.php new file mode 100644 index 0000000..48b2c3f --- /dev/null +++ b/lib/aws/Aws/data/xray/2016-04-12/api-2.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/xray/2016-04-12/api-2.json +return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-04-12', 'endpointPrefix' => 'xray', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS X-Ray', 'serviceId' => 'XRay', 'signatureVersion' => 'v4', 'uid' => 'xray-2016-04-12', ], 'operations' => [ 'BatchGetTraces' => [ 'name' => 'BatchGetTraces', 'http' => [ 'method' => 'POST', 'requestUri' => '/Traces', ], 'input' => [ 'shape' => 'BatchGetTracesRequest', ], 'output' => [ 'shape' => 'BatchGetTracesResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'CreateGroup' => [ 'name' => 'CreateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/CreateGroup', ], 'input' => [ 'shape' => 'CreateGroupRequest', ], 'output' => [ 'shape' => 'CreateGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'CreateSamplingRule' => [ 'name' => 'CreateSamplingRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/CreateSamplingRule', ], 'input' => [ 'shape' => 'CreateSamplingRuleRequest', ], 'output' => [ 'shape' => 'CreateSamplingRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'RuleLimitExceededException', ], ], ], 'DeleteGroup' => [ 'name' => 'DeleteGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/DeleteGroup', ], 'input' => [ 'shape' => 'DeleteGroupRequest', ], 'output' => [ 'shape' => 'DeleteGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'DeleteSamplingRule' => [ 'name' => 'DeleteSamplingRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/DeleteSamplingRule', ], 'input' => [ 'shape' => 'DeleteSamplingRuleRequest', ], 'output' => [ 'shape' => 'DeleteSamplingRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetEncryptionConfig' => [ 'name' => 'GetEncryptionConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/EncryptionConfig', ], 'input' => [ 'shape' => 'GetEncryptionConfigRequest', ], 'output' => [ 'shape' => 'GetEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetGroup' => [ 'name' => 'GetGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/GetGroup', ], 'input' => [ 'shape' => 'GetGroupRequest', ], 'output' => [ 'shape' => 'GetGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetGroups' => [ 'name' => 'GetGroups', 'http' => [ 'method' => 'POST', 'requestUri' => '/Groups', ], 'input' => [ 'shape' => 'GetGroupsRequest', ], 'output' => [ 'shape' => 'GetGroupsResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetSamplingRules' => [ 'name' => 'GetSamplingRules', 'http' => [ 'method' => 'POST', 'requestUri' => '/GetSamplingRules', ], 'input' => [ 'shape' => 'GetSamplingRulesRequest', ], 'output' => [ 'shape' => 'GetSamplingRulesResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetSamplingStatisticSummaries' => [ 'name' => 'GetSamplingStatisticSummaries', 'http' => [ 'method' => 'POST', 'requestUri' => '/SamplingStatisticSummaries', ], 'input' => [ 'shape' => 'GetSamplingStatisticSummariesRequest', ], 'output' => [ 'shape' => 'GetSamplingStatisticSummariesResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetSamplingTargets' => [ 'name' => 'GetSamplingTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/SamplingTargets', ], 'input' => [ 'shape' => 'GetSamplingTargetsRequest', ], 'output' => [ 'shape' => 'GetSamplingTargetsResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetServiceGraph' => [ 'name' => 'GetServiceGraph', 'http' => [ 'method' => 'POST', 'requestUri' => '/ServiceGraph', ], 'input' => [ 'shape' => 'GetServiceGraphRequest', ], 'output' => [ 'shape' => 'GetServiceGraphResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetTraceGraph' => [ 'name' => 'GetTraceGraph', 'http' => [ 'method' => 'POST', 'requestUri' => '/TraceGraph', ], 'input' => [ 'shape' => 'GetTraceGraphRequest', ], 'output' => [ 'shape' => 'GetTraceGraphResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'GetTraceSummaries' => [ 'name' => 'GetTraceSummaries', 'http' => [ 'method' => 'POST', 'requestUri' => '/TraceSummaries', ], 'input' => [ 'shape' => 'GetTraceSummariesRequest', ], 'output' => [ 'shape' => 'GetTraceSummariesResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'PutEncryptionConfig' => [ 'name' => 'PutEncryptionConfig', 'http' => [ 'method' => 'POST', 'requestUri' => '/PutEncryptionConfig', ], 'input' => [ 'shape' => 'PutEncryptionConfigRequest', ], 'output' => [ 'shape' => 'PutEncryptionConfigResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'PutTelemetryRecords' => [ 'name' => 'PutTelemetryRecords', 'http' => [ 'method' => 'POST', 'requestUri' => '/TelemetryRecords', ], 'input' => [ 'shape' => 'PutTelemetryRecordsRequest', ], 'output' => [ 'shape' => 'PutTelemetryRecordsResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'PutTraceSegments' => [ 'name' => 'PutTraceSegments', 'http' => [ 'method' => 'POST', 'requestUri' => '/TraceSegments', ], 'input' => [ 'shape' => 'PutTraceSegmentsRequest', ], 'output' => [ 'shape' => 'PutTraceSegmentsResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'UpdateGroup' => [ 'name' => 'UpdateGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/UpdateGroup', ], 'input' => [ 'shape' => 'UpdateGroupRequest', ], 'output' => [ 'shape' => 'UpdateGroupResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], 'UpdateSamplingRule' => [ 'name' => 'UpdateSamplingRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/UpdateSamplingRule', ], 'input' => [ 'shape' => 'UpdateSamplingRuleRequest', ], 'output' => [ 'shape' => 'UpdateSamplingRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], ], ], ], 'shapes' => [ 'Alias' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'AliasNames', ], 'Type' => [ 'shape' => 'String', ], ], ], 'AliasList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Alias', ], ], 'AliasNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'AnnotationKey' => [ 'type' => 'string', ], 'AnnotationValue' => [ 'type' => 'structure', 'members' => [ 'NumberValue' => [ 'shape' => 'NullableDouble', ], 'BooleanValue' => [ 'shape' => 'NullableBoolean', ], 'StringValue' => [ 'shape' => 'String', ], ], ], 'Annotations' => [ 'type' => 'map', 'key' => [ 'shape' => 'AnnotationKey', ], 'value' => [ 'shape' => 'ValuesWithServiceIds', ], ], 'AttributeKey' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'AttributeMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'AttributeValue', ], 'max' => 5, ], 'AttributeValue' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'AvailabilityZoneDetail' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], ], ], 'BackendConnectionErrors' => [ 'type' => 'structure', 'members' => [ 'TimeoutCount' => [ 'shape' => 'NullableInteger', ], 'ConnectionRefusedCount' => [ 'shape' => 'NullableInteger', ], 'HTTPCode4XXCount' => [ 'shape' => 'NullableInteger', ], 'HTTPCode5XXCount' => [ 'shape' => 'NullableInteger', ], 'UnknownHostCount' => [ 'shape' => 'NullableInteger', ], 'OtherCount' => [ 'shape' => 'NullableInteger', ], ], ], 'BatchGetTracesRequest' => [ 'type' => 'structure', 'required' => [ 'TraceIds', ], 'members' => [ 'TraceIds' => [ 'shape' => 'TraceIdList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'BatchGetTracesResult' => [ 'type' => 'structure', 'members' => [ 'Traces' => [ 'shape' => 'TraceList', ], 'UnprocessedTraceIds' => [ 'shape' => 'UnprocessedTraceIdList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BorrowCount' => [ 'type' => 'integer', 'min' => 0, ], 'ClientID' => [ 'type' => 'string', 'max' => 24, 'min' => 24, ], 'CreateGroupRequest' => [ 'type' => 'structure', 'required' => [ 'GroupName', ], 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'FilterExpression' => [ 'shape' => 'FilterExpression', ], ], ], 'CreateGroupResult' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'CreateSamplingRuleRequest' => [ 'type' => 'structure', 'required' => [ 'SamplingRule', ], 'members' => [ 'SamplingRule' => [ 'shape' => 'SamplingRule', ], ], ], 'CreateSamplingRuleResult' => [ 'type' => 'structure', 'members' => [ 'SamplingRuleRecord' => [ 'shape' => 'SamplingRuleRecord', ], ], ], 'DeleteGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'GroupARN' => [ 'shape' => 'GroupARN', ], ], ], 'DeleteGroupResult' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSamplingRuleRequest' => [ 'type' => 'structure', 'members' => [ 'RuleName' => [ 'shape' => 'String', ], 'RuleARN' => [ 'shape' => 'String', ], ], ], 'DeleteSamplingRuleResult' => [ 'type' => 'structure', 'members' => [ 'SamplingRuleRecord' => [ 'shape' => 'SamplingRuleRecord', ], ], ], 'Double' => [ 'type' => 'double', ], 'EC2InstanceId' => [ 'type' => 'string', 'max' => 20, ], 'Edge' => [ 'type' => 'structure', 'members' => [ 'ReferenceId' => [ 'shape' => 'NullableInteger', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'SummaryStatistics' => [ 'shape' => 'EdgeStatistics', ], 'ResponseTimeHistogram' => [ 'shape' => 'Histogram', ], 'Aliases' => [ 'shape' => 'AliasList', ], ], ], 'EdgeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Edge', ], ], 'EdgeStatistics' => [ 'type' => 'structure', 'members' => [ 'OkCount' => [ 'shape' => 'NullableLong', ], 'ErrorStatistics' => [ 'shape' => 'ErrorStatistics', ], 'FaultStatistics' => [ 'shape' => 'FaultStatistics', ], 'TotalCount' => [ 'shape' => 'NullableLong', ], 'TotalResponseTime' => [ 'shape' => 'NullableDouble', ], ], ], 'EncryptionConfig' => [ 'type' => 'structure', 'members' => [ 'KeyId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'EncryptionStatus', ], 'Type' => [ 'shape' => 'EncryptionType', ], ], ], 'EncryptionKeyId' => [ 'type' => 'string', 'max' => 3000, 'min' => 1, ], 'EncryptionStatus' => [ 'type' => 'string', 'enum' => [ 'UPDATING', 'ACTIVE', ], ], 'EncryptionType' => [ 'type' => 'string', 'enum' => [ 'NONE', 'KMS', ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'ErrorRootCause' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'ErrorRootCauseServices', ], ], ], 'ErrorRootCauseEntity' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Exceptions' => [ 'shape' => 'RootCauseExceptions', ], 'Remote' => [ 'shape' => 'NullableBoolean', ], ], ], 'ErrorRootCauseEntityPath' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorRootCauseEntity', ], ], 'ErrorRootCauseService' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'ServiceNames', ], 'Type' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'EntityPath' => [ 'shape' => 'ErrorRootCauseEntityPath', ], 'Inferred' => [ 'shape' => 'NullableBoolean', ], ], ], 'ErrorRootCauseServices' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorRootCauseService', ], ], 'ErrorRootCauses' => [ 'type' => 'list', 'member' => [ 'shape' => 'ErrorRootCause', ], ], 'ErrorStatistics' => [ 'type' => 'structure', 'members' => [ 'ThrottleCount' => [ 'shape' => 'NullableLong', ], 'OtherCount' => [ 'shape' => 'NullableLong', ], 'TotalCount' => [ 'shape' => 'NullableLong', ], ], ], 'FaultRootCause' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'FaultRootCauseServices', ], ], ], 'FaultRootCauseEntity' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Exceptions' => [ 'shape' => 'RootCauseExceptions', ], 'Remote' => [ 'shape' => 'NullableBoolean', ], ], ], 'FaultRootCauseEntityPath' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaultRootCauseEntity', ], ], 'FaultRootCauseService' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'ServiceNames', ], 'Type' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'EntityPath' => [ 'shape' => 'FaultRootCauseEntityPath', ], 'Inferred' => [ 'shape' => 'NullableBoolean', ], ], ], 'FaultRootCauseServices' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaultRootCauseService', ], ], 'FaultRootCauses' => [ 'type' => 'list', 'member' => [ 'shape' => 'FaultRootCause', ], ], 'FaultStatistics' => [ 'type' => 'structure', 'members' => [ 'OtherCount' => [ 'shape' => 'NullableLong', ], 'TotalCount' => [ 'shape' => 'NullableLong', ], ], ], 'FilterExpression' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], 'FixedRate' => [ 'type' => 'double', 'max' => 1, 'min' => 0, ], 'GetEncryptionConfigRequest' => [ 'type' => 'structure', 'members' => [], ], 'GetEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'EncryptionConfig' => [ 'shape' => 'EncryptionConfig', ], ], ], 'GetGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'GroupARN' => [ 'shape' => 'GroupARN', ], ], ], 'GetGroupResult' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'GetGroupsNextToken' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], 'GetGroupsRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'GetGroupsNextToken', ], ], ], 'GetGroupsResult' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupSummaryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetSamplingRulesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetSamplingRulesResult' => [ 'type' => 'structure', 'members' => [ 'SamplingRuleRecords' => [ 'shape' => 'SamplingRuleRecordList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetSamplingStatisticSummariesRequest' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetSamplingStatisticSummariesResult' => [ 'type' => 'structure', 'members' => [ 'SamplingStatisticSummaries' => [ 'shape' => 'SamplingStatisticSummaryList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetSamplingTargetsRequest' => [ 'type' => 'structure', 'required' => [ 'SamplingStatisticsDocuments', ], 'members' => [ 'SamplingStatisticsDocuments' => [ 'shape' => 'SamplingStatisticsDocumentList', ], ], ], 'GetSamplingTargetsResult' => [ 'type' => 'structure', 'members' => [ 'SamplingTargetDocuments' => [ 'shape' => 'SamplingTargetDocumentList', ], 'LastRuleModification' => [ 'shape' => 'Timestamp', ], 'UnprocessedStatistics' => [ 'shape' => 'UnprocessedStatisticsList', ], ], ], 'GetServiceGraphRequest' => [ 'type' => 'structure', 'required' => [ 'StartTime', 'EndTime', ], 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'GroupName' => [ 'shape' => 'GroupName', ], 'GroupARN' => [ 'shape' => 'GroupARN', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetServiceGraphResult' => [ 'type' => 'structure', 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Services' => [ 'shape' => 'ServiceList', ], 'ContainsOldGroupVersions' => [ 'shape' => 'Boolean', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetTraceGraphRequest' => [ 'type' => 'structure', 'required' => [ 'TraceIds', ], 'members' => [ 'TraceIds' => [ 'shape' => 'TraceIdList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetTraceGraphResult' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'ServiceList', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetTraceSummariesRequest' => [ 'type' => 'structure', 'required' => [ 'StartTime', 'EndTime', ], 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Sampling' => [ 'shape' => 'NullableBoolean', ], 'FilterExpression' => [ 'shape' => 'FilterExpression', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetTraceSummariesResult' => [ 'type' => 'structure', 'members' => [ 'TraceSummaries' => [ 'shape' => 'TraceSummaryList', ], 'ApproximateTime' => [ 'shape' => 'Timestamp', ], 'TracesProcessedCount' => [ 'shape' => 'NullableLong', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'Group' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', ], 'GroupARN' => [ 'shape' => 'String', ], 'FilterExpression' => [ 'shape' => 'String', ], ], ], 'GroupARN' => [ 'type' => 'string', 'max' => 400, 'min' => 1, ], 'GroupName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'GroupSummary' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'String', ], 'GroupARN' => [ 'shape' => 'String', ], 'FilterExpression' => [ 'shape' => 'String', ], ], ], 'GroupSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'GroupSummary', ], ], 'HTTPMethod' => [ 'type' => 'string', 'max' => 10, ], 'Histogram' => [ 'type' => 'list', 'member' => [ 'shape' => 'HistogramEntry', ], ], 'HistogramEntry' => [ 'type' => 'structure', 'members' => [ 'Value' => [ 'shape' => 'Double', ], 'Count' => [ 'shape' => 'Integer', ], ], ], 'Host' => [ 'type' => 'string', 'max' => 64, ], 'Hostname' => [ 'type' => 'string', 'max' => 255, ], 'Http' => [ 'type' => 'structure', 'members' => [ 'HttpURL' => [ 'shape' => 'String', ], 'HttpStatus' => [ 'shape' => 'NullableInteger', ], 'HttpMethod' => [ 'shape' => 'String', ], 'UserAgent' => [ 'shape' => 'String', ], 'ClientIp' => [ 'shape' => 'String', ], ], ], 'InstanceIdDetail' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'String', ], ], ], 'Integer' => [ 'type' => 'integer', ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NullableBoolean' => [ 'type' => 'boolean', ], 'NullableDouble' => [ 'type' => 'double', ], 'NullableInteger' => [ 'type' => 'integer', ], 'NullableLong' => [ 'type' => 'long', ], 'Priority' => [ 'type' => 'integer', 'max' => 9999, 'min' => 1, ], 'PutEncryptionConfigRequest' => [ 'type' => 'structure', 'required' => [ 'Type', ], 'members' => [ 'KeyId' => [ 'shape' => 'EncryptionKeyId', ], 'Type' => [ 'shape' => 'EncryptionType', ], ], ], 'PutEncryptionConfigResult' => [ 'type' => 'structure', 'members' => [ 'EncryptionConfig' => [ 'shape' => 'EncryptionConfig', ], ], ], 'PutTelemetryRecordsRequest' => [ 'type' => 'structure', 'required' => [ 'TelemetryRecords', ], 'members' => [ 'TelemetryRecords' => [ 'shape' => 'TelemetryRecordList', ], 'EC2InstanceId' => [ 'shape' => 'EC2InstanceId', ], 'Hostname' => [ 'shape' => 'Hostname', ], 'ResourceARN' => [ 'shape' => 'ResourceARN', ], ], ], 'PutTelemetryRecordsResult' => [ 'type' => 'structure', 'members' => [], ], 'PutTraceSegmentsRequest' => [ 'type' => 'structure', 'required' => [ 'TraceSegmentDocuments', ], 'members' => [ 'TraceSegmentDocuments' => [ 'shape' => 'TraceSegmentDocumentList', ], ], ], 'PutTraceSegmentsResult' => [ 'type' => 'structure', 'members' => [ 'UnprocessedTraceSegments' => [ 'shape' => 'UnprocessedTraceSegmentList', ], ], ], 'RequestCount' => [ 'type' => 'integer', 'min' => 0, ], 'ReservoirSize' => [ 'type' => 'integer', 'min' => 0, ], 'ResourceARN' => [ 'type' => 'string', 'max' => 500, ], 'ResourceARNDetail' => [ 'type' => 'structure', 'members' => [ 'ARN' => [ 'shape' => 'String', ], ], ], 'ResponseTimeRootCause' => [ 'type' => 'structure', 'members' => [ 'Services' => [ 'shape' => 'ResponseTimeRootCauseServices', ], ], ], 'ResponseTimeRootCauseEntity' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Coverage' => [ 'shape' => 'NullableDouble', ], 'Remote' => [ 'shape' => 'NullableBoolean', ], ], ], 'ResponseTimeRootCauseEntityPath' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResponseTimeRootCauseEntity', ], ], 'ResponseTimeRootCauseService' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'ServiceNames', ], 'Type' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'EntityPath' => [ 'shape' => 'ResponseTimeRootCauseEntityPath', ], 'Inferred' => [ 'shape' => 'NullableBoolean', ], ], ], 'ResponseTimeRootCauseServices' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResponseTimeRootCauseService', ], ], 'ResponseTimeRootCauses' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResponseTimeRootCause', ], ], 'RootCauseException' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'RootCauseExceptions' => [ 'type' => 'list', 'member' => [ 'shape' => 'RootCauseException', ], ], 'RuleLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'RuleName' => [ 'type' => 'string', 'max' => 32, 'min' => 1, ], 'SampledCount' => [ 'type' => 'integer', 'min' => 0, ], 'SamplingRule' => [ 'type' => 'structure', 'required' => [ 'ResourceARN', 'Priority', 'FixedRate', 'ReservoirSize', 'ServiceName', 'ServiceType', 'Host', 'HTTPMethod', 'URLPath', 'Version', ], 'members' => [ 'RuleName' => [ 'shape' => 'RuleName', ], 'RuleARN' => [ 'shape' => 'String', ], 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Priority' => [ 'shape' => 'Priority', ], 'FixedRate' => [ 'shape' => 'FixedRate', ], 'ReservoirSize' => [ 'shape' => 'ReservoirSize', ], 'ServiceName' => [ 'shape' => 'ServiceName', ], 'ServiceType' => [ 'shape' => 'ServiceType', ], 'Host' => [ 'shape' => 'Host', ], 'HTTPMethod' => [ 'shape' => 'HTTPMethod', ], 'URLPath' => [ 'shape' => 'URLPath', ], 'Version' => [ 'shape' => 'Version', ], 'Attributes' => [ 'shape' => 'AttributeMap', ], ], ], 'SamplingRuleRecord' => [ 'type' => 'structure', 'members' => [ 'SamplingRule' => [ 'shape' => 'SamplingRule', ], 'CreatedAt' => [ 'shape' => 'Timestamp', ], 'ModifiedAt' => [ 'shape' => 'Timestamp', ], ], ], 'SamplingRuleRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SamplingRuleRecord', ], ], 'SamplingRuleUpdate' => [ 'type' => 'structure', 'members' => [ 'RuleName' => [ 'shape' => 'RuleName', ], 'RuleARN' => [ 'shape' => 'String', ], 'ResourceARN' => [ 'shape' => 'ResourceARN', ], 'Priority' => [ 'shape' => 'NullableInteger', ], 'FixedRate' => [ 'shape' => 'NullableDouble', ], 'ReservoirSize' => [ 'shape' => 'NullableInteger', ], 'Host' => [ 'shape' => 'Host', ], 'ServiceName' => [ 'shape' => 'ServiceName', ], 'ServiceType' => [ 'shape' => 'ServiceType', ], 'HTTPMethod' => [ 'shape' => 'HTTPMethod', ], 'URLPath' => [ 'shape' => 'URLPath', ], 'Attributes' => [ 'shape' => 'AttributeMap', ], ], ], 'SamplingStatisticSummary' => [ 'type' => 'structure', 'members' => [ 'RuleName' => [ 'shape' => 'String', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'RequestCount' => [ 'shape' => 'Integer', ], 'BorrowCount' => [ 'shape' => 'Integer', ], 'SampledCount' => [ 'shape' => 'Integer', ], ], ], 'SamplingStatisticSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SamplingStatisticSummary', ], ], 'SamplingStatisticsDocument' => [ 'type' => 'structure', 'required' => [ 'RuleName', 'ClientID', 'Timestamp', 'RequestCount', 'SampledCount', ], 'members' => [ 'RuleName' => [ 'shape' => 'RuleName', ], 'ClientID' => [ 'shape' => 'ClientID', ], 'Timestamp' => [ 'shape' => 'Timestamp', ], 'RequestCount' => [ 'shape' => 'RequestCount', ], 'SampledCount' => [ 'shape' => 'SampledCount', ], 'BorrowCount' => [ 'shape' => 'BorrowCount', ], ], ], 'SamplingStatisticsDocumentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SamplingStatisticsDocument', ], 'max' => 25, ], 'SamplingTargetDocument' => [ 'type' => 'structure', 'members' => [ 'RuleName' => [ 'shape' => 'String', ], 'FixedRate' => [ 'shape' => 'Double', ], 'ReservoirQuota' => [ 'shape' => 'NullableInteger', ], 'ReservoirQuotaTTL' => [ 'shape' => 'Timestamp', ], 'Interval' => [ 'shape' => 'NullableInteger', ], ], ], 'SamplingTargetDocumentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SamplingTargetDocument', ], ], 'Segment' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'SegmentId', ], 'Document' => [ 'shape' => 'SegmentDocument', ], ], ], 'SegmentDocument' => [ 'type' => 'string', 'min' => 1, ], 'SegmentId' => [ 'type' => 'string', ], 'SegmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Segment', ], ], 'Service' => [ 'type' => 'structure', 'members' => [ 'ReferenceId' => [ 'shape' => 'NullableInteger', ], 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'ServiceNames', ], 'Root' => [ 'shape' => 'NullableBoolean', ], 'AccountId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'State' => [ 'shape' => 'String', ], 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Edges' => [ 'shape' => 'EdgeList', ], 'SummaryStatistics' => [ 'shape' => 'ServiceStatistics', ], 'DurationHistogram' => [ 'shape' => 'Histogram', ], 'ResponseTimeHistogram' => [ 'shape' => 'Histogram', ], ], ], 'ServiceId' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'String', ], 'Names' => [ 'shape' => 'ServiceNames', ], 'AccountId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], ], ], 'ServiceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceId', ], ], 'ServiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Service', ], ], 'ServiceName' => [ 'type' => 'string', 'max' => 64, ], 'ServiceNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ServiceStatistics' => [ 'type' => 'structure', 'members' => [ 'OkCount' => [ 'shape' => 'NullableLong', ], 'ErrorStatistics' => [ 'shape' => 'ErrorStatistics', ], 'FaultStatistics' => [ 'shape' => 'FaultStatistics', ], 'TotalCount' => [ 'shape' => 'NullableLong', ], 'TotalResponseTime' => [ 'shape' => 'NullableDouble', ], ], ], 'ServiceType' => [ 'type' => 'string', 'max' => 64, ], 'String' => [ 'type' => 'string', ], 'TelemetryRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', ], 'members' => [ 'Timestamp' => [ 'shape' => 'Timestamp', ], 'SegmentsReceivedCount' => [ 'shape' => 'NullableInteger', ], 'SegmentsSentCount' => [ 'shape' => 'NullableInteger', ], 'SegmentsSpilloverCount' => [ 'shape' => 'NullableInteger', ], 'SegmentsRejectedCount' => [ 'shape' => 'NullableInteger', ], 'BackendConnectionErrors' => [ 'shape' => 'BackendConnectionErrors', ], ], ], 'TelemetryRecordList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TelemetryRecord', ], ], 'ThrottledException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Trace' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'TraceId', ], 'Duration' => [ 'shape' => 'NullableDouble', ], 'Segments' => [ 'shape' => 'SegmentList', ], ], ], 'TraceAvailabilityZones' => [ 'type' => 'list', 'member' => [ 'shape' => 'AvailabilityZoneDetail', ], ], 'TraceId' => [ 'type' => 'string', 'max' => 35, 'min' => 1, ], 'TraceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceId', ], ], 'TraceInstanceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceIdDetail', ], ], 'TraceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trace', ], ], 'TraceResourceARNs' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceARNDetail', ], ], 'TraceSegmentDocument' => [ 'type' => 'string', ], 'TraceSegmentDocumentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceSegmentDocument', ], ], 'TraceSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'TraceId', ], 'Duration' => [ 'shape' => 'NullableDouble', ], 'ResponseTime' => [ 'shape' => 'NullableDouble', ], 'HasFault' => [ 'shape' => 'NullableBoolean', ], 'HasError' => [ 'shape' => 'NullableBoolean', ], 'HasThrottle' => [ 'shape' => 'NullableBoolean', ], 'IsPartial' => [ 'shape' => 'NullableBoolean', ], 'Http' => [ 'shape' => 'Http', ], 'Annotations' => [ 'shape' => 'Annotations', ], 'Users' => [ 'shape' => 'TraceUsers', ], 'ServiceIds' => [ 'shape' => 'ServiceIds', ], 'ResourceARNs' => [ 'shape' => 'TraceResourceARNs', ], 'InstanceIds' => [ 'shape' => 'TraceInstanceIds', ], 'AvailabilityZones' => [ 'shape' => 'TraceAvailabilityZones', ], 'EntryPoint' => [ 'shape' => 'ServiceId', ], 'FaultRootCauses' => [ 'shape' => 'FaultRootCauses', ], 'ErrorRootCauses' => [ 'shape' => 'ErrorRootCauses', ], 'ResponseTimeRootCauses' => [ 'shape' => 'ResponseTimeRootCauses', ], 'Revision' => [ 'shape' => 'Integer', ], ], ], 'TraceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceSummary', ], ], 'TraceUser' => [ 'type' => 'structure', 'members' => [ 'UserName' => [ 'shape' => 'String', ], 'ServiceIds' => [ 'shape' => 'ServiceIds', ], ], ], 'TraceUsers' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceUser', ], ], 'URLPath' => [ 'type' => 'string', 'max' => 128, ], 'UnprocessedStatistics' => [ 'type' => 'structure', 'members' => [ 'RuleName' => [ 'shape' => 'String', ], 'ErrorCode' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'UnprocessedStatisticsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedStatistics', ], ], 'UnprocessedTraceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceId', ], ], 'UnprocessedTraceSegment' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'String', ], 'ErrorCode' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], ], 'UnprocessedTraceSegmentList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UnprocessedTraceSegment', ], ], 'UpdateGroupRequest' => [ 'type' => 'structure', 'members' => [ 'GroupName' => [ 'shape' => 'GroupName', ], 'GroupARN' => [ 'shape' => 'GroupARN', ], 'FilterExpression' => [ 'shape' => 'FilterExpression', ], ], ], 'UpdateGroupResult' => [ 'type' => 'structure', 'members' => [ 'Group' => [ 'shape' => 'Group', ], ], ], 'UpdateSamplingRuleRequest' => [ 'type' => 'structure', 'required' => [ 'SamplingRuleUpdate', ], 'members' => [ 'SamplingRuleUpdate' => [ 'shape' => 'SamplingRuleUpdate', ], ], ], 'UpdateSamplingRuleResult' => [ 'type' => 'structure', 'members' => [ 'SamplingRuleRecord' => [ 'shape' => 'SamplingRuleRecord', ], ], ], 'ValueWithServiceIds' => [ 'type' => 'structure', 'members' => [ 'AnnotationValue' => [ 'shape' => 'AnnotationValue', ], 'ServiceIds' => [ 'shape' => 'ServiceIds', ], ], ], 'ValuesWithServiceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValueWithServiceIds', ], ], 'Version' => [ 'type' => 'integer', 'min' => 1, ], ],]; diff --git a/lib/aws/Aws/data/xray/2016-04-12/paginators-1.json.php b/lib/aws/Aws/data/xray/2016-04-12/paginators-1.json.php new file mode 100644 index 0000000..57b28c3 --- /dev/null +++ b/lib/aws/Aws/data/xray/2016-04-12/paginators-1.json.php @@ -0,0 +1,3 @@ +<?php +// This file was auto-generated from sdk-root/src/data/xray/2016-04-12/paginators-1.json +return [ 'pagination' => [ 'BatchGetTraces' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Traces', ], 'GetServiceGraph' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Services', ], 'GetTraceGraph' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'Services', ], 'GetTraceSummaries' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'TraceSummaries', ], ],]; diff --git a/lib/aws/Aws/functions.php b/lib/aws/Aws/functions.php new file mode 100644 index 0000000..21e40d9 --- /dev/null +++ b/lib/aws/Aws/functions.php @@ -0,0 +1,411 @@ +<?php +namespace Aws; + +use Psr\Http\Message\RequestInterface; +use GuzzleHttp\ClientInterface; +use GuzzleHttp\Promise\FulfilledPromise; + +//----------------------------------------------------------------------------- +// Functional functions +//----------------------------------------------------------------------------- + +/** + * Returns a function that always returns the same value; + * + * @param mixed $value Value to return. + * + * @return callable + */ +function constantly($value) +{ + return function () use ($value) { return $value; }; +} + +/** + * Filters values that do not satisfy the predicate function $pred. + * + * @param mixed $iterable Iterable sequence of data. + * @param callable $pred Function that accepts a value and returns true/false + * + * @return \Generator + */ +function filter($iterable, callable $pred) +{ + foreach ($iterable as $value) { + if ($pred($value)) { + yield $value; + } + } +} + +/** + * Applies a map function $f to each value in a collection. + * + * @param mixed $iterable Iterable sequence of data. + * @param callable $f Map function to apply. + * + * @return \Generator + */ +function map($iterable, callable $f) +{ + foreach ($iterable as $value) { + yield $f($value); + } +} + +/** + * Creates a generator that iterates over a sequence, then iterates over each + * value in the sequence and yields the application of the map function to each + * value. + * + * @param mixed $iterable Iterable sequence of data. + * @param callable $f Map function to apply. + * + * @return \Generator + */ +function flatmap($iterable, callable $f) +{ + foreach (map($iterable, $f) as $outer) { + foreach ($outer as $inner) { + yield $inner; + } + } +} + +/** + * Partitions the input sequence into partitions of the specified size. + * + * @param mixed $iterable Iterable sequence of data. + * @param int $size Size to make each partition (except possibly the last chunk) + * + * @return \Generator + */ +function partition($iterable, $size) +{ + $buffer = []; + foreach ($iterable as $value) { + $buffer[] = $value; + if (count($buffer) === $size) { + yield $buffer; + $buffer = []; + } + } + + if ($buffer) { + yield $buffer; + } +} + +/** + * Returns a function that invokes the provided variadic functions one + * after the other until one of the functions returns a non-null value. + * The return function will call each passed function with any arguments it + * is provided. + * + * $a = function ($x, $y) { return null; }; + * $b = function ($x, $y) { return $x + $y; }; + * $fn = \Aws\or_chain($a, $b); + * echo $fn(1, 2); // 3 + * + * @return callable + */ +function or_chain() +{ + $fns = func_get_args(); + return function () use ($fns) { + $args = func_get_args(); + foreach ($fns as $fn) { + $result = $args ? call_user_func_array($fn, $args) : $fn(); + if ($result) { + return $result; + } + } + return null; + }; +} + +//----------------------------------------------------------------------------- +// JSON compiler and loading functions +//----------------------------------------------------------------------------- + +/** + * Loads a compiled JSON file from a PHP file. + * + * If the JSON file has not been cached to disk as a PHP file, it will be loaded + * from the JSON source file and returned. + * + * @param string $path Path to the JSON file on disk + * + * @return mixed Returns the JSON decoded data. Note that JSON objects are + * decoded as associative arrays. + */ +function load_compiled_json($path) +{ + $compiledFilepath = "{$path}.php"; + if (is_readable($compiledFilepath)) { + return include($compiledFilepath); + } + + if (!file_exists($path)) { + throw new \InvalidArgumentException( + sprintf("File not found: %s", $path) + ); + } + + return json_decode(file_get_contents($path), true); +} + +/** + * No-op + */ +function clear_compiled_json() +{ + // pass +} + +//----------------------------------------------------------------------------- +// Directory iterator functions. +//----------------------------------------------------------------------------- + +/** + * Iterates over the files in a directory and works with custom wrappers. + * + * @param string $path Path to open (e.g., "s3://foo/bar"). + * @param resource $context Stream wrapper context. + * + * @return \Generator Yields relative filename strings. + */ +function dir_iterator($path, $context = null) +{ + $dh = $context ? opendir($path, $context) : opendir($path); + if (!$dh) { + throw new \InvalidArgumentException('File not found: ' . $path); + } + while (($file = readdir($dh)) !== false) { + yield $file; + } + closedir($dh); +} + +/** + * Returns a recursive directory iterator that yields absolute filenames. + * + * This iterator is not broken like PHP's built-in DirectoryIterator (which + * will read the first file from a stream wrapper, then rewind, then read + * it again). + * + * @param string $path Path to traverse (e.g., s3://bucket/key, /tmp) + * @param resource $context Stream context options. + * + * @return \Generator Yields absolute filenames. + */ +function recursive_dir_iterator($path, $context = null) +{ + $invalid = ['.' => true, '..' => true]; + $pathLen = strlen($path) + 1; + $iterator = dir_iterator($path, $context); + $queue = []; + do { + while ($iterator->valid()) { + $file = $iterator->current(); + $iterator->next(); + if (isset($invalid[basename($file)])) { + continue; + } + $fullPath = "{$path}/{$file}"; + yield $fullPath; + if (is_dir($fullPath)) { + $queue[] = $iterator; + $iterator = map( + dir_iterator($fullPath, $context), + function ($file) use ($fullPath, $pathLen) { + return substr("{$fullPath}/{$file}", $pathLen); + } + ); + continue; + } + } + $iterator = array_pop($queue); + } while ($iterator); +} + +//----------------------------------------------------------------------------- +// Misc. functions. +//----------------------------------------------------------------------------- + +/** + * Debug function used to describe the provided value type and class. + * + * @param mixed $input + * + * @return string Returns a string containing the type of the variable and + * if a class is provided, the class name. + */ +function describe_type($input) +{ + switch (gettype($input)) { + case 'object': + return 'object(' . get_class($input) . ')'; + case 'array': + return 'array(' . count($input) . ')'; + default: + ob_start(); + var_dump($input); + // normalize float vs double + return str_replace('double(', 'float(', rtrim(ob_get_clean())); + } +} + +/** + * Creates a default HTTP handler based on the available clients. + * + * @return callable + */ +function default_http_handler() +{ + $version = (string) ClientInterface::VERSION; + if ($version[0] === '5') { + return new \Aws\Handler\GuzzleV5\GuzzleHandler(); + } + + if ($version[0] === '6') { + return new \Aws\Handler\GuzzleV6\GuzzleHandler(); + } + + throw new \RuntimeException('Unknown Guzzle version: ' . $version); +} + +/** + * Gets the default user agent string depending on the Guzzle version + * + * @return string + */ +function default_user_agent() +{ + $version = (string) ClientInterface::VERSION; + if ($version[0] === '5') { + return \GuzzleHttp\Client::getDefaultUserAgent(); + } + + if ($version[0] === '6') { + return \GuzzleHttp\default_user_agent(); + } + + throw new \RuntimeException('Unknown Guzzle version: ' . $version); +} + +/** + * Serialize a request for a command but do not send it. + * + * Returns a promise that is fulfilled with the serialized request. + * + * @param CommandInterface $command Command to serialize. + * + * @return RequestInterface + * @throws \RuntimeException + */ +function serialize(CommandInterface $command) +{ + $request = null; + $handlerList = $command->getHandlerList(); + + // Return a mock result. + $handlerList->setHandler( + function (CommandInterface $_, RequestInterface $r) use (&$request) { + $request = $r; + return new FulfilledPromise(new Result([])); + } + ); + + call_user_func($handlerList->resolve(), $command)->wait(); + if (!$request instanceof RequestInterface) { + throw new \RuntimeException( + 'Calling handler did not serialize request' + ); + } + + return $request; +} + +/** + * Retrieves data for a service from the SDK's service manifest file. + * + * Manifest data is stored statically, so it does not need to be loaded more + * than once per process. The JSON data is also cached in opcache. + * + * @param string $service Case-insensitive namespace or endpoint prefix of the + * service for which you are retrieving manifest data. + * + * @return array + * @throws \InvalidArgumentException if the service is not supported. + */ +function manifest($service = null) +{ + // Load the manifest and create aliases for lowercased namespaces + static $manifest = []; + static $aliases = []; + if (empty($manifest)) { + $manifest = load_compiled_json(__DIR__ . '/data/manifest.json'); + foreach ($manifest as $endpoint => $info) { + $alias = strtolower($info['namespace']); + if ($alias !== $endpoint) { + $aliases[$alias] = $endpoint; + } + } + } + + // If no service specified, then return the whole manifest. + if ($service === null) { + return $manifest; + } + + // Look up the service's info in the manifest data. + $service = strtolower($service); + if (isset($manifest[$service])) { + return $manifest[$service] + ['endpoint' => $service]; + } + + if (isset($aliases[$service])) { + return manifest($aliases[$service]); + } + + throw new \InvalidArgumentException( + "The service \"{$service}\" is not provided by the AWS SDK for PHP." + ); +} + +/** + * Checks if supplied parameter is a valid hostname + * + * @param string $hostname + * @return bool + */ +function is_valid_hostname($hostname) +{ + return ( + preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*\.?$/i", $hostname) + && preg_match("/^.{1,253}$/", $hostname) + && preg_match("/^[^\.]{1,63}(\.[^\.]{0,63})*$/", $hostname) + ); +} + +/** + * Ignores '#' full line comments, which parse_ini_file no longer does + * in PHP 7+. + * + * @param $filename + * @param bool $process_sections + * @param int $scanner_mode + * @return array|bool + */ +function parse_ini_file( + $filename, + $process_sections = false, + $scanner_mode = INI_SCANNER_NORMAL) +{ + return parse_ini_string( + preg_replace('/^#.*\\n/m', "", file_get_contents($filename)), + $process_sections, + $scanner_mode + ); +} \ No newline at end of file diff --git a/lib/aws/Aws/signer/Exception/signerException.php b/lib/aws/Aws/signer/Exception/signerException.php new file mode 100644 index 0000000..4779f70 --- /dev/null +++ b/lib/aws/Aws/signer/Exception/signerException.php @@ -0,0 +1,9 @@ +<?php +namespace Aws\signer\Exception; + +use Aws\Exception\AwsException; + +/** + * Represents an error interacting with the **AWS Signer** service. + */ +class signerException extends AwsException {} diff --git a/lib/aws/Aws/signer/signerClient.php b/lib/aws/Aws/signer/signerClient.php new file mode 100644 index 0000000..27fafd2 --- /dev/null +++ b/lib/aws/Aws/signer/signerClient.php @@ -0,0 +1,27 @@ +<?php +namespace Aws\signer; + +use Aws\AwsClient; + +/** + * This client is used to interact with the **AWS Signer** service. + * @method \Aws\Result cancelSigningProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise cancelSigningProfileAsync(array $args = []) + * @method \Aws\Result describeSigningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeSigningJobAsync(array $args = []) + * @method \Aws\Result getSigningPlatform(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSigningPlatformAsync(array $args = []) + * @method \Aws\Result getSigningProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise getSigningProfileAsync(array $args = []) + * @method \Aws\Result listSigningJobs(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSigningJobsAsync(array $args = []) + * @method \Aws\Result listSigningPlatforms(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSigningPlatformsAsync(array $args = []) + * @method \Aws\Result listSigningProfiles(array $args = []) + * @method \GuzzleHttp\Promise\Promise listSigningProfilesAsync(array $args = []) + * @method \Aws\Result putSigningProfile(array $args = []) + * @method \GuzzleHttp\Promise\Promise putSigningProfileAsync(array $args = []) + * @method \Aws\Result startSigningJob(array $args = []) + * @method \GuzzleHttp\Promise\Promise startSigningJobAsync(array $args = []) + */ +class signerClient extends AwsClient {} diff --git a/lib/aws/CHANGELOG.md b/lib/aws/CHANGELOG.md new file mode 100644 index 0000000..31f674c --- /dev/null +++ b/lib/aws/CHANGELOG.md @@ -0,0 +1,4954 @@ +# CHANGELOG + +## 3.91.4 - 2019-04-05 + +* `Aws\` - Enables Expect http config to be passed through GuzzleV5 Handler. +* `Aws\Comprehend` - With this release AWS Comprehend provides confusion matrix for custom document classifier. +* `Aws\Glue` - AWS Glue now supports workerType choices in the CreateJob, UpdateJob, and StartJobRun APIs, to be used for memory-intensive jobs. +* `Aws\IoT1ClickDevicesService` - Documentation updates for 1-Click: improved descriptions of resource tagging APIs. +* `Aws\MediaConvert` - Rectify incorrect modelling of DisassociateCertificate method +* `Aws\MediaLive` - Today AWS Elemental MediaLive (https://aws.amazon.com/medialive/) adds the option to create "Single Pipeline" channels, which offers a lower-cost option compared to Standard channels. MediaLive Single Pipeline channels have a single encoding pipeline rather than the redundant dual Availability Zone (AZ) pipelines that MediaLive provides with a "Standard" channel. + +## 3.91.3 - 2019-04-04 + +* `Aws\EKS` - Added support to enable or disable publishing Kubernetes cluster logs in AWS CloudWatch +* `Aws\IAM` - Documentation updates for iam + +## 3.91.2 - 2019-04-03 + +* `Aws\Batch` - Support for GPU resource requirement in RegisterJobDefinition and SubmitJob +* `Aws\Comprehend` - With this release AWS Comprehend adds tagging support for document-classifiers and entity-recognizers. + +## 3.91.1 - 2019-04-02 + +* `Aws\ACM` - Documentation updates for acm +* `Aws\EC2` - Add paginators. +* `Aws\SecurityHub` - This update includes 3 additional error codes: AccessDeniedException, InvalidAccessException, and ResourceConflictException. This update also removes the error code ResourceNotFoundException from the GetFindings, GetInvitationsCount, ListInvitations, and ListMembers operations. + +## 3.91.0 - 2019-04-01 + +* `Aws\` - Adds helper function to parse full-line hash comments for credentials and config files, which was removed in PHP 7's implemention of parse_ini_file. +* `Aws\EMR` - Amazon EMR adds the ability to modify instance group configurations on a running cluster through the new "configurations" field in the ModifyInstanceGroups API. +* `Aws\SSM` - March 2019 documentation updates for Systems Manager. + +## 3.90.13 - 2019-03-29 + +* `Aws\CloudWatch` - Added 3 new APIs, and one additional parameter to PutMetricAlarm API, to support tagging of CloudWatch Alarms. +* `Aws\Comprehend` - With this release AWS Comprehend supports encryption of output results of analysis jobs and volume data on the storage volume attached to the compute instance that processes the analysis job. +* `Aws\Greengrass` - Greengrass APIs now support tagging operations on resources + +## 3.90.12 - 2019-03-28 + +* `Aws\CloudFront` - Parse the private key used to sign Cloudfront Urls once during construction instead of on every call to ->sign(). For a 2048bit key, this dropped the signing time from 1.3ms to 0.7ms. For a 1024bit key, the time went from 0.40ms to 0.16ms. +* `Aws\MediaLive` - This release adds a new output locking mode synchronized to the Unix epoch. +* `Aws\PinpointEmail` - This release adds support for using the Amazon Pinpoint Email API to tag the following types of Amazon Pinpoint resources: configuration sets; dedicated IP pools; deliverability dashboard reports; and, email identities. A tag is a label that you optionally define and associate with these types of resources. Tags can help you categorize and manage these resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags. For more information, see the Amazon Pinpoint Email API Reference. +* `Aws\ServiceCatalog` - Adds "Tags" field in UpdateProvisionedProduct API. The product should have a new RESOURCE_UPDATE Constraint with TagUpdateOnProvisionedProduct field set to ALLOWED for it to work. See API docs for CreateConstraint for more information +* `Aws\WorkSpaces` - Amazon WorkSpaces adds tagging support for WorkSpaces Images, WorkSpaces directories, WorkSpaces bundles and IP Access control groups. + +## 3.90.11 - 2019-03-27 + +* `Aws\AppMesh` - This release includes AWS Tagging integration for App Mesh, VirtualNode access logging, TCP routing, and Mesh-wide external traffic egress control. See https://docs.aws.amazon.com/app-mesh/latest/APIReference/Welcome.html for more details. +* `Aws\EC2` - You can now launch the new Amazon EC2 R5ad and M5ad instances that feature local NVMe attached SSD instance storage (up to 3600 GB). M5ad and R5ad feature AMD EPYC processors that offer a 10% cost savings over the M5d and R5d EC2 instances. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for external deployment controllers for ECS services with the launch of task set management APIs. Task sets are a new primitive for controlled management of application deployments within a single ECS service. +* `Aws\ElasticLoadBalancingv2` - This release adds support for routing based on HTTP headers, methods, query string or query parameters and source IP addresses in Application Load Balancer. +* `Aws\S3` - S3 Glacier Deep Archive provides secure, durable object storage class for long term data archival. This SDK release provides API support for this new storage class. +* `Aws\StorageGateway` - This change allows you to select a pool for archiving virtual tapes. Pools are associated with S3 storage classes. You can now choose to archive virtual tapes in either S3 Glacier or S3 Glacier Deep Archive storage class. CreateTapes API now takes a new PoolId parameter which can either be GLACIER or DEEP_ARCHIVE. Tapes created with this parameter will be archived in the corresponding storage class. +* `Aws\Transfer` - This release adds PrivateLink support to your AWS SFTP server endpoint, enabling the customer to access their SFTP server within a VPC, without having to traverse the internet. Customers can now can create a server and specify an option whether they want the endpoint to be hosted as public or in their VPC, and with the in VPC option, SFTP clients and users can access the server only from the customer's VPC or from their on-premises environments using DX or VPN. This release also relaxes the SFTP user name requirements to allow underscores and hyphens. + +## 3.90.10 - 2019-03-26 + +* `Aws\Glue` - This new feature will now allow customers to add a customized csv classifier with classifier API. They can specify a custom delimiter, quote symbol and control other behavior they'd like crawlers to have while recognizing csv files +* `Aws\WorkMail` - Documentation updates for Amazon WorkMail. + +## 3.90.9 - 2019-03-25 + +* `Aws\DirectConnect` - Direct Connect gateway enables you to establish connectivity between your on-premise networks and Amazon Virtual Private Clouds (VPCs) in any commercial AWS Region (except in China) using AWS Direct Connect connections at any AWS Direct Connect location. This release enables multi-account support for Direct Connect gateway, with multi-account support for Direct Connect gateway, you can associate up to ten VPCs from any AWS account with a Direct Connect gateway. The AWS accounts owning VPCs and the Direct Connect gateway must belong to the same AWS payer account ID. This release also enables Direct Connect Gateway owners to allocate allowed prefixes from each associated VPCs. +* `Aws\FMS` - AWS Firewall Manager now allows customer to centrally enable AWS Shield Advanced DDoS protection for their entire AWS infrastructure, across accounts and applications. +* `Aws\IoT1ClickDevicesService` - This release adds tagging support for AWS IoT 1-Click Device resources. Use these APIs to add, remove, or list tags on Devices, and leverage the tags for various authorization and billing scenarios. This release also adds the ARN property for DescribeDevice response object. +* `Aws\IoTAnalytics` - This change allows you to specify the number of versions of IoT Analytics data set content to be retained. Previously, the number of versions was managed implicitly via the setting of the data set's retention period. +* `Aws\MediaConvert` - This release adds support for detailed job progress status and S3 server-side output encryption. In addition, the anti-alias filter will now be automatically applied to all outputs +* `Aws\RoboMaker` - Added additional progress metadata fields for robot deployments +* `Aws\TranscribeService` - Amazon Transcribe - With this release Amazon Transcribe enhances the custom vocabulary feature to improve accuracy by providing customization on pronunciations and output formatting. + +## 3.90.8 - 2019-03-22 + +* `Aws\IoT1ClickProjects` - This release adds tagging support for AWS IoT 1-Click Project resources. Use these APIs to add, remove, or list tags on Projects, and leverage the tags for various authorization and billing scenarios. This release also adds the ARN property to projects for DescribeProject and ListProject responses. +* `Aws\TranscribeService` - Amazon Transcribe - support transcriptions from audio sources in German (de-DE) and Korean (ko-KR). + +## 3.90.7 - 2019-03-21 + +* `Aws\AutoScaling` - Documentation updates for Amazon EC2 Auto Scaling +* `Aws\CloudWatchEvents` - Added 3 new APIs, and one additional parameter to the PutRule API, to support tagging of CloudWatch Events rules. +* `Aws\CognitoIdentityProvider` - This release adds tags and tag-based access control support to Amazon Cognito User Pools. +* `Aws\IoT` - This release adds the GetStatistics API for the AWS IoT Fleet Indexing Service, which allows customers to query for statistics about registered devices that match a search query. This release only supports the count statistics. For more information about this API, see https://docs.aws.amazon.com/iot/latest/apireference/API_GetStatistics.html +* `Aws\Lightsail` - This release adds the DeleteKnownHostKeys API, which enables Lightsail's browser-based SSH or RDP clients to connect to the instance after a host key mismatch. + +## 3.90.6 - 2019-03-20 + +* `Aws\CodePipeline` - Add support for viewing details of each action execution belonging to past and latest pipeline executions that have occurred in customer's pipeline. The details include start/updated times, action execution results, input/output artifacts information, etc. Customers also have the option to add pipelineExecutionId in the input to filter the results down to a single pipeline execution. +* `Aws\CognitoIdentity` - This release adds tags and tag-based access control support to Amazon Cognito Identity Pools (Federated Identities). +* `Aws\MarketplaceMetering` - This release increases AWS Marketplace Metering Service maximum usage quantity to 2147483647 and makes parameters usage quantity and dryrun optional. + +## 3.90.5 - 2019-03-19 + +* `Aws\ConfigService` - AWS Config adds a new API called SelectResourceConfig to run advanced queries based on resource configuration properties. +* `Aws\EKS` - Added support to control private/public access to the Kubernetes API-server endpoint + +## 3.90.4 - 2019-03-18 + +* `Aws\Chime` - This release adds support for the Amazon Chime Business Calling and Voice Connector features. +* `Aws\DatabaseMigrationService` - S3 Endpoint Settings added support for 1) Migrating to Amazon S3 as a target in Parquet format 2) Encrypting S3 objects after migration with custom KMS Server-Side encryption. Redshift Endpoint Settings added support for encrypting intermediate S3 objects during migration with custom KMS Server-Side encryption. +* `Aws\EC2` - DescribeFpgaImages API now returns a new DataRetentionSupport attribute to indicate if the AFI meets the requirements to support DRAM data retention. DataRetentionSupport is a read-only attribute. + +## 3.90.3 - 2019-03-14 + +* `Aws\ACM` - AWS Certificate Manager has added a new API action, RenewCertificate. RenewCertificate causes ACM to force the renewal of any private certificate which has been exported. +* `Aws\ACMPCA` - AWS Certificate Manager (ACM) Private CA allows customers to manage permissions on their CAs. Customers can grant or deny AWS Certificate Manager permission to renew exported private certificates. +* `Aws\CloudWatch` - New Messages parameter for the output of GetMetricData, to support new metric search functionality. +* `Aws\ConfigService` - AWS Config - add ability to tag, untag and list tags for ConfigRule, ConfigurationAggregator and AggregationAuthorization resource types. Tags can be used for various scenarios including tag based authorization. +* `Aws\EC2` - This release adds tagging support for Dedicated Host Reservations. +* `Aws\IoT` - In this release, AWS IoT introduces support for tagging OTA Update and Stream resources. For more information about tagging, see the AWS IoT Developer Guide. +* `Aws\SageMaker` - Amazon SageMaker Automatic Model Tuning now supports random search and hyperparameter scaling. + +## 3.90.2 - 2019-03-13 + +* `Aws\CloudWatchLogs` - Documentation updates for logs +* `Aws\ConfigService` - Config released Remediation APIs allowing Remediation of Config Rules + +## 3.90.1 - 2019-03-12 + +* `Aws\ServerlessApplicationRepository` - The AWS Serverless Application Repository now supports associating a ZIP source code archive with versions of an application. + +## 3.90.0 - 2019-03-11 + +* `Aws\` - Adds ability to clone existing Sdk instance with extra arguments. +* `Aws\CostExplorer` - The only change in this release is to make TimePeriod a required parameter in GetCostAndUsageRequest. +* `Aws\ElasticBeanstalk` - Elastic Beanstalk added support for tagging, and tag-based access control, of all Elastic Beanstalk resources. +* `Aws\Glue` - CreateDevEndpoint and UpdateDevEndpoint now support Arguments to configure the DevEndpoint. +* `Aws\IoT` - Documentation updates for iot +* `Aws\QuickSight` - Amazon QuickSight user and group operation results now include group principal IDs and user principal IDs. This release also adds "DeleteUserByPrincipalId", which deletes users given their principal ID. The update also improves role session name validation. +* `Aws\Rekognition` - Documentation updates for Amazon Rekognition + +## 3.89.1 - 2019-03-08 + +* `Aws\CodeBuild` - CodeBuild also now supports Git Submodules. CodeBuild now supports opting out of Encryption for S3 Build Logs. By default these logs are encrypted. +* `Aws\S3` - Documentation updates for s3 +* `Aws\SageMaker` - SageMaker notebook instances now support enabling or disabling root access for notebook users. SageMaker Neo now supports rk3399 and rk3288 as compilation target devices. + +## 3.89.0 - 2019-03-07 + +* `Aws\AppMesh` - This release includes a new version of the AWS App Mesh APIs. You can read more about the new APIs here: https://docs.aws.amazon.com/app-mesh/latest/APIReference/Welcome.html. +* `Aws\AutoScaling` - Documentation updates for autoscaling +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces additional task definition parameters that enable you to define dependencies for container startup and shutdown, a per-container start and stop timeout value, as well as an AWS App Mesh proxy configuration which eases the integration between Amazon ECS and AWS App Mesh. +* `Aws\GameLift` - Amazon GameLift-hosted instances can now securely access resources on other AWS services using IAM roles. See more details at https://aws.amazon.com/releasenotes/amazon-gamelift/. +* `Aws\Greengrass` - Greengrass group UID and GID settings can now be configured to use a provided default via FunctionDefaultConfig. If configured, all Lambda processes in your deployed Greengrass group will by default start with the provided UID and/or GID, rather than by default starting with UID "ggc_user" and GID "ggc_group" as they would if not configured. Individual Lambdas can also be configured to override the defaults if desired via each object in the Functions list of your FunctionDefinitionVersion. +* `Aws\MediaLive` - This release adds a MediaPackage output group, simplifying configuration of outputs to AWS Elemental MediaPackage. +* `Aws\RDS` - You can configure your Aurora database cluster to automatically copy tags on the cluster to any automated or manual database cluster snapshots that are created from the cluster. This allows you to easily set metadata on your snapshots to match the parent cluster, including access policies. You may enable or disable this functionality while creating a new cluster, or by modifying an existing database cluster. +* `Aws\S3` - Updates the S3 stream wrapper to be able to write empty files for PHP 7+. + +## 3.88.1 - 2019-03-06 + +* `Aws\DirectConnect` - Exposed a new available port speeds field in the DescribeLocation api call. +* `Aws\EC2` - This release adds pagination support for ec2.DescribeVpcs, ec2.DescribeInternetGateways and ec2.DescribeNetworkAcls APIs +* `Aws\EFS` - Documentation updates for elasticfilesystem adding new examples for EFS Lifecycle Management feature. + +## 3.88.0 - 2019-03-05 + +* `Aws\CodeDeploy` - Documentation updates for codedeploy +* `Aws\MediaLive` - This release adds support for pausing and unpausing one or both pipelines at scheduled times. +* `Aws\StorageGateway` - ActivateGateway, CreateNFSFileShare and CreateSMBFileShare APIs support a new parameter: Tags (to be attached to the created resource). Output for DescribeNFSFileShare, DescribeSMBFileShare and DescribeGatewayInformation APIs now also list the Tags associated with the resource. Minimum length of a KMSKey is now 7 characters. +* `Aws\Test` - Refactor client iterator tests to use mocked model data. +* `Aws\Textract` - This release is intended ONLY for customers that are officially part of the Amazon Textract Preview program. If you are not officially part of the Amazon Textract program THIS WILL NOT WORK. Our two main regions for Amazon Textract Preview are N. Virginia and Dublin. Also some members have been added to Oregon and Ohio. If you are outside of any of these AWS regions, Amazon Textract Preview definitely will not work. If you would like to be part of the Amazon Textract program, you can officially request sign up here - https://pages.awscloud.com/textract-preview.html. To set expectations appropriately, we are aiming to admit new preview participants once a week until General Availability. + +## 3.87.23 - 2019-03-04 + +* `Aws\MediaPackage` - This release adds support for user-defined tagging of MediaPackage resources. Users may now call operations to list, add and remove tags from channels and origin-endpoints. Users can also specify tags to be attached to these resources during their creation. Describe and list operations on these resources will now additionally return any tags associated with them. +* `Aws\SSM` - This release updates AWS Systems Manager APIs to support service settings for AWS customers. A service setting is a key-value pair that defines how a user interacts with or uses an AWS service, and is typically created and consumed by the AWS service team. AWS customers can read a service setting via GetServiceSetting API and update the setting via UpdateServiceSetting API or ResetServiceSetting API, which are introduced in this release. For example, if an AWS service charges money to the account based on a feature or service usage, then the AWS service team might create a setting with the default value of "false". This means the user can't use this feature unless they update the setting to "true" and intentionally opt in for a paid feature. + +## 3.87.22 - 2019-03-01 + +* `Aws\AutoScalingPlans` - Documentation updates for autoscaling-plans +* `Aws\EC2` - This release adds support for modifying instance event start time which allows users to reschedule EC2 events. + +## 3.87.21 - 2019-02-28 + +* `Aws\AlexaForBusiness` - This release adds the PutInvitationConfiguration API to configure the user invitation email template with custom attributes, and the GetInvitationConfiguration API to retrieve the configured values. +* `Aws\ApiGatewayV2` - Marking certain properties as explicitly required and fixing an issue with the GetApiMappings operation for ApiMapping resources. +* `Aws\ApplicationAutoScaling` - Documentation updates for application-autoscaling +* `Aws\SSM` - AWS Systems Manager State Manager now supports associations using documents shared by other AWS accounts. + +## 3.87.20 - 2019-02-27 + +* `Aws\WAF` - Documentation updates for waf +* `Aws\WAFRegional` - Documentation updates for waf-regional + +## 3.87.19 - 2019-02-26 + +* `Aws\ApplicationDiscoveryService` - Documentation updates for discovery +* `Aws\CostandUsageReportService` - Adding support for Athena and new report preferences to the Cost and Usage Report API. +* `Aws\MediaConvert` - AWS Elemental MediaConvert SDK has added several features including support for: auto-rotation or user-specified rotation of 0, 90, 180, or 270 degrees; multiple output groups with DRM; ESAM XML documents to specify ad insertion points; Offline Apple HLS FairPlay content protection. +* `Aws\OpsWorksCM` - Documentation updates for opsworkscm +* `Aws\Organizations` - Documentation updates for AWS Organizations +* `Aws\Pinpoint` - This release adds support for the Amazon Resource Groups Tagging API to Amazon Pinpoint, which means that you can now add and manage tags for Amazon Pinpoint projects (apps), campaigns, and segments. A tag is a label that you optionally define and associate with Amazon Pinpoint resource. Tags can help you categorize and manage these types of resources in different ways, such as by purpose, owner, environment, or other criteria. For example, you can use tags to apply policies or automation, or to identify resources that are subject to certain compliance requirements. A project, campaign, or segment can have as many as 50 tags. For more information about using and managing tags in Amazon Pinpoint, see the Amazon Pinpoint Developer Guide at https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html. For more information about the Amazon Resource Group Tagging API, see the Amazon Resource Group Tagging API Reference at https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html. +* `Aws\ResourceGroups` - Documentation updates for Resource Groups API; updating description of Tag API. + +## 3.87.18 - 2019-02-25 + +* `Aws\Api` - Fixes validation on assoc arrays having a 0 index. +* `Aws\AutoScaling` - Added support for passing an empty SpotMaxPrice parameter to remove a value previously set when updating an Amazon EC2 Auto Scaling group. +* `Aws\CostExplorer` - Added metrics to normalized units. +* `Aws\ElasticLoadBalancingv2` - This release enables you to use the existing client secret when modifying a rule with an action of type authenticate-oidc. +* `Aws\MediaStore` - This release adds support for access logging, which provides detailed records for the requests that are made to objects in a container. + +## 3.87.17 - 2019-02-22 + +* `Aws\Athena` - This release adds tagging support for Workgroups to Amazon Athena. Use these APIs to add, remove, or list tags on Workgroups, and leverage the tags for various authorization and billing scenarios. +* `Aws\Cloud9` - Adding EnvironmentLifecycle to the Environment data type. +* `Aws\Glue` - AWS Glue adds support for assigning AWS resource tags to jobs, triggers, development endpoints, and crawlers. Each tag consists of a key and an optional value, both of which you define. With this capacity, customers can use tags in AWS Glue to easily organize and identify your resources, create cost allocation reports, and control access to resources. +* `Aws\SFN` - This release adds support for tag-on-create. You can now add tags when you create AWS Step Functions activity and state machine resources. For more information about tagging, see AWS Tagging Strategies. + +## 3.87.16 - 2019-02-21 + +* `Aws\CloudWatch` - Documentation updates for monitoring +* `Aws\CodeBuild` - Add support for CodeBuild local caching feature +* `Aws\KinesisVideo` - Documentation updates for Kinesis Video Streams +* `Aws\KinesisVideoArchivedMedia` - In this release, HLS playback of KVS streams can be configured to output MPEG TS fragments using the ContainerFormat parameter. HLS playback of KVS streams can also be configured to include the EXT-X-PROGRAM-DATE-TIME field using the DisplayFragmentTimestamp parameter. +* `Aws\KinesisVideoMedia` - Documentation updates for Kinesis Video Streams +* `Aws\Organizations` - Documentation updates for organizations +* `Aws\Transfer` - Bug fix: increased the max length allowed for request parameter NextToken when paginating List operations +* `Aws\WorkDocs` - Documentation updates for workdocs + +## 3.87.15 - 2019-02-20 + +* `Aws\CodeCommit` - This release adds an API for adding / updating / deleting / copying / moving / setting file modes for one or more files directly to an AWS CodeCommit repository without requiring a Git client. +* `Aws\DirectConnect` - Documentation updates for AWS Direct Connect +* `Aws\MediaLive` - This release adds support for VPC inputs, allowing you to push content from your Amazon VPC directly to MediaLive. + +## 3.87.14 - 2019-02-19 + +* `Aws\DirectoryService` - This release adds support for tags during directory creation (CreateDirectory, CreateMicrosoftAd, ConnectDirectory). +* `Aws\EFS` - Amazon EFS now supports adding tags to file system resources as part of the CreateFileSystem API . Using this capability, customers can now more easily enforce tag-based authorization for EFS file system resources. +* `Aws\IoT` - AWS IoT - AWS IoT Device Defender adds support for configuring behaviors in a security profile with statistical thresholds. Device Defender also adds support for configuring multiple data-point evaluations before a violation is either created or cleared. +* `Aws\SSM` - AWS Systems Manager now supports adding tags when creating Activations, Patch Baselines, Documents, Parameters, and Maintenance Windows + +## 3.87.13 - 2019-02-18 + +* `Aws\Athena` - This release adds support for Workgroups to Amazon Athena. Use Workgroups to isolate users, teams, applications or workloads in the same account, control costs by setting up query limits and creating Amazon SNS alarms, and publish query-related metrics to Amazon CloudWatch. +* `Aws\SecretsManager` - This release increases the maximum allowed size of SecretString or SecretBinary from 4KB to 7KB in the CreateSecret, UpdateSecret, PutSecretValue and GetSecretValue APIs. + +## 3.87.12 - 2019-02-15 + +* `Aws\ApplicationAutoScaling` - Documentation updates for Application Auto Scaling +* `Aws\Chime` - Documentation updates for Amazon Chime +* `Aws\IoT` - In this release, IoT Device Defender introduces support for tagging Scheduled Audit resources. + +## 3.87.11 - 2019-02-14 + +* `Aws\EC2` - This release adds tagging and ARN support for AWS Client VPN Endpoints.You can now run bare metal workloads on EC2 M5 and M5d instances. m5.metal and m5d.metal instances are powered by custom Intel Xeon Scalable Processors with a sustained all core frequency of up to 3.1 GHz. m5.metal and m5d.metal offer 96 vCPUs and 384 GiB of memory. With m5d.metal, you also have access to 3.6 TB of NVMe SSD-backed instance storage. m5.metal and m5d.metal instances deliver 25 Gbps of aggregate network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking, as well as 14 Gbps of bandwidth to EBS.You can now run bare metal workloads on EC2 z1d instances. z1d.metal instances are powered by custom Intel Xeon Scalable Processors with a sustained all core frequency of up to 4.0 GHz. z1d.metal offers 48 vCPUs, 384 GiB of memory, and 1.8 TB of NVMe SSD-backed instance storage. z1d.metal instances deliver 25 Gbps of aggregate network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking, as well as 14 Gbps of bandwidth to EBS. +* `Aws\KinesisVideo` - Adds support for Tag-On-Create for Kinesis Video Streams. A list of tags associated with the stream can be created at the same time as the stream creation. + +## 3.87.10 - 2019-02-13 + +* `Aws\EFS` - Customers can now use the EFS Infrequent Access (IA) storage class to more cost-effectively store larger amounts of data in their file systems. EFS IA is cost-optimized storage for files that are not accessed every day. You can create a new file system and enable Lifecycle Management to automatically move files that have not been accessed for 30 days from the Standard storage class to the IA storage class. +* `Aws\MediaTailor` - This release adds support for tagging AWS Elemental MediaTailor resources. +* `Aws\Rekognition` - GetContentModeration now returns the version of the moderation detection model used to detect unsafe content. + +## 3.87.9 - 2019-02-12 + +* `Aws\Lambda` - Documentation updates for AWS Lambda + +## 3.87.8 - 2019-02-11 + +* `Aws\AppStream` - This update enables customers to find the start time, max expiration time, and connection status associated with AppStream streaming session. +* `Aws\CodeBuild` - Add customized webhook filter support +* `Aws\MediaPackage` - Adds optional configuration for DASH to compact the manifest by combining duplicate SegmentTemplate tags. Adds optional configuration for DASH SegmentTemplate format to refer to segments by "Number" (default) or by "Time". + +## 3.87.7 - 2019-02-08 + +* `Aws\ApplicationDiscoveryService` - Documentation updates for the AWS Application Discovery Service. +* `Aws\DLM` - This release is to correct the timestamp format to ISO8601 for the DateCreated and DateModified files in the GetLifecyclePolicy response object. +* `Aws\ECS` - Amazon ECS introduces the PutAccountSettingDefault API, an API that allows a user to set the default ARN/ID format opt-in status for all the roles and users in the account. Previously, setting the account's default opt-in status required the use of the root user with the PutAccountSetting API. + +## 3.87.6 - 2019-02-07 + +* `Aws\ElasticsearchService` - Feature: Support for three Availability Zone deployments +* `Aws\GameLift` - This release delivers a new API action for deleting unused matchmaking rule sets. More details are available at https://aws.amazon.com/releasenotes/?tag=releasenotes%23keywords%23amazon-gamelift. +* `Aws\MediaLive` - This release adds tagging of channels, inputs, and input security groups. +* `Aws\RoboMaker` - Added support for tagging and tag-based access control for AWS RoboMaker resources. Also, DescribeSimulationJob now includes a new failureReason field to help debug simulation job failures + +## 3.87.5 - 2019-02-06 + +* `Aws\EC2` - Add Linux with SQL Server Standard, Linux with SQL Server Web, and Linux with SQL Server Enterprise to the list of allowed instance platforms for On-Demand Capacity Reservations. +* `Aws\FSx` - New optional ExportPath parameter added to the CreateFileSystemLustreConfiguration object for user-defined export paths. Used with the CreateFileSystem action when creating an Amazon FSx for Lustre file system. + +## 3.87.4 - 2019-02-05 + +* `Aws\Aws` - Remove requirement of the always available SPL extension in composer.json. +* `Aws\Credentials` - This update adds the default SDK user agent to requests made to the instance metadata service. +* `Aws\EC2` - ec2.DescribeVpcPeeringConnections pagination support +* `Aws\ServiceCatalog` - Service Catalog Documentation Update for ProvisionedProductDetail +* `Aws\Shield` - The DescribeProtection request now accepts resource ARN as valid parameter. + +## 3.87.3 - 2019-02-04 + +* `Aws\ApplicationAutoScaling` - Documentation updates for application-autoscaling +* `Aws\CodeCommit` - This release supports a more graceful handling of the error case when a repository is not associated with a pull request ID in a merge request in AWS CodeCommit. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for GPU workloads by enabling you to create clusters with GPU-enabled container instances. +* `Aws\WorkSpaces` - This release sets ClientProperties as a required parameter. + +## 3.87.2 - 2019-01-25 + +* `Aws\CodeCommit` - The PutFile API will now throw new exception FilePathConflictsWithSubmodulePathException when a submodule exists at the input file path; PutFile API will also throw FolderContentSizeLimitExceededException when the total size of any folder on the path exceeds the limit as a result of the operation. +* `Aws\DeviceFarm` - Introduces a new rule in Device Pools - "Availability". Customers can now ensure they pick devices that are available (i.e., not being used by other customers). +* `Aws\MediaConnect` - This release adds support for tagging, untagging, and listing tags for existing AWS Elemental MediaConnect resources. +* `Aws\MediaLive` - This release adds support for Frame Capture output groups and for I-frame only manifests (playlists) in HLS output groups. + +## 3.87.1 - 2019-01-24 + +* `Aws\CloudWatchLogs` - Documentation updates for CloudWatch Logs +* `Aws\CodeBuild` - This release adds support for cross-account ECR images and private registry authentication. +* `Aws\ECR` - Amazon ECR updated the default endpoint URL to support AWS Private Link. +* `Aws\ElasticLoadBalancingv2` - Elastic Load Balancing now supports TLS termination on Network Load Balancers. With this launch, you can offload the decryption/encryption of TLS traffic from your application servers to the Network Load Balancer. This enables you to run your backend servers optimally and keep your workloads secure. Additionally, Network Load Balancers preserve the source IP of the clients to the back-end applications, while terminating TLS on the load balancer. When TLS is enabled on an NLB, Access Logs can be enabled for the load balancer, and log entries will be emitted for all TLS connections. +* `Aws\PinpointSMSVoice` - Added the ListConfigurationSets operation, which returns a list of the configuration sets that are associated with your account. +* `Aws\RDS` - The Amazon RDS API allows you to add or remove Identity and Access Management (IAM) role associated with a specific feature name with an RDS database instance. This helps with capabilities such as invoking Lambda functions from within a trigger in the database, load data from Amazon S3 and so on + +## 3.87.0 - 2019-01-23 + +* `Aws\ACMPCA` - Added TagOnCreate parameter to the CreateCertificateAuthority operation, updated the Tag regex pattern to align with AWS tagging APIs, and added RevokeCertificate limit. +* `Aws\ApiGatewayManagementApi` - Fixes a typo in the 'max' constraint. +* `Aws\WorkLink` - This is the initial SDK release for Amazon WorkLink. Amazon WorkLink is a fully managed, cloud-based service that enables secure, one-click access to internal websites and web apps from mobile phones. With Amazon WorkLink, employees can access internal websites as seamlessly as they access any other website. IT administrators can manage users, devices, and domains by enforcing their own security and access policies via the AWS Console or the AWS SDK. + +## 3.86.3 - 2019-01-21 + +* `Aws\AppStream` - This API update includes support for tagging Stack, Fleet, and ImageBuilder resources at creation time. +* `Aws\ApplicationDiscoveryService` - The Application Discovery Service's import APIs allow you to import information about your on-premises servers and applications into ADS so that you can track the status of your migrations through the Migration Hub console. +* `Aws\DatabaseMigrationService` - Update for DMS TestConnectionSucceeds waiter +* `Aws\FMS` - This release provides support for cleaning up web ACLs during Firewall Management policy deletion. You can now enable the DeleteAllPolicyResources flag and it will delete all system-generated web ACLs. +* `Aws\SSM` - AWS Systems Manager State Manager now supports configuration management of all AWS resources through integration with Automation. + +## 3.86.2 - 2019-01-18 + +* `Aws\EC2` - Adjust EC2's available instance types. +* `Aws\Glue` - AllocatedCapacity field is being deprecated and replaced with MaxCapacity field + +## 3.86.1 - 2019-01-17 + +* `Aws\Lambda` - Documentation updates for AWS Lambda +* `Aws\Lightsail` - This release adds functionality to the CreateDiskSnapshot API that allows users to snapshot instance root volumes. It also adds various documentation updates. +* `Aws\Pinpoint` - This release updates the PutEvents operation. AppPackageName, AppTitle, AppVersionCode, SdkName fields will now be accepted as a part of the event when submitting events. +* `Aws\Rekognition` - GetLabelDetection now returns bounding box information for common objects and a hierarchical taxonomy of detected labels. The version of the model used for video label detection is also returned. DetectModerationLabels now returns the version of the model used for detecting unsafe content. + +## 3.86.0 - 2019-01-16 + +* `Aws\Backup` - AWS Backup is a unified backup service designed to protect AWS services and their associated data. AWS Backup simplifies the creation, migration, restoration, and deletion of backups, while also providing reporting and auditing +* `Aws\CostExplorer` - Removed Tags from the list of GroupBy dimensions available for GetReservationCoverage. +* `Aws\DynamoDB` - Amazon DynamoDB now integrates with AWS Backup, a centralized backup service that makes it easy for customers to configure and audit the AWS resources they want to backup, automate backup scheduling, set retention policies, and monitor all recent backup and restore activity. AWS Backup provides a fully managed, policy-based backup solution, simplifying your backup management, and helping you meet your business and regulatory backup compliance requirements. For more information, see the Amazon DynamoDB Developer Guide. + +## 3.85.2 - 2019-01-14 + +* `Aws\MediaConvert` - IMF decode from a Composition Playlist for IMF specializations App #2 and App #2e; up to 99 input clippings; caption channel selection for MXF; and updated rate control for CBR jobs. Added support for acceleration in preview +* `Aws\StorageGateway` - JoinDomain API supports two more parameters: organizational unit(OU) and domain controllers. Two new APIs are introduced: DetachVolume and AttachVolume. + +## 3.85.1 - 2019-01-11 + +* `Aws\EMR` - Documentation updates for Amazon EMR +* `Aws\RDSDataService` - Documentation updates for RDS Data API. + +## 3.85.0 - 2019-01-10 + +* `Aws\CodeDeploy` - Documentation updates for codedeploy +* `Aws\EC2` - EC2 Spot: a) CreateFleet support for Single AvailabilityZone requests and b) support for paginated DescribeSpotInstanceRequests. +* `Aws\EndpointDiscovery` - This feature adds SDK support for discovering the correct endpoint for a customer by making requests against a service-provided API, for operations specified by the service. +* `Aws\IoT` - This release adds tagging support for rules of AWS IoT Rules Engine. Tags enable you to categorize your rules in different ways, for example, by purpose, owner, or environment. For more information about tagging, see AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). For technical documentation, look for the tagging operations in the AWS IoT Core API reference or User Guide (https://docs.aws.amazon.com/iot/latest/developerguide/tagging-iot.html). +* `Aws\SageMaker` - SageMaker Training Jobs now support Inter-Container traffic encryption. + +## 3.84.0 - 2019-01-09 + +* `Aws\Credentials` - Fixes a failure loop if InstanceProfileProvider fails. +* `Aws\DocDB` - Amazon DocumentDB (with MongoDB compatibility) is a fast, reliable, and fully-managed database service. Amazon DocumentDB makes it easy for developers to set up, run, and scale MongoDB-compatible databases in the cloud. +* `Aws\Redshift` - DescribeSnapshotSchedules returns a list of snapshot schedules. With this release, this API will have a list of clusters and number of clusters associated with the schedule. + +## 3.83.0 - 2019-01-07 + +* `Aws\AppMesh` - AWS App Mesh now supports active health checks. You can specify TCP or HTTP health checks with custom thresholds and intervals on your VirtualNode definitions. See the AWS App Mesh HealthCheckPolicy documentation for more information. +* `Aws\ClientSideMonitoring` - Adds User-Agent and final API call attempt entries to API call event. + +## 3.82.6 - 2019-01-04 + +* `Aws\DeviceFarm` - "This release provides support for running Appium Node.js and Appium Ruby tests on AWS Device Farm. +* `Aws\ECS` - Documentation updates for Amazon ECS tagging feature. + +## 3.82.5 - 2019-01-03 + +* `Aws\IoTAnalytics` - ListDatasetContents now has a filter to limit results by date scheduled. + +## 3.82.4 - 2019-01-03 + +* `Aws\OpsWorksCM` - Documentation updates for opsworkscm + +## 3.82.3 - 2018-12-21 + +* `Aws\ACMPCA` - This release marks the introduction of waiters in ACM PCA, which allow you to control the progression of your code based on the presence or state of certain resources. Waiters can be implemented in the DescribeCertificateAuthorityAuditReport, GetCertificate, and GetCertificateAuthorityCsr API operations. +* `Aws\DynamoDB` - Added provisionedThroughPut exception on the request level for transaction APIs. +* `Aws\PinpointSMSVoice` - Configuration sets can now use Amazon SNS as an event destination. +* `Aws\SFN` - This release adds support for cost allocation tagging. You can now create, delete, and list tags for AWS Step Functions activity and state machine resources. For more information about tagging, see AWS Tagging Strategies. + +## 3.82.2 - 2018-12-20 + +* `Aws\CognitoIdentityProvider` - Amazon Cognito now has API support for updating the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool. +* `Aws\Comprehend` - This SDK release adds functionality to stop training Custom Document Classifier or Custom Entity Recognizer in Amazon Comprehend. +* `Aws\Firehose` - Support for specifying customized s3 keys and supplying a separate prefix for failed-records +* `Aws\MediaLive` - This release provides support for ID3 tags and video quality setting for subgop_length. +* `Aws\TranscribeService` - With this release, Amazon Transcribe now supports transcriptions from audio sources in Italian (it-IT). + +## 3.82.1 - 2018-12-19 + +* `Aws\EC2` - This release adds support for specifying partition as a strategy for EC2 Placement Groups. This new strategy allows one to launch instances into partitions that do not share certain underlying hardware between partitions, to assist with building and deploying highly available replicated applications. +* `Aws\SageMaker` - Batch Transform Jobs now supports TFRecord as a Split Type. ListCompilationJobs API action now supports SortOrder and SortBy inputs. +* `Aws\WAF` - This release adds rule-level control for rule group. If a rule group contains a rule that blocks legitimate traffic, previously you had to override the entire rule group to COUNT in order to allow the traffic. You can now use the UpdateWebACL API to exclude specific rules within a rule group. Excluding rules changes the action for the individual rules to COUNT. Excluded rules will be recorded in the new "excludedRules" attribute of the WAF logs. +* `Aws\WAFRegional` - This release adds rule-level control for rule group. If a rule group contains a rule that blocks legitimate traffic, previously you had to override the entire rule group to COUNT in order to allow the traffic. You can now use the UpdateWebACL API to exclude specific rules within a rule group. Excluding rules changes the action for the individual rules to COUNT. Excluded rules will be recorded in the new "excludedRules" attribute of the WAF logs. + +## 3.82.0 - 2018-12-18 + +* `Aws\ApiGatewayManagementApi` - This is the initial SDK release for the Amazon API Gateway Management API, which allows you to directly manage runtime aspects of your APIs. This release makes it easy to send data directly to clients connected to your WebSocket-based APIs. +* `Aws\ApiGatewayV2` - This is the initial SDK release for the Amazon API Gateway v2 APIs. This SDK will allow you to manage and configure APIs in Amazon API Gateway; this first release provides the capabilities that allow you to programmatically setup and manage WebSocket APIs end to end. +* `Aws\EC2` - Client VPN, is a client-based VPN service. With Client VPN, you can securely access resources in AWS as well as access resources in on-premises from any location using OpenVPN based devices. With Client VPN, you can set network based firewall rules that can restrict access to networks based on Active Directory groups. +* `Aws\ElasticBeanstalk` - This release adds a new resource that Elastic Beanstalk will soon support, EC2 launch template, to environment resource descriptions. +* `Aws\GlobalAccelerator` - Documentation updates for Ubiquity + +## 3.81.7 - 2018-12-17 + +* `Aws\ECR` - This release adds support for ECR repository tagging. +* `Aws\QuickSight` - Amazon QuickSight's RegisterUser API now generates a user invitation URL when registering a user with the QuickSight identity type. This URL can then be used by the registered QuickSight user to complete the user registration process. This release also corrects some HTTP return status codes. + +## 3.81.6 - 2018-12-14 + +* `Aws\AlexaForBusiness` - Released new APIs for managing private skill access to Enrolled Users. These API's are the equivalent of the A4B console for Private Skills checkbox "Available for Users". +* `Aws\CloudFormation` - Documentation updates for cloudformation +* `Aws\Redshift` - Documentation updates for Amazon Redshift + +## 3.81.5 - 2018-12-13 + +* `Aws\Organizations` - Documentation updates for AWS Organizations +* `Aws\PinpointEmail` - This release adds new operations for the Amazon Pinpoint Deliverability Dashboard. You can use the Deliverability Dashboard to view response and inbox placement metrics for the domains that you use to send email. You can also perform tests on individual email messages to determine how often your messages are delivered to the inbox on several major email providers. + +## 3.81.4 - 2018-12-12 + +* `Aws\EKS` - Added support for updating kubernetes version of Amazon EKS clusters. +* `Aws\Glue` - API Update for Glue: this update enables encryption of password inside connection objects stored in AWS Glue Data Catalog using DataCatalogEncryptionSettings. In addition, a new "HidePassword" flag is added to GetConnection and GetConnections to return connections without passwords. +* `Aws\Route53` - You can now specify a new region, eu-north-1 (in Stockholm, Sweden), as a region for latency-based or geoproximity routing. +* `Aws\SageMaker` - Amazon SageMaker Automatic Model Tuning now supports early stopping of training jobs. With early stopping, training jobs that are unlikely to generate good models will be automatically stopped during a Hyperparameter Tuning Job. + +## 3.81.3 - 2018-12-11 + +* `Aws\Connect` - This update adds the GetContactAttributes operation to retrieve the attributes associated with a contact. +* `Aws\ECS` - Documentation updates for Amazon ECS. +* `Aws\MediaStore` - This release adds Delete Object Lifecycling to AWS MediaStore Containers. + +## 3.81.2 - 2018-12-07 + +* `Aws\AlexaForBusiness` - Alexa for Business now allows IT administrators to create ad-hoc or scheduled usage reports, which help customers understand how Alexa is used in their workplace. To learn how to create usage reports, see https://docs.aws.amazon.com/a4b/latest/ag/creating-reports.html +* `Aws\EC2` - You can now launch the larger-sized P3dn.24xlarge instance that features NVIDIA Tesla V100s with double the GPU memory, 100Gbps networking and local NVMe storage. +* `Aws\IAM` - We are making it easier for you to manage your AWS Identity and Access Management (IAM) policy permissions by enabling you to retrieve the last timestamp when an IAM entity (e.g., user, role, or a group) accessed an AWS service. This feature also allows you to audit service access for your entities. +* `Aws\ServiceCatalog` - Documentation updates for servicecatalog. + +## 3.81.1 - 2018-12-06 + +* `Aws\CodeBuild` - Support personal access tokens for GitHub source and app passwords for Bitbucket source +* `Aws\ElasticLoadBalancingv2` - This release allows Application Load Balancers to route traffic to Lambda functions, in addition to instances and IP addresses. +* `Aws\MediaLive` - This release enables the AWS Elemental MediaConnect input type in AWS Elemental MediaLive. This can then be used to automatically create and manage AWS Elemental MediaConnect Flow Outputs when you create a channel using those inputs. +* `Aws\RDS` - Documentation updates for Amazon RDS + +## 3.81.0 - 2018-12-05 + +* `Aws\CostExplorer` - Add normalized unit support for both GetReservationUtilization and GetReservationCoverage API. +* `Aws\Functions` - This update refactors an unnecessary error suppression operator used in a global function. +* `Aws\MQ` - This release adds support for cost allocation tagging. You can now create, delete, and list tags for AmazonMQ resources. For more information about tagging, see AWS Tagging Strategies. +* `Aws\MediaTailor` - AWS Elemental MediaTailor SDK now includes a new parameter to control the Location tag of DASH manifests. + +## 3.80.3 - 2018-12-04 + +* `Aws\Health` - AWS Health API DescribeAffectedEntities operation now includes a field that returns the URL of the affected entity. +* `Aws\S3` - S3 Inventory reports can now be generated in Parquet format by setting the Destination Format to be 'Parquet'. +* `Aws\Test` - Use dedicated PHPUnit assertions for better error messages. +* `Aws\Waiter` - Simplify foreach with in_array function. + +## 3.80.2 - 2018-12-03 + +* `Aws\DeviceFarm` - Customers can now schedule runs without a need to create a Device Pool. They also get realtime information on public device availability. +* `Aws\MediaConvert` - Documentation updates for mediaconvert +* `Aws\ServiceCatalog` - Documentation updates for servicecatalog +* `Aws\StorageGateway` - API list-local-disks returns a list of the gateway's local disks. This release adds a field DiskAttributeList to these disks. + +## 3.80.1 - 2018-11-30 + +* `Aws\S3` - Fixed issue with Content-MD5 for S3 PutObjectLegalHold, PutObjectRetention and PutObjectLockConfiguration. +* `Aws\S3` - Add MD5 header to PutObjectLegalHold, PutObjectRetention, and PutObjectLockConfiguration. + +## 3.80.0 - 2018-11-29 + +* `Aws\CloudWatchEvents` - Support for Managed Rules (rules that are created and maintained by the AWS services in your account) is added. +* `Aws\ElasticLoadBalancingv2` - This release allows Application Load Balancers to route traffic to Lambda functions, in addition to instances and IP addresses. +* `Aws\Kafka` - This is the initial SDK release for Amazon Managed Streaming for Kafka (Amazon MSK). Amazon MSK is a service that you can use to easily build, monitor, and manage Apache Kafka clusters in the cloud. +* `Aws\Lambda` - AWS Lambda now supports Lambda Layers and Ruby as a runtime. Lambda Layers are a new type of artifact that contains arbitrary code and data, and may be referenced by zero, one, or more functions at the same time. You can also now develop your AWS Lambda function code using the Ruby programming language. +* `Aws\S3` - Fixed issue with ObjectLockRetainUntilDate in S3 PutObject +* `Aws\SFN` - AWS Step Functions is now integrated with eight additional AWS services: Amazon ECS, AWS Fargate, Amazon DynamoDB, Amazon SNS, Amazon SQS, AWS Batch, AWS Glue, and Amazon SageMaker. To learn more, please see https://docs.aws.amazon.com/step-functions/index.html +* `Aws\ServerlessApplicationRepository` - AWS Serverless Application Repository now supports nested applications. You can nest individual applications as components of a larger application to make it easy to assemble and deploy new serverless architectures. +* `Aws\XRay` - GetTraceSummaries - Now provides additional information regarding your application traces such as Availability Zone, Instance ID, Resource ARN details, Revision, Entry Point, Root Cause Exceptions and Root Causes for Fault, Error and Response Time. + +## 3.79.0 - 2018-11-29 + +* `Aws\AppMesh` - AWS App Mesh is a service mesh that makes it easy to monitor and control communications between microservices of an application. AWS App Mesh APIs are available for preview in eu-west-1, us-east-1, us-east-2, and us-west-2 regions. +* `Aws\EC2` - Adds the following updates: 1. You can now hibernate and resume Amazon-EBS backed instances using the StopInstances and StartInstances APIs. For more information about using this feature and supported instance types and operating systems, visit the user guide. 2. Amazon Elastic Inference accelerators are resources that you can attach to current generation EC2 instances to accelerate your deep learning inference workloads. With Amazon Elastic Inference, you can configure the right amount of inference acceleration to your deep learning application without being constrained by fixed hardware configurations and limited GPU selection. 3. AWS License Manager makes it easier to manage licenses in AWS and on premises when customers run applications using existing licenses from a variety of software vendors including Microsoft, SAP, Oracle, and IBM. +* `Aws\LicenseManager` - AWS License Manager makes it easier to manage licenses in AWS and on premises when customers run applications using existing licenses from a variety of software vendors including Microsoft, SAP, Oracle, and IBM. AWS License Manager automatically tracks and controls license usage once administrators have created and enforced rules that emulate the terms of their licensing agreements. The capabilities of AWS License Manager are available through SDK and Tools, besides the management console and CLI. +* `Aws\Lightsail` - This update adds the following features: 1. Copy instance and disk snapshots within the same AWS Region or from one region to another in Amazon Lightsail. 2. Export Lightsail instance and disk snapshots to Amazon Elastic Compute Cloud (Amazon EC2). 3. Create an Amazon EC2 instance from an exported Lightsail instance snapshot using AWS CloudFormation stacks. 4. Apply tags to filter your Lightsail resources, or organize your costs, or control access. +* `Aws\SageMaker` - Amazon SageMaker now has Algorithm and Model Package entities that can be used to create Training Jobs, Hyperparameter Tuning Jobs and hosted Models. Subscribed Marketplace products can be used on SageMaker to create Training Jobs, Hyperparameter Tuning Jobs and Models. Notebook Instances and Endpoints can leverage Elastic Inference accelerator types for on-demand GPU computing. Model optimizations can be performed with Compilation Jobs. Labeling Jobs can be created and supported by a Workforce. Models can now contain up to 5 containers allowing for inference pipelines within Endpoints. Code Repositories (such as Git) can be linked with SageMaker and loaded into Notebook Instances. Network isolation is now possible on Models, Training Jobs, and Hyperparameter Tuning Jobs, which restricts inbound/outbound network calls for the container. However, containers can talk to their peers in distributed training mode within the same security group. A Public Beta Search API was added that currently supports Training Jobs. +* `Aws\ServiceDiscovery` - AWS Cloud Map lets you define friendly names for your cloud resources so that your applications can quickly and dynamically discover them. When a resource becomes available (for example, an Amazon EC2 instance running a web server), you can register a Cloud Map service instance. Then your application can discover service instances by submitting DNS queries or API calls. + +## 3.78.0 - 2018-11-28 + +* `Aws\DynamoDB` - Amazon DynamoDB now supports the following features: DynamoDB on-demand and transactions. DynamoDB on-demand is a flexible new billing option for DynamoDB capable of serving thousands of requests per second without capacity planning. DynamoDB on-demand offers simple pay-per-request pricing for read and write requests so that you only pay for what you use, making it easy to balance costs and performance. Transactions simplify the developer experience of making coordinated, all-or-nothing changes to multiple items both within and across tables. The new transactional APIs provide atomicity, consistency, isolation, and durability (ACID) in DynamoDB, helping developers support sophisticated workflows and business logic that requires adding, updating, or deleting multiple items using native, server-side transactions. For more information, see the Amazon DynamoDB Developer Guide. +* `Aws\FSx` - Amazon FSx provides fully-managed third-party file systems optimized for a variety of enterprise and compute-intensive workloads. +* `Aws\RDS` - Amazon Aurora Global Database. This release introduces support for Global Database, a feature that allows a single Amazon Aurora database to span multiple AWS regions. Customers can use the feature to replicate data with no impact on database performance, enable fast local reads with low latency in each region, and improve disaster recovery from region-wide outages. You can create, modify and describe an Aurora Global Database, as well as add or remove regions from your Global Database. +* `Aws\RetryMiddleware` - Adds support for custom retryable status and error codes. +* `Aws\SecurityHub` - AWS Security Hub is a security and compliance center that correlates AWS security findings and performs automated compliance checks + +## 3.77.0 - 2018-11-28 + +* `Aws\CloudWatchLogs` - Six new APIs added to support CloudWatch Logs Insights. The APIs are StartQuery, StopQuery, GetQueryResults, GetLogRecord, GetLogGroupFields, and DescribeQueries. +* `Aws\CodeDeploy` - Support for Amazon ECS service deployment - AWS CodeDeploy now supports the deployment of Amazon ECS services. An Amazon ECS deployment uses an Elastic Load Balancer, two Amazon ECS target groups, and a listener to reroute production traffic from your Amazon ECS service's original task set to a new replacement task set. The original task set is terminated when the deployment is complete. Success of a deployment can be validated using Lambda functions that are referenced by the deployment. This provides the opportunity to rollback if necessary. You can use the new ECSService, ECSTarget, and ECSTaskSet data types in the updated SDK to create or retrieve an Amazon ECS deployment. +* `Aws\ComprehendMedical` - The first release of Comprehend Medical includes two APIs, detectPHI and detectEntities. DetectPHI extracts PHI from your clinical text, and detectEntities extracts entities such as medication, medical conditions, or anatomy. DetectEntities also extracts attributes (e.g. dosage for medication) and identifies contextual traits (e.g. negation) for each entity. +* `Aws\EC2` - With VPC sharing, you can now allow multiple accounts in the same AWS Organization to launch their application resources, like EC2 instances, RDS databases, and Redshift clusters into shared, centrally managed VPCs. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for blue/green deployment feature. Customers can now update their ECS services in a blue/green deployment pattern via using AWS CodeDeploy. +* `Aws\KinesisAnalytics` - Improvements to error messages, validations, and more to the Kinesis Data Analytics APIs. +* `Aws\KinesisAnalyticsV2` - Amazon Kinesis Data Analytics now supports Java-based stream processing applications, in addition to the previously supported SQL. Now, you can use your own Java code in Amazon Kinesis Data Analytics to build and run stream processing applications. This new capability also comes with an update to the previous Amazon Kinesis Data Analytics APIs to enable support for different runtime environments and more. +* `Aws\MarketplaceMetering` - RegisterUsage operation added to AWS Marketplace Metering Service, allowing sellers to meter and entitle Docker container software use with AWS Marketplace. For details on integrating Docker containers with RegisterUsage see: https://docs.aws.amazon.com/marketplace/latest/userguide/entitlement-and-metering-for-paid-products.html +* `Aws\MediaConnect` - This is the initial release for AWS Elemental MediaConnect, an ingest and transport service for live video. This new AWS service allows broadcasters and content owners to send high-value live content into the cloud, securely transmit it to partners for distribution, and replicate it to multiple destinations around the globe. +* `Aws\Translate` - This release includes the new custom terminology feature. Using custom terminology with your translation requests enables you to make sure that your brand names, character names, model names, and other unique content is translated exactly the way you need it, regardless of its context and the Amazon Translate algorithm's decision. See the documentation for more information. + +## 3.76.0 - 2018-11-27 + +* `Aws\EC2` - Adds the following updates: 1. Transit Gateway helps easily scale connectivity across thousands of Amazon VPCs, AWS accounts, and on-premises networks. 2. Amazon EC2 A1 instance is a new Arm architecture based general purpose instance. 3. You can now launch the new Amazon EC2 compute optimized C5n instances that can utilize up to 100 Gbps of network bandwidth. +* `Aws\GlobalAccelerator` - AWS Global Accelerator is a network layer service that helps you improve the availability and performance of the applications that you offer to your global customers. Global Accelerator uses the AWS global network to direct internet traffic from your users to your applications running in AWS Regions. Global Accelerator creates a fixed entry point for your applications through static anycast IP addresses, and routes user traffic to the optimal endpoint based on performance, application health and routing policies that you can configure. Global Accelerator supports the following features at launch: static anycast IP addresses, support for TCP and UDP, support for Network Load Balancers, Application Load Balancers and Elastic-IP address endpoints, continuous health checking, instant regional failover, fault isolating Network Zones, granular traffic controls, and client affinity. +* `Aws\Greengrass` - Support Greengrass Connectors and allow Lambda functions to run without Greengrass containers. +* `Aws\IoT` - As part of this release, we are extending capability of AWS IoT Rules Engine to support IoT Events rule action. The IoT Events rule action lets you send messages from IoT sensors and applications to IoT Events for pattern recognition and event detection. +* `Aws\IoTAnalytics` - Added an optional list of dataset content delivery configuration for CreateDataset and UpdateDataset. DescribeDataset will now include the list of delivery configuration, and will be an empty array if none exist. +* `Aws\KMS` - AWS Key Management Service (KMS) now enables customers to create and manage dedicated, single-tenant key stores in addition to the default KMS key store. These are known as custom key stores and are deployed using AWS CloudHSM clusters. Keys that are created in a KMS custom key store can be used like any other customer master key in KMS. +* `Aws\S3` - Four new Amazon S3 Glacier features help you reduce your storage costs by making it even easier to build archival applications using the Amazon S3 Glacier storage class. S3 Object Lock enables customers to apply Write Once Read Many (WORM) protection to objects in S3 in order to prevent object deletion for a customer-defined retention period. S3 Inventory now supports fields for reporting on S3 Object Lock. "ObjectLockRetainUntilDate", "ObjectLockMode", and "ObjectLockLegalHoldStatus" are now available as valid optional fields. +* `Aws\SMS` - In this release, AWS Server Migration Service (SMS) has added multi-server migration support to simplify the application migration process. Customers can migrate all their application-specific servers together as a single unit as opposed to moving individual server one at a time. The new functionality includes - 1. Ability to group on-premises servers into applications and application tiers. 2. Auto-generated CloudFormation Template and Stacks for launching migrated servers into EC2. 3. Ability to run post-launch configuration scripts to configure servers and applications in EC2. In order for SMS to launch servers into your AWS account using CloudFormation Templates, we have also updated the ServerMigrationServiceRole IAM policy to include appropriate permissions. Refer to Server Migration Service documentation for more details. + +## 3.75.0 - 2018-11-26 + +* `Aws\Amplify` - Release of AWS Amplify: Everything you need to develop & deploy cloud-powered mobile and web apps. +* `Aws\DataSync` - AWS DataSync simplifies, automates, and accelerates moving and replicating data between on-premises storage and AWS services over the network. +* `Aws\RoboMaker` - (New Service) AWS RoboMaker is a service that makes it easy to develop, simulate, and deploy intelligent robotics applications at scale. +* `Aws\S3` - The INTELLIGENT_TIERING storage class is designed to optimize storage costs by automatically moving data to the most cost effective storage access tier, without performance impact or operational overhead. This SDK release provides API support for this new storage class. +* `Aws\Snowball` - AWS announces the availability of AWS Snowball Edge Compute Optimized to run compute-intensive applications is disconnected and physically harsh environments. It comes with 52 vCPUs, 208GB memory, 8TB NVMe SSD, and 42TB S3-compatible storage to accelerate local processing and is well suited for use cases such as full motion video processing, deep IoT analytics, and continuous machine learning in bandwidth-constrained locations. It features new instances types called SBE-C instances that are available in eight sizes and multiple instances can be run on the device at the same time. Optionally, developers can choose the compute optimized device to include a GPU and use SBE-G instances for accelerating their application performance. +* `Aws\Transfer` - AWS Transfer for SFTP is a fully managed service that enables transfer of secure data over the internet into and out of Amazon S3. SFTP is deeply embedded in data exchange workflows across different industries such as financial services, healthcare, advertising, and retail, among others. + +## 3.74.1 - 2018-11-21 + +* `Aws\Rekognition` - This release updates the DetectFaces and IndexFaces operation. When the Attributes input parameter is set to ALL, the face location landmarks includes 5 new landmarks: upperJawlineLeft, midJawlineLeft, chinBottom, midJawlineRight, upperJawlineRight. + +## 3.74.0 - 2018-11-20 + +* `Aws\AppSync` - AWS AppSync now supports: 1. Pipeline Resolvers - Enables execution of one or more operations against multiple data sources in order, on a single GraphQL field. This allows orchestration of actions by composing code into a single Resolver, or share code across Resolvers. 2. Aurora Serverless Data Source - Built-in resolver for executing GraphQL operations with the new Aurora Serverless Data API, including connection management functionality. +* `Aws\AutoScalingPlans` - In this release, AWS Auto Scaling adds three features: 1) Predictive scaling for EC2 Auto Scaling, which analyzes your application workload history to forecast future capacity requirements, 2) an option to replace existing scaling policies that are associated with the resources in your scaling plan, and 3) an option that allows you to use predictive scaling with or without your plan's dynamic scaling feature. +* `Aws\CloudFront` - With Origin Failover capability in CloudFront, you can setup two origins for your distributions - primary and secondary, such that your content is served from your secondary origin if CloudFront detects that your primary origin is unavailable. These origins can be any combination of AWS origins or non-AWS custom HTTP origins. For example, you can have two Amazon S3 buckets that serve as your origin that you independently upload your content to. If an object that CloudFront requests from your primary bucket is not present or if connection to your primary bucket times-out, CloudFront will request the object from your secondary bucket. So, you can configure CloudFront to trigger a failover in response to either HTTP 4xx or 5xx status codes. +* `Aws\CloudWatch` - Amazon CloudWatch now supports alarms on metric math expressions. +* `Aws\DeviceFarm` - Disabling device filters +* `Aws\MediaLive` - You can now include the media playlist(s) from both pipelines in the HLS master manifest for seamless failover. +* `Aws\QuickSight` - Amazon QuickSight is a fully managed, serverless, cloud business intelligence system that allows you to extend data and insights to every user in your organization. The first release of APIs for Amazon QuickSight introduces embedding and user/group management capabilities. The get-dashboard-embed-url API allows you to obtain an authenticated dashboard URL that can be embedded in application domains whitelisted for QuickSight dashboard embedding. User APIs allow you to programmatically expand and manage your QuickSight deployments while group APIs allow easier permissions management for resources within QuickSight. +* `Aws\RDSDataService` - The RDS Data API Beta is available for the MySQL-compatible edition of Amazon Aurora Serverless in the US East (N. Virginia) Region. This API enables you to easily access Aurora Serverless with web services-based applications including AWS Lambda and AWS AppSync. +* `Aws\Redshift` - Documentation updates for redshift +* `Aws\SSM` - AWS Systems Manager Distributor helps you securely distribute and install software packages. +* `Aws\XRay` - Groups build upon X-Ray filter expressions to allow for fine tuning trace summaries and service graph results. You can configure groups by using the AWS X-Ray console or by using the CreateGroup API. The addition of groups has extended the available request fields to the GetServiceGraph API. You can now specify a group name or group ARN to retrieve its service graph. + +## 3.73.0 - 2018-11-20 + +* `Aws\Batch` - Adding multinode parallel jobs, placement group support for compute environments. +* `Aws\CloudFormation` - Use the CAPABILITY_AUTO_EXPAND capability to create or update a stack directly from a stack template that contains macros, without first reviewing the resulting changes in a change set first. +* `Aws\CloudTrail` - This release supports creating a trail in CloudTrail that logs events for all AWS accounts in an organization in AWS Organizations. This helps enable you to define a uniform event logging strategy for your organization. An organization trail is applied automatically to each account in the organization and cannot be modified by member accounts. To learn more, please see the AWS CloudTrail User Guide https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html +* `Aws\ConfigService` - In this release, AWS Config adds support for aggregating the configuration data of AWS resources into multi-account and multi-region aggregators. AWS Config adds four APIs to query and retrieve aggregated resource configurations. 1) BatchGetAggregateResourceConfig, returns the current configuration items for resources that are present in your AWS Config aggregator. 2) GetAggregateDiscoveredResourceCounts, returns the resource counts across accounts and regions that are present in your AWS Config aggregator. 3) GetAggregateResourceConfig, returns current configuration item that is aggregated for your specific resource in a specific source account and region. 4) ListAggregateDiscoveredResources, accepts a resource type and returns a list of resource identifiers that are aggregated for a specific resource type across accounts and regions. +* `Aws\DeviceFarm` - Customers can now schedule runs without a need to create a Device Pool. They also get realtime information on public device availability. +* `Aws\EC2` - Adding AvailabilityZoneId to DescribeAvailabilityZones +* `Aws\EndpointParameterMiddleware` - Adds support for services using modeled endpoint prefixes, both static and user-defined. +* `Aws\IoT` - IoT now supports resource tagging and tag based access control for Billing Groups, Thing Groups, Thing Types, Jobs, and Security Profiles. IoT Billing Groups help you group devices to categorize and track your costs. AWS IoT Device Management also introduces three new features: 1. Dynamic thing groups. 2. Jobs dynamic rollouts. 3. Device connectivity indexing. Dynamic thing groups lets you to create a group of devices using a Fleet Indexing query. The devices in your group will be automatically added or removed when they match your specified query criteria. Jobs dynamic rollout allows you to configure an exponentially increasing rate of deployment for device updates and define failure criteria to cancel your job. Device connectivity indexing allows you to index your devices' lifecycle events to discover whether devices are connected or disconnected to AWS IoT. +* `Aws\Lambda` - AWS Lambda now supports python3.7 and the Kinesis Data Streams (KDS) enhanced fan-out and HTTP/2 data retrieval features for Kinesis event sources. +* `Aws\Lightsail` - Add Managed Database operations to OperationType enum. +* `Aws\MediaConvert` - AWS Elemental MediaConvert SDK has added several features including support for: SPEKE full document encryption, up to 150 elements for input stitching, input and motion image insertion, AWS CLI path arguments in S3 links including special characters, AFD signaling, additional caption types, and client-side encrypted input files. +* `Aws\RDS` - This release adds a new parameter to specify VPC security groups for restore from DB snapshot, restore to point int time and create read replica operations. For more information, see Amazon RDS Documentation. +* `Aws\WorkDocs` - With this release, clients can now use the GetResources API to fetch files and folders from the user's SharedWithMe collection. And also through this release, the existing DescribeActivities API has been enhanced to support additional filters such as the ActivityType and the ResourceId. +* `Aws\WorkSpaces` - Added new APIs to Modify and Describe WorkSpaces client properties for users in a directory. With the new APIs, you can enable/disable remember me option in WorkSpaces client for users in a directory. + +## 3.72.1 - 2018-11-16 + +* `Aws\Comprehend` - Amazon Comprehend Custom Entities automatically trains entity recognition models using your entities and noun-based phrases. +* `Aws\CostExplorer` - This release introduces a new operation called GetCostForecast operation, which allows you to programmatically access AWS Cost Explorer's forecasting engine and is now generally available. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for additional Docker flags as Task Definition parameters. Customers can now configure their ECS Tasks to use pidMode (pid) and ipcMode (ipc) Docker flags. +* `Aws\SSM` - AWS Systems Manager Automation now allows you to execute and manage Automation workflows across multiple accounts and regions. +* `Aws\WorkSpaces` - Added new Bring Your Own License (BYOL) automation APIs. With the new APIs, you can list available management CIDR ranges for dedicated tenancy, enable your account for BYOL, describe BYOL status of your account, and import BYOL images. Added new APIs to also describe and delete WorkSpaces images. + +## 3.72.0 - 2018-11-15 + +* `Aws\CodeBuild` - Adding queue phase and configurable queue timeout to CodeBuild. +* `Aws\Comprehend` - Amazon Comprehend Custom Classification automatically trains classification models using your text and custom labels. +* `Aws\DatabaseMigrationService` - Settings structures have been added to our DMS endpoint APIs to support Kinesis and Elasticsearch as targets. We are introducing the ability to configure custom DNS name servers on a replication instance as a beta feature. +* `Aws\DirectConnect` - This release enables DirectConnect customers to have logical redundancy on virtual interfaces within supported DirectConnect locations. +* `Aws\ECS` - In this release, Amazon ECS introduces multiple features. First, ECS now supports integration with Systems Manager Parameter Store for injecting runtime secrets. Second, ECS introduces support for resources tagging. Finally, ECS introduces a new ARN and ID Format for its resources, and provides new APIs for opt-in to the new formats. +* `Aws\IAM` - We are making it easier for you to manage your AWS Identity and Access Management (IAM) resources by enabling you to add tags to your IAM principals (users and roles). Adding tags on IAM principals will enable you to write fewer policies for permissions management and make policies easier to comprehend. Additionally, tags will also make it easier for you to grant access to AWS resources. +* `Aws\Pinpoint` - 1. With Amazon Pinpoint Voice, you can use text-to-speech technology to deliver personalized voice messages to your customers. Amazon Pinpoint Voice is a great way to deliver transactional messages -- such as one-time passwords and identity confirmations -- to customers. 2. Adding support for Campaign Event Triggers. With Campaign Event Triggers you can now schedule campaigns to execute based on incoming event data and target just the source of the event. +* `Aws\PinpointSMSVoice` - With Amazon Pinpoint Voice, you can use text-to-speech technology to deliver personalized voice messages to your customers. Amazon Pinpoint Voice is a way to deliver transactional messages -- such as one-time passwords and appointment confirmations to customers. +* `Aws\RAM` - This is the initial release of AWS Resource Access Manager (RAM) which provides you the ability to share your resources across AWS accounts or within your AWS Organization. You can now create resources centrally and use AWS RAM to share those resources with other accounts, eliminating the need to provision and manage resources in every account. When you share a resource with another account, that account is granted access. Any policies and permissions in that account apply to the shared resource. +* `Aws\RDS` - Introduces DB Instance Automated Backups for the MySQL, MariaDB, PostgreSQL, Oracle and Microsoft SQL Server database engines. You can now retain Amazon RDS automated backups (system snapshots and transaction logs) when you delete a database instance. This allows you to restore a deleted database instance to a specified point in time within the backup retention period even after it has been deleted, protecting you against accidental deletion of data. For more information, see Amazon RDS Documentation. +* `Aws\Redshift` - With this release, Redshift is providing API's for better snapshot management by supporting user defined automated snapshot schedules, retention periods for manual snapshots, and aggregate snapshot actions including batch deleting user snapshots, viewing account level snapshot storage metrics, and better filtering and sorting on the describe-cluster-snapshots API. Automated snapshots can be scheduled to be taken at a custom interval and the schedule created can be reused across clusters. Manual snapshot retention periods can be set at the cluster, snapshot, and cross-region-copy level. The retention period set on a manual snapshot indicates how many days the snapshot will be retained before being automatically deleted. +* `Aws\Route53Resolver` - This is the first release of the Amazon Route 53 Resolver API. Customers now have the ability to create and manage Amazon Route 53 Resolver endpoints and Amazon Route 53 Resolver rules. +* `Aws\S3` - Add support for new S3 Block Public Access bucket-level APIs. The new Block Public Access settings allow bucket owners to prevent public access to S3 data via bucket/object ACLs or bucket policies. +* `Aws\S3Control` - Add support for new S3 Block Public Access account-level APIs. The Block Public Access settings allow account owners to prevent public access to S3 data via bucket/object ACLs or bucket policies. +* `Aws\TranscribeService` - With this release, Amazon Transcribe now publicly supports transcriptions from audio sources in British English (en-GB), Australian English (en-AU), and Canadian French (fr-CA). Amazon Transcribe now also supports the following languages in Private beta: Germany German (de-DE), Brazil Portuguese (pt-BR), France French (fr-FR). + +## 3.71.6 - 2018-11-14 + +* `Aws\AutoScaling` - EC2 Auto Scaling now allows users to provision and automatically scale instances across purchase options (Spot, On-Demand, and RIs) and instance types in a single Auto Scaling group (ASG). +* `Aws\EC2` - Amazon EC2 Fleet now supports a new request type "Instant" that you can use to provision capacity synchronously across instance types & purchase models and CreateFleet will return the instances launched in the API response. +* `Aws\MediaTailor` - AWS Elemental MediaTailor SDK now returns a manifest endpoint prefix for clients to initiate a DASH playback session. +* `Aws\ResourceGroups` - The AWS Resource Groups service added support for AWS CloudFormation stack-based groups. +* `Aws\SNS` - Added an optional request parameter, named Attributes, to the Amazon SNS CreateTopic API action. For more information, see the Amazon SNS API Reference (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html). +* `Aws\SageMaker` - SageMaker now makes the final set of metrics published from training jobs available in the DescribeTrainingJob results. Automatic Model Tuning now supports warm start of hyperparameter tuning jobs. Notebook instances now support a larger number of instance types to include instances from the ml.t3, ml.m5, ml.c4, ml.c5 families. +* `Aws\ServiceCatalog` - Adds support for Cloudformation StackSets in Service Catalog + +## 3.71.5 - 2018-11-13 + +* `Aws\Budgets` - Doc Update: 1. Available monthly-budgets maximal history data points from 12 to 13. 2. Added 'Amazon Elasticsearch' costfilters support. +* `Aws\Chime` - This release adds support in ListUsers API to filter the list by an email address. +* `Aws\Redshift` - Amazon Redshift provides the option to defer non-mandatory maintenance updates to a later date. + +## 3.71.4 - 2018-11-12 + +* `Aws\Batch` - Adding EC2 Launch Template support in AWS Batch Compute Environments. +* `Aws\Budgets` - 1. Added budget performance history, enabling you to see how well your budgets matched your actual costs and usage. 2. Added budget performance history, notification state, and last updated time, enabling you to see how well your budgets matched your actual costs and usage, how often your budget alerts triggered, and when your budget was last updated. +* `Aws\CloudFormation` - The Drift Detection feature enables customers to detect whether a stack's actual configuration differs, or has drifted, from its expected configuration as defined within AWS CloudFormation. +* `Aws\CodePipeline` - Add support for cross-region pipeline with accompanying definitions as needed in the AWS CodePipeline API Guide. +* `Aws\Firehose` - With this release, Amazon Kinesis Data Firehose allows you to enable/disable server-side encryption(SSE) for your delivery streams ensuring encryption of data at rest. For technical documentation, look at https://docs.aws.amazon.com/firehose/latest/dev/encryption.html +* `Aws\Polly` - Amazon Polly adds new female voices: Italian - Bianca, Castilian Spanish - Lucia and new language: Mexican Spanish with new female voice - Mia. +* `Aws\RDS` - API Update for RDS: this update enables Custom Endpoints, a new feature compatible with Aurora Mysql, Aurora PostgreSQL and Neptune that allows users to configure a customizable endpoint that will provide access to their instances in a cluster. + +## 3.71.3 - 2018-11-09 + +* `Aws\MediaPackage` - As a part of SPEKE DRM encryption, MediaPackage now supports encrypted content keys. You can enable this enhanced content protection in an OriginEndpoint's encryption settings. When this is enabled, MediaPackage indicates to the key server that it requires an encrypted response. To use this, your DRM key provider must support content key encryption. For details on this feature, see the AWS MediaPackage User Guide at https://docs.aws.amazon.com/mediapackage/latest/ug/what-is.html. + +## 3.71.2 - 2018-11-08 + +* `Aws\CloudWatchEvents` - Documentation updates for events +* `Aws\DLM` - Amazon Data Lifecycle Manager adds support for copying EBS volume tags to EBS snapshots. AWS resource tags allow customers to add metadata and apply access policies to your Amazon Elastic Block Store (Amazon EBS) resources. Starting today, customers can use Amazon Data Lifecycle Manager (DLM) to copy tags on EBS volumes to EBS snapshots. This allows customers to easily set snapshot metadata, such as access policies, to match the parent volume. Customers can enable this functionality on new or existing lifecycle policies. They can also choose to disable it at a future date. +* `Aws\MediaLive` - You can now switch a live channel between preconfigured inputs. This means assigned inputs for a running channel can be changed according to a defined schedule. You can also use MP4 files as inputs. + +## 3.71.1 - 2018-11-07 + +* `Aws\CostExplorer` - Enable Payer Accounts to View Linked Account Recommendations. Payer Accounts can specify "LINKED" as scope in the request now. In the response, there is a new filed called AccountId in ReservationPurchaseRecommendationDetail for indicating which account is this recommendation detail belongs to. +* `Aws\DatabaseMigrationService` - Update the DMS TestConnectionSucceeds waiter. +* `Aws\EC2` - VM Import/Export now supports generating encrypted EBS snapshots, as well as AMIs backed by encrypted EBS snapshots during the import process. + +## 3.71.0 - 2018-11-06 + +* `Aws\APIGateway` - AWS WAF integration with APIGW. Changes for adding webAclArn as a part of Stage output. When the user calls a get-stage or get-stages, webAclArn will also be returned as a part of the output. +* `Aws\CodeBuild` - Documentation updates for codebuild +* `Aws\EC2` - You can now launch the new Amazon EC2 memory optimized R5a and general purpose M5a instances families that feature AMD EPYC processors. +* `Aws\Pinpoint` - This update adds the ability to send transactional email by using the SendMessage API. Transactional emails are emails that you send directly to specific email addresses. Unlike campaign-based email that you send from Amazon Pinpoint, you don't have to create segments and campaigns in order to send transactional email. +* `Aws\PinpointEmail` - This is the first release of the Amazon Pinpoint Email API. You can use this API to configure and send transactional email from your Amazon Pinpoint account to specific email addresses. Unlike campaign-based email that you send from Amazon Pinpoint, you don't have to create segments and campaigns in order to send transactional email. +* `Aws\WAFRegional` - You can now use AWS WAF to configure protections for your Amazon API Gateway APIs. This will enable you to block (or count) undesired traffic to your APIs based on the different AWS WAF rules and conditions you create. For more information about AWS WAF, see the AWS WAF Developer Guide. + +## 3.70.4 - 2018-11-05 + +* `Aws\EKS` - Adds waiters for ClusterActive and ClusterDeleted +* `Aws\ServerlessApplicationRepository` - New AWS Serverless Application Repository APIs that support creating and reading a broader set of AWS CloudFormation templates, as well as enhancements to our existing APIs. + +## 3.70.3 - 2018-11-02 + +* `Aws\CloudDirectory` - ListObjectParents API now supports a bool parameter IncludeAllLinksToEachParent, which if set to true, will return a ParentLinks list instead of a Parents map; BatchRead API now supports ListObjectParents operation. +* `Aws\Rekognition` - This release updates the DetectLabels operation. Bounding boxes are now returned for certain objects, a hierarchical taxonomy is now available for labels, and you can now get the version of the detection model used for detection. + +## 3.70.2 - 2018-11-01 + +* `Aws\ServiceCatalog` - Service Catalog integration with AWS Organizations, enables customers to more easily create and manage a portfolio of IT services across an organization. Administrators can now take advantage of the AWS account structure and account groupings configured in AWS Organizations to share Service Catalog Portfolios increasing agility and reducing risk. With this integration the admin user will leverage the trust relationship that exists within the accounts of the Organization to share portfolios to the entire Organization, a specific Organizational Unit or a specific Account. + +## 3.70.1 - 2018-10-31 + +* `Aws\ConfigService` - With this release, AWS Config updated the ResourceType values. The updated list includes AWS Systems Manager AssociationCompliance and PatchCompliance, AWS Shield regional Protection, AWS Config ResourceCompliance, and AWS CodePipeline Pipeline. +* `Aws\Greengrass` - Greengrass APIs now support bulk deployment operations, and APIs that list definition versions now support pagination. +* `Aws\MediaStoreData` - The object size limit is increased from 10MB to 25MB and the content type is more permissive. +* `Aws\SecretsManager` - Documentation updates for AWS Secrets Manager. + +## 3.70.0 - 2018-10-30 + +* `Aws\Chime` - This is the initial release for the Amazon Chime AWS SDK. In this release, Amazon Chime adds support for administrative actions on users and accounts. API Documentation is also updated on https://docs.aws.amazon.com/chime/index.html +* `Aws\DatabaseMigrationService` - Add waiters for TestConnectionSucceeds, EndpointDeleted, ReplicationInstanceAvailable, ReplicationInstanceDeleted, ReplicationTaskReady, ReplicationTaskStopped, ReplicationTaskRunning and ReplicationTaskDeleted. +* `Aws\RDS` - This release adds the listener connection endpoint for SQL Server Always On to the list of fields returned when performing a describe-db-instances operation. + +## 3.69.16 - 2018-10-26 + +* `Aws\AlexaForBusiness` - Documentation updates for AWS Alexa for Business +* `Aws\SSM` - Compliance Severity feature release for State Manager. Users now have the ability to select compliance severity to their association in state manager console or CLI. +* `Aws\SageMaker` - SageMaker notebook instances can now have a volume size configured. + +## 3.69.15 - 2018-10-25 + +* `Aws\EC2` - As part of this release we are introducing EC2 On-Demand Capacity Reservations. With On-Demand Capacity Reservations, customers can reserve the exact EC2 capacity they need, and can keep it only for as long as they need it. + +## 3.69.14 - 2018-10-24 + +* `Aws\AlexaForBusiness` - We extended the functionality of the Alexa for Business SDK, including additional support for third-party Alexa built-in devices, managing private and public skills, and conferencing setup. +* `Aws\CodeStar` - This release lets you create projects from source code and a toolchain definition that you provide. + +## 3.69.13 - 2018-10-23 + +* `Aws\EC2` - Provides customers the ability to Bring Your Own IP (BYOIP) prefix. You can bring part or all of your public IPv4 address range from your on-premises network to your AWS account. You continue to own the address range, but AWS advertises it on the internet. + +## 3.69.12 - 2018-10-22 + +* `Aws\Inspector` - Finding will be decorated with ec2 related metadata +* `Aws\Shield` - AWS Shield Advanced API introduced a new service-specific AccessDeniedException which will be thrown when accessing individual attack information without sufficient permission. + +## 3.69.11 - 2018-10-19 + +* `Aws\Aws` - Bump Guzzle HTTP patch version for PHP 7.3 compatibility. +* `Aws\SSM` - Rate Control feature release for State Manager. Users now have the ability to apply rate control parameters similar to run command to their association in state manager console or CLI. +* `Aws\WorkSpaces` - Added support for PowerPro and GraphicsPro WorkSpaces bundles. + +## 3.69.10 - 2018-10-18 + +* `Aws\AppStream` - This API update adds support for creating, managing, and deleting users in the AppStream 2.0 user pool. +* `Aws\MediaLive` - This release allows you to now turn on Quality-Defined Variable Bitrate (QVBR) encoding for your AWS Elemental MediaLive channels. You can now deliver a consistently high-quality video viewing experience while reducing overall distribution bitrates by using Quality-Defined Variable Bitrate (QVBR) encoding with AWS Elemental MediaLive. QVBR is a video compression technique that automatically adjusts output bitrates to the complexity of source content and only use the bits required to maintain a defined level of quality. This means using QVBR encoding, you can save on distribution cost, while maintaining, or increasing video quality for your viewers. +* `Aws\Route53` - This change allows customers to disable health checks. + +## 3.69.9 - 2018-10-17 + +* `Aws\APIGateway` - Documentation updates for API Gateway +* `Aws\CloudWatchEvents` - AWS Events - AWS Organizations Support in Event-Bus Policies. This release introduces a new parameter in the PutPermission API named Condition. Using the Condition parameter, customers can allow one or more AWS Organizations to access their CloudWatch Events Event-Bus resource. + +## 3.69.8 - 2018-10-16 + +* `Aws\Glue` - New Glue APIs for creating, updating, reading and deleting Data Catalog resource-based policies. +* `Aws\Lightsail` - Adds support for Lightsail managed databases. +* `Aws\ResourceGroups` - AWS Resource Groups service added a new feature to filter resource groups by resource-type when using the ListGroups operation. + +## 3.69.7 - 2018-10-15 + +* `Aws\Lambda` - Documentation updates for lambda +* `Aws\RDS` - This release adds a new parameter to specify the DB instance or cluster parameter group for restore from DB snapshot and restore to point int time operations. For more information, see Amazon RDS Documentation. +* `Aws\ServiceCatalog` - AWS Service Catalog enables you to reduce administrative maintenance and end-user training while adhering to compliance and security measures. With service actions, you as the administrator can enable end users to perform operational tasks, troubleshoot issues, run approved commands, or request permissions within Service Catalog. Service actions are defined using AWS Systems Manager documents, where you have access to pre-defined actions that implement AWS best practices, such asEC2 stop and reboot, as well as the ability to define custom actions. + +## 3.69.6 - 2018-10-12 + +* `Aws\ClientSideMonitoring` - Adds MaxRetriesExceeded entry to ApiCall events. +* `Aws\CloudTrail` - The LookupEvents API now supports two new attribute keys: ReadOnly and AccessKeyId + +## 3.69.5 - 2018-10-11 + +* `Aws\Api/Serializer` - Fix to correctly format 'structure' options into JSON, when they have no valid values. +* `Aws\Athena` - 1. GetQueryExecution API changes to return statementType of a submitted Athena query. 2. GetQueryResults API changes to return the number of rows added to a table when a CTAS query is executed. +* `Aws\ClientSideMonitoring` - Updates to client-side monitoring event entry and config settings to match updated specification. +* `Aws\DirectConnect` - This release adds support for Jumbo Frames over AWS Direct Connect. You can now set MTU value when creating new virtual interfaces. This release also includes a new API to modify MTU value of existing virtual interfaces. +* `Aws\EC2` - You can now launch the smaller-sized G3 instance called g3s.xlarge. G3s.xlarge provides 4 vCPU, 30.5 GB RAM and a NVIDIA Tesla M60 GPU. It is ideal for remote workstations, engineering and architectural applications, and 3D visualizations and rendering for visual effects. +* `Aws\MediaConvert` - Added Paginators for all the MediaConvert list operations +* `Aws\TranscribeService` - With this release, Amazon Transcribe now supports transcriptions from audio sources in British English (en-UK), Australian English (en-AU), and Canadian French (fr-CA). + +## 3.69.4 - 2018-10-10 + +* `Aws\Build/Docs` - Fixes API docs issue with required members in shapes. +* `Aws\ClientSideMonitoring` - Avoids issue with late static bindings in closures in earlier versions of PHP 5.5.x. +* `Aws\Comprehend` - This release adds French, Italian, German and Portuguese language support for all existing synchronous and asynchronous APIs +* `Aws\ElasticsearchService` - Amazon Elasticsearch Service now supports customer-scheduled service software updates. When new service software becomes available, you can request an update to your domain and benefit from new features more quickly. If you take no action, we update the service software automatically after a certain time frame. +* `Aws\TranscribeService` - With this update Amazon Transcribe now supports deleting completed transcription jobs. + +## 3.69.3 - 2018-10-09 + +* `Aws\SSM` - Adds StartDate, EndDate, and ScheduleTimezone to CreateMaintenanceWindow and UpdateMaintenanceWindow; Adds NextExecutionTime to GetMaintenanceWindow and DescribeMaintenanceWindows; Adds CancelMaintenanceWindowExecution, DescribeMaintenanceWindowSchedule and DescribeMaintenanceWindowsForTarget APIs. + +## 3.69.2 - 2018-10-08 + +* `Aws\IoT` - We are releasing job execution timeout functionalities to customers. Customer now can set job execution timeout on the job level when creating a job. +* `Aws\IoTJobsDataPlane` - We are releasing job execution timeout functionalities to customers. Device can now set and update their job execution timeout. + +## 3.69.1 - 2018-10-05 + +* `Aws\DirectoryService` - SDK changes to create a new type of trust for active directory + +## 3.69.0 - 2018-10-04 + +* `Aws\APIGateway` - Adding support for multi-value parameters in TestInvokeMethod and TestInvokeAuthorizer. +* `Aws\ClientSideMonitoring` - Code for future SDK instrumentation and telemetry. +* `Aws\CodeBuild` - Add resolved source version field in build output +* `Aws\Neptune` - Update neptune command for support in the EU (London) region +* `Aws\SSM` - Adds RejectedPatchesAction to baseline to enable stricted validation of the rejected Patches List ; Add InstalledRejected and InstallOverrideList to compliance reporting +* `Aws\StorageGateway` - AWS Storage Gateway now enables you to specify folders and subfolders when you update your file gateway's view of your S3 objects using the Refresh Cache API. + +## 3.68.1 - 2018-10-02 + +* `Aws\SageMaker` - Waiter for SageMaker Batch Transform Jobs. +* `Aws\SecretsManager` - Documentation updates for secretsmanager + +## 3.68.0 - 2018-10-01 + +* `Aws\GuardDuty` - Support optional FindingPublishingFrequency parameter in CreateDetector and UpdateDetector operations, and ClientToken on Create* operations +* `Aws\Lambda` - Added default TCP Keep-Alive Curl setting for the Lambda client. +* `Aws\Rekognition` - Documentation updates for Amazon Rekognition + +## 3.67.22 - 2018-09-28 + +* `Aws\CodeStar` - This release enables tagging CodeStar Projects at creation. The CreateProject API now includes optional tags parameter. +* `Aws\EC2` - You can now use EC2 High Memory instances with 6 TiB memory (u-6tb1.metal), 9 TiB memory (u-9tb1.metal), and 12 TiB memory (u-12tb1.metal), which are ideal for running large in-memory databases, including production deployments of SAP HANA. These instances offer 448 logical processors, where each logical processor is a hyperthread on 224 cores. These instance deliver high networking throughput and lower latency with up to 25 Gbps of aggregate network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking. These instances are EBS-Optimized by default, and support encrypted and unencrypted EBS volumes. This instance is only available in host-tenancy. You will need an EC2 Dedicated Host for this instance type to launch an instance. + +## 3.67.21 - 2018-09-27 + +* `Aws\APIGateway` - Adding support for OpenAPI 3.0 import and export. +* `Aws\CodeCommit` - This release adds API support for getting the contents of a file, getting the contents of a folder, and for deleting a file in an AWS CodeCommit repository. +* `Aws\GameLift` - Amazon GameLift and Amazon GameLift FlexMatch are now available in the China cn-north-1 region. +* `Aws\MQ` - Amazon MQ supports ActiveMQ 5.15.6, in addition to 5.15.0. Automatic minor version upgrades can be toggled. Updated the documentation. +* `Aws\SageMaker` - SageMaker has added support for the AWS GovCloud (US) region. + +## 3.67.20 - 2018-09-26 + +* `Aws\Glue` - AWS Glue now supports data encryption at rest for ETL jobs and development endpoints. With encryption enabled, when you run ETL jobs, or development endpoints, Glue will use AWS KMS keys to write encrypted data at rest. You can also encrypt the metadata stored in the Glue Data Catalog using keys that you manage with AWS KMS. Additionally, you can use AWS KMS keys to encrypt the logs generated by crawlers and ETL jobs as well as encrypt ETL job bookmarks. Encryption settings for Glue crawlers, ETL jobs, and development endpoints can be configured using the security configurations in Glue. Glue Data Catalog encryption can be enabled via the settings for the Glue Data Catalog. +* `Aws\OpsWorksCM` - This release introduces a new API called ExportServerEngineAttribute to Opsworks-CM. You can use this API call to export engine specific attributes like the UserData script used for unattended bootstrapping of new nodes that connect to the server. +* `Aws\RDS` - This release includes Deletion Protection for RDS databases. +* `Aws\SQS` - Documentation updates for Amazon SQS. + +## 3.67.19 - 2018-09-25 + +* `Aws\CloudFront` - Documentation updates for cloudfront +* `Aws\DirectoryService` - API changes related to launch of cross account for Directory Service. +* `Aws\EC2` - Add pagination support for ec2.describe-route-tables API. + +## 3.67.18 - 2018-09-24 + +* `Aws\Connect` - This update adds the Amazon Connect Metrics API, which lets you get current metric data and historical metric data within 24 hours for the queues in your Amazon Connect instance. +* `Aws\RDS` - Adds DB engine version requirements for option group option settings, and specifies if an option setting requires a value. + +## 3.67.17 - 2018-09-21 + +* `Aws\MediaConvert` - To offer lower prices for predictable, non-urgent workloads, we propose the concept of Reserved Transcode pricing. Reserved Transcode pricing Reserved Transcoding pricing would offer the customer access to a fixed parallel processing capacity for a fixed monthly rate. This capacity would be stated in terms of number of Reserved Transcode Slots (RTSs). One RTS would be able to process one job at a time for a fixed monthly fee. + +## 3.67.16 - 2018-09-20 + +* `Aws\DirectoryService` - Added CreateLogSubscription, DeleteLogSubscription, and ListLogSubscriptions APIs for Microsoft AD. Customers can now opt in to have Windows security event logs from the domain controllers forwarded to a log group in their account. +* `Aws\EC2` - You can now launch f1.4xlarge, a new instance size within the existing f1 family which provides two Xilinx Virtex Field Programmable Arrays (FPGAs) for acceleration. FPGA acceleration provide additional performance and time sensitivity for specialized accelerated workloads such as clinical genomics and real-time video processing. F1.4xlarge instances are available in the US East (N. Virginia), US West (Oregon), GovCloud (US), and EU West (Dublin) AWS Regions. +* `Aws\RDS` - This launch enables RDS start-db-cluster and stop-db-cluster. Stopping and starting Amazon Aurora clusters helps you manage costs for development and test environments. You can temporarily stop all the DB instances in your cluster, instead of setting up and tearing down all the DB instances each time that you use the cluster. + +## 3.67.15 - 2018-09-19 + +* `Aws\CloudWatch` - Amazon CloudWatch adds the ability to request png image snapshots of metric widgets using the GetMetricWidgetImage API. +* `Aws\Organizations` - Introducing a new exception - AccountOwnerNotVerifiedException which will be returned for InviteAccountToOrganization call for unverified accounts. +* `Aws\S3` - S3 Cross Region Replication now allows customers to use S3 object tags to filter the scope of replication. By using S3 object tags, customers can identify individual objects for replication across AWS Regions for compliance and data protection. Cross Region Replication for S3 enables automatic and asynchronous replication of objects to another AWS Region, and with this release customers can replicate at a bucket level, prefix level or by using object tags. + +## 3.67.14 - 2018-09-18 + +* `Aws\ElasticsearchService` - Amazon Elasticsearch Service adds support for node-to-node encryption for new domains running Elasticsearch version 6.0 and above +* `Aws\Rekognition` - This release updates the Amazon Rekognition IndexFaces API operation. It introduces a QualityFilter parameter that allows you to automatically filter out detected faces that are deemed to be of low quality by Amazon Rekognition. The quality bar is based on a variety of common use cases. You can filter low-quality detected faces by setting QualityFilter to AUTO, which is also the default setting. To index all detected faces regardless of quality, you can specify NONE. This release also provides a MaxFaces parameter that is useful when you want to only index the most prominent and largest faces in an image and don't want to index other faces detected in the image, such as smaller faces belonging to people standing in the background. + +## 3.67.13 - 2018-09-17 + +* `Aws\CloudWatch` - Amazon CloudWatch adds the ability to publish values and counts using PutMetricData +* `Aws\CodeBuild` - Support build logs configuration. +* `Aws\EC2` - Added support for customers to tag EC2 Dedicated Hosts on creation. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for additional Docker flags as Task Definition parameters. Customers can now configure their ECS Tasks to use systemControls (sysctl), pseudoTerminal (tty), and interactive (i) Docker flags. +* `Aws\ElastiCache` - ElastiCache for Redis added support for adding and removing read-replicas from any cluster with no cluster downtime, Shard naming: ElastiCache for Redis customers have the option of allowing ElastiCache to create names for their node groups (shards) or generating their own node group names. For more information, see https:// docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_NodeGroupConfiguration.html, ShardsToRetain: When reducing the number of node groups (shards) in an ElastiCache for Redis (cluster mode enabled) you have the option of specifying which node groups to retain or which node groups to remove. For more information, see https:// docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html, ReservationARN: ReservedNode includes an ARN, ReservationARN, member which identifies the reserved node. For more information, see https:// docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ReservedCacheNode.html +* `Aws\ElasticTranscoder` - Added support for MP2 container +* `Aws\SecretsManager` - Documentation updates for secretsmanager + +## 3.67.12 - 2018-09-13 + +* `Aws\Polly` - Amazon Polly adds Mandarin Chinese language support with new female voice - "Zhiyu" + +## 3.67.11 - 2018-09-12 + +* `Aws\Connect` - This update adds the Amazon Connect Update Contact Attributes API, which lets you update contact attributes for contacts in your Amazon Connect instance. +* `Aws\EC2` - Pagination Support for DescribeNetworkInterfaces API +* `Aws\FMS` - This update of Amazon Fire Wall Manager adds the ability to scope down the policy as well as to get all the member accounts belonging to a certain Fire Wall Manager admin account. +* `Aws\SES` - Documentation updates for Amazon Simple Email Service +* `Aws\S3` - Support for S3Select in the AWS SDK for PHP. + +## 3.67.10 - 2018-09-11 + +* `Aws\OpsWorksCM` - Documentation updates for opsworkscm +* `Aws\SSM` - Session Manager is a fully managed AWS Systems Manager capability that provides interactive one-click access to Amazon EC2 Linux and Windows instances. + +## 3.67.9 - 2018-09-10 + +* `Aws\CloudHSMV2` - With this release, we are adding 2 new APIs. DeleteBackup deletes a specified AWS CloudHSM backup. A backup can be restored up to 7 days after the DeleteBackup request. During this 7-day period, the backup will be in state PENDING_DELETION. Backups can be restored using the RestoreBackup API, which will move the backup from state PENDING_DELETION back to ACTIVE. +* `Aws\Redshift` - Adding support to Redshift to change the encryption type after cluster creation completes. + +## 3.67.8 - 2018-09-07 + +* `Aws\CloudWatchLogs` - * Adding a log prefix parameter for filter log events API and minor updates to the documentation +* `Aws\ConfigService` - Adding a new field "createdBy" to the ConfigRule data model. The field is populated only if the rule is service linked i.e the rule is created by a service. The field is empty for normal rules created by customer. + +## 3.67.7 - 2018-09-06 + +* `Aws\APIGateway` - Add support for Active X-Ray with API Gateway +* `Aws\CodeCommit` - This release adds additional optional fields to the pull request APIs. +* `Aws\MediaConvert` - This release adds support for Cost Allocation through tagging and also enables adding, editing, and removal of tags from the MediaConvert console. + +## 3.67.6 - 2018-09-05 + +* `Aws\AppStream` - Added support for enabling persistent application settings for a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session. +* `Aws\DynamoDB` - New feature for Amazon DynamoDB. +* `Aws\ElasticLoadBalancing` - Documentation update for DescribeAccountLimits API to include classic-registered-instances. +* `Aws\RDS` - Fix broken links in the RDS CLI Reference to the Aurora User Guide +* `Aws\S3` - Parquet input format support added for the SelectObjectContent API + +## 3.67.5 - 2018-09-04 + +* `Aws\RDS` - Updating cross references for the new Aurora User Guide. +* `Aws\Rekognition` - This release introduces a new API called DescribeCollection to Amazon Rekognition. You can use DescribeCollection to get information about an existing face collection. Given the ID for a face collection, DescribeCollection returns the following information: the number of faces indexed into the collection, the version of the face detection model used by the collection, the Amazon Resource Name (ARN) of the collection and the creation date/time of the collection. + +## 3.67.4 - 2018-08-31 + +* `Aws\EKS` - Amazon EKS DescribeCluster API returns a platformVersion attribute which allows you to identify the features that are currently enabled for your clusters. The Amazon EKS platform version represents capabilities of the cluster control plane, such as which Kubernetes API server flags are enabled, as well as the current Kubernetes patch version. +* `Aws\WAF` - This change includes support for the WAF FullLogging feature through which Customers will have access to all the logs of requests that are inspected by a WAF WebACL. The new APIs allow Customers to manage association of a WebACL with one or more supported "LogDestination" and redact any request fields from the logs. +* `Aws\WAFRegional` - This change includes support for the WAF FullLogging feature through which Customers will have access to all the logs of requests that are inspected by a WAF WebACL. The new APIs allow Customers to manage association of a WebACL with one or more supported "LogDestination" and redact any request fields from the logs. + +## 3.67.3 - 2018-08-30 + +* `Aws\CodeBuild` - Support multiple sources and artifacts for CodeBuild projects. +* `Aws\SageMaker` - VolumeKmsKeyId now available in Batch Transform Job + +## 3.67.2 - 2018-08-29 + +* `Aws\Glue` - AWS Glue now supports data encryption at rest for ETL jobs and development endpoints. With encryption enabled, when you run ETL jobs, or development endpoints, Glue will use AWS KMS keys to write encrypted data at rest. You can also encrypt the metadata stored in the Glue Data Catalog using keys that you manage with AWS KMS. Additionally, you can use AWS KMS keys to encrypt the logs generated by crawlers and ETL jobs as well as encrypt ETL job bookmarks. Encryption settings for Glue crawlers, ETL jobs, and development endpoints can be configured using the security configurations in Glue. Glue Data Catalog encryption can be enabled via the settings for the Glue Data Catalog. +* `Aws\MediaPackage` - MediaPackage now provides input redundancy. Channels have two ingest endpoints that can receive input from encoders. OriginEndpoints pick one of the inputs receiving content for playback and automatically switch to the other input if the active input stops receiving content. Refer to the User Guide (https://docs.aws.amazon.com/mediapackage/latest/ug/what-is.html) for more details on this feature. +* `Aws\SageMakerRuntime` - SageMaker Runtime supports CustomAttributes header which allows customers provide additional information in a request for an inference submitted to a model or in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. + +## 3.67.1 - 2018-08-28 + +* `Aws\Glue` - New Glue APIs for creating, updating, reading and deleting Data Catalog resource-based policies. +* `Aws\XRay` - Support for new APIs that enable management of sampling rules. + +## 3.67.0 - 2018-08-27 + +* `Aws\IoT` - This release adds support to create a Stream and Code signing for Amazon FreeRTOS job along with Over-the-air updates. +* `Aws\IoTAnalytics` - Added new listDatasetContent API that shows you the list of dataset contents for the corresponding versions +* `Aws\Redshift` - Documentation updates for redshift +* `Aws\signer` - AWS Signer is a new feature that allows Amazon FreeRTOS (AFR) Over The Air (OTA) customers to cryptographically sign code using code-signing certificates managed by AWS Certificate Manager. + +## 3.66.2 - 2018-08-25 + +* `Aws\Glue` - AWS Glue now supports data encryption at rest for ETL jobs and development endpoints. With encryption enabled, when you run ETL jobs, or development endpoints, Glue will use AWS KMS keys to write encrypted data at rest. You can also encrypt the metadata stored in the Glue Data Catalog using keys that you manage with AWS KMS. Additionally, you can use AWS KMS keys to encrypt the logs generated by crawlers and ETL jobs as well as encrypt ETL job bookmarks. Encryption settings for Glue crawlers, ETL jobs, and development endpoints can be configured using the security configurations in Glue. Glue Data Catalog encryption can be enabled via the settings for the Glue Data Catalog. + +## 3.66.1 - 2018-08-24 + +* `Aws\CloudWatchEvents` - Added Fargate and NetworkConfiguration support to EcsParameters. +* `Aws\CognitoIdentityProvider` - Amazon Cognito now has API support for creating custom domains for our hosted UI for User Pools. + +## 3.66.0 - 2018-08-23 + +* `Aws\Credentials` - Update ini parsing to handle unquoted components that contain equals signs. +* `Aws\IoT` - This release adds support for IoT Thing Group Indexing and Searching functionality. +* `Aws\IoTAnalytics` - AWS IoT Analytics announces three new features: (1) Bring Your Custom Container - import your custom authored code containers. (2) Automate Container Execution - lets you automate the execution of containers hosting custom authored analytical code or Jupyter Notebooks to perform continuous analysis. (3) Incremental Data Capture with Customizable Time Windows - enables users to perform analysis on new incremental data captured since the last analysis. +* `Aws\LexModelBuildingService` - Amazon Lex builds bot in two stages. After the first it sets status to READY_BASIC_TESTING. In this state the bot will match user inputs that exactly match the utterances configured for the bot's intents and values in the slot types. +* `Aws\MediaLive` - Adds two APIs for working with Channel Schedules: BatchUpdateSchedule and DescribeSchedule. These APIs allow scheduling actions for SCTE-35 message insertion and for static image overlays. +* `Aws\Rekognition` - This release introduces a new API called DescribeCollection to Amazon Rekognition. You can use DescribeCollection to get information about an existing face collection. Given the ID for a face collection, DescribeCollection returns the following information: the number of faces indexed into the collection, the version of the face detection model used by the collection, the Amazon Resource Name (ARN) of the collection and the creation date/time of the collection. + +## 3.65.2 - 2018-08-22 + +* `Aws\Snowball` - Snowball job states allow customers to track the status of the Snowball job. We are launching a new Snowball job state "WithSortingFacility"! When customer returns the Snowball to AWS, the device first goes to a sorting facility before it reaches an AWS data center. Many customers have requested us to add a new state to reflect the presence of the device at the sorting facility for better tracking. Today when a customer returns the Snowball, the state first changes from "InTransitToAWS" to "WithAWS". With the addition of new state, the device will move from "InTransitToAWS" to "WithAWSSortingFacility", and then to "WithAWS". There are no other changes to the API at this time besides adding this new state. + +## 3.65.1 - 2018-08-21 + +* `Aws\DLM` - Documentation updates for Lifecycle +* `Aws\EC2` - Added support for T3 Instance type in EC2. To learn more about T3 instances, please see https://aws.amazon.com/ec2/instance-types/t3/ +* `Aws\ElasticBeanstalk` - Elastic Beanstalk adds the "Privileged" field to the "CPUUtilization" type, to support enhanced health reporting in Windows environments. +* `Aws\RDS` - Adds a paginator for the DescribeDBClusters operation. +* `Aws\Signature\SignatureV4` - Updates the SignatureV4 presigning process to not sign, and subsequently require on use, the X-Amz-Security-Token header when it's already signed in the query string. + +## 3.65.0 - 2018-08-20 + +* `Aws\DynamoDB` - Added SSESpecification block to update-table command which allows users to modify table Server-Side Encryption. Added two new fields (SSEType and KMSMasterKeyId) to SSESpecification block used by create-table and update-table commands. Added new SSEDescription Status value UPDATING. +* `Aws\MediaConvert` - This release fixes backward-incompatible changes from a previous release. That previous release changed non-required job settings to required, which prevented jobs and job templates from merging correctly. The current change removes validation of required settings from the SDK and instead centralizes the validation in the service API. For information on required settings, see the Resources chapter of the AWS Elemental MediaConvert API Reference https://docs.aws.amazon.com/mediaconvert/latest/apireference/resources.html +* `Aws\Signature\SignatureV4` - Add support for pre-signing additional headers. Any additional headers that are supplied and signed must be included when sending the request. +* `Aws\Test` - Refactored namespaces of tests to prepare for PHPUnit6 +* `Aws\Test` - Refactored exception tests to prepare for PHPUnit6 + +## 3.64.15 - 2018-08-17 + +* `Aws\DAX` - DAX CreateClusterRequest is updated to include IamRoleArn as a required request parameter. +* `Aws\SageMaker` - Added an optional boolean parameter, 'DisassociateLifecycleConfig', to the UpdateNotebookInstance operation. When set to true, the lifecycle configuration associated with the notebook instance will be removed, allowing a new one to be set via a new 'LifecycleConfigName' parameter. +* `Aws\SecretsManager` - Documentation updates for Secrets Manager + +## 3.64.14 - 2018-08-16 + +* `Aws\ApplicationDiscoveryService` - The Application Discovery Service's Continuous Export APIs allow you to analyze your on-premises server inventory data, including system performance and network dependencies, in Amazon Athena. +* `Aws\EC2` - The 'Attribute' parameter DescribeVolumeAttribute request has been marked as required - the API has always required this parameter, but up until now this wasn't reflected appropriately in the SDK. +* `Aws\MediaConvert` - Added WriteSegmentTimelineInRepresentation option for Dash Outputs +* `Aws\Redshift` - You can now resize your Amazon Redshift cluster quickly. With the new ResizeCluster action, your cluster is available for read and write operations within minutes +* `Aws\SSM` - AWS Systems Manager Inventory now supports groups to quickly see a count of which managed instances are and arent configured to collect one or more Inventory types +* `Aws\TraceMiddleware` - Removed potential PCRE vulnerability. + +## 3.64.13 - 2018-08-15 + +* `Aws\` - We are launching AWS IoT Core and AWS IoT Device Mgmt in GovCloud (us-gov-west-1) region. +* `Aws\DeviceFarm` - Support for running tests in a custom environment with live logs/video streaming, full test features parity and reduction in overall test execution time. + +## 3.64.12 - 2018-08-14 + +* `Aws\AutoScaling` - Add batch operations for creating/updating and deleting scheduled scaling actions. +* `Aws\CloudFront` - Lambda@Edge Now Provides You Access to the Request Body for HTTP POST/PUT Processing. With this feature, you can now offload more origin logic to the edge and improve end-user latency. Developers typically use Web/HTML forms or Web Beacons/Bugs as a mechanism to collect data from the end users and then process that data at their origins servers. For example, if you are collecting end user behavior data through a web beacon on your website, you can use this feature to access the user behavior data and directly log it to an Amazon Kinesis Firehose endpoint from the Lambda function, thereby simplifying your origin infrastructure. +* `Aws\ElasticsearchService` - Amazon Elasticsearch Service adds support for no downtime, in-place upgrade for Elasticsearch version 5.1 and above. + +## 3.64.11 - 2018-08-13 + +* `Aws\SageMaker` - SageMaker updated the default endpoint URL to support Private Link via the CLI/SDK. + +## 3.64.10 - 2018-08-10 + +* `Aws\MediaConvert` - This release adds support for a new rate control mode, Quality-Defined Variable Bitrate (QVBR) encoding, includes updates to optimize transcoding performance, and resolves previously reported bugs. +* `Aws\MediaPackage` - Elemental MediaPackage is now available in the SFO region. +* `Aws\RDS` - Documentation updates for rds + +## 3.64.9 - 2018-08-09 + +* `Aws\DAX` - Add the SSESpecification field to CreateCluster to allow creation of clusters with server-side encryption, and add the SSEDescription field to DescribeClusters to display the status of server-side encryption for a cluster. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for Docker volumes and Docker volume drivers. Customers can now configure their ECS Tasks to use Docker volumes, enabling stateful and storage-intensive applications to be deployed on ECS. +* `Aws\RDS` - Launch RDS Aurora Serverless + +## 3.64.8 - 2018-08-08 + +* `Aws\SSM` - AWS Systems Manager Automation is launching two new features for Automation Execution Rate Control based on tags and customized parameter maps. With the first feature, customer can target their resources by specifying a Tag with Key/Value. With the second feature, Parameter maps rate control, customers can benefit from customization of input parameters. +* `Aws\SecretsManager` - This release introduces a ForceDeleteWithoutRecovery parameter to the DeleteSecret API enabling customers to force the deletion of a secret without any recovery window + +## 3.64.7 - 2018-08-07 + +* `Aws\CloudWatchLogs` - Documentation Update +* `Aws\CodeBuild` - Release semantic versioning feature for CodeBuild +* `Aws\EC2` - Amazon VPC Flow Logs adds support for delivering flow logs directly to S3 +* `Aws\Pinpoint` - This release includes a new batch API call for Amazon Pinpoint which can be used to update endpoints and submit events. This call will accept events from clients such as mobile devices and AWS SDKs. This call will accept requests which has multiple endpoints and multiple events attached to those endpoints in a single call. This call will update the endpoints attached and will ingest events for those endpoints. The response from this call will be a multipart response per endpoint/per event submitted. +* `Aws\SSM` - Two new filters ExecutionStage and DocumentName will be added to ListCommands so that customers will have more approaches to query their commands. + +## 3.64.6 - 2018-08-06 + +* `Aws\DynamoDB` - Amazon DynamoDB Point-in-time recovery (PITR) provides continuous backups of your table data. DynamoDB now supports the ability to self-restore a deleted PITR enabled table. Now, when a table with PITR enabled is deleted, a system backup is automatically created and retained for 35 days (at no additional cost). System backups allow you to restore the deleted PITR enabled table to the state it was just before the point of deletion. For more information, see the Amazon DynamoDB Developer Guide. +* `Aws\Health` - Updates the ARN structure vended by AWS Health API. All ARNs will now include the service and type code of the associated event, as vended by DescribeEventTypes. + +## 3.64.5 - 2018-08-03 + +* `Aws\AlexaForBusiness` - Documentation updates for AWS Alexa For Business + +## 3.64.4 - 2018-08-02 + +* `Aws\Greengrass` - AWS Greengrass is now available in the Dublin, Ireland (Europe) region, eu-west-1. +* `Aws\Kinesis` - This update introduces SubscribeToShard and RegisterStreamConsumer APIs which allows for retrieving records on a data stream over HTTP2 with enhanced fan-out capabilities. With this new feature the Java SDK now supports event streaming natively which will allow you to define payload and exception structures on the client over a persistent connection. For more information, see Developing Consumers with Enhanced Fan-Out in the Kinesis Developer Guide. +* `Aws\Polly` - Amazon Polly enables female voice Aditi to speak Hindi language +* `Aws\ResourceGroups` - AWS Resource Groups service added a new feature to filter group resources by resource-type when using the ListGroupResources operation. +* `Aws\SSM` - This release updates AWS Systems Manager APIs to let customers create and use service-linked roles to register and edit Maintenance Window tasks. + +## 3.64.3 - 2018-08-01 + +* `Aws\StorageGateway` - AWS Storage Gateway now enables you to create stored volumes with AWS KMS support. +* `Aws\TranscribeService` - With this update Amazon Transcribe now supports channel identification. It transcribes audio from separate channels and combines them into a single transcription. + +## 3.64.2 - 2018-07-31 + +* `Aws\Connect` - This update includes the new User Management APIs and the Federation API used for SAML authentication. The User Management APIs let you create and manage users in your Amazon Connect instance programmatically. The Federation API enables authentication between AWS and your existing identity provider using tokens. +* `Aws\ElasticsearchService` - Amazon Elasticsearch Service adds support for enabling Elasticsearch error logs, providing you valuable information for troubleshooting your Elasticsearch domains quickly and easily. These logs are published to the Amazon CloudWatch Logs service and can be turned on or off at will. +* `Aws\IoT` - As part of this release we are introducing a new IoT security service, AWS IoT Device Defender, and extending capability of AWS IoT to support Step Functions rule action. The AWS IoT Device Defender is a fully managed service that helps you secure your fleet of IoT devices. For more details on this new service, go to https://aws.amazon.com/iot-device-defender. The Step Functions rule action lets you start an execution of AWS Step Functions state machine from a rule. +* `Aws\KMS` - Added a KeyID parameter to the ListAliases operation. This parameter allows users to list only the aliases that refer to a particular AWS KMS customer master key. All other functionality remains intact. +* `Aws\MediaConvert` - Fixes an issue with modeled timestamps being labeled with the incorrect format. + +## 3.64.1 - 2018-07-30 + +* `Aws\CloudHSMV2` - This update to the AWS CloudHSM API adds copy-backup-to-region, which allows you to copy a backup of a cluster from one region to another. The copied backup can be used in the destination region to create a new AWS CloudHSM cluster as a clone of the original cluster. +* `Aws\DirectConnect` - 1. awsDeviceV2 field is introduced for Connection/Lag/Interconnect/VirtualInterface/Bgp Objects, while deprecating the awsDevice field for Connection/Lag/Interconnect Objects. 2. region field is introduced for VirtualInterface/Location objects +* `Aws\Glacier` - Documentation updates for glacier +* `Aws\Glue` - Glue Development Endpoints now support association of multiple SSH public keys with a development endpoint. +* `Aws\IoT` - get rid of documentParameters field from CreateJob API +* `Aws\MQ` - Modified the CreateBroker, UpdateBroker, and DescribeBroker operations to support integration with Amazon CloudWatch Logs. Added a field to indicate the IP address(es) that correspond to wire-level endpoints of broker instances. While a single-instance broker has one IP address, an active/standby broker for high availability has 2 IP addresses. Added fields to indicate the time when resources were created. Updated documentation for Amazon MQ. +* `Aws\SageMaker` - Added SecondaryStatusTransitions to DescribeTrainingJob to provide more visibility into SageMaker training job progress and lifecycle. + +## 3.64.0 - 2018-07-26 + +* `Aws\Api` - Updates parsers and serializers to handle the timestampFormat trait. +* `Aws\CodeBuild` - Add artifacts encryptionDisabled and build encryptionKey. +* `Aws\EC2` - This change provides the EC2/Spot customers with two new allocation strategies -- LowestN for Spot instances, and OD priority for on-demand instances. +* `Aws\Greengrass` - Documentation updates for Greengrass Local Resource Access feature +* `Aws\Inspector` - inspector will return ServiceTemporarilyUnavailableException when service is under stress +* `Aws\Redshift` - When we make a new version of Amazon Redshift available, we update your cluster during its maintenance window. By selecting a maintenance track, you control whether we update your cluster with the most recent approved release, or with the previous release. The two values for maintenance track are current and trailing. If you choose the current track, your cluster is updated with the latest approved release. If you choose the trailing track, your cluster is updated with the release that was approved previously.The new API operation for managing maintenance tracks for a cluster is DescribeClusterTracks. In addition, the following API operations have new MaintenanceTrackName parameters: Cluster, PendingModifiedValues, ModifyCluster, RestoreFromClusterSnapshot, CreateCluster, Snapshot +* `Aws\SSM` - This release updates AWS Systems Manager APIs to allow customers to attach labels to history parameter records and reference history parameter records via labels. It also adds Parameter Store integration with AWS Secrets Manager to allow referencing and retrieving AWS Secrets Manager's secrets from Parameter Store. + +## 3.63.7 - 2018-07-25 + +* `Aws\EC2` - R5 is the successor to R4 in EC2's memory-optimized instance family. R5d is a variant of R5 that has local NVMe SSD. Z1d instances deliver both high compute and high memory. Z1d instances use custom Intel Xeon Scalable Processors running at up to 4.0 GHz, powered by sustained all-core Turbo Boost. They are available in 6 sizes, with up to 48 vCPUs, 384 GiB of memory, and 1.8 TB of local NVMe storage. +* `Aws\ECS` - This release of Amazon Elastic Container Service (Amazon ECS) introduces support for private registry authentication using AWS Secrets Manager. With private registry authentication, private Docker images can be used in a task definition. +* `Aws\ElasticLoadBalancingv2` - We are introducing two new actions in Application Load Balancer. Redirects and Fixed Response. These features will allow you to improve user experience and security posture. By using redirect actions in your Application Load Balancer, you can improve the security of your user requests and by using fixed-response, you can enhance the customer experience by displaying branded error pages during application maintenance or outages. + +## 3.63.6 - 2018-07-24 + +* `Aws\DynamoDB` - With this SDK update, APIs UpdateGlobalTableSettings and DescribeGlobalTableSettings now allow consistently configuring AutoScaling settings for a DynamoDB global table. Previously, they would only allow consistently setting IOPS. Now new APIs are being released, existing APIs are being extended. + +## 3.63.5 - 2018-07-20 + +* `Aws\ConfigService` - Setting internal length limits on resourceId for APIs. +* `Aws\DLM` - Update documentation for Amazon Data Lifecycle Manager. + +## 3.63.4 - 2018-07-19 + +* `Aws\MediaPackage` - Adds support for DASH OriginEnpoints with multiple media presentation description periods triggered by presence of SCTE-35 ad markers in Channel input streams. + +## 3.63.3 - 2018-07-18 + +* `Aws\IoTAnalytics` - This change allows publishing of channel/datastore size as part of the describe-channel/describe-datastore APIs. We introduce an optional boolean parameter 'includeStatistics' in the Describe request. If the user sets this parameter to true, the describe response will return the resource size and timestamp at which the size was recorded. If the parameter is set to false, the size won't be computed or returned. + +## 3.63.2 - 2018-07-17 + +* `Aws\Comprehend` - This release gives customers the ability to tokenize (find word boundaries) text and for each word provide a label for the part of speech, using the DetectSyntax operation. This API is useful to analyze text for specific conditions like for example finding nouns and the correlating adjectives to understand customer feedback. +* `Aws\Polly` - Amazon Polly adds new API for asynchronous synthesis to S3 +* `Aws\SageMaker` - Amazon SageMaker has added the capability for customers to run fully-managed, high-throughput batch transform machine learning models with a simple API call. Batch Transform is ideal for high-throughput workloads and predictions in non-real-time scenarios where data is accumulated over a period of time for offline processing. +* `Aws\Snowball` - AWS Snowball Edge announces the availability of Amazon EC2 compute instances that run on the device. AWS Snowball Edge is a 100-TB ruggedized device built to transfer data into and out of AWS with optional support for local Lambda-based compute functions. With this feature, developers and administrators can run their EC2-based applications on the device providing them with an end to end vertically integrated AWS experience. Designed for data pre-processing, compression, machine learning, and data collection applications, these new instances, called SBE1 instances, feature 1.8 GHz Intel Xeon D processors up to 16 vCPUs, and 32 GB of memory. The SBE1 instance type is available in four sizes and multiple instances can be run on the device at the same time. Customers can now run compute instances using the same Amazon Machine Images (AMIs) that are used in Amazon EC2. + +## 3.63.1 - 2018-07-13 + +* `Aws\AppStream` - This API update adds support for sharing AppStream images across AWS accounts within the same region. +* `Aws\KinesisVideo` - Adds support for HLS video playback of Kinesis Video streams using the KinesisVideo client by including "GET_HLS_STREAMING_SESSION_URL" as an additional APIName parameter in the GetDataEndpoint input. +* `Aws\KinesisVideoArchivedMedia` - Adds support for HLS video playback of Kinesis Video streams by providing the GetHLSStreamingSessionURL function in the KinesisVideoArchivedMedia client. + +## 3.63.0 - 2018-07-12 + +* `Aws\AppSync` - This release adds support for configuring HTTP endpoints as data sources for your AWS AppSync GraphQL API. +* `Aws\CodeBuild` - Update CodeBuild CreateProject API - serviceRole is a required input +* `Aws\DLM` - Amazon Data Lifecycle Manager (DLM) for EBS Snapshots provides a simple, automated way to back up data stored on Amazon EBS volumes. You can define backup and retention schedules for EBS snapshots by creating lifecycle policies based on tags. With this feature, you no longer have to rely on custom scripts to create and manage your backups. This feature is now available in the US East (N. Virginia), US West (Oregon), and Europe (Ireland) AWS regions at no additional cost. +* `Aws\EFS` - Amazon EFS now allows you to instantly provision the throughput required for your applications independent of the amount of data stored in your file system, allowing you to optimize throughput for your applications performance needs. Starting today, you can provision the throughput your applications require quickly with a few simple steps using AWS Console, AWS CLI or AWS API to achieve consistent performance. +* `Aws\EMR` - Documentation updates for EMR. +* `Aws\IAM` - SDK release to support IAM delegated administrator feature. The feature lets customers attach permissions boundary to IAM principals. The IAM principals cannot operate exceeding the permission specified in permissions boundary. + +## 3.62.14 - 2018-07-11 + +* `Aws\APIGateway` - Support for fine grain throttling for API gateway. +* `Aws\CostExplorer` - Starting today, you can access custom Reserved Instance (RI) purchase recommendations for your Amazon Redshift, Amazon ElastiCache, and Amazon Elasticsearch reservations via AWS Cost Explorer API, in addition to accessing RI purchase recommendations for your Amazon EC2 and Amazon RDS reservations. +* `Aws\S3` - S3 Select support for BZIP2 compressed input files +* `Aws\SSM` - Support Conditional Branching OnFailure for SSM Automation +* `Aws\SageMaker` - SageMaker has added support for FRA and SYD regions. + +## 3.62.13 - 2018-07-10 + +* `Aws\AppStream` - This API update adds pagination to the DescribeImages API to support future features and enhancements. +* `Aws\CodeBuild` - API changes to CodeBuild service, support report build status for Github sources +* `Aws\EC2` - Support CpuOptions field in Launch Template data and allow Launch Template name to contain hyphen. +* `Aws\Glue` - AWS Glue adds the ability to crawl DynamoDB tables. +* `Aws\OpsWorks` - Documentation updates for AWS OpsWorks Stacks. + +## 3.62.12 - 2018-07-10 + +* `Aws\ApplicationAutoScaling` - Documentation updates for application-autoscaling + +## 3.62.11 - 2018-07-09 + +* `Aws\ApplicationAutoScaling` - The release adds support for custom resource auto scaling. +* `Aws\CostExplorer` - AWS Cost Explorer provides you with Reserved Instance (RI) purchase recommendations based on your total cross-account Amazon EC2 and Amazon RDS usage. Starting today, linked accounts can also access custom RI purchase recommendations for specific linked accounts directly via AWS Cost Explorer API. +* `Aws\DatabaseMigrationService` - Added support for DmsTransfer endpoint type and support for re-validate option in table reload API. +* `Aws\Lambda` - Add support for .NET Core 2.1 to Lambda. +* `Aws\TranscribeService` - You can now specify an Amazon S3 output bucket to store the transcription of your audio file when you call the StartTranscriptionJob operation. + +## 3.62.10 - 2018-07-06 + +* `Aws\MediaConvert` - This release adds support for the following 1) users can specify tags to be attached to queues, presets, and templates during creation of those resources on MediaConvert. 2) users can now view the count of jobs in submitted state and in progressing state on a per queue basis. +* `Aws\ServerlessApplicationRepository` - Added required fields and documentation updates for AWS Serverless Application Repository. + +## 3.62.9 - 2018-07-05 + +* `Aws\Pinpoint` - This release of the Amazon Pinpoint SDK adds the ability to create complex segments and validate phone numbers for SMS messages. It also adds the ability to get or delete endpoints based on user IDs, remove attributes from endpoints, and list the defined channels for an app. +* `Aws\SageMaker` - Amazon SageMaker NotebookInstances supports 'Updating' as a NotebookInstanceStatus. In addition, DescribeEndpointOutput now includes Docker repository digest of deployed Model images. + +## 3.62.8 - 2018-07-03 + +* `Aws\ACM` - Adds a "CertificateValidated" waiter to AWS Certificate Manager clients, which polls on a new certificate's validation state. +* `Aws\EC2` - Added support for customers to tag EC2 Dedicated Hosts +* `Aws\Lambda` - General availability of AWS Lambda in the China Northwest (cn-northwest-1) region. For more information, see the AWS Lambda developer guide. +* `Aws\Redshift` - Feature 1 - On-demand cluster release version - When Amazon Redshift releases a new cluster version, you can choose to upgrade to that version immediately instead of waiting until your next maintenance window. You can also choose to roll back to a previous version. The two new APIs added for managing cluster release version are - ModifyClusterDbRevision, DescribeClusterDbRevisions. Feature 2 - Upgradeable reserved instance - You can now exchange one Reserved Instance for a new Reserved Instance with no changes to the terms of your existing Reserved Instance (term, payment type, or number of nodes). The two new APIs added for managing these upgrades are - AcceptReservedNodeExchange, GetReservedNodeExchangeOfferings. + +## 3.62.7 - 2018-07-02 + +* `Aws\SSM` - Execution History and StartAssociationOnce release for State Manager. Users now have the ability to view association execution history with DescribeAssociationExecutions and DescribeAssociationExecutionTargets. Users can also execute an association by calling StartAssociationOnce. + +## 3.62.6 - 2018-06-29 + +* `Aws\SecretsManager` - New SDK code snippet examples for the new APIs released for the Resource-based Policy support in Secrets Manager + +## 3.62.5 - 2018-06-28 + +* `Aws\ElasticBeanstalk` - Elastic Beanstalk adds "Suspended" health status to the EnvironmentHealthStatus enum type and updates document. +* `Aws\Lambda` - Support for SQS as an event source. +* `Aws\StorageGateway` - AWS Storage Gateway now enables you to use Server Message Block (SMB) protocol to store and access objects in Amazon Simple Storage Service (S3). + +## 3.62.4 - 2018-06-27 + +* `Aws\CloudFront` - Unpublish delete-service-linked-role API. +* `Aws\CodePipeline` - UpdatePipeline may now throw a LimitExceededException when adding or updating Source Actions that use periodic checks for change detection +* `Aws\Comprehend` - This release gives customers the option to batch process a set of documents stored within an S3 bucket in addition to the existing synchronous nature of the current Comprehend API. +* `Aws\SageMaker` - SageMaker has added support for the Asia Pacific (Seoul) region. +* `Aws\SecretsManager` - Documentation updates for secretsmanager + +## 3.62.3 - 2018-06-26 + +* `Aws\Inspector` - Introduce four new APIs to view and preview Exclusions. Exclusions show which intended security checks are excluded from an assessment, along with reasons and recommendations to fix. The APIs are CreateExclusionsPreview, GetExclusionsPreview, ListExclusions, and DescribeExclusions. +* `Aws\S3` - Add AllowQuotedRecordDelimiter to Amazon S3 Select API. Please refer to https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html for usage details. +* `Aws\SecretsManager` - This release adds support for resource-based policies that attach directly to your secrets. These policies provide an additional way to control who can access your secrets and what they can do with them. For more information, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-based-policies.html in the Secrets Manager User Guide. + +## 3.62.2 - 2018-06-22 + +* `Aws\AlexaForBusiness` - Introduce DeviceNotRegisteredException for AWSMoneypenny +* `Aws\AppStream` - This API update enables customers to find their VPC private IP address and ENI ID associated with AppStream streaming sessions. +* `Aws\Translate` - General availability release of Amazon Translate in the GovCloud West (us-gov-west-1) region. For more information, see the Amazon Translate developer guide. + +## 3.62.1 - 2018-06-21 + +* `Aws\CloudDirectory` - SDK release to support Flexible Schema initiative being carried out by Amazon Cloud Directory. This feature lets customers using new capabilities like: variant typed attributes, dynamic facets and AWS managed Cloud Directory schemas. + +## 3.62.0 - 2018-06-21 + +* `Aws\Macie` - Amazon Macie is a security service that uses machine learning to automatically discover, classify, and protect sensitive data in AWS. With this release, we are launching the following Macie HTTPS API operations: AssociateMemberAccount, AssociateS3Resources, DisassociateMemberAccount, DisassociateS3Resources, ListMemberAccounts, ListS3Resources, and UpdateS3Resources. With these API operations you can issue HTTPS requests directly to the service. +* `Aws\Neptune` - Deprecates the PubliclyAccessible parameter that is not supported by Amazon Neptune. +* `Aws\SSM` - Adds Amazon Linux 2 support to Patch Manager + +## 3.61.10 - 2018-06-20 + +* `Aws\ACMPCA` - CA Restore is a new feature within AWS Certificate Manager Private Certificate Authority (ACM PCA) that allows you to restore a private certificate authority that has been deleted. When you issue the DeleteCertificateAuthority call, you can now specify the number of days (7-30, with 30 being the default) in which the private certificate authority will remain in the DELETED state. During this time, the private certificate authority can be restored with the RestoreCertificateAuthority API call and then be returned to the PENDING_CERTIFICATE or DISABLED state, depending upon the state prior to deletion. Summary of API Changes: 1). Added RestoreCertificateAuthority API call; 2). Added optional PermanentDeletionTimeInDays parameter to DeleteCertificateAuthority API call. If this parameter is not specified, the DeleteCertificateAuthority API call will use a 30 day restore period as default. +* `Aws\MediaLive` - AWS Elemental MediaLive now makes Reserved Outputs and Inputs available through the AWS Management Console and API. You can reserve outputs and inputs with a 12 month commitment in exchange for discounted hourly rates. Pricing is available at https://aws.amazon.com/medialive/pricing/ +* `Aws\RDS` - This release adds a new parameter to specify the retention period for Performance Insights data for RDS instances. You can either choose 7 days (default) or 731 days. For more information, see Amazon RDS Documentation. + +## 3.61.9 - 2018-06-19 + +* `Aws\Aws\Api\Service` - Added a getter for the Service ID property. +* `Aws\Rekognition` - Documentation updates for rekognition + +## 3.61.8 - 2018-06-15 + +* `Aws\Aws\Signature` - Added the ability for signatures to be generated off of \DateTimeInterface objects that are not based on \DateTime. +* `Aws\MediaConvert` - This release adds language code support according to the ISO-639-3 standard. Custom 3-character language codes are now supported on input and output for both audio and captions. + +## 3.61.7 - 2018-06-14 + +* `Aws\APIGateway` - Support for PRIVATE endpoint configuration type +* `Aws\DynamoDB` - Added two new fields SSEType and KMSMasterKeyArn to SSEDescription block in describe-table output. +* `Aws\IoTAnalytics` - With this release, AWS IoT Analytics allows you to tag resources. Tags are metadata that you can create and use to manage your IoT Analytics resources. For more information about tagging, see AWS Tagging Strategies. For technical documentation, look for the tagging operations in the AWS IoT Analytics API reference or User Guide. + +## 3.61.6 - 2018-06-13 + +* `Aws\CloudHSMV2` - We are launching CloudHSMv2 in LHR (eu-west-2). +* `Aws\Inspector` - Releases Amazon Inspector, a security assessment service, to the AWS GovCloud (US) region. +* `Aws\SSM` - Added support for new parameter, CloudWatchOutputConfig, for SendCommand API. Users can now have RunCommand output sent to CloudWatchLogs. +* `Aws\ServiceCatalog` - Introduced new length limitations for few of the product fields. + +## 3.61.5 - 2018-06-12 + +* `Aws\DeviceFarm` - Adding VPCEndpoint support for Remote access. Allows customers to be able to access their private endpoints/services running in their VPC during remote access. +* `Aws\ECS` - Introduces daemon scheduling capability to deploy one task per instance on selected instances in a cluster. Adds a "force" flag to the DeleteService API to delete a service without requiring to scale down the number of tasks to zero. + +## 3.61.4 - 2018-06-11 + +* `Aws\CloudDirectory` - Amazon Cloud Directory now supports optional attributes on Typed Links, giving users the ability to associate and manage data on Typed Links. +* `Aws\RDS` - Changed lists of valid EngineVersion values to links to the RDS User Guide. +* `Aws\StorageGateway` - AWS Storage Gateway now enables you to create cached volumes and tapes with AWS KMS support. + +## 3.61.3 - 2018-06-08 + +* `Aws\MediaTailor` - Fixes a bug in the request URIs for MediaTailor PlaybackConfiguration operations. + +## 3.61.2 - 2018-06-07 + +* `Aws\MediaLive` - AWS Elemental MediaLive now makes channel log information available through Amazon CloudWatch Logs. You can set up each MediaLive channel with a logging level; when the channel is run, logs will automatically be published to your account on Amazon CloudWatch Logs + +## 3.61.1 - 2018-06-05 + +* `Aws\CostExplorer` - Cost Explorer API is providing programmatic access to RI saving metrics to enable customers to optimize their reservations. +* `Aws\Polly` - Amazon Polly adds new French voice - "Lea" +* `Aws\RDS` - This release adds customizable processor features for RDS instances. +* `Aws\SecretsManager` - Documentation updates for secretsmanager +* `Aws\Shield` - DDoS Response Team access management for AWS Shield + +## 3.61.0 - 2018-06-04 + +* `Aws\AppStream` - Amazon AppStream 2.0 adds support for Google Drive for G Suite. With this feature, customers will be able to connect their G Suite accounts with AppStream 2.0 and enable Google Drive access for an AppStream 2.0 stack. Users of the stack can then link their Google Drive using their G Suite login credentials and use their existing files stored in Drive with their AppStream 2.0 applications. File changes will be synced automatically to Google cloud. +* `Aws\EC2` - You are now able to use instance storage (up to 3600 GB of NVMe based SSD) on M5 instances, the next generation of EC2's General Purpose instances in us-east-1, us-west-2, us-east-2, eu-west-1 and ca-central-1. M5 instances offer up to 96 vCPUs, 384 GiB of DDR4 instance memory, 25 Gbps in Network bandwidth and improved EBS and Networking bandwidth on smaller instance sizes and provide a balance of compute, memory and network resources for many applications. +* `Aws\EKS` - Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a fully managed service that makes it easy to deploy, manage, and scale containerized applications using Kubernetes on AWS. Amazon EKS runs the Kubernetes control plane for you across multiple AWS availability zones to eliminate a single point of failure. Amazon EKS is certified Kubernetes conformant so you can use existing tooling and plugins from partners and the Kubernetes community. Applications running on any standard Kubernetes environment are fully compatible and can be easily migrated to Amazon EKS. +* `Aws\MediaConvert` - This release adds the support for Common Media Application Format (CMAF) fragmented outputs, RF64 WAV audio output format, and HEV1 or HEVC1 MP4 packaging types when using HEVC in DASH or CMAF outputs. +* `Aws\MigrationHub` - Documentation updates for AWS Migration Hub +* `Aws\SageMaker` - Amazon SageMaker has added the ability to run hyperparameter tuning jobs. A hyperparameter tuning job will create and evaluate multiple training jobs while tuning algorithm hyperparameters, to optimize a customer specified objective metric. + +## 3.60.0 - 2018-06-01 + +* `Aws\DirectoryService` - Added ResetUserPassword API. Customers can now reset their users' passwords without providing the old passwords in Simple AD and Microsoft AD. +* `Aws\IoT` - We are releasing force CancelJob and CancelJobExecution functionalities to customers. +* `Aws\MediaTailor` - AWS Elemental MediaTailor is a personalization and monetization service that allows scalable server-side ad insertion. The service enables you to serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. This SDK allows user access to the AWS Elemental MediaTailor configuration interface. +* `Aws\Redshift` - Documentation updates for redshift +* `Aws\SNS` - The SNS Subscribe API has been updated with two new optional parameters: Attributes and ReturnSubscriptionArn. Attributes is a map of subscription attributes which can be one or more of: FilterPolicy, DeliveryPolicy, and RawMessageDelivery. ReturnSubscriptionArn is a boolean parameter that overrides the default behavior of returning "pending confirmation" for subscriptions that require confirmation instead of returning the subscription ARN. +* `Aws\SageMaker` - SageMaker has added support for the Asia Pacific (Tokyo) region. + +## 3.59.0 - 2018-05-31 + +* `Aws\ElasticLoadBalancingv2` - This release of Elastic Load Balancing introduces user authentication on Application Load Balancer. +* `Aws\Neptune` - Amazon Neptune is a fast, reliable graph database service that makes it easy to build and run applications that work with highly connected datasets. Neptune supports popular graph models Property Graph and W3C's Resource Description Frame (RDF), and their respective query languages Apache TinkerPop Gremlin 3.3.2 and SPARQL 1.1. + +## 3.58.0 - 2018-05-29 + +* `Aws\PI` - Performance Insights is a feature of Amazon Relational Database Service (RDS) that helps you quickly assess the load on your database, and determine when and where to take action. You can use the SDK to retrieve Performance Insights data and integrate your monitoring solutions. + +## 3.57.1 - 2018-05-25 + +* `Aws\AppStream` - This API update enables customers to control whether users can transfer data between their local devices and their streaming applications through file uploads and downloads, clipboard operations, or printing to local devices +* `Aws\ConfigService` - AWS Config adds support for retention period, allowing you to specify a retention period for your AWS Config configuration items. +* `Aws\Glue` - AWS Glue now sends a delay notification to Amazon CloudWatch Events when an ETL job runs longer than the specified delay notification threshold. +* `Aws\IoT` - We are exposing DELETION_IN_PROGRESS as a new job status in regards to the release of DeleteJob API. + +## 3.57.0 - 2018-05-24 + +* `Aws\CodeBuild` - AWS CodeBuild Adds Support for Windows Builds. +* `Aws\Credentials\EcsCredentialProvider` - Disables proxies on EcsCredentialProvider credential lookups. +* `Aws\ElasticLoadBalancingv2` - Updated elasticloadbalancingV2 documentation with slow start mode details. The slow start mode can be used to gradually increase the number of requests forwarded by a load balancer to a newly added target in a target group. It provides a new target an opportunity to warm up before it can handle its fair share of requests received from the load balancer. Slow start mode is disabled by default and can be enabled on a per target group basis. +* `Aws\RDS` - This release adds CloudWatch Logs integration capabilities to RDS Aurora MySQL clusters +* `Aws\SecretsManager` - Documentation updates for secretsmanager +* `Aws\Test\S3` - Adds compliance tests for S3 addressing. + +## 3.56.6 - 2018-05-22 + +* `Aws\ECS` - Amazon Elastic Container Service (ECS) adds service discovery for services that use host or bridged network mode. ECS can now also register instance IPs for active tasks using bridged and host networking with Route 53, making them available via DNS. +* `Aws\Inspector` - We are launching the ability to target all EC2 instances. With this launch, resourceGroupArn is now optional for CreateAssessmentTarget and UpdateAssessmentTarget. If resourceGroupArn is not specified, all EC2 instances in the account in the AWS region are included in the assessment target. + +## 3.56.5 - 2018-05-21 + +* `Aws\CloudFormation` - 1) Filtered Update for StackSet based on Accounts and Regions: This feature will allow flexibility for the customers to roll out updates on a StackSet based on specific Accounts and Regions. 2) Support for customized ExecutionRoleName: This feature will allow customers to attach ExecutionRoleName to the StackSet thus ensuring more security and controlling the behavior of any AWS resources in the target accounts. + +## 3.56.4 - 2018-05-18 + +* `Aws\IoT` - We are releasing DeleteJob and DeleteJobExecution APIs to allow customer to delete resources created using AWS IoT Jobs. +* `Aws\SES` - Fixed a broken link in the documentation for S3Action. + +## 3.56.3 - 2018-05-17 + +* `Aws\CodeDeploy` - Documentation updates for codedeploy +* `Aws\CognitoIdentityProvider` - Amazon Cognito User Pools now supports federation for users to sign up and sign in with any identity provider following the OpenID Connect standard. Amazon Cognito User Pools now returns the User Pool's Amazon Resource Name (ARN) from the CreateUserPool, UpdateUserPool, and DescribeUserPool APIs. +* `Aws\EC2` - You are now able to use instance storage (up to 1800 GB of NVMe based SSD) on C5 instances, the next generation of EC2's compute optimized instances in us-east-1, us-west-2, us-east-2, eu-west-1 and ca-central-1. C5 instances offer up to 72 vCPUs, 144 GiB of DDR4 instance memory, 25 Gbps in Network bandwidth and improved EBS and Networking bandwidth on smaller instance sizes to deliver improved performance for compute-intensive workloads.You can now run bare metal workloads on EC2 with i3.metal instances. As a new instance size belonging to the I3 instance family, i3.metal instances have the same characteristics as other instances in the family, including NVMe SSD-backed instance storage optimized for low latency, very high random I/O performance, and high sequential read throughput. I3.metal instances are powered by 2.3 GHz Intel Xeon processors, offering 36 hyper-threaded cores (72 logical processors), 512 GiB of memory, and 15.2 TB of NVMe SSD-backed instance storage. These instances deliver high networking throughput and lower latency with up to 25 Gbps of aggregate network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking. + +## 3.56.2 - 2018-05-16 + +* `Aws\SecretsManager` - Documentation updates for secretsmanager +* `Aws\ServiceCatalog` - Users can now pass a new option to ListAcceptedPortfolioShares called portfolio-share-type with a value of AWS_SERVICECATALOG in order to access Getting Started Portfolios that contain selected products representing common customer use cases. + +## 3.56.1 - 2018-05-15 + +* `Aws\ConfigService` - Update ResourceType enum with values for XRay resource + +## 3.56.0 - 2018-05-14 + +* `Aws\CodeBuild` - Adding support for more override fields for StartBuild API, add support for idempotency token field for StartBuild API in AWS CodeBuild. +* `Aws\IoT1ClickDevicesService` - AWS IoT 1-Click makes it easy for customers to incorporate simple ready-to-use IoT devices into their workflows. These devices can trigger AWS Lambda functions that implement business logic. In order to build applications using AWS IoT 1-Click devices, programmers can use the AWS IoT 1-Click Devices API and the AWS IoT 1-Click Projects API. Learn more at https://aws.amazon.com/documentation/iot-1-click/ +* `Aws\IoT1ClickProjects` - AWS IoT 1-Click makes it easy for customers to incorporate simple ready-to-use IoT devices into their workflows. These devices can trigger AWS Lambda functions that implement business logic. In order to build applications using AWS IoT 1-Click devices, programmers can use the AWS IoT 1-Click Devices API and the AWS IoT 1-Click Projects API. Learn more at https://aws.amazon.com/documentation/iot-1-click/. +* `Aws\Organizations` - Documentation updates for organizations + +## 3.55.12 - 2018-05-10 + +* `Aws\Firehose` - With this release, Amazon Kinesis Data Firehose can convert the format of your input data from JSON to Apache Parquet or Apache ORC before storing the data in Amazon S3. Parquet and ORC are columnar data formats that save space and enable faster queries compared to row-oriented formats like JSON. + +## 3.55.11 - 2018-05-10 + +* `Aws\GameLift` - AutoScaling Target Tracking scaling simplification along with StartFleetActions and StopFleetActions APIs to suspend and resume automatic scaling at will. + +## 3.55.10 - 2018-05-10 + +* `Aws\Budgets` - Updating the regex for the NumericValue fields. +* `Aws\EC2` - Enable support for latest flag with Get Console Output +* `Aws\IotDataPlane` - With this release, we're adding support for ap-south-1 AWS region. +* `Aws\RDS` - Changes to support the Aurora MySQL Backtrack feature. + +## 3.55.9 - 2018-05-08 + +* `Aws\EC2` - Enable support for specifying CPU options during instance launch. +* `Aws\Lightsail` - Lightsail is now available in regions eu-west-3, ap-northeast-2 and ca-central-1. +* `Aws\RDS` - Correction to the documentation about copying unencrypted snapshots. + +## 3.55.8 - 2018-05-07 + +* `Aws\AlexaForBusiness` - This release adds the new Device status "DEREGISTERED". This release also adds DEVICE_STATUS as the new DeviceEventType. +* `Aws\Budgets` - "With this release, customers can use AWS Budgets to monitor how much of their Amazon EC2, Amazon RDS, Amazon Redshift, and Amazon ElastiCache instance usage is covered by reservations, and receive alerts when their coverage falls below the threshold they define." +* `Aws\ElasticsearchService` - This change brings support for Reserved Instances to AWS Elasticsearch. +* `Aws\S3` - Added BytesReturned details for Progress and Stats Events for Amazon S3 Select . + +## 3.55.7 - 2018-05-04 + +* `Aws\GuardDuty` - Amazon GuardDuty is adding five new API operations for creating and managing filters. For each filter, you can specify a criteria and an action. The action you specify is applied to findings that match the specified criteria. + +## 3.55.6 - 2018-05-03 + +* `Aws\AppSync` - This release adds support for authorizing your AWS AppSync endpoint with an OpenID Connect compliant service and also to configure your AWS AppSync endpoint to log requests to Amazon CloudWatch Logs. +* `Aws\ConfigService` - Update ResourceType enum with values for Lambda, ElasticBeanstalk, WAF and ElasticLoadBalancing resources +* `Aws\SecretsManager` - Documentation updates for secretsmanager +* `Aws\Test\Build\Changelog` - Add tests to validate location, naming, and JSON compilability of ChangelogDocuments. +* `Aws\WorkSpaces` - Amazon WorkSpaces is now available in ca-central-1 + +## 3.55.5 - 2018-05-02 + +* `Aws\ACM` - Documentation updates for acm +* `Aws\CodePipeline` - Added support for webhooks with accompanying definitions as needed in the AWS CodePipeline API Guide. +* `Aws\EC2` - Amazon EC2 Fleet is a new feature that simplifies the provisioning of Amazon EC2 capacity across different EC2 instance types, Availability Zones, and the On-Demand, Reserved Instance, and Spot Instance purchase models. With a single API call, you can now provision capacity to achieve desired scale, performance, and cost. +* `Aws\SSM` - Added support for new parameter, DocumentVersion, for SendCommand API. Users can now specify version of SSM document to be executed on the target(s). +* `Aws\Test\Integ` - Adds the ability for Integ/Smoke tests to check status codes. Updates ECS Handling errors to use a status code check. + +## 3.55.4 - 2018-04-30 + +* `Aws\AlexaForBusiness` - Adds ListDeviceEvents API to get a paginated list of device events (such as ConnectionStatus). This release also adds ConnectionStatus field to GetDevice and SearchDevices API. +* `Aws\DynamoDB` - Adds two new APIs UpdateGlobalTableSettings and DescribeGlobalTableSettings. This update introduces new constraints in the CreateGlobalTable and UpdateGlobalTable APIs . Tables must have the same write capacity units. If Global Secondary Indexes exist then they must have the same write capacity units and key schema. +* `Aws\GuardDuty` - You can disable the email notification when inviting GuardDuty members using the disableEmailNotification parameter in the InviteMembers operation. +* `Aws\Route53Domains` - This release adds a SubmittedSince attribute to the ListOperations API, so you can list operations that were submitted after a specified date and time. +* `Aws\SageMaker` - SageMaker has added support for VPC configuration for both Endpoints and Training Jobs. This allows you to connect from the instances running the Endpoint or Training Job to your VPC and any resources reachable in the VPC rather than being restricted to resources that were internet accessible. +* `Aws\WorkSpaces` - Added new IP Access Control APIs, an API to change the state of a Workspace, and the ADMIN_MAINTENANCE WorkSpace state. With the new IP Access Control APIs, you can now create/delete IP Access Control Groups, add/delete/update rules for IP Access Control Groups, Associate/Disassociate IP Access Control Groups to/from a WorkSpaces Directory, and Describe IP Based Access Control Groups. + +## 3.55.3 - 2018-04-26 + +* `Aws\CodeCommit` - AWS CodeCommit is now available in an additional region, EU (Paris). +* `Aws\Glacier` - Documentation updates for Glacier to fix a broken link +* `Aws\SecretsManager` - Documentation updates for secretsmanager + +## 3.55.2 - 2018-04-25 + +* `Aws\CodeDeploy` - AWS CodeDeploy has a new exception that indicates when a GitHub token is not valid. +* `Aws\Rekognition` - Documentation updates for Amazon Rekognition. +* `Aws\XRay` - Added PutEncryptionConfig and GetEncryptionConfig APIs for managing data encryption settings. Use PutEncryptionConfig to configure X-Ray to use an AWS Key Management Service customer master key to encrypt trace data at rest. + +## 3.55.1 - 2018-04-24 + +* `Aws\` - Fixes docblock @param tags to reference Result class with a consistent case +* `Aws\ElasticBeanstalk` - Support tracking Elastic Beanstalk resources in AWS Config. +* `Aws\SecretsManager` - Documentation updates for secretsmanager + +## 3.55.0 - 2018-04-23 + +* `Aws\AutoScalingPlans` - The release adds the operation UpdateScalingPlan for updating a scaling plan and the support for tag filters as an application source. +* `Aws\IoT` - Add IotAnalyticsAction which sends message data to an AWS IoT Analytics channel +* `Aws\IoTAnalytics` - Introducing AWS IoT Analytics SDK. AWS IoT Analytics provides advanced data analysis for AWS IoT. It allows you to collect large amounts of device data, process messages, store them, and then query the data and run sophisticated analytics to make accurate decisions in your IoT applications and machine learning use cases. AWS IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight. + +## 3.54.6 - 2018-04-20 + +* `Aws\Firehose` - With this release, Amazon Kinesis Data Firehose allows you to tag your delivery streams. Tags are metadata that you can create and use to manage your delivery streams. For more information about tagging, see AWS Tagging Strategies. For technical documentation, look for the tagging operations in the Amazon Kinesis Firehose API reference. +* `Aws\MediaLive` - With AWS Elemental MediaLive you can now output live channels as RTMP (Real-Time Messaging Protocol) and RTMPS as the encrypted version of the protocol (Secure, over SSL/TLS). RTMP is the preferred protocol for sending live streams to popular social platforms which means you can send live channel content to social and sharing platforms in a secure and reliable way while continuing to stream to your own website, app or network. + +## 3.54.5 - 2018-04-19 + +* `Aws\CloudHSMV2` - The new CloudHSM is now available in the AWS GovCloud (US). +* `Aws\CodePipeline` - Added new SourceRevision structure to Execution Summary with accompanying definitions as needed in the AWS CodePipeline API Guide. +* `Aws\CostExplorer` - Starting today, you can identify opportunities for Amazon RDS cost savings using AWS Cost Explorer's API to access your Amazon RDS Reserved Instance Purchase Recommendations +* `Aws\DeviceFarm` - Adding support for VPCEndpoint feature. Allows customers to be able to access their private endpoints/services running in their VPC during test automation. +* `Aws\EC2` - Added support for customers to see the time at which a Dedicated Host was allocated or released. +* `Aws\RDS` - The ModifyDBCluster operation now includes an EngineVersion parameter. You can use this to upgrade the engine for a clustered database. +* `Aws\SSM` - Added new APIs DeleteInventory and DescribeInventoryDeletions, for customers to delete their custom inventory data. +* `Aws\SecretsManager` - Documentation updates + +## 3.54.4 - 2018-04-10 + +* `Aws\DatabaseMigrationService` - Native Change Data Capture start point and task recovery support in Database Migration Service. +* `Aws\Glue` - "AWS Glue now supports timeout values for ETL jobs. With this release, all new ETL jobs have a default timeout value of 48 hours. AWS Glue also now supports the ability to start a schedule or job events trigger when it is created." +* `Aws\MediaPackage` - Adds a new OriginEndpoint package type CmafPackage in MediaPackage. Origin endpoints can now be configured to use the Common Media Application Format (CMAF) media streaming format. This version of CmafPackage only supports HTTP Live Streaming (HLS) manifests with fragmented MP4. +* `Aws\SSM` - Added TooManyUpdates exception for AddTagsToResource and RemoveTagsFromResource API +* `Aws\WorkMail` - Amazon WorkMail adds the ability to grant users and groups with "Full Access", "Send As" and "Send on Behalf" permissions on a given mailbox. + +## 3.54.3 - 2018-04-09 + +* `Aws\CloudDirectory` - Cloud Directory customers can fetch attributes within a facet on an object with the new GetObjectAttributes API and can fetch attributes from multiple facets or objects with the BatchGetObjectAttributes operation. + +## 3.54.2 - 2018-04-06 + +* `Aws\Batch` - Support for Timeout in SubmitJob and RegisterJobDefinition + +## 3.54.1 - 2018-04-05 + +* `Aws\SSM` - Documentation updates for ec2 + +## 3.54.0 - 2018-04-04 + +* `Aws\ACM` - AWS Certificate Manager has added support for AWS Certificate Manager Private Certificate Authority (CA). Customers can now request private certificates with the RequestCertificate API, and also export private certificates with the ExportCertificate API. +* `Aws\ACMPCA` - AWS Certificate Manager (ACM) Private Certificate Authority (CA) is a managed private CA service that helps you easily and securely manage the lifecycle of your private certificates. ACM Private CA provides you a highly-available private CA service without the upfront investment and ongoing maintenance costs of operating your own private CA. ACM Private CA extends ACM's certificate management capabilities to private certificates, enabling you to manage public and private certificates centrally. +* `Aws\CloudWatch` - The new GetMetricData API enables you to collect batch amounts of metric data and optionally perform math expressions on the data. With one GetMetricData call you can retrieve as many as 100 different metrics and a total of 100,800 data points. +* `Aws\ConfigService` - AWS Config introduces multi-account multi-region data aggregation features. Customers can create an aggregator (a new resource type) in AWS Config that collects AWS Config data from multiple source accounts and regions into an aggregator account. Customers can aggregate data from individual account(s) or an organization and multiple regions. In this release, AWS Config adds several API's for multi-account multi-region data aggregation. +* `Aws\FMS` - This release is the initial release version for AWS Firewall Manager, a new AWS service that makes it easy for customers to centrally configure WAF rules across all their resources (ALBs and CloudFront distributions) and across accounts. +* `Aws\S3` - ONEZONE_IA storage class stores object data in only one Availability Zone at a lower price than STANDARD_IA. This SDK release provides API support for this new storage class. +* `Aws\SageMaker` - SageMaker is now supporting many additional instance types in previously supported families for Notebooks, Training Jobs, and Endpoints. Training Jobs and Endpoints now support instances in the m5 family in addition to the previously supported instance families. For specific instance types supported please see the documentation for the SageMaker API. +* `Aws\SecretsManager` - AWS Secrets Manager enables you to easily create and manage the secrets that you use in your customer-facing apps. Instead of embedding credentials into your source code, you can dynamically query Secrets Manager from your app whenever you need credentials. You can automatically and frequently rotate your secrets without having to deploy updates to your apps. All secret values are encrypted when they're at rest with AWS KMS, and while they're in transit with HTTPS and TLS. +* `Aws\TranscribeService` - Amazon Transcribe is an automatic speech recognition (ASR) service that makes it easy for developers to add speech to text capability to their applications. + +## 3.53.2 - 2018-04-03 + +* `Aws\DeviceFarm` - Added Private Device Management feature. Customers can now manage their private devices efficiently - view their status, set labels and apply profiles on them. Customers can also schedule automated tests and remote access sessions on individual instances in their private device fleet. +* `Aws\Lambda` - added nodejs8.10 as a valid runtime +* `Aws\Translate` - This release increases the maximum size of input text to 5,000 bytes. Amazon Translate now supports automatic language detection of the input text. The translation models have been improved to increase accuracy. See the documentation for more information. + +## 3.53.1 - 2018-04-02 + +* `Aws\APIGateway` - Amazon API Gateway now supports resource policies for APIs making it easier to set access controls for invoking APIs. +* `Aws\CloudFront` - You can now use a new Amazon CloudFront capability called Field-Level Encryption to further enhance the security of sensitive data, such as credit card numbers or personally identifiable information (PII) like social security numbers. CloudFront's field-level encryption further encrypts sensitive data in an HTTPS form using field-specific encryption keys (which you supply) before a POST request is forwarded to your origin. This ensures that sensitive data can only be decrypted and viewed by certain components or services in your application stack. Field-level encryption is easy to setup. Simply configure the fields that have to be further encrypted by CloudFront using the public keys you specify and you can reduce attack surface for your sensitive data. +* `Aws\ElasticsearchService` - This adds Amazon Cognito authentication support to Kibana. + +## 3.53.0 - 2018-03-30 + +* `Aws\ACM` - Documentation updates for acm +* `Aws\CodeBuild` - Adding FIPS endpoint for CodeBuild service +* `Aws\Connect` - Amazon Connect is a contact center as a service (CCaS) solution that offers easy, self-service configuration and enables dynamic, personal, and natural customer engagement at any scale. With this release of the Amazon Connect SDK, Outbound APIs (StartOutboundVoiceContact, StopContact) are now generally available. This release supports CTR generation for calls generated through the new APIs. Additionally IAM permissions are supported for the new APIs. + +## 3.52.36 - 2018-03-29 + +* `Aws\AlexaForBusiness` - Adds operations for creating and managing address books of phone contacts for use in A4B managed shared devices. +* `Aws\CloudFormation` - Enabling resource level permission control for StackSets APIs. Adding support for customers to use customized AdministrationRole to create security boundaries between different users. +* `Aws\Greengrass` - Greengrass APIs now support creating Machine Learning resource types and configuring binary data as the input payload for Greengrass Lambda functions. +* `Aws\SSM` - This Patch Manager release supports creating patch baselines for CentOS. + +## 3.52.35 - 2018-03-28 + +* `Aws\GuardDuty` - Amazon GuardDuty API operations are now supported in the EU (Paris) region. +* `Aws\IAM` - Add support for Longer Role Sessions. Four APIs manage max session duration: GetRole, ListRoles, CreateRole, and the new API UpdateRole. The max session duration integer attribute is measured in seconds. +* `Aws\MTurk` - Added a new attribute "ActionsGuarded" to QualificationRequirement: This update allows MTurk Requester customers using the AWS SDK to control which Workers can see and preview their HITs. We now support hiding HITs from unqualified Workers' search results. +* `Aws\STS` - Change utilizes the Max Session Duration attribute introduced for IAM Roles and allows STS customers to request session duration up to the Max Session Duration of 12 hours from AssumeRole based APIs. +* `Aws\WorkSpaces` - Amazon Workspaces is now available in ap-northeast-2 + +## 3.52.34 - 2018-03-27 + +* `Aws\ACM` - AWS Certificate Manager has added support for customers to disable Certificate Transparency logging on a per-certificate basis. + +## 3.52.33 - 2018-03-26 + +* `Aws\DynamoDB` - Point-in-time recovery (PITR) provides continuous backups of your DynamoDB table data. With PITR, you do not have to worry about creating, maintaining, or scheduling backups. You enable PITR on your table and your backup is available for restore at any point in time from the moment you enable it, up to a maximum of the 35 preceding days. PITR provides continuous backups until you explicitly disable it. For more information, see the Amazon DynamoDB Developer Guide. + +## 3.52.32 - 2018-03-23 + +* `Aws\RDS` - Documentation updates for RDS + +## 3.52.31 - 2018-03-22 + +* `Aws\AppStream` - Feedback URL allows admins to provide a feedback link or a survey link for collecting user feedback while streaming sessions. When a feedback link is provided, streaming users will see a "Send Feedback" choice in their streaming session toolbar. On selecting this choice, user will be redirected to the link provided in a new browser tab. If a feedback link is not provided, users will not see the "Send Feedback" option. +* `Aws\CodeBuild` - Adding support for branch filtering when using webhooks with AWS CodeBuild. +* `Aws\ECS` - Amazon Elastic Container Service (ECS) now includes integrated Service Discovery using Route 53 Auto Naming. Customers can now specify a Route 53 Auto Naming service as part of an ECS service. ECS will register task IPs with Route 53, making them available via DNS in your VPC. + +## 3.52.30 - 2018-03-21 + +* `Aws\MediaPackage` - Elemental MediaPackage is now available in the ICN and GRU regions. +* `Aws\ServerlessApplicationRepository` - Documentation updates for Serverless Application Respository + +## 3.52.29 - 2018-03-20 + +* `Aws\CloudWatchEvents` - Added SQS FIFO queue target support +* `Aws\ConfigService` - AWS Config adds support for BatchGetResourceConfig API, allowing you to batch-retrieve the current state of one or more of your resources. +* `Aws\CostExplorer` - This launch will allow customers to access their Amazon EC2 Reserved Instance (RI) purchase recommendations programmatically via the AWS Cost Explorer API. +* `Aws\ECS` - Amazon ECS users can now mount a temporary volume in memory in containers and specify the shared memory that a container can use through the use of docker's 'tmpfs' and 'shm-size' features respectively. These fields can be specified under linuxParameters in ContainerDefinition in the Task Definition Template. +* `Aws\ElasticBeanstalk` - Documentation updates for the new Elastic Beanstalk API DescribeAccountAttributes. +* `Aws\Glue` - API Updates for DevEndpoint: PublicKey is now optional for CreateDevEndpoint. The new DevEndpoint field PrivateAddress will be populated for DevEndpoints associated with a VPC. +* `Aws\MediaLive` - AWS Elemental MediaLive has added support for updating Inputs and Input Security Groups. You can update Input Security Groups at any time and it will update all channels using that Input Security Group. Inputs can be updated as long as they are not attached to a currently running channel. + +## 3.52.28 - 2018-03-16 + +* `Aws\ElasticBeanstalk` - AWS Elastic Beanstalk is launching a new public API named DescribeAccountAttributes which allows customers to access account level attributes. In this release, the API will support quotas for resources such as applications, application versions, and environments. + +## 3.52.27 - 2018-03-15 + +* `Aws\Organizations` - This release adds additional reason codes to improve clarity to exceptions that can occur. +* `Aws\Pinpoint` - With this release, you can delete endpoints from your Amazon Pinpoint projects. Customers can now specify one of their leased dedicated long or short codes to send text messages. +* `Aws\SageMaker` - This release provides support for ml.p3.xlarge instance types for notebook instances. Lifecycle configuration is now available to customize your notebook instances on start; the configuration can be reused between multiple notebooks. If a notebook instance is attached to a VPC you can now opt out of internet access that by default is provided by SageMaker. + +## 3.52.26 - 2018-03-14 + +* `Aws\Lightsail` - Updates to existing Lightsail documentation + +## 3.52.25 - 2018-03-13 + +* `Aws\ServiceDiscovery` - This release adds support for custom health checks, which let you check the health of resources that aren't accessible over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. + +## 3.52.24 - 2018-03-12 + +* `Aws\ApplicationDiscoveryService` - Documentation updates for discovery +* `Aws\CloudHSMV2` - CreateCluster can now take both 8 and 17 character Subnet IDs. DeleteHsm can now take both 8 and 17 character ENI IDs. +* `Aws\IoT` - We added new fields to the response of the following APIs. (1) describe-certificate: added new generationId, customerVersion fields (2) describe-ca-certificate: added new generationId, customerVersion and lastModifiedDate fields (3) get-policy: added generationId, creationDate and lastModifiedDate fields +* `Aws\Redshift` - DescribeClusterSnapshotsMessage with ClusterExists flag returns snapshots of existing clusters. Else both existing and deleted cluster snapshots are returned + +## 3.52.23 - 2018-03-08 + +* `Aws\ECS` - Amazon Elastic Container Service (ECS) now supports container health checks. Customers can now specify a docker container health check command and parameters in their task definition. ECS will monitor, report and take scheduling action based on the health status. +* `Aws\MigrationHub` - Unused key LABEL removed from ResourceAttrbute +* `Aws\Pinpoint` - With this release, you can export endpoints from your Amazon Pinpoint projects. You can export a) all of the endpoints assigned to a project or b) the subset of endpoints assigned to a segment. +* `Aws\RDS` - Documentation updates for RDS + +## 3.52.22 - 2018-03-07 + +* `Aws\MediaLive` - Updates API to model required traits and minimum/maximum constraints. +* `Aws\S3/S3SignatureV4` - Fixes an issue that would strip a preceding slash from a key during the signing process on virtual host style pathing, resulting in an invalid signature. + +## 3.52.21 - 2018-03-06 + +* `Aws\ECS` - Documentation updates for Amazon ECS +* `Aws\RetryMiddleware` - Fixes an undefined index issue. +* `Aws\RetryMiddleware` - Retries CURLE_RECV_ERROR on all RequestException, not just ConnectException. + +## 3.52.20 - 2018-03-01 + +* `Aws\CloudWatchEvents` - Added BatchParameters to the PutTargets API +* `Aws\EC2` - Added support for modifying Placement Group association of instances via ModifyInstancePlacement API. +* `Aws\SSM` - This Inventory release supports the status message details reported by the last sync for the resource data sync API. +* `Aws\ServiceCatalog` - This release of ServiceCatalog adds the DeleteTagOption API. +* `Aws\StorageGateway` - AWS Storage Gateway (File) support for two new file share attributes are added. 1. Users can specify the S3 Canned ACL to use for new objects created in the file share. 2. Users can create file shares for requester-pays buckets. + +## 3.52.19 - 2018-02-28 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling now supports automatic scaling of SageMaker Production Variants on an Endpoint. +* `Aws\CloudFront` - Updates the `Signer` to force expire timestamps to match CloudFront required unquoted integers. + +## 3.52.18 - 2018-02-27 + +* `Aws\ECR` - Documentation updates for Amazon ECR. + +## 3.52.17 - 2018-02-26 + +* `Aws\Route53` - Added support for creating LBR rules using ap-northeast-3 region. +* `Aws\STS` - Increased SAMLAssertion parameter size from 50000 to 100000 for AWS Security Token Service AssumeRoleWithSAML API to allow customers to pass bigger SAML assertions + +## 3.52.16 - 2018-02-23 + +* `Aws\AppStream` - This API update is to enable customers to copy their Amazon AppStream 2.0 images within and between AWS Regions + +## 3.52.15 - 2018-02-22 + +* `Aws\CostExplorer` - Added GetReservationCoverage API for retrieving reservation coverage information. +* `Aws\ElasticLoadBalancingv2` - Added a new load balancer attribute related to Network Load Balancers that enables cross zone capabilities. This feature allows Network Load Balancers to distribute requests regardless of Availability Zone. + +## 3.52.14 - 2018-02-21 + +* `Aws\CodeCommit` - This release adds an API for adding a file directly to an AWS CodeCommit repository without requiring a Git client. +* `Aws\EC2` - Adds support for tagging an EBS snapshot as part of the API call that creates the EBS snapshot +* `Aws\MediaPackage` - Mediapackage expands their service to FRA and CDG regions. +* `Aws\ServerlessApplicationRepository` - Added support for delete-application API and the ability for developers to set a homepage for their application. The homepage is a URL with more information about the application, for example the location of your GitHub repository for the application. + +## 3.52.13 - 2018-02-20 + +* `Aws\AutoScaling` - Amazon EC2 Auto Scaling support for service-linked roles +* `Aws\WAF` - The new PermissionPolicy APIs in AWS WAF Regional allow customers to attach resource-based policies to their entities. +* `Aws\WAFRegional` - The new PermissionPolicy APIs in AWS WAF Regional allow customers to attach resource-based policies to their entities. + +## 3.52.12 - 2018-02-19 + +* `Aws\ConfigService` - With this release, AWS Config updated the ConfigurationItemStatus enum values. The values prior to this update did not represent appropriate values returned by GetResourceConfigHistory. You must update your code to enumerate the new enum values so this is a breaking change. To map old properties to new properties, use the following descriptions: New discovered resource - Old property: Discovered, New property: ResourceDiscovered. Updated resource - Old property: Ok, New property: OK. Deleted resource - Old property: Deleted, New property: ResourceDeleted or ResourceDeletedNotRecorded. Not-recorded resource - Old property: N/A, New property: ResourceNotRecorded or ResourceDeletedNotRecorded. + +## 3.52.11 - 2018-02-16 + +* `Aws\RDS` - Updates RDS API to indicate whether a DBEngine supports read replicas. + +## 3.52.10 - 2018-02-15 + +* `Aws\CodeStar` - Launch AWS CodeStar in the Asia Pacific Northeast 2 (ICN) region. +* `Aws\GameLift` - Updates to allow Fleets to run on On-Demand or Spot instances. +* `Aws\MediaConvert` - Nielsen ID3 tags can now be inserted into transport stream (TS) and HLS outputs. For more information on Nielsen configuration you can go to https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-nielsenconfiguration + +## 3.52.9 - 2018-02-14 + +* `Aws\AppSync` - AWS AppSync now supports for None Data Source, CreateApiKey now supports setting expiration on API keys, new API UpdateApiKey supports updating expiration on API keys. +* `Aws\LexModelBuildingService` - Amazon Lex now provides the ability to export and import your Amazon Lex chatbot definition as a JSON file. + +## 3.52.8 - 2018-02-13 + +* `Aws\Glacier` - Documentation updates for glacier +* `Aws\Route53` - Added support for creating Private Hosted Zones and metric-based healthchecks in the ap-northeast-3 region for whitelisted customers. + +## 3.52.7 - 2018-02-12 + +* `Aws\CognitoIdentityProvider` - Support for user migration using AWS Lambda trigger. Support to obtain signing certificate for user pools. +* `Aws\EC2` - Network interfaces now supply the following additional status of "associated" to better distinguish the current status. +* `Aws\GuardDuty` - Added PortProbeAction information to the Action section of the port probe-type finding. +* `Aws\KMS` - This release of AWS Key Management Service includes support for InvalidArnException in the RetireGrant API. +* `Aws\RDS` - Aurora MySQL now supports MySQL 5.7. + +## 3.52.6 - 2018-02-09 + +* `Aws\EC2` - Users can now better understand the longer ID opt-in status of their account using the two new APIs DescribeAggregateIdFormat and DescribePrincipalIdFormat +* `Aws\LexModelBuildingService` - You can now define a response for your Amazon Lex chatbot directly from the AWS console. A response consists of messages dynamically selected from a group of pre-defined messages, populated by the developer. +* `Aws\LexRuntimeService` - You can now define a response for your Amazon Lex chatbot directly from the AWS console. A response consists of messages dynamically selected from a group of pre-defined messages, populated by the developer. + +## 3.52.5 - 2018-02-08 + +* `Aws\AppStream` - Adds support for allowing customers to provide a redirect URL for a stack. Users will be redirected to the link provided by the admin at the end of their streaming session. +* `Aws\Budgets` - Making budgetLimit and timePeriod optional, and updating budgets docs. +* `Aws\DatabaseMigrationService` - This release includes the addition of two new APIs: describe replication instance task logs and reboot instance. The first allows user to see how much storage each log for a task on a given instance is occupying. The second gives users the option to reboot the application software on the instance and force a fail over for MAZ instances to test robustness of their integration with our service. +* `Aws\DirectoryService` - Updated the regex of some input parameters to support longer EC2 identifiers. +* `Aws\DynamoDB` - Amazon DynamoDB now supports server-side encryption using a default service key (alias/aws/dynamodb) from the AWS Key Management Service (KMS). AWS KMS is a service that combines secure, highly available hardware and software to provide a key management system scaled for the cloud. AWS KMS is used via the AWS Management Console or APIs to centrally create encryption keys, define the policies that control how keys can be used, and audit key usage to prove they are being used correctly. For more information, see the Amazon DynamoDB Developer Guide. +* `Aws\GameLift` - Amazon GameLift FlexMatch added the StartMatchBackfill API. This API allows developers to add new players to an existing game session using the same matchmaking rules and player data that were used to initially create the session. +* `Aws\Inspector` - We marked Inspector GA yesterday. 2/.5/18. +* `Aws\MediaLive` - AWS Elemental MediaLive has added support for updating channel settings for idle channels. You can now update channel name, channel outputs and output destinations, encoder settings, user role ARN, and input specifications. Channel settings can be updated in the console or with API calls. Please note that running channels need to be stopped before they can be updated. We've also deprecated the 'Reserved' field. +* `Aws\MediaStore` - AWS Elemental MediaStore now supports per-container CORS configuration. + +## 3.52.4 - 2018-02-06 + +* `Aws\Glue` - This new feature will now allow customers to add a customized json classifier. They can specify a json path to indicate the object, array or field of the json documents they'd like crawlers to inspect when they crawl json files. +* `Aws\SSM` - This Patch Manager release supports configuring Linux repos as part of patch baselines, controlling updates of non-OS security packages and also creating patch baselines for SUSE12 +* `Aws\ServiceCatalog` - This release of Service Catalog adds SearchProvisionedProducts API and ProvisionedProductPlan APIs. +* `Aws\ServiceDiscovery` - This release adds support for registering CNAME record types and creating Route 53 alias records that route traffic to Amazon Elastic Load Balancers using Amazon Route 53 Auto Naming APIs. + +## 3.52.3 - 2018-02-05 + +* `Aws\ACM` - Documentation updates for acm +* `Aws\Cloud9` - API usage examples for AWS Cloud9. +* `Aws\Kinesis` - Using ListShards a Kinesis Data Streams customer or client can get information about shards in a data stream (including meta-data for each shard) without obtaining data stream level information. +* `Aws\OpsWorks` - AWS OpsWorks Stacks supports EBS encryption and HDD volume types. Also, a new DescribeOperatingSystems API is available, which lists all operating systems supported by OpsWorks Stacks. + +## 3.52.2 - 2018-01-26 + +* `Aws\DeviceFarm` - Add InteractionMode in CreateRemoteAccessSession for DirectDeviceAccess feature. +* `Aws\MTurk` - Documentation updates for mturk-requester +* `Aws\MediaLive` - Add InputSpecification to CreateChannel (specification of input attributes is used for channel sizing and affects pricing); add NotFoundException to DeleteInputSecurityGroups. + +## 3.52.1 - 2018-01-25 + +* `Aws\AlexaForBusiness` - Supports new field for DeviceStatusInfo which provides details about the DeviceStatus following a DeviceSync operation. +* `Aws\Appstream` - This API update is to support Amazon AppStream 2.0's launch into the Asia Pacific (Singapore) and Asia Pacific (Sydney) regions. +* `Aws\CloudHsm` - Added service signing name. +* `Aws\CodeBuild` - Adding support for Shallow Clone and GitHub Enterprise in AWS CodeBuild. +* `Aws\GuardDuty` - Added the missing AccessKeyDetails object to the resource shape. +* `Aws\Lambda` - AWS Lambda now supports Revision ID on your function versions and aliases, to track and apply conditional updates when you are updating your function version or alias resources. +* `Aws\RetryMiddleware` - Verify we have the curl extension before retrying on the CURLE_RECV_ERROR curl const. + +## 3.52.0 - 2018-01-22 + +* `Aws\` - Retry on a set of CURLE_*_ERROR based failures. Currently, only CURLE_RECV_ERROR (errno 56) is retried. +* `Aws\Api\Parser` - Simplify return. +* `Aws\Budgets` - Add additional costTypes: IncludeDiscount, UseAmortized, to support finer control for different charges included in a cost budget. + +## 3.51.0 - 2018-01-19 + +* `Aws\Credentials` - Add support for an AWS_EC2_METADATA_DISABLED environment variable to short-circuit requests for credentials via the InstanceProfileProvider. +* `Aws\Glue` - New AWS Glue DataCatalog APIs to manage table versions and a new feature to skip archiving of the old table version when updating table. +* `Aws\TranscribeService` - Amazon Transcribe Public Preview Release + +## 3.50.0 - 2018-01-18 + +* `Aws\Rds` - Fixes a bug where DestinationRegion was not being added to automatically generated PreSignedUrl parameters for RDS operations. +* `Aws\S3` - Updates the type of the S3 Size object to long (from integer) to properly reflect objects over PHP_INT_MAX in size. This will affect ListObjects, ListObjectsV2, ListObjectVersions, and ListParts. This bug fix may be a breaking change for customers who relied on the previously PHP_INT_MAX capped behavior or on the type of the field. You may see objects at their full size, as a string, if they are over PHP_INT_MAX in size. +* `Aws\SageMaker` - CreateTrainingJob and CreateEndpointConfig now supports KMS Key for volume encryption. + +## 3.49.1 - 2018-01-17 + +* `Aws\AutoScalingPlans` - Documentation updates for autoscaling-plans +* `Aws\EC2` - Documentation updates for EC2 + +## 3.49.0 - 2018-01-16 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling is adding support for Target Tracking Scaling for ECS services. +* `Aws\AutoScalingPlans` - AWS Auto Scaling enables you to quickly discover all of the scalable resources underlying your application and set up application scaling in minutes using built-in scaling recommendations. +* `Aws\RDS` - With this release you can now integrate RDS DB instances with CloudWatch Logs. We have added parameters to the operations for creating and modifying DB instances (for example CreateDBInstance) to allow you to take advantage of this capability through the CLI and API. Once you enable this feature, a stream of log events will publish to CloudWatch Logs for each log type you enable. +* `Aws\WorkSpaces` - Amazon Workspaces is now available in sa-east-1 + +## 3.48.14 - 2018-01-15 + +* `Aws\Lambda` - Support for creating Lambda Functions using 'dotnetcore2.0' and 'go1.x'. + +## 3.48.13 - 2018-01-12 + +* `Aws\Glue` - Support is added to generate ETL scripts in Scala which can now be run by AWS Glue ETL jobs. In addition, the trigger API now supports firing when any conditions are met (in addition to all conditions). Also, jobs can be triggered based on a "failed" or "stopped" job run (in addition to a "succeeded" job run). + +## 3.48.12 - 2018-01-11 + +* `Aws\Aws` - Fix misspelling class PresignUrlMiddleware. +* `Aws\ElasticLoadBalancing` - Added OperationNotPermittedException to indicate that you cannot create a classic load balancer while deleting the Elastic Load Balancing service-linked role. +* `Aws\ElasticLoadBalancingv2` - Added OperationNotPermittedException to indicate that you cannot create a load balancer while deleting the Elastic Load Balancing service-linked role. +* `Aws\RDS` - Read Replicas for Amazon RDS for MySQL, MariaDB, and PostgreSQL now support Multi-AZ deployments.Amazon RDS Read Replicas enable you to create one or more read-only copies of your database instance within the same AWS Region or in a different AWS Region. Updates made to the source database are asynchronously copied to the Read Replicas. In addition to providing scalability for read-heavy workloads, you can choose to promote a Read Replica to become standalone a DB instance when needed.Amazon RDS Multi-AZ Deployments provide enhanced availability for database instances within a single AWS Region. With Multi-AZ, your data is synchronously replicated to a standby in a different Availability Zone (AZ). In case of an infrastructure failure, Amazon RDS performs an automatic failover to the standby, minimizing disruption to your applications.You can now combine Read Replicas with Multi-AZ as part of a disaster recovery strategy for your production databases. A well-designed and tested plan is critical for maintaining business continuity after a disaster. Since Read Replicas can also be created in different regions than the source database, your Read Replica can be promoted to become the new production database in case of a regional disruption.You can also combine Read Replicas with Multi-AZ for your database engine upgrade process. You can create a Read Replica of your production database instance and upgrade it to a new database engine version. When the upgrade is complete, you can stop applications, promote the Read Replica to a standalone database instance and switch over your applications. Since the database instance is already a Multi-AZ deployment, no additional steps are needed.For more information, see the Amazon RDS User Guide. +* `Aws\SSM` - Updates documentation for the HierarchyLevelLimitExceededException error. + +## 3.48.11 - 2018-01-09 + +* `Aws\KMS` - Documentation updates for AWS KMS + +## 3.48.10 - 2018-01-09 + +* `Aws\DirectoryService` - On October 24 we introduced AWS Directory Service for Microsoft Active Directory (Standard Edition), also known as AWS Microsoft AD (Standard Edition), which is a managed Microsoft Active Directory (AD) that is optimized for small and midsize businesses (SMBs). With this SDK release, you can now create an AWS Microsoft AD directory using API. This enables you to run typical SMB workloads using a cost-effective, highly available, and managed Microsoft AD in the AWS Cloud. + +## 3.48.9 - 2018-01-08 + +* `Aws\ApplicationDiscoveryService` - Documentation updates for AWS Application Discovery Service. +* `Aws\CodeDeploy` - The AWS CodeDeploy API was updated to support DeleteGitHubAccountToken, a new method that deletes a GitHub account connection. +* `Aws\Route53` - This release adds an exception to the CreateTrafficPolicyVersion API operation. + +## 3.48.8 - 2018-01-05 + +* `Aws\Inspector` - Added 2 new attributes to the DescribeAssessmentTemplate response, indicating the total number of assessment runs and last assessment run ARN (if present.) +* `Aws\SSM` - Documentation updates for ssm +* `Aws\Snowball` - Documentation updates for snowball + +## 3.48.7 - 2018-01-02 + +* `Aws\Docs` - Clean up extra lines. +* `Aws\RDS` - Documentation updates for rds + +## 3.48.6 - 2017-12-29 + +* `Aws\` - Clean elses when have already returned something. +* `Aws\` - Removed or adjusted unused imports. +* `Aws\WorkSpaces` - Modify WorkSpaces have been updated with flexible storage and switching of hardware bundles feature. The following configurations have been added to ModifyWorkSpacesProperties: storage and compute. This update provides the capability to configure the storage of a WorkSpace. It also adds the capability of switching hardware bundle of a WorkSpace by specifying an eligible compute (Value, Standard, Performance, Power). + +## 3.48.5 - 2017-12-22 + +* `Aws\EC2` - This release fixes an issue with tags not showing in DescribeAddresses responses. +* `Aws\ECS` - Amazon ECS users can now set a health check initialization wait period of their ECS services, the services that are associated with an Elastic Load Balancer (ELB) will wait for a period of time before the ELB become healthy. You can now configure this in Create and Update Service. +* `Aws\Inspector` - PreviewAgents API now returns additional fields within the AgentPreview data type. The API now shows the agent health and availability status for all instances included in the assessment target. This allows users to check the health status of Inspector Agents before running an assessment. In addition, it shows the instance ID, hostname, and IP address of the targeted instances. +* `Aws\SageMaker` - SageMaker Models no longer support SupplementalContainers. API's that have been affected are CreateModel and DescribeModel. +* `Aws\Test` - Use fluent interface when defining mocks. + +## 3.48.4 - 2017-12-21 + +* `Aws\CodeBuild` - Adding support allowing AWS CodeBuild customers to select specific curated image versions. +* `Aws\EC2` - Elastic IP tagging enables you to add key and value metadata to your Elastic IPs so that you can search, filter, and organize them according to your organization's needs. +* `Aws\KinesisAnalytics` - Kinesis Analytics now supports AWS Lambda functions as output. + +## 3.48.3 - 2017-12-20 + +* `Aws\CodeStar` - Launch AWS CodeStar in the Asia Pacific (Tokyo) and Canada (Central) regions. +* `Aws\ConfigService` - Update ResourceType enum with values for WAF, WAFRegional, and CloudFront resources +* `Aws\IoT` - This release adds support for code signed Over-the-air update functionality for Amazon FreeRTOS. Users can now create and schedule Over-the-air updates to their Amazon FreeRTOS devices using these new APIs. + +## 3.48.2 - 2017-12-19 + +* `Aws\` - Add support for retrying exception code RequestThrottledException. +* `Aws\APIGateway` - API Gateway now adds support for calling API with compressed payloads using one of the supported content codings, tagging an API stage for cost allocation, and returning API keys from a custom authorizer for use with a usage plan. +* `Aws\MediaStoreData` - Documentation updates for mediastore +* `Aws\Route53` - Route 53 added support for a new China (Ningxia) region, cn-northwest-1. You can now specify cn-northwest-1 as the region for latency-based or geoproximity routing. Route 53 also added support for a new EU (Paris) region, eu-west-3. You can now associate VPCs in eu-west-3 with private hosted zones and create alias records that route traffic to resources in eu-west-3. + +## 3.48.1 - 2017-12-19 + +* `Aws\CloudWatch` - Documentation updates for monitoring +* `Aws\ServiceCatalog` - Region launch expansion of Service Catalog Service for new region EU-WEST-3 + +## 3.48.0 - 2017-12-15 + +* `Aws\AppStream` - This API update is to enable customers to add tags to their Amazon AppStream 2.0 resources +* `Aws\Inspector` - expand the region support of Inspector to FRA (eu-central-1) +* `Aws\S3\Crypto` - Adds the S3EncryptionMultipartUploader for performing client side encryption before performing a multipart upload operation. + +## 3.47.1 - 2017-12-14 + +* `Aws\APIGateway` - Adds support for Cognito Authorizer scopes at the API method level. +* `Aws\SES` - Added information about the maximum number of transactions per second for the SendCustomVerificationEmail operation. + +## 3.47.0 - 2017-12-12 + +* `Aws\CodeDeploy` - Documentation updates for CodeDeploy. +* `Aws\WorkMail` - Today, Amazon WorkMail released an administrative SDK and enabled AWS CloudTrail integration. With the administrative SDK, you can natively integrate WorkMail with your existing services. The SDK enables programmatic user, resource, and group management through API calls. This means your existing IT tools and workflows can now automate WorkMail management, and third party applications can streamline WorkMail migrations and account actions. + +## 3.46.0 - 2017-12-11 + +* `Aws\CognitoIdentityProvider` - Exposing the hosted UI domain name for a user pool that has a domain configured. +* `Aws\LexModelBuildingService` - The GetBotChannelAssociation API now returns the status and failure reason, if any, for a bot channel. +* `Aws\Pinpoint` - Resolves a naming collision with Pinpoint getEndpoint operation and AwsClient::getEndpoint. All Endpoint operations have aliases with UserEndpoint. +* `Aws\SageMaker` - CreateModel API Update: The request parameter 'ExecutionRoleArn' has changed from optional to required. +* `Aws\Test` - More refactored tests with PHPUnit assert methods. + +## 3.45.3 - 2017-12-08 + +* `Aws\AppStream` - This API update is to support the feature that allows customers to automatically consume the latest Amazon AppStream 2.0 agent as and when published by AWS. +* `Aws\CloudWatch` - With this launch, you can now create a CloudWatch alarm that alerts you when M out of N datapoints of a metric are breaching your predefined threshold, such as three out of five times in any given five minutes interval or two out of six times in a thirty minutes interval. When M out of N datapoints are not breaching your threshold in an interval, the alarm will be in OK state. Please note that the M datapoints out of N datapoints in an interval can be of any order and does not need to be consecutive. Consequently, you can now get alerted even when the spikes in your metrics are intermittent over an interval. +* `Aws\ECS` - Documentation updates for Windows containers. + +## 3.45.2 - 2017-12-07 + +* `Aws\ElasticsearchService` - Added support for encryption of data at rest on Amazon Elasticsearch Service using AWS KMS +* `Aws\SES` - Customers can customize the emails that Amazon SES sends when verifying new identities. This feature is helpful for developers whose applications send email through Amazon SES on behalf of their customers. + +## 3.45.1 - 2017-12-06 + +* `Aws\CloudDirectory` - Amazon Cloud Directory makes it easier for you to apply schema changes across your directories with in-place schema upgrades. Your directories now remain available while backward-compatible schema changes are being applied, such as the addition of new fields. You also can view the history of your schema changes in Cloud Directory by using both major and minor version identifiers, which can help you track and audit schema versions across directories. +* `Aws\ElasticBeanstalk` - Documentation updates for AWS Elastic Beanstalk. +* `Aws\SageMaker` - Initial waiters for common SageMaker workflows. + +## 3.45.0 - 2017-12-05 + +* `Aws\IoT` - Add error action API for RulesEngine. +* `Aws\ServiceCatalog` - ServiceCatalog has two distinct personas for its use, an "admin" persona (who creates sets of products with different versions and prescribes who has access to them) and an "end-user" persona (who can launch cloud resources based on the configuration data their admins have given them access to). This API update will allow admin users to deactivate/activate product versions, end-user will only be able to access and launch active product versions. +* `Aws\ServiceDiscovery` - Amazon Route 53 Auto Naming lets you configure public or private namespaces that your microservice applications run in. When instances of the service become available, you can call the Auto Naming API to register the instance, and Amazon Route 53 automatically creates up to five DNS records and an optional health check. Clients that submit DNS queries for the service receive an answer that contains up to eight healthy records. +* `Aws\Test` - Use PHPUnit\Framework\TestCase instead of PHPUnit_Framework_TestCase +* `Aws\Test` - Refactored some tests with PHPUnit assert methods. + +## 3.44.2 - 2017-12-04 + +* `Aws\Budgets` - Add additional costTypes to support finer control for different charges included in a cost budget. +* `Aws\ECS` - Documentation updates for ecs + +## 3.44.1 - 2017-12-01 + +* `Aws\SageMaker` - Preparing to release updated waiters week of December 4, 2017 for all supported SDKs. + +## 3.44.0 - 2017-11-30 + +* `Aws\APIGateway` - Added support Private Integration and VPC Link features in API Gateway. This allows to create an API with the API Gateway private integration, thus providing clients access to HTTP/HTTPS resources in an Amazon VPC from outside of the VPC through a VpcLink resource. +* `Aws\AlexaForBusiness` - Alexa for Business is now generally available for production use. Alexa for Business makes it easy for you to use Alexa in your organization. The Alexa for Business SDK gives you APIs to manage Alexa devices, enroll users, and assign skills at scale. For more information about Alexa for Business, go to https://aws.amazon.com/alexaforbusiness +* `Aws\Cloud9` - Adds support for creating and managing AWS Cloud9 development environments. AWS Cloud9 is a cloud-based integrated development environment (IDE) that you use to write, run, and debug code. +* `Aws\EC2` - Adds the following updates: 1. Spread Placement ensures that instances are placed on distinct hardware in order to reduce correlated failures. 2. Inter-region VPC Peering allows customers to peer VPCs across different AWS regions without requiring additional gateways, VPN connections or physical hardware +* `Aws\Lambda` - AWS Lambda now supports the ability to set the concurrency limits for individual functions, and increasing memory to 3008 MB. +* `Aws\ServerlessApplicationRepository` - First release of the AWS Serverless Application Repository SDK + +## 3.43.0 - 2017-11-30 + +* `Aws\AutoScaling` - You can now use Auto Scaling with EC2 Launch Templates via the CreateAutoScalingGroup and UpdateAutoScalingGroup APIs. +* `Aws\EC2` - Adds the following updates: 1. T2 Unlimited enables high CPU performance for any period of time whenever required 2. You are now able to create and launch EC2 m5 and h1 instances +* `Aws\Lightsail` - This release adds support for load balancer and TLS/SSL certificate management. This set of APIs allows customers to create, manage, and scale secure load balanced applications on Lightsail infrastructure. To provide support for customers who manage their DNS on Lightsail, we've added the ability create an Alias A type record which can point to a load balancer DNS name via the CreateDomainEntry API http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_CreateDomainEntry.html. +* `Aws\ResourceGroups` - AWS Resource Groups lets you search and group AWS resources from multiple services based on their tags. +* `Aws\SSM` - This release updates AWS Systems Manager APIs to enable executing automations at controlled rate, target resources in a resource groups and execute entire automation at once or single step at a time. It is now also possible to use YAML, in addition to JSON, when creating Systems Manager documents. +* `Aws\WAF` - This release adds support for rule group and managed rule group. Rule group is a container of rules that customers can create, put rules in it and associate the rule group to a WebACL. All rules in a rule group will function identically as they would if each rule was individually associated to the WebACL. Managed rule group is a pre-configured rule group composed by our security partners and made available via the AWS Marketplace. Customers can subscribe to these managed rule groups, associate the managed rule group to their WebACL and start using them immediately to protect their resources. +* `Aws\WAFRegional` - This release adds support for rule group and managed rule group. Rule group is a container of rules that customers can create, put rules in it and associate the rule group to a WebACL. All rules in a rule group will function identically as they would if each rule was individually associated to the WebACL. Managed rule group is a pre-configured rule group composed by our security partners and made available via the AWS Marketplace. Customers can subscribe to these managed rule groups, associate the managed rule group to their WebACL and start using them immediately to protect their resources. + +## 3.42.0 - 2017-11-29 + +* `Aws\Comprehend` - Amazon Comprehend is an AWS service for gaining insight into the content of text and documents . It develops insights by recognizing the entities, key phrases, language, sentiments, and other common elements in a document. For more information, go to the Amazon Comprehend product page. To get started, see the Amazon Comprehend Developer Guide. +* `Aws\DynamoDB` - Amazon DynamoDB now supports the following features: Global Table and On-Demand Backup. Global Table is a fully-managed, multi-region, multi-master database. DynamoDB customers can now write anywhere and read anywhere with single-digit millisecond latency by performing database operations closest to where end users reside. Global Table also enables customers to disaster-proof their applications, keeping them running and data accessible even in the face of natural disasters or region disruptions. Customers can set up Global Table with just a few clicks in the AWS Management Console-no application rewrites required. On-Demand Backup capability is to protect data from loss due to application errors, and meet customers' archival needs for compliance and regulatory reasons. Customers can backup and restore their DynamoDB table data anytime, with a single-click in the AWS management console or a single API call. Backup and restore actions execute with zero impact on table performance or availability. For more information, see the Amazon DynamoDB Developer Guide. +* `Aws\ECS` - Amazon Elastic Container Service (Amazon ECS) released a new launch type for running containers on a serverless infrastructure. The Fargate launch type allows you to run your containerized applications without the need to provision and manage the backend infrastructure. Just register your task definition and Fargate launches the container for you. +* `Aws\Glacier` - This release includes support for Glacier Select, a new feature that allows you to filter and analyze your Glacier archives and store the results in a user-specified S3 location. +* `Aws\Greengrass` - Greengrass OTA feature allows updating Greengrass Core and Greengrass OTA Agent. Local Resource Access feature allows Greengrass Lambdas to access local resources such as peripheral devices and volumes. +* `Aws\IoT` - This release adds support for a number of new IoT features, including AWS IoT Device Management (Jobs, Fleet Index and Thing Registration), Thing Groups, Policies on Thing Groups, Registry & Job Events, JSON Logs, Fine-Grained Logging Controls, Custom Authorization and AWS Service Authentication Using X.509 Certificates. +* `Aws\IoTJobsDataPlane` - This release adds support for new the service called Iot Jobs. This client is built for the device SDK to use Iot Jobs Device specific APIs. +* `Aws\KinesisVideo` - Announcing Amazon Kinesis Video Streams, a fully managed video ingestion and storage service. Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for machine learning, analytics, and processing. You can also stream other time-encoded data like RADAR and LIDAR signals using Kinesis Video Streams. +* `Aws\KinesisVideoArchivedMedia` - Announcing Amazon Kinesis Video Streams, a fully managed video ingestion and storage service. Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for machine learning, analytics, and processing. You can also stream other time-encoded data like RADAR and LIDAR signals using Kinesis Video Streams. +* `Aws\KinesisVideoMedia` - Announcing Amazon Kinesis Video Streams, a fully managed video ingestion and storage service. Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for machine learning, analytics, and processing. You can also stream other time-encoded data like RADAR and LIDAR signals using Kinesis Video Streams. +* `Aws\Rekognition` - This release introduces Amazon Rekognition support for video analysis. +* `Aws\S3` - This release includes support for Glacier Select, a new feature that allows you to filter and analyze your Glacier storage class objects and store the results in a user-specified S3 location. +* `Aws\SageMaker` - Amazon SageMaker is a fully-managed service that enables data scientists and developers to quickly and easily build, train, and deploy machine learning models, at scale. +* `Aws\SageMakerRuntime` - Amazon SageMaker is a fully-managed service that enables data scientists and developers to quickly and easily build, train, and deploy machine learning models, at scale. +* `Aws\Translate` - Public preview release of Amazon Translate and the Amazon Translate Developer Guide. For more information, see the Amazon Translate Developer Guide. + +## 3.41.0 - 2017-11-29 + +* `Aws\APIGateway` - Changes related to CanaryReleaseDeployment feature. Enables API developer to create a deployment as canary deployment and test API changes with percentage of customers before promoting changes to all customers. +* `Aws\AppSync` - AWS AppSync is an enterprise-level, fully managed GraphQL service with real-time data synchronization and offline programming features. +* `Aws\Batch` - Add support for Array Jobs which allow users to easily submit many copies of a job with a single API call. This change also enhances the job dependency model to support N_TO_N and sequential dependency chains. The ListJobs and DescribeJobs APIs now have the ability to list or describe the status of entire Array Jobs or individual elements within the array. +* `Aws\CodeDeploy` - Support for AWS Lambda function deployment - AWS CodeDeploy now supports the deployment of AWS Lambda functions. A Lambda deployment uses a Lambda function alias to shift traffic to a new version. You select a deployment configuration that specifies exactly how traffic shifts to your new version. Success of a deployment can be validated using Lambda functions that are referenced by the deployment. This provides the opportunity to rollback if necessary. +* `Aws\CognitoIdentityProvider` - AWS Cognito SDK has been updated to support new Cognito user-pool objects and operations for advanced security +* `Aws\EC2` - Adds the following updates: 1. You are now able to host a service powered by AWS PrivateLink to provide private connectivity to other VPCs. You are now also able to create endpoints to other services powered by PrivateLink including AWS services, Marketplace Seller services or custom services created by yourself or other AWS VPC customers. 2. You are now able to save launch parameters in a single template that can be used with Auto Scaling, Spot Fleet, Spot, and On Demand instances. 3. You are now able to launch Spot instances via the RunInstances API, using a single additional parameter. RunInstances will response synchronously with an instance ID should capacity be available for your Spot request. 4. A simplified Spot pricing model which delivers low, predictable prices that adjust gradually, based on long-term trends in supply and demand. 5. Amazon EC2 Spot can now hibernate Amazon EBS-backed instances in the event of an interruption, so your workloads pick up from where they left off. Spot can fulfill your request by resuming instances from a hibernated state when capacity is available. +* `Aws\GuardDuty` - Enable Amazon GuardDuty to continuously monitor and process AWS data sources to identify threats to your AWS accounts and workloads. You can add customization by uploading additional threat intelligence lists and IP safe lists. You can list security findings, suspend, and disable the service. +* `Aws\Lambda` - Lambda aliases can now shift traffic between two function versions, based on preassigned weights. +* `Aws\MQ` - This is the initial SDK release for Amazon MQ. Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud. + +## 3.40.0 - 2017-11-27 + +* `Aws\MediaConvert` - AWS Elemental MediaConvert is a file-based video conversion service that transforms media into formats required for traditional broadcast and for internet streaming to multi-screen devices. +* `Aws\MediaLive` - AWS Elemental MediaLive is a video service that lets you easily create live outputs for broadcast and streaming delivery. +* `Aws\MediaPackage` - AWS Elemental MediaPackage is a just-in-time video packaging and origination service that lets you format highly secure and reliable live outputs for a variety of devices. +* `Aws\MediaStore` - AWS Elemental MediaStore is an AWS storage service optimized for media. It gives you the performance, consistency, and low latency required to deliver live and on-demand video content. AWS Elemental MediaStore acts as the origin store in your video workflow. +* `Aws\MediaStoreData` - AWS Elemental MediaStore is an AWS storage service optimized for media. It gives you the performance, consistency, and low latency required to deliver live and on-demand video content. AWS Elemental MediaStore acts as the origin store in your video workflow. + +## 3.39.2 - 2017-11-22 + +* `Aws\ACM` - AWS Certificate Manager now supports the ability to import domainless certs and additional Key Types as well as an additional validation method for DNS. +* `Aws\LexModelBuildingService` - Amazon Lex is now available in the EU (Ireland) region. +* `Aws\LexRuntimeService` - Amazon Lex is now available in the EU (Ireland) region. +* `Aws\S3\Crypto` - Fixes an issue with loading @CipherOptions on getObject[Async] decryption. + +## 3.39.1 - 2017-11-22 + +* `Aws\APIGateway` - Add support for Access logs and customizable integration timeouts +* `Aws\CloudFormation` - 1) Instance-level parameter overrides (CloudFormation-StackSet feature): This feature will allow the customers to override the template parameters on specific stackInstances. Customers will also have ability to update their existing instances with/without parameter-overrides using a new API "UpdateStackInstances" 2) Add support for SSM parameters in CloudFormation - This feature will allow the customers to use Systems Manager parameters in CloudFormation templates. They will be able to see values for these parameters in Describe APIs. +* `Aws\CodeBuild` - Adding support for accessing Amazon VPC resources from AWS CodeBuild, dependency caching and build badges. +* `Aws\EMR` - Enable Kerberos on Amazon EMR. +* `Aws\Rekognition` - This release includes updates to Amazon Rekognition for the following APIs. The new DetectText API allows you to recognize and extract textual content from images. Face Model Versioning has been added to operations that deal with face detection. +* `Aws\Shield` - The AWS Shield SDK has been updated in order to support Elastic IP address protections, the addition of AttackProperties objects in DescribeAttack responses, and a new GetSubscriptionState operation. +* `Aws\StorageGateway` - AWS Storage Gateway now enables you to get notification when all your files written to your NFS file share have been uploaded to Amazon S3. Storage Gateway also enables guessing of the MIME type for uploaded objects based on file extensions. +* `Aws\XRay` - Added automatic pagination support for AWS X-Ray APIs in the SDKs that support this feature. + +## 3.39.0 - 2017-11-20 + +* `Aws\APIGateway` - Documentation updates for Apigateway +* `Aws\CodeCommit` - AWS CodeCommit now supports pull requests. You can use pull requests to collaboratively review code changes for minor changes or fixes, major feature additions, or new versions of your released software. +* `Aws\CostExplorer` - The AWS Cost Explorer API gives customers programmatic access to AWS cost and usage information, allowing them to perform adhoc queries and build interactive cost management applications that leverage this dataset. +* `Aws\Firehose` - This release includes a new Kinesis Firehose feature that supports Splunk as Kinesis Firehose delivery destination. You can now use Kinesis Firehose to ingest real-time data to Splunk in a serverless, reliable, and salable manner. This release also includes a new feature that allows you to configure Lambda buffer size in Kinesis Firehose data transformation feature. You can now customize the data buffer size before invoking Lambda function in Kinesis Firehose for data transformation. This feature allows you to flexibly trade-off processing and delivery latency with cost and efficiency based on your specific use cases and requirements. +* `Aws\Kinesis` - Customers can now obtain the important characteristics of their stream with DescribeStreamSummary. The response will not include the shard list for the stream but will have the number of open shards, and all the other fields included in the DescribeStream response. +* `Aws\WorkDocs` - DescribeGroups API and miscellaneous enhancements + +## 3.38.5 - 2017-11-17 + +* `Aws\ApplicationAutoScaling` - This SDK update contains support for Target Tracking scaling for EC2 Spot Fleet. It allows you to scale an EC2 Spot Fleet using a Target Tracking scaling policy. +* `Aws\DatabaseMigrationService` - Support for migration task assessment. Support for data validation after the migration. +* `Aws\ElasticLoadBalancingv2` - This release adds Proxy Protocol v2 support for Network Load Balancer. Proxy protocol provides a convenient way to transport connection information (such as a client's source IP address/port and destination IP address/port) for a TCP connection across multiple layers of NAT or TCP proxies. +* `Aws\RDS` - Amazon RDS now supports importing MySQL databases by using backup files from Amazon S3. +* `Aws\S3` - Added ORC to the supported S3 Inventory formats. + +## 3.38.4 - 2017-11-16 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling now supports automatic scaling of Amazon Aurora replicas +* `Aws\EC2` - You are now able to create and launch EC2 x1e smaller instance sizes +* `Aws\Glue` - API update for AWS Glue. New crawler configuration attribute enables customers to specify crawler behavior. New XML classifier enables classification of XML data. +* `Aws\OpsWorksCM` - Documentation updates for OpsWorks-cm: a new feature, OpsWorks for Puppet Enterprise, that allows users to create and manage OpsWorks-hosted Puppet Enterprise servers. +* `Aws\Organizations` - This release adds APIs that you can use to enable and disable integration with AWS services designed to work with AWS Organizations. This integration allows the AWS service to perform operations on your behalf on all of the accounts in your organization. Although you can use these APIs yourself, we recommend that you instead use the commands provided in the other AWS service to enable integration with AWS Organizations. +* `Aws\Route53` - You can use Route 53's GetAccountLimit/GetHostedZoneLimit/GetReusableDelegationSetLimit APIs to view your current limits (including custom set limits) on Route 53 resources such as hosted zones and health checks. These APIs also return the number of each resource you're currently using to enable comparison against your current limits. + +## 3.38.3 - 2017-11-15 + +* `Aws\APIGateway` - 1. Extended GetDocumentationParts operation to support retrieving documentation parts resources without contents. 2. Added hosted zone ID in the custom domain response. +* `Aws\Polly` - Amazon Polly adds Korean language support with new female voice - "Seoyeon" and new Indian English female voice - "Aditi" +* `Aws\SES` - SES launches Configuration Set Reputation Metrics and Email Pausing Today, two features that build upon the capabilities of the reputation dashboard. The first is the ability to export reputation metrics for individual configuration sets. The second is the ability to temporarily pause email sending, either at the configuration set level, or across your entire Amazon SES account. +* `Aws\SFN` - You can now use the UpdateStateMachine API to update your state machine definition and role ARN. Existing executions will continue to use the previous definition and role ARN. You can use the DescribeStateMachineForExecution API to determine which state machine definition and role ARN is associated with an execution + +## 3.38.2 - 2017-11-14 + +* `Aws\ECS` - Added new mode for Task Networking in ECS, called awsvpc mode. Mode configuration parameters to be passed in via awsvpcConfiguration. Updated APIs now use/show this new mode - RegisterTaskDefinition, CreateService, UpdateService, RunTask, StartTask. +* `Aws\Lightsail` - Lightsail now supports attached block storage, which allows you to scale your applications and protect application data with additional SSD-backed storage disks. This feature allows Lightsail customers to attach secure storage disks to their Lightsail instances and manage their attached disks, including creating and deleting disks, attaching and detaching disks from instances, and backing up disks via snapshot. +* `Aws\Route53` - When a Route 53 health check or hosted zone is created by a linked AWS service, the object now includes information about the service that created it. Hosted zones or health checks that are created by a linked service can't be updated or deleted using Route 53. +* `Aws\SSM` - EC2 Systems Manager GetInventory API adds support for aggregation. + +## 3.38.1 - 2017-11-09 + +* `Aws\EC2` - Introduces the following features: 1. Create a default subnet in an Availability Zone if no default subnet exists. 2. Spot Fleet integrates with Elastic Load Balancing to enable you to attach one or more load balancers to a Spot Fleet request. When you attach the load balancer, it automatically registers the instance in the Spot Fleet to the load balancers which distributes incoming traffic across the instances. + +## 3.38.0 - 2017-11-08 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling customers are now able to schedule adjustments to their MinCapacity and MaxCapacity, which makes it possible to pre-provision adequate capacity for anticipated demand and then reduce the provisioned capacity as demand lulls. +* `Aws\Batch` - Documentation updates for AWS Batch. +* `Aws\EC2` - AWS PrivateLink for Amazon Services - Customers can now privately access Amazon services from their Amazon Virtual Private Cloud (VPC), without using public IPs, and without requiring the traffic to traverse across the Internet. +* `Aws\ElastiCache` - This release adds online resharding for ElastiCache for Redis offering, providing the ability to add and remove shards from a running cluster. Developers can now dynamically scale-out or scale-in their Redis cluster workloads to adapt to changes in demand. ElastiCache will resize the cluster by adding or removing shards and redistribute hash slots uniformly across the new shard configuration, all while the cluster continues to stay online and serves requests. +* `Aws\Rds` - Update PresignUrlMiddleware to take an optional require_different_region, default false, for providing presigned urls only if the source and destination regions differ. Require this for RdsClient operations that use the middleware. +* `Aws\S3` - Updates several S3 endpoints. +* `Aws\S3` - Adds the S3EncryptionClient with CBC and GCM support. Uses pluggable strategies for handling a MetadataEnvelope in conjunction with a MaterialsProvider. Supports putObject[Async] and getObject[Async] operations. + +## 3.37.1 - 2017-11-07 + +* `Aws\ElasticLoadBalancingv2` - Added a new limit related to Network Load Balancers on the number of targets per load balancer per AZ. +* `Aws\RDS` - DescribeOrderableDBInstanceOptions now returns the minimum and maximum allowed values for storage size, total provisioned IOPS, and provisioned IOPS per GiB for a DB instance. +* `Aws\S3` - This releases adds support for 4 features: 1. Default encryption for S3 Bucket, 2. Encryption status in inventory and Encryption support for inventory. 3. Cross region replication of KMS-encrypted objects, and 4. ownership overwrite for CRR. +* `Aws\ServiceCatalog` - Region launch expansion of SCS for new region SA-EAST-1 +* `Aws\ServiceCatalog` - Region launch expansion of Service Catalog Service for new region US-WEST-1 +* `Aws\ServiceCatalog` - Region launch expansion for SCS in new region AP-SOUTH-1 BOM + +## 3.37.0 - 2017-11-07 + +* `Aws\EC2` - You are now able to create and launch EC2 C5 instances, the next generation of EC2's compute-optimized instances, in us-east-1, us-west-2 and eu-west-1. C5 instances offer up to 72 vCPUs, 144 GiB of DDR4 instance memory, 25 Gbps in Network bandwidth and improved EBS and Networking bandwidth on smaller instance sizes to deliver improved performance for compute-intensive workloads. +* `Aws\KMS` - Documentation updates for AWS KMS. +* `Aws\Organizations` - This release updates permission statements for several API operations, and corrects some other minor errors. +* `Aws\Pricing` - This is the initial release of AWS Price List Service. +* `Aws\SFN` - Documentation update. + +## 3.36.37 - 2017-11-03 + +* `Aws\ECS` - Amazon ECS users can now add devices to their containers and enable init process in containers through the use of docker's 'devices' and 'init' features. These fields can be specified under linuxParameters in ContainerDefinition in the Task Definition Template. + +## 3.36.36 - 2017-11-02 + +* `Aws\APIGateway` - This release supports creating and managing Regional and Edge-Optimized API endpoints. + +## 3.36.35 - 2017-11-01 + +* `Aws\ACM` - Documentation updates for acm +* `Aws\CloudHSMV2` - Minor documentation update for AWS CloudHSM (cloudhsmv2). +* `Aws\DirectConnect` - AWS DirectConnect now provides support for Global Access for Virtual Private Cloud (VPC) via a new feature called Direct Connect Gateway. A Direct Connect Gateway will allow you to group multiple Direct Connect Private Virtual Interfaces (DX-VIF) and Private Virtual Gateways (VGW) from different AWS regions (but belonging to the same AWS Account) and pass traffic from any DX-VIF to any VPC in the grouping. + +## 3.36.34 - 2017-10-26 + +* `Aws\CloudFront` - You can now specify additional options for MinimumProtocolVersion, which controls the SSL/TLS protocol that CloudFront uses to communicate with viewers. The minimum protocol version that you choose also determines the ciphers that CloudFront uses to encrypt the content that it returns to viewers. +* `Aws\EC2` - You are now able to create and launch EC2 P3 instance, next generation GPU instances, optimized for machine learning and high performance computing applications. With up to eight NVIDIA Tesla V100 GPUs, P3 instances provide up to one petaflop of mixed-precision, 125 teraflops of single-precision, and 62 teraflops of double-precision floating point performance, as well as a 300 GB/s second-generation NVLink interconnect that enables high-speed, low-latency GPU-to-GPU communication. P3 instances also feature up to 64 vCPUs based on custom Intel Xeon E5 (Broadwell) processors, 488 GB of DRAM, and 25 Gbps of dedicated aggregate network bandwidth using the Elastic Network Adapter (ENA). + +## 3.36.33 - 2017-10-24 + +* `Aws\ConfigService` - AWS Config support for CodeBuild Project resource type +* `Aws\ElastiCache` - Amazon ElastiCache for Redis today announced support for data encryption both for data in-transit and data at-rest. The new encryption in-transit functionality enables ElastiCache for Redis customers to encrypt data for all communication between clients and Redis engine, and all intra-cluster Redis communication. The encryption at-rest functionality allows customers to encrypt their S3 based backups. Customers can begin using the new functionality by simply enabling this functionality via AWS console, and a small configuration change in their Redis clients. The ElastiCache for Redis service automatically manages life cycle of the certificates required for encryption, including the issuance, renewal and expiration of certificates. Additionally, as part of this launch, customers will gain the ability to start using the Redis AUTH command that provides an added level of authentication. +* `Aws\Glue` - AWS Glue: Adding a new API, BatchStopJobRun, to stop one or more job runs for a specified Job. +* `Aws\Pinpoint` - Added support for APNs VoIP messages. Added support for collapsible IDs, message priority, and TTL for APNs and FCM/GCM. + +## 3.36.32 - 2017-10-23 + +* `Aws\` - Override passed in starting token for a ResultPaginator when moving to the next command. +* `Aws\Organizations` - This release supports integrating other AWS services with AWS Organizations through the use of an IAM service-linked role called AWSServiceRoleForOrganizations. Certain operations automatically create that role if it does not already exist. + +## 3.36.31 - 2017-10-20 + +* `Aws\EC2` - Adding pagination support for DescribeSecurityGroups for EC2 Classic and VPC Security Groups + +## 3.36.30 - 2017-10-19 + +* `Aws\S3` - PostObject[V4] classes now obey use_path_style_endpoint client configuration in form generation. +* `Aws\SQS` - Added support for tracking cost allocation by adding, updating, removing, and listing the metadata tags of Amazon SQS queues. +* `Aws\SSM` - EC2 Systems Manager versioning support for Parameter Store. Also support for referencing parameter versions in SSM Documents. + +## 3.36.29 - 2017-10-18 + +* `Aws\Lightsail` - This release adds support for Windows Server-based Lightsail instances. The GetInstanceAccessDetails API now returns the password of your Windows Server-based instance when using the default key pair. GetInstanceAccessDetails also returns a PasswordData object for Windows Server instances containing the ciphertext and keyPairName. The Blueprint data type now includes a list of platform values (LINUX_UNIX or WINDOWS). The Bundle data type now includes a list of SupportedPlatforms values (LINUX_UNIX or WINDOWS). + +## 3.36.28 - 2017-10-17 + +* `Aws\CloudHSMV2` - Service Region Launch. +* `Aws\ElasticsearchService` - This release adds support for VPC access to Amazon Elasticsearch Service. +* `Aws\S3` - No longer override supplied ContentType parameter when performing a multipart upload. + +## 3.36.27 - 2017-10-16 + +* `Aws\CloudHSM` - Documentation updates for AWS CloudHSM Classic. +* `Aws\EC2` - You can now change the tenancy of your VPC from dedicated to default with a single API operation. For more details refer to the documentation for changing VPC tenancy. +* `Aws\ElasticsearchService` - AWS Elasticsearch adds support for enabling slow log publishing. Using slow log publishing options customers can configure and enable index/query slow log publishing of their domain to preferred AWS Cloudwatch log group. +* `Aws\RDS` - Adds waiters for DBSnapshotAvailable and DBSnapshotDeleted. +* `Aws\WAF` - This release adds support for regular expressions as match conditions in rules, and support for geographical location by country of request IP address as a match condition in rules. +* `Aws\WAFRegional` - This release adds support for regular expressions as match conditions in rules, and support for geographical location by country of request IP address as a match condition in rules. + +## 3.36.26 - 2017-10-12 + +* `Aws\CodeCommit` - This release includes the DeleteBranch API and a change to the contents of a Commit object. +* `Aws\DatabaseMigrationService` - This change includes addition of new optional parameter to an existing API +* `Aws\ElasticBeanstalk` - Added the ability to add, delete or update Tags +* `Aws\Polly` - Amazon Polly exposes two new voices: "Matthew" (US English) and "Takumi" (Japanese) +* `Aws\RDS` - You can now call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance. + +## 3.36.25 - 2017-10-11 + +* `Aws\ECR` - Adds support for new API set used to manage Amazon ECR repository lifecycle policies. Amazon ECR lifecycle policies enable you to specify the lifecycle management of images in a repository. The configuration is a set of one or more rules, where each rule defines an action for Amazon ECR to apply to an image. This allows the automation of cleaning up unused images, for example expiring images based on age or status. A lifecycle policy preview API is provided as well, which allows you to see the impact of a lifecycle policy on an image repository before you execute it +* `Aws\SES` - Added content related to email template management and templated email sending operations. + +## 3.36.24 - 2017-10-10 + +* `Aws\EC2` - This release includes updates to AWS Virtual Private Gateway. +* `Aws\ElasticLoadBalancingv2` - Server Name Indication (SNI) is an extension to the TLS protocol by which a client indicates the hostname to connect to at the start of the TLS handshake. The load balancer can present multiple certificates through the same secure listener, which enables it to support multiple secure websites using a single secure listener. Application Load Balancers also support a smart certificate selection algorithm with SNI. If the hostname indicated by a client matches multiple certificates, the load balancer determines the best certificate to use based on multiple factors including the capabilities of the client. +* `Aws\OpsWorksCM` - Provide engine specific information for node associations. + +## 3.36.23 - 2017-10-06 + +* `Aws\ConfigService` - Revert: Added missing enumeration values for ConfigurationItemStatus +* `Aws\SQS` - Documentation updates regarding availability of FIFO queues and miscellaneous corrections. + +## 3.36.22 - 2017-10-06 + +* `Aws\ConfigService` - Added missing enumeration values for ConfigurationItemStatus +* `Aws\SQS` - Documentation updates regarding availability of FIFO queues and miscellaneous corrections. + +## 3.36.21 - 2017-10-05 + +* `Aws\Redshift` - DescribeEventSubscriptions API supports tag keys and tag values as request parameters. +* `Aws\S3` - Properly parse s3:// uri used with StreamWrapper. + +## 3.36.20 - 2017-10-04 + +* `Aws\` - Optionally preserve CommandPool keys during generation +* `Aws\KinesisAnalytics` - Kinesis Analytics now supports schema discovery on objects in S3. Additionally, Kinesis Analytics now supports input data preprocessing through Lambda. +* `Aws\Route53Domains` - Added a new API that checks whether a domain name can be transferred to Amazon Route 53. + +## 3.36.19 - 2017-10-03 + +* `Aws\EC2` - This release includes service updates to AWS VPN. +* `Aws\SSM` - EC2 Systems Manager support for tagging SSM Documents. Also support for tag-based permissions to restrict access to SSM Documents based on these tags. + +## 3.36.18 - 2017-10-02 + +* `Aws\CloudHSM` - Documentation updates for CloudHSM + +## 3.36.17 - 2017-09-29 + +* `Aws\AppStream` - Includes APIs for managing and accessing image builders, and deleting images. +* `Aws\CodeBuild` - Adding support for Building GitHub Pull Requests in AWS CodeBuild +* `Aws\MTurk` - Today, Amazon Mechanical Turk (MTurk) supports SQS Notifications being delivered to Customers' SQS queues when different stages of the MTurk workflow are complete. We are going to create new functionality so that Customers can leverage SNS topics as a destination for notification messages when various stages of the MTurk workflow are complete. +* `Aws\Organizations` - This release flags the HandshakeParty structure's Type and Id fields as 'required'. They effectively were required in the past, as you received an error if you did not include them. This is now reflected at the API definition level. +* `Aws\Route53` - This change allows customers to reset elements of health check. +* `Aws\rds` - Introduce DBSnapshotAvailable and DBSnapshotDeleted waiters for DBSnapshot + +## 3.36.16 - 2017-09-27 + +* `Aws\Pinpoint` - Added two new push notification channels: Amazon Device Messaging (ADM) and, for push notification support in China, Baidu Cloud Push. Added support for APNs auth via .p8 key file. Added operation for direct message deliveries to user IDs, enabling you to message an individual user on multiple endpoints. + +## 3.36.15 - 2017-09-26 + +* `Aws\CloudFormation` - You can now prevent a stack from being accidentally deleted by enabling termination protection on the stack. If you attempt to delete a stack with termination protection enabled, the deletion fails and the stack, including its status, remains unchanged. You can enable termination protection on a stack when you create it. Termination protection on stacks is disabled by default. After creation, you can set termination protection on a stack whose status is CREATE_COMPLETE, UPDATE_COMPLETE, or UPDATE_ROLLBACK_COMPLETE. + +## 3.36.14 - 2017-09-22 + +* `Aws\ConfigService` - AWS Config support for DynamoDB tables and Auto Scaling resource types +* `Aws\ECS` - Amazon ECS users can now add and drop Linux capabilities to their containers through the use of docker's cap-add and cap-drop features. Customers can specify the capabilities they wish to add or drop for each container in their task definition. +* `Aws\RDS` - Documentation updates for rds + +## 3.36.13 - 2017-09-21 + +* `Aws\Budgets` - Including "DuplicateRecordException" in UpdateNotification and UpdateSubscriber. +* `Aws\CloudWatchLogs` - Adds support for associating LogGroups with KMS Keys. +* `Aws\EC2` - Add EC2 APIs to copy Amazon FPGA Images (AFIs) within the same region and across multiple regions, delete AFIs, and modify AFI attributes. AFI attributes include name, description and granting/denying other AWS accounts to load the AFI. + +## 3.36.12 - 2017-09-20 + +* `Aws\AppStream` - API updates for supporting On-Demand fleets. +* `Aws\CodePipeline` - This change includes a PipelineMetadata object that is part of the output from the GetPipeline API that includes the Pipeline ARN, created, and updated timestamp. +* `Aws\Greengrass` - Reset Deployments feature allows you to clean-up the cloud resource so you can delete the group. It also cleans up the core so that it goes back to the pre-deployment state. +* `Aws\Greengrass` - AWS Greengrass is now available in the Asia Pacific (Tokyo) region, ap-northeast-1. +* `Aws\LexRuntimeService` - Request attributes can be used to pass client specific information from the client to Amazon Lex as part of each request. +* `Aws\RDS` - Introduces the --option-group-name parameter to the ModifyDBSnapshot CLI command. You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG + +## 3.36.11 - 2017-09-19 + +* `Aws\EC2` - Fixed bug in EC2 clients preventing ElasticGpuSet from being set. + +## 3.36.10 - 2017-09-18 + +* `Aws\EC2` - Amazon EC2 now lets you opt for Spot instances to be stopped in the event of an interruption instead of being terminated. Your Spot request can be fulfilled again by restarting instances from a previously stopped state, subject to availability of capacity at or below your preferred price. When you submit a persistent Spot request, you can choose from "terminate" or "stop" as the instance interruption behavior. Choosing "stop" will shutdown your Spot instances so you can continue from this stopped state later on. This feature is only available for instances with Amazon EBS volume as their root device. +* `Aws\IAM` - A new API, DeleteServiceLinkedRole, submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. +* `Aws\SES` - Amazon Simple Email Service (Amazon SES) now lets you customize the domains used for tracking open and click events. Previously, open and click tracking links referred to destinations hosted on domains operated by Amazon SES. With this feature, you can use your own branded domains for capturing open and click events. + +## 3.36.9 - 2017-09-15 + +* `Aws\APIGateway` - Add a new enum "REQUEST" to '--type <value>' field in the current create-authorizer API, and make "identitySource" optional. + +## 3.36.8 - 2017-09-14 + +* `Aws\CodeBuild` - Supporting Parameter Store in environment variables for AWS CodeBuild +* `Aws\Organizations` - Documentation updates for AWS Organizations +* `Aws\ServiceCatalog` - This release of Service Catalog adds API support to copy products. + +## 3.36.7 - 2017-09-13 + +* `Aws\AutoScaling` - Customers can create Life Cycle Hooks at the time of creating Auto Scaling Groups through the CreateAutoScalingGroup API +* `Aws\Batch` - Documentation updates for batch +* `Aws\CloudWatchEvents` - Exposes ConcurrentModificationException as one of the valid exceptions for PutPermission and RemovePermission operation. +* `Aws\EC2` - You are now able to create and launch EC2 x1e.32xlarge instance, a new EC2 instance in the X1 family, in us-east-1, us-west-2, eu-west-1, and ap-northeast-1. x1e.32xlarge offers 128 vCPUs, 3,904 GiB of DDR4 instance memory, high memory bandwidth, large L3 caches, and leading reliability capabilities to boost the performance and reliability of in-memory applications. + +## 3.36.6 - 2017-09-12 + +* `Aws\EC2` - Fixed bug in EC2 clients preventing HostOfferingSet from being set + +## 3.36.5 - 2017-09-11 + +* `Aws\DeviceFarm` - DeviceFarm has added support for two features - RemoteDebugging and Customer Artifacts. Customers can now do remote Debugging on their Private Devices and can now retrieve custom files generated by their tests on the device and the device host (execution environment) on both public and private devices. + +## 3.36.4 - 2017-09-08 + +* `Aws\CloudWatchLogs` - Adds support for the PutResourcePolicy, DescribeResourcePolicy and DeleteResourcePolicy APIs. + +## 3.36.3 - 2017-09-07 + +* `Aws\ApplicationAutoScaling` - Documentation updates for application-autoscaling +* `Aws\EC2` - With Tagging support, you can add Key and Value metadata to search, filter and organize your NAT Gateways according to your organization's needs. +* `Aws\ElasticLoadBalancingv2` - The feature enables the new Network Load Balancer that is optimized to handle volatile traffic patterns while using a single static IP address per Availability Zone. Network Load Balancer operates at the connection level (Layer 4), routing connections to Amazon EC2 instances and containers, within Amazon Virtual Private Cloud (Amazon VPC) based on IP protocol data. +* `Aws\LexModelBuildingService` - Amazon Lex provides the ability to export your Amazon Lex chatbot definition as a JSON file that can be added to the target platform. The JSON configuration file contains the structure of your Amazon Lex chatbot, including the intent schema with utterances, slots, prompts and slot-types. +* `Aws\Route53` - You can configure Amazon Route 53 to log information about the DNS queries that Amazon Route 53 receives for your domains and subdomains. When you configure query logging, Amazon Route 53 starts to send logs to CloudWatch Logs. You can use various tools, including the AWS console, to access the query logs. + +## 3.36.2 - 2017-09-06 + +* `Aws\Budgets` - Add an optional "thresholdType" to notifications to support percentage or absolute value thresholds. + +## 3.36.1 - 2017-09-05 + +* `Aws\CodeStar` - Added support to tag CodeStar projects. Tags can be used to organize and find CodeStar projects on key-value pairs that you can choose. For example, you could add a tag with a key of "Release" and a value of "Beta" to projects your organization is working on for an upcoming beta release. + +## 3.36.0 - 2017-09-01 + +* `Aws\GameLift` - GameLift VPC resources can be peered with any other AWS VPC. R4 memory-optimized instances now available to deploy. +* `Aws\Mobile` - AWS Mobile Hub is an integrated experience designed to help developers build, test, configure and release cloud-based applications for mobile devices using Amazon Web Services. AWS Mobile Hub provides a console and API for developers, allowing them to quickly select desired features and integrate them into mobile applications. Features include NoSQL Database, Cloud Logic, Messaging and Analytics. With AWS Mobile Hub, you pay only for the underlying services that Mobile Hub provisions based on the features you choose in the Mobile Hub console. +* `Aws\SSM` - Adding KMS encryption support to SSM Inventory Resource Data Sync. Exposes the ClientToken parameter on SSM StartAutomationExecution to provide idempotent execution requests. + +## 3.35.3 - 2017-08-31 + +* `Aws\CodeBuild` - The AWS CodeBuild HTTP API now provides the BatchDeleteBuilds operation, which enables you to delete existing builds. +* `Aws\EC2` - Descriptions for Security Group Rules enables customers to be able to define a description for ingress and egress security group rules . The Descriptions for Security Group Rules feature supports one description field per Security Group rule for both ingress and egress rules . Descriptions for Security Group Rules provides a simple way to describe the purpose or function of a Security Group Rule allowing for easier customer identification of configuration elements . Prior to the release of Descriptions for Security Group Rules , customers had to maintain a separate system outside of AWS if they wanted to track Security Group Rule mapping and their purpose for being implemented. If a security group rule has already been created and you would like to update or change your description for that security group rule you can use the UpdateSecurityGroupRuleDescription API. +* `Aws\ElasticLoadBalancingv2` - This change now allows Application Load Balancers to distribute traffic to AWS resources using their IP addresses as targets in addition to the instance IDs. You can also load balance to resources outside the VPC hosting the load balancer using their IP addresses as targets. This includes resources in peered VPCs, EC2-Classic, and on-premises locations reachable over AWS Direct Connect or a VPN connection. +* `Aws\LexModelBuildingService` - Amazon Lex now supports synonyms for slot type values. If the user inputs a synonym, it will be resolved to the corresponding slot value. + +## 3.35.2 - 2017-08-30 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling now supports the DisableScaleIn option for Target Tracking Scaling Policies. This allows customers to create scaling policies that will only add capacity to the target. +* `Aws\Organizations` - The exception ConstraintViolationException now contains a new reason subcode MASTERACCOUNT_MISSING_CONTACT_INFO to make it easier to understand why attempting to remove an account from an Organization can fail. We also improved several other of the text descriptions and examples. + +## 3.35.1 - 2017-08-29 + +* `Aws\ConfigService` - Increased the internal size limit of resourceId +* `Aws\EC2` - Provides capability to add secondary CIDR blocks to a VPC. + +## 3.35.0 - 2017-08-25 + +* `Aws\` - Update CloudHSM smoke tests to CloudHSMV2 +* `Aws\CloudFormation` - Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. +* `Aws\GameLift` - Update spelling of MatchmakingTicket status values for internal consistency. +* `Aws\RDS` - Option group options now contain additional properties that identify requirements for certain options. Check these properties to determine if your DB instance must be in a VPC or have auto minor upgrade turned on before you can use an option. Check to see if you can downgrade the version of an option after you have installed it. + +## 3.34.2 - 2017-08-24 + +* `Aws\Rekognition` - Update the enum value of LandmarkType and GenderType to be consistent with service response + +## 3.34.1 - 2017-08-23 + +* `Aws\AppStream` - Documentation updates for appstream + +## 3.34.0 - 2017-08-22 + +* `Aws\` - Fixes an issue where exceptions weren't being fully loaded when using a `SaveAs` parameter set to a file path on Guzzle v5. +* `Aws\` - Update Composer to add dependencies on `simplexml`, `pcre`, `spl` and `json`. This change will cause Composer updates to fail if you do not have these PHP extensions installed. +* `Aws\SSM` - Changes to associations in Systems Manager State Manager can now be recorded. Previously, when you edited associations, you could not go back and review older association settings. Now, associations are versioned, and can be named using human-readable strings, allowing you to see a trail of association changes. You can also perform rate-based scheduling, which allows you to schedule associations more granularly. + +## 3.33.4 - 2017-08-21 + +* `Aws\Firehose` - This change will allow customers to attach a Firehose delivery stream to an existing Kinesis stream directly. You no longer need a forwarder to move data from a Kinesis stream to a Firehose delivery stream. You can now run your streaming applications on your Kinesis stream and easily attach a Firehose delivery stream to it for data delivery to S3, Redshift, or Elasticsearch concurrently. +* `Aws\Route53` - Amazon Route 53 now supports CAA resource record type. A CAA record controls which certificate authorities are allowed to issue certificates for the domain or subdomain. + +## 3.33.3 - 2017-08-18 + +* `Aws\CodeStar` - Launch AWS CodeStar in the US West (N. California) and EU (London) regions. + +## 3.33.2 - 2017-08-16 + +* `Aws\` - Fixes a bug in `ClientResolver` that would provide incorrect information on required parameters set to `null` when resolving a client. +* `Aws\GameLift` - The Matchmaking Grouping Service is a new feature that groups player match requests for a given game together into game sessions based on developer configured rules. + +## 3.33.1 - 2017-08-15 + +* `Aws\EC2` - Fixed bug in EC2 clients preventing HostReservation from being set + +## 3.33.0 - 2017-08-14 + +* `Aws\Batch` - This release enhances the DescribeJobs API to include the CloudWatch logStreamName attribute in ContainerDetail and ContainerDetailAttempt +* `Aws\CloudHSMV2` - CloudHSM provides hardware security modules for protecting sensitive data and cryptographic keys within an EC2 VPC, and enable the customer to maintain control over key access and use. This is a second-generation of the service that will improve security, lower cost and provide better customer usability. +* `Aws\EFS` - Customers can create encrypted EFS file systems and specify a KMS master key to encrypt it with. +* `Aws\Glue` - AWS Glue is a fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics. You can create and run an ETL job with a few clicks in the AWS Management Console. You simply point AWS Glue to your data stored on AWS, and AWS Glue discovers your data and stores the associated metadata (e.g. table definition and schema) in the AWS Glue Data Catalog. Once cataloged, your data is immediately searchable, queryable, and available for ETL. AWS Glue generates the code to execute your data transformations and data loading processes. AWS Glue generates Python code that is entirely customizable, reusable, and portable. Once your ETL job is ready, you can schedule it to run on AWS Glue's fully managed, scale-out Spark environment. AWS Glue provides a flexible scheduler with dependency resolution, job monitoring, and alerting. AWS Glue is serverless, so there is no infrastructure to buy, set up, or manage. It automatically provisions the environment needed to complete the job, and customers pay only for the compute resources consumed while running ETL jobs. With AWS Glue, data can be available for analytics in minutes. +* `Aws\MigrationHub` - AWS Migration Hub provides a single location to track migrations across multiple AWS and partner solutions. Using Migration Hub allows you to choose the AWS and partner migration tools that best fit your needs, while providing visibility into the status of your entire migration portfolio. Migration Hub also provides key metrics and progress for individual applications, regardless of which tools are being used to migrate them. For example, you might use AWS Database Migration Service, AWS Server Migration Service, and partner migration tools to migrate an application comprised of a database, virtualized web servers, and a bare metal server. Using Migration Hub will provide you with a single screen that shows the migration progress of all the resources in the application. This allows you to quickly get progress updates across all of your migrations, easily identify and troubleshoot any issues, and reduce the overall time and effort spent on your migration projects. Migration Hub is available to all AWS customers at no additional charge. You only pay for the cost of the migration tools you use, and any resources being consumed on AWS. +* `Aws\SSM` - Systems Manager Maintenance Windows include the following changes or enhancements: New task options using Systems Manager Automation, AWS Lambda, and AWS Step Functions; enhanced ability to edit the targets of a Maintenance Window, including specifying a target name and description, and ability to edit the owner field; enhanced ability to edits tasks; enhanced support for Run Command parameters; and you can now use a --safe flag when attempting to deregister a target. If this flag is enabled when you attempt to deregister a target, the system returns an error if the target is referenced by any task. Also, Systems Manager now includes Configuration Compliance to scan your fleet of managed instances for patch compliance and configuration inconsistencies. You can collect and aggregate data from multiple AWS accounts and Regions, and then drill down into specific resources that aren't compliant. +* `Aws\StorageGateway` - Add optional field ForceDelete to DeleteFileShare api. + +## 3.32.7 - 2017-08-11 + +* `Aws\CodeDeploy` - Adds support for specifying Application Load Balancers in deployment groups, for both in-place and blue/green deployments. +* `Aws\CognitoIdentityProvider` - We have added support for features for Amazon Cognito User Pools that enable application developers to easily add and customize a sign-up and sign-in user experience, use OAuth 2.0, and integrate with Facebook, Google, Login with Amazon, and SAML-based identity providers. +* `Aws\EC2` - Provides customers an opportunity to recover an EIP that was released + +## 3.32.6 - 2017-08-10 + +* `Aws\CloudDirectory` - Enable BatchDetachPolicy +* `Aws\CodeBuild` - Supporting Bitbucket as source type in AWS CodeBuild. + +## 3.32.5 - 2017-08-09 + +* `Aws\RDS` - Documentation updates for RDS. + +## 3.32.4 - 2017-08-08 + +* `Aws\ElasticBeanstalk` - Add support for paginating the result of DescribeEnvironments. Include the ARN of described environments in DescribeEnvironments output. +* `Aws\Signature` - Fixed edgecase in expiration duration check on signature when seconds roll between implicit startime and relative end time. + +## 3.32.3 - 2017-08-01 + +* `Aws\CodeDeploy` - AWS CodeDeploy now supports the use of multiple tag groups in a single deployment group (an intersection of tags) to identify the instances for a deployment. When you create or update a deployment group, use the new ec2TagSet and onPremisesTagSet structures to specify up to three groups of tags. Only instances that are identified by at least one tag in each of the tag groups are included in the deployment group. +* `Aws\ConfigService` - Added new API, GetDiscoveredResourceCounts, which returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in the given region for your AWS account. +* `Aws\EC2` - Ec2 SpotInstanceRequestFulfilled waiter update +* `Aws\ElasticLoadBalancingv2` - Add TargetInService and TargetDeregistered waiters +* `Aws\Pinpoint` - This release of the Pinpoint SDK enables App management - create, delete, update operations, Raw Content delivery for APNs and GCM campaign messages and From Address override. +* `Aws\SES` - This update adds information about publishing email open and click events. This update also adds information about publishing email events to Amazon Simple Notification Service (Amazon SNS). + +## 3.32.2 - 2017-07-31 + +* `Aws\CodeStar` - AWS CodeStar is now available in the following regions: Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt) +* `Aws\Inspector` - Inspector's StopAssessmentRun API has been updated with a new input option - stopAction. This request parameter can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value, and the previous behavior) stops the AWS agent data collection and begins the results evaluation for findings generation based on the data collected so far. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated. +* `Aws\SSM` - Adds a SendAutomationSignal API to SSM Service. This API is used to send a signal to an automation execution to change the current behavior or status of the execution. + +## 3.32.1 - 2017-07-27 + +* `Aws\EC2` - The CreateDefaultVPC API enables you to create a new default VPC . You no longer need to contact AWS support, if your default VPC has been deleted. +* `Aws\KinesisAnalytics` - Added additional exception types and clarified documentation. + +## 3.32.0 - 2017-07-26 + +* `Aws\` - Support for changes regarding PHP 7.2 releases. +* `Aws\CloudWatch` - This release adds high resolution features to CloudWatch, with support for Custom Metrics down to 1 second and Alarms down to 10 seconds. +* `Aws\DynamoDB` - Corrected a typo. +* `Aws\EC2` - Amazon EC2 Elastic GPUs allow you to easily attach low-cost graphics acceleration to current generation EC2 instances. With Amazon EC2 Elastic GPUs, you can configure the right amount of graphics acceleration to your particular workload without being constrained by fixed hardware configurations and limited GPU selection. + +## 3.31.10 - 2017-07-25 + +* `Aws\CloudDirectory` - Cloud Directory adds support for additional batch operations. +* `Aws\CloudFormation` - AWS CloudFormation StackSets enables you to manage stacks across multiple accounts and regions. + +## 3.31.9 - 2017-07-24 + +* `Aws\AppStream` - Amazon AppStream 2.0 image builders and fleets can now access applications and network resources that rely on Microsoft Active Directory (AD) for authentication and permissions. This new feature allows you to join your streaming instances to your AD, so you can use your existing AD user management tools. +* `Aws\EC2` - Spot Fleet tagging capability allows customers to automatically tag instances launched by Spot Fleet. You can use this feature to label or distinguish instances created by distinct Spot Fleets. Tagging your EC2 instances also enables you to see instance cost allocation by tag in your AWS bill. + +## 3.31.8 - 2017-07-20 + +* `Aws\EMR` - Amazon EMR now includes the ability to use a custom Amazon Linux AMI and adjustable root volume size when launching a cluster. + +## 3.31.7 - 2017-07-19 + +* `Aws\Budgets` - Update budget Management API's to list/create/update RI_UTILIZATION type budget. Update budget Management API's to support DAILY timeUnit for RI_UTILIZATION type budget. +* `Aws\S3` - Properly handle reading mismatched regions from S3's AuthorizationHeaderMalformed exception for S3MultiRegionClient. + +## 3.31.6 - 2017-07-17 + +* `Aws\CognitoIdentityProvider` - Allows developers to configure user pools for email/phone based signup and sign-in. +* `Aws\Lambda` - Lambda@Edge lets you run code closer to your end users without provisioning or managing servers. With Lambda@Edge, your code runs in AWS edge locations, allowing you to respond to your end users at the lowest latency. Your code is triggered by Amazon CloudFront events, such as requests to and from origin servers and viewers, and it is ready to execute at every AWS edge location whenever a request for content is received. You just upload your Node.js code to AWS Lambda and Lambda takes care of everything required to run and scale your code with high availability. You only pay for the compute time you consume - there is no charge when your code is not running. + +## 3.31.5 - 2017-07-14 + +* `Aws\ApplicationDiscoveryService` - Adding feature to the Export API for Discovery Service to allow filters for the export task to allow export based on per agent id. +* `Aws\EC2` - New EC2 GPU Graphics instance +* `Aws\MarketplaceCommerceAnalytics` - Update to Documentation Model For New Report Cadence / Reformat of Docs + +## 3.31.4 - 2017-07-13 + +* `Aws\APIGateway` - Adds support for management of gateway responses. +* `Aws\EC2` - X-ENI (or Cross-Account ENI) is a new feature that allows the attachment or association of Elastic Network Interfaces (ENI) between VPCs in different AWS accounts located in the same availability zone. With this new capability, service providers and partners can deliver managed solutions in a variety of new architectural patterns where the provider and consumer of the service are in different AWS accounts. +* `Aws\LexModelBuildingService` - Fixed broken links to reference and conceptual content. + +## 3.31.3 - 2017-07-12 + +* `Aws\AutoScaling` - Auto Scaling now supports a new type of scaling policy called target tracking scaling policies that you can use to set up dynamic scaling for your application. +* `Aws\S3` - Fixes an issue introduced in 3.31.0 that was not setting the ContentLength for all MultipartUploader::createPart streams, therefore potentially using an incorrect, $options['params'] value. +* `Aws\SWF` - Added support for attaching control data to Lambda tasks. Control data lets you attach arbitrary strings to your decisions and history events. + +## 3.31.2 - 2017-07-06 + +* `Aws\DirectoryService` - You can now improve the resilience and performance of your Microsoft AD directory by deploying additional domain controllers. Added UpdateNumberofDomainControllers API that allows you to update the number of domain controllers you want for your directory, and DescribeDomainControllers API that allows you to describe the detailed information of each domain controller of your directory. Also added the 'DesiredNumberOfDomainControllers' field to the DescribeDirectories API output for Microsoft AD. +* `Aws\Ecs` - ECS/ECR now available in BJS +* `Aws\KMS` - This release of AWS Key Management Service introduces the ability to determine whether a key is AWS managed or customer managed. +* `Aws\Kinesis` - You can now encrypt your data at rest within an Amazon Kinesis Stream using server-side encryption. Server-side encryption via AWS KMS makes it easy for customers to meet strict data management requirements by encrypting their data at rest within the Amazon Kinesis Streams, a fully managed real-time data processing service. +* `Aws\SSM` - Amazon EC2 Systems Manager now expands Patching support to Amazon Linux, Red Hat and Ubuntu in addition to the already supported Windows Server. + +## 3.31.1 - 2017-07-05 + +* `Aws\CloudWatch` - We are excited to announce the availability of APIs and CloudFormation support for CloudWatch Dashboards. You can use the new dashboard APIs or CloudFormation templates to dynamically build and maintain dashboards to monitor your infrastructure and applications. There are four new dashboard APIs - PutDashboard, GetDashboard, DeleteDashboards, and ListDashboards APIs. PutDashboard is used to create a new dashboard or modify an existing one whereas GetDashboard is the API to get the details of a specific dashboard. ListDashboards and DeleteDashboards are used to get the names or delete multiple dashboards respectively. Getting started with dashboard APIs is similar to any other AWS APIs. The APIs can be accessed through AWS SDK or through CLI tools. +* `Aws\Route53` - Bug fix for InvalidChangeBatch exception. + +## 3.31.0 - 2017-06-30 + +* `Aws\MarketplaceCommerceAnalytics` - Documentation updates for AWS Marketplace Commerce Analytics. +* `Aws\S3` - API Update for S3: Adding Object Tagging Header to MultipartUpload Initialization +* `Aws\S3` - A new `params` option is available in the `MultipartUploader` and `MultipartCopy` classes for parameters that should be applied to all sub-commands of their upload functionality. This also improves functionality around passing `params` directly to `ObjectUploader` and `ObjectCopier`. A new `before_lookup` callback has been added to `ObjectCopier` for operating on the `HeadObject` command directly; `params` will be passed to HeadObject as well. Since these are changes to existing options, they may alter current functionality. + +## 3.30.4 - 2017-06-29 + +* `Aws\CloudWatchEvents` - CloudWatch Events now allows different AWS accounts to share events with each other through a new resource called event bus. Event buses accept events from AWS services, other AWS accounts and PutEvents API calls. Currently all AWS accounts have one default event bus. To send events to another account, customers simply write rules to match the events of interest and attach an event bus in the receiving account as the target to the rule. The PutTargets API has been updated to allow adding cross account event buses as targets. In addition, we have released two new APIs - PutPermission and RemovePermission - that enables customers to add/remove permissions to their default event bus. +* `Aws\GameLift` - Allow developers to download GameLift fleet creation logs to assist with debugging. +* `Aws\SSM` - Adding Resource Data Sync support to SSM Inventory. New APIs: * CreateResourceDataSync - creates a new resource data sync configuration, * ListResourceDataSync - lists existing resource data sync configurations, * DeleteResourceDataSync - deletes an existing resource data sync configuration. + +## 3.30.3 - 2017-06-27 + +* `Aws\Greengrass` - AWS Greengrass is now available in new regions. +* `Aws\ServiceCatalog` - Proper tagging of resources is critical to post-launch operations such as billing, cost allocation, and resource management. By using Service Catalog's TagOption Library, administrators can define a library of re-usable TagOptions that conform to company standards, and associate these with Service Catalog portfolios and products. Learn how to move your current tags to the new library, create new TagOptions, and view and associate your library items with portfolios and products. Understand how to ensure that the right tags are created on products launched through Service Catalog and how to provide users with defined selectable tags. + +## 3.30.2 - 2017-06-23 + +* `Aws\Lambda` - The Lambda Invoke API will now throw new exception InvalidRuntimeException (status code 502) for invokes with deprecated runtimes. + +## 3.30.1 - 2017-06-22 + +* `Aws\CodePipeline` - A new API, ListPipelineExecutions, enables you to retrieve summary information about the most recent executions in a pipeline, including pipeline execution ID, status, start time, and last updated time. You can request information for a maximum of 100 executions. Pipeline execution data is available for the most recent 12 months of activity. +* `Aws\DatabaseMigrationService` - Added tagging for DMS certificates. +* `Aws\ElasticLoadBalancing` - Add retry error state to InstanceInService waiter for ElasticLoadBalancer +* `Aws\Lambda` - Lambda is now available in the Canada (Central) region. +* `Aws\Lightsail` - This release adds a new nextPageToken property to the result of the GetOperationsForResource API. Developers can now get the next set of items in a list by making subsequent calls to GetOperationsForResource API with the token from the previous call. This release also deprecates the nextPageCount property, which previously returned null (use the nextPageToken property instead). This release also deprecates the customImageName property on the CreateInstancesRequest class, which was previously ignored by the API. +* `Aws\Route53` - This release reintroduces the HealthCheckInUse exception. + +## 3.30.0 - 2017-06-21 + +* `Aws\DAX` - Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement - from milliseconds to microseconds - even at millions of requests per second. DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation, data population, or cluster management. +* `Aws\Route53` - Amazon Route 53 now supports multivalue answers in response to DNS queries, which lets you route traffic approximately randomly to multiple resources, such as web servers. Create one multivalue answer record for each resource and, optionally, associate an Amazon Route 53 health check with each record, and Amazon Route 53 responds to DNS queries with up to eight healthy records. +* `Aws\SSM` - Adding hierarchy support to the SSM Parameter Store API. Added support tor tagging. New APIs: GetParameter - retrieves one parameter, DeleteParameters - deletes multiple parameters (max number 10), GetParametersByPath - retrieves parameters located in the hierarchy. Updated APIs: PutParameter - added ability to enforce parameter value by applying regex (AllowedPattern), DescribeParameters - modified to support Tag filtering. +* `Aws\WAF` - You can now create, edit, update, and delete a new type of WAF rule with a rate tracking component. + +## 3.29.9 - 2017-06-20 + +* `Aws\WorkDocs` - This release provides a new API to retrieve the activities performed by WorkDocs users. + +## 3.29.8 - 2017-06-19 + +* `Aws\Organizations` - Improvements to Exception Modeling + +## 3.29.7 - 2017-06-16 + +* `Aws\Batch` - AWS Batch is now available in the ap-northeast-1 region. +* `Aws\XRay` - Add a response time histogram to the services in response of GetServiceGraph API. + +## 3.29.6 - 2017-06-15 + +* `Aws\EC2` - Adds API to describe Amazon FPGA Images (AFIs) available to customers, which includes public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions. +* `Aws\ECS` - Added support for cpu, memory, and memory reservation container overrides on the RunTask and StartTask APIs. +* `Aws\IoT` - Revert the last release: remove CertificatePem from DescribeCertificate API. +* `Aws\ServiceCatalog` - Added ProvisioningArtifactSummaries to DescribeProductAsAdmin's output to show the provisioning artifacts belong to the product. Allow filtering by SourceProductId in SearchProductsAsAdmin for AWS Marketplace products. Added a verbose option to DescribeProvisioningArtifact to display the CloudFormation template used to create the provisioning artifact.Added DescribeProvisionedProduct API. Changed the type of ProvisionedProduct's Status to be distinct from Record's Status. New ProvisionedProduct's Status are AVAILABLE, UNDER_CHANGE, TAINTED, ERROR. Changed Record's Status set of values to CREATED, IN_PROGRESS, IN_PROGRESS_IN_ERROR, SUCCEEDED, FAILED. + +## 3.29.5 - 2017-06-14 + +* `Aws\ApplicationAutoScaling` - Application Auto Scaling now supports automatic scaling of read and write throughput capacity for DynamoDB tables and global secondary indexes. +* `Aws\CloudDirectory` - Documentation update for Cloud Directory + +## 3.29.4 - 2017-06-13 + +* `Aws\ConfigService` - With this release AWS Config supports the Amazon CloudWatch alarm resource type. + +## 3.29.3 - 2017-06-12 + +* `Aws\RDS` - API Update for RDS: this update enables copy-on-write, a new Aurora MySQL Compatible Edition feature that allows users to restore their database, and support copy of TDE enabled snapshot cross region. + +## 3.29.2 - 2017-06-09 + +* `Aws\OpsWorks` - Tagging Support for AWS OpsWorks Stacks + +## 3.29.1 - 2017-06-08 + +* `Aws\IoT` - In addition to using certificate ID, AWS IoT customers can now obtain the description of a certificate with the certificate PEM. +* `Aws\Pinpoint` - Starting today Amazon Pinpoint adds SMS Text and Email Messaging support in addition to Mobile Push Notifications, providing developers, product managers and marketers with multi-channel messaging capabilities to drive user engagement in their applications. Pinpoint also enables backend services and applications to message users directly and provides advanced user and app analytics to understand user behavior and messaging performance. +* `Aws\Rekognition` - API Update for AmazonRekognition: Adding RecognizeCelebrities API + +## 3.29.0 - 2017-06-07 + +* `Aws\CodeBuild` - Add support to APIs for privileged containers. This change would allow performing privileged operations like starting the Docker daemon inside builds possible in custom docker images. +* `Aws\Greengrass` - AWS Greengrass is software that lets you run local compute, messaging, and device state synchronization for connected devices in a secure way. With AWS Greengrass, connected devices can run AWS Lambda functions, keep device data in sync, and communicate with other devices securely even when not connected to the Internet. Using AWS Lambda, Greengrass ensures your IoT devices can respond quickly to local events, operate with intermittent connections, and minimize the cost of transmitting IoT data to the cloud. + +## 3.28.10 - 2017-06-06 + +* `Aws\ACM` - Documentation update for AWS Certificate Manager. +* `Aws\CloudFront` - Doc update to fix incorrect prefix in S3OriginConfig +* `Aws\IoT` - Update client side validation for SalesForce action. + +## 3.28.9 - 2017-06-05 + +* `Aws\AppStream` - AppStream 2.0 Custom Security Groups allows you to easily control what network resources your streaming instances and images have access to. You can assign up to 5 security groups per Fleet to control the inbound and outbound network access to your streaming instances to specific IP ranges, network protocols, or ports. +* `Aws\AutoScaling` - Autoscaling resource model update. +* `Aws\IoT` - Added Salesforce action to IoT Rules Engine. + +## 3.28.8 - 2017-06-02 + +* `Aws\KinesisAnalytics` - Kinesis Analytics publishes error messages CloudWatch logs in case of application misconfigurations +* `Aws\WorkDocs` - This release includes new APIs to manage tags and custom metadata on resources and also new APIs to add and retrieve comments at the document level. + +## 3.28.7 - 2017-06-01 + +* `Aws\CodeDeploy` - AWS CodeDeploy has improved how it manages connections to GitHub accounts and repositories. You can now create and store up to 25 connections to GitHub accounts in order to associate AWS CodeDeploy applications with GitHub repositories. Each connection can support multiple repositories. You can create connections to up to 25 different GitHub accounts, or create more than one connection to a single account. The ListGitHubAccountTokenNames command has been introduced to retrieve the names of stored connections to GitHub accounts that you have created. The name of the connection to GitHub used for an AWS CodeDeploy application is also included in the ApplicationInfo structure. Two new fields, lastAttemptedDeployment and lastSuccessfulDeployment, have been added to DeploymentGroupInfo to improve the handling of deployment group information in the AWS CodeDeploy console. Information about these latest deployments can also be retrieved using the GetDeploymentGroup and BatchGetDeployment group requests. Also includes a region update (us-gov-west-1). +* `Aws\CognitoIdentityProvider` - Added support within Amazon Cognito User Pools for 1) a customizable hosted UI for user sign up and sign in and 2) integration of external identity providers. +* `Aws\ElasticLoadBalancingv2` - Update the existing DescribeRules API to support pagination. +* `Aws\LexModelBuildingService` - Updated documentation and added examples for Amazon Lex Runtime Service. + +## 3.28.6 - 2017-05-31 + +* `Aws\RDS` - Amazon RDS customers can now easily and quickly stop and start their DB instances. + +## 3.28.5 - 2017-05-30 + +* `Aws\CloudDirectory` - Cloud Directory has launched support for Typed Links, enabling customers to create object-to-object relationships that are not hierarchical in nature. Typed Links enable customers to quickly query for data along these relationships. Customers can also enforce referential integrity using Typed Links, ensuring data in use is not inadvertently deleted. +* `Aws\S3` - New example snippets for Amazon S3. +* `Aws\S3` - S3 calls are now done with a host style URL by default. Options for path style on the client and command levels are available as `use_path_style_endpoint` and `@use_path_style_endpoint`, respectively. [More details on the differences between the styles can be found here.](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro) + +## 3.28.4 - 2017-05-25 + +* `Aws\AppStream` - Support added for persistent user storage, backed by S3. +* `Aws\Rekognition` - Updated the CompareFaces API response to include orientation information, unmatched faces, landmarks, pose, and quality of the compared faces. + +## 3.28.3 - 2017-05-24 + +* `Aws\IAM` - The unique ID and access key lengths were extended from 32 to 128 +* `Aws\STS` - The unique ID and access key lengths were extended from 32 to 128. +* `Aws\StorageGateway` - Two Storage Gateway data types, Tape and TapeArchive, each have a new response element, TapeUsedInBytes. This element helps you manage your virtual tapes. By using TapeUsedInBytes, you can see the amount of data written to each virtual tape. + +## 3.28.2 - 2017-05-23 + +* `Aws\DatabaseMigrationService` - This release adds support for using Amazon S3 and Amazon DynamoDB as targets for database migration, and using MongoDB as a source for database migration. For more information, see the AWS Database Migration Service documentation. + +## 3.28.1 - 2017-05-22 + +* `Aws\ResourceGroupsTaggingAPI` - You can now specify the number of resources returned per page in GetResources operation, as an optional parameter, to easily manage the list of resources returned by your queries. +* `Aws\SQS` - MD5 Validation of `MessageAttributes` is now being performed on `ReceiveMessage` calls. SQS uses a custom encoding for generating the hash input, [details on that scheme are available here.](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#sqs-attrib-md5) + +## 3.28.0 - 2017-05-18 + +* `Aws\Athena` - This release adds support for Amazon Athena. Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run. +* `Aws\Lightsail` - This release adds new APIs that make it easier to set network port configurations on Lightsail instances. Developers can now make a single request to both open and close public ports on an instance using the PutInstancePublicPorts operation. + +## 3.27.5 - 2017-05-17 + +* `Aws\AutoScaling` - Various Auto Scaling documentation updates +* `Aws\CloudWatchEvents` - Various CloudWatch Events documentation updates. +* `Aws\CloudWatchLogs` - Various CloudWatch Logs documentation updates. +* `Aws\Polly` - Amazon Polly adds new German voice "Vicki" + +## 3.27.4 - 2017-05-16 + +* `Aws\CodeDeploy` - This release introduces the previousRevision field in the responses to the GetDeployment and BatchGetDeployments actions. previousRevision provides information about the application revision that was deployed to the deployment group before the most recent successful deployment. Also, the fileExistsBehavior parameter has been added for CreateDeployment action requests. In the past, if the AWS CodeDeploy agent detected files in a target location that weren't part of the application revision from the most recent successful deployment, it would fail the current deployment by default. This new parameter provides options for how the agent handles these files: fail the deployment, retain the content, or overwrite the content. +* `Aws\GameLift` - Allow developers to specify how metrics are grouped in CloudWatch for their GameLift fleets. Developers can also specify how many concurrent game sessions activate on a per-instance basis. +* `Aws\Inspector` - Adds ability to produce an assessment report that includes detailed and comprehensive results of a specified assessment run. +* `Aws\KMS` - Update documentation for KMS. + +## 3.27.3 - 2017-05-15 + +* `Aws\SSM` - UpdateAssociation API now supports updating document name and targets of an association. GetAutomationExecution API can return FailureDetails as an optional field to the StepExecution Object, which contains failure type, failure stage as well as other failure related information for a failed step. + +## 3.27.2 - 2017-05-11 + +* `Aws\ElasticLoadBalancing` - Add a new API to allow customers to describe their account limits, such as load balancer limit, target group limit etc. +* `Aws\ElasticLoadBalancingv2` - Add a new API to allow customers to describe their account limits, such as load balancer limit, target group limit etc. +* `Aws\LexModelBuildingService` - Releasing new DeleteBotVersion, DeleteIntentVersion and DeleteSlotTypeVersion APIs. +* `Aws\Organizations` - AWS Organizations APIs that return an Account object now include the email address associated with the account’s root user. + +## 3.27.1 - 2017-05-09 + +* `Aws\CodeStar` - Updated documentation for AWS CodeStar. +* `Aws\WorkSpaces` - Doc-only Update for WorkSpaces + +## 3.27.0 - 2017-05-04 + +* `Aws\ECS` - Exposes container instance registration time in ECS:DescribeContainerInstances. +* `Aws\Lambda` - Support for UpdateFunctionCode DryRun option +* `Aws\MarketplaceEntitlementService` - AWS Marketplace Entitlement Service enables AWS Marketplace sellers to determine the capacity purchased by their customers. +* `Aws\S3` - Fixed possible security issue in `Transfer`s download `transfer` operation where files could be downloaded to a directory outside the destination directory if the key contained relative paths. Ignoring files to continue with your transfer can be done through passing an iterator of files to download to `Transfer`s parameter: `$source`. These can be generated on `s3://` paths if you have registered the SDK's `StreamWrapper` via `\Aws\recursive_dir_iterator`. + +## 3.26.5 - 2017-04-28 + +* `Aws\CloudFormation` - Adding back the removed waiters and paginators. + +## 3.26.4 - 2017-04-28 + +* `Aws\CloudFormation` - API update for CloudFormation: New optional parameter ClientRequestToken which can be used as an idempotency token to safely retry certain operations as well as tagging StackEvents. +* `Aws\RDS` - The DescribeDBClusterSnapshots API now returns a SourceDBClusterSnapshotArn field which identifies the source DB cluster snapshot of a copied snapshot. +* `Aws\Rekognition` - Fix for missing file type check +* `Aws\SQS` - Adding server-side encryption (SSE) support to SQS by integrating with AWS KMS; adding new queue attributes to SQS CreateQueue, SetQueueAttributes and GetQueueAttributes APIs to support SSE. +* `Aws\Snowball` - The Snowball API has a new exception that can be thrown for list operation requests. + +## 3.26.3 - 2017-04-26 + +* `Aws\RDS` - With Amazon Relational Database Service (Amazon RDS) running MySQL or Amazon Aurora, you can now authenticate to your DB instance using IAM database authentication. + +## 3.26.2 - 2017-04-21 + +* `Aws\AppStream` - The new feature named "Default Internet Access" will enable Internet access from AppStream 2.0 instances - image builders and fleet instances. Admins will check a flag either through AWS management console for AppStream 2.0 or through API while creating an image builder or while creating/updating a fleet. +* `Aws\Kinesis` - Adds a new waiter, StreamNotExists, to Kinesis + +## 3.26.1 - 2017-04-20 + +* `Aws\DeviceFarm` - API Update for AWS Device Farm: Support for Deals and Promotions +* `Aws\DirectConnect` - Documentation updates for AWS Direct Connect. +* `Aws\ElasticLoadBalancingv2` - Adding LoadBalancersDeleted waiter for Elasticloadbalancingv2 +* `Aws\KMS` - Doc-only update for Key Management Service (KMS): Update docs for GrantConstraints and GenerateRandom +* `Aws\Route53` - Release notes: SDK documentation now includes examples for ChangeResourceRecordSets for all types of resource record set, such as weighted, alias, and failover. +* `Aws\Route53Domains` - Adding examples and other documentation updates. + +## 3.26.0 - 2017-04-19 + +* `Aws\APIGateway` - Add support for "embed" property. +* `Aws\CodeStar` - AWS CodeStar is a cloud-based service for creating, managing, and working with software development projects on AWS. An AWS CodeStar project creates and integrates AWS services for your project development toolchain. AWS CodeStar also manages the permissions required for project users. +* `Aws\EC2` - Adds support for creating an Amazon FPGA Image (AFI) from a specified design checkpoint (DCP). +* `Aws\IAM` - This changes introduces a new IAM role type, Service Linked Role, which works like a normal role but must be managed via services' control. +* `Aws\Lambda` - Lambda integration with CloudDebugger service to enable customers to enable tracing for the Lambda functions and send trace information to the CloudDebugger service. +* `Aws\LexModelBuildingService` - Amazon Lex is a service for building conversational interfaces into any application using voice and text. +* `Aws\Polly` - API Update for Amazon Polly: Add support for speech marks +* `Aws\Rekognition` - Given an image, the API detects explicit or suggestive adult content in the image and returns a list of corresponding labels with confidence scores, as well as a taxonomy (parent-child relation) for each label. + +## 3.25.8 - 2017-04-18 + +* `Aws\Lambda` - You can use tags to group and filter your Lambda functions, making it easier to analyze them for billing allocation purposes. For more information, see Tagging Lambda Functions. You can now write or upgrade your Lambda functions using Python version 3.6. For more information, see Programming Model for Authoring Lambda Functions in Python. Note: Features will be rolled out in the US regions on 4/19. + +## 3.25.7 - 2017-04-11 + +* `Aws\APIGateway` - API Gateway request validators +* `Aws\Batch` - API Update for AWS Batch: Customer provided AMI for MANAGED Compute Environment +* `Aws\GameLift` - Allows developers to utilize an improved workflow when calling our Queues API and introduces a new feature that allows developers to specify a maximum allowable latency per Queue. +* `Aws\OpsWorks` - Cloudwatch Logs agent configuration can now be attached to OpsWorks Layers using CreateLayer and UpdateLayer. OpsWorks will then automatically install and manage the CloudWatch Logs agent on the instances part of the OpsWorks Layer. + +## 3.25.6 - 2017-04-07 + +* `Aws\Redshift` - This update adds the GetClusterCredentials API which is used to get temporary login credentials to the cluster. AccountWithRestoreAccess now has a new member AccountAlias, this is the identifier of the AWS support account authorized to restore the specified snapshot. This is added to support the feature where the customer can share their snapshot with the Amazon Redshift Support Account without having to manually specify the AWS Redshift Service account ID on the AWS Console/API. + +## 3.25.5 - 2017-04-06 + +* `Aws\ElasticLoadBalancingv2` - Adds supports a new condition for host-header conditions to CreateRule and ModifyRule + +## 3.25.4 - 2017-04-05 + +* `Aws\ElastiCache` - ElastiCache added support for testing the Elasticache Multi-AZ feature with Automatic Failover. + +## 3.25.3 - 2017-04-04 + +* `Aws\CloudWatch` - Amazon Web Services announced the immediate availability of two additional alarm configuration rules for Amazon CloudWatch Alarms. The first rule is for configuring missing data treatment. Customers have the options to treat missing data as alarm threshold breached, alarm threshold not breached, maintain alarm state and the current default treatment. The second rule is for alarms based on percentiles metrics that can trigger unnecessarily if the percentile is calculated from a small number of samples. The new rule can treat percentiles with low sample counts as same as missing data. If the first rule is enabled, the same treatment will be applied when an alarm encounters a percentile with low sample counts. + +## 3.25.2 - 2017-04-03 + +* `Aws\LexRuntimeService` - Adds support to PostContent for speech input + +## 3.25.1 - 2017-03-31 + +* `Aws\CloudDirectory` - ListObjectAttributes now supports filtering by facet. + +## 3.25.0 - 2017-03-31 + +* `Aws\CloudFormation` - Adding paginators for ListExports and ListImports +* `Aws\CloudFront` - Amazon CloudFront now supports user configurable HTTP Read and Keep-Alive Idle Timeouts for your Custom Origin Servers +* `Aws\ResourceGroupsTaggingAPI` - Resource Groups Tagging APIs can help you organize your resources and enable you to simplify resource management, access management, and cost allocation. +* `Aws\StorageGateway` - File gateway mode in AWS Storage gateway provides access to objects in S3 as files on a Network File System (NFS) mount point. Once a file share is created, any changes made externally to the S3 bucket will not be reflected by the gateway. Using the cache refresh feature in this update, the customer can trigger an on-demand scan of the keys in their S3 bucket and refresh the file namespace cached on the gateway. It takes as an input the fileShare ARN and refreshes the cache for only that file share. Additionally there is new functionality on file gateway that allows you configure what squash options they would like on their file share, this allows a customer to configure their gateway to not squash root permissions. This can be done by setting options in NfsOptions for CreateNfsFileShare and UpdateNfsFileShare APIs. + +## 3.24.9 - 2017-03-28 + +* `Aws\Batch` - Customers can now provide a retryStrategy as part of the RegisterJobDefinition and SubmitJob API calls. The retryStrategy object has a number value for attempts. This is the number of non successful executions before a job is considered FAILED. In addition, the JobDetail object now has an attempts field and shows all execution attempts. +* `Aws\EC2` - Customers can now tag their Amazon EC2 Instances and Amazon EBS Volumes at the time of their creation. You can do this from the EC2 Instance launch wizard or through the RunInstances or CreateVolume APIs. By tagging resources at the time of creation, you can eliminate the need to run custom tagging scripts after resource creation. In addition, you can now set resource-level permissions on the CreateVolume, CreateTags, DeleteTags, and the RunInstances APIs. This allows you to implement stronger security policies by giving you more granular control over which users and groups have access to these APIs. You can also enforce the use of tagging and control what tag keys and values are set on your resources. When you combine tag usage and resource-level IAM policies together, you can ensure your instances and volumes are properly secured upon creation and achieve more accurate cost allocation reporting. These new features are provided at no additional cost. + +## 3.24.8 - 2017-03-27 + +* `Aws\SSM` - Updated validation rules for SendCommand and RegisterTaskWithMaintenanceWindow APIs + +## 3.24.7 - 2017-03-23 + +* `Aws\ApplicationAutoScaling` - Application AutoScaling is launching support for a new target resource (AppStream 2.0 Fleets) as a scalable target. + +## 3.24.6 - 2017-03-22 + +* `Aws\ApplicationDiscoveryService` - Adds export configuration options to the AWS Discovery Service API. +* `Aws\ElasticLoadBalancingv2` - Adding waiters for Elastic Load Balancing V2 +* `Aws\Lambda` - Adds support for new runtime Node.js v6.10 for AWS Lambda service + +## 3.24.5 - 2017-03-21 + +* `Aws\DirectConnect` - Deprecated DescribeConnectionLoa, DescribeInterconnectLoa, AllocateConnectionOnInterconnect and DescribeConnectionsOnInterconnect operations in favor of DescribeLoa, DescribeLoa, AllocateHostedConnection and DescribeHostedConnections respectively. +* `Aws\MarketplaceCommerceAnalytics` - This update adds a new data set, us_sales_and_use_tax_records, which enables AWS Marketplace sellers to programmatically access to their U.S. Sales and Use Tax report data. +* `Aws\Pinpoint` - Added support for segment endpoints by user attributes in addition to endpoint attributes, publishing raw app analytics and campaign events as events streams to Kinesis and Kinesis Firehose + +## 3.24.4 - 2017-03-14 +* `Aws\CloudWatchEvents` - Update documentation + +## 3.24.3 - 2017-03-13 + +* `Aws\CloudWatchEvents` - This update extends Target Data Type for configuring Target behavior during invocation. +* `Aws\DeviceFarm` - Network shaping allows users to simulate network connections and conditions while testing their Android, iOS, and web apps with AWS Device Farm. + +## 3.24.2 - 2017-03-10 + +* `Aws\CodeDeploy` - Add paginators for Codedeploy +* `Aws\EMR` - This release includes support for instance fleets in Amazon EMR. + +## 3.24.1 - 2017-03-09 + +* `Aws\APIGateway` - API Gateway has added support for ACM certificates on custom domain names. Both Amazon-issued certificates and uploaded third-part certificates are supported. +* `Aws\CloudDirectory` - Introduces a new Cloud Directory API that enables you to retrieve all available parent paths for any type of object (a node, leaf node, policy node, and index node) in a hierarchy. + +## 3.24.0 - 2017-03-08 + +* `Aws\WorkDocs` - The Administrative SDKs for Amazon WorkDocs provides full administrator level access to WorkDocs site resources, allowing developers to integrate their applications to manage WorkDocs users, content and permissions programmatically + +## 3.23.3 - 2017-03-08 + +* `Aws\RDS` - Add support to using encrypted clusters as cross-region replication masters. Update CopyDBClusterSnapshot API to support encrypted cross region copy of Aurora cluster snapshots. + +## 3.23.2 - 2017-03-06 + +* `Aws\Budgets` - When creating or editing a budget via the AWS Budgets API you can define notifications that are sent to subscribers when the actual or forecasted value for cost or usage exceeds the notificationThreshold associated with the budget notification object. Starting today, the maximum allowed value for the notificationThreshold was raised from 100 to 300. This change was made to give you more flexibility when setting budget notifications. +* `Aws\OpsWorksCM` - OpsWorks for Chef Automate has added a new field "AssociatePublicIpAddress" to the CreateServer request, "CloudFormationStackArn" to the Server model and "TERMINATED" server state. + +## 3.23.1 - 2017-02-28 + +* `Aws\MTurk` - Update namespace for `Amazon Mechanical Turk` + +## 3.23.0 - 2017-02-28 + +* `Aws\DynamoDB` - Time to Live (TTL) is a feature that allows you to define when items in a table expire and can be purged from the database, so that you don't have to track expired data and delete it manually. With TTL enabled on a DynamoDB table, you can set a timestamp for deletion on a per-item basis, allowing you to limit storage usage to only those records that are relevant. +* `Aws\DynamoDBStreams` - Added support for TTL on a DynamoDB tables +* `Aws\IAM` - Added support for AWS Organizations service control policies (SCPs) to SimulatePrincipalPolicy operation. If there are SCPs associated with the simulated user's account, their effect on the result is captured in the OrganizationDecisionDetail element in the EvaluationResult. +* `Aws\MechanicalTurkRequesterService` - Amazon Mechanical Turk is a web service that provides an on-demand, scalable, human workforce to complete jobs that humans can do better than computers, for example, recognizing objects in photos. +* `Aws\Organizations` - AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources. + +## 3.22.11 - 2017-02-24 + +* `Aws\ElasticsearchService` - Added three new API calls to existing Amazon Elasticsearch service to expose Amazon Elasticsearch imposed limits to customers. + +## 3.22.10 - 2017-02-24 + +* `Aws\Ec2` - New EC2 I3 instance type + +## 3.22.9 - 2017-02-22 + +* `Aws\CloudDirectory` - ListObjectAttributes documentation updated based on forum feedback +* `Aws\ElasticBeanstalk` - Elastic Beanstalk adds support for creating and managing custom platform. +* `Aws\GameLift` - Allow developers to configure global queues for creating GameSessions. Allow PlayerData on PlayerSessions to store player-specific data. +* `Aws\Route53` - Added support for operations CreateVPCAssociationAuthorization and DeleteVPCAssociationAuthorization to throw a ConcurrentModification error when a conflicting modification occurs in parallel to the authorizations in place for a given hosted zone. + +## 3.22.8 - 2017-02-21 + +* `Aws\Ec2` - Added the billingProduct parameter to the RegisterImage API + +## 3.22.7 - 2017-02-17 + +* `Aws\DirectConnect` - Adding operations to support new LAG feature + +## 3.22.6 - 2017-02-17 + +* `Aws\CognitoIdentity` - Allow createIdentityPool and updateIdentityPool API to set server side token check value on identity pool +* `Aws\Config` - Enable customers to use dryrun mode for PutEvaluations + +## 3.22.5 - 2017-02-15 + +* `Aws\Kms` - Added support for tagging + +## 3.22.4 - 2017-02-14 + +* `Aws\Ec2` - Added support for new `ModifyVolume` API + +## 3.22.3 - 2017-02-10 + +* Update endpoints.json with valid endpoints + +## 3.22.2 - 2017-02-10 + +* `Aws\StorageGateway` - Added support for addition of clientList parameter to existing File share APIs + +## 3.22.1 - 2017-02-09 + +* `Aws\Ec2` - Added support to associate `IAM profiles` to running instances API +* `Aws\Rekognition` - Added support for `age` to the face description from `DetectFaces` and `IndexFaces` + +## 3.22.0 - 2017-02-08 + +* `Aws\LexRuntimeService` - Added support for new service `Amazon Lex Runtime Service` + +## 3.21.6 - 2017-01-27 + +* `Aws\CloudDirectory` - Added support for new service `AWS Cloud Directory` +* `Aws\CodeDeploy` - Added support for blue/green deployments +* `Aws\Ec2` - Added support to Add instance health check functionality to replace unhealthy EC2 Spot fleet instances with fresh ones. +* `Aws\Rds` - Upgraded Snapshot Engine Version + +## 3.21.5 - 2017-01-25 + +* `Aws\ElasticLoadBalancing` - Added support for New load balancer type +* `Aws\Rds` - Added support for Cross Region Read Replica Copying + +## 3.21.4 - 2017-01-25 + +* `Aws\CodeCommit` - Added a new API to list the different files between 2 commits +* `Aws\Ecs` - Added support for Container instance draining + +## 3.21.3 - 2017-01-20 + +* `Aws\Acm` - Updated response elements for DescribeCertificate API in support of managed renewal. + +## 3.21.2 - 2017-01-19 + +* `Aws\Ec2` - Added support for new parameters to SpotPlacement in RequestSpotInstances API + +## 3.21.1 - 2017-01-18 + +* `Aws\Rds` - Added support for `Mysql` to `Aurora` Replication + +## 3.21.0 - 2017-01-17 + +* `Aws\Credentials` - Added support for AssumeRoleCredentialProvider and support for source ini credentials from ./aws/config file in defaultProvider +* `Aws\DynamoDb` - Added tagging Support for Amazon DynamoDB Tables and Indexes +* `Aws\Route53` - Added support for ca-central-1 and eu-west-2 enum values in CloudWatchRegion enum + +## 3.20.16 - 2017-01-16 + +* Fix manifest + +## 3.20.15 - 2017-01-16 + +* `Aws\Cur` - Added Support for new service `AWS CostAndUsageReport` + +## 3.20.14 - 2017-01-16 + +* `Aws\Config` - Updated the models to include InvalidNextTokenException in API response + +## 3.20.13 - 2017-01-04 + +* `Aws\Config` - Added support for customers to use/write rules based on OversizedConfigurationItemChangeNotification mesage type. +* `Aws\MarketplaceAnalytics` - Added support for data set disbursed_amount_by_instance_hours, with historical data available starting 2012-09-04 + +## 3.20.12 - 2016-12-29 + +* `Aws\CodeDeploy` - Added support for IAM Session Arns in addition to IAM User Arns for on premise host authentication. +* `Aws\Ecs` - Added the ability to customize the placement of tasks on container instances. + +## 3.20.11 - 2016-12-22 + +* `Aws\ApiGateway` - Added support for generating SDKs in more languages. +* `Aws\ElasticBeanstalk` - Added Support for Resource Lifecycle Feature +* `Aws\Iam`- Added service-specific credentials to IAM service to make it easier to onboard CodeCommit customers + +## 3.20.10 - 2016-12-21 + +* `Aws\Ecr` - Added implementation for Docker Image Manifest V2, Schema 2 +* `Aws\Rds` - Added support for Cross Region Encrypted Snapshot Copying (CopyDBSnapshot) + +## 3.20.9 - 2016-12-20 + +* `Aws\Firehose` - Added Support for Processing Feature +* `Aws\Route53` - Enum updates for eu-west-2 and ca-central-1 +* `Aws\StorageGateway` - Added new storage type for files to complement block and tape + +## 3.20.8 - 2016-12-19 + +* `Aws\CognitoIdentity` - Added Groups to Cognito user pools. +* `Aws\DiscoveryService` - Added new APIs to group discovered servers into Applications with get summary and neighbors. + Includes additional filters for `ListConfigurations` and `DescribeAgents` API. + +## 3.20.7 - 2016-12-15 + +* `Aws\CognitoIdentityProvider` - Adding support for fine-grained role-based access control (RBAC) +* `Aws\Ssm` - Adding support for access to the Patch Baseline and Patch Compliance APIs + +## 3.20.6 - 2016-12-14 + +* `Aws\Batch` - Added support for new service `AWS Batch` +* `Aws\CloudWatchLogs` - Added support for associating LogGroups with `AWSTagris` tags +* `Aws\Dms` - Added support for SSL enabled Oracle endpoints +* `Aws\MarketplaceCommerceAnalytics` - Add new enum to `DataSetType` + +## 3.20.5 - 2016-12-12 + +* `Aws\Credentials` - Fix `EcsCredential` latency issue + +## 3.20.4 - 2016-12-08 + +* `Aws\Cloudfront` - Adding lambda function associations to cache behaviors +* `Aws\Rds` - Add cluster create time to DBCluster +* `Aws\WafRegional` - Adding support for new service `AWS WAF Regional` + +## 3.20.3 - 2016-12-07 + +* `Aws\Config` - Adding support for Redshift resource types +* `Aws\S3` - Adding Version ID to Get/Put ObjectTagging + +## 3.20.2 - 2016-12-06 + +* `Aws\Ec2` - Adding T2.xlarge, T2.2xlarge, and R4 instance type +* `Aws\Config` - Adding support for `DescribeConfigRuleEvaulationStatus` +* `Aws\Pinpoint` - Adding support for fixed type + +## 3.20.1 - 2016-12-01 + +* `Aws\ApiGateway` - Added support for publishing your APIs on `Amazon API Gateway` + as products on the `AWS Marketplace` +* `Aws\AppStream` - Added support for new service `AWS AppStream` +* `Aws\CodeBuild` - Added support for new service `AWS CodeBuild` +* `Aws\DirectConnect` - Added support for `Ipv6` support +* `Aws\Ec2` - Added support for native `IPv6` support for VPCs +* `Aws\ElasticBeanstalk` - Added support for `CodeBuild` Integration +* `Aws\Lambda` - Added support for new API `GetAccountSettings` +* `Aws\Health` - Added support for new service `AWS Health` +* `Aws\OpsWorksCM` - Added support for new service `AWS OpsWorks Managed Chef` +* `Aws\Pinpoint` - Added support for new service `AWS Pinpoint` +* `Aws\Sfn` - Added support for `AWS Step Functions` +* `Aws\Shield` - Added support for new service `AWS Shield` +* `Aws\SSm` - Added support for 6 new sets of APIs +* `Aws\XRay` - Added support for new service `AWS X-Ray` + + +## 3.20.0 - 2016-11-30 + +* `Aws\Lightsail` - Added support for new service `AWS Lightsail` +* `Aws\Polly` - Added support for new service `AWS Polly Service` +* `Aws\Rekognition` - Added support for new service `AWS Rekognition Service` +* `Aws\Snowball` - Added support for a new job type, new APIs, and + the new `AWS Snowball` Edge device to support local compute and storage use cases + +## 3.19.33 - 2016-11-29 + +* `Aws\S3` - Added support for Storage Insights, Object Tagging, Lifecycle Filtering + +## 3.19.32 - 2016-11-22 + +* `Aws\Cloudformation` - Added support for List-imports API +* `Aws\Glacier` - Added support for retrieving data with different tiers +* `Aws\Route53` - Added support for expanding current IPAddress + field to accept IPv6 address +* `Aws\S3` - Added support for Glacier retrieval tier information + +## 3.19.31 - 2016-11-21 + +* `Aws\CloudTrail` - Added support for S3 data plane operations +* `Aws\Ecs` - Added support for new "version" field for tasks and container instances + +## 3.19.30 - 2016-11-18 + +* `Aws\ApplicationAutoscaling` - Added support for a new target resource + (EMR Instance Groups) as a scalable target + +## 3.19.29 - 2016-11-18 + +* `Aws\ElasticTranscoder` - Added support for multiple media input files + that can be stitched together +* `Aws\Emr` - Added support for Automatic Scaling of EMR clusters based on metrics +* `Aws\Lambda` - Added support for Environment variables +* `Aws\GameLift` - Added support for remote access into GameLift managed servers. + +## 3.19.28 - 2016-11-17 + +* `Aws\ApiGateway` - Added support for custom encoding feature +* `Aws\CloudWatch` - Added support for percentile statistic (pN) to metrics and alarms +* `Aws\MarketplaceAnalytics` - Added support for third party metrics +* `Aws\Sqs` - Added support for creating FIFO (first-in-first-out) queues + +## 3.19.27 - 2016-11-16 + +* `Aws\ServiceCatalog` - Added support for new operations +* `Aws\Route53` Added support for cross account VPC Association + +## 3.19.26 - 2016-11-15 + +* `Aws\DirectoryService` - Added support for `SchemaExtensions` +* `Aws\Elasticache` - Added support for `AuthToken` +* `Aws\Kinesis` - Added support for Describe shard limit, open shard count + and stream creation timestamp + +## 3.19.25 - 2016-11-14 + +* `Aws\CognitoIdentityProvider` - Added support for schema attributes in `CreateUserPool` + +## 3.19.24 - 2016-11-10 + +* `Aws\CloudWatchLogs` - Added support for capability that helps pivot from + your logs-extracted metrics + +## 3.19.23 - 2016-11-03 + +* `Aws\DirectConnect` - Added support for tagging on `DirectConnect` resources. + +## 3.19.22 - 2016-11-02 + +* `Aws\Ses` - Adding support for `SES` Metrics + +## 3.19.21 - 2016-11-01 + +* `Aws\CloudFormation` - Adding ResourcesToSkip parameter to `ContinueUpdateRollback` API, + adding support for `ListExports`, new `ChangeSet` types and `Transforms` +* `Aws\Ecr` - Added support for updated paginators + +## 3.19.20 - 2016-10-25 + +* Documentation update for `Autoscaling` and `ElasticloadbalancingV2` + +## 3.19.19 - 2016-10-24 + +* `Aws\Sms` - Added support for new service `AWS Server Migration Service` + +## 3.19.18 - 2016-10-20 + +* `Aws\Budgets` - Added support for new service `AWSBudgetService` + +## 3.19.17 - 2016-10-18 + +* `Aws\Config` - Added support for S3 Bucket resource type +* `Aws\CloudFront` - Added support for `isIPV6Enabled` property for http distributions +* `Aws\Iot` - Added DynamoActionV2 action to IoT Rules Engine +* `Aws\Rds` - Added support for AWS roles integration with `Aurora Cluster` + +## 3.19.16 - 2016-10-17 + +* `Aws\Route53` - Added support for API updates + +## 3.19.15 - 2016-10-13 + +* `Aws\Acm` - Added support for third-party `SSL/TLS` certificates +* `Aws\ElasticBeanstalk` - Added support for `Pagination` for `DescribeApplicationVersions` +* `Aws\Gamelift` - Added support for resource protection + +## 3.19.14 - 2016-10-12 + +* `Aws\Elasticache` - Added support for Redis Cluster +* `Aws\Ecr` - Added support for new API `DescribeImages` +* `Aws\S3` - Added support for `s3-accelerate.dualstack` endpoint + +## 3.19.13 - 2016-10-06 + +* `Aws\Kms` - Add `InvalidMarkerException` as modeled exception in `ListKeys` +* `Aws\CognitoIdentityProvider` - Added new operation `AdminCreateUser` +* `Aws\Waf` - Added support for IPV6 in `IPSetDescriptorType` + +## 3.19.12 - 2016-09-29 + +* `Aws\Ec2` - Added support for new Ec2 instance types and + EC2 Convertible RIs and the EC2 RI regional benefit +* `Aws\S3` - Added support for `partNumber` extension + +## 3.19.11 - 2016-09-27 + +* `Aws\CloudFormation` - Added support for `roleArn` +* `Aws\S3` - Fixed `PostObjectV4` with security token option + +## 3.19.10 - 2016-09-22 + +* `Aws\ApiGateway` - Added new enum values to the service + +## 3.19.9 - 2016-09-20 + +* `Aws\CodeDeploy` - Added support for Rollback deployment +* `Aws\Emr` - Added support for the new end-to-end encryption +* `Aws\Rds` - Added support for local time zone +* `Aws\Redshift` - Added support for `EnhancedVpcRouting` feature + +## 3.19.8 - 2016-09-15 + +* `Aws\Iot` - Added support for changes in `RegisterCertificate` API & + Adding a new field "cannedAcl" in S3 action +* `Aws\Rds` - Added support for Aurora cluster reader endpoint + +## 3.19.7 - 2016-09-13 + +* `Aws\ServiceCatalog` - Added support for API Update for AWS Service Catalog + +## 3.19.6 - 2016-09-08 + +* `Aws\CloudFront` - Added support for HTTP2 + +## 3.19.5 - 2016-09-06 + +* `Aws\Codepipeline` - Added support for pipeline execution details +* `Aws\Rds` - Added support for `DescribeSourceRegions` API +* `Aws\Sns` - Added new exceptions + +## 3.19.4 - 2016-09-01 + +* `Aws\ApplicationAutoScaling` - Added support for automatically scaling an + Amazon EC2 Spot fleet in order to manage application availability and + costs during changes in demand based on conditions you define +* `Aws\CognitoIdentity` - Added support for bulk import of users +* `Aws\Rds` - Added support for the information about option conflicts + to the describe-option-group-options api response +* `Aws\ConfigService` - Added support for a application loadbalancer type +* `Aws\GameLift` - Added support for Linux instance + +## 3.19.3 - 2016-08-30 + +* `Aws\CloudFront` - Added support for QueryString Whitelisting +* `Aws\CodePipeline` - Added support for return pipeline execution details +* `Aws\Ecs` - Added support for simplified waiter +* `Aws\Route53` - Added support for `NAPTR` and new operation `TestDNSAnswer` + +## 3.19.2 - 2016-08-23 + +* `Aws\Rds` - Added support for addition of resource ARNs to `Describe` APIs + +## 3.19.1 - 2016-08-18 + +* `Aws\Ec2` - Added support for for Dedicated Host Reservations and + API Update for `EC2-SpotFleet` +* `Aws\ElasticLoadBalancingV2` - Fix `ElasticLoadBalancingV2` endpoints +* `Aws\WorkSpaces` - Added support for Hourly WorkSpaces APIs + +## 3.19.0 - 2016-08-16 + +* `Aws\Acm` - Added support for increased tagging limit +* `Aws\ApiGateway` - Added support for API usage plans +* `Aws\Ecs` - Added support for memory reservation and `networkMode` on task definitions + +## 3.18.39 - 2016-08-11 + +* `Aws\AutoScaling` - Added support for `ELB` L7 integration +* `Aws\ElasticLoadBalancing` - Added support for `ELBv2` support +* `Aws\KinesisAnalytics` - Added support for new service that 9allows customers to perform SQL queries against streaming data +* `Aws\Kms` - Added support for importing customer-supplied cryptographic keys +* `Aws\S3` - Added support for IPv6 +* `Aws\SnowBall` - Added support for new service `SnowBall`: snowball job management + +## 3.18.38 - 2016-08-09 + +* `Aws\CloudFront` - Added support for tagging API +* `Aws\Ecr` - Added support for `ListImages` filtering +* `Aws\MarketplaceCommerceAnalytics` - Added support for `StartSupportDataExport` +* `Aws\Rds` - Fixing duplicate acceptors in waiters + +## 3.18.37 - 2016-08-04 + +* `Aws\GameLift` - Added support for `GameSession` Search +* `Aws\Lambda` - Added support for throttling reasons, new exception for bad zip file, + and Event Source Token field for add permission request +* `Aws\Rds` - Added support for `MoveToVpc` feature and S3 Snapshot Ingestion + +## 3.18.36 - 2016-08-02 + +* `Aws\CloudWatchLogs` - Added support for Optional Parameter to PutMetricFilterRequest +* `Aws\Emr` - Added support for Enhanced Debugging +* `Aws\Iot` - Added support for `ListOutgoingCertificates` & `AutoRegistration` flag +* `Aws\MachineLearning` - Added support for computing time and entity timestamp +* `Aws\MarketplaceMetering` - API Constraint Update +* `Aws\Rds` - Added support for license migration between BYOL and LI API Update for `AWS-RDS`, + Enable `version` with RDS Options + +## 3.18.35 - 2016-07-28 + +* `Aws\Route53Domains` - API Updates + +## 3.18.34 - 2016-07-28 + +* `Aws\CodeDeploy` - Added support for `DeploymentSuccessful ` waiter +* `Aws\ApiGateway` - Added support for `Cognito`User Pools Auth Support +* `Aws\Ec2` - Added support for DNS for VPC Peering +* `Aws\DirectoryService` - Added support for new API for Microsoft AD to manage routing +* `Aws\Route53Domains` - Added support for `getDomainSuggestions` capability +* `Aws\CognitoIdentity` - Added support for `User Pools` +* `Aws\ElasticsearchService` - Added support for pipeline aggregations to perform advanced + analytics like moving averages and derivatives, and enhancements to geospatial queries + +## 3.18.33 - 2016-07-26 + +`Aws\Iot` - Added support for Thing Types, ":" in Thing Name, and + `separator` in `Firehose` action +`Aws\CloudSearchDomain` - Fix query value in `POST` request + +## 3.18.32 - 2016-07-21 + +`Aws\Acm` - Added support for additional field to return for `Describe Certificate ` +`Aws\Config` - Added support for `ACM`, `RDS` resource types, introducing + Hybrid Rules & Forced Evaluation feature +`Aws\CloudSearchDomain` - Convert long query request to `POST` +`Aws\CloudFormation` - Added support for enum value for API parameter :`Capabilities` +`Aws\ElasticTranscoder` - Added support for WAV file output format +`Aws\Ssm` - Fixing missing paginator for SSM `DescribeInstanceInformation` + +## 3.18.31 - 2016-07-19 + +`Aws\Ssm` - Added support for notification +`Aws\DeviceFarm` - Added support for session based APIs + +## 3.18.30 - 2016-07-18 + +Fix composer version constraints. + +## 3.18.29 - 2016-07-18 + +Updating dependency to a version of Guzzle that addresses CVE-2016-5385. +Please upgrade your version of the SDK or Guzzle if you are using the AWS SDK for PHP +in a CGI process that connects to an `http` endpoint. + +See https://httpoxy.org for more details on the vulnerability. + +## 3.18.28 - 2016-07-13 + +* `Aws\DatabaseMigrationService` - Added support for SSL Endpoint and Replication +* `Aws\Ecs` - Added support for IAM roles for ECS Tasks +* `Aws\Rds` - Adds new method `CopyDBClusterParameterGroup` and + new parameter `TargetDBInstanceIdentifier` to `FailoverDBCluster` API + +## 3.18.27 - 2016-07-07 + +* `Aws\ServiceCatalog` - Added support for `Aws\ServiceCatalog` + +## 3.18.26 - 2016-07-07 + +* `Aws\Config` - Added support for `DeleteConfigurationRecorder` API +* `Aws\DirectoryService` - Added support for tagging APIs + +## 3.18.25 - 2016-07-05 + +* `Aws\CodePipeline` - Added support for manual approvals. + +## 3.18.24 - 2016-07-01 + +* Update composer dependency `"guzzlehttp/psr7": "~1.3.1"` + +## 3.18.23 - 2016-06-30 + +* `Aws\DatabaseMigrationService` - Added support for specify `VpcSecurityGroupId` + for the replication instance +* `Aws\Ssm` - Added support for registering customer servers to enable command function + +## 3.18.22 - 2016-06-28 + +* `Aws\Ec2` - Added support for ENA supported instances +* `Aws\Efs` - Added support for "PerformanceMode" parameter for + CreateFileSystem and DescribeFileSystems +* `Aws\GameLift` - Added support for declaring and inspecting game server + runtime configurations on fleets, including server process launch path, + parameters, and number of concurrent executions +* `Aws\Iot` - Added support for "update" and "delete" an item + through Dynamo DB rule +* `Aws\Sns` - Added Worldwide SMS support +* `Aws\Route53` - Added support for BOM region + +## 3.18.21 - 2016-06-27 + +## 3.18.20 - 2016-06-23 + +* `Aws\CognitoIdentity` - Added support for + Security Assertion Markup Language (SAML) 2.0. +* `Aws\DirectConnect` - Added support for downloading the Letter of Authorization: + Connecting Facility Assignment (LOA-CFA) for Connections and Interconnects +* `Aws\Ec2` - Added support for new operations DescribeIdentityIdFormat + & ModifyIdentityIdFormat + +## 3.18.19 - 2016-06-21 + +* `Aws\CodePipeline` - Added support for Retry Failed Actions +* `Aws\Ec2` - Added support for new VPC resource waiters + +## 3.18.18 - 2016-06-14 + +* `Aws\Rds` - Added support for RDS Cross-region managed binlog replication +* `Aws\CloudTrail` - Added support for new exception to handle + `KMS InvalidStateException` +* `Aws\Ses` - Added support for enhanced customer notifications + +## 3.18.17 - 2016-06-09 + +* `Aws\S3` - Fixed StartAfter option in ListObjectsV2 operation + +## 3.18.16 - 2016-06-07 + +* `Aws\Iot` - Added support for string and numeric values in `hashKey` + and `rangeKey`, update `ListPolicyPrincipals` +* `Aws\MachineLearning` - Added support for tagging operations +* `Aws\Ec2` - Added support for `DescribeSpotFleetRequests` paginator +* `Aws\DynamoDbStreams` - Added support for `ApproximationCreationDateTime` +* `Aws\CloudWatch` - Added support for Alarm waiter + + +## 3.18.15 - 2016-06-02 + +* `Aws\Ec2` - Added support for `type` parameter in RequestSpotFleet API + and `fulfilledCapacity` in DescribeSpotFleetRequests API response + +## 3.18.14 - 2016-05-26 + +* `Aws\ElastiCache` - Added support for exporting a Redis snapshot + to an Amazon S3 bucket + +## 3.18.13 - 2016-05-24 + +* `Aws\Ec2` - Added support for accessing instance console screenshot +* `Aws\Rds` - Added support for cross-account snapshot sharing + +## 3.18.12 - 2016-05-19 + +* `Aws\ApplicationAutoScaling` - Added support for `Aws\ApplicationAutoScaling` + service + +## 3.18.11 - 2016-05-19 + +* `Aws\Firehose` - Added support for configurable retry window for + loading data into Amazon Redshift +* `Aws\Ecs` - Added support for status of ListTaskDefinitionFamilies + +## 3.18.10 - 2016-05-18 + +* `Aws\S3` - Fixed signature with S3 presign request + +## 3.18.9 - 2016-05-17 + +* `Aws\ApplicationDiscoveryService` - Fixed an incorrect model from the previous + release. To use `AWS Discovery` service, please upgrade to this version +* `Aws\WorkSpaces` - Added support for tagging to categorize `Amazon WorkSpaces`, + which also allows allocating usage to cost centers from AWS account bill + +## 3.18.8 - 2016-05-12 + +* `Aws\ApplicationDiscoveryService` - Added support for `Aws Discovery` service +* `Aws\CloudFormation` - Added support for `ExecutionStatus` in `ChangeSets` +* `Aws\Ec2` - Added support for identifying stale security groups in VPC +* `Aws\Ssm` - Added support for document sharing feature + +## 3.18.7 - 2016-05-10 + +* `Aws\` - Added support for new region and endpoints +* `Aws\Emr` - Added support for ListInstances API having filter on instance state +* `Aws\ImportExport` - Added support for `Aws\ImportExport` service + +## 3.18.6 - 2016-05-05 + +* `Aws\ApiGateway` - Added support for additional field on Integration to + control passthrough behavior +* `Aws\CloudTrail` - Deprecates the `SnsTopicName` field in favor of `SnsTopicArn` +* `Aws\Ecs` - Added support for non-comprehensive logDriver enum +* `Aws\Kms` - Added support for "pro-lockout" flag +* `Aws\S3` - Amazon S3 Added a new list type to list objects in buckets + with a large number of delete markers + +## 3.18.5 - 2016-05-03 + +* `Aws\Api` - Fixed serialization of booleans in querystrings +
* `Aws\OpsWorks` - Added support for default tenancy selection + +## 3.18.4 - 2016-04-28 + +* `Aws\OpsWorks` - Added support for default tenancy selection. +* `Aws\Route53Domains` - Added support for getting contact reachability status + and resending contact reachability emails. + +## 3.18.3 - 2016-04-27 + +* `Aws\Api` - Fixed parsing empty responses +* `Aws\CognitoIdentityProvider` - Remove non-JSON operations. +* `Aws\Ec2` - Added support for ClassicLink over VPC peering +* `Aws\Ecr` - This update makes it easier to find repository URIs, + which are now appended to the `#describe_repositories`, `#create_repository`, + and `#delete_repository` responses. +* `Aws\S3` - Added support for Post Object Signature V4 +* `Aws\S3` - Fixed Content-MD5 header for PutBucketReplication + +## 3.18.1 - 2016-04-21 + +* `Aws\Acm` - Added support for tagging. +* `Aws\CognitoIdentity` - Minor update to support some new features of + `Aws\CognitoIdentityProvider`. +* `Aws\Emr` - Added support for smart targeted resizing. +* `Aws\Iot` - Added support for specifying the SQL rules engine to be used. + +## 3.18.0 - 2016-04-19 + +* `Aws\CognitoIdentityProvider` - Added support for the **Amazon Cognito + Identity Provider** service. +* `Aws\ElasticBeanstalk` - Added support for automatic platform version upgrades + with managed updates. +* `Aws\Firehose` - Added support for delivery to AWS Elasticsearch Service. +* `Aws\Kinesis` - Added support for enhanced monitoring. +* `Aws\S3` - Added support for S3 Accelerate. +* `Aws\S3` - Fixed bug where stat cache was not being updated following writes. +* `Aws\Signature` - Fixed inefficiency in S3 presigner. + +## 3.17.6 - 2016-04-11 + +* `Aws\Ec2` - Fixed error codes in EC2 waiters. +* `Aws\Iot` - Added support for registering your own signing CA certificates and + the X.509 certificates signed by your signing CA certificate. + +## 3.17.5 - 2016-04-07 + +* `Aws\DirectoryService` - Added support for conditional forwarders. +* `Aws\ElasticBeanstalk` - Update client to latest version. +* `Aws\Lambda` - Added support for setting the function runtime as Node.js 4.3, + as well as updating function configuration to set the runtime. + +## 3.17.4 - 2016-04-05 + +* `Aws\ApiGateway` - Added support for importing REST APIs. +* `Aws\Glacier` - Fixed tree hash bug caused when content was a single zero. +* `Aws\Route53` - Added support for metric-based and regional health checks. +* `Aws\Signature` - Fixed presigning bug where the signed headers query + parameter value was not lowercased. +* `Aws\Sts` - Added support for getting the caller identity. + +## 3.17.3 - 2016-03-29 + +* `Aws\CloudFormation` - Added support for change sets. +* `Aws\Inspector` - Updated model to latest preview version. +* `Aws\Redshift` - Added support for cluster IAM roles. +* `Aws\Waf` - Added support for XSS protection. + +## 3.17.2 - 2016-03-24 + +* `Aws\ElastiCache` - Added support for vertical scaling. +* `Aws\Rds` - Added support for joining SQL Server DB instances to Active + Directory domains. +* `Aws\StorageGateway` - Added support for setting the local console password. + +## 3.17.1 - 2016-03-22 + +* `Aws\DeviceFarm` - Added support for managing and purchasing offerings. +* `Aws\Rds` - Added support for customizing failover order in Amazon Aurora + clusters. + +## 3.17.0 - 2016-03-17 + +* `Aws\CloudHsm` - Added support for adding tags to, removing tags from, and + listing the tags for a given resource. +* `Aws\Iot` - Added support for new Amazon Elasticsearch Service and Amazon + Cloudwatch rule actions when creating topic rules. +* `Aws\MarketplaceMetering` - Added support for the **AWSMarketplace Metering** + service. +* `Aws\S3` - Added support for lifecycle expiration policy for incomplete + multipart upload and lifecycle expiration policy for expired object delete + marker. +* `Aws\S3` - Added support for automatically removing delete markers which have + no non-current versions underneath them. +* Fixed error handling in the timer middleware. Previously, exceptions were + passed to the success handler instead of any registered error handler. +* Added support for multi-region clients. + +## 3.16.0 - 2016-03-15 + +* `Aws\CodeDeploy` - Added support for getting deployment groups in batches. +* `Aws\DatabaseMigrationService` - Added support for the **AWS Database +Migration Service**. +* `Aws\Ses` - Added support for custom MAIL FROM domains. +* Added support for collecting transfer statistics. + +## 3.15.9 - 2016-03-10 + +* `Aws\GameLift` - Added support for new AutoScaling features. +* `Aws\Iam` - Added support for stable, unique identifying string identifiers on + each entity returned from IAM:ListEntitiesForPolicy. +* `Aws\Redshift` - Added support for restoring a single table from an Amazon + Redshift snapshot instead of restoring the entire cluster. + +## 3.15.8 - 2016-03-08 + +* `Aws\CodeCommit` - Added support for repository triggers. + +## 3.15.7 - 2016-03-03 + +* `Aws\DirectoryService` - Added support for SNS notifications. +* `Aws\Ec2` - Added support for Cross VPC Security Group References with VPC + peering and ClassicLink traffic over VPC peering. + +## 3.15.6 - 2016-03-01 + +* `Aws\ApiGateway` - Added support for flushing all authorizer cache entries on + a stage. +* `Aws\CloudSearchDomain` - Added support for returning field statistics in the + response to a search operation. +* `Aws\DynamoDb` - Added support for describing account limits. + +## 3.15.5 - 2016-02-25 + +* `Aws\AutoScaling` - Added support for specifying an instance ID instead of an + action token when completing lifecycle actions or recording lifecycle action + heartbeats. +* `Aws\CloudFormation` - Added support for retaining specific resources when + deleting stacks. +* `Aws\CloudFormation` - Added support for adding tags when updating stacks. +* `Aws\S3` - Fixed bug where `ContentEncoding` and `ContentLength` were not + returned when calling `HeadObject` on GZipped or deflated objects. +* `Aws\S3` - Fixed iteration bug in `Transfer` encountered when downloading more + than 1,000 objects. +* `Aws\Sns` - Added support for specifying an encoding on an SNS action. + +## 3.15.4 - 2016-02-23 + +* `Aws\Route53` - Added support for SNI health checks. + +## 3.15.3 - 2016-02-18 + +* `Aws\StorageGateway` - Added support for creating tapes with barcodes. +* `Aws\CodeDeploy` - Added support for setting up triggers for a deployment + group. + +## 3.15.2 - 2016-02-16 + +* `Aws\Emr` - Added support for adding EBS storage to an EMR instance. +* `Aws\Rds` - Added support for cross-account sharing of encrypted DB snapshots. + +## 3.15.1 - 2016-02-11 + +* `Aws\ApiGateway` - Added support for custom request authorizers. +* `Aws\AutoScaling` - Added waiters for checking on a group's existence, + deletion, and whether at least the minimum number of instance are in service. +* `Aws\Lambda` - Added support for accessing resources in a VPC from a Lambda + function. + +## 3.15.0 - 2016-02-09 + +* `Aws\Api` - Added support for specifying what kinds of model constraints to + validate. +* `Aws\DynamoDb` - Fixed requeueing mechanism in `WriteRequestBatch`. +* `Aws\GameLift` - Added support for the **Amazon GameLift** service. +* `Aws\MarketplaceCommerceAnalytics` - Added support for customer defined values. +* Added an adapter for using an instance of `Psr\Cache\CacheItemPoolInterface` + as an instance of `Aws\CacheInterface`. +* Updated JsonCompiler to preserve closing parens in strings in source JSON. +* Updated `Aws\AwsClient` to throw a `RuntimeException` on a serialization + attempt. + +## 3.14.2 - 2016-01-28 + +* `Aws\Waf` - Added support for size constraints. +* `Aws\Ssm` - Added paginators for `ListAssociations`, `ListCommandInvocations`, + `ListCommands`, and `ListDocuments`. + +## 3.14.1 - 2016-01-22 + +* `Aws\Acm` - Reverted to standard class naming conventions. + +## 3.14.0 - 2016-01-21 + +* `Aws\ACM` - Added support for the **AWS Certificate Manager** service. +* `Aws\CloudFormation` - Added support for continuing update rollbacks. +* `Aws\CloudFront` - Added support using AWS ACM certificates with CloudFront + distributions. +* `Aws\IoT` - Added support for topic rules. +* `Aws\S3` - Added handler function to automatically request URL encoding and + then decode affected fields when no specific encoding type was requested. + +## 3.13.1 - 2016-01-19 + +* `Aws\DeviceFarm` - Added support for running Appium tests written in Python + against your native, hybrid and browser-based apps on AWS Device Farm. +* `Aws\IotDataPlane` - Fixed handling of invalid JSON returned by the `Publish` + command. +* `Aws\Sts` - Added support for the `RegionDisabledException` (now returned + instead of an AccessDenied when an admin hasn't turned on an STS region). + +## 3.13.0 - 2016-01-14 + +* `Aws\CloudFront` - Added support for new origin security features. +* `Aws\CloudWatchEvents` - Added support for the **Amazon CloudWatch Events** + service. +* `Aws\Ec2` - Added support for scheduled instances. +* `Aws\S3` - Fixed support for using `Iterator`s as a source for `Transfer` + objects. + +## 3.12.2 - 2016-01-12 + +* `Aws\Ec2` - Added support for DNS resolution of public hostnames to private IP + addresses when queried over ClassicLink. Additionally, private hosted zones + associated with your VPC can now be accessed from a linked EC2-Classic + instance. + +## 3.12.1 - 2016-01-06 + +* `Aws\Route53` - Fixed pagination bug on ListResourceRecordSets command. +* `Aws\Sns` - Added the SNS inbound message validator package to the composer + suggestions list to aid discoverability. +* Documentation improvements and additions. + +## 3.12.0 - 2015-12-21 + +* `Aws\Ecr` - Added support for the Amazon EC2 Container Registry. +* `Aws\Emr` - Added support for specifying a service security group when calling + the RunJobFlow API. + +## 3.11.7 - 2015-12-17 + +* `Aws\CloudFront` - Added support for generating signed cookies. +* `Aws\CloudFront` - Added support for GZip compression. +* `Aws\CloudTrail` - Added support for multi-region trails. +* `Aws\Config` - Added for IAM resource types. +* `Aws\Ec2` - Added support for managed NATs. +* `Aws\Rds` - Added support for enhanced monitoring. + +## 3.11.6 - 2015-12-15 + +* `Aws\Ec2` - Added support for specifying encryption on CopyImage commands. + +## 3.11.5 - 2015-12-08 + +* `Aws\AutoScaling` - Added support for setting and describing instance + protection status. +* `Aws\Emr` - Added support for using release labels instead of version numbers. +* `Aws\Rds` - Added support for Aurora encryption at rest. + +## 3.11.4 - 2015-12-03 + +* `Aws\DirectoryService` - Added support for launching a fully managed Microsoft + Active Directory. +* `Aws\Rds` - Added support for specifying a port number when modifying database + instances. +* `Aws\Route53` - Added support for Traffic Flow, a traffic management service. +* `Aws\Ses` - Added support for generating SMTP passwords from credentials. + +## 3.11.3 - 2015-12-01 + +* `Aws\Config` - Update documentation. + +## 3.11.2 - 2015-11-23 + +* `Aws\Config` - Reverted doc model change. + +## 3.11.1 - 2015-11-23 + +* `Aws\Ec2` - Added support for EC2 dedicated hosts. +* `Aws\Ecs` - Added support for task stopped reasons and task start and stop + times. +* `Aws\ElasticBeanstalk` - Added support for composable web applications. +* `Aws\S3` - Added support for the `aws-exec-read` canned ACL on objects. + +## 3.11.0 - 2015-11-19 + +* `Aws\CognitoIdentity` - Added a CognitoIdentity credentials provider. +* `Aws\DeviceFarm` - Marked app ARN as optional on `ScheduleRun` and + `GetDevicePoolCompatibility` operations. +* `Aws\DynamoDb` - Fixed bug where calling `session_regenerate_id` without + changing session data would prevent data from being carried over from the + previous session ID. +* `Aws\Inspector` - Added support for client-side validation of required + parameters throughout service. +* Fixed error parser bug where certain errors could throw an uncaught + parsing exception. + +## 3.10.1 - 2015-11-12 + +* `Aws\Config` - Fixed parsing of null responses. +* `Aws\Rds` - Added support for snapshot attributes. + +## 3.10.0 - 2015-11-10 + +* `Aws\ApiGateway` - Added support for stage variables. +* `Aws\DynamoDb` - Updated the session handler to emit warnings on write and + delete failures. +* `Aws\DynamoDb` - Fixed session ID assignment timing bug encountered in PHP 7. +* `Aws\S3` - Removed ServerSideEncryption parameter from UploadPart operation. +* Added jitter to the default retry delay algorithm. +* Updated the compatibility test script. + +## 3.9.4 - 2015-11-03 + +* `Aws\DeviceFarm` - Added support for managing projects, device pools, runs, + and uploads. +* `Aws\Sts` - Added support for 64-character role session names. + +## 3.9.3 - 2015-11-02 + +* `Aws\Iam` - Added support for service-aware policy simulation. + +## 3.9.2 - 2015-10-29 + +* `Aws\ApiGateway` - Fixed parameter name collision that occurred when calling + `PutIntegration`. +* `Aws\S3` - Added support for asynchronous copy and upload. +* `Aws\S3` - Added support for setting a location constraint other than the + region of the S3 client. + +## 3.9.1 - 2015-10-26 + +* `Aws\ApiGateway` - Fixed erroneous version number. Previous version number + support kept for backwards compatibility, but "2015-06-01" should be + considered deprecated. + +## 3.9.0 - 2015-10-26 + +* `Aws\ApiGateway` - Added support for the **AWS API Gateway** service. +* `Aws\Ssm` - Added support for EC2 Run Command, a new EC2 feature that enables + you to securely and remotely manage the configuration of your Amazon EC2 + Windows instances. + +## 3.8.2 - 2015-10-22 + +* `Aws\AutoScaling` - Added support for EBS encryption. +* `Aws\Iam` - Added support for resource-based policy simulations. + +## 3.8.1 - 2015-10-15 + +* `Aws\Kms` - Added support for scheduling and cancelling key deletions and + listing retirable grants. +* `Aws\S3` - Added support for specifying server side encryption on an when + uploading a part of a multipart upload. + +## 3.8.0 - 2015-10-08 + +* `Aws\Ecs` - Added support for more Docker options hostname, Docker labels, + working directory, networking disabled, privileged execution, read-only root + filesystem, DNS servers, DNS search domains, ulimits, log configuration, extra + hosts (hosts to add to /etc/hosts), and security options (for MLS systems like + SELinux). +* `Aws\Iot` - Added support for the **AWS IoT** service. +* `Aws\IotDataPlane` - Added support for the **AWS IoT Data Plane** service. +* `Aws\Lambda` - Added support for function versioning. + +## 3.7.0 - 2015-10-07 + +* `Aws\ConfigService` - Added support for config rules, evaluation strategies, + and compliance querying. +* `Aws\Firehose` - Added support for the **Amazon Kinesis Firehose** service. +* `Aws\Inspector` - Added support for the **Amazon Inspector** service. +* `Aws\Kinesis` - Added support for increasing and decreasing stream retention + periods. +* `Aws\MarketplaceCommerceAnalytics` - Added support for the **AWS Marketplace + Commerce Analytics** service. + +## 3.6.0 - 2015-10-06 + +* `Aws\CloudFront` - Added support for WebACL identifiers and related + operations. +* `Aws\CloudFront` - Fixed URL presigner to always sign URL-encoded URLs. +* `Aws\Ec2` - Added support for spot blocks. +* `Aws\S3` - Fixed byte range specified on multipart copies. +* `Aws\Waf` - Added support for AWS WAF. + +## 3.5.0 - 2015-10-01 + +* `Aws\Cloudtrail` - Added support for log file integrity validation, log + encryption with AWS KMS–Managed Keys (SSE-KMS), and trail tagging. +* `Aws\ElasticsearchService` - Added support for the Amazon Elasticsearch + Service. +* `Aws\Rds` - Added support for resource tags. +* `Aws\S3` - Added support for copying objects of any size. +* `Aws\Workspaces` - Added support for storage volume encryption with AWS KMS. + +## 3.4.1 - 2015-09-29 + +* `Aws\CloudFormation` - Added support for specifying affected resource types + in `CreateStack` and `UpdateStack` operations. +* `Aws\CloudFormation` - Added support for the `DescribeAccountLimits` API. +* `Aws\Ec2` - Added support modifying previously created spot fleet requests. +* `Aws\Ses` - Added support for inbound email APIs. +* Fixed validation to allow using objects implementing `__toString` for string + fields in serialized output. + +## 3.4.0 - 2015-09-24 + +* `Aws\S3` - Fixed retry handling of networking errors and client socket timeout + errors to ensure the client `retries` option is respected. +* Added `@method` annotations on all clients to support autocomplete and static + analysis. +* Added performance tests to the acceptance test suite. +* Fixed error when `getIterator` was called on a paginator with no specified + `output_token`. +* Added support for reading the `aws_session_token` parameter from credentials + files. + +## 3.3.8 - 2015-09-17 + +* `Aws\CloudWatchLogs` - Added support for export task operations. + +## 3.3.7 - 2015-09-16 + +* `Aws\S3` - Added support for new `STANDARD_IA` storage class. +* `Aws\S3` - Added support for specifying storage class in cross-region + replication configuration. +* `Aws\Sqs` - Added a 'QueueExists' waiter to create a queue and wait until it + has been fully provisioned. + +## 3.3.6 - 2015-09-15 + +* `Aws\Ec2` - Added support for the "diversified" SpotFleet allocation strategy. +* `Aws\Ec2` - Added support for reading `StateMessage` and `DataEncryptionKeyId` + from a `DescribeSnapshots` response. +* `Aws\Efs` - Added support for using a `MountTargetId` parameter instead of a + `FileSystemId` parameter with the `DescribeMountTargets` command. +* `Aws\Route53` - Added support for calculated and latency health checks. +* `Aws\S3` - Fixed warning emitted by `BatchDelete` when no matching objects + were found to delete. + +## 3.3.5 - 2015-09-10 + +* `Aws\Iam` - Added support for new policy simulation APIs. +* `Aws\Kinesis` - Added support for timestamped GetRecords call. +* `Aws\MachineLearning` - Fixed invalid validation constraint on `Predict` + operation. +* `Aws\S3` - Added support for retrying special error cases with the + `ListObjects`, `CompleteMultipartUpload`, `CopyObject`, and `UploadPartCopy`. + +## 3.3.4 - 2015-09-03 + +* `Aws\StorageGateway` - Added support for tagging and untagging resources. + +## 3.3.3 - 2015-08-31 + +* `Aws\Ec2` - Added support for using instance weights with the + `RequestSpotFleet` API. + +## 3.3.2 - 2015-08-27 + +* `Aws\ConfigService` - Added support for the `ListDiscoveredResources` + operation and new resource types. + +## 3.3.1 - 2015-08-25 + +* `Aws\CodePipeline` - Added support for using encryption keys with artifact + stores. + +## 3.3.0 - 2015-08-20 + +* `Aws\S3` - Added support for event notification filters. +* Fixed waiter logic to always retry connection errors. +* Added support for per-command retry count overrides. +* Added support for defining custom patterns for the client debug log to use + to scrub sensitive data from the output logged. +* Moved the work being done by `Aws\JsonCompiler` from run time to build time. +* Fixed bug causing the phar autoloader not to be found when the phar was loaded + from opcache instead of from the filesystem. + +## 3.2.6 - 2015-08-12 + +* `Aws\ElasticBeanstalk` - Added support for enhanced health reporting. +* `Aws\S3` - Fixed retry middleware to ensure that S3 requests are retried + following errors raised by the HTTP handler. +* `Aws\S3` - Made the keys of the configuration array passed to the constructor + of `MultipartUploader` case-insensitive so that its configuration would not + rely on differently-cased keys from that of the `S3Client::putObject` + operation. +* Added an endpoint validation step to the `Aws\AwsClient` constructor so that + invalid endpoint would be reported immediately. + +## 3.2.5 - 2015-08-06 + +* `Aws\Swf` - Added support for invoking AWS Lambda tasks from an Amazon SWF + workflow. + +## 3.2.4 - 2015-08-04 + +* `Aws\DeviceFarm` - Added support for the `GetAccountSettings` operation and + update documentation to reflect new iOS support. +* Made PHP7 test failures fail the build. +* Added support for custom user-agent additions. + +## 3.2.3 - 2015-07-30 + +* `Aws\OpsWorks` - Added support for operations on ECS clusters. +* `Aws\Rds` - Added support for cluster operations for Amazon Aurora. + +## 3.2.2 - 2015-07-28 + +* `Aws\S3` - Added support for receiving the storage class in the responses for + `GetObject` and `HeadObject` operations. +* `Aws\CloudWatchLogs` - Added support for 4 new operations: `PutDestination`, + `PutDestinationPolicy`, `DescribeDestinations`, and `DeleteDestination`. + +## 3.2.1 - 2015-07-23 + +* **SECURITY FIX**: This release addresses a security issue associated with + CVE-2015-5723, specifically, fixes improper default directory umask behavior + that could potentially allow unauthorized modifications of PHP code. +* `Aws\Ec2` - Added support for SpotFleetLaunchSpecification. +* `Aws\Emr` - Added support for Amazon EMR release 4.0.0, which includes a new + application installation and configuration experience, upgraded versions of + Hadoop, Hive, and Spark, and now uses open source standards for ports and + paths. To specify an Amazon EMR release, use the release label parameter (AMI + versions 3.x and 2.x can still be specified with the AMI version parameter). +* `Aws\Glacier` - Added support for the InitiateVaultLock, GetVaultLock, + AbortVaultLock, and CompleteVaultLock API operations. +* Fixed a memory leak that occurred when clients were created and never used. +* Updated JsonCompiler by addressing a potential race condition and ensuring + that caches are invalidated when upgrading to a new version of the SDK. +* Updated protocol and acceptance tests. + +## 3.2.0 - 2015-07-14 + +* `Aws\DeviceFarm` - Added support for AWS DeviceFarm, an app testing service + that enables you to test your Android and Fire OS apps on real, physical + phones and tablets that are hosted by AWS. +* `Aws\DynamoDb` - Added support for consistent scans and update streams. +* `Aws\DynamoDbStreams` - Added support for Amazon DynamoDB Streams, giving you + the ability to subscribe to the transactional log of all changes transpiring + in your DynamoDB table. +* `Aws\S3` - Fixed checksum encoding on multipart upload of non-seekable + streams. +* `Aws\S3\StreamWrapper` - Added guard on rename functionality to ensure wrapper + initialized. + + +## 3.1.0 - 2015-07-09 + +* `Aws\CodeCommit` - Added support for AWS CodeCommit, a secure, highly + scalable, managed source control service that hosts private Git repositories. +* `Aws\CodePipeline` - Added support for AWS CodePipeline, a continuous delivery + service that enables you to model, visualize, and automate the steps required + to release your software. +* `Aws\Iam` - Added support for uploading SSH public keys for authentication + with AWS CodeCommit. +* `Aws\Ses` - Added support for cross-account sending through the sending + authorization feature. + +## 3.0.7 - 2015-07-07 + +* `Aws\AutoScaling` - Added support for step policies. +* `Aws\CloudHsm` - Fixed a naming collision with the `GetConfig` operation. This + operation is now available through the `GetConfigFiles` method. +* `Aws\DynamoDb` - Improved performance when unmarshalling complex documents. +* `Aws\DynamoDb` - Fixed checksum comparison of uncompressed responses. +* `Aws\Ec2` - Added support for encrypted snapshots. +* `Aws\S3` - Added support for user-provided SHA256 checksums for S3 uploads. +* `Aws\S3` - Added support for custom protocols in `Aws\S3\StreamWrapper`. +* Added cucumber integration tests. +* Updated the test suite to be compatible with PHP 7-alpha 2. + +## 3.0.6 - 2015-06-24 + +* `Aws\CloudFront` - Added support for configurable `MaxTTL` and `DefaultTTL`. +* `Aws\ConfigService` - Added support for recording changes for specific + resource types. +* `Aws\Ecs` - Added support for sorting, deregistering, and overriding + environment variables for task definitions. +* `Aws\Glacier` - Added support for the `AddTagsToVault`, `ListTagsForVault`, + and `RemoveTagsFromVault` API operations. +* `Aws\OpwWorks` - Added support for specifying agent versions to be used on + instances. +* `Aws\Redshift` - Added support for the `CreateSnapshotCopyGrant`, + `DescribeSnapshotCopyGrants`, and `DeleteSnapshotCopyGrant` API operations. +* Fixed XML attribute serialization. + +## 3.0.5 - 2015-06-18 + +* `Aws\CognitoSync` - Fixed an issue in the Signature Version 4 implementation + that was causing issues when signing requests to the Cognito Sync service. +* `Aws\ConfigService` - Fixed an issue that was preventing the + `ConfigServiceClient` from working properly. +* `Aws\Ecs` - Added support for sorting, deregistering, and overriding + environment variables for task definitions. +* `Aws\Iam` - Added new paginator and waiter configurations. +* `Aws\S3` - Added support for the `SaveAs` parameter that was in V2. +* `Aws\Sqs` - Fixed an issue that was preventing batch message deletion from + working properly. +* `Aws` - The `Aws\Sdk::createClient()` method is no longer case-sensitive with + service names. + +## 3.0.4 - 2015-06-11 + +* `Aws\AutoScaling` - Added support for attaching and detaching load balancers. +* `Aws\CloudWatchLogs` - Added support for the PutSubscriptionFilter, + DescribeSubscriptionFilters, and DeleteSubscriptionFilter operations. +* `Aws\CognitoIdentity` - Added support for the DeleteIdentities operation, + and hiding disabled identities with the ListIdentities operation. +* `Aws\Ec2` - Added support for VPC flow logs and the M4 instance types. +* `Aws\Ecs` - Added support for the UpdateContainerAgent operation. +* `Aws\S3` - Improvements to how errors are handled in the `StreamWrapper`. +* `Aws\StorageGateway` - Added support for the ListVolumeInitiators operation. +* `Aws` - Fixes a bug such that empty maps are handled correctly in JSON + requests. + +## 3.0.3 - 2015-06-01 + +* `Aws\MachineLearning` - Fixed the `Predict` operation to use the provided + `PredictEndpoint` as the host. + +## 3.0.2 - 2015-05-29 + +* `Aws` - Fixed an issue preventing some clients from being instantiated via + their constructors due to a mismatch between class name and endpoint prefix. + +## 3.0.1 - 2015-05-28 + +* `Aws\Lambda` - Added Amazon S3 upload support. + +## 3.0.0 - 2015-05-27 + +* Asynchronous requests. + * Features like _waiters_ and _multipart uploaders_ can also be used + asynchronously. + * Asynchronous workflows can be created using _promises_ and _coroutines_. + * Improved performance of concurrent/batched requests via _command pools_. +* Decoupled HTTP layer. + * [Guzzle 6](http://guzzlephp.org) is used by default to send requests, + but Guzzle 5 is also supported out of the box. + * The SDK can now work in environments where cURL is not available. + * Custom HTTP handlers are also supported. +* Follows the [PSR-4 and PSR-7 standards](http://php-fig.org). +* Middleware system for customizing service client behavior. +* Flexible _paginators_ for iterating through paginated results. +* Ability to query data from _result_ and _paginator_ objects with + [JMESPath](http://jmespath.org/). +* Easy debugging via the `'debug'` client configuration option. +* Customizable retries via the `'retries'` client configuration option. +* More flexibility in credential loading via _credential providers_. +* Strictly follows the [SemVer](http://semver.org/) standard going forward. +* **For more details about what has changed, see the + [Migration Guide](http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/migration.html)**. + +## 2.8.7 - 2015-05-26 + +* `Aws\Efs` - Added support for the [Amazon Elastic File System (Amazon + EFS)](http://aws.amazon.com/efs/) +* Failing to parse an XML error response will now fail gracefully as a + `PhpInternalXmlParseError` AWS error code. + +## 2.8.6 - 2015-05-21 + +* `Aws\ElasticBeanstalk` - Added support for ResourceName configuration. +* `Aws\ElasticTranscoder` - Added support for configuring AudioPackingMode and + additional CodecOptions. +* `Aws\Kinesis` - Added support for MillisBehindLatest in the result of + GetRecordsOutput. +* `Aws\Kms` - Added support for the UpdateAlias operation. +* `Aws\Lambda` - Fixed an issue with the UpdateFunctionCode operation. + +## 2.8.5 - 2015-05-18 + +* `Aws\Ec2\Ec2Client` - Added support for the new spot fleet API operations. +* `Aws\OpsWorks\OpsWorksClient` - Added support for custom auto-scaling based + on CloudWatch alarms. + +## 2.8.4 - 2015-05-14 + +* `Aws\DirectoryService` - Added support for the AWS Directory Service. +* `Aws\CloudWatchLogs` - Adds support for the FilterLogEvents operation. +* `Aws\CloudFormation` - Adds additional data to the GetTemplateSummary + operation. +* `Aws\Ec2` - Adds support for Amazon VPC endpoints for Amazon S3 and APIs for + migrating Elastic IP Address from EC2-Classic to EC2-VPC. +* `Aws\Ec2` - Fixed an issue with cross-region CopySnapshot such that it now + works with temporary credentials. +* `Aws\Common` - During credential discovery, an invalid credentials file now + allows failover to Instance Profile credentials. + +## 2.8.3 - 2015-05-07 + +* `Aws\Glacier` - Added support for vault access policies. +* `Aws\Route53` - Fixed a `GetCheckerIpRangesResponse` response parsing issue. +* `Aws\S3` - Retrying CompleteMultipartUpload failures by retrying the request. +* `Aws\S3` - Corrected some response handling in the S3 multipart upload + abstraction. +* Expiring instance metadata credentials 30 minutes in advance for more eager + refreshes before the credentials expire. + +## 2.8.2 - 2015-04-23 + +* `Aws\Ec2` - Added support for new VM Import APIs, `including ImportImage`. +* `Aws\Iam` - Added support for the `GetAccessKeyLastUsed` operation. +* `Aws\CloudSearchDomain` - Search responses now include the expressions requested. + +## 2.8.1 - 2015-04-16 + +* `Aws\ConfigService` - Added the 'GetResourceConfigHistory' iterator. +* `Aws\CognitoSync` - Added support for events. +* `Aws\Lambda` - Fixed an issue with the Invoke operation. + +## 2.8.0 - 2015-04-09 + +See the [Upgrading Guide](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md) +for details about any changes you may need to make to your code for this upgrade. + +* `Aws\MachineLearning` - Added support for the Amazon Machine Learning service. +* `Aws\WorkSpaces` - Added support for the Amazon WorkSpaces service. +* `Aws\Ecs` - Added support for the ECS service scheduler operations. +* `Aws\S3` - Added support for the `getBucketNotificationConfiguration` and + `putBucketNotificationConfiguration` operations to the `S3Client` to replace + the, now deprecated, `getBucketNotification` and `putBucketNotification` + operations. +* [BC] `Aws\Lambda` - Added support for the new AWS Lambda API, which has been + changed based on customer feedback during Lambda's preview period. +* `Aws\Common` - Deprecated "facades". They will not be present in Version 3 of + the SDK. +* `Aws\Common` - Added `getAwsErrorCode`, `getAwsErrorType` and `getAwsRequestId` + methods to the `ServiceResponseException` to be forward-compatible with + Version 3 of the SDK. + +## 2.7.27 - 2015-04-07 + +* `Aws\DataPipeline` - Added support for `DeactivatePipeline` +* `Aws\ElasticBeanstalk` - Added support for `AbortEnvironmentUpdate` + +## 2.7.26 - 2015-04-02 + +* `Aws\CodeDeploy` - Added support deployments to on-premises instances. +* `Aws\Rds` - Added support for the `DescribeCertificates` operation. +* `Aws\ElasticTranscoder` - Added support for protecting content with PlayReady + Digital Rights Management (DRM). + +## 2.7.25 - 2015-03-26 + +* `Aws\ElasticTranscoder` - Added support for job timing. +* `Aws\Iam` - Added `NamedPolicy` to `GetAccountAuthorizationDetails`. +* `Aws\OpsWorks` - Added `BlockDeviceMapping` support. + +## 2.7.24 - 2015-03-24 + +* `Aws\S3` - Added support for cross-region replication. +* `Aws\S3` - Added support for ["Requester Pays" buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html). + +## 2.7.23 - 2015-03-19 + +* `Aws\ElasticTranscoder` - API update to support AppliedColorSpaceConversion. +* `Aws\CloudSearchDomain` - Adding 504 status code to retry list. + +## 2.7.22 - 2015-03-12 + +* `Aws\CloudFront` - Fixed #482, which affected pre-signing CloudFront URLs. +* `Aws\CloudTrail` - Added support for the `LookupEvents` operation. +* `Aws\CloudWatchLogs` - Added ordering parameters to the `DescribeLogStreams` +* `Aws\Ec2` - Added pagination parameters to the `DescribeSnapshots` operation. + operation. + +## 2.7.21 - 2015-03-04 + +* `Aws\CognitoSync` - Added support for Amazon Cognito Streams. + +## 2.7.20 - 2015-02-23 + +* `Aws\DataPipeline` - Added support for pipeline tagging via the `AddTags` and + `RemoveTags` operations. +* `Aws\Route53` - Added support for the `GetHostedZoneCount` and + `ListHostedZonesByName` operations. + +## 2.7.19 - 2015-02-20 + +* `Aws\CloudFront` - Added support for origin paths in web distributions. +* `Aws\Ecs` - Added support for specifying volumes and mount points. Also +* `Aws\ElasticTranscoder` - Added support for cross-regional resource warnings. +* `Aws\Route53Domains` - Add iterators for `ListDomains` and `ListOperations`. +* `Aws\Ssm` - Added support for the **Amazon Simple Systems Management Service + (SSM)**. +* `Aws\Sts` - Added support for regional endpoints. + switched the client to use a JSON protocol. +* Changed our CHANGELOG format. ;-) + +## 2.7.18 - 2015-02-12 + +* Added support for named and managed policies to the IAM client. +* Added support for tagging operations to the Route 53 Domains client. +* Added support for tagging operations to the ElastiCache client. +* Added support for the Scan API for secondary indexes to the DynamoDB client. +* Added forward compatibility for the `'credentials'`, `'endpoint'`, and + `'http'` configuration options. +* Made the `marshalValue()` and `unmarshalValue()` methods public in the + DynamoDB Marshaler. + +## 2.7.17 - 2015-01-27 + +* Added support for `getShippingLabel` to the AWS Import/Export client. +* Added support for online indexing to the DynamoDB client. +* Updated the AWS Lambda client. + +## 2.7.16 - 2015-01-20 + +* Added support for custom security groups to the Amazon EMR client. +* Added support for the latest APIs to the Amazon Cognito Identity client. +* Added support for ClassicLink to the Auto Scaling client. +* Added the ability to set a client's API version to "latest" for forwards + compatibility with v3. + +## 2.7.15 - 2015-01-15 + +* Added support for [HLS Content Protection](https://aws.amazon.com/releasenotes/3388917394239147) + to the Elastic Transcoder client. +* Updated client factory logic to add the `SignatureListener`, even when + `NullCredentials` have been specified. This way, you can update a client's + credentials later if you want to begin signing requests. + +## 2.7.14 - 2015-01-09 + +* Fixed a regression in the CloudSearch Domain client (#448). + +## 2.7.13 - 2015-01-08 + +* Added the Amazon EC2 Container Service client. +* Added the Amazon CloudHSM client. +* Added support for dynamic fields to the Amazon CloudSearch client. +* Added support for the ClassicLink feature to the Amazon EC2 client. +* Updated the Amazon RDS client to use the latest 2014-10-31 API. +* Updated S3 signature so retries use a new Date header on each attempt. + +## 2.7.12 - 2014-12-18 + +* Added support for task priorities to Amazon Simple Workflow Service. + +## 2.7.11 - 2014-12-17 + +* Updated Amazon EMR to the latest API version. +* Added support for for the new ResetCache API operation to AWS Storage Gateway. + +## 2.7.10 - 2014-12-12 + +* Added support for user data to Amazon Elastic Transcoder. +* Added support for data retrieval policies and audit logging to the Amazon + Glacier client. +* Corrected the AWS Security Token Service endpoint. + +## 2.7.9 - 2014-12-08 + +* The Amazon Simple Queue Service client adds support for the PurgeQueue + operation. +* You can now use AWS OpsWorks with existing EC2 instances and on-premises + servers. + +## 2.7.8 - 2014-12-04 + +* Added support for the `PutRecords` batch operation to `KinesisClient`. +* Added support for the `GetAccountAuthorizationDetails` operation to the + `IamClient`. +* Added support for the `UpdateHostedZoneComment` operation to `Route53Client`. +* Added iterators for `ListEventSources` and `ListFunctions` operations the + `LambdaClient`. + +## 2.7.7 - 2014-11-25 + +* Added a DynamoDB `Marshaler` class, that allows you to marshal JSON documents + or native PHP arrays to the format that DynamoDB requires. You can also + unmarshal item data from operation results back into JSON documents or native + PHP arrays. +* Added support for media file encryption to Amazon Elastic Transcoder. +* Removing a few superfluous `x-amz-server-side-encryption-aws-kms-key-id` from + the Amazon S3 model. +* Added support for using AWS Data Pipeline templates to create pipelines and + bind values to parameters in the pipeline. + +## 2.7.6 - 2014-11-20 + +* Added support for AWS KMS integration to the Amazon Redshift Client. +* Fixed cn-north-1 endpoint for AWS Identity and Access Management. +* Updated `S3Client::getBucketLocation` method to work cross-region regardless + of the region's signature requirements. +* Fixed an issue with the DynamoDbClient that allows it to work better with + with DynamoDB Local. + +## 2.7.5 - 2014-11-13 + +* Added support for AWS Lambda. +* Added support for event notifications to the Amazon S3 client. +* Fixed an issue with S3 pre-signed URLs when using Signature V4. + +## 2.7.4 - 2014-11-12 + +* Added support for the AWS Key Management Service (AWS KMS). +* Added support for AWS CodeDeploy. +* Added support for AWS Config. +* Added support for AWS KMS encryption to the Amazon S3 client. +* Added support for AWS KMS encryption to the Amazon EC2 client. +* Added support for Amazon CloudWatch Logs delivery to the AWS CloudTrail + client. +* Added the GetTemplateSummary operation to the AWS CloudFormation client. +* Fixed an issue with sending signature version 4 Amazon S3 requests that + contained a 0 length body. + +## 2.7.3 - 2014-11-06 + +* Added support for private DNS for Amazon Virtual Private Clouds, health check + failure reasons, and reusable delegation sets to the Amazon Route 53 client. +* Updated the CloudFront model. +* Added support for configuring push synchronization to the Cognito Sync client. +* Updated docblocks in a few S3 and Glacier classes to improve IDE experience. + +## 3.0.0-beta.1 - 2014-10-14 + +* New requirements on Guzzle 5 and PHP 5.5. +* Event system now uses Guzzle 5 events and no longer utilizes Symfony2. +* `version` and `region` are now required parameter for each client + constructor. You can op-into using the latest version of a service by + setting `version` to `latest`. +* Removed `Aws\S3\ResumableDownload`. +* More information to follow. + +## 2.7.2 - 2014-10-23 + +* Updated AWS Identity and Access Management (IAM) to the latest version. +* Updated Amazon Cognito Identity client to the latest version. +* Added auto-renew support to the Amazon Route 53 Domains client. +* Updated Amazon EC2 to the latest version. + +## 2.7.1 - 2014-10-16 + +* Updated the Amazon RDS client to the 2014-09-01 API version. +* Added support for advanced Japanese language processing to the Amazon + CloudSearch client. + +## 2.7.0 - 2014-10-08 + +* Added document model support to the Amazon DynamoDB client, including support + for the new data types (`L`, `M`, `BOOL`, and `NULL`), nested attributes, and + expressions. +* Deprecated the `Aws\DynamoDb\Model\Attribute`, `Aws\DynamoDb\Model\Item`, + and `Aws\DynamoDb\Iterator\ItemIterator` classes, and the + `Aws\DynamoDb\DynamoDbClient::formatValue` and + `Aws\DynamoDb\DynamoDbClient::formatAttribute` methods, since they do not + support the new types in the DynamoDB document model. These deprecated classes + and methods still work reliably with `S`, `N`, `B`, `SS`, `NS`, and `BS` + attributes. +* Updated the Amazon DynamoDB client to permanently disable client-side + parameter validation. This needed to be done in order to support the new + document model features. +* Updated the Amazon EC2 client to sign requests with Signature V4. +* Fixed an issue in the S3 service description to make the `VersionId` + work in `S3Client::restoreObject`. + +## 2.6.16 - 2014-09-11 + +* Added support for tagging to the Amazon Kinesis client. +* Added support for setting environment variables to the AWS OpsWorks client. +* Fixed issue #334 to allow the `before_upload` callback to work in the + `S3Client::upload` method. +* Fixed an issue in the Signature V4 signer that was causing an issue with some + CloudSearch Domain operations. + +## 2.6.15 - 2014-08-14 + +* Added support for signing requests to the Amazon CloudSearch Domain client. +* Added support for creating anonymous clients. + +## 2.6.14 - 2014-08-11 + +* Added support for tagging to the Elastic Load Balancing client. + +## 2.6.13 - 2014-07-31 + +* Added support for configurable idle timeouts to the Elastic Load Balancing + client. +* Added support for Lifecycle Hooks, Detach Instances, and Standby to the + AutoScaling client. +* Added support for creating Amazon ElastiCache for Memcached clusters with + nodes in multiple availability zones. +* Added minor fixes to the Amazon EC2 model for ImportVolume, + DescribeNetworkInterfaceAttribute, and DeleteVpcPeeringConnection +* Added support for getGeoLocation and listGeoLocations to the + Amazon Route 53 client. +* Added support for Amazon Route 53 Domains. +* Fixed an issue with deleting nested folders in the Amazon S3 stream wrapper. +* Fixed an issue with the Amazon S3 sync abstraction to ensure that S3->S3 + communication works correctly. +* Added stricter validation to the Amazon SNS MessageValidator. + +## 2.6.12 - 2014-07-16 + +* Added support for adding attachments to support case communications to the + AWS Support API client. +* Added support for credential reports and password rotation features to the + AWS IAM client. +* Added the `ap-northeast-1`, `ap-southeast-1`, and `ap-southeast-2` regions to + the Amazon Kinesis client. +* Added a `listFilter` stream context option that can be used when using + `opendir()` and the Amazon S3 stream wrapper. This option is used to filter + out specific objects from the files yielded from the stream wrapper. +* Fixed #322 so that the download sync builder ignores objects that have a + `GLACIER` storage class. +* Fixed an issue with the S3 SSE-C logic so that HTTPS is only required when + the SSE-C parameters are provided. +* Updated the Travis configuration to include running HHVM tests. + +## 2.6.11 - 2014-07-09 + +* Added support for **Amazon Cognito Identity**. +* Added support for **Amazon Cognito Sync**. +* Added support for **Amazon CloudWatch Logs**. +* Added support for editing existing health checks and associating health checks + with tags to the Amazon Route 53 client. +* Added the ModifySubnetAttribute operation to the Amazon EC2 client. + +## 2.6.10 - 2014-07-02 + +* Added the `ap-northeast-1`, `ap-southeast-1`, and `sa-east-1` regions to the + Amazon CloudTrail client. +* Added the `eu-west-1` and `us-west-2` regions to the Amazon Kinesis client. +* Fixed an issue with the SignatureV4 implementation when used with Amazon S3. +* Fixed an issue with a test that was causing failures when run on EC2 instances + that have associated Instance Metadata credentials. + +## 2.6.9 - 2014-06-26 + +* Added support for the CloudSearchDomain client, which allows you to search and + upload documents to your CloudSearch domains. +* Added support for delivery notifications to the Amazon SES client. +* Updated the CloudFront client to support the 2014-05-31 API. +* Merged PR #316 as a better solution for issue #309. + +## 2.6.8 - 2014-06-20 + +* Added support for closed captions to the Elastic Transcoder client. +* Added support for IAM roles to the Elastic MapReduce client. +* Updated the S3 PostObject to ease customization. +* Fixed an issue in some EC2 waiters by merging PR #306. +* Fixed an issue with the DynamoDB `WriteRequestBatch` by merging PR #310. +* Fixed issue #309, where the `url_stat()` logic in the S3 Stream Wrapper was + affected by a change in PHP 5.5.13. + +## 2.6.7 - 2014-06-12 + +* Added support for Amazon S3 server-side encryption using customer-provided + encryption keys. +* Updated Amazon SNS to support message attributes. +* Updated the Amazon Redshift model to support new cluster parameters. +* Updated PHPUnit dev dependency to 4.* to work around a PHP serializing bug. + +## 2.6.6 - 2014-05-29 + +* Added support for the [Desired Partition Count scaling + option](http://aws.amazon.com/releasenotes/2440176739861815) to the + CloudSearch client. Hebrew is also now a supported language. +* Updated the STS service description to the latest version. +* [Docs] Updated some of the documentation about credential profiles. +* Fixed an issue with the regular expression in the `S3Client::isValidBucketName` + method. See #298. + +## 2.6.5 - 2014-05-22 + +* Added cross-region support for the Amazon EC2 CopySnapshot operation. +* Added AWS Relational Database (RDS) support to the AWS OpsWorks client. +* Added support for tagging environments to the AWS Elastic Beanstalk client. +* Refactored the signature version 4 implementation to be able to pre-sign + most operations. + +## 2.6.4 - 2014-05-20 + +* Added support for lifecycles on versioning enabled buckets to the Amazon S3 + client. +* Fixed an Amazon S3 sync issue which resulted in unnecessary transfers when no + `$keyPrefix` argument was utilized. +* Corrected the `CopySourceIfMatch` and `CopySourceIfNoneMatch` parameter for + Amazon S3 to not use a timestamp shape. +* Corrected the sending of Amazon S3 PutBucketVersioning requests that utilize + the `MFADelete` parameter. + +## 2.6.3 - 2014-05-14 + +* Added the ability to modify Amazon SNS topic settings to the UpdateStack + operation of the AWS CloudFormation client. +* Added support for the us-west-1, ap-southeast-2, and eu-west-1 regions to the + AWS CloudTrail client. +* Removed no longer utilized AWS CloudTrail shapes from the model. + +## 2.6.2 - 2014-05-06 + +* Added support for Amazon SQS message attributes. +* Fixed Amazon S3 multi-part uploads so that manually set ContentType values are not overwritten. +* No longer recalculating file sizes when an Amazon S3 socket timeout occurs because this was causing issues with + multi-part uploads and it is very unlikely ever the culprit of a socket timeout. +* Added better environment variable detection. + +## 2.6.1 - 2014-04-25 + +* Added support for the `~/.aws/credentials` INI file and credential profiles (via the `profile` option) as a safer + alternative to using explicit credentials with the `key` and `secret` options. +* Added support for query filters and improved conditional expressions to the Amazon DynamoDB client. +* Added support for the `ChefConfiguration` parameter to a few operations on the AWS OpsWorks Client. +* Added support for Redis cache cluster snapshots to the Amazon ElastiCache client. +* Added support for the `PlacementTenancy` parameter to the `CreateLaunchConfiguration` operation of the Auto Scaling + client. +* Added support for the new R3 instance types to the Amazon EC2 client. +* Added the `SpotInstanceRequestFulfilled` waiter to the Amazon EC2 client (see #241). +* Improved the S3 Stream Wrapper by adding support for deleting pseudo directories (#264), updating error handling + (#276), and fixing `is_link()` for non-existent keys (#268). +* Fixed #252 and updated the DynamoDB `WriteRequestBatch` abstraction to handle batches that were completely rejected + due to exceeding provisioned throughput. +* Updated the SDK to support Guzzle 3.9.x + +## 2.6.0 - 2014-03-25 + +* [BC] Updated the Amazon CloudSearch client to use the new 2013-01-01 API version (see [their release + notes](http://aws.amazon.com/releasenotes/6125075708216342)). This API version of CloudSearch is significantly + different than the previous one, and is not backwards compatible. See the + [Upgrading Guide](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md) for more details. +* Added support for the VPC peering features to the Amazon EC2 client. +* Updated the Amazon EC2 client to use the new 2014-02-01 API version. +* Added support for [resize progress data and the Cluster Revision Number + parameter](http://aws.amazon.com/releasenotes/0485739709714318) to the Amazon Redshift client. +* Added the `ap-northeast-1`, `ap-southeast-2`, and `sa-east-1` regions to the Amazon CloudSearch client. + +## 2.5.4 - 2014-03-20 + +* Added support for [access logs](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/access-log-collection.html) + to the Elastic Load Balancing client. +* Updated the Elastic Load Balancing client to the latest API version. +* Added support for the `AWS_SECRET_ACCESS_KEY` environment variables. +* Updated the Amazon CloudFront client to use the 2014-01-31 API version. See [their release + notes](http://aws.amazon.com/releasenotes/1900016175520505). +* Updates the AWS OpsWorks client to the latest API version. +* Amazon S3 Stream Wrapper now works correctly with pseudo folder keys created by the AWS Management Console. +* Amazon S3 Stream Wrapper now implements `mkdir()` for nested folders similar to the AWS Management Console. +* Addressed an issue with Amazon S3 presigned-URLs where X-Amz-* headers were not being added to the query string. +* Addressed an issue with the Amazon S3 directory sync where paths that contained dot-segments were not properly. + resolved. Removing the dot segments consistently helps to ensure that files are uploaded to their intended. + destinations and that file key comparisons are accurately performed when determining which files to upload. + +## 2.5.3 - 2014-02-27 + +* Added support for HTTP and HTTPS string-match health checks and HTTPS health checks to the Amazon Route 53 client +* Added support for the UPSERT action for the Amazon Route 53 ChangeResourceRecordSets operation +* Added support for SerialNumber and TokenCode to the AssumeRole operation of the IAM Security Token Service (STS). +* Added support for RequestInterval and FailureThreshold to the Amazon Route53 client. +* Added support for smooth streaming to the Amazon CloudFront client. +* Added the us-west-2, eu-west-1, ap-southeast-2, and ap-northeast-1 regions to the AWS Data Pipeline client. +* Added iterators to the Amazon Kinesis client +* Updated iterator configurations for all services to match our new iterator config spec (care was taken to continue + supporting manually-specified configurations in the old format to prevent BC) +* Updated the Amazon EC2 model to include the latest updates and documentation. Removed deprecated license-related + operations (this is not considered a BC since we have confirmed that these operations are not used by customers) +* Updated the Amazon Route 53 client to use the 2013-04-01 API version +* Fixed several iterator configurations for various services to better support existing operations and parameters +* Fixed an issue with the Amazon S3 client where an exception was thrown when trying to add a default Content-MD5 + header to a request that uses a non-rewindable stream. +* Updated the Amazon S3 PostObject class to work with CNAME style buckets. + +## 2.5.2 - 2014-01-29 + +* Added support for dead letter queues to Amazon SQS +* Added support for the new M3 medium and large instance types to the Amazon EC2 client +* Added support for using the `eu-west-1` and `us-west-2` regions to the Amazon SES client +* Adding content-type guessing to the Amazon S3 stream wrapper (see #210) +* Added an event to the Amazon S3 multipart upload helpers to allow granular customization of multipart uploads during + a sync (see #209) +* Updated Signature V4 logic for Amazon S3 to throw an exception if you attempt to create a presigned URL that expires + later than a week (see #215) +* Fixed the `downloadBucket` and `uploadDirectory` methods to support relative paths and better support + Windows (see #207) +* Fixed issue #195 in the Amazon S3 multipart upload helpers to properly support additional parameters (see #211) +* [Docs] Expanded examples in the [API reference](http://docs.aws.amazon.com/aws-sdk-php/latest/index.html) by default + so they don't get overlooked +* [Docs] Moved the API reference links in the [service-specific user guide + pages](http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html#service-specific-guides) to the bottom so + the page's content takes priority + +## 2.5.1 - 2014-01-09 + +* Added support for attaching existing Amazon EC2 instances to an Auto Scaling group to the Auto Scaling client +* Added support for creating launch configurations from existing Amazon EC2 instances to the Auto Scaling client +* Added support for describing Auto Scaling account limits to the Auto Scaling client +* Added better support for block device mappings to the Amazon AutoScaling client when creating launch configurations +* Added support for [ranged inventory retrieval](http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering) + to the Amazon Glacier client +* [Docs] Updated and added a lot of content in the [User Guide](http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html) +* Fixed a bug where the `KinesisClient::getShardIterator()` method was not working properly +* Fixed an issue with Amazon SimpleDB where the 'Value' attribute was marked as required on DeleteAttribute and BatchDeleteAttributes +* Fixed an issue with the Amazon S3 stream wrapper where empty place holder keys were being marked as files instead of directories +* Added the ability to specify a custom signature implementation using a string identifier (e.g., 'v4', 'v2', etc) + +## 2.5.0 - 2013-12-20 + +* Added support for the new **China (Beijing) Region** to various services. This region is currently in limited preview. + Please see <http://www.amazonaws.cn> for more information +* Added support for different audio compression schemes to the Elastic Transcoder client (includes AAC-LC, HE-AAC, + and HE-AACv2) +* Added support for preset and pipeline pagination to the Elastic Transcoder client. You can now view more than the + first 50 presets and pipelines with their corresponding list operations +* Added support for [geo restriction](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#georestrictions) + to the Amazon CloudFront client +* [SDK] Added Signature V4 support to the Amazon S3 and Amazon EC2 clients for the new China (Beijing) Region +* [BC] Updated the AWS CloudTrail client to use their latest API changes due to early user feedback. Some parameters in + the `CreateTrail`, `UpdateTrail`, and `GetTrailStatus` have been deprecated and will be completely unavailable as + early as February 15th, 2014. Please see [this announcement on the CloudTrail + forum](https://forums.aws.amazon.com/ann.jspa?annID=2286). We are calling this out as a breaking change now to + encourage you to update your code at this time. +* Updated the Amazon CloudFront client to use the 2013-11-11 API version +* [BC] Updated the Amazon EC2 client to use the latest API. This resulted in a small change to a parameter in the + `RequestSpotInstances` operation. See [this commit](https://github.com/aws/aws-sdk-php/commit/36ae0f68d2a6dcc3bc28222f60ecb318449c4092#diff-bad2f6eac12565bb684f2015364c22bd) + for the change +* [BC] Removed Signature V3 support (no longer needed) and refactored parts of the signature-related classes + +## 2.4.12 - 2013-12-12 + +* Added support for **Amazon Kinesis** +* Added the CloudTrail `LogRecordIterator`, `LogFileIterator`, and `LogFileReader` classes for reading log files + generated by the CloudTrail service +* Added support for resource-level permissions to the AWS OpsWorks client +* Added support for worker environment tiers to the AWS Elastic Beanstalk client +* Added support for the new I2 instance types to the Amazon EC2 client +* Added support for resource tagging to the Amazon Elastic MapReduce client +* Added support for specifying a key encoding type to the Amazon S3 client +* Added support for global secondary indexes to the Amazon DynamoDB client +* Updated the Amazon ElastiCache client to use Signature Version 4 +* Fixed an issue in the waiter factory that caused an error when getting the factory for service clients without any + existing waiters +* Fixed issue #187, where the DynamoDB Session Handler would fail to save the session if all the data is removed + +## 2.4.11 - 2013-11-26 + +* Added support for copying DB snapshots from one AWS region to another to the Amazon RDS client +* Added support for pagination of the `DescribeInstances` and `DescribeTags` operations to the Amazon EC2 client +* Added support for the new C3 instance types and the g2.2xlarge instance type to the Amazon EC2 client +* Added support for enabling *Single Root I/O Virtualization* (SR-IOV) support for the new C3 instance types to the + Amazon EC2 client +* Updated the Amazon EC2 client to use the 2013-10-15 API version +* Updated the Amazon RDS client to use the 2013-09-09 API version +* Updated the Amazon CloudWatch client to use Signature Version 4 + +## 2.4.10 - 2013-11-14 + +* Added support for **AWS CloudTrail** +* Added support for identity federation using SAML 2.0 to the AWS STS client +* Added support for configuring SAML-compliant identity providers to the AWS IAM client +* Added support for event notifications to the Amazon Redshift client +* Added support for HSM storage for encryption keys to the Amazon Redshift client +* Added support for encryption key rotation to the Amazon Redshift client +* Added support for database audit logging to the Amazon Redshift client + +## 2.4.9 - 2013-11-08 + +* Added support for [cross-zone load balancing](http://aws.amazon.com/about-aws/whats-new/2013/11/06/elastic-load-balancing-adds-cross-zone-load-balancing/) + to the Elastic Load Balancing client. +* Added support for a [new gateway configuration](http://aws.amazon.com/about-aws/whats-new/2013/11/05/aws-storage-gateway-announces-gateway-virtual-tape-library/), + Gateway-Virtual Tape Library, to the AWS Storage Gateway client. +* Added support for stack policies to the the AWS CloudFormation client. +* Fixed issue #176 where attempting to upload a direct to Amazon S3 using the `UploadBuilder` failed when using a custom + iterator that needs to be rewound. + +## 2.4.8 - 2013-10-31 + +* Updated the AWS Direct Connect client +* Updated the Amazon Elastic MapReduce client to add support for new EMR APIs, termination of specific cluster + instances, and unlimited EMR steps. + +## 2.4.7 - 2013-10-17 + +* Added support for audio transcoding features to the Amazon Elastic Transcoder client +* Added support for modifying Reserved Instances in a region to the Amazon EC2 client +* Added support for new resource management features to the AWS OpsWorks client +* Added support for additional HTTP methods to the Amazon CloudFront client +* Added support for custom error page configuration to the Amazon CloudFront client +* Added support for the public IP address association of instances in Auto Scaling group via the Auto Scaling client +* Added support for tags and filters to various operations in the Amazon RDS client +* Added the ability to easily specify event listeners on waiters +* Added support for using the `ap-southeast-2` region to the Amazon Glacier client +* Added support for using the `ap-southeast-1` and `ap-southeast-2` regions to the Amazon Redshift client +* Updated the Amazon EC2 client to use the 2013-09-11 API version +* Updated the Amazon CloudFront client to use the 2013-09-27 API version +* Updated the AWS OpsWorks client to use the 2013-07-15 API version +* Updated the Amazon CloudSearch client to use Signature Version 4 +* Fixed an issue with the Amazon S3 Client so that the top-level XML element of the `CompleteMultipartUpload` operation + is correctly sent as `CompleteMultipartUpload` +* Fixed an issue with the Amazon S3 Client so that you can now disable bucket logging using with the `PutBucketLogging` + operation +* Fixed an issue with the Amazon CloudFront so that query string parameters in pre-signed URLs are correctly URL-encoded +* Fixed an issue with the Signature Version 4 implementation where headers with multiple values were sometimes sorted + and signed incorrectly + +## 2.4.6 - 2013-09-12 + +* Added support for modifying EC2 Reserved Instances to the Amazon EC2 client +* Added support for VPC features to the AWS OpsWorks client +* Updated the DynamoDB Session Handler to implement the SessionHandlerInterface of PHP 5.4 when available +* Updated the SNS Message Validator to throw an exception, instead of an error, when the raw post data is invalid +* Fixed an issue in the S3 signature which ensures that parameters are sorted correctly for signing +* Fixed an issue in the S3 client where the Sydney region was not allowed as a `LocationConstraint` for the + `PutObject` operation + +## 2.4.5 - 2013-09-04 + +* Added support for replication groups to the Amazon ElastiCache client +* Added support for using the `us-gov-west-1` region to the AWS CloudFormation client + +## 2.4.4 - 2013-08-29 + +* Added support for assigning a public IP address to an instance at launch to the Amazon EC2 client +* Updated the Amazon EC2 client to use the 2013-07-15 API version +* Updated the Amazon SWF client to sign requests with Signature V4 +* Updated the Instance Metadata client to allow for higher and more customizable connection timeouts +* Fixed an issue with the SDK where XML map structures were not being serialized correctly in some cases +* Fixed issue #136 where a few of the new Amazon SNS mobile push operations were not working properly +* Fixed an issue where the AWS STS `AssumeRoleWithWebIdentity` operation was requiring credentials and a signature + unnecessarily +* Fixed and issue with the `S3Client::uploadDirectory` method so that true key prefixes can be used +* [Docs] Updated the API docs to include sample code for each operation that indicates the parameter structure +* [Docs] Updated the API docs to include more information in the descriptions of operations and parameters +* [Docs] Added a page about Iterators to the user guide + +## 2.4.3 - 2013-08-12 + +* Added support for mobile push notifications to the Amazon SNS client +* Added support for progress reporting on snapshot restore operations to the the Amazon Redshift client +* Updated the Amazon Elastic MapReduce client to use JSON serialization +* Updated the Amazon Elastic MapReduce client to sign requests with Signature V4 +* Updated the SDK to throw `Aws\Common\Exception\TransferException` exceptions when a network error occurs instead of a + `Guzzle\Http\Exception\CurlException`. The TransferException class, however, extends from + `Guzzle\Http\Exception\CurlException`. You can continue to catch the Guzzle `CurlException` or catch + `Aws\Common\Exception\AwsExceptionInterface` to catch any exception that can be thrown by an AWS client +* Fixed an issue with the Amazon S3 stream wrapper where trailing slashes were being added when listing directories + +## 2.4.2 - 2013-07-25 + +* Added support for cross-account snapshot access control to the Amazon Redshift client +* Added support for decoding authorization messages to the AWS STS client +* Added support for checking for required permissions via the `DryRun` parameter to the Amazon EC2 client +* Added support for custom Amazon Machine Images (AMIs) and Chef 11 to the AWS OpsWorks client +* Added an SDK compatibility test to allow users to quickly determine if their system meets the requirements of the SDK +* Updated the Amazon EC2 client to use the 2013-06-15 API version +* Fixed an unmarshalling error with the Amazon EC2 `CreateKeyPair` operation +* Fixed an unmarshalling error with the Amazon S3 `ListMultipartUploads` operation +* Fixed an issue with the Amazon S3 stream wrapper "x" fopen mode +* Fixed an issue with `Aws\S3\S3Client::downloadBucket` by removing leading slashes from the passed `$keyPrefix` argument + +## 2.4.1 - 2013-06-08 + +* Added support for setting watermarks and max framerates to the Amazon Elastic Transcoder client +* Added the `Aws\DynamoDb\Iterator\ItemIterator` class to make it easier to get items from the results of DynamoDB + operations in a simpler form +* Added support for the `cr1.8xlarge` EC2 instance type. Use `Aws\Ec2\Enum\InstanceType::CR1_8XLARGE` +* Added support for the suppression list SES mailbox simulator. Use `Aws\Ses\Enum\MailboxSimulator::SUPPRESSION_LIST` +* [SDK] Fixed an issue with data formats throughout the SDK due to a regression. Dates are now sent over the wire with + the correct format. This issue affected the Amazon EC2, Amazon ElastiCache, AWS Elastic Beanstalk, Amazon EMR, and + Amazon RDS clients +* Fixed an issue with the parameter serialization of the `ImportInstance` operation in the Amazon EC2 client +* Fixed an issue with the Amazon S3 client where the `RoutingRules.Redirect.HostName` parameter of the + `PutBucketWebsite` operation was erroneously marked as required +* Fixed an issue with the Amazon S3 client where the `DeleteObject` operation was missing parameters +* Fixed an issue with the Amazon S3 client where the `Status` parameter of the `PutBucketVersioning` operation did not + properly support the "Suspended" value +* Fixed an issue with the Amazon Glacier `UploadPartGenerator` class so that an exception is thrown if the provided body + to upload is less than 1 byte +* Added MD5 validation to Amazon SQS ReceiveMessage operations + +## 2.4.0 - 2013-06-18 + +* [BC] Updated the Amazon CloudFront client to use the new 2013-05-12 API version which includes changes in how you + configure distributions. If you are not ready to upgrade to the new API, you can configure the SDK to use the previous + version of the API by setting the `version` option to `2012-05-05` when you instantiate the client (See + [`UPGRADING.md`](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md)) +* Added abstractions for uploading a local directory to an Amazon S3 bucket (`$s3->uploadDirectory()`) +* Added abstractions for downloading an Amazon S3 bucket to local directory (`$s3->downloadBucket()`) +* Added an easy to way to delete objects from an Amazon S3 bucket that match a regular expression or key prefix +* Added an easy to way to upload an object to Amazon S3 that automatically uses a multipart upload if the size of the + object exceeds a customizable threshold (`$s3->upload()`) +* [SDK] Added facade classes for simple, static access to clients (e.g., `S3::putObject([...])`) +* Added the `Aws\S3\S3Client::getObjectUrl` convenience method for getting the URL of an Amazon S3 object. This works + for both public and pre-signed URLs +* Added support for using the `ap-northeast-1` region to the Amazon Redshift client +* Added support for configuring custom SSL certificates to the Amazon CloudFront client via the `ViewerCertificate` + parameter +* Added support for read replica status to the Amazon RDS client +* Added "magic" access to iterators to make using iterators more convenient (e.g., `$s3->getListBucketsIterator()`) +* Added the `waitUntilDBInstanceAvailable` and `waitUntilDBInstanceDeleted` waiters to the Amazon RDS client +* Added the `createCredentials` method to the AWS STS client to make it easier to create a credentials object from the + results of an STS operation +* Updated the Amazon RDS client to use the 2013-05-15 API version +* Updated request retrying logic to automatically refresh expired credentials and retry with new ones +* Updated the Amazon CloudFront client to sign requests with Signature V4 +* Updated the Amazon SNS client to sign requests with Signature V4, which enables larger payloads +* Updated the S3 Stream Wrapper so that you can use stream resources in any S3 operation without having to manually + specify the `ContentLength` option +* Fixed issue #94 so that the `Aws\S3\BucketStyleListener` is invoked on `command.after_prepare` and presigned URLs + are generated correctly from S3 commands +* Fixed an issue so that creating presigned URLs using the Amazon S3 client now works with temporary credentials +* Fixed an issue so that the `CORSRules.AllowedHeaders` parameter is now available when configuring CORS for Amazon S3 +* Set the Guzzle dependency to ~3.7.0 + +## 2.3.4 - 2013-05-30 + +* Set the Guzzle dependency to ~3.6.0 + +## 2.3.3 - 2013-05-28 + +* Added support for web identity federation in the AWS Security Token Service (STS) API +* Fixed an issue with creating pre-signed Amazon CloudFront RTMP URLs +* Fixed issue #85 to correct the parameter serialization of NetworkInterfaces within the Amazon EC2 RequestSpotInstances + operation + +## 2.3.2 - 2013-05-15 + +* Added support for doing parallel scans to the Amazon DynamoDB client +* [OpsWorks] Added support for using Elastic Load Balancer to the AWS OpsWorks client +* Added support for using EBS-backed instances to the AWS OpsWorks client along with some other minor updates +* Added support for finer-grained error messages to the AWS Data Pipeline client and updated the service description +* Added the ability to set the `key_pair_id` and `private_key` options at the time of signing a CloudFront URL instead + of when instantiating the client +* Added a new [Zip Download](http://pear.amazonwebservices.com/get/aws.zip) for installing the SDK +* Fixed the API version for the AWS Support client to be `2013-04-15` +* Fixed issue #78 by implementing `Aws\S3\StreamWrapper::stream_cast()` for the S3 stream wrapper +* Fixed issue #79 by updating the S3 `ClearBucket` object to work with the `ListObjects` operation +* Fixed issue #80 where the `ETag` was incorrectly labeled as a header value instead of being in the XML body for + the S3 `CompleteMultipartUpload` operation response +* Fixed an issue where the `setCredentials()` method did not properly update the `SignatureListener` +* Updated the required version of Guzzle to `">=3.4.3,<4"` to support Guzzle 3.5 which provides the SDK with improved + memory management + +## 2.3.1 - 2013-04-30 + +* Added support for **AWS Support** +* Added support for using the `eu-west-1` region to the Amazon Redshift client +* Fixed an issue with the Amazon RDS client where the `DownloadDBLogFilePortion` operation was not being serialized + properly +* Fixed an issue with the Amazon S3 client where the `PutObjectCopy` alias was interfering with the `CopyObject` + operation +* Added the ability to manually set a Content-Length header when using the `PutObject` and `UploadPart` operations of + the Amazon S3 client +* Fixed an issue where the Amazon S3 class was not throwing an exception for a non-followable 301 redirect response +* Fixed an issue where `fflush()` was called during the shutdown process of the stream handler for read-only streams + +## 2.3.0 - 2013-04-18 + +* Added support for Local Secondary Indexes to the Amazon DynamoDB client +* [BC] Updated the Amazon DynamoDB client to use the new 2012-08-10 API version which includes changes in how you + specify keys. If you are not ready to upgrade to the new API, you can configure the SDK to use the previous version of + the API by setting the `version` option to `2011-12-05` when you instantiate the client (See + [`UPGRADING.md`](https://github.com/aws/aws-sdk-php/blob/master/UPGRADING.md)). +* Added an Amazon S3 stream wrapper that allows PHP native file functions to be used to interact with S3 buckets and + objects +* Added support for automatically retrying *throttled* requests with exponential backoff to all service clients +* Added a new config option (`version`) to client objects to specify the API version to use if multiple are supported +* Added a new config option (`gc_operation_delay`) to the DynamoDB Session Handler to specify a delay between requests + to the service during garbage collection in order to help regulate the consumption of throughput +* Added support for using the `us-west-2` region to the Amazon Redshift client +* [Docs] Added a way to use marked integration test code as example code in the user guide and API docs +* Updated the Amazon RDS client to sign requests with Signature V4 +* Updated the Amazon S3 client to automatically add the `Content-Type` to `PutObject` and other upload operations +* Fixed an issue where service clients with a global endpoint could have their region for signing set incorrectly if a + region other than `us-east-1` was specified. +* Fixed an issue where reused command objects appended duplicate content to the user agent string +* [SDK] Fixed an issue in a few operations (including `SQS::receiveMessage`) where the `curl.options` could not be + modified +* [Docs] Added key information to the DynamoDB service description to provide more accurate API docs for some operations +* [Docs] Added a page about Waiters to the user guide +* [Docs] Added a page about the DynamoDB Session Handler to the user guide +* [Docs] Added a page about response Models to the user guide +* Bumped the required version of Guzzle to ~3.4.1 + +## 2.2.1 - 2013-03-18 + +* Added support for viewing and downloading DB log files to the Amazon RDS client +* Added the ability to validate incoming Amazon SNS messages. See the `Aws\Sns\MessageValidator` namespace +* Added the ability to easily change the credentials that a client is configured to use via `$client->setCredentials()` +* Added the `client.region_changed` and `client.credentials_changed` events on the client that are triggered when the + `setRegion()` and `setCredentials()` methods are called, respectively +* Added support for using the `ap-southeast-2` region with the Amazon ElastiCache client +* Added support for using the `us-gov-west-1` region with the Amazon SWF client +* Updated the Amazon RDS client to use the 2013-02-12 API version +* Fixed an issue in the Amazon EC2 service description that was affecting the use of the new `ModifyVpcAttribute` and + `DescribeVpcAttribute` operations +* Added `ObjectURL` to the output of an Amazon S3 PutObject operation so that you can more easily retrieve the URL of an + object after uploading +* Added a `createPresignedUrl()` method to any command object created by the Amazon S3 client to more easily create + presigned URLs + +## 2.2.0 - 2013-03-11 + +* Added support for **Amazon Elastic MapReduce (Amazon EMR)** +* Added support for **AWS Direct Connect** +* Added support for **Amazon ElastiCache** +* Added support for **AWS Storage Gateway** +* Added support for **AWS Import/Export** +* Added support for **AWS CloudFormation** +* Added support for **Amazon CloudSearch** +* Added support for [provisioned IOPS](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.ProvisionedIOPS.html) + to the the Amazon RDS client +* Added support for promoting [read replicas](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) + to the Amazon RDS client +* Added support for [event notification subscriptions](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) + to the Amazon RDS client +* Added support for enabling\disabling DNS Hostnames and DNS Resolution in Amazon VPC to the Amazon EC2 client +* Added support for enumerating account attributes to the Amazon EC2 client +* Added support for copying AMIs across regions to the Amazon EC2 client +* Added the ability to get a Waiter object from a client using the `getWaiter()` method +* [SDK] Added the ability to load credentials from environmental variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_KEY`. + This is compatible with AWS Elastic Beanstalk environment configurations +* Added support for using the us-west-1, us-west-2, eu-west-1, and ap-southeast-1 regions with Amazon CloudSearch +* Updated the Amazon RDS client to use the 2013-01-10 API version +* Updated the Amazon EC2 client to use the 2013-02-01 API version +* Added support for using SecurityToken with signature version 2 services +* Added the client User-Agent header to exception messages for easier debugging +* Added an easier way to disable operation parameter validation by setting `validation` to false when creating clients +* Added the ability to disable the exponential backoff plugin +* Added the ability to easily fetch the region name that a client is configured to use via `$client->getRegion()` +* Added end-user guides available at http://docs.aws.amazon.com/aws-sdk-php/guide/latest/ +* Fixed issue #48 where signing Amazon S3 requests with null or empty metadata resulted in a signature error +* Fixed issue #29 where Amazon S3 was intermittently closing a connection +* Updated the Amazon S3 client to parse the AcceptRanges header for HeadObject and GetObject output +* Updated the Amazon Glacier client to allow the `saveAs` parameter to be specified as an alias for `command.response_body` +* Various performance improvements throughout the SDK +* Removed endpoint providers and now placing service region information directly in service descriptions +* Removed client resolvers when creating clients in a client's factory method (this should not have any impact to end users) + +## 2.1.2 - 2013-02-18 + +* Added support for **AWS OpsWorks** + +## 2.1.1 - 2013-02-15 + +* Added support for **Amazon Redshift** +* Added support for **Amazon Simple Queue Service (Amazon SQS)** +* Added support for **Amazon Simple Notification Service (Amazon SNS)** +* Added support for **Amazon Simple Email Service (Amazon SES)** +* Added support for **Auto Scaling** +* Added support for **Amazon CloudWatch** +* Added support for **Amazon Simple Workflow Service (Amazon SWF)** +* Added support for **Amazon Relational Database Service (Amazon RDS)** +* Added support for health checks and failover in Amazon Route 53 +* Updated the Amazon Route 53 client to use the 2012-12-12 API version +* Updated `AbstractWaiter` to dispatch `waiter.before_attempt` and `waiter.before_wait` events +* Updated `CallableWaiter` to allow for an array of context data to be passed to the callable +* Fixed issue #29 so that the stat cache is cleared before performing multipart uploads +* Fixed issue #38 so that Amazon CloudFront URLs are signed properly +* Fixed an issue with Amazon S3 website redirects +* Fixed a URL encoding inconsistency with Amazon S3 and pre-signed URLs +* Fixed issue #42 to eliminate cURL error 65 for JSON services +* Set Guzzle dependency to [~3.2.0](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md#320-2013-02-14) +* Minimum version of PHP is now 5.3.3 + +## 2.1.0 - 2013-01-28 + +* Waiters now require an associative array as input for the underlying operation performed by a waiter. See + `UPGRADING.md` for details. +* Added support for **Amazon Elastic Compute Cloud (Amazon EC2)** +* Added support for **Amazon Elastic Transcoder** +* Added support for **Amazon SimpleDB** +* Added support for **Elastic Load Balancing** +* Added support for **AWS Elastic Beanstalk** +* Added support for **AWS Identity and Access Management (IAM)** +* Added support for Amazon S3 website redirection rules +* Added support for the `RetrieveByteRange` parameter of the `InitiateJob` operation in Amazon Glacier +* Added support for Signature Version 2 +* Clients now gain more information from service descriptions rather than client factory methods +* Service descriptions are now versioned for clients +* Fixed an issue where Amazon S3 did not use "restore" as a signable resource +* Fixed an issue with Amazon S3 where `x-amz-meta-*` headers were not properly added with the CopyObject operation +* Fixed an issue where the Amazon Glacier client was not using the correct User-Agent header +* Fixed issue #13 in which constants defined by referencing other constants caused errors with early versions of PHP 5.3 + +## 2.0.3 - 2012-12-20 + +* Added support for **AWS Data Pipeline** +* Added support for **Amazon Route 53** +* Fixed an issue with the Amazon S3 client where object keys with slashes were causing errors +* Added a `SaveAs` parameter to the Amazon S3 `GetObject` operation to allow saving the object directly to a file +* Refactored iterators to remove code duplication and ease creation of future iterators + +## 2.0.2 - 2012-12-10 + +* Fixed an issue with the Amazon S3 client where non-DNS compatible buckets that was previously causing a signature + mismatch error +* Fixed an issue with the service description for the Amazon S3 `UploadPart` operation so that it works correctly +* Fixed an issue with the Amazon S3 service description dealing with `response-*` query parameters of `GetObject` +* Fixed an issue with the Amazon S3 client where object keys prefixed by the bucket name were being treated incorrectly +* Fixed an issue with `Aws\S3\Model\MultipartUpload\ParallelTransfer` class +* Added support for the `AssumeRole` operation for AWS STS +* Added a the `UploadBodyListener` which allows upload operations in Amazon S3 and Amazon Glacier to accept file handles + in the `Body` parameter and file paths in the `SourceFile` parameter +* Added Content-Type guessing for uploads +* Added new region endpoints, including sa-east-1 and us-gov-west-1 for Amazon DynamoDB +* Added methods to `Aws\S3\Model\MultipartUpload\UploadBuilder` class to make setting ACL and Content-Type easier + +## 2.0.1 - 2012-11-13 + +* Fixed a signature issue encountered when a request to Amazon S3 is redirected +* Added support for archiving Amazon S3 objects to Amazon Glacier +* Added CRC32 validation of Amazon DynamoDB responses +* Added ConsistentRead support to the `BatchGetItem` operation of Amazon DynamoDB +* Added new region endpoints, including Sydney + +## 2.0.0 - 2012-11-02 + +* Initial release of the AWS SDK for PHP Version 2. See <http://aws.amazon.com/sdkforphp2/> for more information. +* Added support for **Amazon Simple Storage Service (Amazon S3)** +* Added support for **Amazon DynamoDB** +* Added support for **Amazon Glacier** +* Added support for **Amazon CloudFront** +* Added support for **AWS Security Token Service (AWS STS)** diff --git a/lib/aws/GuzzleHttp/Client.php b/lib/aws/GuzzleHttp/Client.php new file mode 100644 index 0000000..8041791 --- /dev/null +++ b/lib/aws/GuzzleHttp/Client.php @@ -0,0 +1,422 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Cookie\CookieJar; +use GuzzleHttp\Promise; +use GuzzleHttp\Psr7; +use Psr\Http\Message\UriInterface; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * @method ResponseInterface get(string|UriInterface $uri, array $options = []) + * @method ResponseInterface head(string|UriInterface $uri, array $options = []) + * @method ResponseInterface put(string|UriInterface $uri, array $options = []) + * @method ResponseInterface post(string|UriInterface $uri, array $options = []) + * @method ResponseInterface patch(string|UriInterface $uri, array $options = []) + * @method ResponseInterface delete(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface getAsync(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface headAsync(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface putAsync(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface postAsync(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface patchAsync(string|UriInterface $uri, array $options = []) + * @method Promise\PromiseInterface deleteAsync(string|UriInterface $uri, array $options = []) + */ +class Client implements ClientInterface +{ + /** @var array Default request options */ + private $config; + + /** + * Clients accept an array of constructor parameters. + * + * Here's an example of creating a client using a base_uri and an array of + * default request options to apply to each request: + * + * $client = new Client([ + * 'base_uri' => 'http://www.foo.com/1.0/', + * 'timeout' => 0, + * 'allow_redirects' => false, + * 'proxy' => '192.168.16.1:10' + * ]); + * + * Client configuration settings include the following options: + * + * - handler: (callable) Function that transfers HTTP requests over the + * wire. The function is called with a Psr7\Http\Message\RequestInterface + * and array of transfer options, and must return a + * GuzzleHttp\Promise\PromiseInterface that is fulfilled with a + * Psr7\Http\Message\ResponseInterface on success. "handler" is a + * constructor only option that cannot be overridden in per/request + * options. If no handler is provided, a default handler will be created + * that enables all of the request options below by attaching all of the + * default middleware to the handler. + * - base_uri: (string|UriInterface) Base URI of the client that is merged + * into relative URIs. Can be a string or instance of UriInterface. + * - **: any request option + * + * @param array $config Client configuration settings. + * + * @see \GuzzleHttp\RequestOptions for a list of available request options. + */ + public function __construct(array $config = []) + { + if (!isset($config['handler'])) { + $config['handler'] = HandlerStack::create(); + } elseif (!is_callable($config['handler'])) { + throw new \InvalidArgumentException('handler must be a callable'); + } + + // Convert the base_uri to a UriInterface + if (isset($config['base_uri'])) { + $config['base_uri'] = Psr7\uri_for($config['base_uri']); + } + + $this->configureDefaults($config); + } + + public function __call($method, $args) + { + if (count($args) < 1) { + throw new \InvalidArgumentException('Magic request methods require a URI and optional options array'); + } + + $uri = $args[0]; + $opts = isset($args[1]) ? $args[1] : []; + + return substr($method, -5) === 'Async' + ? $this->requestAsync(substr($method, 0, -5), $uri, $opts) + : $this->request($method, $uri, $opts); + } + + public function sendAsync(RequestInterface $request, array $options = []) + { + // Merge the base URI into the request URI if needed. + $options = $this->prepareDefaults($options); + + return $this->transfer( + $request->withUri($this->buildUri($request->getUri(), $options), $request->hasHeader('Host')), + $options + ); + } + + public function send(RequestInterface $request, array $options = []) + { + $options[RequestOptions::SYNCHRONOUS] = true; + return $this->sendAsync($request, $options)->wait(); + } + + public function requestAsync($method, $uri = '', array $options = []) + { + $options = $this->prepareDefaults($options); + // Remove request modifying parameter because it can be done up-front. + $headers = isset($options['headers']) ? $options['headers'] : []; + $body = isset($options['body']) ? $options['body'] : null; + $version = isset($options['version']) ? $options['version'] : '1.1'; + // Merge the URI into the base URI. + $uri = $this->buildUri($uri, $options); + if (is_array($body)) { + $this->invalidBody(); + } + $request = new Psr7\Request($method, $uri, $headers, $body, $version); + // Remove the option so that they are not doubly-applied. + unset($options['headers'], $options['body'], $options['version']); + + return $this->transfer($request, $options); + } + + public function request($method, $uri = '', array $options = []) + { + $options[RequestOptions::SYNCHRONOUS] = true; + return $this->requestAsync($method, $uri, $options)->wait(); + } + + public function getConfig($option = null) + { + return $option === null + ? $this->config + : (isset($this->config[$option]) ? $this->config[$option] : null); + } + + private function buildUri($uri, array $config) + { + // for BC we accept null which would otherwise fail in uri_for + $uri = Psr7\uri_for($uri === null ? '' : $uri); + + if (isset($config['base_uri'])) { + $uri = Psr7\UriResolver::resolve(Psr7\uri_for($config['base_uri']), $uri); + } + + return $uri->getScheme() === '' && $uri->getHost() !== '' ? $uri->withScheme('http') : $uri; + } + + /** + * Configures the default options for a client. + * + * @param array $config + */ + private function configureDefaults(array $config) + { + $defaults = [ + 'allow_redirects' => RedirectMiddleware::$defaultSettings, + 'http_errors' => true, + 'decode_content' => true, + 'verify' => true, + 'cookies' => false + ]; + + // Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set. + + // We can only trust the HTTP_PROXY environment variable in a CLI + // process due to the fact that PHP has no reliable mechanism to + // get environment variables that start with "HTTP_". + if (php_sapi_name() == 'cli' && getenv('HTTP_PROXY')) { + $defaults['proxy']['http'] = getenv('HTTP_PROXY'); + } + + if ($proxy = getenv('HTTPS_PROXY')) { + $defaults['proxy']['https'] = $proxy; + } + + if ($noProxy = getenv('NO_PROXY')) { + $cleanedNoProxy = str_replace(' ', '', $noProxy); + $defaults['proxy']['no'] = explode(',', $cleanedNoProxy); + } + + $this->config = $config + $defaults; + + if (!empty($config['cookies']) && $config['cookies'] === true) { + $this->config['cookies'] = new CookieJar(); + } + + // Add the default user-agent header. + if (!isset($this->config['headers'])) { + $this->config['headers'] = ['User-Agent' => default_user_agent()]; + } else { + // Add the User-Agent header if one was not already set. + foreach (array_keys($this->config['headers']) as $name) { + if (strtolower($name) === 'user-agent') { + return; + } + } + $this->config['headers']['User-Agent'] = default_user_agent(); + } + } + + /** + * Merges default options into the array. + * + * @param array $options Options to modify by reference + * + * @return array + */ + private function prepareDefaults($options) + { + $defaults = $this->config; + + if (!empty($defaults['headers'])) { + // Default headers are only added if they are not present. + $defaults['_conditional'] = $defaults['headers']; + unset($defaults['headers']); + } + + // Special handling for headers is required as they are added as + // conditional headers and as headers passed to a request ctor. + if (array_key_exists('headers', $options)) { + // Allows default headers to be unset. + if ($options['headers'] === null) { + $defaults['_conditional'] = null; + unset($options['headers']); + } elseif (!is_array($options['headers'])) { + throw new \InvalidArgumentException('headers must be an array'); + } + } + + // Shallow merge defaults underneath options. + $result = $options + $defaults; + + // Remove null values. + foreach ($result as $k => $v) { + if ($v === null) { + unset($result[$k]); + } + } + + return $result; + } + + /** + * Transfers the given request and applies request options. + * + * The URI of the request is not modified and the request options are used + * as-is without merging in default options. + * + * @param RequestInterface $request + * @param array $options + * + * @return Promise\PromiseInterface + */ + private function transfer(RequestInterface $request, array $options) + { + // save_to -> sink + if (isset($options['save_to'])) { + $options['sink'] = $options['save_to']; + unset($options['save_to']); + } + + // exceptions -> http_errors + if (isset($options['exceptions'])) { + $options['http_errors'] = $options['exceptions']; + unset($options['exceptions']); + } + + $request = $this->applyOptions($request, $options); + $handler = $options['handler']; + + try { + return Promise\promise_for($handler($request, $options)); + } catch (\Exception $e) { + return Promise\rejection_for($e); + } + } + + /** + * Applies the array of request options to a request. + * + * @param RequestInterface $request + * @param array $options + * + * @return RequestInterface + */ + private function applyOptions(RequestInterface $request, array &$options) + { + $modify = [ + 'set_headers' => [], + ]; + + if (isset($options['headers'])) { + $modify['set_headers'] = $options['headers']; + unset($options['headers']); + } + + if (isset($options['form_params'])) { + if (isset($options['multipart'])) { + throw new \InvalidArgumentException('You cannot use ' + . 'form_params and multipart at the same time. Use the ' + . 'form_params option if you want to send application/' + . 'x-www-form-urlencoded requests, and the multipart ' + . 'option to send multipart/form-data requests.'); + } + $options['body'] = http_build_query($options['form_params'], '', '&'); + unset($options['form_params']); + // Ensure that we don't have the header in different case and set the new value. + $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded'; + } + + if (isset($options['multipart'])) { + $options['body'] = new Psr7\MultipartStream($options['multipart']); + unset($options['multipart']); + } + + if (isset($options['json'])) { + $options['body'] = \GuzzleHttp\json_encode($options['json']); + unset($options['json']); + // Ensure that we don't have the header in different case and set the new value. + $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional']['Content-Type'] = 'application/json'; + } + + if (!empty($options['decode_content']) + && $options['decode_content'] !== true + ) { + // Ensure that we don't have the header in different case and set the new value. + $options['_conditional'] = Psr7\_caseless_remove(['Accept-Encoding'], $options['_conditional']); + $modify['set_headers']['Accept-Encoding'] = $options['decode_content']; + } + + if (isset($options['body'])) { + if (is_array($options['body'])) { + $this->invalidBody(); + } + $modify['body'] = Psr7\stream_for($options['body']); + unset($options['body']); + } + + if (!empty($options['auth']) && is_array($options['auth'])) { + $value = $options['auth']; + $type = isset($value[2]) ? strtolower($value[2]) : 'basic'; + switch ($type) { + case 'basic': + // Ensure that we don't have the header in different case and set the new value. + $modify['set_headers'] = Psr7\_caseless_remove(['Authorization'], $modify['set_headers']); + $modify['set_headers']['Authorization'] = 'Basic ' + . base64_encode("$value[0]:$value[1]"); + break; + case 'digest': + // @todo: Do not rely on curl + $options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_DIGEST; + $options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]"; + break; + case 'ntlm': + $options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_NTLM; + $options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]"; + break; + } + } + + if (isset($options['query'])) { + $value = $options['query']; + if (is_array($value)) { + $value = http_build_query($value, null, '&', PHP_QUERY_RFC3986); + } + if (!is_string($value)) { + throw new \InvalidArgumentException('query must be a string or array'); + } + $modify['query'] = $value; + unset($options['query']); + } + + // Ensure that sink is not an invalid value. + if (isset($options['sink'])) { + // TODO: Add more sink validation? + if (is_bool($options['sink'])) { + throw new \InvalidArgumentException('sink must not be a boolean'); + } + } + + $request = Psr7\modify_request($request, $modify); + if ($request->getBody() instanceof Psr7\MultipartStream) { + // Use a multipart/form-data POST if a Content-Type is not set. + // Ensure that we don't have the header in different case and set the new value. + $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']); + $options['_conditional']['Content-Type'] = 'multipart/form-data; boundary=' + . $request->getBody()->getBoundary(); + } + + // Merge in conditional headers if they are not present. + if (isset($options['_conditional'])) { + // Build up the changes so it's in a single clone of the message. + $modify = []; + foreach ($options['_conditional'] as $k => $v) { + if (!$request->hasHeader($k)) { + $modify['set_headers'][$k] = $v; + } + } + $request = Psr7\modify_request($request, $modify); + // Don't pass this internal value along to middleware/handlers. + unset($options['_conditional']); + } + + return $request; + } + + private function invalidBody() + { + throw new \InvalidArgumentException('Passing in the "body" request ' + . 'option as an array to send a POST request has been deprecated. ' + . 'Please use the "form_params" request option to send a ' + . 'application/x-www-form-urlencoded request, or the "multipart" ' + . 'request option to send a multipart/form-data request.'); + } +} diff --git a/lib/aws/GuzzleHttp/ClientInterface.php b/lib/aws/GuzzleHttp/ClientInterface.php new file mode 100644 index 0000000..2dbcffa --- /dev/null +++ b/lib/aws/GuzzleHttp/ClientInterface.php @@ -0,0 +1,84 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Exception\GuzzleException; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\UriInterface; + +/** + * Client interface for sending HTTP requests. + */ +interface ClientInterface +{ + const VERSION = '6.3.3'; + + /** + * Send an HTTP request. + * + * @param RequestInterface $request Request to send + * @param array $options Request options to apply to the given + * request and to the transfer. + * + * @return ResponseInterface + * @throws GuzzleException + */ + public function send(RequestInterface $request, array $options = []); + + /** + * Asynchronously send an HTTP request. + * + * @param RequestInterface $request Request to send + * @param array $options Request options to apply to the given + * request and to the transfer. + * + * @return PromiseInterface + */ + public function sendAsync(RequestInterface $request, array $options = []); + + /** + * Create and send an HTTP request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. + * + * @param string $method HTTP method. + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @return ResponseInterface + * @throws GuzzleException + */ + public function request($method, $uri, array $options = []); + + /** + * Create and send an asynchronous HTTP request. + * + * Use an absolute path to override the base path of the client, or a + * relative path to append to the base path of the client. The URL can + * contain the query string as well. Use an array to provide a URL + * template and additional variables to use in the URL template expansion. + * + * @param string $method HTTP method + * @param string|UriInterface $uri URI object or string. + * @param array $options Request options to apply. + * + * @return PromiseInterface + */ + public function requestAsync($method, $uri, array $options = []); + + /** + * Get a client configuration option. + * + * These options include default request options of the client, a "handler" + * (if utilized by the concrete client), and a "base_uri" if utilized by + * the concrete client. + * + * @param string|null $option The config option to retrieve. + * + * @return mixed + */ + public function getConfig($option = null); +} diff --git a/lib/aws/GuzzleHttp/Cookie/CookieJar.php b/lib/aws/GuzzleHttp/Cookie/CookieJar.php new file mode 100644 index 0000000..78f2b79 --- /dev/null +++ b/lib/aws/GuzzleHttp/Cookie/CookieJar.php @@ -0,0 +1,314 @@ +<?php +namespace GuzzleHttp\Cookie; + +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Cookie jar that stores cookies as an array + */ +class CookieJar implements CookieJarInterface +{ + /** @var SetCookie[] Loaded cookie data */ + private $cookies = []; + + /** @var bool */ + private $strictMode; + + /** + * @param bool $strictMode Set to true to throw exceptions when invalid + * cookies are added to the cookie jar. + * @param array $cookieArray Array of SetCookie objects or a hash of + * arrays that can be used with the SetCookie + * constructor + */ + public function __construct($strictMode = false, $cookieArray = []) + { + $this->strictMode = $strictMode; + + foreach ($cookieArray as $cookie) { + if (!($cookie instanceof SetCookie)) { + $cookie = new SetCookie($cookie); + } + $this->setCookie($cookie); + } + } + + /** + * Create a new Cookie jar from an associative array and domain. + * + * @param array $cookies Cookies to create the jar from + * @param string $domain Domain to set the cookies to + * + * @return self + */ + public static function fromArray(array $cookies, $domain) + { + $cookieJar = new self(); + foreach ($cookies as $name => $value) { + $cookieJar->setCookie(new SetCookie([ + 'Domain' => $domain, + 'Name' => $name, + 'Value' => $value, + 'Discard' => true + ])); + } + + return $cookieJar; + } + + /** + * @deprecated + */ + public static function getCookieValue($value) + { + return $value; + } + + /** + * Evaluate if this cookie should be persisted to storage + * that survives between requests. + * + * @param SetCookie $cookie Being evaluated. + * @param bool $allowSessionCookies If we should persist session cookies + * @return bool + */ + public static function shouldPersist( + SetCookie $cookie, + $allowSessionCookies = false + ) { + if ($cookie->getExpires() || $allowSessionCookies) { + if (!$cookie->getDiscard()) { + return true; + } + } + + return false; + } + + /** + * Finds and returns the cookie based on the name + * + * @param string $name cookie name to search for + * @return SetCookie|null cookie that was found or null if not found + */ + public function getCookieByName($name) + { + // don't allow a null name + if ($name === null) { + return null; + } + foreach ($this->cookies as $cookie) { + if ($cookie->getName() !== null && strcasecmp($cookie->getName(), $name) === 0) { + return $cookie; + } + } + } + + public function toArray() + { + return array_map(function (SetCookie $cookie) { + return $cookie->toArray(); + }, $this->getIterator()->getArrayCopy()); + } + + public function clear($domain = null, $path = null, $name = null) + { + if (!$domain) { + $this->cookies = []; + return; + } elseif (!$path) { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain) { + return !$cookie->matchesDomain($domain); + } + ); + } elseif (!$name) { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain) { + return !($cookie->matchesPath($path) && + $cookie->matchesDomain($domain)); + } + ); + } else { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain, $name) { + return !($cookie->getName() == $name && + $cookie->matchesPath($path) && + $cookie->matchesDomain($domain)); + } + ); + } + } + + public function clearSessionCookies() + { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) { + return !$cookie->getDiscard() && $cookie->getExpires(); + } + ); + } + + public function setCookie(SetCookie $cookie) + { + // If the name string is empty (but not 0), ignore the set-cookie + // string entirely. + $name = $cookie->getName(); + if (!$name && $name !== '0') { + return false; + } + + // Only allow cookies with set and valid domain, name, value + $result = $cookie->validate(); + if ($result !== true) { + if ($this->strictMode) { + throw new \RuntimeException('Invalid cookie: ' . $result); + } else { + $this->removeCookieIfEmpty($cookie); + return false; + } + } + + // Resolve conflicts with previously set cookies + foreach ($this->cookies as $i => $c) { + + // Two cookies are identical, when their path, and domain are + // identical. + if ($c->getPath() != $cookie->getPath() || + $c->getDomain() != $cookie->getDomain() || + $c->getName() != $cookie->getName() + ) { + continue; + } + + // The previously set cookie is a discard cookie and this one is + // not so allow the new cookie to be set + if (!$cookie->getDiscard() && $c->getDiscard()) { + unset($this->cookies[$i]); + continue; + } + + // If the new cookie's expiration is further into the future, then + // replace the old cookie + if ($cookie->getExpires() > $c->getExpires()) { + unset($this->cookies[$i]); + continue; + } + + // If the value has changed, we better change it + if ($cookie->getValue() !== $c->getValue()) { + unset($this->cookies[$i]); + continue; + } + + // The cookie exists, so no need to continue + return false; + } + + $this->cookies[] = $cookie; + + return true; + } + + public function count() + { + return count($this->cookies); + } + + public function getIterator() + { + return new \ArrayIterator(array_values($this->cookies)); + } + + public function extractCookies( + RequestInterface $request, + ResponseInterface $response + ) { + if ($cookieHeader = $response->getHeader('Set-Cookie')) { + foreach ($cookieHeader as $cookie) { + $sc = SetCookie::fromString($cookie); + if (!$sc->getDomain()) { + $sc->setDomain($request->getUri()->getHost()); + } + if (0 !== strpos($sc->getPath(), '/')) { + $sc->setPath($this->getCookiePathFromRequest($request)); + } + $this->setCookie($sc); + } + } + } + + /** + * Computes cookie path following RFC 6265 section 5.1.4 + * + * @link https://tools.ietf.org/html/rfc6265#section-5.1.4 + * + * @param RequestInterface $request + * @return string + */ + private function getCookiePathFromRequest(RequestInterface $request) + { + $uriPath = $request->getUri()->getPath(); + if ('' === $uriPath) { + return '/'; + } + if (0 !== strpos($uriPath, '/')) { + return '/'; + } + if ('/' === $uriPath) { + return '/'; + } + if (0 === $lastSlashPos = strrpos($uriPath, '/')) { + return '/'; + } + + return substr($uriPath, 0, $lastSlashPos); + } + + public function withCookieHeader(RequestInterface $request) + { + $values = []; + $uri = $request->getUri(); + $scheme = $uri->getScheme(); + $host = $uri->getHost(); + $path = $uri->getPath() ?: '/'; + + foreach ($this->cookies as $cookie) { + if ($cookie->matchesPath($path) && + $cookie->matchesDomain($host) && + !$cookie->isExpired() && + (!$cookie->getSecure() || $scheme === 'https') + ) { + $values[] = $cookie->getName() . '=' + . $cookie->getValue(); + } + } + + return $values + ? $request->withHeader('Cookie', implode('; ', $values)) + : $request; + } + + /** + * If a cookie already exists and the server asks to set it again with a + * null value, the cookie must be deleted. + * + * @param SetCookie $cookie + */ + private function removeCookieIfEmpty(SetCookie $cookie) + { + $cookieValue = $cookie->getValue(); + if ($cookieValue === null || $cookieValue === '') { + $this->clear( + $cookie->getDomain(), + $cookie->getPath(), + $cookie->getName() + ); + } + } +} diff --git a/lib/aws/GuzzleHttp/Cookie/CookieJarInterface.php b/lib/aws/GuzzleHttp/Cookie/CookieJarInterface.php new file mode 100644 index 0000000..2cf298a --- /dev/null +++ b/lib/aws/GuzzleHttp/Cookie/CookieJarInterface.php @@ -0,0 +1,84 @@ +<?php +namespace GuzzleHttp\Cookie; + +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Stores HTTP cookies. + * + * It extracts cookies from HTTP requests, and returns them in HTTP responses. + * CookieJarInterface instances automatically expire contained cookies when + * necessary. Subclasses are also responsible for storing and retrieving + * cookies from a file, database, etc. + * + * @link http://docs.python.org/2/library/cookielib.html Inspiration + */ +interface CookieJarInterface extends \Countable, \IteratorAggregate +{ + /** + * Create a request with added cookie headers. + * + * If no matching cookies are found in the cookie jar, then no Cookie + * header is added to the request and the same request is returned. + * + * @param RequestInterface $request Request object to modify. + * + * @return RequestInterface returns the modified request. + */ + public function withCookieHeader(RequestInterface $request); + + /** + * Extract cookies from an HTTP response and store them in the CookieJar. + * + * @param RequestInterface $request Request that was sent + * @param ResponseInterface $response Response that was received + */ + public function extractCookies( + RequestInterface $request, + ResponseInterface $response + ); + + /** + * Sets a cookie in the cookie jar. + * + * @param SetCookie $cookie Cookie to set. + * + * @return bool Returns true on success or false on failure + */ + public function setCookie(SetCookie $cookie); + + /** + * Remove cookies currently held in the cookie jar. + * + * Invoking this method without arguments will empty the whole cookie jar. + * If given a $domain argument only cookies belonging to that domain will + * be removed. If given a $domain and $path argument, cookies belonging to + * the specified path within that domain are removed. If given all three + * arguments, then the cookie with the specified name, path and domain is + * removed. + * + * @param string $domain Clears cookies matching a domain + * @param string $path Clears cookies matching a domain and path + * @param string $name Clears cookies matching a domain, path, and name + * + * @return CookieJarInterface + */ + public function clear($domain = null, $path = null, $name = null); + + /** + * Discard all sessions cookies. + * + * Removes cookies that don't have an expire field or a have a discard + * field set to true. To be called when the user agent shuts down according + * to RFC 2965. + */ + public function clearSessionCookies(); + + /** + * Converts the cookie jar to an array. + * + * @return array + */ + public function toArray(); +} diff --git a/lib/aws/GuzzleHttp/Cookie/FileCookieJar.php b/lib/aws/GuzzleHttp/Cookie/FileCookieJar.php new file mode 100644 index 0000000..9887c1d --- /dev/null +++ b/lib/aws/GuzzleHttp/Cookie/FileCookieJar.php @@ -0,0 +1,90 @@ +<?php +namespace GuzzleHttp\Cookie; + +/** + * Persists non-session cookies using a JSON formatted file + */ +class FileCookieJar extends CookieJar +{ + /** @var string filename */ + private $filename; + + /** @var bool Control whether to persist session cookies or not. */ + private $storeSessionCookies; + + /** + * Create a new FileCookieJar object + * + * @param string $cookieFile File to store the cookie data + * @param bool $storeSessionCookies Set to true to store session cookies + * in the cookie jar. + * + * @throws \RuntimeException if the file cannot be found or created + */ + public function __construct($cookieFile, $storeSessionCookies = false) + { + $this->filename = $cookieFile; + $this->storeSessionCookies = $storeSessionCookies; + + if (file_exists($cookieFile)) { + $this->load($cookieFile); + } + } + + /** + * Saves the file when shutting down + */ + public function __destruct() + { + $this->save($this->filename); + } + + /** + * Saves the cookies to a file. + * + * @param string $filename File to save + * @throws \RuntimeException if the file cannot be found or created + */ + public function save($filename) + { + $json = []; + foreach ($this as $cookie) { + /** @var SetCookie $cookie */ + if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { + $json[] = $cookie->toArray(); + } + } + + $jsonStr = \GuzzleHttp\json_encode($json); + if (false === file_put_contents($filename, $jsonStr)) { + throw new \RuntimeException("Unable to save file {$filename}"); + } + } + + /** + * Load cookies from a JSON formatted file. + * + * Old cookies are kept unless overwritten by newly loaded ones. + * + * @param string $filename Cookie file to load. + * @throws \RuntimeException if the file cannot be loaded. + */ + public function load($filename) + { + $json = file_get_contents($filename); + if (false === $json) { + throw new \RuntimeException("Unable to load file {$filename}"); + } elseif ($json === '') { + return; + } + + $data = \GuzzleHttp\json_decode($json, true); + if (is_array($data)) { + foreach (json_decode($json, true) as $cookie) { + $this->setCookie(new SetCookie($cookie)); + } + } elseif (strlen($data)) { + throw new \RuntimeException("Invalid cookie file: {$filename}"); + } + } +} diff --git a/lib/aws/GuzzleHttp/Cookie/SessionCookieJar.php b/lib/aws/GuzzleHttp/Cookie/SessionCookieJar.php new file mode 100644 index 0000000..4497bcf --- /dev/null +++ b/lib/aws/GuzzleHttp/Cookie/SessionCookieJar.php @@ -0,0 +1,71 @@ +<?php +namespace GuzzleHttp\Cookie; + +/** + * Persists cookies in the client session + */ +class SessionCookieJar extends CookieJar +{ + /** @var string session key */ + private $sessionKey; + + /** @var bool Control whether to persist session cookies or not. */ + private $storeSessionCookies; + + /** + * Create a new SessionCookieJar object + * + * @param string $sessionKey Session key name to store the cookie + * data in session + * @param bool $storeSessionCookies Set to true to store session cookies + * in the cookie jar. + */ + public function __construct($sessionKey, $storeSessionCookies = false) + { + $this->sessionKey = $sessionKey; + $this->storeSessionCookies = $storeSessionCookies; + $this->load(); + } + + /** + * Saves cookies to session when shutting down + */ + public function __destruct() + { + $this->save(); + } + + /** + * Save cookies to the client session + */ + public function save() + { + $json = []; + foreach ($this as $cookie) { + /** @var SetCookie $cookie */ + if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { + $json[] = $cookie->toArray(); + } + } + + $_SESSION[$this->sessionKey] = json_encode($json); + } + + /** + * Load the contents of the client session into the data array + */ + protected function load() + { + if (!isset($_SESSION[$this->sessionKey])) { + return; + } + $data = json_decode($_SESSION[$this->sessionKey], true); + if (is_array($data)) { + foreach ($data as $cookie) { + $this->setCookie(new SetCookie($cookie)); + } + } elseif (strlen($data)) { + throw new \RuntimeException("Invalid cookie data"); + } + } +} diff --git a/lib/aws/GuzzleHttp/Cookie/SetCookie.php b/lib/aws/GuzzleHttp/Cookie/SetCookie.php new file mode 100644 index 0000000..f699394 --- /dev/null +++ b/lib/aws/GuzzleHttp/Cookie/SetCookie.php @@ -0,0 +1,403 @@ +<?php +namespace GuzzleHttp\Cookie; + +/** + * Set-Cookie object + */ +class SetCookie +{ + /** @var array */ + private static $defaults = [ + 'Name' => null, + 'Value' => null, + 'Domain' => null, + 'Path' => '/', + 'Max-Age' => null, + 'Expires' => null, + 'Secure' => false, + 'Discard' => false, + 'HttpOnly' => false + ]; + + /** @var array Cookie data */ + private $data; + + /** + * Create a new SetCookie object from a string + * + * @param string $cookie Set-Cookie header string + * + * @return self + */ + public static function fromString($cookie) + { + // Create the default return array + $data = self::$defaults; + // Explode the cookie string using a series of semicolons + $pieces = array_filter(array_map('trim', explode(';', $cookie))); + // The name of the cookie (first kvp) must exist and include an equal sign. + if (empty($pieces[0]) || !strpos($pieces[0], '=')) { + return new self($data); + } + + // Add the cookie pieces into the parsed data array + foreach ($pieces as $part) { + $cookieParts = explode('=', $part, 2); + $key = trim($cookieParts[0]); + $value = isset($cookieParts[1]) + ? trim($cookieParts[1], " \n\r\t\0\x0B") + : true; + + // Only check for non-cookies when cookies have been found + if (empty($data['Name'])) { + $data['Name'] = $key; + $data['Value'] = $value; + } else { + foreach (array_keys(self::$defaults) as $search) { + if (!strcasecmp($search, $key)) { + $data[$search] = $value; + continue 2; + } + } + $data[$key] = $value; + } + } + + return new self($data); + } + + /** + * @param array $data Array of cookie data provided by a Cookie parser + */ + public function __construct(array $data = []) + { + $this->data = array_replace(self::$defaults, $data); + // Extract the Expires value and turn it into a UNIX timestamp if needed + if (!$this->getExpires() && $this->getMaxAge()) { + // Calculate the Expires date + $this->setExpires(time() + $this->getMaxAge()); + } elseif ($this->getExpires() && !is_numeric($this->getExpires())) { + $this->setExpires($this->getExpires()); + } + } + + public function __toString() + { + $str = $this->data['Name'] . '=' . $this->data['Value'] . '; '; + foreach ($this->data as $k => $v) { + if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) { + if ($k === 'Expires') { + $str .= 'Expires=' . gmdate('D, d M Y H:i:s \G\M\T', $v) . '; '; + } else { + $str .= ($v === true ? $k : "{$k}={$v}") . '; '; + } + } + } + + return rtrim($str, '; '); + } + + public function toArray() + { + return $this->data; + } + + /** + * Get the cookie name + * + * @return string + */ + public function getName() + { + return $this->data['Name']; + } + + /** + * Set the cookie name + * + * @param string $name Cookie name + */ + public function setName($name) + { + $this->data['Name'] = $name; + } + + /** + * Get the cookie value + * + * @return string + */ + public function getValue() + { + return $this->data['Value']; + } + + /** + * Set the cookie value + * + * @param string $value Cookie value + */ + public function setValue($value) + { + $this->data['Value'] = $value; + } + + /** + * Get the domain + * + * @return string|null + */ + public function getDomain() + { + return $this->data['Domain']; + } + + /** + * Set the domain of the cookie + * + * @param string $domain + */ + public function setDomain($domain) + { + $this->data['Domain'] = $domain; + } + + /** + * Get the path + * + * @return string + */ + public function getPath() + { + return $this->data['Path']; + } + + /** + * Set the path of the cookie + * + * @param string $path Path of the cookie + */ + public function setPath($path) + { + $this->data['Path'] = $path; + } + + /** + * Maximum lifetime of the cookie in seconds + * + * @return int|null + */ + public function getMaxAge() + { + return $this->data['Max-Age']; + } + + /** + * Set the max-age of the cookie + * + * @param int $maxAge Max age of the cookie in seconds + */ + public function setMaxAge($maxAge) + { + $this->data['Max-Age'] = $maxAge; + } + + /** + * The UNIX timestamp when the cookie Expires + * + * @return mixed + */ + public function getExpires() + { + return $this->data['Expires']; + } + + /** + * Set the unix timestamp for which the cookie will expire + * + * @param int $timestamp Unix timestamp + */ + public function setExpires($timestamp) + { + $this->data['Expires'] = is_numeric($timestamp) + ? (int) $timestamp + : strtotime($timestamp); + } + + /** + * Get whether or not this is a secure cookie + * + * @return null|bool + */ + public function getSecure() + { + return $this->data['Secure']; + } + + /** + * Set whether or not the cookie is secure + * + * @param bool $secure Set to true or false if secure + */ + public function setSecure($secure) + { + $this->data['Secure'] = $secure; + } + + /** + * Get whether or not this is a session cookie + * + * @return null|bool + */ + public function getDiscard() + { + return $this->data['Discard']; + } + + /** + * Set whether or not this is a session cookie + * + * @param bool $discard Set to true or false if this is a session cookie + */ + public function setDiscard($discard) + { + $this->data['Discard'] = $discard; + } + + /** + * Get whether or not this is an HTTP only cookie + * + * @return bool + */ + public function getHttpOnly() + { + return $this->data['HttpOnly']; + } + + /** + * Set whether or not this is an HTTP only cookie + * + * @param bool $httpOnly Set to true or false if this is HTTP only + */ + public function setHttpOnly($httpOnly) + { + $this->data['HttpOnly'] = $httpOnly; + } + + /** + * Check if the cookie matches a path value. + * + * A request-path path-matches a given cookie-path if at least one of + * the following conditions holds: + * + * - The cookie-path and the request-path are identical. + * - The cookie-path is a prefix of the request-path, and the last + * character of the cookie-path is %x2F ("/"). + * - The cookie-path is a prefix of the request-path, and the first + * character of the request-path that is not included in the cookie- + * path is a %x2F ("/") character. + * + * @param string $requestPath Path to check against + * + * @return bool + */ + public function matchesPath($requestPath) + { + $cookiePath = $this->getPath(); + + // Match on exact matches or when path is the default empty "/" + if ($cookiePath === '/' || $cookiePath == $requestPath) { + return true; + } + + // Ensure that the cookie-path is a prefix of the request path. + if (0 !== strpos($requestPath, $cookiePath)) { + return false; + } + + // Match if the last character of the cookie-path is "/" + if (substr($cookiePath, -1, 1) === '/') { + return true; + } + + // Match if the first character not included in cookie path is "/" + return substr($requestPath, strlen($cookiePath), 1) === '/'; + } + + /** + * Check if the cookie matches a domain value + * + * @param string $domain Domain to check against + * + * @return bool + */ + public function matchesDomain($domain) + { + // Remove the leading '.' as per spec in RFC 6265. + // http://tools.ietf.org/html/rfc6265#section-5.2.3 + $cookieDomain = ltrim($this->getDomain(), '.'); + + // Domain not set or exact match. + if (!$cookieDomain || !strcasecmp($domain, $cookieDomain)) { + return true; + } + + // Matching the subdomain according to RFC 6265. + // http://tools.ietf.org/html/rfc6265#section-5.1.3 + if (filter_var($domain, FILTER_VALIDATE_IP)) { + return false; + } + + return (bool) preg_match('/\.' . preg_quote($cookieDomain, '/') . '$/', $domain); + } + + /** + * Check if the cookie is expired + * + * @return bool + */ + public function isExpired() + { + return $this->getExpires() !== null && time() > $this->getExpires(); + } + + /** + * Check if the cookie is valid according to RFC 6265 + * + * @return bool|string Returns true if valid or an error message if invalid + */ + public function validate() + { + // Names must not be empty, but can be 0 + $name = $this->getName(); + if (empty($name) && !is_numeric($name)) { + return 'The cookie name must not be empty'; + } + + // Check if any of the invalid characters are present in the cookie name + if (preg_match( + '/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/', + $name + )) { + return 'Cookie name must not contain invalid characters: ASCII ' + . 'Control characters (0-31;127), space, tab and the ' + . 'following characters: ()<>@,;:\"/?={}'; + } + + // Value must not be empty, but can be 0 + $value = $this->getValue(); + if (empty($value) && !is_numeric($value)) { + return 'The cookie value must not be empty'; + } + + // Domains must not be empty, but can be 0 + // A "0" is not a valid internet domain, but may be used as server name + // in a private network. + $domain = $this->getDomain(); + if (empty($domain) && !is_numeric($domain)) { + return 'The cookie domain must not be empty'; + } + + return true; + } +} diff --git a/lib/aws/GuzzleHttp/Exception/BadResponseException.php b/lib/aws/GuzzleHttp/Exception/BadResponseException.php new file mode 100644 index 0000000..427d896 --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/BadResponseException.php @@ -0,0 +1,27 @@ +<?php +namespace GuzzleHttp\Exception; + +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Exception when an HTTP error occurs (4xx or 5xx error) + */ +class BadResponseException extends RequestException +{ + public function __construct( + $message, + RequestInterface $request, + ResponseInterface $response = null, + \Exception $previous = null, + array $handlerContext = [] + ) { + if (null === $response) { + @trigger_error( + 'Instantiating the ' . __CLASS__ . ' class without a Response is deprecated since version 6.3 and will be removed in 7.0.', + E_USER_DEPRECATED + ); + } + parent::__construct($message, $request, $response, $previous, $handlerContext); + } +} diff --git a/lib/aws/GuzzleHttp/Exception/ClientException.php b/lib/aws/GuzzleHttp/Exception/ClientException.php new file mode 100644 index 0000000..f95c09f --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/ClientException.php @@ -0,0 +1,7 @@ +<?php +namespace GuzzleHttp\Exception; + +/** + * Exception when a client error is encountered (4xx codes) + */ +class ClientException extends BadResponseException {} diff --git a/lib/aws/GuzzleHttp/Exception/ConnectException.php b/lib/aws/GuzzleHttp/Exception/ConnectException.php new file mode 100644 index 0000000..d33b0cc --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/ConnectException.php @@ -0,0 +1,37 @@ +<?php +namespace GuzzleHttp\Exception; + +use Psr\Http\Message\RequestInterface; + +/** + * Exception thrown when a connection cannot be established. + * + * Note that no response is present for a ConnectException + */ +class ConnectException extends RequestException +{ + public function __construct( + $message, + RequestInterface $request, + \Exception $previous = null, + array $handlerContext = [] + ) { + parent::__construct($message, $request, null, $previous, $handlerContext); + } + + /** + * @return null + */ + public function getResponse() + { + return null; + } + + /** + * @return bool + */ + public function hasResponse() + { + return false; + } +} diff --git a/lib/aws/GuzzleHttp/Exception/GuzzleException.php b/lib/aws/GuzzleHttp/Exception/GuzzleException.php new file mode 100644 index 0000000..510778f --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/GuzzleException.php @@ -0,0 +1,13 @@ +<?php +namespace GuzzleHttp\Exception; + +/** + * @method string getMessage() + * @method \Throwable|null getPrevious() + * @method mixed getCode() + * @method string getFile() + * @method int getLine() + * @method array getTrace() + * @method string getTraceAsString() + */ +interface GuzzleException {} diff --git a/lib/aws/GuzzleHttp/Exception/RequestException.php b/lib/aws/GuzzleHttp/Exception/RequestException.php new file mode 100644 index 0000000..39de327 --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/RequestException.php @@ -0,0 +1,217 @@ +<?php +namespace GuzzleHttp\Exception; + +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use GuzzleHttp\Promise\PromiseInterface; +use Psr\Http\Message\UriInterface; + +/** + * HTTP Request exception + */ +class RequestException extends TransferException +{ + /** @var RequestInterface */ + private $request; + + /** @var ResponseInterface */ + private $response; + + /** @var array */ + private $handlerContext; + + public function __construct( + $message, + RequestInterface $request, + ResponseInterface $response = null, + \Exception $previous = null, + array $handlerContext = [] + ) { + // Set the code of the exception if the response is set and not future. + $code = $response && !($response instanceof PromiseInterface) + ? $response->getStatusCode() + : 0; + parent::__construct($message, $code, $previous); + $this->request = $request; + $this->response = $response; + $this->handlerContext = $handlerContext; + } + + /** + * Wrap non-RequestExceptions with a RequestException + * + * @param RequestInterface $request + * @param \Exception $e + * + * @return RequestException + */ + public static function wrapException(RequestInterface $request, \Exception $e) + { + return $e instanceof RequestException + ? $e + : new RequestException($e->getMessage(), $request, null, $e); + } + + /** + * Factory method to create a new exception with a normalized error message + * + * @param RequestInterface $request Request + * @param ResponseInterface $response Response received + * @param \Exception $previous Previous exception + * @param array $ctx Optional handler context. + * + * @return self + */ + public static function create( + RequestInterface $request, + ResponseInterface $response = null, + \Exception $previous = null, + array $ctx = [] + ) { + if (!$response) { + return new self( + 'Error completing request', + $request, + null, + $previous, + $ctx + ); + } + + $level = (int) floor($response->getStatusCode() / 100); + if ($level === 4) { + $label = 'Client error'; + $className = ClientException::class; + } elseif ($level === 5) { + $label = 'Server error'; + $className = ServerException::class; + } else { + $label = 'Unsuccessful request'; + $className = __CLASS__; + } + + $uri = $request->getUri(); + $uri = static::obfuscateUri($uri); + + // Client Error: `GET /` resulted in a `404 Not Found` response: + // <html> ... (truncated) + $message = sprintf( + '%s: `%s %s` resulted in a `%s %s` response', + $label, + $request->getMethod(), + $uri, + $response->getStatusCode(), + $response->getReasonPhrase() + ); + + $summary = static::getResponseBodySummary($response); + + if ($summary !== null) { + $message .= ":\n{$summary}\n"; + } + + return new $className($message, $request, $response, $previous, $ctx); + } + + /** + * Get a short summary of the response + * + * Will return `null` if the response is not printable. + * + * @param ResponseInterface $response + * + * @return string|null + */ + public static function getResponseBodySummary(ResponseInterface $response) + { + $body = $response->getBody(); + + if (!$body->isSeekable()) { + return null; + } + + $size = $body->getSize(); + + if ($size === 0) { + return null; + } + + $summary = $body->read(120); + $body->rewind(); + + if ($size > 120) { + $summary .= ' (truncated...)'; + } + + // Matches any printable character, including unicode characters: + // letters, marks, numbers, punctuation, spacing, and separators. + if (preg_match('/[^\pL\pM\pN\pP\pS\pZ\n\r\t]/', $summary)) { + return null; + } + + return $summary; + } + + /** + * Obfuscates URI if there is an username and a password present + * + * @param UriInterface $uri + * + * @return UriInterface + */ + private static function obfuscateUri($uri) + { + $userInfo = $uri->getUserInfo(); + + if (false !== ($pos = strpos($userInfo, ':'))) { + return $uri->withUserInfo(substr($userInfo, 0, $pos), '***'); + } + + return $uri; + } + + /** + * Get the request that caused the exception + * + * @return RequestInterface + */ + public function getRequest() + { + return $this->request; + } + + /** + * Get the associated response + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } + + /** + * Check if a response was received + * + * @return bool + */ + public function hasResponse() + { + return $this->response !== null; + } + + /** + * Get contextual information about the error from the underlying handler. + * + * The contents of this array will vary depending on which handler you are + * using. It may also be just an empty array. Relying on this data will + * couple you to a specific handler, but can give more debug information + * when needed. + * + * @return array + */ + public function getHandlerContext() + { + return $this->handlerContext; + } +} diff --git a/lib/aws/GuzzleHttp/Exception/SeekException.php b/lib/aws/GuzzleHttp/Exception/SeekException.php new file mode 100644 index 0000000..a77c289 --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/SeekException.php @@ -0,0 +1,27 @@ +<?php +namespace GuzzleHttp\Exception; + +use Psr\Http\Message\StreamInterface; + +/** + * Exception thrown when a seek fails on a stream. + */ +class SeekException extends \RuntimeException implements GuzzleException +{ + private $stream; + + public function __construct(StreamInterface $stream, $pos = 0, $msg = '') + { + $this->stream = $stream; + $msg = $msg ?: 'Could not seek the stream to position ' . $pos; + parent::__construct($msg); + } + + /** + * @return StreamInterface + */ + public function getStream() + { + return $this->stream; + } +} diff --git a/lib/aws/GuzzleHttp/Exception/ServerException.php b/lib/aws/GuzzleHttp/Exception/ServerException.php new file mode 100644 index 0000000..7cdd340 --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/ServerException.php @@ -0,0 +1,7 @@ +<?php +namespace GuzzleHttp\Exception; + +/** + * Exception when a server error is encountered (5xx codes) + */ +class ServerException extends BadResponseException {} diff --git a/lib/aws/GuzzleHttp/Exception/TooManyRedirectsException.php b/lib/aws/GuzzleHttp/Exception/TooManyRedirectsException.php new file mode 100644 index 0000000..b60a967 --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/TooManyRedirectsException.php @@ -0,0 +1,4 @@ +<?php +namespace GuzzleHttp\Exception; + +class TooManyRedirectsException extends RequestException {} diff --git a/lib/aws/GuzzleHttp/Exception/TransferException.php b/lib/aws/GuzzleHttp/Exception/TransferException.php new file mode 100644 index 0000000..b92071c --- /dev/null +++ b/lib/aws/GuzzleHttp/Exception/TransferException.php @@ -0,0 +1,4 @@ +<?php +namespace GuzzleHttp\Exception; + +class TransferException extends \RuntimeException implements GuzzleException {} diff --git a/lib/aws/GuzzleHttp/Handler/CurlFactory.php b/lib/aws/GuzzleHttp/Handler/CurlFactory.php new file mode 100644 index 0000000..e092371 --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/CurlFactory.php @@ -0,0 +1,565 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Exception\ConnectException; +use GuzzleHttp\Promise\FulfilledPromise; +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\LazyOpenStream; +use GuzzleHttp\TransferStats; +use Psr\Http\Message\RequestInterface; + +/** + * Creates curl resources from a request + */ +class CurlFactory implements CurlFactoryInterface +{ + /** @var array */ + private $handles = []; + + /** @var int Total number of idle handles to keep in cache */ + private $maxHandles; + + /** + * @param int $maxHandles Maximum number of idle handles. + */ + public function __construct($maxHandles) + { + $this->maxHandles = $maxHandles; + } + + public function create(RequestInterface $request, array $options) + { + if (isset($options['curl']['body_as_string'])) { + $options['_body_as_string'] = $options['curl']['body_as_string']; + unset($options['curl']['body_as_string']); + } + + $easy = new EasyHandle; + $easy->request = $request; + $easy->options = $options; + $conf = $this->getDefaultConf($easy); + $this->applyMethod($easy, $conf); + $this->applyHandlerOptions($easy, $conf); + $this->applyHeaders($easy, $conf); + unset($conf['_headers']); + + // Add handler options from the request configuration options + if (isset($options['curl'])) { + $conf = array_replace($conf, $options['curl']); + } + + $conf[CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy); + $easy->handle = $this->handles + ? array_pop($this->handles) + : curl_init(); + curl_setopt_array($easy->handle, $conf); + + return $easy; + } + + public function release(EasyHandle $easy) + { + $resource = $easy->handle; + unset($easy->handle); + + if (count($this->handles) >= $this->maxHandles) { + curl_close($resource); + } else { + // Remove all callback functions as they can hold onto references + // and are not cleaned up by curl_reset. Using curl_setopt_array + // does not work for some reason, so removing each one + // individually. + curl_setopt($resource, CURLOPT_HEADERFUNCTION, null); + curl_setopt($resource, CURLOPT_READFUNCTION, null); + curl_setopt($resource, CURLOPT_WRITEFUNCTION, null); + curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null); + curl_reset($resource); + $this->handles[] = $resource; + } + } + + /** + * Completes a cURL transaction, either returning a response promise or a + * rejected promise. + * + * @param callable $handler + * @param EasyHandle $easy + * @param CurlFactoryInterface $factory Dictates how the handle is released + * + * @return \GuzzleHttp\Promise\PromiseInterface + */ + public static function finish( + callable $handler, + EasyHandle $easy, + CurlFactoryInterface $factory + ) { + if (isset($easy->options['on_stats'])) { + self::invokeStats($easy); + } + + if (!$easy->response || $easy->errno) { + return self::finishError($handler, $easy, $factory); + } + + // Return the response if it is present and there is no error. + $factory->release($easy); + + // Rewind the body of the response if possible. + $body = $easy->response->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } + + return new FulfilledPromise($easy->response); + } + + private static function invokeStats(EasyHandle $easy) + { + $curlStats = curl_getinfo($easy->handle); + $stats = new TransferStats( + $easy->request, + $easy->response, + $curlStats['total_time'], + $easy->errno, + $curlStats + ); + call_user_func($easy->options['on_stats'], $stats); + } + + private static function finishError( + callable $handler, + EasyHandle $easy, + CurlFactoryInterface $factory + ) { + // Get error information and release the handle to the factory. + $ctx = [ + 'errno' => $easy->errno, + 'error' => curl_error($easy->handle), + ] + curl_getinfo($easy->handle); + $factory->release($easy); + + // Retry when nothing is present or when curl failed to rewind. + if (empty($easy->options['_err_message']) + && (!$easy->errno || $easy->errno == 65) + ) { + return self::retryFailedRewind($handler, $easy, $ctx); + } + + return self::createRejection($easy, $ctx); + } + + private static function createRejection(EasyHandle $easy, array $ctx) + { + static $connectionErrors = [ + CURLE_OPERATION_TIMEOUTED => true, + CURLE_COULDNT_RESOLVE_HOST => true, + CURLE_COULDNT_CONNECT => true, + CURLE_SSL_CONNECT_ERROR => true, + CURLE_GOT_NOTHING => true, + ]; + + // If an exception was encountered during the onHeaders event, then + // return a rejected promise that wraps that exception. + if ($easy->onHeadersException) { + return \GuzzleHttp\Promise\rejection_for( + new RequestException( + 'An error was encountered during the on_headers event', + $easy->request, + $easy->response, + $easy->onHeadersException, + $ctx + ) + ); + } + + $message = sprintf( + 'cURL error %s: %s (%s)', + $ctx['errno'], + $ctx['error'], + 'see http://curl.haxx.se/libcurl/c/libcurl-errors.html' + ); + + // Create a connection exception if it was a specific error code. + $error = isset($connectionErrors[$easy->errno]) + ? new ConnectException($message, $easy->request, null, $ctx) + : new RequestException($message, $easy->request, $easy->response, null, $ctx); + + return \GuzzleHttp\Promise\rejection_for($error); + } + + private function getDefaultConf(EasyHandle $easy) + { + $conf = [ + '_headers' => $easy->request->getHeaders(), + CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), + CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), + CURLOPT_RETURNTRANSFER => false, + CURLOPT_HEADER => false, + CURLOPT_CONNECTTIMEOUT => 150, + ]; + + if (defined('CURLOPT_PROTOCOLS')) { + $conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS; + } + + $version = $easy->request->getProtocolVersion(); + if ($version == 1.1) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1; + } elseif ($version == 2.0) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2_0; + } else { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0; + } + + return $conf; + } + + private function applyMethod(EasyHandle $easy, array &$conf) + { + $body = $easy->request->getBody(); + $size = $body->getSize(); + + if ($size === null || $size > 0) { + $this->applyBody($easy->request, $easy->options, $conf); + return; + } + + $method = $easy->request->getMethod(); + if ($method === 'PUT' || $method === 'POST') { + // See http://tools.ietf.org/html/rfc7230#section-3.3.2 + if (!$easy->request->hasHeader('Content-Length')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Length: 0'; + } + } elseif ($method === 'HEAD') { + $conf[CURLOPT_NOBODY] = true; + unset( + $conf[CURLOPT_WRITEFUNCTION], + $conf[CURLOPT_READFUNCTION], + $conf[CURLOPT_FILE], + $conf[CURLOPT_INFILE] + ); + } + } + + private function applyBody(RequestInterface $request, array $options, array &$conf) + { + $size = $request->hasHeader('Content-Length') + ? (int) $request->getHeaderLine('Content-Length') + : null; + + // Send the body as a string if the size is less than 1MB OR if the + // [curl][body_as_string] request value is set. + if (($size !== null && $size < 1000000) || + !empty($options['_body_as_string']) + ) { + $conf[CURLOPT_POSTFIELDS] = (string) $request->getBody(); + // Don't duplicate the Content-Length header + $this->removeHeader('Content-Length', $conf); + $this->removeHeader('Transfer-Encoding', $conf); + } else { + $conf[CURLOPT_UPLOAD] = true; + if ($size !== null) { + $conf[CURLOPT_INFILESIZE] = $size; + $this->removeHeader('Content-Length', $conf); + } + $body = $request->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } + $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) { + return $body->read($length); + }; + } + + // If the Expect header is not present, prevent curl from adding it + if (!$request->hasHeader('Expect')) { + $conf[CURLOPT_HTTPHEADER][] = 'Expect:'; + } + + // cURL sometimes adds a content-type by default. Prevent this. + if (!$request->hasHeader('Content-Type')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Type:'; + } + } + + private function applyHeaders(EasyHandle $easy, array &$conf) + { + foreach ($conf['_headers'] as $name => $values) { + foreach ($values as $value) { + $value = (string) $value; + if ($value === '') { + // cURL requires a special format for empty headers. + // See https://github.com/guzzle/guzzle/issues/1882 for more details. + $conf[CURLOPT_HTTPHEADER][] = "$name;"; + } else { + $conf[CURLOPT_HTTPHEADER][] = "$name: $value"; + } + } + } + + // Remove the Accept header if one was not set + if (!$easy->request->hasHeader('Accept')) { + $conf[CURLOPT_HTTPHEADER][] = 'Accept:'; + } + } + + /** + * Remove a header from the options array. + * + * @param string $name Case-insensitive header to remove + * @param array $options Array of options to modify + */ + private function removeHeader($name, array &$options) + { + foreach (array_keys($options['_headers']) as $key) { + if (!strcasecmp($key, $name)) { + unset($options['_headers'][$key]); + return; + } + } + } + + private function applyHandlerOptions(EasyHandle $easy, array &$conf) + { + $options = $easy->options; + if (isset($options['verify'])) { + if ($options['verify'] === false) { + unset($conf[CURLOPT_CAINFO]); + $conf[CURLOPT_SSL_VERIFYHOST] = 0; + $conf[CURLOPT_SSL_VERIFYPEER] = false; + } else { + $conf[CURLOPT_SSL_VERIFYHOST] = 2; + $conf[CURLOPT_SSL_VERIFYPEER] = true; + if (is_string($options['verify'])) { + // Throw an error if the file/folder/link path is not valid or doesn't exist. + if (!file_exists($options['verify'])) { + throw new \InvalidArgumentException( + "SSL CA bundle not found: {$options['verify']}" + ); + } + // If it's a directory or a link to a directory use CURLOPT_CAPATH. + // If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO. + if (is_dir($options['verify']) || + (is_link($options['verify']) && is_dir(readlink($options['verify'])))) { + $conf[CURLOPT_CAPATH] = $options['verify']; + } else { + $conf[CURLOPT_CAINFO] = $options['verify']; + } + } + } + } + + if (!empty($options['decode_content'])) { + $accept = $easy->request->getHeaderLine('Accept-Encoding'); + if ($accept) { + $conf[CURLOPT_ENCODING] = $accept; + } else { + $conf[CURLOPT_ENCODING] = ''; + // Don't let curl send the header over the wire + $conf[CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; + } + } + + if (isset($options['sink'])) { + $sink = $options['sink']; + if (!is_string($sink)) { + $sink = \GuzzleHttp\Psr7\stream_for($sink); + } elseif (!is_dir(dirname($sink))) { + // Ensure that the directory exists before failing in curl. + throw new \RuntimeException(sprintf( + 'Directory %s does not exist for sink value of %s', + dirname($sink), + $sink + )); + } else { + $sink = new LazyOpenStream($sink, 'w+'); + } + $easy->sink = $sink; + $conf[CURLOPT_WRITEFUNCTION] = function ($ch, $write) use ($sink) { + return $sink->write($write); + }; + } else { + // Use a default temp stream if no sink was set. + $conf[CURLOPT_FILE] = fopen('php://temp', 'w+'); + $easy->sink = Psr7\stream_for($conf[CURLOPT_FILE]); + } + $timeoutRequiresNoSignal = false; + if (isset($options['timeout'])) { + $timeoutRequiresNoSignal |= $options['timeout'] < 1; + $conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000; + } + + // CURL default value is CURL_IPRESOLVE_WHATEVER + if (isset($options['force_ip_resolve'])) { + if ('v4' === $options['force_ip_resolve']) { + $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4; + } elseif ('v6' === $options['force_ip_resolve']) { + $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V6; + } + } + + if (isset($options['connect_timeout'])) { + $timeoutRequiresNoSignal |= $options['connect_timeout'] < 1; + $conf[CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000; + } + + if ($timeoutRequiresNoSignal && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') { + $conf[CURLOPT_NOSIGNAL] = true; + } + + if (isset($options['proxy'])) { + if (!is_array($options['proxy'])) { + $conf[CURLOPT_PROXY] = $options['proxy']; + } else { + $scheme = $easy->request->getUri()->getScheme(); + if (isset($options['proxy'][$scheme])) { + $host = $easy->request->getUri()->getHost(); + if (!isset($options['proxy']['no']) || + !\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no']) + ) { + $conf[CURLOPT_PROXY] = $options['proxy'][$scheme]; + } + } + } + } + + if (isset($options['cert'])) { + $cert = $options['cert']; + if (is_array($cert)) { + $conf[CURLOPT_SSLCERTPASSWD] = $cert[1]; + $cert = $cert[0]; + } + if (!file_exists($cert)) { + throw new \InvalidArgumentException( + "SSL certificate not found: {$cert}" + ); + } + $conf[CURLOPT_SSLCERT] = $cert; + } + + if (isset($options['ssl_key'])) { + $sslKey = $options['ssl_key']; + if (is_array($sslKey)) { + $conf[CURLOPT_SSLKEYPASSWD] = $sslKey[1]; + $sslKey = $sslKey[0]; + } + if (!file_exists($sslKey)) { + throw new \InvalidArgumentException( + "SSL private key not found: {$sslKey}" + ); + } + $conf[CURLOPT_SSLKEY] = $sslKey; + } + + if (isset($options['progress'])) { + $progress = $options['progress']; + if (!is_callable($progress)) { + throw new \InvalidArgumentException( + 'progress client option must be callable' + ); + } + $conf[CURLOPT_NOPROGRESS] = false; + $conf[CURLOPT_PROGRESSFUNCTION] = function () use ($progress) { + $args = func_get_args(); + // PHP 5.5 pushed the handle onto the start of the args + if (is_resource($args[0])) { + array_shift($args); + } + call_user_func_array($progress, $args); + }; + } + + if (!empty($options['debug'])) { + $conf[CURLOPT_STDERR] = \GuzzleHttp\debug_resource($options['debug']); + $conf[CURLOPT_VERBOSE] = true; + } + } + + /** + * This function ensures that a response was set on a transaction. If one + * was not set, then the request is retried if possible. This error + * typically means you are sending a payload, curl encountered a + * "Connection died, retrying a fresh connect" error, tried to rewind the + * stream, and then encountered a "necessary data rewind wasn't possible" + * error, causing the request to be sent through curl_multi_info_read() + * without an error status. + */ + private static function retryFailedRewind( + callable $handler, + EasyHandle $easy, + array $ctx + ) { + try { + // Only rewind if the body has been read from. + $body = $easy->request->getBody(); + if ($body->tell() > 0) { + $body->rewind(); + } + } catch (\RuntimeException $e) { + $ctx['error'] = 'The connection unexpectedly failed without ' + . 'providing an error. The request would have been retried, ' + . 'but attempting to rewind the request body failed. ' + . 'Exception: ' . $e; + return self::createRejection($easy, $ctx); + } + + // Retry no more than 3 times before giving up. + if (!isset($easy->options['_curl_retries'])) { + $easy->options['_curl_retries'] = 1; + } elseif ($easy->options['_curl_retries'] == 2) { + $ctx['error'] = 'The cURL request was retried 3 times ' + . 'and did not succeed. The most likely reason for the failure ' + . 'is that cURL was unable to rewind the body of the request ' + . 'and subsequent retries resulted in the same error. Turn on ' + . 'the debug option to see what went wrong. See ' + . 'https://bugs.php.net/bug.php?id=47204 for more information.'; + return self::createRejection($easy, $ctx); + } else { + $easy->options['_curl_retries']++; + } + + return $handler($easy->request, $easy->options); + } + + private function createHeaderFn(EasyHandle $easy) + { + if (isset($easy->options['on_headers'])) { + $onHeaders = $easy->options['on_headers']; + + if (!is_callable($onHeaders)) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + } else { + $onHeaders = null; + } + + return function ($ch, $h) use ( + $onHeaders, + $easy, + &$startingResponse + ) { + $value = trim($h); + if ($value === '') { + $startingResponse = true; + $easy->createResponse(); + if ($onHeaders !== null) { + try { + $onHeaders($easy->response); + } catch (\Exception $e) { + // Associate the exception with the handle and trigger + // a curl header write error by returning 0. + $easy->onHeadersException = $e; + return -1; + } + } + } elseif ($startingResponse) { + $startingResponse = false; + $easy->headers = [$value]; + } else { + $easy->headers[] = $value; + } + return strlen($h); + }; + } +} diff --git a/lib/aws/GuzzleHttp/Handler/CurlFactoryInterface.php b/lib/aws/GuzzleHttp/Handler/CurlFactoryInterface.php new file mode 100644 index 0000000..b0fc236 --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/CurlFactoryInterface.php @@ -0,0 +1,27 @@ +<?php +namespace GuzzleHttp\Handler; + +use Psr\Http\Message\RequestInterface; + +interface CurlFactoryInterface +{ + /** + * Creates a cURL handle resource. + * + * @param RequestInterface $request Request + * @param array $options Transfer options + * + * @return EasyHandle + * @throws \RuntimeException when an option cannot be applied + */ + public function create(RequestInterface $request, array $options); + + /** + * Release an easy handle, allowing it to be reused or closed. + * + * This function must call unset on the easy handle's "handle" property. + * + * @param EasyHandle $easy + */ + public function release(EasyHandle $easy); +} diff --git a/lib/aws/GuzzleHttp/Handler/CurlHandler.php b/lib/aws/GuzzleHttp/Handler/CurlHandler.php new file mode 100644 index 0000000..43577da --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/CurlHandler.php @@ -0,0 +1,45 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; + +/** + * HTTP handler that uses cURL easy handles as a transport layer. + * + * When using the CurlHandler, custom curl options can be specified as an + * associative array of curl option constants mapping to values in the + * **curl** key of the "client" key of the request. + */ +class CurlHandler +{ + /** @var CurlFactoryInterface */ + private $factory; + + /** + * Accepts an associative array of options: + * + * - factory: Optional curl factory used to create cURL handles. + * + * @param array $options Array of options to use with the handler + */ + public function __construct(array $options = []) + { + $this->factory = isset($options['handle_factory']) + ? $options['handle_factory'] + : new CurlFactory(3); + } + + public function __invoke(RequestInterface $request, array $options) + { + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $easy = $this->factory->create($request, $options); + curl_exec($easy->handle); + $easy->errno = curl_errno($easy->handle); + + return CurlFactory::finish($this, $easy, $this->factory); + } +} diff --git a/lib/aws/GuzzleHttp/Handler/CurlMultiHandler.php b/lib/aws/GuzzleHttp/Handler/CurlMultiHandler.php new file mode 100644 index 0000000..2754d8e --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/CurlMultiHandler.php @@ -0,0 +1,199 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Promise as P; +use GuzzleHttp\Promise\Promise; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; + +/** + * Returns an asynchronous response using curl_multi_* functions. + * + * When using the CurlMultiHandler, custom curl options can be specified as an + * associative array of curl option constants mapping to values in the + * **curl** key of the provided request options. + * + * @property resource $_mh Internal use only. Lazy loaded multi-handle. + */ +class CurlMultiHandler +{ + /** @var CurlFactoryInterface */ + private $factory; + private $selectTimeout; + private $active; + private $handles = []; + private $delays = []; + + /** + * This handler accepts the following options: + * + * - handle_factory: An optional factory used to create curl handles + * - select_timeout: Optional timeout (in seconds) to block before timing + * out while selecting curl handles. Defaults to 1 second. + * + * @param array $options + */ + public function __construct(array $options = []) + { + $this->factory = isset($options['handle_factory']) + ? $options['handle_factory'] : new CurlFactory(50); + $this->selectTimeout = isset($options['select_timeout']) + ? $options['select_timeout'] : 1; + } + + public function __get($name) + { + if ($name === '_mh') { + return $this->_mh = curl_multi_init(); + } + + throw new \BadMethodCallException(); + } + + public function __destruct() + { + if (isset($this->_mh)) { + curl_multi_close($this->_mh); + unset($this->_mh); + } + } + + public function __invoke(RequestInterface $request, array $options) + { + $easy = $this->factory->create($request, $options); + $id = (int) $easy->handle; + + $promise = new Promise( + [$this, 'execute'], + function () use ($id) { + return $this->cancel($id); + } + ); + + $this->addRequest(['easy' => $easy, 'deferred' => $promise]); + + return $promise; + } + + /** + * Ticks the curl event loop. + */ + public function tick() + { + // Add any delayed handles if needed. + if ($this->delays) { + $currentTime = microtime(true); + foreach ($this->delays as $id => $delay) { + if ($currentTime >= $delay) { + unset($this->delays[$id]); + curl_multi_add_handle( + $this->_mh, + $this->handles[$id]['easy']->handle + ); + } + } + } + + // Step through the task queue which may add additional requests. + P\queue()->run(); + + if ($this->active && + curl_multi_select($this->_mh, $this->selectTimeout) === -1 + ) { + // Perform a usleep if a select returns -1. + // See: https://bugs.php.net/bug.php?id=61141 + usleep(250); + } + + while (curl_multi_exec($this->_mh, $this->active) === CURLM_CALL_MULTI_PERFORM); + + $this->processMessages(); + } + + /** + * Runs until all outstanding connections have completed. + */ + public function execute() + { + $queue = P\queue(); + + while ($this->handles || !$queue->isEmpty()) { + // If there are no transfers, then sleep for the next delay + if (!$this->active && $this->delays) { + usleep($this->timeToNext()); + } + $this->tick(); + } + } + + private function addRequest(array $entry) + { + $easy = $entry['easy']; + $id = (int) $easy->handle; + $this->handles[$id] = $entry; + if (empty($easy->options['delay'])) { + curl_multi_add_handle($this->_mh, $easy->handle); + } else { + $this->delays[$id] = microtime(true) + ($easy->options['delay'] / 1000); + } + } + + /** + * Cancels a handle from sending and removes references to it. + * + * @param int $id Handle ID to cancel and remove. + * + * @return bool True on success, false on failure. + */ + private function cancel($id) + { + // Cannot cancel if it has been processed. + if (!isset($this->handles[$id])) { + return false; + } + + $handle = $this->handles[$id]['easy']->handle; + unset($this->delays[$id], $this->handles[$id]); + curl_multi_remove_handle($this->_mh, $handle); + curl_close($handle); + + return true; + } + + private function processMessages() + { + while ($done = curl_multi_info_read($this->_mh)) { + $id = (int) $done['handle']; + curl_multi_remove_handle($this->_mh, $done['handle']); + + if (!isset($this->handles[$id])) { + // Probably was cancelled. + continue; + } + + $entry = $this->handles[$id]; + unset($this->handles[$id], $this->delays[$id]); + $entry['easy']->errno = $done['result']; + $entry['deferred']->resolve( + CurlFactory::finish( + $this, + $entry['easy'], + $this->factory + ) + ); + } + } + + private function timeToNext() + { + $currentTime = microtime(true); + $nextTime = PHP_INT_MAX; + foreach ($this->delays as $time) { + if ($time < $nextTime) { + $nextTime = $time; + } + } + + return max(0, $nextTime - $currentTime) * 1000000; + } +} diff --git a/lib/aws/GuzzleHttp/Handler/EasyHandle.php b/lib/aws/GuzzleHttp/Handler/EasyHandle.php new file mode 100644 index 0000000..7754e91 --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/EasyHandle.php @@ -0,0 +1,92 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Psr7\Response; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * Represents a cURL easy handle and the data it populates. + * + * @internal + */ +final class EasyHandle +{ + /** @var resource cURL resource */ + public $handle; + + /** @var StreamInterface Where data is being written */ + public $sink; + + /** @var array Received HTTP headers so far */ + public $headers = []; + + /** @var ResponseInterface Received response (if any) */ + public $response; + + /** @var RequestInterface Request being sent */ + public $request; + + /** @var array Request options */ + public $options = []; + + /** @var int cURL error number (if any) */ + public $errno = 0; + + /** @var \Exception Exception during on_headers (if any) */ + public $onHeadersException; + + /** + * Attach a response to the easy handle based on the received headers. + * + * @throws \RuntimeException if no headers have been received. + */ + public function createResponse() + { + if (empty($this->headers)) { + throw new \RuntimeException('No headers have been received'); + } + + // HTTP-version SP status-code SP reason-phrase + $startLine = explode(' ', array_shift($this->headers), 3); + $headers = \GuzzleHttp\headers_from_lines($this->headers); + $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers); + + if (!empty($this->options['decode_content']) + && isset($normalizedKeys['content-encoding']) + ) { + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; + unset($headers[$normalizedKeys['content-encoding']]); + if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + + $bodyLength = (int) $this->sink->getSize(); + if ($bodyLength) { + $headers[$normalizedKeys['content-length']] = $bodyLength; + } else { + unset($headers[$normalizedKeys['content-length']]); + } + } + } + + // Attach a response to the easy handle with the parsed headers. + $this->response = new Response( + $startLine[1], + $headers, + $this->sink, + substr($startLine[0], 5), + isset($startLine[2]) ? (string) $startLine[2] : null + ); + } + + public function __get($name) + { + $msg = $name === 'handle' + ? 'The EasyHandle has been released' + : 'Invalid property: ' . $name; + throw new \BadMethodCallException($msg); + } +} diff --git a/lib/aws/GuzzleHttp/Handler/MockHandler.php b/lib/aws/GuzzleHttp/Handler/MockHandler.php new file mode 100644 index 0000000..d892061 --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/MockHandler.php @@ -0,0 +1,189 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\HandlerStack; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Promise\RejectedPromise; +use GuzzleHttp\TransferStats; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Handler that returns responses or throw exceptions from a queue. + */ +class MockHandler implements \Countable +{ + private $queue = []; + private $lastRequest; + private $lastOptions; + private $onFulfilled; + private $onRejected; + + /** + * Creates a new MockHandler that uses the default handler stack list of + * middlewares. + * + * @param array $queue Array of responses, callables, or exceptions. + * @param callable $onFulfilled Callback to invoke when the return value is fulfilled. + * @param callable $onRejected Callback to invoke when the return value is rejected. + * + * @return HandlerStack + */ + public static function createWithMiddleware( + array $queue = null, + callable $onFulfilled = null, + callable $onRejected = null + ) { + return HandlerStack::create(new self($queue, $onFulfilled, $onRejected)); + } + + /** + * The passed in value must be an array of + * {@see Psr7\Http\Message\ResponseInterface} objects, Exceptions, + * callables, or Promises. + * + * @param array $queue + * @param callable $onFulfilled Callback to invoke when the return value is fulfilled. + * @param callable $onRejected Callback to invoke when the return value is rejected. + */ + public function __construct( + array $queue = null, + callable $onFulfilled = null, + callable $onRejected = null + ) { + $this->onFulfilled = $onFulfilled; + $this->onRejected = $onRejected; + + if ($queue) { + call_user_func_array([$this, 'append'], $queue); + } + } + + public function __invoke(RequestInterface $request, array $options) + { + if (!$this->queue) { + throw new \OutOfBoundsException('Mock queue is empty'); + } + + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $this->lastRequest = $request; + $this->lastOptions = $options; + $response = array_shift($this->queue); + + if (isset($options['on_headers'])) { + if (!is_callable($options['on_headers'])) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + try { + $options['on_headers']($response); + } catch (\Exception $e) { + $msg = 'An error was encountered during the on_headers event'; + $response = new RequestException($msg, $request, $response, $e); + } + } + + if (is_callable($response)) { + $response = call_user_func($response, $request, $options); + } + + $response = $response instanceof \Exception + ? \GuzzleHttp\Promise\rejection_for($response) + : \GuzzleHttp\Promise\promise_for($response); + + return $response->then( + function ($value) use ($request, $options) { + $this->invokeStats($request, $options, $value); + if ($this->onFulfilled) { + call_user_func($this->onFulfilled, $value); + } + if (isset($options['sink'])) { + $contents = (string) $value->getBody(); + $sink = $options['sink']; + + if (is_resource($sink)) { + fwrite($sink, $contents); + } elseif (is_string($sink)) { + file_put_contents($sink, $contents); + } elseif ($sink instanceof \Psr\Http\Message\StreamInterface) { + $sink->write($contents); + } + } + + return $value; + }, + function ($reason) use ($request, $options) { + $this->invokeStats($request, $options, null, $reason); + if ($this->onRejected) { + call_user_func($this->onRejected, $reason); + } + return \GuzzleHttp\Promise\rejection_for($reason); + } + ); + } + + /** + * Adds one or more variadic requests, exceptions, callables, or promises + * to the queue. + */ + public function append() + { + foreach (func_get_args() as $value) { + if ($value instanceof ResponseInterface + || $value instanceof \Exception + || $value instanceof PromiseInterface + || is_callable($value) + ) { + $this->queue[] = $value; + } else { + throw new \InvalidArgumentException('Expected a response or ' + . 'exception. Found ' . \GuzzleHttp\describe_type($value)); + } + } + } + + /** + * Get the last received request. + * + * @return RequestInterface + */ + public function getLastRequest() + { + return $this->lastRequest; + } + + /** + * Get the last received request options. + * + * @return array + */ + public function getLastOptions() + { + return $this->lastOptions; + } + + /** + * Returns the number of remaining items in the queue. + * + * @return int + */ + public function count() + { + return count($this->queue); + } + + private function invokeStats( + RequestInterface $request, + array $options, + ResponseInterface $response = null, + $reason = null + ) { + if (isset($options['on_stats'])) { + $stats = new TransferStats($request, $response, 0, $reason); + call_user_func($options['on_stats'], $stats); + } + } +} diff --git a/lib/aws/GuzzleHttp/Handler/Proxy.php b/lib/aws/GuzzleHttp/Handler/Proxy.php new file mode 100644 index 0000000..f8b00be --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/Proxy.php @@ -0,0 +1,55 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\RequestOptions; +use Psr\Http\Message\RequestInterface; + +/** + * Provides basic proxies for handlers. + */ +class Proxy +{ + /** + * Sends synchronous requests to a specific handler while sending all other + * requests to another handler. + * + * @param callable $default Handler used for normal responses + * @param callable $sync Handler used for synchronous responses. + * + * @return callable Returns the composed handler. + */ + public static function wrapSync( + callable $default, + callable $sync + ) { + return function (RequestInterface $request, array $options) use ($default, $sync) { + return empty($options[RequestOptions::SYNCHRONOUS]) + ? $default($request, $options) + : $sync($request, $options); + }; + } + + /** + * Sends streaming requests to a streaming compatible handler while sending + * all other requests to a default handler. + * + * This, for example, could be useful for taking advantage of the + * performance benefits of curl while still supporting true streaming + * through the StreamHandler. + * + * @param callable $default Handler used for non-streaming responses + * @param callable $streaming Handler used for streaming responses + * + * @return callable Returns the composed handler. + */ + public static function wrapStreaming( + callable $default, + callable $streaming + ) { + return function (RequestInterface $request, array $options) use ($default, $streaming) { + return empty($options['stream']) + ? $default($request, $options) + : $streaming($request, $options); + }; + } +} diff --git a/lib/aws/GuzzleHttp/Handler/StreamHandler.php b/lib/aws/GuzzleHttp/Handler/StreamHandler.php new file mode 100644 index 0000000..b686545 --- /dev/null +++ b/lib/aws/GuzzleHttp/Handler/StreamHandler.php @@ -0,0 +1,532 @@ +<?php +namespace GuzzleHttp\Handler; + +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Exception\ConnectException; +use GuzzleHttp\Promise\FulfilledPromise; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Psr7; +use GuzzleHttp\TransferStats; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * HTTP handler that uses PHP's HTTP stream wrapper. + */ +class StreamHandler +{ + private $lastHeaders = []; + + /** + * Sends an HTTP request. + * + * @param RequestInterface $request Request to send. + * @param array $options Request transfer options. + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + // Sleep if there is a delay specified. + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $startTime = isset($options['on_stats']) ? microtime(true) : null; + + try { + // Does not support the expect header. + $request = $request->withoutHeader('Expect'); + + // Append a content-length header if body size is zero to match + // cURL's behavior. + if (0 === $request->getBody()->getSize()) { + $request = $request->withHeader('Content-Length', 0); + } + + return $this->createResponse( + $request, + $options, + $this->createStream($request, $options), + $startTime + ); + } catch (\InvalidArgumentException $e) { + throw $e; + } catch (\Exception $e) { + // Determine if the error was a networking error. + $message = $e->getMessage(); + // This list can probably get more comprehensive. + if (strpos($message, 'getaddrinfo') // DNS lookup failed + || strpos($message, 'Connection refused') + || strpos($message, "couldn't connect to host") // error on HHVM + || strpos($message, "connection attempt failed") + ) { + $e = new ConnectException($e->getMessage(), $request, $e); + } + $e = RequestException::wrapException($request, $e); + $this->invokeStats($options, $request, $startTime, null, $e); + + return \GuzzleHttp\Promise\rejection_for($e); + } + } + + private function invokeStats( + array $options, + RequestInterface $request, + $startTime, + ResponseInterface $response = null, + $error = null + ) { + if (isset($options['on_stats'])) { + $stats = new TransferStats( + $request, + $response, + microtime(true) - $startTime, + $error, + [] + ); + call_user_func($options['on_stats'], $stats); + } + } + + private function createResponse( + RequestInterface $request, + array $options, + $stream, + $startTime + ) { + $hdrs = $this->lastHeaders; + $this->lastHeaders = []; + $parts = explode(' ', array_shift($hdrs), 3); + $ver = explode('/', $parts[0])[1]; + $status = $parts[1]; + $reason = isset($parts[2]) ? $parts[2] : null; + $headers = \GuzzleHttp\headers_from_lines($hdrs); + list($stream, $headers) = $this->checkDecode($options, $headers, $stream); + $stream = Psr7\stream_for($stream); + $sink = $stream; + + if (strcasecmp('HEAD', $request->getMethod())) { + $sink = $this->createSink($stream, $options); + } + + $response = new Psr7\Response($status, $headers, $sink, $ver, $reason); + + if (isset($options['on_headers'])) { + try { + $options['on_headers']($response); + } catch (\Exception $e) { + $msg = 'An error was encountered during the on_headers event'; + $ex = new RequestException($msg, $request, $response, $e); + return \GuzzleHttp\Promise\rejection_for($ex); + } + } + + // Do not drain when the request is a HEAD request because they have + // no body. + if ($sink !== $stream) { + $this->drain( + $stream, + $sink, + $response->getHeaderLine('Content-Length') + ); + } + + $this->invokeStats($options, $request, $startTime, $response, null); + + return new FulfilledPromise($response); + } + + private function createSink(StreamInterface $stream, array $options) + { + if (!empty($options['stream'])) { + return $stream; + } + + $sink = isset($options['sink']) + ? $options['sink'] + : fopen('php://temp', 'r+'); + + return is_string($sink) + ? new Psr7\LazyOpenStream($sink, 'w+') + : Psr7\stream_for($sink); + } + + private function checkDecode(array $options, array $headers, $stream) + { + // Automatically decode responses when instructed. + if (!empty($options['decode_content'])) { + $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers); + if (isset($normalizedKeys['content-encoding'])) { + $encoding = $headers[$normalizedKeys['content-encoding']]; + if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') { + $stream = new Psr7\InflateStream( + Psr7\stream_for($stream) + ); + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; + // Remove content-encoding header + unset($headers[$normalizedKeys['content-encoding']]); + // Fix content-length header + if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + + $length = (int) $stream->getSize(); + if ($length === 0) { + unset($headers[$normalizedKeys['content-length']]); + } else { + $headers[$normalizedKeys['content-length']] = [$length]; + } + } + } + } + } + + return [$stream, $headers]; + } + + /** + * Drains the source stream into the "sink" client option. + * + * @param StreamInterface $source + * @param StreamInterface $sink + * @param string $contentLength Header specifying the amount of + * data to read. + * + * @return StreamInterface + * @throws \RuntimeException when the sink option is invalid. + */ + private function drain( + StreamInterface $source, + StreamInterface $sink, + $contentLength + ) { + // If a content-length header is provided, then stop reading once + // that number of bytes has been read. This can prevent infinitely + // reading from a stream when dealing with servers that do not honor + // Connection: Close headers. + Psr7\copy_to_stream( + $source, + $sink, + (strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1 + ); + + $sink->seek(0); + $source->close(); + + return $sink; + } + + /** + * Create a resource and check to ensure it was created successfully + * + * @param callable $callback Callable that returns stream resource + * + * @return resource + * @throws \RuntimeException on error + */ + private function createResource(callable $callback) + { + $errors = null; + set_error_handler(function ($_, $msg, $file, $line) use (&$errors) { + $errors[] = [ + 'message' => $msg, + 'file' => $file, + 'line' => $line + ]; + return true; + }); + + $resource = $callback(); + restore_error_handler(); + + if (!$resource) { + $message = 'Error creating resource: '; + foreach ($errors as $err) { + foreach ($err as $key => $value) { + $message .= "[$key] $value" . PHP_EOL; + } + } + throw new \RuntimeException(trim($message)); + } + + return $resource; + } + + private function createStream(RequestInterface $request, array $options) + { + static $methods; + if (!$methods) { + $methods = array_flip(get_class_methods(__CLASS__)); + } + + // HTTP/1.1 streams using the PHP stream wrapper require a + // Connection: close header + if ($request->getProtocolVersion() == '1.1' + && !$request->hasHeader('Connection') + ) { + $request = $request->withHeader('Connection', 'close'); + } + + // Ensure SSL is verified by default + if (!isset($options['verify'])) { + $options['verify'] = true; + } + + $params = []; + $context = $this->getDefaultContext($request); + + if (isset($options['on_headers']) && !is_callable($options['on_headers'])) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + + if (!empty($options)) { + foreach ($options as $key => $value) { + $method = "add_{$key}"; + if (isset($methods[$method])) { + $this->{$method}($request, $context, $value, $params); + } + } + } + + if (isset($options['stream_context'])) { + if (!is_array($options['stream_context'])) { + throw new \InvalidArgumentException('stream_context must be an array'); + } + $context = array_replace_recursive( + $context, + $options['stream_context'] + ); + } + + // Microsoft NTLM authentication only supported with curl handler + if (isset($options['auth']) + && is_array($options['auth']) + && isset($options['auth'][2]) + && 'ntlm' == $options['auth'][2] + ) { + throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler'); + } + + $uri = $this->resolveHost($request, $options); + + $context = $this->createResource( + function () use ($context, $params) { + return stream_context_create($context, $params); + } + ); + + return $this->createResource( + function () use ($uri, &$http_response_header, $context, $options) { + $resource = fopen((string) $uri, 'r', null, $context); + $this->lastHeaders = $http_response_header; + + if (isset($options['read_timeout'])) { + $readTimeout = $options['read_timeout']; + $sec = (int) $readTimeout; + $usec = ($readTimeout - $sec) * 100000; + stream_set_timeout($resource, $sec, $usec); + } + + return $resource; + } + ); + } + + private function resolveHost(RequestInterface $request, array $options) + { + $uri = $request->getUri(); + + if (isset($options['force_ip_resolve']) && !filter_var($uri->getHost(), FILTER_VALIDATE_IP)) { + if ('v4' === $options['force_ip_resolve']) { + $records = dns_get_record($uri->getHost(), DNS_A); + if (!isset($records[0]['ip'])) { + throw new ConnectException(sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request); + } + $uri = $uri->withHost($records[0]['ip']); + } elseif ('v6' === $options['force_ip_resolve']) { + $records = dns_get_record($uri->getHost(), DNS_AAAA); + if (!isset($records[0]['ipv6'])) { + throw new ConnectException(sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request); + } + $uri = $uri->withHost('[' . $records[0]['ipv6'] . ']'); + } + } + + return $uri; + } + + private function getDefaultContext(RequestInterface $request) + { + $headers = ''; + foreach ($request->getHeaders() as $name => $value) { + foreach ($value as $val) { + $headers .= "$name: $val\r\n"; + } + } + + $context = [ + 'http' => [ + 'method' => $request->getMethod(), + 'header' => $headers, + 'protocol_version' => $request->getProtocolVersion(), + 'ignore_errors' => true, + 'follow_location' => 0, + ], + ]; + + $body = (string) $request->getBody(); + + if (!empty($body)) { + $context['http']['content'] = $body; + // Prevent the HTTP handler from adding a Content-Type header. + if (!$request->hasHeader('Content-Type')) { + $context['http']['header'] .= "Content-Type:\r\n"; + } + } + + $context['http']['header'] = rtrim($context['http']['header']); + + return $context; + } + + private function add_proxy(RequestInterface $request, &$options, $value, &$params) + { + if (!is_array($value)) { + $options['http']['proxy'] = $value; + } else { + $scheme = $request->getUri()->getScheme(); + if (isset($value[$scheme])) { + if (!isset($value['no']) + || !\GuzzleHttp\is_host_in_noproxy( + $request->getUri()->getHost(), + $value['no'] + ) + ) { + $options['http']['proxy'] = $value[$scheme]; + } + } + } + } + + private function add_timeout(RequestInterface $request, &$options, $value, &$params) + { + if ($value > 0) { + $options['http']['timeout'] = $value; + } + } + + private function add_verify(RequestInterface $request, &$options, $value, &$params) + { + if ($value === true) { + // PHP 5.6 or greater will find the system cert by default. When + // < 5.6, use the Guzzle bundled cacert. + if (PHP_VERSION_ID < 50600) { + $options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle(); + } + } elseif (is_string($value)) { + $options['ssl']['cafile'] = $value; + if (!file_exists($value)) { + throw new \RuntimeException("SSL CA bundle not found: $value"); + } + } elseif ($value === false) { + $options['ssl']['verify_peer'] = false; + $options['ssl']['verify_peer_name'] = false; + return; + } else { + throw new \InvalidArgumentException('Invalid verify request option'); + } + + $options['ssl']['verify_peer'] = true; + $options['ssl']['verify_peer_name'] = true; + $options['ssl']['allow_self_signed'] = false; + } + + private function add_cert(RequestInterface $request, &$options, $value, &$params) + { + if (is_array($value)) { + $options['ssl']['passphrase'] = $value[1]; + $value = $value[0]; + } + + if (!file_exists($value)) { + throw new \RuntimeException("SSL certificate not found: {$value}"); + } + + $options['ssl']['local_cert'] = $value; + } + + private function add_progress(RequestInterface $request, &$options, $value, &$params) + { + $this->addNotification( + $params, + function ($code, $a, $b, $c, $transferred, $total) use ($value) { + if ($code == STREAM_NOTIFY_PROGRESS) { + $value($total, $transferred, null, null); + } + } + ); + } + + private function add_debug(RequestInterface $request, &$options, $value, &$params) + { + if ($value === false) { + return; + } + + static $map = [ + STREAM_NOTIFY_CONNECT => 'CONNECT', + STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED', + STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT', + STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS', + STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS', + STREAM_NOTIFY_REDIRECTED => 'REDIRECTED', + STREAM_NOTIFY_PROGRESS => 'PROGRESS', + STREAM_NOTIFY_FAILURE => 'FAILURE', + STREAM_NOTIFY_COMPLETED => 'COMPLETED', + STREAM_NOTIFY_RESOLVE => 'RESOLVE', + ]; + static $args = ['severity', 'message', 'message_code', + 'bytes_transferred', 'bytes_max']; + + $value = \GuzzleHttp\debug_resource($value); + $ident = $request->getMethod() . ' ' . $request->getUri()->withFragment(''); + $this->addNotification( + $params, + function () use ($ident, $value, $map, $args) { + $passed = func_get_args(); + $code = array_shift($passed); + fprintf($value, '<%s> [%s] ', $ident, $map[$code]); + foreach (array_filter($passed) as $i => $v) { + fwrite($value, $args[$i] . ': "' . $v . '" '); + } + fwrite($value, "\n"); + } + ); + } + + private function addNotification(array &$params, callable $notify) + { + // Wrap the existing function if needed. + if (!isset($params['notification'])) { + $params['notification'] = $notify; + } else { + $params['notification'] = $this->callArray([ + $params['notification'], + $notify + ]); + } + } + + private function callArray(array $functions) + { + return function () use ($functions) { + $args = func_get_args(); + foreach ($functions as $fn) { + call_user_func_array($fn, $args); + } + }; + } +} diff --git a/lib/aws/GuzzleHttp/HandlerStack.php b/lib/aws/GuzzleHttp/HandlerStack.php new file mode 100644 index 0000000..24c46fd --- /dev/null +++ b/lib/aws/GuzzleHttp/HandlerStack.php @@ -0,0 +1,273 @@ +<?php +namespace GuzzleHttp; + +use Psr\Http\Message\RequestInterface; + +/** + * Creates a composed Guzzle handler function by stacking middlewares on top of + * an HTTP handler function. + */ +class HandlerStack +{ + /** @var callable */ + private $handler; + + /** @var array */ + private $stack = []; + + /** @var callable|null */ + private $cached; + + /** + * Creates a default handler stack that can be used by clients. + * + * The returned handler will wrap the provided handler or use the most + * appropriate default handler for your system. The returned HandlerStack has + * support for cookies, redirects, HTTP error exceptions, and preparing a body + * before sending. + * + * The returned handler stack can be passed to a client in the "handler" + * option. + * + * @param callable $handler HTTP handler function to use with the stack. If no + * handler is provided, the best handler for your + * system will be utilized. + * + * @return HandlerStack + */ + public static function create(callable $handler = null) + { + $stack = new self($handler ?: choose_handler()); + $stack->push(Middleware::httpErrors(), 'http_errors'); + $stack->push(Middleware::redirect(), 'allow_redirects'); + $stack->push(Middleware::cookies(), 'cookies'); + $stack->push(Middleware::prepareBody(), 'prepare_body'); + + return $stack; + } + + /** + * @param callable $handler Underlying HTTP handler. + */ + public function __construct(callable $handler = null) + { + $this->handler = $handler; + } + + /** + * Invokes the handler stack as a composed handler + * + * @param RequestInterface $request + * @param array $options + */ + public function __invoke(RequestInterface $request, array $options) + { + $handler = $this->resolve(); + + return $handler($request, $options); + } + + /** + * Dumps a string representation of the stack. + * + * @return string + */ + public function __toString() + { + $depth = 0; + $stack = []; + if ($this->handler) { + $stack[] = "0) Handler: " . $this->debugCallable($this->handler); + } + + $result = ''; + foreach (array_reverse($this->stack) as $tuple) { + $depth++; + $str = "{$depth}) Name: '{$tuple[1]}', "; + $str .= "Function: " . $this->debugCallable($tuple[0]); + $result = "> {$str}\n{$result}"; + $stack[] = $str; + } + + foreach (array_keys($stack) as $k) { + $result .= "< {$stack[$k]}\n"; + } + + return $result; + } + + /** + * Set the HTTP handler that actually returns a promise. + * + * @param callable $handler Accepts a request and array of options and + * returns a Promise. + */ + public function setHandler(callable $handler) + { + $this->handler = $handler; + $this->cached = null; + } + + /** + * Returns true if the builder has a handler. + * + * @return bool + */ + public function hasHandler() + { + return (bool) $this->handler; + } + + /** + * Unshift a middleware to the bottom of the stack. + * + * @param callable $middleware Middleware function + * @param string $name Name to register for this middleware. + */ + public function unshift(callable $middleware, $name = null) + { + array_unshift($this->stack, [$middleware, $name]); + $this->cached = null; + } + + /** + * Push a middleware to the top of the stack. + * + * @param callable $middleware Middleware function + * @param string $name Name to register for this middleware. + */ + public function push(callable $middleware, $name = '') + { + $this->stack[] = [$middleware, $name]; + $this->cached = null; + } + + /** + * Add a middleware before another middleware by name. + * + * @param string $findName Middleware to find + * @param callable $middleware Middleware function + * @param string $withName Name to register for this middleware. + */ + public function before($findName, callable $middleware, $withName = '') + { + $this->splice($findName, $withName, $middleware, true); + } + + /** + * Add a middleware after another middleware by name. + * + * @param string $findName Middleware to find + * @param callable $middleware Middleware function + * @param string $withName Name to register for this middleware. + */ + public function after($findName, callable $middleware, $withName = '') + { + $this->splice($findName, $withName, $middleware, false); + } + + /** + * Remove a middleware by instance or name from the stack. + * + * @param callable|string $remove Middleware to remove by instance or name. + */ + public function remove($remove) + { + $this->cached = null; + $idx = is_callable($remove) ? 0 : 1; + $this->stack = array_values(array_filter( + $this->stack, + function ($tuple) use ($idx, $remove) { + return $tuple[$idx] !== $remove; + } + )); + } + + /** + * Compose the middleware and handler into a single callable function. + * + * @return callable + */ + public function resolve() + { + if (!$this->cached) { + if (!($prev = $this->handler)) { + throw new \LogicException('No handler has been specified'); + } + + foreach (array_reverse($this->stack) as $fn) { + $prev = $fn[0]($prev); + } + + $this->cached = $prev; + } + + return $this->cached; + } + + /** + * @param $name + * @return int + */ + private function findByName($name) + { + foreach ($this->stack as $k => $v) { + if ($v[1] === $name) { + return $k; + } + } + + throw new \InvalidArgumentException("Middleware not found: $name"); + } + + /** + * Splices a function into the middleware list at a specific position. + * + * @param $findName + * @param $withName + * @param callable $middleware + * @param $before + */ + private function splice($findName, $withName, callable $middleware, $before) + { + $this->cached = null; + $idx = $this->findByName($findName); + $tuple = [$middleware, $withName]; + + if ($before) { + if ($idx === 0) { + array_unshift($this->stack, $tuple); + } else { + $replacement = [$tuple, $this->stack[$idx]]; + array_splice($this->stack, $idx, 1, $replacement); + } + } elseif ($idx === count($this->stack) - 1) { + $this->stack[] = $tuple; + } else { + $replacement = [$this->stack[$idx], $tuple]; + array_splice($this->stack, $idx, 1, $replacement); + } + } + + /** + * Provides a debug string for a given callable. + * + * @param array|callable $fn Function to write as a string. + * + * @return string + */ + private function debugCallable($fn) + { + if (is_string($fn)) { + return "callable({$fn})"; + } + + if (is_array($fn)) { + return is_string($fn[0]) + ? "callable({$fn[0]}::{$fn[1]})" + : "callable(['" . get_class($fn[0]) . "', '{$fn[1]}'])"; + } + + return 'callable(' . spl_object_hash($fn) . ')'; + } +} diff --git a/lib/aws/GuzzleHttp/MessageFormatter.php b/lib/aws/GuzzleHttp/MessageFormatter.php new file mode 100644 index 0000000..663ac73 --- /dev/null +++ b/lib/aws/GuzzleHttp/MessageFormatter.php @@ -0,0 +1,180 @@ +<?php +namespace GuzzleHttp; + +use Psr\Http\Message\MessageInterface; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Formats log messages using variable substitutions for requests, responses, + * and other transactional data. + * + * The following variable substitutions are supported: + * + * - {request}: Full HTTP request message + * - {response}: Full HTTP response message + * - {ts}: ISO 8601 date in GMT + * - {date_iso_8601} ISO 8601 date in GMT + * - {date_common_log} Apache common log date using the configured timezone. + * - {host}: Host of the request + * - {method}: Method of the request + * - {uri}: URI of the request + * - {version}: Protocol version + * - {target}: Request target of the request (path + query + fragment) + * - {hostname}: Hostname of the machine that sent the request + * - {code}: Status code of the response (if available) + * - {phrase}: Reason phrase of the response (if available) + * - {error}: Any error messages (if available) + * - {req_header_*}: Replace `*` with the lowercased name of a request header to add to the message + * - {res_header_*}: Replace `*` with the lowercased name of a response header to add to the message + * - {req_headers}: Request headers + * - {res_headers}: Response headers + * - {req_body}: Request body + * - {res_body}: Response body + */ +class MessageFormatter +{ + /** + * Apache Common Log Format. + * @link http://httpd.apache.org/docs/2.4/logs.html#common + * @var string + */ + const CLF = "{hostname} {req_header_User-Agent} - [{date_common_log}] \"{method} {target} HTTP/{version}\" {code} {res_header_Content-Length}"; + const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}"; + const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}'; + + /** @var string Template used to format log messages */ + private $template; + + /** + * @param string $template Log message template + */ + public function __construct($template = self::CLF) + { + $this->template = $template ?: self::CLF; + } + + /** + * Returns a formatted message string. + * + * @param RequestInterface $request Request that was sent + * @param ResponseInterface $response Response that was received + * @param \Exception $error Exception that was received + * + * @return string + */ + public function format( + RequestInterface $request, + ResponseInterface $response = null, + \Exception $error = null + ) { + $cache = []; + + return preg_replace_callback( + '/{\s*([A-Za-z_\-\.0-9]+)\s*}/', + function (array $matches) use ($request, $response, $error, &$cache) { + if (isset($cache[$matches[1]])) { + return $cache[$matches[1]]; + } + + $result = ''; + switch ($matches[1]) { + case 'request': + $result = Psr7\str($request); + break; + case 'response': + $result = $response ? Psr7\str($response) : ''; + break; + case 'req_headers': + $result = trim($request->getMethod() + . ' ' . $request->getRequestTarget()) + . ' HTTP/' . $request->getProtocolVersion() . "\r\n" + . $this->headers($request); + break; + case 'res_headers': + $result = $response ? + sprintf( + 'HTTP/%s %d %s', + $response->getProtocolVersion(), + $response->getStatusCode(), + $response->getReasonPhrase() + ) . "\r\n" . $this->headers($response) + : 'NULL'; + break; + case 'req_body': + $result = $request->getBody(); + break; + case 'res_body': + $result = $response ? $response->getBody() : 'NULL'; + break; + case 'ts': + case 'date_iso_8601': + $result = gmdate('c'); + break; + case 'date_common_log': + $result = date('d/M/Y:H:i:s O'); + break; + case 'method': + $result = $request->getMethod(); + break; + case 'version': + $result = $request->getProtocolVersion(); + break; + case 'uri': + case 'url': + $result = $request->getUri(); + break; + case 'target': + $result = $request->getRequestTarget(); + break; + case 'req_version': + $result = $request->getProtocolVersion(); + break; + case 'res_version': + $result = $response + ? $response->getProtocolVersion() + : 'NULL'; + break; + case 'host': + $result = $request->getHeaderLine('Host'); + break; + case 'hostname': + $result = gethostname(); + break; + case 'code': + $result = $response ? $response->getStatusCode() : 'NULL'; + break; + case 'phrase': + $result = $response ? $response->getReasonPhrase() : 'NULL'; + break; + case 'error': + $result = $error ? $error->getMessage() : 'NULL'; + break; + default: + // handle prefixed dynamic headers + if (strpos($matches[1], 'req_header_') === 0) { + $result = $request->getHeaderLine(substr($matches[1], 11)); + } elseif (strpos($matches[1], 'res_header_') === 0) { + $result = $response + ? $response->getHeaderLine(substr($matches[1], 11)) + : 'NULL'; + } + } + + $cache[$matches[1]] = $result; + return $result; + }, + $this->template + ); + } + + private function headers(MessageInterface $message) + { + $result = ''; + foreach ($message->getHeaders() as $name => $values) { + $result .= $name . ': ' . implode(', ', $values) . "\r\n"; + } + + return trim($result); + } +} diff --git a/lib/aws/GuzzleHttp/Middleware.php b/lib/aws/GuzzleHttp/Middleware.php new file mode 100644 index 0000000..d4ad75c --- /dev/null +++ b/lib/aws/GuzzleHttp/Middleware.php @@ -0,0 +1,255 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Cookie\CookieJarInterface; +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Promise\RejectedPromise; +use GuzzleHttp\Psr7; +use Psr\Http\Message\ResponseInterface; +use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; + +/** + * Functions used to create and wrap handlers with handler middleware. + */ +final class Middleware +{ + /** + * Middleware that adds cookies to requests. + * + * The options array must be set to a CookieJarInterface in order to use + * cookies. This is typically handled for you by a client. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function cookies() + { + return function (callable $handler) { + return function ($request, array $options) use ($handler) { + if (empty($options['cookies'])) { + return $handler($request, $options); + } elseif (!($options['cookies'] instanceof CookieJarInterface)) { + throw new \InvalidArgumentException('cookies must be an instance of GuzzleHttp\Cookie\CookieJarInterface'); + } + $cookieJar = $options['cookies']; + $request = $cookieJar->withCookieHeader($request); + return $handler($request, $options) + ->then( + function ($response) use ($cookieJar, $request) { + $cookieJar->extractCookies($request, $response); + return $response; + } + ); + }; + }; + } + + /** + * Middleware that throws exceptions for 4xx or 5xx responses when the + * "http_error" request option is set to true. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function httpErrors() + { + return function (callable $handler) { + return function ($request, array $options) use ($handler) { + if (empty($options['http_errors'])) { + return $handler($request, $options); + } + return $handler($request, $options)->then( + function (ResponseInterface $response) use ($request, $handler) { + $code = $response->getStatusCode(); + if ($code < 400) { + return $response; + } + throw RequestException::create($request, $response); + } + ); + }; + }; + } + + /** + * Middleware that pushes history data to an ArrayAccess container. + * + * @param array|\ArrayAccess $container Container to hold the history (by reference). + * + * @return callable Returns a function that accepts the next handler. + * @throws \InvalidArgumentException if container is not an array or ArrayAccess. + */ + public static function history(&$container) + { + if (!is_array($container) && !$container instanceof \ArrayAccess) { + throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess'); + } + + return function (callable $handler) use (&$container) { + return function ($request, array $options) use ($handler, &$container) { + return $handler($request, $options)->then( + function ($value) use ($request, &$container, $options) { + $container[] = [ + 'request' => $request, + 'response' => $value, + 'error' => null, + 'options' => $options + ]; + return $value; + }, + function ($reason) use ($request, &$container, $options) { + $container[] = [ + 'request' => $request, + 'response' => null, + 'error' => $reason, + 'options' => $options + ]; + return \GuzzleHttp\Promise\rejection_for($reason); + } + ); + }; + }; + } + + /** + * Middleware that invokes a callback before and after sending a request. + * + * The provided listener cannot modify or alter the response. It simply + * "taps" into the chain to be notified before returning the promise. The + * before listener accepts a request and options array, and the after + * listener accepts a request, options array, and response promise. + * + * @param callable $before Function to invoke before forwarding the request. + * @param callable $after Function invoked after forwarding. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function tap(callable $before = null, callable $after = null) + { + return function (callable $handler) use ($before, $after) { + return function ($request, array $options) use ($handler, $before, $after) { + if ($before) { + $before($request, $options); + } + $response = $handler($request, $options); + if ($after) { + $after($request, $options, $response); + } + return $response; + }; + }; + } + + /** + * Middleware that handles request redirects. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function redirect() + { + return function (callable $handler) { + return new RedirectMiddleware($handler); + }; + } + + /** + * Middleware that retries requests based on the boolean result of + * invoking the provided "decider" function. + * + * If no delay function is provided, a simple implementation of exponential + * backoff will be utilized. + * + * @param callable $decider Function that accepts the number of retries, + * a request, [response], and [exception] and + * returns true if the request is to be retried. + * @param callable $delay Function that accepts the number of retries and + * returns the number of milliseconds to delay. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function retry(callable $decider, callable $delay = null) + { + return function (callable $handler) use ($decider, $delay) { + return new RetryMiddleware($decider, $handler, $delay); + }; + } + + /** + * Middleware that logs requests, responses, and errors using a message + * formatter. + * + * @param LoggerInterface $logger Logs messages. + * @param MessageFormatter $formatter Formatter used to create message strings. + * @param string $logLevel Level at which to log requests. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function log(LoggerInterface $logger, MessageFormatter $formatter, $logLevel = LogLevel::INFO) + { + return function (callable $handler) use ($logger, $formatter, $logLevel) { + return function ($request, array $options) use ($handler, $logger, $formatter, $logLevel) { + return $handler($request, $options)->then( + function ($response) use ($logger, $request, $formatter, $logLevel) { + $message = $formatter->format($request, $response); + $logger->log($logLevel, $message); + return $response; + }, + function ($reason) use ($logger, $request, $formatter) { + $response = $reason instanceof RequestException + ? $reason->getResponse() + : null; + $message = $formatter->format($request, $response, $reason); + $logger->notice($message); + return \GuzzleHttp\Promise\rejection_for($reason); + } + ); + }; + }; + } + + /** + * This middleware adds a default content-type if possible, a default + * content-length or transfer-encoding header, and the expect header. + * + * @return callable + */ + public static function prepareBody() + { + return function (callable $handler) { + return new PrepareBodyMiddleware($handler); + }; + } + + /** + * Middleware that applies a map function to the request before passing to + * the next handler. + * + * @param callable $fn Function that accepts a RequestInterface and returns + * a RequestInterface. + * @return callable + */ + public static function mapRequest(callable $fn) + { + return function (callable $handler) use ($fn) { + return function ($request, array $options) use ($handler, $fn) { + return $handler($fn($request), $options); + }; + }; + } + + /** + * Middleware that applies a map function to the resolved promise's + * response. + * + * @param callable $fn Function that accepts a ResponseInterface and + * returns a ResponseInterface. + * @return callable + */ + public static function mapResponse(callable $fn) + { + return function (callable $handler) use ($fn) { + return function ($request, array $options) use ($handler, $fn) { + return $handler($request, $options)->then($fn); + }; + }; + } +} diff --git a/lib/aws/GuzzleHttp/Pool.php b/lib/aws/GuzzleHttp/Pool.php new file mode 100644 index 0000000..8f1be33 --- /dev/null +++ b/lib/aws/GuzzleHttp/Pool.php @@ -0,0 +1,123 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Promise\PromisorInterface; +use Psr\Http\Message\RequestInterface; +use GuzzleHttp\Promise\EachPromise; + +/** + * Sends and iterator of requests concurrently using a capped pool size. + * + * The pool will read from an iterator until it is cancelled or until the + * iterator is consumed. When a request is yielded, the request is sent after + * applying the "request_options" request options (if provided in the ctor). + * + * When a function is yielded by the iterator, the function is provided the + * "request_options" array that should be merged on top of any existing + * options, and the function MUST then return a wait-able promise. + */ +class Pool implements PromisorInterface +{ + /** @var EachPromise */ + private $each; + + /** + * @param ClientInterface $client Client used to send the requests. + * @param array|\Iterator $requests Requests or functions that return + * requests to send concurrently. + * @param array $config Associative array of options + * - concurrency: (int) Maximum number of requests to send concurrently + * - options: Array of request options to apply to each request. + * - fulfilled: (callable) Function to invoke when a request completes. + * - rejected: (callable) Function to invoke when a request is rejected. + */ + public function __construct( + ClientInterface $client, + $requests, + array $config = [] + ) { + // Backwards compatibility. + if (isset($config['pool_size'])) { + $config['concurrency'] = $config['pool_size']; + } elseif (!isset($config['concurrency'])) { + $config['concurrency'] = 25; + } + + if (isset($config['options'])) { + $opts = $config['options']; + unset($config['options']); + } else { + $opts = []; + } + + $iterable = \GuzzleHttp\Promise\iter_for($requests); + $requests = function () use ($iterable, $client, $opts) { + foreach ($iterable as $key => $rfn) { + if ($rfn instanceof RequestInterface) { + yield $key => $client->sendAsync($rfn, $opts); + } elseif (is_callable($rfn)) { + yield $key => $rfn($opts); + } else { + throw new \InvalidArgumentException('Each value yielded by ' + . 'the iterator must be a Psr7\Http\Message\RequestInterface ' + . 'or a callable that returns a promise that fulfills ' + . 'with a Psr7\Message\Http\ResponseInterface object.'); + } + } + }; + + $this->each = new EachPromise($requests(), $config); + } + + public function promise() + { + return $this->each->promise(); + } + + /** + * Sends multiple requests concurrently and returns an array of responses + * and exceptions that uses the same ordering as the provided requests. + * + * IMPORTANT: This method keeps every request and response in memory, and + * as such, is NOT recommended when sending a large number or an + * indeterminate number of requests concurrently. + * + * @param ClientInterface $client Client used to send the requests + * @param array|\Iterator $requests Requests to send concurrently. + * @param array $options Passes through the options available in + * {@see GuzzleHttp\Pool::__construct} + * + * @return array Returns an array containing the response or an exception + * in the same order that the requests were sent. + * @throws \InvalidArgumentException if the event format is incorrect. + */ + public static function batch( + ClientInterface $client, + $requests, + array $options = [] + ) { + $res = []; + self::cmpCallback($options, 'fulfilled', $res); + self::cmpCallback($options, 'rejected', $res); + $pool = new static($client, $requests, $options); + $pool->promise()->wait(); + ksort($res); + + return $res; + } + + private static function cmpCallback(array &$options, $name, array &$results) + { + if (!isset($options[$name])) { + $options[$name] = function ($v, $k) use (&$results) { + $results[$k] = $v; + }; + } else { + $currentFn = $options[$name]; + $options[$name] = function ($v, $k) use (&$results, $currentFn) { + $currentFn($v, $k); + $results[$k] = $v; + }; + } + } +} diff --git a/lib/aws/GuzzleHttp/PrepareBodyMiddleware.php b/lib/aws/GuzzleHttp/PrepareBodyMiddleware.php new file mode 100644 index 0000000..2eb95f9 --- /dev/null +++ b/lib/aws/GuzzleHttp/PrepareBodyMiddleware.php @@ -0,0 +1,106 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; + +/** + * Prepares requests that contain a body, adding the Content-Length, + * Content-Type, and Expect headers. + */ +class PrepareBodyMiddleware +{ + /** @var callable */ + private $nextHandler; + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + $fn = $this->nextHandler; + + // Don't do anything if the request has no body. + if ($request->getBody()->getSize() === 0) { + return $fn($request, $options); + } + + $modify = []; + + // Add a default content-type if possible. + if (!$request->hasHeader('Content-Type')) { + if ($uri = $request->getBody()->getMetadata('uri')) { + if ($type = Psr7\mimetype_from_filename($uri)) { + $modify['set_headers']['Content-Type'] = $type; + } + } + } + + // Add a default content-length or transfer-encoding header. + if (!$request->hasHeader('Content-Length') + && !$request->hasHeader('Transfer-Encoding') + ) { + $size = $request->getBody()->getSize(); + if ($size !== null) { + $modify['set_headers']['Content-Length'] = $size; + } else { + $modify['set_headers']['Transfer-Encoding'] = 'chunked'; + } + } + + // Add the expect header if needed. + $this->addExpectHeader($request, $options, $modify); + + return $fn(Psr7\modify_request($request, $modify), $options); + } + + private function addExpectHeader( + RequestInterface $request, + array $options, + array &$modify + ) { + // Determine if the Expect header should be used + if ($request->hasHeader('Expect')) { + return; + } + + $expect = isset($options['expect']) ? $options['expect'] : null; + + // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0 + if ($expect === false || $request->getProtocolVersion() < 1.1) { + return; + } + + // The expect header is unconditionally enabled + if ($expect === true) { + $modify['set_headers']['Expect'] = '100-Continue'; + return; + } + + // By default, send the expect header when the payload is > 1mb + if ($expect === null) { + $expect = 1048576; + } + + // Always add if the body cannot be rewound, the size cannot be + // determined, or the size is greater than the cutoff threshold + $body = $request->getBody(); + $size = $body->getSize(); + + if ($size === null || $size >= (int) $expect || !$body->isSeekable()) { + $modify['set_headers']['Expect'] = '100-Continue'; + } + } +} diff --git a/lib/aws/GuzzleHttp/Promise/AggregateException.php b/lib/aws/GuzzleHttp/Promise/AggregateException.php new file mode 100644 index 0000000..6a5690c --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/AggregateException.php @@ -0,0 +1,16 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Exception thrown when too many errors occur in the some() or any() methods. + */ +class AggregateException extends RejectionException +{ + public function __construct($msg, array $reasons) + { + parent::__construct( + $reasons, + sprintf('%s; %d rejected promises', $msg, count($reasons)) + ); + } +} diff --git a/lib/aws/GuzzleHttp/Promise/CancellationException.php b/lib/aws/GuzzleHttp/Promise/CancellationException.php new file mode 100644 index 0000000..cb360b8 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/CancellationException.php @@ -0,0 +1,9 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Exception that is set as the reason for a promise that has been cancelled. + */ +class CancellationException extends RejectionException +{ +} diff --git a/lib/aws/GuzzleHttp/Promise/Coroutine.php b/lib/aws/GuzzleHttp/Promise/Coroutine.php new file mode 100644 index 0000000..6aa0958 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/Coroutine.php @@ -0,0 +1,151 @@ +<?php +namespace GuzzleHttp\Promise; + +use Exception; +use Generator; +use Throwable; + +/** + * Creates a promise that is resolved using a generator that yields values or + * promises (somewhat similar to C#'s async keyword). + * + * When called, the coroutine function will start an instance of the generator + * and returns a promise that is fulfilled with its final yielded value. + * + * Control is returned back to the generator when the yielded promise settles. + * This can lead to less verbose code when doing lots of sequential async calls + * with minimal processing in between. + * + * use GuzzleHttp\Promise; + * + * function createPromise($value) { + * return new Promise\FulfilledPromise($value); + * } + * + * $promise = Promise\coroutine(function () { + * $value = (yield createPromise('a')); + * try { + * $value = (yield createPromise($value . 'b')); + * } catch (\Exception $e) { + * // The promise was rejected. + * } + * yield $value . 'c'; + * }); + * + * // Outputs "abc" + * $promise->then(function ($v) { echo $v; }); + * + * @param callable $generatorFn Generator function to wrap into a promise. + * + * @return Promise + * @link https://github.com/petkaantonov/bluebird/blob/master/API.md#generators inspiration + */ +final class Coroutine implements PromiseInterface +{ + /** + * @var PromiseInterface|null + */ + private $currentPromise; + + /** + * @var Generator + */ + private $generator; + + /** + * @var Promise + */ + private $result; + + public function __construct(callable $generatorFn) + { + $this->generator = $generatorFn(); + $this->result = new Promise(function () { + while (isset($this->currentPromise)) { + $this->currentPromise->wait(); + } + }); + $this->nextCoroutine($this->generator->current()); + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + return $this->result->then($onFulfilled, $onRejected); + } + + public function otherwise(callable $onRejected) + { + return $this->result->otherwise($onRejected); + } + + public function wait($unwrap = true) + { + return $this->result->wait($unwrap); + } + + public function getState() + { + return $this->result->getState(); + } + + public function resolve($value) + { + $this->result->resolve($value); + } + + public function reject($reason) + { + $this->result->reject($reason); + } + + public function cancel() + { + $this->currentPromise->cancel(); + $this->result->cancel(); + } + + private function nextCoroutine($yielded) + { + $this->currentPromise = promise_for($yielded) + ->then([$this, '_handleSuccess'], [$this, '_handleFailure']); + } + + /** + * @internal + */ + public function _handleSuccess($value) + { + unset($this->currentPromise); + try { + $next = $this->generator->send($value); + if ($this->generator->valid()) { + $this->nextCoroutine($next); + } else { + $this->result->resolve($value); + } + } catch (Exception $exception) { + $this->result->reject($exception); + } catch (Throwable $throwable) { + $this->result->reject($throwable); + } + } + + /** + * @internal + */ + public function _handleFailure($reason) + { + unset($this->currentPromise); + try { + $nextYield = $this->generator->throw(exception_for($reason)); + // The throw was caught, so keep iterating on the coroutine + $this->nextCoroutine($nextYield); + } catch (Exception $exception) { + $this->result->reject($exception); + } catch (Throwable $throwable) { + $this->result->reject($throwable); + } + } +} diff --git a/lib/aws/GuzzleHttp/Promise/EachPromise.php b/lib/aws/GuzzleHttp/Promise/EachPromise.php new file mode 100644 index 0000000..d0ddf60 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/EachPromise.php @@ -0,0 +1,229 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Represents a promise that iterates over many promises and invokes + * side-effect functions in the process. + */ +class EachPromise implements PromisorInterface +{ + private $pending = []; + + /** @var \Iterator */ + private $iterable; + + /** @var callable|int */ + private $concurrency; + + /** @var callable */ + private $onFulfilled; + + /** @var callable */ + private $onRejected; + + /** @var Promise */ + private $aggregate; + + /** @var bool */ + private $mutex; + + /** + * Configuration hash can include the following key value pairs: + * + * - fulfilled: (callable) Invoked when a promise fulfills. The function + * is invoked with three arguments: the fulfillment value, the index + * position from the iterable list of the promise, and the aggregate + * promise that manages all of the promises. The aggregate promise may + * be resolved from within the callback to short-circuit the promise. + * - rejected: (callable) Invoked when a promise is rejected. The + * function is invoked with three arguments: the rejection reason, the + * index position from the iterable list of the promise, and the + * aggregate promise that manages all of the promises. The aggregate + * promise may be resolved from within the callback to short-circuit + * the promise. + * - concurrency: (integer) Pass this configuration option to limit the + * allowed number of outstanding concurrently executing promises, + * creating a capped pool of promises. There is no limit by default. + * + * @param mixed $iterable Promises or values to iterate. + * @param array $config Configuration options + */ + public function __construct($iterable, array $config = []) + { + $this->iterable = iter_for($iterable); + + if (isset($config['concurrency'])) { + $this->concurrency = $config['concurrency']; + } + + if (isset($config['fulfilled'])) { + $this->onFulfilled = $config['fulfilled']; + } + + if (isset($config['rejected'])) { + $this->onRejected = $config['rejected']; + } + } + + public function promise() + { + if ($this->aggregate) { + return $this->aggregate; + } + + try { + $this->createPromise(); + $this->iterable->rewind(); + $this->refillPending(); + } catch (\Throwable $e) { + $this->aggregate->reject($e); + } catch (\Exception $e) { + $this->aggregate->reject($e); + } + + return $this->aggregate; + } + + private function createPromise() + { + $this->mutex = false; + $this->aggregate = new Promise(function () { + reset($this->pending); + if (empty($this->pending) && !$this->iterable->valid()) { + $this->aggregate->resolve(null); + return; + } + + // Consume a potentially fluctuating list of promises while + // ensuring that indexes are maintained (precluding array_shift). + while ($promise = current($this->pending)) { + next($this->pending); + $promise->wait(); + if ($this->aggregate->getState() !== PromiseInterface::PENDING) { + return; + } + } + }); + + // Clear the references when the promise is resolved. + $clearFn = function () { + $this->iterable = $this->concurrency = $this->pending = null; + $this->onFulfilled = $this->onRejected = null; + }; + + $this->aggregate->then($clearFn, $clearFn); + } + + private function refillPending() + { + if (!$this->concurrency) { + // Add all pending promises. + while ($this->addPending() && $this->advanceIterator()); + return; + } + + // Add only up to N pending promises. + $concurrency = is_callable($this->concurrency) + ? call_user_func($this->concurrency, count($this->pending)) + : $this->concurrency; + $concurrency = max($concurrency - count($this->pending), 0); + // Concurrency may be set to 0 to disallow new promises. + if (!$concurrency) { + return; + } + // Add the first pending promise. + $this->addPending(); + // Note this is special handling for concurrency=1 so that we do + // not advance the iterator after adding the first promise. This + // helps work around issues with generators that might not have the + // next value to yield until promise callbacks are called. + while (--$concurrency + && $this->advanceIterator() + && $this->addPending()); + } + + private function addPending() + { + if (!$this->iterable || !$this->iterable->valid()) { + return false; + } + + $promise = promise_for($this->iterable->current()); + $idx = $this->iterable->key(); + + $this->pending[$idx] = $promise->then( + function ($value) use ($idx) { + if ($this->onFulfilled) { + call_user_func( + $this->onFulfilled, $value, $idx, $this->aggregate + ); + } + $this->step($idx); + }, + function ($reason) use ($idx) { + if ($this->onRejected) { + call_user_func( + $this->onRejected, $reason, $idx, $this->aggregate + ); + } + $this->step($idx); + } + ); + + return true; + } + + private function advanceIterator() + { + // Place a lock on the iterator so that we ensure to not recurse, + // preventing fatal generator errors. + if ($this->mutex) { + return false; + } + + $this->mutex = true; + + try { + $this->iterable->next(); + $this->mutex = false; + return true; + } catch (\Throwable $e) { + $this->aggregate->reject($e); + $this->mutex = false; + return false; + } catch (\Exception $e) { + $this->aggregate->reject($e); + $this->mutex = false; + return false; + } + } + + private function step($idx) + { + // If the promise was already resolved, then ignore this step. + if ($this->aggregate->getState() !== PromiseInterface::PENDING) { + return; + } + + unset($this->pending[$idx]); + + // Only refill pending promises if we are not locked, preventing the + // EachPromise to recursively invoke the provided iterator, which + // cause a fatal error: "Cannot resume an already running generator" + if ($this->advanceIterator() && !$this->checkIfFinished()) { + // Add more pending promises if possible. + $this->refillPending(); + } + } + + private function checkIfFinished() + { + if (!$this->pending && !$this->iterable->valid()) { + // Resolve the promise if there's nothing left to do. + $this->aggregate->resolve(null); + return true; + } + + return false; + } +} diff --git a/lib/aws/GuzzleHttp/Promise/FulfilledPromise.php b/lib/aws/GuzzleHttp/Promise/FulfilledPromise.php new file mode 100644 index 0000000..dbbeeb9 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/FulfilledPromise.php @@ -0,0 +1,82 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * A promise that has been fulfilled. + * + * Thenning off of this promise will invoke the onFulfilled callback + * immediately and ignore other callbacks. + */ +class FulfilledPromise implements PromiseInterface +{ + private $value; + + public function __construct($value) + { + if (method_exists($value, 'then')) { + throw new \InvalidArgumentException( + 'You cannot create a FulfilledPromise with a promise.'); + } + + $this->value = $value; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + // Return itself if there is no onFulfilled function. + if (!$onFulfilled) { + return $this; + } + + $queue = queue(); + $p = new Promise([$queue, 'run']); + $value = $this->value; + $queue->add(static function () use ($p, $value, $onFulfilled) { + if ($p->getState() === self::PENDING) { + try { + $p->resolve($onFulfilled($value)); + } catch (\Throwable $e) { + $p->reject($e); + } catch (\Exception $e) { + $p->reject($e); + } + } + }); + + return $p; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true, $defaultDelivery = null) + { + return $unwrap ? $this->value : null; + } + + public function getState() + { + return self::FULFILLED; + } + + public function resolve($value) + { + if ($value !== $this->value) { + throw new \LogicException("Cannot resolve a fulfilled promise"); + } + } + + public function reject($reason) + { + throw new \LogicException("Cannot reject a fulfilled promise"); + } + + public function cancel() + { + // pass + } +} diff --git a/lib/aws/GuzzleHttp/Promise/Promise.php b/lib/aws/GuzzleHttp/Promise/Promise.php new file mode 100644 index 0000000..844ada0 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/Promise.php @@ -0,0 +1,280 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Promises/A+ implementation that avoids recursion when possible. + * + * @link https://promisesaplus.com/ + */ +class Promise implements PromiseInterface +{ + private $state = self::PENDING; + private $result; + private $cancelFn; + private $waitFn; + private $waitList; + private $handlers = []; + + /** + * @param callable $waitFn Fn that when invoked resolves the promise. + * @param callable $cancelFn Fn that when invoked cancels the promise. + */ + public function __construct( + callable $waitFn = null, + callable $cancelFn = null + ) { + $this->waitFn = $waitFn; + $this->cancelFn = $cancelFn; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + if ($this->state === self::PENDING) { + $p = new Promise(null, [$this, 'cancel']); + $this->handlers[] = [$p, $onFulfilled, $onRejected]; + $p->waitList = $this->waitList; + $p->waitList[] = $this; + return $p; + } + + // Return a fulfilled promise and immediately invoke any callbacks. + if ($this->state === self::FULFILLED) { + return $onFulfilled + ? promise_for($this->result)->then($onFulfilled) + : promise_for($this->result); + } + + // It's either cancelled or rejected, so return a rejected promise + // and immediately invoke any callbacks. + $rejection = rejection_for($this->result); + return $onRejected ? $rejection->then(null, $onRejected) : $rejection; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true) + { + $this->waitIfPending(); + + $inner = $this->result instanceof PromiseInterface + ? $this->result->wait($unwrap) + : $this->result; + + if ($unwrap) { + if ($this->result instanceof PromiseInterface + || $this->state === self::FULFILLED + ) { + return $inner; + } else { + // It's rejected so "unwrap" and throw an exception. + throw exception_for($inner); + } + } + } + + public function getState() + { + return $this->state; + } + + public function cancel() + { + if ($this->state !== self::PENDING) { + return; + } + + $this->waitFn = $this->waitList = null; + + if ($this->cancelFn) { + $fn = $this->cancelFn; + $this->cancelFn = null; + try { + $fn(); + } catch (\Throwable $e) { + $this->reject($e); + } catch (\Exception $e) { + $this->reject($e); + } + } + + // Reject the promise only if it wasn't rejected in a then callback. + if ($this->state === self::PENDING) { + $this->reject(new CancellationException('Promise has been cancelled')); + } + } + + public function resolve($value) + { + $this->settle(self::FULFILLED, $value); + } + + public function reject($reason) + { + $this->settle(self::REJECTED, $reason); + } + + private function settle($state, $value) + { + if ($this->state !== self::PENDING) { + // Ignore calls with the same resolution. + if ($state === $this->state && $value === $this->result) { + return; + } + throw $this->state === $state + ? new \LogicException("The promise is already {$state}.") + : new \LogicException("Cannot change a {$this->state} promise to {$state}"); + } + + if ($value === $this) { + throw new \LogicException('Cannot fulfill or reject a promise with itself'); + } + + // Clear out the state of the promise but stash the handlers. + $this->state = $state; + $this->result = $value; + $handlers = $this->handlers; + $this->handlers = null; + $this->waitList = $this->waitFn = null; + $this->cancelFn = null; + + if (!$handlers) { + return; + } + + // If the value was not a settled promise or a thenable, then resolve + // it in the task queue using the correct ID. + if (!method_exists($value, 'then')) { + $id = $state === self::FULFILLED ? 1 : 2; + // It's a success, so resolve the handlers in the queue. + queue()->add(static function () use ($id, $value, $handlers) { + foreach ($handlers as $handler) { + self::callHandler($id, $value, $handler); + } + }); + } elseif ($value instanceof Promise + && $value->getState() === self::PENDING + ) { + // We can just merge our handlers onto the next promise. + $value->handlers = array_merge($value->handlers, $handlers); + } else { + // Resolve the handlers when the forwarded promise is resolved. + $value->then( + static function ($value) use ($handlers) { + foreach ($handlers as $handler) { + self::callHandler(1, $value, $handler); + } + }, + static function ($reason) use ($handlers) { + foreach ($handlers as $handler) { + self::callHandler(2, $reason, $handler); + } + } + ); + } + } + + /** + * Call a stack of handlers using a specific callback index and value. + * + * @param int $index 1 (resolve) or 2 (reject). + * @param mixed $value Value to pass to the callback. + * @param array $handler Array of handler data (promise and callbacks). + * + * @return array Returns the next group to resolve. + */ + private static function callHandler($index, $value, array $handler) + { + /** @var PromiseInterface $promise */ + $promise = $handler[0]; + + // The promise may have been cancelled or resolved before placing + // this thunk in the queue. + if ($promise->getState() !== self::PENDING) { + return; + } + + try { + if (isset($handler[$index])) { + $promise->resolve($handler[$index]($value)); + } elseif ($index === 1) { + // Forward resolution values as-is. + $promise->resolve($value); + } else { + // Forward rejections down the chain. + $promise->reject($value); + } + } catch (\Throwable $reason) { + $promise->reject($reason); + } catch (\Exception $reason) { + $promise->reject($reason); + } + } + + private function waitIfPending() + { + if ($this->state !== self::PENDING) { + return; + } elseif ($this->waitFn) { + $this->invokeWaitFn(); + } elseif ($this->waitList) { + $this->invokeWaitList(); + } else { + // If there's not wait function, then reject the promise. + $this->reject('Cannot wait on a promise that has ' + . 'no internal wait function. You must provide a wait ' + . 'function when constructing the promise to be able to ' + . 'wait on a promise.'); + } + + queue()->run(); + + if ($this->state === self::PENDING) { + $this->reject('Invoking the wait callback did not resolve the promise'); + } + } + + private function invokeWaitFn() + { + try { + $wfn = $this->waitFn; + $this->waitFn = null; + $wfn(true); + } catch (\Exception $reason) { + if ($this->state === self::PENDING) { + // The promise has not been resolved yet, so reject the promise + // with the exception. + $this->reject($reason); + } else { + // The promise was already resolved, so there's a problem in + // the application. + throw $reason; + } + } + } + + private function invokeWaitList() + { + $waitList = $this->waitList; + $this->waitList = null; + + foreach ($waitList as $result) { + while (true) { + $result->waitIfPending(); + + if ($result->result instanceof Promise) { + $result = $result->result; + } else { + if ($result->result instanceof PromiseInterface) { + $result->result->wait(false); + } + break; + } + } + } + } +} diff --git a/lib/aws/GuzzleHttp/Promise/PromiseInterface.php b/lib/aws/GuzzleHttp/Promise/PromiseInterface.php new file mode 100644 index 0000000..8f5f4b9 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/PromiseInterface.php @@ -0,0 +1,93 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * A promise represents the eventual result of an asynchronous operation. + * + * The primary way of interacting with a promise is through its then method, + * which registers callbacks to receive either a promise’s eventual value or + * the reason why the promise cannot be fulfilled. + * + * @link https://promisesaplus.com/ + */ +interface PromiseInterface +{ + const PENDING = 'pending'; + const FULFILLED = 'fulfilled'; + const REJECTED = 'rejected'; + + /** + * Appends fulfillment and rejection handlers to the promise, and returns + * a new promise resolving to the return value of the called handler. + * + * @param callable $onFulfilled Invoked when the promise fulfills. + * @param callable $onRejected Invoked when the promise is rejected. + * + * @return PromiseInterface + */ + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ); + + /** + * Appends a rejection handler callback to the promise, and returns a new + * promise resolving to the return value of the callback if it is called, + * or to its original fulfillment value if the promise is instead + * fulfilled. + * + * @param callable $onRejected Invoked when the promise is rejected. + * + * @return PromiseInterface + */ + public function otherwise(callable $onRejected); + + /** + * Get the state of the promise ("pending", "rejected", or "fulfilled"). + * + * The three states can be checked against the constants defined on + * PromiseInterface: PENDING, FULFILLED, and REJECTED. + * + * @return string + */ + public function getState(); + + /** + * Resolve the promise with the given value. + * + * @param mixed $value + * @throws \RuntimeException if the promise is already resolved. + */ + public function resolve($value); + + /** + * Reject the promise with the given reason. + * + * @param mixed $reason + * @throws \RuntimeException if the promise is already resolved. + */ + public function reject($reason); + + /** + * Cancels the promise if possible. + * + * @link https://github.com/promises-aplus/cancellation-spec/issues/7 + */ + public function cancel(); + + /** + * Waits until the promise completes if possible. + * + * Pass $unwrap as true to unwrap the result of the promise, either + * returning the resolved value or throwing the rejected exception. + * + * If the promise cannot be waited on, then the promise will be rejected. + * + * @param bool $unwrap + * + * @return mixed + * @throws \LogicException if the promise has no wait function or if the + * promise does not settle after waiting. + */ + public function wait($unwrap = true); +} diff --git a/lib/aws/GuzzleHttp/Promise/PromisorInterface.php b/lib/aws/GuzzleHttp/Promise/PromisorInterface.php new file mode 100644 index 0000000..b07fe32 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/PromisorInterface.php @@ -0,0 +1,15 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Interface used with classes that return a promise. + */ +interface PromisorInterface +{ + /** + * Returns a promise. + * + * @return PromiseInterface + */ + public function promise(); +} diff --git a/lib/aws/GuzzleHttp/Promise/RejectedPromise.php b/lib/aws/GuzzleHttp/Promise/RejectedPromise.php new file mode 100644 index 0000000..2bc6508 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/RejectedPromise.php @@ -0,0 +1,87 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * A promise that has been rejected. + * + * Thenning off of this promise will invoke the onRejected callback + * immediately and ignore other callbacks. + */ +class RejectedPromise implements PromiseInterface +{ + private $reason; + + public function __construct($reason) + { + if (method_exists($reason, 'then')) { + throw new \InvalidArgumentException( + 'You cannot create a RejectedPromise with a promise.'); + } + + $this->reason = $reason; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + // If there's no onRejected callback then just return self. + if (!$onRejected) { + return $this; + } + + $queue = queue(); + $reason = $this->reason; + $p = new Promise([$queue, 'run']); + $queue->add(static function () use ($p, $reason, $onRejected) { + if ($p->getState() === self::PENDING) { + try { + // Return a resolved promise if onRejected does not throw. + $p->resolve($onRejected($reason)); + } catch (\Throwable $e) { + // onRejected threw, so return a rejected promise. + $p->reject($e); + } catch (\Exception $e) { + // onRejected threw, so return a rejected promise. + $p->reject($e); + } + } + }); + + return $p; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true, $defaultDelivery = null) + { + if ($unwrap) { + throw exception_for($this->reason); + } + } + + public function getState() + { + return self::REJECTED; + } + + public function resolve($value) + { + throw new \LogicException("Cannot resolve a rejected promise"); + } + + public function reject($reason) + { + if ($reason !== $this->reason) { + throw new \LogicException("Cannot reject a rejected promise"); + } + } + + public function cancel() + { + // pass + } +} diff --git a/lib/aws/GuzzleHttp/Promise/RejectionException.php b/lib/aws/GuzzleHttp/Promise/RejectionException.php new file mode 100644 index 0000000..07c1136 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/RejectionException.php @@ -0,0 +1,47 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * A special exception that is thrown when waiting on a rejected promise. + * + * The reason value is available via the getReason() method. + */ +class RejectionException extends \RuntimeException +{ + /** @var mixed Rejection reason. */ + private $reason; + + /** + * @param mixed $reason Rejection reason. + * @param string $description Optional description + */ + public function __construct($reason, $description = null) + { + $this->reason = $reason; + + $message = 'The promise was rejected'; + + if ($description) { + $message .= ' with reason: ' . $description; + } elseif (is_string($reason) + || (is_object($reason) && method_exists($reason, '__toString')) + ) { + $message .= ' with reason: ' . $this->reason; + } elseif ($reason instanceof \JsonSerializable) { + $message .= ' with reason: ' + . json_encode($this->reason, JSON_PRETTY_PRINT); + } + + parent::__construct($message); + } + + /** + * Returns the rejection reason. + * + * @return mixed + */ + public function getReason() + { + return $this->reason; + } +} diff --git a/lib/aws/GuzzleHttp/Promise/TaskQueue.php b/lib/aws/GuzzleHttp/Promise/TaskQueue.php new file mode 100644 index 0000000..6e8a2a0 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/TaskQueue.php @@ -0,0 +1,66 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * A task queue that executes tasks in a FIFO order. + * + * This task queue class is used to settle promises asynchronously and + * maintains a constant stack size. You can use the task queue asynchronously + * by calling the `run()` function of the global task queue in an event loop. + * + * GuzzleHttp\Promise\queue()->run(); + */ +class TaskQueue implements TaskQueueInterface +{ + private $enableShutdown = true; + private $queue = []; + + public function __construct($withShutdown = true) + { + if ($withShutdown) { + register_shutdown_function(function () { + if ($this->enableShutdown) { + // Only run the tasks if an E_ERROR didn't occur. + $err = error_get_last(); + if (!$err || ($err['type'] ^ E_ERROR)) { + $this->run(); + } + } + }); + } + } + + public function isEmpty() + { + return !$this->queue; + } + + public function add(callable $task) + { + $this->queue[] = $task; + } + + public function run() + { + /** @var callable $task */ + while ($task = array_shift($this->queue)) { + $task(); + } + } + + /** + * The task queue will be run and exhausted by default when the process + * exits IFF the exit is not the result of a PHP E_ERROR error. + * + * You can disable running the automatic shutdown of the queue by calling + * this function. If you disable the task queue shutdown process, then you + * MUST either run the task queue (as a result of running your event loop + * or manually using the run() method) or wait on each outstanding promise. + * + * Note: This shutdown will occur before any destructors are triggered. + */ + public function disableShutdown() + { + $this->enableShutdown = false; + } +} diff --git a/lib/aws/GuzzleHttp/Promise/TaskQueueInterface.php b/lib/aws/GuzzleHttp/Promise/TaskQueueInterface.php new file mode 100644 index 0000000..ac8306e --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/TaskQueueInterface.php @@ -0,0 +1,25 @@ +<?php +namespace GuzzleHttp\Promise; + +interface TaskQueueInterface +{ + /** + * Returns true if the queue is empty. + * + * @return bool + */ + public function isEmpty(); + + /** + * Adds a task to the queue that will be executed the next time run is + * called. + * + * @param callable $task + */ + public function add(callable $task); + + /** + * Execute all of the pending task in the queue. + */ + public function run(); +} diff --git a/lib/aws/GuzzleHttp/Promise/functions.php b/lib/aws/GuzzleHttp/Promise/functions.php new file mode 100644 index 0000000..4e27709 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/functions.php @@ -0,0 +1,457 @@ +<?php +namespace GuzzleHttp\Promise; + +/** + * Get the global task queue used for promise resolution. + * + * This task queue MUST be run in an event loop in order for promises to be + * settled asynchronously. It will be automatically run when synchronously + * waiting on a promise. + * + * <code> + * while ($eventLoop->isRunning()) { + * GuzzleHttp\Promise\queue()->run(); + * } + * </code> + * + * @param TaskQueueInterface $assign Optionally specify a new queue instance. + * + * @return TaskQueueInterface + */ +function queue(TaskQueueInterface $assign = null) +{ + static $queue; + + if ($assign) { + $queue = $assign; + } elseif (!$queue) { + $queue = new TaskQueue(); + } + + return $queue; +} + +/** + * Adds a function to run in the task queue when it is next `run()` and returns + * a promise that is fulfilled or rejected with the result. + * + * @param callable $task Task function to run. + * + * @return PromiseInterface + */ +function task(callable $task) +{ + $queue = queue(); + $promise = new Promise([$queue, 'run']); + $queue->add(function () use ($task, $promise) { + try { + $promise->resolve($task()); + } catch (\Throwable $e) { + $promise->reject($e); + } catch (\Exception $e) { + $promise->reject($e); + } + }); + + return $promise; +} + +/** + * Creates a promise for a value if the value is not a promise. + * + * @param mixed $value Promise or value. + * + * @return PromiseInterface + */ +function promise_for($value) +{ + if ($value instanceof PromiseInterface) { + return $value; + } + + // Return a Guzzle promise that shadows the given promise. + if (method_exists($value, 'then')) { + $wfn = method_exists($value, 'wait') ? [$value, 'wait'] : null; + $cfn = method_exists($value, 'cancel') ? [$value, 'cancel'] : null; + $promise = new Promise($wfn, $cfn); + $value->then([$promise, 'resolve'], [$promise, 'reject']); + return $promise; + } + + return new FulfilledPromise($value); +} + +/** + * Creates a rejected promise for a reason if the reason is not a promise. If + * the provided reason is a promise, then it is returned as-is. + * + * @param mixed $reason Promise or reason. + * + * @return PromiseInterface + */ +function rejection_for($reason) +{ + if ($reason instanceof PromiseInterface) { + return $reason; + } + + return new RejectedPromise($reason); +} + +/** + * Create an exception for a rejected promise value. + * + * @param mixed $reason + * + * @return \Exception|\Throwable + */ +function exception_for($reason) +{ + return $reason instanceof \Exception || $reason instanceof \Throwable + ? $reason + : new RejectionException($reason); +} + +/** + * Returns an iterator for the given value. + * + * @param mixed $value + * + * @return \Iterator + */ +function iter_for($value) +{ + if ($value instanceof \Iterator) { + return $value; + } elseif (is_array($value)) { + return new \ArrayIterator($value); + } else { + return new \ArrayIterator([$value]); + } +} + +/** + * Synchronously waits on a promise to resolve and returns an inspection state + * array. + * + * Returns a state associative array containing a "state" key mapping to a + * valid promise state. If the state of the promise is "fulfilled", the array + * will contain a "value" key mapping to the fulfilled value of the promise. If + * the promise is rejected, the array will contain a "reason" key mapping to + * the rejection reason of the promise. + * + * @param PromiseInterface $promise Promise or value. + * + * @return array + */ +function inspect(PromiseInterface $promise) +{ + try { + return [ + 'state' => PromiseInterface::FULFILLED, + 'value' => $promise->wait() + ]; + } catch (RejectionException $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e->getReason()]; + } catch (\Throwable $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e]; + } catch (\Exception $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e]; + } +} + +/** + * Waits on all of the provided promises, but does not unwrap rejected promises + * as thrown exception. + * + * Returns an array of inspection state arrays. + * + * @param PromiseInterface[] $promises Traversable of promises to wait upon. + * + * @return array + * @see GuzzleHttp\Promise\inspect for the inspection state array format. + */ +function inspect_all($promises) +{ + $results = []; + foreach ($promises as $key => $promise) { + $results[$key] = inspect($promise); + } + + return $results; +} + +/** + * Waits on all of the provided promises and returns the fulfilled values. + * + * Returns an array that contains the value of each promise (in the same order + * the promises were provided). An exception is thrown if any of the promises + * are rejected. + * + * @param mixed $promises Iterable of PromiseInterface objects to wait on. + * + * @return array + * @throws \Exception on error + * @throws \Throwable on error in PHP >=7 + */ +function unwrap($promises) +{ + $results = []; + foreach ($promises as $key => $promise) { + $results[$key] = $promise->wait(); + } + + return $results; +} + +/** + * Given an array of promises, return a promise that is fulfilled when all the + * items in the array are fulfilled. + * + * The promise's fulfillment value is an array with fulfillment values at + * respective positions to the original array. If any promise in the array + * rejects, the returned promise is rejected with the rejection reason. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function all($promises) +{ + $results = []; + return each( + $promises, + function ($value, $idx) use (&$results) { + $results[$idx] = $value; + }, + function ($reason, $idx, Promise $aggregate) { + $aggregate->reject($reason); + } + )->then(function () use (&$results) { + ksort($results); + return $results; + }); +} + +/** + * Initiate a competitive race between multiple promises or values (values will + * become immediately fulfilled promises). + * + * When count amount of promises have been fulfilled, the returned promise is + * fulfilled with an array that contains the fulfillment values of the winners + * in order of resolution. + * + * This prommise is rejected with a {@see GuzzleHttp\Promise\AggregateException} + * if the number of fulfilled promises is less than the desired $count. + * + * @param int $count Total number of promises. + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function some($count, $promises) +{ + $results = []; + $rejections = []; + + return each( + $promises, + function ($value, $idx, PromiseInterface $p) use (&$results, $count) { + if ($p->getState() !== PromiseInterface::PENDING) { + return; + } + $results[$idx] = $value; + if (count($results) >= $count) { + $p->resolve(null); + } + }, + function ($reason) use (&$rejections) { + $rejections[] = $reason; + } + )->then( + function () use (&$results, &$rejections, $count) { + if (count($results) !== $count) { + throw new AggregateException( + 'Not enough promises to fulfill count', + $rejections + ); + } + ksort($results); + return array_values($results); + } + ); +} + +/** + * Like some(), with 1 as count. However, if the promise fulfills, the + * fulfillment value is not an array of 1 but the value directly. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function any($promises) +{ + return some(1, $promises)->then(function ($values) { return $values[0]; }); +} + +/** + * Returns a promise that is fulfilled when all of the provided promises have + * been fulfilled or rejected. + * + * The returned promise is fulfilled with an array of inspection state arrays. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + * @see GuzzleHttp\Promise\inspect for the inspection state array format. + */ +function settle($promises) +{ + $results = []; + + return each( + $promises, + function ($value, $idx) use (&$results) { + $results[$idx] = ['state' => PromiseInterface::FULFILLED, 'value' => $value]; + }, + function ($reason, $idx) use (&$results) { + $results[$idx] = ['state' => PromiseInterface::REJECTED, 'reason' => $reason]; + } + )->then(function () use (&$results) { + ksort($results); + return $results; + }); +} + +/** + * Given an iterator that yields promises or values, returns a promise that is + * fulfilled with a null value when the iterator has been consumed or the + * aggregate promise has been fulfilled or rejected. + * + * $onFulfilled is a function that accepts the fulfilled value, iterator + * index, and the aggregate promise. The callback can invoke any necessary side + * effects and choose to resolve or reject the aggregate promise if needed. + * + * $onRejected is a function that accepts the rejection reason, iterator + * index, and the aggregate promise. The callback can invoke any necessary side + * effects and choose to resolve or reject the aggregate promise if needed. + * + * @param mixed $iterable Iterator or array to iterate over. + * @param callable $onFulfilled + * @param callable $onRejected + * + * @return PromiseInterface + */ +function each( + $iterable, + callable $onFulfilled = null, + callable $onRejected = null +) { + return (new EachPromise($iterable, [ + 'fulfilled' => $onFulfilled, + 'rejected' => $onRejected + ]))->promise(); +} + +/** + * Like each, but only allows a certain number of outstanding promises at any + * given time. + * + * $concurrency may be an integer or a function that accepts the number of + * pending promises and returns a numeric concurrency limit value to allow for + * dynamic a concurrency size. + * + * @param mixed $iterable + * @param int|callable $concurrency + * @param callable $onFulfilled + * @param callable $onRejected + * + * @return PromiseInterface + */ +function each_limit( + $iterable, + $concurrency, + callable $onFulfilled = null, + callable $onRejected = null +) { + return (new EachPromise($iterable, [ + 'fulfilled' => $onFulfilled, + 'rejected' => $onRejected, + 'concurrency' => $concurrency + ]))->promise(); +} + +/** + * Like each_limit, but ensures that no promise in the given $iterable argument + * is rejected. If any promise is rejected, then the aggregate promise is + * rejected with the encountered rejection. + * + * @param mixed $iterable + * @param int|callable $concurrency + * @param callable $onFulfilled + * + * @return PromiseInterface + */ +function each_limit_all( + $iterable, + $concurrency, + callable $onFulfilled = null +) { + return each_limit( + $iterable, + $concurrency, + $onFulfilled, + function ($reason, $idx, PromiseInterface $aggregate) { + $aggregate->reject($reason); + } + ); +} + +/** + * Returns true if a promise is fulfilled. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_fulfilled(PromiseInterface $promise) +{ + return $promise->getState() === PromiseInterface::FULFILLED; +} + +/** + * Returns true if a promise is rejected. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_rejected(PromiseInterface $promise) +{ + return $promise->getState() === PromiseInterface::REJECTED; +} + +/** + * Returns true if a promise is fulfilled or rejected. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_settled(PromiseInterface $promise) +{ + return $promise->getState() !== PromiseInterface::PENDING; +} + +/** + * @see Coroutine + * + * @param callable $generatorFn + * + * @return PromiseInterface + */ +function coroutine(callable $generatorFn) +{ + return new Coroutine($generatorFn); +} diff --git a/lib/aws/GuzzleHttp/Promise/functions_include.php b/lib/aws/GuzzleHttp/Promise/functions_include.php new file mode 100644 index 0000000..34cd171 --- /dev/null +++ b/lib/aws/GuzzleHttp/Promise/functions_include.php @@ -0,0 +1,6 @@ +<?php + +// Don't redefine the functions if included multiple times. +if (!function_exists('GuzzleHttp\Promise\promise_for')) { + require __DIR__ . '/functions.php'; +} diff --git a/lib/aws/GuzzleHttp/Psr7/AppendStream.php b/lib/aws/GuzzleHttp/Psr7/AppendStream.php new file mode 100644 index 0000000..472a0d6 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/AppendStream.php @@ -0,0 +1,241 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Reads from multiple streams, one after the other. + * + * This is a read-only stream decorator. + */ +class AppendStream implements StreamInterface +{ + /** @var StreamInterface[] Streams being decorated */ + private $streams = []; + + private $seekable = true; + private $current = 0; + private $pos = 0; + + /** + * @param StreamInterface[] $streams Streams to decorate. Each stream must + * be readable. + */ + public function __construct(array $streams = []) + { + foreach ($streams as $stream) { + $this->addStream($stream); + } + } + + public function __toString() + { + try { + $this->rewind(); + return $this->getContents(); + } catch (\Exception $e) { + return ''; + } + } + + /** + * Add a stream to the AppendStream + * + * @param StreamInterface $stream Stream to append. Must be readable. + * + * @throws \InvalidArgumentException if the stream is not readable + */ + public function addStream(StreamInterface $stream) + { + if (!$stream->isReadable()) { + throw new \InvalidArgumentException('Each stream must be readable'); + } + + // The stream is only seekable if all streams are seekable + if (!$stream->isSeekable()) { + $this->seekable = false; + } + + $this->streams[] = $stream; + } + + public function getContents() + { + return copy_to_string($this); + } + + /** + * Closes each attached stream. + * + * {@inheritdoc} + */ + public function close() + { + $this->pos = $this->current = 0; + $this->seekable = true; + + foreach ($this->streams as $stream) { + $stream->close(); + } + + $this->streams = []; + } + + /** + * Detaches each attached stream. + * + * Returns null as it's not clear which underlying stream resource to return. + * + * {@inheritdoc} + */ + public function detach() + { + $this->pos = $this->current = 0; + $this->seekable = true; + + foreach ($this->streams as $stream) { + $stream->detach(); + } + + $this->streams = []; + } + + public function tell() + { + return $this->pos; + } + + /** + * Tries to calculate the size by adding the size of each stream. + * + * If any of the streams do not return a valid number, then the size of the + * append stream cannot be determined and null is returned. + * + * {@inheritdoc} + */ + public function getSize() + { + $size = 0; + + foreach ($this->streams as $stream) { + $s = $stream->getSize(); + if ($s === null) { + return null; + } + $size += $s; + } + + return $size; + } + + public function eof() + { + return !$this->streams || + ($this->current >= count($this->streams) - 1 && + $this->streams[$this->current]->eof()); + } + + public function rewind() + { + $this->seek(0); + } + + /** + * Attempts to seek to the given position. Only supports SEEK_SET. + * + * {@inheritdoc} + */ + public function seek($offset, $whence = SEEK_SET) + { + if (!$this->seekable) { + throw new \RuntimeException('This AppendStream is not seekable'); + } elseif ($whence !== SEEK_SET) { + throw new \RuntimeException('The AppendStream can only seek with SEEK_SET'); + } + + $this->pos = $this->current = 0; + + // Rewind each stream + foreach ($this->streams as $i => $stream) { + try { + $stream->rewind(); + } catch (\Exception $e) { + throw new \RuntimeException('Unable to seek stream ' + . $i . ' of the AppendStream', 0, $e); + } + } + + // Seek to the actual position by reading from each stream + while ($this->pos < $offset && !$this->eof()) { + $result = $this->read(min(8096, $offset - $this->pos)); + if ($result === '') { + break; + } + } + } + + /** + * Reads from all of the appended streams until the length is met or EOF. + * + * {@inheritdoc} + */ + public function read($length) + { + $buffer = ''; + $total = count($this->streams) - 1; + $remaining = $length; + $progressToNext = false; + + while ($remaining > 0) { + + // Progress to the next stream if needed. + if ($progressToNext || $this->streams[$this->current]->eof()) { + $progressToNext = false; + if ($this->current === $total) { + break; + } + $this->current++; + } + + $result = $this->streams[$this->current]->read($remaining); + + // Using a loose comparison here to match on '', false, and null + if ($result == null) { + $progressToNext = true; + continue; + } + + $buffer .= $result; + $remaining = $length - strlen($buffer); + } + + $this->pos += strlen($buffer); + + return $buffer; + } + + public function isReadable() + { + return true; + } + + public function isWritable() + { + return false; + } + + public function isSeekable() + { + return $this->seekable; + } + + public function write($string) + { + throw new \RuntimeException('Cannot write to an AppendStream'); + } + + public function getMetadata($key = null) + { + return $key ? null : []; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/BufferStream.php b/lib/aws/GuzzleHttp/Psr7/BufferStream.php new file mode 100644 index 0000000..af4d4c2 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/BufferStream.php @@ -0,0 +1,137 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Provides a buffer stream that can be written to to fill a buffer, and read + * from to remove bytes from the buffer. + * + * This stream returns a "hwm" metadata value that tells upstream consumers + * what the configured high water mark of the stream is, or the maximum + * preferred size of the buffer. + */ +class BufferStream implements StreamInterface +{ + private $hwm; + private $buffer = ''; + + /** + * @param int $hwm High water mark, representing the preferred maximum + * buffer size. If the size of the buffer exceeds the high + * water mark, then calls to write will continue to succeed + * but will return false to inform writers to slow down + * until the buffer has been drained by reading from it. + */ + public function __construct($hwm = 16384) + { + $this->hwm = $hwm; + } + + public function __toString() + { + return $this->getContents(); + } + + public function getContents() + { + $buffer = $this->buffer; + $this->buffer = ''; + + return $buffer; + } + + public function close() + { + $this->buffer = ''; + } + + public function detach() + { + $this->close(); + } + + public function getSize() + { + return strlen($this->buffer); + } + + public function isReadable() + { + return true; + } + + public function isWritable() + { + return true; + } + + public function isSeekable() + { + return false; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + throw new \RuntimeException('Cannot seek a BufferStream'); + } + + public function eof() + { + return strlen($this->buffer) === 0; + } + + public function tell() + { + throw new \RuntimeException('Cannot determine the position of a BufferStream'); + } + + /** + * Reads data from the buffer. + */ + public function read($length) + { + $currentLength = strlen($this->buffer); + + if ($length >= $currentLength) { + // No need to slice the buffer because we don't have enough data. + $result = $this->buffer; + $this->buffer = ''; + } else { + // Slice up the result to provide a subset of the buffer. + $result = substr($this->buffer, 0, $length); + $this->buffer = substr($this->buffer, $length); + } + + return $result; + } + + /** + * Writes data to the buffer. + */ + public function write($string) + { + $this->buffer .= $string; + + // TODO: What should happen here? + if (strlen($this->buffer) >= $this->hwm) { + return false; + } + + return strlen($string); + } + + public function getMetadata($key = null) + { + if ($key == 'hwm') { + return $this->hwm; + } + + return $key ? null : []; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/CachingStream.php b/lib/aws/GuzzleHttp/Psr7/CachingStream.php new file mode 100644 index 0000000..ed68f08 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/CachingStream.php @@ -0,0 +1,138 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Stream decorator that can cache previously read bytes from a sequentially + * read stream. + */ +class CachingStream implements StreamInterface +{ + use StreamDecoratorTrait; + + /** @var StreamInterface Stream being wrapped */ + private $remoteStream; + + /** @var int Number of bytes to skip reading due to a write on the buffer */ + private $skipReadBytes = 0; + + /** + * We will treat the buffer object as the body of the stream + * + * @param StreamInterface $stream Stream to cache + * @param StreamInterface $target Optionally specify where data is cached + */ + public function __construct( + StreamInterface $stream, + StreamInterface $target = null + ) { + $this->remoteStream = $stream; + $this->stream = $target ?: new Stream(fopen('php://temp', 'r+')); + } + + public function getSize() + { + return max($this->stream->getSize(), $this->remoteStream->getSize()); + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($whence == SEEK_SET) { + $byte = $offset; + } elseif ($whence == SEEK_CUR) { + $byte = $offset + $this->tell(); + } elseif ($whence == SEEK_END) { + $size = $this->remoteStream->getSize(); + if ($size === null) { + $size = $this->cacheEntireStream(); + } + $byte = $size + $offset; + } else { + throw new \InvalidArgumentException('Invalid whence'); + } + + $diff = $byte - $this->stream->getSize(); + + if ($diff > 0) { + // Read the remoteStream until we have read in at least the amount + // of bytes requested, or we reach the end of the file. + while ($diff > 0 && !$this->remoteStream->eof()) { + $this->read($diff); + $diff = $byte - $this->stream->getSize(); + } + } else { + // We can just do a normal seek since we've already seen this byte. + $this->stream->seek($byte); + } + } + + public function read($length) + { + // Perform a regular read on any previously read data from the buffer + $data = $this->stream->read($length); + $remaining = $length - strlen($data); + + // More data was requested so read from the remote stream + if ($remaining) { + // If data was written to the buffer in a position that would have + // been filled from the remote stream, then we must skip bytes on + // the remote stream to emulate overwriting bytes from that + // position. This mimics the behavior of other PHP stream wrappers. + $remoteData = $this->remoteStream->read( + $remaining + $this->skipReadBytes + ); + + if ($this->skipReadBytes) { + $len = strlen($remoteData); + $remoteData = substr($remoteData, $this->skipReadBytes); + $this->skipReadBytes = max(0, $this->skipReadBytes - $len); + } + + $data .= $remoteData; + $this->stream->write($remoteData); + } + + return $data; + } + + public function write($string) + { + // When appending to the end of the currently read stream, you'll want + // to skip bytes from being read from the remote stream to emulate + // other stream wrappers. Basically replacing bytes of data of a fixed + // length. + $overflow = (strlen($string) + $this->tell()) - $this->remoteStream->tell(); + if ($overflow > 0) { + $this->skipReadBytes += $overflow; + } + + return $this->stream->write($string); + } + + public function eof() + { + return $this->stream->eof() && $this->remoteStream->eof(); + } + + /** + * Close both the remote stream and buffer stream + */ + public function close() + { + $this->remoteStream->close() && $this->stream->close(); + } + + private function cacheEntireStream() + { + $target = new FnStream(['write' => 'strlen']); + copy_to_stream($this, $target); + + return $this->tell(); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/DroppingStream.php b/lib/aws/GuzzleHttp/Psr7/DroppingStream.php new file mode 100644 index 0000000..8935c80 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/DroppingStream.php @@ -0,0 +1,42 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Stream decorator that begins dropping data once the size of the underlying + * stream becomes too full. + */ +class DroppingStream implements StreamInterface +{ + use StreamDecoratorTrait; + + private $maxLength; + + /** + * @param StreamInterface $stream Underlying stream to decorate. + * @param int $maxLength Maximum size before dropping data. + */ + public function __construct(StreamInterface $stream, $maxLength) + { + $this->stream = $stream; + $this->maxLength = $maxLength; + } + + public function write($string) + { + $diff = $this->maxLength - $this->stream->getSize(); + + // Begin returning 0 when the underlying stream is too large. + if ($diff <= 0) { + return 0; + } + + // Write the stream or a subset of the stream if needed. + if (strlen($string) < $diff) { + return $this->stream->write($string); + } + + return $this->stream->write(substr($string, 0, $diff)); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/FnStream.php b/lib/aws/GuzzleHttp/Psr7/FnStream.php new file mode 100644 index 0000000..73daea6 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/FnStream.php @@ -0,0 +1,158 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Compose stream implementations based on a hash of functions. + * + * Allows for easy testing and extension of a provided stream without needing + * to create a concrete class for a simple extension point. + */ +class FnStream implements StreamInterface +{ + /** @var array */ + private $methods; + + /** @var array Methods that must be implemented in the given array */ + private static $slots = ['__toString', 'close', 'detach', 'rewind', + 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', + 'isReadable', 'read', 'getContents', 'getMetadata']; + + /** + * @param array $methods Hash of method name to a callable. + */ + public function __construct(array $methods) + { + $this->methods = $methods; + + // Create the functions on the class + foreach ($methods as $name => $fn) { + $this->{'_fn_' . $name} = $fn; + } + } + + /** + * Lazily determine which methods are not implemented. + * @throws \BadMethodCallException + */ + public function __get($name) + { + throw new \BadMethodCallException(str_replace('_fn_', '', $name) + . '() is not implemented in the FnStream'); + } + + /** + * The close method is called on the underlying stream only if possible. + */ + public function __destruct() + { + if (isset($this->_fn_close)) { + call_user_func($this->_fn_close); + } + } + + /** + * An unserialize would allow the __destruct to run when the unserialized value goes out of scope. + * @throws \LogicException + */ + public function __wakeup() + { + throw new \LogicException('FnStream should never be unserialized'); + } + + /** + * Adds custom functionality to an underlying stream by intercepting + * specific method calls. + * + * @param StreamInterface $stream Stream to decorate + * @param array $methods Hash of method name to a closure + * + * @return FnStream + */ + public static function decorate(StreamInterface $stream, array $methods) + { + // If any of the required methods were not provided, then simply + // proxy to the decorated stream. + foreach (array_diff(self::$slots, array_keys($methods)) as $diff) { + $methods[$diff] = [$stream, $diff]; + } + + return new self($methods); + } + + public function __toString() + { + return call_user_func($this->_fn___toString); + } + + public function close() + { + return call_user_func($this->_fn_close); + } + + public function detach() + { + return call_user_func($this->_fn_detach); + } + + public function getSize() + { + return call_user_func($this->_fn_getSize); + } + + public function tell() + { + return call_user_func($this->_fn_tell); + } + + public function eof() + { + return call_user_func($this->_fn_eof); + } + + public function isSeekable() + { + return call_user_func($this->_fn_isSeekable); + } + + public function rewind() + { + call_user_func($this->_fn_rewind); + } + + public function seek($offset, $whence = SEEK_SET) + { + call_user_func($this->_fn_seek, $offset, $whence); + } + + public function isWritable() + { + return call_user_func($this->_fn_isWritable); + } + + public function write($string) + { + return call_user_func($this->_fn_write, $string); + } + + public function isReadable() + { + return call_user_func($this->_fn_isReadable); + } + + public function read($length) + { + return call_user_func($this->_fn_read, $length); + } + + public function getContents() + { + return call_user_func($this->_fn_getContents); + } + + public function getMetadata($key = null) + { + return call_user_func($this->_fn_getMetadata, $key); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/InflateStream.php b/lib/aws/GuzzleHttp/Psr7/InflateStream.php new file mode 100644 index 0000000..5e4f602 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/InflateStream.php @@ -0,0 +1,52 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Uses PHP's zlib.inflate filter to inflate deflate or gzipped content. + * + * This stream decorator skips the first 10 bytes of the given stream to remove + * the gzip header, converts the provided stream to a PHP stream resource, + * then appends the zlib.inflate filter. The stream is then converted back + * to a Guzzle stream resource to be used as a Guzzle stream. + * + * @link http://tools.ietf.org/html/rfc1952 + * @link http://php.net/manual/en/filters.compression.php + */ +class InflateStream implements StreamInterface +{ + use StreamDecoratorTrait; + + public function __construct(StreamInterface $stream) + { + // read the first 10 bytes, ie. gzip header + $header = $stream->read(10); + $filenameHeaderLength = $this->getLengthOfPossibleFilenameHeader($stream, $header); + // Skip the header, that is 10 + length of filename + 1 (nil) bytes + $stream = new LimitStream($stream, -1, 10 + $filenameHeaderLength); + $resource = StreamWrapper::getResource($stream); + stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ); + $this->stream = $stream->isSeekable() ? new Stream($resource) : new NoSeekStream(new Stream($resource)); + } + + /** + * @param StreamInterface $stream + * @param $header + * @return int + */ + private function getLengthOfPossibleFilenameHeader(StreamInterface $stream, $header) + { + $filename_header_length = 0; + + if (substr(bin2hex($header), 6, 2) === '08') { + // we have a filename, read until nil + $filename_header_length = 1; + while ($stream->read(1) !== chr(0)) { + $filename_header_length++; + } + } + + return $filename_header_length; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/LazyOpenStream.php b/lib/aws/GuzzleHttp/Psr7/LazyOpenStream.php new file mode 100644 index 0000000..02cec3a --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/LazyOpenStream.php @@ -0,0 +1,39 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Lazily reads or writes to a file that is opened only after an IO operation + * take place on the stream. + */ +class LazyOpenStream implements StreamInterface +{ + use StreamDecoratorTrait; + + /** @var string File to open */ + private $filename; + + /** @var string $mode */ + private $mode; + + /** + * @param string $filename File to lazily open + * @param string $mode fopen mode to use when opening the stream + */ + public function __construct($filename, $mode) + { + $this->filename = $filename; + $this->mode = $mode; + } + + /** + * Creates the underlying stream lazily when required. + * + * @return StreamInterface + */ + protected function createStream() + { + return stream_for(try_fopen($this->filename, $this->mode)); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/LimitStream.php b/lib/aws/GuzzleHttp/Psr7/LimitStream.php new file mode 100644 index 0000000..3c13d4f --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/LimitStream.php @@ -0,0 +1,155 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + + +/** + * Decorator used to return only a subset of a stream + */ +class LimitStream implements StreamInterface +{ + use StreamDecoratorTrait; + + /** @var int Offset to start reading from */ + private $offset; + + /** @var int Limit the number of bytes that can be read */ + private $limit; + + /** + * @param StreamInterface $stream Stream to wrap + * @param int $limit Total number of bytes to allow to be read + * from the stream. Pass -1 for no limit. + * @param int $offset Position to seek to before reading (only + * works on seekable streams). + */ + public function __construct( + StreamInterface $stream, + $limit = -1, + $offset = 0 + ) { + $this->stream = $stream; + $this->setLimit($limit); + $this->setOffset($offset); + } + + public function eof() + { + // Always return true if the underlying stream is EOF + if ($this->stream->eof()) { + return true; + } + + // No limit and the underlying stream is not at EOF + if ($this->limit == -1) { + return false; + } + + return $this->stream->tell() >= $this->offset + $this->limit; + } + + /** + * Returns the size of the limited subset of data + * {@inheritdoc} + */ + public function getSize() + { + if (null === ($length = $this->stream->getSize())) { + return null; + } elseif ($this->limit == -1) { + return $length - $this->offset; + } else { + return min($this->limit, $length - $this->offset); + } + } + + /** + * Allow for a bounded seek on the read limited stream + * {@inheritdoc} + */ + public function seek($offset, $whence = SEEK_SET) + { + if ($whence !== SEEK_SET || $offset < 0) { + throw new \RuntimeException(sprintf( + 'Cannot seek to offset % with whence %s', + $offset, + $whence + )); + } + + $offset += $this->offset; + + if ($this->limit !== -1) { + if ($offset > $this->offset + $this->limit) { + $offset = $this->offset + $this->limit; + } + } + + $this->stream->seek($offset); + } + + /** + * Give a relative tell() + * {@inheritdoc} + */ + public function tell() + { + return $this->stream->tell() - $this->offset; + } + + /** + * Set the offset to start limiting from + * + * @param int $offset Offset to seek to and begin byte limiting from + * + * @throws \RuntimeException if the stream cannot be seeked. + */ + public function setOffset($offset) + { + $current = $this->stream->tell(); + + if ($current !== $offset) { + // If the stream cannot seek to the offset position, then read to it + if ($this->stream->isSeekable()) { + $this->stream->seek($offset); + } elseif ($current > $offset) { + throw new \RuntimeException("Could not seek to stream offset $offset"); + } else { + $this->stream->read($offset - $current); + } + } + + $this->offset = $offset; + } + + /** + * Set the limit of bytes that the decorator allows to be read from the + * stream. + * + * @param int $limit Number of bytes to allow to be read from the stream. + * Use -1 for no limit. + */ + public function setLimit($limit) + { + $this->limit = $limit; + } + + public function read($length) + { + if ($this->limit == -1) { + return $this->stream->read($length); + } + + // Check if the current position is less than the total allowed + // bytes + original offset + $remaining = ($this->offset + $this->limit) - $this->stream->tell(); + if ($remaining > 0) { + // Only return the amount of requested data, ensuring that the byte + // limit is not exceeded + return $this->stream->read(min($remaining, $length)); + } + + return ''; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/MessageTrait.php b/lib/aws/GuzzleHttp/Psr7/MessageTrait.php new file mode 100644 index 0000000..1e4da64 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/MessageTrait.php @@ -0,0 +1,183 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Trait implementing functionality common to requests and responses. + */ +trait MessageTrait +{ + /** @var array Map of all registered headers, as original name => array of values */ + private $headers = []; + + /** @var array Map of lowercase header name => original name at registration */ + private $headerNames = []; + + /** @var string */ + private $protocol = '1.1'; + + /** @var StreamInterface */ + private $stream; + + public function getProtocolVersion() + { + return $this->protocol; + } + + public function withProtocolVersion($version) + { + if ($this->protocol === $version) { + return $this; + } + + $new = clone $this; + $new->protocol = $version; + return $new; + } + + public function getHeaders() + { + return $this->headers; + } + + public function hasHeader($header) + { + return isset($this->headerNames[strtolower($header)]); + } + + public function getHeader($header) + { + $header = strtolower($header); + + if (!isset($this->headerNames[$header])) { + return []; + } + + $header = $this->headerNames[$header]; + + return $this->headers[$header]; + } + + public function getHeaderLine($header) + { + return implode(', ', $this->getHeader($header)); + } + + public function withHeader($header, $value) + { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + + $new = clone $this; + if (isset($new->headerNames[$normalized])) { + unset($new->headers[$new->headerNames[$normalized]]); + } + $new->headerNames[$normalized] = $header; + $new->headers[$header] = $value; + + return $new; + } + + public function withAddedHeader($header, $value) + { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + + $new = clone $this; + if (isset($new->headerNames[$normalized])) { + $header = $this->headerNames[$normalized]; + $new->headers[$header] = array_merge($this->headers[$header], $value); + } else { + $new->headerNames[$normalized] = $header; + $new->headers[$header] = $value; + } + + return $new; + } + + public function withoutHeader($header) + { + $normalized = strtolower($header); + + if (!isset($this->headerNames[$normalized])) { + return $this; + } + + $header = $this->headerNames[$normalized]; + + $new = clone $this; + unset($new->headers[$header], $new->headerNames[$normalized]); + + return $new; + } + + public function getBody() + { + if (!$this->stream) { + $this->stream = stream_for(''); + } + + return $this->stream; + } + + public function withBody(StreamInterface $body) + { + if ($body === $this->stream) { + return $this; + } + + $new = clone $this; + $new->stream = $body; + return $new; + } + + private function setHeaders(array $headers) + { + $this->headerNames = $this->headers = []; + foreach ($headers as $header => $value) { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + if (isset($this->headerNames[$normalized])) { + $header = $this->headerNames[$normalized]; + $this->headers[$header] = array_merge($this->headers[$header], $value); + } else { + $this->headerNames[$normalized] = $header; + $this->headers[$header] = $value; + } + } + } + + /** + * Trims whitespace from the header values. + * + * Spaces and tabs ought to be excluded by parsers when extracting the field value from a header field. + * + * header-field = field-name ":" OWS field-value OWS + * OWS = *( SP / HTAB ) + * + * @param string[] $values Header values + * + * @return string[] Trimmed header values + * + * @see https://tools.ietf.org/html/rfc7230#section-3.2.4 + */ + private function trimHeaderValues(array $values) + { + return array_map(function ($value) { + return trim($value, " \t"); + }, $values); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/MultipartStream.php b/lib/aws/GuzzleHttp/Psr7/MultipartStream.php new file mode 100644 index 0000000..c0fd584 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/MultipartStream.php @@ -0,0 +1,153 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Stream that when read returns bytes for a streaming multipart or + * multipart/form-data stream. + */ +class MultipartStream implements StreamInterface +{ + use StreamDecoratorTrait; + + private $boundary; + + /** + * @param array $elements Array of associative arrays, each containing a + * required "name" key mapping to the form field, + * name, a required "contents" key mapping to a + * StreamInterface/resource/string, an optional + * "headers" associative array of custom headers, + * and an optional "filename" key mapping to a + * string to send as the filename in the part. + * @param string $boundary You can optionally provide a specific boundary + * + * @throws \InvalidArgumentException + */ + public function __construct(array $elements = [], $boundary = null) + { + $this->boundary = $boundary ?: sha1(uniqid('', true)); + $this->stream = $this->createStream($elements); + } + + /** + * Get the boundary + * + * @return string + */ + public function getBoundary() + { + return $this->boundary; + } + + public function isWritable() + { + return false; + } + + /** + * Get the headers needed before transferring the content of a POST file + */ + private function getHeaders(array $headers) + { + $str = ''; + foreach ($headers as $key => $value) { + $str .= "{$key}: {$value}\r\n"; + } + + return "--{$this->boundary}\r\n" . trim($str) . "\r\n\r\n"; + } + + /** + * Create the aggregate stream that will be used to upload the POST data + */ + protected function createStream(array $elements) + { + $stream = new AppendStream(); + + foreach ($elements as $element) { + $this->addElement($stream, $element); + } + + // Add the trailing boundary with CRLF + $stream->addStream(stream_for("--{$this->boundary}--\r\n")); + + return $stream; + } + + private function addElement(AppendStream $stream, array $element) + { + foreach (['contents', 'name'] as $key) { + if (!array_key_exists($key, $element)) { + throw new \InvalidArgumentException("A '{$key}' key is required"); + } + } + + $element['contents'] = stream_for($element['contents']); + + if (empty($element['filename'])) { + $uri = $element['contents']->getMetadata('uri'); + if (substr($uri, 0, 6) !== 'php://') { + $element['filename'] = $uri; + } + } + + list($body, $headers) = $this->createElement( + $element['name'], + $element['contents'], + isset($element['filename']) ? $element['filename'] : null, + isset($element['headers']) ? $element['headers'] : [] + ); + + $stream->addStream(stream_for($this->getHeaders($headers))); + $stream->addStream($body); + $stream->addStream(stream_for("\r\n")); + } + + /** + * @return array + */ + private function createElement($name, StreamInterface $stream, $filename, array $headers) + { + // Set a default content-disposition header if one was no provided + $disposition = $this->getHeader($headers, 'content-disposition'); + if (!$disposition) { + $headers['Content-Disposition'] = ($filename === '0' || $filename) + ? sprintf('form-data; name="%s"; filename="%s"', + $name, + basename($filename)) + : "form-data; name=\"{$name}\""; + } + + // Set a default content-length header if one was no provided + $length = $this->getHeader($headers, 'content-length'); + if (!$length) { + if ($length = $stream->getSize()) { + $headers['Content-Length'] = (string) $length; + } + } + + // Set a default Content-Type if one was not supplied + $type = $this->getHeader($headers, 'content-type'); + if (!$type && ($filename === '0' || $filename)) { + if ($type = mimetype_from_filename($filename)) { + $headers['Content-Type'] = $type; + } + } + + return [$stream, $headers]; + } + + private function getHeader(array $headers, $key) + { + $lowercaseHeader = strtolower($key); + foreach ($headers as $k => $v) { + if (strtolower($k) === $lowercaseHeader) { + return $v; + } + } + + return null; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/NoSeekStream.php b/lib/aws/GuzzleHttp/Psr7/NoSeekStream.php new file mode 100644 index 0000000..2332218 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/NoSeekStream.php @@ -0,0 +1,22 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Stream decorator that prevents a stream from being seeked + */ +class NoSeekStream implements StreamInterface +{ + use StreamDecoratorTrait; + + public function seek($offset, $whence = SEEK_SET) + { + throw new \RuntimeException('Cannot seek a NoSeekStream'); + } + + public function isSeekable() + { + return false; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/PumpStream.php b/lib/aws/GuzzleHttp/Psr7/PumpStream.php new file mode 100644 index 0000000..ffb5440 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/PumpStream.php @@ -0,0 +1,165 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Provides a read only stream that pumps data from a PHP callable. + * + * When invoking the provided callable, the PumpStream will pass the amount of + * data requested to read to the callable. The callable can choose to ignore + * this value and return fewer or more bytes than requested. Any extra data + * returned by the provided callable is buffered internally until drained using + * the read() function of the PumpStream. The provided callable MUST return + * false when there is no more data to read. + */ +class PumpStream implements StreamInterface +{ + /** @var callable */ + private $source; + + /** @var int */ + private $size; + + /** @var int */ + private $tellPos = 0; + + /** @var array */ + private $metadata; + + /** @var BufferStream */ + private $buffer; + + /** + * @param callable $source Source of the stream data. The callable MAY + * accept an integer argument used to control the + * amount of data to return. The callable MUST + * return a string when called, or false on error + * or EOF. + * @param array $options Stream options: + * - metadata: Hash of metadata to use with stream. + * - size: Size of the stream, if known. + */ + public function __construct(callable $source, array $options = []) + { + $this->source = $source; + $this->size = isset($options['size']) ? $options['size'] : null; + $this->metadata = isset($options['metadata']) ? $options['metadata'] : []; + $this->buffer = new BufferStream(); + } + + public function __toString() + { + try { + return copy_to_string($this); + } catch (\Exception $e) { + return ''; + } + } + + public function close() + { + $this->detach(); + } + + public function detach() + { + $this->tellPos = false; + $this->source = null; + } + + public function getSize() + { + return $this->size; + } + + public function tell() + { + return $this->tellPos; + } + + public function eof() + { + return !$this->source; + } + + public function isSeekable() + { + return false; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + throw new \RuntimeException('Cannot seek a PumpStream'); + } + + public function isWritable() + { + return false; + } + + public function write($string) + { + throw new \RuntimeException('Cannot write to a PumpStream'); + } + + public function isReadable() + { + return true; + } + + public function read($length) + { + $data = $this->buffer->read($length); + $readLen = strlen($data); + $this->tellPos += $readLen; + $remaining = $length - $readLen; + + if ($remaining) { + $this->pump($remaining); + $data .= $this->buffer->read($remaining); + $this->tellPos += strlen($data) - $readLen; + } + + return $data; + } + + public function getContents() + { + $result = ''; + while (!$this->eof()) { + $result .= $this->read(1000000); + } + + return $result; + } + + public function getMetadata($key = null) + { + if (!$key) { + return $this->metadata; + } + + return isset($this->metadata[$key]) ? $this->metadata[$key] : null; + } + + private function pump($length) + { + if ($this->source) { + do { + $data = call_user_func($this->source, $length); + if ($data === false || $data === null) { + $this->source = null; + return; + } + $this->buffer->write($data); + $length -= strlen($data); + } while ($length > 0); + } + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/Request.php b/lib/aws/GuzzleHttp/Psr7/Request.php new file mode 100644 index 0000000..0006642 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/Request.php @@ -0,0 +1,142 @@ +<?php +namespace GuzzleHttp\Psr7; + +use InvalidArgumentException; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\StreamInterface; +use Psr\Http\Message\UriInterface; + +/** + * PSR-7 request implementation. + */ +class Request implements RequestInterface +{ + use MessageTrait; + + /** @var string */ + private $method; + + /** @var null|string */ + private $requestTarget; + + /** @var UriInterface */ + private $uri; + + /** + * @param string $method HTTP method + * @param string|UriInterface $uri URI + * @param array $headers Request headers + * @param string|null|resource|StreamInterface $body Request body + * @param string $version Protocol version + */ + public function __construct( + $method, + $uri, + array $headers = [], + $body = null, + $version = '1.1' + ) { + if (!($uri instanceof UriInterface)) { + $uri = new Uri($uri); + } + + $this->method = strtoupper($method); + $this->uri = $uri; + $this->setHeaders($headers); + $this->protocol = $version; + + if (!isset($this->headerNames['host'])) { + $this->updateHostFromUri(); + } + + if ($body !== '' && $body !== null) { + $this->stream = stream_for($body); + } + } + + public function getRequestTarget() + { + if ($this->requestTarget !== null) { + return $this->requestTarget; + } + + $target = $this->uri->getPath(); + if ($target == '') { + $target = '/'; + } + if ($this->uri->getQuery() != '') { + $target .= '?' . $this->uri->getQuery(); + } + + return $target; + } + + public function withRequestTarget($requestTarget) + { + if (preg_match('#\s#', $requestTarget)) { + throw new InvalidArgumentException( + 'Invalid request target provided; cannot contain whitespace' + ); + } + + $new = clone $this; + $new->requestTarget = $requestTarget; + return $new; + } + + public function getMethod() + { + return $this->method; + } + + public function withMethod($method) + { + $new = clone $this; + $new->method = strtoupper($method); + return $new; + } + + public function getUri() + { + return $this->uri; + } + + public function withUri(UriInterface $uri, $preserveHost = false) + { + if ($uri === $this->uri) { + return $this; + } + + $new = clone $this; + $new->uri = $uri; + + if (!$preserveHost || !isset($this->headerNames['host'])) { + $new->updateHostFromUri(); + } + + return $new; + } + + private function updateHostFromUri() + { + $host = $this->uri->getHost(); + + if ($host == '') { + return; + } + + if (($port = $this->uri->getPort()) !== null) { + $host .= ':' . $port; + } + + if (isset($this->headerNames['host'])) { + $header = $this->headerNames['host']; + } else { + $header = 'Host'; + $this->headerNames['host'] = 'Host'; + } + // Ensure Host is the first header. + // See: http://tools.ietf.org/html/rfc7230#section-5.4 + $this->headers = [$header => [$host]] + $this->headers; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/Response.php b/lib/aws/GuzzleHttp/Psr7/Response.php new file mode 100644 index 0000000..6e72c06 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/Response.php @@ -0,0 +1,136 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +/** + * PSR-7 response implementation. + */ +class Response implements ResponseInterface +{ + use MessageTrait; + + /** @var array Map of standard HTTP status code/reason phrases */ + private static $phrases = [ + 100 => 'Continue', + 101 => 'Switching Protocols', + 102 => 'Processing', + 200 => 'OK', + 201 => 'Created', + 202 => 'Accepted', + 203 => 'Non-Authoritative Information', + 204 => 'No Content', + 205 => 'Reset Content', + 206 => 'Partial Content', + 207 => 'Multi-status', + 208 => 'Already Reported', + 300 => 'Multiple Choices', + 301 => 'Moved Permanently', + 302 => 'Found', + 303 => 'See Other', + 304 => 'Not Modified', + 305 => 'Use Proxy', + 306 => 'Switch Proxy', + 307 => 'Temporary Redirect', + 400 => 'Bad Request', + 401 => 'Unauthorized', + 402 => 'Payment Required', + 403 => 'Forbidden', + 404 => 'Not Found', + 405 => 'Method Not Allowed', + 406 => 'Not Acceptable', + 407 => 'Proxy Authentication Required', + 408 => 'Request Time-out', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Large', + 415 => 'Unsupported Media Type', + 416 => 'Requested range not satisfiable', + 417 => 'Expectation Failed', + 418 => 'I\'m a teapot', + 422 => 'Unprocessable Entity', + 423 => 'Locked', + 424 => 'Failed Dependency', + 425 => 'Unordered Collection', + 426 => 'Upgrade Required', + 428 => 'Precondition Required', + 429 => 'Too Many Requests', + 431 => 'Request Header Fields Too Large', + 451 => 'Unavailable For Legal Reasons', + 500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Time-out', + 505 => 'HTTP Version not supported', + 506 => 'Variant Also Negotiates', + 507 => 'Insufficient Storage', + 508 => 'Loop Detected', + 511 => 'Network Authentication Required', + ]; + + /** @var string */ + private $reasonPhrase = ''; + + /** @var int */ + private $statusCode = 200; + + /** + * @param int $status Status code + * @param array $headers Response headers + * @param string|null|resource|StreamInterface $body Response body + * @param string $version Protocol version + * @param string|null $reason Reason phrase (when empty a default will be used based on the status code) + */ + public function __construct( + $status = 200, + array $headers = [], + $body = null, + $version = '1.1', + $reason = null + ) { + if (filter_var($status, FILTER_VALIDATE_INT) === false) { + throw new \InvalidArgumentException('Status code must be an integer value.'); + } + + $this->statusCode = (int) $status; + + if ($body !== '' && $body !== null) { + $this->stream = stream_for($body); + } + + $this->setHeaders($headers); + if ($reason == '' && isset(self::$phrases[$this->statusCode])) { + $this->reasonPhrase = self::$phrases[$this->statusCode]; + } else { + $this->reasonPhrase = (string) $reason; + } + + $this->protocol = $version; + } + + public function getStatusCode() + { + return $this->statusCode; + } + + public function getReasonPhrase() + { + return $this->reasonPhrase; + } + + public function withStatus($code, $reasonPhrase = '') + { + $new = clone $this; + $new->statusCode = (int) $code; + if ($reasonPhrase == '' && isset(self::$phrases[$new->statusCode])) { + $reasonPhrase = self::$phrases[$new->statusCode]; + } + $new->reasonPhrase = $reasonPhrase; + return $new; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/Rfc7230.php b/lib/aws/GuzzleHttp/Psr7/Rfc7230.php new file mode 100644 index 0000000..505e474 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/Rfc7230.php @@ -0,0 +1,18 @@ +<?php + +namespace GuzzleHttp\Psr7; + +final class Rfc7230 +{ + /** + * Header related regular expressions (copied from amphp/http package) + * (Note: once we require PHP 7.x we could just depend on the upstream package) + * + * Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons. + * + * @link https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15 + * @license https://github.com/amphp/http/blob/v1.0.1/LICENSE + */ + const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m"; + const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; +} diff --git a/lib/aws/GuzzleHttp/Psr7/ServerRequest.php b/lib/aws/GuzzleHttp/Psr7/ServerRequest.php new file mode 100644 index 0000000..99f453a --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/ServerRequest.php @@ -0,0 +1,376 @@ +<?php + +namespace GuzzleHttp\Psr7; + +use InvalidArgumentException; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Message\UriInterface; +use Psr\Http\Message\StreamInterface; +use Psr\Http\Message\UploadedFileInterface; + +/** + * Server-side HTTP request + * + * Extends the Request definition to add methods for accessing incoming data, + * specifically server parameters, cookies, matched path parameters, query + * string arguments, body parameters, and upload file information. + * + * "Attributes" are discovered via decomposing the request (and usually + * specifically the URI path), and typically will be injected by the application. + * + * Requests are considered immutable; all methods that might change state are + * implemented such that they retain the internal state of the current + * message and return a new instance that contains the changed state. + */ +class ServerRequest extends Request implements ServerRequestInterface +{ + /** + * @var array + */ + private $attributes = []; + + /** + * @var array + */ + private $cookieParams = []; + + /** + * @var null|array|object + */ + private $parsedBody; + + /** + * @var array + */ + private $queryParams = []; + + /** + * @var array + */ + private $serverParams; + + /** + * @var array + */ + private $uploadedFiles = []; + + /** + * @param string $method HTTP method + * @param string|UriInterface $uri URI + * @param array $headers Request headers + * @param string|null|resource|StreamInterface $body Request body + * @param string $version Protocol version + * @param array $serverParams Typically the $_SERVER superglobal + */ + public function __construct( + $method, + $uri, + array $headers = [], + $body = null, + $version = '1.1', + array $serverParams = [] + ) { + $this->serverParams = $serverParams; + + parent::__construct($method, $uri, $headers, $body, $version); + } + + /** + * Return an UploadedFile instance array. + * + * @param array $files A array which respect $_FILES structure + * @throws InvalidArgumentException for unrecognized values + * @return array + */ + public static function normalizeFiles(array $files) + { + $normalized = []; + + foreach ($files as $key => $value) { + if ($value instanceof UploadedFileInterface) { + $normalized[$key] = $value; + } elseif (is_array($value) && isset($value['tmp_name'])) { + $normalized[$key] = self::createUploadedFileFromSpec($value); + } elseif (is_array($value)) { + $normalized[$key] = self::normalizeFiles($value); + continue; + } else { + throw new InvalidArgumentException('Invalid value in files specification'); + } + } + + return $normalized; + } + + /** + * Create and return an UploadedFile instance from a $_FILES specification. + * + * If the specification represents an array of values, this method will + * delegate to normalizeNestedFileSpec() and return that return value. + * + * @param array $value $_FILES struct + * @return array|UploadedFileInterface + */ + private static function createUploadedFileFromSpec(array $value) + { + if (is_array($value['tmp_name'])) { + return self::normalizeNestedFileSpec($value); + } + + return new UploadedFile( + $value['tmp_name'], + (int) $value['size'], + (int) $value['error'], + $value['name'], + $value['type'] + ); + } + + /** + * Normalize an array of file specifications. + * + * Loops through all nested files and returns a normalized array of + * UploadedFileInterface instances. + * + * @param array $files + * @return UploadedFileInterface[] + */ + private static function normalizeNestedFileSpec(array $files = []) + { + $normalizedFiles = []; + + foreach (array_keys($files['tmp_name']) as $key) { + $spec = [ + 'tmp_name' => $files['tmp_name'][$key], + 'size' => $files['size'][$key], + 'error' => $files['error'][$key], + 'name' => $files['name'][$key], + 'type' => $files['type'][$key], + ]; + $normalizedFiles[$key] = self::createUploadedFileFromSpec($spec); + } + + return $normalizedFiles; + } + + /** + * Return a ServerRequest populated with superglobals: + * $_GET + * $_POST + * $_COOKIE + * $_FILES + * $_SERVER + * + * @return ServerRequestInterface + */ + public static function fromGlobals() + { + $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; + $headers = getallheaders(); + $uri = self::getUriFromGlobals(); + $body = new LazyOpenStream('php://input', 'r+'); + $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? str_replace('HTTP/', '', $_SERVER['SERVER_PROTOCOL']) : '1.1'; + + $serverRequest = new ServerRequest($method, $uri, $headers, $body, $protocol, $_SERVER); + + return $serverRequest + ->withCookieParams($_COOKIE) + ->withQueryParams($_GET) + ->withParsedBody($_POST) + ->withUploadedFiles(self::normalizeFiles($_FILES)); + } + + private static function extractHostAndPortFromAuthority($authority) + { + $uri = 'http://'.$authority; + $parts = parse_url($uri); + if (false === $parts) { + return [null, null]; + } + + $host = isset($parts['host']) ? $parts['host'] : null; + $port = isset($parts['port']) ? $parts['port'] : null; + + return [$host, $port]; + } + + /** + * Get a Uri populated with values from $_SERVER. + * + * @return UriInterface + */ + public static function getUriFromGlobals() + { + $uri = new Uri(''); + + $uri = $uri->withScheme(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http'); + + $hasPort = false; + if (isset($_SERVER['HTTP_HOST'])) { + list($host, $port) = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']); + if ($host !== null) { + $uri = $uri->withHost($host); + } + + if ($port !== null) { + $hasPort = true; + $uri = $uri->withPort($port); + } + } elseif (isset($_SERVER['SERVER_NAME'])) { + $uri = $uri->withHost($_SERVER['SERVER_NAME']); + } elseif (isset($_SERVER['SERVER_ADDR'])) { + $uri = $uri->withHost($_SERVER['SERVER_ADDR']); + } + + if (!$hasPort && isset($_SERVER['SERVER_PORT'])) { + $uri = $uri->withPort($_SERVER['SERVER_PORT']); + } + + $hasQuery = false; + if (isset($_SERVER['REQUEST_URI'])) { + $requestUriParts = explode('?', $_SERVER['REQUEST_URI'], 2); + $uri = $uri->withPath($requestUriParts[0]); + if (isset($requestUriParts[1])) { + $hasQuery = true; + $uri = $uri->withQuery($requestUriParts[1]); + } + } + + if (!$hasQuery && isset($_SERVER['QUERY_STRING'])) { + $uri = $uri->withQuery($_SERVER['QUERY_STRING']); + } + + return $uri; + } + + + /** + * {@inheritdoc} + */ + public function getServerParams() + { + return $this->serverParams; + } + + /** + * {@inheritdoc} + */ + public function getUploadedFiles() + { + return $this->uploadedFiles; + } + + /** + * {@inheritdoc} + */ + public function withUploadedFiles(array $uploadedFiles) + { + $new = clone $this; + $new->uploadedFiles = $uploadedFiles; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getCookieParams() + { + return $this->cookieParams; + } + + /** + * {@inheritdoc} + */ + public function withCookieParams(array $cookies) + { + $new = clone $this; + $new->cookieParams = $cookies; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getQueryParams() + { + return $this->queryParams; + } + + /** + * {@inheritdoc} + */ + public function withQueryParams(array $query) + { + $new = clone $this; + $new->queryParams = $query; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getParsedBody() + { + return $this->parsedBody; + } + + /** + * {@inheritdoc} + */ + public function withParsedBody($data) + { + $new = clone $this; + $new->parsedBody = $data; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getAttributes() + { + return $this->attributes; + } + + /** + * {@inheritdoc} + */ + public function getAttribute($attribute, $default = null) + { + if (false === array_key_exists($attribute, $this->attributes)) { + return $default; + } + + return $this->attributes[$attribute]; + } + + /** + * {@inheritdoc} + */ + public function withAttribute($attribute, $value) + { + $new = clone $this; + $new->attributes[$attribute] = $value; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function withoutAttribute($attribute) + { + if (false === array_key_exists($attribute, $this->attributes)) { + return $this; + } + + $new = clone $this; + unset($new->attributes[$attribute]); + + return $new; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/Stream.php b/lib/aws/GuzzleHttp/Psr7/Stream.php new file mode 100644 index 0000000..111795e --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/Stream.php @@ -0,0 +1,270 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * PHP stream implementation. + * + * @var $stream + */ +class Stream implements StreamInterface +{ + private $stream; + private $size; + private $seekable; + private $readable; + private $writable; + private $uri; + private $customMetadata; + + /** @var array Hash of readable and writable stream types */ + private static $readWriteHash = [ + 'read' => [ + 'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, + 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, + 'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true, + 'x+t' => true, 'c+t' => true, 'a+' => true, 'rb+' => true, + ], + 'write' => [ + 'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, + 'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, 'rb+' => true, + 'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true, + 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true + ] + ]; + + /** + * This constructor accepts an associative array of options. + * + * - size: (int) If a read stream would otherwise have an indeterminate + * size, but the size is known due to foreknowledge, then you can + * provide that size, in bytes. + * - metadata: (array) Any additional metadata to return when the metadata + * of the stream is accessed. + * + * @param resource $stream Stream resource to wrap. + * @param array $options Associative array of options. + * + * @throws \InvalidArgumentException if the stream is not a stream resource + */ + public function __construct($stream, $options = []) + { + if (!is_resource($stream)) { + throw new \InvalidArgumentException('Stream must be a resource'); + } + + if (isset($options['size'])) { + $this->size = $options['size']; + } + + $this->customMetadata = isset($options['metadata']) + ? $options['metadata'] + : []; + + $this->stream = $stream; + $meta = stream_get_meta_data($this->stream); + $this->seekable = $meta['seekable']; + $this->readable = isset(self::$readWriteHash['read'][$meta['mode']]); + $this->writable = isset(self::$readWriteHash['write'][$meta['mode']]); + $this->uri = $this->getMetadata('uri'); + } + + /** + * Closes the stream when the destructed + */ + public function __destruct() + { + $this->close(); + } + + public function __toString() + { + try { + $this->seek(0); + return (string) stream_get_contents($this->stream); + } catch (\Exception $e) { + return ''; + } + } + + public function getContents() + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + + $contents = stream_get_contents($this->stream); + + if ($contents === false) { + throw new \RuntimeException('Unable to read stream contents'); + } + + return $contents; + } + + public function close() + { + if (isset($this->stream)) { + if (is_resource($this->stream)) { + fclose($this->stream); + } + $this->detach(); + } + } + + public function detach() + { + if (!isset($this->stream)) { + return null; + } + + $result = $this->stream; + unset($this->stream); + $this->size = $this->uri = null; + $this->readable = $this->writable = $this->seekable = false; + + return $result; + } + + public function getSize() + { + if ($this->size !== null) { + return $this->size; + } + + if (!isset($this->stream)) { + return null; + } + + // Clear the stat cache if the stream has a URI + if ($this->uri) { + clearstatcache(true, $this->uri); + } + + $stats = fstat($this->stream); + if (isset($stats['size'])) { + $this->size = $stats['size']; + return $this->size; + } + + return null; + } + + public function isReadable() + { + return $this->readable; + } + + public function isWritable() + { + return $this->writable; + } + + public function isSeekable() + { + return $this->seekable; + } + + public function eof() + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + + return feof($this->stream); + } + + public function tell() + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + + $result = ftell($this->stream); + + if ($result === false) { + throw new \RuntimeException('Unable to determine stream position'); + } + + return $result; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + if (!$this->seekable) { + throw new \RuntimeException('Stream is not seekable'); + } + if (fseek($this->stream, $offset, $whence) === -1) { + throw new \RuntimeException('Unable to seek to stream position ' + . $offset . ' with whence ' . var_export($whence, true)); + } + } + + public function read($length) + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + if (!$this->readable) { + throw new \RuntimeException('Cannot read from non-readable stream'); + } + if ($length < 0) { + throw new \RuntimeException('Length parameter cannot be negative'); + } + + if (0 === $length) { + return ''; + } + + $string = fread($this->stream, $length); + if (false === $string) { + throw new \RuntimeException('Unable to read from stream'); + } + + return $string; + } + + public function write($string) + { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + if (!$this->writable) { + throw new \RuntimeException('Cannot write to a non-writable stream'); + } + + // We can't know the size after writing anything + $this->size = null; + $result = fwrite($this->stream, $string); + + if ($result === false) { + throw new \RuntimeException('Unable to write to stream'); + } + + return $result; + } + + public function getMetadata($key = null) + { + if (!isset($this->stream)) { + return $key ? null : []; + } elseif (!$key) { + return $this->customMetadata + stream_get_meta_data($this->stream); + } elseif (isset($this->customMetadata[$key])) { + return $this->customMetadata[$key]; + } + + $meta = stream_get_meta_data($this->stream); + + return isset($meta[$key]) ? $meta[$key] : null; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/StreamDecoratorTrait.php b/lib/aws/GuzzleHttp/Psr7/StreamDecoratorTrait.php new file mode 100644 index 0000000..daec6f5 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/StreamDecoratorTrait.php @@ -0,0 +1,149 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Stream decorator trait + * @property StreamInterface stream + */ +trait StreamDecoratorTrait +{ + /** + * @param StreamInterface $stream Stream to decorate + */ + public function __construct(StreamInterface $stream) + { + $this->stream = $stream; + } + + /** + * Magic method used to create a new stream if streams are not added in + * the constructor of a decorator (e.g., LazyOpenStream). + * + * @param string $name Name of the property (allows "stream" only). + * + * @return StreamInterface + */ + public function __get($name) + { + if ($name == 'stream') { + $this->stream = $this->createStream(); + return $this->stream; + } + + throw new \UnexpectedValueException("$name not found on class"); + } + + public function __toString() + { + try { + if ($this->isSeekable()) { + $this->seek(0); + } + return $this->getContents(); + } catch (\Exception $e) { + // Really, PHP? https://bugs.php.net/bug.php?id=53648 + trigger_error('StreamDecorator::__toString exception: ' + . (string) $e, E_USER_ERROR); + return ''; + } + } + + public function getContents() + { + return copy_to_string($this); + } + + /** + * Allow decorators to implement custom methods + * + * @param string $method Missing method name + * @param array $args Method arguments + * + * @return mixed + */ + public function __call($method, array $args) + { + $result = call_user_func_array([$this->stream, $method], $args); + + // Always return the wrapped object if the result is a return $this + return $result === $this->stream ? $this : $result; + } + + public function close() + { + $this->stream->close(); + } + + public function getMetadata($key = null) + { + return $this->stream->getMetadata($key); + } + + public function detach() + { + return $this->stream->detach(); + } + + public function getSize() + { + return $this->stream->getSize(); + } + + public function eof() + { + return $this->stream->eof(); + } + + public function tell() + { + return $this->stream->tell(); + } + + public function isReadable() + { + return $this->stream->isReadable(); + } + + public function isWritable() + { + return $this->stream->isWritable(); + } + + public function isSeekable() + { + return $this->stream->isSeekable(); + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + $this->stream->seek($offset, $whence); + } + + public function read($length) + { + return $this->stream->read($length); + } + + public function write($string) + { + return $this->stream->write($string); + } + + /** + * Implement in subclasses to dynamically create streams when requested. + * + * @return StreamInterface + * @throws \BadMethodCallException + */ + protected function createStream() + { + throw new \BadMethodCallException('Not implemented'); + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/StreamWrapper.php b/lib/aws/GuzzleHttp/Psr7/StreamWrapper.php new file mode 100644 index 0000000..0f3a285 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/StreamWrapper.php @@ -0,0 +1,161 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Converts Guzzle streams into PHP stream resources. + */ +class StreamWrapper +{ + /** @var resource */ + public $context; + + /** @var StreamInterface */ + private $stream; + + /** @var string r, r+, or w */ + private $mode; + + /** + * Returns a resource representing the stream. + * + * @param StreamInterface $stream The stream to get a resource for + * + * @return resource + * @throws \InvalidArgumentException if stream is not readable or writable + */ + public static function getResource(StreamInterface $stream) + { + self::register(); + + if ($stream->isReadable()) { + $mode = $stream->isWritable() ? 'r+' : 'r'; + } elseif ($stream->isWritable()) { + $mode = 'w'; + } else { + throw new \InvalidArgumentException('The stream must be readable, ' + . 'writable, or both.'); + } + + return fopen('guzzle://stream', $mode, null, self::createStreamContext($stream)); + } + + /** + * Creates a stream context that can be used to open a stream as a php stream resource. + * + * @param StreamInterface $stream + * + * @return resource + */ + public static function createStreamContext(StreamInterface $stream) + { + return stream_context_create([ + 'guzzle' => ['stream' => $stream] + ]); + } + + /** + * Registers the stream wrapper if needed + */ + public static function register() + { + if (!in_array('guzzle', stream_get_wrappers())) { + stream_wrapper_register('guzzle', __CLASS__); + } + } + + public function stream_open($path, $mode, $options, &$opened_path) + { + $options = stream_context_get_options($this->context); + + if (!isset($options['guzzle']['stream'])) { + return false; + } + + $this->mode = $mode; + $this->stream = $options['guzzle']['stream']; + + return true; + } + + public function stream_read($count) + { + return $this->stream->read($count); + } + + public function stream_write($data) + { + return (int) $this->stream->write($data); + } + + public function stream_tell() + { + return $this->stream->tell(); + } + + public function stream_eof() + { + return $this->stream->eof(); + } + + public function stream_seek($offset, $whence) + { + $this->stream->seek($offset, $whence); + + return true; + } + + public function stream_cast($cast_as) + { + $stream = clone($this->stream); + + return $stream->detach(); + } + + public function stream_stat() + { + static $modeMap = [ + 'r' => 33060, + 'rb' => 33060, + 'r+' => 33206, + 'w' => 33188, + 'wb' => 33188 + ]; + + return [ + 'dev' => 0, + 'ino' => 0, + 'mode' => $modeMap[$this->mode], + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => $this->stream->getSize() ?: 0, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, + 'blksize' => 0, + 'blocks' => 0 + ]; + } + + public function url_stat($path, $flags) + { + return [ + 'dev' => 0, + 'ino' => 0, + 'mode' => 0, + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => 0, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, + 'blksize' => 0, + 'blocks' => 0 + ]; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/UploadedFile.php b/lib/aws/GuzzleHttp/Psr7/UploadedFile.php new file mode 100644 index 0000000..e62bd5c --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/UploadedFile.php @@ -0,0 +1,316 @@ +<?php +namespace GuzzleHttp\Psr7; + +use InvalidArgumentException; +use Psr\Http\Message\StreamInterface; +use Psr\Http\Message\UploadedFileInterface; +use RuntimeException; + +class UploadedFile implements UploadedFileInterface +{ + /** + * @var int[] + */ + private static $errors = [ + UPLOAD_ERR_OK, + UPLOAD_ERR_INI_SIZE, + UPLOAD_ERR_FORM_SIZE, + UPLOAD_ERR_PARTIAL, + UPLOAD_ERR_NO_FILE, + UPLOAD_ERR_NO_TMP_DIR, + UPLOAD_ERR_CANT_WRITE, + UPLOAD_ERR_EXTENSION, + ]; + + /** + * @var string + */ + private $clientFilename; + + /** + * @var string + */ + private $clientMediaType; + + /** + * @var int + */ + private $error; + + /** + * @var null|string + */ + private $file; + + /** + * @var bool + */ + private $moved = false; + + /** + * @var int + */ + private $size; + + /** + * @var StreamInterface|null + */ + private $stream; + + /** + * @param StreamInterface|string|resource $streamOrFile + * @param int $size + * @param int $errorStatus + * @param string|null $clientFilename + * @param string|null $clientMediaType + */ + public function __construct( + $streamOrFile, + $size, + $errorStatus, + $clientFilename = null, + $clientMediaType = null + ) { + $this->setError($errorStatus); + $this->setSize($size); + $this->setClientFilename($clientFilename); + $this->setClientMediaType($clientMediaType); + + if ($this->isOk()) { + $this->setStreamOrFile($streamOrFile); + } + } + + /** + * Depending on the value set file or stream variable + * + * @param mixed $streamOrFile + * @throws InvalidArgumentException + */ + private function setStreamOrFile($streamOrFile) + { + if (is_string($streamOrFile)) { + $this->file = $streamOrFile; + } elseif (is_resource($streamOrFile)) { + $this->stream = new Stream($streamOrFile); + } elseif ($streamOrFile instanceof StreamInterface) { + $this->stream = $streamOrFile; + } else { + throw new InvalidArgumentException( + 'Invalid stream or file provided for UploadedFile' + ); + } + } + + /** + * @param int $error + * @throws InvalidArgumentException + */ + private function setError($error) + { + if (false === is_int($error)) { + throw new InvalidArgumentException( + 'Upload file error status must be an integer' + ); + } + + if (false === in_array($error, UploadedFile::$errors)) { + throw new InvalidArgumentException( + 'Invalid error status for UploadedFile' + ); + } + + $this->error = $error; + } + + /** + * @param int $size + * @throws InvalidArgumentException + */ + private function setSize($size) + { + if (false === is_int($size)) { + throw new InvalidArgumentException( + 'Upload file size must be an integer' + ); + } + + $this->size = $size; + } + + /** + * @param mixed $param + * @return boolean + */ + private function isStringOrNull($param) + { + return in_array(gettype($param), ['string', 'NULL']); + } + + /** + * @param mixed $param + * @return boolean + */ + private function isStringNotEmpty($param) + { + return is_string($param) && false === empty($param); + } + + /** + * @param string|null $clientFilename + * @throws InvalidArgumentException + */ + private function setClientFilename($clientFilename) + { + if (false === $this->isStringOrNull($clientFilename)) { + throw new InvalidArgumentException( + 'Upload file client filename must be a string or null' + ); + } + + $this->clientFilename = $clientFilename; + } + + /** + * @param string|null $clientMediaType + * @throws InvalidArgumentException + */ + private function setClientMediaType($clientMediaType) + { + if (false === $this->isStringOrNull($clientMediaType)) { + throw new InvalidArgumentException( + 'Upload file client media type must be a string or null' + ); + } + + $this->clientMediaType = $clientMediaType; + } + + /** + * Return true if there is no upload error + * + * @return boolean + */ + private function isOk() + { + return $this->error === UPLOAD_ERR_OK; + } + + /** + * @return boolean + */ + public function isMoved() + { + return $this->moved; + } + + /** + * @throws RuntimeException if is moved or not ok + */ + private function validateActive() + { + if (false === $this->isOk()) { + throw new RuntimeException('Cannot retrieve stream due to upload error'); + } + + if ($this->isMoved()) { + throw new RuntimeException('Cannot retrieve stream after it has already been moved'); + } + } + + /** + * {@inheritdoc} + * @throws RuntimeException if the upload was not successful. + */ + public function getStream() + { + $this->validateActive(); + + if ($this->stream instanceof StreamInterface) { + return $this->stream; + } + + return new LazyOpenStream($this->file, 'r+'); + } + + /** + * {@inheritdoc} + * + * @see http://php.net/is_uploaded_file + * @see http://php.net/move_uploaded_file + * @param string $targetPath Path to which to move the uploaded file. + * @throws RuntimeException if the upload was not successful. + * @throws InvalidArgumentException if the $path specified is invalid. + * @throws RuntimeException on any error during the move operation, or on + * the second or subsequent call to the method. + */ + public function moveTo($targetPath) + { + $this->validateActive(); + + if (false === $this->isStringNotEmpty($targetPath)) { + throw new InvalidArgumentException( + 'Invalid path provided for move operation; must be a non-empty string' + ); + } + + if ($this->file) { + $this->moved = php_sapi_name() == 'cli' + ? rename($this->file, $targetPath) + : move_uploaded_file($this->file, $targetPath); + } else { + copy_to_stream( + $this->getStream(), + new LazyOpenStream($targetPath, 'w') + ); + + $this->moved = true; + } + + if (false === $this->moved) { + throw new RuntimeException( + sprintf('Uploaded file could not be moved to %s', $targetPath) + ); + } + } + + /** + * {@inheritdoc} + * + * @return int|null The file size in bytes or null if unknown. + */ + public function getSize() + { + return $this->size; + } + + /** + * {@inheritdoc} + * + * @see http://php.net/manual/en/features.file-upload.errors.php + * @return int One of PHP's UPLOAD_ERR_XXX constants. + */ + public function getError() + { + return $this->error; + } + + /** + * {@inheritdoc} + * + * @return string|null The filename sent by the client or null if none + * was provided. + */ + public function getClientFilename() + { + return $this->clientFilename; + } + + /** + * {@inheritdoc} + */ + public function getClientMediaType() + { + return $this->clientMediaType; + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/Uri.php b/lib/aws/GuzzleHttp/Psr7/Uri.php new file mode 100644 index 0000000..3621956 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/Uri.php @@ -0,0 +1,738 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\UriInterface; + +/** + * PSR-7 URI implementation. + * + * @author Michael Dowling + * @author Tobias Schultze + * @author Matthew Weier O'Phinney + */ +class Uri implements UriInterface +{ + /** + * Absolute http and https URIs require a host per RFC 7230 Section 2.7 + * but in generic URIs the host can be empty. So for http(s) URIs + * we apply this default host when no host is given yet to form a + * valid URI. + */ + const HTTP_DEFAULT_HOST = 'localhost'; + + private static $defaultPorts = [ + 'http' => 80, + 'https' => 443, + 'ftp' => 21, + 'gopher' => 70, + 'nntp' => 119, + 'news' => 119, + 'telnet' => 23, + 'tn3270' => 23, + 'imap' => 143, + 'pop' => 110, + 'ldap' => 389, + ]; + + private static $charUnreserved = 'a-zA-Z0-9_\-\.~'; + private static $charSubDelims = '!\$&\'\(\)\*\+,;='; + private static $replaceQuery = ['=' => '%3D', '&' => '%26']; + + /** @var string Uri scheme. */ + private $scheme = ''; + + /** @var string Uri user info. */ + private $userInfo = ''; + + /** @var string Uri host. */ + private $host = ''; + + /** @var int|null Uri port. */ + private $port; + + /** @var string Uri path. */ + private $path = ''; + + /** @var string Uri query string. */ + private $query = ''; + + /** @var string Uri fragment. */ + private $fragment = ''; + + /** + * @param string $uri URI to parse + */ + public function __construct($uri = '') + { + // weak type check to also accept null until we can add scalar type hints + if ($uri != '') { + $parts = parse_url($uri); + if ($parts === false) { + throw new \InvalidArgumentException("Unable to parse URI: $uri"); + } + $this->applyParts($parts); + } + } + + public function __toString() + { + return self::composeComponents( + $this->scheme, + $this->getAuthority(), + $this->path, + $this->query, + $this->fragment + ); + } + + /** + * Composes a URI reference string from its various components. + * + * Usually this method does not need to be called manually but instead is used indirectly via + * `Psr\Http\Message\UriInterface::__toString`. + * + * PSR-7 UriInterface treats an empty component the same as a missing component as + * getQuery(), getFragment() etc. always return a string. This explains the slight + * difference to RFC 3986 Section 5.3. + * + * Another adjustment is that the authority separator is added even when the authority is missing/empty + * for the "file" scheme. This is because PHP stream functions like `file_get_contents` only work with + * `file:///myfile` but not with `file:/myfile` although they are equivalent according to RFC 3986. But + * `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to + * that format). + * + * @param string $scheme + * @param string $authority + * @param string $path + * @param string $query + * @param string $fragment + * + * @return string + * + * @link https://tools.ietf.org/html/rfc3986#section-5.3 + */ + public static function composeComponents($scheme, $authority, $path, $query, $fragment) + { + $uri = ''; + + // weak type checks to also accept null until we can add scalar type hints + if ($scheme != '') { + $uri .= $scheme . ':'; + } + + if ($authority != ''|| $scheme === 'file') { + $uri .= '//' . $authority; + } + + $uri .= $path; + + if ($query != '') { + $uri .= '?' . $query; + } + + if ($fragment != '') { + $uri .= '#' . $fragment; + } + + return $uri; + } + + /** + * Whether the URI has the default port of the current scheme. + * + * `Psr\Http\Message\UriInterface::getPort` may return null or the standard port. This method can be used + * independently of the implementation. + * + * @param UriInterface $uri + * + * @return bool + */ + public static function isDefaultPort(UriInterface $uri) + { + return $uri->getPort() === null + || (isset(self::$defaultPorts[$uri->getScheme()]) && $uri->getPort() === self::$defaultPorts[$uri->getScheme()]); + } + + /** + * Whether the URI is absolute, i.e. it has a scheme. + * + * An instance of UriInterface can either be an absolute URI or a relative reference. This method returns true + * if it is the former. An absolute URI has a scheme. A relative reference is used to express a URI relative + * to another URI, the base URI. Relative references can be divided into several forms: + * - network-path references, e.g. '//example.com/path' + * - absolute-path references, e.g. '/path' + * - relative-path references, e.g. 'subpath' + * + * @param UriInterface $uri + * + * @return bool + * @see Uri::isNetworkPathReference + * @see Uri::isAbsolutePathReference + * @see Uri::isRelativePathReference + * @link https://tools.ietf.org/html/rfc3986#section-4 + */ + public static function isAbsolute(UriInterface $uri) + { + return $uri->getScheme() !== ''; + } + + /** + * Whether the URI is a network-path reference. + * + * A relative reference that begins with two slash characters is termed an network-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isNetworkPathReference(UriInterface $uri) + { + return $uri->getScheme() === '' && $uri->getAuthority() !== ''; + } + + /** + * Whether the URI is a absolute-path reference. + * + * A relative reference that begins with a single slash character is termed an absolute-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isAbsolutePathReference(UriInterface $uri) + { + return $uri->getScheme() === '' + && $uri->getAuthority() === '' + && isset($uri->getPath()[0]) + && $uri->getPath()[0] === '/'; + } + + /** + * Whether the URI is a relative-path reference. + * + * A relative reference that does not begin with a slash character is termed a relative-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isRelativePathReference(UriInterface $uri) + { + return $uri->getScheme() === '' + && $uri->getAuthority() === '' + && (!isset($uri->getPath()[0]) || $uri->getPath()[0] !== '/'); + } + + /** + * Whether the URI is a same-document reference. + * + * A same-document reference refers to a URI that is, aside from its fragment + * component, identical to the base URI. When no base URI is given, only an empty + * URI reference (apart from its fragment) is considered a same-document reference. + * + * @param UriInterface $uri The URI to check + * @param UriInterface|null $base An optional base URI to compare against + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.4 + */ + public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null) + { + if ($base !== null) { + $uri = UriResolver::resolve($base, $uri); + + return ($uri->getScheme() === $base->getScheme()) + && ($uri->getAuthority() === $base->getAuthority()) + && ($uri->getPath() === $base->getPath()) + && ($uri->getQuery() === $base->getQuery()); + } + + return $uri->getScheme() === '' && $uri->getAuthority() === '' && $uri->getPath() === '' && $uri->getQuery() === ''; + } + + /** + * Removes dot segments from a path and returns the new path. + * + * @param string $path + * + * @return string + * + * @deprecated since version 1.4. Use UriResolver::removeDotSegments instead. + * @see UriResolver::removeDotSegments + */ + public static function removeDotSegments($path) + { + return UriResolver::removeDotSegments($path); + } + + /** + * Converts the relative URI into a new URI that is resolved against the base URI. + * + * @param UriInterface $base Base URI + * @param string|UriInterface $rel Relative URI + * + * @return UriInterface + * + * @deprecated since version 1.4. Use UriResolver::resolve instead. + * @see UriResolver::resolve + */ + public static function resolve(UriInterface $base, $rel) + { + if (!($rel instanceof UriInterface)) { + $rel = new self($rel); + } + + return UriResolver::resolve($base, $rel); + } + + /** + * Creates a new URI with a specific query string value removed. + * + * Any existing query string values that exactly match the provided key are + * removed. + * + * @param UriInterface $uri URI to use as a base. + * @param string $key Query string key to remove. + * + * @return UriInterface + */ + public static function withoutQueryValue(UriInterface $uri, $key) + { + $result = self::getFilteredQueryString($uri, [$key]); + + return $uri->withQuery(implode('&', $result)); + } + + /** + * Creates a new URI with a specific query string value. + * + * Any existing query string values that exactly match the provided key are + * removed and replaced with the given key value pair. + * + * A value of null will set the query string key without a value, e.g. "key" + * instead of "key=value". + * + * @param UriInterface $uri URI to use as a base. + * @param string $key Key to set. + * @param string|null $value Value to set + * + * @return UriInterface + */ + public static function withQueryValue(UriInterface $uri, $key, $value) + { + $result = self::getFilteredQueryString($uri, [$key]); + + $result[] = self::generateQueryString($key, $value); + + return $uri->withQuery(implode('&', $result)); + } + + /** + * Creates a new URI with multiple specific query string values. + * + * It has the same behavior as withQueryValue() but for an associative array of key => value. + * + * @param UriInterface $uri URI to use as a base. + * @param array $keyValueArray Associative array of key and values + * + * @return UriInterface + */ + public static function withQueryValues(UriInterface $uri, array $keyValueArray) + { + $result = self::getFilteredQueryString($uri, array_keys($keyValueArray)); + + foreach ($keyValueArray as $key => $value) { + $result[] = self::generateQueryString($key, $value); + } + + return $uri->withQuery(implode('&', $result)); + } + + /** + * Creates a URI from a hash of `parse_url` components. + * + * @param array $parts + * + * @return UriInterface + * @link http://php.net/manual/en/function.parse-url.php + * + * @throws \InvalidArgumentException If the components do not form a valid URI. + */ + public static function fromParts(array $parts) + { + $uri = new self(); + $uri->applyParts($parts); + $uri->validateState(); + + return $uri; + } + + public function getScheme() + { + return $this->scheme; + } + + public function getAuthority() + { + $authority = $this->host; + if ($this->userInfo !== '') { + $authority = $this->userInfo . '@' . $authority; + } + + if ($this->port !== null) { + $authority .= ':' . $this->port; + } + + return $authority; + } + + public function getUserInfo() + { + return $this->userInfo; + } + + public function getHost() + { + return $this->host; + } + + public function getPort() + { + return $this->port; + } + + public function getPath() + { + return $this->path; + } + + public function getQuery() + { + return $this->query; + } + + public function getFragment() + { + return $this->fragment; + } + + public function withScheme($scheme) + { + $scheme = $this->filterScheme($scheme); + + if ($this->scheme === $scheme) { + return $this; + } + + $new = clone $this; + $new->scheme = $scheme; + $new->removeDefaultPort(); + $new->validateState(); + + return $new; + } + + public function withUserInfo($user, $password = null) + { + $info = $user; + if ($password != '') { + $info .= ':' . $password; + } + + if ($this->userInfo === $info) { + return $this; + } + + $new = clone $this; + $new->userInfo = $info; + $new->validateState(); + + return $new; + } + + public function withHost($host) + { + $host = $this->filterHost($host); + + if ($this->host === $host) { + return $this; + } + + $new = clone $this; + $new->host = $host; + $new->validateState(); + + return $new; + } + + public function withPort($port) + { + $port = $this->filterPort($port); + + if ($this->port === $port) { + return $this; + } + + $new = clone $this; + $new->port = $port; + $new->removeDefaultPort(); + $new->validateState(); + + return $new; + } + + public function withPath($path) + { + $path = $this->filterPath($path); + + if ($this->path === $path) { + return $this; + } + + $new = clone $this; + $new->path = $path; + $new->validateState(); + + return $new; + } + + public function withQuery($query) + { + $query = $this->filterQueryAndFragment($query); + + if ($this->query === $query) { + return $this; + } + + $new = clone $this; + $new->query = $query; + + return $new; + } + + public function withFragment($fragment) + { + $fragment = $this->filterQueryAndFragment($fragment); + + if ($this->fragment === $fragment) { + return $this; + } + + $new = clone $this; + $new->fragment = $fragment; + + return $new; + } + + /** + * Apply parse_url parts to a URI. + * + * @param array $parts Array of parse_url parts to apply. + */ + private function applyParts(array $parts) + { + $this->scheme = isset($parts['scheme']) + ? $this->filterScheme($parts['scheme']) + : ''; + $this->userInfo = isset($parts['user']) ? $parts['user'] : ''; + $this->host = isset($parts['host']) + ? $this->filterHost($parts['host']) + : ''; + $this->port = isset($parts['port']) + ? $this->filterPort($parts['port']) + : null; + $this->path = isset($parts['path']) + ? $this->filterPath($parts['path']) + : ''; + $this->query = isset($parts['query']) + ? $this->filterQueryAndFragment($parts['query']) + : ''; + $this->fragment = isset($parts['fragment']) + ? $this->filterQueryAndFragment($parts['fragment']) + : ''; + if (isset($parts['pass'])) { + $this->userInfo .= ':' . $parts['pass']; + } + + $this->removeDefaultPort(); + } + + /** + * @param string $scheme + * + * @return string + * + * @throws \InvalidArgumentException If the scheme is invalid. + */ + private function filterScheme($scheme) + { + if (!is_string($scheme)) { + throw new \InvalidArgumentException('Scheme must be a string'); + } + + return strtolower($scheme); + } + + /** + * @param string $host + * + * @return string + * + * @throws \InvalidArgumentException If the host is invalid. + */ + private function filterHost($host) + { + if (!is_string($host)) { + throw new \InvalidArgumentException('Host must be a string'); + } + + return strtolower($host); + } + + /** + * @param int|null $port + * + * @return int|null + * + * @throws \InvalidArgumentException If the port is invalid. + */ + private function filterPort($port) + { + if ($port === null) { + return null; + } + + $port = (int) $port; + if (1 > $port || 0xffff < $port) { + throw new \InvalidArgumentException( + sprintf('Invalid port: %d. Must be between 1 and 65535', $port) + ); + } + + return $port; + } + + /** + * @param UriInterface $uri + * @param array $keys + * + * @return array + */ + private static function getFilteredQueryString(UriInterface $uri, array $keys) + { + $current = $uri->getQuery(); + + if ($current === '') { + return []; + } + + $decodedKeys = array_map('rawurldecode', $keys); + + return array_filter(explode('&', $current), function ($part) use ($decodedKeys) { + return !in_array(rawurldecode(explode('=', $part)[0]), $decodedKeys, true); + }); + } + + /** + * @param string $key + * @param string|null $value + * + * @return string + */ + private static function generateQueryString($key, $value) + { + // Query string separators ("=", "&") within the key or value need to be encoded + // (while preventing double-encoding) before setting the query string. All other + // chars that need percent-encoding will be encoded by withQuery(). + $queryString = strtr($key, self::$replaceQuery); + + if ($value !== null) { + $queryString .= '=' . strtr($value, self::$replaceQuery); + } + + return $queryString; + } + + private function removeDefaultPort() + { + if ($this->port !== null && self::isDefaultPort($this)) { + $this->port = null; + } + } + + /** + * Filters the path of a URI + * + * @param string $path + * + * @return string + * + * @throws \InvalidArgumentException If the path is invalid. + */ + private function filterPath($path) + { + if (!is_string($path)) { + throw new \InvalidArgumentException('Path must be a string'); + } + + return preg_replace_callback( + '/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\/]++|%(?![A-Fa-f0-9]{2}))/', + [$this, 'rawurlencodeMatchZero'], + $path + ); + } + + /** + * Filters the query string or fragment of a URI. + * + * @param string $str + * + * @return string + * + * @throws \InvalidArgumentException If the query or fragment is invalid. + */ + private function filterQueryAndFragment($str) + { + if (!is_string($str)) { + throw new \InvalidArgumentException('Query and fragment must be a string'); + } + + return preg_replace_callback( + '/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', + [$this, 'rawurlencodeMatchZero'], + $str + ); + } + + private function rawurlencodeMatchZero(array $match) + { + return rawurlencode($match[0]); + } + + private function validateState() + { + if ($this->host === '' && ($this->scheme === 'http' || $this->scheme === 'https')) { + $this->host = self::HTTP_DEFAULT_HOST; + } + + if ($this->getAuthority() === '') { + if (0 === strpos($this->path, '//')) { + throw new \InvalidArgumentException('The path of a URI without an authority must not start with two slashes "//"'); + } + if ($this->scheme === '' && false !== strpos(explode('/', $this->path, 2)[0], ':')) { + throw new \InvalidArgumentException('A relative URI must not have a path beginning with a segment containing a colon'); + } + } elseif (isset($this->path[0]) && $this->path[0] !== '/') { + @trigger_error( + 'The path of a URI with an authority must start with a slash "/" or be empty. Automagically fixing the URI ' . + 'by adding a leading slash to the path is deprecated since version 1.4 and will throw an exception instead.', + E_USER_DEPRECATED + ); + $this->path = '/'. $this->path; + //throw new \InvalidArgumentException('The path of a URI with an authority must start with a slash "/" or be empty'); + } + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/UriNormalizer.php b/lib/aws/GuzzleHttp/Psr7/UriNormalizer.php new file mode 100644 index 0000000..384c29e --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/UriNormalizer.php @@ -0,0 +1,216 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\UriInterface; + +/** + * Provides methods to normalize and compare URIs. + * + * @author Tobias Schultze + * + * @link https://tools.ietf.org/html/rfc3986#section-6 + */ +final class UriNormalizer +{ + /** + * Default normalizations which only include the ones that preserve semantics. + * + * self::CAPITALIZE_PERCENT_ENCODING | self::DECODE_UNRESERVED_CHARACTERS | self::CONVERT_EMPTY_PATH | + * self::REMOVE_DEFAULT_HOST | self::REMOVE_DEFAULT_PORT | self::REMOVE_DOT_SEGMENTS + */ + const PRESERVING_NORMALIZATIONS = 63; + + /** + * All letters within a percent-encoding triplet (e.g., "%3A") are case-insensitive, and should be capitalized. + * + * Example: http://example.org/a%c2%b1b → http://example.org/a%C2%B1b + */ + const CAPITALIZE_PERCENT_ENCODING = 1; + + /** + * Decodes percent-encoded octets of unreserved characters. + * + * For consistency, percent-encoded octets in the ranges of ALPHA (%41–%5A and %61–%7A), DIGIT (%30–%39), + * hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers and, + * when found in a URI, should be decoded to their corresponding unreserved characters by URI normalizers. + * + * Example: http://example.org/%7Eusern%61me/ → http://example.org/~username/ + */ + const DECODE_UNRESERVED_CHARACTERS = 2; + + /** + * Converts the empty path to "/" for http and https URIs. + * + * Example: http://example.org → http://example.org/ + */ + const CONVERT_EMPTY_PATH = 4; + + /** + * Removes the default host of the given URI scheme from the URI. + * + * Only the "file" scheme defines the default host "localhost". + * All of `file:/myfile`, `file:///myfile`, and `file://localhost/myfile` + * are equivalent according to RFC 3986. The first format is not accepted + * by PHPs stream functions and thus already normalized implicitly to the + * second format in the Uri class. See `GuzzleHttp\Psr7\Uri::composeComponents`. + * + * Example: file://localhost/myfile → file:///myfile + */ + const REMOVE_DEFAULT_HOST = 8; + + /** + * Removes the default port of the given URI scheme from the URI. + * + * Example: http://example.org:80/ → http://example.org/ + */ + const REMOVE_DEFAULT_PORT = 16; + + /** + * Removes unnecessary dot-segments. + * + * Dot-segments in relative-path references are not removed as it would + * change the semantics of the URI reference. + * + * Example: http://example.org/../a/b/../c/./d.html → http://example.org/a/c/d.html + */ + const REMOVE_DOT_SEGMENTS = 32; + + /** + * Paths which include two or more adjacent slashes are converted to one. + * + * Webservers usually ignore duplicate slashes and treat those URIs equivalent. + * But in theory those URIs do not need to be equivalent. So this normalization + * may change the semantics. Encoded slashes (%2F) are not removed. + * + * Example: http://example.org//foo///bar.html → http://example.org/foo/bar.html + */ + const REMOVE_DUPLICATE_SLASHES = 64; + + /** + * Sort query parameters with their values in alphabetical order. + * + * However, the order of parameters in a URI may be significant (this is not defined by the standard). + * So this normalization is not safe and may change the semantics of the URI. + * + * Example: ?lang=en&article=fred → ?article=fred&lang=en + * + * Note: The sorting is neither locale nor Unicode aware (the URI query does not get decoded at all) as the + * purpose is to be able to compare URIs in a reproducible way, not to have the params sorted perfectly. + */ + const SORT_QUERY_PARAMETERS = 128; + + /** + * Returns a normalized URI. + * + * The scheme and host component are already normalized to lowercase per PSR-7 UriInterface. + * This methods adds additional normalizations that can be configured with the $flags parameter. + * + * PSR-7 UriInterface cannot distinguish between an empty component and a missing component as + * getQuery(), getFragment() etc. always return a string. This means the URIs "/?#" and "/" are + * treated equivalent which is not necessarily true according to RFC 3986. But that difference + * is highly uncommon in reality. So this potential normalization is implied in PSR-7 as well. + * + * @param UriInterface $uri The URI to normalize + * @param int $flags A bitmask of normalizations to apply, see constants + * + * @return UriInterface The normalized URI + * @link https://tools.ietf.org/html/rfc3986#section-6.2 + */ + public static function normalize(UriInterface $uri, $flags = self::PRESERVING_NORMALIZATIONS) + { + if ($flags & self::CAPITALIZE_PERCENT_ENCODING) { + $uri = self::capitalizePercentEncoding($uri); + } + + if ($flags & self::DECODE_UNRESERVED_CHARACTERS) { + $uri = self::decodeUnreservedCharacters($uri); + } + + if ($flags & self::CONVERT_EMPTY_PATH && $uri->getPath() === '' && + ($uri->getScheme() === 'http' || $uri->getScheme() === 'https') + ) { + $uri = $uri->withPath('/'); + } + + if ($flags & self::REMOVE_DEFAULT_HOST && $uri->getScheme() === 'file' && $uri->getHost() === 'localhost') { + $uri = $uri->withHost(''); + } + + if ($flags & self::REMOVE_DEFAULT_PORT && $uri->getPort() !== null && Uri::isDefaultPort($uri)) { + $uri = $uri->withPort(null); + } + + if ($flags & self::REMOVE_DOT_SEGMENTS && !Uri::isRelativePathReference($uri)) { + $uri = $uri->withPath(UriResolver::removeDotSegments($uri->getPath())); + } + + if ($flags & self::REMOVE_DUPLICATE_SLASHES) { + $uri = $uri->withPath(preg_replace('#//++#', '/', $uri->getPath())); + } + + if ($flags & self::SORT_QUERY_PARAMETERS && $uri->getQuery() !== '') { + $queryKeyValues = explode('&', $uri->getQuery()); + sort($queryKeyValues); + $uri = $uri->withQuery(implode('&', $queryKeyValues)); + } + + return $uri; + } + + /** + * Whether two URIs can be considered equivalent. + * + * Both URIs are normalized automatically before comparison with the given $normalizations bitmask. The method also + * accepts relative URI references and returns true when they are equivalent. This of course assumes they will be + * resolved against the same base URI. If this is not the case, determination of equivalence or difference of + * relative references does not mean anything. + * + * @param UriInterface $uri1 An URI to compare + * @param UriInterface $uri2 An URI to compare + * @param int $normalizations A bitmask of normalizations to apply, see constants + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-6.1 + */ + public static function isEquivalent(UriInterface $uri1, UriInterface $uri2, $normalizations = self::PRESERVING_NORMALIZATIONS) + { + return (string) self::normalize($uri1, $normalizations) === (string) self::normalize($uri2, $normalizations); + } + + private static function capitalizePercentEncoding(UriInterface $uri) + { + $regex = '/(?:%[A-Fa-f0-9]{2})++/'; + + $callback = function (array $match) { + return strtoupper($match[0]); + }; + + return + $uri->withPath( + preg_replace_callback($regex, $callback, $uri->getPath()) + )->withQuery( + preg_replace_callback($regex, $callback, $uri->getQuery()) + ); + } + + private static function decodeUnreservedCharacters(UriInterface $uri) + { + $regex = '/%(?:2D|2E|5F|7E|3[0-9]|[46][1-9A-F]|[57][0-9A])/i'; + + $callback = function (array $match) { + return rawurldecode($match[0]); + }; + + return + $uri->withPath( + preg_replace_callback($regex, $callback, $uri->getPath()) + )->withQuery( + preg_replace_callback($regex, $callback, $uri->getQuery()) + ); + } + + private function __construct() + { + // cannot be instantiated + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/UriResolver.php b/lib/aws/GuzzleHttp/Psr7/UriResolver.php new file mode 100644 index 0000000..c1cb8a2 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/UriResolver.php @@ -0,0 +1,219 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\UriInterface; + +/** + * Resolves a URI reference in the context of a base URI and the opposite way. + * + * @author Tobias Schultze + * + * @link https://tools.ietf.org/html/rfc3986#section-5 + */ +final class UriResolver +{ + /** + * Removes dot segments from a path and returns the new path. + * + * @param string $path + * + * @return string + * @link http://tools.ietf.org/html/rfc3986#section-5.2.4 + */ + public static function removeDotSegments($path) + { + if ($path === '' || $path === '/') { + return $path; + } + + $results = []; + $segments = explode('/', $path); + foreach ($segments as $segment) { + if ($segment === '..') { + array_pop($results); + } elseif ($segment !== '.') { + $results[] = $segment; + } + } + + $newPath = implode('/', $results); + + if ($path[0] === '/' && (!isset($newPath[0]) || $newPath[0] !== '/')) { + // Re-add the leading slash if necessary for cases like "/.." + $newPath = '/' . $newPath; + } elseif ($newPath !== '' && ($segment === '.' || $segment === '..')) { + // Add the trailing slash if necessary + // If newPath is not empty, then $segment must be set and is the last segment from the foreach + $newPath .= '/'; + } + + return $newPath; + } + + /** + * Converts the relative URI into a new URI that is resolved against the base URI. + * + * @param UriInterface $base Base URI + * @param UriInterface $rel Relative URI + * + * @return UriInterface + * @link http://tools.ietf.org/html/rfc3986#section-5.2 + */ + public static function resolve(UriInterface $base, UriInterface $rel) + { + if ((string) $rel === '') { + // we can simply return the same base URI instance for this same-document reference + return $base; + } + + if ($rel->getScheme() != '') { + return $rel->withPath(self::removeDotSegments($rel->getPath())); + } + + if ($rel->getAuthority() != '') { + $targetAuthority = $rel->getAuthority(); + $targetPath = self::removeDotSegments($rel->getPath()); + $targetQuery = $rel->getQuery(); + } else { + $targetAuthority = $base->getAuthority(); + if ($rel->getPath() === '') { + $targetPath = $base->getPath(); + $targetQuery = $rel->getQuery() != '' ? $rel->getQuery() : $base->getQuery(); + } else { + if ($rel->getPath()[0] === '/') { + $targetPath = $rel->getPath(); + } else { + if ($targetAuthority != '' && $base->getPath() === '') { + $targetPath = '/' . $rel->getPath(); + } else { + $lastSlashPos = strrpos($base->getPath(), '/'); + if ($lastSlashPos === false) { + $targetPath = $rel->getPath(); + } else { + $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1) . $rel->getPath(); + } + } + } + $targetPath = self::removeDotSegments($targetPath); + $targetQuery = $rel->getQuery(); + } + } + + return new Uri(Uri::composeComponents( + $base->getScheme(), + $targetAuthority, + $targetPath, + $targetQuery, + $rel->getFragment() + )); + } + + /** + * Returns the target URI as a relative reference from the base URI. + * + * This method is the counterpart to resolve(): + * + * (string) $target === (string) UriResolver::resolve($base, UriResolver::relativize($base, $target)) + * + * One use-case is to use the current request URI as base URI and then generate relative links in your documents + * to reduce the document size or offer self-contained downloadable document archives. + * + * $base = new Uri('http://example.com/a/b/'); + * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/c')); // prints 'c'. + * echo UriResolver::relativize($base, new Uri('http://example.com/a/x/y')); // prints '../x/y'. + * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/?q')); // prints '?q'. + * echo UriResolver::relativize($base, new Uri('http://example.org/a/b/')); // prints '//example.org/a/b/'. + * + * This method also accepts a target that is already relative and will try to relativize it further. Only a + * relative-path reference will be returned as-is. + * + * echo UriResolver::relativize($base, new Uri('/a/b/c')); // prints 'c' as well + * + * @param UriInterface $base Base URI + * @param UriInterface $target Target URI + * + * @return UriInterface The relative URI reference + */ + public static function relativize(UriInterface $base, UriInterface $target) + { + if ($target->getScheme() !== '' && + ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '') + ) { + return $target; + } + + if (Uri::isRelativePathReference($target)) { + // As the target is already highly relative we return it as-is. It would be possible to resolve + // the target with `$target = self::resolve($base, $target);` and then try make it more relative + // by removing a duplicate query. But let's not do that automatically. + return $target; + } + + if ($target->getAuthority() !== '' && $base->getAuthority() !== $target->getAuthority()) { + return $target->withScheme(''); + } + + // We must remove the path before removing the authority because if the path starts with two slashes, the URI + // would turn invalid. And we also cannot set a relative path before removing the authority, as that is also + // invalid. + $emptyPathUri = $target->withScheme('')->withPath('')->withUserInfo('')->withPort(null)->withHost(''); + + if ($base->getPath() !== $target->getPath()) { + return $emptyPathUri->withPath(self::getRelativePath($base, $target)); + } + + if ($base->getQuery() === $target->getQuery()) { + // Only the target fragment is left. And it must be returned even if base and target fragment are the same. + return $emptyPathUri->withQuery(''); + } + + // If the base URI has a query but the target has none, we cannot return an empty path reference as it would + // inherit the base query component when resolving. + if ($target->getQuery() === '') { + $segments = explode('/', $target->getPath()); + $lastSegment = end($segments); + + return $emptyPathUri->withPath($lastSegment === '' ? './' : $lastSegment); + } + + return $emptyPathUri; + } + + private static function getRelativePath(UriInterface $base, UriInterface $target) + { + $sourceSegments = explode('/', $base->getPath()); + $targetSegments = explode('/', $target->getPath()); + array_pop($sourceSegments); + $targetLastSegment = array_pop($targetSegments); + foreach ($sourceSegments as $i => $segment) { + if (isset($targetSegments[$i]) && $segment === $targetSegments[$i]) { + unset($sourceSegments[$i], $targetSegments[$i]); + } else { + break; + } + } + $targetSegments[] = $targetLastSegment; + $relativePath = str_repeat('../', count($sourceSegments)) . implode('/', $targetSegments); + + // A reference to am empty last segment or an empty first sub-segment must be prefixed with "./". + // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used + // as the first segment of a relative-path reference, as it would be mistaken for a scheme name. + if ('' === $relativePath || false !== strpos(explode('/', $relativePath, 2)[0], ':')) { + $relativePath = "./$relativePath"; + } elseif ('/' === $relativePath[0]) { + if ($base->getAuthority() != '' && $base->getPath() === '') { + // In this case an extra slash is added by resolve() automatically. So we must not add one here. + $relativePath = ".$relativePath"; + } else { + $relativePath = "./$relativePath"; + } + } + + return $relativePath; + } + + private function __construct() + { + // cannot be instantiated + } +} diff --git a/lib/aws/GuzzleHttp/Psr7/functions.php b/lib/aws/GuzzleHttp/Psr7/functions.php new file mode 100644 index 0000000..957bfb4 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/functions.php @@ -0,0 +1,898 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\MessageInterface; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Psr\Http\Message\StreamInterface; +use Psr\Http\Message\UriInterface; + +/** + * Returns the string representation of an HTTP message. + * + * @param MessageInterface $message Message to convert to a string. + * + * @return string + */ +function str(MessageInterface $message) +{ + if ($message instanceof RequestInterface) { + $msg = trim($message->getMethod() . ' ' + . $message->getRequestTarget()) + . ' HTTP/' . $message->getProtocolVersion(); + if (!$message->hasHeader('host')) { + $msg .= "\r\nHost: " . $message->getUri()->getHost(); + } + } elseif ($message instanceof ResponseInterface) { + $msg = 'HTTP/' . $message->getProtocolVersion() . ' ' + . $message->getStatusCode() . ' ' + . $message->getReasonPhrase(); + } else { + throw new \InvalidArgumentException('Unknown message type'); + } + + foreach ($message->getHeaders() as $name => $values) { + $msg .= "\r\n{$name}: " . implode(', ', $values); + } + + return "{$msg}\r\n\r\n" . $message->getBody(); +} + +/** + * Returns a UriInterface for the given value. + * + * This function accepts a string or {@see Psr\Http\Message\UriInterface} and + * returns a UriInterface for the given value. If the value is already a + * `UriInterface`, it is returned as-is. + * + * @param string|UriInterface $uri + * + * @return UriInterface + * @throws \InvalidArgumentException + */ +function uri_for($uri) +{ + if ($uri instanceof UriInterface) { + return $uri; + } elseif (is_string($uri)) { + return new Uri($uri); + } + + throw new \InvalidArgumentException('URI must be a string or UriInterface'); +} + +/** + * Create a new stream based on the input type. + * + * Options is an associative array that can contain the following keys: + * - metadata: Array of custom metadata. + * - size: Size of the stream. + * + * @param resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource Entity body data + * @param array $options Additional options + * + * @return StreamInterface + * @throws \InvalidArgumentException if the $resource arg is not valid. + */ +function stream_for($resource = '', array $options = []) +{ + if (is_scalar($resource)) { + $stream = fopen('php://temp', 'r+'); + if ($resource !== '') { + fwrite($stream, $resource); + fseek($stream, 0); + } + return new Stream($stream, $options); + } + + switch (gettype($resource)) { + case 'resource': + return new Stream($resource, $options); + case 'object': + if ($resource instanceof StreamInterface) { + return $resource; + } elseif ($resource instanceof \Iterator) { + return new PumpStream(function () use ($resource) { + if (!$resource->valid()) { + return false; + } + $result = $resource->current(); + $resource->next(); + return $result; + }, $options); + } elseif (method_exists($resource, '__toString')) { + return stream_for((string) $resource, $options); + } + break; + case 'NULL': + return new Stream(fopen('php://temp', 'r+'), $options); + } + + if (is_callable($resource)) { + return new PumpStream($resource, $options); + } + + throw new \InvalidArgumentException('Invalid resource type: ' . gettype($resource)); +} + +/** + * Parse an array of header values containing ";" separated data into an + * array of associative arrays representing the header key value pair + * data of the header. When a parameter does not contain a value, but just + * contains a key, this function will inject a key with a '' string value. + * + * @param string|array $header Header to parse into components. + * + * @return array Returns the parsed header values. + */ +function parse_header($header) +{ + static $trimmed = "\"' \n\t\r"; + $params = $matches = []; + + foreach (normalize_header($header) as $val) { + $part = []; + foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) { + if (preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { + $m = $matches[0]; + if (isset($m[1])) { + $part[trim($m[0], $trimmed)] = trim($m[1], $trimmed); + } else { + $part[] = trim($m[0], $trimmed); + } + } + } + if ($part) { + $params[] = $part; + } + } + + return $params; +} + +/** + * Converts an array of header values that may contain comma separated + * headers into an array of headers with no comma separated values. + * + * @param string|array $header Header to normalize. + * + * @return array Returns the normalized header field values. + */ +function normalize_header($header) +{ + if (!is_array($header)) { + return array_map('trim', explode(',', $header)); + } + + $result = []; + foreach ($header as $value) { + foreach ((array) $value as $v) { + if (strpos($v, ',') === false) { + $result[] = $v; + continue; + } + foreach (preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) { + $result[] = trim($vv); + } + } + } + + return $result; +} + +/** + * Clone and modify a request with the given changes. + * + * The changes can be one of: + * - method: (string) Changes the HTTP method. + * - set_headers: (array) Sets the given headers. + * - remove_headers: (array) Remove the given headers. + * - body: (mixed) Sets the given body. + * - uri: (UriInterface) Set the URI. + * - query: (string) Set the query string value of the URI. + * - version: (string) Set the protocol version. + * + * @param RequestInterface $request Request to clone and modify. + * @param array $changes Changes to apply. + * + * @return RequestInterface + */ +function modify_request(RequestInterface $request, array $changes) +{ + if (!$changes) { + return $request; + } + + $headers = $request->getHeaders(); + + if (!isset($changes['uri'])) { + $uri = $request->getUri(); + } else { + // Remove the host header if one is on the URI + if ($host = $changes['uri']->getHost()) { + $changes['set_headers']['Host'] = $host; + + if ($port = $changes['uri']->getPort()) { + $standardPorts = ['http' => 80, 'https' => 443]; + $scheme = $changes['uri']->getScheme(); + if (isset($standardPorts[$scheme]) && $port != $standardPorts[$scheme]) { + $changes['set_headers']['Host'] .= ':'.$port; + } + } + } + $uri = $changes['uri']; + } + + if (!empty($changes['remove_headers'])) { + $headers = _caseless_remove($changes['remove_headers'], $headers); + } + + if (!empty($changes['set_headers'])) { + $headers = _caseless_remove(array_keys($changes['set_headers']), $headers); + $headers = $changes['set_headers'] + $headers; + } + + if (isset($changes['query'])) { + $uri = $uri->withQuery($changes['query']); + } + + if ($request instanceof ServerRequestInterface) { + return (new ServerRequest( + isset($changes['method']) ? $changes['method'] : $request->getMethod(), + $uri, + $headers, + isset($changes['body']) ? $changes['body'] : $request->getBody(), + isset($changes['version']) + ? $changes['version'] + : $request->getProtocolVersion(), + $request->getServerParams() + )) + ->withParsedBody($request->getParsedBody()) + ->withQueryParams($request->getQueryParams()) + ->withCookieParams($request->getCookieParams()) + ->withUploadedFiles($request->getUploadedFiles()); + } + + return new Request( + isset($changes['method']) ? $changes['method'] : $request->getMethod(), + $uri, + $headers, + isset($changes['body']) ? $changes['body'] : $request->getBody(), + isset($changes['version']) + ? $changes['version'] + : $request->getProtocolVersion() + ); +} + +/** + * Attempts to rewind a message body and throws an exception on failure. + * + * The body of the message will only be rewound if a call to `tell()` returns a + * value other than `0`. + * + * @param MessageInterface $message Message to rewind + * + * @throws \RuntimeException + */ +function rewind_body(MessageInterface $message) +{ + $body = $message->getBody(); + + if ($body->tell()) { + $body->rewind(); + } +} + +/** + * Safely opens a PHP stream resource using a filename. + * + * When fopen fails, PHP normally raises a warning. This function adds an + * error handler that checks for errors and throws an exception instead. + * + * @param string $filename File to open + * @param string $mode Mode used to open the file + * + * @return resource + * @throws \RuntimeException if the file cannot be opened + */ +function try_fopen($filename, $mode) +{ + $ex = null; + set_error_handler(function () use ($filename, $mode, &$ex) { + $ex = new \RuntimeException(sprintf( + 'Unable to open %s using mode %s: %s', + $filename, + $mode, + func_get_args()[1] + )); + }); + + $handle = fopen($filename, $mode); + restore_error_handler(); + + if ($ex) { + /** @var $ex \RuntimeException */ + throw $ex; + } + + return $handle; +} + +/** + * Copy the contents of a stream into a string until the given number of + * bytes have been read. + * + * @param StreamInterface $stream Stream to read + * @param int $maxLen Maximum number of bytes to read. Pass -1 + * to read the entire stream. + * @return string + * @throws \RuntimeException on error. + */ +function copy_to_string(StreamInterface $stream, $maxLen = -1) +{ + $buffer = ''; + + if ($maxLen === -1) { + while (!$stream->eof()) { + $buf = $stream->read(1048576); + // Using a loose equality here to match on '' and false. + if ($buf == null) { + break; + } + $buffer .= $buf; + } + return $buffer; + } + + $len = 0; + while (!$stream->eof() && $len < $maxLen) { + $buf = $stream->read($maxLen - $len); + // Using a loose equality here to match on '' and false. + if ($buf == null) { + break; + } + $buffer .= $buf; + $len = strlen($buffer); + } + + return $buffer; +} + +/** + * Copy the contents of a stream into another stream until the given number + * of bytes have been read. + * + * @param StreamInterface $source Stream to read from + * @param StreamInterface $dest Stream to write to + * @param int $maxLen Maximum number of bytes to read. Pass -1 + * to read the entire stream. + * + * @throws \RuntimeException on error. + */ +function copy_to_stream( + StreamInterface $source, + StreamInterface $dest, + $maxLen = -1 +) { + $bufferSize = 8192; + + if ($maxLen === -1) { + while (!$source->eof()) { + if (!$dest->write($source->read($bufferSize))) { + break; + } + } + } else { + $remaining = $maxLen; + while ($remaining > 0 && !$source->eof()) { + $buf = $source->read(min($bufferSize, $remaining)); + $len = strlen($buf); + if (!$len) { + break; + } + $remaining -= $len; + $dest->write($buf); + } + } +} + +/** + * Calculate a hash of a Stream + * + * @param StreamInterface $stream Stream to calculate the hash for + * @param string $algo Hash algorithm (e.g. md5, crc32, etc) + * @param bool $rawOutput Whether or not to use raw output + * + * @return string Returns the hash of the stream + * @throws \RuntimeException on error. + */ +function hash( + StreamInterface $stream, + $algo, + $rawOutput = false +) { + $pos = $stream->tell(); + + if ($pos > 0) { + $stream->rewind(); + } + + $ctx = hash_init($algo); + while (!$stream->eof()) { + hash_update($ctx, $stream->read(1048576)); + } + + $out = hash_final($ctx, (bool) $rawOutput); + $stream->seek($pos); + + return $out; +} + +/** + * Read a line from the stream up to the maximum allowed buffer length + * + * @param StreamInterface $stream Stream to read from + * @param int $maxLength Maximum buffer length + * + * @return string + */ +function readline(StreamInterface $stream, $maxLength = null) +{ + $buffer = ''; + $size = 0; + + while (!$stream->eof()) { + // Using a loose equality here to match on '' and false. + if (null == ($byte = $stream->read(1))) { + return $buffer; + } + $buffer .= $byte; + // Break when a new line is found or the max length - 1 is reached + if ($byte === "\n" || ++$size === $maxLength - 1) { + break; + } + } + + return $buffer; +} + +/** + * Parses a request message string into a request object. + * + * @param string $message Request message string. + * + * @return Request + */ +function parse_request($message) +{ + $data = _parse_message($message); + $matches = []; + if (!preg_match('/^[\S]+\s+([a-zA-Z]+:\/\/|\/).*/', $data['start-line'], $matches)) { + throw new \InvalidArgumentException('Invalid request string'); + } + $parts = explode(' ', $data['start-line'], 3); + $version = isset($parts[2]) ? explode('/', $parts[2])[1] : '1.1'; + + $request = new Request( + $parts[0], + $matches[1] === '/' ? _parse_request_uri($parts[1], $data['headers']) : $parts[1], + $data['headers'], + $data['body'], + $version + ); + + return $matches[1] === '/' ? $request : $request->withRequestTarget($parts[1]); +} + +/** + * Parses a response message string into a response object. + * + * @param string $message Response message string. + * + * @return Response + */ +function parse_response($message) +{ + $data = _parse_message($message); + // According to https://tools.ietf.org/html/rfc7230#section-3.1.2 the space + // between status-code and reason-phrase is required. But browsers accept + // responses without space and reason as well. + if (!preg_match('/^HTTP\/.* [0-9]{3}( .*|$)/', $data['start-line'])) { + throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']); + } + $parts = explode(' ', $data['start-line'], 3); + + return new Response( + $parts[1], + $data['headers'], + $data['body'], + explode('/', $parts[0])[1], + isset($parts[2]) ? $parts[2] : null + ); +} + +/** + * Parse a query string into an associative array. + * + * If multiple values are found for the same key, the value of that key + * value pair will become an array. This function does not parse nested + * PHP style arrays into an associative array (e.g., foo[a]=1&foo[b]=2 will + * be parsed into ['foo[a]' => '1', 'foo[b]' => '2']). + * + * @param string $str Query string to parse + * @param int|bool $urlEncoding How the query string is encoded + * + * @return array + */ +function parse_query($str, $urlEncoding = true) +{ + $result = []; + + if ($str === '') { + return $result; + } + + if ($urlEncoding === true) { + $decoder = function ($value) { + return rawurldecode(str_replace('+', ' ', $value)); + }; + } elseif ($urlEncoding === PHP_QUERY_RFC3986) { + $decoder = 'rawurldecode'; + } elseif ($urlEncoding === PHP_QUERY_RFC1738) { + $decoder = 'urldecode'; + } else { + $decoder = function ($str) { return $str; }; + } + + foreach (explode('&', $str) as $kvp) { + $parts = explode('=', $kvp, 2); + $key = $decoder($parts[0]); + $value = isset($parts[1]) ? $decoder($parts[1]) : null; + if (!isset($result[$key])) { + $result[$key] = $value; + } else { + if (!is_array($result[$key])) { + $result[$key] = [$result[$key]]; + } + $result[$key][] = $value; + } + } + + return $result; +} + +/** + * Build a query string from an array of key value pairs. + * + * This function can use the return value of parse_query() to build a query + * string. This function does not modify the provided keys when an array is + * encountered (like http_build_query would). + * + * @param array $params Query string parameters. + * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 + * to encode using RFC3986, or PHP_QUERY_RFC1738 + * to encode using RFC1738. + * @return string + */ +function build_query(array $params, $encoding = PHP_QUERY_RFC3986) +{ + if (!$params) { + return ''; + } + + if ($encoding === false) { + $encoder = function ($str) { return $str; }; + } elseif ($encoding === PHP_QUERY_RFC3986) { + $encoder = 'rawurlencode'; + } elseif ($encoding === PHP_QUERY_RFC1738) { + $encoder = 'urlencode'; + } else { + throw new \InvalidArgumentException('Invalid type'); + } + + $qs = ''; + foreach ($params as $k => $v) { + $k = $encoder($k); + if (!is_array($v)) { + $qs .= $k; + if ($v !== null) { + $qs .= '=' . $encoder($v); + } + $qs .= '&'; + } else { + foreach ($v as $vv) { + $qs .= $k; + if ($vv !== null) { + $qs .= '=' . $encoder($vv); + } + $qs .= '&'; + } + } + } + + return $qs ? (string) substr($qs, 0, -1) : ''; +} + +/** + * Determines the mimetype of a file by looking at its extension. + * + * @param $filename + * + * @return null|string + */ +function mimetype_from_filename($filename) +{ + return mimetype_from_extension(pathinfo($filename, PATHINFO_EXTENSION)); +} + +/** + * Maps a file extensions to a mimetype. + * + * @param $extension string The file extension. + * + * @return string|null + * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types + */ +function mimetype_from_extension($extension) +{ + static $mimetypes = [ + '3gp' => 'video/3gpp', + '7z' => 'application/x-7z-compressed', + 'aac' => 'audio/x-aac', + 'ai' => 'application/postscript', + 'aif' => 'audio/x-aiff', + 'asc' => 'text/plain', + 'asf' => 'video/x-ms-asf', + 'atom' => 'application/atom+xml', + 'avi' => 'video/x-msvideo', + 'bmp' => 'image/bmp', + 'bz2' => 'application/x-bzip2', + 'cer' => 'application/pkix-cert', + 'crl' => 'application/pkix-crl', + 'crt' => 'application/x-x509-ca-cert', + 'css' => 'text/css', + 'csv' => 'text/csv', + 'cu' => 'application/cu-seeme', + 'deb' => 'application/x-debian-package', + 'doc' => 'application/msword', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dvi' => 'application/x-dvi', + 'eot' => 'application/vnd.ms-fontobject', + 'eps' => 'application/postscript', + 'epub' => 'application/epub+zip', + 'etx' => 'text/x-setext', + 'flac' => 'audio/flac', + 'flv' => 'video/x-flv', + 'gif' => 'image/gif', + 'gz' => 'application/gzip', + 'htm' => 'text/html', + 'html' => 'text/html', + 'ico' => 'image/x-icon', + 'ics' => 'text/calendar', + 'ini' => 'text/plain', + 'iso' => 'application/x-iso9660-image', + 'jar' => 'application/java-archive', + 'jpe' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'js' => 'text/javascript', + 'json' => 'application/json', + 'latex' => 'application/x-latex', + 'log' => 'text/plain', + 'm4a' => 'audio/mp4', + 'm4v' => 'video/mp4', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mov' => 'video/quicktime', + 'mkv' => 'video/x-matroska', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mp4a' => 'audio/mp4', + 'mp4v' => 'video/mp4', + 'mpe' => 'video/mpeg', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpg4' => 'video/mp4', + 'oga' => 'audio/ogg', + 'ogg' => 'audio/ogg', + 'ogv' => 'video/ogg', + 'ogx' => 'application/ogg', + 'pbm' => 'image/x-portable-bitmap', + 'pdf' => 'application/pdf', + 'pgm' => 'image/x-portable-graymap', + 'png' => 'image/png', + 'pnm' => 'image/x-portable-anymap', + 'ppm' => 'image/x-portable-pixmap', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'ps' => 'application/postscript', + 'qt' => 'video/quicktime', + 'rar' => 'application/x-rar-compressed', + 'ras' => 'image/x-cmu-raster', + 'rss' => 'application/rss+xml', + 'rtf' => 'application/rtf', + 'sgm' => 'text/sgml', + 'sgml' => 'text/sgml', + 'svg' => 'image/svg+xml', + 'swf' => 'application/x-shockwave-flash', + 'tar' => 'application/x-tar', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'torrent' => 'application/x-bittorrent', + 'ttf' => 'application/x-font-ttf', + 'txt' => 'text/plain', + 'wav' => 'audio/x-wav', + 'webm' => 'video/webm', + 'wma' => 'audio/x-ms-wma', + 'wmv' => 'video/x-ms-wmv', + 'woff' => 'application/x-font-woff', + 'wsdl' => 'application/wsdl+xml', + 'xbm' => 'image/x-xbitmap', + 'xls' => 'application/vnd.ms-excel', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xml' => 'application/xml', + 'xpm' => 'image/x-xpixmap', + 'xwd' => 'image/x-xwindowdump', + 'yaml' => 'text/yaml', + 'yml' => 'text/yaml', + 'zip' => 'application/zip', + ]; + + $extension = strtolower($extension); + + return isset($mimetypes[$extension]) + ? $mimetypes[$extension] + : null; +} + +/** + * Parses an HTTP message into an associative array. + * + * The array contains the "start-line" key containing the start line of + * the message, "headers" key containing an associative array of header + * array values, and a "body" key containing the body of the message. + * + * @param string $message HTTP request or response to parse. + * + * @return array + * @internal + */ +function _parse_message($message) +{ + if (!$message) { + throw new \InvalidArgumentException('Invalid message'); + } + + $message = ltrim($message, "\r\n"); + + $messageParts = preg_split("/\r?\n\r?\n/", $message, 2); + + if ($messageParts === false || count($messageParts) !== 2) { + throw new \InvalidArgumentException('Invalid message: Missing header delimiter'); + } + + list($rawHeaders, $body) = $messageParts; + $rawHeaders .= "\r\n"; // Put back the delimiter we split previously + $headerParts = preg_split("/\r?\n/", $rawHeaders, 2); + + if ($headerParts === false || count($headerParts) !== 2) { + throw new \InvalidArgumentException('Invalid message: Missing status line'); + } + + list($startLine, $rawHeaders) = $headerParts; + + if (preg_match("/(?:^HTTP\/|^[A-Z]+ \S+ HTTP\/)(\d+(?:\.\d+)?)/i", $startLine, $matches) && $matches[1] === '1.0') { + // Header folding is deprecated for HTTP/1.1, but allowed in HTTP/1.0 + $rawHeaders = preg_replace(Rfc7230::HEADER_FOLD_REGEX, ' ', $rawHeaders); + } + + /** @var array[] $headerLines */ + $count = preg_match_all(Rfc7230::HEADER_REGEX, $rawHeaders, $headerLines, PREG_SET_ORDER); + + // If these aren't the same, then one line didn't match and there's an invalid header. + if ($count !== substr_count($rawHeaders, "\n")) { + // Folding is deprecated, see https://tools.ietf.org/html/rfc7230#section-3.2.4 + if (preg_match(Rfc7230::HEADER_FOLD_REGEX, $rawHeaders)) { + throw new \InvalidArgumentException('Invalid header syntax: Obsolete line folding'); + } + + throw new \InvalidArgumentException('Invalid header syntax'); + } + + $headers = []; + + foreach ($headerLines as $headerLine) { + $headers[$headerLine[1]][] = $headerLine[2]; + } + + return [ + 'start-line' => $startLine, + 'headers' => $headers, + 'body' => $body, + ]; +} + +/** + * Constructs a URI for an HTTP request message. + * + * @param string $path Path from the start-line + * @param array $headers Array of headers (each value an array). + * + * @return string + * @internal + */ +function _parse_request_uri($path, array $headers) +{ + $hostKey = array_filter(array_keys($headers), function ($k) { + return strtolower($k) === 'host'; + }); + + // If no host is found, then a full URI cannot be constructed. + if (!$hostKey) { + return $path; + } + + $host = $headers[reset($hostKey)][0]; + $scheme = substr($host, -4) === ':443' ? 'https' : 'http'; + + return $scheme . '://' . $host . '/' . ltrim($path, '/'); +} + +/** + * Get a short summary of the message body + * + * Will return `null` if the response is not printable. + * + * @param MessageInterface $message The message to get the body summary + * @param int $truncateAt The maximum allowed size of the summary + * + * @return null|string + */ +function get_message_body_summary(MessageInterface $message, $truncateAt = 120) +{ + $body = $message->getBody(); + + if (!$body->isSeekable() || !$body->isReadable()) { + return null; + } + + $size = $body->getSize(); + + if ($size === 0) { + return null; + } + + $summary = $body->read($truncateAt); + $body->rewind(); + + if ($size > $truncateAt) { + $summary .= ' (truncated...)'; + } + + // Matches any printable character, including unicode characters: + // letters, marks, numbers, punctuation, spacing, and separators. + if (preg_match('/[^\pL\pM\pN\pP\pS\pZ\n\r\t]/', $summary)) { + return null; + } + + return $summary; +} + +/** @internal */ +function _caseless_remove($keys, array $data) +{ + $result = []; + + foreach ($keys as &$key) { + $key = strtolower($key); + } + + foreach ($data as $k => $v) { + if (!in_array(strtolower($k), $keys)) { + $result[$k] = $v; + } + } + + return $result; +} diff --git a/lib/aws/GuzzleHttp/Psr7/functions_include.php b/lib/aws/GuzzleHttp/Psr7/functions_include.php new file mode 100644 index 0000000..96a4a83 --- /dev/null +++ b/lib/aws/GuzzleHttp/Psr7/functions_include.php @@ -0,0 +1,6 @@ +<?php + +// Don't redefine the functions if included multiple times. +if (!function_exists('GuzzleHttp\Psr7\str')) { + require __DIR__ . '/functions.php'; +} diff --git a/lib/aws/GuzzleHttp/RedirectMiddleware.php b/lib/aws/GuzzleHttp/RedirectMiddleware.php new file mode 100644 index 0000000..131b771 --- /dev/null +++ b/lib/aws/GuzzleHttp/RedirectMiddleware.php @@ -0,0 +1,237 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Exception\BadResponseException; +use GuzzleHttp\Exception\TooManyRedirectsException; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\UriInterface; + +/** + * Request redirect middleware. + * + * Apply this middleware like other middleware using + * {@see GuzzleHttp\Middleware::redirect()}. + */ +class RedirectMiddleware +{ + const HISTORY_HEADER = 'X-Guzzle-Redirect-History'; + + const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History'; + + public static $defaultSettings = [ + 'max' => 5, + 'protocols' => ['http', 'https'], + 'strict' => false, + 'referer' => false, + 'track_redirects' => false, + ]; + + /** @var callable */ + private $nextHandler; + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + $fn = $this->nextHandler; + + if (empty($options['allow_redirects'])) { + return $fn($request, $options); + } + + if ($options['allow_redirects'] === true) { + $options['allow_redirects'] = self::$defaultSettings; + } elseif (!is_array($options['allow_redirects'])) { + throw new \InvalidArgumentException('allow_redirects must be true, false, or array'); + } else { + // Merge the default settings with the provided settings + $options['allow_redirects'] += self::$defaultSettings; + } + + if (empty($options['allow_redirects']['max'])) { + return $fn($request, $options); + } + + return $fn($request, $options) + ->then(function (ResponseInterface $response) use ($request, $options) { + return $this->checkRedirect($request, $options, $response); + }); + } + + /** + * @param RequestInterface $request + * @param array $options + * @param ResponseInterface|PromiseInterface $response + * + * @return ResponseInterface|PromiseInterface + */ + public function checkRedirect( + RequestInterface $request, + array $options, + ResponseInterface $response + ) { + if (substr($response->getStatusCode(), 0, 1) != '3' + || !$response->hasHeader('Location') + ) { + return $response; + } + + $this->guardMax($request, $options); + $nextRequest = $this->modifyRequest($request, $options, $response); + + if (isset($options['allow_redirects']['on_redirect'])) { + call_user_func( + $options['allow_redirects']['on_redirect'], + $request, + $response, + $nextRequest->getUri() + ); + } + + /** @var PromiseInterface|ResponseInterface $promise */ + $promise = $this($nextRequest, $options); + + // Add headers to be able to track history of redirects. + if (!empty($options['allow_redirects']['track_redirects'])) { + return $this->withTracking( + $promise, + (string) $nextRequest->getUri(), + $response->getStatusCode() + ); + } + + return $promise; + } + + private function withTracking(PromiseInterface $promise, $uri, $statusCode) + { + return $promise->then( + function (ResponseInterface $response) use ($uri, $statusCode) { + // Note that we are pushing to the front of the list as this + // would be an earlier response than what is currently present + // in the history header. + $historyHeader = $response->getHeader(self::HISTORY_HEADER); + $statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER); + array_unshift($historyHeader, $uri); + array_unshift($statusHeader, $statusCode); + return $response->withHeader(self::HISTORY_HEADER, $historyHeader) + ->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader); + } + ); + } + + private function guardMax(RequestInterface $request, array &$options) + { + $current = isset($options['__redirect_count']) + ? $options['__redirect_count'] + : 0; + $options['__redirect_count'] = $current + 1; + $max = $options['allow_redirects']['max']; + + if ($options['__redirect_count'] > $max) { + throw new TooManyRedirectsException( + "Will not follow more than {$max} redirects", + $request + ); + } + } + + /** + * @param RequestInterface $request + * @param array $options + * @param ResponseInterface $response + * + * @return RequestInterface + */ + public function modifyRequest( + RequestInterface $request, + array $options, + ResponseInterface $response + ) { + // Request modifications to apply. + $modify = []; + $protocols = $options['allow_redirects']['protocols']; + + // Use a GET request if this is an entity enclosing request and we are + // not forcing RFC compliance, but rather emulating what all browsers + // would do. + $statusCode = $response->getStatusCode(); + if ($statusCode == 303 || + ($statusCode <= 302 && $request->getBody() && !$options['allow_redirects']['strict']) + ) { + $modify['method'] = 'GET'; + $modify['body'] = ''; + } + + $modify['uri'] = $this->redirectUri($request, $response, $protocols); + Psr7\rewind_body($request); + + // Add the Referer header if it is told to do so and only + // add the header if we are not redirecting from https to http. + if ($options['allow_redirects']['referer'] + && $modify['uri']->getScheme() === $request->getUri()->getScheme() + ) { + $uri = $request->getUri()->withUserInfo('', ''); + $modify['set_headers']['Referer'] = (string) $uri; + } else { + $modify['remove_headers'][] = 'Referer'; + } + + // Remove Authorization header if host is different. + if ($request->getUri()->getHost() !== $modify['uri']->getHost()) { + $modify['remove_headers'][] = 'Authorization'; + } + + return Psr7\modify_request($request, $modify); + } + + /** + * Set the appropriate URL on the request based on the location header + * + * @param RequestInterface $request + * @param ResponseInterface $response + * @param array $protocols + * + * @return UriInterface + */ + private function redirectUri( + RequestInterface $request, + ResponseInterface $response, + array $protocols + ) { + $location = Psr7\UriResolver::resolve( + $request->getUri(), + new Psr7\Uri($response->getHeaderLine('Location')) + ); + + // Ensure that the redirect URI is allowed based on the protocols. + if (!in_array($location->getScheme(), $protocols)) { + throw new BadResponseException( + sprintf( + 'Redirect URI, %s, does not use one of the allowed redirect protocols: %s', + $location, + implode(', ', $protocols) + ), + $request, + $response + ); + } + + return $location; + } +} diff --git a/lib/aws/GuzzleHttp/RequestOptions.php b/lib/aws/GuzzleHttp/RequestOptions.php new file mode 100644 index 0000000..c6aacfb --- /dev/null +++ b/lib/aws/GuzzleHttp/RequestOptions.php @@ -0,0 +1,255 @@ +<?php +namespace GuzzleHttp; + +/** + * This class contains a list of built-in Guzzle request options. + * + * More documentation for each option can be found at http://guzzlephp.org/. + * + * @link http://docs.guzzlephp.org/en/v6/request-options.html + */ +final class RequestOptions +{ + /** + * allow_redirects: (bool|array) Controls redirect behavior. Pass false + * to disable redirects, pass true to enable redirects, pass an + * associative to provide custom redirect settings. Defaults to "false". + * This option only works if your handler has the RedirectMiddleware. When + * passing an associative array, you can provide the following key value + * pairs: + * + * - max: (int, default=5) maximum number of allowed redirects. + * - strict: (bool, default=false) Set to true to use strict redirects + * meaning redirect POST requests with POST requests vs. doing what most + * browsers do which is redirect POST requests with GET requests + * - referer: (bool, default=true) Set to false to disable the Referer + * header. + * - protocols: (array, default=['http', 'https']) Allowed redirect + * protocols. + * - on_redirect: (callable) PHP callable that is invoked when a redirect + * is encountered. The callable is invoked with the request, the redirect + * response that was received, and the effective URI. Any return value + * from the on_redirect function is ignored. + */ + const ALLOW_REDIRECTS = 'allow_redirects'; + + /** + * auth: (array) Pass an array of HTTP authentication parameters to use + * with the request. The array must contain the username in index [0], + * the password in index [1], and you can optionally provide a built-in + * authentication type in index [2]. Pass null to disable authentication + * for a request. + */ + const AUTH = 'auth'; + + /** + * body: (resource|string|null|int|float|StreamInterface|callable|\Iterator) + * Body to send in the request. + */ + const BODY = 'body'; + + /** + * cert: (string|array) Set to a string to specify the path to a file + * containing a PEM formatted SSL client side certificate. If a password + * is required, then set cert to an array containing the path to the PEM + * file in the first array element followed by the certificate password + * in the second array element. + */ + const CERT = 'cert'; + + /** + * cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false) + * Specifies whether or not cookies are used in a request or what cookie + * jar to use or what cookies to send. This option only works if your + * handler has the `cookie` middleware. Valid values are `false` and + * an instance of {@see GuzzleHttp\Cookie\CookieJarInterface}. + */ + const COOKIES = 'cookies'; + + /** + * connect_timeout: (float, default=0) Float describing the number of + * seconds to wait while trying to connect to a server. Use 0 to wait + * indefinitely (the default behavior). + */ + const CONNECT_TIMEOUT = 'connect_timeout'; + + /** + * debug: (bool|resource) Set to true or set to a PHP stream returned by + * fopen() enable debug output with the HTTP handler used to send a + * request. + */ + const DEBUG = 'debug'; + + /** + * decode_content: (bool, default=true) Specify whether or not + * Content-Encoding responses (gzip, deflate, etc.) are automatically + * decoded. + */ + const DECODE_CONTENT = 'decode_content'; + + /** + * delay: (int) The amount of time to delay before sending in milliseconds. + */ + const DELAY = 'delay'; + + /** + * expect: (bool|integer) Controls the behavior of the + * "Expect: 100-Continue" header. + * + * Set to `true` to enable the "Expect: 100-Continue" header for all + * requests that sends a body. Set to `false` to disable the + * "Expect: 100-Continue" header for all requests. Set to a number so that + * the size of the payload must be greater than the number in order to send + * the Expect header. Setting to a number will send the Expect header for + * all requests in which the size of the payload cannot be determined or + * where the body is not rewindable. + * + * By default, Guzzle will add the "Expect: 100-Continue" header when the + * size of the body of a request is greater than 1 MB and a request is + * using HTTP/1.1. + */ + const EXPECT = 'expect'; + + /** + * form_params: (array) Associative array of form field names to values + * where each value is a string or array of strings. Sets the Content-Type + * header to application/x-www-form-urlencoded when no Content-Type header + * is already present. + */ + const FORM_PARAMS = 'form_params'; + + /** + * headers: (array) Associative array of HTTP headers. Each value MUST be + * a string or array of strings. + */ + const HEADERS = 'headers'; + + /** + * http_errors: (bool, default=true) Set to false to disable exceptions + * when a non- successful HTTP response is received. By default, + * exceptions will be thrown for 4xx and 5xx responses. This option only + * works if your handler has the `httpErrors` middleware. + */ + const HTTP_ERRORS = 'http_errors'; + + /** + * json: (mixed) Adds JSON data to a request. The provided value is JSON + * encoded and a Content-Type header of application/json will be added to + * the request if no Content-Type header is already present. + */ + const JSON = 'json'; + + /** + * multipart: (array) Array of associative arrays, each containing a + * required "name" key mapping to the form field, name, a required + * "contents" key mapping to a StreamInterface|resource|string, an + * optional "headers" associative array of custom headers, and an + * optional "filename" key mapping to a string to send as the filename in + * the part. If no "filename" key is present, then no "filename" attribute + * will be added to the part. + */ + const MULTIPART = 'multipart'; + + /** + * on_headers: (callable) A callable that is invoked when the HTTP headers + * of the response have been received but the body has not yet begun to + * download. + */ + const ON_HEADERS = 'on_headers'; + + /** + * on_stats: (callable) allows you to get access to transfer statistics of + * a request and access the lower level transfer details of the handler + * associated with your client. ``on_stats`` is a callable that is invoked + * when a handler has finished sending a request. The callback is invoked + * with transfer statistics about the request, the response received, or + * the error encountered. Included in the data is the total amount of time + * taken to send the request. + */ + const ON_STATS = 'on_stats'; + + /** + * progress: (callable) Defines a function to invoke when transfer + * progress is made. The function accepts the following positional + * arguments: the total number of bytes expected to be downloaded, the + * number of bytes downloaded so far, the number of bytes expected to be + * uploaded, the number of bytes uploaded so far. + */ + const PROGRESS = 'progress'; + + /** + * proxy: (string|array) Pass a string to specify an HTTP proxy, or an + * array to specify different proxies for different protocols (where the + * key is the protocol and the value is a proxy string). + */ + const PROXY = 'proxy'; + + /** + * query: (array|string) Associative array of query string values to add + * to the request. This option uses PHP's http_build_query() to create + * the string representation. Pass a string value if you need more + * control than what this method provides + */ + const QUERY = 'query'; + + /** + * sink: (resource|string|StreamInterface) Where the data of the + * response is written to. Defaults to a PHP temp stream. Providing a + * string will write data to a file by the given name. + */ + const SINK = 'sink'; + + /** + * synchronous: (bool) Set to true to inform HTTP handlers that you intend + * on waiting on the response. This can be useful for optimizations. Note + * that a promise is still returned if you are using one of the async + * client methods. + */ + const SYNCHRONOUS = 'synchronous'; + + /** + * ssl_key: (array|string) Specify the path to a file containing a private + * SSL key in PEM format. If a password is required, then set to an array + * containing the path to the SSL key in the first array element followed + * by the password required for the certificate in the second element. + */ + const SSL_KEY = 'ssl_key'; + + /** + * stream: Set to true to attempt to stream a response rather than + * download it all up-front. + */ + const STREAM = 'stream'; + + /** + * verify: (bool|string, default=true) Describes the SSL certificate + * verification behavior of a request. Set to true to enable SSL + * certificate verification using the system CA bundle when available + * (the default). Set to false to disable certificate verification (this + * is insecure!). Set to a string to provide the path to a CA bundle on + * disk to enable verification using a custom certificate. + */ + const VERIFY = 'verify'; + + /** + * timeout: (float, default=0) Float describing the timeout of the + * request in seconds. Use 0 to wait indefinitely (the default behavior). + */ + const TIMEOUT = 'timeout'; + + /** + * read_timeout: (float, default=default_socket_timeout ini setting) Float describing + * the body read timeout, for stream requests. + */ + const READ_TIMEOUT = 'read_timeout'; + + /** + * version: (float) Specifies the HTTP protocol version to attempt to use. + */ + const VERSION = 'version'; + + /** + * force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol + */ + const FORCE_IP_RESOLVE = 'force_ip_resolve'; +} diff --git a/lib/aws/GuzzleHttp/RetryMiddleware.php b/lib/aws/GuzzleHttp/RetryMiddleware.php new file mode 100644 index 0000000..f27090f --- /dev/null +++ b/lib/aws/GuzzleHttp/RetryMiddleware.php @@ -0,0 +1,112 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Promise\RejectedPromise; +use GuzzleHttp\Psr7; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; + +/** + * Middleware that retries requests based on the boolean result of + * invoking the provided "decider" function. + */ +class RetryMiddleware +{ + /** @var callable */ + private $nextHandler; + + /** @var callable */ + private $decider; + + /** + * @param callable $decider Function that accepts the number of retries, + * a request, [response], and [exception] and + * returns true if the request is to be + * retried. + * @param callable $nextHandler Next handler to invoke. + * @param callable $delay Function that accepts the number of retries + * and [response] and returns the number of + * milliseconds to delay. + */ + public function __construct( + callable $decider, + callable $nextHandler, + callable $delay = null + ) { + $this->decider = $decider; + $this->nextHandler = $nextHandler; + $this->delay = $delay ?: __CLASS__ . '::exponentialDelay'; + } + + /** + * Default exponential backoff delay function. + * + * @param $retries + * + * @return int + */ + public static function exponentialDelay($retries) + { + return (int) pow(2, $retries - 1); + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + if (!isset($options['retries'])) { + $options['retries'] = 0; + } + + $fn = $this->nextHandler; + return $fn($request, $options) + ->then( + $this->onFulfilled($request, $options), + $this->onRejected($request, $options) + ); + } + + private function onFulfilled(RequestInterface $req, array $options) + { + return function ($value) use ($req, $options) { + if (!call_user_func( + $this->decider, + $options['retries'], + $req, + $value, + null + )) { + return $value; + } + return $this->doRetry($req, $options, $value); + }; + } + + private function onRejected(RequestInterface $req, array $options) + { + return function ($reason) use ($req, $options) { + if (!call_user_func( + $this->decider, + $options['retries'], + $req, + null, + $reason + )) { + return \GuzzleHttp\Promise\rejection_for($reason); + } + return $this->doRetry($req, $options); + }; + } + + private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null) + { + $options['delay'] = call_user_func($this->delay, ++$options['retries'], $response); + + return $this($request, $options); + } +} diff --git a/lib/aws/GuzzleHttp/TransferStats.php b/lib/aws/GuzzleHttp/TransferStats.php new file mode 100644 index 0000000..15f717e --- /dev/null +++ b/lib/aws/GuzzleHttp/TransferStats.php @@ -0,0 +1,126 @@ +<?php +namespace GuzzleHttp; + +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\UriInterface; + +/** + * Represents data at the point after it was transferred either successfully + * or after a network error. + */ +final class TransferStats +{ + private $request; + private $response; + private $transferTime; + private $handlerStats; + private $handlerErrorData; + + /** + * @param RequestInterface $request Request that was sent. + * @param ResponseInterface $response Response received (if any) + * @param null $transferTime Total handler transfer time. + * @param mixed $handlerErrorData Handler error data. + * @param array $handlerStats Handler specific stats. + */ + public function __construct( + RequestInterface $request, + ResponseInterface $response = null, + $transferTime = null, + $handlerErrorData = null, + $handlerStats = [] + ) { + $this->request = $request; + $this->response = $response; + $this->transferTime = $transferTime; + $this->handlerErrorData = $handlerErrorData; + $this->handlerStats = $handlerStats; + } + + /** + * @return RequestInterface + */ + public function getRequest() + { + return $this->request; + } + + /** + * Returns the response that was received (if any). + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } + + /** + * Returns true if a response was received. + * + * @return bool + */ + public function hasResponse() + { + return $this->response !== null; + } + + /** + * Gets handler specific error data. + * + * This might be an exception, a integer representing an error code, or + * anything else. Relying on this value assumes that you know what handler + * you are using. + * + * @return mixed + */ + public function getHandlerErrorData() + { + return $this->handlerErrorData; + } + + /** + * Get the effective URI the request was sent to. + * + * @return UriInterface + */ + public function getEffectiveUri() + { + return $this->request->getUri(); + } + + /** + * Get the estimated time the request was being transferred by the handler. + * + * @return float Time in seconds. + */ + public function getTransferTime() + { + return $this->transferTime; + } + + /** + * Gets an array of all of the handler specific transfer data. + * + * @return array + */ + public function getHandlerStats() + { + return $this->handlerStats; + } + + /** + * Get a specific handler statistic from the handler by name. + * + * @param string $stat Handler specific transfer stat to retrieve. + * + * @return mixed|null + */ + public function getHandlerStat($stat) + { + return isset($this->handlerStats[$stat]) + ? $this->handlerStats[$stat] + : null; + } +} diff --git a/lib/aws/GuzzleHttp/UriTemplate.php b/lib/aws/GuzzleHttp/UriTemplate.php new file mode 100644 index 0000000..96dcfd0 --- /dev/null +++ b/lib/aws/GuzzleHttp/UriTemplate.php @@ -0,0 +1,237 @@ +<?php +namespace GuzzleHttp; + +/** + * Expands URI templates. Userland implementation of PECL uri_template. + * + * @link http://tools.ietf.org/html/rfc6570 + */ +class UriTemplate +{ + /** @var string URI template */ + private $template; + + /** @var array Variables to use in the template expansion */ + private $variables; + + /** @var array Hash for quick operator lookups */ + private static $operatorHash = [ + '' => ['prefix' => '', 'joiner' => ',', 'query' => false], + '+' => ['prefix' => '', 'joiner' => ',', 'query' => false], + '#' => ['prefix' => '#', 'joiner' => ',', 'query' => false], + '.' => ['prefix' => '.', 'joiner' => '.', 'query' => false], + '/' => ['prefix' => '/', 'joiner' => '/', 'query' => false], + ';' => ['prefix' => ';', 'joiner' => ';', 'query' => true], + '?' => ['prefix' => '?', 'joiner' => '&', 'query' => true], + '&' => ['prefix' => '&', 'joiner' => '&', 'query' => true] + ]; + + /** @var array Delimiters */ + private static $delims = [':', '/', '?', '#', '[', ']', '@', '!', '$', + '&', '\'', '(', ')', '*', '+', ',', ';', '=']; + + /** @var array Percent encoded delimiters */ + private static $delimsPct = ['%3A', '%2F', '%3F', '%23', '%5B', '%5D', + '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', + '%3B', '%3D']; + + public function expand($template, array $variables) + { + if (false === strpos($template, '{')) { + return $template; + } + + $this->template = $template; + $this->variables = $variables; + + return preg_replace_callback( + '/\{([^\}]+)\}/', + [$this, 'expandMatch'], + $this->template + ); + } + + /** + * Parse an expression into parts + * + * @param string $expression Expression to parse + * + * @return array Returns an associative array of parts + */ + private function parseExpression($expression) + { + $result = []; + + if (isset(self::$operatorHash[$expression[0]])) { + $result['operator'] = $expression[0]; + $expression = substr($expression, 1); + } else { + $result['operator'] = ''; + } + + foreach (explode(',', $expression) as $value) { + $value = trim($value); + $varspec = []; + if ($colonPos = strpos($value, ':')) { + $varspec['value'] = substr($value, 0, $colonPos); + $varspec['modifier'] = ':'; + $varspec['position'] = (int) substr($value, $colonPos + 1); + } elseif (substr($value, -1) === '*') { + $varspec['modifier'] = '*'; + $varspec['value'] = substr($value, 0, -1); + } else { + $varspec['value'] = (string) $value; + $varspec['modifier'] = ''; + } + $result['values'][] = $varspec; + } + + return $result; + } + + /** + * Process an expansion + * + * @param array $matches Matches met in the preg_replace_callback + * + * @return string Returns the replacement string + */ + private function expandMatch(array $matches) + { + static $rfc1738to3986 = ['+' => '%20', '%7e' => '~']; + + $replacements = []; + $parsed = self::parseExpression($matches[1]); + $prefix = self::$operatorHash[$parsed['operator']]['prefix']; + $joiner = self::$operatorHash[$parsed['operator']]['joiner']; + $useQuery = self::$operatorHash[$parsed['operator']]['query']; + + foreach ($parsed['values'] as $value) { + if (!isset($this->variables[$value['value']])) { + continue; + } + + $variable = $this->variables[$value['value']]; + $actuallyUseQuery = $useQuery; + $expanded = ''; + + if (is_array($variable)) { + $isAssoc = $this->isAssoc($variable); + $kvp = []; + foreach ($variable as $key => $var) { + if ($isAssoc) { + $key = rawurlencode($key); + $isNestedArray = is_array($var); + } else { + $isNestedArray = false; + } + + if (!$isNestedArray) { + $var = rawurlencode($var); + if ($parsed['operator'] === '+' || + $parsed['operator'] === '#' + ) { + $var = $this->decodeReserved($var); + } + } + + if ($value['modifier'] === '*') { + if ($isAssoc) { + if ($isNestedArray) { + // Nested arrays must allow for deeply nested + // structures. + $var = strtr( + http_build_query([$key => $var]), + $rfc1738to3986 + ); + } else { + $var = $key . '=' . $var; + } + } elseif ($key > 0 && $actuallyUseQuery) { + $var = $value['value'] . '=' . $var; + } + } + + $kvp[$key] = $var; + } + + if (empty($variable)) { + $actuallyUseQuery = false; + } elseif ($value['modifier'] === '*') { + $expanded = implode($joiner, $kvp); + if ($isAssoc) { + // Don't prepend the value name when using the explode + // modifier with an associative array. + $actuallyUseQuery = false; + } + } else { + if ($isAssoc) { + // When an associative array is encountered and the + // explode modifier is not set, then the result must be + // a comma separated list of keys followed by their + // respective values. + foreach ($kvp as $k => &$v) { + $v = $k . ',' . $v; + } + } + $expanded = implode(',', $kvp); + } + } else { + if ($value['modifier'] === ':') { + $variable = substr($variable, 0, $value['position']); + } + $expanded = rawurlencode($variable); + if ($parsed['operator'] === '+' || $parsed['operator'] === '#') { + $expanded = $this->decodeReserved($expanded); + } + } + + if ($actuallyUseQuery) { + if (!$expanded && $joiner !== '&') { + $expanded = $value['value']; + } else { + $expanded = $value['value'] . '=' . $expanded; + } + } + + $replacements[] = $expanded; + } + + $ret = implode($joiner, $replacements); + if ($ret && $prefix) { + return $prefix . $ret; + } + + return $ret; + } + + /** + * Determines if an array is associative. + * + * This makes the assumption that input arrays are sequences or hashes. + * This assumption is a tradeoff for accuracy in favor of speed, but it + * should work in almost every case where input is supplied for a URI + * template. + * + * @param array $array Array to check + * + * @return bool + */ + private function isAssoc(array $array) + { + return $array && array_keys($array)[0] !== 0; + } + + /** + * Removes percent encoding on reserved characters (used with + and # + * modifiers). + * + * @param string $string String to fix + * + * @return string + */ + private function decodeReserved($string) + { + return str_replace(self::$delimsPct, self::$delims, $string); + } +} diff --git a/lib/aws/GuzzleHttp/functions.php b/lib/aws/GuzzleHttp/functions.php new file mode 100644 index 0000000..a3ac450 --- /dev/null +++ b/lib/aws/GuzzleHttp/functions.php @@ -0,0 +1,333 @@ +<?php +namespace GuzzleHttp; + +use GuzzleHttp\Handler\CurlHandler; +use GuzzleHttp\Handler\CurlMultiHandler; +use GuzzleHttp\Handler\Proxy; +use GuzzleHttp\Handler\StreamHandler; + +/** + * Expands a URI template + * + * @param string $template URI template + * @param array $variables Template variables + * + * @return string + */ +function uri_template($template, array $variables) +{ + if (extension_loaded('uri_template')) { + // @codeCoverageIgnoreStart + return \uri_template($template, $variables); + // @codeCoverageIgnoreEnd + } + + static $uriTemplate; + if (!$uriTemplate) { + $uriTemplate = new UriTemplate(); + } + + return $uriTemplate->expand($template, $variables); +} + +/** + * Debug function used to describe the provided value type and class. + * + * @param mixed $input + * + * @return string Returns a string containing the type of the variable and + * if a class is provided, the class name. + */ +function describe_type($input) +{ + switch (gettype($input)) { + case 'object': + return 'object(' . get_class($input) . ')'; + case 'array': + return 'array(' . count($input) . ')'; + default: + ob_start(); + var_dump($input); + // normalize float vs double + return str_replace('double(', 'float(', rtrim(ob_get_clean())); + } +} + +/** + * Parses an array of header lines into an associative array of headers. + * + * @param array $lines Header lines array of strings in the following + * format: "Name: Value" + * @return array + */ +function headers_from_lines($lines) +{ + $headers = []; + + foreach ($lines as $line) { + $parts = explode(':', $line, 2); + $headers[trim($parts[0])][] = isset($parts[1]) + ? trim($parts[1]) + : null; + } + + return $headers; +} + +/** + * Returns a debug stream based on the provided variable. + * + * @param mixed $value Optional value + * + * @return resource + */ +function debug_resource($value = null) +{ + if (is_resource($value)) { + return $value; + } elseif (defined('STDOUT')) { + return STDOUT; + } + + return fopen('php://output', 'w'); +} + +/** + * Chooses and creates a default handler to use based on the environment. + * + * The returned handler is not wrapped by any default middlewares. + * + * @throws \RuntimeException if no viable Handler is available. + * @return callable Returns the best handler for the given system. + */ +function choose_handler() +{ + $handler = null; + if (function_exists('curl_multi_exec') && function_exists('curl_exec')) { + $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); + } elseif (function_exists('curl_exec')) { + $handler = new CurlHandler(); + } elseif (function_exists('curl_multi_exec')) { + $handler = new CurlMultiHandler(); + } + + if (ini_get('allow_url_fopen')) { + $handler = $handler + ? Proxy::wrapStreaming($handler, new StreamHandler()) + : new StreamHandler(); + } elseif (!$handler) { + throw new \RuntimeException('GuzzleHttp requires cURL, the ' + . 'allow_url_fopen ini setting, or a custom HTTP handler.'); + } + + return $handler; +} + +/** + * Get the default User-Agent string to use with Guzzle + * + * @return string + */ +function default_user_agent() +{ + static $defaultAgent = ''; + + if (!$defaultAgent) { + $defaultAgent = 'GuzzleHttp/' . Client::VERSION; + if (extension_loaded('curl') && function_exists('curl_version')) { + $defaultAgent .= ' curl/' . \curl_version()['version']; + } + $defaultAgent .= ' PHP/' . PHP_VERSION; + } + + return $defaultAgent; +} + +/** + * Returns the default cacert bundle for the current system. + * + * First, the openssl.cafile and curl.cainfo php.ini settings are checked. + * If those settings are not configured, then the common locations for + * bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X + * and Windows are checked. If any of these file locations are found on + * disk, they will be utilized. + * + * Note: the result of this function is cached for subsequent calls. + * + * @return string + * @throws \RuntimeException if no bundle can be found. + */ +function default_ca_bundle() +{ + static $cached = null; + static $cafiles = [ + // Red Hat, CentOS, Fedora (provided by the ca-certificates package) + '/etc/pki/tls/certs/ca-bundle.crt', + // Ubuntu, Debian (provided by the ca-certificates package) + '/etc/ssl/certs/ca-certificates.crt', + // FreeBSD (provided by the ca_root_nss package) + '/usr/local/share/certs/ca-root-nss.crt', + // SLES 12 (provided by the ca-certificates package) + '/var/lib/ca-certificates/ca-bundle.pem', + // OS X provided by homebrew (using the default path) + '/usr/local/etc/openssl/cert.pem', + // Google app engine + '/etc/ca-certificates.crt', + // Windows? + 'C:\\windows\\system32\\curl-ca-bundle.crt', + 'C:\\windows\\curl-ca-bundle.crt', + ]; + + if ($cached) { + return $cached; + } + + if ($ca = ini_get('openssl.cafile')) { + return $cached = $ca; + } + + if ($ca = ini_get('curl.cainfo')) { + return $cached = $ca; + } + + foreach ($cafiles as $filename) { + if (file_exists($filename)) { + return $cached = $filename; + } + } + + throw new \RuntimeException(<<< EOT +No system CA bundle could be found in any of the the common system locations. +PHP versions earlier than 5.6 are not properly configured to use the system's +CA bundle by default. In order to verify peer certificates, you will need to +supply the path on disk to a certificate bundle to the 'verify' request +option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not +need a specific certificate bundle, then Mozilla provides a commonly used CA +bundle which can be downloaded here (provided by the maintainer of cURL): +https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt. Once +you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP +ini setting to point to the path to the file, allowing you to omit the 'verify' +request option. See http://curl.haxx.se/docs/sslcerts.html for more +information. +EOT + ); +} + +/** + * Creates an associative array of lowercase header names to the actual + * header casing. + * + * @param array $headers + * + * @return array + */ +function normalize_header_keys(array $headers) +{ + $result = []; + foreach (array_keys($headers) as $key) { + $result[strtolower($key)] = $key; + } + + return $result; +} + +/** + * Returns true if the provided host matches any of the no proxy areas. + * + * This method will strip a port from the host if it is present. Each pattern + * can be matched with an exact match (e.g., "foo.com" == "foo.com") or a + * partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" == + * "baz.foo.com", but ".foo.com" != "foo.com"). + * + * Areas are matched in the following cases: + * 1. "*" (without quotes) always matches any hosts. + * 2. An exact match. + * 3. The area starts with "." and the area is the last part of the host. e.g. + * '.mit.edu' will match any host that ends with '.mit.edu'. + * + * @param string $host Host to check against the patterns. + * @param array $noProxyArray An array of host patterns. + * + * @return bool + */ +function is_host_in_noproxy($host, array $noProxyArray) +{ + if (strlen($host) === 0) { + throw new \InvalidArgumentException('Empty host provided'); + } + + // Strip port if present. + if (strpos($host, ':')) { + $host = explode($host, ':', 2)[0]; + } + + foreach ($noProxyArray as $area) { + // Always match on wildcards. + if ($area === '*') { + return true; + } elseif (empty($area)) { + // Don't match on empty values. + continue; + } elseif ($area === $host) { + // Exact matches. + return true; + } else { + // Special match if the area when prefixed with ".". Remove any + // existing leading "." and add a new leading ".". + $area = '.' . ltrim($area, '.'); + if (substr($host, -(strlen($area))) === $area) { + return true; + } + } + } + + return false; +} + +/** + * Wrapper for json_decode that throws when an error occurs. + * + * @param string $json JSON data to parse + * @param bool $assoc When true, returned objects will be converted + * into associative arrays. + * @param int $depth User specified recursion depth. + * @param int $options Bitmask of JSON decode options. + * + * @return mixed + * @throws \InvalidArgumentException if the JSON cannot be decoded. + * @link http://www.php.net/manual/en/function.json-decode.php + */ +function json_decode($json, $assoc = false, $depth = 512, $options = 0) +{ + $data = \json_decode($json, $assoc, $depth, $options); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_decode error: ' . json_last_error_msg() + ); + } + + return $data; +} + +/** + * Wrapper for JSON encoding that throws when an error occurs. + * + * @param mixed $value The value being encoded + * @param int $options JSON encode option bitmask + * @param int $depth Set the maximum depth. Must be greater than zero. + * + * @return string + * @throws \InvalidArgumentException if the JSON cannot be encoded. + * @link http://www.php.net/manual/en/function.json-encode.php + */ +function json_encode($value, $options = 0, $depth = 512) +{ + $json = \json_encode($value, $options, $depth); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_encode error: ' . json_last_error_msg() + ); + } + + return $json; +} diff --git a/lib/aws/GuzzleHttp/functions_include.php b/lib/aws/GuzzleHttp/functions_include.php new file mode 100644 index 0000000..a93393a --- /dev/null +++ b/lib/aws/GuzzleHttp/functions_include.php @@ -0,0 +1,6 @@ +<?php + +// Don't redefine the functions if included multiple times. +if (!function_exists('GuzzleHttp\uri_template')) { + require __DIR__ . '/functions.php'; +} diff --git a/lib/aws/JmesPath/AstRuntime.php b/lib/aws/JmesPath/AstRuntime.php new file mode 100644 index 0000000..db8a60e --- /dev/null +++ b/lib/aws/JmesPath/AstRuntime.php @@ -0,0 +1,47 @@ +<?php +namespace JmesPath; + +/** + * Uses an external tree visitor to interpret an AST. + */ +class AstRuntime +{ + private $parser; + private $interpreter; + private $cache = []; + private $cachedCount = 0; + + public function __construct( + Parser $parser = null, + callable $fnDispatcher = null + ) { + $fnDispatcher = $fnDispatcher ?: FnDispatcher::getInstance(); + $this->interpreter = new TreeInterpreter($fnDispatcher); + $this->parser = $parser ?: new Parser(); + } + + /** + * Returns data from the provided input that matches a given JMESPath + * expression. + * + * @param string $expression JMESPath expression to evaluate + * @param mixed $data Data to search. This data should be data that + * is similar to data returned from json_decode + * using associative arrays rather than objects. + * + * @return mixed|null Returns the matching data or null + */ + public function __invoke($expression, $data) + { + if (!isset($this->cache[$expression])) { + // Clear the AST cache when it hits 1024 entries + if (++$this->cachedCount > 1024) { + $this->cache = []; + $this->cachedCount = 0; + } + $this->cache[$expression] = $this->parser->parse($expression); + } + + return $this->interpreter->visit($this->cache[$expression], $data); + } +} diff --git a/lib/aws/JmesPath/CompilerRuntime.php b/lib/aws/JmesPath/CompilerRuntime.php new file mode 100644 index 0000000..f2becb9 --- /dev/null +++ b/lib/aws/JmesPath/CompilerRuntime.php @@ -0,0 +1,83 @@ +<?php +namespace JmesPath; + +/** + * Compiles JMESPath expressions to PHP source code and executes it. + * + * JMESPath file names are stored in the cache directory using the following + * logic to determine the filename: + * + * 1. Start with the string "jmespath_" + * 2. Append the MD5 checksum of the expression. + * 3. Append ".php" + */ +class CompilerRuntime +{ + private $parser; + private $compiler; + private $cacheDir; + private $interpreter; + + /** + * @param string $dir Directory used to store compiled PHP files. + * @param Parser $parser JMESPath parser to utilize + * @throws \RuntimeException if the cache directory cannot be created + */ + public function __construct($dir = null, Parser $parser = null) + { + $this->parser = $parser ?: new Parser(); + $this->compiler = new TreeCompiler(); + $dir = $dir ?: sys_get_temp_dir(); + + if (!is_dir($dir) && !mkdir($dir, 0755, true)) { + throw new \RuntimeException("Unable to create cache directory: $dir"); + } + + $this->cacheDir = realpath($dir); + $this->interpreter = new TreeInterpreter(); + } + + /** + * Returns data from the provided input that matches a given JMESPath + * expression. + * + * @param string $expression JMESPath expression to evaluate + * @param mixed $data Data to search. This data should be data that + * is similar to data returned from json_decode + * using associative arrays rather than objects. + * + * @return mixed|null Returns the matching data or null + * @throws \RuntimeException + */ + public function __invoke($expression, $data) + { + $functionName = 'jmespath_' . md5($expression); + + if (!function_exists($functionName)) { + $filename = "{$this->cacheDir}/{$functionName}.php"; + if (!file_exists($filename)) { + $this->compile($filename, $expression, $functionName); + } + require $filename; + } + + return $functionName($this->interpreter, $data); + } + + private function compile($filename, $expression, $functionName) + { + $code = $this->compiler->visit( + $this->parser->parse($expression), + $functionName, + $expression + ); + + if (!file_put_contents($filename, $code)) { + throw new \RuntimeException(sprintf( + 'Unable to write the compiled PHP code to: %s (%s)', + $filename, + var_export(error_get_last(), true) + )); + } + } +} diff --git a/lib/aws/JmesPath/DebugRuntime.php b/lib/aws/JmesPath/DebugRuntime.php new file mode 100644 index 0000000..4052561 --- /dev/null +++ b/lib/aws/JmesPath/DebugRuntime.php @@ -0,0 +1,109 @@ +<?php +namespace JmesPath; + +/** + * Provides CLI debugging information for the AST and Compiler runtimes. + */ +class DebugRuntime +{ + private $runtime; + private $out; + private $lexer; + private $parser; + + public function __construct(callable $runtime, $output = null) + { + $this->runtime = $runtime; + $this->out = $output ?: STDOUT; + $this->lexer = new Lexer(); + $this->parser = new Parser($this->lexer); + } + + public function __invoke($expression, $data) + { + if ($this->runtime instanceof CompilerRuntime) { + return $this->debugCompiled($expression, $data); + } + + return $this->debugInterpreted($expression, $data); + } + + private function debugInterpreted($expression, $data) + { + return $this->debugCallback( + function () use ($expression, $data) { + $runtime = $this->runtime; + return $runtime($expression, $data); + }, + $expression, + $data + ); + } + + private function debugCompiled($expression, $data) + { + $result = $this->debugCallback( + function () use ($expression, $data) { + $runtime = $this->runtime; + return $runtime($expression, $data); + }, + $expression, + $data + ); + $this->dumpCompiledCode($expression); + + return $result; + } + + private function dumpTokens($expression) + { + $lexer = new Lexer(); + fwrite($this->out, "Tokens\n======\n\n"); + $tokens = $lexer->tokenize($expression); + + foreach ($tokens as $t) { + fprintf( + $this->out, + "%3d %-13s %s\n", $t['pos'], $t['type'], + json_encode($t['value']) + ); + } + + fwrite($this->out, "\n"); + } + + private function dumpAst($expression) + { + $parser = new Parser(); + $ast = $parser->parse($expression); + fwrite($this->out, "AST\n========\n\n"); + fwrite($this->out, json_encode($ast, JSON_PRETTY_PRINT) . "\n"); + } + + private function dumpCompiledCode($expression) + { + fwrite($this->out, "Code\n========\n\n"); + $dir = sys_get_temp_dir(); + $hash = md5($expression); + $functionName = "jmespath_{$hash}"; + $filename = "{$dir}/{$functionName}.php"; + fwrite($this->out, "File: {$filename}\n\n"); + fprintf($this->out, file_get_contents($filename)); + } + + private function debugCallback(callable $debugFn, $expression, $data) + { + fprintf($this->out, "Expression\n==========\n\n%s\n\n", $expression); + $this->dumpTokens($expression); + $this->dumpAst($expression); + fprintf($this->out, "\nData\n====\n\n%s\n\n", json_encode($data, JSON_PRETTY_PRINT)); + $startTime = microtime(true); + $result = $debugFn(); + $total = microtime(true) - $startTime; + fprintf($this->out, "\nResult\n======\n\n%s\n\n", json_encode($result, JSON_PRETTY_PRINT)); + fwrite($this->out, "Time\n====\n\n"); + fprintf($this->out, "Total time: %f ms\n\n", $total); + + return $result; + } +} diff --git a/lib/aws/JmesPath/Env.php b/lib/aws/JmesPath/Env.php new file mode 100644 index 0000000..9da5d69 --- /dev/null +++ b/lib/aws/JmesPath/Env.php @@ -0,0 +1,66 @@ +<?php +namespace JmesPath; + +/** + * Provides a simple environment based search. + * + * The runtime utilized by the Env class can be customized via environment + * variables. If the JP_PHP_COMPILE environment variable is specified, then the + * CompilerRuntime will be utilized. If set to "on", JMESPath expressions will + * be cached to the system's temp directory. Set the environment variable to + * a string to cache expressions to a specific directory. + */ +final class Env +{ + const COMPILE_DIR = 'JP_PHP_COMPILE'; + + /** + * Returns data from the input array that matches a JMESPath expression. + * + * @param string $expression JMESPath expression to evaluate + * @param mixed $data JSON-like data to search + * + * @return mixed|null Returns the matching data or null + */ + public static function search($expression, $data) + { + static $runtime; + if (!$runtime) { + $runtime = Env::createRuntime(); + } + return $runtime($expression, $data); + } + + /** + * Creates a JMESPath runtime based on environment variables and extensions + * available on a system. + * + * @return callable + */ + public static function createRuntime() + { + switch ($compileDir = getenv(self::COMPILE_DIR)) { + case false: return new AstRuntime(); + case 'on': return new CompilerRuntime(); + default: return new CompilerRuntime($compileDir); + } + } + + /** + * Delete all previously compiled JMESPath files from the JP_COMPILE_DIR + * directory or sys_get_temp_dir(). + * + * @return int Returns the number of deleted files. + */ + public static function cleanCompileDir() + { + $total = 0; + $compileDir = getenv(self::COMPILE_DIR) ?: sys_get_temp_dir(); + foreach (glob("{$compileDir}/jmespath_*.php") as $file) { + $total++; + unlink($file); + } + + return $total; + } +} diff --git a/lib/aws/JmesPath/FnDispatcher.php b/lib/aws/JmesPath/FnDispatcher.php new file mode 100644 index 0000000..2b1eaa1 --- /dev/null +++ b/lib/aws/JmesPath/FnDispatcher.php @@ -0,0 +1,401 @@ +<?php +namespace JmesPath; + +/** + * Dispatches to named JMESPath functions using a single function that has the + * following signature: + * + * mixed $result = fn(string $function_name, array $args) + */ +class FnDispatcher +{ + /** + * Gets a cached instance of the default function implementations. + * + * @return FnDispatcher + */ + public static function getInstance() + { + static $instance = null; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /** + * @param string $fn Function name. + * @param array $args Function arguments. + * + * @return mixed + */ + public function __invoke($fn, array $args) + { + return $this->{'fn_' . $fn}($args); + } + + private function fn_abs(array $args) + { + $this->validate('abs', $args, [['number']]); + return abs($args[0]); + } + + private function fn_avg(array $args) + { + $this->validate('avg', $args, [['array']]); + $sum = $this->reduce('avg:0', $args[0], ['number'], function ($a, $b) { + return $a + $b; + }); + return $args[0] ? ($sum / count($args[0])) : null; + } + + private function fn_ceil(array $args) + { + $this->validate('ceil', $args, [['number']]); + return ceil($args[0]); + } + + private function fn_contains(array $args) + { + $this->validate('contains', $args, [['string', 'array'], ['any']]); + if (is_array($args[0])) { + return in_array($args[1], $args[0]); + } elseif (is_string($args[1])) { + return strpos($args[0], $args[1]) !== false; + } else { + return null; + } + } + + private function fn_ends_with(array $args) + { + $this->validate('ends_with', $args, [['string'], ['string']]); + list($search, $suffix) = $args; + return $suffix === '' || substr($search, -strlen($suffix)) === $suffix; + } + + private function fn_floor(array $args) + { + $this->validate('floor', $args, [['number']]); + return floor($args[0]); + } + + private function fn_not_null(array $args) + { + if (!$args) { + throw new \RuntimeException( + "not_null() expects 1 or more arguments, 0 were provided" + ); + } + + return array_reduce($args, function ($carry, $item) { + return $carry !== null ? $carry : $item; + }); + } + + private function fn_join(array $args) + { + $this->validate('join', $args, [['string'], ['array']]); + $fn = function ($a, $b, $i) use ($args) { + return $i ? ($a . $args[0] . $b) : $b; + }; + return $this->reduce('join:0', $args[1], ['string'], $fn); + } + + private function fn_keys(array $args) + { + $this->validate('keys', $args, [['object']]); + return array_keys((array) $args[0]); + } + + private function fn_length(array $args) + { + $this->validate('length', $args, [['string', 'array', 'object']]); + return is_string($args[0]) ? strlen($args[0]) : count((array) $args[0]); + } + + private function fn_max(array $args) + { + $this->validate('max', $args, [['array']]); + $fn = function ($a, $b) { return $a >= $b ? $a : $b; }; + return $this->reduce('max:0', $args[0], ['number', 'string'], $fn); + } + + private function fn_max_by(array $args) + { + $this->validate('max_by', $args, [['array'], ['expression']]); + $expr = $this->wrapExpression('max_by:1', $args[1], ['number', 'string']); + $fn = function ($carry, $item, $index) use ($expr) { + return $index + ? ($expr($carry) >= $expr($item) ? $carry : $item) + : $item; + }; + return $this->reduce('max_by:1', $args[0], ['any'], $fn); + } + + private function fn_min(array $args) + { + $this->validate('min', $args, [['array']]); + $fn = function ($a, $b, $i) { return $i && $a <= $b ? $a : $b; }; + return $this->reduce('min:0', $args[0], ['number', 'string'], $fn); + } + + private function fn_min_by(array $args) + { + $this->validate('min_by', $args, [['array'], ['expression']]); + $expr = $this->wrapExpression('min_by:1', $args[1], ['number', 'string']); + $i = -1; + $fn = function ($a, $b) use ($expr, &$i) { + return ++$i ? ($expr($a) <= $expr($b) ? $a : $b) : $b; + }; + return $this->reduce('min_by:1', $args[0], ['any'], $fn); + } + + private function fn_reverse(array $args) + { + $this->validate('reverse', $args, [['array', 'string']]); + if (is_array($args[0])) { + return array_reverse($args[0]); + } elseif (is_string($args[0])) { + return strrev($args[0]); + } else { + throw new \RuntimeException('Cannot reverse provided argument'); + } + } + + private function fn_sum(array $args) + { + $this->validate('sum', $args, [['array']]); + $fn = function ($a, $b) { return $a + $b; }; + return $this->reduce('sum:0', $args[0], ['number'], $fn); + } + + private function fn_sort(array $args) + { + $this->validate('sort', $args, [['array']]); + $valid = ['string', 'number']; + return Utils::stableSort($args[0], function ($a, $b) use ($valid) { + $this->validateSeq('sort:0', $valid, $a, $b); + return strnatcmp($a, $b); + }); + } + + private function fn_sort_by(array $args) + { + $this->validate('sort_by', $args, [['array'], ['expression']]); + $expr = $args[1]; + $valid = ['string', 'number']; + return Utils::stableSort( + $args[0], + function ($a, $b) use ($expr, $valid) { + $va = $expr($a); + $vb = $expr($b); + $this->validateSeq('sort_by:0', $valid, $va, $vb); + return strnatcmp($va, $vb); + } + ); + } + + private function fn_starts_with(array $args) + { + $this->validate('starts_with', $args, [['string'], ['string']]); + list($search, $prefix) = $args; + return $prefix === '' || strpos($search, $prefix) === 0; + } + + private function fn_type(array $args) + { + $this->validateArity('type', count($args), 1); + return Utils::type($args[0]); + } + + private function fn_to_string(array $args) + { + $this->validateArity('to_string', count($args), 1); + $v = $args[0]; + if (is_string($v)) { + return $v; + } elseif (is_object($v) + && !($v instanceof \JsonSerializable) + && method_exists($v, '__toString') + ) { + return (string) $v; + } + + return json_encode($v); + } + + private function fn_to_number(array $args) + { + $this->validateArity('to_number', count($args), 1); + $value = $args[0]; + $type = Utils::type($value); + if ($type == 'number') { + return $value; + } elseif ($type == 'string' && is_numeric($value)) { + return strpos($value, '.') ? (float) $value : (int) $value; + } else { + return null; + } + } + + private function fn_values(array $args) + { + $this->validate('values', $args, [['array', 'object']]); + return array_values((array) $args[0]); + } + + private function fn_merge(array $args) + { + if (!$args) { + throw new \RuntimeException( + "merge() expects 1 or more arguments, 0 were provided" + ); + } + + return call_user_func_array('array_replace', $args); + } + + private function fn_to_array(array $args) + { + $this->validate('to_array', $args, [['any']]); + + return Utils::isArray($args[0]) ? $args[0] : [$args[0]]; + } + + private function fn_map(array $args) + { + $this->validate('map', $args, [['expression'], ['any']]); + $result = []; + foreach ($args[1] as $a) { + $result[] = $args[0]($a); + } + return $result; + } + + private function typeError($from, $msg) + { + if (strpos($from, ':')) { + list($fn, $pos) = explode(':', $from); + throw new \RuntimeException( + sprintf('Argument %d of %s %s', $pos, $fn, $msg) + ); + } else { + throw new \RuntimeException( + sprintf('Type error: %s %s', $from, $msg) + ); + } + } + + private function validateArity($from, $given, $expected) + { + if ($given != $expected) { + $err = "%s() expects {$expected} arguments, {$given} were provided"; + throw new \RuntimeException(sprintf($err, $from)); + } + } + + private function validate($from, $args, $types = []) + { + $this->validateArity($from, count($args), count($types)); + foreach ($args as $index => $value) { + if (!isset($types[$index]) || !$types[$index]) { + continue; + } + $this->validateType("{$from}:{$index}", $value, $types[$index]); + } + } + + private function validateType($from, $value, array $types) + { + if ($types[0] == 'any' + || in_array(Utils::type($value), $types) + || ($value === [] && in_array('object', $types)) + ) { + return; + } + $msg = 'must be one of the following types: ' . implode(', ', $types) + . '. ' . Utils::type($value) . ' found'; + $this->typeError($from, $msg); + } + + /** + * Validates value A and B, ensures they both are correctly typed, and of + * the same type. + * + * @param string $from String of function:argument_position + * @param array $types Array of valid value types. + * @param mixed $a Value A + * @param mixed $b Value B + */ + private function validateSeq($from, array $types, $a, $b) + { + $ta = Utils::type($a); + $tb = Utils::type($b); + + if ($ta !== $tb) { + $msg = "encountered a type mismatch in sequence: {$ta}, {$tb}"; + $this->typeError($from, $msg); + } + + $typeMatch = ($types && $types[0] == 'any') || in_array($ta, $types); + if (!$typeMatch) { + $msg = 'encountered a type error in sequence. The argument must be ' + . 'an array of ' . implode('|', $types) . ' types. ' + . "Found {$ta}, {$tb}."; + $this->typeError($from, $msg); + } + } + + /** + * Reduces and validates an array of values to a single value using a fn. + * + * @param string $from String of function:argument_position + * @param array $values Values to reduce. + * @param array $types Array of valid value types. + * @param callable $reduce Reduce function that accepts ($carry, $item). + * + * @return mixed + */ + private function reduce($from, array $values, array $types, callable $reduce) + { + $i = -1; + return array_reduce( + $values, + function ($carry, $item) use ($from, $types, $reduce, &$i) { + if (++$i > 0) { + $this->validateSeq($from, $types, $carry, $item); + } + return $reduce($carry, $item, $i); + } + ); + } + + /** + * Validates the return values of expressions as they are applied. + * + * @param string $from Function name : position + * @param callable $expr Expression function to validate. + * @param array $types Array of acceptable return type values. + * + * @return callable Returns a wrapped function + */ + private function wrapExpression($from, callable $expr, array $types) + { + list($fn, $pos) = explode(':', $from); + $from = "The expression return value of argument {$pos} of {$fn}"; + return function ($value) use ($from, $expr, $types) { + $value = $expr($value); + $this->validateType($from, $value, $types); + return $value; + }; + } + + /** @internal Pass function name validation off to runtime */ + public function __call($name, $args) + { + $name = str_replace('fn_', '', $name); + throw new \RuntimeException("Call to undefined function {$name}"); + } +} diff --git a/lib/aws/JmesPath/JmesPath.php b/lib/aws/JmesPath/JmesPath.php new file mode 100644 index 0000000..e2c239a --- /dev/null +++ b/lib/aws/JmesPath/JmesPath.php @@ -0,0 +1,17 @@ +<?php +namespace JmesPath; + +/** + * Returns data from the input array that matches a JMESPath expression. + * + * @param string $expression Expression to search. + * @param mixed $data Data to search. + * + * @return mixed|null + */ +if (!function_exists(__NAMESPACE__ . '\search')) { + function search($expression, $data) + { + return Env::search($expression, $data); + } +} diff --git a/lib/aws/JmesPath/Lexer.php b/lib/aws/JmesPath/Lexer.php new file mode 100644 index 0000000..90fa431 --- /dev/null +++ b/lib/aws/JmesPath/Lexer.php @@ -0,0 +1,444 @@ +<?php +namespace JmesPath; + +/** + * Tokenizes JMESPath expressions + */ +class Lexer +{ + const T_DOT = 'dot'; + const T_STAR = 'star'; + const T_COMMA = 'comma'; + const T_COLON = 'colon'; + const T_CURRENT = 'current'; + const T_EXPREF = 'expref'; + const T_LPAREN = 'lparen'; + const T_RPAREN = 'rparen'; + const T_LBRACE = 'lbrace'; + const T_RBRACE = 'rbrace'; + const T_LBRACKET = 'lbracket'; + const T_RBRACKET = 'rbracket'; + const T_FLATTEN = 'flatten'; + const T_IDENTIFIER = 'identifier'; + const T_NUMBER = 'number'; + const T_QUOTED_IDENTIFIER = 'quoted_identifier'; + const T_UNKNOWN = 'unknown'; + const T_PIPE = 'pipe'; + const T_OR = 'or'; + const T_AND = 'and'; + const T_NOT = 'not'; + const T_FILTER = 'filter'; + const T_LITERAL = 'literal'; + const T_EOF = 'eof'; + const T_COMPARATOR = 'comparator'; + + const STATE_IDENTIFIER = 0; + const STATE_NUMBER = 1; + const STATE_SINGLE_CHAR = 2; + const STATE_WHITESPACE = 3; + const STATE_STRING_LITERAL = 4; + const STATE_QUOTED_STRING = 5; + const STATE_JSON_LITERAL = 6; + const STATE_LBRACKET = 7; + const STATE_PIPE = 8; + const STATE_LT = 9; + const STATE_GT = 10; + const STATE_EQ = 11; + const STATE_NOT = 12; + const STATE_AND = 13; + + /** @var array We know what token we are consuming based on each char */ + private static $transitionTable = [ + '<' => self::STATE_LT, + '>' => self::STATE_GT, + '=' => self::STATE_EQ, + '!' => self::STATE_NOT, + '[' => self::STATE_LBRACKET, + '|' => self::STATE_PIPE, + '&' => self::STATE_AND, + '`' => self::STATE_JSON_LITERAL, + '"' => self::STATE_QUOTED_STRING, + "'" => self::STATE_STRING_LITERAL, + '-' => self::STATE_NUMBER, + '0' => self::STATE_NUMBER, + '1' => self::STATE_NUMBER, + '2' => self::STATE_NUMBER, + '3' => self::STATE_NUMBER, + '4' => self::STATE_NUMBER, + '5' => self::STATE_NUMBER, + '6' => self::STATE_NUMBER, + '7' => self::STATE_NUMBER, + '8' => self::STATE_NUMBER, + '9' => self::STATE_NUMBER, + ' ' => self::STATE_WHITESPACE, + "\t" => self::STATE_WHITESPACE, + "\n" => self::STATE_WHITESPACE, + "\r" => self::STATE_WHITESPACE, + '.' => self::STATE_SINGLE_CHAR, + '*' => self::STATE_SINGLE_CHAR, + ']' => self::STATE_SINGLE_CHAR, + ',' => self::STATE_SINGLE_CHAR, + ':' => self::STATE_SINGLE_CHAR, + '@' => self::STATE_SINGLE_CHAR, + '(' => self::STATE_SINGLE_CHAR, + ')' => self::STATE_SINGLE_CHAR, + '{' => self::STATE_SINGLE_CHAR, + '}' => self::STATE_SINGLE_CHAR, + '_' => self::STATE_IDENTIFIER, + 'A' => self::STATE_IDENTIFIER, + 'B' => self::STATE_IDENTIFIER, + 'C' => self::STATE_IDENTIFIER, + 'D' => self::STATE_IDENTIFIER, + 'E' => self::STATE_IDENTIFIER, + 'F' => self::STATE_IDENTIFIER, + 'G' => self::STATE_IDENTIFIER, + 'H' => self::STATE_IDENTIFIER, + 'I' => self::STATE_IDENTIFIER, + 'J' => self::STATE_IDENTIFIER, + 'K' => self::STATE_IDENTIFIER, + 'L' => self::STATE_IDENTIFIER, + 'M' => self::STATE_IDENTIFIER, + 'N' => self::STATE_IDENTIFIER, + 'O' => self::STATE_IDENTIFIER, + 'P' => self::STATE_IDENTIFIER, + 'Q' => self::STATE_IDENTIFIER, + 'R' => self::STATE_IDENTIFIER, + 'S' => self::STATE_IDENTIFIER, + 'T' => self::STATE_IDENTIFIER, + 'U' => self::STATE_IDENTIFIER, + 'V' => self::STATE_IDENTIFIER, + 'W' => self::STATE_IDENTIFIER, + 'X' => self::STATE_IDENTIFIER, + 'Y' => self::STATE_IDENTIFIER, + 'Z' => self::STATE_IDENTIFIER, + 'a' => self::STATE_IDENTIFIER, + 'b' => self::STATE_IDENTIFIER, + 'c' => self::STATE_IDENTIFIER, + 'd' => self::STATE_IDENTIFIER, + 'e' => self::STATE_IDENTIFIER, + 'f' => self::STATE_IDENTIFIER, + 'g' => self::STATE_IDENTIFIER, + 'h' => self::STATE_IDENTIFIER, + 'i' => self::STATE_IDENTIFIER, + 'j' => self::STATE_IDENTIFIER, + 'k' => self::STATE_IDENTIFIER, + 'l' => self::STATE_IDENTIFIER, + 'm' => self::STATE_IDENTIFIER, + 'n' => self::STATE_IDENTIFIER, + 'o' => self::STATE_IDENTIFIER, + 'p' => self::STATE_IDENTIFIER, + 'q' => self::STATE_IDENTIFIER, + 'r' => self::STATE_IDENTIFIER, + 's' => self::STATE_IDENTIFIER, + 't' => self::STATE_IDENTIFIER, + 'u' => self::STATE_IDENTIFIER, + 'v' => self::STATE_IDENTIFIER, + 'w' => self::STATE_IDENTIFIER, + 'x' => self::STATE_IDENTIFIER, + 'y' => self::STATE_IDENTIFIER, + 'z' => self::STATE_IDENTIFIER, + ]; + + /** @var array Valid identifier characters after first character */ + private $validIdentifier = [ + 'A' => true, 'B' => true, 'C' => true, 'D' => true, 'E' => true, + 'F' => true, 'G' => true, 'H' => true, 'I' => true, 'J' => true, + 'K' => true, 'L' => true, 'M' => true, 'N' => true, 'O' => true, + 'P' => true, 'Q' => true, 'R' => true, 'S' => true, 'T' => true, + 'U' => true, 'V' => true, 'W' => true, 'X' => true, 'Y' => true, + 'Z' => true, 'a' => true, 'b' => true, 'c' => true, 'd' => true, + 'e' => true, 'f' => true, 'g' => true, 'h' => true, 'i' => true, + 'j' => true, 'k' => true, 'l' => true, 'm' => true, 'n' => true, + 'o' => true, 'p' => true, 'q' => true, 'r' => true, 's' => true, + 't' => true, 'u' => true, 'v' => true, 'w' => true, 'x' => true, + 'y' => true, 'z' => true, '_' => true, '0' => true, '1' => true, + '2' => true, '3' => true, '4' => true, '5' => true, '6' => true, + '7' => true, '8' => true, '9' => true, + ]; + + /** @var array Valid number characters after the first character */ + private $numbers = [ + '0' => true, '1' => true, '2' => true, '3' => true, '4' => true, + '5' => true, '6' => true, '7' => true, '8' => true, '9' => true + ]; + + /** @var array Map of simple single character tokens */ + private $simpleTokens = [ + '.' => self::T_DOT, + '*' => self::T_STAR, + ']' => self::T_RBRACKET, + ',' => self::T_COMMA, + ':' => self::T_COLON, + '@' => self::T_CURRENT, + '(' => self::T_LPAREN, + ')' => self::T_RPAREN, + '{' => self::T_LBRACE, + '}' => self::T_RBRACE, + ]; + + /** + * Tokenize the JMESPath expression into an array of tokens hashes that + * contain a 'type', 'value', and 'key'. + * + * @param string $input JMESPath input + * + * @return array + * @throws SyntaxErrorException + */ + public function tokenize($input) + { + $tokens = []; + + if ($input === '') { + goto eof; + } + + $chars = str_split($input); + + while (false !== ($current = current($chars))) { + + // Every character must be in the transition character table. + if (!isset(self::$transitionTable[$current])) { + $tokens[] = [ + 'type' => self::T_UNKNOWN, + 'pos' => key($chars), + 'value' => $current + ]; + next($chars); + continue; + } + + $state = self::$transitionTable[$current]; + + if ($state === self::STATE_SINGLE_CHAR) { + + // Consume simple tokens like ".", ",", "@", etc. + $tokens[] = [ + 'type' => $this->simpleTokens[$current], + 'pos' => key($chars), + 'value' => $current + ]; + next($chars); + + } elseif ($state === self::STATE_IDENTIFIER) { + + // Consume identifiers + $start = key($chars); + $buffer = ''; + do { + $buffer .= $current; + $current = next($chars); + } while ($current !== false && isset($this->validIdentifier[$current])); + $tokens[] = [ + 'type' => self::T_IDENTIFIER, + 'value' => $buffer, + 'pos' => $start + ]; + + } elseif ($state === self::STATE_WHITESPACE) { + + // Skip whitespace + next($chars); + + } elseif ($state === self::STATE_LBRACKET) { + + // Consume "[", "[?", and "[]" + $position = key($chars); + $actual = next($chars); + if ($actual === ']') { + next($chars); + $tokens[] = [ + 'type' => self::T_FLATTEN, + 'pos' => $position, + 'value' => '[]' + ]; + } elseif ($actual === '?') { + next($chars); + $tokens[] = [ + 'type' => self::T_FILTER, + 'pos' => $position, + 'value' => '[?' + ]; + } else { + $tokens[] = [ + 'type' => self::T_LBRACKET, + 'pos' => $position, + 'value' => '[' + ]; + } + + } elseif ($state === self::STATE_STRING_LITERAL) { + + // Consume raw string literals + $t = $this->inside($chars, "'", self::T_LITERAL); + $t['value'] = str_replace("\\'", "'", $t['value']); + $tokens[] = $t; + + } elseif ($state === self::STATE_PIPE) { + + // Consume pipe and OR + $tokens[] = $this->matchOr($chars, '|', '|', self::T_OR, self::T_PIPE); + + } elseif ($state == self::STATE_JSON_LITERAL) { + + // Consume JSON literals + $token = $this->inside($chars, '`', self::T_LITERAL); + if ($token['type'] === self::T_LITERAL) { + $token['value'] = str_replace('\\`', '`', $token['value']); + $token = $this->parseJson($token); + } + $tokens[] = $token; + + } elseif ($state == self::STATE_NUMBER) { + + // Consume numbers + $start = key($chars); + $buffer = ''; + do { + $buffer .= $current; + $current = next($chars); + } while ($current !== false && isset($this->numbers[$current])); + $tokens[] = [ + 'type' => self::T_NUMBER, + 'value' => (int)$buffer, + 'pos' => $start + ]; + + } elseif ($state === self::STATE_QUOTED_STRING) { + + // Consume quoted identifiers + $token = $this->inside($chars, '"', self::T_QUOTED_IDENTIFIER); + if ($token['type'] === self::T_QUOTED_IDENTIFIER) { + $token['value'] = '"' . $token['value'] . '"'; + $token = $this->parseJson($token); + } + $tokens[] = $token; + + } elseif ($state === self::STATE_EQ) { + + // Consume equals + $tokens[] = $this->matchOr($chars, '=', '=', self::T_COMPARATOR, self::T_UNKNOWN); + + } elseif ($state == self::STATE_AND) { + + $tokens[] = $this->matchOr($chars, '&', '&', self::T_AND, self::T_EXPREF); + + } elseif ($state === self::STATE_NOT) { + + // Consume not equal + $tokens[] = $this->matchOr($chars, '!', '=', self::T_COMPARATOR, self::T_NOT); + + } else { + + // either '<' or '>' + // Consume less than and greater than + $tokens[] = $this->matchOr($chars, $current, '=', self::T_COMPARATOR, self::T_COMPARATOR); + + } + } + + eof: + $tokens[] = [ + 'type' => self::T_EOF, + 'pos' => strlen($input), + 'value' => null + ]; + + return $tokens; + } + + /** + * Returns a token based on whether or not the next token matches the + * expected value. If it does, a token of "$type" is returned. Otherwise, + * a token of "$orElse" type is returned. + * + * @param array $chars Array of characters by reference. + * @param string $current The current character. + * @param string $expected Expected character. + * @param string $type Expected result type. + * @param string $orElse Otherwise return a token of this type. + * + * @return array Returns a conditional token. + */ + private function matchOr(array &$chars, $current, $expected, $type, $orElse) + { + if (next($chars) === $expected) { + next($chars); + return [ + 'type' => $type, + 'pos' => key($chars) - 1, + 'value' => $current . $expected + ]; + } + + return [ + 'type' => $orElse, + 'pos' => key($chars) - 1, + 'value' => $current + ]; + } + + /** + * Returns a token the is the result of consuming inside of delimiter + * characters. Escaped delimiters will be adjusted before returning a + * value. If the token is not closed, "unknown" is returned. + * + * @param array $chars Array of characters by reference. + * @param string $delim The delimiter character. + * @param string $type Token type. + * + * @return array Returns the consumed token. + */ + private function inside(array &$chars, $delim, $type) + { + $position = key($chars); + $current = next($chars); + $buffer = ''; + + while ($current !== $delim) { + if ($current === '\\') { + $buffer .= '\\'; + $current = next($chars); + } + if ($current === false) { + // Unclosed delimiter + return [ + 'type' => self::T_UNKNOWN, + 'value' => $buffer, + 'pos' => $position + ]; + } + $buffer .= $current; + $current = next($chars); + } + + next($chars); + + return ['type' => $type, 'value' => $buffer, 'pos' => $position]; + } + + /** + * Parses a JSON token or sets the token type to "unknown" on error. + * + * @param array $token Token that needs parsing. + * + * @return array Returns a token with a parsed value. + */ + private function parseJson(array $token) + { + $value = json_decode($token['value'], true); + + if ($error = json_last_error()) { + // Legacy support for elided quotes. Try to parse again by adding + // quotes around the bad input value. + $value = json_decode('"' . $token['value'] . '"', true); + if ($error = json_last_error()) { + $token['type'] = self::T_UNKNOWN; + return $token; + } + } + + $token['value'] = $value; + return $token; + } +} diff --git a/lib/aws/JmesPath/Parser.php b/lib/aws/JmesPath/Parser.php new file mode 100644 index 0000000..3b0b29a --- /dev/null +++ b/lib/aws/JmesPath/Parser.php @@ -0,0 +1,518 @@ +<?php +namespace JmesPath; + +use JmesPath\Lexer as T; + +/** + * JMESPath Pratt parser + * @link http://hall.org.ua/halls/wizzard/pdf/Vaughan.Pratt.TDOP.pdf + */ +class Parser +{ + /** @var Lexer */ + private $lexer; + private $tokens; + private $token; + private $tpos; + private $expression; + private static $nullToken = ['type' => T::T_EOF]; + private static $currentNode = ['type' => T::T_CURRENT]; + + private static $bp = [ + T::T_EOF => 0, + T::T_QUOTED_IDENTIFIER => 0, + T::T_IDENTIFIER => 0, + T::T_RBRACKET => 0, + T::T_RPAREN => 0, + T::T_COMMA => 0, + T::T_RBRACE => 0, + T::T_NUMBER => 0, + T::T_CURRENT => 0, + T::T_EXPREF => 0, + T::T_COLON => 0, + T::T_PIPE => 1, + T::T_OR => 2, + T::T_AND => 3, + T::T_COMPARATOR => 5, + T::T_FLATTEN => 9, + T::T_STAR => 20, + T::T_FILTER => 21, + T::T_DOT => 40, + T::T_NOT => 45, + T::T_LBRACE => 50, + T::T_LBRACKET => 55, + T::T_LPAREN => 60, + ]; + + /** @var array Acceptable tokens after a dot token */ + private static $afterDot = [ + T::T_IDENTIFIER => true, // foo.bar + T::T_QUOTED_IDENTIFIER => true, // foo."bar" + T::T_STAR => true, // foo.* + T::T_LBRACE => true, // foo[1] + T::T_LBRACKET => true, // foo{a: 0} + T::T_FILTER => true, // foo.[?bar==10] + ]; + + /** + * @param Lexer $lexer Lexer used to tokenize expressions + */ + public function __construct(Lexer $lexer = null) + { + $this->lexer = $lexer ?: new Lexer(); + } + + /** + * Parses a JMESPath expression into an AST + * + * @param string $expression JMESPath expression to compile + * + * @return array Returns an array based AST + * @throws SyntaxErrorException + */ + public function parse($expression) + { + $this->expression = $expression; + $this->tokens = $this->lexer->tokenize($expression); + $this->tpos = -1; + $this->next(); + $result = $this->expr(); + + if ($this->token['type'] === T::T_EOF) { + return $result; + } + + throw $this->syntax('Did not reach the end of the token stream'); + } + + /** + * Parses an expression while rbp < lbp. + * + * @param int $rbp Right bound precedence + * + * @return array + */ + private function expr($rbp = 0) + { + $left = $this->{"nud_{$this->token['type']}"}(); + while ($rbp < self::$bp[$this->token['type']]) { + $left = $this->{"led_{$this->token['type']}"}($left); + } + + return $left; + } + + private function nud_identifier() + { + $token = $this->token; + $this->next(); + return ['type' => 'field', 'value' => $token['value']]; + } + + private function nud_quoted_identifier() + { + $token = $this->token; + $this->next(); + $this->assertNotToken(T::T_LPAREN); + return ['type' => 'field', 'value' => $token['value']]; + } + + private function nud_current() + { + $this->next(); + return self::$currentNode; + } + + private function nud_literal() + { + $token = $this->token; + $this->next(); + return ['type' => 'literal', 'value' => $token['value']]; + } + + private function nud_expref() + { + $this->next(); + return ['type' => T::T_EXPREF, 'children' => [$this->expr(self::$bp[T::T_EXPREF])]]; + } + + private function nud_not() + { + $this->next(); + return ['type' => T::T_NOT, 'children' => [$this->expr(self::$bp[T::T_NOT])]]; + } + + private function nud_lparen() { + $this->next(); + $result = $this->expr(0); + if ($this->token['type'] !== T::T_RPAREN) { + throw $this->syntax('Unclosed `(`'); + } + $this->next(); + return $result; + } + + private function nud_lbrace() + { + static $validKeys = [T::T_QUOTED_IDENTIFIER => true, T::T_IDENTIFIER => true]; + $this->next($validKeys); + $pairs = []; + + do { + $pairs[] = $this->parseKeyValuePair(); + if ($this->token['type'] == T::T_COMMA) { + $this->next($validKeys); + } + } while ($this->token['type'] !== T::T_RBRACE); + + $this->next(); + + return['type' => 'multi_select_hash', 'children' => $pairs]; + } + + private function nud_flatten() + { + return $this->led_flatten(self::$currentNode); + } + + private function nud_filter() + { + return $this->led_filter(self::$currentNode); + } + + private function nud_star() + { + return $this->parseWildcardObject(self::$currentNode); + } + + private function nud_lbracket() + { + $this->next(); + $type = $this->token['type']; + if ($type == T::T_NUMBER || $type == T::T_COLON) { + return $this->parseArrayIndexExpression(); + } elseif ($type == T::T_STAR && $this->lookahead() == T::T_RBRACKET) { + return $this->parseWildcardArray(); + } else { + return $this->parseMultiSelectList(); + } + } + + private function led_lbracket(array $left) + { + static $nextTypes = [T::T_NUMBER => true, T::T_COLON => true, T::T_STAR => true]; + $this->next($nextTypes); + switch ($this->token['type']) { + case T::T_NUMBER: + case T::T_COLON: + return [ + 'type' => 'subexpression', + 'children' => [$left, $this->parseArrayIndexExpression()] + ]; + default: + return $this->parseWildcardArray($left); + } + } + + private function led_flatten(array $left) + { + $this->next(); + + return [ + 'type' => 'projection', + 'from' => 'array', + 'children' => [ + ['type' => T::T_FLATTEN, 'children' => [$left]], + $this->parseProjection(self::$bp[T::T_FLATTEN]) + ] + ]; + } + + private function led_dot(array $left) + { + $this->next(self::$afterDot); + + if ($this->token['type'] == T::T_STAR) { + return $this->parseWildcardObject($left); + } + + return [ + 'type' => 'subexpression', + 'children' => [$left, $this->parseDot(self::$bp[T::T_DOT])] + ]; + } + + private function led_or(array $left) + { + $this->next(); + return [ + 'type' => T::T_OR, + 'children' => [$left, $this->expr(self::$bp[T::T_OR])] + ]; + } + + private function led_and(array $left) + { + $this->next(); + return [ + 'type' => T::T_AND, + 'children' => [$left, $this->expr(self::$bp[T::T_AND])] + ]; + } + + private function led_pipe(array $left) + { + $this->next(); + return [ + 'type' => T::T_PIPE, + 'children' => [$left, $this->expr(self::$bp[T::T_PIPE])] + ]; + } + + private function led_lparen(array $left) + { + $args = []; + $this->next(); + + while ($this->token['type'] != T::T_RPAREN) { + $args[] = $this->expr(0); + if ($this->token['type'] == T::T_COMMA) { + $this->next(); + } + } + + $this->next(); + + return [ + 'type' => 'function', + 'value' => $left['value'], + 'children' => $args + ]; + } + + private function led_filter(array $left) + { + $this->next(); + $expression = $this->expr(); + if ($this->token['type'] != T::T_RBRACKET) { + throw $this->syntax('Expected a closing rbracket for the filter'); + } + + $this->next(); + $rhs = $this->parseProjection(self::$bp[T::T_FILTER]); + + return [ + 'type' => 'projection', + 'from' => 'array', + 'children' => [ + $left ?: self::$currentNode, + [ + 'type' => 'condition', + 'children' => [$expression, $rhs] + ] + ] + ]; + } + + private function led_comparator(array $left) + { + $token = $this->token; + $this->next(); + + return [ + 'type' => T::T_COMPARATOR, + 'value' => $token['value'], + 'children' => [$left, $this->expr(self::$bp[T::T_COMPARATOR])] + ]; + } + + private function parseProjection($bp) + { + $type = $this->token['type']; + if (self::$bp[$type] < 10) { + return self::$currentNode; + } elseif ($type == T::T_DOT) { + $this->next(self::$afterDot); + return $this->parseDot($bp); + } elseif ($type == T::T_LBRACKET || $type == T::T_FILTER) { + return $this->expr($bp); + } + + throw $this->syntax('Syntax error after projection'); + } + + private function parseDot($bp) + { + if ($this->token['type'] == T::T_LBRACKET) { + $this->next(); + return $this->parseMultiSelectList(); + } + + return $this->expr($bp); + } + + private function parseKeyValuePair() + { + static $validColon = [T::T_COLON => true]; + $key = $this->token['value']; + $this->next($validColon); + $this->next(); + + return [ + 'type' => 'key_val_pair', + 'value' => $key, + 'children' => [$this->expr()] + ]; + } + + private function parseWildcardObject(array $left = null) + { + $this->next(); + + return [ + 'type' => 'projection', + 'from' => 'object', + 'children' => [ + $left ?: self::$currentNode, + $this->parseProjection(self::$bp[T::T_STAR]) + ] + ]; + } + + private function parseWildcardArray(array $left = null) + { + static $getRbracket = [T::T_RBRACKET => true]; + $this->next($getRbracket); + $this->next(); + + return [ + 'type' => 'projection', + 'from' => 'array', + 'children' => [ + $left ?: self::$currentNode, + $this->parseProjection(self::$bp[T::T_STAR]) + ] + ]; + } + + /** + * Parses an array index expression (e.g., [0], [1:2:3] + */ + private function parseArrayIndexExpression() + { + static $matchNext = [ + T::T_NUMBER => true, + T::T_COLON => true, + T::T_RBRACKET => true + ]; + + $pos = 0; + $parts = [null, null, null]; + $expected = $matchNext; + + do { + if ($this->token['type'] == T::T_COLON) { + $pos++; + $expected = $matchNext; + } elseif ($this->token['type'] == T::T_NUMBER) { + $parts[$pos] = $this->token['value']; + $expected = [T::T_COLON => true, T::T_RBRACKET => true]; + } + $this->next($expected); + } while ($this->token['type'] != T::T_RBRACKET); + + // Consume the closing bracket + $this->next(); + + if ($pos === 0) { + // No colons were found so this is a simple index extraction + return ['type' => 'index', 'value' => $parts[0]]; + } + + if ($pos > 2) { + throw $this->syntax('Invalid array slice syntax: too many colons'); + } + + // Sliced array from start (e.g., [2:]) + return [ + 'type' => 'projection', + 'from' => 'array', + 'children' => [ + ['type' => 'slice', 'value' => $parts], + $this->parseProjection(self::$bp[T::T_STAR]) + ] + ]; + } + + private function parseMultiSelectList() + { + $nodes = []; + + do { + $nodes[] = $this->expr(); + if ($this->token['type'] == T::T_COMMA) { + $this->next(); + $this->assertNotToken(T::T_RBRACKET); + } + } while ($this->token['type'] !== T::T_RBRACKET); + $this->next(); + + return ['type' => 'multi_select_list', 'children' => $nodes]; + } + + private function syntax($msg) + { + return new SyntaxErrorException($msg, $this->token, $this->expression); + } + + private function lookahead() + { + return (!isset($this->tokens[$this->tpos + 1])) + ? T::T_EOF + : $this->tokens[$this->tpos + 1]['type']; + } + + private function next(array $match = null) + { + if (!isset($this->tokens[$this->tpos + 1])) { + $this->token = self::$nullToken; + } else { + $this->token = $this->tokens[++$this->tpos]; + } + + if ($match && !isset($match[$this->token['type']])) { + throw $this->syntax($match); + } + } + + private function assertNotToken($type) + { + if ($this->token['type'] == $type) { + throw $this->syntax("Token {$this->tpos} not allowed to be $type"); + } + } + + /** + * @internal Handles undefined tokens without paying the cost of validation + */ + public function __call($method, $args) + { + $prefix = substr($method, 0, 4); + if ($prefix == 'nud_' || $prefix == 'led_') { + $token = substr($method, 4); + $message = "Unexpected \"$token\" token ($method). Expected one of" + . " the following tokens: " + . implode(', ', array_map(function ($i) { + return '"' . substr($i, 4) . '"'; + }, array_filter( + get_class_methods($this), + function ($i) use ($prefix) { + return strpos($i, $prefix) === 0; + } + ))); + throw $this->syntax($message); + } + + throw new \BadMethodCallException("Call to undefined method $method"); + } +} diff --git a/lib/aws/JmesPath/SyntaxErrorException.php b/lib/aws/JmesPath/SyntaxErrorException.php new file mode 100644 index 0000000..65be17e --- /dev/null +++ b/lib/aws/JmesPath/SyntaxErrorException.php @@ -0,0 +1,36 @@ +<?php +namespace JmesPath; + +/** + * Syntax errors raise this exception that gives context + */ +class SyntaxErrorException extends \InvalidArgumentException +{ + /** + * @param string $expectedTypesOrMessage Expected array of tokens or message + * @param array $token Current token + * @param string $expression Expression input + */ + public function __construct( + $expectedTypesOrMessage, + array $token, + $expression + ) { + $message = "Syntax error at character {$token['pos']}\n" + . $expression . "\n" . str_repeat(' ', $token['pos']) . "^\n"; + $message .= !is_array($expectedTypesOrMessage) + ? $expectedTypesOrMessage + : $this->createTokenMessage($token, $expectedTypesOrMessage); + parent::__construct($message); + } + + private function createTokenMessage(array $token, array $valid) + { + return sprintf( + 'Expected one of the following: %s; found %s "%s"', + implode(', ', array_keys($valid)), + $token['type'], + $token['value'] + ); + } +} diff --git a/lib/aws/JmesPath/TreeCompiler.php b/lib/aws/JmesPath/TreeCompiler.php new file mode 100644 index 0000000..afb0d9c --- /dev/null +++ b/lib/aws/JmesPath/TreeCompiler.php @@ -0,0 +1,419 @@ +<?php +namespace JmesPath; + +/** + * Tree visitor used to compile JMESPath expressions into native PHP code. + */ +class TreeCompiler +{ + private $indentation; + private $source; + private $vars; + + /** + * @param array $ast AST to compile. + * @param string $fnName The name of the function to generate. + * @param string $expr Expression being compiled. + * + * @return string + */ + public function visit(array $ast, $fnName, $expr) + { + $this->vars = []; + $this->source = $this->indentation = ''; + $this->write("<?php\n") + ->write('use JmesPath\\TreeInterpreter as Ti;') + ->write('use JmesPath\\FnDispatcher as Fn;') + ->write('use JmesPath\\Utils;') + ->write('') + ->write('function %s(Ti $interpreter, $value) {', $fnName) + ->indent() + ->dispatch($ast) + ->write('') + ->write('return $value;') + ->outdent() + ->write('}'); + + return $this->source; + } + + /** + * @param array $node + * @return mixed + */ + private function dispatch(array $node) + { + return $this->{"visit_{$node['type']}"}($node); + } + + /** + * Creates a monotonically incrementing unique variable name by prefix. + * + * @param string $prefix Variable name prefix + * + * @return string + */ + private function makeVar($prefix) + { + if (!isset($this->vars[$prefix])) { + $this->vars[$prefix] = 0; + return '$' . $prefix; + } + + return '$' . $prefix . ++$this->vars[$prefix]; + } + + /** + * Writes the given line of source code. Pass positional arguments to write + * that match the format of sprintf. + * + * @param string $str String to write + * @return $this + */ + private function write($str) + { + $this->source .= $this->indentation; + if (func_num_args() == 1) { + $this->source .= $str . "\n"; + return $this; + } + $this->source .= vsprintf($str, array_slice(func_get_args(), 1)) . "\n"; + return $this; + } + + /** + * Decreases the indentation level of code being written + * @return $this + */ + private function outdent() + { + $this->indentation = substr($this->indentation, 0, -4); + return $this; + } + + /** + * Increases the indentation level of code being written + * @return $this + */ + private function indent() + { + $this->indentation .= ' '; + return $this; + } + + private function visit_or(array $node) + { + $a = $this->makeVar('beforeOr'); + return $this + ->write('%s = $value;', $a) + ->dispatch($node['children'][0]) + ->write('if (!$value && $value !== "0" && $value !== 0) {') + ->indent() + ->write('$value = %s;', $a) + ->dispatch($node['children'][1]) + ->outdent() + ->write('}'); + } + + private function visit_and(array $node) + { + $a = $this->makeVar('beforeAnd'); + return $this + ->write('%s = $value;', $a) + ->dispatch($node['children'][0]) + ->write('if ($value || $value === "0" || $value === 0) {') + ->indent() + ->write('$value = %s;', $a) + ->dispatch($node['children'][1]) + ->outdent() + ->write('}'); + } + + private function visit_not(array $node) + { + return $this + ->write('// Visiting not node') + ->dispatch($node['children'][0]) + ->write('// Applying boolean not to result of not node') + ->write('$value = !Utils::isTruthy($value);'); + } + + private function visit_subexpression(array $node) + { + return $this + ->dispatch($node['children'][0]) + ->write('if ($value !== null) {') + ->indent() + ->dispatch($node['children'][1]) + ->outdent() + ->write('}'); + } + + private function visit_field(array $node) + { + $arr = '$value[' . var_export($node['value'], true) . ']'; + $obj = '$value->{' . var_export($node['value'], true) . '}'; + $this->write('if (is_array($value) || $value instanceof \\ArrayAccess) {') + ->indent() + ->write('$value = isset(%s) ? %s : null;', $arr, $arr) + ->outdent() + ->write('} elseif ($value instanceof \\stdClass) {') + ->indent() + ->write('$value = isset(%s) ? %s : null;', $obj, $obj) + ->outdent() + ->write("} else {") + ->indent() + ->write('$value = null;') + ->outdent() + ->write("}"); + + return $this; + } + + private function visit_index(array $node) + { + if ($node['value'] >= 0) { + $check = '$value[' . $node['value'] . ']'; + return $this->write( + '$value = (is_array($value) || $value instanceof \\ArrayAccess)' + . ' && isset(%s) ? %s : null;', + $check, $check + ); + } + + $a = $this->makeVar('count'); + return $this + ->write('if (is_array($value) || ($value instanceof \\ArrayAccess && $value instanceof \\Countable)) {') + ->indent() + ->write('%s = count($value) + %s;', $a, $node['value']) + ->write('$value = isset($value[%s]) ? $value[%s] : null;', $a, $a) + ->outdent() + ->write('} else {') + ->indent() + ->write('$value = null;') + ->outdent() + ->write('}'); + } + + private function visit_literal(array $node) + { + return $this->write('$value = %s;', var_export($node['value'], true)); + } + + private function visit_pipe(array $node) + { + return $this + ->dispatch($node['children'][0]) + ->dispatch($node['children'][1]); + } + + private function visit_multi_select_list(array $node) + { + return $this->visit_multi_select_hash($node); + } + + private function visit_multi_select_hash(array $node) + { + $listVal = $this->makeVar('list'); + $value = $this->makeVar('prev'); + $this->write('if ($value !== null) {') + ->indent() + ->write('%s = [];', $listVal) + ->write('%s = $value;', $value); + + $first = true; + foreach ($node['children'] as $child) { + if (!$first) { + $this->write('$value = %s;', $value); + } + $first = false; + if ($node['type'] == 'multi_select_hash') { + $this->dispatch($child['children'][0]); + $key = var_export($child['value'], true); + $this->write('%s[%s] = $value;', $listVal, $key); + } else { + $this->dispatch($child); + $this->write('%s[] = $value;', $listVal); + } + } + + return $this + ->write('$value = %s;', $listVal) + ->outdent() + ->write('}'); + } + + private function visit_function(array $node) + { + $value = $this->makeVar('val'); + $args = $this->makeVar('args'); + $this->write('%s = $value;', $value) + ->write('%s = [];', $args); + + foreach ($node['children'] as $arg) { + $this->dispatch($arg); + $this->write('%s[] = $value;', $args) + ->write('$value = %s;', $value); + } + + return $this->write( + '$value = Fn::getInstance()->__invoke("%s", %s);', + $node['value'], $args + ); + } + + private function visit_slice(array $node) + { + return $this + ->write('$value = !is_string($value) && !Utils::isArray($value)') + ->write(' ? null : Utils::slice($value, %s, %s, %s);', + var_export($node['value'][0], true), + var_export($node['value'][1], true), + var_export($node['value'][2], true) + ); + } + + private function visit_current(array $node) + { + return $this->write('// Visiting current node (no-op)'); + } + + private function visit_expref(array $node) + { + $child = var_export($node['children'][0], true); + return $this->write('$value = function ($value) use ($interpreter) {') + ->indent() + ->write('return $interpreter->visit(%s, $value);', $child) + ->outdent() + ->write('};'); + } + + private function visit_flatten(array $node) + { + $this->dispatch($node['children'][0]); + $merged = $this->makeVar('merged'); + $val = $this->makeVar('val'); + + $this + ->write('// Visiting merge node') + ->write('if (!Utils::isArray($value)) {') + ->indent() + ->write('$value = null;') + ->outdent() + ->write('} else {') + ->indent() + ->write('%s = [];', $merged) + ->write('foreach ($value as %s) {', $val) + ->indent() + ->write('if (is_array(%s) && isset(%s[0])) {', $val, $val) + ->indent() + ->write('%s = array_merge(%s, %s);', $merged, $merged, $val) + ->outdent() + ->write('} elseif (%s !== []) {', $val) + ->indent() + ->write('%s[] = %s;', $merged, $val) + ->outdent() + ->write('}') + ->outdent() + ->write('}') + ->write('$value = %s;', $merged) + ->outdent() + ->write('}'); + + return $this; + } + + private function visit_projection(array $node) + { + $val = $this->makeVar('val'); + $collected = $this->makeVar('collected'); + $this->write('// Visiting projection node') + ->dispatch($node['children'][0]) + ->write(''); + + if (!isset($node['from'])) { + $this->write('if (!is_array($value) || !($value instanceof \stdClass)) { $value = null; }'); + } elseif ($node['from'] == 'object') { + $this->write('if (!Utils::isObject($value)) { $value = null; }'); + } elseif ($node['from'] == 'array') { + $this->write('if (!Utils::isArray($value)) { $value = null; }'); + } + + $this->write('if ($value !== null) {') + ->indent() + ->write('%s = [];', $collected) + ->write('foreach ((array) $value as %s) {', $val) + ->indent() + ->write('$value = %s;', $val) + ->dispatch($node['children'][1]) + ->write('if ($value !== null) {') + ->indent() + ->write('%s[] = $value;', $collected) + ->outdent() + ->write('}') + ->outdent() + ->write('}') + ->write('$value = %s;', $collected) + ->outdent() + ->write('}'); + + return $this; + } + + private function visit_condition(array $node) + { + $value = $this->makeVar('beforeCondition'); + return $this + ->write('%s = $value;', $value) + ->write('// Visiting condition node') + ->dispatch($node['children'][0]) + ->write('// Checking result of condition node') + ->write('if (Utils::isTruthy($value)) {') + ->indent() + ->write('$value = %s;', $value) + ->dispatch($node['children'][1]) + ->outdent() + ->write('} else {') + ->indent() + ->write('$value = null;') + ->outdent() + ->write('}'); + } + + private function visit_comparator(array $node) + { + $value = $this->makeVar('val'); + $a = $this->makeVar('left'); + $b = $this->makeVar('right'); + + $this + ->write('// Visiting comparator node') + ->write('%s = $value;', $value) + ->dispatch($node['children'][0]) + ->write('%s = $value;', $a) + ->write('$value = %s;', $value) + ->dispatch($node['children'][1]) + ->write('%s = $value;', $b); + + if ($node['value'] == '==') { + $this->write('$value = Utils::isEqual(%s, %s);', $a, $b); + } elseif ($node['value'] == '!=') { + $this->write('$value = !Utils::isEqual(%s, %s);', $a, $b); + } else { + $this->write( + '$value = (is_int(%s) || is_float(%s)) && (is_int(%s) || is_float(%s)) && %s %s %s;', + $a, $a, $b, $b, $a, $node['value'], $b + ); + } + + return $this; + } + + /** @internal */ + public function __call($method, $args) + { + throw new \RuntimeException( + sprintf('Invalid node encountered: %s', json_encode($args[0])) + ); + } +} diff --git a/lib/aws/JmesPath/TreeInterpreter.php b/lib/aws/JmesPath/TreeInterpreter.php new file mode 100644 index 0000000..cdfdd99 --- /dev/null +++ b/lib/aws/JmesPath/TreeInterpreter.php @@ -0,0 +1,235 @@ +<?php +namespace JmesPath; + +/** + * Tree visitor used to evaluates JMESPath AST expressions. + */ +class TreeInterpreter +{ + /** @var callable */ + private $fnDispatcher; + + /** + * @param callable $fnDispatcher Function dispatching function that accepts + * a function name argument and an array of + * function arguments and returns the result. + */ + public function __construct(callable $fnDispatcher = null) + { + $this->fnDispatcher = $fnDispatcher ?: FnDispatcher::getInstance(); + } + + /** + * Visits each node in a JMESPath AST and returns the evaluated result. + * + * @param array $node JMESPath AST node + * @param mixed $data Data to evaluate + * + * @return mixed + */ + public function visit(array $node, $data) + { + return $this->dispatch($node, $data); + } + + /** + * Recursively traverses an AST using depth-first, pre-order traversal. + * The evaluation logic for each node type is embedded into a large switch + * statement to avoid the cost of "double dispatch". + * @return mixed + */ + private function dispatch(array $node, $value) + { + $dispatcher = $this->fnDispatcher; + + switch ($node['type']) { + + case 'field': + if (is_array($value) || $value instanceof \ArrayAccess) { + return isset($value[$node['value']]) ? $value[$node['value']] : null; + } elseif ($value instanceof \stdClass) { + return isset($value->{$node['value']}) ? $value->{$node['value']} : null; + } + return null; + + case 'subexpression': + return $this->dispatch( + $node['children'][1], + $this->dispatch($node['children'][0], $value) + ); + + case 'index': + if (!Utils::isArray($value)) { + return null; + } + $idx = $node['value'] >= 0 + ? $node['value'] + : $node['value'] + count($value); + return isset($value[$idx]) ? $value[$idx] : null; + + case 'projection': + $left = $this->dispatch($node['children'][0], $value); + switch ($node['from']) { + case 'object': + if (!Utils::isObject($left)) { + return null; + } + break; + case 'array': + if (!Utils::isArray($left)) { + return null; + } + break; + default: + if (!is_array($left) || !($left instanceof \stdClass)) { + return null; + } + } + + $collected = []; + foreach ((array) $left as $val) { + $result = $this->dispatch($node['children'][1], $val); + if ($result !== null) { + $collected[] = $result; + } + } + + return $collected; + + case 'flatten': + static $skipElement = []; + $value = $this->dispatch($node['children'][0], $value); + + if (!Utils::isArray($value)) { + return null; + } + + $merged = []; + foreach ($value as $values) { + // Only merge up arrays lists and not hashes + if (is_array($values) && isset($values[0])) { + $merged = array_merge($merged, $values); + } elseif ($values !== $skipElement) { + $merged[] = $values; + } + } + + return $merged; + + case 'literal': + return $node['value']; + + case 'current': + return $value; + + case 'or': + $result = $this->dispatch($node['children'][0], $value); + return Utils::isTruthy($result) + ? $result + : $this->dispatch($node['children'][1], $value); + + case 'and': + $result = $this->dispatch($node['children'][0], $value); + return Utils::isTruthy($result) + ? $this->dispatch($node['children'][1], $value) + : $result; + + case 'not': + return !Utils::isTruthy( + $this->dispatch($node['children'][0], $value) + ); + + case 'pipe': + return $this->dispatch( + $node['children'][1], + $this->dispatch($node['children'][0], $value) + ); + + case 'multi_select_list': + if ($value === null) { + return null; + } + + $collected = []; + foreach ($node['children'] as $node) { + $collected[] = $this->dispatch($node, $value); + } + + return $collected; + + case 'multi_select_hash': + if ($value === null) { + return null; + } + + $collected = []; + foreach ($node['children'] as $node) { + $collected[$node['value']] = $this->dispatch( + $node['children'][0], + $value + ); + } + + return $collected; + + case 'comparator': + $left = $this->dispatch($node['children'][0], $value); + $right = $this->dispatch($node['children'][1], $value); + if ($node['value'] == '==') { + return Utils::isEqual($left, $right); + } elseif ($node['value'] == '!=') { + return !Utils::isEqual($left, $right); + } else { + return self::relativeCmp($left, $right, $node['value']); + } + + case 'condition': + return Utils::isTruthy($this->dispatch($node['children'][0], $value)) + ? $this->dispatch($node['children'][1], $value) + : null; + + case 'function': + $args = []; + foreach ($node['children'] as $arg) { + $args[] = $this->dispatch($arg, $value); + } + return $dispatcher($node['value'], $args); + + case 'slice': + return is_string($value) || Utils::isArray($value) + ? Utils::slice( + $value, + $node['value'][0], + $node['value'][1], + $node['value'][2] + ) : null; + + case 'expref': + $apply = $node['children'][0]; + return function ($value) use ($apply) { + return $this->visit($apply, $value); + }; + + default: + throw new \RuntimeException("Unknown node type: {$node['type']}"); + } + } + + /** + * @return bool + */ + private static function relativeCmp($left, $right, $cmp) + { + if (!(is_int($left) || is_float($left)) || !(is_int($right) || is_float($right))) { + return false; + } + + switch ($cmp) { + case '>': return $left > $right; + case '>=': return $left >= $right; + case '<': return $left < $right; + case '<=': return $left <= $right; + default: throw new \RuntimeException("Invalid comparison: $cmp"); + } + } +} diff --git a/lib/aws/JmesPath/Utils.php b/lib/aws/JmesPath/Utils.php new file mode 100644 index 0000000..4d0bf95 --- /dev/null +++ b/lib/aws/JmesPath/Utils.php @@ -0,0 +1,229 @@ +<?php +namespace JmesPath; + +class Utils +{ + static $typeMap = [ + 'boolean' => 'boolean', + 'string' => 'string', + 'NULL' => 'null', + 'double' => 'number', + 'float' => 'number', + 'integer' => 'number' + ]; + + /** + * Returns true if the value is truthy + * + * @param mixed $value Value to check + * + * @return bool + */ + public static function isTruthy($value) + { + if (!$value) { + return $value === 0 || $value === '0'; + } elseif ($value instanceof \stdClass) { + return (bool) get_object_vars($value); + } else { + return true; + } + } + + /** + * Gets the JMESPath type equivalent of a PHP variable. + * + * @param mixed $arg PHP variable + * @return string Returns the JSON data type + * @throws \InvalidArgumentException when an unknown type is given. + */ + public static function type($arg) + { + $type = gettype($arg); + if (isset(self::$typeMap[$type])) { + return self::$typeMap[$type]; + } elseif ($type === 'array') { + if (empty($arg)) { + return 'array'; + } + reset($arg); + return key($arg) === 0 ? 'array' : 'object'; + } elseif ($arg instanceof \stdClass) { + return 'object'; + } elseif ($arg instanceof \Closure) { + return 'expression'; + } elseif ($arg instanceof \ArrayAccess + && $arg instanceof \Countable + ) { + return count($arg) == 0 || $arg->offsetExists(0) + ? 'array' + : 'object'; + } elseif (method_exists($arg, '__toString')) { + return 'string'; + } + + throw new \InvalidArgumentException( + 'Unable to determine JMESPath type from ' . get_class($arg) + ); + } + + /** + * Determine if the provided value is a JMESPath compatible object. + * + * @param mixed $value + * + * @return bool + */ + public static function isObject($value) + { + if (is_array($value)) { + return !$value || array_keys($value)[0] !== 0; + } + + // Handle array-like values. Must be empty or offset 0 does not exist + return $value instanceof \Countable && $value instanceof \ArrayAccess + ? count($value) == 0 || !$value->offsetExists(0) + : $value instanceof \stdClass; + } + + /** + * Determine if the provided value is a JMESPath compatible array. + * + * @param mixed $value + * + * @return bool + */ + public static function isArray($value) + { + if (is_array($value)) { + return !$value || array_keys($value)[0] === 0; + } + + // Handle array-like values. Must be empty or offset 0 exists. + return $value instanceof \Countable && $value instanceof \ArrayAccess + ? count($value) == 0 || $value->offsetExists(0) + : false; + } + + /** + * JSON aware value comparison function. + * + * @param mixed $a First value to compare + * @param mixed $b Second value to compare + * + * @return bool + */ + public static function isEqual($a, $b) + { + if ($a === $b) { + return true; + } elseif ($a instanceof \stdClass) { + return self::isEqual((array) $a, $b); + } elseif ($b instanceof \stdClass) { + return self::isEqual($a, (array) $b); + } else { + return false; + } + } + + /** + * JMESPath requires a stable sorting algorithm, so here we'll implement + * a simple Schwartzian transform that uses array index positions as tie + * breakers. + * + * @param array $data List or map of data to sort + * @param callable $sortFn Callable used to sort values + * + * @return array Returns the sorted array + * @link http://en.wikipedia.org/wiki/Schwartzian_transform + */ + public static function stableSort(array $data, callable $sortFn) + { + // Decorate each item by creating an array of [value, index] + array_walk($data, function (&$v, $k) { $v = [$v, $k]; }); + // Sort by the sort function and use the index as a tie-breaker + uasort($data, function ($a, $b) use ($sortFn) { + return $sortFn($a[0], $b[0]) ?: ($a[1] < $b[1] ? -1 : 1); + }); + + // Undecorate each item and return the resulting sorted array + return array_map(function ($v) { return $v[0]; }, array_values($data)); + } + + /** + * Creates a Python-style slice of a string or array. + * + * @param array|string $value Value to slice + * @param int|null $start Starting position + * @param int|null $stop Stop position + * @param int $step Step (1, 2, -1, -2, etc.) + * + * @return array|string + * @throws \InvalidArgumentException + */ + public static function slice($value, $start = null, $stop = null, $step = 1) + { + if (!is_array($value) && !is_string($value)) { + throw new \InvalidArgumentException('Expects string or array'); + } + + return self::sliceIndices($value, $start, $stop, $step); + } + + private static function adjustEndpoint($length, $endpoint, $step) + { + if ($endpoint < 0) { + $endpoint += $length; + if ($endpoint < 0) { + $endpoint = $step < 0 ? -1 : 0; + } + } elseif ($endpoint >= $length) { + $endpoint = $step < 0 ? $length - 1 : $length; + } + + return $endpoint; + } + + private static function adjustSlice($length, $start, $stop, $step) + { + if ($step === null) { + $step = 1; + } elseif ($step === 0) { + throw new \RuntimeException('step cannot be 0'); + } + + if ($start === null) { + $start = $step < 0 ? $length - 1 : 0; + } else { + $start = self::adjustEndpoint($length, $start, $step); + } + + if ($stop === null) { + $stop = $step < 0 ? -1 : $length; + } else { + $stop = self::adjustEndpoint($length, $stop, $step); + } + + return [$start, $stop, $step]; + } + + private static function sliceIndices($subject, $start, $stop, $step) + { + $type = gettype($subject); + $len = $type == 'string' ? strlen($subject) : count($subject); + list($start, $stop, $step) = self::adjustSlice($len, $start, $stop, $step); + + $result = []; + if ($step > 0) { + for ($i = $start; $i < $stop; $i += $step) { + $result[] = $subject[$i]; + } + } else { + for ($i = $start; $i > $stop; $i += $step) { + $result[] = $subject[$i]; + } + } + + return $type == 'string' ? implode($result, '') : $result; + } +} diff --git a/lib/aws/LICENSE.md b/lib/aws/LICENSE.md new file mode 100644 index 0000000..8d53e9f --- /dev/null +++ b/lib/aws/LICENSE.md @@ -0,0 +1,141 @@ +# Apache License +Version 2.0, January 2004 + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +## 1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 +through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the +License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled +by, or are under common control with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract +or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial +ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software +source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, +including but not limited to compiled object code, generated documentation, and conversions to other media +types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, +as indicated by a copyright notice that is included in or attached to the work (an example is provided in the +Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) +the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not +include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work +and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any +modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to +Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to +submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or its representatives, including but not +limited to communication on electronic mailing lists, source code control systems, and issue tracking systems +that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been +received by Licensor and subsequently incorporated within the Work. + +## 2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare +Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +## 3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such +license applies only to those patent claims licensable by such Contributor that are necessarily infringed by +their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such +Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim +or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work +constitutes direct or contributory patent infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation is filed. + +## 4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, + trademark, and attribution notices from the Source form of the Work, excluding those notices that do + not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that + You distribute must include a readable copy of the attribution notices contained within such NOTICE + file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed as part of the Derivative Works; within + the Source form or documentation, if provided along with the Derivative Works; or, within a display + generated by the Derivative Works, if and wherever such third-party notices normally appear. The + contents of the NOTICE file are for informational purposes only and do not modify the License. You may + add Your own attribution notices within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be + construed as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide additional or different license +terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative +Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the +conditions stated in this License. + +## 5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this License, without any additional terms or +conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate +license agreement you may have executed with Licensor regarding such Contributions. + +## 6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, service marks, or product names of +the Licensor, except as required for reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +## 7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +## 8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any +Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential +damages of any character arising as a result of this License or out of the use or inability to use the Work +(including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has been advised of the possibility +of such damages. + +## 9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, +acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole +responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold +each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/lib/aws/NOTICE.md b/lib/aws/NOTICE.md new file mode 100644 index 0000000..367fedc --- /dev/null +++ b/lib/aws/NOTICE.md @@ -0,0 +1,64 @@ +# AWS SDK for PHP + +<http://aws.amazon.com/php> + +Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"). +You may not use this file except in compliance with the License. +A copy of the License is located at + +<http://aws.amazon.com/apache2.0> + +or in the "license" file accompanying this file. This file is distributed +on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +express or implied. See the License for the specific language governing +permissions and limitations under the License. + +# Guzzle + +<https://github.com/guzzle/guzzle> + +Copyright (c) 2014 Michael Dowling, https://github.com/mtdowling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +# jmespath.php + +<https://github.com/mtdowling/jmespath.php> + +Copyright (c) 2014 Michael Dowling, https://github.com/mtdowling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/lib/aws/Psr/Http/Message/MessageInterface.php b/lib/aws/Psr/Http/Message/MessageInterface.php new file mode 100644 index 0000000..dd46e5e --- /dev/null +++ b/lib/aws/Psr/Http/Message/MessageInterface.php @@ -0,0 +1,187 @@ +<?php + +namespace Psr\Http\Message; + +/** + * HTTP messages consist of requests from a client to a server and responses + * from a server to a client. This interface defines the methods common to + * each. + * + * Messages are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + * + * @link http://www.ietf.org/rfc/rfc7230.txt + * @link http://www.ietf.org/rfc/rfc7231.txt + */ +interface MessageInterface +{ + /** + * Retrieves the HTTP protocol version as a string. + * + * The string MUST contain only the HTTP version number (e.g., "1.1", "1.0"). + * + * @return string HTTP protocol version. + */ + public function getProtocolVersion(); + + /** + * Return an instance with the specified HTTP protocol version. + * + * The version string MUST contain only the HTTP version number (e.g., + * "1.1", "1.0"). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new protocol version. + * + * @param string $version HTTP protocol version + * @return static + */ + public function withProtocolVersion($version); + + /** + * Retrieves all message header values. + * + * The keys represent the header name as it will be sent over the wire, and + * each value is an array of strings associated with the header. + * + * // Represent the headers as a string + * foreach ($message->getHeaders() as $name => $values) { + * echo $name . ": " . implode(", ", $values); + * } + * + * // Emit headers iteratively: + * foreach ($message->getHeaders() as $name => $values) { + * foreach ($values as $value) { + * header(sprintf('%s: %s', $name, $value), false); + * } + * } + * + * While header names are not case-sensitive, getHeaders() will preserve the + * exact case in which headers were originally specified. + * + * @return string[][] Returns an associative array of the message's headers. Each + * key MUST be a header name, and each value MUST be an array of strings + * for that header. + */ + public function getHeaders(); + + /** + * Checks if a header exists by the given case-insensitive name. + * + * @param string $name Case-insensitive header field name. + * @return bool Returns true if any header names match the given header + * name using a case-insensitive string comparison. Returns false if + * no matching header name is found in the message. + */ + public function hasHeader($name); + + /** + * Retrieves a message header value by the given case-insensitive name. + * + * This method returns an array of all the header values of the given + * case-insensitive header name. + * + * If the header does not appear in the message, this method MUST return an + * empty array. + * + * @param string $name Case-insensitive header field name. + * @return string[] An array of string values as provided for the given + * header. If the header does not appear in the message, this method MUST + * return an empty array. + */ + public function getHeader($name); + + /** + * Retrieves a comma-separated string of the values for a single header. + * + * This method returns all of the header values of the given + * case-insensitive header name as a string concatenated together using + * a comma. + * + * NOTE: Not all header values may be appropriately represented using + * comma concatenation. For such headers, use getHeader() instead + * and supply your own delimiter when concatenating. + * + * If the header does not appear in the message, this method MUST return + * an empty string. + * + * @param string $name Case-insensitive header field name. + * @return string A string of values as provided for the given header + * concatenated together using a comma. If the header does not appear in + * the message, this method MUST return an empty string. + */ + public function getHeaderLine($name); + + /** + * Return an instance with the provided value replacing the specified header. + * + * While header names are case-insensitive, the casing of the header will + * be preserved by this function, and returned from getHeaders(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new and/or updated header and value. + * + * @param string $name Case-insensitive header field name. + * @param string|string[] $value Header value(s). + * @return static + * @throws \InvalidArgumentException for invalid header names or values. + */ + public function withHeader($name, $value); + + /** + * Return an instance with the specified header appended with the given value. + * + * Existing values for the specified header will be maintained. The new + * value(s) will be appended to the existing list. If the header did not + * exist previously, it will be added. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new header and/or value. + * + * @param string $name Case-insensitive header field name to add. + * @param string|string[] $value Header value(s). + * @return static + * @throws \InvalidArgumentException for invalid header names or values. + */ + public function withAddedHeader($name, $value); + + /** + * Return an instance without the specified header. + * + * Header resolution MUST be done without case-sensitivity. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that removes + * the named header. + * + * @param string $name Case-insensitive header field name to remove. + * @return static + */ + public function withoutHeader($name); + + /** + * Gets the body of the message. + * + * @return StreamInterface Returns the body as a stream. + */ + public function getBody(); + + /** + * Return an instance with the specified message body. + * + * The body MUST be a StreamInterface object. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return a new instance that has the + * new body stream. + * + * @param StreamInterface $body Body. + * @return static + * @throws \InvalidArgumentException When the body is not valid. + */ + public function withBody(StreamInterface $body); +} diff --git a/lib/aws/Psr/Http/Message/RequestInterface.php b/lib/aws/Psr/Http/Message/RequestInterface.php new file mode 100644 index 0000000..a96d4fd --- /dev/null +++ b/lib/aws/Psr/Http/Message/RequestInterface.php @@ -0,0 +1,129 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an outgoing, client-side request. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - HTTP method + * - URI + * - Headers + * - Message body + * + * During construction, implementations MUST attempt to set the Host header from + * a provided URI if no Host header is provided. + * + * Requests are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface RequestInterface extends MessageInterface +{ + /** + * Retrieves the message's request target. + * + * Retrieves the message's request-target either as it will appear (for + * clients), as it appeared at request (for servers), or as it was + * specified for the instance (see withRequestTarget()). + * + * In most cases, this will be the origin-form of the composed URI, + * unless a value was provided to the concrete implementation (see + * withRequestTarget() below). + * + * If no URI is available, and no request-target has been specifically + * provided, this method MUST return the string "/". + * + * @return string + */ + public function getRequestTarget(); + + /** + * Return an instance with the specific request-target. + * + * If the request needs a non-origin-form request-target — e.g., for + * specifying an absolute-form, authority-form, or asterisk-form — + * this method may be used to create an instance with the specified + * request-target, verbatim. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * changed request target. + * + * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various + * request-target forms allowed in request messages) + * @param mixed $requestTarget + * @return static + */ + public function withRequestTarget($requestTarget); + + /** + * Retrieves the HTTP method of the request. + * + * @return string Returns the request method. + */ + public function getMethod(); + + /** + * Return an instance with the provided HTTP method. + * + * While HTTP method names are typically all uppercase characters, HTTP + * method names are case-sensitive and thus implementations SHOULD NOT + * modify the given string. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * changed request method. + * + * @param string $method Case-sensitive method. + * @return static + * @throws \InvalidArgumentException for invalid HTTP methods. + */ + public function withMethod($method); + + /** + * Retrieves the URI instance. + * + * This method MUST return a UriInterface instance. + * + * @link http://tools.ietf.org/html/rfc3986#section-4.3 + * @return UriInterface Returns a UriInterface instance + * representing the URI of the request. + */ + public function getUri(); + + /** + * Returns an instance with the provided URI. + * + * This method MUST update the Host header of the returned request by + * default if the URI contains a host component. If the URI does not + * contain a host component, any pre-existing Host header MUST be carried + * over to the returned request. + * + * You can opt-in to preserving the original state of the Host header by + * setting `$preserveHost` to `true`. When `$preserveHost` is set to + * `true`, this method interacts with the Host header in the following ways: + * + * - If the Host header is missing or empty, and the new URI contains + * a host component, this method MUST update the Host header in the returned + * request. + * - If the Host header is missing or empty, and the new URI does not contain a + * host component, this method MUST NOT update the Host header in the returned + * request. + * - If a Host header is present and non-empty, this method MUST NOT update + * the Host header in the returned request. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new UriInterface instance. + * + * @link http://tools.ietf.org/html/rfc3986#section-4.3 + * @param UriInterface $uri New request URI to use. + * @param bool $preserveHost Preserve the original state of the Host header. + * @return static + */ + public function withUri(UriInterface $uri, $preserveHost = false); +} diff --git a/lib/aws/Psr/Http/Message/ResponseInterface.php b/lib/aws/Psr/Http/Message/ResponseInterface.php new file mode 100644 index 0000000..c306514 --- /dev/null +++ b/lib/aws/Psr/Http/Message/ResponseInterface.php @@ -0,0 +1,68 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an outgoing, server-side response. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - Status code and reason phrase + * - Headers + * - Message body + * + * Responses are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface ResponseInterface extends MessageInterface +{ + /** + * Gets the response status code. + * + * The status code is a 3-digit integer result code of the server's attempt + * to understand and satisfy the request. + * + * @return int Status code. + */ + public function getStatusCode(); + + /** + * Return an instance with the specified status code and, optionally, reason phrase. + * + * If no reason phrase is specified, implementations MAY choose to default + * to the RFC 7231 or IANA recommended reason phrase for the response's + * status code. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated status and reason phrase. + * + * @link http://tools.ietf.org/html/rfc7231#section-6 + * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + * @param int $code The 3-digit integer result code to set. + * @param string $reasonPhrase The reason phrase to use with the + * provided status code; if none is provided, implementations MAY + * use the defaults as suggested in the HTTP specification. + * @return static + * @throws \InvalidArgumentException For invalid status code arguments. + */ + public function withStatus($code, $reasonPhrase = ''); + + /** + * Gets the response reason phrase associated with the status code. + * + * Because a reason phrase is not a required element in a response + * status line, the reason phrase value MAY be null. Implementations MAY + * choose to return the default RFC 7231 recommended reason phrase (or those + * listed in the IANA HTTP Status Code Registry) for the response's + * status code. + * + * @link http://tools.ietf.org/html/rfc7231#section-6 + * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + * @return string Reason phrase; must return an empty string if none present. + */ + public function getReasonPhrase(); +} diff --git a/lib/aws/Psr/Http/Message/ServerRequestInterface.php b/lib/aws/Psr/Http/Message/ServerRequestInterface.php new file mode 100644 index 0000000..0251234 --- /dev/null +++ b/lib/aws/Psr/Http/Message/ServerRequestInterface.php @@ -0,0 +1,261 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an incoming, server-side HTTP request. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - HTTP method + * - URI + * - Headers + * - Message body + * + * Additionally, it encapsulates all data as it has arrived to the + * application from the CGI and/or PHP environment, including: + * + * - The values represented in $_SERVER. + * - Any cookies provided (generally via $_COOKIE) + * - Query string arguments (generally via $_GET, or as parsed via parse_str()) + * - Upload files, if any (as represented by $_FILES) + * - Deserialized body parameters (generally from $_POST) + * + * $_SERVER values MUST be treated as immutable, as they represent application + * state at the time of request; as such, no methods are provided to allow + * modification of those values. The other values provide such methods, as they + * can be restored from $_SERVER or the request body, and may need treatment + * during the application (e.g., body parameters may be deserialized based on + * content type). + * + * Additionally, this interface recognizes the utility of introspecting a + * request to derive and match additional parameters (e.g., via URI path + * matching, decrypting cookie values, deserializing non-form-encoded body + * content, matching authorization headers to users, etc). These parameters + * are stored in an "attributes" property. + * + * Requests are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface ServerRequestInterface extends RequestInterface +{ + /** + * Retrieve server parameters. + * + * Retrieves data related to the incoming request environment, + * typically derived from PHP's $_SERVER superglobal. The data IS NOT + * REQUIRED to originate from $_SERVER. + * + * @return array + */ + public function getServerParams(); + + /** + * Retrieve cookies. + * + * Retrieves cookies sent by the client to the server. + * + * The data MUST be compatible with the structure of the $_COOKIE + * superglobal. + * + * @return array + */ + public function getCookieParams(); + + /** + * Return an instance with the specified cookies. + * + * The data IS NOT REQUIRED to come from the $_COOKIE superglobal, but MUST + * be compatible with the structure of $_COOKIE. Typically, this data will + * be injected at instantiation. + * + * This method MUST NOT update the related Cookie header of the request + * instance, nor related values in the server params. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated cookie values. + * + * @param array $cookies Array of key/value pairs representing cookies. + * @return static + */ + public function withCookieParams(array $cookies); + + /** + * Retrieve query string arguments. + * + * Retrieves the deserialized query string arguments, if any. + * + * Note: the query params might not be in sync with the URI or server + * params. If you need to ensure you are only getting the original + * values, you may need to parse the query string from `getUri()->getQuery()` + * or from the `QUERY_STRING` server param. + * + * @return array + */ + public function getQueryParams(); + + /** + * Return an instance with the specified query string arguments. + * + * These values SHOULD remain immutable over the course of the incoming + * request. They MAY be injected during instantiation, such as from PHP's + * $_GET superglobal, or MAY be derived from some other value such as the + * URI. In cases where the arguments are parsed from the URI, the data + * MUST be compatible with what PHP's parse_str() would return for + * purposes of how duplicate query parameters are handled, and how nested + * sets are handled. + * + * Setting query string arguments MUST NOT change the URI stored by the + * request, nor the values in the server params. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated query string arguments. + * + * @param array $query Array of query string arguments, typically from + * $_GET. + * @return static + */ + public function withQueryParams(array $query); + + /** + * Retrieve normalized file upload data. + * + * This method returns upload metadata in a normalized tree, with each leaf + * an instance of Psr\Http\Message\UploadedFileInterface. + * + * These values MAY be prepared from $_FILES or the message body during + * instantiation, or MAY be injected via withUploadedFiles(). + * + * @return array An array tree of UploadedFileInterface instances; an empty + * array MUST be returned if no data is present. + */ + public function getUploadedFiles(); + + /** + * Create a new instance with the specified uploaded files. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated body parameters. + * + * @param array $uploadedFiles An array tree of UploadedFileInterface instances. + * @return static + * @throws \InvalidArgumentException if an invalid structure is provided. + */ + public function withUploadedFiles(array $uploadedFiles); + + /** + * Retrieve any parameters provided in the request body. + * + * If the request Content-Type is either application/x-www-form-urlencoded + * or multipart/form-data, and the request method is POST, this method MUST + * return the contents of $_POST. + * + * Otherwise, this method may return any results of deserializing + * the request body content; as parsing returns structured content, the + * potential types MUST be arrays or objects only. A null value indicates + * the absence of body content. + * + * @return null|array|object The deserialized body parameters, if any. + * These will typically be an array or object. + */ + public function getParsedBody(); + + /** + * Return an instance with the specified body parameters. + * + * These MAY be injected during instantiation. + * + * If the request Content-Type is either application/x-www-form-urlencoded + * or multipart/form-data, and the request method is POST, use this method + * ONLY to inject the contents of $_POST. + * + * The data IS NOT REQUIRED to come from $_POST, but MUST be the results of + * deserializing the request body content. Deserialization/parsing returns + * structured data, and, as such, this method ONLY accepts arrays or objects, + * or a null value if nothing was available to parse. + * + * As an example, if content negotiation determines that the request data + * is a JSON payload, this method could be used to create a request + * instance with the deserialized parameters. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated body parameters. + * + * @param null|array|object $data The deserialized body data. This will + * typically be in an array or object. + * @return static + * @throws \InvalidArgumentException if an unsupported argument type is + * provided. + */ + public function withParsedBody($data); + + /** + * Retrieve attributes derived from the request. + * + * The request "attributes" may be used to allow injection of any + * parameters derived from the request: e.g., the results of path + * match operations; the results of decrypting cookies; the results of + * deserializing non-form-encoded message bodies; etc. Attributes + * will be application and request specific, and CAN be mutable. + * + * @return array Attributes derived from the request. + */ + public function getAttributes(); + + /** + * Retrieve a single derived request attribute. + * + * Retrieves a single derived request attribute as described in + * getAttributes(). If the attribute has not been previously set, returns + * the default value as provided. + * + * This method obviates the need for a hasAttribute() method, as it allows + * specifying a default value to return if the attribute is not found. + * + * @see getAttributes() + * @param string $name The attribute name. + * @param mixed $default Default value to return if the attribute does not exist. + * @return mixed + */ + public function getAttribute($name, $default = null); + + /** + * Return an instance with the specified derived request attribute. + * + * This method allows setting a single derived request attribute as + * described in getAttributes(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated attribute. + * + * @see getAttributes() + * @param string $name The attribute name. + * @param mixed $value The value of the attribute. + * @return static + */ + public function withAttribute($name, $value); + + /** + * Return an instance that removes the specified derived request attribute. + * + * This method allows removing a single derived request attribute as + * described in getAttributes(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that removes + * the attribute. + * + * @see getAttributes() + * @param string $name The attribute name. + * @return static + */ + public function withoutAttribute($name); +} diff --git a/lib/aws/Psr/Http/Message/StreamInterface.php b/lib/aws/Psr/Http/Message/StreamInterface.php new file mode 100644 index 0000000..f68f391 --- /dev/null +++ b/lib/aws/Psr/Http/Message/StreamInterface.php @@ -0,0 +1,158 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Describes a data stream. + * + * Typically, an instance will wrap a PHP stream; this interface provides + * a wrapper around the most common operations, including serialization of + * the entire stream to a string. + */ +interface StreamInterface +{ + /** + * Reads all data from the stream into a string, from the beginning to end. + * + * This method MUST attempt to seek to the beginning of the stream before + * reading data and read the stream until the end is reached. + * + * Warning: This could attempt to load a large amount of data into memory. + * + * This method MUST NOT raise an exception in order to conform with PHP's + * string casting operations. + * + * @see http://php.net/manual/en/language.oop5.magic.php#object.tostring + * @return string + */ + public function __toString(); + + /** + * Closes the stream and any underlying resources. + * + * @return void + */ + public function close(); + + /** + * Separates any underlying resources from the stream. + * + * After the stream has been detached, the stream is in an unusable state. + * + * @return resource|null Underlying PHP stream, if any + */ + public function detach(); + + /** + * Get the size of the stream if known. + * + * @return int|null Returns the size in bytes if known, or null if unknown. + */ + public function getSize(); + + /** + * Returns the current position of the file read/write pointer + * + * @return int Position of the file pointer + * @throws \RuntimeException on error. + */ + public function tell(); + + /** + * Returns true if the stream is at the end of the stream. + * + * @return bool + */ + public function eof(); + + /** + * Returns whether or not the stream is seekable. + * + * @return bool + */ + public function isSeekable(); + + /** + * Seek to a position in the stream. + * + * @link http://www.php.net/manual/en/function.fseek.php + * @param int $offset Stream offset + * @param int $whence Specifies how the cursor position will be calculated + * based on the seek offset. Valid values are identical to the built-in + * PHP $whence values for `fseek()`. SEEK_SET: Set position equal to + * offset bytes SEEK_CUR: Set position to current location plus offset + * SEEK_END: Set position to end-of-stream plus offset. + * @throws \RuntimeException on failure. + */ + public function seek($offset, $whence = SEEK_SET); + + /** + * Seek to the beginning of the stream. + * + * If the stream is not seekable, this method will raise an exception; + * otherwise, it will perform a seek(0). + * + * @see seek() + * @link http://www.php.net/manual/en/function.fseek.php + * @throws \RuntimeException on failure. + */ + public function rewind(); + + /** + * Returns whether or not the stream is writable. + * + * @return bool + */ + public function isWritable(); + + /** + * Write data to the stream. + * + * @param string $string The string that is to be written. + * @return int Returns the number of bytes written to the stream. + * @throws \RuntimeException on failure. + */ + public function write($string); + + /** + * Returns whether or not the stream is readable. + * + * @return bool + */ + public function isReadable(); + + /** + * Read data from the stream. + * + * @param int $length Read up to $length bytes from the object and return + * them. Fewer than $length bytes may be returned if underlying stream + * call returns fewer bytes. + * @return string Returns the data read from the stream, or an empty string + * if no bytes are available. + * @throws \RuntimeException if an error occurs. + */ + public function read($length); + + /** + * Returns the remaining contents in a string + * + * @return string + * @throws \RuntimeException if unable to read or an error occurs while + * reading. + */ + public function getContents(); + + /** + * Get stream metadata as an associative array or retrieve a specific key. + * + * The keys returned are identical to the keys returned from PHP's + * stream_get_meta_data() function. + * + * @link http://php.net/manual/en/function.stream-get-meta-data.php + * @param string $key Specific metadata to retrieve. + * @return array|mixed|null Returns an associative array if no key is + * provided. Returns a specific key value if a key is provided and the + * value is found, or null if the key is not found. + */ + public function getMetadata($key = null); +} diff --git a/lib/aws/Psr/Http/Message/UploadedFileInterface.php b/lib/aws/Psr/Http/Message/UploadedFileInterface.php new file mode 100644 index 0000000..f8a6901 --- /dev/null +++ b/lib/aws/Psr/Http/Message/UploadedFileInterface.php @@ -0,0 +1,123 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Value object representing a file uploaded through an HTTP request. + * + * Instances of this interface are considered immutable; all methods that + * might change state MUST be implemented such that they retain the internal + * state of the current instance and return an instance that contains the + * changed state. + */ +interface UploadedFileInterface +{ + /** + * Retrieve a stream representing the uploaded file. + * + * This method MUST return a StreamInterface instance, representing the + * uploaded file. The purpose of this method is to allow utilizing native PHP + * stream functionality to manipulate the file upload, such as + * stream_copy_to_stream() (though the result will need to be decorated in a + * native PHP stream wrapper to work with such functions). + * + * If the moveTo() method has been called previously, this method MUST raise + * an exception. + * + * @return StreamInterface Stream representation of the uploaded file. + * @throws \RuntimeException in cases when no stream is available or can be + * created. + */ + public function getStream(); + + /** + * Move the uploaded file to a new location. + * + * Use this method as an alternative to move_uploaded_file(). This method is + * guaranteed to work in both SAPI and non-SAPI environments. + * Implementations must determine which environment they are in, and use the + * appropriate method (move_uploaded_file(), rename(), or a stream + * operation) to perform the operation. + * + * $targetPath may be an absolute path, or a relative path. If it is a + * relative path, resolution should be the same as used by PHP's rename() + * function. + * + * The original file or stream MUST be removed on completion. + * + * If this method is called more than once, any subsequent calls MUST raise + * an exception. + * + * When used in an SAPI environment where $_FILES is populated, when writing + * files via moveTo(), is_uploaded_file() and move_uploaded_file() SHOULD be + * used to ensure permissions and upload status are verified correctly. + * + * If you wish to move to a stream, use getStream(), as SAPI operations + * cannot guarantee writing to stream destinations. + * + * @see http://php.net/is_uploaded_file + * @see http://php.net/move_uploaded_file + * @param string $targetPath Path to which to move the uploaded file. + * @throws \InvalidArgumentException if the $targetPath specified is invalid. + * @throws \RuntimeException on any error during the move operation, or on + * the second or subsequent call to the method. + */ + public function moveTo($targetPath); + + /** + * Retrieve the file size. + * + * Implementations SHOULD return the value stored in the "size" key of + * the file in the $_FILES array if available, as PHP calculates this based + * on the actual size transmitted. + * + * @return int|null The file size in bytes or null if unknown. + */ + public function getSize(); + + /** + * Retrieve the error associated with the uploaded file. + * + * The return value MUST be one of PHP's UPLOAD_ERR_XXX constants. + * + * If the file was uploaded successfully, this method MUST return + * UPLOAD_ERR_OK. + * + * Implementations SHOULD return the value stored in the "error" key of + * the file in the $_FILES array. + * + * @see http://php.net/manual/en/features.file-upload.errors.php + * @return int One of PHP's UPLOAD_ERR_XXX constants. + */ + public function getError(); + + /** + * Retrieve the filename sent by the client. + * + * Do not trust the value returned by this method. A client could send + * a malicious filename with the intention to corrupt or hack your + * application. + * + * Implementations SHOULD return the value stored in the "name" key of + * the file in the $_FILES array. + * + * @return string|null The filename sent by the client or null if none + * was provided. + */ + public function getClientFilename(); + + /** + * Retrieve the media type sent by the client. + * + * Do not trust the value returned by this method. A client could send + * a malicious media type with the intention to corrupt or hack your + * application. + * + * Implementations SHOULD return the value stored in the "type" key of + * the file in the $_FILES array. + * + * @return string|null The media type sent by the client or null if none + * was provided. + */ + public function getClientMediaType(); +} diff --git a/lib/aws/Psr/Http/Message/UriInterface.php b/lib/aws/Psr/Http/Message/UriInterface.php new file mode 100644 index 0000000..9d7ab9e --- /dev/null +++ b/lib/aws/Psr/Http/Message/UriInterface.php @@ -0,0 +1,323 @@ +<?php +namespace Psr\Http\Message; + +/** + * Value object representing a URI. + * + * This interface is meant to represent URIs according to RFC 3986 and to + * provide methods for most common operations. Additional functionality for + * working with URIs can be provided on top of the interface or externally. + * Its primary use is for HTTP requests, but may also be used in other + * contexts. + * + * Instances of this interface are considered immutable; all methods that + * might change state MUST be implemented such that they retain the internal + * state of the current instance and return an instance that contains the + * changed state. + * + * Typically the Host header will be also be present in the request message. + * For server-side requests, the scheme will typically be discoverable in the + * server parameters. + * + * @link http://tools.ietf.org/html/rfc3986 (the URI specification) + */ +interface UriInterface +{ + /** + * Retrieve the scheme component of the URI. + * + * If no scheme is present, this method MUST return an empty string. + * + * The value returned MUST be normalized to lowercase, per RFC 3986 + * Section 3.1. + * + * The trailing ":" character is not part of the scheme and MUST NOT be + * added. + * + * @see https://tools.ietf.org/html/rfc3986#section-3.1 + * @return string The URI scheme. + */ + public function getScheme(); + + /** + * Retrieve the authority component of the URI. + * + * If no authority information is present, this method MUST return an empty + * string. + * + * The authority syntax of the URI is: + * + * <pre> + * [user-info@]host[:port] + * </pre> + * + * If the port component is not set or is the standard port for the current + * scheme, it SHOULD NOT be included. + * + * @see https://tools.ietf.org/html/rfc3986#section-3.2 + * @return string The URI authority, in "[user-info@]host[:port]" format. + */ + public function getAuthority(); + + /** + * Retrieve the user information component of the URI. + * + * If no user information is present, this method MUST return an empty + * string. + * + * If a user is present in the URI, this will return that value; + * additionally, if the password is also present, it will be appended to the + * user value, with a colon (":") separating the values. + * + * The trailing "@" character is not part of the user information and MUST + * NOT be added. + * + * @return string The URI user information, in "username[:password]" format. + */ + public function getUserInfo(); + + /** + * Retrieve the host component of the URI. + * + * If no host is present, this method MUST return an empty string. + * + * The value returned MUST be normalized to lowercase, per RFC 3986 + * Section 3.2.2. + * + * @see http://tools.ietf.org/html/rfc3986#section-3.2.2 + * @return string The URI host. + */ + public function getHost(); + + /** + * Retrieve the port component of the URI. + * + * If a port is present, and it is non-standard for the current scheme, + * this method MUST return it as an integer. If the port is the standard port + * used with the current scheme, this method SHOULD return null. + * + * If no port is present, and no scheme is present, this method MUST return + * a null value. + * + * If no port is present, but a scheme is present, this method MAY return + * the standard port for that scheme, but SHOULD return null. + * + * @return null|int The URI port. + */ + public function getPort(); + + /** + * Retrieve the path component of the URI. + * + * The path can either be empty or absolute (starting with a slash) or + * rootless (not starting with a slash). Implementations MUST support all + * three syntaxes. + * + * Normally, the empty path "" and absolute path "/" are considered equal as + * defined in RFC 7230 Section 2.7.3. But this method MUST NOT automatically + * do this normalization because in contexts with a trimmed base path, e.g. + * the front controller, this difference becomes significant. It's the task + * of the user to handle both "" and "/". + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.3. + * + * As an example, if the value should include a slash ("/") not intended as + * delimiter between path segments, that value MUST be passed in encoded + * form (e.g., "%2F") to the instance. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.3 + * @return string The URI path. + */ + public function getPath(); + + /** + * Retrieve the query string of the URI. + * + * If no query string is present, this method MUST return an empty string. + * + * The leading "?" character is not part of the query and MUST NOT be + * added. + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.4. + * + * As an example, if a value in a key/value pair of the query string should + * include an ampersand ("&") not intended as a delimiter between values, + * that value MUST be passed in encoded form (e.g., "%26") to the instance. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.4 + * @return string The URI query string. + */ + public function getQuery(); + + /** + * Retrieve the fragment component of the URI. + * + * If no fragment is present, this method MUST return an empty string. + * + * The leading "#" character is not part of the fragment and MUST NOT be + * added. + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.5. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.5 + * @return string The URI fragment. + */ + public function getFragment(); + + /** + * Return an instance with the specified scheme. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified scheme. + * + * Implementations MUST support the schemes "http" and "https" case + * insensitively, and MAY accommodate other schemes if required. + * + * An empty scheme is equivalent to removing the scheme. + * + * @param string $scheme The scheme to use with the new instance. + * @return static A new instance with the specified scheme. + * @throws \InvalidArgumentException for invalid or unsupported schemes. + */ + public function withScheme($scheme); + + /** + * Return an instance with the specified user information. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified user information. + * + * Password is optional, but the user information MUST include the + * user; an empty string for the user is equivalent to removing user + * information. + * + * @param string $user The user name to use for authority. + * @param null|string $password The password associated with $user. + * @return static A new instance with the specified user information. + */ + public function withUserInfo($user, $password = null); + + /** + * Return an instance with the specified host. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified host. + * + * An empty host value is equivalent to removing the host. + * + * @param string $host The hostname to use with the new instance. + * @return static A new instance with the specified host. + * @throws \InvalidArgumentException for invalid hostnames. + */ + public function withHost($host); + + /** + * Return an instance with the specified port. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified port. + * + * Implementations MUST raise an exception for ports outside the + * established TCP and UDP port ranges. + * + * A null value provided for the port is equivalent to removing the port + * information. + * + * @param null|int $port The port to use with the new instance; a null value + * removes the port information. + * @return static A new instance with the specified port. + * @throws \InvalidArgumentException for invalid ports. + */ + public function withPort($port); + + /** + * Return an instance with the specified path. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified path. + * + * The path can either be empty or absolute (starting with a slash) or + * rootless (not starting with a slash). Implementations MUST support all + * three syntaxes. + * + * If the path is intended to be domain-relative rather than path relative then + * it must begin with a slash ("/"). Paths not starting with a slash ("/") + * are assumed to be relative to some base path known to the application or + * consumer. + * + * Users can provide both encoded and decoded path characters. + * Implementations ensure the correct encoding as outlined in getPath(). + * + * @param string $path The path to use with the new instance. + * @return static A new instance with the specified path. + * @throws \InvalidArgumentException for invalid paths. + */ + public function withPath($path); + + /** + * Return an instance with the specified query string. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified query string. + * + * Users can provide both encoded and decoded query characters. + * Implementations ensure the correct encoding as outlined in getQuery(). + * + * An empty query string value is equivalent to removing the query string. + * + * @param string $query The query string to use with the new instance. + * @return static A new instance with the specified query string. + * @throws \InvalidArgumentException for invalid query strings. + */ + public function withQuery($query); + + /** + * Return an instance with the specified URI fragment. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified URI fragment. + * + * Users can provide both encoded and decoded fragment characters. + * Implementations ensure the correct encoding as outlined in getFragment(). + * + * An empty fragment value is equivalent to removing the fragment. + * + * @param string $fragment The fragment to use with the new instance. + * @return static A new instance with the specified fragment. + */ + public function withFragment($fragment); + + /** + * Return the string representation as a URI reference. + * + * Depending on which components of the URI are present, the resulting + * string is either a full URI or relative reference according to RFC 3986, + * Section 4.1. The method concatenates the various components of the URI, + * using the appropriate delimiters: + * + * - If a scheme is present, it MUST be suffixed by ":". + * - If an authority is present, it MUST be prefixed by "//". + * - The path can be concatenated without delimiters. But there are two + * cases where the path has to be adjusted to make the URI reference + * valid as PHP does not allow to throw an exception in __toString(): + * - If the path is rootless and an authority is present, the path MUST + * be prefixed by "/". + * - If the path is starting with more than one "/" and no authority is + * present, the starting slashes MUST be reduced to one. + * - If a query is present, it MUST be prefixed by "?". + * - If a fragment is present, it MUST be prefixed by "#". + * + * @see http://tools.ietf.org/html/rfc3986#section-4.1 + * @return string + */ + public function __toString(); +} diff --git a/lib/aws/README.md b/lib/aws/README.md new file mode 100644 index 0000000..df060e7 --- /dev/null +++ b/lib/aws/README.md @@ -0,0 +1,181 @@ +# AWS SDK for PHP - Version 3 + +[![@awsforphp on Twitter](http://img.shields.io/badge/twitter-%40awsforphp-blue.svg?style=flat)](https://twitter.com/awsforphp) +[![Total Downloads](https://img.shields.io/packagist/dt/aws/aws-sdk-php.svg?style=flat)](https://packagist.org/packages/aws/aws-sdk-php) +[![Build Status](https://img.shields.io/travis/aws/aws-sdk-php.svg?style=flat)](https://travis-ci.org/aws/aws-sdk-php) +[![Apache 2 License](https://img.shields.io/packagist/l/aws/aws-sdk-php.svg?style=flat)](http://aws.amazon.com/apache-2-0/) +[![Gitter](https://badges.gitter.im/aws/aws-sdk-php.svg)](https://gitter.im/aws/aws-sdk-php?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![codecov](https://codecov.io/gh/aws/aws-sdk-php/branch/master/graph/badge.svg)](https://codecov.io/gh/aws/aws-sdk-php) + +The **AWS SDK for PHP** makes it easy for developers to access [Amazon Web +Services][aws] in their PHP code, and build robust applications and software +using services like Amazon S3, Amazon DynamoDB, Amazon Glacier, etc. You can +get started in minutes by [installing the SDK through Composer][docs-installation] +or by downloading a single zip or phar file from our [latest release][latest-release]. + +## Resources + +* [User Guide][docs-guide] – For both getting started and in-depth SDK usage information +* [API Docs][docs-api] – For details about operations, parameters, and responses +* [Blog][sdk-blog] – Tips & tricks, articles, and announcements +* [Sample Project][sdk-sample] - A quick, sample project to help get you started +* [Forum][sdk-forum] – Ask questions, get help, and give feedback +* [Issues][sdk-issues] – Report issues, submit pull requests, and get involved + (see [Apache 2.0 License][sdk-license]) +* [@awsforphp][sdk-twitter] – Follow us on Twitter + +## Getting Help + +Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them. + +* Ask a question on [StackOverflow](https://stackoverflow.com/) and tag it with [`aws-php-sdk`](http://stackoverflow.com/questions/tagged/aws-php-sdk) +* Come join the AWS SDK for PHP [gitter](https://gitter.im/aws/aws-sdk-php) +* Open a support ticket with [AWS Support](https://console.aws.amazon.com/support/home/) +* If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-php/issues/new) + +## Opening Issues + +If you encounter a bug with `aws-sdk-php` we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of `aws-sdk-php`, PHP version and OS you’re using. Please include a stack trace and reduced repro case when appropriate, too. + +The GitHub issues are intended for bug reports and feature requests. For help and questions with using `aws-sdk-php` please make use of the resources listed in the Getting Help section. There are limited resources available for handling issues and by keeping the list of open issues lean we can respond in a timely manner. + +## Features + +* Provides easy-to-use HTTP clients for all supported AWS + [services][docs-services], [regions][docs-rande], and authentication + protocols. +* Is built on [Guzzle][guzzle-docs], and utilizes many of its features, + including persistent connections, asynchronous requests, middlewares, etc. +* Provides convenience features including easy result pagination via + [Paginators][docs-paginators], [Waiters][docs-waiters], and simple + [Result objects][docs-results]. +* Provides a [multipart uploader tool][docs-s3-multipart] for Amazon S3 and + Amazon Glacier that can be paused and resumed. +* Provides an [Amazon S3 Stream Wrapper][docs-streamwrapper], so that you can + use PHP's native file handling functions to interact with your S3 buckets and + objects like a local filesystem. +* Provides the [Amazon DynamoDB Session Handler][docs-ddbsh] for easily scaling + sessions on a fast, NoSQL database. +* Automatically uses [IAM Instance Profile Credentials][aws-iam-credentials] on + configured Amazon EC2 instances. + +## Getting Started + +1. **Sign up for AWS** – Before you begin, you need to + sign up for an AWS account and retrieve your [AWS credentials][docs-signup]. +1. **Minimum requirements** – To run the SDK, your system will need to meet the + [minimum requirements][docs-requirements], including having **PHP >= 5.5**. + We highly recommend having it compiled with the cURL extension and cURL + 7.16.2+ compiled with a TLS backend (e.g., NSS or OpenSSL). +1. **Install the SDK** – Using [Composer] is the recommended way to install the + AWS SDK for PHP. The SDK is available via [Packagist] under the + [`aws/aws-sdk-php`][install-packagist] package. If Composer is installed globally on your system, you can run the following in the base directory of your project to add the SDK as a dependency: + ``` + composer require aws/aws-sdk-php + ``` + Please see the + [Installation section of the User Guide][docs-installation] for more + detailed information about installing the SDK through Composer and other + means. +1. **Using the SDK** – The best way to become familiar with how to use the SDK + is to read the [User Guide][docs-guide]. The + [Getting Started Guide][docs-quickstart] will help you become familiar with + the basic concepts. + +## Quick Examples + +### Create an Amazon S3 client + +```php +<?php +// Require the Composer autoloader. +require 'vendor/autoload.php'; + +use Aws\S3\S3Client; + +// Instantiate an Amazon S3 client. +$s3 = new S3Client([ + 'version' => 'latest', + 'region' => 'us-west-2' +]); +``` + +### Upload a file to Amazon S3 + +```php +<?php +// Upload a publicly accessible file. The file size and type are determined by the SDK. +try { + $s3->putObject([ + 'Bucket' => 'my-bucket', + 'Key' => 'my-object', + 'Body' => fopen('/path/to/file', 'r'), + 'ACL' => 'public-read', + ]); +} catch (Aws\S3\Exception\S3Exception $e) { + echo "There was an error uploading the file.\n"; +} +``` + +### Related AWS Projects + +* [AWS Service Provider for Laravel][mod-laravel] +* [AWS SDK ZF2 Module][mod-zf2] +* [AWS Service Provider for Silex][mod-silex] +* [AWS SDK Bundle for Symfony][mod-symfony] +* [Amazon SNS Message Validator for PHP][sns-validator] - SNS validator without requiring SDK +* [Guzzle Version 6][guzzle-docs] – PHP HTTP client and framework +* For Version 2 of the SDK: + * [User Guide][docs-guide-v2] + * [API Docs][docs-api-v2] +* Other [AWS SDKs & Tools][aws-tools] (e.g., js, cli, ruby, python, java, etc.) + +[sdk-website]: http://aws.amazon.com/sdkforphp +[sdk-forum]: https://forums.aws.amazon.com/forum.jspa?forumID=80 +[sdk-issues]: https://github.com/aws/aws-sdk-php/issues +[sdk-license]: http://aws.amazon.com/apache2.0/ +[sdk-blog]: https://aws.amazon.com/blogs/developer/category/php/ +[sdk-twitter]: https://twitter.com/awsforphp +[sdk-sample]: http://aws.amazon.com/developers/getting-started/php + +[install-packagist]: https://packagist.org/packages/aws/aws-sdk-php +[latest-release]: https://github.com/aws/aws-sdk-php/releases + +[docs-api]: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html +[docs-guide]: http://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/welcome.html +[docs-api-v2]: http://docs.aws.amazon.com/aws-sdk-php/v2/api/index.html +[docs-guide-v2]: http://docs.aws.amazon.com/aws-sdk-php/v2/guide/index.html +[docs-contribution]: https://github.com/aws/aws-sdk-php/blob/master/CONTRIBUTING.md +[docs-migration]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_migration.html +[docs-signup]: http://aws.amazon.com/developers/access-keys/ +[docs-requirements]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_requirements.html +[docs-installation]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_installation.html +[docs-quickstart]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/welcome.html#getting-started +[docs-paginators]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_paginators.html +[docs-waiters]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_waiters.html +[docs-results]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_basic-usage.html#result-objects +[docs-exceptions]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_basic-usage.html#handling-errors +[docs-wire-logging]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/faq.html#how-can-i-see-what-data-is-sent-over-the-wire +[docs-ddbsh]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/service_dynamodb-session-handler.html +[docs-services]: https://aws.amazon.com/products/ +[docs-rande]: http://docs.aws.amazon.com/general/latest/gr/rande.html +[docs-streamwrapper]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-stream-wrapper.html +[docs-s3-transfer]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-transfer.html +[docs-s3-multipart]: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-multipart-upload.html + +[aws]: http://aws.amazon.com +[aws-iam-credentials]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances +[aws-tools]: http://aws.amazon.com/tools +[guzzle-docs]: http://guzzlephp.org +[composer]: http://getcomposer.org +[packagist]: http://packagist.org +[psr-7]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md +[psr-4]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md +[psr-1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md +[psr-2]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md + +[mod-laravel]: https://github.com/aws/aws-sdk-php-laravel +[mod-zf2]: https://github.com/aws/aws-sdk-php-zf2 +[mod-silex]: https://github.com/aws/aws-sdk-php-silex +[mod-symfony]: https://github.com/aws/aws-sdk-php-symfony +[sns-validator]: https://github.com/aws/aws-php-sns-message-validator diff --git a/lib/aws/aws-autoloader.php b/lib/aws/aws-autoloader.php new file mode 100644 index 0000000..ffc6136 --- /dev/null +++ b/lib/aws/aws-autoloader.php @@ -0,0 +1,1158 @@ +<?php + +$mapping = array( + 'GuzzleHttp\MessageFormatter' => __DIR__ . '/GuzzleHttp/MessageFormatter.php', + 'GuzzleHttp\RetryMiddleware' => __DIR__ . '/GuzzleHttp/RetryMiddleware.php', + 'GuzzleHttp\Pool' => __DIR__ . '/GuzzleHttp/Pool.php', + 'GuzzleHttp\Cookie\SetCookie' => __DIR__ . '/GuzzleHttp/Cookie/SetCookie.php', + 'GuzzleHttp\Cookie\CookieJar' => __DIR__ . '/GuzzleHttp/Cookie/CookieJar.php', + 'GuzzleHttp\Cookie\FileCookieJar' => __DIR__ . '/GuzzleHttp/Cookie/FileCookieJar.php', + 'GuzzleHttp\Cookie\SessionCookieJar' => __DIR__ . '/GuzzleHttp/Cookie/SessionCookieJar.php', + 'GuzzleHttp\Cookie\CookieJarInterface' => __DIR__ . '/GuzzleHttp/Cookie/CookieJarInterface.php', + 'GuzzleHttp\ClientInterface' => __DIR__ . '/GuzzleHttp/ClientInterface.php', + 'GuzzleHttp\Handler\CurlFactory' => __DIR__ . '/GuzzleHttp/Handler/CurlFactory.php', + 'GuzzleHttp\Handler\CurlMultiHandler' => __DIR__ . '/GuzzleHttp/Handler/CurlMultiHandler.php', + 'GuzzleHttp\Handler\CurlFactoryInterface' => __DIR__ . '/GuzzleHttp/Handler/CurlFactoryInterface.php', + 'GuzzleHttp\Handler\StreamHandler' => __DIR__ . '/GuzzleHttp/Handler/StreamHandler.php', + 'GuzzleHttp\Handler\EasyHandle' => __DIR__ . '/GuzzleHttp/Handler/EasyHandle.php', + 'GuzzleHttp\Handler\Proxy' => __DIR__ . '/GuzzleHttp/Handler/Proxy.php', + 'GuzzleHttp\Handler\MockHandler' => __DIR__ . '/GuzzleHttp/Handler/MockHandler.php', + 'GuzzleHttp\Handler\CurlHandler' => __DIR__ . '/GuzzleHttp/Handler/CurlHandler.php', + 'GuzzleHttp\PrepareBodyMiddleware' => __DIR__ . '/GuzzleHttp/PrepareBodyMiddleware.php', + 'GuzzleHttp\Middleware' => __DIR__ . '/GuzzleHttp/Middleware.php', + 'GuzzleHttp\TransferStats' => __DIR__ . '/GuzzleHttp/TransferStats.php', + 'GuzzleHttp\HandlerStack' => __DIR__ . '/GuzzleHttp/HandlerStack.php', + 'GuzzleHttp\functions' => __DIR__ . '/GuzzleHttp/functions.php', + 'GuzzleHttp\RequestOptions' => __DIR__ . '/GuzzleHttp/RequestOptions.php', + 'GuzzleHttp\functions_include' => __DIR__ . '/GuzzleHttp/functions_include.php', + 'GuzzleHttp\Client' => __DIR__ . '/GuzzleHttp/Client.php', + 'GuzzleHttp\Promise\CancellationException' => __DIR__ . '/GuzzleHttp/Promise/CancellationException.php', + 'GuzzleHttp\Promise\RejectedPromise' => __DIR__ . '/GuzzleHttp/Promise/RejectedPromise.php', + 'GuzzleHttp\Promise\Coroutine' => __DIR__ . '/GuzzleHttp/Promise/Coroutine.php', + 'GuzzleHttp\Promise\TaskQueueInterface' => __DIR__ . '/GuzzleHttp/Promise/TaskQueueInterface.php', + 'GuzzleHttp\Promise\EachPromise' => __DIR__ . '/GuzzleHttp/Promise/EachPromise.php', + 'GuzzleHttp\Promise\PromisorInterface' => __DIR__ . '/GuzzleHttp/Promise/PromisorInterface.php', + 'GuzzleHttp\Promise\functions' => __DIR__ . '/GuzzleHttp/Promise/functions.php', + 'GuzzleHttp\Promise\functions_include' => __DIR__ . '/GuzzleHttp/Promise/functions_include.php', + 'GuzzleHttp\Promise\PromiseInterface' => __DIR__ . '/GuzzleHttp/Promise/PromiseInterface.php', + 'GuzzleHttp\Promise\Promise' => __DIR__ . '/GuzzleHttp/Promise/Promise.php', + 'GuzzleHttp\Promise\RejectionException' => __DIR__ . '/GuzzleHttp/Promise/RejectionException.php', + 'GuzzleHttp\Promise\TaskQueue' => __DIR__ . '/GuzzleHttp/Promise/TaskQueue.php', + 'GuzzleHttp\Promise\FulfilledPromise' => __DIR__ . '/GuzzleHttp/Promise/FulfilledPromise.php', + 'GuzzleHttp\Promise\AggregateException' => __DIR__ . '/GuzzleHttp/Promise/AggregateException.php', + 'GuzzleHttp\RedirectMiddleware' => __DIR__ . '/GuzzleHttp/RedirectMiddleware.php', + 'GuzzleHttp\Exception\TransferException' => __DIR__ . '/GuzzleHttp/Exception/TransferException.php', + 'GuzzleHttp\Exception\BadResponseException' => __DIR__ . '/GuzzleHttp/Exception/BadResponseException.php', + 'GuzzleHttp\Exception\ServerException' => __DIR__ . '/GuzzleHttp/Exception/ServerException.php', + 'GuzzleHttp\Exception\ConnectException' => __DIR__ . '/GuzzleHttp/Exception/ConnectException.php', + 'GuzzleHttp\Exception\TooManyRedirectsException' => __DIR__ . '/GuzzleHttp/Exception/TooManyRedirectsException.php', + 'GuzzleHttp\Exception\SeekException' => __DIR__ . '/GuzzleHttp/Exception/SeekException.php', + 'GuzzleHttp\Exception\RequestException' => __DIR__ . '/GuzzleHttp/Exception/RequestException.php', + 'GuzzleHttp\Exception\ClientException' => __DIR__ . '/GuzzleHttp/Exception/ClientException.php', + 'GuzzleHttp\Exception\GuzzleException' => __DIR__ . '/GuzzleHttp/Exception/GuzzleException.php', + 'GuzzleHttp\Psr7\Response' => __DIR__ . '/GuzzleHttp/Psr7/Response.php', + 'GuzzleHttp\Psr7\Uri' => __DIR__ . '/GuzzleHttp/Psr7/Uri.php', + 'GuzzleHttp\Psr7\LimitStream' => __DIR__ . '/GuzzleHttp/Psr7/LimitStream.php', + 'GuzzleHttp\Psr7\PumpStream' => __DIR__ . '/GuzzleHttp/Psr7/PumpStream.php', + 'GuzzleHttp\Psr7\FnStream' => __DIR__ . '/GuzzleHttp/Psr7/FnStream.php', + 'GuzzleHttp\Psr7\UriResolver' => __DIR__ . '/GuzzleHttp/Psr7/UriResolver.php', + 'GuzzleHttp\Psr7\LazyOpenStream' => __DIR__ . '/GuzzleHttp/Psr7/LazyOpenStream.php', + 'GuzzleHttp\Psr7\InflateStream' => __DIR__ . '/GuzzleHttp/Psr7/InflateStream.php', + 'GuzzleHttp\Psr7\ServerRequest' => __DIR__ . '/GuzzleHttp/Psr7/ServerRequest.php', + 'GuzzleHttp\Psr7\functions' => __DIR__ . '/GuzzleHttp/Psr7/functions.php', + 'GuzzleHttp\Psr7\functions_include' => __DIR__ . '/GuzzleHttp/Psr7/functions_include.php', + 'GuzzleHttp\Psr7\StreamWrapper' => __DIR__ . '/GuzzleHttp/Psr7/StreamWrapper.php', + 'GuzzleHttp\Psr7\StreamDecoratorTrait' => __DIR__ . '/GuzzleHttp/Psr7/StreamDecoratorTrait.php', + 'GuzzleHttp\Psr7\MessageTrait' => __DIR__ . '/GuzzleHttp/Psr7/MessageTrait.php', + 'GuzzleHttp\Psr7\Request' => __DIR__ . '/GuzzleHttp/Psr7/Request.php', + 'GuzzleHttp\Psr7\UploadedFile' => __DIR__ . '/GuzzleHttp/Psr7/UploadedFile.php', + 'GuzzleHttp\Psr7\UriNormalizer' => __DIR__ . '/GuzzleHttp/Psr7/UriNormalizer.php', + 'GuzzleHttp\Psr7\BufferStream' => __DIR__ . '/GuzzleHttp/Psr7/BufferStream.php', + 'GuzzleHttp\Psr7\MultipartStream' => __DIR__ . '/GuzzleHttp/Psr7/MultipartStream.php', + 'GuzzleHttp\Psr7\CachingStream' => __DIR__ . '/GuzzleHttp/Psr7/CachingStream.php', + 'GuzzleHttp\Psr7\Rfc7230' => __DIR__ . '/GuzzleHttp/Psr7/Rfc7230.php', + 'GuzzleHttp\Psr7\AppendStream' => __DIR__ . '/GuzzleHttp/Psr7/AppendStream.php', + 'GuzzleHttp\Psr7\NoSeekStream' => __DIR__ . '/GuzzleHttp/Psr7/NoSeekStream.php', + 'GuzzleHttp\Psr7\Stream' => __DIR__ . '/GuzzleHttp/Psr7/Stream.php', + 'GuzzleHttp\Psr7\DroppingStream' => __DIR__ . '/GuzzleHttp/Psr7/DroppingStream.php', + 'GuzzleHttp\UriTemplate' => __DIR__ . '/GuzzleHttp/UriTemplate.php', + 'Psr\Http\Message\StreamInterface' => __DIR__ . '/Psr/Http/Message/StreamInterface.php', + 'Psr\Http\Message\UriInterface' => __DIR__ . '/Psr/Http/Message/UriInterface.php', + 'Psr\Http\Message\MessageInterface' => __DIR__ . '/Psr/Http/Message/MessageInterface.php', + 'Psr\Http\Message\ResponseInterface' => __DIR__ . '/Psr/Http/Message/ResponseInterface.php', + 'Psr\Http\Message\ServerRequestInterface' => __DIR__ . '/Psr/Http/Message/ServerRequestInterface.php', + 'Psr\Http\Message\RequestInterface' => __DIR__ . '/Psr/Http/Message/RequestInterface.php', + 'Psr\Http\Message\UploadedFileInterface' => __DIR__ . '/Psr/Http/Message/UploadedFileInterface.php', + 'Aws\Route53\Route53Client' => __DIR__ . '/Aws/Route53/Route53Client.php', + 'Aws\Route53\Exception\Route53Exception' => __DIR__ . '/Aws/Route53/Exception/Route53Exception.php', + 'Aws\RoboMaker\RoboMakerClient' => __DIR__ . '/Aws/RoboMaker/RoboMakerClient.php', + 'Aws\RoboMaker\Exception\RoboMakerException' => __DIR__ . '/Aws/RoboMaker/Exception/RoboMakerException.php', + 'Aws\ElasticsearchService\Exception\ElasticsearchServiceException' => __DIR__ . '/Aws/ElasticsearchService/Exception/ElasticsearchServiceException.php', + 'Aws\ElasticsearchService\ElasticsearchServiceClient' => __DIR__ . '/Aws/ElasticsearchService/ElasticsearchServiceClient.php', + 'Aws\WorkMail\Exception\WorkMailException' => __DIR__ . '/Aws/WorkMail/Exception/WorkMailException.php', + 'Aws\WorkMail\WorkMailClient' => __DIR__ . '/Aws/WorkMail/WorkMailClient.php', + 'Aws\Sns\Message' => __DIR__ . '/Aws/Sns/Message.php', + 'Aws\Sns\SnsClient' => __DIR__ . '/Aws/Sns/SnsClient.php', + 'Aws\Sns\Exception\SnsException' => __DIR__ . '/Aws/Sns/Exception/SnsException.php', + 'Aws\Sns\Exception\InvalidSnsMessageException' => __DIR__ . '/Aws/Sns/Exception/InvalidSnsMessageException.php', + 'Aws\Sns\MessageValidator' => __DIR__ . '/Aws/Sns/MessageValidator.php', + 'Aws\Polly\Exception\PollyException' => __DIR__ . '/Aws/Polly/Exception/PollyException.php', + 'Aws\Polly\PollyClient' => __DIR__ . '/Aws/Polly/PollyClient.php', + 'Aws\ApiGatewayManagementApi\ApiGatewayManagementApiClient' => __DIR__ . '/Aws/ApiGatewayManagementApi/ApiGatewayManagementApiClient.php', + 'Aws\ApiGatewayManagementApi\Exception\ApiGatewayManagementApiException' => __DIR__ . '/Aws/ApiGatewayManagementApi/Exception/ApiGatewayManagementApiException.php', + 'Aws\Textract\TextractClient' => __DIR__ . '/Aws/Textract/TextractClient.php', + 'Aws\Textract\Exception\TextractException' => __DIR__ . '/Aws/Textract/Exception/TextractException.php', + 'Aws\MultiRegionClient' => __DIR__ . '/Aws/MultiRegionClient.php', + 'Aws\GuardDuty\GuardDutyClient' => __DIR__ . '/Aws/GuardDuty/GuardDutyClient.php', + 'Aws\GuardDuty\Exception\GuardDutyException' => __DIR__ . '/Aws/GuardDuty/Exception/GuardDutyException.php', + 'Aws\TranscribeService\Exception\TranscribeServiceException' => __DIR__ . '/Aws/TranscribeService/Exception/TranscribeServiceException.php', + 'Aws\TranscribeService\TranscribeServiceClient' => __DIR__ . '/Aws/TranscribeService/TranscribeServiceClient.php', + 'Aws\OpsWorks\Exception\OpsWorksException' => __DIR__ . '/Aws/OpsWorks/Exception/OpsWorksException.php', + 'Aws\OpsWorks\OpsWorksClient' => __DIR__ . '/Aws/OpsWorks/OpsWorksClient.php', + 'Aws\CognitoSync\CognitoSyncClient' => __DIR__ . '/Aws/CognitoSync/CognitoSyncClient.php', + 'Aws\CognitoSync\Exception\CognitoSyncException' => __DIR__ . '/Aws/CognitoSync/Exception/CognitoSyncException.php', + 'Aws\data\lambda\2015-03-31\api-2.json' => __DIR__ . '/Aws/data/lambda/2015-03-31/api-2.json.php', + 'Aws\data\lambda\2015-03-31\smoke.json' => __DIR__ . '/Aws/data/lambda/2015-03-31/smoke.json.php', + 'Aws\data\lambda\2015-03-31\paginators-1.json' => __DIR__ . '/Aws/data/lambda/2015-03-31/paginators-1.json.php', + 'Aws\data\textract\2018-06-27\api-2.json' => __DIR__ . '/Aws/data/textract/2018-06-27/api-2.json.php', + 'Aws\data\textract\2018-06-27\paginators-1.json' => __DIR__ . '/Aws/data/textract/2018-06-27/paginators-1.json.php', + 'Aws\data\inspector\2016-02-16\api-2.json' => __DIR__ . '/Aws/data/inspector/2016-02-16/api-2.json.php', + 'Aws\data\inspector\2016-02-16\smoke.json' => __DIR__ . '/Aws/data/inspector/2016-02-16/smoke.json.php', + 'Aws\data\inspector\2016-02-16\paginators-1.json' => __DIR__ . '/Aws/data/inspector/2016-02-16/paginators-1.json.php', + 'Aws\data\resource-groups\2017-11-27\api-2.json' => __DIR__ . '/Aws/data/resource-groups/2017-11-27/api-2.json.php', + 'Aws\data\resource-groups\2017-11-27\paginators-1.json' => __DIR__ . '/Aws/data/resource-groups/2017-11-27/paginators-1.json.php', + 'Aws\data\pi\2018-02-27\api-2.json' => __DIR__ . '/Aws/data/pi/2018-02-27/api-2.json.php', + 'Aws\data\pi\2018-02-27\paginators-1.json' => __DIR__ . '/Aws/data/pi/2018-02-27/paginators-1.json.php', + 'Aws\data\batch\2016-08-10\api-2.json' => __DIR__ . '/Aws/data/batch/2016-08-10/api-2.json.php', + 'Aws\data\batch\2016-08-10\smoke.json' => __DIR__ . '/Aws/data/batch/2016-08-10/smoke.json.php', + 'Aws\data\batch\2016-08-10\paginators-1.json' => __DIR__ . '/Aws/data/batch/2016-08-10/paginators-1.json.php', + 'Aws\data\pinpoint-email\2018-07-26\api-2.json' => __DIR__ . '/Aws/data/pinpoint-email/2018-07-26/api-2.json.php', + 'Aws\data\pinpoint-email\2018-07-26\paginators-1.json' => __DIR__ . '/Aws/data/pinpoint-email/2018-07-26/paginators-1.json.php', + 'Aws\data\codecommit\2015-04-13\api-2.json' => __DIR__ . '/Aws/data/codecommit/2015-04-13/api-2.json.php', + 'Aws\data\codecommit\2015-04-13\smoke.json' => __DIR__ . '/Aws/data/codecommit/2015-04-13/smoke.json.php', + 'Aws\data\codecommit\2015-04-13\paginators-1.json' => __DIR__ . '/Aws/data/codecommit/2015-04-13/paginators-1.json.php', + 'Aws\data\workspaces\2015-04-08\api-2.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/api-2.json.php', + 'Aws\data\workspaces\2015-04-08\smoke.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/smoke.json.php', + 'Aws\data\workspaces\2015-04-08\paginators-1.json' => __DIR__ . '/Aws/data/workspaces/2015-04-08/paginators-1.json.php', + 'Aws\data\connect\2017-08-08\api-2.json' => __DIR__ . '/Aws/data/connect/2017-08-08/api-2.json.php', + 'Aws\data\connect\2017-08-08\paginators-1.json' => __DIR__ . '/Aws/data/connect/2017-08-08/paginators-1.json.php', + 'Aws\data\events\2015-10-07\api-2.json' => __DIR__ . '/Aws/data/events/2015-10-07/api-2.json.php', + 'Aws\data\events\2015-10-07\smoke.json' => __DIR__ . '/Aws/data/events/2015-10-07/smoke.json.php', + 'Aws\data\events\2015-10-07\paginators-1.json' => __DIR__ . '/Aws/data/events/2015-10-07/paginators-1.json.php', + 'Aws\data\alexaforbusiness\2017-11-09\api-2.json' => __DIR__ . '/Aws/data/alexaforbusiness/2017-11-09/api-2.json.php', + 'Aws\data\alexaforbusiness\2017-11-09\paginators-1.json' => __DIR__ . '/Aws/data/alexaforbusiness/2017-11-09/paginators-1.json.php', + 'Aws\data\greengrass\2017-06-07\api-2.json' => __DIR__ . '/Aws/data/greengrass/2017-06-07/api-2.json.php', + 'Aws\data\mediastore\2017-09-01\api-2.json' => __DIR__ . '/Aws/data/mediastore/2017-09-01/api-2.json.php', + 'Aws\data\mediastore\2017-09-01\paginators-1.json' => __DIR__ . '/Aws/data/mediastore/2017-09-01/paginators-1.json.php', + 'Aws\data\entitlement.marketplace\2017-01-11\api-2.json' => __DIR__ . '/Aws/data/entitlement.marketplace/2017-01-11/api-2.json.php', + 'Aws\data\entitlement.marketplace\2017-01-11\paginators-1.json' => __DIR__ . '/Aws/data/entitlement.marketplace/2017-01-11/paginators-1.json.php', + 'Aws\data\chime\2018-05-01\api-2.json' => __DIR__ . '/Aws/data/chime/2018-05-01/api-2.json.php', + 'Aws\data\chime\2018-05-01\paginators-1.json' => __DIR__ . '/Aws/data/chime/2018-05-01/paginators-1.json.php', + 'Aws\data\kinesisanalytics\2015-08-14\api-2.json' => __DIR__ . '/Aws/data/kinesisanalytics/2015-08-14/api-2.json.php', + 'Aws\data\kinesisanalytics\2015-08-14\paginators-1.json' => __DIR__ . '/Aws/data/kinesisanalytics/2015-08-14/paginators-1.json.php', + 'Aws\data\guardduty\2017-11-28\api-2.json' => __DIR__ . '/Aws/data/guardduty/2017-11-28/api-2.json.php', + 'Aws\data\guardduty\2017-11-28\paginators-1.json' => __DIR__ . '/Aws/data/guardduty/2017-11-28/paginators-1.json.php', + 'Aws\data\xray\2016-04-12\api-2.json' => __DIR__ . '/Aws/data/xray/2016-04-12/api-2.json.php', + 'Aws\data\xray\2016-04-12\paginators-1.json' => __DIR__ . '/Aws/data/xray/2016-04-12/paginators-1.json.php', + 'Aws\data\elasticloadbalancingv2\2015-12-01\api-2.json' => __DIR__ . '/Aws/data/elasticloadbalancingv2/2015-12-01/api-2.json.php', + 'Aws\data\elasticloadbalancingv2\2015-12-01\smoke.json' => __DIR__ . '/Aws/data/elasticloadbalancingv2/2015-12-01/smoke.json.php', + 'Aws\data\elasticloadbalancingv2\2015-12-01\waiters-2.json' => __DIR__ . '/Aws/data/elasticloadbalancingv2/2015-12-01/waiters-2.json.php', + 'Aws\data\elasticloadbalancingv2\2015-12-01\paginators-1.json' => __DIR__ . '/Aws/data/elasticloadbalancingv2/2015-12-01/paginators-1.json.php', + 'Aws\data\s3\2006-03-01\api-2.json' => __DIR__ . '/Aws/data/s3/2006-03-01/api-2.json.php', + 'Aws\data\s3\2006-03-01\smoke.json' => __DIR__ . '/Aws/data/s3/2006-03-01/smoke.json.php', + 'Aws\data\s3\2006-03-01\waiters-2.json' => __DIR__ . '/Aws/data/s3/2006-03-01/waiters-2.json.php', + 'Aws\data\s3\2006-03-01\paginators-1.json' => __DIR__ . '/Aws/data/s3/2006-03-01/paginators-1.json.php', + 'Aws\data\s3\2006-03-01\waiters-1.json' => __DIR__ . '/Aws/data/s3/2006-03-01/waiters-1.json.php', + 'Aws\data\ecs\2014-11-13\api-2.json' => __DIR__ . '/Aws/data/ecs/2014-11-13/api-2.json.php', + 'Aws\data\ecs\2014-11-13\smoke.json' => __DIR__ . '/Aws/data/ecs/2014-11-13/smoke.json.php', + 'Aws\data\ecs\2014-11-13\waiters-2.json' => __DIR__ . '/Aws/data/ecs/2014-11-13/waiters-2.json.php', + 'Aws\data\ecs\2014-11-13\paginators-1.json' => __DIR__ . '/Aws/data/ecs/2014-11-13/paginators-1.json.php', + 'Aws\data\cloudformation\2010-05-15\api-2.json' => __DIR__ . '/Aws/data/cloudformation/2010-05-15/api-2.json.php', + 'Aws\data\cloudformation\2010-05-15\waiters-2.json' => __DIR__ . '/Aws/data/cloudformation/2010-05-15/waiters-2.json.php', + 'Aws\data\cloudformation\2010-05-15\paginators-1.json' => __DIR__ . '/Aws/data/cloudformation/2010-05-15/paginators-1.json.php', + 'Aws\data\data.iot\2015-05-28\api-2.json' => __DIR__ . '/Aws/data/data.iot/2015-05-28/api-2.json.php', + 'Aws\data\glue\2017-03-31\api-2.json' => __DIR__ . '/Aws/data/glue/2017-03-31/api-2.json.php', + 'Aws\data\glue\2017-03-31\smoke.json' => __DIR__ . '/Aws/data/glue/2017-03-31/smoke.json.php', + 'Aws\data\glue\2017-03-31\paginators-1.json' => __DIR__ . '/Aws/data/glue/2017-03-31/paginators-1.json.php', + 'Aws\data\apigatewaymanagementapi\2018-11-29\api-2.json' => __DIR__ . '/Aws/data/apigatewaymanagementapi/2018-11-29/api-2.json.php', + 'Aws\data\apigatewaymanagementapi\2018-11-29\paginators-1.json' => __DIR__ . '/Aws/data/apigatewaymanagementapi/2018-11-29/paginators-1.json.php', + 'Aws\data\kafka\2018-11-14\api-2.json' => __DIR__ . '/Aws/data/kafka/2018-11-14/api-2.json.php', + 'Aws\data\kafka\2018-11-14\paginators-1.json' => __DIR__ . '/Aws/data/kafka/2018-11-14/paginators-1.json.php', + 'Aws\data\mgh\2017-05-31\api-2.json' => __DIR__ . '/Aws/data/mgh/2017-05-31/api-2.json.php', + 'Aws\data\mgh\2017-05-31\paginators-1.json' => __DIR__ . '/Aws/data/mgh/2017-05-31/paginators-1.json.php', + 'Aws\data\opsworkscm\2016-11-01\api-2.json' => __DIR__ . '/Aws/data/opsworkscm/2016-11-01/api-2.json.php', + 'Aws\data\opsworkscm\2016-11-01\waiters-2.json' => __DIR__ . '/Aws/data/opsworkscm/2016-11-01/waiters-2.json.php', + 'Aws\data\opsworkscm\2016-11-01\paginators-1.json' => __DIR__ . '/Aws/data/opsworkscm/2016-11-01/paginators-1.json.php', + 'Aws\data\mobile\2017-07-01\api-2.json' => __DIR__ . '/Aws/data/mobile/2017-07-01/api-2.json.php', + 'Aws\data\mobile\2017-07-01\paginators-1.json' => __DIR__ . '/Aws/data/mobile/2017-07-01/paginators-1.json.php', + 'Aws\data\shield\2016-06-02\api-2.json' => __DIR__ . '/Aws/data/shield/2016-06-02/api-2.json.php', + 'Aws\data\shield\2016-06-02\smoke.json' => __DIR__ . '/Aws/data/shield/2016-06-02/smoke.json.php', + 'Aws\data\shield\2016-06-02\paginators-1.json' => __DIR__ . '/Aws/data/shield/2016-06-02/paginators-1.json.php', + 'Aws\data\gamelift\2015-10-01\api-2.json' => __DIR__ . '/Aws/data/gamelift/2015-10-01/api-2.json.php', + 'Aws\data\gamelift\2015-10-01\smoke.json' => __DIR__ . '/Aws/data/gamelift/2015-10-01/smoke.json.php', + 'Aws\data\gamelift\2015-10-01\paginators-1.json' => __DIR__ . '/Aws/data/gamelift/2015-10-01/paginators-1.json.php', + 'Aws\data\autoscaling-plans\2018-01-06\api-2.json' => __DIR__ . '/Aws/data/autoscaling-plans/2018-01-06/api-2.json.php', + 'Aws\data\autoscaling-plans\2018-01-06\paginators-1.json' => __DIR__ . '/Aws/data/autoscaling-plans/2018-01-06/paginators-1.json.php', + 'Aws\data\storagegateway\2013-06-30\api-2.json' => __DIR__ . '/Aws/data/storagegateway/2013-06-30/api-2.json.php', + 'Aws\data\storagegateway\2013-06-30\paginators-1.json' => __DIR__ . '/Aws/data/storagegateway/2013-06-30/paginators-1.json.php', + 'Aws\data\apigateway\2015-07-09\api-2.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/api-2.json.php', + 'Aws\data\apigateway\2015-07-09\smoke.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/smoke.json.php', + 'Aws\data\apigateway\2015-07-09\paginators-1.json' => __DIR__ . '/Aws/data/apigateway/2015-07-09/paginators-1.json.php', + 'Aws\data\pricing\2017-10-15\api-2.json' => __DIR__ . '/Aws/data/pricing/2017-10-15/api-2.json.php', + 'Aws\data\pricing\2017-10-15\paginators-1.json' => __DIR__ . '/Aws/data/pricing/2017-10-15/paginators-1.json.php', + 'Aws\data\elasticmapreduce\2009-03-31\api-2.json' => __DIR__ . '/Aws/data/elasticmapreduce/2009-03-31/api-2.json.php', + 'Aws\data\elasticmapreduce\2009-03-31\smoke.json' => __DIR__ . '/Aws/data/elasticmapreduce/2009-03-31/smoke.json.php', + 'Aws\data\elasticmapreduce\2009-03-31\waiters-2.json' => __DIR__ . '/Aws/data/elasticmapreduce/2009-03-31/waiters-2.json.php', + 'Aws\data\elasticmapreduce\2009-03-31\paginators-1.json' => __DIR__ . '/Aws/data/elasticmapreduce/2009-03-31/paginators-1.json.php', + 'Aws\data\cloudtrail\2013-11-01\api-2.json' => __DIR__ . '/Aws/data/cloudtrail/2013-11-01/api-2.json.php', + 'Aws\data\cloudtrail\2013-11-01\smoke.json' => __DIR__ . '/Aws/data/cloudtrail/2013-11-01/smoke.json.php', + 'Aws\data\cloudtrail\2013-11-01\paginators-1.json' => __DIR__ . '/Aws/data/cloudtrail/2013-11-01/paginators-1.json.php', + 'Aws\data\robomaker\2018-06-29\api-2.json' => __DIR__ . '/Aws/data/robomaker/2018-06-29/api-2.json.php', + 'Aws\data\robomaker\2018-06-29\paginators-1.json' => __DIR__ . '/Aws/data/robomaker/2018-06-29/paginators-1.json.php', + 'Aws\data\codebuild\2016-10-06\api-2.json' => __DIR__ . '/Aws/data/codebuild/2016-10-06/api-2.json.php', + 'Aws\data\codebuild\2016-10-06\smoke.json' => __DIR__ . '/Aws/data/codebuild/2016-10-06/smoke.json.php', + 'Aws\data\codebuild\2016-10-06\paginators-1.json' => __DIR__ . '/Aws/data/codebuild/2016-10-06/paginators-1.json.php', + 'Aws\data\iam\2010-05-08\api-2.json' => __DIR__ . '/Aws/data/iam/2010-05-08/api-2.json.php', + 'Aws\data\iam\2010-05-08\smoke.json' => __DIR__ . '/Aws/data/iam/2010-05-08/smoke.json.php', + 'Aws\data\iam\2010-05-08\waiters-2.json' => __DIR__ . '/Aws/data/iam/2010-05-08/waiters-2.json.php', + 'Aws\data\iam\2010-05-08\paginators-1.json' => __DIR__ . '/Aws/data/iam/2010-05-08/paginators-1.json.php', + 'Aws\data\mturk-requester\2017-01-17\api-2.json' => __DIR__ . '/Aws/data/mturk-requester/2017-01-17/api-2.json.php', + 'Aws\data\mturk-requester\2017-01-17\smoke.json' => __DIR__ . '/Aws/data/mturk-requester/2017-01-17/smoke.json.php', + 'Aws\data\mturk-requester\2017-01-17\paginators-1.json' => __DIR__ . '/Aws/data/mturk-requester/2017-01-17/paginators-1.json.php', + 'Aws\data\securityhub\2018-10-26\api-2.json' => __DIR__ . '/Aws/data/securityhub/2018-10-26/api-2.json.php', + 'Aws\data\securityhub\2018-10-26\paginators-1.json' => __DIR__ . '/Aws/data/securityhub/2018-10-26/paginators-1.json.php', + 'Aws\data\dms\2016-01-01\api-2.json' => __DIR__ . '/Aws/data/dms/2016-01-01/api-2.json.php', + 'Aws\data\dms\2016-01-01\smoke.json' => __DIR__ . '/Aws/data/dms/2016-01-01/smoke.json.php', + 'Aws\data\dms\2016-01-01\waiters-2.json' => __DIR__ . '/Aws/data/dms/2016-01-01/waiters-2.json.php', + 'Aws\data\dms\2016-01-01\paginators-1.json' => __DIR__ . '/Aws/data/dms/2016-01-01/paginators-1.json.php', + 'Aws\data\cur\2017-01-06\api-2.json' => __DIR__ . '/Aws/data/cur/2017-01-06/api-2.json.php', + 'Aws\data\cur\2017-01-06\smoke.json' => __DIR__ . '/Aws/data/cur/2017-01-06/smoke.json.php', + 'Aws\data\cur\2017-01-06\paginators-1.json' => __DIR__ . '/Aws/data/cur/2017-01-06/paginators-1.json.php', + 'Aws\data\ssm\2014-11-06\api-2.json' => __DIR__ . '/Aws/data/ssm/2014-11-06/api-2.json.php', + 'Aws\data\ssm\2014-11-06\smoke.json' => __DIR__ . '/Aws/data/ssm/2014-11-06/smoke.json.php', + 'Aws\data\ssm\2014-11-06\paginators-1.json' => __DIR__ . '/Aws/data/ssm/2014-11-06/paginators-1.json.php', + 'Aws\data\route53domains\2014-05-15\api-2.json' => __DIR__ . '/Aws/data/route53domains/2014-05-15/api-2.json.php', + 'Aws\data\route53domains\2014-05-15\paginators-1.json' => __DIR__ . '/Aws/data/route53domains/2014-05-15/paginators-1.json.php', + 'Aws\data\marketplacecommerceanalytics\2015-07-01\api-2.json' => __DIR__ . '/Aws/data/marketplacecommerceanalytics/2015-07-01/api-2.json.php', + 'Aws\data\marketplacecommerceanalytics\2015-07-01\paginators-1.json' => __DIR__ . '/Aws/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json.php', + 'Aws\data\importexport\2010-06-01\api-2.json' => __DIR__ . '/Aws/data/importexport/2010-06-01/api-2.json.php', + 'Aws\data\importexport\2010-06-01\paginators-1.json' => __DIR__ . '/Aws/data/importexport/2010-06-01/paginators-1.json.php', + 'Aws\data\email\2010-12-01\api-2.json' => __DIR__ . '/Aws/data/email/2010-12-01/api-2.json.php', + 'Aws\data\email\2010-12-01\smoke.json' => __DIR__ . '/Aws/data/email/2010-12-01/smoke.json.php', + 'Aws\data\email\2010-12-01\waiters-2.json' => __DIR__ . '/Aws/data/email/2010-12-01/waiters-2.json.php', + 'Aws\data\email\2010-12-01\paginators-1.json' => __DIR__ . '/Aws/data/email/2010-12-01/paginators-1.json.php', + 'Aws\data\email\2010-12-01\waiters-1.json' => __DIR__ . '/Aws/data/email/2010-12-01/waiters-1.json.php', + 'Aws\data\comprehend\2017-11-27\api-2.json' => __DIR__ . '/Aws/data/comprehend/2017-11-27/api-2.json.php', + 'Aws\data\comprehend\2017-11-27\paginators-1.json' => __DIR__ . '/Aws/data/comprehend/2017-11-27/paginators-1.json.php', + 'Aws\data\macie\2017-12-19\api-2.json' => __DIR__ . '/Aws/data/macie/2017-12-19/api-2.json.php', + 'Aws\data\macie\2017-12-19\paginators-1.json' => __DIR__ . '/Aws/data/macie/2017-12-19/paginators-1.json.php', + 'Aws\data\iot1click-projects\2018-05-14\api-2.json' => __DIR__ . '/Aws/data/iot1click-projects/2018-05-14/api-2.json.php', + 'Aws\data\iot1click-projects\2018-05-14\paginators-1.json' => __DIR__ . '/Aws/data/iot1click-projects/2018-05-14/paginators-1.json.php', + 'Aws\data\iot-jobs-data\2017-09-29\api-2.json' => __DIR__ . '/Aws/data/iot-jobs-data/2017-09-29/api-2.json.php', + 'Aws\data\iot-jobs-data\2017-09-29\paginators-1.json' => __DIR__ . '/Aws/data/iot-jobs-data/2017-09-29/paginators-1.json.php', + 'Aws\data\es\2015-01-01\api-2.json' => __DIR__ . '/Aws/data/es/2015-01-01/api-2.json.php', + 'Aws\data\es\2015-01-01\smoke.json' => __DIR__ . '/Aws/data/es/2015-01-01/smoke.json.php', + 'Aws\data\es\2015-01-01\paginators-1.json' => __DIR__ . '/Aws/data/es/2015-01-01/paginators-1.json.php', + 'Aws\data\transfer\2018-11-05\api-2.json' => __DIR__ . '/Aws/data/transfer/2018-11-05/api-2.json.php', + 'Aws\data\transfer\2018-11-05\paginators-1.json' => __DIR__ . '/Aws/data/transfer/2018-11-05/paginators-1.json.php', + 'Aws\data\iotanalytics\2017-11-27\api-2.json' => __DIR__ . '/Aws/data/iotanalytics/2017-11-27/api-2.json.php', + 'Aws\data\iotanalytics\2017-11-27\paginators-1.json' => __DIR__ . '/Aws/data/iotanalytics/2017-11-27/paginators-1.json.php', + 'Aws\data\health\2016-08-04\api-2.json' => __DIR__ . '/Aws/data/health/2016-08-04/api-2.json.php', + 'Aws\data\health\2016-08-04\paginators-1.json' => __DIR__ . '/Aws/data/health/2016-08-04/paginators-1.json.php', + 'Aws\data\runtime.lex\2016-11-28\api-2.json' => __DIR__ . '/Aws/data/runtime.lex/2016-11-28/api-2.json.php', + 'Aws\data\runtime.lex\2016-11-28\paginators-1.json' => __DIR__ . '/Aws/data/runtime.lex/2016-11-28/paginators-1.json.php', + 'Aws\data\discovery\2015-11-01\api-2.json' => __DIR__ . '/Aws/data/discovery/2015-11-01/api-2.json.php', + 'Aws\data\discovery\2015-11-01\smoke.json' => __DIR__ . '/Aws/data/discovery/2015-11-01/smoke.json.php', + 'Aws\data\discovery\2015-11-01\paginators-1.json' => __DIR__ . '/Aws/data/discovery/2015-11-01/paginators-1.json.php', + 'Aws\data\machinelearning\2014-12-12\api-2.json' => __DIR__ . '/Aws/data/machinelearning/2014-12-12/api-2.json.php', + 'Aws\data\machinelearning\2014-12-12\waiters-2.json' => __DIR__ . '/Aws/data/machinelearning/2014-12-12/waiters-2.json.php', + 'Aws\data\machinelearning\2014-12-12\paginators-1.json' => __DIR__ . '/Aws/data/machinelearning/2014-12-12/paginators-1.json.php', + 'Aws\data\sagemaker\2017-07-24\api-2.json' => __DIR__ . '/Aws/data/sagemaker/2017-07-24/api-2.json.php', + 'Aws\data\sagemaker\2017-07-24\waiters-2.json' => __DIR__ . '/Aws/data/sagemaker/2017-07-24/waiters-2.json.php', + 'Aws\data\sagemaker\2017-07-24\paginators-1.json' => __DIR__ . '/Aws/data/sagemaker/2017-07-24/paginators-1.json.php', + 'Aws\data\translate\2017-07-01\api-2.json' => __DIR__ . '/Aws/data/translate/2017-07-01/api-2.json.php', + 'Aws\data\translate\2017-07-01\paginators-1.json' => __DIR__ . '/Aws/data/translate/2017-07-01/paginators-1.json.php', + 'Aws\data\cognito-sync\2014-06-30\api-2.json' => __DIR__ . '/Aws/data/cognito-sync/2014-06-30/api-2.json.php', + 'Aws\data\kinesisvideo\2017-09-30\api-2.json' => __DIR__ . '/Aws/data/kinesisvideo/2017-09-30/api-2.json.php', + 'Aws\data\kinesisvideo\2017-09-30\paginators-1.json' => __DIR__ . '/Aws/data/kinesisvideo/2017-09-30/paginators-1.json.php', + 'Aws\data\manifest.json' => __DIR__ . '/Aws/data/manifest.json.php', + 'Aws\data\pinpoint\2016-12-01\api-2.json' => __DIR__ . '/Aws/data/pinpoint/2016-12-01/api-2.json.php', + 'Aws\data\resourcegroupstaggingapi\2017-01-26\api-2.json' => __DIR__ . '/Aws/data/resourcegroupstaggingapi/2017-01-26/api-2.json.php', + 'Aws\data\resourcegroupstaggingapi\2017-01-26\paginators-1.json' => __DIR__ . '/Aws/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json.php', + 'Aws\data\elasticbeanstalk\2010-12-01\api-2.json' => __DIR__ . '/Aws/data/elasticbeanstalk/2010-12-01/api-2.json.php', + 'Aws\data\elasticbeanstalk\2010-12-01\smoke.json' => __DIR__ . '/Aws/data/elasticbeanstalk/2010-12-01/smoke.json.php', + 'Aws\data\elasticbeanstalk\2010-12-01\paginators-1.json' => __DIR__ . '/Aws/data/elasticbeanstalk/2010-12-01/paginators-1.json.php', + 'Aws\data\apigatewayv2\2018-11-29\api-2.json' => __DIR__ . '/Aws/data/apigatewayv2/2018-11-29/api-2.json.php', + 'Aws\data\apigatewayv2\2018-11-29\paginators-1.json' => __DIR__ . '/Aws/data/apigatewayv2/2018-11-29/paginators-1.json.php', + 'Aws\data\dlm\2018-01-12\api-2.json' => __DIR__ . '/Aws/data/dlm/2018-01-12/api-2.json.php', + 'Aws\data\dlm\2018-01-12\paginators-1.json' => __DIR__ . '/Aws/data/dlm/2018-01-12/paginators-1.json.php', + 'Aws\data\worklink\2018-09-25\api-2.json' => __DIR__ . '/Aws/data/worklink/2018-09-25/api-2.json.php', + 'Aws\data\worklink\2018-09-25\paginators-1.json' => __DIR__ . '/Aws/data/worklink/2018-09-25/paginators-1.json.php', + 'Aws\data\cloud9\2017-09-23\api-2.json' => __DIR__ . '/Aws/data/cloud9/2017-09-23/api-2.json.php', + 'Aws\data\cloud9\2017-09-23\paginators-1.json' => __DIR__ . '/Aws/data/cloud9/2017-09-23/paginators-1.json.php', + 'Aws\data\autoscaling\2011-01-01\api-2.json' => __DIR__ . '/Aws/data/autoscaling/2011-01-01/api-2.json.php', + 'Aws\data\autoscaling\2011-01-01\smoke.json' => __DIR__ . '/Aws/data/autoscaling/2011-01-01/smoke.json.php', + 'Aws\data\autoscaling\2011-01-01\waiters-2.json' => __DIR__ . '/Aws/data/autoscaling/2011-01-01/waiters-2.json.php', + 'Aws\data\autoscaling\2011-01-01\paginators-1.json' => __DIR__ . '/Aws/data/autoscaling/2011-01-01/paginators-1.json.php', + 'Aws\data\logs\2014-03-28\api-2.json' => __DIR__ . '/Aws/data/logs/2014-03-28/api-2.json.php', + 'Aws\data\logs\2014-03-28\smoke.json' => __DIR__ . '/Aws/data/logs/2014-03-28/smoke.json.php', + 'Aws\data\logs\2014-03-28\paginators-1.json' => __DIR__ . '/Aws/data/logs/2014-03-28/paginators-1.json.php', + 'Aws\data\transcribe\2017-10-26\api-2.json' => __DIR__ . '/Aws/data/transcribe/2017-10-26/api-2.json.php', + 'Aws\data\transcribe\2017-10-26\paginators-1.json' => __DIR__ . '/Aws/data/transcribe/2017-10-26/paginators-1.json.php', + 'Aws\data\elasticache\2015-02-02\api-2.json' => __DIR__ . '/Aws/data/elasticache/2015-02-02/api-2.json.php', + 'Aws\data\elasticache\2015-02-02\smoke.json' => __DIR__ . '/Aws/data/elasticache/2015-02-02/smoke.json.php', + 'Aws\data\elasticache\2015-02-02\waiters-2.json' => __DIR__ . '/Aws/data/elasticache/2015-02-02/waiters-2.json.php', + 'Aws\data\elasticache\2015-02-02\paginators-1.json' => __DIR__ . '/Aws/data/elasticache/2015-02-02/paginators-1.json.php', + 'Aws\data\sts\2011-06-15\api-2.json' => __DIR__ . '/Aws/data/sts/2011-06-15/api-2.json.php', + 'Aws\data\sts\2011-06-15\smoke.json' => __DIR__ . '/Aws/data/sts/2011-06-15/smoke.json.php', + 'Aws\data\sts\2011-06-15\paginators-1.json' => __DIR__ . '/Aws/data/sts/2011-06-15/paginators-1.json.php', + 'Aws\data\waf-regional\2016-11-28\api-2.json' => __DIR__ . '/Aws/data/waf-regional/2016-11-28/api-2.json.php', + 'Aws\data\waf-regional\2016-11-28\smoke.json' => __DIR__ . '/Aws/data/waf-regional/2016-11-28/smoke.json.php', + 'Aws\data\waf-regional\2016-11-28\paginators-1.json' => __DIR__ . '/Aws/data/waf-regional/2016-11-28/paginators-1.json.php', + 'Aws\data\servicecatalog\2015-12-10\api-2.json' => __DIR__ . '/Aws/data/servicecatalog/2015-12-10/api-2.json.php', + 'Aws\data\servicecatalog\2015-12-10\smoke.json' => __DIR__ . '/Aws/data/servicecatalog/2015-12-10/smoke.json.php', + 'Aws\data\servicecatalog\2015-12-10\paginators-1.json' => __DIR__ . '/Aws/data/servicecatalog/2015-12-10/paginators-1.json.php', + 'Aws\data\appmesh\2019-01-25\api-2.json' => __DIR__ . '/Aws/data/appmesh/2019-01-25/api-2.json.php', + 'Aws\data\appmesh\2019-01-25\paginators-1.json' => __DIR__ . '/Aws/data/appmesh/2019-01-25/paginators-1.json.php', + 'Aws\data\appmesh\2018-10-01\api-2.json' => __DIR__ . '/Aws/data/appmesh/2018-10-01/api-2.json.php', + 'Aws\data\appmesh\2018-10-01\paginators-1.json' => __DIR__ . '/Aws/data/appmesh/2018-10-01/paginators-1.json.php', + 'Aws\data\organizations\2016-11-28\api-2.json' => __DIR__ . '/Aws/data/organizations/2016-11-28/api-2.json.php', + 'Aws\data\organizations\2016-11-28\paginators-1.json' => __DIR__ . '/Aws/data/organizations/2016-11-28/paginators-1.json.php', + 'Aws\data\mediastore-data\2017-09-01\api-2.json' => __DIR__ . '/Aws/data/mediastore-data/2017-09-01/api-2.json.php', + 'Aws\data\mediastore-data\2017-09-01\paginators-1.json' => __DIR__ . '/Aws/data/mediastore-data/2017-09-01/paginators-1.json.php', + 'Aws\data\cloudsearch\2013-01-01\api-2.json' => __DIR__ . '/Aws/data/cloudsearch/2013-01-01/api-2.json.php', + 'Aws\data\cloudsearch\2013-01-01\paginators-1.json' => __DIR__ . '/Aws/data/cloudsearch/2013-01-01/paginators-1.json.php', + 'Aws\data\dynamodb\2011-12-05\api-2.json' => __DIR__ . '/Aws/data/dynamodb/2011-12-05/api-2.json.php', + 'Aws\data\dynamodb\2011-12-05\smoke.json' => __DIR__ . '/Aws/data/dynamodb/2011-12-05/smoke.json.php', + 'Aws\data\dynamodb\2011-12-05\waiters-2.json' => __DIR__ . '/Aws/data/dynamodb/2011-12-05/waiters-2.json.php', + 'Aws\data\dynamodb\2011-12-05\paginators-1.json' => __DIR__ . '/Aws/data/dynamodb/2011-12-05/paginators-1.json.php', + 'Aws\data\dynamodb\2011-12-05\waiters-1.json' => __DIR__ . '/Aws/data/dynamodb/2011-12-05/waiters-1.json.php', + 'Aws\data\dynamodb\2012-08-10\api-2.json' => __DIR__ . '/Aws/data/dynamodb/2012-08-10/api-2.json.php', + 'Aws\data\dynamodb\2012-08-10\smoke.json' => __DIR__ . '/Aws/data/dynamodb/2012-08-10/smoke.json.php', + 'Aws\data\dynamodb\2012-08-10\waiters-2.json' => __DIR__ . '/Aws/data/dynamodb/2012-08-10/waiters-2.json.php', + 'Aws\data\dynamodb\2012-08-10\paginators-1.json' => __DIR__ . '/Aws/data/dynamodb/2012-08-10/paginators-1.json.php', + 'Aws\data\dynamodb\2012-08-10\waiters-1.json' => __DIR__ . '/Aws/data/dynamodb/2012-08-10/waiters-1.json.php', + 'Aws\data\neptune\2014-10-31\api-2.json' => __DIR__ . '/Aws/data/neptune/2014-10-31/api-2.json.php', + 'Aws\data\neptune\2014-10-31\waiters-2.json' => __DIR__ . '/Aws/data/neptune/2014-10-31/waiters-2.json.php', + 'Aws\data\neptune\2014-10-31\paginators-1.json' => __DIR__ . '/Aws/data/neptune/2014-10-31/paginators-1.json.php', + 'Aws\data\mediaconnect\2018-11-14\api-2.json' => __DIR__ . '/Aws/data/mediaconnect/2018-11-14/api-2.json.php', + 'Aws\data\mediaconnect\2018-11-14\paginators-1.json' => __DIR__ . '/Aws/data/mediaconnect/2018-11-14/paginators-1.json.php', + 'Aws\data\datapipeline\2012-10-29\api-2.json' => __DIR__ . '/Aws/data/datapipeline/2012-10-29/api-2.json.php', + 'Aws\data\datapipeline\2012-10-29\paginators-1.json' => __DIR__ . '/Aws/data/datapipeline/2012-10-29/paginators-1.json.php', + 'Aws\data\budgets\2016-10-20\api-2.json' => __DIR__ . '/Aws/data/budgets/2016-10-20/api-2.json.php', + 'Aws\data\budgets\2016-10-20\paginators-1.json' => __DIR__ . '/Aws/data/budgets/2016-10-20/paginators-1.json.php', + 'Aws\data\monitoring\2010-08-01\api-2.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/api-2.json.php', + 'Aws\data\monitoring\2010-08-01\smoke.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/smoke.json.php', + 'Aws\data\monitoring\2010-08-01\waiters-2.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/waiters-2.json.php', + 'Aws\data\monitoring\2010-08-01\paginators-1.json' => __DIR__ . '/Aws/data/monitoring/2010-08-01/paginators-1.json.php', + 'Aws\data\elastictranscoder\2012-09-25\api-2.json' => __DIR__ . '/Aws/data/elastictranscoder/2012-09-25/api-2.json.php', + 'Aws\data\elastictranscoder\2012-09-25\smoke.json' => __DIR__ . '/Aws/data/elastictranscoder/2012-09-25/smoke.json.php', + 'Aws\data\elastictranscoder\2012-09-25\waiters-2.json' => __DIR__ . '/Aws/data/elastictranscoder/2012-09-25/waiters-2.json.php', + 'Aws\data\elastictranscoder\2012-09-25\paginators-1.json' => __DIR__ . '/Aws/data/elastictranscoder/2012-09-25/paginators-1.json.php', + 'Aws\data\elastictranscoder\2012-09-25\waiters-1.json' => __DIR__ . '/Aws/data/elastictranscoder/2012-09-25/waiters-1.json.php', + 'Aws\data\kinesis\2013-12-02\api-2.json' => __DIR__ . '/Aws/data/kinesis/2013-12-02/api-2.json.php', + 'Aws\data\kinesis\2013-12-02\smoke.json' => __DIR__ . '/Aws/data/kinesis/2013-12-02/smoke.json.php', + 'Aws\data\kinesis\2013-12-02\waiters-2.json' => __DIR__ . '/Aws/data/kinesis/2013-12-02/waiters-2.json.php', + 'Aws\data\kinesis\2013-12-02\paginators-1.json' => __DIR__ . '/Aws/data/kinesis/2013-12-02/paginators-1.json.php', + 'Aws\data\ec2\2016-04-01\api-2.json' => __DIR__ . '/Aws/data/ec2/2016-04-01/api-2.json.php', + 'Aws\data\ec2\2016-04-01\waiters-2.json' => __DIR__ . '/Aws/data/ec2/2016-04-01/waiters-2.json.php', + 'Aws\data\ec2\2016-04-01\paginators-1.json' => __DIR__ . '/Aws/data/ec2/2016-04-01/paginators-1.json.php', + 'Aws\data\ec2\2016-09-15\api-2.json' => __DIR__ . '/Aws/data/ec2/2016-09-15/api-2.json.php', + 'Aws\data\ec2\2016-09-15\waiters-2.json' => __DIR__ . '/Aws/data/ec2/2016-09-15/waiters-2.json.php', + 'Aws\data\ec2\2016-09-15\paginators-1.json' => __DIR__ . '/Aws/data/ec2/2016-09-15/paginators-1.json.php', + 'Aws\data\ec2\2016-09-15\waiters-1.json' => __DIR__ . '/Aws/data/ec2/2016-09-15/waiters-1.json.php', + 'Aws\data\ec2\2015-10-01\api-2.json' => __DIR__ . '/Aws/data/ec2/2015-10-01/api-2.json.php', + 'Aws\data\ec2\2015-10-01\waiters-2.json' => __DIR__ . '/Aws/data/ec2/2015-10-01/waiters-2.json.php', + 'Aws\data\ec2\2015-10-01\paginators-1.json' => __DIR__ . '/Aws/data/ec2/2015-10-01/paginators-1.json.php', + 'Aws\data\ec2\2015-10-01\waiters-1.json' => __DIR__ . '/Aws/data/ec2/2015-10-01/waiters-1.json.php', + 'Aws\data\ec2\2016-11-15\api-2.json' => __DIR__ . '/Aws/data/ec2/2016-11-15/api-2.json.php', + 'Aws\data\ec2\2016-11-15\smoke.json' => __DIR__ . '/Aws/data/ec2/2016-11-15/smoke.json.php', + 'Aws\data\ec2\2016-11-15\waiters-2.json' => __DIR__ . '/Aws/data/ec2/2016-11-15/waiters-2.json.php', + 'Aws\data\ec2\2016-11-15\paginators-1.json' => __DIR__ . '/Aws/data/ec2/2016-11-15/paginators-1.json.php', + 'Aws\data\ec2\2016-11-15\waiters-1.json' => __DIR__ . '/Aws/data/ec2/2016-11-15/waiters-1.json.php', + 'Aws\data\medialive\2017-10-14\api-2.json' => __DIR__ . '/Aws/data/medialive/2017-10-14/api-2.json.php', + 'Aws\data\medialive\2017-10-14\paginators-1.json' => __DIR__ . '/Aws/data/medialive/2017-10-14/paginators-1.json.php', + 'Aws\data\kinesisanalyticsv2\2018-05-23\api-2.json' => __DIR__ . '/Aws/data/kinesisanalyticsv2/2018-05-23/api-2.json.php', + 'Aws\data\kinesisanalyticsv2\2018-05-23\paginators-1.json' => __DIR__ . '/Aws/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php', + 'Aws\data\rds\2014-10-31\api-2.json' => __DIR__ . '/Aws/data/rds/2014-10-31/api-2.json.php', + 'Aws\data\rds\2014-10-31\smoke.json' => __DIR__ . '/Aws/data/rds/2014-10-31/smoke.json.php', + 'Aws\data\rds\2014-10-31\waiters-2.json' => __DIR__ . '/Aws/data/rds/2014-10-31/waiters-2.json.php', + 'Aws\data\rds\2014-10-31\paginators-1.json' => __DIR__ . '/Aws/data/rds/2014-10-31/paginators-1.json.php', + 'Aws\data\rds\2014-10-31\waiters-1.json' => __DIR__ . '/Aws/data/rds/2014-10-31/waiters-1.json.php', + 'Aws\data\rds\2014-09-01\api-2.json' => __DIR__ . '/Aws/data/rds/2014-09-01/api-2.json.php', + 'Aws\data\rds\2014-09-01\smoke.json' => __DIR__ . '/Aws/data/rds/2014-09-01/smoke.json.php', + 'Aws\data\rds\2014-09-01\paginators-1.json' => __DIR__ . '/Aws/data/rds/2014-09-01/paginators-1.json.php', + 'Aws\data\route53\2013-04-01\api-2.json' => __DIR__ . '/Aws/data/route53/2013-04-01/api-2.json.php', + 'Aws\data\route53\2013-04-01\smoke.json' => __DIR__ . '/Aws/data/route53/2013-04-01/smoke.json.php', + 'Aws\data\route53\2013-04-01\waiters-2.json' => __DIR__ . '/Aws/data/route53/2013-04-01/waiters-2.json.php', + 'Aws\data\route53\2013-04-01\paginators-1.json' => __DIR__ . '/Aws/data/route53/2013-04-01/paginators-1.json.php', + 'Aws\data\devicefarm\2015-06-23\api-2.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/api-2.json.php', + 'Aws\data\devicefarm\2015-06-23\smoke.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/smoke.json.php', + 'Aws\data\devicefarm\2015-06-23\paginators-1.json' => __DIR__ . '/Aws/data/devicefarm/2015-06-23/paginators-1.json.php', + 'Aws\data\iot\2015-05-28\api-2.json' => __DIR__ . '/Aws/data/iot/2015-05-28/api-2.json.php', + 'Aws\data\iot\2015-05-28\smoke.json' => __DIR__ . '/Aws/data/iot/2015-05-28/smoke.json.php', + 'Aws\data\iot\2015-05-28\paginators-1.json' => __DIR__ . '/Aws/data/iot/2015-05-28/paginators-1.json.php', + 'Aws\data\signer\2017-08-25\api-2.json' => __DIR__ . '/Aws/data/signer/2017-08-25/api-2.json.php', + 'Aws\data\signer\2017-08-25\waiters-2.json' => __DIR__ . '/Aws/data/signer/2017-08-25/waiters-2.json.php', + 'Aws\data\signer\2017-08-25\paginators-1.json' => __DIR__ . '/Aws/data/signer/2017-08-25/paginators-1.json.php', + 'Aws\data\directconnect\2012-10-25\api-2.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/api-2.json.php', + 'Aws\data\directconnect\2012-10-25\smoke.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/smoke.json.php', + 'Aws\data\directconnect\2012-10-25\paginators-1.json' => __DIR__ . '/Aws/data/directconnect/2012-10-25/paginators-1.json.php', + 'Aws\data\route53resolver\2018-04-01\api-2.json' => __DIR__ . '/Aws/data/route53resolver/2018-04-01/api-2.json.php', + 'Aws\data\route53resolver\2018-04-01\smoke.json' => __DIR__ . '/Aws/data/route53resolver/2018-04-01/smoke.json.php', + 'Aws\data\route53resolver\2018-04-01\paginators-1.json' => __DIR__ . '/Aws/data/route53resolver/2018-04-01/paginators-1.json.php', + 'Aws\data\application-autoscaling\2016-02-06\api-2.json' => __DIR__ . '/Aws/data/application-autoscaling/2016-02-06/api-2.json.php', + 'Aws\data\application-autoscaling\2016-02-06\smoke.json' => __DIR__ . '/Aws/data/application-autoscaling/2016-02-06/smoke.json.php', + 'Aws\data\application-autoscaling\2016-02-06\paginators-1.json' => __DIR__ . '/Aws/data/application-autoscaling/2016-02-06/paginators-1.json.php', + 'Aws\data\backup\2018-11-15\api-2.json' => __DIR__ . '/Aws/data/backup/2018-11-15/api-2.json.php', + 'Aws\data\backup\2018-11-15\paginators-1.json' => __DIR__ . '/Aws/data/backup/2018-11-15/paginators-1.json.php', + 'Aws\data\workdocs\2016-05-01\api-2.json' => __DIR__ . '/Aws/data/workdocs/2016-05-01/api-2.json.php', + 'Aws\data\workdocs\2016-05-01\paginators-1.json' => __DIR__ . '/Aws/data/workdocs/2016-05-01/paginators-1.json.php', + 'Aws\data\cognito-idp\2016-04-18\api-2.json' => __DIR__ . '/Aws/data/cognito-idp/2016-04-18/api-2.json.php', + 'Aws\data\cognito-idp\2016-04-18\smoke.json' => __DIR__ . '/Aws/data/cognito-idp/2016-04-18/smoke.json.php', + 'Aws\data\cognito-idp\2016-04-18\paginators-1.json' => __DIR__ . '/Aws/data/cognito-idp/2016-04-18/paginators-1.json.php', + 'Aws\data\appstream\2016-12-01\api-2.json' => __DIR__ . '/Aws/data/appstream/2016-12-01/api-2.json.php', + 'Aws\data\appstream\2016-12-01\smoke.json' => __DIR__ . '/Aws/data/appstream/2016-12-01/smoke.json.php', + 'Aws\data\appstream\2016-12-01\waiters-2.json' => __DIR__ . '/Aws/data/appstream/2016-12-01/waiters-2.json.php', + 'Aws\data\appstream\2016-12-01\paginators-1.json' => __DIR__ . '/Aws/data/appstream/2016-12-01/paginators-1.json.php', + 'Aws\data\support\2013-04-15\api-2.json' => __DIR__ . '/Aws/data/support/2013-04-15/api-2.json.php', + 'Aws\data\support\2013-04-15\paginators-1.json' => __DIR__ . '/Aws/data/support/2013-04-15/paginators-1.json.php', + 'Aws\data\ce\2017-10-25\api-2.json' => __DIR__ . '/Aws/data/ce/2017-10-25/api-2.json.php', + 'Aws\data\ce\2017-10-25\paginators-1.json' => __DIR__ . '/Aws/data/ce/2017-10-25/paginators-1.json.php', + 'Aws\data\lightsail\2016-11-28\api-2.json' => __DIR__ . '/Aws/data/lightsail/2016-11-28/api-2.json.php', + 'Aws\data\lightsail\2016-11-28\smoke.json' => __DIR__ . '/Aws/data/lightsail/2016-11-28/smoke.json.php', + 'Aws\data\lightsail\2016-11-28\paginators-1.json' => __DIR__ . '/Aws/data/lightsail/2016-11-28/paginators-1.json.php', + 'Aws\data\firehose\2015-08-04\api-2.json' => __DIR__ . '/Aws/data/firehose/2015-08-04/api-2.json.php', + 'Aws\data\firehose\2015-08-04\smoke.json' => __DIR__ . '/Aws/data/firehose/2015-08-04/smoke.json.php', + 'Aws\data\firehose\2015-08-04\paginators-1.json' => __DIR__ . '/Aws/data/firehose/2015-08-04/paginators-1.json.php', + 'Aws\data\mediaconvert\2017-08-29\api-2.json' => __DIR__ . '/Aws/data/mediaconvert/2017-08-29/api-2.json.php', + 'Aws\data\mediaconvert\2017-08-29\paginators-1.json' => __DIR__ . '/Aws/data/mediaconvert/2017-08-29/paginators-1.json.php', + 'Aws\data\docdb\2014-10-31\api-2.json' => __DIR__ . '/Aws/data/docdb/2014-10-31/api-2.json.php', + 'Aws\data\docdb\2014-10-31\smoke.json' => __DIR__ . '/Aws/data/docdb/2014-10-31/smoke.json.php', + 'Aws\data\docdb\2014-10-31\waiters-2.json' => __DIR__ . '/Aws/data/docdb/2014-10-31/waiters-2.json.php', + 'Aws\data\docdb\2014-10-31\paginators-1.json' => __DIR__ . '/Aws/data/docdb/2014-10-31/paginators-1.json.php', + 'Aws\data\comprehendmedical\2018-10-30\api-2.json' => __DIR__ . '/Aws/data/comprehendmedical/2018-10-30/api-2.json.php', + 'Aws\data\comprehendmedical\2018-10-30\paginators-1.json' => __DIR__ . '/Aws/data/comprehendmedical/2018-10-30/paginators-1.json.php', + 'Aws\data\acm-pca\2017-08-22\api-2.json' => __DIR__ . '/Aws/data/acm-pca/2017-08-22/api-2.json.php', + 'Aws\data\acm-pca\2017-08-22\waiters-2.json' => __DIR__ . '/Aws/data/acm-pca/2017-08-22/waiters-2.json.php', + 'Aws\data\acm-pca\2017-08-22\paginators-1.json' => __DIR__ . '/Aws/data/acm-pca/2017-08-22/paginators-1.json.php', + 'Aws\data\secretsmanager\2017-10-17\api-2.json' => __DIR__ . '/Aws/data/secretsmanager/2017-10-17/api-2.json.php', + 'Aws\data\secretsmanager\2017-10-17\smoke.json' => __DIR__ . '/Aws/data/secretsmanager/2017-10-17/smoke.json.php', + 'Aws\data\secretsmanager\2017-10-17\paginators-1.json' => __DIR__ . '/Aws/data/secretsmanager/2017-10-17/paginators-1.json.php', + 'Aws\data\athena\2017-05-18\api-2.json' => __DIR__ . '/Aws/data/athena/2017-05-18/api-2.json.php', + 'Aws\data\athena\2017-05-18\smoke.json' => __DIR__ . '/Aws/data/athena/2017-05-18/smoke.json.php', + 'Aws\data\athena\2017-05-18\paginators-1.json' => __DIR__ . '/Aws/data/athena/2017-05-18/paginators-1.json.php', + 'Aws\data\mq\2017-11-27\api-2.json' => __DIR__ . '/Aws/data/mq/2017-11-27/api-2.json.php', + 'Aws\data\mq\2017-11-27\paginators-1.json' => __DIR__ . '/Aws/data/mq/2017-11-27/paginators-1.json.php', + 'Aws\data\rds-data\2018-08-01\api-2.json' => __DIR__ . '/Aws/data/rds-data/2018-08-01/api-2.json.php', + 'Aws\data\rds-data\2018-08-01\paginators-1.json' => __DIR__ . '/Aws/data/rds-data/2018-08-01/paginators-1.json.php', + 'Aws\data\codedeploy\2014-10-06\api-2.json' => __DIR__ . '/Aws/data/codedeploy/2014-10-06/api-2.json.php', + 'Aws\data\codedeploy\2014-10-06\smoke.json' => __DIR__ . '/Aws/data/codedeploy/2014-10-06/smoke.json.php', + 'Aws\data\codedeploy\2014-10-06\waiters-2.json' => __DIR__ . '/Aws/data/codedeploy/2014-10-06/waiters-2.json.php', + 'Aws\data\codedeploy\2014-10-06\paginators-1.json' => __DIR__ . '/Aws/data/codedeploy/2014-10-06/paginators-1.json.php', + 'Aws\data\codedeploy\2014-10-06\waiters-1.json' => __DIR__ . '/Aws/data/codedeploy/2014-10-06/waiters-1.json.php', + 'Aws\data\workmail\2017-10-01\api-2.json' => __DIR__ . '/Aws/data/workmail/2017-10-01/api-2.json.php', + 'Aws\data\workmail\2017-10-01\paginators-1.json' => __DIR__ . '/Aws/data/workmail/2017-10-01/paginators-1.json.php', + 'Aws\data\metering.marketplace\2016-01-14\api-2.json' => __DIR__ . '/Aws/data/metering.marketplace/2016-01-14/api-2.json.php', + 'Aws\data\metering.marketplace\2016-01-14\paginators-1.json' => __DIR__ . '/Aws/data/metering.marketplace/2016-01-14/paginators-1.json.php', + 'Aws\data\dax\2017-04-19\api-2.json' => __DIR__ . '/Aws/data/dax/2017-04-19/api-2.json.php', + 'Aws\data\dax\2017-04-19\paginators-1.json' => __DIR__ . '/Aws/data/dax/2017-04-19/paginators-1.json.php', + 'Aws\data\ecr\2015-09-21\api-2.json' => __DIR__ . '/Aws/data/ecr/2015-09-21/api-2.json.php', + 'Aws\data\ecr\2015-09-21\smoke.json' => __DIR__ . '/Aws/data/ecr/2015-09-21/smoke.json.php', + 'Aws\data\ecr\2015-09-21\paginators-1.json' => __DIR__ . '/Aws/data/ecr/2015-09-21/paginators-1.json.php', + 'Aws\data\endpoints_prefix_history.json' => __DIR__ . '/Aws/data/endpoints_prefix_history.json.php', + 'Aws\data\glacier\2012-06-01\api-2.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/api-2.json.php', + 'Aws\data\glacier\2012-06-01\smoke.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/smoke.json.php', + 'Aws\data\glacier\2012-06-01\waiters-2.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/waiters-2.json.php', + 'Aws\data\glacier\2012-06-01\paginators-1.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/paginators-1.json.php', + 'Aws\data\glacier\2012-06-01\waiters-1.json' => __DIR__ . '/Aws/data/glacier/2012-06-01/waiters-1.json.php', + 'Aws\data\license-manager\2018-08-01\api-2.json' => __DIR__ . '/Aws/data/license-manager/2018-08-01/api-2.json.php', + 'Aws\data\license-manager\2018-08-01\paginators-1.json' => __DIR__ . '/Aws/data/license-manager/2018-08-01/paginators-1.json.php', + 'Aws\data\ram\2018-01-04\api-2.json' => __DIR__ . '/Aws/data/ram/2018-01-04/api-2.json.php', + 'Aws\data\ram\2018-01-04\paginators-1.json' => __DIR__ . '/Aws/data/ram/2018-01-04/paginators-1.json.php', + 'Aws\data\streams.dynamodb\2012-08-10\api-2.json' => __DIR__ . '/Aws/data/streams.dynamodb/2012-08-10/api-2.json.php', + 'Aws\data\streams.dynamodb\2012-08-10\paginators-1.json' => __DIR__ . '/Aws/data/streams.dynamodb/2012-08-10/paginators-1.json.php', + 'Aws\data\elasticfilesystem\2015-02-01\api-2.json' => __DIR__ . '/Aws/data/elasticfilesystem/2015-02-01/api-2.json.php', + 'Aws\data\elasticfilesystem\2015-02-01\smoke.json' => __DIR__ . '/Aws/data/elasticfilesystem/2015-02-01/smoke.json.php', + 'Aws\data\elasticfilesystem\2015-02-01\paginators-1.json' => __DIR__ . '/Aws/data/elasticfilesystem/2015-02-01/paginators-1.json.php', + 'Aws\data\datasync\2018-11-09\api-2.json' => __DIR__ . '/Aws/data/datasync/2018-11-09/api-2.json.php', + 'Aws\data\datasync\2018-11-09\paginators-1.json' => __DIR__ . '/Aws/data/datasync/2018-11-09/paginators-1.json.php', + 'Aws\data\swf\2012-01-25\api-2.json' => __DIR__ . '/Aws/data/swf/2012-01-25/api-2.json.php', + 'Aws\data\swf\2012-01-25\paginators-1.json' => __DIR__ . '/Aws/data/swf/2012-01-25/paginators-1.json.php', + 'Aws\data\elasticloadbalancing\2012-06-01\api-2.json' => __DIR__ . '/Aws/data/elasticloadbalancing/2012-06-01/api-2.json.php', + 'Aws\data\elasticloadbalancing\2012-06-01\smoke.json' => __DIR__ . '/Aws/data/elasticloadbalancing/2012-06-01/smoke.json.php', + 'Aws\data\elasticloadbalancing\2012-06-01\waiters-2.json' => __DIR__ . '/Aws/data/elasticloadbalancing/2012-06-01/waiters-2.json.php', + 'Aws\data\elasticloadbalancing\2012-06-01\paginators-1.json' => __DIR__ . '/Aws/data/elasticloadbalancing/2012-06-01/paginators-1.json.php', + 'Aws\data\lex-models\2017-04-19\api-2.json' => __DIR__ . '/Aws/data/lex-models/2017-04-19/api-2.json.php', + 'Aws\data\lex-models\2017-04-19\paginators-1.json' => __DIR__ . '/Aws/data/lex-models/2017-04-19/paginators-1.json.php', + 'Aws\data\kms\2014-11-01\api-2.json' => __DIR__ . '/Aws/data/kms/2014-11-01/api-2.json.php', + 'Aws\data\kms\2014-11-01\smoke.json' => __DIR__ . '/Aws/data/kms/2014-11-01/smoke.json.php', + 'Aws\data\kms\2014-11-01\paginators-1.json' => __DIR__ . '/Aws/data/kms/2014-11-01/paginators-1.json.php', + 'Aws\data\amplify\2017-07-25\api-2.json' => __DIR__ . '/Aws/data/amplify/2017-07-25/api-2.json.php', + 'Aws\data\amplify\2017-07-25\paginators-1.json' => __DIR__ . '/Aws/data/amplify/2017-07-25/paginators-1.json.php', + 'Aws\data\polly\2016-06-10\api-2.json' => __DIR__ . '/Aws/data/polly/2016-06-10/api-2.json.php', + 'Aws\data\polly\2016-06-10\smoke.json' => __DIR__ . '/Aws/data/polly/2016-06-10/smoke.json.php', + 'Aws\data\polly\2016-06-10\paginators-1.json' => __DIR__ . '/Aws/data/polly/2016-06-10/paginators-1.json.php', + 'Aws\data\kinesis-video-archived-media\2017-09-30\api-2.json' => __DIR__ . '/Aws/data/kinesis-video-archived-media/2017-09-30/api-2.json.php', + 'Aws\data\kinesis-video-archived-media\2017-09-30\paginators-1.json' => __DIR__ . '/Aws/data/kinesis-video-archived-media/2017-09-30/paginators-1.json.php', + 'Aws\data\endpoints.json' => __DIR__ . '/Aws/data/endpoints.json.php', + 'Aws\data\clouddirectory\2016-05-10\api-2.json' => __DIR__ . '/Aws/data/clouddirectory/2016-05-10/api-2.json.php', + 'Aws\data\clouddirectory\2016-05-10\paginators-1.json' => __DIR__ . '/Aws/data/clouddirectory/2016-05-10/paginators-1.json.php', + 'Aws\data\clouddirectory\2017-01-11\api-2.json' => __DIR__ . '/Aws/data/clouddirectory/2017-01-11/api-2.json.php', + 'Aws\data\clouddirectory\2017-01-11\paginators-1.json' => __DIR__ . '/Aws/data/clouddirectory/2017-01-11/paginators-1.json.php', + 'Aws\data\eks\2017-11-01\api-2.json' => __DIR__ . '/Aws/data/eks/2017-11-01/api-2.json.php', + 'Aws\data\eks\2017-11-01\waiters-2.json' => __DIR__ . '/Aws/data/eks/2017-11-01/waiters-2.json.php', + 'Aws\data\eks\2017-11-01\paginators-1.json' => __DIR__ . '/Aws/data/eks/2017-11-01/paginators-1.json.php', + 'Aws\data\ds\2015-04-16\api-2.json' => __DIR__ . '/Aws/data/ds/2015-04-16/api-2.json.php', + 'Aws\data\ds\2015-04-16\smoke.json' => __DIR__ . '/Aws/data/ds/2015-04-16/smoke.json.php', + 'Aws\data\ds\2015-04-16\paginators-1.json' => __DIR__ . '/Aws/data/ds/2015-04-16/paginators-1.json.php', + 'Aws\data\quicksight\2018-04-01\api-2.json' => __DIR__ . '/Aws/data/quicksight/2018-04-01/api-2.json.php', + 'Aws\data\quicksight\2018-04-01\paginators-1.json' => __DIR__ . '/Aws/data/quicksight/2018-04-01/paginators-1.json.php', + 'Aws\data\cloudsearchdomain\2013-01-01\api-2.json' => __DIR__ . '/Aws/data/cloudsearchdomain/2013-01-01/api-2.json.php', + 'Aws\data\serverlessrepo\2017-09-08\api-2.json' => __DIR__ . '/Aws/data/serverlessrepo/2017-09-08/api-2.json.php', + 'Aws\data\serverlessrepo\2017-09-08\paginators-1.json' => __DIR__ . '/Aws/data/serverlessrepo/2017-09-08/paginators-1.json.php', + 'Aws\data\fsx\2018-03-01\api-2.json' => __DIR__ . '/Aws/data/fsx/2018-03-01/api-2.json.php', + 'Aws\data\fsx\2018-03-01\paginators-1.json' => __DIR__ . '/Aws/data/fsx/2018-03-01/paginators-1.json.php', + 'Aws\data\snowball\2016-06-30\api-2.json' => __DIR__ . '/Aws/data/snowball/2016-06-30/api-2.json.php', + 'Aws\data\snowball\2016-06-30\smoke.json' => __DIR__ . '/Aws/data/snowball/2016-06-30/smoke.json.php', + 'Aws\data\snowball\2016-06-30\paginators-1.json' => __DIR__ . '/Aws/data/snowball/2016-06-30/paginators-1.json.php', + 'Aws\data\iot1click-devices\2018-05-14\api-2.json' => __DIR__ . '/Aws/data/iot1click-devices/2018-05-14/api-2.json.php', + 'Aws\data\acm\2015-12-08\api-2.json' => __DIR__ . '/Aws/data/acm/2015-12-08/api-2.json.php', + 'Aws\data\acm\2015-12-08\smoke.json' => __DIR__ . '/Aws/data/acm/2015-12-08/smoke.json.php', + 'Aws\data\acm\2015-12-08\waiters-2.json' => __DIR__ . '/Aws/data/acm/2015-12-08/waiters-2.json.php', + 'Aws\data\acm\2015-12-08\paginators-1.json' => __DIR__ . '/Aws/data/acm/2015-12-08/paginators-1.json.php', + 'Aws\data\codestar\2017-04-19\api-2.json' => __DIR__ . '/Aws/data/codestar/2017-04-19/api-2.json.php', + 'Aws\data\codestar\2017-04-19\smoke.json' => __DIR__ . '/Aws/data/codestar/2017-04-19/smoke.json.php', + 'Aws\data\codestar\2017-04-19\paginators-1.json' => __DIR__ . '/Aws/data/codestar/2017-04-19/paginators-1.json.php', + 'Aws\data\rekognition\2016-06-27\api-2.json' => __DIR__ . '/Aws/data/rekognition/2016-06-27/api-2.json.php', + 'Aws\data\rekognition\2016-06-27\smoke.json' => __DIR__ . '/Aws/data/rekognition/2016-06-27/smoke.json.php', + 'Aws\data\rekognition\2016-06-27\paginators-1.json' => __DIR__ . '/Aws/data/rekognition/2016-06-27/paginators-1.json.php', + 'Aws\data\runtime.sagemaker\2017-05-13\api-2.json' => __DIR__ . '/Aws/data/runtime.sagemaker/2017-05-13/api-2.json.php', + 'Aws\data\runtime.sagemaker\2017-05-13\paginators-1.json' => __DIR__ . '/Aws/data/runtime.sagemaker/2017-05-13/paginators-1.json.php', + 'Aws\data\sns\2010-03-31\api-2.json' => __DIR__ . '/Aws/data/sns/2010-03-31/api-2.json.php', + 'Aws\data\sns\2010-03-31\smoke.json' => __DIR__ . '/Aws/data/sns/2010-03-31/smoke.json.php', + 'Aws\data\sns\2010-03-31\paginators-1.json' => __DIR__ . '/Aws/data/sns/2010-03-31/paginators-1.json.php', + 'Aws\data\redshift\2012-12-01\api-2.json' => __DIR__ . '/Aws/data/redshift/2012-12-01/api-2.json.php', + 'Aws\data\redshift\2012-12-01\smoke.json' => __DIR__ . '/Aws/data/redshift/2012-12-01/smoke.json.php', + 'Aws\data\redshift\2012-12-01\waiters-2.json' => __DIR__ . '/Aws/data/redshift/2012-12-01/waiters-2.json.php', + 'Aws\data\redshift\2012-12-01\paginators-1.json' => __DIR__ . '/Aws/data/redshift/2012-12-01/paginators-1.json.php', + 'Aws\data\redshift\2012-12-01\waiters-1.json' => __DIR__ . '/Aws/data/redshift/2012-12-01/waiters-1.json.php', + 'Aws\data\states\2016-11-23\api-2.json' => __DIR__ . '/Aws/data/states/2016-11-23/api-2.json.php', + 'Aws\data\states\2016-11-23\smoke.json' => __DIR__ . '/Aws/data/states/2016-11-23/smoke.json.php', + 'Aws\data\states\2016-11-23\paginators-1.json' => __DIR__ . '/Aws/data/states/2016-11-23/paginators-1.json.php', + 'Aws\data\sms\2016-10-24\api-2.json' => __DIR__ . '/Aws/data/sms/2016-10-24/api-2.json.php', + 'Aws\data\sms\2016-10-24\smoke.json' => __DIR__ . '/Aws/data/sms/2016-10-24/smoke.json.php', + 'Aws\data\sms\2016-10-24\paginators-1.json' => __DIR__ . '/Aws/data/sms/2016-10-24/paginators-1.json.php', + 'Aws\data\kinesis-video-media\2017-09-30\api-2.json' => __DIR__ . '/Aws/data/kinesis-video-media/2017-09-30/api-2.json.php', + 'Aws\data\kinesis-video-media\2017-09-30\paginators-1.json' => __DIR__ . '/Aws/data/kinesis-video-media/2017-09-30/paginators-1.json.php', + 'Aws\data\codepipeline\2015-07-09\api-2.json' => __DIR__ . '/Aws/data/codepipeline/2015-07-09/api-2.json.php', + 'Aws\data\codepipeline\2015-07-09\smoke.json' => __DIR__ . '/Aws/data/codepipeline/2015-07-09/smoke.json.php', + 'Aws\data\codepipeline\2015-07-09\paginators-1.json' => __DIR__ . '/Aws/data/codepipeline/2015-07-09/paginators-1.json.php', + 'Aws\data\cloudhsm\2014-05-30\api-2.json' => __DIR__ . '/Aws/data/cloudhsm/2014-05-30/api-2.json.php', + 'Aws\data\cloudhsm\2014-05-30\paginators-1.json' => __DIR__ . '/Aws/data/cloudhsm/2014-05-30/paginators-1.json.php', + 'Aws\data\opsworks\2013-02-18\api-2.json' => __DIR__ . '/Aws/data/opsworks/2013-02-18/api-2.json.php', + 'Aws\data\opsworks\2013-02-18\smoke.json' => __DIR__ . '/Aws/data/opsworks/2013-02-18/smoke.json.php', + 'Aws\data\opsworks\2013-02-18\waiters-2.json' => __DIR__ . '/Aws/data/opsworks/2013-02-18/waiters-2.json.php', + 'Aws\data\opsworks\2013-02-18\paginators-1.json' => __DIR__ . '/Aws/data/opsworks/2013-02-18/paginators-1.json.php', + 'Aws\data\cloudhsmv2\2017-04-28\api-2.json' => __DIR__ . '/Aws/data/cloudhsmv2/2017-04-28/api-2.json.php', + 'Aws\data\cloudhsmv2\2017-04-28\smoke.json' => __DIR__ . '/Aws/data/cloudhsmv2/2017-04-28/smoke.json.php', + 'Aws\data\cloudhsmv2\2017-04-28\paginators-1.json' => __DIR__ . '/Aws/data/cloudhsmv2/2017-04-28/paginators-1.json.php', + 'Aws\data\mediapackage\2017-10-12\api-2.json' => __DIR__ . '/Aws/data/mediapackage/2017-10-12/api-2.json.php', + 'Aws\data\mediapackage\2017-10-12\paginators-1.json' => __DIR__ . '/Aws/data/mediapackage/2017-10-12/paginators-1.json.php', + 'Aws\data\cognito-identity\2014-06-30\api-2.json' => __DIR__ . '/Aws/data/cognito-identity/2014-06-30/api-2.json.php', + 'Aws\data\cognito-identity\2014-06-30\paginators-1.json' => __DIR__ . '/Aws/data/cognito-identity/2014-06-30/paginators-1.json.php', + 'Aws\data\waf\2015-08-24\api-2.json' => __DIR__ . '/Aws/data/waf/2015-08-24/api-2.json.php', + 'Aws\data\waf\2015-08-24\smoke.json' => __DIR__ . '/Aws/data/waf/2015-08-24/smoke.json.php', + 'Aws\data\waf\2015-08-24\paginators-1.json' => __DIR__ . '/Aws/data/waf/2015-08-24/paginators-1.json.php', + 'Aws\data\mediatailor\2018-04-23\api-2.json' => __DIR__ . '/Aws/data/mediatailor/2018-04-23/api-2.json.php', + 'Aws\data\mediatailor\2018-04-23\paginators-1.json' => __DIR__ . '/Aws/data/mediatailor/2018-04-23/paginators-1.json.php', + 'Aws\data\appsync\2017-07-25\api-2.json' => __DIR__ . '/Aws/data/appsync/2017-07-25/api-2.json.php', + 'Aws\data\appsync\2017-07-25\paginators-1.json' => __DIR__ . '/Aws/data/appsync/2017-07-25/paginators-1.json.php', + 'Aws\data\cloudfront\2016-08-01\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-01/api-2.json.php', + 'Aws\data\cloudfront\2016-08-01\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-01/waiters-2.json.php', + 'Aws\data\cloudfront\2016-08-01\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-01/paginators-1.json.php', + 'Aws\data\cloudfront\2015-07-27\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2015-07-27/api-2.json.php', + 'Aws\data\cloudfront\2015-07-27\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2015-07-27/waiters-2.json.php', + 'Aws\data\cloudfront\2015-07-27\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2015-07-27/paginators-1.json.php', + 'Aws\data\cloudfront\2016-08-20\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-20/api-2.json.php', + 'Aws\data\cloudfront\2016-08-20\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-20/waiters-2.json.php', + 'Aws\data\cloudfront\2016-08-20\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-08-20/paginators-1.json.php', + 'Aws\data\cloudfront\2018-06-18\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2018-06-18/api-2.json.php', + 'Aws\data\cloudfront\2018-06-18\smoke.json' => __DIR__ . '/Aws/data/cloudfront/2018-06-18/smoke.json.php', + 'Aws\data\cloudfront\2018-06-18\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2018-06-18/waiters-2.json.php', + 'Aws\data\cloudfront\2018-06-18\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2018-06-18/paginators-1.json.php', + 'Aws\data\cloudfront\2018-06-18\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2018-06-18/waiters-1.json.php', + 'Aws\data\cloudfront\2017-03-25\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2017-03-25/api-2.json.php', + 'Aws\data\cloudfront\2017-03-25\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2017-03-25/waiters-2.json.php', + 'Aws\data\cloudfront\2017-03-25\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2017-03-25/paginators-1.json.php', + 'Aws\data\cloudfront\2017-03-25\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2017-03-25/waiters-1.json.php', + 'Aws\data\cloudfront\2018-11-05\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2018-11-05/api-2.json.php', + 'Aws\data\cloudfront\2018-11-05\smoke.json' => __DIR__ . '/Aws/data/cloudfront/2018-11-05/smoke.json.php', + 'Aws\data\cloudfront\2018-11-05\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2018-11-05/waiters-2.json.php', + 'Aws\data\cloudfront\2018-11-05\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2018-11-05/paginators-1.json.php', + 'Aws\data\cloudfront\2018-11-05\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2018-11-05/waiters-1.json.php', + 'Aws\data\cloudfront\2017-10-30\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2017-10-30/api-2.json.php', + 'Aws\data\cloudfront\2017-10-30\smoke.json' => __DIR__ . '/Aws/data/cloudfront/2017-10-30/smoke.json.php', + 'Aws\data\cloudfront\2017-10-30\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2017-10-30/waiters-2.json.php', + 'Aws\data\cloudfront\2017-10-30\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2017-10-30/paginators-1.json.php', + 'Aws\data\cloudfront\2017-10-30\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2017-10-30/waiters-1.json.php', + 'Aws\data\cloudfront\2016-09-07\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-07/api-2.json.php', + 'Aws\data\cloudfront\2016-09-07\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-07/waiters-2.json.php', + 'Aws\data\cloudfront\2016-09-07\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-07/paginators-1.json.php', + 'Aws\data\cloudfront\2016-09-07\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-07/waiters-1.json.php', + 'Aws\data\cloudfront\2016-09-29\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-29/api-2.json.php', + 'Aws\data\cloudfront\2016-09-29\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-29/waiters-2.json.php', + 'Aws\data\cloudfront\2016-09-29\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-29/paginators-1.json.php', + 'Aws\data\cloudfront\2016-09-29\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-09-29/waiters-1.json.php', + 'Aws\data\cloudfront\2016-11-25\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-11-25/api-2.json.php', + 'Aws\data\cloudfront\2016-11-25\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-11-25/waiters-2.json.php', + 'Aws\data\cloudfront\2016-11-25\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-11-25/paginators-1.json.php', + 'Aws\data\cloudfront\2016-11-25\waiters-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-11-25/waiters-1.json.php', + 'Aws\data\cloudfront\2016-01-28\api-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-01-28/api-2.json.php', + 'Aws\data\cloudfront\2016-01-28\waiters-2.json' => __DIR__ . '/Aws/data/cloudfront/2016-01-28/waiters-2.json.php', + 'Aws\data\cloudfront\2016-01-28\paginators-1.json' => __DIR__ . '/Aws/data/cloudfront/2016-01-28/paginators-1.json.php', + 'Aws\data\servicediscovery\2017-03-14\api-2.json' => __DIR__ . '/Aws/data/servicediscovery/2017-03-14/api-2.json.php', + 'Aws\data\servicediscovery\2017-03-14\paginators-1.json' => __DIR__ . '/Aws/data/servicediscovery/2017-03-14/paginators-1.json.php', + 'Aws\data\sms-voice\2018-09-05\api-2.json' => __DIR__ . '/Aws/data/sms-voice/2018-09-05/api-2.json.php', + 'Aws\data\config\2014-11-12\api-2.json' => __DIR__ . '/Aws/data/config/2014-11-12/api-2.json.php', + 'Aws\data\config\2014-11-12\smoke.json' => __DIR__ . '/Aws/data/config/2014-11-12/smoke.json.php', + 'Aws\data\config\2014-11-12\paginators-1.json' => __DIR__ . '/Aws/data/config/2014-11-12/paginators-1.json.php', + 'Aws\data\globalaccelerator\2018-08-08\api-2.json' => __DIR__ . '/Aws/data/globalaccelerator/2018-08-08/api-2.json.php', + 'Aws\data\globalaccelerator\2018-08-08\paginators-1.json' => __DIR__ . '/Aws/data/globalaccelerator/2018-08-08/paginators-1.json.php', + 'Aws\data\sqs\2012-11-05\api-2.json' => __DIR__ . '/Aws/data/sqs/2012-11-05/api-2.json.php', + 'Aws\data\sqs\2012-11-05\smoke.json' => __DIR__ . '/Aws/data/sqs/2012-11-05/smoke.json.php', + 'Aws\data\sqs\2012-11-05\waiters-2.json' => __DIR__ . '/Aws/data/sqs/2012-11-05/waiters-2.json.php', + 'Aws\data\sqs\2012-11-05\paginators-1.json' => __DIR__ . '/Aws/data/sqs/2012-11-05/paginators-1.json.php', + 'Aws\data\fms\2018-01-01\api-2.json' => __DIR__ . '/Aws/data/fms/2018-01-01/api-2.json.php', + 'Aws\data\fms\2018-01-01\paginators-1.json' => __DIR__ . '/Aws/data/fms/2018-01-01/paginators-1.json.php', + 'Aws\data\s3control\2018-08-20\api-2.json' => __DIR__ . '/Aws/data/s3control/2018-08-20/api-2.json.php', + 'Aws\data\s3control\2018-08-20\paginators-1.json' => __DIR__ . '/Aws/data/s3control/2018-08-20/paginators-1.json.php', + 'Aws\Route53Resolver\Route53ResolverClient' => __DIR__ . '/Aws/Route53Resolver/Route53ResolverClient.php', + 'Aws\Route53Resolver\Exception\Route53ResolverException' => __DIR__ . '/Aws/Route53Resolver/Exception/Route53ResolverException.php', + 'Aws\DeviceFarm\DeviceFarmClient' => __DIR__ . '/Aws/DeviceFarm/DeviceFarmClient.php', + 'Aws\DeviceFarm\Exception\DeviceFarmException' => __DIR__ . '/Aws/DeviceFarm/Exception/DeviceFarmException.php', + 'Aws\Api\Shape' => __DIR__ . '/Aws/Api/Shape.php', + 'Aws\Api\TimestampShape' => __DIR__ . '/Aws/Api/TimestampShape.php', + 'Aws\Api\ApiProvider' => __DIR__ . '/Aws/Api/ApiProvider.php', + 'Aws\Api\AbstractModel' => __DIR__ . '/Aws/Api/AbstractModel.php', + 'Aws\Api\Parser\PayloadParserTrait' => __DIR__ . '/Aws/Api/Parser/PayloadParserTrait.php', + 'Aws\Api\Parser\DecodingEventStreamIterator' => __DIR__ . '/Aws/Api/Parser/DecodingEventStreamIterator.php', + 'Aws\Api\Parser\JsonRpcParser' => __DIR__ . '/Aws/Api/Parser/JsonRpcParser.php', + 'Aws\Api\Parser\AbstractParser' => __DIR__ . '/Aws/Api/Parser/AbstractParser.php', + 'Aws\Api\Parser\RestJsonParser' => __DIR__ . '/Aws/Api/Parser/RestJsonParser.php', + 'Aws\Api\Parser\QueryParser' => __DIR__ . '/Aws/Api/Parser/QueryParser.php', + 'Aws\Api\Parser\XmlParser' => __DIR__ . '/Aws/Api/Parser/XmlParser.php', + 'Aws\Api\Parser\Exception\ParserException' => __DIR__ . '/Aws/Api/Parser/Exception/ParserException.php', + 'Aws\Api\Parser\AbstractRestParser' => __DIR__ . '/Aws/Api/Parser/AbstractRestParser.php', + 'Aws\Api\Parser\JsonParser' => __DIR__ . '/Aws/Api/Parser/JsonParser.php', + 'Aws\Api\Parser\EventParsingIterator' => __DIR__ . '/Aws/Api/Parser/EventParsingIterator.php', + 'Aws\Api\Parser\Crc32ValidatingParser' => __DIR__ . '/Aws/Api/Parser/Crc32ValidatingParser.php', + 'Aws\Api\Parser\RestXmlParser' => __DIR__ . '/Aws/Api/Parser/RestXmlParser.php', + 'Aws\Api\MapShape' => __DIR__ . '/Aws/Api/MapShape.php', + 'Aws\Api\Validator' => __DIR__ . '/Aws/Api/Validator.php', + 'Aws\Api\ShapeMap' => __DIR__ . '/Aws/Api/ShapeMap.php', + 'Aws\Api\DateTimeResult' => __DIR__ . '/Aws/Api/DateTimeResult.php', + 'Aws\Api\Serializer\RestSerializer' => __DIR__ . '/Aws/Api/Serializer/RestSerializer.php', + 'Aws\Api\Serializer\JsonBody' => __DIR__ . '/Aws/Api/Serializer/JsonBody.php', + 'Aws\Api\Serializer\QuerySerializer' => __DIR__ . '/Aws/Api/Serializer/QuerySerializer.php', + 'Aws\Api\Serializer\RestXmlSerializer' => __DIR__ . '/Aws/Api/Serializer/RestXmlSerializer.php', + 'Aws\Api\Serializer\JsonRpcSerializer' => __DIR__ . '/Aws/Api/Serializer/JsonRpcSerializer.php', + 'Aws\Api\Serializer\XmlBody' => __DIR__ . '/Aws/Api/Serializer/XmlBody.php', + 'Aws\Api\Serializer\QueryParamBuilder' => __DIR__ . '/Aws/Api/Serializer/QueryParamBuilder.php', + 'Aws\Api\Serializer\Ec2ParamBuilder' => __DIR__ . '/Aws/Api/Serializer/Ec2ParamBuilder.php', + 'Aws\Api\Serializer\RestJsonSerializer' => __DIR__ . '/Aws/Api/Serializer/RestJsonSerializer.php', + 'Aws\Api\Service' => __DIR__ . '/Aws/Api/Service.php', + 'Aws\Api\StructureShape' => __DIR__ . '/Aws/Api/StructureShape.php', + 'Aws\Api\Operation' => __DIR__ . '/Aws/Api/Operation.php', + 'Aws\Api\ErrorParser\XmlErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/XmlErrorParser.php', + 'Aws\Api\ErrorParser\JsonParserTrait' => __DIR__ . '/Aws/Api/ErrorParser/JsonParserTrait.php', + 'Aws\Api\ErrorParser\JsonRpcErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/JsonRpcErrorParser.php', + 'Aws\Api\ErrorParser\RestJsonErrorParser' => __DIR__ . '/Aws/Api/ErrorParser/RestJsonErrorParser.php', + 'Aws\Api\ListShape' => __DIR__ . '/Aws/Api/ListShape.php', + 'Aws\Api\DocModel' => __DIR__ . '/Aws/Api/DocModel.php', + 'Aws\MediaConnect\Exception\MediaConnectException' => __DIR__ . '/Aws/MediaConnect/Exception/MediaConnectException.php', + 'Aws\MediaConnect\MediaConnectClient' => __DIR__ . '/Aws/MediaConnect/MediaConnectClient.php', + 'Aws\MediaStore\MediaStoreClient' => __DIR__ . '/Aws/MediaStore/MediaStoreClient.php', + 'Aws\MediaStore\Exception\MediaStoreException' => __DIR__ . '/Aws/MediaStore/Exception/MediaStoreException.php', + 'Aws\QuickSight\QuickSightClient' => __DIR__ . '/Aws/QuickSight/QuickSightClient.php', + 'Aws\QuickSight\Exception\QuickSightException' => __DIR__ . '/Aws/QuickSight/Exception/QuickSightException.php', + 'Aws\S3Control\S3ControlEndpointMiddleware' => __DIR__ . '/Aws/S3Control/S3ControlEndpointMiddleware.php', + 'Aws\S3Control\Exception\S3ControlException' => __DIR__ . '/Aws/S3Control/Exception/S3ControlException.php', + 'Aws\S3Control\S3ControlClient' => __DIR__ . '/Aws/S3Control/S3ControlClient.php', + 'Aws\AwsClientInterface' => __DIR__ . '/Aws/AwsClientInterface.php', + 'Aws\IoTJobsDataPlane\IoTJobsDataPlaneClient' => __DIR__ . '/Aws/IoTJobsDataPlane/IoTJobsDataPlaneClient.php', + 'Aws\IoTJobsDataPlane\Exception\IoTJobsDataPlaneException' => __DIR__ . '/Aws/IoTJobsDataPlane/Exception/IoTJobsDataPlaneException.php', + 'Aws\Sms\SmsClient' => __DIR__ . '/Aws/Sms/SmsClient.php', + 'Aws\Sms\Exception\SmsException' => __DIR__ . '/Aws/Sms/Exception/SmsException.php', + 'Aws\RetryMiddleware' => __DIR__ . '/Aws/RetryMiddleware.php', + 'Aws\ElasticLoadBalancingV2\Exception\ElasticLoadBalancingV2Exception' => __DIR__ . '/Aws/ElasticLoadBalancingV2/Exception/ElasticLoadBalancingV2Exception.php', + 'Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client' => __DIR__ . '/Aws/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php', + 'Aws\CloudHSMV2\CloudHSMV2Client' => __DIR__ . '/Aws/CloudHSMV2/CloudHSMV2Client.php', + 'Aws\CloudHSMV2\Exception\CloudHSMV2Exception' => __DIR__ . '/Aws/CloudHSMV2/Exception/CloudHSMV2Exception.php', + 'Aws\DataPipeline\Exception\DataPipelineException' => __DIR__ . '/Aws/DataPipeline/Exception/DataPipelineException.php', + 'Aws\DataPipeline\DataPipelineClient' => __DIR__ . '/Aws/DataPipeline/DataPipelineClient.php', + 'Aws\ServiceCatalog\ServiceCatalogClient' => __DIR__ . '/Aws/ServiceCatalog/ServiceCatalogClient.php', + 'Aws\ServiceCatalog\Exception\ServiceCatalogException' => __DIR__ . '/Aws/ServiceCatalog/Exception/ServiceCatalogException.php', + 'Aws\ElasticTranscoder\ElasticTranscoderClient' => __DIR__ . '/Aws/ElasticTranscoder/ElasticTranscoderClient.php', + 'Aws\ElasticTranscoder\Exception\ElasticTranscoderException' => __DIR__ . '/Aws/ElasticTranscoder/Exception/ElasticTranscoderException.php', + 'Aws\Acm\Exception\AcmException' => __DIR__ . '/Aws/Acm/Exception/AcmException.php', + 'Aws\Acm\AcmClient' => __DIR__ . '/Aws/Acm/AcmClient.php', + 'Aws\MediaStoreData\MediaStoreDataClient' => __DIR__ . '/Aws/MediaStoreData/MediaStoreDataClient.php', + 'Aws\MediaStoreData\Exception\MediaStoreDataException' => __DIR__ . '/Aws/MediaStoreData/Exception/MediaStoreDataException.php', + 'Aws\Appstream\Exception\AppstreamException' => __DIR__ . '/Aws/Appstream/Exception/AppstreamException.php', + 'Aws\Appstream\AppstreamClient' => __DIR__ . '/Aws/Appstream/AppstreamClient.php', + 'Aws\Neptune\NeptuneClient' => __DIR__ . '/Aws/Neptune/NeptuneClient.php', + 'Aws\Neptune\Exception\NeptuneException' => __DIR__ . '/Aws/Neptune/Exception/NeptuneException.php', + 'Aws\PsrCacheAdapter' => __DIR__ . '/Aws/PsrCacheAdapter.php', + 'Aws\MediaConvert\MediaConvertClient' => __DIR__ . '/Aws/MediaConvert/MediaConvertClient.php', + 'Aws\MediaConvert\Exception\MediaConvertException' => __DIR__ . '/Aws/MediaConvert/Exception/MediaConvertException.php', + 'Aws\Chime\ChimeClient' => __DIR__ . '/Aws/Chime/ChimeClient.php', + 'Aws\Chime\Exception\ChimeException' => __DIR__ . '/Aws/Chime/Exception/ChimeException.php', + 'Aws\Ecr\EcrClient' => __DIR__ . '/Aws/Ecr/EcrClient.php', + 'Aws\Ecr\Exception\EcrException' => __DIR__ . '/Aws/Ecr/Exception/EcrException.php', + 'Aws\ApiGatewayV2\ApiGatewayV2Client' => __DIR__ . '/Aws/ApiGatewayV2/ApiGatewayV2Client.php', + 'Aws\ApiGatewayV2\Exception\ApiGatewayV2Exception' => __DIR__ . '/Aws/ApiGatewayV2/Exception/ApiGatewayV2Exception.php', + 'Aws\EndpointDiscovery\Configuration' => __DIR__ . '/Aws/EndpointDiscovery/Configuration.php', + 'Aws\EndpointDiscovery\Exception\ConfigurationException' => __DIR__ . '/Aws/EndpointDiscovery/Exception/ConfigurationException.php', + 'Aws\EndpointDiscovery\ConfigurationProvider' => __DIR__ . '/Aws/EndpointDiscovery/ConfigurationProvider.php', + 'Aws\EndpointDiscovery\EndpointDiscoveryMiddleware' => __DIR__ . '/Aws/EndpointDiscovery/EndpointDiscoveryMiddleware.php', + 'Aws\EndpointDiscovery\EndpointList' => __DIR__ . '/Aws/EndpointDiscovery/EndpointList.php', + 'Aws\EndpointDiscovery\ConfigurationInterface' => __DIR__ . '/Aws/EndpointDiscovery/ConfigurationInterface.php', + 'Aws\LruArrayCache' => __DIR__ . '/Aws/LruArrayCache.php', + 'Aws\MonitoringEventsInterface' => __DIR__ . '/Aws/MonitoringEventsInterface.php', + 'Aws\CloudSearchDomain\CloudSearchDomainClient' => __DIR__ . '/Aws/CloudSearchDomain/CloudSearchDomainClient.php', + 'Aws\CloudSearchDomain\Exception\CloudSearchDomainException' => __DIR__ . '/Aws/CloudSearchDomain/Exception/CloudSearchDomainException.php', + 'Aws\Redshift\Exception\RedshiftException' => __DIR__ . '/Aws/Redshift/Exception/RedshiftException.php', + 'Aws\Redshift\RedshiftClient' => __DIR__ . '/Aws/Redshift/RedshiftClient.php', + 'Aws\Handler\GuzzleV6\GuzzleHandler' => __DIR__ . '/Aws/Handler/GuzzleV6/GuzzleHandler.php', + 'Aws\Handler\GuzzleV5\PsrStream' => __DIR__ . '/Aws/Handler/GuzzleV5/PsrStream.php', + 'Aws\Handler\GuzzleV5\GuzzleHandler' => __DIR__ . '/Aws/Handler/GuzzleV5/GuzzleHandler.php', + 'Aws\Handler\GuzzleV5\GuzzleStream' => __DIR__ . '/Aws/Handler/GuzzleV5/GuzzleStream.php', + 'Aws\MigrationHub\Exception\MigrationHubException' => __DIR__ . '/Aws/MigrationHub/Exception/MigrationHubException.php', + 'Aws\MigrationHub\MigrationHubClient' => __DIR__ . '/Aws/MigrationHub/MigrationHubClient.php', + 'Aws\KinesisAnalyticsV2\KinesisAnalyticsV2Client' => __DIR__ . '/Aws/KinesisAnalyticsV2/KinesisAnalyticsV2Client.php', + 'Aws\KinesisAnalyticsV2\Exception\KinesisAnalyticsV2Exception' => __DIR__ . '/Aws/KinesisAnalyticsV2/Exception/KinesisAnalyticsV2Exception.php', + 'Aws\Health\HealthClient' => __DIR__ . '/Aws/Health/HealthClient.php', + 'Aws\Health\Exception\HealthException' => __DIR__ . '/Aws/Health/Exception/HealthException.php', + 'Aws\Budgets\BudgetsClient' => __DIR__ . '/Aws/Budgets/BudgetsClient.php', + 'Aws\Budgets\Exception\BudgetsException' => __DIR__ . '/Aws/Budgets/Exception/BudgetsException.php', + 'Aws\MarketplaceCommerceAnalytics\MarketplaceCommerceAnalyticsClient' => __DIR__ . '/Aws/MarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.php', + 'Aws\MarketplaceCommerceAnalytics\Exception\MarketplaceCommerceAnalyticsException' => __DIR__ . '/Aws/MarketplaceCommerceAnalytics/Exception/MarketplaceCommerceAnalyticsException.php', + 'Aws\ElastiCache\ElastiCacheClient' => __DIR__ . '/Aws/ElastiCache/ElastiCacheClient.php', + 'Aws\ElastiCache\Exception\ElastiCacheException' => __DIR__ . '/Aws/ElastiCache/Exception/ElastiCacheException.php', + 'Aws\DataSync\DataSyncClient' => __DIR__ . '/Aws/DataSync/DataSyncClient.php', + 'Aws\DataSync\Exception\DataSyncException' => __DIR__ . '/Aws/DataSync/Exception/DataSyncException.php', + 'Aws\HashingStream' => __DIR__ . '/Aws/HashingStream.php', + 'Aws\AppSync\Exception\AppSyncException' => __DIR__ . '/Aws/AppSync/Exception/AppSyncException.php', + 'Aws\AppSync\AppSyncClient' => __DIR__ . '/Aws/AppSync/AppSyncClient.php', + 'Aws\Amplify\Exception\AmplifyException' => __DIR__ . '/Aws/Amplify/Exception/AmplifyException.php', + 'Aws\Amplify\AmplifyClient' => __DIR__ . '/Aws/Amplify/AmplifyClient.php', + 'Aws\CloudFormation\CloudFormationClient' => __DIR__ . '/Aws/CloudFormation/CloudFormationClient.php', + 'Aws\CloudFormation\Exception\CloudFormationException' => __DIR__ . '/Aws/CloudFormation/Exception/CloudFormationException.php', + 'Aws\Efs\EfsClient' => __DIR__ . '/Aws/Efs/EfsClient.php', + 'Aws\Efs\Exception\EfsException' => __DIR__ . '/Aws/Efs/Exception/EfsException.php', + 'Aws\TraceMiddleware' => __DIR__ . '/Aws/TraceMiddleware.php', + 'Aws\MarketplaceMetering\MarketplaceMeteringClient' => __DIR__ . '/Aws/MarketplaceMetering/MarketplaceMeteringClient.php', + 'Aws\MarketplaceMetering\Exception\MarketplaceMeteringException' => __DIR__ . '/Aws/MarketplaceMetering/Exception/MarketplaceMeteringException.php', + 'Aws\Comprehend\Exception\ComprehendException' => __DIR__ . '/Aws/Comprehend/Exception/ComprehendException.php', + 'Aws\Comprehend\ComprehendClient' => __DIR__ . '/Aws/Comprehend/ComprehendClient.php', + 'Aws\CloudWatch\Exception\CloudWatchException' => __DIR__ . '/Aws/CloudWatch/Exception/CloudWatchException.php', + 'Aws\CloudWatch\CloudWatchClient' => __DIR__ . '/Aws/CloudWatch/CloudWatchClient.php', + 'Aws\StorageGateway\Exception\StorageGatewayException' => __DIR__ . '/Aws/StorageGateway/Exception/StorageGatewayException.php', + 'Aws\StorageGateway\StorageGatewayClient' => __DIR__ . '/Aws/StorageGateway/StorageGatewayClient.php', + 'Aws\Emr\EmrClient' => __DIR__ . '/Aws/Emr/EmrClient.php', + 'Aws\Emr\Exception\EmrException' => __DIR__ . '/Aws/Emr/Exception/EmrException.php', + 'Aws\Sfn\Exception\SfnException' => __DIR__ . '/Aws/Sfn/Exception/SfnException.php', + 'Aws\Sfn\SfnClient' => __DIR__ . '/Aws/Sfn/SfnClient.php', + 'Aws\Middleware' => __DIR__ . '/Aws/Middleware.php', + 'Aws\RAM\RAMClient' => __DIR__ . '/Aws/RAM/RAMClient.php', + 'Aws\RAM\Exception\RAMException' => __DIR__ . '/Aws/RAM/Exception/RAMException.php', + 'Aws\Shield\ShieldClient' => __DIR__ . '/Aws/Shield/ShieldClient.php', + 'Aws\Shield\Exception\ShieldException' => __DIR__ . '/Aws/Shield/Exception/ShieldException.php', + 'Aws\GameLift\GameLiftClient' => __DIR__ . '/Aws/GameLift/GameLiftClient.php', + 'Aws\GameLift\Exception\GameLiftException' => __DIR__ . '/Aws/GameLift/Exception/GameLiftException.php', + 'Aws\PinpointEmail\PinpointEmailClient' => __DIR__ . '/Aws/PinpointEmail/PinpointEmailClient.php', + 'Aws\PinpointEmail\Exception\PinpointEmailException' => __DIR__ . '/Aws/PinpointEmail/Exception/PinpointEmailException.php', + 'Aws\Sdk' => __DIR__ . '/Aws/Sdk.php', + 'Aws\CodeDeploy\Exception\CodeDeployException' => __DIR__ . '/Aws/CodeDeploy/Exception/CodeDeployException.php', + 'Aws\CodeDeploy\CodeDeployClient' => __DIR__ . '/Aws/CodeDeploy/CodeDeployClient.php', + 'Aws\AwsClient' => __DIR__ . '/Aws/AwsClient.php', + 'Aws\FMS\Exception\FMSException' => __DIR__ . '/Aws/FMS/Exception/FMSException.php', + 'Aws\FMS\FMSClient' => __DIR__ . '/Aws/FMS/FMSClient.php', + 'Aws\SecurityHub\SecurityHubClient' => __DIR__ . '/Aws/SecurityHub/SecurityHubClient.php', + 'Aws\SecurityHub\Exception\SecurityHubException' => __DIR__ . '/Aws/SecurityHub/Exception/SecurityHubException.php', + 'Aws\Crypto\MaterialsProvider' => __DIR__ . '/Aws/Crypto/MaterialsProvider.php', + 'Aws\Crypto\AbstractCryptoClient' => __DIR__ . '/Aws/Crypto/AbstractCryptoClient.php', + 'Aws\Crypto\KmsMaterialsProvider' => __DIR__ . '/Aws/Crypto/KmsMaterialsProvider.php', + 'Aws\Crypto\AesStreamInterface' => __DIR__ . '/Aws/Crypto/AesStreamInterface.php', + 'Aws\Crypto\Cipher\Cbc' => __DIR__ . '/Aws/Crypto/Cipher/Cbc.php', + 'Aws\Crypto\Cipher\CipherBuilderTrait' => __DIR__ . '/Aws/Crypto/Cipher/CipherBuilderTrait.php', + 'Aws\Crypto\Cipher\CipherMethod' => __DIR__ . '/Aws/Crypto/Cipher/CipherMethod.php', + 'Aws\Crypto\DecryptionTrait' => __DIR__ . '/Aws/Crypto/DecryptionTrait.php', + 'Aws\Crypto\AesEncryptingStream' => __DIR__ . '/Aws/Crypto/AesEncryptingStream.php', + 'Aws\Crypto\MetadataStrategyInterface' => __DIR__ . '/Aws/Crypto/MetadataStrategyInterface.php', + 'Aws\Crypto\MetadataEnvelope' => __DIR__ . '/Aws/Crypto/MetadataEnvelope.php', + 'Aws\Crypto\AesGcmEncryptingStream' => __DIR__ . '/Aws/Crypto/AesGcmEncryptingStream.php', + 'Aws\Crypto\AesGcmDecryptingStream' => __DIR__ . '/Aws/Crypto/AesGcmDecryptingStream.php', + 'Aws\Crypto\AesDecryptingStream' => __DIR__ . '/Aws/Crypto/AesDecryptingStream.php', + 'Aws\Crypto\EncryptionTrait' => __DIR__ . '/Aws/Crypto/EncryptionTrait.php', + 'Aws\ResultPaginator' => __DIR__ . '/Aws/ResultPaginator.php', + 'Aws\ClientResolver' => __DIR__ . '/Aws/ClientResolver.php', + 'Aws\CommandPool' => __DIR__ . '/Aws/CommandPool.php', + 'Aws\DatabaseMigrationService\DatabaseMigrationServiceClient' => __DIR__ . '/Aws/DatabaseMigrationService/DatabaseMigrationServiceClient.php', + 'Aws\DatabaseMigrationService\Exception\DatabaseMigrationServiceException' => __DIR__ . '/Aws/DatabaseMigrationService/Exception/DatabaseMigrationServiceException.php', + 'Aws\S3\ApplyChecksumMiddleware' => __DIR__ . '/Aws/S3/ApplyChecksumMiddleware.php', + 'Aws\S3\MultipartUploader' => __DIR__ . '/Aws/S3/MultipartUploader.php', + 'Aws\S3\SSECMiddleware' => __DIR__ . '/Aws/S3/SSECMiddleware.php', + 'Aws\S3\RetryableMalformedResponseParser' => __DIR__ . '/Aws/S3/RetryableMalformedResponseParser.php', + 'Aws\S3\S3ClientTrait' => __DIR__ . '/Aws/S3/S3ClientTrait.php', + 'Aws\S3\PostObjectV4' => __DIR__ . '/Aws/S3/PostObjectV4.php', + 'Aws\S3\MultipartUploadingTrait' => __DIR__ . '/Aws/S3/MultipartUploadingTrait.php', + 'Aws\S3\GetBucketLocationParser' => __DIR__ . '/Aws/S3/GetBucketLocationParser.php', + 'Aws\S3\S3Client' => __DIR__ . '/Aws/S3/S3Client.php', + 'Aws\S3\ObjectCopier' => __DIR__ . '/Aws/S3/ObjectCopier.php', + 'Aws\S3\Crypto\S3EncryptionClient' => __DIR__ . '/Aws/S3/Crypto/S3EncryptionClient.php', + 'Aws\S3\Crypto\S3EncryptionMultipartUploader' => __DIR__ . '/Aws/S3/Crypto/S3EncryptionMultipartUploader.php', + 'Aws\S3\Crypto\CryptoParamsTrait' => __DIR__ . '/Aws/S3/Crypto/CryptoParamsTrait.php', + 'Aws\S3\Crypto\InstructionFileMetadataStrategy' => __DIR__ . '/Aws/S3/Crypto/InstructionFileMetadataStrategy.php', + 'Aws\S3\Crypto\HeadersMetadataStrategy' => __DIR__ . '/Aws/S3/Crypto/HeadersMetadataStrategy.php', + 'Aws\S3\ObjectUploader' => __DIR__ . '/Aws/S3/ObjectUploader.php', + 'Aws\S3\PermanentRedirectMiddleware' => __DIR__ . '/Aws/S3/PermanentRedirectMiddleware.php', + 'Aws\S3\StreamWrapper' => __DIR__ . '/Aws/S3/StreamWrapper.php', + 'Aws\S3\BatchDelete' => __DIR__ . '/Aws/S3/BatchDelete.php', + 'Aws\S3\S3EndpointMiddleware' => __DIR__ . '/Aws/S3/S3EndpointMiddleware.php', + 'Aws\S3\S3ClientInterface' => __DIR__ . '/Aws/S3/S3ClientInterface.php', + 'Aws\S3\Exception\PermanentRedirectException' => __DIR__ . '/Aws/S3/Exception/PermanentRedirectException.php', + 'Aws\S3\Exception\DeleteMultipleObjectsException' => __DIR__ . '/Aws/S3/Exception/DeleteMultipleObjectsException.php', + 'Aws\S3\Exception\S3Exception' => __DIR__ . '/Aws/S3/Exception/S3Exception.php', + 'Aws\S3\Exception\S3MultipartUploadException' => __DIR__ . '/Aws/S3/Exception/S3MultipartUploadException.php', + 'Aws\S3\MultipartCopy' => __DIR__ . '/Aws/S3/MultipartCopy.php', + 'Aws\S3\S3MultiRegionClient' => __DIR__ . '/Aws/S3/S3MultiRegionClient.php', + 'Aws\S3\AmbiguousSuccessParser' => __DIR__ . '/Aws/S3/AmbiguousSuccessParser.php', + 'Aws\S3\BucketEndpointMiddleware' => __DIR__ . '/Aws/S3/BucketEndpointMiddleware.php', + 'Aws\S3\S3UriParser' => __DIR__ . '/Aws/S3/S3UriParser.php', + 'Aws\S3\PutObjectUrlMiddleware' => __DIR__ . '/Aws/S3/PutObjectUrlMiddleware.php', + 'Aws\S3\PostObject' => __DIR__ . '/Aws/S3/PostObject.php', + 'Aws\S3\Transfer' => __DIR__ . '/Aws/S3/Transfer.php', + 'Aws\XRay\Exception\XRayException' => __DIR__ . '/Aws/XRay/Exception/XRayException.php', + 'Aws\XRay\XRayClient' => __DIR__ . '/Aws/XRay/XRayClient.php', + 'Aws\ResourceGroupsTaggingAPI\Exception\ResourceGroupsTaggingAPIException' => __DIR__ . '/Aws/ResourceGroupsTaggingAPI/Exception/ResourceGroupsTaggingAPIException.php', + 'Aws\ResourceGroupsTaggingAPI\ResourceGroupsTaggingAPIClient' => __DIR__ . '/Aws/ResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.php', + 'Aws\ConfigService\ConfigServiceClient' => __DIR__ . '/Aws/ConfigService/ConfigServiceClient.php', + 'Aws\ConfigService\Exception\ConfigServiceException' => __DIR__ . '/Aws/ConfigService/Exception/ConfigServiceException.php', + 'Aws\MediaTailor\MediaTailorClient' => __DIR__ . '/Aws/MediaTailor/MediaTailorClient.php', + 'Aws\MediaTailor\Exception\MediaTailorException' => __DIR__ . '/Aws/MediaTailor/Exception/MediaTailorException.php', + 'Aws\CloudHsm\Exception\CloudHsmException' => __DIR__ . '/Aws/CloudHsm/Exception/CloudHsmException.php', + 'Aws\CloudHsm\CloudHsmClient' => __DIR__ . '/Aws/CloudHsm/CloudHsmClient.php', + 'Aws\ElasticLoadBalancing\ElasticLoadBalancingClient' => __DIR__ . '/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php', + 'Aws\ElasticLoadBalancing\Exception\ElasticLoadBalancingException' => __DIR__ . '/Aws/ElasticLoadBalancing/Exception/ElasticLoadBalancingException.php', + 'Aws\SageMakerRuntime\SageMakerRuntimeClient' => __DIR__ . '/Aws/SageMakerRuntime/SageMakerRuntimeClient.php', + 'Aws\SageMakerRuntime\Exception\SageMakerRuntimeException' => __DIR__ . '/Aws/SageMakerRuntime/Exception/SageMakerRuntimeException.php', + 'Aws\Macie\Exception\MacieException' => __DIR__ . '/Aws/Macie/Exception/MacieException.php', + 'Aws\Macie\MacieClient' => __DIR__ . '/Aws/Macie/MacieClient.php', + 'Aws\CognitoIdentity\Exception\CognitoIdentityException' => __DIR__ . '/Aws/CognitoIdentity/Exception/CognitoIdentityException.php', + 'Aws\CognitoIdentity\CognitoIdentityProvider' => __DIR__ . '/Aws/CognitoIdentity/CognitoIdentityProvider.php', + 'Aws\CognitoIdentity\CognitoIdentityClient' => __DIR__ . '/Aws/CognitoIdentity/CognitoIdentityClient.php', + 'Aws\PhpHash' => __DIR__ . '/Aws/PhpHash.php', + 'Aws\MQ\MQClient' => __DIR__ . '/Aws/MQ/MQClient.php', + 'Aws\MQ\Exception\MQException' => __DIR__ . '/Aws/MQ/Exception/MQException.php', + 'Aws\Greengrass\GreengrassClient' => __DIR__ . '/Aws/Greengrass/GreengrassClient.php', + 'Aws\Greengrass\Exception\GreengrassException' => __DIR__ . '/Aws/Greengrass/Exception/GreengrassException.php', + 'Aws\KinesisVideoArchivedMedia\KinesisVideoArchivedMediaClient' => __DIR__ . '/Aws/KinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.php', + 'Aws\KinesisVideoArchivedMedia\Exception\KinesisVideoArchivedMediaException' => __DIR__ . '/Aws/KinesisVideoArchivedMedia/Exception/KinesisVideoArchivedMediaException.php', + 'Aws\CostExplorer\Exception\CostExplorerException' => __DIR__ . '/Aws/CostExplorer/Exception/CostExplorerException.php', + 'Aws\CostExplorer\CostExplorerClient' => __DIR__ . '/Aws/CostExplorer/CostExplorerClient.php', + 'Aws\Rds\Exception\RdsException' => __DIR__ . '/Aws/Rds/Exception/RdsException.php', + 'Aws\Rds\AuthTokenGenerator' => __DIR__ . '/Aws/Rds/AuthTokenGenerator.php', + 'Aws\Rds\RdsClient' => __DIR__ . '/Aws/Rds/RdsClient.php', + 'Aws\AutoScalingPlans\Exception\AutoScalingPlansException' => __DIR__ . '/Aws/AutoScalingPlans/Exception/AutoScalingPlansException.php', + 'Aws\AutoScalingPlans\AutoScalingPlansClient' => __DIR__ . '/Aws/AutoScalingPlans/AutoScalingPlansClient.php', + 'Aws\CloudWatchEvents\CloudWatchEventsClient' => __DIR__ . '/Aws/CloudWatchEvents/CloudWatchEventsClient.php', + 'Aws\CloudWatchEvents\Exception\CloudWatchEventsException' => __DIR__ . '/Aws/CloudWatchEvents/Exception/CloudWatchEventsException.php', + 'Aws\functions' => __DIR__ . '/Aws/functions.php', + 'Aws\Ssm\SsmClient' => __DIR__ . '/Aws/Ssm/SsmClient.php', + 'Aws\Ssm\Exception\SsmException' => __DIR__ . '/Aws/Ssm/Exception/SsmException.php', + 'Aws\DocDB\DocDBClient' => __DIR__ . '/Aws/DocDB/DocDBClient.php', + 'Aws\DocDB\Exception\DocDBException' => __DIR__ . '/Aws/DocDB/Exception/DocDBException.php', + 'Aws\ApiGateway\Exception\ApiGatewayException' => __DIR__ . '/Aws/ApiGateway/Exception/ApiGatewayException.php', + 'Aws\ApiGateway\ApiGatewayClient' => __DIR__ . '/Aws/ApiGateway/ApiGatewayClient.php', + 'Aws\CloudWatchLogs\CloudWatchLogsClient' => __DIR__ . '/Aws/CloudWatchLogs/CloudWatchLogsClient.php', + 'Aws\CloudWatchLogs\Exception\CloudWatchLogsException' => __DIR__ . '/Aws/CloudWatchLogs/Exception/CloudWatchLogsException.php', + 'Aws\DynamoDbStreams\DynamoDbStreamsClient' => __DIR__ . '/Aws/DynamoDbStreams/DynamoDbStreamsClient.php', + 'Aws\DynamoDbStreams\Exception\DynamoDbStreamsException' => __DIR__ . '/Aws/DynamoDbStreams/Exception/DynamoDbStreamsException.php', + 'Aws\AlexaForBusiness\AlexaForBusinessClient' => __DIR__ . '/Aws/AlexaForBusiness/AlexaForBusinessClient.php', + 'Aws\AlexaForBusiness\Exception\AlexaForBusinessException' => __DIR__ . '/Aws/AlexaForBusiness/Exception/AlexaForBusinessException.php', + 'Aws\MediaLive\MediaLiveClient' => __DIR__ . '/Aws/MediaLive/MediaLiveClient.php', + 'Aws\MediaLive\Exception\MediaLiveException' => __DIR__ . '/Aws/MediaLive/Exception/MediaLiveException.php', + 'Aws\AwsClientTrait' => __DIR__ . '/Aws/AwsClientTrait.php', + 'Aws\Credentials\CredentialsInterface' => __DIR__ . '/Aws/Credentials/CredentialsInterface.php', + 'Aws\Credentials\CredentialProvider' => __DIR__ . '/Aws/Credentials/CredentialProvider.php', + 'Aws\Credentials\InstanceProfileProvider' => __DIR__ . '/Aws/Credentials/InstanceProfileProvider.php', + 'Aws\Credentials\AssumeRoleCredentialProvider' => __DIR__ . '/Aws/Credentials/AssumeRoleCredentialProvider.php', + 'Aws\Credentials\EcsCredentialProvider' => __DIR__ . '/Aws/Credentials/EcsCredentialProvider.php', + 'Aws\Credentials\Credentials' => __DIR__ . '/Aws/Credentials/Credentials.php', + 'Aws\HasDataTrait' => __DIR__ . '/Aws/HasDataTrait.php', + 'Aws\Iam\Exception\IamException' => __DIR__ . '/Aws/Iam/Exception/IamException.php', + 'Aws\Iam\IamClient' => __DIR__ . '/Aws/Iam/IamClient.php', + 'Aws\Command' => __DIR__ . '/Aws/Command.php', + 'Aws\Backup\Exception\BackupException' => __DIR__ . '/Aws/Backup/Exception/BackupException.php', + 'Aws\Backup\BackupClient' => __DIR__ . '/Aws/Backup/BackupClient.php', + 'Aws\IotDataPlane\IotDataPlaneClient' => __DIR__ . '/Aws/IotDataPlane/IotDataPlaneClient.php', + 'Aws\IotDataPlane\Exception\IotDataPlaneException' => __DIR__ . '/Aws/IotDataPlane/Exception/IotDataPlaneException.php', + 'Aws\CostandUsageReportService\CostandUsageReportServiceClient' => __DIR__ . '/Aws/CostandUsageReportService/CostandUsageReportServiceClient.php', + 'Aws\CostandUsageReportService\Exception\CostandUsageReportServiceException' => __DIR__ . '/Aws/CostandUsageReportService/Exception/CostandUsageReportServiceException.php', + 'Aws\DAX\DAXClient' => __DIR__ . '/Aws/DAX/DAXClient.php', + 'Aws\DAX\Exception\DAXException' => __DIR__ . '/Aws/DAX/Exception/DAXException.php', + 'Aws\Kms\KmsClient' => __DIR__ . '/Aws/Kms/KmsClient.php', + 'Aws\Kms\Exception\KmsException' => __DIR__ . '/Aws/Kms/Exception/KmsException.php', + 'Aws\WafRegional\WafRegionalClient' => __DIR__ . '/Aws/WafRegional/WafRegionalClient.php', + 'Aws\WafRegional\Exception\WafRegionalException' => __DIR__ . '/Aws/WafRegional/Exception/WafRegionalException.php', + 'Aws\DynamoDb\DynamoDbClient' => __DIR__ . '/Aws/DynamoDb/DynamoDbClient.php', + 'Aws\DynamoDb\StandardSessionConnection' => __DIR__ . '/Aws/DynamoDb/StandardSessionConnection.php', + 'Aws\DynamoDb\BinaryValue' => __DIR__ . '/Aws/DynamoDb/BinaryValue.php', + 'Aws\DynamoDb\SessionConnectionInterface' => __DIR__ . '/Aws/DynamoDb/SessionConnectionInterface.php', + 'Aws\DynamoDb\Exception\DynamoDbException' => __DIR__ . '/Aws/DynamoDb/Exception/DynamoDbException.php', + 'Aws\DynamoDb\LockingSessionConnection' => __DIR__ . '/Aws/DynamoDb/LockingSessionConnection.php', + 'Aws\DynamoDb\Marshaler' => __DIR__ . '/Aws/DynamoDb/Marshaler.php', + 'Aws\DynamoDb\WriteRequestBatch' => __DIR__ . '/Aws/DynamoDb/WriteRequestBatch.php', + 'Aws\DynamoDb\SessionHandler' => __DIR__ . '/Aws/DynamoDb/SessionHandler.php', + 'Aws\DynamoDb\SetValue' => __DIR__ . '/Aws/DynamoDb/SetValue.php', + 'Aws\DynamoDb\NumberValue' => __DIR__ . '/Aws/DynamoDb/NumberValue.php', + 'Aws\Iot\Exception\IotException' => __DIR__ . '/Aws/Iot/Exception/IotException.php', + 'Aws\Iot\IotClient' => __DIR__ . '/Aws/Iot/IotClient.php', + 'Aws\Batch\BatchClient' => __DIR__ . '/Aws/Batch/BatchClient.php', + 'Aws\Batch\Exception\BatchException' => __DIR__ . '/Aws/Batch/Exception/BatchException.php', + 'Aws\EKS\EKSClient' => __DIR__ . '/Aws/EKS/EKSClient.php', + 'Aws\EKS\Exception\EKSException' => __DIR__ . '/Aws/EKS/Exception/EKSException.php', + 'Aws\Glue\GlueClient' => __DIR__ . '/Aws/Glue/GlueClient.php', + 'Aws\Glue\Exception\GlueException' => __DIR__ . '/Aws/Glue/Exception/GlueException.php', + 'Aws\PinpointSMSVoice\PinpointSMSVoiceClient' => __DIR__ . '/Aws/PinpointSMSVoice/PinpointSMSVoiceClient.php', + 'Aws\PinpointSMSVoice\Exception\PinpointSMSVoiceException' => __DIR__ . '/Aws/PinpointSMSVoice/Exception/PinpointSMSVoiceException.php', + 'Aws\CommandInterface' => __DIR__ . '/Aws/CommandInterface.php', + 'Aws\MediaPackage\MediaPackageClient' => __DIR__ . '/Aws/MediaPackage/MediaPackageClient.php', + 'Aws\MediaPackage\Exception\MediaPackageException' => __DIR__ . '/Aws/MediaPackage/Exception/MediaPackageException.php', + 'Aws\CacheInterface' => __DIR__ . '/Aws/CacheInterface.php', + 'Aws\HasMonitoringEventsTrait' => __DIR__ . '/Aws/HasMonitoringEventsTrait.php', + 'Aws\Connect\ConnectClient' => __DIR__ . '/Aws/Connect/ConnectClient.php', + 'Aws\Connect\Exception\ConnectException' => __DIR__ . '/Aws/Connect/Exception/ConnectException.php', + 'Aws\Firehose\FirehoseClient' => __DIR__ . '/Aws/Firehose/FirehoseClient.php', + 'Aws\Firehose\Exception\FirehoseException' => __DIR__ . '/Aws/Firehose/Exception/FirehoseException.php', + 'Aws\ServerlessApplicationRepository\ServerlessApplicationRepositoryClient' => __DIR__ . '/Aws/ServerlessApplicationRepository/ServerlessApplicationRepositoryClient.php', + 'Aws\ServerlessApplicationRepository\Exception\ServerlessApplicationRepositoryException' => __DIR__ . '/Aws/ServerlessApplicationRepository/Exception/ServerlessApplicationRepositoryException.php', + 'Aws\IoT1ClickDevicesService\Exception\IoT1ClickDevicesServiceException' => __DIR__ . '/Aws/IoT1ClickDevicesService/Exception/IoT1ClickDevicesServiceException.php', + 'Aws\IoT1ClickDevicesService\IoT1ClickDevicesServiceClient' => __DIR__ . '/Aws/IoT1ClickDevicesService/IoT1ClickDevicesServiceClient.php', + 'Aws\Kinesis\Exception\KinesisException' => __DIR__ . '/Aws/Kinesis/Exception/KinesisException.php', + 'Aws\Kinesis\KinesisClient' => __DIR__ . '/Aws/Kinesis/KinesisClient.php', + 'Aws\ResourceGroups\ResourceGroupsClient' => __DIR__ . '/Aws/ResourceGroups/ResourceGroupsClient.php', + 'Aws\ResourceGroups\Exception\ResourceGroupsException' => __DIR__ . '/Aws/ResourceGroups/Exception/ResourceGroupsException.php', + 'Aws\LicenseManager\LicenseManagerClient' => __DIR__ . '/Aws/LicenseManager/LicenseManagerClient.php', + 'Aws\LicenseManager\Exception\LicenseManagerException' => __DIR__ . '/Aws/LicenseManager/Exception/LicenseManagerException.php', + 'Aws\CloudSearch\CloudSearchClient' => __DIR__ . '/Aws/CloudSearch/CloudSearchClient.php', + 'Aws\CloudSearch\Exception\CloudSearchException' => __DIR__ . '/Aws/CloudSearch/Exception/CloudSearchException.php', + 'Aws\Mobile\MobileClient' => __DIR__ . '/Aws/Mobile/MobileClient.php', + 'Aws\Mobile\Exception\MobileException' => __DIR__ . '/Aws/Mobile/Exception/MobileException.php', + 'Aws\Endpoint\EndpointProvider' => __DIR__ . '/Aws/Endpoint/EndpointProvider.php', + 'Aws\Endpoint\Partition' => __DIR__ . '/Aws/Endpoint/Partition.php', + 'Aws\Endpoint\PartitionInterface' => __DIR__ . '/Aws/Endpoint/PartitionInterface.php', + 'Aws\Endpoint\PartitionEndpointProvider' => __DIR__ . '/Aws/Endpoint/PartitionEndpointProvider.php', + 'Aws\Endpoint\PatternEndpointProvider' => __DIR__ . '/Aws/Endpoint/PatternEndpointProvider.php', + 'Aws\MTurk\MTurkClient' => __DIR__ . '/Aws/MTurk/MTurkClient.php', + 'Aws\MTurk\Exception\MTurkException' => __DIR__ . '/Aws/MTurk/Exception/MTurkException.php', + 'Aws\KinesisVideo\KinesisVideoClient' => __DIR__ . '/Aws/KinesisVideo/KinesisVideoClient.php', + 'Aws\KinesisVideo\Exception\KinesisVideoException' => __DIR__ . '/Aws/KinesisVideo/Exception/KinesisVideoException.php', + 'Aws\Sqs\Exception\SqsException' => __DIR__ . '/Aws/Sqs/Exception/SqsException.php', + 'Aws\Sqs\SqsClient' => __DIR__ . '/Aws/Sqs/SqsClient.php', + 'Aws\Waf\WafClient' => __DIR__ . '/Aws/Waf/WafClient.php', + 'Aws\Waf\Exception\WafException' => __DIR__ . '/Aws/Waf/Exception/WafException.php', + 'Aws\Ecs\EcsClient' => __DIR__ . '/Aws/Ecs/EcsClient.php', + 'Aws\Ecs\Exception\EcsException' => __DIR__ . '/Aws/Ecs/Exception/EcsException.php', + 'Aws\signer\signerClient' => __DIR__ . '/Aws/signer/signerClient.php', + 'Aws\signer\Exception\signerException' => __DIR__ . '/Aws/signer/Exception/signerException.php', + 'Aws\ApplicationAutoScaling\ApplicationAutoScalingClient' => __DIR__ . '/Aws/ApplicationAutoScaling/ApplicationAutoScalingClient.php', + 'Aws\ApplicationAutoScaling\Exception\ApplicationAutoScalingException' => __DIR__ . '/Aws/ApplicationAutoScaling/Exception/ApplicationAutoScalingException.php', + 'Aws\Cloud9\Exception\Cloud9Exception' => __DIR__ . '/Aws/Cloud9/Exception/Cloud9Exception.php', + 'Aws\Cloud9\Cloud9Client' => __DIR__ . '/Aws/Cloud9/Cloud9Client.php', + 'Aws\ImportExport\Exception\ImportExportException' => __DIR__ . '/Aws/ImportExport/Exception/ImportExportException.php', + 'Aws\ImportExport\ImportExportClient' => __DIR__ . '/Aws/ImportExport/ImportExportClient.php', + 'Aws\Rekognition\RekognitionClient' => __DIR__ . '/Aws/Rekognition/RekognitionClient.php', + 'Aws\Rekognition\Exception\RekognitionException' => __DIR__ . '/Aws/Rekognition/Exception/RekognitionException.php', + 'Aws\RDSDataService\Exception\RDSDataServiceException' => __DIR__ . '/Aws/RDSDataService/Exception/RDSDataServiceException.php', + 'Aws\RDSDataService\RDSDataServiceClient' => __DIR__ . '/Aws/RDSDataService/RDSDataServiceClient.php', + 'Aws\CodeCommit\CodeCommitClient' => __DIR__ . '/Aws/CodeCommit/CodeCommitClient.php', + 'Aws\CodeCommit\Exception\CodeCommitException' => __DIR__ . '/Aws/CodeCommit/Exception/CodeCommitException.php', + 'Aws\Inspector\Exception\InspectorException' => __DIR__ . '/Aws/Inspector/Exception/InspectorException.php', + 'Aws\Inspector\InspectorClient' => __DIR__ . '/Aws/Inspector/InspectorClient.php', + 'Aws\LexModelBuildingService\Exception\LexModelBuildingServiceException' => __DIR__ . '/Aws/LexModelBuildingService/Exception/LexModelBuildingServiceException.php', + 'Aws\LexModelBuildingService\LexModelBuildingServiceClient' => __DIR__ . '/Aws/LexModelBuildingService/LexModelBuildingServiceClient.php', + 'Aws\AppMesh\AppMeshClient' => __DIR__ . '/Aws/AppMesh/AppMeshClient.php', + 'Aws\AppMesh\Exception\AppMeshException' => __DIR__ . '/Aws/AppMesh/Exception/AppMeshException.php', + 'Aws\ResponseContainerInterface' => __DIR__ . '/Aws/ResponseContainerInterface.php', + 'Aws\Exception\UnresolvedEndpointException' => __DIR__ . '/Aws/Exception/UnresolvedEndpointException.php', + 'Aws\Exception\CredentialsException' => __DIR__ . '/Aws/Exception/CredentialsException.php', + 'Aws\Exception\UnresolvedSignatureException' => __DIR__ . '/Aws/Exception/UnresolvedSignatureException.php', + 'Aws\Exception\AwsException' => __DIR__ . '/Aws/Exception/AwsException.php', + 'Aws\Exception\MultipartUploadException' => __DIR__ . '/Aws/Exception/MultipartUploadException.php', + 'Aws\Exception\CouldNotCreateChecksumException' => __DIR__ . '/Aws/Exception/CouldNotCreateChecksumException.php', + 'Aws\Exception\UnresolvedApiException' => __DIR__ . '/Aws/Exception/UnresolvedApiException.php', + 'Aws\Exception\EventStreamDataException' => __DIR__ . '/Aws/Exception/EventStreamDataException.php', + 'Aws\WorkSpaces\WorkSpacesClient' => __DIR__ . '/Aws/WorkSpaces/WorkSpacesClient.php', + 'Aws\WorkSpaces\Exception\WorkSpacesException' => __DIR__ . '/Aws/WorkSpaces/Exception/WorkSpacesException.php', + 'Aws\ResultInterface' => __DIR__ . '/Aws/ResultInterface.php', + 'Aws\Translate\TranslateClient' => __DIR__ . '/Aws/Translate/TranslateClient.php', + 'Aws\Translate\Exception\TranslateException' => __DIR__ . '/Aws/Translate/Exception/TranslateException.php', + 'Aws\CodeBuild\Exception\CodeBuildException' => __DIR__ . '/Aws/CodeBuild/Exception/CodeBuildException.php', + 'Aws\CodeBuild\CodeBuildClient' => __DIR__ . '/Aws/CodeBuild/CodeBuildClient.php', + 'Aws\Signature\SignatureProvider' => __DIR__ . '/Aws/Signature/SignatureProvider.php', + 'Aws\Signature\SignatureInterface' => __DIR__ . '/Aws/Signature/SignatureInterface.php', + 'Aws\Signature\S3SignatureV4' => __DIR__ . '/Aws/Signature/S3SignatureV4.php', + 'Aws\Signature\SignatureV4' => __DIR__ . '/Aws/Signature/SignatureV4.php', + 'Aws\Signature\AnonymousSignature' => __DIR__ . '/Aws/Signature/AnonymousSignature.php', + 'Aws\Signature\SignatureTrait' => __DIR__ . '/Aws/Signature/SignatureTrait.php', + 'Aws\HashInterface' => __DIR__ . '/Aws/HashInterface.php', + 'Aws\SecretsManager\SecretsManagerClient' => __DIR__ . '/Aws/SecretsManager/SecretsManagerClient.php', + 'Aws\SecretsManager\Exception\SecretsManagerException' => __DIR__ . '/Aws/SecretsManager/Exception/SecretsManagerException.php', + 'Aws\ClientSideMonitoring\ApiCallMonitoringMiddleware' => __DIR__ . '/Aws/ClientSideMonitoring/ApiCallMonitoringMiddleware.php', + 'Aws\ClientSideMonitoring\ApiCallAttemptMonitoringMiddleware' => __DIR__ . '/Aws/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php', + 'Aws\ClientSideMonitoring\Configuration' => __DIR__ . '/Aws/ClientSideMonitoring/Configuration.php', + 'Aws\ClientSideMonitoring\Exception\ConfigurationException' => __DIR__ . '/Aws/ClientSideMonitoring/Exception/ConfigurationException.php', + 'Aws\ClientSideMonitoring\MonitoringMiddlewareInterface' => __DIR__ . '/Aws/ClientSideMonitoring/MonitoringMiddlewareInterface.php', + 'Aws\ClientSideMonitoring\AbstractMonitoringMiddleware' => __DIR__ . '/Aws/ClientSideMonitoring/AbstractMonitoringMiddleware.php', + 'Aws\ClientSideMonitoring\ConfigurationProvider' => __DIR__ . '/Aws/ClientSideMonitoring/ConfigurationProvider.php', + 'Aws\ClientSideMonitoring\ConfigurationInterface' => __DIR__ . '/Aws/ClientSideMonitoring/ConfigurationInterface.php', + 'Aws\MachineLearning\MachineLearningClient' => __DIR__ . '/Aws/MachineLearning/MachineLearningClient.php', + 'Aws\MachineLearning\Exception\MachineLearningException' => __DIR__ . '/Aws/MachineLearning/Exception/MachineLearningException.php', + 'Aws\EndpointParameterMiddleware' => __DIR__ . '/Aws/EndpointParameterMiddleware.php', + 'Aws\DirectoryService\DirectoryServiceClient' => __DIR__ . '/Aws/DirectoryService/DirectoryServiceClient.php', + 'Aws\DirectoryService\Exception\DirectoryServiceException' => __DIR__ . '/Aws/DirectoryService/Exception/DirectoryServiceException.php', + 'Aws\Multipart\UploadState' => __DIR__ . '/Aws/Multipart/UploadState.php', + 'Aws\Multipart\AbstractUploadManager' => __DIR__ . '/Aws/Multipart/AbstractUploadManager.php', + 'Aws\Multipart\AbstractUploader' => __DIR__ . '/Aws/Multipart/AbstractUploader.php', + 'Aws\SageMaker\Exception\SageMakerException' => __DIR__ . '/Aws/SageMaker/Exception/SageMakerException.php', + 'Aws\SageMaker\SageMakerClient' => __DIR__ . '/Aws/SageMaker/SageMakerClient.php', + 'Aws\IdempotencyTokenMiddleware' => __DIR__ . '/Aws/IdempotencyTokenMiddleware.php', + 'Aws\KinesisVideoMedia\Exception\KinesisVideoMediaException' => __DIR__ . '/Aws/KinesisVideoMedia/Exception/KinesisVideoMediaException.php', + 'Aws\KinesisVideoMedia\KinesisVideoMediaClient' => __DIR__ . '/Aws/KinesisVideoMedia/KinesisVideoMediaClient.php', + 'Aws\WorkDocs\Exception\WorkDocsException' => __DIR__ . '/Aws/WorkDocs/Exception/WorkDocsException.php', + 'Aws\WorkDocs\WorkDocsClient' => __DIR__ . '/Aws/WorkDocs/WorkDocsClient.php', + 'Aws\CodePipeline\Exception\CodePipelineException' => __DIR__ . '/Aws/CodePipeline/Exception/CodePipelineException.php', + 'Aws\CodePipeline\CodePipelineClient' => __DIR__ . '/Aws/CodePipeline/CodePipelineClient.php', + 'Aws\CloudDirectory\CloudDirectoryClient' => __DIR__ . '/Aws/CloudDirectory/CloudDirectoryClient.php', + 'Aws\CloudDirectory\Exception\CloudDirectoryException' => __DIR__ . '/Aws/CloudDirectory/Exception/CloudDirectoryException.php', + 'Aws\Waiter' => __DIR__ . '/Aws/Waiter.php', + 'Aws\Lightsail\LightsailClient' => __DIR__ . '/Aws/Lightsail/LightsailClient.php', + 'Aws\Lightsail\Exception\LightsailException' => __DIR__ . '/Aws/Lightsail/Exception/LightsailException.php', + 'Aws\WorkLink\WorkLinkClient' => __DIR__ . '/Aws/WorkLink/WorkLinkClient.php', + 'Aws\WorkLink\Exception\WorkLinkException' => __DIR__ . '/Aws/WorkLink/Exception/WorkLinkException.php', + 'Aws\Lambda\Exception\LambdaException' => __DIR__ . '/Aws/Lambda/Exception/LambdaException.php', + 'Aws\Lambda\LambdaClient' => __DIR__ . '/Aws/Lambda/LambdaClient.php', + 'Aws\CloudTrail\LogRecordIterator' => __DIR__ . '/Aws/CloudTrail/LogRecordIterator.php', + 'Aws\CloudTrail\CloudTrailClient' => __DIR__ . '/Aws/CloudTrail/CloudTrailClient.php', + 'Aws\CloudTrail\Exception\CloudTrailException' => __DIR__ . '/Aws/CloudTrail/Exception/CloudTrailException.php', + 'Aws\CloudTrail\LogFileIterator' => __DIR__ . '/Aws/CloudTrail/LogFileIterator.php', + 'Aws\CloudTrail\LogFileReader' => __DIR__ . '/Aws/CloudTrail/LogFileReader.php', + 'Aws\Ec2\Ec2Client' => __DIR__ . '/Aws/Ec2/Ec2Client.php', + 'Aws\Ec2\Exception\Ec2Exception' => __DIR__ . '/Aws/Ec2/Exception/Ec2Exception.php', + 'Aws\CodeStar\CodeStarClient' => __DIR__ . '/Aws/CodeStar/CodeStarClient.php', + 'Aws\CodeStar\Exception\CodeStarException' => __DIR__ . '/Aws/CodeStar/Exception/CodeStarException.php', + 'Aws\GlobalAccelerator\Exception\GlobalAcceleratorException' => __DIR__ . '/Aws/GlobalAccelerator/Exception/GlobalAcceleratorException.php', + 'Aws\GlobalAccelerator\GlobalAcceleratorClient' => __DIR__ . '/Aws/GlobalAccelerator/GlobalAcceleratorClient.php', + 'Aws\KinesisAnalytics\KinesisAnalyticsClient' => __DIR__ . '/Aws/KinesisAnalytics/KinesisAnalyticsClient.php', + 'Aws\KinesisAnalytics\Exception\KinesisAnalyticsException' => __DIR__ . '/Aws/KinesisAnalytics/Exception/KinesisAnalyticsException.php', + 'Aws\Ses\SesClient' => __DIR__ . '/Aws/Ses/SesClient.php', + 'Aws\Ses\Exception\SesException' => __DIR__ . '/Aws/Ses/Exception/SesException.php', + 'Aws\DoctrineCacheAdapter' => __DIR__ . '/Aws/DoctrineCacheAdapter.php', + 'Aws\PresignUrlMiddleware' => __DIR__ . '/Aws/PresignUrlMiddleware.php', + 'Aws\LexRuntimeService\LexRuntimeServiceClient' => __DIR__ . '/Aws/LexRuntimeService/LexRuntimeServiceClient.php', + 'Aws\LexRuntimeService\Exception\LexRuntimeServiceException' => __DIR__ . '/Aws/LexRuntimeService/Exception/LexRuntimeServiceException.php', + 'Aws\Pinpoint\PinpointClient' => __DIR__ . '/Aws/Pinpoint/PinpointClient.php', + 'Aws\Pinpoint\Exception\PinpointException' => __DIR__ . '/Aws/Pinpoint/Exception/PinpointException.php', + 'Aws\ComprehendMedical\ComprehendMedicalClient' => __DIR__ . '/Aws/ComprehendMedical/ComprehendMedicalClient.php', + 'Aws\ComprehendMedical\Exception\ComprehendMedicalException' => __DIR__ . '/Aws/ComprehendMedical/Exception/ComprehendMedicalException.php', + 'Aws\IoTAnalytics\Exception\IoTAnalyticsException' => __DIR__ . '/Aws/IoTAnalytics/Exception/IoTAnalyticsException.php', + 'Aws\IoTAnalytics\IoTAnalyticsClient' => __DIR__ . '/Aws/IoTAnalytics/IoTAnalyticsClient.php', + 'Aws\Result' => __DIR__ . '/Aws/Result.php', + 'Aws\Route53Domains\Exception\Route53DomainsException' => __DIR__ . '/Aws/Route53Domains/Exception/Route53DomainsException.php', + 'Aws\Route53Domains\Route53DomainsClient' => __DIR__ . '/Aws/Route53Domains/Route53DomainsClient.php', + 'Aws\Sts\Exception\StsException' => __DIR__ . '/Aws/Sts/Exception/StsException.php', + 'Aws\Sts\StsClient' => __DIR__ . '/Aws/Sts/StsClient.php', + 'Aws\ElasticBeanstalk\ElasticBeanstalkClient' => __DIR__ . '/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php', + 'Aws\ElasticBeanstalk\Exception\ElasticBeanstalkException' => __DIR__ . '/Aws/ElasticBeanstalk/Exception/ElasticBeanstalkException.php', + 'Aws\Swf\SwfClient' => __DIR__ . '/Aws/Swf/SwfClient.php', + 'Aws\Swf\Exception\SwfException' => __DIR__ . '/Aws/Swf/Exception/SwfException.php', + 'Aws\Support\SupportClient' => __DIR__ . '/Aws/Support/SupportClient.php', + 'Aws\Support\Exception\SupportException' => __DIR__ . '/Aws/Support/Exception/SupportException.php', + 'Aws\Transfer\TransferClient' => __DIR__ . '/Aws/Transfer/TransferClient.php', + 'Aws\Transfer\Exception\TransferException' => __DIR__ . '/Aws/Transfer/Exception/TransferException.php', + 'Aws\DirectConnect\DirectConnectClient' => __DIR__ . '/Aws/DirectConnect/DirectConnectClient.php', + 'Aws\DirectConnect\Exception\DirectConnectException' => __DIR__ . '/Aws/DirectConnect/Exception/DirectConnectException.php', + 'Aws\CloudFront\CloudFrontClient' => __DIR__ . '/Aws/CloudFront/CloudFrontClient.php', + 'Aws\CloudFront\Signer' => __DIR__ . '/Aws/CloudFront/Signer.php', + 'Aws\CloudFront\CookieSigner' => __DIR__ . '/Aws/CloudFront/CookieSigner.php', + 'Aws\CloudFront\Exception\CloudFrontException' => __DIR__ . '/Aws/CloudFront/Exception/CloudFrontException.php', + 'Aws\CloudFront\UrlSigner' => __DIR__ . '/Aws/CloudFront/UrlSigner.php', + 'Aws\CognitoIdentityProvider\CognitoIdentityProviderClient' => __DIR__ . '/Aws/CognitoIdentityProvider/CognitoIdentityProviderClient.php', + 'Aws\CognitoIdentityProvider\Exception\CognitoIdentityProviderException' => __DIR__ . '/Aws/CognitoIdentityProvider/Exception/CognitoIdentityProviderException.php', + 'Aws\AutoScaling\AutoScalingClient' => __DIR__ . '/Aws/AutoScaling/AutoScalingClient.php', + 'Aws\AutoScaling\Exception\AutoScalingException' => __DIR__ . '/Aws/AutoScaling/Exception/AutoScalingException.php', + 'Aws\MarketplaceEntitlementService\Exception\MarketplaceEntitlementServiceException' => __DIR__ . '/Aws/MarketplaceEntitlementService/Exception/MarketplaceEntitlementServiceException.php', + 'Aws\MarketplaceEntitlementService\MarketplaceEntitlementServiceClient' => __DIR__ . '/Aws/MarketplaceEntitlementService/MarketplaceEntitlementServiceClient.php', + 'Aws\PI\PIClient' => __DIR__ . '/Aws/PI/PIClient.php', + 'Aws\PI\Exception\PIException' => __DIR__ . '/Aws/PI/Exception/PIException.php', + 'Aws\DLM\Exception\DLMException' => __DIR__ . '/Aws/DLM/Exception/DLMException.php', + 'Aws\DLM\DLMClient' => __DIR__ . '/Aws/DLM/DLMClient.php', + 'Aws\ServiceDiscovery\ServiceDiscoveryClient' => __DIR__ . '/Aws/ServiceDiscovery/ServiceDiscoveryClient.php', + 'Aws\ServiceDiscovery\Exception\ServiceDiscoveryException' => __DIR__ . '/Aws/ServiceDiscovery/Exception/ServiceDiscoveryException.php', + 'Aws\SnowBall\SnowBallClient' => __DIR__ . '/Aws/SnowBall/SnowBallClient.php', + 'Aws\SnowBall\Exception\SnowBallException' => __DIR__ . '/Aws/SnowBall/Exception/SnowBallException.php', + 'Aws\MockHandler' => __DIR__ . '/Aws/MockHandler.php', + 'Aws\ApplicationDiscoveryService\Exception\ApplicationDiscoveryServiceException' => __DIR__ . '/Aws/ApplicationDiscoveryService/Exception/ApplicationDiscoveryServiceException.php', + 'Aws\ApplicationDiscoveryService\ApplicationDiscoveryServiceClient' => __DIR__ . '/Aws/ApplicationDiscoveryService/ApplicationDiscoveryServiceClient.php', + 'Aws\ACMPCA\Exception\ACMPCAException' => __DIR__ . '/Aws/ACMPCA/Exception/ACMPCAException.php', + 'Aws\ACMPCA\ACMPCAClient' => __DIR__ . '/Aws/ACMPCA/ACMPCAClient.php', + 'Aws\JsonCompiler' => __DIR__ . '/Aws/JsonCompiler.php', + 'Aws\IoT1ClickProjects\IoT1ClickProjectsClient' => __DIR__ . '/Aws/IoT1ClickProjects/IoT1ClickProjectsClient.php', + 'Aws\IoT1ClickProjects\Exception\IoT1ClickProjectsException' => __DIR__ . '/Aws/IoT1ClickProjects/Exception/IoT1ClickProjectsException.php', + 'Aws\OpsWorksCM\Exception\OpsWorksCMException' => __DIR__ . '/Aws/OpsWorksCM/Exception/OpsWorksCMException.php', + 'Aws\OpsWorksCM\OpsWorksCMClient' => __DIR__ . '/Aws/OpsWorksCM/OpsWorksCMClient.php', + 'Aws\FSx\Exception\FSxException' => __DIR__ . '/Aws/FSx/Exception/FSxException.php', + 'Aws\FSx\FSxClient' => __DIR__ . '/Aws/FSx/FSxClient.php', + 'Aws\Athena\AthenaClient' => __DIR__ . '/Aws/Athena/AthenaClient.php', + 'Aws\Athena\Exception\AthenaException' => __DIR__ . '/Aws/Athena/Exception/AthenaException.php', + 'Aws\Pricing\Exception\PricingException' => __DIR__ . '/Aws/Pricing/Exception/PricingException.php', + 'Aws\Pricing\PricingClient' => __DIR__ . '/Aws/Pricing/PricingClient.php', + 'Aws\Glacier\MultipartUploader' => __DIR__ . '/Aws/Glacier/MultipartUploader.php', + 'Aws\Glacier\TreeHash' => __DIR__ . '/Aws/Glacier/TreeHash.php', + 'Aws\Glacier\GlacierClient' => __DIR__ . '/Aws/Glacier/GlacierClient.php', + 'Aws\Glacier\Exception\GlacierException' => __DIR__ . '/Aws/Glacier/Exception/GlacierException.php', + 'Aws\History' => __DIR__ . '/Aws/History.php', + 'Aws\Kafka\KafkaClient' => __DIR__ . '/Aws/Kafka/KafkaClient.php', + 'Aws\Kafka\Exception\KafkaException' => __DIR__ . '/Aws/Kafka/Exception/KafkaException.php', + 'Aws\HandlerList' => __DIR__ . '/Aws/HandlerList.php', + 'Aws\WrappedHttpHandler' => __DIR__ . '/Aws/WrappedHttpHandler.php', + 'Aws\Organizations\OrganizationsClient' => __DIR__ . '/Aws/Organizations/OrganizationsClient.php', + 'Aws\Organizations\Exception\OrganizationsException' => __DIR__ . '/Aws/Organizations/Exception/OrganizationsException.php', + 'JmesPath\SyntaxErrorException' => __DIR__ . '/JmesPath/SyntaxErrorException.php', + 'JmesPath\TreeCompiler' => __DIR__ . '/JmesPath/TreeCompiler.php', + 'JmesPath\Lexer' => __DIR__ . '/JmesPath/Lexer.php', + 'JmesPath\Utils' => __DIR__ . '/JmesPath/Utils.php', + 'JmesPath\FnDispatcher' => __DIR__ . '/JmesPath/FnDispatcher.php', + 'JmesPath\Parser' => __DIR__ . '/JmesPath/Parser.php', + 'JmesPath\AstRuntime' => __DIR__ . '/JmesPath/AstRuntime.php', + 'JmesPath\CompilerRuntime' => __DIR__ . '/JmesPath/CompilerRuntime.php', + 'JmesPath\JmesPath' => __DIR__ . '/JmesPath/JmesPath.php', + 'JmesPath\DebugRuntime' => __DIR__ . '/JmesPath/DebugRuntime.php', + 'JmesPath\TreeInterpreter' => __DIR__ . '/JmesPath/TreeInterpreter.php', + 'JmesPath\Env' => __DIR__ . '/JmesPath/Env.php', +); + +spl_autoload_register(function ($class) use ($mapping) { + if (isset($mapping[$class])) { + require $mapping[$class]; + } +}, true); + +require __DIR__ . '/Aws/functions.php'; +require __DIR__ . '/GuzzleHttp/functions_include.php'; +require __DIR__ . '/GuzzleHttp/Psr7/functions_include.php'; +require __DIR__ . '/GuzzleHttp/Promise/functions_include.php'; +require __DIR__ . '/JmesPath/JmesPath.php'; diff --git a/lib/jwt.php b/lib/jwt.php new file mode 100644 index 0000000..2776bfd --- /dev/null +++ b/lib/jwt.php @@ -0,0 +1,200 @@ +<?php + +/** + * JSON Web Token implementation, based on this spec: + * http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06 + * + * PHP version 5 + * + * @category Authentication + * @package Authentication_JWT + * @author Neuman Vong <neuman@twilio.com> + * @author Anant Narayanan <anant@php.net> + * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD + * @link https://github.com/firebase/php-jwt + */ +class JWT +{ + /** + * Decodes a JWT string into a PHP object. + * + * @param string $jwt The JWT + * @param string|null $key The secret key + * @param bool $verify Don't skip verification process + * + * @return object The JWT's payload as a PHP object + * @throws UnexpectedValueException Provided JWT was invalid + * @throws DomainException Algorithm was not provided + * + * @uses jsonDecode + * @uses urlsafeB64Decode + */ + public static function decode($jwt, $key = null, $verify = true) + { + $tks = explode('.', $jwt); + if (count($tks) != 3) { + throw new UnexpectedValueException('Wrong number of segments'); + } + list($headb64, $bodyb64, $cryptob64) = $tks; + if (null === ($header = JWT::jsonDecode(JWT::urlsafeB64Decode($headb64)))) { + throw new UnexpectedValueException('Invalid segment encoding'); + } + if (null === $payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64))) { + throw new UnexpectedValueException('Invalid segment encoding'); + } + $sig = JWT::urlsafeB64Decode($cryptob64); + if ($verify) { + if (empty($header->alg)) { + throw new DomainException('Empty algorithm'); + } + if ($sig != JWT::sign("$headb64.$bodyb64", $key, $header->alg)) { + throw new UnexpectedValueException('Signature verification failed'); + } + } + return $payload; + } + + /** + * Converts and signs a PHP object or array into a JWT string. + * + * @param object|array $payload PHP object or array + * @param string $key The secret key + * @param string $algo The signing algorithm. Supported + * algorithms are 'HS256', 'HS384' and 'HS512' + * + * @return string A signed JWT + * @uses jsonEncode + * @uses urlsafeB64Encode + */ + public static function encode($payload, $key, $algo = 'HS256') + { + $header = array('typ' => 'JWT', 'alg' => $algo); + + $segments = array(); + $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($header)); + $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($payload)); + $signing_input = implode('.', $segments); + + $signature = JWT::sign($signing_input, $key, $algo); + $segments[] = JWT::urlsafeB64Encode($signature); + + return implode('.', $segments); + } + + /** + * Sign a string with a given key and algorithm. + * + * @param string $msg The message to sign + * @param string $key The secret key + * @param string $method The signing algorithm. Supported + * algorithms are 'HS256', 'HS384' and 'HS512' + * + * @return string An encrypted message + * @throws DomainException Unsupported algorithm was specified + */ + public static function sign($msg, $key, $method = 'HS256') + { + $methods = array( + 'HS256' => 'sha256', + 'HS384' => 'sha384', + 'HS512' => 'sha512', + ); + if (empty($methods[$method])) { + throw new DomainException('Algorithm not supported'); + } + return hash_hmac($methods[$method], $msg, $key, true); + } + + /** + * Decode a JSON string into a PHP object. + * + * @param string $input JSON string + * + * @return object Object representation of JSON string + * @throws DomainException Provided string was invalid JSON + */ + public static function jsonDecode($input) + { + $obj = json_decode($input); + if (function_exists('json_last_error') && $errno = json_last_error()) { + JWT::_handleJsonError($errno); + } else if ($obj === null && $input !== 'null') { + throw new DomainException('Null result with non-null input'); + } + return $obj; + } + + /** + * Encode a PHP object into a JSON string. + * + * @param object|array $input A PHP object or array + * + * @return string JSON representation of the PHP object or array + * @throws DomainException Provided object could not be encoded to valid JSON + */ + public static function jsonEncode($input) + { + $json = json_encode($input); + if (function_exists('json_last_error') && $errno = json_last_error()) { + JWT::_handleJsonError($errno); + } else if ($json === 'null' && $input !== null) { + throw new DomainException('Null result with non-null input'); + } + return $json; + } + + /** + * Decode a string with URL-safe Base64. + * + * @param string $input A Base64 encoded string + * + * @return string A decoded string + */ + public static function urlsafeB64Decode($input) + { + $remainder = strlen($input) % 4; + if ($remainder) { + $padlen = 4 - $remainder; + $input .= str_repeat('=', $padlen); + } + return base64_decode(strtr($input, '-_', '+/')); + } + + /** + * Encode a string with URL-safe Base64. + * + * @param string $input The string you want encoded + * + * @return string The base64 encode of what you passed in + */ + public static function urlsafeB64Encode($input) + { + return str_replace('=', '', strtr(base64_encode($input), '+/', '-_')); + } + + /** + * Helper method to create a JSON error. + * + * @param int $errno An error number from json_last_error() + * + * @return void + */ + private static function _handleJsonError($errno) + { + $messages = array( + JSON_ERROR_DEPTH => 'Maximum stack depth exceeded', + JSON_ERROR_CTRL_CHAR => 'Unexpected control character found', + JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON' + ); + throw new DomainException( + isset($messages[$errno]) + ? $messages[$errno] + : 'Unknown JSON error: ' . $errno + ); + } + +} + + + +?> diff --git a/lib/r4fb.php b/lib/r4fb.php new file mode 100644 index 0000000..b9cb5f6 --- /dev/null +++ b/lib/r4fb.php @@ -0,0 +1,1445 @@ +<?php + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/* + +Run4Football v0.1 +This file is part of Run4Football. (C)2019 Corrado Mulas - CM TLC - R&D Dept. - Ardara (SS) + + Run4Football is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Run4Football is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Run4Football. If not, see <http://www.gnu.org/licenses/>. + +*/ + +/*##########NOTE################ + +Inserire controlli corretta esecuzione, mediante return + +*/ +############FINE NOTE########### +/** + * Description of r4fb + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ + +//GLOBS DB (MySQL/MariaDB only) +define('DBN', ""); //DB NAME +define('DBU', ""); //DB USER +define('DBH', ""); //DB HOST +define('DBP', ""); //DB PASSWORD + +require_once 'sns.php'; + + +class r4fb { + + + //generazione UUIDv4: + public function guidv4() + { + //Genera UUID v4 + $data = openssl_random_pseudo_bytes(16); + assert(strlen($data) == 16); + + $data[6] = chr(ord($data[6]) & 0x0f | 0x40); + $data[8] = chr(ord($data[8]) & 0x3f | 0x80); + + return strtoupper(vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4))); + } + + public function fetchUsers($guid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `utenti` WHERE id=?"); + $query->bind_param('s',$guid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + //inserimento torneo: + public function insTorneo($tsinizio,$nome,$org,$loc,$man,$nsq,$ngi) + { + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `torneo`(`id`, `t`, `organizzazione`, `location`, `manager`) VALUES (,,,,) + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + //query SQL + prepared statement + $query = $mysqli->prepare("INSERT INTO `torneo`(`id`,`nome`,`t`, `organizzazione`, `location`, `manager`, `nsquadre`, `ngironi`) VALUES (?,?,?,?,?,?,?,?)"); + $query->bind_param('ssisssii',$id,$nome,$tsinizio,$org,$loc,$man,$nsq,$ngi); + $query->execute(); + $letter = 'A'; + + for($i=0; $i < $ngi; $i++) + { + $query = $mysqli->prepare("INSERT INTO `gironi`(`id`, `torneo`, `lettera`) VALUES (?,?,?)"); + $query->bind_param('sss', r4fb::guidv4(),$id,$letter); + $query->execute(); + + $letterAscii = ord($letter); + $letterAscii++; + $letter = chr($letterAscii); // 'B' + } + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + + + //inserimento arbitro: + public function insArb($nome, $torneo, $thumb, $email, $num) + { + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `arbitri`(`id`, `amm`, `nome`, `valutazione`, `path_thumb`, `torneo`) VALUES (,,,,,) + //INSERT INTO `utenti`(`id`, `matr`, `tc`, `nome`, `cognome`, `tm`, `tipo`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7]) + //INSERT INTO `users`(`uid`, `guid`, `gid`, `password`, `salt`, `givenName`, `email`, `eduPersonPrincipalName`, `isEnabled`) VALUES () + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + $pass = bin2hex(openssl_random_pseudo_bytes(4)); + $salt = bin2hex(openssl_random_pseudo_bytes(20)); + $pass_ha = hash('sha256',$salt.$pass); + $matr = "R".str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT); + //query SQL + prepared statement + $time = time(); + $query = $mysqli->prepare("INSERT INTO `utenti`(`id`, `matr`, `tc`, `nome`, `tm`, `tipo`) VALUES (?,?,?,?,?,3)"); + $query->bind_param('ssisi',$id,$matr,$time,$nome,$time); + $query->execute(); + + + + $query = $mysqli->prepare("INSERT INTO `arbitri`(`id`, `nome`, `path_thumb`, `torneo`) VALUES (?,?,?,?)"); + $query->bind_param('siss',$id,$nome,$thumb,$torneo); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + + $mysqli = new mysqli(DBH, "", "", ""); + $query = $mysqli->prepare("INSERT INTO `users`(`uid`, `guid`, `password`, `salt`, `givenName`, `email`, `eduPersonPrincipalName`, `isEnabled`) VALUES (?,?,?,?,?,?,?,1)"); + $query->bind_param('sssssss',$matr,$id,$pass_ha,$salt,$nome,$email,$nome); + $query->execute(); + echo mysqli_error($mysqli); + + $query->close(); + $msg = "Credenziali RUN IdP:\r\n" + . "User: ".$matr."\r\n" + . "Password: ".$pass."\r\n" + . "Valide per: run4football"; + snsrun::sendSMS($num, $msg); + return 1; + } + //inserimento squadra: + public function insSq($torneo, $n, $nome, $colore, $npls, $girone) + { + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `squadre`(`id`, `nome`, `colore`, `pt`, `valutazione`, `torneo`) VALUES (,,,,,) + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + //query SQL + prepared statement + $query = $mysqli->prepare("INSERT INTO `squadre`(`id`,`n`, `nome`, `colore`,`nplayers`, `torneo`,`girone`) VALUES (?,?,?,?,?,?,?)"); + $query->bind_param('sississ',$id,$n,$nome,$colore,$npls,$torneo,$girone); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + //inserimento giocatore: + public function insPlayer($num, $ruolo, $nome, $thumb, $squadra, $email) + { + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `giocatori`(`id`, `n`, `ruolo`, `goal`, `gialli`, `rossi`, `valutazione`, `nome`, `path_thumb`, `squadra`) VALUES (,,,,,,,,,) + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + + $pass = bin2hex(openssl_random_pseudo_bytes(4)); + $salt = bin2hex(openssl_random_pseudo_bytes(20)); + $pass_ha = hash('sha256',$salt.$pass); + $matr = "P".str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT); + //query SQL + prepared statement + $time = time(); + $query = $mysqli->prepare("INSERT INTO `utenti`(`id`, `matr`, `tc`, `nome`, `tm`, `tipo`) VALUES (?,?,?,?,?,4)"); + $query->bind_param('ssisi',$id,$matr,$time,$nome,$time); + $query->execute(); + + //query SQL + prepared statement + $query = $mysqli->prepare("INSERT INTO `giocatori`(`id`, `n`, `ruolo`, `nome`, `path_thumb`, `squadra`) VALUES (?,?,?,?,?,?)"); + $query->bind_param('sissss',$id,$num,$ruolo,$nome,$thumb,$squadra); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + + $mysqli = new mysqli(DBH, "", "", ""); + $query = $mysqli->prepare("INSERT INTO `users`(`uid`, `guid`, `password`, `salt`, `givenName`, `email`, `eduPersonPrincipalName`, `isEnabled`) VALUES (?,?,?,?,?,?,?,1)"); + $query->bind_param('sssssss',$matr,$id,$pass_ha,$salt,$nome,$email,$nome); + $query->execute(); + echo mysqli_error($mysqli); + + $query->close(); + $msg = "Credenziali RUN IdP:\r\n" + . "User: ".$matr."\r\n" + . "Password: ".$pass."\r\n" + . "Valide per: https://r-un.ml/6tco2"; + + $sub = 'Credenziali accesso giocatori RUN4Football'; + $from = "idp@runpolito.ml"; + if(snsrun::sendEmail($email, $sub, $msg, $from)) + { + return 1; + } + else + { + return 0; + } + //mail($email, $subject, $msg, $headers); + + //return 1; + } + //inserimento partita: + public function insMatch($tProg, $s1, $s2, $arb, $torneo, $giornata, $campo, $tipo, $cat) + { + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `partite`(`id`, `t_prog`, `t_start`, `t_stop`, `s1`, `s2`, `pt`, `falli`, `arb`, `torneo`) VALUES (,,,,,,,,) + $query = $mysqli->prepare("INSERT INTO `partite`(`id`, `t_prog`, `s1`, `s2`, `arb`, `giornata`, `campo`, `torneo`,`tipo`, `cat`) VALUES (?,?,?,?,?,?,?,?,?,?)"); + $query->bind_param('sisssissii',$id,$tProg,$s1,$s2,$arb,$giornata,$campo,$torneo,$tipo,$cat); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + //EVENTI PARTITA + + public function insVote($bestpl,$bestsq,$bestrf,$commenti,$sid,$ip) + { + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $id = r4fb::guidv4(); + //query SQL + prepared statement + //query INSERT: + //INSERT INTO `partite`(`id`, `t_prog`, `t_start`, `t_stop`, `s1`, `s2`, `pt`, `falli`, `arb`, `torneo`) VALUES (,,,,,,,,) + $query = $mysqli->prepare("INSERT INTO `voti`(`id`, `best_sq`, `best_pl`, `best_rf`, `sid`, `ip`, `comment`) VALUES (?,?,?,?,?,?,?)"); + $query->bind_param('sssssss',$id,$bestpl,$bestsq,$bestrf,$sid,$ip,$commenti); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + + //sorteggio + public function randStart($partita, $uid) + { + //sorteggio inizio + //leggi ID squadre da s1,s2 e scegli uno dei due id in modo pseudo-random + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id= ?"); + $query->bind_param('s',$partita); + $result = $query->execute(); + $row = $result->fetch_array(MYSQLI_ASSOC); + + $s1 = $row['s1']; + $s2 = $row['s2']; + $sarray = compact($s1,$s2); + + //ultima operazione: chiusura connessione DB + $query->close(); + + return $sarray[rand(0,sizeof($sarray)-1)]; + } + + //START + public function startMatch($partita, $uid) + { + if(!$partita) + { + return 0; + } + else + { + $tstart = time(); + //query SQL + prepared statement + //query UPDATE per inserire T_START: + //UPDATE `partite` SET `t_start`=[value-2] WHERE id = 'uid partita' + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + + //prepared statement + $query = $mysqli->prepare("UPDATE `partite` SET `t_start`= ? WHERE id = ?"); + $query->bind_param('is',$tstart,$partita); + $result = $query->execute(); + + $query = $mysqli->prepare("UPDATE `arbitri` SET `curmatch`= ? WHERE id = ?"); + $query->bind_param('ss',$partita,$uid); + $result = $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + } + //inserimento goal + public function insGoal($giocatore, $partita, $uid) + { + //$giocatore = guidV4 giocatore + //$partita = guidV4 partita + //ATTENZIONE: se partita non in corso, manda tutto in culo + //(query per controllo incrociato se t_stop != NULL (programmata) e !=1 (in corso), e t_start definito) + //SELECT * FROM `partite` WHERE id='$partita' -> fetcha t_start e t_stop per controllo di cui sopra + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + + //prepared statement + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id= ?"); + $query->bind_param('s',$partita); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + $start = $row['t_start']; + $stop = $row['t_stop']; + + //core if() statement per verifica di cui sopra + if($start != NULL && $stop != 1 && $stop == NULL) + { + + //query SQL + prepared statement + //query UPDATE elenco goal + punteggio partita: + //cerca giocatore + squadra, cerca partita, inserisci goal su tab goal e aggiorna punteggio squadra su partita + + //cerca giocatore e cerca squadra per capire se incrementare pt_s1 o pt_s2 + //controlla se 'squadra' in tab 'giocatori' = 's1' o 's2' su tab 'partite', se nessuno dei due = errore + //SELECT * FROM `giocatori` WHERE id='$giocatore' + $query = $mysqli->prepare("SELECT * FROM `giocatori` WHERE id= ?"); + $query->bind_param('s',$giocatore); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + $squadra = $row['squadra']; + // + //fetcha id squadra da query prec. e inculagli il goal con una UPDATE su giocatori [STRONZATA, abbiamo l'id del giocatore porcoddio] + //NON SERVE A UN CAZZO//UPDATE `squadre` SET `id`=[value-1],`nome`=[value-2],`colore`=[value-3],`pt`=[value-4], WHERE 1 + //UPDATE `giocatori` SET `goal`= goal + 1 WHERE id='$giocatore' + $query = $mysqli->prepare("UPDATE `giocatori` SET `goal`= goal + 1 WHERE id= ?"); + $query->bind_param('s',$giocatore); + $query->execute(); + + //ricerca dati squadra + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id= ?"); + $query->bind_param('s',$partita); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + $s1 = $row['s1']; + $s2 = $row['s2']; + // + //aggiorna punteggio partita (cerca se id squadra è s1 o s2 su tab partite, e poi aggiorna il punteggio su pt_s1 o pt_s2) + //UPDATE `partite` SET `pt_s1`='pt_s1+1' WHERE id='$partita' + //UPDATE `partite` SET `pt_s2`='pt_s2+1' WHERE id='$partita' + switch ($squadra) + { + case $s1: + $query = $mysqli->prepare("UPDATE `partite` SET `pt_s1`= pt_s1 + 1 WHERE id= ?"); + $query->bind_param('s',$partita); + $query->execute(); + break; + case $s2: + $query = $mysqli->prepare("UPDATE `partite` SET `pt_s2`= pt_s2 + 1 WHERE id= ?"); + $query->bind_param('s',$partita); + $query->execute(); + break; + default: + //errore; + break; + } + + } + else + { + //restituisci qualcosa per farmi capire che sono una testa di cazzo + } + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + //inserimento fallo + public function insFallo($squadra, $uid) + { + //Fallo squadra + //query SQL + prepared statement + //query UPDATE: + //UPDATE `partite` SET `falli`= falli + 1 WHERE id = ? + //UPDATE `squadre` SET `falli`= falli + 1 WHERE id = ? + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $partita = r4fb::curMatch($uid); + $query = $mysqli->prepare("UPDATE `partite` SET `falli`= falli + 1 WHERE id = ?"); + $query->bind_param('s',$partita); + $query->execute(); + $query = $mysqli->prepare("UPDATE `squadre` SET `falli`= falli + 1 WHERE id = ?"); + $query->bind_param('s',$squadra); + $query->execute(); + + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id=?"); + $query->bind_param('s',$partita); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $row = $result->fetch_assoc(); + + if($squadra == $row['s1']) + { + $query = $mysqli->prepare("UPDATE `partite` SET `falli_s1`= falli_s1 + 1 WHERE id = ?"); + $query->bind_param('s',$partita); + $query->execute(); + } + else if($squadra == $row['s2']) + { + $query = $mysqli->prepare("UPDATE `partite` SET `falli_s2`= falli_s2 + 1 WHERE id = ?"); + $query->bind_param('s',$partita); + $query->execute(); + } + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + //ammonizione + public function insAmm($giocatore, $partita, $tipo, $uid) + { + + //ATTENZIONE: $partita non utilizzato: controllare logica + // + // + //parametro $tipo 1: giallo, 2: rosso + //Ammonizione (giallo, rosso) + //query SQL + prepared statement + //query UPDATE: + //UPDATE `giocatori` SET `gialli`=[value-5],`rossi`=[value-6] WHERE 1 + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + + //inserimento ammonizione su tab giocatore mediante update + switch ($tipo) + { + case 1: + $query = $mysqli->prepare("UPDATE `giocatori` SET `gialli`= gialli + 1 WHERE id = ?"); + $query->bind_param('s',$giocatore); + $query->execute(); + break; + case 2: + $query = $mysqli->prepare("UPDATE `giocatori` SET `rossi`= rossi + 1 WHERE id = ?"); + $query->bind_param('s',$giocatore); + $query->execute(); + break; + default: + //errore + break; + + } + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + //STOP + public function stopMatch($partita, $uid) + { + //Prima di tutto definisci ts fine. + $tsEnd = time(); + //TERMINE PARTITA + //segna ts stop, aggiorna punteggi squadre in base a sq vincente/pareggio/perdente + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + + //UPDATE `partite` SET `t_stop`= ? WHERE id = ? + //TERMINE PARTITA: upd ts + $query = $mysqli->prepare("UPDATE `partite` SET `t_stop`= ? WHERE id = ?"); + $query->bind_param('ss',$tsEnd,$partita); + $query->execute(); + + //logica punti classifica: + //vinta +3pt, pari +1pt, persa 0 + //cerca partita, segna ts fine, fetcha squadre, confronta punteggi, cerca squadre, aggiorna punteggi squadre + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id= ?"); + $query->bind_param('s',$partita); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + $s1 = $row['s1']; + $s2 = $row['s2']; + $pt1 = $row['pt_s1']; + $pt2 = $row['pt_s2']; + $cat = $row['cat']; + $tipo = $row['tipo']; + + /* cat: + * 1 class gironi/generale + * 2 class playoff + * 3 class playout + */ + + //query generica + //UPDATE `squadre` SET `pt`=[value-4] WHERE id = ? + if($pt1 > $pt2) + { + //vince s1, segna +3 a s1 + $query = $mysqli->prepare("UPDATE `squadre` SET `pt`=pt + 3 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + + switch ($cat) + { + case 1: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_gir`=pt_gir + 3 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + break; + case 2: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_poff`=pt_poff + 3 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + break; + case 3: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_pout`=pt_pout + 3 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + break; + default: + die(); + break; + } + } + else if($pt1 < $pt2) + { + //vince s2, segna +3 a s2 + $query = $mysqli->prepare("UPDATE `squadre` SET `pt`=pt + 3 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + + switch ($cat) + { + case 1: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_gir`=pt_gir + 3 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + case 2: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_poff`=pt_poff + 3 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + case 3: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_pout`=pt_pout + 3 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + default: + die(); + break; + } + } + else if($pt1 == $pt2) + { + //pareggio, segna +1 a s1 e +1 a s2 + //s1: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt`=pt + 1 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + + //s2: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt`=pt + 1 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + + switch ($cat) + { + case 1: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_gir`=pt_gir + 1 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_gir`=pt_gir + 1 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + case 2: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_poff`=pt_poff + 1 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_poff`=pt_poff + 1 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + case 3: + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_pout`=pt_pout + 1 WHERE id = ?"); + $query->bind_param('s',$s1); + $query->execute(); + + $query = $mysqli->prepare("UPDATE `squadre` SET `pt_pout`=pt_pout + 1 WHERE id = ?"); + $query->bind_param('s',$s2); + $query->execute(); + break; + default: + die(); + break; + } + } + + $query = $mysqli->prepare("UPDATE `arbitri` SET `curmatch`= NULL WHERE id = ?"); + $query->bind_param('s',$uid); + $query->execute(); + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + + public function fetchPartite($torneo, $uid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE torneo=? AND arb=? AND t_stop = 0 ORDER BY t_prog ASC"); + $query->bind_param('ss',$torneo,$uid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchPlayers($squadra) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `giocatori` WHERE squadra=? ORDER BY n ASC"); + $query->bind_param('s',$squadra); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchArbs($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `arbitri` WHERE torneo=?"); + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchTourneys() + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `torneo` WHERE 1 ORDER BY t DESC"); + //$query->bind_param('s',$squadra); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchSquadreTourn($torneo) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? ORDER BY n ASC"); + $query->bind_param('s',$torneo); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + + } + + public function fetchArbsTourn($torneo) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `arbitri` WHERE torneo=? ORDER BY nome ASC"); + $query->bind_param('s',$torneo); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + + } + public function fetchSquadre($matchid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id=?"); + $query->bind_param('s',$matchid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $row = $result->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row; + + } + + public function curMatch($uid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `arbitri` WHERE id=?"); + $query->bind_param('s',$uid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row['curmatch']; + + } + + public function curTourn($uid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `arbitri` WHERE id=?"); + $query->bind_param('s',$uid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row['torneo']; + + } + + public function tournData($torneo) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `torneo` WHERE id=?"); + $query->bind_param('s',$torneo); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row; + + } + + public function getFalli($sid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE id=?"); + $query->bind_param('s',$sid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row['falli']; + + } + + public function getFalliSq($sid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id=?"); + $query->bind_param('s',$sid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + $query->close(); + + if($sid == $row['s1']) + { + return $row['falli_s1']; + } + else if($sid == $row['s2']) + { + return $row['falli_s2']; + } + } + + public function getPoints($mid,$sn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE id=?"); + $query->bind_param('s',$mid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + + if($sn == 1) + { + return $row['pt_s1']; + } + else if($sn == 2) + { + return $row['pt_s2']; + } + } + + public function isRigore($sid) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE id=?"); + $query->bind_param('s',$sid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + + + if($row['rigori'] == 0) + { + if($row['falli'] == 5) + { + $query = $mysqli->prepare("UPDATE `squadre` SET `rigori`=rigori + 1 WHERE id = ?"); + $query->bind_param('s',$sid); + $query->execute(); + return 1; + } + else + { + return 0; + } + } + else + { + $div = $row['falli']/$row['rigori']; + if($div == 5) + { + $query = $mysqli->prepare("UPDATE `squadre` SET `rigori`=rigori + 1 WHERE id = ?"); + $query->bind_param('s',$sid); + $query->execute(); + return 1; + } + else + { + return 0; + } + } + $query->close(); + } + + public function nSquadre($torneo) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `torneo` WHERE id=?"); + $query->bind_param('s',$torneo); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row['nsquadre']; + + } + + public function nPlayers($squadra) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE id=?"); + $query->bind_param('s',$squadra); + $query->execute(); + $result = mysqli_stmt_get_result($query); + $row = $result->fetch_array(MYSQLI_ASSOC); + + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $row['nplayers']; + + } + + public function fetchGironi($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `gironi` WHERE torneo=? ORDER BY lettera ASC"); + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchClassGrn($tourn, $grn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND girone=? ORDER BY pt_gir DESC"); + $query->bind_param('ss',$tourn,$grn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchClassPoff($tourn, $tipo) + { + //restituisce array con elenco partite dato un torneo + /*<option value="1">Gironi</option> + <option value="2">Ottavi</option> + <option value="3">Quarti</option> + <option value="4">Semifinali</option> + <option value="5">Finale</option>*/ + //Connessione SQL + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + + switch($tipo) + { + default: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? ORDER BY pt_poff DESC"); + break; + case 2: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=2 ORDER BY pt_poff DESC"); + break; + case 3: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=3 ORDER BY pt_poff DESC"); + break; + case 4: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=4 ORDER BY pt_poff DESC"); + break; + case 5: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=5 ORDER BY pt_poff DESC"); + break; + } + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchClassPout($tourn,$tipo) + { + //restituisce array con elenco partite dato un torneo + /*<option value="1">Gironi</option> + <option value="2">Ottavi</option> + <option value="3">Quarti</option> + <option value="4">Semifinali</option> + <option value="5">Finale</option>*/ + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + switch($tipo) + { + default: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? ORDER BY pt_pout DESC"); + break; + case 2: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=2 ORDER BY pt_pout DESC"); + break; + case 3: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=3 ORDER BY pt_pout DESC"); + break; + case 4: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=4 ORDER BY pt_pout DESC"); + break; + case 5: + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? AND tipo=5 ORDER BY pt_pout DESC"); + break; + } + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchClassCC($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `giocatori` WHERE 1 ORDER BY goal DESC"); + // $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function fetchClass($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE torneo=? ORDER BY pt DESC"); + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function togglePls($chkbx,$s1,$s2) + { + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + + $query = $mysqli->prepare("UPDATE `giocatori` SET `isActive`= 0 WHERE squadra= ?"); + $query->bind_param('s',$s1); + $query->execute(); + + $query = $mysqli->prepare("UPDATE `giocatori` SET `isActive`= 0 WHERE squadra= ?"); + $query->bind_param('s',$s2); + $query->execute(); + + $max = count($chkbx); + for($i=0; $i<$max; $i++) + { + $id = $chkbx[$i]; + $query = $mysqli->prepare("UPDATE `giocatori` SET `isActive`=1 WHERE id = ?"); + $query->bind_param('s',$id); + $query->execute(); + } + + /* $max2 = count($chkbx2); + for($j=0; $j<$max2; $j++) + { + $id2 = $chkbx2[$j]; + $query = $mysqli->prepare("UPDATE `giocatori` SET `isActive`=1 WHERE id = ?"); + $query->bind_param('s',$id2); + $query->execute(); + }*/ + + /* $query = $mysqli->prepare("UPDATE `giocatori` SET `isActive`= 1 WHERE id = ? AND squadra= ?"); + $query->bind_param('iss',$status,$uid,$squadra); + $query->execute(); */ + + //ultima operazione: chiusura connessione DB + $query->close(); + return 1; + } + + public function fetchSquadraData($squadra) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `squadre` WHERE id=?"); + $query->bind_param('s',$squadra); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + + } + + public function proxMatches($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $ts = time(); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE torneo=? AND t_start=0 AND t_prog > ? ORDER BY t_prog ASC"); + //$query = $mysqli->prepare("SELECT * FROM `partite` WHERE torneo=? AND t_start=0 ORDER BY t_prog DESC"); + $query->bind_param('si',$tourn,$ts); + //$query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function curMatches($tourn) + { + //restituisce array con elenco partite dato un torneo + + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + $ts = time(); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + $query = $mysqli->prepare("SELECT * FROM `partite` WHERE torneo=? AND t_start > 0 AND t_stop=0 ORDER BY t_start ASC"); + $query->bind_param('s',$tourn); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + } + + public function toggleVote($trn, $status) + { + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + if($status == 1) + { + $query = $mysqli->prepare("UPDATE `torneo` SET `voteStatus`= 1 WHERE id = ?"); + } + else if($status == 2) + { + $query = $mysqli->prepare("UPDATE `torneo` SET `voteStatus`= 2 WHERE id = ?"); + } + else + { + die(); + } + $query->bind_param('s',$trn); + $query->execute(); + $query->close(); + return 1; + + } + + public function TTrcvdMsgs($guid, $tipo) + { + //Connessione SQL + $mysqli = new mysqli(DBH, DBU, DBP, DBN); + //Query: SELECT * FROM `partite` WHERE torneo = ? ,dove torneo = $torneo + switch ($tipo) + { + case 0: + $query = $mysqli->prepare("SELECT * FROM `messaggi` WHERE recipient=? ORDER BY ts_sent DESC"); + break; + case 1: + $query = $mysqli->prepare("SELECT * FROM `messaggi` WHERE recipient=? AND ts_read= 0 ORDER BY ts_sent DESC"); + break; + case 2: + $query = $mysqli->prepare("SELECT * FROM `messaggi` WHERE recipient=? AND ts_read > 0 ORDER BY ts_sent DESC"); + break; + } + // $query = $mysqli->prepare("SELECT * FROM `messaggi` WHERE recipient=? ORDER BY ts_sent DESC"); + $query->bind_param('s',$guid); + $query->execute(); + $result = mysqli_stmt_get_result($query); + + $rows = array(); + while ($row = $result->fetch_assoc()) + { + $rows[] = $row; + } + + // $rows = $query->fetch_assoc(); + //ultima operazione: chiusura connessione DB + + $query->close(); + return $rows; + + + } +} + + diff --git a/lib/sns.php b/lib/sns.php new file mode 100644 index 0000000..a1bf7c2 --- /dev/null +++ b/lib/sns.php @@ -0,0 +1,87 @@ +<?php + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * Description of sns + * + * @author corradomulas + */ +require_once "Mail.php"; +require 'aws/aws-autoloader.php'; + +use Aws\Sns\SnsClient; +use Aws\Exception\AwsException; + +class snsrun { + //put your code here + public function sendEmail($to, $sub, $msg, $from) + { + // Pear Mail Library + $subject = 'Insert subject here'; // subject of mail + + $headers = array( + 'From' => $from, + 'To' => $to, + 'Subject' => $sub, + 'Reply-To' => $from, + 'X-Mailer' => "CM TLC", + ); + + $smtp = Mail::factory('smtp', array( + 'host' => 'ssl://smtphost', + 'port' => '465', + 'auth' => true, + 'username' => '', //your gmail account + 'password' => '' // your password + )); + + // Send the mail + $mail = $smtp->send($to, $headers, $msg); + + //check mail sent or not + if (PEAR::isError($mail)) { + return 0; + } else { + return 1; + } + } + public function sendSMS($num, $msg) + { + // Hard-coded credentials + $SnSclient = new SnsClient([ + 'version' => 'latest', + 'region' => 'eu-west-1', + 'credentials' => [ + 'key' => '', + 'secret' => '', + ], + ]); + + //$topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; + try { + $result = $SnSclient->publish([ + "MessageAttributes" => [ + 'AWS.SNS.SMS.SenderID' => [ + 'DataType' => 'String', + 'StringValue' => 'RUNIdP' + ], + 'AWS.SNS.SMS.SMSType' => [ + 'DataType' => 'String', + 'StringValue' => 'Transactional' + ] + ], + 'Message' => $msg, + 'PhoneNumber' => $num, + ]); + var_dump($result); + } catch (AwsException $e) { + // output error message if fails + error_log($e->getMessage()); + } + } +} diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..067d681 --- /dev/null +++ b/logout.php @@ -0,0 +1,14 @@ +<?php + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +require '/sda1/www/idp.runpolito.ml/vendor/autoload.php'; +require_once '/sda1/www/idp.runpolito.ml/lib/_autoload.php'; +//session_start(); +$auth = new \SimpleSAML\Auth\Simple('runpolito-sp'); +SimpleSAML_Session::getSessionFromRequest()->cleanup(); +$auth->logout(); diff --git a/manager.php b/manager.php new file mode 100644 index 0000000..647962c --- /dev/null +++ b/manager.php @@ -0,0 +1,1045 @@ +<!DOCTYPE html> +<!-- +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +--> +<html> + <head> + <meta charset="UTF-8"> + <title> + + + + + + + + + + + isAuthenticated()) { + SimpleSAML_Session::getSessionFromRequest()->cleanup(); + // Show login link. + print('Login'); +}*/ + +//Auth livello 1: +$auth->requireAuth(); +SimpleSAML_Session::getSessionFromRequest()->cleanup(); + +//print_r($auth->getAttributes()); + +$guid = $auth->getAttributes()['guid'][0]; +//print_r(r4fb::fetchUsers($guid)); +$nome = r4fb::fetchUsers($guid)[0]['nome']; +$cognome = r4fb::fetchUsers($guid)[0]['cognome']; +$matr = r4fb::fetchUsers($guid)[0]['matr']; +//Auth livello 2: +$tipo = trim(r4fb::fetchUsers($guid)[0]['tipo']); +//print $tipo; +if($tipo != 1 && $tipo != 2) +{ + $auth->logout(); + header("Location: index.php?error=Privilegi insufficienti."); + die("su cunnu e tzia rua bagassa"); +} + + +?> + . + +*/ +/** + * Description of manager + * + * @author corradomulas for Run PoliTo - Corso Duca degli Abruzzi 24, 10129 Torino (TO) + */ +// put your code here + + //MAIN: + // echo $_SESSION['tourn']; + ?> + +
+
+ + +
+ + Utente + Torneo + Arbitri + Squadre + Giocatori + Calendario + Partite + Messaggi +
+ +
+ + + + + + + +
+ + +
+ porco dio + +
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + (necessario solo per invio credenziali) +
  • +
  • + + +
  • +
+ +
+ +
+
+ porca madonna + +
+
+ porco gesoo + +
+
+ porco giuseppe + +
+
+ porci re magi + +
+
+ porco abramo + +
+
+ porco caino + +
+ +
+ + +
+ +
+
+ + +
+ +
+ +
+ +
+
+ + +
+
merda + +
+
+ + +
+ +
+
+
+ '; + + for($i=0; $i < $nsq; $i++) + { + echo ' +
+ Squadra '.($i+1).' + + + + + + + + +
'; + } + + echo ''; + echo ''; + + if(isset($_POST['insq'])) + { + $max = sizeof($_POST['nome']); + $tourn = $_SESSION['tourn']; + echo $tourn; + for($i=0; $i < $max; $i++) + { + $nome = $_POST['nome'][$i]; + $colore = $_POST['colore'][$i]; + $npls = $_POST['npls'][$i]; + $girone = $_POST['girone'][$i]; + + r4fb::insSq($tourn, ($i+1), $nome, $colore, $npls, $girone); + } + } + ?> +
+
+ +
+ +
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • + + + + format('H:i'); + $tsinizio = strtotime($_POST['tourntime']); + $org = $_POST['org']; + $loc = $_POST['location']; + $nome = $_POST['nome']; + $nsquadre = $_POST['nsquadre']; + $ngironi = $_POST['ngironi']; + + r4fb::insTorneo($tsinizio,$nome,$org,$loc,$guid,$nsquadre,$ngironi); + } + + ?> +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ +
+ + '; + + for($i=0; $i < $npl; $i++) + { + echo ' +
+ Giocatore '.($i+1).' + + +
'; + } + + echo ''; + echo ''; + } + + if(isset($_POST['insp'])) + { + $max = sizeof($_POST['nome']); + $team = $_SESSION['team']; + echo $team; + for($i=0; $i < $max; $i++) + { + $nome = $_POST['nome'][$i]; + $email = $_POST['email'][$i]; + $n = $i+1; + if(!r4fb::insPlayer($n, "1", $nome, "notdef", $team, $email)) die("merdacciasecca"); + } + } + ?> +
+
+ + + + + + + + + + + + + + diff --git a/simplesamlphp-1.16.1.tar.gz b/simplesamlphp-1.16.1.tar.gz new file mode 100755 index 0000000..5cb7c1b Binary files /dev/null and b/simplesamlphp-1.16.1.tar.gz differ diff --git a/style/arbitro.css b/style/arbitro.css new file mode 100644 index 0000000..e77ebb2 --- /dev/null +++ b/style/arbitro.css @@ -0,0 +1,193 @@ +/* +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +*/ +/* + Created on : 11-mar-2019, 12.04.06 + Author : corradomulas +*/ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Archivo', sans-serif; + +} + +/* Mobile Styles */ +@media only screen and (max-width: 400px) { + body { + background-color: #F09A9D; /* Red */ + } +} + +/* Tablet Styles */ +@media only screen and (min-width: 401px) and (max-width: 960px) { + body { + background-color: #F5CF8E; /* Yellow */ + } +} + +/* Desktop Styles */ +@media only screen and (min-width: 961px) { + +} + #body { + background-color: whitesmoke; /* Blue */ + } + +#footer { + position: fixed; + bottom: 0; + width: 100%; + text-decoration: none; + font-size: calc(5vw + 5vh); + text-align: center; + background-color: black; + border-top-style: solid; + border-top-width: thin; + border-top-color: #FFF; +} + +.func { + padding-top: 5px; +} + +#header { + position: fixed; + top: 0; + width: 100%; + background-color: black; + color: white; + border-bottom-style: solid; + border-bottom-width: thin; + border-bottom-color: #FFF; +} + +.match { + top: 30px; +} +.startmatch { + display: none; +} + +.stopmatch { + display: none; +} + +.fallo { + display: none; +} + +.ammonizione { + display: none; + + width: 6vw; +} + +.goal { + display: none +} + +.pli { + display: none; + float:left; +} + +.partite { + display: none; +} + +.emgtab { + margin-top: 30px; + display: none; +} + +.msgtab { + margin-top: 30px; + display: none; +} + +.usertab { + margin-top: 30px; + display: none; +} + +.btn1 { + margin: 5px; + background-color: #FFF; /* Green */ + border-style: solid; + border-width: 1px; + border-color: #000; + color: black; + padding: 40% 45%; + max-height: 10px; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + } + +a:link { +color: #FFF; +} +a:visited { +color: #FFF; +} +a:hover { +color: #FFF; +} + +.maincont { + margin: 30px; + /*margin-bottom: 60px;*/ +} + +ul{ +list-style-type:none; +margin-right: 20px; +} + +.clock { + position: absolute; + top: 50%; + left: 50%; + transform: translateX(-50%) translateY(-50%); + color: #FFF; +} + +.startab { + display: none; +} + +.selpls { + display: none; + +} + +.chkbx { + width: 50px; + height: 50px; + margin: 10px; +} + + +.points { + width: 100%; + display: inline-block; + /* font-size: 50px; */ + text-align: center; +} + +#points { + display: inline-block; + font-size: 50px; +} + +.falli { + font-size: 25px; + display: inline-block; + color: #ff4747; +} diff --git a/style/insre.css b/style/insre.css new file mode 100644 index 0000000..bcd815c --- /dev/null +++ b/style/insre.css @@ -0,0 +1,258 @@ +/* +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +*/ +/* + Created on : 7-apr-2019, 16.50.44 + Author : corradomulas +*/ + +@import "lesshat"; + + +.clearfix() { + zoom: 1; + &:before, &:after{ + content: ""; + display: table; + } + &:after{ + clear: both; + } +} + +.col() { + padding-right: 10px; + float: left; + &:last-of-type { + padding-right: 0; + } +} + +.transition(@speed, @easing) { + transition: all @speed @easing; +} + + +@white: #fff; +@grey-lightest: #f9f9f9; +@grey-light: #e3e3e3; +@grey: #e5e5e5; +@grey-dark: #b9b9b9; + +@purple: #c68eaa; +@green: #7ed321; +@emerald: #04BDBD; +@blue: #04AEC5; +@blue-dark: #0F6CC9; +@color-primary: @green; +@color-primary-strong: darken(saturate(@color-primary, 5%), 10%); + +@br: 3px; + +@fast: 0.35s; + +@ease: ease-in-out; + +// GENERAL + +* { + &, &:before, &:after { + box-sizing: border-box; + } +} + +body { + padding: 1em; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 15px; + // font-size: 1vw; + color: @grey-dark; + background-color: @grey-light; +} + +// TYPOGRAPHY + +h4 { + color: @color-primary; +} + +// FORM + +input { + width: 100%; + padding: 1em; + line-height: 1.4; + background-color: @grey-lightest; + border: 1px solid @grey; + border-radius: 3px; + .transition(@fast, @ease); + &:focus { + outline: 0; + border-color: @color-primary-strong; + & + .input-icon { + i { + color: @color-primary; + } + &:after { + border-right-color: @color-primary; + } + } + } + &[type="radio"] { + display: none; + & + label { + &:extend(input); + display: inline-block; + width: 50%; + text-align: center; + float: left; + border-radius: 0; + &:first-of-type { + border-top-left-radius: @br; + border-bottom-left-radius: @br; + } + &:last-of-type { + border-top-right-radius: @br; + border-bottom-right-radius: @br; + } + i { + padding-right: 0.4em; + } + } + &:checked + label { + background-color: @color-primary; + color: @white; + border-color: @color-primary-strong; + } + } + &[type="checkbox"] { + display: none; + & + label { + position: relative; + display: block; + padding-left: 1.6em; + &:before { + &:extend(input); + position: absolute; + top: 0.2em; + left: 0; + display: block; + width: 1em; + height: 1em; + padding: 0; + content: ""; + } + &:after { + position: absolute; + top: 0.45em; + left: 0.2em; + font-size: 0.8em; + color: @white; + opacity: 0; + font-family: FontAwesome; + content: "\f00c"; + } + } + } + &:checked + label { + &:before { + &:extend(input[type="radio"]:checked + label); + } + &:after { + opacity: 1; + } + } +} + +select { + &:extend(input[type="radio"] + label); + height: 3.4em; + line-height: 2; + &:first-of-type { + border-top-left-radius: @br; + border-bottom-left-radius: @br; + } + &:last-of-type { + border-top-right-radius: @br; + border-bottom-right-radius: @br; + } + &:focus, &:active { + outline: 0; + &:extend(input[type="radio"]:checked + label); + } + option { + &:extend(input); + background-color: @color-primary; + color: @white; + } +} + +.input-group { + margin-bottom: 1em; + .clearfix(); +} + +.input-group-icon { + position: relative; + input { + padding-left: 4.4em; + } + .input-icon { + position: absolute; + top: 0; + left: 0; + width: 3.4em; + height: 3.4em; + line-height: 3.4em; + text-align: center; + pointer-events: none; + &:after { + position: absolute; + top: 0.6em; + bottom: 0.6em; + left: 3.4em; + display: block; + border-right: 1px solid @grey; + content: ""; + .transition(@fast, @ease); + } + i { + .transition(@fast, @ease); + } + } + +} + +// STRUCTURE + +.container { + max-width: 38em; + padding: 1em 3em 2em 3em; + margin: 0em auto; + background-color: @white; + border-radius: @br * 1.4; + box-shadow: 0px 3px 10px -2px rgba(0,0,0,0.2); +} + +.row { + .clearfix(); +} + +.col-half { + .col(); + width: 100% / 2; +} + +.col-third { + .col(); + width: 100% / 3; +} + +@media only screen and (max-width: 540px) { + .col-half { + width: 100%; + padding-right: 0; + } +} diff --git a/style/manager.css b/style/manager.css new file mode 100644 index 0000000..db2c79d --- /dev/null +++ b/style/manager.css @@ -0,0 +1,124 @@ +/* +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +*/ +/* + Created on : 7-apr-2019, 13.41.29 + Author : corradomulas +*/ + + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Archivo', sans-serif; + +} + +ul{ +list-style-type:none; +margin-right: 5px; +} + +.sidenav { + height: 100%; /* Full-height: remove this if you want "auto" height */ + width: 160px; /* Set the width of the sidebar */ + position: fixed; /* Fixed Sidebar (stay in place on scroll) */ + z-index: 1; /* Stay on top */ + top: 0; /* Stay at the top */ + left: 0; + background-color: #111; /* Black */ + overflow-x: hidden; /* Disable horizontal scroll */ + padding-top: 20px; +} + +/* The navigation menu links */ +.sidenav a { + padding: 6px 8px 6px 16px; + text-decoration: none; + font-size: 25px; + color: #818181; + display: block; +} + +/* When you mouse over the navigation links, change their color */ +.sidenav a:hover { + color: #f1f1f1; +} + +.main { + margin-left: 160px; /* Same as the width of the sidebar */ + padding: 0px 10px; +} + +@media screen and (max-height: 450px) { + .sidenav {padding-top: 15px;} + .sidenav a {font-size: 18px;} +} + + + /* jQuery("usertab").css('display','none'); + jQuery("matchestab").css('display','none'); + jQuery("refereestab").css('display','none'); + jQuery("calendartab").css('display','none'); + jQuery("msgtab").css('display','block'); + jQuery("teamstab").css('display','none'); + jQuery("tourntab").css('display','none'); + jQuery("playerstab").css('display','none'); */ + +#usertab { + display: none; +} + +#matchestab { + display: none; +} + +#refereestab { + display: none; +} + +#calendartab { + display: none; +} + +#msgtab { + display: none; +} + +#teamstab { + display: none; +} + +#tourntab { + display: none; +} + +#playerstab { + display: none; +} + +.refuncs { + display: none; +} +#instm { + display: none; +} + +#instourn { + display: none; +} + +#inspls { + display: none; +} + +#inscal { + display: none; +} + +.votebt { + display: none; +} diff --git a/style/tables.css b/style/tables.css new file mode 100644 index 0000000..e0ddd73 --- /dev/null +++ b/style/tables.css @@ -0,0 +1,94 @@ +/* +To change this license header, choose License Headers in Project Properties. +To change this template file, choose Tools | Templates +and open the template in the editor. +*/ +/* + Created on : 9-apr-2019, 16.57.35 + Author : corradomulas +*/ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Archivo', sans-serif; + +} + +table { + display: inline-table; + border-collapse: collapse; + width: 100%; +} + +th, td { + text-align: left; + padding: 8px; +} + +tr:nth-child(even) {background-color: #f2f2f2;} +th { + font-weight: bolder; +} + + +input[type=text], select, textarea { + width: 100%; + padding: 12px; + border: 1px solid #ccc; + border-radius: 4px; + resize: vertical; +} + +label { + padding: 12px 12px 12px 0; + display: inline-block; +} + +input[type=submit] { + background-color: #dd8500; + color: white; + padding: 12px 20px; + border: none; + border-radius: 4px; + cursor: pointer; + float: right; +} + +input[type=submit]:hover { + background-color: #dd8500; +} + +.container { + border-radius: 5px; + background-color: #f2f2f2; + padding: 20px; +} + +.col-25 { + float: left; + width: 25%; + margin-top: 6px; +} + +.col-75 { + float: left; + width: 75%; + margin-top: 6px; +} + +/* Clear floats after the columns */ +.row:after { + content: ""; + display: table; + clear: both; +} + +/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */ +@media screen and (max-width: 600px) { + .col-25, .col-75, input[type=submit] { + width: 100%; + margin-top: 0; + } +} diff --git a/tabelle.php b/tabelle.php new file mode 100644 index 0000000..8fd495d --- /dev/null +++ b/tabelle.php @@ -0,0 +1,775 @@ + + + + + + + + + + + + + +
+. + +*/ +require 'lib/r4fb.php'; + + +session_start(); +switch ($_GET['print']) +{ + case "gironi": + + $gironi = r4fb::fetchGironi($_GET['trn']); + //print_r($gironi); + $max = count($gironi); + + for($i=0; $i<$max; $i++) + { + $lettera = $gironi[$i]['lettera']; + $idgrn = $gironi[$i]['id']; + $classf = r4fb::fetchClassGrn($_GET['trn'], $idgrn); + $max2 = count($classf); + // $max2 = 10; + echo " + + + + + + + + + + + + + + + + + "; + + for($j=0; $j<$max2; $j++) +// if($classf[$j]['pt_gir'] != 0) + // { + echo " + + + "; + // } + echo " + + + + + + + + + + +
Girone ".$lettera."
SquadraPt
".$classf[$j]['nome']."".$classf[$j]['pt_gir']."
"; + } + break; + case "poff": + $classf = r4fb::fetchClassPoff($_GET['trn'],0); + $classfo = r4fb::fetchClassPoff($_GET['trn'],2); + $classfq = r4fb::fetchClassPoff($_GET['trn'],3); + $classfs = r4fb::fetchClassPoff($_GET['trn'],4); + $classff = r4fb::fetchClassPoff($_GET['trn'],5); + //$max = count($classf); + $max = 10; + +//ottavi + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfo[$i]['pt_poff'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Classifica Punti
Ottavi PlayOff
SquadraPt
".$classfo[$i]['nome']."".$classfo[$i]['pt_poff']."
"; + +//quarti + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfq[$i]['pt_poff'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Ottavi PlayOff
SquadraPt
".$classfq[$i]['nome']."".$classfq[$i]['pt_poff']."
"; + +//semifinali + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfs[$i]['pt_poff'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Semifinali PlayOff
SquadraPt
".$classfs[$i]['nome']."".$classfs[$i]['pt_poff']."
"; + +//finali + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classff[$i]['pt_poff'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Finali PlayOff
SquadraPt
".$classff[$i]['nome']."".$classff[$i]['pt_poff']."
"; + break; + case "pout": + $classfo = r4fb::fetchClassPout($_GET['trn'],2); + $classfq = r4fb::fetchClassPout($_GET['trn'],3); + $classfs = r4fb::fetchClassPout($_GET['trn'],4); + $classff = r4fb::fetchClassPout($_GET['trn'],5); + $classf = r4fb::fetchClassPout($_GET['trn'],0); + //$max = count($classf); + $max = 10; + + //ottavi + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfo[$i]['pt_pout'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Classifica Punti
Ottavi PlayOut
SquadraPt
".$classfo[$i]['nome']."".$classfo[$i]['pt_pout']."
"; + + //quarti + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfq[$i]['pt_pout'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Classifica Punti
Quarti PlayOut
SquadraPt
".$classfq[$i]['nome']."".$classfq[$i]['pt_pout']."
"; + +//semifinali + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classfs[$i]['pt_pout'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Semifinali PlayOut
SquadraPt
".$classfs[$i]['nome']."".$classfs[$i]['pt_pout']."
"; + +//finali + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + if($classff[$i]['pt_pout'] != 0) + { + echo " + + + "; + } + } + echo " + + + + + + + + + + +
Finali PlayOut
SquadraPt
".$classff[$i]['nome']."".$classff[$i]['pt_pout']."
"; + break; + case "class": + $classf = r4fb::fetchClass($_GET['trn']); + //$max = count($classf); + $max = 10; + + echo " + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + echo " + + + "; + } + echo " + + + + + + + + + + +
Classifica Punti
Classifica Generale
SquadraPt
".$classf[$i]['nome']."".$classf[$i]['pt']."
"; + + break; + case "cc": + $classf = r4fb::fetchClassCC($_GET['trn']); + + $max = 10; + + echo " + + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + $id = $classf[$i]['squadra']; + $sqd = r4fb::fetchSquadraData($id); + // print_r($sqd); + if($classf[$i]['goal'] != 0) + { + echo " + + + + "; + } + } + echo " + + + + + + + + + + +
Classifica Marcatori
Capocannonieri
NomeSquadraGoal
".$classf[$i]['nome']."".$sqd[0]['nome']."".$classf[$i]['goal']."
"; + break; + case "votesfrm": + // echo $_GET['trn']; + $squadre = r4fb::fetchSquadreTourn($_GET['trn']); + $status = r4fb::tournData($_GET['trn'])['voteStatus']; + + if($status == 1) + { + $max = count($squadre); + echo ' + + +
+

+ + + +
+ +

+

+ + +

+ +

+ + +

+

+ + +

+

+ +

+ + '; + + if(isset($_POST['subvotes'])) + { + if(r4fb::insVote($_POST['bestpl'],$_POST['bestsq'],$_POST['bestrf'],$_POST['commenti'], session_id(),$_SERVER['REMOTE_ADDR'])) echo "Grazie per aver votato!"; + } + } + else if($status == 2) + { + //visualizza risultati + echo "Le votazioni per questo torneo si sono concluse!"; + } + else if($status == 0) + { + echo "Le votazioni non sono ancora disponibili per questo torneo, torna più tardi!"; + } + break; + case "proxma": + $proxma = r4fb::proxMatches($_GET['trn']); + //print_r($proxma); + $max = 10; + // $max = count($proxma); + echo " + + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + $s1 = $proxma[$i]['s1']; + $s2 = $proxma[$i]['s2']; + + $sqd1 = r4fb::fetchSquadraData($s1); + $sqd2 = r4fb::fetchSquadraData($s2); + // print_r($sqd); + if($s1 != NULL) + { + echo " + + + + "; + } + } + echo " + + + + + + + + + + +
Prossime partite
SquadreOrarioCampo
".$sqd1[0]['nome']." VS ".$sqd2[0]['nome']."".date('H:i',$proxma[$i]['t_prog'])."".$proxma[$i]['campo']."
"; + break; + case "curma": + $curma = r4fb::curMatches($_GET['trn']); + //print_r($proxma); + $max = count($curma); + + echo " + + + + + + + + + + + + + + + + + + + + + "; + + for($i=0;$i<$max;$i++) + { + $s1 = $curma[$i]['s1']; + $s2 = $curma[$i]['s2']; + + $sqd1 = r4fb::fetchSquadraData($s1); + $sqd2 = r4fb::fetchSquadraData($s2); + // print_r($sqd); + if($s1 != NULL) + { + echo " + + + + + + "; + } + } + echo " + + + + + + + + + + +
Partite correnti
SquadreOra inizioCampoPunteggioFalli
".$sqd1[0]['nome']." VS ".$sqd2[0]['nome']."".date('H:i',$curma[0]['t_start'])."".$curma[0]['campo']."".$curma[0]['pt_s1']." - ".$curma[0]['pt_s2']."".$curma[0]['falli_s1']." - ".$curma[0]['falli_s2']."
"; + break; +} + + +?> +
+ + diff --git a/tabellone.php b/tabellone.php new file mode 100644 index 0000000..f8c5db9 --- /dev/null +++ b/tabellone.php @@ -0,0 +1,25 @@ +. + +*/